From 82c57e63c906d0bd96cefc0e3cbd88b92e6b0eee Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Wed, 22 Sep 2004 21:07:25 +0000 Subject: [PATCH] test for bug 69454 - C/C++ Indexer Problem: Macro usage error for macro: ... --- .../parser/tests/CompleteParseASTTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java index b41138487a3..7a739d0edb5 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseASTTest.java @@ -2146,5 +2146,23 @@ public class CompleteParseASTTest extends CompleteParseBaseTest writer.write( "}" ); parse( writer.toString() ); } + + public void testBug69454() throws Exception + { + Writer writer = new StringWriter(); + writer.write( "#define CATCH_ALL_EXCEPTIONS() \\\n" ); + writer.write( " catch( Exception &ex ) { handleException( ex ); } \\\n" ); + writer.write( " catch( ... ) { handleException(); } \n" ); + writer.write( "class Exception; \n" ); + writer.write( "void handleException( Exception & ex ) {} \n" ); + writer.write( "void handleException() {} \n" ); + writer.write( "void f() { \n" ); + writer.write( " try { int i; } \n" ); + writer.write( " CATCH_ALL_EXCEPTIONS(); \n" ); + writer.write( "} \n" ); + + parse( writer.toString() ); + assertFalse( callback.getProblems().hasNext() ); + } }