OSDN Git Service

In gcc/testsuite/:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Dec 2010 03:40:58 +0000 (03:40 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Dec 2010 03:40:58 +0000 (03:40 +0000)
2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>

PR objc/47073
* objc.dg/incomplete-type-1.m: New test.

In gcc/objc/:
2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>

PR objc/47073
* objc-act.c (encode_method_prototype): Fixed both location and
format string of error "type %qT does not have a known size".

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

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

index cdfb588..16b774d 100644 (file)
@@ -1,3 +1,9 @@
+2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47073
+       * objc-act.c (encode_method_prototype): Fixed both location and
+       format string of error "type %qT does not have a known size".
+
 2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>
 
        * config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c.
index 2ac51bb..ba6c810 100644 (file)
@@ -5965,8 +5965,9 @@ encode_method_prototype (tree method_decl)
       /* If a type size is not known, bail out.  */
       if (sz < 0)
        {
-         error ("type %q+D does not have a known size",
-                type);
+         error_at (DECL_SOURCE_LOCATION (method_decl),
+                   "type %qT does not have a known size",
+                   type);
          /* Pretend that the encoding succeeded; the compilation will
             fail nevertheless.  */
          goto finish_encoding;
index cf8ff72..563fc03 100644 (file)
@@ -1,3 +1,8 @@
+2010-12-28  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/47073
+       * objc.dg/incomplete-type-1.m: New test.
+
 2010-12-27  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/46626
diff --git a/gcc/testsuite/objc.dg/incomplete-type-1.m b/gcc/testsuite/objc.dg/incomplete-type-1.m
new file mode 100644 (file)
index 0000000..f1e875f
--- /dev/null
@@ -0,0 +1,22 @@
+/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, December 2010.  */
+/* { dg-do compile } */
+
+#include <objc/objc.h>
+
+enum type1;
+struct type2;
+
+@interface MyObject
+- (void) method1: (enum type1)argument;
+- (void) method2: (struct type2)argument;
+@end
+
+@implementation MyObject
+- (void) method1: (enum type1)argument { /* { dg-error "does not have a known size" } */
+  return;
+}
+- (void) method2: (struct type2)argument { /* { dg-error "does not have a known size" } */
+  return;
+}
+@end
+