aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-11-09We don't add ExprWithCleanups to the CFG, and getSVal looksJohn McCall
through it, so we should look through it for the live-values analysis as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144190 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Define some built-ins macros on mips32 platform, from Simon Atanasyan!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144189 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Update test.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144185 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Try to fix an issue on some hosts where the 'lib' in the builtin includeChandler Carruth
path is actually a multilib. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Fixing 80 col violations (& removing any trailing whitespace on files I was ↵David Blaikie
touching anyway) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144171 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Fix 80 cols violations & remove trailing whitespace.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144170 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Reflow one line I missed in previous cleanup commit. No functionality change.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144168 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Minor cleanup, mostly reindenting. Remove one helper function that just calledNick Lewycky
the other helper functions, since we already differentiated the cases it was testing between. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Fix an issue that Duncan discovered on a specific (no longer current)Chandler Carruth
version of Ubuntu. It has a very broken multiarch configuration, and so we need special logic to handle it correctly. Fixing and testing this uncovered a few other trivial issues with the logic that are fixed as well. I added tests to cover this as it is hard to notice if you install recent versions of the OS. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144165 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Emit the copy and dipose helpers for ARC __strongJohn McCall
block-typed __block variables using objc_retainBlock and objc_dispose. Previously we were using _Block_object_assign and _Block_object_destroy with BLOCK_BYREF_CALLER, which causes the runtime to completely ignore the retain and release. In most cases this doesn't cause catastrophe because the retain/release are balanced and because the block in the variable was copied upon assignment there. However, the stack copy of the variable will be released when it goes out of scope, which is a problem if that value was released due to an assignment to the heap copy. Similarly, a leak can occur if the variable is assigned after the copy to the heap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144162 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Workaround for compilers that don't implement C++ DR45, from Tom Honermann!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144161 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Put ext_offsetof_extended_field_designator under the warning flagDouglas Gregor
-Wextended-offsetof, from Jeff Walden! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144160 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Don't crash when transforming an ill-formed pseudo-destructorDouglas Gregor
expression. Fixes PR11339. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Extract the blocks-related ARC tests into their own file.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144158 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Introduce proper spacing after the Objective-C parameter qualifiersDouglas Gregor
(bycopy, inout, etc.). Fixes <rdar://problem/10402900>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144157 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Constant expression evaluation: support for default arguments.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Remove extra ';'Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144155 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09[PCH] Fix reading from PCH of diagnostic pragmas.Argyrios Kyrtzidis
In certain cases ASTReader would call the normal DiagnosticsEngine API to initialize the state of diagnostic pragmas but DiagnosticsEngine would try to compare source locations leading to crash because the main FileID was not yet initialized. Yet another case of the ASTReader trying to use the normal APIs and inadvertently breaking invariants. Fix this by having the ASTReader set up the internal state directly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144153 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Add "I" (ICE) annotations onto a few more x86 intrinsics.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144152 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-09Don't crash on invalid objc code.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144150 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[arcmt] Take into account that all properties are strong-by-default now and ↵Argyrios Kyrtzidis
fix the test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144146 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Bind function "r-values" as l-values when emitting them asJohn McCall
opaque values. Silly C type system. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144144 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08objc: Don't crash on missing @interface decl.Fariborz Jahanian
// rdar://10415026 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144143 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[analyzer] Testing: test with all the non-experimental checker packages.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[analyzer] Testing: support for regenerate reference outputAnna Zaks
Change the flow of the SATestAdd so that it could be used for regenerating the reference output without exiting with an error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144141 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[arcmt] Now that readonly properties are strong-by-default, do not add ↵Argyrios Kyrtzidis
redundant 'strong'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144136 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Fix comment typosDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144120 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08objc-arc: 'readonly' property of retainable objectFariborz Jahanian
type is strong by default too. // rdar://10410903 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144118 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Sort contents of exports file. No functionality change.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144116 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08serialized diagnostics: serialize the version info in a separate meta block.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144115 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[analyzer] Remove redundant check from DivZeroCheckerAnna Zaks
Analysis by Ted: " if (stateZero && !stateNotZero) { is checking to see if: (A) "it is possible for the value to be zero" (stateZero) AND (B) "it is not possible for the value to be non-zero" (!stateNotZero) That said, the only way for both B to be true AND A to be false is if the path is completely infeasible by the time we reach the divide-by-zero check. For the most part (all cases?), such cases should automatically get pruned out at branches (i.e., an infeasible path gets dropped), which is the case in our tests. So the question is whether or not such an infeasible path might not get dropped earlier? I can't envision any right now. Indeed, the rest of the checker assumes that if the bug condition didn't fire then 'stateNotZero' is non-NULL: C.addTransition(stateNotZero); " git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144114 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[analyzer] Testing: Display the number of reported differences in the main log.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144113 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08This test isn't portable to non-x86 platforms; specify a triple.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144112 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Mark the overloaded atomic builtins as having custom type checking,Douglas Gregor
which they do. This avoids all of the default argument promotions that we (1) don't want, and (2) undo during that custom type checking, and makes sure that we don't run into trouble during template instantiation. Fixes PR11320. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144110 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Misc fixes for clang driver on Mips Linux. Patch by Simon Atanasyan.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144108 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08From Vassil Vassilev: add checks for removing Decls for more use cases.Axel Naumann
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144094 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Add a default system include of '/include'. This isn't particularlyChandler Carruth
useful when using Clang as a system-compiler, but its harmless. When using Clang as a cross-compiler, this can be very handy as quite a few toolchains ship their libc headers here rather than under '/usr/include'. For reference, this is the beginning of my work to also make the Clang driver more suitable as a cross-compiler. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144089 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[arcmt] Now that properties are strong by default, avoid adding redundant ↵Argyrios Kyrtzidis
'(strong)' property attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144078 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[arcmt] NSViewController does not support weak.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144077 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Check pointer types for arguments of Neon load/store macros. rdar://9958031Bob Wilson
The Neon load/store intrinsics need to be implemented as macros to avoid hiding alignment attributes on the pointer arguments, and the macros can only evaluate those pointer arguments once (in case they have side effects), so it has been hard to get the right type checking for those pointers. I tried various alternatives in the arm_neon.h header, but it's much more straightforward to just check directly in Sema. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144075 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Misc fixes to pcmp*stri.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144073 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Fix the layout of vb-tables and vf-tables in the MS C++ ABI.John McCall
Based on work by Dmitry Sokolov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144072 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08lib/CodeGen/CGBuiltin.cpp: Tweak the identifier "Type" to appease msvc.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144065 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08TypePrinter: print OpenCL address space names. Patch by RichardPeter Collingbourne
Membarth, test case by myself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144063 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08DeclPrinter: print the declaration's storage class specifier asPeter Collingbourne
written, instead of the resolved storage class, which might not be legal to specify on the declaration (such as out-of-line definitions of static class members in C++, and __local variables in OpenCL). Initial patch by Richard Membarth. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144062 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Some tests missed from r144056.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144060 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08[arcmt] When we already removed a __weak, don't try to change it to ↵Argyrios Kyrtzidis
__unsafe_unretained later on, or we will end up with a redundant '__unsafe_unretained'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144059 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Revert r143972, which didn't actually compile under -Wnon-virtual-dtor.Matt Beaumont-Gay
(TIL: -Wnon-virtual-dtor is not in -Wall.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144058 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Fix a cluster of related issues involving value-dependence and constantRichard Smith
expression evaluation: - When folding a non-value-dependent expression, we may try to use the initializer of a value-dependent variable. If that happens, give up. - In C++98, actually check that a const, non-volatile DeclRefExpr inside an ICE is of integral or enumeration type (a reference isn't OK!) - In C++11, DeclRefExprs for objects of const literal type initialized with value-dependent expressions are themselves value-dependent. - So are references initialized with value-dependent expressions (though this case is missing from the C++11 standard, along with many others). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144056 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-08Clean up type flags for overloaded Neon builtins. No functional change.Bob Wilson
This patch just adds a simple NeonTypeFlags class to replace the various hardcoded constants that had been used until now. Unfortunately I couldn't figure out a good way to avoid duplicating that class between clang and TableGen, but since it's small and rarely changes, that's not so bad. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144054 91177308-0d34-0410-b5e6-96231b3b80d8