summaryrefslogtreecommitdiffstats
path: root/clang/test
Commit message (Collapse)AuthorAgeFilesLines
* Support constant evaluation for OpenCL nested vector literals. Patch by ↵Eli Friedman2012-01-032-0/+49
| | | | | | Anton Lokhmotov. llvm-svn: 147496
* Add initial version of checker to check if virtual member functions are ↵Ted Kremenek2012-01-031-0/+53
| | | | | | | | called transitively from C++ constructors or destructors. Checker by Lei Zhang with a few tweaks by Ted Kremenek. llvm-svn: 147494
* objc: diagnose misplacement of objc_suppress_autosynthesisFariborz Jahanian2012-01-031-0/+6
| | | | | | attribute. llvm-svn: 147490
* Implement cross-module declaration merging for tag declarations, soDouglas Gregor2012-01-035-0/+59
| | | | | | | | | | | | that if two modules A and B both contain a declaration of a tag such as struct X; and those two modules are unrelated, the two declarations of X will be merged into a single redeclaration chain. llvm-svn: 147488
* Add __has_feature(objc_modules)Douglas Gregor2012-01-031-0/+11
| | | | llvm-svn: 147482
* Add a test for the driver-level -fmodules/-fno-modules flags.Douglas Gregor2012-01-031-0/+6
| | | | llvm-svn: 147480
* Add test case for PR 9774, which got fixed along the way.Ted Kremenek2012-01-031-0/+6
| | | | llvm-svn: 147479
* Added testcases for -Wdisabled-macro-expansion.Abramo Bagnara2012-01-031-0/+27
| | | | llvm-svn: 147473
* Re-uglify #public and #private to #__public_macro and #__private_macro.Douglas Gregor2012-01-035-7/+7
| | | | llvm-svn: 147469
* objc: use objc_suppress_autosynthesis attribute on classesFariborz Jahanian2012-01-031-0/+33
| | | | | | which should not be default synthesized. llvm-svn: 147468
* Eliminate the uglified keyword __import_module__ for importingDouglas Gregor2012-01-0320-72/+83
| | | | | | | | | | | | | modules. This leaves us without an explicit syntax for importing modules in C/C++, because such a syntax needs to be discussed first. In Objective-C/Objective-C++, the @import syntax is used to import modules. Note that, under -fmodules, C/C++ programs can import modules via the #include mechanism when a module map is in place for that header. This allows us to work with modules in C/C++ without committing to a syntax. llvm-svn: 147467
* Under -fmodules, accept #public <macroname> and #private <macroname>Douglas Gregor2012-01-0313-30/+30
| | | | | | | to make a macro public (the default for headers) or private, respectively. llvm-svn: 147455
* Introduce a non-uglified syntax for module imports in Objective-C:Douglas Gregor2012-01-0320-32/+32
| | | | | | @import identifier [. identifier]* ; llvm-svn: 147452
* Don't attempt to merge a deserialized declaration with existingDouglas Gregor2012-01-031-2/+2
| | | | | | | declarations in the AST unless modules are enabled. This case doesn't come up with precompiled headers, and it isn't cheap. llvm-svn: 147451
* Rename the command-line option for mapping #include/#import over toDouglas Gregor2012-01-039-10/+10
| | | | | | | | module imports from -fauto-module-import to -fmodules. The new name will eventually be used to enable modules, and the #include/#import mapping is a crucial part of the feature. llvm-svn: 147447
* Process attributes in explicit template instatiation definitions. Fixes PR11690.Rafael Espindola2012-01-031-0/+10
| | | | llvm-svn: 147441
* Teach the frontend to provide the builtin preprocessor defines forChandler Carruth2012-01-031-12/+14
| | | | | | -ffast-math. llvm-svn: 147440
* Add assertion to char32_t that the value is valid, as suggested by Jordy Rose.Richard Smith2012-01-021-2/+4
| | | | | | | Add a test that such characters don't make it through to StringLiteral objects in error recovery. llvm-svn: 147438
* Diagnose cases where the definition of a particular type is required,Douglas Gregor2012-01-022-3/+23
| | | | | | | is known (to Clang), but is not visible because the module has not yet been imported. llvm-svn: 147436
* Fix PR11685 by implementing -ffast-math and its various friends in theChandler Carruth2012-01-021-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | Clang driver. This involves a bunch of silly option parsing code to try to carefully emulate GCC's options. Currently, this takes a conservative approach, and unless all of the unsafe optimizations are enabled, none of them are. The fine grained control doesn't seem particularly useful. If it ever becomes useful, we can add that to LLVM first, and then expose it here. This also fixes a few tiny bugs in the flag management around -fhonor-infinities and -fhonor-nans; the flags now form proper sets both for enabling and disabling, with the last flag winning. I've also implemented a moderately terrifying GCC feature where a language change is also provided by the '-ffast-math' flag by defining the __FAST_MATH__ preprocessor macro. This feature is tracked and serialized in the frontend but it isn't used yet. A subsequent patch will add the preprocessor macro and tests for it. I've manually tested that codegen appears to respect this, but I've not dug in enough to see if there is an easy way to test codegen options w/o relying on the particulars of LLVM's optimizations. llvm-svn: 147434
* Small cosmetic cleanups in code I will change anyway.Rafael Espindola2012-01-021-1/+1
| | | | llvm-svn: 147424
* Implement declaration merging for Objective-C protocols acrossDouglas Gregor2012-01-014-0/+20
| | | | | | | multiple, disjoint modules. There is far too much duplicating with the ObjCInterfaceDecl case here, which I'll eliminate shortly. llvm-svn: 147417
* Wire up redeclaration chains for Objective-C protocols, so that bothDouglas Gregor2012-01-015-0/+29
| | | | | | | forward declarations and definitions of an Objective-C protocol are represented within a single chain of ObjCProtocolDecls. llvm-svn: 147412
* Consider visibility attributes in namespaces as being explicit. I.e., theyRafael Espindola2012-01-011-0/+12
| | | | | | take precedence over command line options. Fixes PR10113. llvm-svn: 147405
* Implement support for module requirements, which indicate the languageDouglas Gregor2011-12-314-0/+21
| | | | | | | | | features needed for a particular module to be available. This allows mixed-language modules, where certain headers only work under some language variants (e.g., in C++, std.tuple might only be available in C++11 mode). llvm-svn: 147387
* Split out clang/test/Driver/debug-options-as.c from debug-options.c, and ↵NAKAMURA Takumi2011-12-312-7/+10
| | | | | | | | mark it as XFAIL: mingw32. Mingw32 target has not supported integrated-as yet. llvm-svn: 147386
* Fix crash when trying to pretty-print unicode or wide string literals.Richard Smith2011-12-301-0/+14
| | | | llvm-svn: 147385
* Unrevert r147271, reverted in r147361.Richard Smith2011-12-306-16/+57
| | | | | | | | | | | | Also temporarily remove the assumption from IR gen that we can emit IR for every constant we can fold, since it isn't currently true in C++11, to fix PR11676. Original comment from r147271: constexpr: perform zero-initialization prior to / instead of performing a constructor call when appropriate. Thanks to Eli for spotting this. llvm-svn: 147384
* Add FMA4 intrinsics.Craig Topper2011-12-301-0/+166
| | | | llvm-svn: 147372
* Add test for PRr11676.Rafael Espindola2011-12-301-0/+8
| | | | llvm-svn: 147363
* Revert r147271. This fixes PR11676.Rafael Espindola2011-12-306-57/+16
| | | | llvm-svn: 147362
* Change the diagnostics which said 'accepted as an extension' to instead sayRichard Smith2011-12-2918-50/+49
| | | | | | | 'is an extension'. The former is inappropriate and confusing when building with -Werror/-pedantic-errors. llvm-svn: 147357
* Add popcnt feature flag to match gcc. This flag is implied when sse42 is ↵Craig Topper2011-12-291-0/+16
| | | | | | enabled, but can be disabled separately. Move popcnt intrinsics to popcntintrin.h to match gcc. llvm-svn: 147340
* Support for thread safety attributes on functionsDeLesley Hutchins2011-12-291-0/+22
| | | | llvm-svn: 147331
* Add a target hook for FLT_EVAL_METHOD and use it to set the value on x86 ↵Benjamin Kramer2011-12-281-2/+2
| | | | | | | | | with sse disabled. x87 math evaluates everything with 80 bits precision, so we have to set FLT_EVAL_METHOD to "2". llvm-svn: 147311
* Support the 'a' scanf length modifier as an extension in C++.Hans Wennborg2011-12-282-0/+28
| | | | | | | It should not be supported in C++11, since that uses the C99 standard library, in which 'a' is a format specifier. llvm-svn: 147310
* Eliminate ObjCClassDecl, which is redundant now that ObjCInterfaceDeclDouglas Gregor2011-12-275-5/+6
| | | | | | | covers both declarations (@class) and definitions (@interface) of an Objective-C class. llvm-svn: 147299
* Fix the visibility of methods of explicit template instantiation definitionRafael Espindola2011-12-271-0/+11
| | | | | | | | | when using -fvisibility-inlines-hidden. This matches gcc's behavior and documentation. Fixes PR11642. llvm-svn: 147295
* constexpr: support for evaluation and codegen of typeid constants.Richard Smith2011-12-273-3/+53
| | | | llvm-svn: 147290
* Delay checking of typedefs of dependent types. Fixes PR11630.Rafael Espindola2011-12-261-0/+34
| | | | llvm-svn: 147281
* Add BMI2 intrinsics.Craig Topper2011-12-261-0/+36
| | | | llvm-svn: 147275
* Fix constexpr handling to allow 'extern constexpr' variable declarations. We noRichard Smith2011-12-252-35/+10
| | | | | | | longer have access to the source locations we need to produce the 'replace constexpr with const' fixits, so they're gone for now. llvm-svn: 147273
* constexpr: perform zero-initialization prior to / instead of performing aRichard Smith2011-12-256-16/+57
| | | | | | constructor call when appropriate. Thanks to Eli for spotting this. llvm-svn: 147271
* Change LZCNT and BMI tests to check IR instead of X86 assembly.Craig Topper2011-12-252-18/+26
| | | | llvm-svn: 147267
* Add the rest of the BMI intrinsics.Craig Topper2011-12-251-6/+53
| | | | llvm-svn: 147265
* Add intrinsics for lzcnt and tzcnt instructions.Craig Topper2011-12-252-0/+48
| | | | llvm-svn: 147263
* Always implicitly declare move assignment operations for dynamic classes, inRichard Smith2011-12-241-0/+12
| | | | | | | case they override virtual functions from a base class. Also fix -print-stats counting of move assignment/construction. llvm-svn: 147258
* Add last of the AVX2 intrinsics except for gather.Craig Topper2011-12-241-0/+100
| | | | llvm-svn: 147253
* Add AVX2 permute intrinsics. Also add parentheses on some macro arguments in ↵Craig Topper2011-12-241-1/+66
| | | | | | other intrinsic headers. llvm-svn: 147242
* Add AVX2 intrinsics for FP vbroadcast, vbroadcasti128, and vpblendd.Craig Topper2011-12-241-0/+35
| | | | llvm-svn: 147240
OpenPOWER on IntegriCloud