Subject says it all really.
Build and tested clean on x86_64-linux.
OK?
Ed
testsuite/
2014-11-02 Edward Smith-Rowland 3dw...@verizon.net
* g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
Commentary and rearrangement of tests.
* g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
* g++.dg/cpp1y/feat-cxx98.C: Commentary.
c-family/
2014-11-02 Edward Smith-Rowland 3dw...@verizon.net
* c-cppbuiltin.c: Define __cpp_aggregate_nsdmi.
Index: testsuite/g++.dg/cpp1y/feat-cxx11-neg.C
===
--- testsuite/g++.dg/cpp1y/feat-cxx11-neg.C (revision 217006)
+++ testsuite/g++.dg/cpp1y/feat-cxx11-neg.C (working copy)
@@ -1,7 +1,7 @@
// { dg-do compile { target c++11_only } }
// { dg-options -pedantic-errors }
-// These *are* defined in C++14 onwards.
+// C++14 features:
#ifndef __cpp_binary_literals
# error __cpp_binary_literals // { dg-error error }
@@ -31,11 +31,19 @@
# error __cpp_digit_separators // { dg-error error }
#endif
+#ifndef __cpp_aggregate_nsdmi
+# error __cpp_aggregate_nsdmi // { dg-error error }
+#endif
+
+// Array TS features:
+
+#ifndef __cpp_runtime_arrays
+# error __cpp_runtime_arrays // { dg-error error }
+#endif
+
+// Attribute checks:
+
// Attribute [[deprecated]] is allowed in C++11 as an extension (with
pedwarn).
//#ifndef __cpp_attribute_deprecated
//# error __cpp_attribute_deprecated
//#endif
-
-#ifndef __cpp_runtime_arrays
-# error __cpp_runtime_arrays // { dg-error error }
-#endif
Index: testsuite/g++.dg/cpp1y/feat-cxx11.C
===
--- testsuite/g++.dg/cpp1y/feat-cxx11.C (revision 217006)
+++ testsuite/g++.dg/cpp1y/feat-cxx11.C (working copy)
@@ -1,6 +1,8 @@
// { dg-do compile }
// { dg-options -std=gnu++11 }
+// C++11 features:
+
#ifndef __cpp_unicode_characters
# error __cpp_unicode_characters
#elif __cpp_unicode_characters != 200704
@@ -73,7 +75,8 @@
# error __cpp_alias_templates != 200704
#endif
-// These C++14 features are allowed in C++11 in non-ANSI modes.
+// C++14 features allowed in C++11 in non-ANSI modes:
+
#ifndef __cpp_binary_literals
# error __cpp_binary_literals
#elif __cpp_binary_literals != 201304
@@ -80,6 +83,9 @@
# error __cpp_binary_literals != 201304
#endif
+// Attribute checks:
+
+// Attribute [[deprecated]] is allowed in C++11 as an extension (with
pedwarn).
#ifndef __cpp_attribute_deprecated
# error __cpp_attribute_deprecated
#elif __cpp_attribute_deprecated != 201309
Index: testsuite/g++.dg/cpp1y/feat-cxx14.C
===
--- testsuite/g++.dg/cpp1y/feat-cxx14.C (revision 217006)
+++ testsuite/g++.dg/cpp1y/feat-cxx14.C (working copy)
@@ -1,7 +1,7 @@
// { dg-do compile { target c++14 } }
// { dg-options -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc }
-// Begin C++11 tests.
+// C++11 features:
#ifndef __cpp_unicode_characters
# error __cpp_unicode_characters
@@ -75,7 +75,7 @@
# error __cpp_alias_templates != 200704
#endif
-// Begin C++14 tests.
+// C++14 features:
#ifndef __cpp_binary_literals
# error __cpp_binary_literals
@@ -114,15 +114,10 @@
# error __cpp_return_type_deduction != 201304
#endif
-#ifndef __cpp_runtime_arrays
-# error __cpp_runtime_arrays
-#elif __cpp_runtime_arrays != 201304
-# error __cpp_runtime_arrays != 201304
-#endif
-
-// Aggregate initializers not in yet.
-#ifdef __cpp_aggregate_nsdmi
+#ifndef __cpp_aggregate_nsdmi
# error __cpp_aggregate_nsdmi
+#elif __cpp_aggregate_nsdmi != 201304
+# error __cpp_aggregate_nsdmi != 201304
#endif
#ifndef __cpp_variable_templates
@@ -137,6 +132,21 @@
# error __cpp_digit_separators != 201309
#endif
+// Sized deallocation not in yet.
+#ifdef __cpp_sized_deallocation
+# error __cpp_sized_deallocation
+#endif
+
+// Array TS features:
+
+#ifndef __cpp_runtime_arrays
+# error __cpp_runtime_arrays
+#elif __cpp_runtime_arrays != 201304
+# error __cpp_runtime_arrays != 201304
+#endif
+
+// Attribute checks:
+
#ifndef __cpp_attribute_deprecated
# error __cpp_attribute_deprecated
#elif __cpp_attribute_deprecated != 201309
@@ -143,13 +153,8 @@
# error __cpp_attribute_deprecated != 201309
#endif
-// Sized deallocation not in yet.
-#ifdef __cpp_sized_deallocation
-# error __cpp_sized_deallocation
-#endif
+// Include checks:
-// Begin include checks.
-
// Check for __has_include macro.
#ifndef __has_include
# error __has_include
Index: testsuite/g++.dg/cpp1y/feat-cxx98-neg.C
===
--- testsuite/g++.dg/cpp1y/feat-cxx98-neg.C (revision 217006)
+++ testsuite/g++.dg/cpp1y/feat-cxx98-neg.C (working copy)
@@ -1,6 +1,8 @@