1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Testcase for bug 104869.

This commit is contained in:
Markus Schorn 2008-05-30 12:34:26 +00:00
parent 048ddb3469
commit 79ec81a37b

View file

@ -11,6 +11,9 @@
*******************************************************************************/
package org.eclipse.cdt.core.parser.tests.scanner;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestSuite;
import org.eclipse.cdt.core.parser.IProblem;
@ -1274,4 +1277,49 @@ public class PreprocessorTests extends PreprocessorTestsBase {
validateEOF();
validateProblemCount(0);
}
// f(2 * (y+1)) + f(2 * (f(2 * (z[0])))) % f(2 * (0)) + t(1);
// f(2 * (2+(3,4)-0,1)) | f(2 * (~ 5)) & f(2 * (0,1))^m(0,1);
// int i[] = { 1, 23, 4, 5, };
// char c[2][6] = { "hello", "" };
// --
// #define x 3
// #define f(a) f(x * (a))
// #undef x
// #define x 2
// #define g f
// #define z z[0]
// #define h g(~
// #define m(a) a(w)
// #define w 0,1
// #define t(a) a
// #define p() int
// #define q(x) x
// #define r(x,y) x ## y
// #define str(x) # x
//
// f(y+1) + f(f(z)) % t(t(g)(0) + t)(1);
// g(x+(3,4)-w) | h 5) & m
// (f)^m(m);
// p() i[q()] = { q(1), r(2,3), r(4,), r(,5), r(,) };
// char c[2][6] = { str(hello), str() };
public void testC99_6_7_5_3_5_Bug104869() throws Exception {
initializeScanner();
// read in expected tokens
List<IToken> expect= new ArrayList<IToken>();
IToken t= fScanner.nextToken();
while(t.getType() != IToken.tDECR) {
expect.add(t);
t= fScanner.nextToken();
}
for (IToken et : expect) {
t= fScanner.nextToken();
assertEquals(et.getImage(), t.getImage());
assertEquals(et.getType(), t.getType());
}
validateEOF();
validateProblemCount(0);
}
}