aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-09-20[PCH] Don't store the source range for each preprocessed entity sinceArgyrios Kyrtzidis
we already have the range in the PPEntityOffsets array. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140209 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[PCH] Merge ASTReader::LoadPreprocessedEntity with ReadPreprocessedEntityArgyrios Kyrtzidis
and don't store the ID for each preprocessed entity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140208 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[libclang] When pointing at a macro expansion inside a macro argument,Argyrios Kyrtzidis
return a cursor for the inner macro. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140207 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Remove SourceRange member from ↵Anna Zaks
PathDiagnosticLocation - FullSourceLoc Loc and PathDiagnosticRange Range are sufficient. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140206 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Add comments. Remove the last ↵Anna Zaks
constructor which could allow invalid locations to slip in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140200 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Remove dead code. (This code is trying to implement the idea that ↵Anna Zaks
PathDiagnosticClient could implement DiagnosticClient and has been dead for a while). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140198 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20In SourceManager::translateLineCol, handle the case where we are pointingArgyrios Kyrtzidis
directly at the end of the source file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140192 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Remove PreprocessingDirectiveKind since it's not necessary.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140191 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20The location of the name in MacroDefinition is the beginning of its range,Argyrios Kyrtzidis
don't store an extra location for it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140190 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Move Microsoft access specifier bug emulation from -fms-extensions to ↵Francois Pichet
-fm-compatibility. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140189 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20For i386 kext fallback to llvm-gcc, search paths for several Darwin versions.Bob Wilson
This replaces the hack to read UNAME_RELEASE from the environment when identifying the OS version on Darwin, and it's more flexible. It's also horribly ugly, but at least this consolidates the ugliness to touch less of the code so that it will be easier to rip out later. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140187 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Make ↵Anna Zaks
PathDiagnosticLocation(SourceLocation...) private. Most of the effort here goes to making BugReport refer to a PathDiagnosticLocation instead of FullSourceLocation. (Another step closer to the goal of having Diagnostics which can recover from invalid SourceLocations.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140182 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Use the pre-computed Range and ↵Anna Zaks
Location for profile. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140180 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[driver] Default to arm mode when using the integrated assembler.Chad Rosier
rdar://10125227 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140179 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Fix a problem in digraph handling where "[:" might be treated as "<::" andRichard Trieu
erronously trigger the digraph correction fix-it. Include a new test to catch this in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140175 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Define Mips64 TargetInfo classes.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140174 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Sort exports list.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140171 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Clean up TargetInfo class hierarchy. Define a base class from which TargetInfosAkira Hatanaka
of Mips32 big and little endian derive. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140170 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Create a MipsTargetCodeGenInfo object for mips64/mips64el. The size of theAkira Hatanaka
UnwindException structure is 32 for mips64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140165 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Use PointerUnion of ↵Anna Zaks
LocationContext and AnalysisContext to support creation of PathDiagnosticLocations for checkers which no context sensitivity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140162 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Add a parameter to MipsTargetCodeGenInfo's constructor.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140161 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Introduce an egregious hack for modules to cope with headers that comeDouglas Gregor
from unfriendly (== not at all modularized) directories. This is temporary, and it only affects module construction until I'll figured out how to deal with system headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Remove __WCHAR_UNSIGNED__ and anything that used it.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140155 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Test commitDeLesley Hutchins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140149 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Lazily query LocationContext for ↵Anna Zaks
a ParentMap as needed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140147 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Remove LocationContext and a dependency from PathDiagnosticLoaction.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140146 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Clarify PNaCl target characteristics: set LongDoubleWidth, PtrDiffType, ↵Ivan Krasin
IntPtrType, change __builtin_va_list to from a structure to int[4] (same alignment and size, but with a simpler representation). Patch by David Meyer! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140144 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Remove redundant break statements, and replace asserts with llvm_unreachablePeter Collingbourne
Per John's review comments for r140068. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Fix a crash-on-invalid with bad CV-qualification on 'this' in theJohn McCall
presence of an implicit move assignment operator. I think the implicit copy assignment operator case was also wrong, but just in a "displaying the wrong diagnostic" way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140139 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Fix a pretty nasty bug in noreturn destructors that cascaded into lotsChandler Carruth
of false positive warnings that depend on noreturn destructors pruning the CFGs, but only in C++0x mode! This was really surprising as the debugger quickly reveals that the attributes are parsed correctly (and using the same code) in both modes. The warning fires in the same way in both modes. But between parsing and building the destructor declaration with the noreturn attribute and the warning, it magically disappears. The key? The 'noexcept' appears! When we were rebuilding the destructor type with the computed implicit noexcept we completely dropped the old type on the floor. This almost makes sense (as the arguments and return type to a destructor aren't exactly unpredictable), but lost any function type attributes as well. The fix is simple, we build the new type off of the old one rather than starting fresh. Testing this is a bit awkward. I've done it by running the noreturn-sensitive tests in both modes, which previous failed and now passes, but if anyone has ideas about how to more specifically and thoroughly test that the extended info on a destructor is preserved when adding noexcept, I'm all ears. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140138 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Refactor PathDiagnosticLocation: Pre-compute Range and Location ↵Anna Zaks
with gen methods on object creation instead of computing on demand. This would allow to remove dependency on the other members which help with construction and might not even be valid at later stages (to be removed later on). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140131 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20[analyzer] Use more create methods in the PathDiagnostic, cleanup.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140130 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-20Don't assume that the clause is a GlobalVariable. It could be a constant.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140123 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19[analyzer] BugReport has a profile method, so reuse it here.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140100 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19[analyzer] Add a convinience method.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140092 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19[analyzer] Constify a method.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140091 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Add list initialization for complex numbers in C. Essentially, this allows ↵Eli Friedman
"_Complex float x = {1.0f, 2.0f};". See changes to docs/LanguageExtensions.html for a longer description. <rdar://problem/9397672>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140090 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19The eh.selector intrinsic isn't used anymore. Replace the check here with aBill Wendling
check for the landingpad instruction instead. This check looks at each of the clauses in the landingpad instruction. If it's a catch clause, it compares the name directly with the global. If it's a filter clause, it has to look through each value in the filer to see if any have the prefix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140075 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Fix gcc build.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140073 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19OpenCL: introduce support for function scope __local variablesPeter Collingbourne
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140068 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19[PCH] The range map for SLoc offsets is a reversed one, not negated.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140066 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19In libclang, when visiting preprocessed entities in a source range, useArgyrios Kyrtzidis
PreprocessingRecord's getPreprocessedEntitiesInRange. Also remove all the stuff that were added in ASTUnit that are unnecessary now that we do a binary search for preprocessed entities and deserialize only what is necessary. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140063 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Introduce local_begin()/local_end() methods in PreprocessingRecord whichArgyrios Kyrtzidis
return iterators for local, non-loaded, preprocessed entities. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140062 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19In CodeGenAction::ExecuteAction() use SourceManager::translateFileLineCol()Argyrios Kyrtzidis
instead of getLocation() since we don't care about expanded macro arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140061 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19[libclang] When getting a source location from a file:line:col tripletArgyrios Kyrtzidis
check whether the requested location points inside the precompiled preamble, in which case the returned source location will be a "loaded" one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140060 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Break SourceManager::translateFileLineCol into translateLineCol that returns theArgyrios Kyrtzidis
source location of line:col of a specific FileID. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140059 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Introduce PreprocessingRecord::getPreprocessedEntitiesInRange()Argyrios Kyrtzidis
which will do a binary search and return a pair of iterators for preprocessed entities in the given source range. Source ranges of preprocessed entities are stored twice currently in the PCH/Module file but this will be fixed in a subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140058 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Rename SourceLocation::getFileLocWithOffset -> getLocWithOffset.Argyrios Kyrtzidis
It already works (and is useful with) macro locs as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140057 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Make ASTReader/ASTWriter friends of SourceLocation. They alreadyArgyrios Kyrtzidis
depend on internal knowledge of SourceLocation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140056 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Introduce isLoadedSourceLocation() and isLocalSourceLocation() methods in ↵Argyrios Kyrtzidis
SourceManager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140055 91177308-0d34-0410-b5e6-96231b3b80d8