Ted Kremenek
fb475ec504
Changed merge operation for uninitialized values analysis to "intersect" (previous union).
...
The effect is that if a variable is uninitialized along a branch (but initialized along another), at merge points it is considered uninitialized. Previously we had the opposite behavior. The new behavior is more conservative, and more in line with gcc's behavior.
llvm-svn: 48689
2008-03-22 20:11:00 +00:00
Ted Kremenek
181f72369f
Rename "Nodify" to "MakeNode"
...
llvm-svn: 48659
2008-03-21 21:30:14 +00:00
Sam Bishop
27654983dc
Plug a memory leak in the "this macro expands into a single trivially-
...
expanded token" case.
llvm-svn: 48637
2008-03-21 07:13:02 +00:00
Ted Kremenek
b7151c7ca8
LiveVariables analysis now uses intersect for the merge of block-level expression liveness information.
...
The rationale is that a block-level expression cannot be live in a parent block unless it is live in all of the successor blocks.
llvm-svn: 48618
2008-03-20 21:46:49 +00:00
Ted Kremenek
bc24962566
Added HTML highlighting for ranges.
...
llvm-svn: 48572
2008-03-19 23:55:53 +00:00
Steve Naroff
157c403cb8
Fix typo.
...
llvm-svn: 48571
2008-03-19 23:46:26 +00:00
Steve Naroff
c5f8120ad0
Fix http://llvm.org/bugs/show_bug.cgi?id=2161 .
...
llvm-svn: 48568
2008-03-19 23:07:49 +00:00
Ted Kremenek
161d16e083
Change colors of HTML message bubble.
...
llvm-svn: 48563
2008-03-19 22:44:21 +00:00
Ted Kremenek
7ee6a1474f
More CSS enhancements to HTML code printing.
...
llvm-svn: 48557
2008-03-19 22:06:25 +00:00
Ted Kremenek
1651b7cd2d
Misc. cleanups to HTML printing: make code rendered using tables; add
...
better div positioning for messages.
llvm-svn: 48555
2008-03-19 21:59:05 +00:00
Ted Kremenek
216624ce58
Initial experimentation with adding boxed "annotations" to HTMLized source.
...
llvm-svn: 48540
2008-03-19 07:53:42 +00:00
Ted Kremenek
966da4acc3
Moved generation of html header/footer with builtin CSS to the rewriter library.
...
llvm-svn: 48537
2008-03-19 06:14:37 +00:00
Chris Lattner
554221e9fb
simplify code by using the variadic StructType::get method.
...
llvm-svn: 48535
2008-03-19 05:24:56 +00:00
Chris Lattner
3e593cdb98
simplify the clang codegen by using the new Builder.CreateStructGEP method.
...
llvm-svn: 48534
2008-03-19 05:19:41 +00:00
Ted Kremenek
3f8392626b
More cleanups to the HTML rewriter (with line formatting), with better
...
pretty-printing of line numbers.
llvm-svn: 48533
2008-03-19 05:07:26 +00:00
Ted Kremenek
54d62b6d64
Change "style" to "class" in HTML output.
...
llvm-svn: 48525
2008-03-19 01:44:27 +00:00
Ted Kremenek
5ddff02861
More cleanups to HTML rewriter API: remove the InsertTag method; was too complicated
...
and clients can achieve a cleaner design just by inserting tags directly. Reserve
the "html" namespace for meta-level operations (e.g., escaping text, etc.)
llvm-svn: 48524
2008-03-19 01:30:02 +00:00
Ted Kremenek
8800ae68a0
More HTML rewriter cleanups. Preliminary CSS support in code pretty-printing.
...
llvm-svn: 48518
2008-03-18 23:55:46 +00:00
Ted Kremenek
5792cebb08
Some cleanups to the HTMLRewrite API. Added support for printing out line
...
numbers (more work to be done on aesthetics).
llvm-svn: 48512
2008-03-18 23:08:51 +00:00
Ted Kremenek
1b580f98aa
Modified "InsertTag" (HTML rewriter) to have an optional "OutermostTag" flag to
...
indicate whether or not the new tag should be the outermost tag at the specified
location (in the case that other tags have been inserted at the same spot).
llvm-svn: 48506
2008-03-18 21:26:34 +00:00
Ted Kremenek
7dcc82220e
Added the beginning of a set of rewriter functions for pretty-printing source
...
code as HTML. Added a new driver option "--emit-html" to dump the source
of the main input file as HTML.
llvm-svn: 48505
2008-03-18 21:19:49 +00:00
Ted Kremenek
45467ef372
Added variant of "InsertText" in the Rewriter to support inserting text both
...
*before* and after a specific location.
llvm-svn: 48504
2008-03-18 21:17:59 +00:00
Ted Kremenek
af5b820af3
Bug fix in RewriteBuffer::getMappedOffset: potentially multiple deltas
...
need to be skipped over when AfterInserts == true, as multiple deltas
may share the same FileLoc.
llvm-svn: 48503
2008-03-18 21:00:57 +00:00
Chris Lattner
0725a3e055
move #include to the file that needs it.
...
llvm-svn: 48485
2008-03-18 05:59:11 +00:00
Ted Kremenek
a9b30c0651
Fix assertion.
...
llvm-svn: 48470
2008-03-17 22:18:22 +00:00
Ted Kremenek
9eae403cde
Fix integer overflow bug when processing switch statements.
...
llvm-svn: 48469
2008-03-17 22:17:56 +00:00
Ted Kremenek
58021a617b
Properly hook up inline asm transfer function logic to the main GRExprEngine logic.
...
llvm-svn: 48468
2008-03-17 21:31:48 +00:00
Ted Kremenek
7c7a331f74
Added initial transfer function support for inline asm.
...
llvm-svn: 48466
2008-03-17 21:11:24 +00:00
Nate Begeman
0c185c45a9
Check in a couple fixes for vector extensions.
...
llvm-svn: 48461
2008-03-17 17:22:18 +00:00
Ted Kremenek
fff4fc7e6d
Bug fix in CFG construction: VisitCompoundStmt should return the last created block.
...
llvm-svn: 48460
2008-03-17 17:19:44 +00:00
Chris Lattner
ed0e16404c
clean up property memory allocation to move it into the ast classes
...
like the rest of the classes.
llvm-svn: 48434
2008-03-17 01:19:02 +00:00
Chris Lattner
41eec3d097
make property addition work list all other "add" methods. Do
...
the allocation in the class, not in sema.
llvm-svn: 48433
2008-03-16 21:23:50 +00:00
Chris Lattner
219b3e9c6c
add the last two Create methods for decls, woo!
...
llvm-svn: 48432
2008-03-16 21:17:37 +00:00
Chris Lattner
36ac1cae1f
add two more Create methods.
...
llvm-svn: 48428
2008-03-16 20:53:07 +00:00
Chris Lattner
d77aff8232
simplify the way ObjCCategoryDecl's get their referenced protocols list
...
specified. Previously, the ctor would allocate memory for the list and then
it would get filled in later. Move the allocation+filling in to be more
consistent with other stuff, e.g. the addMethods method.
llvm-svn: 48427
2008-03-16 20:47:45 +00:00
Chris Lattner
1dd77af9ce
Add create methods for ObjCCategoryDecl, ObjCForwardProtocolDecl, ObjCClassDecl.
...
llvm-svn: 48426
2008-03-16 20:34:23 +00:00
Chris Lattner
acc04a9261
minor cleanups, make getNumInstanceMethods always return unsigned.
...
llvm-svn: 48423
2008-03-16 20:19:15 +00:00
Chris Lattner
5074f8f3ef
fix a crasher where an invalid program that multiply defined
...
a protocol could smash more references in than are allocated.
llvm-svn: 48411
2008-03-16 01:25:17 +00:00
Chris Lattner
f87ca0a7d1
Give ObjCProtocolDecl a Create method.
...
llvm-svn: 48410
2008-03-16 01:23:04 +00:00
Chris Lattner
2a52083efc
hoist a bunch of casting.
...
llvm-svn: 48409
2008-03-16 01:16:52 +00:00
Chris Lattner
96c501ef7e
Add create methods for ObjCIvarDecl and ObjCInterfaceDecl
...
llvm-svn: 48408
2008-03-16 01:15:50 +00:00
Chris Lattner
011b0f5c5a
Make the parameter count of ObjCMethodDecl unsigned, you
...
can't have negative arguments.
llvm-svn: 48407
2008-03-16 01:07:14 +00:00
Chris Lattner
c557947488
remove some dead arguments to ObjCMethodDecl.
...
llvm-svn: 48406
2008-03-16 00:58:16 +00:00
Chris Lattner
8d8829e225
Give ObjCMethodDecl a Create method.
...
llvm-svn: 48405
2008-03-16 00:49:28 +00:00
Chris Lattner
893751970a
Split objc decl implementation out into DeclObjC.cpp
...
llvm-svn: 48404
2008-03-16 00:19:01 +00:00
Chris Lattner
ee1284a6e2
switch the rest of the C decl classes to do their
...
allocation through ASTContext.
llvm-svn: 48403
2008-03-16 00:16:02 +00:00
Chris Lattner
7a51313d8a
Make a major restructuring of the clang tree: introduce a top-level
...
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
2008-03-15 23:59:48 +00:00