PR c++/43109
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Feb 2010 16:27:07 +0000 (16:27 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 18 Feb 2010 16:27:07 +0000 (16:27 +0000)
* semantics.c (begin_class_definition): Don't crash on unnamed ns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156864 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 9ebc609..357b925 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43109
+       * semantics.c (begin_class_definition): Don't crash on unnamed ns.
+
 2010-02-17  Jason Merrill  <jason@redhat.com>
 
        PR c++/43075
index 90a76d9..24390d9 100644 (file)
@@ -2378,6 +2378,7 @@ begin_class_definition (tree t, tree attributes)
       tree ns = TYPE_CONTEXT (t);
       if (ns && TREE_CODE (ns) == NAMESPACE_DECL
          && DECL_CONTEXT (ns) == std_node
+         && DECL_NAME (ns)
          && !strcmp (IDENTIFIER_POINTER (DECL_NAME (ns)), "decimal"))
        {
          const char *n = TYPE_NAME_STRING (t);
index 9c82d35..dbc8226 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43109
+       * g++.dg/parse/namespace12.C: New.
+
 2010-02-18  Martin Jambor  <mjambor@suse.cz>
 
        PR tree-optimization/43066
diff --git a/gcc/testsuite/g++.dg/parse/namespace12.C b/gcc/testsuite/g++.dg/parse/namespace12.C
new file mode 100644 (file)
index 0000000..25d6ae0
--- /dev/null
@@ -0,0 +1,7 @@
+// PR c++/43109
+
+namespace std {
+ namespace {
+   struct S {};
+ }
+}