Commit Graph

365 Commits

Author SHA1 Message Date
Richard Smith 359e932350 [cxx_status] Use the correct color for a feature in "SVN" status
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@341110 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-30 20:15:28 +00:00
Erik Pilkington 14274399e2 [Sema] P0961R1: Relaxing the structured bindings customization point finding rules
Differential revision: https://reviews.llvm.org/D50418

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@339375 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-09 20:11:13 +00:00
Richard Smith 6f89109449 [www] Update cxx_status and cxx_dr_status now that Clang 7 has branched.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338942 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-04 01:02:00 +00:00
Mike Edwards 76de414d43 [WWW] Fixing file permissions for the .html pages.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338098 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-27 04:41:37 +00:00
Richard Smith 7652941f0a P0096R5, P0941R2: Update to match latest feature test macro specification.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334677 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-14 00:40:20 +00:00
Richard Smith b878dfda35 [www] Update cxx_status page for Rapperswil motions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@334674 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-14 00:05:28 +00:00
Richard Smith c6698bbe74 [www] Update C++ status to cover P0620.
While here, mark three-way comparison as in progress and bump "Clang 6" items from yellow to green.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@333606 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-30 23:30:36 +00:00
Richard Smith bc5410f9da [cxx_status] Add entry for the Reflection TS.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327770 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-17 14:34:21 +00:00
Richard Smith 22fe1e6daf [cxx_status] Update to match Jacksonville 2018 motions.
Also rearrange how we list DR motions: rather than listing them as part of some
later standard, list them against the feature they are a DR against. Explicitly
add a description of how we handle DRs.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327769 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-17 14:28:47 +00:00
Richard Smith 5a983b00e8 Update cxx_status to mark "SVN" items as "Clang 6" instead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326298 91177308-0d34-0410-b5e6-96231b3b80d8
2018-02-28 03:02:07 +00:00
Hiroshi Inoue ee91cd8cc8 [NFC] fix trivial typos in comments
"the the" -> "the"



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@323078 91177308-0d34-0410-b5e6-96231b3b80d8
2018-01-22 07:44:38 +00:00
Richard Smith 462d0a77d7 Update website to mention that you still need -frelaxed-template-template-args to enable the corresponding C++17 feature in Clang 5.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@319495 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-30 23:07:29 +00:00
Richard Smith af5ca53a4b [cxx_status] Add resolution of CWG issue 1581, since it's an important, visible change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317983 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-11 18:00:16 +00:00
Richard Smith 38ab6350d5 [cxx_status] Update for moved Albuquerque papers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317982 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-11 17:54:46 +00:00
Faisal Vali 45fcc58b7d [c++2a] Update cxx_status w __VA_OPT__ marked as completed in SVN.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@316304 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-22 22:29:52 +00:00
Richard Smith 3d9068b512 [cxx_status] Change "Clang 5" items from yellow to green now that Clang 5 has been released.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@312850 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-09 01:11:04 +00:00
Richard Smith 8d34d18307 P0702R1: in class template argument deduction from a list of one element, if
that element's type is (or is derived from) a specialization of the deduced
template, skip the std::initializer_list special case.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@312703 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-07 07:22:36 +00:00
Richard Smith 23ba1d5f98 [cxx_status] Update to describe current status a bit better.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@312191 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-30 23:10:31 +00:00
Richard Smith 81950801a4 [c++2a] P0683R1: Permit default member initializers for bit-fields.
This would be trivial, except that our in-memory and serialized representations
for FieldDecls assumed that this can't happen.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311867 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-28 00:28:14 +00:00
Richard Smith 919821dc09 [c++2a] P0704R1: Allow pointers to const& member functions to be called on rvalues.
Patch by Blitz Rakete!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311744 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-25 01:47:55 +00:00
Faisal Vali 477f579e67 [c++2a] Implement P0409R2 - Allow lambda capture [=,this] (by hamzasood)
This patch, by hamzasood, implements P0409R2, and allows [=, this] pre-C++2a as an extension (with appropriate warnings) for consistency.

https://reviews.llvm.org/D36572

Thanks Hamza!





git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311224 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-19 03:43:07 +00:00
Richard Smith 6a95db8f12 Implement latest feature test macro recommendations, P0096R4.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310694 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-11 03:39:40 +00:00
Richard Smith 5fd56ae466 Update cxx_status to mention the upcoming Clang 5 release.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310693 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-11 03:16:11 +00:00
Richard Smith 1283f01822 [cxx_status] Fix typos.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308101 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-15 15:51:59 +00:00
Richard Smith 86f8aca411 [cxx_status] Add approved Toronto WG21 motions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308099 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-15 15:42:36 +00:00
Richard Smith aeba831c57 [cxx_status] Update link to Modules TS to latest working draft. Fix Coroutines TS flag to work if copy-pasted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307231 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-06 00:29:13 +00:00
Gor Nishanov 689832e718 [coroutines] www/cxx_status.html: add non-breaking hyphen
Reviewers: GorNishanov

Reviewed By: GorNishanov

Subscribers: EricWF, rsmith, cfe-commits

Differential Revision: https://reviews.llvm.org/D33632

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304092 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-28 17:35:23 +00:00
Gor Nishanov 91aadf50f7 [coroutines] www/cxx_status.html: add non-breaking hyphen
Reviewers: GorNishanov

Reviewed By: GorNishanov

Subscribers: EricWF, rsmith, cfe-commits

