2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
* c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
Control macro with flag_sized_deallocation.
testsuite/
2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
* g++.dg/cpp1y/feat-cxx98-neg.C: Enable __cpp_sized_deallocation test.
* g++.dg/cpp1y/feat-cxx14.C: Ditto.
* g++.dg/cpp1y/feat-cxx11-neg.C: Ditto and move tests for consistent
order.
* g++.dg/cpp1y/feat-sized-dealloc-neg.C: New.
* g++.dg/cpp1y/feat-sized-dealloc.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218986
138bc75d-0d04-0410-961f-
82ee72b054a4
+2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
+ Control macro with flag_sized_deallocation.
+
2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
* c.opt (Wdiscarded-array-qualifiers): New option.
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");
}
+ if (flag_sized_deallocation)
+ cpp_define (pfile, "__cpp_sized_deallocation=201309");
}
/* Note that we define this for C as well, so that we know if
__attribute__((cleanup)) will interface with EH. */
+2014-12-19 Edward Smith-Rowland <3dw4rd@verizon.net>
+
+ * g++.dg/cpp1y/feat-cxx98-neg.C: Enable __cpp_sized_deallocation test.
+ * g++.dg/cpp1y/feat-cxx14.C: Ditto.
+ * g++.dg/cpp1y/feat-cxx11-neg.C: Ditto and move tests for consistent
+ order.
+ * g++.dg/cpp1y/feat-sized-dealloc-neg.C: New.
+ * g++.dg/cpp1y/feat-sized-dealloc.C: New.
+
2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
* gcc.dg/Wwrite-strings-1.c: Change dg-warning.
# error "__cpp_return_type_deduction" // { dg-error "error" }
#endif
+#ifndef __cpp_aggregate_nsdmi
+# error "__cpp_aggregate_nsdmi" // { dg-error "error" }
+#endif
+
#ifndef __cpp_variable_templates
# error "__cpp_variable_templates" // { dg-error "error" }
#endif
# error "__cpp_digit_separators" // { dg-error "error" }
#endif
-#ifndef __cpp_aggregate_nsdmi
-# error "__cpp_aggregate_nsdmi" // { dg-error "error" }
+#ifndef __cpp_sized_deallocation
+# error "__cpp_sized_deallocation" // { dg-error "error" }
#endif
// Array TS features:
# error "__cpp_digit_separators != 201309"
#endif
-// Sized deallocation not in yet.
-#ifdef __cpp_sized_deallocation
+#ifndef __cpp_sized_deallocation
# error "__cpp_sized_deallocation"
+#elif __cpp_sized_deallocation != 201309
+# error "__cpp_sized_deallocation != 201309"
#endif
// GNU VLA support:
# error "__cpp_digit_separators" // { dg-error "error" }
#endif
-// Sized deallocation not in yet.
-//#ifdef __cpp_sized_deallocation
-//# error "__cpp_sized_deallocation"
-//#endif
+#ifndef __cpp_sized_deallocation
+# error "__cpp_sized_deallocation" // { dg-error "error" }
+#endif
// C++11 attributes:
--- /dev/null
+// { dg-do compile { target c++14 } }
+// { dg-options "-fno-sized-deallocation" }
+
+#ifndef __cpp_sized_deallocation
+# error "__cpp_sized_deallocation" // { dg-error "error" }
+#endif
--- /dev/null
+// { dg-do compile { target c++11_only } }
+// { dg-options "-fsized-deallocation" }
+
+// C++14 features:
+
+#ifndef __cpp_sized_deallocation
+# error "__cpp_sized_deallocation"
+#elif __cpp_sized_deallocation != 201309
+# error "__cpp_sized_deallocation != 201309"
+#endif