aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2013-02-06 08:26:55 +0000
committerMartin Matuska <mm@FreeBSD.org>2013-02-06 08:26:55 +0000
commitdbfa74b7cc1a8513f9e57f34328741fcec75a1ed (patch)
tree20cd0b8e3ad43228aaf774d07464180b9dc65dd3 /lib
parent9a11334771b60a8ae086cdf9ee9a1fb140ec9c55 (diff)
downloadsrc-dbfa74b7cc1a8513f9e57f34328741fcec75a1ed.tar.gz
src-dbfa74b7cc1a8513f9e57f34328741fcec75a1ed.zip
Update vendor/illumos/dist to illumos-gate version 13944:bbcbb468dc37
Illumos dtrace issues: 3519 DTrace fails to resolve const types from fbt 3520 dtrace internal error -- token type 316 is not a valid D compilation token 3521 clean up dtrace unit tests
Notes
Notes: svn path=/vendor/illumos/dist/; revision=246393
Diffstat (limited to 'lib')
-rw-r--r--lib/libdtrace/common/dt_cc.c6
-rw-r--r--lib/libdtrace/common/dt_decl.c6
-rw-r--r--lib/libdtrace/common/dt_errtags.h2
3 files changed, 9 insertions, 5 deletions
diff --git a/lib/libdtrace/common/dt_cc.c b/lib/libdtrace/common/dt_cc.c
index 4163e939944b..9661ad9d0b44 100644
--- a/lib/libdtrace/common/dt_cc.c
+++ b/lib/libdtrace/common/dt_cc.c
@@ -676,6 +676,12 @@ dt_action_trace(dtrace_hdl_t *dtp, dt_node_t *dnp, dtrace_stmtdesc_t *sdp)
"%s( ) may not be applied to a translated pointer\n", act);
}
+ if (dnp->dn_args->dn_kind == DT_NODE_AGG) {
+ dnerror(dnp->dn_args, istrace ? D_TRACE_AGG : D_PRINT_AGG,
+ "%s( ) may not be applied to an aggregation%s\n", act,
+ istrace ? "" : " -- did you mean printa()?");
+ }
+
dt_cg(yypcb, dnp->dn_args);
/*
diff --git a/lib/libdtrace/common/dt_decl.c b/lib/libdtrace/common/dt_decl.c
index d2a0b29ca8e7..563c0057da66 100644
--- a/lib/libdtrace/common/dt_decl.c
+++ b/lib/libdtrace/common/dt_decl.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012 by Delphix. All rights reserved.
*/
#include <strings.h>
@@ -251,11 +252,6 @@ dt_decl_spec(ushort_t kind, char *name)
ddp->dd_kind = kind;
ddp->dd_name = name;
- if (name != NULL && strchr(name, '`') != NULL) {
- xyerror(D_DECL_SCOPE, "D scoping operator may not be used "
- "in a type name\n");
- }
-
return (dt_decl_check(ddp));
}
diff --git a/lib/libdtrace/common/dt_errtags.h b/lib/libdtrace/common/dt_errtags.h
index 0a9e7c029b4d..0dd34e452515 100644
--- a/lib/libdtrace/common/dt_errtags.h
+++ b/lib/libdtrace/common/dt_errtags.h
@@ -190,8 +190,10 @@ typedef enum {
D_PRINTA_AGGPROTO, /* printa() aggregation mismatch */
D_TRACE_VOID, /* trace() argument has void type */
D_TRACE_DYN, /* trace() argument has dynamic type */
+ D_TRACE_AGG, /* trace() argument is an aggregation */
D_PRINT_VOID, /* print() argument has void type */
D_PRINT_DYN, /* print() argument has dynamic type */
+ D_PRINT_AGG, /* print() argument is an aggregation */
D_TRACEMEM_ADDR, /* tracemem() address bad type */
D_TRACEMEM_SIZE, /* tracemem() size bad type */
D_TRACEMEM_ARGS, /* tracemem() illegal number of args */