Differential Revision: https://reviews.llvm.org/D33632

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304091 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-28 16:25:31 +00:00
Gor Nishanov ee89bdd944 [coroutines] Mark cxx_status.html of Coroutines TS as (SVN)
Summary: It is time!

Reviewers: GorNishanov, rsmith

Reviewed By: GorNishanov, rsmith

Subscribers: EricWF, rsmith, cfe-commits

Differential Revision: https://reviews.llvm.org/D33624

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@304081 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-27 22:54:52 +00:00
George Burgess IV 530e88891b [docs] Point coroutine link to an actual document
Unsure if there's a better document, but what we had before led to a
404. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303962 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-26 02:56:51 +00:00
Ed Schouten c08458fa59 Make table cells referring to Clang 4 green, as Clang 4 has been released.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297956 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-16 14:21:00 +00:00
Richard Smith 31ea0cb099 [c++1z] Mark constexpr lambdas as done on status page and start advertising
them via feature test macro __cpp_constexpr.

Thanks to Faisal for implementing this feature!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295791 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-21 23:58:29 +00:00
Richard Smith 73de459c12 [c++1z] Diagnose non-deducible template parameters in deduction guide templates, per [temp.param]p11.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295264 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-16 00:36:47 +00:00
Richard Smith ee8fbfe778 [c++1z] Add some more tests for class template argument deduction, add
feature-test macro, and mark feature as done on status page.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295011 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-14 00:55:25 +00:00
Richard Smith 32f0979f8f Disallow explicit instantiation and explicit specialization for deduction guides.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294641 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-09 22:47:51 +00:00
Richard Smith 71e0414411 Update C++ status pages for Clang 4 branch:
* Update version number in DR tests from 4.0 to 4
 * Teach make_cxx_dr_status script about version numbers that don't contain a
   period.
 * Update cxx_status.html and cxx_dr_status.html to list Clang 4 features as
   "Clang 4" rather than "SVN"

Clang 4 features are still listed in yellow rather than green until release.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291871 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-13 00:57:54 +00:00
Richard Smith 2faed1c47d [c++17] Implement P0522R0 as written. This allows a template template argument
to be specified for a template template parameter whenever the parameter is at
least as specialized as the argument (when there's an obvious and correct
mapping from uses of the parameter to uses of the argument). For example, a
template with more parameters can be passed to a template template parameter
with fewer, if those trailing parameters have default arguments.

This is disabled by default, despite being a DR resolution, as it's fairly
broken in its current state: there are no partial ordering rules to cope with
template template parameters that have different parameter lists, meaning that
code that attempts to decompose template-ids based on arity can hit unavoidable
ambiguity issues.

The diagnostics produced on a non-matching argument are also pretty bad right
now, but I aim to improve them in a subsequent commit.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290792 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-31 21:41:23 +00:00
Richard Smith 8c242d5d5c [c++1z] cxx_status: mark p0195r2 as done.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290081 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-19 04:16:03 +00:00
Richard Smith 631f1e728a [c++1z] P0217R3: Allow by-value structured binding of arrays.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289630 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14 03:22:16 +00:00
Richard Smith 1f0155f243 [c++1z] P0003R5: Removing dynamic exception specifications.
We continue to support dynamic exception specifications in C++1z as an
extension, but produce an error-by-default warning when we encounter one. This
allows users to opt back into the feature with a warning flag, and implicitly
opts system headers back into the feature should they happen to use it.

There is one semantic change implied by P0003R5 but not implemented here:
violating a throw() exception specification should now call std::terminate
directly instead of calling std::unexpected(), but since P0003R5 also removes
std::unexpected() and std::set_unexpected, and the default unexpected handler
calls std::terminate(), a conforming C++1z program cannot tell that we are
still calling it. The upside of this strategy is perfect backwards
compatibility; the downside is that we don't get the more efficient 'noexcept'
codegen for 'throw()'.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289019 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-08 02:49:07 +00:00
Richard Smith 9d208e19f4 [c++17] P0135R1: Guaranteed copy elision.
When an object of class type is initialized from a prvalue of the same type
(ignoring cv qualifications), use the prvalue to initialize the object directly
instead of inserting a redundant elidable call to a copy constructor.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288866 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-06 23:52:28 +00:00
Richard Smith 19dc4350b1 P0012R1: add Itanium ABI support for throwing non-noexcept function pointers and catching as noexcept.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288305 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01 03:32:42 +00:00
Richard Smith f865452420 Revert r285664, cxx-abi-dev chose to go in a different direction for the ABI here.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288304 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01 03:04:07 +00:00
Richard Smith af0fec2269 [c++1z] std::byte didn't make it
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286685 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 00:15:24 +00:00
Richard Smith cb6ec333b7 [c++1z] Two more features have been accepted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286681 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 23:51:47 +00:00
Richard Smith 8b5e03abf8 [c++1z] p0522 is approved.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286679 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 23:46:25 +00:00
Richard Smith bb0cd366a7 [cxx_status] Prepare features list for WG21 motions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286660 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 22:48:43 +00:00
Richard Smith ea6bc23d76 Implement ABI proposal for throwing noexcept function pointers, per discussion
on cxx-abi-dev (thread starting 2016-10-11). This is currently hidden behind a
cc1-only -m flag, pending discussion of how best to deal with language changes
that require use of new symbols from the ABI library.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285664 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-01 01:34:46 +00:00
Richard Smith 25ea2c6bf2 [cxx_status] update comment
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@285154 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-26 01:37:36 +00:00
Richard Smith fdc43f7870 Mark P0012R1 as "Partial" since it's now substantially complete.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284907 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-22 01:35:34 +00:00