aboutsummaryrefslogtreecommitdiff
path: root/www
AgeCommit message (Collapse)Author
2017-07-08[analyzer] Fix a path in the developer manualGabor Horvath
Patch by: Reka Nikolett Kovacs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307468 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-06[cxx_status] Update link to Modules TS to latest working draft. Fix ↵Richard Smith
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-03fix trivial typos in comments; NFCHiroshi Inoue
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307007 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-28[coroutines] www/cxx_status.html: add non-breaking hyphenGor Nishanov
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[coroutines] www/cxx_status.html: add non-breaking hyphenGor Nishanov
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-27[coroutines] Mark cxx_status.html of Coroutines TS as (SVN)Gor Nishanov
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-26[docs] Point coroutine link to an actual documentGeorge Burgess IV
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-25Update the getting started documentation to match the corresponding LLVM ↵Aaron Ballman
commit in r303912. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@303913 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09[Sema] Implement Core 2094: Trivial copy/move constructor for class with ↵Eric Fiselier
volatile member Summary: This patch implements http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2094 which reverts Core 496. Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D32984 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302593 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-09Update Clang C++ DR documentation for new issue listEric Fiselier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302592 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-17Implement DR 373 "Lookup on namespace qualified name in using-directive"Matthias Gehre
Summary: 3.4.6 [basic.lookup.udir] paragraph 1: In a using-directive or namespace-alias-definition, during the lookup for a namespace-name or for a name in a nested-name-specifier, only namespace names are considered. Reviewers: rsmith, aaron.ballman Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30848 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298126 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-16Make table cells referring to Clang 4 green, as Clang 4 has been released.Ed Schouten
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297956 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-10[analyzer] Extend block in critical section check with C11 and Pthread APIs.Gabor Horvath
Patch by Zoltan Daniel Torok! Differential Revision: https://reviews.llvm.org/D29567 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297461 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-25Update cxx_dr_status page.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296276 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-21[c++1z] Mark constexpr lambdas as done on status page and start advertisingRichard Smith
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-16[c++1z] Diagnose non-deducible template parameters in deduction guide ↵Richard Smith
templates, per [temp.param]p11. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295264 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-14[c++1z] Add some more tests for class template argument deduction, addRichard Smith
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-09Disallow explicit instantiation and explicit specialization for deduction ↵Richard Smith
guides. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294641 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-20Finish implementation of C++ DR1310 (http://wg21.link/cwg1310).Richard Smith
Diagnose the case when a dependent template name instantiates to an injected-class-name outside a nested-name-specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292545 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-19PR13403 (+duplicates): implement C++ DR1310 (http://wg21.link/cwg1310).Richard Smith
Under this defect resolution, the injected-class-name of a class or class template cannot be used except in very limited circumstances (when declaring a constructor, in a nested-name-specifier, in a base-specifier, or in an elaborated-type-specifier). This is apparently done to make parsing easier, but it's a pain for us since we don't know whether a template-id using the injected-class-name is valid at the point when we annotate it (we don't yet know whether the template-id will become part of an elaborated-type-specifier). As a tentative resolution to a perceived language defect, mem-initializer-ids are added to the list of exceptions here (they generally follow the same rules as base-specifiers). When the reference to the injected-class-name uses the 'typename' or 'template' keywords, we permit it to be used to name a type or template as an extension; other compilers also accept some cases in this area. There are also a couple of corner cases with dependent template names that we do not yet diagnose, but which will also get this treatment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292518 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-18PR9551: Implement DR1004 (http://wg21.link/cwg1004).Richard Smith
This rule permits the injected-class-name of a class template to be used as both a template type argument and a template template argument, with no extra syntax required to disambiguate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292426 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-13Implement DR1265 (wg21.link/cwg1265).Richard Smith
Diasllow a declaration using the 'auto' type specifier from using two different meanings of it at once, or from declaring multiple functions with deduced return types or introducing multiple trailing return types. The standard does not technically disallow the multiple trailing return types case if all the declarators declare variables (such as function pointers with trailing return types), but we disallow that too, following the clear intent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291880 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-13Update C++ status pages for Clang 4 branch:Richard Smith
* 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-12[Docs][OpenCL] Added OpenCL feature description to Clang documentation.Anastasia Stulova
Updated index and UsersManual with OpenCL description. Review: https://reviews.llvm.org/D28080 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291780 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-09Implement C++ DR1391 (wg21.link/cwg1391)Richard Smith
Check for implicit conversion sequences for non-dependent function template parameters between deduction and substitution. The idea is to accept as many cases as possible, on the basis that substitution failure outside the immediate context is much more common during substitution than during implicit conversion sequence formation. This re-commits r290808, reverted in r290811 and r291412, with a couple of fixes for handling of explicitly-specified non-trailing template argument packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291427 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-09Implement DR1388 (wg21.link/cwg1388).Richard Smith
This issue clarifies how deduction proceeds past a non-trailing function parameter pack. Essentially, the pack itself is skipped and consumes no arguments (except for those implied by an explicitly-specified template arguments), and nothing is deduced from it. As a small fix to the standard's rule, we do not allow subsequent deduction to change the length of the function parameter pack (by preventing extension of the explicitly-specified pack if present, and otherwise deducing all contained packs to empty packs). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291425 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-09Revert r291410 and r291411.Richard Smith
The test-suite bots are still failing even after r291410's fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291412 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-09Implement C++ DR1391 (wg21.link/cwg1391)Richard Smith
Check for implicit conversion sequences for non-dependent function template parameters between deduction and substitution. The idea is to accept as many cases as possible, on the basis that substitution failure outside the immediate context is much more common during substitution than during implicit conversion sequence formation. This re-commits r290808, reverted in r290811, with a fix for handling of explicitly-specified template argument packs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291410 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-02Revert "DR1391: Check for implicit conversion sequences for non-dependent ↵Renato Golin
function template parameters between deduction and substitution. The idea is to accept as many cases as possible, on the basis that substitution failure outside the immediate context is much more common during substitution than during implicit conversion sequence formation." This reverts commit r290808, as it broken all ARM and AArch64 test-suite test: MultiSource/UnitTests/C++11/frame_layout Also, please, next time, try to write a commit message in according to our guidelines: http://llvm.org/docs/DeveloperPolicy.html#commit-messages git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290811 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-02DR1391: Check for implicit conversion sequences for non-dependent functionRichard Smith
template parameters between deduction and substitution. The idea is to accept as many cases as possible, on the basis that substitution failure outside the immediate context is much more common during substitution than during implicit conversion sequence formation. This does not implement the partial ordering portion of DR1391, which so far appears to be misguided. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290808 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-31[c++17] Implement P0522R0 as written. This allows a template template argumentRichard Smith
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-28DR1315: a non-type template argument in a partial specialization is permittedRichard Smith
to make reference to template parameters. This is only a partial implementation; we retain the restriction that the argument must not be type-dependent, since it's unclear how that would work given the existence of other language rules requiring an exact type match in this context, even for type-dependent cases (a question has been raised on the core reflector). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290647 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-27DR1495: A partial specialization is ill-formed if it is not (strictly) moreRichard Smith
specialized than the primary template. (Put another way, if we imagine there were a partial specialization matching the primary template, we should never select it if some other partial specialization also matches.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290593 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-19[c++1z] cxx_status: mark p0195r2 as done.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290081 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-14[c++1z] P0217R3: Allow by-value structured binding of arrays.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289630 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-09Add tests for a couple more DRs.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289258 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-09cxx_dr_status: update to latest issue list and add a couple more tests.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289255 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-08[c++1z] P0003R5: Removing dynamic exception specifications.Richard Smith
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-06[c++17] P0135R1: Guaranteed copy elision.Richard Smith
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-05DR1213: element access on an array xvalue or prvalue produces an xvalue. In theRichard Smith
latter case, a temporary array object is materialized, and can be lifetime-extended by binding a reference to the member access. Likewise, in an array-to-pointer decay, an rvalue array is materialized before being converted into a pointer. This caused IR generation to stop treating file-scope array compound literals as having static storage duration in some cases in C++; that has been rectified by modeling such a compound literal as an lvalue. This also improves clang's compatibility with GCC for those cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288654 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-03DR616, and part of P0135R1: member access (or pointer-to-member access) on aRichard Smith
temporary produces an xvalue, not a prvalue. Support this by materializing the temporary prior to performing the member access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288563 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01P0012R1: add Itanium ABI support for throwing non-noexcept function pointers ↵Richard Smith
and catching as noexcept. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288305 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-01Revert r285664, cxx-abi-dev chose to go in a different direction for the ABI ↵Richard Smith
here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@288304 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-16[www] Fix spelling error in checker release notes.Devin Coughlin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287105 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-16[www] Update analyzer website for release of checker-279Devin Coughlin
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287063 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-16PR23281: Fix implementation of DR1891 to implement the intent: that is, aRichard Smith
lambda-expression does not have a move-assignment operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@287057 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12Add instructions in clang get_started page about working with a monorepoMehdi Amini
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286696 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12[c++1z] std::byte didn't make itRichard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286685 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11[c++1z] Two more features have been accepted.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286681 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11[c++1z] p0522 is approved.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286679 91177308-0d34-0410-b5e6-96231b3b80d8