aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2011-08-02Add a debugging dump for Module (also emitted as part of the ASTDouglas Gregor
reader statistics), to show the local-to-global mappings. The only such mapping we have (at least, for now) is for source location offsets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136687 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Generalize the module offset map to include mapping information forDouglas Gregor
all of the kinds of IDs that can be offset. No effectively functionality change; this is preparation for adding remapping for IDs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136686 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Make helper functions static.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136679 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Fix formatting of SemaExpr.cpp, mainly fixing lines greater than 80 characters.Richard Trieu
No functional change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136678 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Revert "Re-enable byval for ARM in clang. rdar://problem/7662569"Bob Wilson
This reverts commit 67d097e1232b7d66f58989c16a45b8a11721f76e. We found a miscompile with ARM byval, which is still being investigated. In the meantime, this works around the problem by disabling ARM byval. Conflicts: lib/CodeGen/TargetInfo.cpp git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136662 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Add a skeleton for the Keychain Services API Checker. Register it as OSX ↵Anna Zaks
experimental for now. Note, the checker still does not handle tracking of escaped values, taking into account the return value of the allocator functions, nor the actual bug reporting.. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136659 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01objective-c: reverse patch for // rdar://9818354Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136658 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Implement MipsABIInfo::EmitVAArg. This fix enables clang to complete compilationAkira Hatanaka
without bailing out when va_arg is an aggregate expression. However, alignment checking needs to be added in isSafeToEliminateVarargsCast in InstCombineCalls.cpp in order to produce correct mips code (see link below). http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-July/042047.html git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136647 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Driver: When compiling i386 -fapple-kext code, we fallback to llvmgcc.Chad Rosier
Unfortunately, llvmgcc doesn't always work when writing temporary output to /dev/null. Therefore, create a temp file that is later deleted. rdar://9837692 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136644 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Pass records with non-trivial destructors or constructors indirectly.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136630 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Fix linkage type for tentative definition of ivar offset variables (GNUstep ↵David Chisnall
runtime) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136628 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Move the serialization of the MODULE_OFFSET_MAP out of the ↵Douglas Gregor
source-manager-writing code and into the general chained-PCH writing code git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Rename the AST file's SOURCE_LOCATION_MAP to MODULE_OFFSET_MAP, to indicate ↵Douglas Gregor
the greater role it will soon play in remapping. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136619 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-31Remove dead code flagged by GCC's -Wunused-but-set-variable.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136581 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Not sure why we bother updating FunctionDecl's EndRangeLoc in ↵Argyrios Kyrtzidis
FunctionDecl::setParams. EndRangeLoc should always be set to at least the ending paren or brace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136573 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30[libclang] Annotation of parameters that got default args from a previous ↵Argyrios Kyrtzidis
declarations was broken because the end location of the parameter was the end location of the default arg, resulting in a source range that could begin in one file and end in another. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136572 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Introduce a Fix-It for the "missing sentinel" warning, adding anDouglas Gregor
appropriate sentinel at the end of the argument list. Also, put the sentinel warnings under -Wsentinel. Fixes <rdar://problem/8764236>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136566 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Add code completion to produce "else" blocks after an "if"Douglas Gregor
statement. Fixes <rdar://problem/9229438>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136564 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30When producing code completion results for variadic macros, fold theDouglas Gregor
variadic bit (", ..." or ", args...") into the prior placeholder, like we do with functions and methods. Fixes <rdar://problem/9740808>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Add the various parameter-passing keywords for Distributed ObjectsDouglas Gregor
(such as in, inout, byref, and oneway) to code completion results. Fixes <rdar://problem/8844158>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136562 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Fix a thinko in my __is_empty/__is_pod commit.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136561 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Turn off __has_feature(is_empty) and __has_feature(is_pod) if theDouglas Gregor
libstdc++ hack has reverted these type traits to keywords. Icky, but fixes <rdar://problem/9836262>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136560 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30When performing code completion after at @interface, allow bothDouglas Gregor
already-defined and forward-declared results. Already-defined results are fine because they could be the start of a category. Fixes <rdar://problem/9811691>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136559 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30When complaining about a non-POD second argument to va_arg, use aDouglas Gregor
special diagnostic for ARC ownership-qualified types. We wouldn't want to expose Objective-C programmers to the term "POD", would we? Fixes <rdar://problem/9772982>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136558 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30Use the "Bar.h" -> <Foo/Bar.h> remapping for index header maps only asDouglas Gregor
a fallback, if normal header search fails. Another attempt at <rdar://problem/9824020>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136557 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30objc rewriter - my last patch was not quite right.Fariborz Jahanian
Fixed again. // rdar://9846759 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136550 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-30objc rewriter - set the flag passed to ↵Fariborz Jahanian
_Block_object_assign/_Block_object_dispose correctly for copying a captured block object. // rdar://9846759 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136549 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Teach the ASTImporter to cope with cases where we have alreadyDouglas Gregor
imported a forward declaration, but later the full definition of the same entity becomes available. When this happens, import the definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136537 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Add support for the 'Q' arm memory constraint.Eric Christopher
Fixes rdar://9866494 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136524 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ExprEngine::VisitDeclStmt because ↵Ted Kremenek
it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136522 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ↵Ted Kremenek
ExprEngine::VisitCompoundLiteralExpr because it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136521 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ExprEngine::VisitCastExpr because ↵Ted Kremenek
it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136520 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ↵Ted Kremenek
ExprEngine::VisitObjCForCollectionStmt because it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136519 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove explicit argument processing from ↵Ted Kremenek
ExprEngine::VisitObjCMessage() since it is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136518 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ↵Ted Kremenek
ExprEngine::VisitLValObjCIvarRefExpr because it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136517 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] tighten up ExprEngine::VisitObjCAtSynchronizationStmt().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136516 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ↵Ted Kremenek
ExprEngine::VisitObjCPropertyRefExpr because it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136515 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ExprEngine::VisitCallExpr because ↵Ted Kremenek
it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136514 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ExprEngine::VisitMemberExpr ↵Ted Kremenek
because it isn't needed anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136513 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29[analyzer] Remove recursive visitation in ↵Ted Kremenek
ExprEngine::VisitLvalArraySubscriptExpr() because it is no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136512 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29On Darwin, libc++ may be installed alongside the compiler inDouglas Gregor
lib/c++/v1. Look there first, before falling back to the normal /usr/include/c++/v1. <rdar://problem/9866149> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136507 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Renamed Loaded member to ImportedBy, as it's easier to read. Added another ↵Jonathan D. Turner
set to represent the modules a module imports. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136476 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Remove some unnecessary single element array temporaries.Jay Foad
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136461 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Make DiagnosticErrorTrap keep a count of the errors that occurred so multipleArgyrios Kyrtzidis
DiagnosticErrorTraps can be composed (e.g. a trap inside another trap). Fixes http://llvm.org/PR10462 & rdar://9852007. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136447 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Remove unused debug functionDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136442 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29In the ASTReader, replace the continuous range maps whose value typesDouglas Gregor
were (Module*, Offset) with equivalent maps whose value type is just a Module*. The offsets have moved into corresponding "Base" fields within the Module itself, where they will also be helpful for local->global translation (eventually). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136441 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Fix assertion failure in CodeGen where the input operand to an asmPeter Collingbourne
instruction is tied to an output operand which is a pointer, and the input operand is narrower than the output operand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136438 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Fix an inconsistency in Sema::ConvertArgumentsForCall in thatPeter Collingbourne
the callee note diagnostic was not emitted in the case where there were too few arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136437 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Move the base type ID from the ASTReader's global type map into theDouglas Gregor
Module itself, which makes more sense. This pattern to be repeated several more times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136436 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-29Remove an unused function (found by Clang's -Wunused-function)Chandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136434 91177308-0d34-0410-b5e6-96231b3b80d8