]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR c++/58700 (ICE declaring static bit-field)
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 26 Nov 2013 11:31:46 +0000 (11:31 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 26 Nov 2013 11:31:46 +0000 (11:31 +0000)
/cp
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58700
* decl.c (grokdeclarator): Don't try to pass declarator->id_loc
to build_lang_decl_loc when declarator is null.

/testsuite
2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58700
* g++.dg/parse/bitfield4.C: New.

From-SVN: r205389

gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/bitfield4.C [new file with mode: 0644]

index 143885cea1c2c3d18cacce1e191201b447d68693..604f26dc14b69f5d8de0d3989e47593b176db30b 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/58700
+       * decl.c (grokdeclarator): Don't try to pass declarator->id_loc
+       to build_lang_decl_loc when declarator is null.
+
 2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * cvt.c (cp_convert_and_check): Avoid calling cp_convert
index bf4d8e3d6846e6dd00a293609f1e95c548a39846..9508131388f188e9b83ba087642819533d7d2075 100644 (file)
@@ -10637,7 +10637,9 @@ grokdeclarator (const cp_declarator *declarator,
              {
                /* C++ allows static class members.  All other work
                   for this is done by grokfield.  */
-               decl = build_lang_decl_loc (declarator->id_loc,
+               decl = build_lang_decl_loc (declarator
+                                           ? declarator->id_loc
+                                           : input_location,
                                            VAR_DECL, unqualified_id, type);
                set_linkage_for_static_data_member (decl);
                /* Even if there is an in-class initialization, DECL
index 25d88733d2cbd2f9a2a8bacf21588591a7cb59bd..6639f05d542fecf2a90ff4fbf0bf1786c76ba71a 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-26  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/58700
+       * g++.dg/parse/bitfield4.C: New.
+
 2013-11-26  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/59287
diff --git a/gcc/testsuite/g++.dg/parse/bitfield4.C b/gcc/testsuite/g++.dg/parse/bitfield4.C
new file mode 100644 (file)
index 0000000..e10fa5f
--- /dev/null
@@ -0,0 +1,6 @@
+// PR c++/58700
+
+struct A
+{
+  static int : 4;  // { dg-error "bit-field" }
+};