aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2012-12-21Extend checkUnsafeAssigns() to also handle assigning an object literal to a ↵Ted Kremenek
weak reference. Thanks to Jordan Rose and John McCall for their sage code review. Fixes <rdar://problem/12569201>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170864 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21Reinstate r170806, reverted in r170835, with a fix use i1 instead of i8 for ↵Richard Smith
a value-initialized bool! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170837 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21Revert r170806, "Fix some bugs where we would sometimes use 0, not -1, when ↵NAKAMURA Takumi
emitting a null constant of type pointer-to-data-member." It broke stage2. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170835 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21[libclang] Follow-up to r170824, provide the correct number of arguments forArgyrios Kyrtzidis
a not-fully-formed macro invocation during code-completion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170833 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21Revert r170826. The output ofRafael Espindola
./bin/clang -cc1 -internal-isystem /home/espindola/llvm/build/lib/clang/3.3/include/ -analyze -analyzer-checker=debug.DumpCallGraph /home/espindola/llvm/clang/test/Analysis/debug-CallGraph.c -fblocks changes in each run. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170829 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21Don't eagerly emit a global static merged with a local extern.Rafael Espindola
When we are visiting the extern declaration of 'i' in static int i = 99; int foo() { extern int i; return i; } We should not try to handle it as if it was an function static. That is, we must consider the written storage class. Fixing this then exposes that the assert in EmitGlobalVarDeclLValue and the if leading to its call are not completely accurate. They were passing before because the second decl was marked as having external storage. I changed them to check the linkage, which I find easier to understand. Last but not least, there is something strange going on with cuda and opencl. My guess is that the linkage computation for these languages needs to be audited, but I didn't want to change that in this patch so I just updated the storage classes to keep the current behavior. Thanks to Reed Kotler for reporting this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170827 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21[analyzer] Traverse the Call Graph in topological order.Anna Zaks
Modify the call graph by removing the parentless nodes. Instead all nodes are children of root to ensure they are all reachable. Remove the tracking of nodes that are "top level" or global. This information is not used and can be obtained from the Decls stored inside CallGraphNodes. Instead of existing ordering hacks, analyze the functions in topological order over the Call Graph. Together with the addition of devirtualizable ObjC message sends and blocks to the call graph, this gives around 6% performance improvement on several large ObjC benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170826 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-21[libclang] Make sure we can code-complete inside a macro argument even thoughArgyrios Kyrtzidis
the macro invocation is not fully formed. rdar://11290992 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170824 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Fix some bugs where we would sometimes use 0, not -1, when emitting a null ↵Richard Smith
constant of type pointer-to-data-member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170806 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Revert "Warn if a __weak variable is initialized with an Objective-C object ↵Ted Kremenek
literal." Per code feedback, I want to see if there is a more general way to do this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170777 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Use some heuristics so that when a fixit removes a source range, we tryArgyrios Kyrtzidis
to also remove a trailing space if possible. For example, removing '__bridge' from: i = (__bridge I*)p; should result in: i = (I*)p; not: i = ( I*)p; rdar://11314821 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170764 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Warn if a __weak variable is initialized with an Objective-C object literal.Ted Kremenek
Such variables may immediately become nil or may have unpredictable behavior. Fixes <rdar://problem/12569201>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170763 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Add objective-C style formatting to clang format andFariborz Jahanian
use it to format xml declaration tags. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170727 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Update RetainCountChecker to understand attribute ns_returns_autoreleased.Ted Kremenek
Fixes <rdar://problem/12887356>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170724 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Add __has_feature(memory_sanitizer).Evgeniy Stepanov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170686 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20clang/test/Driver/warning-options.cpp: Appease MSYS bash.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170683 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20clang/test/Misc/ast-dump-decl.c: Add triple. __thread is not supported on ↵NAKAMURA Takumi
all targets. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170645 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Robustify the @encode code and add support for _Atomic.John McCall
Fixes PR14628. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170639 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Fix code that attempted to produce a diagnostic with one DiagnosticEngine, thenRichard Smith
produce a note for that diagnostic either with a different DiagnosticEngine or after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the wrong thing if the original diagnostic was suppressed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170636 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-20Implement AST dumper for Decls.Alexander Kornienko
http://llvm-reviews.chandlerc.com/D52 Patch by Philip Craig! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170634 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19[preprocessor] When "merging" macro argument tokens into one SLocEntry chunk,Argyrios Kyrtzidis
make sure they came from the same kind of FileIDs. Thanks to Abramo Bagnara for providing the test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170616 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Typo.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170613 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19[driver] Have -isysroot warn on nonexistent paths.Chad Rosier
rdar://12282267 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170611 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19[PCH/Modules] In ASTReader::completeVisibleDeclsMap, make sure to visit allArgyrios Kyrtzidis
modules when getting the decls for a namespace or translation unit. Otherwise the code-completion results will not be complete. rdar://12889089 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170596 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19objective-C: Don't warn of unimplemented property of protocols in Fariborz Jahanian
category, when those properties will be implemented in category's primary class or one of its super classes. // rdar://12568064 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170573 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Change test to dump Filecheck output to an intermediate file. This makes it ↵Ted Kremenek
easier to update this test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170570 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Fix PR14591: Windows newlines in doxygen comments cause failed assertion inDmitri Gribenko
TextDiagnostic Patch by Janusz Chorko. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170566 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Attempt to clarify a vexing-parse diagnostic.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170492 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Fix assertion failure in self-host (and probably bogus template instantiationRichard Smith
too). When instantiating a direct-initializer, if we find it has zero arguments, produce an empty ParenListExpr rather than returning a null expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170490 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19PR13470: Ensure that copy-list-initialization isntantiates asRichard Smith
copy-list-initialization (and doesn't add an additional copy step): Fill in the ListInitialization bit when creating a CXXConstructExpr. Use it when instantiating initializers in order to correctly handle instantiation of copy-list-initialization. Teach TreeTransform that function arguments are initializations, and so need this special treatment too. Finally, remove some hacks which were working around SubstInitializer's shortcomings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170489 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19test/Index/preamble_macro_template.cpp: Suppress this probably due to ↵NAKAMURA Takumi
Lit/win32 issue. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170484 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-19Make sure CodeGen uses a value of the correct type as the result ofEli Friedman
of assignment to a bool bitfield. PR14638. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170480 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Fix a crash in diagnostic printing when a template class type is diff'edEli Friedman
against itself. PR14489. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170474 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Fix the fvectorize testcaseNadav Rotem
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170469 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Have clang_getSpellingLocation() use the same logic as DiagnosticRenderer ↵Ted Kremenek
for plowing through macros. This fixes a subtle bug reported in <rdar://problem/12584554> where a double-nested macro could lead to an incorrect fixit location with live issues. This fix also uncovers a bunch of subtle bugs in our indexer test cases which are now fixed (mostly around source ranges for attributes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170468 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18This is the libclang patch providing minimal API toFariborz Jahanian
use clang's formatter. Currently, formatter is used to format declaration tags for xml comments. Since formatter is in flux and its change will break several of the clang comment tests, only a single tests is formatted using this facility. Doug has reviewed and approved it for check-in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170467 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Add tests to check recent changes to some builtins.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170458 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18CodeGen: Expand creal and cimag into complex field loadsMeador Inge
PR 14529 was opened because neither Clang or LLVM was expanding calls to creal* or cimag* into instructions that just load the respective complex field. After some discussion, it was not considered realistic to do this in LLVM because of the platform specific way complex types are expanded. Thus a way to solve this in Clang was pursued. GCC does a similar expansion. This patch adds the feature to Clang by making the creal* and cimag* functions library builtins and modifying the builtin code generator to look for the new builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170455 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Re-commit r170428 changes with Linux style file endings.Guy Benyei
Add OpenCL images as clang builtin types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170432 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Revert changes from r170428, as I accidentally changed the line endings of ↵Guy Benyei
these files to Windows style. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170431 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Add OpenCL images as clang builtin types.Guy Benyei
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170428 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18test/Misc/dev-fd-fs.c: Mark this as XFAIL:freebsd (since r169831).NAKAMURA Takumi
I don't want to suppress this to be excluded with the feature "dev-fd-fs". This should work also on freebsd. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170411 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Merge storage classes even when contexts don't match.Rafael Espindola
This fixes the storage class of extern decls that are merged with file level statics. The patch also fixes the linkage computation so that they are considered internal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170406 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Now that the uninitialized variable has been fixed in llvm, add this test back,Rafael Espindola
but remove unneeded options and fix the comment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170405 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18The underlying type for an enum should be an integer type, not another enum.Eli Friedman
(This change only affects ObjC.) <rdar://problem/12857117>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170402 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18When warning about a missing prototype because a function declaration is ↵Anders Carlsson
missing 'void', insert a fixit to add the void. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170399 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18More conservative fix for <rdar://problem/12847524> (a crash printing ↵Eli Friedman
diagnostic ranges). I'm not really happy with this fix, but I'm confident it's correct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170397 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Add support for passing the main file name down to the assemblerEric Christopher
for location information. Part of PR14624 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170391 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-18Rein ubsan's vptr sanitizer back a bit. Per core issue 453, binding a referenceRichard Smith
to an object outside its lifetime does not have undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170387 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17Fix isThisDeclarationADefinition for extern following tentative.Rafael Espindola
An extern declaration following a tentative definition should not itself be considered a tentative definition. Fixes pr14614. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170377 91177308-0d34-0410-b5e6-96231b3b80d8