Added a simple test case that can be used to test out the expression parser

more completely. Example expressions are in the comments.

llvm-svn: 120975
This commit is contained in:
Greg Clayton 2010-12-06 02:44:26 +00:00
parent 94fbdf3814
commit f4b0c83e69
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,5 @@
LEVEL = ../../make
CXX_SOURCES := main.cpp
include $(LEVEL)/Makefile.rules

View File

@ -0,0 +1,33 @@
#include <stdio.h>
int main (int argc, char const *argv[])
{
printf ("Hello world!\n");
puts ("hello");
// Please test many expressions while stopped at this line:
#if 0
expr 'a' // make sure character constant makes it down (this is broken by the command line parser code right now)
expr 2 // Test int
expr 2ull // Test unsigned long long
expr 2.234f // Test float constants
expr 2.234 // Test double constants
expr 2+3
expr argc
expr argc + 22
expr argv
expr argv[0]
expr argv[1]
expr argv[-1]
expr puts("bonjour") // Test constant strings...
expr printf("\t\x68\n") // Test constant strings that contain the \xXX (TAB, 'h', '\n' should be printed)
expr printf("\"\n") // Test constant strings that contains an escaped double quote char
expr printf("\'\n") // Test constant strings that contains an escaped single quote char
expr printf ("one: %i\n", 1)
expr printf ("1.234 as float: %f\n", 1.234f)
expr printf ("1.234 as double: %g\n", 1.234)
expr printf ("one: %i, two: %llu\n", 1, 2ull)
expr printf ("two: %llu, one: %i\n", 2ull, 1)
expr random() % 255l
#endif
return 0;
}