David Majnemer
7da2302780
Mark DR1948 as implemented
...
llvm-svn: 229827
2015-02-19 07:28:55 +00:00
David Majnemer
54dc82e1d2
Mark DR1994 as a duplicate of DR529
...
llvm-svn: 229826
2015-02-19 07:28:52 +00:00
David Majnemer
2dbad01349
Mark DR1968 as implemented
...
llvm-svn: 229825
2015-02-19 07:28:49 +00:00
Richard Smith
3cfad7ee25
Update cxx_dr_status to cover dr1748 and add test.
...
llvm-svn: 229229
2015-02-14 03:38:31 +00:00
Larisse Voufo
4891e74c39
Re-arrange DR test cases, and update DR status page.
...
llvm-svn: 227279
2015-01-28 01:01:21 +00:00
Richard Smith
48372b68fe
DR1902: if overload resolution recurses, and the inner overload resolution
...
selects a deleted function, the outer function is still a candidate even though
the initialization sequence is "otherwise ill-formed".
llvm-svn: 227169
2015-01-27 03:30:40 +00:00
Hans Wennborg
a38fb96796
Update cxx_dr_status.html after 3.6 branch
...
llvm-svn: 226008
2015-01-14 18:14:00 +00:00
Richard Smith
5a0e50cd87
DR1048: drop top-level cv-qualifiers when deducing the return type of a
...
lambda-expression in C++11, to match the C++14 rules.
llvm-svn: 224620
2014-12-19 22:10:51 +00:00
Richard Smith
d52186ff5a
DR1684: a constexpr member function need not be a member of a literal class type.
...
llvm-svn: 224388
2014-12-16 23:12:52 +00:00
Richard Smith
0680d8aa68
Per comments on PR12350, move DR244 back from 'done' to 'partial' and add tests showing what we get wrong.
...
llvm-svn: 220009
2014-10-17 01:03:17 +00:00
Richard Smith
31563ef090
Tests for DR600-640.
...
llvm-svn: 218591
2014-09-29 06:03:56 +00:00
Richard Smith
2d525eb9ad
Tests for DR581-600.
...
llvm-svn: 217844
2014-09-15 22:56:03 +00:00
Richard Smith
c0d20ef22a
Update DR status list to reflect that Clang 3.5 has been released.
...
llvm-svn: 217608
2014-09-11 17:29:13 +00:00
Richard Smith
414598e20a
Tests for DR573-580.
...
llvm-svn: 217606
2014-09-11 17:28:14 +00:00
Richard Smith
8c9d2c7cc5
Remove suppression of dr547 test and instead test that deduction succeeds if we
...
use __thiscall. (This doesn't actually work for MSVC; they don't allow the
__thiscall qualifier here, but it's sufficient to demonstrate that we do
implement the intent of the DR.)
llvm-svn: 217213
2014-09-05 00:17:00 +00:00
Richard Smith
a10a16264f
Tests for DR550-572.
...
llvm-svn: 216953
2014-09-02 21:29:16 +00:00
Richard Smith
fb640501a2
Tests for DR525-550.
...
llvm-svn: 216834
2014-08-31 03:06:20 +00:00
Richard Smith
8de08a9627
Update DR page for latest revision of CWG issues list.
...
llvm-svn: 210130
2014-06-03 21:58:55 +00:00
Richard Smith
454a7cdfb3
Implement DR990 and DR1070. Aggregate initialization initializes uninitialized
...
elements from {}, rather than value-initializing them. This permits calling an
initializer-list constructor or constructing a std::initializer_list object.
(It would also permit initializing a const reference or rvalue reference if
that weren't explicitly prohibited by other rules.)
llvm-svn: 210091
2014-06-03 08:26:00 +00:00
David Majnemer
e37a6ce9f7
Sema: Implement DR244
...
Summary:
Naming the destructor using a typedef-name for the class-name is
well-formed.
This fixes PR19620.
Reviewers: rsmith, doug.gregor
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3583
llvm-svn: 209319
2014-05-21 20:19:59 +00:00
Richard Smith
6fdeaabda9
Correct incoherent function versus function template partial ordering for conversion operators (the comparison could claim that two conversion operators are both better than each other). Actually implement DR495, rather than passing its test by chance because the declarations happened to be in the "lucky" order.
...
llvm-svn: 209054
2014-05-17 01:58:45 +00:00
David Majnemer
a2245271af
Revert "Sema: Implement DR244"
...
This was accidentally committed.
This reverts commit r207892.
llvm-svn: 207893
2014-05-03 02:22:11 +00:00
David Majnemer
22fcb08357
Sema: Implement DR244
...
Naming the destructor using a typedef-name for the class-name is
well-formed.
This fixes PR19620.
llvm-svn: 207892
2014-05-03 02:18:46 +00:00
David Majnemer
deca705593
Sema: Implement DR477
...
Summary: Friend declarations shouldn't mention explicit or virtual.
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3562
llvm-svn: 207682
2014-04-30 18:24:01 +00:00
Richard Smith
c7f9bb1757
Tests for DR501-525.
...
llvm-svn: 206123
2014-04-13 00:40:32 +00:00
Richard Smith
5557f6d678
Add failing testcase for DR305. Looks like we didn't implement the resolution
...
here in the simple-template-id case.
llvm-svn: 205273
2014-04-01 01:58:11 +00:00
David Majnemer
ee4f4025c3
Sema: Implement DR317
...
Summary:
Declaring a function as inline after it has been defined is in violation
of [dcl.fct.spec]p4. The program would get a strong definition instead
of getting a function with linkonce_odr linkage.
Reviewers: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D3220
llvm-svn: 205129
2014-03-30 06:44:54 +00:00
Richard Smith
6190ee65e1
Tests for dr475-dr500.
...
llvm-svn: 205127
2014-03-30 06:05:29 +00:00
Richard Smith
17710217fa
Tests for DR450-475.
...
llvm-svn: 204217
2014-03-19 08:04:12 +00:00
Richard Smith
ba41a73993
Tests for DR400-450.
...
llvm-svn: 204033
2014-03-17 08:20:10 +00:00
Richard Smith
4a558a44a0
Tests for DR389-399.
...
llvm-svn: 203771
2014-03-13 08:40:37 +00:00
Richard Smith
66204ecff9
DR1346: a parenthesized braced-init-list cannot be used as the initializer when
...
performing auto type deduction.
llvm-svn: 203683
2014-03-12 17:42:45 +00:00
Richard Smith
b81b196a58
Tests for DR381-388.
...
llvm-svn: 203549
2014-03-11 07:49:32 +00:00
Richard Smith
a13f8ae84e
DR status page: add link targets for individual DRs, and link duplicates.
...
llvm-svn: 203022
2014-03-05 23:02:47 +00:00
Richard Smith
faf156ad15
Tests for DR370-380.
...
Also promote a couple of Warnings on ill-formed code found by this testing to
ExtWarns.
llvm-svn: 203021
2014-03-05 22:54:58 +00:00
Richard Smith
2f0e4e78b2
Add tests for newly-resolved core issues <= 370.
...
llvm-svn: 202889
2014-03-04 21:14:30 +00:00
Richard Smith
37213e219b
Update DR status page to match post-Issaquah core issues list.
...
llvm-svn: 202886
2014-03-04 20:44:20 +00:00
David Majnemer
141a7b5402
Remove gunk from cxx_dr_status.html
...
Accidentally piped the stdout from make_cxx_dr_status into
cxx_dr_status.html
llvm-svn: 201634
2014-02-19 03:21:27 +00:00
David Majnemer
49864d6676
Regenerate DR status page.
...
llvm-svn: 201632
2014-02-19 03:03:21 +00:00
Richard Smith
cc4a72ecd2
Tests for DR351-370, plus update DR status page to match the latest core issue list.
...
llvm-svn: 201106
2014-02-10 19:53:17 +00:00
Richard Smith
18819307d3
DR101, PR12770: If a function is declared in the same context as a
...
using-declaration, and they declare the same function (either because
the using-declaration is in the same namespace as the declaration it
imports, or because they're both extern "C"), they do not conflict.
llvm-svn: 200897
2014-02-06 01:31:33 +00:00
Richard Smith
c94410bc8d
Tests for DR331-350.
...
llvm-svn: 200678
2014-02-03 06:34:23 +00:00
Richard Smith
209bbb7774
Update C++ DR page now 3.4 has been released.
...
llvm-svn: 200674
2014-02-03 02:40:25 +00:00
Richard Smith
91dfaacd38
Implement DR329. We already did the right thing here in C++98 mode, but r104014
...
(which implemented the DR) was disabled in C++11.
llvm-svn: 200673
2014-02-03 02:37:59 +00:00
Richard Smith
9f38709193
Tests for DR321-330.
...
llvm-svn: 200672
2014-02-03 02:13:49 +00:00
Richard Smith
6938adbd16
Tests for DR301-320.
...
llvm-svn: 200671
2014-02-03 01:23:27 +00:00
Richard Smith
6a6a4bbdd4
PR17052 / DR1560 (+DR1550): In a conditional expression between a glvalue and a
...
throw-expression, the result is also a glvalue and isn't unnecessarily coerced
to a prvalue.
llvm-svn: 200189
2014-01-27 04:19:56 +00:00
Richard Smith
8e6afd4785
Regenerate DR status page.
...
llvm-svn: 196893
2013-12-10 08:26:19 +00:00
Richard Smith
e7f5249913
Mark auto-generated file as auto-generated, as suggested by Alp.
...
llvm-svn: 196534
2013-12-05 21:08:20 +00:00
Alp Toker
f6a24ce40f
Fix a tranche of comment, test and doc typos
...
llvm-svn: 196510
2013-12-05 16:25:25 +00:00
Richard Smith
a230224be4
Implement DR482: namespace members can be redeclared with a qualified name
...
within their namespace, and such a redeclaration isn't required to be a
definition any more.
Update DR status page to say Clang 3.4 instead of SVN and add new Clang 3.5
category (but keep Clang 3.4 yellow for now).
llvm-svn: 196481
2013-12-05 07:51:02 +00:00
Alp Toker
d473363876
Correct hyphenations in comments and assert messages
...
This patch tries to avoid unrelated changes other than fixing a few
hyphen-related ambiguities in nearby lines.
llvm-svn: 196466
2013-12-05 04:47:09 +00:00
Alp Toker
3b557ba3f6
Documentation typo corrections
...
llvm-svn: 196215
2013-12-03 06:53:39 +00:00
Richard Smith
ce42084402
Tests for core issues 270-300.
...
llvm-svn: 195626
2013-11-25 08:07:41 +00:00
Richard Smith
5327b86430
Tests for core issues 251-270.
...
llvm-svn: 194989
2013-11-18 05:24:03 +00:00
Richard Smith
3cde3d245a
Tests for core issue 241-250.
...
llvm-svn: 194951
2013-11-17 06:39:43 +00:00
Richard Smith
7101fd0e56
Tests for core issues 224-240.
...
llvm-svn: 194946
2013-11-17 02:50:30 +00:00
Richard Smith
b09a4fe192
Tests for core issue 216-223.
...
llvm-svn: 194795
2013-11-15 08:55:01 +00:00
Richard Smith
00f5d8927b
DR408: If a static data member of incomplete array type is declared in a class
...
template, that member has a dependent type (even if we can see the definition
of the member of the primary template), because the array size could change in
a member specialization.
Patch by Karthik Bhat!
llvm-svn: 194740
2013-11-14 22:40:45 +00:00
Richard Smith
8c98c1e704
Tests for core issue 201-215.
...
llvm-svn: 194458
2013-11-12 09:16:15 +00:00
Richard Smith
c8f7fd10a9
Tests for core issue 170-200.
...
llvm-svn: 194240
2013-11-08 02:05:54 +00:00
Richard Smith
786d8a26f2
Tests for CWG issue 165-170.
...
llvm-svn: 194215
2013-11-07 19:26:14 +00:00
Richard Smith
14bdd7a925
Tests for DR150 - DR165.
...
llvm-svn: 194192
2013-11-07 06:24:09 +00:00
Richard Smith
677fb06cec
Update cxx_dr_status.html to match current cwg issue list.
...
llvm-svn: 194189
2013-11-07 05:34:58 +00:00
Richard Smith
541b38be7b
Switch the semantic DeclContext for a block-scope declaration of a function or
...
variable from being the function to being the enclosing namespace scope (in
C++) or the TU (in C). This allows us to fix a selection of related issues
where we would build incorrect redeclaration chains for such declarations, and
fail to notice type mismatches.
Such declarations are put into a new IdentifierNamespace, IDNS_LocalExtern,
which is only found when searching scopes, and not found when searching
DeclContexts. Such a declaration is only made visible in its DeclContext if
there are no non-LocalExtern declarations.
llvm-svn: 191064
2013-09-20 01:15:31 +00:00
David Majnemer
502b0ed264
Implement DR136
...
Friend declarations that specify a default argument must be a definition
and the only declaration in the translation unit.
llvm-svn: 184889
2013-06-25 23:09:30 +00:00
David Majnemer
ba8f17ac10
Implement DR21
...
A default template-argument shall not be specified in a friend template
declaration.
Interestingly, we properly handled default template arguments on friend
class members but not on just friend classes.
llvm-svn: 184882
2013-06-25 22:08:55 +00:00
Richard Smith
39b7968ccb
DR14, DR101, and part of DR1: fix handling of extern "C" declarations in
...
namespaces, by treating them just like we treat extern "C" declarations in
function scope.
llvm-svn: 184223
2013-06-18 20:15:12 +00:00
Richard Smith
895d6952d6
Add tests for C++ DR100-150.
...
llvm-svn: 184057
2013-06-16 08:00:51 +00:00
David Majnemer
66ad574f40
Implement DR61: Address of ambiguous bound methods should be disallowed
...
DR61 affirms that expressions containing unresolved member access should
be disallowed when performing "address of" operations.
llvm-svn: 183723
2013-06-11 03:56:29 +00:00
David Majnemer
55890bfaa6
Implement DR85: Redeclaration of member is forbidden
...
Disallow the existence of a declaration of a member class that isn't a
forward declaration before it's definition.
llvm-svn: 183722
2013-06-11 03:51:23 +00:00
Richard Smith
b7df8a7014
Tests and status for DR51-99.
...
llvm-svn: 182720
2013-05-26 22:03:53 +00:00
Richard Smith
10bb5b90ed
Tests and status for core issues 1-50.
...
llvm-svn: 182207
2013-05-19 07:22:38 +00:00
Richard Smith
c8adfc8957
Start a page tracking which C++ defect reports have been implemented in Clang.
...
The page is generated from a text file listing DR numbers and implementation
status, plus a copy of the cwg_index.html from the WG21 website. Recipe:
$ wget http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html
$ ./make_cxx_dr_status >! cxx_dr_status.html
The intent here is to go through all the DRs, add tests for each one, then mark
them as done once such tests are committed and passing. I've not linked to this
page from anywhere, since it doesn't contain any useful information yet.
llvm-svn: 181967
2013-05-16 01:23:30 +00:00