aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-17darwin/driver: Support using SDKROOT to define the default for -isysroot.Daniel Dunbar
- The SDKROOT environment variable is the de facto way to set the default SDK for a number of tools, join forces with them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162116 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17AST Matchers: introduce functionTemplate(), classTemplate() andDmitri Gribenko
isExplicitTemplateSpecialization() matchers which do what their name says. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162115 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fixed crash and added a test and a minor output problemAlexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162110 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17c: implement gcc's -Wbad-function-cast which warnsFariborz Jahanian
on unsafe cast of a c-function call. This is a C-only option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162109 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Define __builtin_ffs[ll] with a signed argument instead of unsigned.Benjamin Kramer
GCC documents these as unsigned, but defines them as signed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162106 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17[ms-inline asm] Instantiate the MCStreamer as a NullStream. We're parsingChad Rosier
instruction, not emitting them, so a NullStream is fine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162105 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Add release notes for type safety attributes.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162102 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fix broken check lines.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162096 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Warn about self-initialization of references.Hans Wennborg
Initializing a reference with itself, e.g. "int &a = a;" seems like a very bad idea. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162093 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Make the spacing of the code completion result for NSDictionaryDouglas Gregor
literals match the spacing introduced by the ObjC modernizer. Fixes the rest of <rdar://problem/11889572>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162084 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17When we need the complete set of visible declarations from aDouglas Gregor
declaration context, check whether the primary context---not the current context---has any external visible declarations. Fixes PR13616. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162083 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Don't do jump-scope checking when code completion is enabled. It'sDouglas Gregor
both a waste of time, and prone to crash due to the use of the error-recovery path in parser. Fixes <rdar://problem/12103608>, which has been driving me nuts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162081 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Temporarily revert r162066 and r162062 to see if it brings the gdbEric Christopher
bots back. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162080 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fix undefined behavior in debug info emission: operator* on WeakVH returns aRichard Smith
reference, so &* on an empty WeakVH binds a reference to a dereferenced null pointer. So don't do that; we have a perfectly good implicit conversion to Value*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162079 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fix test so that it doesn't keep failing forever when it's failed once.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162077 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Switch PTH format from a 7 byte magic number to an 8 byte one, to avoidRichard Smith
misaligned reads throughout the file. Bump PTH format version to 10. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162076 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fix -Wl,--no-demangle to actually pass the flag to the linker on Linux insteadNick Lewycky
of silently dropping it on the floor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162075 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Don't forget to apply #pragma pack to partial and explicit specializations ofRichard Smith
class templates. This fixes misalignment issues in llvm/Support/Endian.h when built by Clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162074 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17[analyzer] Add an internal reference document describing IPA and CallEvent.Jordan Rose
This attempts to be a higher-level description of our inlining heuristics and decision trees than the source, where the work is spread out between ExprEngine (mostly in ExprEngineCallAndReturn.cpp) and CallEvent, with a few other classes participating as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162073 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17[analyzer] Unbreak the static analyzer buildbot.Anna Zaks
We no longer associate the correct HTML file with plist diagnostic. Fall out from r162028. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162071 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Avoid binding a reference to a dereferenced null pointer, if we try to emit aRichard Smith
diagnostic before we have a source manager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162070 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Fix misaligned DeclGroup allocation.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162069 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Don't form a null reference when checking for validity of an anonymousRichard Smith
elaborated type specifier in template instantiation: such a specifier is always valid because it must be specified within the definition of the type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162068 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-17Add support for "type safety" attributes that allow checking that 'void *'Dmitri Gribenko
function arguments and arguments for variadic functions are of a particular type which is determined by some other argument to the same function call. Usecases include: * MPI library implementations, where these attributes enable checking that buffer type matches the passed MPI_Datatype; * for HDF5 library there is a similar usecase as MPI; * checking types of variadic functions' arguments for functions like fcntl() and ioctl(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162067 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Add some caching here for the builtin types.Eric Christopher
rdar://12117935 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162066 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Remove FIXME, the constraints contain more options than theEric Christopher
current available documentation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162065 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Add a missing 'break' to ensure that we reject inline assemblyEric Christopher
constraints we don't recognize. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162064 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Random string removal.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162063 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Make isa part of objc_object at metadata generation time.Eric Christopher
Noticed on inspection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162062 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Fix misaligned allocation of TemplateParameterList objects.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162056 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] Comment.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162055 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] Extract a helper function, getSpelling(). Also use this onChad Rosier
tokens we don't know how to handle; this should aid when debugging. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162053 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16objective-C++: issue diagnostic when ivar type isFariborz Jahanian
an abstract c++ class. // rdar://12095239 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162052 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] If we don't know how to handle a token then assume this is not aChad Rosier
simple asm. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162051 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] Add a helper function, isMSAsmKeyword().Chad Rosier
These require special handling, which we don't currently handle. This is being put in place to ensure we don't do invalid symbol table lookups or try to parse invalid assembly. The test cases just makes sure the latter isn't happening. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162050 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Removed unused LParenLoc parameter to ActOnCXXForRangeStmtSam Panzer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162048 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16objective-C: make -Wcast-of-sel-type the default.Fariborz Jahanian
// rdar://12107381 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162045 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16CommentCommandTraits: rename BeginName -> StartName for consistency.Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162044 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] Perform symbol table lookup on variables. The idea is to useChad Rosier
this information to determine valid MC operands. This will also be used for semantic analysis. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162043 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Fixup test case for Release builds.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162038 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16objective-C: deprecate casts of ObjC's SELFariborz Jahanian
expressions except to void, void * and their qualified versions. // rdar://12107381 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162036 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Attaching comments to declarations: parse the comment in context of theDmitri Gribenko
declaration it was attached to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162033 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Remove #if 0 that has been around for a long time.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162030 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Remove "range_iterator" from PathDiagnosticPiece and just use ↵Ted Kremenek
ArrayRef<SourceRange> for ranges. This removes conceptual clutter, and can allow us to easy migrate to C++11 style for-range loops if we ever move to using C++11 in Clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162029 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Allow multiple PathDiagnosticConsumers to be used with a BugReporter at the ↵Ted Kremenek
same time. This fixes several issues: - removes egregious hack where PlistDiagnosticConsumer would forward to HTMLDiagnosticConsumer, but diagnostics wouldn't be generated consistently in the same way if PlistDiagnosticConsumer was used by itself. - emitting diagnostics to the terminal (using clang's diagnostic machinery) is no longer a special case, just another PathDiagnosticConsumer. This also magically resolved some duplicate warnings, as we now use PathDiagnosticConsumer's diagnostic pruning, which has scope for the entire translation unit, not just the scope of a BugReporter (which is limited to a particular ExprEngine). As an interesting side-effect, diagnostics emitted to the terminal also have their trailing "." stripped, just like with diagnostics emitted to plists and HTML. This required some tests to be updated, but now the tests have higher fidelity with what users will see. There are some inefficiencies in this patch. We currently generate the report graph (from the ExplodedGraph) once per PathDiagnosticConsumer, which is a bit wasteful, but that could be pulled up higher in the logic stack. There is some intended duplication, however, as we now generate different PathDiagnostics (for the same issue) for different PathDiagnosticConsumers. This is necessary to produce the diagnostics that a particular consumer expects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162028 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Matchers related to DeclStmt for matching the count of declarations, a ↵Sam Panzer
particular declaration within the statement, and single-Decl DeclStmts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162027 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16[ms-inline asm] Start tracking which tokens are registers and which areChad Rosier
variables, function or label references. The former is a potential clobber. The latter is either an input or an output. Unfortunately, it's difficult to test this patch at the moment, but the added test case will eventually do so. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162026 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Matchers which correspond to CastExpr, IgnoreImpCasts, IgnoreParenCasts, and ↵Sam Panzer
IgnoreParenImpCasts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162025 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Store SourceManager pointer on PrintingPolicy in the case where we're dumping,Richard Smith
and remove ASTContext reference (which was frequently bound to a dereferenced null pointer) from the recursive lump of printPretty functions. In so doing, fix (at least) one case where we intended to use the 'dump' mode, but that failed because a null ASTContext reference had been passed in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162011 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-16Don't constant-fold when pretty-printing alignment attribute. This fixes aRichard Smith
potential crasher -- Context is sometimes a null reference (!!) here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162007 91177308-0d34-0410-b5e6-96231b3b80d8