Implement P0195R2, C++17 variadic using.
[gcc.git] / gcc / cp / ChangeLog
1 2017-01-09 Jason Merrill <jason@redhat.com>
2
3 Implement P0195R2, C++17 variadic using.
4 * parser.c (cp_parser_using_declaration): Handle ellipsis and comma.
5 * pt.c (tsubst_decl): Handle pack expansion in USING_DECL_SCOPE.
6 * error.c (dump_decl): Likewise.
7
8 2017-01-09 Jakub Jelinek <jakub@redhat.com>
9
10 PR translation/79019
11 PR translation/79020
12 * semantics.c (finish_omp_clauses): Add missing whitespace to
13 translatable strings.
14 * cp-cilkplus.c (cpp_validate_cilk_plus_loop_aux): Fix comment typo.
15
16 2017-01-07 Jason Merrill <jason@redhat.com>
17
18 PR c++/78948 - instantiation from discarded statement
19 * parser.h (struct cp_parser): Remove in_discarded_stmt field.
20 * cp-tree.h (in_discarded_stmt): Declare it.
21 (struct saved_scope): Add discarded_stmt bitfield.
22 (in_discarded_stmt): New macro.
23 * decl2.c (mark_used): Check it.
24 * parser.c (cp_parser_selection_statement): Adjust.
25 (cp_parser_jump_statement): Adjust.
26
27 2017-01-05 Jakub Jelinek <jakub@redhat.com>
28
29 PR c++/78931
30 * decl.c (cp_finish_decomp): Remove probe variable, if tt is
31 REFERENCE_REF_P, set tt to its operand.
32
33 PR c++/78890
34 * class.c (check_field_decls): Diagnose REFERENCE_TYPE fields in
35 unions even for C++11 and later.
36
37 2017-01-05 Nathan Sidwell <nathan@acm.org>
38
39 PR c++/78765
40 * pt.c (convert_nontype_argument): Don't try and see if integral
41 or enum expressions are constants prematurely.
42
43 2017-01-04 Marek Polacek <polacek@redhat.com>
44
45 PR c++/64767
46 * typeck.c (cp_build_binary_op): Warn when a pointer is compared with
47 a zero character literal.
48
49 2017-01-04 Jakub Jelinek <jakub@redhat.com>
50
51 PR c++/78949
52 * typeck.c (cp_build_unary_op): Call mark_rvalue_use on arg if it has
53 vector type.
54
55 PR c++/78693
56 * parser.c (cp_parser_simple_declaration): Only complain about
57 inconsistent auto deduction if auto_result doesn't use auto.
58
59 * parser.c (cp_parser_simple_declaration): Diagnose function
60 declaration among more than one init-declarators with auto
61 specifier.
62
63 PR c++/71182
64 * parser.c (cp_lexer_previous_token): Use vec_safe_address in the
65 assertion, as lexer->buffer may be NULL.
66
67 2017-01-04 Marek Polacek <polacek@redhat.com>
68
69 PR c++/77545
70 PR c++/77284
71 * constexpr.c (potential_constant_expression_1): Handle CLEANUP_STMT.
72
73 2017-01-04 Nathan Sidwell <nathan@acm.org>
74
75 PR c++/66735
76 * cp-tree.h (DECLTYPE_FOR_REF_CAPTURE): New.
77 (lambda_capture_field_type): Update prototype.
78 * lambda.c (lambda_capture_field_type): Add is_reference parm.
79 Add referenceness here.
80 (add_capture): Adjust lambda_capture_field_type call, refactor
81 error checking.
82 * pt.c (tsubst): Adjust lambda_capture_field_type call.
83
84 2017-01-01 Jakub Jelinek <jakub@redhat.com>
85
86 Update copyright years.
87 \f
88 Copyright (C) 2017 Free Software Foundation, Inc.
89
90 Copying and distribution of this file, with or without modification,
91 are permitted in any medium without royalty provided the copyright
92 notice and this notice are preserved.