OSDN Git Service

PR objc/27240
authorreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 May 2006 19:48:26 +0000 (19:48 +0000)
committerreichelt <reichelt@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 May 2006 19:48:26 +0000 (19:48 +0000)
* objc-act.c (objc_is_public): Return early on invalid type.

* objc.dg/member-1.m: New test.

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

gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/testsuite/ChangeLog
gcc/testsuite/objc.dg/member-1.m [new file with mode: 0644]

index 67ccd3b..2953216 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR objc/27240
+       * objc-act.c (objc_is_public): Return early on invalid type.
+
 2006-03-02 Fariborz Jahanian <fjahanian@apple.com>
 
        * objc-act.c (init_module_descriptor): Remove file name from
index a90c061..7ed00ae 100644 (file)
@@ -7168,6 +7168,9 @@ objc_is_public (tree expr, tree identifier)
     return 1;
 #endif
 
+  if (TREE_TYPE (expr) == error_mark_node)
+    return 1;
+
   basetype = TYPE_MAIN_VARIANT (TREE_TYPE (expr));
 
   if (basetype && TREE_CODE (basetype) == RECORD_TYPE)
index ad986c9..4b75dbe 100644 (file)
@@ -1,3 +1,8 @@
+2006-05-05  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR objc/27240
+       * objc.dg/member-1.m: New test.
+
 2006-05-05  Steve Ellcey  <sje@cup.hp.com>
 
        * gfortran.dg/large_real_kind_form_io_2.f90: Use nearest.
diff --git a/gcc/testsuite/objc.dg/member-1.m b/gcc/testsuite/objc.dg/member-1.m
new file mode 100644 (file)
index 0000000..4c7b5ae
--- /dev/null
@@ -0,0 +1,5 @@
+void foo()
+{
+  struct A a;  /* { dg-error "storage size" } */
+  a.i;
+}