diff options
author | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-22 15:18:38 +0000 |
---|---|---|
committer | doko <doko@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-22 15:18:38 +0000 |
commit | 61a9d3ca3689fdf0db112b900b9579aafd198604 (patch) | |
tree | 1c2273d6468cf0a0d4c9c4d44bbe46d3809fe776 /gcc | |
parent | 1e0b9bbb13f73af9569628523982329e1485fac3 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-parser.c | 2 | ||||
-rw-r--r-- | gcc/objc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/objc.dg/pr28050.m | 2 |
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" } */ |