Skip to main content
summaryrefslogtreecommitdiffstats
path: root/xlc
diff options
context:
space:
mode:
authorVivian Kong2010-06-02 19:35:43 +0000
committerVivian Kong2010-06-02 19:35:43 +0000
commit0890f7c49e85b0981cb2621e0cb9e1539e47cb0d (patch)
tree4051afa4b0d69dfcd19c85bf8f6cfff82f93b342 /xlc
parentc2d90006b59e68f91df9edca1c01ff3dac3266bc (diff)
downloadorg.eclipse.cdt-0890f7c49e85b0981cb2621e0cb9e1539e47cb0d.tar.gz
org.eclipse.cdt-0890f7c49e85b0981cb2621e0cb9e1539e47cb0d.tar.xz
org.eclipse.cdt-0890f7c49e85b0981cb2621e0cb9e1539e47cb0d.zip
Bug 315435 Fix the regression test failures in cdt70
Diffstat (limited to 'xlc')
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java22
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java9
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java6
-rw-r--r--xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java6
4 files changed, 20 insertions, 23 deletions
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
index 940abd59aa7..7baa2c44c6f 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/XlcExtensionsTest.java
@@ -275,28 +275,6 @@ public class XlcExtensionsTest extends XlcTestBase {
parse(code, getCPPLanguage(), true); // xlc supports this in C++
}
- public void testStaticAssertions() {
- String code =
- " const unsigned int EIGHT= 8; \n"+
- " __static_assert(sizeof(long) >= EIGHT, \"no 64-bit support\"); \n" +
-
- " namespace ns { \n"+
- " __static_assert(sizeof(long) >= 4, \"no 32-bit support\"); \n" +
- " } \n" +
-
- " template <typename T> class basic_string { \n" +
- " __static_assert(T::value, \"bla\"); \n" +
- " }; \n" +
-
- " void do_something() { \n" +
- " struct VMPage { \n" +
- " }; \n" +
- " __static_assert(sizeof(VMPage) == 1, \"bla\"); \n" +
- " }";
-
- parse(code, getCPPLanguage(), true); // xlc supports this in C++
- }
-
public void testV11Attributes() {
String code =
"#define __inline__ __inline__ __attribute__((gnu_inline)) \n" +
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
index 46a39b5d9c6..b93b2839b2e 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc.tests/src/org/eclipse/cdt/core/parser/xlc/tests/base/XlcLRCPPTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -16,11 +16,18 @@ import org.eclipse.cdt.core.lrparser.tests.LRCPPTests;
import org.eclipse.cdt.core.lrparser.xlc.XlcCLanguage;
import org.eclipse.cdt.core.lrparser.xlc.XlcCPPLanguage;
import org.eclipse.cdt.core.model.ILanguage;
+import org.eclipse.cdt.core.parser.ParserLanguage;
public class XlcLRCPPTests extends LRCPPTests {
public static TestSuite suite() {
return suite(XlcLRCPPTests.class);
}
+ //CDT_70_FIX_FROM_50-#9
+ public void testStaticAssertions_294730() throws Exception {
+ String code= getAboveComment();
+ code = code.replaceAll("static_assert", "__static_assert");
+ parseAndCheckBindings(code, ParserLanguage.CPP);
+ }
protected ILanguage getCLanguage() {
return XlcCLanguage.getDefault();
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
index d0b1716a13d..e8a887231de 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/c/XlcCParser.java
@@ -1160,6 +1160,12 @@ private GNUBuildASTParserAction gnuAction;
}
//
+ // Rule 283: initializer ::= initializer_list
+ //
+ case 283: { action. consumeInitializer(); break;
+ }
+
+ //
// Rule 284: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq comma_opt } end_initializer_list
//
case 284: { action. consumeInitializerList(); break;
diff --git a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
index 60667942caf..efe4fb3ec56 100644
--- a/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
+++ b/xlc/org.eclipse.cdt.core.lrparser.xlc/parser/org/eclipse/cdt/internal/core/lrparser/xlc/cpp/XlcCPPParser.java
@@ -1552,6 +1552,12 @@ private GNUBuildASTParserAction gnuAction;
}
//
+ // Rule 382: initializer_clause ::= initializer_list
+ //
+ case 382: { action. consumeInitializer(); break;
+ }
+
+ //
// Rule 383: initializer_list ::= start_initializer_list { <openscope-ast> initializer_seq , } end_initializer_list
//
case 383: { action. consumeInitializerList(); break;

Back to the top