summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
...
* AST dumping: dump template instantiations only onceDmitri Gribenko2013-02-211-0/+39
| | | | | | | | Fixes infinite loop in PR15220. Patch by Philip Craig. llvm-svn: 175805
* Patch for debug info of qualified-id types is 'id'Fariborz Jahanian2013-02-211-0/+41
| | | | | | By Adrian Pranti. llvm-svn: 175793
* Try to fix the test for cmake builds, where clang is called clang-3.3.Benjamin Kramer2013-02-211-1/+1
| | | | llvm-svn: 175791
* Try to get buildbots to pass these tests.Bill Wendling2013-02-212-10/+13
| | | | llvm-svn: 175784
* [driver] Handle the processing of the QA_OVERRIDE_GCC3_OPTIONS and CCC_ADD_ARGSChad Rosier2013-02-211-0/+7
| | | | | | | | before the DiagnosticsEngine is instantiated. Otherwise, warning options are not handled correctly. rdar://13254743 llvm-svn: 175779
* Preprocessor: preserve whitespace in -traditional-cpp mode.Jordan Rose2013-02-211-2/+54
| | | | | | | | | Note that unlike GNU cpp we currently do not preserve whitespace in macros (even in -traditional-cpp mode). <rdar://problem/12897179> llvm-svn: 175778
* Add a 64-bit triple to these tests, to fix 32-bit bots.Joey Gouly2013-02-213-3/+3
| | | | llvm-svn: 175736
* Fix an OpenCL test case. Pointer arguments to kernels must be declared with theJoey Gouly2013-02-211-1/+1
| | | | | | __global, __constant or __local qualifier. llvm-svn: 175735
* Add support to Sema and CodeGen for floating point vector types in OpenCL.Joey Gouly2013-02-213-0/+170
| | | | llvm-svn: 175734
* [analyzer] Add another reinterpret_cast behavior test.Jordan Rose2013-02-211-0/+18
| | | | | | | The test is similar to <rdar://problem/13239840> but doesn't actually test the case that fails there. It's still a good test, though. llvm-svn: 175715
* libstdc++'s <cstdalign> #includes <stdalign.h> and expects it to guard againstRichard Smith2013-02-211-0/+14
| | | | | | | | | being included in C++. Don't define alignof or alignas in this case. Note that the C++11 standard is broken in various ways here (it refers to the contents of <stdalign.h> in C99, where that header did not exist, and doesn't mention the alignas macro at all), but we do our best to do what it intended. llvm-svn: 175708
* [analyzer] Tighten up safety in the use of lazy bindings.Jordan Rose2013-02-212-0/+36
| | | | | | | | | | | | | | | - When deciding if we can reuse a lazy binding, make sure to check if there are additional bindings in the sub-region. - When reading from a lazy binding, don't accidentally strip off casts or base object regions. This slows down lazy binding reading a bit but is necessary for type sanity when treating one class as another. A bit of minor refactoring allowed these two checks to be unified in a nice early-return-using helper function. <rdar://problem/13239840> llvm-svn: 175703
* objective-C arc IR-gen. Retaining of strongFariborz Jahanian2013-02-217-15/+18
| | | | | | | | | | arguments in function prologue is done with objc_StoreStrong to pair it with similar objc_StoreStrong for release in function epilogue. This is done with -O0 only. // rdar://13145317 llvm-svn: 175698
* Revert "intmax_t is long long on Darwin, not long."Jordan Rose2013-02-202-24/+1
| | | | | | | | | 'long' and 'long long' are different for the purposes of mangling. This caused <rdar://problem/13254874>. This reverts commit c2f994d31ec85e9af811af38eb1b28709aef0b2c. llvm-svn: 175681
* PR15311: Finish implementation of the suggested resolution of core issue 1488,Richard Smith2013-02-202-2/+5
| | | | | | | | which allows grouping parens in an abstract-pack-declarator. This was already mostly implemented, but missed some cases. Add an ExtWarn for use of this extension until CWG ratifies it. llvm-svn: 175660
* Attempt to clean up tests for non-X86 platforms.Bill Wendling2013-02-209-76/+67
| | | | llvm-svn: 175652
* Process and handle attributes on conditions and for loop variables. Process andRichard Smith2013-02-201-6/+16
| | | | | | | diagnose attributes on alias declarations, using directives, and attribute declarations. llvm-svn: 175649
* [ms-inline asm] Remove this test while I investigate why eax isn't being ↵Chad Rosier2013-02-201-6/+0
| | | | | | clobbered. llvm-svn: 175637
* Remove target-specific features.Bill Wendling2013-02-201-3/+3
| | | | llvm-svn: 175610
* Modify the tests to use attribute group references instead of listing theBill Wendling2013-02-2054-359/+584
| | | | | | function attributes. llvm-svn: 175606
* intmax_t is long long on Darwin, not long.Jordan Rose2013-02-202-1/+24
| | | | | | <rdar://problem/11540697> llvm-svn: 175588
* Add a new 'type_visibility' attribute to allow users toJohn McCall2013-02-203-1/+185
| | | | | | | | | | | | | | control the visibility of a type for the purposes of RTTI and template argument restrictions independently of how visibility propagates to its non-type member declarations. Also fix r175326 to not ignore template argument visibility on a template explicit instantiation when a member has an explicit attribute but the instantiation does not. The type_visibility work is rdar://11880378 llvm-svn: 175587
* PR15300: Support C++11 attributes on base-specifiers. We don't support any suchRichard Smith2013-02-194-22/+49
| | | | | | | | attributes yet, so just issue the appropriate diagnostics. Also generalize the fixit for attributes-in-the-wrong-place code and reuse it here, if attributes are placed after the access-specifier or 'virtual' in a base specifier. llvm-svn: 175575
* [analyzer] Don't accidentally strip off base object regions for lazy bindings.Jordan Rose2013-02-191-0/+169
| | | | | | | | | | | | If a base object is at a 0 offset, RegionStoreManager may find a lazy binding for the entire object, then try to attach a FieldRegion or grandparent CXXBaseObjectRegion on top of that (skipping the intermediate region). We now preserve as many layers of base object regions necessary to make the types match. <rdar://problem/13239840> llvm-svn: 175556
* Add the missing 'static' keyword to the testTimur Iskhodzhanov2013-02-191-2/+2
| | | | llvm-svn: 175502
* Add support for -fvisibility-ms-compat.John McCall2013-02-192-0/+146
| | | | | | | | | | | | | | | We treat this as an alternative to -fvisibility=<?> which changes the default value visibility to "hidden" and the default type visibility to "default". Expose a -cc1 option for changing the default type visibility, repurposing -fvisibility as the default value visibility option (also setting type visibility from it in the absence of a specific option). rdar://13079314 llvm-svn: 175480
* Use the actual class visibility for the ObjC EHTYPE global,John McCall2013-02-191-0/+27
| | | | | | | | not the global visibility mode. Noticed by inspection. llvm-svn: 175479
* Test for my last patch. // rdar://13178483Fariborz Jahanian2013-02-181-0/+29
| | | | llvm-svn: 175453
* CodeGenFunction::CurFuncDecl can be NULL; fix crash introduced in r175386.Douglas Gregor2013-02-181-1/+13
| | | | llvm-svn: 175448
* Ensure that the identifier chains have the most recent declaration after ↵Douglas Gregor2013-02-184-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | module deserialization. This commit introduces a set of related changes to ensure that the declaration that shows up in the identifier chain after deserializing declarations with a given identifier is, in fact, the most recent declaration. The primary change involves waiting until after we deserialize and wire up redeclaration chains before updating the identifier chains. There is a minor optimization in here to avoid recursively deserializing names as part of looking to see whether top-level declarations for a given name exist. A related change that became suddenly more urgent is to property record a merged declaration when an entity first declared in the current translation unit is later deserialized from a module (that had not been loaded at the time of the original declaration). Since we key off the canonical declaration (which is parsed, not from an AST file) for emitted redeclarations, we simply record this as a merged declaration during AST writing and let the readers merge them. Re-fixes <rdar://problem/13189985>, presumably for good this time. llvm-svn: 175447
* AArch64: add atomic support parameters to TargetInfoTim Northover2013-02-181-0/+5
| | | | | | | | This allows Clang to detect and deal wih __atomic_* operations properly on AArch64. Previously we produced an error when encountering them at high optimisation levels. llvm-svn: 175438
* Update test cases to account for DIBuilder type changes.David Blaikie2013-02-182-2/+2
| | | | | | Paired commit with LLVM, may produce temporary build breakage. llvm-svn: 175427
* Disable dead stores checker for template instantations. Fixes ↵Ted Kremenek2013-02-181-0/+18
| | | | | | <rdar://problem/13213575>. llvm-svn: 175425
* Test ivar-invariant.m: use a more idiomatic RUN line and tighten the testDmitri Gribenko2013-02-171-1/+4
| | | | | | by matching the function name first llvm-svn: 175395
* Remove block names from test case to unbreak release builds.Lang Hames2013-02-171-2/+0
| | | | | | Thanks Chandler. :) llvm-svn: 175392
* Re-apply r174919 - smarter copy/move assignment/construction, with fixes forLang Hames2013-02-174-10/+227
| | | | | | | | | | | bitfield related issues. The original commit broke Takumi's builder. The bug was caused by bitfield sizes being determined by their underlying type, rather than the field info. A similar issue with bitfield alignments showed up on closer testing. Both have been fixed in this patch. llvm-svn: 175389
* [clang] fix test execution commandSaleem Abdulrasool2013-02-171-1/+1
| | | | | Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 175387
* [CodeGen] tighten objc ivar invariant.load attributionSaleem Abdulrasool2013-02-171-0/+53
| | | | | | | | | | | | | | | | | An ivar ofset cannot be marked as invariant load in all cases. The ivar offset is a lazily initialised constant, which is dependent on an objc_msgSend invocation to perform a fixup of the offset. If the load is being performed on a method implemented by the class then this load can safely be marked as an inviarant because a message must have been passed to the class at some point, forcing the ivar offset to be resolved. An additional heuristic that can be used to identify an invariant load would be if the ivar offset base is a parameter to an objc method. However, without the parameters available at hand, this is currently not possible. Reviewed-by: John McCall <rjmccall@apple.com> Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> llvm-svn: 175386
* Fix for ARM: functions don't have extra attributes there, so {{.*}} is ""Dmitri Gribenko2013-02-171-3/+7
| | | | | | While there, explicitly declare functions to remove warnings. llvm-svn: 175384
* libAnalysis: Add a case for TypeAliasDecl in CFGRecStmtDeclVisitor.Jordan Rose2013-02-161-2/+9
| | | | | | | | | | | Neither of the current clients of CFGRecStmtDeclVisitor are doing anything with typedefs, so I assume type aliases (C++11 "using") can be safely ignored. This was causing assertion failures in the analyzer. <rdar://problem/13228440> llvm-svn: 175335
* Don't warn on conversion from NULL to nullptr_tDavid Blaikie2013-02-161-2/+8
| | | | llvm-svn: 175331
* Emit vtables for an extern template class as available_externally, not asRichard Smith2013-02-161-0/+26
| | | | | | | linkonce_odr. Emit construction vtables as internal in this case, since the ABI does not guarantee that they will be availble externally. llvm-svn: 175330
* [PCH] Deserializing the DeclContext of a template parameter is not safeArgyrios Kyrtzidis2013-02-162-0/+32
| | | | | | | | | | | until recursive loading is finished. Otherwise we may end up with a template trying to deserialize a template parameter that is in the process of getting loaded. rdar://13135282 llvm-svn: 175329
* Rework the visibility computation algorithm in preparationJohn McCall2013-02-161-15/+29
| | | | | | | | | | | | | | | | for distinguishing type vs. value visibility. The changes to the visibility of explicit specializations are intentional. The change to the "ugly" test case is a consequence of a sensible implementation, and I am happy to argue that this is better behavior. Other changes may or may not be intended; it is quite difficult to divine intent from some of the code I altered. I've left behind a comment which I hope explains the philosophy behind visibility computation. llvm-svn: 175326
* Add test case for r175312.Chad Rosier2013-02-151-0/+6
| | | | llvm-svn: 175313
* Add the 'target-cpu' and 'target-features' attributes to functions.Bill Wendling2013-02-1518-85/+85
| | | | | | | The back-end will use these values to reconfigure code generation for different features. llvm-svn: 175308
* libclang: add clang_getTypeSpelling(CXType CT)Dmitri Gribenko2013-02-156-44/+110
| | | | | | | | | Adds a function clang_getTypeSpelling(CXType CT) that returns a CXString containing the underlying type. Patch by Ben Gertzfield. llvm-svn: 175299
* objective-C: Fixes a compiler crash when encodingFariborz Jahanian2013-02-151-0/+18
| | | | | | | an ivar of type pointer to a typedef'ed object. // rdar://13190095 llvm-svn: 175298
* Fixed diagnostic nondeterministic order bug (pr14901).Enea Zaffanella2013-02-151-0/+13
| | | | llvm-svn: 175289
* Fix crash-on-invalid where a ParenListExpr shows up as a message receiverArgyrios Kyrtzidis2013-02-151-0/+8
| | | | | | | | while trying to do error recovery. rdar://13207886 llvm-svn: 175282
OpenPOWER on IntegriCloud