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:
parent
048ddb3469
commit
79ec81a37b
1 changed files with 48 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue