public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them.
@ 2014-11-02  1:49 Ed Smith-Rowland
  2014-11-02  2:14 ` Jason Merrill
  2014-11-12 16:39 ` Iain Sandoe
  0 siblings, 2 replies; 3+ messages in thread
From: Ed Smith-Rowland @ 2014-11-02  1:49 UTC (permalink / raw)
  To: gcc-patches, Jason Merrill

[-- Attachment #1: Type: text/plain, Size: 79 bytes --]

Subject says it all really.

Build and tested clean on x86_64-linux.

OK?

Ed


[-- Attachment #2: CL_feat_nsdmi --]
[-- Type: text/plain, Size: 536 bytes --]


testsuite/

2014-11-02  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.

c-family/

2014-11-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* c-cppbuiltin.c: Define __cpp_aggregate_nsdmi.

[-- Attachment #3: patch_feat_nsdmi --]
[-- Type: text/plain, Size: 6894 bytes --]

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 @@
 // { 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
@@ -53,9 +55,9 @@
 #  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
@@ -76,10 +78,9 @@
 #  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" }
@@ -89,11 +90,13 @@
 #  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
Index: testsuite/g++.dg/cpp1y/feat-cxx98.C
===================================================================
--- testsuite/g++.dg/cpp1y/feat-cxx98.C	(revision 217006)
+++ testsuite/g++.dg/cpp1y/feat-cxx98.C	(working copy)
@@ -1,7 +1,8 @@
 // { 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
Index: c-family/c-cppbuiltin.c
===================================================================
--- c-family/c-cppbuiltin.c	(revision 217006)
+++ c-family/c-cppbuiltin.c	(working copy)
@@ -841,7 +849,7 @@
 	  //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");

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them.
  2014-11-02  1:49 [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them Ed Smith-Rowland
@ 2014-11-02  2:14 ` Jason Merrill
  2014-11-12 16:39 ` Iain Sandoe
  1 sibling, 0 replies; 3+ messages in thread
From: Jason Merrill @ 2014-11-02  2:14 UTC (permalink / raw)
  To: Ed Smith-Rowland, gcc-patches

OK, thanks.

Jason

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them.
  2014-11-02  1:49 [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them Ed Smith-Rowland
  2014-11-02  2:14 ` Jason Merrill
@ 2014-11-12 16:39 ` Iain Sandoe
  1 sibling, 0 replies; 3+ messages in thread
From: Iain Sandoe @ 2014-11-12 16:39 UTC (permalink / raw)
  To: Ed Smith-Rowland; +Cc: gcc-patches, Jason Merrill

Hi Ed,

On 2 Nov 2014, at 01:48, Ed Smith-Rowland wrote:

> 
> <CL_feat_nsdmi.txt><patch_feat_nsdmi.txt>

please take a look at PR63834, as
https://gcc.gnu.org/ml/gcc-cvs/2014-11/msg00307.html
breaks bootstrap on x86064-darwin12, 
the reproducer also segvs on x86-64-linux.

(It looks like the commit was related to this series of patches)

thanks
Iain

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-11-12 16:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-02  1:49 [PATCH, C++, SD-6] Add __cpp_aggregate_nsdmi macro now that we nave them Ed Smith-Rowland
2014-11-02  2:14 ` Jason Merrill
2014-11-12 16:39 ` Iain Sandoe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).