aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-15[ms-inline asm] Don't emit newlines as these are ignored by the AsmParserChad Rosier
anyways. Also, simplify some conditional logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161977 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Add ASTMatcher for matching extern "C" function declarations.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161974 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Patch to warn about __private_extern__ on tentative definitionsFariborz Jahanian
as it does something unexpected (but gcc compatible). Suggest use of __attribute__((visibility("hidden"))) on declaration instead. // rdar://7703982 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161972 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Fix for PR#13606: http://llvm.org/bugs/show_bug.cgi?id=13606John Criswell
Changed the alignment of an LValue to be 64 bits so that we can handle alignment values up to half of a 64-bit address space. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161971 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Add support for clobbers in CodeGen.Chad Rosier
This is a reapplication of r161914 now that the scoping issue has been resolved in r161966. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161967 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Capturing loop-scoped (std::string)Reg with a StringRef is bad.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161966 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Fix base type of ASTDeclNodeLister.Michael Han
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161963 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] Don't try to devirtualize if the class is incomplete.Jordan Rose
A similar issue to the previous commit, introduced by r161915. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161961 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] Only adjust the type of 'this' when we devirtualize a method call.Jordan Rose
With reinterpret_cast, we can get completely unrelated types in a region hierarchy together; this was resulting in CXXBaseObjectRegions being layered directly on an (untyped) SymbolicRegion, whose symbol was from a completely different type hierarchy. This was what was causing the internal buildbot to fail. Reverts r161911, which merely masked the problem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Add the left brace source location and improve the prettyChad Rosier
printer. Patch by Enea Zaffanella <zaffanella@cs.unipr.it>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161958 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Check for improper use of 'static' and type qualifiers in arrayHans Wennborg
declarators. They are only allowed for function parameters, and then only on the outermost array type derivation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161934 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Revert this to try to bring the i386 bots back.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161931 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15clang/lib/Sema/SemaStmt.cpp: Include MCAsmLexer.h to appease msvc to define ↵NAKAMURA Takumi
llvm::AsmToken. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161927 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Use the right alignment when allocating NestedNameSpecifier objects.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161920 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15Fix overallocation and underalignment of ASTTemplateArgumentListInfo objects.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161918 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] Doxygen comments in ObjCMethodCall.Jordan Rose
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161917 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] Don't inline dynamic-dispatch methods unless -analyzer-ipa=dynamic.Jordan Rose
Previously we were checking -analyzer-ipa=dynamic-bifurcate only, and unconditionally inlining everything else that had an available definition, even under -analyzer-ipa=inlining (but not under -analyzer-ipa=none). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161916 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] Correctly devirtualize virtual method calls in destructors.Jordan Rose
C++11 [class.cdtor]p4: When a virtual function is called directly or indirectly from a constructor or from a destructor, including during the construction or destruction of the class’s non-static data members, and the object to which the call applies is the object under construction or destruction, the function called is the final overrider in the constructor's or destructor's class and not one overriding it in a more-derived class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161915 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Add support for clobbers in CodeGen.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161914 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Have MC start parsing the asms.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161913 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[ms-inline asm] Mark getClobber() const.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161912 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-15[analyzer] A base class needs a complete definition to provide offsets.Jordan Rose
No test case yet; trying to reduce one from a failing internal buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161911 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Check local static variables for self reference on initialization.Richard Trieu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161909 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] More test cases to make sure buildMSAsmString() doesn't regress.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161908 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] Remove the last bits of LineEnds.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161904 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Remove trailing return flag from FunctionTypeLoc, since we now carry thatRichard Smith
information on FunctionProtoType. (This also fixes one of *many* misalignment problems in the TypeLoc hierarchy...) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161901 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Fix undefined behavior: reference bound to dereferenced null pointer.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161899 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] Simplify more logic by using the Token::hasLeadingSpace() andChad Rosier
Token::isAtStartOfLine() APIs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161898 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Small change to avoid confusion on what "used by" means for a compiler.Rafael Espindola
Patch by Jonathan Sauer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161897 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] Address a potential buffer overflow.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161896 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] Simplify the logic in patchMSAsmString. We no longer need toChad Rosier
track the LineEnds now that single line asm statments aren't merged. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161893 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14irgen: inline code for several of complex builtinFariborz Jahanian
calls. // rdar://8315199 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161891 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[ms-inline asm] Add a helpful assert.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161890 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[analyzer]Assume that the properties cannot be overridden when dotAnna Zaks
syntax is used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161889 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[analyzer] Address Jordan's comments for r161822, r161683.Anna Zaks
Add a TODO test case for r161822 - calling self from a class method. Remove a TODO comment for r161683 - value2 is not a property - we just have method names that look like they are getters/setters for a property. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161884 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Avoid using i64 types for vld1q_lane/vst1q_lane intrinsics.Bob Wilson
The backend has to legalize i64 types by splitting them into two 32-bit pieces, which leads to poor quality code. If we produce code for these intrinsics that uses one-element vector types, which can live in Neon vector registers without getting split up, then the generated code is much better. Radar 11998303. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161879 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Attaching comments to redeclarations: fix wrong assumptionsDmitri Gribenko
The reason for the recent fallout for "attaching comments to any redeclaration" change are two false assumptions: (1) a RawComment is attached to a single decl (not true for 'typedef struct X *Y' where we want the comment to be attached to both X and Y); (2) the whole redeclaration chain has only a single comment (obviously false, the user can put a separate comment for each redeclaration). To fix (1) I revert the part of the recent change where a 'Decl*' member was introduced to RawComment. Now ASTContext has a separate DenseMap for mapping 'Decl*' to 'FullComment*'. To fix (2) I just removed the test with this assumption. We might not parse every comment in redecl chain if we already parsed at least one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161878 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Changing an enumeration to a const int to fix MSVC compiler warnings.Aaron Ballman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161877 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[analyzer] Remove other #if 0 from Retain Count checker.Anna Zaks
These date back to 2009, 2011. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161876 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[analyzer] Remove autorelease pools code from the Retain Count checker.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161875 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Do NOT use inline functions with LLVM_ATTRIBUTE_USED.Benjamin Kramer
The function will be emitted into every single TU including the header! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161872 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Remove and simplify unused checking code.Benjamin Kramer
This is already handled by CheckCallingConvAttr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161865 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Fix horribly broken sema of __attribute__((pcs())).Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161863 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Added description of clang-check -ast-dump* options.Alexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161861 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Emphasize that clang-fixit is planned but not yet contributed. I shouldChandler Carruth
really just push the initial version.... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161858 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Fix some of my terrible spelling.Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161856 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Add initial documentation about the new tools repository and theChandler Carruth
structure of how we're building concrete tools as well as tooling infrastructure as part of the Clang project. This documentation is definitely still rough. If anyone can improve it, flesh it out, or help structure it in a more natural way, please, help! =] This is not my forte, and patches here are more than welcome! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161855 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14[analyzer] Fixup to r161821Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161854 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Fix undefined behavior: don't bind a dereferenced null pointer to a reference.Richard Smith
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161832 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Placate the mingw32 buildbot by suffixing 64-bit constants with ULL.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161831 91177308-0d34-0410-b5e6-96231b3b80d8