aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-05[analyzer] False positive in SelfInit - teach the checker about methodAnna Zaks
calls with self as a parameter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152039 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05[analyzer] Malloc should assume that ownership is transfered whenAnna Zaks
calling an ObjC method ending with 'NoCopy'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152037 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Avoid double lookup.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152033 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Properly handle non-canonical underlying types inPeter Collingbourne
ASTContext::getUnaryTransformType. This can happen if, for example, an enumeration's underlying type is a typedef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152031 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Fix a -Wstring-plus-int warning.Nico Weber
Patch from Sean Silva <silvas@purdue.edu>! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152030 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05TargetInfo: create less temporary strings.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152029 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Fix a small difference in sema and codegen views of what needs to be output.Rafael Espindola
In the included testcase, soma thinks that we already have a definition after we see the out of line decl. Codegen puts it in a deferred list, to be output if a use is seen. This would break when we saw an explicit template instantiation definition, since codegen would not be notified. This patch adds a method to the consumer interface so that soma can notify codegen that this decl is now required. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152024 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Fix a bug in the mangler where in 'namespace std { extern "C" {X;} }', X ↵James Molloy
would not be seen to be in ::std::. Migrate two other places where the same logic is used to use the helper function that already exists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152022 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05[arcmt]Argyrios Kyrtzidis
-Make sure we don't change to '__weak' a __block variable used as output. -Make sure we don't apply __weak twice. Fixes rdar://10520757&10521362 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152020 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05[preprocessor] Enhance PreprocessingRecord to keep track of locations of ↵Argyrios Kyrtzidis
conditional directives. Introduce PreprocessingRecord::rangeIntersectsConditionalDirective() which returns true if a given range intersects with a conditional directive block. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152018 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05[preprocessor] Enhance the preprocessor callbacks:Argyrios Kyrtzidis
-Add location parameter for the directives callbacks -Skip callbacks if the directive is inside a skipped range. -Make sure the directive callbacks are invoked in source order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152017 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05More tests for r152012.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152013 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05Lexing support for user-defined literals. Currently these lex as the same tokenRichard Smith
kinds as the underlying string literals, and we silently drop the ud-suffix; those issues will be fixed by subsequent patches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152012 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-05[clang.py] Return bool from Cursor.__eq__Gregory Szorc
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152011 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-04Remove a recursive visitation in ExprEngine that is no longer needed because ↵Erik Verbruggen
the CFG is fully linearized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152007 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-04Silence a GCC warning about a set-but-not-used variable in release builds.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152005 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-04Add tests for [over.literal]. Fix a few bugs which were exposed by the tests.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151997 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-04From his comment in PR12168, Eli seems confused about the alignment assumptionsChris Lattner
we're making. We only ignore implicit casts. Add a testcase showing that we get the right behavior with explicit casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151994 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-04add a testcase for PR12094 and fix a crash on pointer to incomplete type,Chris Lattner
reported by Richard Smith. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151993 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Add a pile of tests for unrestricted unions, and advertise support for them.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151992 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03constexpr: Remove APValue/CCValue distinction. It is no longer useful given theRichard Smith
resolution of core issue 1454. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151991 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Remove unused variable.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151989 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Fix Typo in 'objc changes' anchor.Jean-Daniel Dupas
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151978 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Avoid an unnecessary recursive loop between type canonicalization and NNS ↵Eli Friedman
canonicalization which would (rarely) lead to memory corruption. While I'm here, simplify. Fixes PR12166. Not committing a testcase because it's impossible to reduce it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151967 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03[analyzer] do not warn about returning stack-allocated memory when it comes ↵Ted Kremenek
from an ancestor stack frame. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151964 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Factor bitfields of LangOptions out into a base class in order to make themRichard Smith
trivially-copyable. 50KiB reduction in clang binary size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151963 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Frontend: Default to creating output files using temporary files + rename.Daniel Dunbar
- This is a more reliable default, as it behaves better on failure and also ensures that we create *new* files (instead of reusing existing inodes). This is useful for other applications (like lldb) which want to cache inode's to know when a file has been rewritten. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151961 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Frontend: Don't automatically create missing directories when using ↵Daniel Dunbar
temporary files with createOutputFile() - This would otherwise happen as a side effect of llvm::sys::fs::unique_file creating parent directories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Thread safety analysis: expand set of expressions that can be used to denote ↵DeLesley Hutchins
locks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151956 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Reinstate r151879, r151880, reverted in r151922, along with a bugfix forRichard Smith
scalar emission of DeclRefExprs to const bools: emit scalar bools as i1, not as i8. In addition to the extra unit testing, this has successfully bootstrapped. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151955 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Unbreak the CMake builds following the CallGraph change.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151952 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Add a test for the -Wstring-plus-int fixit note.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151951 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02[analyzer] Rename clang::CallGraph into clang::idx::CallGraph + renameAnna Zaks
the corresponding files to avoid confusion. This is a preparation to adding an AST-based call graph to Analysis. The existing call graph works with indexer entries. We might be able to refactor it to use the AST based graph in the future. (Minimal testing here as the only example that uses the API has been completely broken, does not compile.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151950 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Adding support for #pragma include_alias in MS compatibility mode. This ↵Aaron Ballman
implements PR 10705. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151949 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Issue warning when late-parsed attributes have no declaration.DeLesley Hutchins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151947 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Make late-parsed attributes follow the conventions of ordinaryDeLesley Hutchins
GNU attributes to a better extent, by allowing them in more places on a declator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151945 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Thread safety analysis: handle CFG blocks which call functions marked as ↵DeLesley Hutchins
noreturn. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151944 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Add -Wstring-plus-int, which warns on "str" + int and int + "str".Nico Weber
It doesn't warn if the integer is known at compile time and within the bounds of the string. Discussion: http://comments.gmane.org/gmane.comp.compilers.clang.scm/47203 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02objc: When issue diagnostic about deprecated method, alsoFariborz Jahanian
issue the note if it is because message is sent to a forward class declaration in delayed diagnostic. // rdar://10290322 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151942 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02[analyzer diagnostics] flush locations *before* popping the current path ↵Ted Kremenek
when visiting a CallEnter. Fixes <rdar://problem/10967815> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151938 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Fix an ABI problem with ptrdiff_t and intptr_t on PPC32Hal Finkel
ptrdiff_t on PPC32 on Linux, etc. should be int not long. This does not matter for C, but it does matter for C++ because of name mangling. The preprocessor test has been changed accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151935 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Move int<->pointer conversion warnings behind -Wint-conversions.Nico Weber
This is consistent with -Wbool-conversion. Let me know if you prefer a different flag name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151934 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02[Sema] Fix crash-on-invalid-code issue:Argyrios Kyrtzidis
@class I; @implementation I(cat) // crashes here @end rdar://10968158 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151931 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02[analyzer] Bound the size of the functions being inlined + provideAnna Zaks
command line options for inlining tuning. This adds the option for stack depth bound as well as function size bound. + minor doxygenification git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151930 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02PR12094: Set the alignment of memory intrinsic instructions based on theJay Foad
types of the pointer arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151927 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Change diagnostic test for my last patch.Fariborz Jahanian
// rdar://10961370 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151923 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Revert r151879, r151880, "PR12145: Avoid emitting loads of constexpr ↵Daniel Dunbar
variables in contexts where there" and "Fix buildbot: make this test less dependent on the value names in the produced IR." They broke bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151922 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Use tabs instead of spaces.Benjamin Kramer
No, really, make doesn't work with spaces. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151920 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02clang -v support for separate clang.git and llvm.git, patch by Andrew Trick.Jia Liu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151910 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-02Add the Solaris support directory to the header search when using libc++.David Chisnall
Unconditionally define __C99FEATURES__ when using C++ on Solaris. This is a (hopefully temporary) work around for libc++ exposing C99-but-not-C++98 features in C++98 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151889 91177308-0d34-0410-b5e6-96231b3b80d8