Chris Lattner
af8d581230
move semantic analysis of statements to it's own file.
...
llvm-svn: 39156
2006-11-10 05:07:45 +00:00
Chris Lattner
ddd6fc84cf
move ASTBuilder.h/cpp to be a private Sema.h/cpp files, not part of the
...
interface exported by libast.
llvm-svn: 39154
2006-11-10 04:58:55 +00:00
Chris Lattner
ce76529a56
move Type.h to libAST
...
llvm-svn: 39152
2006-11-09 06:37:20 +00:00
Chris Lattner
697e5d692b
Change courses on how we do semantic analysis. Semantic analysis
...
fundamentally requires having an AST around, so move all sema to the
AST library. This is the first step, later steps will be needed to
clean up libast.
llvm-svn: 39150
2006-11-09 06:32:27 +00:00
Chris Lattner
289ab7bb1d
rename SemaDecl.cpp/h to SemaDeclSpec.cpp/h
...
llvm-svn: 39149
2006-11-08 06:54:53 +00:00
Chris Lattner
87ca807e15
add Type.h to the project
...
llvm-svn: 39146
2006-11-08 06:03:37 +00:00
Chris Lattner
b6a0e1781f
implement trivial scope caching. This reduces malloc traffic in the common
...
case, speeding up parsing of this contrived example:
#define A {{}}
#define B A A A A A A A A A A
#define C B B B B B B B B B B
#define D C C C C C C C C C C
#define E D D D D D D D D D D
#define F E E E E E E E E E E
#define G F F F F F F F F F F
#define H G G G G G G G G G G
void foo() {
H
}
from 7.478s to 4.321s. GCC requires 8.2s.
llvm-svn: 39138
2006-11-06 00:22:42 +00:00
Chris Lattner
33ad2cacc9
Make Scope keep track of the kind of scope it is. Properly scope loop and
...
switch statements. Make break/continue check that they are inside of an
appropriate control-flow construct. This implements Parser/bad-control.c.
llvm-svn: 39136
2006-11-05 23:47:55 +00:00
Chris Lattner
c19ddcd6dd
rename EmptyAction.cpp -> MinimalAction.cpp
...
llvm-svn: 39135
2006-11-05 18:46:16 +00:00
Chris Lattner
7ad0fbe1f2
rename a bunch of files for better consistency
...
llvm-svn: 39126
2006-11-05 07:46:30 +00:00
Chris Lattner
76af84462c
use the StmtNodes.def database to eliminate redundant code.
...
llvm-svn: 39118
2006-11-04 20:54:18 +00:00
Chris Lattner
6fef2fb277
Add a new StmtNodes.def file as a catalog of all the Stmt's. This helps
...
eliminate repetitive code.
llvm-svn: 39117
2006-11-04 20:49:30 +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
469d357425
implement visitor chaining.
...
llvm-svn: 39105
2006-11-04 06:32:52 +00:00
Chris Lattner
5e9a878126
add a new StmtVisitor class for traversing Stmt/Expr nodes.
...
llvm-svn: 39104
2006-11-04 06:21:51 +00:00
Chris Lattner
569ce145d8
rename Builder.cpp -> ASTBuilder.cpp
...
llvm-svn: 39096
2006-11-03 06:45:47 +00:00
Chris Lattner
e5cca06829
Make AST nodes for ReturnStmt's and CompoundStmts
...
llvm-svn: 39046
2006-10-25 04:29:46 +00:00
Chris Lattner
f42cce7a8e
Add new Stmt class
...
llvm-svn: 39045
2006-10-25 04:09:21 +00:00
Chris Lattner
0ba3dc4ec3
Start removing LexerToken from the actions interface.
...
llvm-svn: 39043
2006-10-25 03:38:23 +00:00
Chris Lattner
8120bc7e4a
add new DirectoryLookup.h file
...
llvm-svn: 39032
2006-10-22 07:26:43 +00:00
Chris Lattner
6cd618c3e8
update
...
llvm-svn: 39030
2006-10-22 06:34:13 +00:00
Chris Lattner
63dd32b656
Implement subframework lookup
...
llvm-svn: 39015
2006-10-20 04:42:40 +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
1ff0ed1d24
update
...
llvm-svn: 39010
2006-10-18 04:02:58 +00:00
Chris Lattner
a11999d83a
start creating proper ast nodes for variables and functions
...
llvm-svn: 38991
2006-10-15 22:34:45 +00:00
Chris Lattner
2cbe715b79
Add Targets.cpp.
...
llvm-svn: 38973
2006-10-14 07:39:38 +00:00
Chris Lattner
1e27fe165c
Add new TargetInfo class to clang.
...
llvm-svn: 38971
2006-10-14 07:06:20 +00:00
Chris Lattner
d3e9895b9a
Initial support for semantic analysis and AST building for StringExpr nodes.
...
llvm-svn: 38960
2006-10-06 05:22:26 +00:00
Chris Lattner
940edd4cff
Move clang driver into Driver subdir
...
llvm-svn: 38957
2006-10-06 04:16:30 +00:00
Chris Lattner
1b92649857
Add AST nodes and actions for paren exprs and simple unary ops.
...
llvm-svn: 38940
2006-08-23 06:42:10 +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
c11438cee1
Implement first cut of ASTBuilder class.
...
llvm-svn: 38938
2006-08-18 05:17:52 +00:00
Chris Lattner
01b0f1be80
xcode 2.4
...
llvm-svn: 38937
2006-08-18 03:44:41 +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
685ed1e9ee
Rename Parse/ParserActions.h -> Parse/Action.h
...
llvm-svn: 38913
2006-08-14 00:22:04 +00:00
Chris Lattner
4bb61de36c
Remove Actions.cpp, it is and always will be empty.
...
llvm-svn: 38912
2006-08-14 00:15:57 +00:00
Chris Lattner
8693a519d4
Implement initializer parsering.
...
llvm-svn: 38900
2006-08-13 21:54:02 +00:00
Chris Lattner
ee2cdfdd2d
Move files around
...
llvm-svn: 38857
2006-08-10 19:05:43 +00:00
Chris Lattner
c951dae2a4
Parse if statements
...
llvm-svn: 38844
2006-08-10 04:23:57 +00:00
Chris Lattner
0ccd51ebe2
Start parsing statements and function bodies. This implements
...
Parser/statements.c:test1.
llvm-svn: 38842
2006-08-09 05:47:47 +00:00
Chris Lattner
2df305abfa
New file
...
llvm-svn: 38822
2006-08-05 23:08:14 +00:00
Chris Lattner
971c6b681a
Add scaffolding for scopes.
...
llvm-svn: 38821
2006-08-05 22:46:42 +00:00
Chris Lattner
22dc378630
Split LangOptions out into its own header
...
llvm-svn: 38806
2006-08-04 04:44:06 +00:00
Chris Lattner
b9093cd1d0
Add an initial cut at a datastructure for holding declspec's.
...
llvm-svn: 38805
2006-08-04 04:39:53 +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
e8eef3207b
add infrastructure for warning if redef'd macro bodies differ, but don't
...
fully implement it.
Fix warning on #define __LINE__ to warn about redefinition, not #undef.
llvm-svn: 38679
2006-07-08 07:01:00 +00:00
Chris Lattner
bff18d5649
Diagnose erroneous macro definitions where a ## operator is at the start/end of the macro
...
llvm-svn: 38677
2006-07-06 04:49:18 +00:00
Chris Lattner
3451f7da35
initial checkin of xcode project that I've been using for a while
...
llvm-svn: 38662
2006-07-04 19:30:23 +00:00