diff options
author | Martin Matuska <mm@FreeBSD.org> | 2013-02-06 08:26:55 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2013-02-06 08:26:55 +0000 |
commit | dbfa74b7cc1a8513f9e57f34328741fcec75a1ed (patch) | |
tree | 20cd0b8e3ad43228aaf774d07464180b9dc65dd3 /lib | |
parent | 9a11334771b60a8ae086cdf9ee9a1fb140ec9c55 (diff) | |
download | src-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.c | 6 | ||||
-rw-r--r-- | lib/libdtrace/common/dt_decl.c | 6 | ||||
-rw-r--r-- | lib/libdtrace/common/dt_errtags.h | 2 |
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 */ |