aboutsummaryrefslogtreecommitdiff
path: root/www/cxx_status.html
AgeCommit message (Collapse)Author
2013-05-21Merging r181283:Bill Wendling
------------------------------------------------------------------------ r181283 | rsmith | 2013-05-06 19:55:48 -0700 (Mon, 06 May 2013) | 6 lines C++ status: - fix paper links to point to isocpp.org, where most of the papers are already up - update "SVN" features to "Clang 3.3" to distinguish them from features which we complete after the branch - document use of -std=c++1y to enable c++1y support ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_33@182341 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-04Tweaks to C++ status: add a link to Faisal's generic lambdas implementation,Richard Smith
and mark "clarifying memory allocation" as done, since it turns out that our optimizations here (such as they are) already conform to the new rules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181110 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-04More colours for C++ status page, and mark relaxed constexpr as partially ↵Richard Smith
complete. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181109 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-04Implement most of N3638 (return type deduction for normal functions).Richard Smith
Missing (somewhat ironically) is support for the new deduction rules in lambda functions, plus PCH support for return type patching. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181108 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-26Implement C++1y decltype(auto).Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180610 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20C++1y: Allow aggregates to have default initializers.Richard Smith
Add a CXXDefaultInitExpr, analogous to CXXDefaultArgExpr, and use it both in CXXCtorInitializers and in InitListExprs to represent a default initializer. There's an additional complication here: because the default initializer can refer to the initialized object via its 'this' pointer, we need to make sure that 'this' points to the right thing within the evaluation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179958 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Add note that some of these links are dead for now.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179950 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20VLAs in C++14!Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179949 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Variable templates and generic lambdas are approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179947 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Clarifying memory allocation: approved for C++14. Move from N/A to no, since ↵Richard Smith
we currently relax 'operator new' calls which didn't come from new-expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179946 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20No digit separators for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179945 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Generalized constexpr is approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179944 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20More approved C++14 features.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179943 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-20Binary literals are approved for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179942 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Note that we support (and in fact have supported since the dawn of time itself)Richard Smith
C++1y binary literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179883 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19Initial work on status page for C++14.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179864 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-19C++11 support is now feature-complete.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179861 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-10Add support for computing the exception specification for an inheritingRichard Smith
constructor. This isn't quite perfect (as usual, we don't handle default arguments correctly yet, and we don't deal with copy/move constructors for arguments correctly either, but this will be fixed when we implement core issue 1351. This completes our support for inheriting constructors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179154 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18Add a linebreak. Linebreaks are cool.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177325 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-18C++11 status: mark 'extended integral types' as N/A, since we don't supportRichard Smith
any, and add a note that we cannot treat __int128 as an extended integral type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177324 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-12Make C++11 status page more consistent: we mark entries as "done" if weRichard Smith
implement correct functionality, even if it's not optimal. On this basis, mark "data dependency ordering" as done. Add footnotes for cases where our implementation is known to be suboptimal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176891 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-10www tweaks to embiggen up our near-complete C++11 and C11 support.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176781 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-22C++11 status page:Richard Smith
* Mark attributes as done in SVN. * Downgrade alignment support from 'Clang 3.0' to 'SVN', now that we actually implement the rules. * Upgrade 'Dynamic initialization with concurrency' from 'No' to 'Clang 2.9' -- all that is required here is the ABI-mandated locking for the initialization of static locals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175882 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-29C++11 status:Richard Smith
* Mark 'sequence points' as done now we have a warning for unsequenced operations * Mark 'memory model' as done now we correctly model bitfield operations git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173771 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-23Ugly ugly hack for libstdc++-4.6 and libstdc++-4.7 compatibility. TheseRichard Smith
libraries have an incorrect definition of std::common_type (inherited from a bug in the standard -- see LWG issue 2141), whereby they produce reference types when they should not. If we instantiate a typedef named std::common_type<...>::type, which is defined in a system header as decltype(... ? ... : ...), and the decltype produces a reference type, convert it to the non-reference type. (This doesn't affect any LWG2141-conforming implementation of common_type, such as libc++'s, because the default implementation of common_type<...>::type isn't supposed to produce a reference type.) This is horrible. I'm really sorry. :( Better ideas appreciated! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166455 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04libstdc++-4.6 needs the same common_type fix as libstdc++-4.7. Other than that,Richard Smith
Clang can now cope with its eccentricities in C++11 mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165265 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Clang 3.1 is out: turn the relevant C++11 status boxes green.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-20c++11 status: Replace references to "SVN" with "3.1" to avoid confusion when ↵Benjamin Kramer
they diverge. Color is still yellow, as 3.1 isn't released yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155217 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19In an attempt to reduce confusion, mark 'Strong compare exchange' as done, sinceRichard Smith
we generate correct code for both strong and weak atomic compare-exchanges, even though we don't propagate to the IR enough information to generate optimal weak compare-exchanges on architectures which support them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155161 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-17Link to a tiny patch to libstdc++-4.7 to work around the <chrono> issuesRichard Smith
from the C++ status page. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154890 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-13Now that we provide sufficient support for three C11/C++11 atomicsRichard Smith
implementations, mark the atomics-related parts of the C++11 status page as done. I've not marked 'Strong Compare and Exchange' done, since although we implement supporting builtins, we don't yet produce different code for the weak and strong forms. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154644 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-10Add a query macro for C++11 N3276, decltype does not require completeDouglas Gregor
return types, from Michel Morin! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154428 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-26Forward-declared enumerations are now complete, except for an interactionRichard Smith
between unscoped enumerations and class template member specializations, whose behavior is currently under discussion in CWG (and for which there is a preference to not implement the currently-standardized wording). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153464 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Revert accidentally-committed www changes (and an unused diagnostic);Richard Smith
forward-declared enums aren't /quite/ done yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153350 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23When defining a forward-declared enum, don't try to attach the definition toRichard Smith
a previous declaration if the redeclaration is invalid. That way lies madness. Fixes a crash-on-invalid reported by Abramo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153349 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-14Instantiating a class template should not instantiate the definition of anyRichard Smith
scoped enumeration members. Later uses of an enumeration temploid as a nested name specifier should cause its instantiation. Plus some groundwork for explicit specialization of member enumerations of class templates. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152750 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-11cxx_status: No compiler changes are required for 'minimal support for garbageRichard Smith
collection'. Keep it in the table to match gcc's table, but mark it N/A. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152528 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09Improve diagnostics for UCNs referring to control characters and members of theRichard Smith
basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done. This seems too minor to warrant a release note to me. Let me know if you disagree. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152444 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09User-defined literals are done.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152396 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-03Add a pile of tests for unrestricted unions, and advertise support for them.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151992 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-25Initializer lists are now supported.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151458 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-24cxx_status: Consistently refer to C++11 as "C++11", not as "C++'11" nor asRichard Smith
"C++0x". Use "C++98" to refer to C++98, not "C++". Add heading for C++98 support section. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151381 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-24cxx_status: extended sizeof has been essentially complete for some time. AsRichard Smith
agreed on IRC, any remaining issues are best dealt with as bugs. We have no __has_feature check for this; please shout if you'd like one. This feature seems too small to be worth its own release notes bullet (again, please shout if you disagree). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151380 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23Tweak C++ status table:Douglas Gregor
- Apparently, SVN is yellow - Note that initializer lists are "in progress" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151232 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23Clang now supports lambda expressions.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-14I hereby declare that all remaining constexpr issues are bugs, not unimplementedRichard Smith
features. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150522 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-12Revert accidentally-committed file in r148020.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148021 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-12Allow constant-folding of references which were formed in a manner not permittedRichard Smith
in a constant expression, for compatibility with g++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148020 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-05Fix markup weirdness.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143803 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02Fixing some dead links. Patch by Jean-Daniel Dupas!David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143539 91177308-0d34-0410-b5e6-96231b3b80d8