]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
re PR c++/55223 ([C++11] Default lambda expression of a templated class member)
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
ff9b4073
JM
12013-02-14 Jason Merrill <jason@redhat.com>
2
622aac0b
JM
3 PR c++/55223
4 * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Fix handling of
5 default argument scope.
6 * mangle.c (write_name): Likewise.
7
ff9b4073
JM
8 PR c++/55232
9 * error.c (find_typenames_r): Don't walk into a pack expansion.
10
78a2ea41
JM
112013-02-13 Jason Merrill <jason@redhat.com>
12
28d5c777
JM
13 PR c++/55670
14 * parser.c (cp_parser_member_declaration): Check the declarator
15 form when detecting a function declaration via typedef.
16
e75e98f2
JM
17 PR c++/55680
18 * pt.c (maybe_process_partial_specialization): A lambda
19 isn't what's being specialized.
20
43c2d791
JM
21 PR c++/55710
22 * semantics.c (maybe_add_lambda_conv_op): Mark static thunk
23 TREE_USED.
24
70fc7c6c
JM
25 PR c++/55879
26 * semantics.c (cxx_bind_parameters_in_call): Undo DECL_BY_REFERENCE.
27
58b922f8
JM
28 PR c++/55993
29 * semantics.c (cxx_fold_indirect_ref): Handle empty bases at
30 non-zero offsets, too.
31
d0d9cf0e
JM
32 PR c++/56155
33 * decl.c (build_enumerator): Always convert the value to a
34 fixed underlying type.
35
78a2ea41
JM
36 PR c++/56135
37 * pt.c (tsubst_copy_and_build): Don't forget any new
38 captures that arose from use of dependent names.
39
6760071f
JJ
402013-02-13 Jakub Jelinek <jakub@redhat.com>
41
42 PR c++/56302
43 * semantics.c (finish_asm_stmt): If input constraints allow
44 neither register nor memory, try maybe_constant_value to get
45 a constant if possible.
46
1f8aec00
JM
472013-02-12 Jason Merrill <jason@redhat.com>
48
d8af1a55
JM
49 PR c++/56285
50 * method.c (add_one_base_init): Handle base constructor
51 taking rvalue reference parm.
52
1f8aec00
JM
53 PR c++/56291
54 * semantics.c (sort_constexpr_mem_initializers): Handle
55 vptr out of order.
56
d982e024
JM
572013-02-09 Jason Merrill <jason@redhat.com>
58
ba9146c1
JM
59 PR c++/56268
60 * semantics.c (classtype_has_nothrow_assign_or_copy_p): Call
61 maybe_instantiate_noexcept.
62
25976b7f
JM
63 PR c++/56247
64 * pt.c (eq_specializations): Set comparing_specializations.
65 * tree.c (cp_tree_equal): Check it.
66 * cp-tree.h: Declare it.
67
8d40d877
JM
68 * decl.c (decls_match): Check versions later.
69
d982e024
JM
70 PR c++/56238
71 * pt.c (build_non_dependent_expr): Don't try to fold
72 instantiation-dependent expressions.
73 (instantiation_dependent_r) [TRAIT_EXPR]: Split out.
74 [BIND_EXPR]: Treat as dependent.
75
e6d7b956
JJ
762013-02-07 Jakub Jelinek <jakub@redhat.com>
77
f11c7048
JJ
78 PR c++/56241
79 * init.c (build_vec_init): Don't append NULL values into new_vec.
80 (build_zero_init_1): Don't push anything into v if recursive call
81 returned NULL_TREE.
82 (build_value_init_noctor): Don't push anything into v if
83 build_value_init call returned NULL_TREE.
84
2052ce24
JJ
85 PR c++/56239
86 * parser.c (cp_parser_token_starts_cast_expression): Renamed to...
87 (cp_parser_tokens_start_cast_expression): ... this. Change parameter
88 to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
89 return true only if 2nd token isn't CPP_CLOSE_PAREN.
90 (cp_parser_cast_expression): Adjust caller.
91
e6d7b956
JJ
92 PR c++/56237
93 * decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
94 only if DECL_DISCRIMINATOR_SET_P (t) rather than just
95 DECL_LANG_SPECIFIC (t).
96
702f9fe5
JM
972013-02-07 Jason Merrill <jason@redhat.com>
98
99 PR c++/56235
100 * method.c (do_build_copy_constructor): Don't bother turning
101 scalars from lvalues to xvalues.
102 (do_build_copy_assign): Likewise.
103
ceb86495
JM
1042013-02-06 Jason Merrill <jason@redhat.com>
105
106 * parser.c (cp_parser_enum_specifier): Check for error_mark_node.
107
29ef6cd0
JM
1082013-02-05 Jason Merrill <jason@redhat.com>
109
ea48c8a0
JM
110 PR c++/54122
111 * tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
112 METHOD_TYPE.
113
a283c407
JM
114 PR c++/56177
115 * decl.c (start_preparsed_function): Update restype if we change
116 decl1.
117
29ef6cd0
JM
118 PR c++/56208
119 * pt.c (fn_type_unification): Discard any access checks from
120 substituting explicit args.
121
b5fbde92
JM
1222013-01-31 Jason Merrill <jason@redhat.com>
123
124 PR c++/56162
125 PR c++/56104
126 * typeck.c (get_member_function_from_ptrfunc): Fix
127 ptrmemfunc_vbit_in_delta case.
128
2ee8a2d5
JM
1292013-01-29 Jason Merrill <jason@redhat.com>
130
131 PR libstdc++/54314
132 * class.c (build_ctor_vtbl_group): Give construction vtables
133 hidden visibility.
134
e18724aa
JM
1352013-01-25 Jason Merrill <jason@redhat.com>
136
d4a18018
JM
137 PR c++/56095
138 * pt.c (convert_nontype_argument_function): Handle invalid input.
139 (convert_nontype_argument): Likewise.
140
e18724aa
JM
141 PR c++/56104
142 * typeck.c (get_member_function_from_ptrfunc): Optimize if the
143 dynamic type has no virtual functions.
144
723889fa
PC
1452013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
146
147 PR c++/55944
148 * decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only
149 on TARGET_EXPR nodes.
150
90481257
JM
1512013-01-22 Jason Merrill <jason@redhat.com>
152
153 PR c++/56071
154 * pt.c (maybe_instantiate_noexcept): Don't defer access checks.
155
b0ffaa36
DS
1562013-01-22 Dodji Seketeli <dodji@redhat.com>
157
158 PR c++/53609
159 * pt.c (argument_pack_element_is_expansion_p)
160 (make_argument_pack_select, use_pack_expansion_extra_args_p)
161 (gen_elem_of_pack_expansion_instantiation): New static functions.
162 (tsubst): When looking through an ARGUMENT_PACK_SELECT tree node,
163 look through the possibly resulting pack expansion as well.
164 (tsubst_pack_expansion): Use use_pack_expansion_extra_p to
165 generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism.
166 Use gen_elem_of_pack_expansion_instantiation to build the
167 instantiation piece-wise. Don't use arg_from_parm_pack_p anymore,
168 as gen_elem_of_pack_expansion_instantiation and the change in
169 tsubst above generalize this particular case.
170 (arg_from_parm_pack_p): Remove this for it's not used by
171 tsubst_pack_expansion anymore.
172
dcdb8613
JM
1732013-01-21 Jason Merrill <jason@redhat.com>
174
175 PR c++/56059
176 * tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
177 template args count.
178
5af057d8
JM
1792013-01-18 Jason Merrill <jason@redhat.com>
180
181 PR target/54908
182 * decl2.c (get_local_tls_init_fn): New.
183 (get_tls_init_fn): Handle flag_extern_tls_init. Don't bother
184 with aliases for internal variables. Don't use weakrefs if
185 the variable needs destruction.
186 (generate_tls_wrapper): Mark the wrapper as const if no
187 initialization is needed.
188 (handle_tls_init): Don't require aliases.
189
cd61690f
DS
1902013-01-15 Dodji Seketeli <dodji@redhat.com>
191
192 PR c++/55663
193 * pt.c (coerce_innermost_template_parms): New static function.
194 (instantiate_alias_template): Use it here.
195
96924e7e
JM
1962013-01-09 Jason Merrill <jason@redhat.com>
197
795801d6
JM
198 PR c++/55878
199 * rtti.c (build_typeid, get_typeid): Add complain parm.
200 (get_tinfo_decl_dynamic): Likewise.
201 * cp-tree.h, parser.c, pt.c: Adjust.
202
96924e7e
JM
203 PR c++/55893
204 * decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
205 needs destruction.
206
cc83c823
JJ
2072013-01-09 Jakub Jelinek <jakub@redhat.com>
208
209 PR c/48418
210 * typeck.c (cp_build_binary_op): For LSHIFT_EXPR and RSHIFT_EXPR,
211 call maybe_constant_value for the negative or too big shift
212 count warnings.
213
fdbff37f
PC
2142013-01-09 Paolo Carlini <paolo.carlini@oracle.com>
215
216 PR c++/55801
217 * decl2.c (var_needs_tls_wrapper): Return false when error_operand_p
218 of the argument is true.
219
80a8d521
JB
2202013-01-08 Joel Brobecker <brobecker@adacore.com>
221
222 * parser.c (cp_parser_initializer_list): Move declaration
223 of variable non_const to start of lexical block.
224
e4d7d8cb
JM
2252013-01-07 Jason Merrill <jason@redhat.com>
226
227 PR c++/55753
228 * tree.c (build_aggr_init_expr): Do nothing in a template.
229 * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Strip an ADDR_EXPR off
230 a FUNCTION_DECL before tsubsting.
231
36b21740
DS
2322013-01-04 Dodji Seketeli <dodji@redhat.com>
233
234 PR c++/52343
235 * pt.c (check_instantiated_arg): Allow type template arguments.
236
82f2836c
JM
2372013-01-04 Jason Merrill <jason@redhat.com>
238
239 PR c++/55877
240 * decl.c (reset_type_linkage, bt_reset_linkage): New.
241 (grokdeclarator): Use reset_type_linkage.
242 * name-lookup.c (binding_table_foreach): Handle null table.
243 * tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
244
1582c677
PC
2452013-01-04 Paolo Carlini <paolo.carlini@oracle.com>
246
247 PR c++/54526 (again)
248 * parser.c (cp_parser_template_id): Revert core of previous change
249 (keep adjusted inform message).
250
99c4346a
JM
2512013-01-03 Jason Merrill <jason@redhat.com>
252
20644725
JM
253 PR c++/55419
254 PR c++/55753
255 * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
256 TREE_CONSTANT.
257
ffabb761
JM
258 PR c++/55842
259 * semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
260
b53e0533
JM
261 PR c++/55856
262 * semantics.c (build_data_member_initialization): Handle DECL_EXPR.
263
99c4346a
JM
264 PR c++/53650
265 * call.c (type_has_extended_temps): New.
266 * cp-tree.h: Declare it.
267 * decl.c (check_initializer): Use build_aggr_init for arrays
268 if it is false.
269 * init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
270
e78167f2
JM
2712013-01-02 Jason Merrill <jason@redhat.com>
272
3a322efd
JM
273 PR c++/54325
274 * call.c (build_new_method_call_1): Don't use build_value_init for
275 user-provided default constructors.
276
5f942422
JM
277 * decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
278
e78167f2
JM
279 PR c++/55032
280 PR c++/55245
281 * tree.c (build_cplus_array_type): Copy layout information
282 to main variant if necessary.
ad41bd84 283\f
86a2db33 284Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
285
286Copying and distribution of this file, with or without modification,
287are permitted in any medium without royalty provided the copyright
288notice and this notice are preserved.
This page took 1.116322 seconds and 5 git commands to generate.