--- /dev/null	Mon Oct 14 16:07:14 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.D_DECL_COMBO.rptdattr1.d	Mon Oct 14 16:07:14 2013
@@ -0,0 +1,43 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ *      Short can be used at most once.
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((short short int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:15 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.D_DECL_COMBO.rptdattr2.d	Mon Oct 14 16:07:15 2013
@@ -0,0 +1,43 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ *      Signed can be used at most once.
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((signed signed int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:15 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.D_DECL_COMBO.rptdattr3.d	Mon Oct 14 16:07:15 2013
@@ -0,0 +1,43 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ *      Unsigned can be used at most once.
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((unsigned unsigned int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:15 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.D_DECL_COMBO.rptdattr4.d	Mon Oct 14 16:07:15 2013
@@ -0,0 +1,43 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ *	Long can only be used at most twice
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((long long long int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:16 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.D_DECL_COMBO.rptdattr5.d	Mon Oct 14 16:07:16 2013
@@ -0,0 +1,43 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+/*
+ * ASSERTION:
+ *	Long can only be used at most twice
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((long long long long int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:16 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.EDT_NOTYPE.cmbdatt1.d	Mon Oct 14 16:07:16 2013
@@ -0,0 +1,45 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+#pragma	ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * ASSERTION:
+ *	Long and short attributes can't be used together
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((long short int)arg0);
+	exit(0);
+}
--- /dev/null	Mon Oct 14 16:07:17 2013
+++ new/usr/src/cmd/dtrace/test/tst/common/types/err.EDT_NOTYPE.cmbdatt2.d	Mon Oct 14 16:07:17 2013
@@ -0,0 +1,45 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * Copyright 2013 by Delphix.  All rights reserved.
+ */
+
+#pragma	ident	"%Z%%M%	%I%	%E% SMI"
+
+/*
+ * ASSERTION:
+ *      Signed and unsigned attributes can't be used together
+ *
+ * SECTION: Types, Operators, and Expressions/Data Types and Sizes
+ */
+
+
+BEGIN
+{
+	trace((signed unsigned int)arg0);
+	exit(0);
+}
--- old/usr/src/lib/libdtrace/common/dt_decl.c	Mon Oct 14 16:07:17 2013
+++ new/usr/src/lib/libdtrace/common/dt_decl.c	Mon Oct 14 16:07:17 2013
@@ -21,7 +21,7 @@
 
 /*
  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
  */
 
 #include <strings.h>
@@ -266,6 +266,26 @@
 		return (ddp);
 	}
 
+	if ((attr & DT_DA_LONG) && (ddp->dd_attr & DT_DA_LONGLONG)) {
+		xyerror(D_DECL_COMBO, "the attribute 'long' may only "
+		    "be used at most twice in a declaration");
+	}
+
+	if ((attr & DT_DA_SHORT) && (ddp->dd_attr & DT_DA_SHORT)) {
+		xyerror(D_DECL_COMBO, "the attribute 'short' may only be "
+		    "used at most once in a declaration");
+	}
+
+	if ((attr & DT_DA_SIGNED) && (ddp->dd_attr & DT_DA_SIGNED)) {
+		xyerror(D_DECL_COMBO, "the attribute 'signed' may only be "
+		    "used at most once in a declaration");
+	}
+
+	if ((attr & DT_DA_UNSIGNED) && (ddp->dd_attr & DT_DA_UNSIGNED)) {
+		xyerror(D_DECL_COMBO, "the attribute 'unsigned' may only be "
+		    "used at most once in a declaration");
+	}
+
 	if (attr == DT_DA_LONG && (ddp->dd_attr & DT_DA_LONG)) {
 		ddp->dd_attr &= ~DT_DA_LONG;
 		attr = DT_DA_LONGLONG;
--- old/usr/src/pkg/manifests/system-dtrace-tests.mf	Mon Oct 14 16:07:18 2013
+++ new/usr/src/pkg/manifests/system-dtrace-tests.mf	Mon Oct 14 16:07:18 2013
@@ -1908,6 +1908,11 @@
     mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype4.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.badtype5.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.rptdattr1.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.rptdattr2.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.rptdattr3.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.rptdattr4.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_COMBO.rptdattr5.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_ENCONST.badeval.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enoflow.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_DECL_ENOFLOW.enuflow.d mode=0444
@@ -1932,6 +1937,8 @@
 file path=opt/SUNWdtrt/tst/common/types/err.D_UNKNOWN.dupstruct.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/err.D_XLATE_REDECL.ResultDynType.d \
     mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.EDT_NOTYPE.cmbdatt1.d mode=0444
+file path=opt/SUNWdtrt/tst/common/types/err.EDT_NOTYPE.cmbdatt2.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/tst.assignops.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/tst.badshiftops.d mode=0444
 file path=opt/SUNWdtrt/tst/common/types/tst.basics.d mode=0444
