summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Don't test for ASM output but for IR output.Bill Wendling2012-12-041-9/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169232 91177308-0d34-0410-b5e6-96231b3b80d8
* clang/test/CodeGenCXX/debug-info-zero-length-arrays.cpp: Add explicit ↵NAKAMURA Takumi2012-12-041-1/+1
| | | | | | triple, x86_64-unknown-unknown. It was incompatible to i686. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169220 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a 'count' field to the DWARF subrange.Bill Wendling2012-12-042-1/+17
| | | | | | | | | | The count field is necessary because there isn't a difference between the 'lo' and 'hi' attributes for a one-element array and a zero-element array. When the count is '0', we know that this is a zero-element array. When it's >=1, then it's a normal constant sized array. When it's -1, then the array is unbounded. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169219 91177308-0d34-0410-b5e6-96231b3b80d8
* clang/test/Index/comment-objc-decls.m: Try to fix r169193, to add x86_64-darwin.NAKAMURA Takumi2012-12-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169199 91177308-0d34-0410-b5e6-96231b3b80d8
* Testing objective-C declarations embedded inFariborz Jahanian2012-12-041-0/+160
| | | | | | | | | <declaration> tag of Comment XML and fixed a missing declaration of ivars private to @implementation as result of the testing. // rdar://12378714 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169193 91177308-0d34-0410-b5e6-96231b3b80d8
* Have clang use LLVM IR's fast-math flags when in FastMath or FiniteMathOnly ↵Michael Ilseman2012-12-042-0/+26
| | | | | | modes. Test cases included. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169191 91177308-0d34-0410-b5e6-96231b3b80d8
* clang/test/Driver/fsanitize-blacklist.c: Mark it as XFAIL:cygming, due to ↵NAKAMURA Takumi2012-12-031-0/+3
| | | | | | PR12920. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169180 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Clang flags -fsanitize-blacklist and -fno-sanitize-blacklist. Make this ↵Alexey Samsonov2012-12-031-0/+15
| | | | | | flag usable for ASan. Blacklisting can be used to disable sanitizer checks for particular file/function/object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169144 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR14474: don't emit debug info for interface types in -gline-tables-only ↵Alexey Samsonov2012-12-031-0/+25
| | | | | | mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169138 91177308-0d34-0410-b5e6-96231b3b80d8
* [ubsan] Add flag to enable recovery from checks when possible.Will Dietz2012-12-023-19/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169114 91177308-0d34-0410-b5e6-96231b3b80d8
* [MIPS] Add -mxgot/-mno-xgot command line optionsSimon Atanasyan2012-12-011-0/+12
| | | | | | | to enable/disable support of GOT larger than 64k. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169098 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a test that was redefining FileCheck variables while referencing old ones.Eli Bendersky2012-12-011-4/+4
| | | | | | | In preparation for the FileCheck enhancement to support backreferences. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169090 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using -### as mentioned by chandlerc.Joey Gouly2012-12-011-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169089 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -emit-llvm to test/Driver/fsanitize.c to stop this failing on the ARM ↵Joey Gouly2012-12-011-8/+8
| | | | | | bot. Approved by d0k. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169088 91177308-0d34-0410-b5e6-96231b3b80d8
* Try to make the source location information for token pastes a bit more ↵Eli Friedman2012-12-011-17/+45
| | | | | | | | | | | consistent. Fixes a crash printing diagnostics on the gcc testsuite, and also makes diagnostic range printing print nicer results for token pastes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169068 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove restriction on combining ubsan with asan or tsan. This has worked for ↵Richard Smith2012-12-011-4/+4
| | | | | | a while. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169066 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the determination of whether a capture refers to an enclosingDouglas Gregor2012-12-011-1/+12
| | | | | | | scope when dealing with nested blocks. Fixes <rdar://problem/12778708>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169065 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't emit a warning with an input/output parameter. We assume the user ↵Bill Wendling2012-11-301-0/+4
| | | | | | knows what they're doing here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169059 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix test for Windows path separatorsDouglas Gregor2012-11-301-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169058 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the serialized diagnostic writer to clone() itself, sharingDouglas Gregor2012-11-301-0/+12
| | | | | | | | | | | state so that all of the various clones end up rendering their diagnostics into the same serialized-diagnostics file. This is important when we actually want failures during module build to be reported back to the translation unit that tried to import the not-yet-built or out-of-date module. <rdar://problem/12565727> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169057 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't warn if the input size is less than the register size. Also don't warn ifBill Wendling2012-11-301-5/+14
| | | | | | | | the output size is greater than the register size. No truncation occurs with those. Reword warning to make it clearer what's the problem is. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169054 91177308-0d34-0410-b5e6-96231b3b80d8
* Make -Wtautological-constant-out-of-range-compare behave sanely for enums ↵Eli Friedman2012-11-301-1/+8
| | | | | | | | | | with a signed fixed type. <rdar://problem/12780159>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169051 91177308-0d34-0410-b5e6-96231b3b80d8
* When we're emitting a diagnostic with a source location in an importedDouglas Gregor2012-11-301-0/+7
| | | | | | | | | | | | | | | module, provide a module import stack similar to what we would get for an include stack, e.g., In module 'DependsOnModule' imported from build-fail-notes.m:4: In module 'Module' imported from DependsOnModule.framework/Headers/DependsOnModule.h:1: Inputs/Module.framework/Headers/Module.h:15:12: note: previous definition is here @interface Module <rdar://problem/12696425> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169042 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for #pragma region/endregion for MSVC compatibility. Patch thanks ↵Aaron Ballman2012-11-301-0/+33
| | | | | | to pravic! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169028 91177308-0d34-0410-b5e6-96231b3b80d8
* When an error occurs while building a module on demand, provide "WhileDouglas Gregor2012-11-303-3/+18
| | | | | | | | | | building module 'Foo' imported from..." notes (the same we we provide "In file included from..." notes) in the diagnostic, so that we know how this module got included in the first place. This is part of <rdar://problem/12696425>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169021 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the computation of highlight ranges so we produce something sane whenEli Friedman2012-11-301-0/+14
| | | | | | | | | the beginning and end of the range are in different macro arguments. PR14399. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168984 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for the new cortex-a5 switchQuentin Colombet2012-11-301-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168968 91177308-0d34-0410-b5e6-96231b3b80d8
* Keep track of modules that have failed to build. If we encounter anDouglas Gregor2012-11-291-0/+11
| | | | | | | | | | | | | | | import of that module elsewhere, don't try to build the module again: it won't work, and the experience is quite dreadful. We track this information somewhat globally, shared among all of the related CompilerInvocations used to build modules on-the-fly, so that a particular Clang instance will only try to build a given module once. Fixes <rdar://problem/12552849>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168961 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a small calling-convention bug for x86-32. PR14453.Eli Friedman2012-11-291-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168959 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch exposes to Clang users three more sanitizers are experimental ↵Alexey Samsonov2012-11-291-0/+6
| | | | | | | | | | | | | | | features of ASan: 1) init-order sanitizer: initialization-order checker. Status: usable, but may produce false positives w/o proper blacklisting. 2) use-after-return sanitizer Status: implemented, but heavily understed. Should be optional, as it significanlty slows program down. 3) use-after-scope sanitizer Status: in progress. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168950 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the test less sensitive to DWARF emission implementation details.Eli Bendersky2012-11-291-2/+2
| | | | | | | | | Note: the ":" goes into the regex because FileCheck wrongly complains about unbalanced brackets otherwise. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168934 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that we put the rest of the sanitizer libraries on the link lineEric Christopher2012-11-291-0/+13
| | | | | | before libstdc++ like we do with ubsan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168918 91177308-0d34-0410-b5e6-96231b3b80d8
* Use newer command line option here.Eric Christopher2012-11-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168908 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove duplicate test run lines.Eric Christopher2012-11-291-16/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168907 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge function types in C.Rafael Espindola2012-11-291-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Among other differences, GCC accepts typedef int IA[]; typedef int A10[10]; static A10 *f(void); static IA *f(void); void g(void) { (void)sizeof(*f()); } but clang used to reject it with: invalid application of 'sizeof' to an incomplete type 'IA' (aka 'int []') The intention of c99's 6.2.7 seems to be that we should use the composite type and accept as gcc does. Doing the type merging required some extra fixes: * Use the type from the function type in initializations, even if an parameter is available. * Fix the merging of the noreturn attribute in function types. * Make CodeGen handle the fact that an parameter type can be different from the corresponding type in the function type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168895 91177308-0d34-0410-b5e6-96231b3b80d8
* [-cxx-abi microsoft] Also spill the argument-back-references context when ↵Timur Iskhodzhanov2012-11-291-0/+2
| | | | | | mangling templates git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168862 91177308-0d34-0410-b5e6-96231b3b80d8
* Reject uses of __int128 on platforms that don't support it. Also move the uglyRichard Smith2012-11-292-2/+14
| | | | | | | | 'getPointerWidth(0) >= 64' test to be a method on TargetInfo, ready to be properly cleaned up. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168856 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix crash-on-invalid. <rdar://problem/12765391>.Eli Friedman2012-11-293-7/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168851 91177308-0d34-0410-b5e6-96231b3b80d8
* The declaration of a special member can require overload resolution to beRichard Smith2012-11-291-1/+68
| | | | | | | | | | | | performed, to determine whether that special member is deleted or constexpr. That overload resolution process can in turn trigger the instantiation of a template, which can do anything, including triggering the declaration of that very same special member function. When this happens, do not try to recursively declare the special member -- that's impossible. Instead, only try to realise the truth. There is no special member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168847 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly handle IntegralToBool casts in C++ in the static analyzer. Fixes ↵Ted Kremenek2012-11-291-0/+11
| | | | | | <rdar://problem/12759044>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168843 91177308-0d34-0410-b5e6-96231b3b80d8
* [driver] -mkernel implies -mstrict-align; don't add the redundant option.Chad Rosier2012-11-291-1/+2
| | | | | | rdar://12771737 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168841 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq ↵Michael Han2012-11-281-1/+7
| | | | | | appertains to a friend declaration, that declaration shall be a definition. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168826 91177308-0d34-0410-b5e6-96231b3b80d8
* objective-C blocks: Make sure that identical logic is usedFariborz Jahanian2012-11-281-0/+9
| | | | | | | | | | | in deciding a copy/dispose field is needed in a byref structure and when generating the copy/dispose helpers. In certain cases, these fields were being added but no copy/dispose was being generated. This was uncovered in ARC, but not in MRR. // rdar://12759433 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168825 91177308-0d34-0410-b5e6-96231b3b80d8
* Per C++11 [except.spec]p2, rvalue references are not permitted in exception ↵Richard Smith2012-11-281-0/+2
| | | | | | specifications. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168824 91177308-0d34-0410-b5e6-96231b3b80d8
* PR14388: An array or function type in an exception specification should beRichard Smith2012-11-282-0/+56
| | | | | | | | decayed to a pointer type. Patch by WenHan Gu, with a little tweaking and additional testcases by me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168822 91177308-0d34-0410-b5e6-96231b3b80d8
* ABI: comments from Eli on r168820.Manman Ren2012-11-281-2/+2
| | | | | | | rdar://12723368 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168821 91177308-0d34-0410-b5e6-96231b3b80d8
* ABI: modify CreateCoercedLoad and CreateCoercedStore to not use load or store ofManman Ren2012-11-281-0/+20
| | | | | | | | | | | | | | | | the original parameter or return type. Since we do not accurately represent the data fields of a union, we should not directly load or store a union type. As an exmple, if we have i8,i8, i32, i32 as one field type and i32,i32 as another field type, the first field type will be chosen to represent the union. If we load with the union's type, the 3rd byte and the 4th byte will be skipped. rdar://12723368 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168820 91177308-0d34-0410-b5e6-96231b3b80d8
* PR13098: If we're instantiating an overloaded binary operator and we couldRichard Smith2012-11-281-0/+22
| | | | | | | | | | determine which member function would be the callee from within the template definition, don't pass that function as a "non-member function" to CreateOverloadedBinOp. Instead, just rely on it to select the member function for itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168818 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor -fsanitize, -f*-sanitizer arguments parsing. Provide a more careful ↵Alexey Samsonov2012-11-281-0/+6
| | | | | | diagnostic for invalid sets of sanitizers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168794 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach Lexer::getSpelling about raw string literals. Specifically, if a rawRichard Smith2012-11-282-0/+14
| | | | | | | | | string literal needs cleaning (because it contains line-splicing in the encoding prefix or in the ud-suffix), do not clean the section between the double-quotes -- that's the "raw" bit! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168776 91177308-0d34-0410-b5e6-96231b3b80d8