aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNicola Pero <nicola@gcc.gnu.org>2010-10-07 17:17:22 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-10-07 17:17:22 +0000
commit3cfa8f8272176e74a0a8ac2075a3d55046a44652 (patch)
tree26fcd9635e015e16a3b1d3002eab69dbff7c1483 /gcc
parentfc37536b9da32b31dbe2ba094ccfb615e1fc380a (diff)
downloadgcc-3cfa8f8272176e74a0a8ac2075a3d55046a44652.zip
gcc-3cfa8f8272176e74a0a8ac2075a3d55046a44652.tar.gz
gcc-3cfa8f8272176e74a0a8ac2075a3d55046a44652.tar.bz2
In gcc/cp/: 2010-10-07 Nicola Pero <nicola@nicola.brainstorm.co.uk>
In gcc/cp/: 2010-10-07 Nicola Pero <nicola@nicola.brainstorm.co.uk> Merge from apple/trunk branch on FSF servers. 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> Radar 4508851 * parser.c (cp_parser_objc_interstitial_code): Recognize and parse RID_NAMESPACE keyword. In gcc/testsuite/: 2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com> Merge from 'apple/trunk' branch on FSF servers. 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> Radar 4508851 * obj-c++.dg/method-namespace-1.mm: New. From-SVN: r165125
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog12
-rw-r--r--gcc/cp/parser.c2
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/obj-c++.dg/method-namespace-1.mm29
4 files changed, 51 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ac07e63..7e6bdda 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,6 +1,16 @@
+2010-10-07 Nicola Pero <nicola@nicola.brainstorm.co.uk>
+
+ Merge from apple/trunk branch on FSF servers.
+
+ 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4508851
+ * parser.c (cp_parser_objc_interstitial_code): Recognize
+ and parse RID_NAMESPACE keyword.
+
2010-10-07 Iain Sandoe <iains@gcc.gnu.org>
- parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after
+ * parser.c (cp_parser_objc_method_tail_params_opt): Peek new token after
finding ellipsis, before checking for attributes.
2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 6c842df..f5fa793 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -21635,6 +21635,8 @@ cp_parser_objc_interstitial_code (cp_parser* parser)
cp_lexer_consume_token (parser->lexer);
objc_set_method_opt (false);
}
+ else if (token->keyword == RID_NAMESPACE)
+ cp_parser_namespace_definition (parser);
/* Other stray characters must generate errors. */
else if (token->type == CPP_OPEN_BRACE || token->type == CPP_CLOSE_BRACE)
{
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 12be369..c8f841e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2010-10-07 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+
+ 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4508851
+ * obj-c++.dg/method-namespace-1.mm: New.
+
2010-10-07 Martin Jambor <mjambor@suse.cz>
* gcc.dg/tree-ssa/sra-11.c: New test.
diff --git a/gcc/testsuite/obj-c++.dg/method-namespace-1.mm b/gcc/testsuite/obj-c++.dg/method-namespace-1.mm
new file mode 100644
index 0000000..6095f57
--- /dev/null
+++ b/gcc/testsuite/obj-c++.dg/method-namespace-1.mm
@@ -0,0 +1,29 @@
+/* Test for usage of namespace inside @implementation. */
+/* { dg-do compile } */
+@interface MyDocument
+@end
+
+@implementation MyDocument
+
+// This deprecated usage works
+static void foo1() { }
+
+// This preferred usage does _not_ work
+namespace
+ {
+ void foo2() { }
+ }
+
+namespace STD
+ {
+ void foo3 () {}
+ }
+
+using namespace STD;
+
+- (void) GARF {
+ foo2();
+ foo3();
+}
+
+@end