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;
|
package org.eclipse.cdt.core.parser.tests.scanner;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import junit.framework.TestSuite;
|
import junit.framework.TestSuite;
|
||||||
|
|
||||||
import org.eclipse.cdt.core.parser.IProblem;
|
import org.eclipse.cdt.core.parser.IProblem;
|
||||||
|
@ -1274,4 +1277,49 @@ public class PreprocessorTests extends PreprocessorTestsBase {
|
||||||
validateEOF();
|
validateEOF();
|
||||||
validateProblemCount(0);
|
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