aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-02-02Sentenc-ify comment added in r174206.David Blaikie
Based on post-commit review by Paul Robinson. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174248 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02Generalize DebugInfo tests by avoiding explicit metadata numbersDavid Blaikie
This addresses several (not all) debug info tests that use explicit metadata numbers. Wherever the same number appeared more than once in a test I used a named match to ensure the same number appeared in all those cases (this may still be overly constraining test cases as they may not have actually cared about that relationship). For one-off numbers I just replaced them with an unnamed regex. This may underconstrain poorly written test cases that were interested in checking that certain metadata nodes were related but didn't actually match on all the related nodes numbers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174247 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02BasicsDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174246 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02[analyzer] Always inline functions with bodies generated by BodyFarm.Anna Zaks
Inlining these functions is essential for correctness. We often have cases where we do not inline calls. For example, the shallow mode and when reanalyzing previously inlined ObjC methods as top level. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174245 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02[analyzer] Print Inline mode with -analyzer-display-progress.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174244 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02[analyzer] Fix typo.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174243 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02This patch makes "&Cls::purevfn" not an odr use. This isn't what the standardNick Lewycky
says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use. Also fixes a bug that caused us to not mark the function referenced just because we didn't want to mark it odr used. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174242 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-02libclang: introduce cxstring::{createRef,createDup} for C stringsDmitri Gribenko
Also migrate all clients from the old API. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174238 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Merge "special" types from different modules in the AST reader.Douglas Gregor
Different modules may have different views of the various "special" types in the AST, such as the redefinition type for "id". Merge those types rather than only considering the redefinition types for the first AST file loaded. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174234 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01clang/test/CodeGenCXX/debug-info-class.cpp: Fixup for -Asserts.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174229 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Const'ify Preprocessor::getPredefinesFileID.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174218 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Unbreak Makefile build after r174216Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174217 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Comment parsing: improve the fidelity of XML output for many block commandsDmitri Gribenko
This change introduces a 'kind' attribute for the <Para> tag, that captures the kind of the parent block command. For example: \todo Meow. used to be just <Para>Meow.</Para>, but now it is <Para kind="todo">Meow.</Para> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174216 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Add some missing PPC cpusBill Schmidt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174215 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01objc: Provide correct fixit instruction when two mismatchedFariborz Jahanian
nsstringis are compared without. // rdar://12716301 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174214 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01[analyzer] Explain why we have system-header-simulator*.h files.Jordan Rose
Suggested by Csaba. Text based on an e-mail of mine on cfe-dev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174213 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Re-apply "[analyzer] Model trivial copy/move ctors with an aggregate bind."Jordan Rose
With the optimization in the previous commit, this should be safe again. Originally applied in r173951, then reverted in r174069. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174212 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01[analyzer] Reuse a LazyCompoundVal if its type matches the new region.Jordan Rose
This allows us to keep from chaining LazyCompoundVals in cases like this: CGRect r = CGRectMake(0, 0, 640, 480); CGRect r2 = r; CGRect r3 = r2; Previously we only made this optimization if the struct did not begin with an aggregate member, to make sure that we weren't picking up an LCV for the first field of the struct. But since LazyCompoundVals are typed, we can make that inference directly by comparing types. This is a pure optimization; the test changes are to guard against possible future regressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174211 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix exception handling line table problems introduced by r173593David Blaikie
r173593 made us a little too eager to associate all code at the end of a function with the user-written 'return' line. This caused problems with breakpoints as they'd be set in exception handling code preceeding the actual non-exception return handling code, leading to the breakpoint never being hit in non-exceptional execution. This change restores the pre-r173593 exception handling line information where the cleanup code is associated with the '}' not the return line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174206 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Add -mqpx and -mno-qpx feature flags to toggle use of the PPC QPX vector ↵Hal Finkel
instruction set I've renamed the altivec test to ppc-features (because now there is more than one feature to test). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174204 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01[driver] Don't try to generate diagnostic information for dsymutil crashes.Chad Rosier
Part of rdar://13134273 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174203 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Micro change: moved '{' for better readability (+don't confuse ↵Alexander Kornienko
-Wimplicit-fallthrough) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174202 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix indentDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174201 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix comments: these are not trailing commentsDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174197 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01libclang: document the purpose of createNull()Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174195 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01libclang: add comments for CXStringFlagDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174194 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01[modules] Introduce ModuleFile::DirectImportLoc which is the source locationArgyrios Kyrtzidis
where the module was explicitly or implicitly imported in the local translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174192 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01For ModuleLoader::makeModuleVisible() also pass the source location where theArgyrios Kyrtzidis
module import occurred. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174191 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Introduce SourceManager::PredefinesFileID, to allow each checking of whetherArgyrios Kyrtzidis
a source location came from the predefines buffer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174190 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Add check for @fooBill Schmidt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174185 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix a string not seen without assertsBill Schmidt
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174183 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fixed segmentation fault when a CFGBlock has NULL successor.Alexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174182 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix PR14881 by implementing conversion rules between int and complex int.Bill Schmidt
Prior to the patch, Clang does not properly promote types when a complex integer operand is combined with an integer via a binary operator, or when one is assigned to the other in either order. This patch detects when promotion is needed (and permissible) and generates the necessary code. The test assmes no target has the same size operands for "char" and "long long," and that no target performs arithmetic on char operands without extending them to a larger format first. If there are any targets for which this is not the case, they should be XFAILed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174181 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Revise unit testing for -fno-altivec, -mno-altivec.Bill Schmidt
As suggested, reverted the end-to-end test and added variations to an existing Driver test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174176 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01libclang: itroduce cxstring::createEmpty()Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174174 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01libclang: introduce cxstring::createNull()Dmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174173 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Re-design the convenience interfaces on MatchFinder.Manuel Klimek
First, this implements a match() method on MatchFinder; this allows us to get rid of the findAll implementation, as findAll is really a special case of recursive matchers on match. Instead of findAll, provide a convenience function match() that lets users iterate easily over the results instead of needing to implement callbacks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174172 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Use const visitors in ASTDumper.Alexander Kornienko
http://llvm-reviews.chandlerc.com/D355 Patch by Philip Craig! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174171 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Hopefully fix windows build due to non-standard pair implementation.Daniel Jasper
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174169 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Revamp of the basic layouting algorithm in clang-format.Daniel Jasper
In order to end up with good solutions, clang-format needs to try "all" combinations of line breaks, evaluate them and select the best one. Before, we have done this using a DFS with memoization and cut-off conditions. However, this approach is very limited as shown by the huge static initializer in the attachment of llvm.org/PR14959. Instead, this new implementation uses a variant of Dijkstra's algorithm to do a prioritized BFS over the solution space. Some numbers: lib/Format/TokenAnnotator.cpp: 1.5s -> 0.15s Attachment of PR14959: 10min+ (didn't finish) -> 10s No functional changes intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174166 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Fix diagnostic for bad alignas use: it can't be applied to functions.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174160 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Add a new -Wundefined-inline warning for inline functions which are used but notNick Lewycky
defined. Fixes PR14993! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174158 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Implement [dcl.align]p5 and C11 6.7.5/4: alignas cannot underalign.Richard Smith
Also support alignas(0), which C++11 and C11 require us to ignore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174157 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Add PPC A2Q core and BG/Q preprocessor definitionsHal Finkel
The a2q core is the variant of the a2 core used on the BG/Q supercomputers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174151 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Destroy arrays and ARC fields when throwing out of ctors.John McCall
Previously we were only handling non-array fields of class type. Testcases derived from a patch by WenHan Gu. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174146 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Don't do delayed exception-specification checking on an invalidDouglas Gregor
class. Fixes <rdar://problem/13017229>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174145 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Enable -fno-altivec, -mno-altivec for PowerPC.Bill Schmidt
Introduces these negation forms explicitly and uses them to control a new "altivec" target feature for PowerPC. This allows avoiding generating Altivec instructions on processors that support Altivec. The new test case verifies that the Altivec "lvx" instruction is not used when -fno-altivec is present on the command line. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174140 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01[Sema][Attr]Fix alignment attribute printing.Michael Han
Remove "IsMSDeclspec" argument from Align attribute since the arguments in Attr.td should only model those appear in source code. Introduce attribute Accessor, and teach TableGen to generate syntax kind accessors for Align attribute, and use those accessors to decide if an alignment attribute is a declspec attribute. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174133 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01Consistently format sample diagnostics on this page.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174126 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-01clang/test/Index/headerfile-comment-to-html.m: Try to unbreak libxml2-less ↵NAKAMURA Takumi
hosts to eliminate "CommentXMLValid". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174124 91177308-0d34-0410-b5e6-96231b3b80d8