1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
|
2013-02-07 Jakub Jelinek <jakub@redhat.com>
PR c++/56241
* init.c (build_vec_init): Don't append NULL values into new_vec.
(build_zero_init_1): Don't push anything into v if recursive call
returned NULL_TREE.
(build_value_init_noctor): Don't push anything into v if
build_value_init call returned NULL_TREE.
PR c++/56239
* parser.c (cp_parser_token_starts_cast_expression): Renamed to...
(cp_parser_tokens_start_cast_expression): ... this. Change parameter
to cp_parser *, call cp_lexer_peek_token first. For CPP_OPEN_PAREN,
return true only if 2nd token isn't CPP_CLOSE_PAREN.
(cp_parser_cast_expression): Adjust caller.
PR c++/56237
* decl.c (push_local_name): Look at DECL_DISCRIMINATOR (t)
only if DECL_DISCRIMINATOR_SET_P (t) rather than just
DECL_LANG_SPECIFIC (t).
2013-02-07 Jason Merrill <jason@redhat.com>
PR c++/56235
* method.c (do_build_copy_constructor): Don't bother turning
scalars from lvalues to xvalues.
(do_build_copy_assign): Likewise.
2013-02-06 Jason Merrill <jason@redhat.com>
* parser.c (cp_parser_enum_specifier): Check for error_mark_node.
2013-02-05 Jason Merrill <jason@redhat.com>
PR c++/54122
* tree.c (lvalue_kind) [INDIRECT_REF]: Don't check for
METHOD_TYPE.
PR c++/56177
* decl.c (start_preparsed_function): Update restype if we change
decl1.
PR c++/56208
* pt.c (fn_type_unification): Discard any access checks from
substituting explicit args.
2013-01-31 Jason Merrill <jason@redhat.com>
PR c++/56162
PR c++/56104
* typeck.c (get_member_function_from_ptrfunc): Fix
ptrmemfunc_vbit_in_delta case.
2013-01-29 Jason Merrill <jason@redhat.com>
PR libstdc++/54314
* class.c (build_ctor_vtbl_group): Give construction vtables
hidden visibility.
2013-01-25 Jason Merrill <jason@redhat.com>
PR c++/56095
* pt.c (convert_nontype_argument_function): Handle invalid input.
(convert_nontype_argument): Likewise.
PR c++/56104
* typeck.c (get_member_function_from_ptrfunc): Optimize if the
dynamic type has no virtual functions.
2013-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55944
* decl.c (check_initializer): Use TARGET_EXPR_DIRECT_INIT_P only
on TARGET_EXPR nodes.
2013-01-22 Jason Merrill <jason@redhat.com>
PR c++/56071
* pt.c (maybe_instantiate_noexcept): Don't defer access checks.
2013-01-22 Dodji Seketeli <dodji@redhat.com>
PR c++/53609
* pt.c (argument_pack_element_is_expansion_p)
(make_argument_pack_select, use_pack_expansion_extra_args_p)
(gen_elem_of_pack_expansion_instantiation): New static functions.
(tsubst): When looking through an ARGUMENT_PACK_SELECT tree node,
look through the possibly resulting pack expansion as well.
(tsubst_pack_expansion): Use use_pack_expansion_extra_p to
generalize when to use the PACK_EXPANSION_EXTRA_ARGS mechanism.
Use gen_elem_of_pack_expansion_instantiation to build the
instantiation piece-wise. Don't use arg_from_parm_pack_p anymore,
as gen_elem_of_pack_expansion_instantiation and the change in
tsubst above generalize this particular case.
(arg_from_parm_pack_p): Remove this for it's not used by
tsubst_pack_expansion anymore.
2013-01-21 Jason Merrill <jason@redhat.com>
PR c++/56059
* tree.c (strip_typedefs_expr) [TREE_VEC]: Preserve non-default
template args count.
2013-01-18 Jason Merrill <jason@redhat.com>
PR target/54908
* decl2.c (get_local_tls_init_fn): New.
(get_tls_init_fn): Handle flag_extern_tls_init. Don't bother
with aliases for internal variables. Don't use weakrefs if
the variable needs destruction.
(generate_tls_wrapper): Mark the wrapper as const if no
initialization is needed.
(handle_tls_init): Don't require aliases.
2013-01-15 Dodji Seketeli <dodji@redhat.com>
PR c++/55663
* pt.c (coerce_innermost_template_parms): New static function.
(instantiate_alias_template): Use it here.
2013-01-09 Jason Merrill <jason@redhat.com>
PR c++/55878
* rtti.c (build_typeid, get_typeid): Add complain parm.
(get_tinfo_decl_dynamic): Likewise.
* cp-tree.h, parser.c, pt.c: Adjust.
PR c++/55893
* decl.c (cp_finish_decl): Clear TREE_READONLY if the variable
needs destruction.
2013-01-09 Jakub Jelinek <jakub@redhat.com>
PR c/48418
* typeck.c (cp_build_binary_op): For LSHIFT_EXPR and RSHIFT_EXPR,
call maybe_constant_value for the negative or too big shift
count warnings.
2013-01-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55801
* decl2.c (var_needs_tls_wrapper): Return false when error_operand_p
of the argument is true.
2013-01-08 Joel Brobecker <brobecker@adacore.com>
* parser.c (cp_parser_initializer_list): Move declaration
of variable non_const to start of lexical block.
2013-01-07 Jason Merrill <jason@redhat.com>
PR c++/55753
* tree.c (build_aggr_init_expr): Do nothing in a template.
* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Strip an ADDR_EXPR off
a FUNCTION_DECL before tsubsting.
2013-01-04 Dodji Seketeli <dodji@redhat.com>
PR c++/52343
* pt.c (check_instantiated_arg): Allow type template arguments.
2013-01-04 Jason Merrill <jason@redhat.com>
PR c++/55877
* decl.c (reset_type_linkage, bt_reset_linkage): New.
(grokdeclarator): Use reset_type_linkage.
* name-lookup.c (binding_table_foreach): Handle null table.
* tree.c (decl_anon_ns_mem_p): Check TYPE_MAIN_DECL, not TYPE_NAME.
2013-01-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/54526 (again)
* parser.c (cp_parser_template_id): Revert core of previous change
(keep adjusted inform message).
2013-01-03 Jason Merrill <jason@redhat.com>
PR c++/55419
PR c++/55753
* pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Don't touch
TREE_CONSTANT.
PR c++/55842
* semantics.c (trait_expr_value): Call maybe_instantiate_noexcept.
PR c++/55856
* semantics.c (build_data_member_initialization): Handle DECL_EXPR.
PR c++/53650
* call.c (type_has_extended_temps): New.
* cp-tree.h: Declare it.
* decl.c (check_initializer): Use build_aggr_init for arrays
if it is false.
* init.c (build_vec_init): Avoid mixed signed/unsigned arithmetic.
2013-01-02 Jason Merrill <jason@redhat.com>
PR c++/54325
* call.c (build_new_method_call_1): Don't use build_value_init for
user-provided default constructors.
* decl.c (check_default_argument): Use LOOKUP_IMPLICIT.
PR c++/55032
PR c++/55245
* tree.c (build_cplus_array_type): Copy layout information
to main variant if necessary.
Copyright (C) 2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|