+2014-11-01 Edward Smith-Rowland <3dw4rd@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.
+
2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
* c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
//cpp_undef (pfile, "__cpp_constexpr");
//cpp_define (pfile, "__cpp_constexpr=201304");
cpp_define (pfile, "__cpp_decltype_auto=201304");
- //cpp_define (pfile, "__cpp_aggregate_nsdmi=201304");
+ cpp_define (pfile, "__cpp_aggregate_nsdmi=201304");
cpp_define (pfile, "__cpp_variable_templates=201304");
cpp_define (pfile, "__cpp_digit_separators=201309");
//cpp_define (pfile, "__cpp_sized_deallocation=201309");
+2014-11-01 Edward Smith-Rowland <3dw4rd@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.
+
2014-10-31 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/63659
// { 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" }
# error "__cpp_digit_separators" // { dg-error "error" }
#endif
-// Attribute [[deprecated]] is allowed in C++11 as an extension (with pedwarn).
-//#ifndef __cpp_attribute_deprecated
-//# error "__cpp_attribute_deprecated"
-//#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
// { dg-do compile }
// { dg-options "-std=gnu++11" }
+// C++11 features:
+
#ifndef __cpp_unicode_characters
# error "__cpp_unicode_characters"
#elif __cpp_unicode_characters != 200704
# 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
# 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
// { 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"
# error "__cpp_alias_templates != 200704"
#endif
-// Begin C++14 tests.
+// C++14 features:
#ifndef __cpp_binary_literals
# error "__cpp_binary_literals"
# 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
# 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
# error "__cpp_attribute_deprecated != 201309"
#endif
-// Sized deallocation not in yet.
-#ifdef __cpp_sized_deallocation
-# error "__cpp_sized_deallocation"
-#endif
-
-// Begin include checks.
+// Include checks:
// Check for __has_include macro.
#ifndef __has_include
// { dg-do compile { target c++98_only } }
// { dg-options "-ansi" }
+// C++11 features:
+
#ifndef __cpp_runtime_arrays
# error "__cpp_runtime_arrays" // { dg-error "error" }
#endif
# error "__cpp_alias_templates" // { dg-error "error" }
#endif
-// C++14
+// C++14 features:
-// C++98 gets binary literals.
+// C++98 gets binary literals in non-ANSI modes.
//#ifndef __cpp_binary_literals
//# error "__cpp_binary_literals"
//#endif
# error "__cpp_return_type_deduction" // { dg-error "error" }
#endif
-// Aggregate initializers not in yet.
-//#ifdef __cpp_aggregate_nsdmi
-//# error "__cpp_aggregate_nsdmi"
-//#endif
+#ifndef __cpp_aggregate_nsdmi
+# error "__cpp_aggregate_nsdmi" // { dg-error "error" }
+#endif
#ifndef __cpp_variable_templates
# error "__cpp_variable_templates" // { dg-error "error" }
# error "__cpp_digit_separators" // { dg-error "error" }
#endif
-#ifndef __cpp_attribute_deprecated
-# error "__cpp_attribute_deprecated" // { dg-error "error" }
-#endif
-
// Sized deallocation not in yet.
//#ifdef __cpp_sized_deallocation
//# error "__cpp_sized_deallocation"
//#endif
+
+// Attribute checks:
+
+#ifndef __cpp_attribute_deprecated
+# error "__cpp_attribute_deprecated" // { dg-error "error" }
+#endif
// { dg-do compile { target c++98_only } }
// { dg-options "" }
-// These C++14 features are allowed in C++98 in non-ANSI modes.
+// C++14 features allowed in C++98 in non-ANSI modes:
+
#ifndef __cpp_binary_literals
# error "__cpp_binary_literals"
#elif __cpp_binary_literals != 201304