| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
CXXScalarValueInitExpr (or an ImplicitValueInitExpr), strip it back down to an
empty pair of parentheses so that the initialization code can tell that we're
performing value-initialization.
llvm-svn: 170867
|
| |
|
|
|
|
|
|
|
|
| |
weak reference.
Thanks to Jordan Rose and John McCall for their sage code review.
Fixes <rdar://problem/12569201>.
llvm-svn: 170864
|
| |
|
|
|
|
|
|
| |
This is just a minor bit of refactoring, but it is nice cleanup for
the subsequent patch that adds warning support for assigning literals
to weak variables.
llvm-svn: 170863
|
| |
|
|
|
|
| |
a value-initialized bool!
llvm-svn: 170837
|
| |
|
|
|
|
|
|
| |
emitting a null constant of type pointer-to-data-member."
It broke stage2.
llvm-svn: 170835
|
| |
|
|
|
|
| |
a not-fully-formed macro invocation during code-completion.
llvm-svn: 170833
|
| |
|
|
| |
llvm-svn: 170832
|
| |
|
|
|
|
|
|
| |
./bin/clang -cc1 -internal-isystem /home/espindola/llvm/build/lib/clang/3.3/include/ -analyze -analyzer-checker=debug.DumpCallGraph /home/espindola/llvm/clang/test/Analysis/debug-CallGraph.c -fblocks
changes in each run.
llvm-svn: 170829
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When we are visiting the extern declaration of 'i' in
static int i = 99;
int foo() {
extern int i;
return i;
}
We should not try to handle it as if it was an function static. That is, we
must consider the written storage class.
Fixing this then exposes that the assert in EmitGlobalVarDeclLValue and the
if leading to its call are not completely accurate. They were passing before
because the second decl was marked as having external storage. I changed them
to check the linkage, which I find easier to understand.
Last but not least, there is something strange going on with cuda and opencl.
My guess is that the linkage computation for these languages needs to be
audited, but I didn't want to change that in this patch so I just updated
the storage classes to keep the current behavior.
Thanks to Reed Kotler for reporting this.
llvm-svn: 170827
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify the call graph by removing the parentless nodes. Instead all
nodes are children of root to ensure they are all reachable. Remove the
tracking of nodes that are "top level" or global. This information is
not used and can be obtained from the Decls stored inside
CallGraphNodes.
Instead of existing ordering hacks, analyze the functions in topological
order over the Call Graph.
Together with the addition of devirtualizable ObjC message sends and
blocks to the call graph, this gives around 6% performance improvement
on several large ObjC benchmarks.
llvm-svn: 170826
|
| |
|
|
|
|
|
|
|
|
|
| |
This paves the road for constructing a better function dependency graph.
If we analyze a function before the functions it calls and inlines,
there is more opportunity for optimization.
Note, we add call edges to the called methods that correspond to
function definitions (declarations with bodies).
llvm-svn: 170825
|
| |
|
|
|
|
|
|
| |
the macro invocation is not fully formed.
rdar://11290992
llvm-svn: 170824
|
| |
|
|
| |
llvm-svn: 170817
|
| |
|
|
|
|
|
| |
Sphinx's syntax highlighter doesn't recognize the new literals, so the
syntax highlighting is pretty pathetic.
llvm-svn: 170814
|
| |
|
|
| |
llvm-svn: 170813
|
| |
|
|
| |
llvm-svn: 170812
|
| |
|
|
|
|
| |
constant of type pointer-to-data-member.
llvm-svn: 170806
|
| |
|
|
| |
llvm-svn: 170804
|
| |
|
|
| |
llvm-svn: 170801
|
| |
|
|
|
|
|
|
| |
literal."
Per code feedback, I want to see if there is a more general way to do this.
llvm-svn: 170777
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to also remove a trailing space if possible.
For example, removing '__bridge' from:
i = (__bridge I*)p;
should result in:
i = (I*)p;
not:
i = ( I*)p;
rdar://11314821
llvm-svn: 170764
|
| |
|
|
|
|
|
|
|
| |
Such variables may immediately become nil or may have unpredictable
behavior.
Fixes <rdar://problem/12569201>.
llvm-svn: 170763
|
| |
|
|
|
|
| |
document
llvm-svn: 170762
|
| |
|
|
| |
llvm-svn: 170761
|
| |
|
|
| |
llvm-svn: 170759
|
| |
|
|
|
|
|
| |
Thereby, it can be reused by clang-format and others.
Review: http://llvm-reviews.chandlerc.com/D229
llvm-svn: 170757
|
| |
|
|
|
|
|
| |
use it to format xml declaration tags.
// rdar://12378714
llvm-svn: 170727
|
| |
|
|
|
|
| |
Fixes <rdar://problem/12887356>.
llvm-svn: 170724
|
| |
|
|
| |
llvm-svn: 170723
|
| |
|
|
| |
llvm-svn: 170722
|
| |
|
|
|
|
| |
which is wrong here.
llvm-svn: 170721
|
| |
|
|
|
|
|
|
|
| |
Without this patch comparing two equal versions without patch numbers (4.7 for
example) will result in A < B and B < A.
Patch by Simon Atanasyan.
llvm-svn: 170705
|
| |
|
|
|
|
| |
hosts.
llvm-svn: 170693
|
| |
|
|
| |
llvm-svn: 170692
|
| |
|
|
| |
llvm-svn: 170688
|
| |
|
|
| |
llvm-svn: 170686
|
| |
|
|
|
|
|
|
| |
http://llvm-reviews.chandlerc.com/D226
Patch by Philip Craig!
llvm-svn: 170684
|
| |
|
|
| |
llvm-svn: 170683
|
| |
|
|
|
|
| |
all targets.
llvm-svn: 170645
|
| |
|
|
|
|
|
|
| |
instead of BlockLanguageSpec.txt.
Thanks to Jean-Daniel Dupas for comments!
llvm-svn: 170644
|
| |
|
|
| |
llvm-svn: 170643
|
| |
|
|
|
|
|
| |
appears to currently be benign (we happen to test the flags in the right
order, so we never depend on the uninitialized value).
llvm-svn: 170640
|
| |
|
|
|
|
| |
Fixes PR14628.
llvm-svn: 170639
|
| |
|
|
|
|
|
|
| |
produce a note for that diagnostic either with a different DiagnosticEngine or
after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the
wrong thing if the original diagnostic was suppressed.
llvm-svn: 170636
|
| |
|
|
| |
llvm-svn: 170635
|
| |
|
|
|
|
|
|
| |
http://llvm-reviews.chandlerc.com/D52
Patch by Philip Craig!
llvm-svn: 170634
|
| |
|
|
|
|
|
|
|
|
| |
Instead of using several callbacks to identify the pointer escape event,
checkers now can register for the checkPointerEscape.
Converted the Malloc checker to use the new callback.
SimpleStreamChecker will be converted next.
llvm-svn: 170625
|
| |
|
|
|
|
|
|
| |
make sure they came from the same kind of FileIDs.
Thanks to Abramo Bagnara for providing the test case.
llvm-svn: 170616
|
| |
|
|
| |
llvm-svn: 170613
|
| |
|
|
|
|
| |
rdar://12282267
llvm-svn: 170611
|