| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
r142020 added support for has_feature(cxx_alignas). This does the same for
alignof.
llvm-svn: 223186
|
|
|
|
|
|
|
| |
cxx_decltype_auto, and fix documentation of cxx_generic_lambdas and
cxx_init_captures to specify the right feature-check name.
llvm-svn: 208445
|
|
|
|
| |
llvm-svn: 191607
|
|
|
|
|
|
| |
here goes to Larisse Voufo.
llvm-svn: 191549
|
|
|
|
| |
llvm-svn: 187055
|
|
|
|
|
|
| |
completes the implementation of N3638.
llvm-svn: 181669
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
__has_feature(cxx_thread_local) true when the target supports thread-local storage.
llvm-svn: 180909
|
|
|
|
| |
llvm-svn: 179861
|
|
|
|
|
|
| |
return types, from Michel Morin!
llvm-svn: 154428
|
|
|
|
|
|
|
| |
for templates with local template arguments, from Michel Morin! Fixes
PR12337.
llvm-svn: 153983
|
|
|
|
| |
llvm-svn: 152396
|
|
|
|
| |
llvm-svn: 151992
|
|
|
|
| |
llvm-svn: 151458
|
|
|
|
| |
llvm-svn: 151231
|
|
|
|
| |
llvm-svn: 150524
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
__has_feature(cxx_unicode_literals), from Michel Morin!
llvm-svn: 143412
|
|
|
|
|
|
| |
functions", from Michel Morin!
llvm-svn: 143411
|
|
|
|
| |
llvm-svn: 142020
|
|
|
|
|
|
| |
-std=c++0x. Patch by Ahmed Charles!
llvm-svn: 141900
|
|
|
|
|
|
|
|
| |
Fix bug this uncovered.
Address minor comments from Doug.
Enable cxx_implicit_moves feature.
llvm-svn: 139101
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 130953
|
|
|
|
| |
llvm-svn: 129573
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 128281
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 126078
|
|
|
|
|
|
| |
templates, a C++0x feature.
llvm-svn: 124973
|
|
|
|
|
|
| |
documentation.
llvm-svn: 124322
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 123860
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 114762
|
|
|
|
| |
llvm-svn: 112671
|
|
|
|
| |
llvm-svn: 107153
|
|
|
|
| |
llvm-svn: 93314
|
|
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
|