summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authordoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-22 15:18:38 +0000
committerdoko <doko@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-22 15:18:38 +0000
commit61a9d3ca3689fdf0db112b900b9579aafd198604 (patch)
tree1c2273d6468cf0a0d4c9c4d44bbe46d3809fe776 /gcc
parent1e0b9bbb13f73af9569628523982329e1485fac3 (diff)
downloadgcc-61a9d3ca3689fdf0db112b900b9579aafd198604.tar.gz
gcc/
2009-06-22 Steven Bosscher <steven@gcc.gnu.org> PR objc/28050 * c-parser.c (c_parser_objc_message_args): Return error_mark_node instead of NULL if a parser error occurs. gcc/objc/ 2009-06-22 Steven Bosscher <steven@gcc.gnu.org> PR objc/28050 * objc-act.c (objc_build_message_args): Return if ARGS is the error_mark_node. gcc/testsuite/ 2009-06-22 Matthias Klose <doko@ubuntu.com> PR objc/28050 * pr28050.m: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148804 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/c-parser.c2
-rw-r--r--gcc/objc/ChangeLog6
-rw-r--r--gcc/objc/objc-act.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/objc.dg/pr28050.m2
6 files changed, 22 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 74a4ed0cfc0..2df85f60b9a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR objc/28050
+ * c-parser.c (c_parser_objc_message_args): Return error_mark_node
+ instead of NULL if a parser error occurs.
+
2009-06-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* dwarf2out.c (dwarf2_debug_hooks): Initialize
@@ -95,6 +101,7 @@
* var-tracking.c: Ditto.
* vmsdbgout.c: Ditto.
+>>>>>>> .r148803
2009-06-22 Matthias Klose <doko@ubuntu.com>
* Makefile.in (install-plugin): Always use DESTDIR.
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index 29e399fcdc1..4d6e2d3060a 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -6818,7 +6818,7 @@ c_parser_objc_message_args (c_parser *parser)
{
tree keywordexpr;
if (!c_parser_require (parser, CPP_COLON, "expected %<:%>"))
- return list;
+ return error_mark_node;
keywordexpr = c_parser_objc_keywordexpr (parser);
list = chainon (list, build_tree_list (sel, keywordexpr));
sel = c_parser_objc_selector (parser);
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog
index 426a6a8a2f3..656a5f6766c 100644
--- a/gcc/objc/ChangeLog
+++ b/gcc/objc/ChangeLog
@@ -1,3 +1,9 @@
+2009-06-22 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR objc/28050
+ * objc-act.c (objc_build_message_args): Return if ARGS is the
+ error_mark_node.
+
2009-06-19 Ian Lance Taylor <iant@google.com>
* objc-act.c (objc_in_struct, objc_struct_types): Remove.
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index b6a01ed316b..733818f41bb 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -6268,7 +6268,7 @@ objc_build_message_expr (tree mess)
#endif
tree method_params = NULL_TREE;
- if (TREE_CODE (receiver) == ERROR_MARK)
+ if (TREE_CODE (receiver) == ERROR_MARK || TREE_CODE (args) == ERROR_MARK)
return error_mark_node;
if (CAN_HAVE_LOCATION_P (receiver))
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9e7274370fb..7ba2ddca0b3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2009-06-22 Matthias Klose <doko@ubuntu.com>
+
+ PR objc/28050
+ * pr28050.m: New testcase.
+
2009-06-22 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/40481
diff --git a/gcc/testsuite/objc.dg/pr28050.m b/gcc/testsuite/objc.dg/pr28050.m
new file mode 100644
index 00000000000..efd9216f7fd
--- /dev/null
+++ b/gcc/testsuite/objc.dg/pr28050.m
@@ -0,0 +1,2 @@
+/* { dg-do compile } */
+int i = [0]; /* { dg-error "expected .:. before .\\]. token" } */