aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-01-18Once we've collected the template arguments for aDouglas Gregor
partially-substituted parameter pack in a template, forget about the partially-substituted parameter pack: it is now completed. Fixes <rdar://problem/12176336>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172859 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Thread-safety analysis: ignore edges from throw expressions in CFG.DeLesley Hutchins
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172858 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Include ubsan runtime even when building a shared library. We don't require ↵Richard Smith
the executable to be linked with UBSan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172856 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18[mips] Enable inlining of atomic ops on mips32 and mips64.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172855 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Fix parsing of class specifiers before '\n' 'operator'.Nico Weber
r159549 / r159164 regressed clang to reject struct s {}; struct s operator++(struct s a) { return a; } This fixes the regression. Richard, pleas check if this looks right. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172834 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18[analyzer] Special path notes for C++ special member functions.Jordan Rose
Examples: Calling implicit default constructor for Foo Calling defaulted move constructor for Foo Calling copy constructor for Foo Calling implicit destructor for Foo Calling defaulted move assignment operator for Foo Calling copy assignment operator for Foo git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172833 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18[analyzer] Do a better job describing C++ member functions in the call stack.Jordan Rose
Examples: Calling constructor for 'Foo' Entered call from 'Foo::create' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172832 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18clang/test/CodeGen: Suppress a couple of tests on win32. It seems ↵NAKAMURA Takumi
-fsanitize-blacklist doesn't accept DOSish pathnames. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172820 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18[ubsan] Add support for -fsanitize-blacklistWill Dietz
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172808 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Reduce penalty for splitting between ")" and ".".Daniel Jasper
').' is likely part of a builder pattern statement. This is based upon a patch developed by Nico Weber. Thank you! Before: int foo() { return llvm::StringSwitch<Reference::Kind>(name).StartsWith( ".eh_frame_hdr", ORDER_EH_FRAMEHDR).StartsWith( ".eh_frame", ORDER_EH_FRAME).StartsWith(".init", ORDER_INIT).StartsWith( ".fini", ORDER_FINI).StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT); } After: int foo() { return llvm::StringSwitch<Reference::Kind>(name) .StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR) .StartsWith(".eh_frame", ORDER_EH_FRAME) .StartsWith(".init", ORDER_INIT).StartsWith(".fini", ORDER_FINI) .StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT); } Probably not ideal, but makes many cases much more readable. The changes to overriding-ftemplate-comments.cpp don't seem better or worse. We should address those soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172804 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18Revert Clang r172620 and r172629, which caused a hang when buildingDouglas Gregor
complicated modules (<rdar://problem/13038265>). Unfortunately, this un-fixes <rdar://problem/13016031>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172783 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18When checking the parameter types of an Objective-C method, don'tDouglas Gregor
decay the parameter type immediately; let CheckParameter() do its job. Fixes <rdar://problem/12071218>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172780 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-18[ms-inline asm] Test case for r172773.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172774 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17One can override an Objective-C ARC ownership qualifier that came fromDouglas Gregor
a template parameter; make that also include one that came from 'auto'. Fixes <rdar://problem/12078752>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172770 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Some builtins do not evaluate their arguments. Teach EvaluatedExprVisitor notRichard Smith
to visit them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172769 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17In Objective-C ARC, completely ignore ownership qualifiers on theDouglas Gregor
return type of a function by canonicalizing them away. They are useless anyway, and conflict with our rules for template argument deduction and __strong. Fixes <rdar://problem/12367446>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172768 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17[analyzer] DirectIvarAssignment: allow suppression annotation on Ivars.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172766 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Format strings: don't ever convert %+d to %lu.Jordan Rose
Presumably, if the printf format has the sign explicitly requested, the user wants to treat the data as signed. This is a fix-up for r172739, and also includes several test changes that didn't make it into that commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172762 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Parsing support for C11's _Noreturn keyword. No semantics yet.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172761 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17-Wunsequenced: if the LHS of an &&, || or ?: is not constant, check forRichard Smith
unsequenced operations in the RHS. We don't compare the RHS with the rest of the expression yet; such checks will need care to avoid diagnosing unsequenced operations which are both in conditionally-evaluated subexpressions which actually can't occur together, such as in '(b && ++x) + (!b && ++x)'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172760 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17We want the dwarf AT_producer for assembly source files to match clang'sKevin Enderby
AT_producer. Which includes clang's version information so we can tell which version of the compiler was used. This is second of the two steps to allow us to do this. The first was a change to llvm-mc with revision 172630 to provide a method to set the AT_producer string. This second step has the clang driver passing the value of getClangFullVersion() via the new flag -dwarf-debug-producer when invoking the integrated assembler on assembly source files. Then using the new setDwarfDebugProducer() method to set the AT_producer string. rdar://12888242 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172758 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Do not pass -pie flag to linker if -shared specified. This matchesPeter Collingbourne
the gcc driver and makes it possible to add -pie to $CC or similar and have it apply in the right places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172753 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17[ms-inline asm] Updates and test case for r172743.Chad Rosier
Part of rdar://12576868 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172744 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Format strings: correct signedness if already correcting width (%d,%u).Jordan Rose
It is valid to do this: printf("%u", (int)x); But if we see this: printf("%lu", (int)x); ...our fixit should suggest %d, not %u. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172739 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Convert test/FixIt/format-darwin.m to use relative line numbers.Jordan Rose
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172738 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Add some semantic checks for OpenCL. Variadic macros, VLAs and bitfields are ↵Joey Gouly
not supported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172732 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Add initial rough support for synthesizing linker options when passedChandler Carruth
-fopenmp in the link step on Linux. There is probably more tweaking that will need to take place to get good support for linking the relevant libraries on all Linux distributions and/or on other platforms, but this get's the ball moving and allows Clang to build programs which contain OpenMP pragmas that can be safely ignored by a compiler that doesn't implement them, and yet makes direct calls into the OpenMP runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172715 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Improve -Wreorder to handle cases of anonymous class member orderingDavid Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172707 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17clang/test/Index/code-completion-skip-bodies.cpp: Check stdout and stderr ↵NAKAMURA Takumi
individually, rather than mixed output of stdout and stderr with 2>&1. XFAIL(s) are removed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172705 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Add test for PR12938, fixed by Richard Smith in r172691David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172697 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Suppress all -Wunused-value warnings from macro body expansions.Matt Beaumont-Gay
This is inspired by a number of false positives in real code, including PR14968. I've added test cases reduced from these false positives to test/Sema/unused-expr.c, as well as corresponding test cases that pass the offending expressions as arguments to a no-op macro to ensure that we do warn there. This also removes my previous tweak from r166522/r166534, so that we warn on unused cast expressions in macro arguments. There were several test cases that were using -Wunused-value to test general diagnostic emission features; I changed those to use other warnings or warn on a macro argument expression. I stared at the test case for PR14399 for a while with Richard Smith and we believe the new test case exercises the same codepaths as before. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172696 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Add a comment for DanielDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172695 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Test that we correctly handle reversion of line splicing etc in raw stringRichard Smith
literals. As suggested by Sean Silva. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172694 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17[IRgen] Update modules autolink metadata to use module flags (as now specifiedDaniel Dunbar
in the LangRef). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172692 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Implement C++11 semantics for [[noreturn]] attribute. This required splittingRichard Smith
it apart from [[gnu::noreturn]] / __attribute__((noreturn)), since their semantics are not equivalent (for instance, we treat [[gnu::noreturn]] as affecting the function type, whereas [[noreturn]] does not). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172691 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Add -Wunsequenced (with compatibility alias -Wsequence-point) to warn onRichard Smith
expressions which have undefined behavior due to multiple unsequenced modifications or an unsequenced modification and use of a variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172690 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17clang/test/Modules/compiler_builtins.m: Mark this as XFAIL:win32 for now. ↵NAKAMURA Takumi
Investigating. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172689 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Treat hidden Objective-C protocol definitions as if they wereDouglas Gregor
undefined, and don't find methods or protocols within those protocol definitions. This completes <rdar://problem/10634711>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172686 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17Implement a fixit for -Wmain-return-typeDmitri Gribenko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172684 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-17objC block layout: Patch reorders block layout to Fariborz Jahanian
produce more inline layout metadata. // rdar://12752901 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172683 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16[objcmt] Rewrite a NSDictionary dictionaryWithObjects:forKeys: to a ↵Argyrios Kyrtzidis
dictionary literal if we can see the elements of the arrays. for example: NSDictionary *dict = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"1", @"2", nil] forKeys:[NSArray arrayWithObjects:@"A", @"B", nil]]; --> NSDictionary *dict = @{ @"A" : @"1", @"B" : @"2" }; rdar://12428166 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172679 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Delay linkage checks when validating the weakref attribute.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172678 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Fixes crash when illegal function definitions are deleted or defaulted. ↵Aaron Ballman
Fixes PR14577. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172676 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Check for internal weak decls after merging.Rafael Espindola
This fixes pr14946. The problem was that the linkage computation was done too early, so things like "extern int a;" would be given external linkage, even if a previous declaration was static. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172667 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Rework the traversal of Objective-C categories and extensions toDouglas Gregor
consider (sub)module visibility. The bulk of this change replaces myriad hand-rolled loops over the linked list of Objective-C categories/extensions attached to an interface declaration with loops using one of the four new category iterator kinds: visible_categories_iterator: Iterates over all visible categories and extensions, hiding any that have their "hidden" bit set. This is by far the most commonly used iterator. known_categories_iterator: Iterates over all categories and extensions, ignoring the "hidden" bit. This tends to be used for redeclaration-like traversals. visible_extensions_iterator: Iterates over all visible extensions, hiding any that have their "hidden" bit set. known_extensions_iterator: Iterates over all extensions, whether they are visible to normal name lookup or not. The effect of this change is that any uses of the visible_ iterators will respect module-import visibility. See the new tests for examples. Note that the old accessors for categories and extensions are gone; there are *Raw() forms for some of them, for those (few) areas of the compiler that have to manipulate the linked list of categories directly. This is generally discouraged. Part two of <rdar://problem/10634711>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172665 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Add raw string literal versus C preprocessor test, suggested by James Dennett.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172660 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Fix recent test for more diverse environments.Tim Northover
I think the main issue was the lack of -ffreestanding, which pulled in the host's stdint.h. After that things went rapidly downhill. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172653 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Correct order of operands forwarding NEON vfma to LLVM fmaTim Northover
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172650 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16Add testcase missed yesterday. Patch from Paul Robinson.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172648 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-16No longer crashing with an assert when __has_include or __has_include_next ↵Aaron Ballman
is used outside of a preprocessor directive. This fixes PR14837. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172639 91177308-0d34-0410-b5e6-96231b3b80d8