Chris Lattner
da8aa7b3a8
implement RTTI for Decl objects, eliminate some hokey virtual methods.
...
llvm-svn: 39185
2006-11-19 23:12:30 +00:00
Chris Lattner
cb6a382b67
introduce a new ASTContext class to hold long-lived ast nodes.
...
llvm-svn: 39161
2006-11-10 06:20:45 +00:00
Chris Lattner
c62b6c232f
eliminate EmptyAction, merging it into MinimalAction instead.
...
llvm-svn: 39134
2006-11-05 18:44:26 +00:00
Chris Lattner
0663d2afd9
start factoring actions into two flavors: minimal and semantic actions.
...
llvm-svn: 39133
2006-11-05 18:39:59 +00:00
Chris Lattner
ca96b89772
rename some options
...
llvm-svn: 39131
2006-11-05 18:00:10 +00:00
Chris Lattner
9fe24d75d2
for now -fsyntax-only builds all the AST's but doesn't print them.
...
llvm-svn: 39129
2006-11-05 07:59:55 +00:00
Chris Lattner
71e23ce2e1
Add AST node, AST building, actions, and printing for 'for' stmts.
...
llvm-svn: 39113
2006-11-04 20:18:38 +00:00
Chris Lattner
72b7d39d78
remove full locinfo AST nodes for now. They just clutter the implementation
...
and should be implemented with an ASTBuilder subclass anyway.
llvm-svn: 39107
2006-11-04 06:37:16 +00:00
Chris Lattner
9916c5ca7e
Remove GNU C++ min/max operator extension support, they have been removed
...
from gcc mainline.
llvm-svn: 39067
2006-10-27 05:24:37 +00:00
Chris Lattner
6d9a685d75
Make the driver print function bodies at -parse-print-ast
...
llvm-svn: 39048
2006-10-25 05:11:20 +00:00
Chris Lattner
911d0fef03
Return an error code if an error occurs.
...
llvm-svn: 39041
2006-10-25 03:15:08 +00:00
Chris Lattner
ca1a1ed4cb
Add -F option
...
llvm-svn: 39036
2006-10-22 07:34:56 +00:00
Chris Lattner
07b019a1bc
add #include
...
llvm-svn: 39034
2006-10-22 07:28:56 +00:00
Chris Lattner
b84f986f45
gnu90 is default again
...
llvm-svn: 39023
2006-10-20 06:13:18 +00:00
Chris Lattner
2f9888e2ca
switch to gnu99 by default
...
llvm-svn: 39019
2006-10-20 05:03:55 +00:00
Chris Lattner
38681d7d81
Add intel include path
...
llvm-svn: 39016
2006-10-20 04:55:39 +00:00
Chris Lattner
25e0d54a0e
Move keyword setup from the preprocessor into the IdentifierTable class.
...
llvm-svn: 39014
2006-10-18 06:07:05 +00:00
Chris Lattner
59a9ebdb17
refactor header searching stuff out of the main Preprocessor object into
...
it's own HeaderSearch object. This makes Preprocessor simpler and easier
to understand.
llvm-svn: 39012
2006-10-18 05:34:33 +00:00
Chris Lattner
04d1f3f75f
track whether DirectoryLookup dirs are framework dirs.
...
llvm-svn: 39006
2006-10-17 06:20:32 +00:00
Chris Lattner
ff43821d53
Implement -std, -x, -ObjC and -ObjC++ options.
...
llvm-svn: 39004
2006-10-17 05:16:26 +00:00
Chris Lattner
2dacc3ff2e
Changes through out the parser and actions/ast interface to return top-level
...
declarations through the asm streamer. For a testcase like:
int G;
int H, I, *J;
int func() {}
'clang -parse-print-ast' prints:
Read top-level decl: G
Read top-level decl: H
Read top-level decl: I
Read top-level decl: J
Read top-level decl: func
llvm-svn: 38992
2006-10-16 00:33:54 +00:00
Chris Lattner
9c837537ad
Sink target-specific #define info into the target descriptions. Add x86-32/64 and ppc64.
...
llvm-svn: 38987
2006-10-15 01:05:46 +00:00
Chris Lattner
2ba425ea95
Get target-specific #defines from TargetInfo.
...
llvm-svn: 38985
2006-10-14 19:54:37 +00:00
Chris Lattner
02dffbda3b
Write up TargetInfo so that use of wchar_t strings results in a warning if
...
used in a target set where the size is not identical.
llvm-svn: 38975
2006-10-14 07:50:21 +00:00
Chris Lattner
5ba61f0e10
Add Targets.cpp, which implements the -arch command line option in terms of
...
TargetInfo.
llvm-svn: 38972
2006-10-14 07:39:34 +00:00
Chris Lattner
8c76f87810
change default mode
...
llvm-svn: 38966
2006-10-06 05:56:09 +00:00
Chris Lattner
65de4b6a6d
make this a bit nicer
...
llvm-svn: 38963
2006-10-06 05:40:30 +00:00
Chris Lattner
9b6d4cb90e
Add (basic) expression AST representation capabilities for int/fp/binops/condexpr.
...
Add callbacks for same.
Add "full locinfo" mode.
llvm-svn: 38939
2006-08-23 05:17:46 +00:00
Chris Lattner
73709eda2b
Stub out the ASTStreamer
...
llvm-svn: 38935
2006-08-17 06:28:25 +00:00
Chris Lattner
3e7bd4ed44
Start adding support for printing out parser callbacks and adding ast building
...
llvm-svn: 38933
2006-08-17 05:51:27 +00:00
Chris Lattner
a5534f96dc
Stub out the EmptyAction class.
...
llvm-svn: 38914
2006-08-14 00:38:06 +00:00
Chris Lattner
685ed1e9ee
Rename Parse/ParserActions.h -> Parse/Action.h
...
llvm-svn: 38913
2006-08-14 00:22:04 +00:00
Chris Lattner
c1a8937d8f
Make ParseTranslationUnit prime the lexer lookahead
...
llvm-svn: 38911
2006-08-14 00:15:40 +00:00
Chris Lattner
203ed032e2
Count the number of diagnostics emitted.
...
llvm-svn: 38905
2006-08-13 22:25:42 +00:00
Chris Lattner
eecc5b53ae
Add a -fsyntax-only argument
...
llvm-svn: 38827
2006-08-06 18:29:56 +00:00
Chris Lattner
0bb5f835e4
initial support for parsing, right now just ;'s at the top level, but this
...
adds most simple scaffolding.
llvm-svn: 38802
2006-07-31 01:59:18 +00:00
Chris Lattner
cd028fc1f6
Fix -E mode to enter the main file *after* -E mode configures the preprocessor.
...
llvm-svn: 38784
2006-07-29 06:35:08 +00:00
Chris Lattner
457fc15bc5
Implement comment saving mode: the -C and -CC options.
...
llvm-svn: 38783
2006-07-29 06:30:25 +00:00
Chris Lattner
ae41157ee5
Implement support for arbitrarily mapping non-error diagnostics to be either
...
ignored, warned about, or error'd. Use this to implement the -Wunused_macros
command line option.
llvm-svn: 38676
2006-07-05 00:55:08 +00:00
Chris Lattner
09e3cdf9ef
Split the -E mode printer out to a separate .cpp file.
...
llvm-svn: 38658
2006-07-04 19:04:05 +00:00
Chris Lattner
062a0d620b
stub out built-in macros.
...
llvm-svn: 38644
2006-07-04 04:50:29 +00:00
Chris Lattner
01d66cc891
Implement #ident and #sccs
...
llvm-svn: 38643
2006-07-03 22:16:27 +00:00
Chris Lattner
3ae68307ac
Print tokens using the logical location. This implements
...
test/Preprocessor/_Pragma-dependency.c
llvm-svn: 38642
2006-07-03 06:28:56 +00:00
Chris Lattner
cbd6d3e0ed
Implement -Wunused-macros functionality, currently always enabled.
...
llvm-svn: 38631
2006-07-03 05:16:39 +00:00
Chris Lattner
d1236047a9
Correctly stringify emitted #line directives in -E mode.
...
llvm-svn: 38623
2006-07-03 01:12:52 +00:00
Chris Lattner
5599d5f6b8
Fix test/Preprocessor/pragma_unknown.c
...
llvm-svn: 38612
2006-07-02 21:50:38 +00:00
Chris Lattner
f6fd68add5
Fix Preprocessor/macro_expandloc2.c
...
llvm-svn: 38579
2006-06-26 01:48:23 +00:00
Chris Lattner
2a92f7ec2d
Implement -P mode.
...
llvm-svn: 38571
2006-06-25 04:40:07 +00:00
Chris Lattner
5c683767ff
Print out unknown pragmas in -E mode.
...
llvm-svn: 38570
2006-06-25 04:36:50 +00:00
Chris Lattner
55a60954f9
Implement #pragma GCC system_header
...
llvm-svn: 38569
2006-06-25 04:20:34 +00:00