aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-12-28 03:40:58 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-12-28 03:40:58 +0000
commit333031f2d302d9777cab0bf8422e2c5f9d3839b1 (patch)
tree13031217e8d06ddd4720333a142445fef281ad5b /gcc
parent24ee85f4522f5fc1db974b77a985c2469e3a6085 (diff)
downloadgcc-333031f2d302d9777cab0bf8422e2c5f9d3839b1.zip
gcc-333031f2d302d9777cab0bf8422e2c5f9d3839b1.tar.gz
gcc-333031f2d302d9777cab0bf8422e2c5f9d3839b1.tar.bz2
In gcc/testsuite/: 2010-12-28 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/testsuite/: 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". From-SVN: r168285
Diffstat (limited to 'gcc')
-rw-r--r--gcc/objc/ChangeLog6
-rw-r--r--gcc/objc/objc-act.c5
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/objc.dg/incomplete-type-1.m22
4 files changed, 36 insertions, 2 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index cdfb588..16b774d 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -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.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 2ac51bb..ba6c810 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -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;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cf8ff72..563fc03 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..f1e875f
--- /dev/null
+++ b/gcc/testsuite/objc.dg/incomplete-type-1.m
@@ -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
+