- Feb 28, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 126614
-
Argyrios Kyrtzidis authored
llvm-svn: 126613
-
Argyrios Kyrtzidis authored
-Now it gets enabled with '-analyzer-checker=DeadStores'. -The driver passes the above flag by default. llvm-svn: 126612
-
Argyrios Kyrtzidis authored
llvm-svn: 126611
-
Argyrios Kyrtzidis authored
llvm-svn: 126610
-
Argyrios Kyrtzidis authored
Turns -analyzer-check-buffer-overflows into -analyzer-checker=core.experimental.Overflow llvm-svn: 126609
-
Argyrios Kyrtzidis authored
llvm-svn: 126608
-
Argyrios Kyrtzidis authored
llvm-svn: 126607
-
Argyrios Kyrtzidis authored
llvm-svn: 126606
-
Argyrios Kyrtzidis authored
only allow a checker to be registered once. llvm-svn: 126605
-
Chris Lattner authored
llvm-svn: 126603
-
Chris Lattner authored
compound statements and break statements. This implements enough to handle PR9322 and rdar://6970405. llvm-svn: 126602
-
Anders Carlsson authored
llvm-svn: 126601
-
Chris Lattner authored
llvm-svn: 126600
-
Anders Carlsson authored
llvm-svn: 126599
-
Anders Carlsson authored
llvm-svn: 126598
-
Chris Lattner authored
live case of a switch statement when switching on a constant. This is terribly limited, but enough to handle the trivial example included. Before we would emit: define void @test1(i32 %i) nounwind { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 switch i32 1, label %sw.epilog [ i32 1, label %sw.bb ] sw.bb: ; preds = %entry %tmp = load i32* %i.addr, align 4 %inc = add nsw i32 %tmp, 1 store i32 %inc, i32* %i.addr, align 4 br label %sw.epilog sw.epilog: ; preds = %sw.bb, %entry switch i32 0, label %sw.epilog3 [ i32 1, label %sw.bb1 ] sw.bb1: ; preds = %sw.epilog %tmp2 = load i32* %i.addr, align 4 %add = add nsw i32 %tmp2, 2 store i32 %add, i32* %i.addr, align 4 br label %sw.epilog3 sw.epilog3: ; preds = %sw.bb1, %sw.epilog ret void } now we emit: define void @test1(i32 %i) nounwind { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 %tmp = load i32* %i.addr, align 4 %inc = add nsw i32 %tmp, 1 store i32 %inc, i32* %i.addr, align 4 ret void } This improves -O0 compile time (less IR to generate and shove through the code generator) and the clever linux kernel people found a way to fail to build if we don't do this optimization. This step isn't enough to handle the kernel case though. llvm-svn: 126597
-
Chris Lattner authored
llvm-svn: 126596
-
Chris Lattner authored
llvm-svn: 126595
-
Chris Lattner authored
llvm-svn: 126594
-
Douglas Gregor authored
nested-name-specifier, e.g., T::template apply<U>:: represent the dependent template name specialization as a DependentTemplateSpecializationType, rather than a TemplateSpecializationType with a dependent TemplateName. llvm-svn: 126593
-
Chris Lattner authored
a bool + success into one tri-state integer, simplifying things. llvm-svn: 126592
-
- Feb 27, 2011
-
-
Douglas Gregor authored
specifiers such as typename T::template apply<U> Previously, we would turn T::template apply<U> into a TemplateSpecializationType. Then, we'd reprocess that TemplateSpecializationType and turn it into either a TemplateSpecializationType wrapped in an ElaboratedType (when we could resolve "apply" to a template declaration) or a DependentTemplateSpecializationType. We now produce the same ASTs but without generating the intermediate TemplateSpecializationType. The end goal here is to avoid generating TemplateSpecializationTypes with dependent template-names, ever. We're not there yet. llvm-svn: 126589
-
Benjamin Kramer authored
GCC -Waddress warns about this but clang doesn't (PR9043). llvm-svn: 126577
-
Oscar Fuentes authored
llvm-svn: 126572
-
Frits van Bommel authored
Fix this test case for CMake builds after r126502, which sneakily changed the actual executable name to clang-<version>. llvm-svn: 126560
-
Daniel Dunbar authored
llvm-svn: 126559
-
- Feb 26, 2011
-
-
Alexis Hunt authored
This successfully performs constructor lookup and verifies that a delegating initializer is the only initializer present. This does not perform loop detection in the initialization, but it also doesn't codegen delegating constructors at all, so this won't cause runtime infinite loops yet. llvm-svn: 126552
-
John McCall authored
to give us a non-null return slot. llvm-svn: 126544
-
John McCall authored
send before making the call. Fixes rdar://problem/7854674 llvm-svn: 126543
-
John McCall authored
char-width agnostic. llvm-svn: 126542
-
John McCall authored
llvm-svn: 126541
-
John McCall authored
loading references as part of that. Use 'char' TBAA when accessing (immediate!) fields of a may_alias struct; fixes PR9307. llvm-svn: 126540
-
John McCall authored
don't let calls to such functions go down the normal type-checking path. Test this out with __builtin_classify_type and __builtin_constant_p. llvm-svn: 126539
-
Fariborz Jahanian authored
// rdar://9056351 llvm-svn: 126536
-
Fariborz Jahanian authored
block. // rdar://9055596 llvm-svn: 126535
-
- Feb 25, 2011
-
-
Matt Beaumont-Gay authored
doesn't like re-friending. llvm-svn: 126524
-
Ted Kremenek authored
llvm-svn: 126523
-
Ted Kremenek authored
llvm-svn: 126522
-
Ted Kremenek authored
This isn't totally complete. Right now scan-build uses some heuristics to determine which checkers are enabled by default, but it cannot always tell which checkers are not enabled. llvm-svn: 126521
-