summaryrefslogtreecommitdiffstats
path: root/clang/test/Lexer/has_feature_cxx0x.cpp
Commit message (Collapse)AuthorAgeFilesLines
* P0426: Make the library implementation of constexpr char_traits a little easierRichard Smith2017-01-201-0/+11
| | | | | | | | | by providing a memchr builtin that returns char* instead of void*. Also add a __has_feature flag to indicate the presence of constexpr forms of the relevant <string> functions. llvm-svn: 292555
* [Tests] Add explicit -std=lang option to a number of tests.Yunzhong Gao2015-08-011-1/+1
| | | | | | | | | | | This patch should not change the test results, but it is useful if clang's default C++ language is ever changed from gnu++98. Patch by: Charles Li http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20150727/134667.html llvm-svn: 243819
* Apply existing checks to C++1Z (has_feature_cxx0x); NFCFaisal Vali2015-05-221-43/+85
| | | | | | | | | | | | This applies the existing checks in has_feature_cxx0x to -std=c++1z. In addition, references to C++1y are updated to refer to C++14 No functional change. Testing of __has_feature for C++1z features is not added in this change. Patch by Hubert Tong! llvm-svn: 237992
* Add support for has_feature(cxx_alignof) and has_feature(c_alignof).Nico Weber2014-12-031-0/+10
| | | | | | | r142020 added support for has_feature(cxx_alignas). This does the same for alignof. llvm-svn: 223186
* PR19698, PR19674: enable __has_feature checks for cxx_generic_lambdas andRichard Smith2014-05-091-0/+20
| | | | | | | cxx_decltype_auto, and fix documentation of cxx_generic_lambdas and cxx_init_captures to specify the right feature-check name. llvm-svn: 208445
* Mark lambda init-captures as complete.Richard Smith2013-09-281-0/+10
| | | | llvm-svn: 191607
* Mark variable template implementation as complete. Nearly all of the creditRichard Smith2013-09-271-0/+10
| | | | | | here goes to Larisse Voufo. llvm-svn: 191549
* Update documentation to match current C++1y feature set.Richard Smith2013-07-241-0/+20
| | | | llvm-svn: 187055
* C++1y: provide full 'auto' return type deduction for lambda expressions. ThisRichard Smith2013-05-121-0/+10
| | | | | | completes the implementation of N3638. llvm-svn: 181669
* C++1y: Update __cplusplus to temporary value 201305L to allow detection of ↵Richard Smith2013-05-071-64/+118
| | | | | | | | | provisional C++1y support. Add __has_feature and __has_extension checks for C++1y features (based on the provisional names from the C++ features study group), and update documentation to match. llvm-svn: 181342
* Only evaluate __has_feature(c_thread_local) and ↵Douglas Gregor2013-05-021-2/+4
| | | | | | __has_feature(cxx_thread_local) true when the target supports thread-local storage. llvm-svn: 180909
* C++11 support is now feature-complete.Richard Smith2013-04-191-0/+18
| | | | llvm-svn: 179861
* Add a query macro for C++11 N3276, decltype does not require completeDouglas Gregor2012-04-101-0/+10
| | | | | | return types, from Michel Morin! llvm-svn: 154428
* Add feature check "cxx_local_type_template_args" describing supportDouglas Gregor2012-04-041-0/+9
| | | | | | | for templates with local template arguments, from Michel Morin! Fixes PR12337. llvm-svn: 153983
* User-defined literals are done.Richard Smith2012-03-091-0/+9
| | | | llvm-svn: 152396
* Add a pile of tests for unrestricted unions, and advertise support for them.Richard Smith2012-03-031-0/+9
| | | | llvm-svn: 151992
* Initializer lists are now supported.Sebastian Redl2012-02-251-0/+9
| | | | llvm-svn: 151458
* Clang now supports lambda expressions.Douglas Gregor2012-02-231-1/+1
| | | | llvm-svn: 151231
* Advertize support for constexpr.Richard Smith2012-02-141-0/+9
| | | | llvm-svn: 150524
* Some improvements to the handling of C11 atomic types:David Chisnall2012-01-161-0/+9
| | | | | | | | | | | | | | | | | | - Add atomic-to/from-nonatomic cast types - Emit atomic operations for arithmetic on atomic types - Emit non-atomic stores for initialisation of atomic types, but atomic stores and loads for every other store / load - Add a __atomic_init() intrinsic which does a non-atomic store to an _Atomic() type. This is needed for the corresponding C11 stdatomic.h function. - Enables the relevant __has_feature() checks. The feature isn't 100% complete yet, but it's done enough that we want people testing it. Still to do: - Make the arithmetic operations on atomic types (e.g. Atomic(int) foo = 1; foo++;) use the correct LLVM intrinsic if one exists, not a loop with a cmpxchg. - Add a signal fence builtin - Properly set the fenv state in atomic operations on floating point values - Correctly handle things like _Atomic(_Complex double) which are too large for an atomic cmpxchg on some platforms (this requires working out what 'correctly' means in this context) - Fix the many remaining corner cases llvm-svn: 148242
* Add __has_feature(cxx_raw_string_literals) andDouglas Gregor2011-11-011-0/+18
| | | | | | __has_feature(cxx_unicode_literals), from Michel Morin! llvm-svn: 143412
* Add __has_feature(cxx_defaulted_functions) for querying "defaultedDouglas Gregor2011-11-011-0/+8
| | | | | | functions", from Michel Morin! llvm-svn: 143411
* Add c_alignas and cxx_alignas featuresPeter Collingbourne2011-10-141-0/+9
| | | | llvm-svn: 142020
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-131-1/+1
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Add test case for defaulted copy and move structure validation.Sebastian Redl2011-09-041-0/+9
| | | | | | | | Fix bug this uncovered. Address minor comments from Doug. Enable cxx_implicit_moves feature. llvm-svn: 139101
* Audit and finish the implementation of C++0x nullptr, fixing twoDouglas Gregor2011-05-211-1/+1
| | | | | | | | | | | | | | minor issues along the way: - Non-type template parameters of type 'std::nullptr_t' were not permitted. - We didn't properly introduce built-in operators for nullptr ==, !=, <, <=, >=, or > as candidate functions . To my knowledge, there's only one (minor but annoying) part of nullptr that hasn't been implemented: catching a thrown 'nullptr' as a pointer or pointer-to-member, per C++0x [except.handle]p4. llvm-svn: 131813
* Implement support for C++0x alias templates.Richard Smith2011-05-051-0/+9
| | | | llvm-svn: 130953
* Add __has_feature(cxx_range_for) check for C++11 range-based for loop.Richard Smith2011-04-151-0/+11
| | | | llvm-svn: 129573
* clang has had full and tested support for C++0x trailing-return-type and ↵Richard Smith2011-04-031-0/+10
| | | | | | | | auto type deduction since r126166. Update the website to reflect this, and add a __has_feature test. trailing-return-type codegen is not tested yet (name mangling in particular). llvm-svn: 128787
* we can now claim to fully support the override control feature in C++0x.Anders Carlsson2011-03-251-0/+8
| | | | llvm-svn: 128281
* Create __has_feature(cxx_noexcept) and mark it as working.Sebastian Redl2011-03-151-0/+9
| | | | | | | Find out that our C++0x status has only one field for noexcept expression and specification together, and that it was accidentally already marked as fully implemented. This completes noexcept specification work. llvm-svn: 127701
* Turn on __has_feature(cxx_auto_type). The feature is now fully implemented.Richard Smith2011-02-201-2/+1
| | | | llvm-svn: 126078
* Add a __has_feature check for default template arguments in functionDouglas Gregor2011-02-051-0/+9
| | | | | | templates, a C++0x feature. llvm-svn: 124973
* Add __has_feature(cxx_reference_qualified_functions); update tests andDouglas Gregor2011-01-261-0/+10
| | | | | | documentation. llvm-svn: 124322
* Clean up the C++0x __has_feature tests. Specifically:Douglas Gregor2011-01-261-19/+18
| | | | | | | | | | | | | - Don't publicize a C++0x feature through __has_feature if we aren't in C++0x mode (even if the feature is available only with a warning). - "auto" is not implemented well enough for its __has_feature to be turned on. - Fix the test of C++0x __has_feature to actually test what we're trying to test. Searching for the substring "foo" when our options are "foo" and "no_foo" doesn't work :) llvm-svn: 124291
* Downgrade the error about rvalue references to an extension warningDouglas Gregor2011-01-251-2/+2
| | | | | | | | and turn on __has_feature(cxx_rvalue_references). The core rvalue references proposal seems to be fully implemented now, pending lots more testing. llvm-svn: 124169
* Eradicate any mention of C++0x concepts.Douglas Gregor2011-01-191-10/+0
| | | | llvm-svn: 123860
* Variadic templates are fully implemented.Douglas Gregor2011-01-191-2/+3
| | | | | | | | Turn on the __has_feature switch for variadic templates, document their completion, and put the ExtWarn into the c++0x-extensions warning group. llvm-svn: 123854
* Allow the use of C++0x deleted functions as an extension in C++98.Anders Carlsson2010-09-241-2/+2
| | | | llvm-svn: 114762
* Implement __has_feature(cxx_inline_namespaces)Sebastian Redl2010-08-311-0/+10
| | | | llvm-svn: 112671
* tests: Use %clangxx when using driver for C++, in case C++ support is disabled.Daniel Dunbar2010-06-291-2/+2
| | | | llvm-svn: 107153
* Update test function names so as not to use potential keywords.Alexis Hunt2010-01-131-5/+5
| | | | llvm-svn: 93314
* Add a bunch more feature-checking macros for C++0x features. Some of these areAlexis Hunt2010-01-131-0/+101
disabled with the intent that users can start with them now and not have to change a thing to have them work when we implement the features. llvm-svn: 93312
OpenPOWER on IntegriCloud