annotate gcc/cp/ChangeLog-2006 @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 2006-12-31 Simon Martin <simartin@users.sourceforge.net>
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 PR c++/29731
kono
parents:
diff changeset
4 * parser.c (cp_parser_primary_expression): Return error_mark_node when
kono
parents:
diff changeset
5 a statement-expression is found outside of a function body.
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 2006-12-28 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 * cp-tree.h (TYPE_NAMESPACE_SCOPE_P, TYPE_FUNCTION_SCOPE_P):
kono
parents:
diff changeset
10 Remove.
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 * decl2.c: Fix a comment typo.
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 2006-12-21 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 PR C++/30225
kono
parents:
diff changeset
17 * decl.c (cxx_builtin_function): Only copy the decl if adding
kono
parents:
diff changeset
18 it to the std namespace.
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 2006-12-21 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 PR C++/30168
kono
parents:
diff changeset
23 * optimize.c (update_cloned_parm): Copy DECL_GIMPLE_REG_P also.
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 2006-12-22 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 * decl.c: Fix a coment typo.
kono
parents:
diff changeset
28
kono
parents:
diff changeset
29 2006-12-18 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 * decl.c (start_preparsed_function): Add support for
kono
parents:
diff changeset
32 -Wmissing-declarations.
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 2006-12-16 Simon Martin <simartin@users.sourceforge.net>
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 PR c++/29475
kono
parents:
diff changeset
37 * cp-tree.h (struct deferred_access_check): New structure to represent a
kono
parents:
diff changeset
38 deferred access check. It replaces the previous representation as a tree.
kono
parents:
diff changeset
39 (get_deferred_access_checks): Return a vector of struct
kono
parents:
diff changeset
40 deferred_access_check instead of a tree list.
kono
parents:
diff changeset
41 (perform_access_checks): Take a vector of struct deferred_access_check
kono
parents:
diff changeset
42 instead of a tree list.
kono
parents:
diff changeset
43 * semantics.c (struct deferred_access): Store the deferred access checks
kono
parents:
diff changeset
44 as a vector of struct deferred_access_check instead of a tree list.
kono
parents:
diff changeset
45 (push_deferring_access_checks): Handle the change in struct
kono
parents:
diff changeset
46 deferred_access.
kono
parents:
diff changeset
47 (get_deferred_access_checks): Likewise.
kono
parents:
diff changeset
48 (pop_to_parent_deferring_access_checks): Likewise.
kono
parents:
diff changeset
49 (perform_or_defer_access_check): Likewise.
kono
parents:
diff changeset
50 (perform_access_checks): Take a vector of struct deferred_access_check
kono
parents:
diff changeset
51 instead of a tree list.
kono
parents:
diff changeset
52 * parser.c (struct tree_check): New structure to store various data
kono
parents:
diff changeset
53 associated with a CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID token.
kono
parents:
diff changeset
54 (struct cp_token): Changed the value field to be a union with a pointer to
kono
parents:
diff changeset
55 a struct tree_check for CPP_NESTED_NAME_SPECIFIER or CPP_TEMPLATE_ID
kono
parents:
diff changeset
56 tokens and a tree field for all other tokens.
kono
parents:
diff changeset
57 (eof_token): Adjusted due to the change in struct cp_token.
kono
parents:
diff changeset
58 (cp_lexer_get_preprocessor_token): Likewise.
kono
parents:
diff changeset
59 (cp_lexer_purge_token): Likewise.
kono
parents:
diff changeset
60 (cp_lexer_purge_tokens_after): Likewise.
kono
parents:
diff changeset
61 (cp_lexer_print_token): Likewise.
kono
parents:
diff changeset
62 (cp_parser_error): Likewise.
kono
parents:
diff changeset
63 (cp_parser_identifier): Likewise.
kono
parents:
diff changeset
64 (cp_parser_string_literal): Likewise.
kono
parents:
diff changeset
65 (cp_parser_primary_expression): Likewise.
kono
parents:
diff changeset
66 (cp_parser_unqualified_id): Likewise.
kono
parents:
diff changeset
67 (cp_parser_parenthesized_expression_list): Likewise.
kono
parents:
diff changeset
68 (cp_parser_storage_class_specifier_opt): Likewise.
kono
parents:
diff changeset
69 (cp_parser_function_specifier_opt): Likewise.
kono
parents:
diff changeset
70 (cp_parser_type_specifier): Likewise.
kono
parents:
diff changeset
71 (cp_parser_simple_type_specifier): Likewise.
kono
parents:
diff changeset
72 (cp_parser_initializer_list): Likewise.
kono
parents:
diff changeset
73 (cp_parser_member_specification_opt): Likewise.
kono
parents:
diff changeset
74 (cp_parser_attribute_list): Likewise.
kono
parents:
diff changeset
75 (cp_parser_objc_expression): Likewise.
kono
parents:
diff changeset
76 (cp_parser_objc_protocol_qualifiers): Likewise.
kono
parents:
diff changeset
77 (cp_parser_objc_selector): Likewise.
kono
parents:
diff changeset
78 (cp_parser_objc_declaration): Likewise.
kono
parents:
diff changeset
79 (cp_parser_objc_statement): Likewise.
kono
parents:
diff changeset
80 (cp_parser_omp_clause_name): Likewise.
kono
parents:
diff changeset
81 (cp_parser_omp_clause_default): Likewise.
kono
parents:
diff changeset
82 (cp_parser_omp_clause_schedule): Likewise.
kono
parents:
diff changeset
83 (cp_parser_omp_parallel): Likewise.
kono
parents:
diff changeset
84 (cp_parser_initial_pragma): Likewise.
kono
parents:
diff changeset
85 (pragma_lex): Likewise.
kono
parents:
diff changeset
86 (cp_parser_pre_parsed_nested_name_specifier): Likewise.
kono
parents:
diff changeset
87 (cp_parser_nested_name_specifier_opt): Likewise.
kono
parents:
diff changeset
88 Use cp_token::u::tree_check_value to save the token's value, the
kono
parents:
diff changeset
89 associated deferred checks and its qualifying scope.
kono
parents:
diff changeset
90 (cp_parser_template_id): Likewise.
kono
parents:
diff changeset
91 (cp_parser_template_declaration_after_export): Adjusted the call to
kono
parents:
diff changeset
92 get_deferred_access_checks.
kono
parents:
diff changeset
93 (cp_parser_init_declarator): Take the access checks as a vector of struct
kono
parents:
diff changeset
94 deferred_access_check instead of a tree list.
kono
parents:
diff changeset
95 (cp_parser_single_declaration): Likewise.
kono
parents:
diff changeset
96 (cp_parser_perform_template_parameter_access_checks): Likewise.
kono
parents:
diff changeset
97 (cp_parser_simple_declaration): Adjusted the call to
kono
parents:
diff changeset
98 cp_parser_init_declarator.
kono
parents:
diff changeset
99 (cp_parser_explicit_specialization): Adjusted the call to
kono
parents:
diff changeset
100 cp_parser_single_declaration.
kono
parents:
diff changeset
101
kono
parents:
diff changeset
102 2006-12-13 Ian Lance Taylor <iant@google.com>
kono
parents:
diff changeset
103
kono
parents:
diff changeset
104 PR c++/19564
kono
parents:
diff changeset
105 PR c++/19756
kono
parents:
diff changeset
106 * parser.c (cp_parser_expression_stack_entry): Add field
kono
parents:
diff changeset
107 lhs_type.
kono
parents:
diff changeset
108 (cp_parser_binary_expression): Track tree code of left hand side
kono
parents:
diff changeset
109 of expression. Use it when calling build_x_binary_op.
kono
parents:
diff changeset
110 (cp_parser_selection_statement): Add if_p parameter. Change all
kono
parents:
diff changeset
111 callers. Warn about ambiguous else.
kono
parents:
diff changeset
112 (cp_parser_statement): Add if_p parameter. Change all callers.
kono
parents:
diff changeset
113 (cp_parser_implicitly_scoped_statement): Likewise.
kono
parents:
diff changeset
114 * typeck.c (build_x_binary_op): Add parameters arg1_code and
kono
parents:
diff changeset
115 arg2_code. Change all callers. Call warn_about_parentheses.
kono
parents:
diff changeset
116 * cp-tree.h (build_x_binary_op): Update declaration.
kono
parents:
diff changeset
117
kono
parents:
diff changeset
118 2006-12-12 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
kono
parents:
diff changeset
119
kono
parents:
diff changeset
120 * decl.c (build_enumerator): Update error message to match C
kono
parents:
diff changeset
121 front-end.
kono
parents:
diff changeset
122
kono
parents:
diff changeset
123 2006-12-11 Jan Hubicka <jh@suse.cz>
kono
parents:
diff changeset
124
kono
parents:
diff changeset
125 * decl2.c (var_finalized_p): Update for renamed varpool functions.
kono
parents:
diff changeset
126
kono
parents:
diff changeset
127 2006-12-09 Zack Weinberg <zackw@panix.com>
kono
parents:
diff changeset
128
kono
parents:
diff changeset
129 * parser.c (yydebug, enum pragma_omp_clause): Delete.
kono
parents:
diff changeset
130
kono
parents:
diff changeset
131 2006-12-07 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
132
kono
parents:
diff changeset
133 PR c++/29732
kono
parents:
diff changeset
134 * cp-tree.h (DECL_USE_TEMPLATE): Mention partial specializations.
kono
parents:
diff changeset
135 (explicit_class_specialization_p): Declare.
kono
parents:
diff changeset
136 * pt.c (explicit_class_specialization_p): New function.
kono
parents:
diff changeset
137 * parser.c (cp_parser_init_declarator): Check correct number of
kono
parents:
diff changeset
138 template parameters for in-class function definitions.
kono
parents:
diff changeset
139 (cp_parser_check_declrator_template_parameters): Stop looking for
kono
parents:
diff changeset
140 template classes when we find an explicit specialization.
kono
parents:
diff changeset
141
kono
parents:
diff changeset
142 2006-12-07 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
143
kono
parents:
diff changeset
144 PR c++/29980
kono
parents:
diff changeset
145 * cp_parser_elaborated_type_specifier: Check
kono
parents:
diff changeset
146 the return value of check_elaborated_type_specifier.
kono
parents:
diff changeset
147
kono
parents:
diff changeset
148 2006-12-06 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
149
kono
parents:
diff changeset
150 PR c++/29730
kono
parents:
diff changeset
151 * parser.c (cp_parser_init_declarator): Reject initialization of
kono
parents:
diff changeset
152 functions.
kono
parents:
diff changeset
153
kono
parents:
diff changeset
154 2006-12-05 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
155
kono
parents:
diff changeset
156 PR c++/29729
kono
parents:
diff changeset
157 * decl2.c (check_member_template): Move check for member
kono
parents:
diff changeset
158 templates in local classes to ...
kono
parents:
diff changeset
159 * parser.c (cp_parser_template_declaration_after_export):
kono
parents:
diff changeset
160 ... here.
kono
parents:
diff changeset
161
kono
parents:
diff changeset
162 PR c++/29728
kono
parents:
diff changeset
163 * decl.c (check_array_designated_initializer): New function.
kono
parents:
diff changeset
164 (maybe_deduce_size_from_array_init): Use it.
kono
parents:
diff changeset
165 (reshape_init_array): Likewise.
kono
parents:
diff changeset
166
kono
parents:
diff changeset
167 2006-12-05 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
168
kono
parents:
diff changeset
169 Merge from gimple-tuples-branch.
kono
parents:
diff changeset
170
kono
parents:
diff changeset
171 2006-10-05 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
172
kono
parents:
diff changeset
173 * cp-gimplify.c (cp_gimplify_expr): Adjust for GIMPLE_MODIFY_STMT.
kono
parents:
diff changeset
174 (cxx_omp_clause_apply_fn): Adjust for GIMPLE_MODIFY_STMT.
kono
parents:
diff changeset
175 (cxx_omp_clause_copy_ctor): Same.
kono
parents:
diff changeset
176 (cxx_omp_clause_assign_op): Same.
kono
parents:
diff changeset
177
kono
parents:
diff changeset
178 2006-09-28 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
179
kono
parents:
diff changeset
180 * cp-tree.h (union lang_tree_node): Gimple statements do not
kono
parents:
diff changeset
181 have a TREE_CHAIN.
kono
parents:
diff changeset
182 (TREE_INDIRECT_USING): Look in base.
kono
parents:
diff changeset
183
kono
parents:
diff changeset
184 2006-12-04 Jan Hubicka <jh@suse.cz>
kono
parents:
diff changeset
185
kono
parents:
diff changeset
186 * cp-objcp-common.c (cp_expr_size): Return NULL in the case
kono
parents:
diff changeset
187 size is undefined.
kono
parents:
diff changeset
188
kono
parents:
diff changeset
189 2006-12-04 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
190
kono
parents:
diff changeset
191 PR c++/29733
kono
parents:
diff changeset
192 * pt.c (tsubst_decl): Disallow variables of function type.
kono
parents:
diff changeset
193
kono
parents:
diff changeset
194 PR c++/29632
kono
parents:
diff changeset
195 * call.c (add_builtin_candidate): Do not permit NULL pointer
kono
parents:
diff changeset
196 constants to be compared with template parameters.
kono
parents:
diff changeset
197
kono
parents:
diff changeset
198 2006-12-04 Eric Botcazou <ebotcazou@adacore.com>
kono
parents:
diff changeset
199
kono
parents:
diff changeset
200 * pt.c (for_each_template_parm_r) <INTEGER_TYPE>: New case.
kono
parents:
diff changeset
201 Call for_each_template_parm on TYPE_MIN_VALUE and TYPE_MAX_VALUE.
kono
parents:
diff changeset
202
kono
parents:
diff changeset
203 2006-12-03 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
204 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
205
kono
parents:
diff changeset
206 PR C++/14329
kono
parents:
diff changeset
207 * error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.
kono
parents:
diff changeset
208
kono
parents:
diff changeset
209 2006-12-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
kono
parents:
diff changeset
210
kono
parents:
diff changeset
211 PR C++/30033
kono
parents:
diff changeset
212 * decl.c (cp_tree_node_structure): Handle STATIC_ASSERT.
kono
parents:
diff changeset
213
kono
parents:
diff changeset
214 2006-12-02 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
215
kono
parents:
diff changeset
216 * name-lookup.c: Follow spelling conventions.
kono
parents:
diff changeset
217
kono
parents:
diff changeset
218 2006-12-01 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
219
kono
parents:
diff changeset
220 * decl.c (poplevel): Check DECL_INITIAL invariant.
kono
parents:
diff changeset
221 (duplicate_decls): Preserve DECL_INITIAL when eliminating
kono
parents:
diff changeset
222 a new definition in favour of an old declaration.
kono
parents:
diff changeset
223 (start_preparsed_function): Define and document value of
kono
parents:
diff changeset
224 DECL_INITIAL before and after routine.
kono
parents:
diff changeset
225 (finish_function): Check DECL_INITIAL invariant.
kono
parents:
diff changeset
226 * parser.c
kono
parents:
diff changeset
227 (cp_parser_function_definition_from_specifiers_and_declarator):
kono
parents:
diff changeset
228 Skip duplicate function definitions.
kono
parents:
diff changeset
229
kono
parents:
diff changeset
230 2006-12-01 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
231
kono
parents:
diff changeset
232 PR c++/30022
kono
parents:
diff changeset
233 * typeck.c (type_after_usual_arithmetic_conversions):
kono
parents:
diff changeset
234 Fix assertion for vector types.
kono
parents:
diff changeset
235 (build_binary_op): Use temporary for inner type of vector types.
kono
parents:
diff changeset
236
kono
parents:
diff changeset
237 2006-12-01 Ryan Mansfield <rmansfield@qnx.com>
kono
parents:
diff changeset
238
kono
parents:
diff changeset
239 PR c++/29066
kono
parents:
diff changeset
240 * typeck.c (build_binary_op): Fix pointer to member function
kono
parents:
diff changeset
241 comparison for ptrmemfunc_vbit_in_delta targets.
kono
parents:
diff changeset
242
kono
parents:
diff changeset
243 2006-12-01 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
244
kono
parents:
diff changeset
245 PR c++/18313
kono
parents:
diff changeset
246 * decl.c (grokdeclarator): Warn for type qualifiers on return
kono
parents:
diff changeset
247 type for non-dependent types.
kono
parents:
diff changeset
248 * pt.c (tsubst_function_type): Warn for type qualifiers on
kono
parents:
diff changeset
249 return type for dependent types.
kono
parents:
diff changeset
250
kono
parents:
diff changeset
251 2006-11-30 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
252
kono
parents:
diff changeset
253 * rtti.c (get_tinfo_decl): Handle return value from
kono
parents:
diff changeset
254 pushdecl_top_level_and_finish.
kono
parents:
diff changeset
255
kono
parents:
diff changeset
256 2006-11-29 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
257
kono
parents:
diff changeset
258 PR c++/29022
kono
parents:
diff changeset
259 * parser.c (cp_parser_class_head): Move processing
kono
parents:
diff changeset
260 of any base classes to...
kono
parents:
diff changeset
261 (cp_parser_class_specifier) ...here. Take an extra
kono
parents:
diff changeset
262 tree* parameter for any base classes. Only process
kono
parents:
diff changeset
263 them if the opening brace was found.
kono
parents:
diff changeset
264
kono
parents:
diff changeset
265 2006-11-28 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
266
kono
parents:
diff changeset
267 PR c++/29735
kono
parents:
diff changeset
268 * decl.c (grokfndecl): Check main's type after applying
kono
parents:
diff changeset
269 attributes, not before.
kono
parents:
diff changeset
270
kono
parents:
diff changeset
271 2006-11-27 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
272
kono
parents:
diff changeset
273 * class.c (build_vcall_offset_vtbl_entries): Do not add vcall
kono
parents:
diff changeset
274 entries for a primary construction virtual table.
kono
parents:
diff changeset
275
kono
parents:
diff changeset
276 2006-11-26 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
277
kono
parents:
diff changeset
278 PR c++/29886
kono
parents:
diff changeset
279 * parser.c (cp_parser): Add in_function_body.
kono
parents:
diff changeset
280 (cp_parser_new): Initialize it.
kono
parents:
diff changeset
281 (cp_parser_primary_expression): Use parser->in_function_body
kono
parents:
diff changeset
282 instead of at_function_scope_p.
kono
parents:
diff changeset
283 (cp_parser_asm_definition): Likewise.
kono
parents:
diff changeset
284 (cp_parser_direct_declarator): Likewise.
kono
parents:
diff changeset
285 (cp_parser_class_specifier): Clear parser->in_function_body.
kono
parents:
diff changeset
286 (cp_parser_constructor_declarator_p): Use parser->in_function_body
kono
parents:
diff changeset
287 instead of at_function_scope_p.
kono
parents:
diff changeset
288 (cp_parser_function_body_after_declarator): Set
kono
parents:
diff changeset
289 parser->in_function_body.
kono
parents:
diff changeset
290
kono
parents:
diff changeset
291 2006-11-21 Douglas Gregor <doug.gregor@gmail.com>
kono
parents:
diff changeset
292
kono
parents:
diff changeset
293 * cp-tree.def (STATIC_ASSERT): New.
kono
parents:
diff changeset
294 * cp-objcp-common.c (cp_tree_size): Handle STATIC_ASSERT.
kono
parents:
diff changeset
295 * error.c (dump_decl): Handle STATIC_ASSERT.
kono
parents:
diff changeset
296 * cp-tree.h (STATIC_ASSERT_CONDITION): New.
kono
parents:
diff changeset
297 (STATIC_ASSERT_MESSAGE): New.
kono
parents:
diff changeset
298 (STATIC_ASSERT_SOURCE_LOCATION): New.
kono
parents:
diff changeset
299 (struct tree_static_assert): New.
kono
parents:
diff changeset
300 (enum cp_tree_node_structure_enum): Add TS_CP_STATIC_ASSERT.
kono
parents:
diff changeset
301 (union lang_tree_node): Add static_assertion.
kono
parents:
diff changeset
302 (finish_static_assert): Declare.
kono
parents:
diff changeset
303 * cxx-pretty-print.c (pp_cxx_statement): Handle STATIC_ASSERT.
kono
parents:
diff changeset
304 (pp_cxx_declaration): Handle STATIC_ASSERT.
kono
parents:
diff changeset
305 * pt.c (instantiate_class_template): Handle
kono
parents:
diff changeset
306 STATIC_ASSERT members.
kono
parents:
diff changeset
307 (tsubst_expr): Handle STATIC_ASSERT statements.
kono
parents:
diff changeset
308 * semantics.c (finish_static_assert): New.
kono
parents:
diff changeset
309 * lex.c (D_CPP0X): New.
kono
parents:
diff changeset
310 (reswords): Add static_assert keyword.
kono
parents:
diff changeset
311 (init_reswords): If not flag_cpp0x, mask out C++0x keywords.
kono
parents:
diff changeset
312 * parser.c (cp_parser_block_declaration): Parse static
kono
parents:
diff changeset
313 assertions.
kono
parents:
diff changeset
314 (cp_parser_static_assert): New.
kono
parents:
diff changeset
315 (cp_parser_member_declaration): Parse static assertions.
kono
parents:
diff changeset
316
kono
parents:
diff changeset
317 2006-11-21 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
318
kono
parents:
diff changeset
319 PR c++/29570
kono
parents:
diff changeset
320 * decl.c (cp_finish_decl): Check for value dependent brace enclosed
kono
parents:
diff changeset
321 scalar initializer.
kono
parents:
diff changeset
322
kono
parents:
diff changeset
323 PR c++/29734
kono
parents:
diff changeset
324 * cp-tree.h (WANT_VECTOR): Define.
kono
parents:
diff changeset
325 (WANT_ARITH): Add WANT_VECTOR.
kono
parents:
diff changeset
326 * cvt.c (build_expr_type_conversion): Handle vector types.
kono
parents:
diff changeset
327 * typeck.c (build_unary_op): Add WANT_VECTOR to
kono
parents:
diff changeset
328 build_expr_type_conversion flags.
kono
parents:
diff changeset
329
kono
parents:
diff changeset
330 2006-11-20 Simon Martin <simartin@users.sourceforge.net>
kono
parents:
diff changeset
331
kono
parents:
diff changeset
332 PR c++/29475
kono
parents:
diff changeset
333 * cp-tree.h (enforce_access, perform_or_defer_access_check): Added an
kono
parents:
diff changeset
334 extra argument that represents the declaration to use to print
kono
parents:
diff changeset
335 potential error messages.
kono
parents:
diff changeset
336 * init.c (build_offset_ref): Adjusted the call to
kono
parents:
diff changeset
337 perform_or_defer_access_check.
kono
parents:
diff changeset
338 * class.c (alter_access, resolve_address_of_overloaded_function):
kono
parents:
diff changeset
339 Likewise.
kono
parents:
diff changeset
340 * decl.c (make_typename_type, make_unbound_class_template): Likewise.
kono
parents:
diff changeset
341 * search.c (lookup_member): Likewise.
kono
parents:
diff changeset
342 * friend.c (add_friend): Likewise.
kono
parents:
diff changeset
343 * parser.c (cp_parser_template_id,
kono
parents:
diff changeset
344 cp_parser_pre_parsed_nested_name_specifier): Likewise.
kono
parents:
diff changeset
345 * semantics.c (finish_non_static_data_member,
kono
parents:
diff changeset
346 check_accessibility_of_qualified_id, finish_id_expression): Likewise.
kono
parents:
diff changeset
347 (pop_to_parent_deferring_access_checks, perform_access_checks,
kono
parents:
diff changeset
348 perform_or_defer_access_check): Adjusted the call to enforce_access.
kono
parents:
diff changeset
349 * call.c (enforce_access): Use the new extra argument to build the
kono
parents:
diff changeset
350 error message.
kono
parents:
diff changeset
351 (build_op_delete_call): Adjusted the call to
kono
parents:
diff changeset
352 perform_or_defer_access_check.
kono
parents:
diff changeset
353 (build_over_call): Likewise.
kono
parents:
diff changeset
354
kono
parents:
diff changeset
355 2006-11-16 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
356
kono
parents:
diff changeset
357 * name-lookup.c (begin_scope): Use GGC_CNEW instead of
kono
parents:
diff changeset
358 GGC_NEW and memset.
kono
parents:
diff changeset
359
kono
parents:
diff changeset
360 2006-11-13 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
361
kono
parents:
diff changeset
362 * rtti.c (get_pseudo_ti_init): Ensure that the offset field of the
kono
parents:
diff changeset
363 base type info initializer has the correct type.
kono
parents:
diff changeset
364
kono
parents:
diff changeset
365 2006-11-13 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
366
kono
parents:
diff changeset
367 PR c++/29518
kono
parents:
diff changeset
368 * pt.c (coerce_template_parms): Do not skip_evaluation while
kono
parents:
diff changeset
369 substituting template arguments.
kono
parents:
diff changeset
370
kono
parents:
diff changeset
371 2006-11-11 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
372
kono
parents:
diff changeset
373 * typeck.c (build_unary_op): Remove handling of FIX_CEIL_EXPR,
kono
parents:
diff changeset
374 FIX_FLOOR_EXPR and FIX_ROUND_EXPR.
kono
parents:
diff changeset
375
kono
parents:
diff changeset
376 2006-11-03 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
377
kono
parents:
diff changeset
378 * call.c (build_op_delete_call): Test user-visible type against
kono
parents:
diff changeset
379 size_type_node, instead of against the internal type, sizetype.
kono
parents:
diff changeset
380 * class.c (type_requires_array_cookie): Likewise.
kono
parents:
diff changeset
381 * mangle.c (write_builtin_type) <INTEGER_TYPE>: Remove special
kono
parents:
diff changeset
382 handling of TYPE_IS_SIZETYPE.
kono
parents:
diff changeset
383 * typeck.c (type_after_usual_arithmetic_conversions): Remove
kono
parents:
diff changeset
384 special case handling of TYPE_IS_SIZETYPE.
kono
parents:
diff changeset
385 (comptypes): Likewise.
kono
parents:
diff changeset
386
kono
parents:
diff changeset
387 2006-11-01 Danny Smith <dannysmith@users.sourceforge.net>
kono
parents:
diff changeset
388
kono
parents:
diff changeset
389 * decl.c (get_atexit_node): Reference atexit, not __cxa_exit.
kono
parents:
diff changeset
390 if targetm.cxx.use_atexit_for cxa_atexit.
kono
parents:
diff changeset
391 (start_cleanup_fn): Likewise.
kono
parents:
diff changeset
392 (register_dtor_fn): Likewise.
kono
parents:
diff changeset
393
kono
parents:
diff changeset
394 2006-09-25 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
395
kono
parents:
diff changeset
396 * decl2.c (cp_write_global_declarations): Rename from
kono
parents:
diff changeset
397 cp_finish_file.
kono
parents:
diff changeset
398 * cp-lang.c (finish_file): Don't call cp_finish_file.
kono
parents:
diff changeset
399 * cp-tree.h (cp_write_global_declarations): Rename from
kono
parents:
diff changeset
400 cp_finish_file.
kono
parents:
diff changeset
401 * cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
kono
parents:
diff changeset
402 cp_write_global_declarations.
kono
parents:
diff changeset
403
kono
parents:
diff changeset
404 2006-10-31 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
405
kono
parents:
diff changeset
406 * name-lookup.c (get_anonymous_namespace_name): New.
kono
parents:
diff changeset
407 (push_namespace_with_attribs): Use get_anonymous_namespace_name.
kono
parents:
diff changeset
408 * decl2.c (start_objects): Update for rename of
kono
parents:
diff changeset
409 get_file_function_name_long.
kono
parents:
diff changeset
410
kono
parents:
diff changeset
411 2006-10-30 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
412
kono
parents:
diff changeset
413 PR c++/28704
kono
parents:
diff changeset
414 * decl.c (grokdeclarator): Duplicate diagnostic message
kono
parents:
diff changeset
415 for easier translation.
kono
parents:
diff changeset
416 * decl.c (grokdeclarator): Fix line-wrapping.
kono
parents:
diff changeset
417
kono
parents:
diff changeset
418 2006-10-30 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
419
kono
parents:
diff changeset
420 PR c++/6321
kono
parents:
diff changeset
421 * decl.c (grokfndecl): Use check_main_parameter_types.
kono
parents:
diff changeset
422
kono
parents:
diff changeset
423 2006-10-30 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
424
kono
parents:
diff changeset
425 PR c++/28669
kono
parents:
diff changeset
426 * decl.c (grokfndecl): Duplicate warning message for
kono
parents:
diff changeset
427 easier translation.
kono
parents:
diff changeset
428
kono
parents:
diff changeset
429 2006-10-30 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
430
kono
parents:
diff changeset
431 * typeck.c (build_unary_op): Fix indenting. Use G_().
kono
parents:
diff changeset
432
kono
parents:
diff changeset
433 2006-10-29 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
434
kono
parents:
diff changeset
435 PR c++/29089
kono
parents:
diff changeset
436 * typeck.c (build_unary_op): Duplicate warning message
kono
parents:
diff changeset
437 for easier translation.
kono
parents:
diff changeset
438
kono
parents:
diff changeset
439 2006-10-29 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
440
kono
parents:
diff changeset
441 PR c++/16307
kono
parents:
diff changeset
442 * typeck.c (build_array_ref): Warn for char subscriptions
kono
parents:
diff changeset
443 on pointers.
kono
parents:
diff changeset
444
kono
parents:
diff changeset
445 2006-10-29 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
446
kono
parents:
diff changeset
447 * decl.c: Fix a comment typo.
kono
parents:
diff changeset
448
kono
parents:
diff changeset
449 2006-10-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
kono
parents:
diff changeset
450
kono
parents:
diff changeset
451 PR C++/29295
kono
parents:
diff changeset
452 * typeck.c (build_unary_op): Use same_type_p when comparing to
kono
parents:
diff changeset
453 boolean type.
kono
parents:
diff changeset
454
kono
parents:
diff changeset
455 2006-10-29 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
456
kono
parents:
diff changeset
457 PR c++/29033
kono
parents:
diff changeset
458 * typeck.c (build_binary_op): Duplicate warning message
kono
parents:
diff changeset
459 for better translation.
kono
parents:
diff changeset
460
kono
parents:
diff changeset
461 2006-10-23 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
462
kono
parents:
diff changeset
463 * decl.c (builtin_function_1): Move common code to
kono
parents:
diff changeset
464 add_builtin_function.
kono
parents:
diff changeset
465 (builtin_function): Rename to cxx_builtin_function.
kono
parents:
diff changeset
466 Change the signature.
kono
parents:
diff changeset
467 * call.c: Include langhooks.h.
kono
parents:
diff changeset
468 (build_java_interface_fn_ref): Replace calls to
kono
parents:
diff changeset
469 builtin_function with add_builtin_function.
kono
parents:
diff changeset
470 * Make-lang.in (cp/call.o): Depend on langhooks.h.
kono
parents:
diff changeset
471 * cp-objcp-common.h (LANG_HOOKS_BUILTIN_FUNCTION): Define as
kono
parents:
diff changeset
472 cxx_builtin_function.
kono
parents:
diff changeset
473 * cp-tree.h (builtin_function): Rename to cxx_builtin_function.
kono
parents:
diff changeset
474 Change the signature.
kono
parents:
diff changeset
475
kono
parents:
diff changeset
476 2006-10-22 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
477
kono
parents:
diff changeset
478 PR c++/20647
kono
parents:
diff changeset
479 * rtti.c (tinfo_base_init): The type info string is always global.
kono
parents:
diff changeset
480
kono
parents:
diff changeset
481 2006-10-20 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
482 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
483
kono
parents:
diff changeset
484 PR c++/28053
kono
parents:
diff changeset
485 * decl2.c (grokbitfield): Detect invalid non-integral
kono
parents:
diff changeset
486 types earlier when possible.
kono
parents:
diff changeset
487
kono
parents:
diff changeset
488 2006-10-18 Mark Shinwell <shinwell@codesourcery.com>
kono
parents:
diff changeset
489
kono
parents:
diff changeset
490 PR c++/26884
kono
parents:
diff changeset
491 * typeck2.c (digest_init): Raise error upon attempts to
kono
parents:
diff changeset
492 initialize arrays with variables.
kono
parents:
diff changeset
493
kono
parents:
diff changeset
494 2006-10-17 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
495
kono
parents:
diff changeset
496 PR c++/27952
kono
parents:
diff changeset
497 * cp-tree.h (xref_basetypes): Return bool instead of void.
kono
parents:
diff changeset
498 * decl.c (xref_basetypes): Adjust definition. Return false
kono
parents:
diff changeset
499 if the class bases are invalid.
kono
parents:
diff changeset
500 * parser.c (cp_parser_class_head): Check the return value
kono
parents:
diff changeset
501 from xref_basetypes.
kono
parents:
diff changeset
502
kono
parents:
diff changeset
503 2006-10-17 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
504
kono
parents:
diff changeset
505 PR c++/28261
kono
parents:
diff changeset
506 * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Add
kono
parents:
diff changeset
507 comment.
kono
parents:
diff changeset
508
kono
parents:
diff changeset
509 PR c++/28261
kono
parents:
diff changeset
510 * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): New
kono
parents:
diff changeset
511 function.
kono
parents:
diff changeset
512 (cp_parser_constructor_declarator_p): Use it.
kono
parents:
diff changeset
513 (cp_parser_check_type_definition): Return a value indicating
kono
parents:
diff changeset
514 whether or not the definition is valid.
kono
parents:
diff changeset
515 (cp_parser_enum_specifier): Skip invalid enum definitions.
kono
parents:
diff changeset
516
kono
parents:
diff changeset
517 2006-10-17 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
518
kono
parents:
diff changeset
519 PR c++/29039
kono
parents:
diff changeset
520 * typeck2.c (build_functional_cast): Don't zero-initialize
kono
parents:
diff changeset
521 non-PODs; instead, call their constructors.
kono
parents:
diff changeset
522 * method.c (synthesize_method): Always build mem-initializers, if
kono
parents:
diff changeset
523 we're synthesizing the default constructor.
kono
parents:
diff changeset
524
kono
parents:
diff changeset
525 2006-10-17 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
526
kono
parents:
diff changeset
527 PR c++/27270
kono
parents:
diff changeset
528 * decl.c (reshape_init_class): Move check for designated
kono
parents:
diff changeset
529 to ...
kono
parents:
diff changeset
530 * parser.c (cp_parser_initializer_list): ... here.
kono
parents:
diff changeset
531 * pt.c (tsubst_copy_and_build): Use finish_compound_literal.
kono
parents:
diff changeset
532
kono
parents:
diff changeset
533 2006-10-16 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
534
kono
parents:
diff changeset
535 PR c++/27270
kono
parents:
diff changeset
536 * typeck2.c (process_init_constructor_array): Reword comment.
kono
parents:
diff changeset
537 * pt.c (tsubst_copy_and_built): Call reshape_init before calling
kono
parents:
diff changeset
538 digest_init.
kono
parents:
diff changeset
539
kono
parents:
diff changeset
540 PR c++/29408
kono
parents:
diff changeset
541 * parser.c (cp_parser_using_declaration): Stop parsing when
kono
parents:
diff changeset
542 something goes wrong with an access declaration.
kono
parents:
diff changeset
543
kono
parents:
diff changeset
544 PR c++/29435
kono
parents:
diff changeset
545 * typeck.c (cxx_sizeof_or_alignof_type): Complete non-dependent
kono
parents:
diff changeset
546 types when their sizes are required. Refine test for VLAs.
kono
parents:
diff changeset
547
kono
parents:
diff changeset
548 PR c++/28211
kono
parents:
diff changeset
549 * parser.c (cp_parser_template_argument): Don't consider "&var" a
kono
parents:
diff changeset
550 possible constant-expression.
kono
parents:
diff changeset
551 * pt.c (convert_nontype_argument): Refine handling of arguments of
kono
parents:
diff changeset
552 pointer type.
kono
parents:
diff changeset
553
kono
parents:
diff changeset
554 2006-10-13 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
555
kono
parents:
diff changeset
556 PR c++/28506
kono
parents:
diff changeset
557 * parser.c (function_declarator_p): New function.
kono
parents:
diff changeset
558 (cp_parser_init_declarator): Use it.
kono
parents:
diff changeset
559 (cp_parser_member_declaration): Likewise.
kono
parents:
diff changeset
560
kono
parents:
diff changeset
561 2006-10-12 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
562
kono
parents:
diff changeset
563 PR c++/29318
kono
parents:
diff changeset
564 * rtti.c (get_tinfo_decl): Refuse to create type info objects for
kono
parents:
diff changeset
565 variably modified types.
kono
parents:
diff changeset
566
kono
parents:
diff changeset
567 2006-10-12 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
568
kono
parents:
diff changeset
569 PR c++/27961
kono
parents:
diff changeset
570 * decl.c (start_decl): Return error_mark_node if a
kono
parents:
diff changeset
571 function is initialized like a variable.
kono
parents:
diff changeset
572 (check_var_type): If a variable of field is declared void,
kono
parents:
diff changeset
573 set the type to error_mark_node.
kono
parents:
diff changeset
574 (grokdeclarator): Check the return type of check_var_type.
kono
parents:
diff changeset
575 * class.c (finish_struct_1): Robustify.
kono
parents:
diff changeset
576
kono
parents:
diff changeset
577 2006-10-11 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
578
kono
parents:
diff changeset
579 PR c++/29175
kono
parents:
diff changeset
580 * decl.c (check_initializer): Issue errors about trying to
kono
parents:
diff changeset
581 initialize arrays whose elements have variable size.
kono
parents:
diff changeset
582
kono
parents:
diff changeset
583 2006-10-11 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
584
kono
parents:
diff changeset
585 PR c++/29024
kono
parents:
diff changeset
586 * cp-tree (struct cp_decl_specifier_seq): Rename to
kono
parents:
diff changeset
587 conflicting_specifiers_p
kono
parents:
diff changeset
588 * parser.c (cp_parser_set_storage_class): Set
kono
parents:
diff changeset
589 conflicting_specifiers_p for the input decl specifier
kono
parents:
diff changeset
590 if a typedef specifier is present. Rename uses of
kono
parents:
diff changeset
591 multiple_specifiers_p to conflicting_specifiers_p.
kono
parents:
diff changeset
592 (cp_parser_decl_specifier_seq) <RID_TYPEDEF>: If a storage
kono
parents:
diff changeset
593 class specifier has already been set for this declaration,
kono
parents:
diff changeset
594 set conflicting_specifiers_p to true on the decl_specs.
kono
parents:
diff changeset
595 * decl.c (grokdeclarator): Rename uses of
kono
parents:
diff changeset
596 multiple_specifiers_p to conflicting_specifiers_p.
kono
parents:
diff changeset
597
kono
parents:
diff changeset
598 2006-10-10 Brooks Moses <bmoses@stanford.edu>
kono
parents:
diff changeset
599
kono
parents:
diff changeset
600 * Make-lang.in: Added "c++.pdf" target support.
kono
parents:
diff changeset
601
kono
parents:
diff changeset
602 2006-10-10 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
603
kono
parents:
diff changeset
604 PR rtl-optimization/29323
kono
parents:
diff changeset
605 * decl.c (finish_function): Set TREE_NOTHROW only for
kono
parents:
diff changeset
606 functions that bind local.
kono
parents:
diff changeset
607
kono
parents:
diff changeset
608 2006-10-09 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
609
kono
parents:
diff changeset
610 Revert emutls patch.
kono
parents:
diff changeset
611
kono
parents:
diff changeset
612 2006-10-04 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
613 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
614
kono
parents:
diff changeset
615 * decl.c (grokvardecl): Don't error if !have_tls.
kono
parents:
diff changeset
616 (grokdeclarator): Likewise.
kono
parents:
diff changeset
617 * parser.c (cp_parser_omp_threadprivate): Likewise.
kono
parents:
diff changeset
618
kono
parents:
diff changeset
619 2006-10-03 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
620
kono
parents:
diff changeset
621 PR c++/29020
kono
parents:
diff changeset
622 * friend.c (do_friend): Improve comments; add assertion.
kono
parents:
diff changeset
623 * parser.c (cp_parser_nested_name_specifier_opt): Resolve
kono
parents:
diff changeset
624 typenames for qualified names used in declarations, even when
kono
parents:
diff changeset
625 caching qualified name lookup.
kono
parents:
diff changeset
626
kono
parents:
diff changeset
627 PR c++/29138
kono
parents:
diff changeset
628 * decl2.c (grokfield): Don't handle access declarations here.
kono
parents:
diff changeset
629 * parser.c (cp_parser_using_declaration): Handle access
kono
parents:
diff changeset
630 declarations too.
kono
parents:
diff changeset
631 (cp_parser_block_declaration): Adjust calls to
kono
parents:
diff changeset
632 cp_parser_using_declaration.
kono
parents:
diff changeset
633 (cp_parser_member_declaration): Likewise. Use
kono
parents:
diff changeset
634 cp_parser_using_declaration to look for access_declarations.
kono
parents:
diff changeset
635
kono
parents:
diff changeset
636 2006-10-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
637
kono
parents:
diff changeset
638 PR c++/29291
kono
parents:
diff changeset
639 * init.c (build_new): Check for invalid init.
kono
parents:
diff changeset
640
kono
parents:
diff changeset
641 2006-10-02 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
642
kono
parents:
diff changeset
643 PR c++/29226
kono
parents:
diff changeset
644 * typeck.c (cxx_sizeof_or_alignof_type): Tidy. In templates, do
kono
parents:
diff changeset
645 not try to actually evaluate sizeof for a VLA type.
kono
parents:
diff changeset
646
kono
parents:
diff changeset
647 2006-10-01 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
648
kono
parents:
diff changeset
649 PR c++/29105
kono
parents:
diff changeset
650 * pt.c (tsubst_baselink): Substituteinto the qualifying scope.
kono
parents:
diff changeset
651 * semantics.c (baselink_for_fns): Build a baselink, even when
kono
parents:
diff changeset
652 processing a template.
kono
parents:
diff changeset
653
kono
parents:
diff changeset
654 PR c++/29080
kono
parents:
diff changeset
655 * parser.c (cp_parser_postfix_dot_deref_expression): Use
kono
parents:
diff changeset
656 BASELINK_ACCESS_BINFO as the qualifying scope when calling
kono
parents:
diff changeset
657 adjust_result_of_qualified_name_lookup.
kono
parents:
diff changeset
658
kono
parents:
diff changeset
659 2006-09-25 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
660
kono
parents:
diff changeset
661 PR c++/27329
kono
parents:
diff changeset
662 PR c++/26938
kono
parents:
diff changeset
663 * cp-tree.h (redeclare_class_template): Adjust declaration
kono
parents:
diff changeset
664 to return bool instead of void.
kono
parents:
diff changeset
665 * pt.c (redeclare_class_template): Update definition.
kono
parents:
diff changeset
666 Return false on error.
kono
parents:
diff changeset
667 * decl.c (xref_tag): Return error_mark_node if
kono
parents:
diff changeset
668 redeclare_class_template returned false.
kono
parents:
diff changeset
669
kono
parents:
diff changeset
670 PR c++/27667
kono
parents:
diff changeset
671 * cp-tree.h (begin_specialization): Return bool
kono
parents:
diff changeset
672 instead of void.
kono
parents:
diff changeset
673 * pt.c (check_specialization_scope): Likwise.
kono
parents:
diff changeset
674 Adjust comment. Return false if a specialization
kono
parents:
diff changeset
675 isn't permitted in the current scope.
kono
parents:
diff changeset
676 (begin_specialization): Use the return value of
kono
parents:
diff changeset
677 check_specialization_scope.
kono
parents:
diff changeset
678 * parser.c (cp_parser_explicit_specialization): If
kono
parents:
diff changeset
679 begin_specialization returned false, skip the rest
kono
parents:
diff changeset
680 of the specialization.
kono
parents:
diff changeset
681
kono
parents:
diff changeset
682 2006-09-21 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
683
kono
parents:
diff changeset
684 PR c++/29016
kono
parents:
diff changeset
685 * typeck.c (build_unary_op): Don't form an ADDR_EXPR around a
kono
parents:
diff changeset
686 BASELINK.
kono
parents:
diff changeset
687
kono
parents:
diff changeset
688 2006-09-21 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
689
kono
parents:
diff changeset
690 PR c++/28861
kono
parents:
diff changeset
691 * decl.c (shadow_tag): Return error_mark_node
kono
parents:
diff changeset
692 if maybe_process_partial_specialization failed.
kono
parents:
diff changeset
693
kono
parents:
diff changeset
694 PR c++/28303
kono
parents:
diff changeset
695 * decl.c (grokdeclarator): Return error_mark_node on
kono
parents:
diff changeset
696 declaration with two or more data types.
kono
parents:
diff changeset
697
kono
parents:
diff changeset
698 2006-09-20 Danny Smith <dannysmith@users.sourceforge.net>
kono
parents:
diff changeset
699
kono
parents:
diff changeset
700 PR target/27650
kono
parents:
diff changeset
701 * class.c (check_for_override): Remove dllimport from virtual
kono
parents:
diff changeset
702 methods.
kono
parents:
diff changeset
703
kono
parents:
diff changeset
704 2006-09-18 Steven Bosscher <steven@gcc.gnu.org>
kono
parents:
diff changeset
705
kono
parents:
diff changeset
706 PR c++/29087
kono
parents:
diff changeset
707 * parser.c (cp_parser_labeled_statement): Return nothing. Do
kono
parents:
diff changeset
708 not take in_statement_expr and in_compound as arguments. Rename
kono
parents:
diff changeset
709 to cp_parser_label_for_labeled_statement. Parse only the label,
kono
parents:
diff changeset
710 not the statement.
kono
parents:
diff changeset
711 (cp_parser_statement): Parse the statement of a labeled-statement
kono
parents:
diff changeset
712 from here, using tail recursion.
kono
parents:
diff changeset
713
kono
parents:
diff changeset
714 2006-09-14 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
715
kono
parents:
diff changeset
716 PR C++/29002
kono
parents:
diff changeset
717 * init.c (build_zero_init): If we have an error mark node for
kono
parents:
diff changeset
718 the array size, return.
kono
parents:
diff changeset
719
kono
parents:
diff changeset
720 2006-09-10 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
721
kono
parents:
diff changeset
722 PR c++/28991
kono
parents:
diff changeset
723 * cp-objcp-common.c (cxx_staticp): New function.
kono
parents:
diff changeset
724 * cp-objcp-common.h (LANG_HOOOKS_STATICP): Use it.
kono
parents:
diff changeset
725 * cp-tree.h (cxx_staticp): New function.
kono
parents:
diff changeset
726
kono
parents:
diff changeset
727 2006-09-09 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
728
kono
parents:
diff changeset
729 PR c++/28996
kono
parents:
diff changeset
730 * cvt.c (convert_to_void): Strip COMPONENT_REF to functions.
kono
parents:
diff changeset
731
kono
parents:
diff changeset
732 2006-09-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
733
kono
parents:
diff changeset
734 PR c++/28858
kono
parents:
diff changeset
735 * parser.c (cp_parser_skip_until_found): Rename to
kono
parents:
diff changeset
736 cp_parser_skip_to_end_of_template_parameter_list. Remove last two
kono
parents:
diff changeset
737 parameters. Track levels of '< ... >'. Stop at '{', '}', or ';'.
kono
parents:
diff changeset
738 Reorganize. Adjust comment.
kono
parents:
diff changeset
739 (cp_parser_template_declaration_after_export): Adjust call.
kono
parents:
diff changeset
740 (cp_parser_enclosed_template_argument_list): Likewise.
kono
parents:
diff changeset
741
kono
parents:
diff changeset
742 2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
743
kono
parents:
diff changeset
744 PR C++/28906
kono
parents:
diff changeset
745 * init.c (build_new_1): Build a distinct type copy
kono
parents:
diff changeset
746 for the array type that was returned from
kono
parents:
diff changeset
747 build_cplus_array_type.
kono
parents:
diff changeset
748
kono
parents:
diff changeset
749 2006-09-07 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
750
kono
parents:
diff changeset
751 PR c++/27371
kono
parents:
diff changeset
752 * cvt.c (convert_to_void): Enable previous change.
kono
parents:
diff changeset
753
kono
parents:
diff changeset
754 PR c++/26957
kono
parents:
diff changeset
755 * method.c (use_thunk): Clear DECL_HAS_VALUE_EXPR_P on copied
kono
parents:
diff changeset
756 parms.
kono
parents:
diff changeset
757
kono
parents:
diff changeset
758 2006-09-07 Simon Martin <simartin@users.sourceforge.net>
kono
parents:
diff changeset
759
kono
parents:
diff changeset
760 PR c++/28284
kono
parents:
diff changeset
761 * pt.c (fold_non_dependent_expr): Make sure expr is not
kono
parents:
diff changeset
762 dereferenced if it is NULL.
kono
parents:
diff changeset
763
kono
parents:
diff changeset
764 2006-09-06 Zak Kipling <zak@transversal.com>
kono
parents:
diff changeset
765
kono
parents:
diff changeset
766 PR c++/26195
kono
parents:
diff changeset
767 * decl.c (make_rtl_for_nonlocal_decl),
kono
parents:
diff changeset
768 (start_preparsed_function): Don't use lbasename on
kono
parents:
diff changeset
769 input_filename when calling get_fileinfo.
kono
parents:
diff changeset
770 * semantics.c (begin_class_definition): Likewise.
kono
parents:
diff changeset
771 * lex.c (cxx_make_type): Likewise.
kono
parents:
diff changeset
772 (handle_pragma_interface): Call get_fileinfo on input_filename,
kono
parents:
diff changeset
773 not on the parameter to the directive.
kono
parents:
diff changeset
774
kono
parents:
diff changeset
775 2006-09-06 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
776
kono
parents:
diff changeset
777 PR c++/28903
kono
parents:
diff changeset
778 * pt.c (tsubst): Use fold_non_dependent_expr to fold array
kono
parents:
diff changeset
779 dimensions.
kono
parents:
diff changeset
780
kono
parents:
diff changeset
781 PR c++/28886
kono
parents:
diff changeset
782 * pt.c (unify): Avoid unnecessary calls to fold_build2 for array
kono
parents:
diff changeset
783 dimensions.
kono
parents:
diff changeset
784
kono
parents:
diff changeset
785 2006-09-06 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
786
kono
parents:
diff changeset
787 PR c++/27371
kono
parents:
diff changeset
788 * cvt.c (convert_to_void): Strip useless TARGET_EXPR.
kono
parents:
diff changeset
789 * cp-tree.h (TARGET_EXPR_IMPLICIT_P): New macro.
kono
parents:
diff changeset
790 * tree.c (build_cplus_new): Set it.
kono
parents:
diff changeset
791
kono
parents:
diff changeset
792 PR c++/26696
kono
parents:
diff changeset
793 * cvt.c (convert_to_void): Replace a subexpression with no side
kono
parents:
diff changeset
794 effects with void_zero_node.
kono
parents:
diff changeset
795 * tree.c (is_overloaded_fn): Look through COMPONENT_REF.
kono
parents:
diff changeset
796 (get_first_fn): Ditto.
kono
parents:
diff changeset
797 * decl.c (grokdeclarator): No need to look through COMPONENT_REF.
kono
parents:
diff changeset
798
kono
parents:
diff changeset
799 2006-09-05 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
800
kono
parents:
diff changeset
801 PR c++/26571
kono
parents:
diff changeset
802 * parser.c (cp_parser_diagnose_invalid_type_name): Handle the case
kono
parents:
diff changeset
803 where the name is a type used incorrectly.
kono
parents:
diff changeset
804
kono
parents:
diff changeset
805 PR c++/26671
kono
parents:
diff changeset
806 * typeck.c (maybe_warn_about_returning_address_of_local): Look
kono
parents:
diff changeset
807 through COMPONENT_REF and ARRAY_REF.
kono
parents:
diff changeset
808
kono
parents:
diff changeset
809 PR c++/26102
kono
parents:
diff changeset
810 * name-lookup.c (do_class_using_decl): Try to find the base even
kono
parents:
diff changeset
811 if bases_dependent_p.
kono
parents:
diff changeset
812 * pt.c (type_dependent_expression_p): A USING_DECL is dependent.
kono
parents:
diff changeset
813
kono
parents:
diff changeset
814 PR c++/19809
kono
parents:
diff changeset
815 * pt.c (tsubst_friend_function): Set DECL_INITIAL before pushdecl.
kono
parents:
diff changeset
816
kono
parents:
diff changeset
817 2006-09-04 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
818
kono
parents:
diff changeset
819 PR 23287 Revert my 2006-09-01 patch.
kono
parents:
diff changeset
820 * parser.c: Reverted.
kono
parents:
diff changeset
821 * pt.c: Reverted.
kono
parents:
diff changeset
822
kono
parents:
diff changeset
823 2006-09-02 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
824
kono
parents:
diff changeset
825 PR c++/27670
kono
parents:
diff changeset
826 PR c++/27493
kono
parents:
diff changeset
827 PR c++/27494
kono
parents:
diff changeset
828 PR c++/27397
kono
parents:
diff changeset
829 * parser.c (cp_parser_template_parameter_list): Add
kono
parents:
diff changeset
830 invalid template parameters to the parameter list as
kono
parents:
diff changeset
831 error_mark_node.
kono
parents:
diff changeset
832
kono
parents:
diff changeset
833 2006-09-02 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
834
kono
parents:
diff changeset
835 PR c++/28878
kono
parents:
diff changeset
836 * except.c (build_throw): Only set current_function_returns_abnormally
kono
parents:
diff changeset
837 if cfun is not NULL.
kono
parents:
diff changeset
838
kono
parents:
diff changeset
839 PR c++/26917
kono
parents:
diff changeset
840 * repo.c (repo_file): Remove.
kono
parents:
diff changeset
841 (open_repo_file, reopen_repo_file_for_write): Return fopened
kono
parents:
diff changeset
842 FILE * instead of setting global repo_file variable.
kono
parents:
diff changeset
843 (init_repo): Adjust caller.
kono
parents:
diff changeset
844 (finish_repo): Likewise. Return instead of goto out before
kono
parents:
diff changeset
845 reopen_repo_file_for_write has been called.
kono
parents:
diff changeset
846
kono
parents:
diff changeset
847 2006-09-01 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
848
kono
parents:
diff changeset
849 PR c++/28705
kono
parents:
diff changeset
850 * semantics.c (finish_call_expr): Add assert.
kono
parents:
diff changeset
851 * name-lookup.c (lookup_arg_dependent): Check we found an overload
kono
parents:
diff changeset
852 or an object.
kono
parents:
diff changeset
853
kono
parents:
diff changeset
854 PR c++/23287
kono
parents:
diff changeset
855 * parser.c (cp_parser_id_expression): Add member_p
kono
parents:
diff changeset
856 argument. Update all callers.
kono
parents:
diff changeset
857 (cp_parser_unqualified_id): Likewise. Lookup a destructor name in
kono
parents:
diff changeset
858 the object's scope, if valid.
kono
parents:
diff changeset
859 (cp_parser_global_scope_opt): Add object_scope_valid_p. Update
kono
parents:
diff changeset
860 callers.
kono
parents:
diff changeset
861 (cp_parser_postfix_dot_deref_expression): Set object_scope.
kono
parents:
diff changeset
862 * pt.c (tsubst_copy_and_build): Lookup dependent dtor name here.
kono
parents:
diff changeset
863
kono
parents:
diff changeset
864 2006-08-30 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
865
kono
parents:
diff changeset
866 PR c++/26670
kono
parents:
diff changeset
867 * class.c (check_field_decls): Don't unset TYPE_PACKED until all
kono
parents:
diff changeset
868 the fields have been processed.
kono
parents:
diff changeset
869
kono
parents:
diff changeset
870 2006-08-29 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
871
kono
parents:
diff changeset
872 PR C++/28349
kono
parents:
diff changeset
873 * call.c (build_x_va_arg): Remove the reference type
kono
parents:
diff changeset
874 from the type before creating the pointer type.
kono
parents:
diff changeset
875
kono
parents:
diff changeset
876 2006-08-29 J"orn Rennecke <joern.rennecke@st.com>
kono
parents:
diff changeset
877
kono
parents:
diff changeset
878 PR c++/28139
kono
parents:
diff changeset
879 * except.c (expand_start_catch_block): Use correct types for bitwise
kono
parents:
diff changeset
880 copy.
kono
parents:
diff changeset
881
kono
parents:
diff changeset
882 2006-08-28 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
883
kono
parents:
diff changeset
884 PR c++/26670
kono
parents:
diff changeset
885 * class.c (check_field_decls): Unset TYPE_PACKED (t) if one of the
kono
parents:
diff changeset
886 fields can't be packed.
kono
parents:
diff changeset
887
kono
parents:
diff changeset
888 PR c++/26577
kono
parents:
diff changeset
889 * cvt.c (convert_to_void): Don't automatically load from volatiles
kono
parents:
diff changeset
890 of TREE_ADDRESSABLE type.
kono
parents:
diff changeset
891
kono
parents:
diff changeset
892 2006-08-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
893
kono
parents:
diff changeset
894 PR c++/28860
kono
parents:
diff changeset
895 * cp-tree.h (maybe_process_partial_specialization): Return
kono
parents:
diff changeset
896 tree instead of void.
kono
parents:
diff changeset
897 * parser.c (cp_parser_class_head): Use return value of
kono
parents:
diff changeset
898 maybe_process_partial_specialization.
kono
parents:
diff changeset
899 * pt.c (maybe_process_partial_specialization): Return error_mark_node
kono
parents:
diff changeset
900 for broken specializations, TYPE otherwise. Check for template
kono
parents:
diff changeset
901 template parameters.
kono
parents:
diff changeset
902
kono
parents:
diff changeset
903 2006-08-27 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
904
kono
parents:
diff changeset
905 PR c++/28058
kono
parents:
diff changeset
906 * pt.c (register_specialization): Return error_mark_node for
kono
parents:
diff changeset
907 specialization-after-instantiation.
kono
parents:
diff changeset
908 * decl2.c (mark_used): Mark the main function used when one of its
kono
parents:
diff changeset
909 clones is used.
kono
parents:
diff changeset
910
kono
parents:
diff changeset
911 2006-08-27 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
912
kono
parents:
diff changeset
913 PR c++/26573
kono
parents:
diff changeset
914 * class.c (check_field_decls): Don't issue error about
kono
parents:
diff changeset
915 local classes containing static data members.
kono
parents:
diff changeset
916
kono
parents:
diff changeset
917 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
kono
parents:
diff changeset
918
kono
parents:
diff changeset
919 PR c++/24009
kono
parents:
diff changeset
920 * parser.c (struct cp_token): Add input_file_stack_index.
kono
parents:
diff changeset
921 (eof_token): Update.
kono
parents:
diff changeset
922 (cp_lexer_get_preprocessor_token): Save input_file_stack_tick.
kono
parents:
diff changeset
923 (cp_lexer_set_source_position_from_token): Restore input file
kono
parents:
diff changeset
924 stack.
kono
parents:
diff changeset
925
kono
parents:
diff changeset
926 2006-08-26 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
927
kono
parents:
diff changeset
928 PR c++/28736
kono
parents:
diff changeset
929 PR c++/28737
kono
parents:
diff changeset
930 PR c++/28738
kono
parents:
diff changeset
931 * pt.c (process_template_parm): Store invalid template
kono
parents:
diff changeset
932 parameters as a TREE_LIST with a TREE_VALUE of error_mark_node.
kono
parents:
diff changeset
933 (push_inline_template_parms_recursive): Check for template
kono
parents:
diff changeset
934 parameters having a TREE_VALUE of error_mark_node rather than
kono
parents:
diff changeset
935 check the parameter itself.
kono
parents:
diff changeset
936 (mangle_class_name_for_template): Likewise.
kono
parents:
diff changeset
937 (comp_template_parms): When comparing the individual template
kono
parents:
diff changeset
938 parameters, return 1 if either is error_mark_node.
kono
parents:
diff changeset
939 (current_template_args): Robustify.
kono
parents:
diff changeset
940 (redeclare_class_template): Likewise.
kono
parents:
diff changeset
941
kono
parents:
diff changeset
942 2006-08-26 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
943
kono
parents:
diff changeset
944 PR c++/28588
kono
parents:
diff changeset
945 * class.c (resolve_address_of_overloaded_function): Add
kono
parents:
diff changeset
946 access_path parameter. Perform access checks.
kono
parents:
diff changeset
947 (instantiate_type): Adjust call to
kono
parents:
diff changeset
948 resolve_address_of_overloaded_function. Remove unnecessary code.
kono
parents:
diff changeset
949 * tree.c (is_overloaded_fn): Document. Return 2 when there are
kono
parents:
diff changeset
950 acutally multiple functions.
kono
parents:
diff changeset
951 (really_overloaded_fn): Use is_overloaded_fn.
kono
parents:
diff changeset
952 * mangle.c (write_expression): Handle BASELINKs.
kono
parents:
diff changeset
953 * cp-tree.h (really_overloaded_fn): Return bool.
kono
parents:
diff changeset
954 (baselink_for_fns): Declare.
kono
parents:
diff changeset
955 * search.c (lookup_member): Check access for single static
kono
parents:
diff changeset
956 functions here.
kono
parents:
diff changeset
957 * pt.c (convert_nontype_argument_function): Handle BASELINKs.
kono
parents:
diff changeset
958 (tsubst_copy_and_build): Generate BASELINKs for template-ids.
kono
parents:
diff changeset
959 * semantics.c (finish_call_expr): Use baselink_for_fns.
kono
parents:
diff changeset
960 (baselink_for_fns): New function.
kono
parents:
diff changeset
961 (finish_id_expression): Use it.
kono
parents:
diff changeset
962 * parser.c (cp_parser_template_argument): Don't strip BASELINKs.
kono
parents:
diff changeset
963
kono
parents:
diff changeset
964 PR c++/28595
kono
parents:
diff changeset
965 * pt.c (tsubst): Issue errors about attempts to create VLAs at
kono
parents:
diff changeset
966 template-instantiation time.
kono
parents:
diff changeset
967
kono
parents:
diff changeset
968 2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
969
kono
parents:
diff changeset
970 PR c++/28853
kono
parents:
diff changeset
971 * typeck2.c (cxx_incomplete_type_diagnostic): Handle template
kono
parents:
diff changeset
972 template parameters. Improve error message for template type
kono
parents:
diff changeset
973 parameters.
kono
parents:
diff changeset
974
kono
parents:
diff changeset
975 PR c++/28852
kono
parents:
diff changeset
976 * cp-tree.h (grok_op_properties): Return bool instead of void.
kono
parents:
diff changeset
977 * decl.c (grokfndecl): Discard invalid operator declarations.
kono
parents:
diff changeset
978 (copy_fn_p): Revert change for PR 27547.
kono
parents:
diff changeset
979 (grok_op_properties): Return error status (true on success).
kono
parents:
diff changeset
980 * pt.c (tsubst_decl): Discard invalid operator declarations.
kono
parents:
diff changeset
981
kono
parents:
diff changeset
982 2006-08-25 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
983
kono
parents:
diff changeset
984 PR c++/28056
kono
parents:
diff changeset
985 * decl.c (grokdeclarator): Disallow declarations with qualified
kono
parents:
diff changeset
986 names in local scopes.
kono
parents:
diff changeset
987
kono
parents:
diff changeset
988 2006-08-25 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
989
kono
parents:
diff changeset
990 PR c++/27787
kono
parents:
diff changeset
991 * decl.c (make_typename_type): Only try and resolve it when
kono
parents:
diff changeset
992 context is not dependent. Refactor.
kono
parents:
diff changeset
993 * decl2.c (check_classfn): Push to class scope before looking for
kono
parents:
diff changeset
994 the function.
kono
parents:
diff changeset
995
kono
parents:
diff changeset
996 2006-08-24 Danny Smith <dannysmith@users.sourceforge.net>
kono
parents:
diff changeset
997
kono
parents:
diff changeset
998 PR driver/28528
kono
parents:
diff changeset
999 * g++spec.c (lang_specific_driver): Always check if we need to
kono
parents:
diff changeset
1000 swallow a space-separated arg to '-x'.
kono
parents:
diff changeset
1001 * lang-specs.h: Don't create ouput files for '-xc++-header'
kono
parents:
diff changeset
1002 if -fsyntax-only.
kono
parents:
diff changeset
1003
kono
parents:
diff changeset
1004 2006-08-23 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1005
kono
parents:
diff changeset
1006 PR c++/27714
kono
parents:
diff changeset
1007 * pt.c (push_template_decl_real): A friend template with class
kono
parents:
diff changeset
1008 scope isn't primary.
kono
parents:
diff changeset
1009
kono
parents:
diff changeset
1010 2006-08-23 Benjamin Smedberg <benjamin@smedbergs.us>
kono
parents:
diff changeset
1011
kono
parents:
diff changeset
1012 PR c++/28687
kono
parents:
diff changeset
1013 * rtti.c (build_dynamic_cast, build_dynamic_cast_1):
kono
parents:
diff changeset
1014 Move -fno-rtti check to be more specific.
kono
parents:
diff changeset
1015
kono
parents:
diff changeset
1016 2006-08-22 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1017
kono
parents:
diff changeset
1018 PR c++/23372
kono
parents:
diff changeset
1019 * call.c (build_over_call): Don't make a copy here if build_call
kono
parents:
diff changeset
1020 will make one too.
kono
parents:
diff changeset
1021
kono
parents:
diff changeset
1022 2006-08-22 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
1023
kono
parents:
diff changeset
1024 PR C++/28450
kono
parents:
diff changeset
1025 * cp/init.c (build_zero_init): Handle VECTOR_TYPE and
kono
parents:
diff changeset
1026 COMPLEX_TYPEs.
kono
parents:
diff changeset
1027
kono
parents:
diff changeset
1028 2006-08-22 Simon Martin <simartin@users.sourceforge.net>
kono
parents:
diff changeset
1029
kono
parents:
diff changeset
1030 PR c++/28420
kono
parents:
diff changeset
1031 * parser.c (cp_parser_postfix_expression): Make sure that the
kono
parents:
diff changeset
1032 saved value for parser->type_definition_forbidden_message is
kono
parents:
diff changeset
1033 restored before returning to avoid an invalid free().
kono
parents:
diff changeset
1034
kono
parents:
diff changeset
1035 2006-08-22 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1036
kono
parents:
diff changeset
1037 PR c++/28659
kono
parents:
diff changeset
1038 * typeck.c (merge_types): If either of the types have the right
kono
parents:
diff changeset
1039 attributes, return that one.
kono
parents:
diff changeset
1040
kono
parents:
diff changeset
1041 * tree.c (cp_build_type_attribute_variant): Make sure we aren't
kono
parents:
diff changeset
1042 doing this to class types.
kono
parents:
diff changeset
1043 * typeck.c (original_type): Deal with type quals properly.
kono
parents:
diff changeset
1044
kono
parents:
diff changeset
1045 2006-08-21 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1046
kono
parents:
diff changeset
1047 PR c++/27115
kono
parents:
diff changeset
1048 * semantics.c (finish_stmt_expr_expr): Don't try to voidify here,
kono
parents:
diff changeset
1049 just leave the expression as it is.
kono
parents:
diff changeset
1050 (finish_stmt_expr): If the statement-expression has class type,
kono
parents:
diff changeset
1051 wrap it in a TARGET_EXPR.
kono
parents:
diff changeset
1052 * cp-gimplify.c (cp_gimplify_init_expr): Don't bother with
kono
parents:
diff changeset
1053 CLEANUP_POINT_EXPR.
kono
parents:
diff changeset
1054 * except.c (build_throw): Give the CLEANUP_POINT_EXPR void type.
kono
parents:
diff changeset
1055
kono
parents:
diff changeset
1056 2006-08-21 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
1057
kono
parents:
diff changeset
1058 PR c++/26269
kono
parents:
diff changeset
1059 * decl.c (duplicate_decls): Return early if either
kono
parents:
diff changeset
1060 newdecl or olddecl is error_mark_node.
kono
parents:
diff changeset
1061
kono
parents:
diff changeset
1062 PR c++/28505
kono
parents:
diff changeset
1063 * decl.c (grokdeclarator): Return early after
kono
parents:
diff changeset
1064 issuing diagnostic about an incomplete type.
kono
parents:
diff changeset
1065
kono
parents:
diff changeset
1066 PR c++/28741
kono
parents:
diff changeset
1067 * tree.c (decl_anon_ns_mem_p): Robustify.
kono
parents:
diff changeset
1068 * decl2.c (determine_visibility): Likewise.
kono
parents:
diff changeset
1069
kono
parents:
diff changeset
1070 2006-08-20 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1071
kono
parents:
diff changeset
1072 PR c++/28341
kono
parents:
diff changeset
1073 * tree.c (cast_valid_in_integral_constant_expression_p): New
kono
parents:
diff changeset
1074 function.
kono
parents:
diff changeset
1075 * cp-tree.h (tsubst_copy_and_build): Adjust prototype.
kono
parents:
diff changeset
1076 * pt.c (tsubst_expr): Add integral_constant_expression_p
kono
parents:
diff changeset
1077 parameter.
kono
parents:
diff changeset
1078 (fold_non_dependent_expr): Adjust callers of
kono
parents:
diff changeset
1079 tsubst_{expr,copy_and_build}.
kono
parents:
diff changeset
1080 (tsubst_friend_function): Likewise.
kono
parents:
diff changeset
1081 (tsubst_template_arg): Likewise.
kono
parents:
diff changeset
1082 (tsubst_default_argument): Likewise.
kono
parents:
diff changeset
1083 (tsubst_decl): Likewise.
kono
parents:
diff changeset
1084 (tsubst): Likewise.
kono
parents:
diff changeset
1085 (tsubst_omp_clasuses): Likewise.
kono
parents:
diff changeset
1086 (regenerate_decl_fromp_template): Likewise.
kono
parents:
diff changeset
1087 (instantiate_decl): Likewise.
kono
parents:
diff changeset
1088 (tsubst_initializer_list): Likewise.
kono
parents:
diff changeset
1089 (tsubst_enum): Likewise.
kono
parents:
diff changeset
1090 (tsubst_expr): Use RECUR throughout.
kono
parents:
diff changeset
1091 (tsubst_copy_and_build): Change definition of RECUR. Do not allow
kono
parents:
diff changeset
1092 invalid casts in integral constant expressions.
kono
parents:
diff changeset
1093 * parser.c (cp_parser_postfix_expression): Use
kono
parents:
diff changeset
1094 cast_valid_in_integral_constant_expression_p.
kono
parents:
diff changeset
1095 (cp_parser_cast_expression): Likewise.
kono
parents:
diff changeset
1096 (cp_parser_functional_cast): Likewise.
kono
parents:
diff changeset
1097
kono
parents:
diff changeset
1098 PR c++/28346
kono
parents:
diff changeset
1099 * pt.c (tsubst_qualified_id): Do not strip references from
kono
parents:
diff changeset
1100 OFFSET_REFs.
kono
parents:
diff changeset
1101
kono
parents:
diff changeset
1102 2006-08-17 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1103
kono
parents:
diff changeset
1104 PR c++/28606
kono
parents:
diff changeset
1105 * parser.c (cp_parser_diagnose_invalid_type_name): Handle BIT_NOT_EXPR.
kono
parents:
diff changeset
1106 Fix formatting.
kono
parents:
diff changeset
1107 (cp_parser_parse_and_diagnose_invalid_type_name): Tighten condition
kono
parents:
diff changeset
1108 for valid type-names.
kono
parents:
diff changeset
1109 (cp_parser_unqualified_id): Fix error handling for destructors.
kono
parents:
diff changeset
1110
kono
parents:
diff changeset
1111 PR c++/28710
kono
parents:
diff changeset
1112 * decl.c (xref_tag): Improve error message. Return early on error.
kono
parents:
diff changeset
1113
kono
parents:
diff changeset
1114 PR c++/28711
kono
parents:
diff changeset
1115 * pt.c (tsubst_copy_and_build) <case CONSTRUCTOR>: Robustify.
kono
parents:
diff changeset
1116
kono
parents:
diff changeset
1117 2006-08-17 Paolo Bonzini <bonzini@gnu.org>
kono
parents:
diff changeset
1118
kono
parents:
diff changeset
1119 PR c++/28573
kono
parents:
diff changeset
1120 * semantics.c (finish_offsetof): Add new argument to fold_offsetof.
kono
parents:
diff changeset
1121
kono
parents:
diff changeset
1122 2006-08-16 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
1123
kono
parents:
diff changeset
1124 PR c++/28302
kono
parents:
diff changeset
1125 * typeck.c (build_unary_op <case BIT_NOT_EXPR:>): Don't call
kono
parents:
diff changeset
1126 perform_integral_promotions for non integral type.
kono
parents:
diff changeset
1127
kono
parents:
diff changeset
1128 2006-08-16 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1129
kono
parents:
diff changeset
1130 PR c++/28385
kono
parents:
diff changeset
1131 * pt.c (tsubst) [TEMPLATE_TYPE_PARM]: Ignore quals from template
kono
parents:
diff changeset
1132 if arg is a function.
kono
parents:
diff changeset
1133
kono
parents:
diff changeset
1134 2006-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1135
kono
parents:
diff changeset
1136 PR c++/28593
kono
parents:
diff changeset
1137 * init.c (build_new): Return early on invalid placement.
kono
parents:
diff changeset
1138
kono
parents:
diff changeset
1139 2006-08-15 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
1140
kono
parents:
diff changeset
1141 PR c++/28594
kono
parents:
diff changeset
1142 * pt.c (process_template_parm): Robustify.
kono
parents:
diff changeset
1143
kono
parents:
diff changeset
1144 2006-08-14 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1145
kono
parents:
diff changeset
1146 PR c++/28288
kono
parents:
diff changeset
1147 PR c++/14556
kono
parents:
diff changeset
1148 * operators.def: Remove <?, ?>, <?=, and >?= operators.
kono
parents:
diff changeset
1149 * parser.c: Remove CPP_MIN, CPP_MAX, CPP_MIN_EQ, and CPP_MAX_EQ.
kono
parents:
diff changeset
1150 (cp_parser_warn_min_max): Remove.
kono
parents:
diff changeset
1151
kono
parents:
diff changeset
1152 2006-08-11 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1153
kono
parents:
diff changeset
1154 PR c++/28559
kono
parents:
diff changeset
1155 * parser.c (cp_parser_elaborated_type_specifier): Also ignore
kono
parents:
diff changeset
1156 attributes applied to a TYPENAME_TYPE.
kono
parents:
diff changeset
1157
kono
parents:
diff changeset
1158 2006-08-09 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
1159
kono
parents:
diff changeset
1160 PR c++/28637
kono
parents:
diff changeset
1161 * pt.c (coerce_template_parms): Copy across the
kono
parents:
diff changeset
1162 invalid template arguments to the new template inner arguments.
kono
parents:
diff changeset
1163 (retrieve_specialization): Robustify.
kono
parents:
diff changeset
1164
kono
parents:
diff changeset
1165 PR c++/28638
kono
parents:
diff changeset
1166 * pt.c (coerce_template_template_parms): Robustify.
kono
parents:
diff changeset
1167
kono
parents:
diff changeset
1168 PR c++/28639
kono
parents:
diff changeset
1169 * error.c (dump_template_parms): Robustify.
kono
parents:
diff changeset
1170
kono
parents:
diff changeset
1171 PR c++/28640
kono
parents:
diff changeset
1172 * pt.c (redeclare_class_template): Robustify.
kono
parents:
diff changeset
1173
kono
parents:
diff changeset
1174 PR c++/28641
kono
parents:
diff changeset
1175 * pt.c (type_unification_real): Robustify.
kono
parents:
diff changeset
1176
kono
parents:
diff changeset
1177 2006-08-03 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
1178
kono
parents:
diff changeset
1179 PR c++/28347
kono
parents:
diff changeset
1180 * decl.c (start_decl): Return error_mark_node if a
kono
parents:
diff changeset
1181 diagnostic was issed for an invalid typedef initialization.
kono
parents:
diff changeset
1182
kono
parents:
diff changeset
1183 2006-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1184
kono
parents:
diff changeset
1185 PR c++/27508
kono
parents:
diff changeset
1186 * parser.c (cp_parser_unqualified_id): Check for invalid scopes
kono
parents:
diff changeset
1187 when parsing destructor names.
kono
parents:
diff changeset
1188
kono
parents:
diff changeset
1189 PR c++/28274
kono
parents:
diff changeset
1190 * decl.c (duplicate_decls): Call check_default_args here.
kono
parents:
diff changeset
1191 (start_preparsed_function): Do not call check_default_args.
kono
parents:
diff changeset
1192 * name-lookup.c (pushdecl_maybe_friend): Only call
kono
parents:
diff changeset
1193 check_default_args if duplicate_decls got bypassed.
kono
parents:
diff changeset
1194
kono
parents:
diff changeset
1195 2006-08-02 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
1196
kono
parents:
diff changeset
1197 PR c++/28479
kono
parents:
diff changeset
1198 Revert
kono
parents:
diff changeset
1199 2006-07-05 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
1200 Andrew Pinski <pinskia@gcc.gnu.org>
kono
parents:
diff changeset
1201
kono
parents:
diff changeset
1202 PR c++/27084
kono
parents:
diff changeset
1203 * cp-objcp-common.c (cxx_types_compatible_p): Ignore
kono
parents:
diff changeset
1204 top level qualifiers for pointer type comparisons.
kono
parents:
diff changeset
1205
kono
parents:
diff changeset
1206 2006-08-02 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1207
kono
parents:
diff changeset
1208 PR c++/28557
kono
parents:
diff changeset
1209 * pt.c (tsubst_baselink): Substitute into BASELINK_OPTYPE.
kono
parents:
diff changeset
1210
kono
parents:
diff changeset
1211 2006-07-31 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1212
kono
parents:
diff changeset
1213 PR c++/28523
kono
parents:
diff changeset
1214 * tree.c (stabilize_expr): Tweak documentation. Add assertion.
kono
parents:
diff changeset
1215 (stabilize_call): Tweak documentation.
kono
parents:
diff changeset
1216 (stabilize_init): Only call stabilize_call for calls.
kono
parents:
diff changeset
1217
kono
parents:
diff changeset
1218 2006-08-01 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1219
kono
parents:
diff changeset
1220 PR c++/28432
kono
parents:
diff changeset
1221 * decl2.c (check_classfn): Remove early return.
kono
parents:
diff changeset
1222 * search.c (lookup_member): Return NULL with bad type.
kono
parents:
diff changeset
1223
kono
parents:
diff changeset
1224 2006-08-01 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1225
kono
parents:
diff changeset
1226 PR c++/28256
kono
parents:
diff changeset
1227 * decl.c (check_initializer): Check for 1 initializer on scalar types.
kono
parents:
diff changeset
1228
kono
parents:
diff changeset
1229 2006-08-01 Daniel Jacobowitz <dan@codesourcery.com>
kono
parents:
diff changeset
1230
kono
parents:
diff changeset
1231 PR debug/23336
kono
parents:
diff changeset
1232 * pt.c (tsubst_copy_and_build): Mark used enum types.
kono
parents:
diff changeset
1233 * semantics.c (finish_id_expression): Likewise.
kono
parents:
diff changeset
1234
kono
parents:
diff changeset
1235 2006-07-31 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1236
kono
parents:
diff changeset
1237 PR c++/6634
kono
parents:
diff changeset
1238 * decl.c (grokdeclarator): Check whether "long" or "short" was
kono
parents:
diff changeset
1239 specified for non-integral types.
kono
parents:
diff changeset
1240
kono
parents:
diff changeset
1241 2006-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1242
kono
parents:
diff changeset
1243 * Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.
kono
parents:
diff changeset
1244
kono
parents:
diff changeset
1245 2006-07-28 Lee Millward <lee.millward@codesourcery.com>
kono
parents:
diff changeset
1246
kono
parents:
diff changeset
1247 PR c++/27668
kono
parents:
diff changeset
1248 PR c++/27962
kono
parents:
diff changeset
1249 * pt.c (process_template_parm) Store invalid template
kono
parents:
diff changeset
1250 parameters as error_mark_node in the paramater list.
kono
parents:
diff changeset
1251 (push_inline_template_parms_recursive): Handle invalid
kono
parents:
diff changeset
1252 template parameters.
kono
parents:
diff changeset
1253 (comp_template_parms): Likewise.
kono
parents:
diff changeset
1254 (check_default_tmpl_arg): Likewise.
kono
parents:
diff changeset
1255 (coerce_template_template_parms): Likewise.
kono
parents:
diff changeset
1256 (mangle_class_name_for_template): Likewise.
kono
parents:
diff changeset
1257 (tsubst_template_parms): Likewise.
kono
parents:
diff changeset
1258 * error.c (dump_template_argument_list): Likewise.
kono
parents:
diff changeset
1259
kono
parents:
diff changeset
1260 2006-07-28 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
1261
kono
parents:
diff changeset
1262 * cp-tree.h: Fix a comment typo.
kono
parents:
diff changeset
1263
kono
parents:
diff changeset
1264 2006-07-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1265
kono
parents:
diff changeset
1266 PR c++/27572
kono
parents:
diff changeset
1267 * decl.c (grokdeclarator): Return error_mark_node after invalid
kono
parents:
diff changeset
1268 typedef.
kono
parents:
diff changeset
1269
kono
parents:
diff changeset
1270 2006-07-23 Daniel Jacobowitz <dan@codesourcery.com>
kono
parents:
diff changeset
1271
kono
parents:
diff changeset
1272 PR c++/28460
kono
parents:
diff changeset
1273 * decl.c (grokvardecl): Use FROB_CONTEXT.
kono
parents:
diff changeset
1274 * pt.c (register_specialization): Likewise.
kono
parents:
diff changeset
1275
kono
parents:
diff changeset
1276 2006-07-23 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1277
kono
parents:
diff changeset
1278 PR c++/28025
kono
parents:
diff changeset
1279 * cp-tree.h (LOOKUP_HIDDEN): New macro. Reformat comments.
kono
parents:
diff changeset
1280 * name-lookup.c (unqualified_namespace_lookup): There is no way to
kono
parents:
diff changeset
1281 have a hidden name in non-namespace scopes.
kono
parents:
diff changeset
1282 * pt.c (tsubst_friend_class): Look for hidden names.
kono
parents:
diff changeset
1283 * decl.c (lookup_and_check_tag): Fix typo in comment.
kono
parents:
diff changeset
1284
kono
parents:
diff changeset
1285 * semantics.c (finish_compound_literal): Fix typo in comment.
kono
parents:
diff changeset
1286
kono
parents:
diff changeset
1287 2006-07-21 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1288
kono
parents:
diff changeset
1289 * decl2.c (determine_visibility): Don't propagate visibility from
kono
parents:
diff changeset
1290 type to decl.
kono
parents:
diff changeset
1291 (constrain_class_visibility): Don't warn in system headers.
kono
parents:
diff changeset
1292 Don't warn about pointer fields.
kono
parents:
diff changeset
1293
kono
parents:
diff changeset
1294 2006-07-20 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
1295
kono
parents:
diff changeset
1296 * decl2.c (determine_visibility_from_class): Don't use hidden
kono
parents:
diff changeset
1297 visibility for explicit instantiations.
kono
parents:
diff changeset
1298
kono
parents:
diff changeset
1299 2006-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1300
kono
parents:
diff changeset
1301 PR c++/28250
kono
parents:
diff changeset
1302 * pt.c (tsubst_expr): Only apply DECL_TEMPLATE_INSTANTIATED to
kono
parents:
diff changeset
1303 valid decls. Cleanup.
kono
parents:
diff changeset
1304
kono
parents:
diff changeset
1305 PR c++/28363
kono
parents:
diff changeset
1306 * semantics.c (check_template_template_default_arg): Simplify
kono
parents:
diff changeset
1307 error handling.
kono
parents:
diff changeset
1308
kono
parents:
diff changeset
1309 2006-07-20 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1310
kono
parents:
diff changeset
1311 PR c++/28407
kono
parents:
diff changeset
1312 * decl.c (grokvardecl): Set DECL_THIS_STATIC on file-scope
kono
parents:
diff changeset
1313 const variables with implicit internal linkage.
kono
parents:
diff changeset
1314 * tree.c (decl_linkage): Only return lk_external if it's set.
kono
parents:
diff changeset
1315
kono
parents:
diff changeset
1316 PR c++/28409
kono
parents:
diff changeset
1317 * decl2.c (constrain_visibility): Ignore the anonymous namespace
kono
parents:
diff changeset
1318 for extern "C" decls.
kono
parents:
diff changeset
1319 (VISIBILITY_STATIC): Rename to VISIBILITY_ANON.
kono
parents:
diff changeset
1320
kono
parents:
diff changeset
1321 * decl2.c (constrain_visibility): Remove specified and reason
kono
parents:
diff changeset
1322 parameters. Don't touch decls that already have explicit visibility.
kono
parents:
diff changeset
1323 (determine_visibility): Do copy DECL_VISIBILITY_SPECIFIED from
kono
parents:
diff changeset
1324 template.
kono
parents:
diff changeset
1325 (determine_visibility_from_class): Reverse sense of
kono
parents:
diff changeset
1326 DECL_VISIBILITY_SPECIFIED test for target-specific visibility rules.
kono
parents:
diff changeset
1327 (constrain_class_visibility): Only complain about member visibility
kono
parents:
diff changeset
1328 if the member type is another class. Don't change visibility of the
kono
parents:
diff changeset
1329 current class.
kono
parents:
diff changeset
1330
kono
parents:
diff changeset
1331 2006-07-19 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1332
kono
parents:
diff changeset
1333 PR c++/28338
kono
parents:
diff changeset
1334 * decl.c (layout_var_decl): Don't call push_local_name here.
kono
parents:
diff changeset
1335 (initialize_artificial_var): Assert artificiality.
kono
parents:
diff changeset
1336 (cp_finish_decl): Call push_local_name here.
kono
parents:
diff changeset
1337
kono
parents:
diff changeset
1338 2006-07-18 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1339
kono
parents:
diff changeset
1340 PR c++/28337
kono
parents:
diff changeset
1341 * typeck.c (build_binary_op): Short-circuit pointer arithmetic in
kono
parents:
diff changeset
1342 templates.
kono
parents:
diff changeset
1343
kono
parents:
diff changeset
1344 2006-07-18 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1345
kono
parents:
diff changeset
1346 PR c++/28048
kono
parents:
diff changeset
1347 * semantics.c (check_accessibility_of_qualified_id): Robustify.
kono
parents:
diff changeset
1348
kono
parents:
diff changeset
1349 PR c++/28235
kono
parents:
diff changeset
1350 * pt.c (tsubst_decl): Handling substitutions into a static data
kono
parents:
diff changeset
1351 member from within the scope of the tempalte itself.
kono
parents:
diff changeset
1352
kono
parents:
diff changeset
1353 2006-07-18 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1354
kono
parents:
diff changeset
1355 PR c++/28258
kono
parents:
diff changeset
1356 * method.c (locate_copy): Check for non_reference
kono
parents:
diff changeset
1357 returning error_mark_node.
kono
parents:
diff changeset
1358
kono
parents:
diff changeset
1359 PR c++/28260
kono
parents:
diff changeset
1360 * decl.c (duplicate_decls): Return error_mark_node
kono
parents:
diff changeset
1361 on ambiguous declaration.
kono
parents:
diff changeset
1362
kono
parents:
diff changeset
1363 2006-07-18 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1364
kono
parents:
diff changeset
1365 PR c++/27495
kono
parents:
diff changeset
1366 * search.c (adjust_result_of_qualified_name_lookup): Change
kono
parents:
diff changeset
1367 assert to part of if statement.
kono
parents:
diff changeset
1368
kono
parents:
diff changeset
1369 2006-07-17 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1370
kono
parents:
diff changeset
1371 PR c++/28291
kono
parents:
diff changeset
1372 * decl.c (reshape_init_class): Return error_mark_node on error.
kono
parents:
diff changeset
1373
kono
parents:
diff changeset
1374 2006-07-17 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1375
kono
parents:
diff changeset
1376 PR c++/28304
kono
parents:
diff changeset
1377 * decl2.c (check_classfn): Return NULL_TREE on error.
kono
parents:
diff changeset
1378
kono
parents:
diff changeset
1379 2006-07-17 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1380
kono
parents:
diff changeset
1381 PR c++/28250
kono
parents:
diff changeset
1382 * name-lookup.c (pushdecl_maybe_friend): Return early on
kono
parents:
diff changeset
1383 error_mark_node.
kono
parents:
diff changeset
1384 * except.c (expand_start_catch_block): Use error_mark_node instead
kono
parents:
diff changeset
1385 of NULL_TREE for invalid decls.
kono
parents:
diff changeset
1386 * parser.c (cp_parser_exception_declaration): Return error_mark_node
kono
parents:
diff changeset
1387 on invalid catch parameter. Simplify.
kono
parents:
diff changeset
1388
kono
parents:
diff changeset
1389 2006-07-16 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1390
kono
parents:
diff changeset
1391 PR c++/28370
kono
parents:
diff changeset
1392 * decl2.c (note_vague_linkage_var): Removed.
kono
parents:
diff changeset
1393 (finish_static_data_member_decl): Add decl to pending_statics vector
kono
parents:
diff changeset
1394 directly. Do it even for non-public decls.
kono
parents:
diff changeset
1395
kono
parents:
diff changeset
1396 2006-07-15 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1397
kono
parents:
diff changeset
1398 PR c++/28292
kono
parents:
diff changeset
1399 * decl2.c (acceptable_java_type): Robustify. Use
kono
parents:
diff changeset
1400 proper Boolean return type instead of return 1.
kono
parents:
diff changeset
1401 (check_java_method): Don't issue error about
kono
parents:
diff changeset
1402 type not being an acceptable Java parameter if
kono
parents:
diff changeset
1403 it's error_mark_node.
kono
parents:
diff changeset
1404
kono
parents:
diff changeset
1405 PR c++/28269
kono
parents:
diff changeset
1406 * parser.c (cp_parser_elaborated_type_specifier):
kono
parents:
diff changeset
1407 Return early if an invalid type was detected.
kono
parents:
diff changeset
1408
kono
parents:
diff changeset
1409 2006-07-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1410
kono
parents:
diff changeset
1411 PR c++/28249
kono
parents:
diff changeset
1412 * parser.c (cp_parser_check_decl_spec): New function.
kono
parents:
diff changeset
1413 (cp_parser_decl_specifier_seq): Factor out check for repeated
kono
parents:
diff changeset
1414 decl-specifiers into cp_parser_check_decl_spec. Use it.
kono
parents:
diff changeset
1415 (cp_parser_type_specifier_seq): Use it.
kono
parents:
diff changeset
1416
kono
parents:
diff changeset
1417 PR c++/28294
kono
parents:
diff changeset
1418 * semantics.c (finish_offsetof): Use TREE_OPERAND for COMPONENT_REFs
kono
parents:
diff changeset
1419 only.
kono
parents:
diff changeset
1420
kono
parents:
diff changeset
1421 PR c++/28387
kono
parents:
diff changeset
1422 * decl2.c (cplus_decl_attributes): Check for invalid decls.
kono
parents:
diff changeset
1423
kono
parents:
diff changeset
1424 2006-07-14 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1425
kono
parents:
diff changeset
1426 PR c++/28343
kono
parents:
diff changeset
1427 * decl.c (cp_finish_decl): Check asmspec_tree for error_mark_node.
kono
parents:
diff changeset
1428 * decl2.c (grokfield): Likewise.
kono
parents:
diff changeset
1429
kono
parents:
diff changeset
1430 2006-07-12 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
1431
kono
parents:
diff changeset
1432 * decl2.c (determine_visibility): Don't change visibility of
kono
parents:
diff changeset
1433 function locals because of -fvisibility-inlines-hidden.
kono
parents:
diff changeset
1434
kono
parents:
diff changeset
1435 2006-07-12 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1436
kono
parents:
diff changeset
1437 PR c++/28217
kono
parents:
diff changeset
1438 * semantics.c (note_decl_for_pch): Don't premangle templates.
kono
parents:
diff changeset
1439
kono
parents:
diff changeset
1440 2006-07-12 Martin Michlmayr <tbm@cyrius.com>
kono
parents:
diff changeset
1441
kono
parents:
diff changeset
1442 * typeck.c (string_conv_p): Remove spurious quotation mark in
kono
parents:
diff changeset
1443 warning.
kono
parents:
diff changeset
1444
kono
parents:
diff changeset
1445 2006-07-07 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1446 Andrew Pinski <pinskia@gmail.com>
kono
parents:
diff changeset
1447
kono
parents:
diff changeset
1448 PR c++/27820
kono
parents:
diff changeset
1449 * decl.c (define_label): Return error_mark_node on error.
kono
parents:
diff changeset
1450 * semantics.c (finish_label_stmt): Don't call
kono
parents:
diff changeset
1451 add_stmt for invalid labels.
kono
parents:
diff changeset
1452
kono
parents:
diff changeset
1453 2006-07-06 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1454
kono
parents:
diff changeset
1455 PR c++/28279
kono
parents:
diff changeset
1456 * decl2.c (finish_static_data_member_decl): Don't assert
kono
parents:
diff changeset
1457 TREE_PUBLIC.
kono
parents:
diff changeset
1458
kono
parents:
diff changeset
1459 2006-07-05 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1460
kono
parents:
diff changeset
1461 PR c++/13983
kono
parents:
diff changeset
1462 PR c++/17519
kono
parents:
diff changeset
1463 * class.c (check_field_decls): Check TYPE_PACKED after
kono
parents:
diff changeset
1464 stripping array types.
kono
parents:
diff changeset
1465 (finish_struct_bits): Don't copy TYPE_SIZE here.
kono
parents:
diff changeset
1466
kono
parents:
diff changeset
1467 PR c++/18681
kono
parents:
diff changeset
1468 * friend.c (is_friend): Fix DR 45 implementation.
kono
parents:
diff changeset
1469
kono
parents:
diff changeset
1470 2006-07-05 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
1471 Andrew Pinski <pinskia@gcc.gnu.org>
kono
parents:
diff changeset
1472
kono
parents:
diff changeset
1473 PR c++/27084
kono
parents:
diff changeset
1474 * cp-objcp-common.c (cxx_types_compatible_p): Ignore
kono
parents:
diff changeset
1475 top level qualifiers for pointer type comparisons.
kono
parents:
diff changeset
1476
kono
parents:
diff changeset
1477 2006-07-01 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1478
kono
parents:
diff changeset
1479 PR c++/28215
kono
parents:
diff changeset
1480 * method.c (make_thunk): Unset DECL_USE_TEMPLATE and
kono
parents:
diff changeset
1481 DECL_TEMPLATE_INFO.
kono
parents:
diff changeset
1482
kono
parents:
diff changeset
1483 2006-06-30 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1484
kono
parents:
diff changeset
1485 PR c++/26577
kono
parents:
diff changeset
1486 * call.c (build_new_method_call): Force evaluation of the
kono
parents:
diff changeset
1487 instance pointer, not the object.
kono
parents:
diff changeset
1488
kono
parents:
diff changeset
1489 2006-06-30 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
1490
kono
parents:
diff changeset
1491 * decl2.c: Fix a comment typo.
kono
parents:
diff changeset
1492
kono
parents:
diff changeset
1493 2006-06-30 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1494
kono
parents:
diff changeset
1495 PR c++/18698
kono
parents:
diff changeset
1496 * decl2.c (grokfield): Only try to treat the decl as an access
kono
parents:
diff changeset
1497 declaration if the scope is a class.
kono
parents:
diff changeset
1498
kono
parents:
diff changeset
1499 2006-06-29 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1500
kono
parents:
diff changeset
1501 PR c++/26905
kono
parents:
diff changeset
1502 PR c++/26612
kono
parents:
diff changeset
1503 PR c++/27000
kono
parents:
diff changeset
1504 PR c++/26984
kono
parents:
diff changeset
1505 PR c++/19134
kono
parents:
diff changeset
1506 * decl2.c (determine_visibility): Overhaul.
kono
parents:
diff changeset
1507 (determine_visibility_from_class): Likewise.
kono
parents:
diff changeset
1508 (min_vis_r, type_visibility, constrain_visibility): New fns.
kono
parents:
diff changeset
1509 (constrain_visibility_for_template): Likewise.
kono
parents:
diff changeset
1510 (constrain_class_visibility): Likewise.
kono
parents:
diff changeset
1511 * decl.c (cp_finish_decl): Call determine_visibility for function
kono
parents:
diff changeset
1512 decls, too.
kono
parents:
diff changeset
1513 * name-lookup.c (pushtag): Call determine_visibility.
kono
parents:
diff changeset
1514 * decl.c (duplicate_decls): Don't copy visibility from template to
kono
parents:
diff changeset
1515 specialization.
kono
parents:
diff changeset
1516 * pt.c (check_explicit_specialization): Likewise.
kono
parents:
diff changeset
1517 (lookup_template_class, tsubst_decl): Call determine_visibility.
kono
parents:
diff changeset
1518 * class.c (finish_struct_1): Call constrain_class_visibility.
kono
parents:
diff changeset
1519
kono
parents:
diff changeset
1520 PR c++/26905
kono
parents:
diff changeset
1521 PR c++/21675
kono
parents:
diff changeset
1522 PR c++/17470
kono
parents:
diff changeset
1523 * parser.c (cp_parser_explicit_instantiation): Pass the attributes
kono
parents:
diff changeset
1524 to grokdeclarator.
kono
parents:
diff changeset
1525 (cp_parser_type_specifier): Allow 'enum __attribute ((...)) E'.
kono
parents:
diff changeset
1526 (cp_parser_enum_specifier): Likewise.
kono
parents:
diff changeset
1527 (cp_parser_elaborated_type_specifier): Apply attributes if this
kono
parents:
diff changeset
1528 declares only the class.
kono
parents:
diff changeset
1529 (cp_parser_class_specifier): Apply leading attributes immediately.
kono
parents:
diff changeset
1530 * semantics.c (begin_class_definition): Add attributes parameter,
kono
parents:
diff changeset
1531 apply them to the type.
kono
parents:
diff changeset
1532
kono
parents:
diff changeset
1533 PR c++/21581
kono
parents:
diff changeset
1534 PR c++/25915
kono
parents:
diff changeset
1535 * tree.c (decl_anon_ns_mem_p): New function.
kono
parents:
diff changeset
1536 * cp-tree.h: Declare it.
kono
parents:
diff changeset
1537 * decl2.c (determine_visibility): Make anonymous namespace
kono
parents:
diff changeset
1538 members static.
kono
parents:
diff changeset
1539 (min_vis_r, constrain_visibility): Likewise.
kono
parents:
diff changeset
1540 * rtti.c (create_pseudo_type_info): Set TREE_PUBLIC on
kono
parents:
diff changeset
1541 pseudo-types.
kono
parents:
diff changeset
1542 * decl.c (cxx_init_decl_processing): Set TREE_PUBLIC on
kono
parents:
diff changeset
1543 global_namespace.
kono
parents:
diff changeset
1544 * name-lookup.c (push_namespace_with_attribs): Don't set TREE_PUBLIC
kono
parents:
diff changeset
1545 on anonymous namespaces.
kono
parents:
diff changeset
1546
kono
parents:
diff changeset
1547 2006-06-28 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
1548
kono
parents:
diff changeset
1549 PR c++/27424
kono
parents:
diff changeset
1550 * pt.c (convert_template_argument): Pass all template arguments
kono
parents:
diff changeset
1551 on to coerce_template_template_parms.
kono
parents:
diff changeset
1552
kono
parents:
diff changeset
1553 2006-06-25 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1554 Mark Mitchell <mark@codesuorcery.com>
kono
parents:
diff changeset
1555
kono
parents:
diff changeset
1556 PR c++/28054
kono
parents:
diff changeset
1557 * decl2.c (grokbitfied): Remove check for grokdeclarator
kono
parents:
diff changeset
1558 returning NULL_TREE, instead check for error_mark_node
kono
parents:
diff changeset
1559 to indicate failure.
kono
parents:
diff changeset
1560 * decl.c (grokdeclarator): Adjust block comment.
kono
parents:
diff changeset
1561
kono
parents:
diff changeset
1562 2006-06-25 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1563
kono
parents:
diff changeset
1564 PR c++/28051
kono
parents:
diff changeset
1565 * mangle.c (mangle_conv_op_name_for_type): Check for
kono
parents:
diff changeset
1566 invalid types.
kono
parents:
diff changeset
1567 * name-lookup.c (push_class_level_binding): Robustify.
kono
parents:
diff changeset
1568 (do_class_using_decl): Return early if name is error_mark_node.
kono
parents:
diff changeset
1569
kono
parents:
diff changeset
1570 2006-06-23 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1571
kono
parents:
diff changeset
1572 PR c++/28114
kono
parents:
diff changeset
1573 * name-lookup.c (pushtag): Return if we have error_mark_node.
kono
parents:
diff changeset
1574
kono
parents:
diff changeset
1575 2006-06-23 Steve Ellcey <sje@cup.hp.com>
kono
parents:
diff changeset
1576
kono
parents:
diff changeset
1577 PR c++/27019
kono
parents:
diff changeset
1578 * typeck2.c (process_init_constructor_array): Set ce->value on errors.
kono
parents:
diff changeset
1579
kono
parents:
diff changeset
1580 2006-06-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1581
kono
parents:
diff changeset
1582 PR c++/28112
kono
parents:
diff changeset
1583 * parser.c (cp_parser_attribute_list): Skip attributes with invalid
kono
parents:
diff changeset
1584 arguments. Fix comment.
kono
parents:
diff changeset
1585
kono
parents:
diff changeset
1586 PR c++/11468
kono
parents:
diff changeset
1587 * init.c (build_new_1): Handle error_mark_nodes returned by
kono
parents:
diff changeset
1588 build_java_class_ref.
kono
parents:
diff changeset
1589 (build_java_class_ref): Do not abort compilation, but return
kono
parents:
diff changeset
1590 error_mark_node. Improve error message. Fix indentation.
kono
parents:
diff changeset
1591
kono
parents:
diff changeset
1592 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
kono
parents:
diff changeset
1593
kono
parents:
diff changeset
1594 PR target/27789
kono
parents:
diff changeset
1595 * decl.c (start_decl): Check that dllimports are not initialized.
kono
parents:
diff changeset
1596
kono
parents:
diff changeset
1597 2006-06-22 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
1598
kono
parents:
diff changeset
1599 PR c++/27805
kono
parents:
diff changeset
1600 * typeck2.c (build_m_component_ref): Use error_operand_p.
kono
parents:
diff changeset
1601
kono
parents:
diff changeset
1602 PR c++/27821
kono
parents:
diff changeset
1603 * decl.c (grokdeclarator): Return error_mark_node on
kono
parents:
diff changeset
1604 invalid uses of the scope resolution operator.
kono
parents:
diff changeset
1605
kono
parents:
diff changeset
1606 2006-06-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1607
kono
parents:
diff changeset
1608 PR c++/28111
kono
parents:
diff changeset
1609 * pt.c (determine_specialization): Check for invalid decls.
kono
parents:
diff changeset
1610
kono
parents:
diff changeset
1611 PR c++/28110
kono
parents:
diff changeset
1612 * pt.c (unify) <case TEMPLATE_PARM_INDEX>: Check for invalid
kono
parents:
diff changeset
1613 parameters.
kono
parents:
diff changeset
1614
kono
parents:
diff changeset
1615 PR c++/28109
kono
parents:
diff changeset
1616 * rtti.c (get_tinfo_decl_dynamic): Robustify.
kono
parents:
diff changeset
1617
kono
parents:
diff changeset
1618 2006-06-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1619
kono
parents:
diff changeset
1620 PR c++/28052
kono
parents:
diff changeset
1621 * init.c (push_base_cleanups): Skip members with invalid types.
kono
parents:
diff changeset
1622 * typeck.c (build_class_member_access_expr): Robustify.
kono
parents:
diff changeset
1623
kono
parents:
diff changeset
1624 2006-06-19 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1625
kono
parents:
diff changeset
1626 * pt.c (instantiate_template): Fix typo in comment.
kono
parents:
diff changeset
1627
kono
parents:
diff changeset
1628 2006-06-19 Richard Guenther <rguenther@suse.de>
kono
parents:
diff changeset
1629
kono
parents:
diff changeset
1630 * parser.c (CP_LEXER_BUFFER_SIZE): Adjust to assure near
kono
parents:
diff changeset
1631 power-of-two token vector size.
kono
parents:
diff changeset
1632
kono
parents:
diff changeset
1633 2006-06-16 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1634
kono
parents:
diff changeset
1635 PR c++/28016
kono
parents:
diff changeset
1636 * decl.c (cp_finsh_decl): Do not emit uninstantiated static data
kono
parents:
diff changeset
1637 members.
kono
parents:
diff changeset
1638
kono
parents:
diff changeset
1639 PR c++/27979
kono
parents:
diff changeset
1640 * call.c (standard_conversion): Strip cv-qualifiers from bitfield
kono
parents:
diff changeset
1641 types.
kono
parents:
diff changeset
1642
kono
parents:
diff changeset
1643 PR c++/27884
kono
parents:
diff changeset
1644 * decl.c (have_extern_spec): Remove.
kono
parents:
diff changeset
1645 (start_decl): Do not check have_extern_spec.
kono
parents:
diff changeset
1646 (start_function): Likewise.
kono
parents:
diff changeset
1647 * cp-tree.h (have_extern_spec): Remove.
kono
parents:
diff changeset
1648 * parser.c (cp_parser_linkage_specification): Don't set
kono
parents:
diff changeset
1649 have_extern_spec.
kono
parents:
diff changeset
1650 (cp_parser_init_declarator): Likewise.
kono
parents:
diff changeset
1651 (cp_parser_parameter_declaration): Do not treat parameters as
kono
parents:
diff changeset
1652 within the scope of an unbraced linkage specification.
kono
parents:
diff changeset
1653
kono
parents:
diff changeset
1654 2006-06-15 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1655
kono
parents:
diff changeset
1656 PR c++/27689
kono
parents:
diff changeset
1657 * cp-tree.h (CLASSTYPE_SPECIALIZATION_OF_PRIMARY_TEMPLATE_P): New
kono
parents:
diff changeset
1658 macro.
kono
parents:
diff changeset
1659 * pt.c (unify): Use it.
kono
parents:
diff changeset
1660
kono
parents:
diff changeset
1661 PR c++/27666
kono
parents:
diff changeset
1662 * call.c (build_conditional_expr): Robustify.
kono
parents:
diff changeset
1663
kono
parents:
diff changeset
1664 PR c++/27640
kono
parents:
diff changeset
1665 * pt.c (instantiate_template): Set processing_template_decl to
kono
parents:
diff changeset
1666 zero while performing substitutions.
kono
parents:
diff changeset
1667
kono
parents:
diff changeset
1668 2006-06-14 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1669
kono
parents:
diff changeset
1670 PR c++/27665
kono
parents:
diff changeset
1671 * parser.c (cp_parser_unqualified_id): Use constructor_name_p to
kono
parents:
diff changeset
1672 identify destructors.
kono
parents:
diff changeset
1673 (cp_parser_nested_name_specifier_opt): Remove invalid
kono
parents:
diff changeset
1674 optimization.
kono
parents:
diff changeset
1675 (cp_parser_template_id): Refine heuristic for determining whether
kono
parents:
diff changeset
1676 we are entering a scope.
kono
parents:
diff changeset
1677
kono
parents:
diff changeset
1678 PR c++/27648
kono
parents:
diff changeset
1679 * parser.c (cp_parser_declarator): Robustify.
kono
parents:
diff changeset
1680
kono
parents:
diff changeset
1681 PR c++/26559
kono
parents:
diff changeset
1682 * pt.c (tsubst_expr): Use finish_omp_atomic.
kono
parents:
diff changeset
1683 (value_dependent_expression_p): All CALL_EXPRs are dependent.
kono
parents:
diff changeset
1684 * semantics.c (finish_omp_atomic): Rework to use standard
kono
parents:
diff changeset
1685 paradigms for handling non-dependent expressions.
kono
parents:
diff changeset
1686
kono
parents:
diff changeset
1687 2006-06-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
1688
kono
parents:
diff changeset
1689 * typeck.c (build_modify_expr): Tidy diagnostic message.
kono
parents:
diff changeset
1690
kono
parents:
diff changeset
1691 2006-06-14 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1692
kono
parents:
diff changeset
1693 PR c++/28018
kono
parents:
diff changeset
1694 * typeck.c (build_modify_expr): Disallow array assignment.
kono
parents:
diff changeset
1695
kono
parents:
diff changeset
1696 2006-06-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
1697
kono
parents:
diff changeset
1698 * cp-tree.def: Fix typo.
kono
parents:
diff changeset
1699
kono
parents:
diff changeset
1700 2006-06-13 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1701
kono
parents:
diff changeset
1702 PR c++/27227
kono
parents:
diff changeset
1703 * decl.c (decls_match): Allow an extern "C" variable declarations
kono
parents:
diff changeset
1704 from different namespaces to match.
kono
parents:
diff changeset
1705 (duplicate_decls): Disallow redeclaring a variable with a
kono
parents:
diff changeset
1706 different linkage specification.
kono
parents:
diff changeset
1707
kono
parents:
diff changeset
1708 2006-06-13 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1709
kono
parents:
diff changeset
1710 PR middle-end/27793
kono
parents:
diff changeset
1711 * cp-tree.h (cxx_int_tree_map): New struct.
kono
parents:
diff changeset
1712 (struct language_function): Add extern_decl_map field.
kono
parents:
diff changeset
1713 * name-lookup.c (pushdecl_maybe_friend): Add x -> t mapping
kono
parents:
diff changeset
1714 to cp_function_chain->extern_decl_map hash table instead of
kono
parents:
diff changeset
1715 copying over DECL_UID.
kono
parents:
diff changeset
1716 * cp-gimplify.c (cxx_int_tree_map_eq, cxx_int_tree_map_hash): New
kono
parents:
diff changeset
1717 functions.
kono
parents:
diff changeset
1718 (cp_genericize_r): Remap DECL_EXTERN local decls using
kono
parents:
diff changeset
1719 cp_function_chain->extern_decl_map hash table.
kono
parents:
diff changeset
1720 * decl.c (finish_function): Clear extern_decl_map.
kono
parents:
diff changeset
1721
kono
parents:
diff changeset
1722 2006-06-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1723
kono
parents:
diff changeset
1724 PR c++/27601
kono
parents:
diff changeset
1725 * semantics.c (finish_offsetof): Handle pseudo-destructors.
kono
parents:
diff changeset
1726
kono
parents:
diff changeset
1727 PR c++/27933
kono
parents:
diff changeset
1728 * name-lookup.c (lookup_qualified_name): Always return error_mark_node
kono
parents:
diff changeset
1729 if lookup fails.
kono
parents:
diff changeset
1730
kono
parents:
diff changeset
1731 PR c++/27951
kono
parents:
diff changeset
1732 * decl2.c (finish_anon_union): Return early if build_anon_union_vars
kono
parents:
diff changeset
1733 fails.
kono
parents:
diff changeset
1734
kono
parents:
diff changeset
1735 2006-06-12 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
1736
kono
parents:
diff changeset
1737 PR c++/21210
kono
parents:
diff changeset
1738 * typeck2.c (build_functional_cast): Use cp_convert to construct
kono
parents:
diff changeset
1739 non-aggregate initializers instead of the user-level build_c_cast.
kono
parents:
diff changeset
1740
kono
parents:
diff changeset
1741 2006-06-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1742
kono
parents:
diff changeset
1743 PR c++/27601
kono
parents:
diff changeset
1744 * cp-tree.h (finish_offsetof): Add prototype.
kono
parents:
diff changeset
1745 * semantics.c (finish_offsetof): New function.
kono
parents:
diff changeset
1746 * parser.c (cp_parser_builtin_offsetof): Call it instead of
kono
parents:
diff changeset
1747 fold_offsetof.
kono
parents:
diff changeset
1748 * pt.c (tsubst_copy_and_build): Likewise.
kono
parents:
diff changeset
1749
kono
parents:
diff changeset
1750 2006-06-06 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1751
kono
parents:
diff changeset
1752 PR c++/27177
kono
parents:
diff changeset
1753 * call.c (standard_conversion): Require that the derived type be
kono
parents:
diff changeset
1754 complete when performing a derived-to-base conversion.
kono
parents:
diff changeset
1755
kono
parents:
diff changeset
1756 2006-06-04 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1757
kono
parents:
diff changeset
1758 PR c++/27819
kono
parents:
diff changeset
1759 * decl.c (cp_finish_decl): Process initializers for static data
kono
parents:
diff changeset
1760 members with non-dependent initializers, even in templates.
kono
parents:
diff changeset
1761
kono
parents:
diff changeset
1762 PR c++/27722
kono
parents:
diff changeset
1763 * decl.c (maybe_deduce_size_from_array_init): If the declaration
kono
parents:
diff changeset
1764 is erroneous, give it an erroneous type.
kono
parents:
diff changeset
1765 (layout_var_decl): If the type is erroneous, give up.
kono
parents:
diff changeset
1766 (check_initializer): Likewise.
kono
parents:
diff changeset
1767
kono
parents:
diff changeset
1768 PR c++/27807
kono
parents:
diff changeset
1769 * cp-tree.h (TYPE_OBJ_P): New macro.
kono
parents:
diff changeset
1770 (TYPE_PTROB_P): Use it.
kono
parents:
diff changeset
1771 (TYPE_REF_OBJ_P): Likewise.
kono
parents:
diff changeset
1772 * semantics.c (finish_compound_literal): Do not permit compound
kono
parents:
diff changeset
1773 literals of non-object types.
kono
parents:
diff changeset
1774
kono
parents:
diff changeset
1775 PR c++/27806
kono
parents:
diff changeset
1776 * typeck.c (original_type): Robustify.
kono
parents:
diff changeset
1777
kono
parents:
diff changeset
1778 2006-06-05 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1779
kono
parents:
diff changeset
1780 PR c++/27804
kono
parents:
diff changeset
1781 * init.c (constant_value_1): Return decl instead of error_mark_node
kono
parents:
diff changeset
1782 for invalid initializers.
kono
parents:
diff changeset
1783
kono
parents:
diff changeset
1784 2006-06-01 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
1785
kono
parents:
diff changeset
1786 PR c++/27592
kono
parents:
diff changeset
1787 * rtti.c (build_dynamic_cast_1): Call c_common_truthvalue_conversion
kono
parents:
diff changeset
1788 on operand of the COND_EXPR for the null pointer check.
kono
parents:
diff changeset
1789
kono
parents:
diff changeset
1790 2006-06-01 Andrew Pinski <pinskia@physics.uc.edu>
kono
parents:
diff changeset
1791
kono
parents:
diff changeset
1792 PR c++/26740
kono
parents:
diff changeset
1793 * typeck.c (build_unary_op): Mark the function as being used.
kono
parents:
diff changeset
1794
kono
parents:
diff changeset
1795 2006-06-01 Alexandre Oliva <aoliva@redhat.com>
kono
parents:
diff changeset
1796
kono
parents:
diff changeset
1797 PR c++/26660
kono
parents:
diff changeset
1798 * parser.c (cp_parser_initial_pragma): Read one more token for
kono
parents:
diff changeset
1799 caller after reading PCH file in.
kono
parents:
diff changeset
1800
kono
parents:
diff changeset
1801 2006-05-31 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1802
kono
parents:
diff changeset
1803 PR c++/27801
kono
parents:
diff changeset
1804 * call.c (perform_implicit_conversion): Do not actually perform
kono
parents:
diff changeset
1805 conversions in templates.
kono
parents:
diff changeset
1806
kono
parents:
diff changeset
1807 PR c++/26496
kono
parents:
diff changeset
1808 * call.c (resolve_args): Check for invalid uses of bound
kono
parents:
diff changeset
1809 non-static member functions.
kono
parents:
diff changeset
1810 * init.c (build_offset_ref): Return error_mark_node for errors.
kono
parents:
diff changeset
1811
kono
parents:
diff changeset
1812 PR c++/27385
kono
parents:
diff changeset
1813 * decl.c (reshape_init): Robustify.
kono
parents:
diff changeset
1814 (reshape_init_array_1): Likewise.
kono
parents:
diff changeset
1815
kono
parents:
diff changeset
1816 2006-05-30 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1817
kono
parents:
diff changeset
1818 PR c++/27808
kono
parents:
diff changeset
1819 * parser.c (cp_parser_decl_specifier_seq): Issue errors about
kono
parents:
diff changeset
1820 "friend" specifiers that do not appear in class scopes.
kono
parents:
diff changeset
1821
kono
parents:
diff changeset
1822 PR c++/27803
kono
parents:
diff changeset
1823 * class.c (check_bitfield_decl): Ensure that all bitfields have
kono
parents:
diff changeset
1824 integral type.
kono
parents:
diff changeset
1825
kono
parents:
diff changeset
1826 2006-05-29 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
1827
kono
parents:
diff changeset
1828 * pt.c (convert_nontype_argument): Fix a typo in an error
kono
parents:
diff changeset
1829 message.
kono
parents:
diff changeset
1830
kono
parents:
diff changeset
1831 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
1832
kono
parents:
diff changeset
1833 * decl.c, decl2.c, parser.c: Fix comment typos. Follow
kono
parents:
diff changeset
1834 spelling conventions.
kono
parents:
diff changeset
1835
kono
parents:
diff changeset
1836 2006-05-24 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1837
kono
parents:
diff changeset
1838 PR c++/20103
kono
parents:
diff changeset
1839 * decl.c (cp_make_fname_decl): Don't set DECL_INITIAL to
kono
parents:
diff changeset
1840 error_mark_node to indicate an initialization is OK.
kono
parents:
diff changeset
1841 (start_decl): Likewise. Adjust call to start_decl_1.
kono
parents:
diff changeset
1842 (start_decl_1): Add initialized parameter. Simplify.
kono
parents:
diff changeset
1843 * except.c (initialize_handler_parm): Adjust call to
kono
parents:
diff changeset
1844 setart_decl_1.
kono
parents:
diff changeset
1845 (expand_start_catch_block): Let cp_finish_decl initialize catch
kono
parents:
diff changeset
1846 parameters.
kono
parents:
diff changeset
1847 * cp-tree.h (start_decl_1): Adjust prototype.
kono
parents:
diff changeset
1848 * pt.c (tsubst_expr): Don't set DECL_INITIAL to error_mark_node.
kono
parents:
diff changeset
1849 (instantiate_decl): Let cp_finish_decl handle initialization.
kono
parents:
diff changeset
1850 * semantics.c (finish_compound_literal): Create a temporary
kono
parents:
diff changeset
1851 variable for the literal.
kono
parents:
diff changeset
1852 * typeck.c (build_unary_op): Remove COMPOUND_LITERAL_P special
kono
parents:
diff changeset
1853 cases.
kono
parents:
diff changeset
1854 * decl2.c (finish_static_data_member_decl): Don't set
kono
parents:
diff changeset
1855 DECL_INITIAL.
kono
parents:
diff changeset
1856 (grokfield): Do not try to initialize functions.
kono
parents:
diff changeset
1857
kono
parents:
diff changeset
1858 2006-05-23 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1859
kono
parents:
diff changeset
1860 PR c++/20173
kono
parents:
diff changeset
1861 * pt.c (determine_specialization): Disallow partial
kono
parents:
diff changeset
1862 specializations of templates.
kono
parents:
diff changeset
1863
kono
parents:
diff changeset
1864 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1865
kono
parents:
diff changeset
1866 PR c++/27716
kono
parents:
diff changeset
1867 * typeck.c (build_modify_expr): Test arguments for error_operand_p.
kono
parents:
diff changeset
1868
kono
parents:
diff changeset
1869 * decl.c (grokdeclarator): Return error_mark_node instead of NULL_TREE.
kono
parents:
diff changeset
1870
kono
parents:
diff changeset
1871 2006-05-21 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1872
kono
parents:
diff changeset
1873 PR c++/27210
kono
parents:
diff changeset
1874 * cp-tree.h (cp_save_expr): New function.
kono
parents:
diff changeset
1875 * init.c (build_new): Correct logic for zero-element array
kono
parents:
diff changeset
1876 warning. Use cp_save_expr.
kono
parents:
diff changeset
1877 * tree.c (cp_save_expr): New function.
kono
parents:
diff changeset
1878
kono
parents:
diff changeset
1879 2006-05-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1880
kono
parents:
diff changeset
1881 PR c++/27398
kono
parents:
diff changeset
1882 * decl.c (grokdeclarator): Return error_mark_node instead of NULL_TREE
kono
parents:
diff changeset
1883 or void_type_node.
kono
parents:
diff changeset
1884
kono
parents:
diff changeset
1885 2006-05-19 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
1886
kono
parents:
diff changeset
1887 * typeck.c (default_conversion): Remove static.
kono
parents:
diff changeset
1888
kono
parents:
diff changeset
1889 2006-05-19 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1890
kono
parents:
diff changeset
1891 PR c++/26433
kono
parents:
diff changeset
1892 * cp-tree.h (begin_function_try_block): Change prototype.
kono
parents:
diff changeset
1893 (finish_function_handler_sequence): Likewise.
kono
parents:
diff changeset
1894 * parser.c (cp_parser_function_try_block): Adjust calls.
kono
parents:
diff changeset
1895 * pt.c (tsubst_expr): Adjust calls.
kono
parents:
diff changeset
1896 * semantics.c (begin_function_try_block): Create an artificial
kono
parents:
diff changeset
1897 outer scope.
kono
parents:
diff changeset
1898 (finish_function_handler_sequence): Close it.
kono
parents:
diff changeset
1899
kono
parents:
diff changeset
1900 2006-05-18 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1901
kono
parents:
diff changeset
1902 PR c++/27471
kono
parents:
diff changeset
1903 PR c++/27506
kono
parents:
diff changeset
1904 * typeck.c (decay_conversion): Convert bitfields to their declared
kono
parents:
diff changeset
1905 types here. Improve documentation. Avoid use of cp_convert.
kono
parents:
diff changeset
1906 (default_conversion): Make it static. Perform integral promotions
kono
parents:
diff changeset
1907 before lvalue-to-rvalue, function-to-pointer, and array-to-pointer
kono
parents:
diff changeset
1908 conversions.
kono
parents:
diff changeset
1909 * init.c (build_init): Remove.
kono
parents:
diff changeset
1910 (expand_default_init): Do not call rvalue.
kono
parents:
diff changeset
1911 * call.c (null_ptr_cst_p): Robustify.
kono
parents:
diff changeset
1912 (build_conditional_expr): Tidy.
kono
parents:
diff changeset
1913 * except.c (build_throw): Do not perform lvalue-to-rvalue
kono
parents:
diff changeset
1914 conversion on operand before initializing temporary.
kono
parents:
diff changeset
1915 * tree.c (convert.h): Include it.
kono
parents:
diff changeset
1916 (convert_bitfield_to_declared_type): Use convert_to_integer, not
kono
parents:
diff changeset
1917 cp_convert.
kono
parents:
diff changeset
1918 (rvalue): Don't convert bitfields to their declared type here.
kono
parents:
diff changeset
1919 * cp-tree.h (build_init): Remove.
kono
parents:
diff changeset
1920 (default_conversion): Likewise.
kono
parents:
diff changeset
1921 * typeck2.c (build_m_component_ref): Do not perform
kono
parents:
diff changeset
1922 lvalue-to-rvalue, function-to-pointer, or array-to-pointer
kono
parents:
diff changeset
1923 conversions here. Correct error message.
kono
parents:
diff changeset
1924
kono
parents:
diff changeset
1925 2006-05-17 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1926
kono
parents:
diff changeset
1927 PR c++/26122
kono
parents:
diff changeset
1928 * decl2.c (check_member_template): Remove checks for virtual
kono
parents:
diff changeset
1929 functions.
kono
parents:
diff changeset
1930 * parser.c (cp_parser_function_specifier_opt): Complain about
kono
parents:
diff changeset
1931 virtual templates.
kono
parents:
diff changeset
1932 (cp_parser_pure_specifier): Likewise.
kono
parents:
diff changeset
1933
kono
parents:
diff changeset
1934 PR c++/26068
kono
parents:
diff changeset
1935 * parser.c (cp_parser_set_storage_class): Check for
kono
parents:
diff changeset
1936 invalid uses of storage classes on unbraced linkage
kono
parents:
diff changeset
1937 specifications.
kono
parents:
diff changeset
1938 (cp_parser_decl_specifier_seq): Pass keywords, not storage classes,
kono
parents:
diff changeset
1939 to cp_parser_set_storage_class.
kono
parents:
diff changeset
1940
kono
parents:
diff changeset
1941 2006-05-17 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
1942
kono
parents:
diff changeset
1943 PR c++/27491
kono
parents:
diff changeset
1944 * semantics.c (finish_compound_literal): Only set TREE_HAS_CONSTRUCTOR
kono
parents:
diff changeset
1945 on CONSTRUCTORs.
kono
parents:
diff changeset
1946
kono
parents:
diff changeset
1947 PR middle-end/27415
kono
parents:
diff changeset
1948 * parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
kono
parents:
diff changeset
1949 on combined parallel workshare constructs.
kono
parents:
diff changeset
1950 * pt.c (tsubst_expr): Copy OMP_PARALLEL_COMBINED flag.
kono
parents:
diff changeset
1951
kono
parents:
diff changeset
1952 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
kono
parents:
diff changeset
1953
kono
parents:
diff changeset
1954 PR driver/26885
kono
parents:
diff changeset
1955 * Make-lang.in (GXX_OBJS): Replace gcc.o with $(GCC_OBJS).
kono
parents:
diff changeset
1956
kono
parents:
diff changeset
1957 2006-05-15 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
1958
kono
parents:
diff changeset
1959 PR c++/27339
kono
parents:
diff changeset
1960 * cp-tree.h (perform_access_checks): New function.
kono
parents:
diff changeset
1961 * semantics.c (perform_access_checks): New function.
kono
parents:
diff changeset
1962 (perform_deferred_access_checks): Use it.
kono
parents:
diff changeset
1963 * parser.c (cp_parser_simple_declaration): Adjust call to
kono
parents:
diff changeset
1964 cp_parser_init_declarator.
kono
parents:
diff changeset
1965 (cp_parser_type_parameter): Do not defer checks in default
kono
parents:
diff changeset
1966 arguments.
kono
parents:
diff changeset
1967 (cp_parser_explicit_specialization): Adjust call to
kono
parents:
diff changeset
1968 cp_parser_single_declaration.
kono
parents:
diff changeset
1969 (cp_parser_init_declarator): Perform template-parameter access
kono
parents:
diff changeset
1970 checks.
kono
parents:
diff changeset
1971 (cp_parser_parameter_declaration): Do not defer checks for
kono
parents:
diff changeset
1972 template parameter default arguments.
kono
parents:
diff changeset
1973 (cp_parser_template_declaration_after_export): Gather access
kono
parents:
diff changeset
1974 checks for template parameters, and pass them to
kono
parents:
diff changeset
1975 cp_parser_single_declaration.
kono
parents:
diff changeset
1976 (cp_parser_template_parameter_access_checks): New function.
kono
parents:
diff changeset
1977 (cp_parser_single_declaration): Add checks parameter.
kono
parents:
diff changeset
1978
kono
parents:
diff changeset
1979 PR c++/27505
kono
parents:
diff changeset
1980 * call.c (convert_like_real): Convert bitfields to their declared
kono
parents:
diff changeset
1981 types when forming an rvalue.
kono
parents:
diff changeset
1982 * tree.c (convert_bitfield_to_declared_type): New function.
kono
parents:
diff changeset
1983 (rvalue): Use it.
kono
parents:
diff changeset
1984 * cp-tree.h (convert_bitfield_to_declare_type): Declare it.
kono
parents:
diff changeset
1985
kono
parents:
diff changeset
1986 2006-05-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
1987
kono
parents:
diff changeset
1988 PR c++/27582
kono
parents:
diff changeset
1989 * pt.c (any_dependent_template_arguments_p): Return early on invalid
kono
parents:
diff changeset
1990 argument list.
kono
parents:
diff changeset
1991
kono
parents:
diff changeset
1992 PR c++/27581
kono
parents:
diff changeset
1993 * search.c (adjust_result_of_qualified_name_lookup): Skip on
kono
parents:
diff changeset
1994 invalid context_class.
kono
parents:
diff changeset
1995
kono
parents:
diff changeset
1996 PR c++/27315
kono
parents:
diff changeset
1997 * pt.c (do_decl_instantiation): Return early on invalid decl.
kono
parents:
diff changeset
1998
kono
parents:
diff changeset
1999 PR c++/27559
kono
parents:
diff changeset
2000 * pt.c (push_template_decl_real): Return error_mark_node instead
kono
parents:
diff changeset
2001 of broken decl.
kono
parents:
diff changeset
2002
kono
parents:
diff changeset
2003 PR c++/27496
kono
parents:
diff changeset
2004 * pt.c (tsubst_friend_class): Return early on invalid friend
kono
parents:
diff changeset
2005 declarations.
kono
parents:
diff changeset
2006
kono
parents:
diff changeset
2007 2006-05-14 H.J. Lu <hongjiu.lu@intel.com>
kono
parents:
diff changeset
2008
kono
parents:
diff changeset
2009 * Make-lang.in (cp/decl.o): Add dependency on $(TARGET_H).
kono
parents:
diff changeset
2010 (cp/decl2.o): Likewise.
kono
parents:
diff changeset
2011 (cp/typeck.o): Likewise.
kono
parents:
diff changeset
2012 (cp/cvt.o): Likewise.
kono
parents:
diff changeset
2013 (cp/parser.o): Likewise.
kono
parents:
diff changeset
2014 (cp/call.o): Replace target.h with $(TARGET_H).
kono
parents:
diff changeset
2015
kono
parents:
diff changeset
2016 2006-05-14 Alexandre Oliva <aoliva@redhat.com>
kono
parents:
diff changeset
2017
kono
parents:
diff changeset
2018 * pt.c (build_non_dependent_expr): Leave ADDR_EXPR of
kono
parents:
diff changeset
2019 COMPONENT_REF alone.
kono
parents:
diff changeset
2020
kono
parents:
diff changeset
2021 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2022
kono
parents:
diff changeset
2023 PR c++/27547
kono
parents:
diff changeset
2024 * decl.c (copy_fn_p): Return early on non-member functions.
kono
parents:
diff changeset
2025
kono
parents:
diff changeset
2026 2006-05-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2027
kono
parents:
diff changeset
2028 PR c++/27447
kono
parents:
diff changeset
2029 * decl2.c (build_memfn_type): Skip invalid functions and class types.
kono
parents:
diff changeset
2030
kono
parents:
diff changeset
2031 2006-05-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2032
kono
parents:
diff changeset
2033 PR c++/27427
kono
parents:
diff changeset
2034 * pt.c (convert_nontype_argument): Return early on invalid arguments.
kono
parents:
diff changeset
2035
kono
parents:
diff changeset
2036 * pt.c (process_template_parm): Remove superfluous temporary.
kono
parents:
diff changeset
2037
kono
parents:
diff changeset
2038 PR c++/27430
kono
parents:
diff changeset
2039 * pt.c (process_template_parm): Handle erroneous non-type parameters.
kono
parents:
diff changeset
2040
kono
parents:
diff changeset
2041 PR c++/27423
kono
parents:
diff changeset
2042 * typeck.c (convert_for_initialization): Skip erroneous types.
kono
parents:
diff changeset
2043
kono
parents:
diff changeset
2044 PR c++/27422
kono
parents:
diff changeset
2045 * typeck.c (convert_arguments): Return early on args with
kono
parents:
diff changeset
2046 invalid types.
kono
parents:
diff changeset
2047
kono
parents:
diff changeset
2048 2006-05-03 Aldy Hernandez <aldyh@redhat.com>
kono
parents:
diff changeset
2049
kono
parents:
diff changeset
2050 PR/21391
kono
parents:
diff changeset
2051 * typeck.c (build_static_cast_1): Save casted types in used types
kono
parents:
diff changeset
2052 hash table.
kono
parents:
diff changeset
2053 (build_reinterpret_cast_1): Same.
kono
parents:
diff changeset
2054 * rtti.c (build_dynamic_cast_1): Same.
kono
parents:
diff changeset
2055
kono
parents:
diff changeset
2056 2006-05-04 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2057
kono
parents:
diff changeset
2058 PR c++/27359
kono
parents:
diff changeset
2059 * parser.c (cp_parser_omp_for_loop): Only call
kono
parents:
diff changeset
2060 cp_parser_abort_tentative_parse if cp_parser_parse_definitely was not
kono
parents:
diff changeset
2061 called.
kono
parents:
diff changeset
2062
kono
parents:
diff changeset
2063 2006-05-02 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2064
kono
parents:
diff changeset
2065 PR c++/27102
kono
parents:
diff changeset
2066 * decl.c (grokdeclarator): Robustify checks for defining members
kono
parents:
diff changeset
2067 of incomplete types.
kono
parents:
diff changeset
2068
kono
parents:
diff changeset
2069 PR c++/27309
kono
parents:
diff changeset
2070 * class.c (add_method): Call grok_special_member_properties.
kono
parents:
diff changeset
2071 * decl.c (grokdeclarator): Don't call it here.
kono
parents:
diff changeset
2072 (copy_fn_p): A TEMPLATE_DECL is never a copy constructor or
kono
parents:
diff changeset
2073 assignment operator. Set TYPE_HAS_CONSTURCTOR if DECL is a
kono
parents:
diff changeset
2074 constructor.
kono
parents:
diff changeset
2075 (start_method): Don't call grok_special_member_properties.
kono
parents:
diff changeset
2076 * method.c (implicitly_declare_fn): Likewise.
kono
parents:
diff changeset
2077 * pt.c (instantiate_class_template): Likewise.
kono
parents:
diff changeset
2078 * decl2.c (grokfield): Likewise.
kono
parents:
diff changeset
2079
kono
parents:
diff changeset
2080 2006-05-02 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2081
kono
parents:
diff changeset
2082 PR middle-end/27337
kono
parents:
diff changeset
2083 * cp-gimplify.c (cxx_omp_privatize_by_reference): New function.
kono
parents:
diff changeset
2084 * cp-tree.h (cxx_omp_privatize_by_reference): New prototype.
kono
parents:
diff changeset
2085 * cp-objcp-common.h (LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Define.
kono
parents:
diff changeset
2086
kono
parents:
diff changeset
2087 2006-04-30 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2088
kono
parents:
diff changeset
2089 PR c++/27094
kono
parents:
diff changeset
2090 * pt.c (tsubst_default_argument): Increment function_depth around
kono
parents:
diff changeset
2091 call to tsubst_expr.
kono
parents:
diff changeset
2092 * parser.c (cp_parser_parameter_declaration): Likewise.
kono
parents:
diff changeset
2093 * decl2.c (mark_used): Tidy.
kono
parents:
diff changeset
2094
kono
parents:
diff changeset
2095 2006-04-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2096
kono
parents:
diff changeset
2097 PR c++/27278
kono
parents:
diff changeset
2098 * decl.c (grok_op_properties): Skip operators with invalid args
kono
parents:
diff changeset
2099 when checking for class-type or enum-type args.
kono
parents:
diff changeset
2100
kono
parents:
diff changeset
2101 2006-04-29 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2102
kono
parents:
diff changeset
2103 PR c++/27279
kono
parents:
diff changeset
2104 * decl.c (copy_fn_p): Skip functions with invalid first arg.
kono
parents:
diff changeset
2105
kono
parents:
diff changeset
2106 2006-04-27 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2107
kono
parents:
diff changeset
2108 PR c++/27292
kono
parents:
diff changeset
2109 * tree.c (rvalue): Convert bitfields to their declared types.
kono
parents:
diff changeset
2110
kono
parents:
diff changeset
2111 PR c++/27102
kono
parents:
diff changeset
2112 * typeck2.c (cxx_incomplete_type_diagnostic): Handle
kono
parents:
diff changeset
2113 TYPENAME_TYPE.
kono
parents:
diff changeset
2114
kono
parents:
diff changeset
2115 2006-04-24 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2116
kono
parents:
diff changeset
2117 PR c++/27292
kono
parents:
diff changeset
2118 * typeck.c (decay_conversion): Don't adjust bitfield types.
kono
parents:
diff changeset
2119 (perform_integral_promotions): Treat bitfield enums as enums, not
kono
parents:
diff changeset
2120 as short integer types.
kono
parents:
diff changeset
2121 * tree.c (rvalue): Convert bitfields to their correct types.
kono
parents:
diff changeset
2122
kono
parents:
diff changeset
2123 2006-04-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2124
kono
parents:
diff changeset
2125 PR c++/19963
kono
parents:
diff changeset
2126 * class.c (layout_class_type): Skip fields with invalid types.
kono
parents:
diff changeset
2127
kono
parents:
diff changeset
2128 2006-04-23 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2129
kono
parents:
diff changeset
2130 PR c++/26912
kono
parents:
diff changeset
2131 * cp-tree.h (build_this_parm): Declare.
kono
parents:
diff changeset
2132 (grok_method_quals): Remove.
kono
parents:
diff changeset
2133 (build_memfn_type): Declare.
kono
parents:
diff changeset
2134 (build_artificial_parm): Declare.
kono
parents:
diff changeset
2135 (do_friend): Remove quals parameter.
kono
parents:
diff changeset
2136 * decl.c (build_this_parm): New function.
kono
parents:
diff changeset
2137 (grokfndecl): Use it. Do not pass quals to grokclassfn.
kono
parents:
diff changeset
2138 (grokdeclarator): Rename quals to memfn_quals. Avoid allocating
kono
parents:
diff changeset
2139 unnecessary TYPE_DECLs. Correct qualification of member function
kono
parents:
diff changeset
2140 types. Tidy.
kono
parents:
diff changeset
2141 * method.c (implicitly_declare_fn): Use build_this_parm.
kono
parents:
diff changeset
2142 * friend.c (do_friend): Remove quals parameter.
kono
parents:
diff changeset
2143 * decl2.c (grok_method_quals): Remove.
kono
parents:
diff changeset
2144 (build_memfn_type): New function.
kono
parents:
diff changeset
2145 (build_artificial_parm): Give it external linkage.
kono
parents:
diff changeset
2146 (grokclassfn): Remove quals parameter. Do not build "this"
kono
parents:
diff changeset
2147 PARM_DECL here.
kono
parents:
diff changeset
2148
kono
parents:
diff changeset
2149 PR c++/26534
kono
parents:
diff changeset
2150 * cp-tree.h (is_bitfield_expr_with_lowered_type): New function.
kono
parents:
diff changeset
2151 * typeck.c (is_bitfield_expr_with_lowered_type): New function.
kono
parents:
diff changeset
2152 (decay_conversion): Convert bitfield expressions to the correct
kono
parents:
diff changeset
2153 type.
kono
parents:
diff changeset
2154 (build_modify_expr): Remove spurious conversions.
kono
parents:
diff changeset
2155 * class.c (layout_class_type): Modify the type of bitfields to
kono
parents:
diff changeset
2156 indicate a limited range.
kono
parents:
diff changeset
2157 * call.c (standard_conversion): Adjust the type of bitfield
kono
parents:
diff changeset
2158 expressions used in an rvalue context.
kono
parents:
diff changeset
2159 (build_conditional_expr): Likewise.
kono
parents:
diff changeset
2160
kono
parents:
diff changeset
2161 2006-04-22 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
2162
kono
parents:
diff changeset
2163 * decl.c: Fix comment typos.
kono
parents:
diff changeset
2164
kono
parents:
diff changeset
2165 2006-04-21 Eric Christopher <echristo@apple.com>
kono
parents:
diff changeset
2166
kono
parents:
diff changeset
2167 * decl.c: Fix typo in function name.
kono
parents:
diff changeset
2168
kono
parents:
diff changeset
2169 2006-04-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2170
kono
parents:
diff changeset
2171 PR c++/26558
kono
parents:
diff changeset
2172 * parser.c (cp_parser_class_name): Check for invalid typenames.
kono
parents:
diff changeset
2173 Rearrange code.
kono
parents:
diff changeset
2174
kono
parents:
diff changeset
2175 PR c++/26739
kono
parents:
diff changeset
2176 * pt.c (tsubst_friend_function): Return early if
kono
parents:
diff changeset
2177 pushdecl_namespace_level fails.
kono
parents:
diff changeset
2178
kono
parents:
diff changeset
2179 PR c++/26036
kono
parents:
diff changeset
2180 * typeck.c (convert_arguments): Return error_mark_node instead of
kono
parents:
diff changeset
2181 error_mark_list.
kono
parents:
diff changeset
2182 * cp-tree.h (error_mark_list): Remove declaration.
kono
parents:
diff changeset
2183 * decl.c (error_mark_list): Remove definition.
kono
parents:
diff changeset
2184 (cxx_init_decl_processing): Do not initialize error_mark_list.
kono
parents:
diff changeset
2185
kono
parents:
diff changeset
2186 PR c++/10385
kono
parents:
diff changeset
2187 * rtti.c (build_dynamic_cast_1): Check for invalid conversions
kono
parents:
diff changeset
2188 before calling convert_to_reference.
kono
parents:
diff changeset
2189 * cvt.c (convert_to_reference): Assert that reftype is a
kono
parents:
diff changeset
2190 REFERENCE_TYPE.
kono
parents:
diff changeset
2191
kono
parents:
diff changeset
2192 2006-04-19 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2193
kono
parents:
diff changeset
2194 PR c++/27102
kono
parents:
diff changeset
2195 * class.c (currently_open_class): Tidy.
kono
parents:
diff changeset
2196 * decl.c (grokdeclarator): If we encounter an erroneous
kono
parents:
diff changeset
2197 declarator, assume that we have already issued an error message
kono
parents:
diff changeset
2198 and return. Return error_mark_node instead of NULL_TREE in more
kono
parents:
diff changeset
2199 places. Issue errors about function definitions that do not have
kono
parents:
diff changeset
2200 a function declarator. Check for complete types for all function
kono
parents:
diff changeset
2201 definitions.
kono
parents:
diff changeset
2202 * cp-tree.h (cp_error_declarator): Remove.
kono
parents:
diff changeset
2203 (currently_open_class): Change return type.
kono
parents:
diff changeset
2204 * parser.c (cp_parser_id_expression): Add optional_p parameter.
kono
parents:
diff changeset
2205 (cp_parser_parse_diagnose_invalid_type_name): Adjust calls.
kono
parents:
diff changeset
2206 (cp_parser_id_expression): Likewise.
kono
parents:
diff changeset
2207 (cp_parser_unqualified_id): If the name is optional, return
kono
parents:
diff changeset
2208 NULL_TREE.
kono
parents:
diff changeset
2209 (cp_parser_postfix_dot_deref_expression): Adjust calls.
kono
parents:
diff changeset
2210 (cp_parser_type_parameter): Likewise.
kono
parents:
diff changeset
2211 (cp_parser_unqualified_id): Likewise.
kono
parents:
diff changeset
2212 (cp_parser_direct_declarator): Likewise.
kono
parents:
diff changeset
2213 (cp_parser_declarator_id): Add optional_p parameter.
kono
parents:
diff changeset
2214 (cp_parser_function_definition_from_specifiers_and_declarator):
kono
parents:
diff changeset
2215 Assume that start_function indicates failure only if it has issued
kono
parents:
diff changeset
2216 an error.
kono
parents:
diff changeset
2217 (cp_parser_omp_var_list_no_open): Adjust calls.
kono
parents:
diff changeset
2218
kono
parents:
diff changeset
2219 2006-04-17 Janis Johnson <janis187@us.ibm.com>
kono
parents:
diff changeset
2220
kono
parents:
diff changeset
2221 PR c++/26114, c++/26115
kono
parents:
diff changeset
2222 * typeck.c (cxx_mark_addressable): Restore check for extra_warnings.
kono
parents:
diff changeset
2223 * class.c (check_field_decls): Ditto.
kono
parents:
diff changeset
2224
kono
parents:
diff changeset
2225 2006-04-17 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2226
kono
parents:
diff changeset
2227 * init.c (build_offset_ref): Remove superfluous temporary.
kono
parents:
diff changeset
2228
kono
parents:
diff changeset
2229 2006-04-16 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2230
kono
parents:
diff changeset
2231 PR c++/26365
kono
parents:
diff changeset
2232 * typeck.c (finish_class_member_access_expr): Robustify
kono
parents:
diff changeset
2233
kono
parents:
diff changeset
2234 2006-04-15 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
2235
kono
parents:
diff changeset
2236 * Make-lang.in (cp/pt.o): Depend on vecprim.h.
kono
parents:
diff changeset
2237 * pt.c: Include vecprim.h.
kono
parents:
diff changeset
2238 (inline_parm_levels): Change the type to VEC(int,heap) *.
kono
parents:
diff changeset
2239 (inline_parm_levels_used): Remove.
kono
parents:
diff changeset
2240 (maybe_begin_member_template_processing,
kono
parents:
diff changeset
2241 maybe_end_member_template_processing): Use VEC instead of
kono
parents:
diff changeset
2242 VARRAY.
kono
parents:
diff changeset
2243
kono
parents:
diff changeset
2244 * cp/call.c: Fix comment typos.
kono
parents:
diff changeset
2245
kono
parents:
diff changeset
2246 2006-04-12 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2247
kono
parents:
diff changeset
2248 * parser.c (cp_parser_init_declarator): Initialize local variables
kono
parents:
diff changeset
2249 aggressively.
kono
parents:
diff changeset
2250
kono
parents:
diff changeset
2251 2006-04-12 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
2252
kono
parents:
diff changeset
2253 * parser.c (cp_parser_init_declarator): Initialise
kono
parents:
diff changeset
2254 is_parenthesized_init to false to avoid compiler warning.
kono
parents:
diff changeset
2255
kono
parents:
diff changeset
2256 2006-04-11 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2257
kono
parents:
diff changeset
2258 * cp-tree.h (build_operator_new_call): Adjust prototype.
kono
parents:
diff changeset
2259 (build_new_method_call): Likewise.
kono
parents:
diff changeset
2260 (build_op_delete_call): Likewise.
kono
parents:
diff changeset
2261 * init.c (build_raw_new_expr): New function.
kono
parents:
diff changeset
2262 (build_new_1): Pass information as parameters, rather than
kono
parents:
diff changeset
2263 bundling it into a NEW_EXPR.
kono
parents:
diff changeset
2264 (build_new): Adjust accordingly.
kono
parents:
diff changeset
2265 (build_vec_delete_1): Adjust for changes to build_op_delete_call.
kono
parents:
diff changeset
2266 (build_delete): Likewise.
kono
parents:
diff changeset
2267 * decl.c (finish_destructor_body): Likewise.
kono
parents:
diff changeset
2268 * call.c (build_operator_new_call): Return the allocation function
kono
parents:
diff changeset
2269 used.
kono
parents:
diff changeset
2270 (build_op_delete_call): Take allocation function as parameter.
kono
parents:
diff changeset
2271 (build_special_member_call): Adjust call to build_new_method_call.
kono
parents:
diff changeset
2272 (build_new_method_call): Return function called.
kono
parents:
diff changeset
2273 * pt.c (tsubst_copy_and_build): Adjust call to
kono
parents:
diff changeset
2274 build_new_method_call.
kono
parents:
diff changeset
2275 * semantics.c (finish_call_expr): Likewise.
kono
parents:
diff changeset
2276 * parser.c (cp_parser_postfix_expression): Likewise.
kono
parents:
diff changeset
2277 * typeck2.c (cxx_incomplete_type_diagnostic): Refer to
kono
parents:
diff changeset
2278 "incomplete", not "undefined", types.
kono
parents:
diff changeset
2279
kono
parents:
diff changeset
2280 PR c++/26295
kono
parents:
diff changeset
2281 * decl.c (grokdeclarator): Remove namespace-handling code for
kono
parents:
diff changeset
2282 pointers-to-members.
kono
parents:
diff changeset
2283 * parser.c (cp_parser_ptr_operator): Check for qualified names
kono
parents:
diff changeset
2284 using namespaces.
kono
parents:
diff changeset
2285
kono
parents:
diff changeset
2286 PR c++/26122
kono
parents:
diff changeset
2287 * parser.c (cp_parser_init_declarator): Adjust logic for deciding
kono
parents:
diff changeset
2288 whether or not to look for a pure-specifier.
kono
parents:
diff changeset
2289 (cp_parser_member_declaration): Likewise.
kono
parents:
diff changeset
2290
kono
parents:
diff changeset
2291 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
2292
kono
parents:
diff changeset
2293 * decl2.c, pt.c, semantics.c: Fix comment typos.
kono
parents:
diff changeset
2294
kono
parents:
diff changeset
2295 2006-04-06 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
2296
kono
parents:
diff changeset
2297 * call.c (null_ptr_cst_p): Add explicit TREE_CONSTANT_OVERFLOW check.
kono
parents:
diff changeset
2298
kono
parents:
diff changeset
2299 2006-04-05 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2300
kono
parents:
diff changeset
2301 * name-lookup.c (push_namespace_with_attribs): Temporarily disable
kono
parents:
diff changeset
2302 default hidden visibility for anonymous namespace.
kono
parents:
diff changeset
2303
kono
parents:
diff changeset
2304 2006-03-29 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
2305
kono
parents:
diff changeset
2306 PR c++/22494
kono
parents:
diff changeset
2307 * init.c (build_vec_delete_1): Convert BASE pointer's type to
kono
parents:
diff changeset
2308 the base pointer type to avoid a type mismatch in the EQ_EXPR.
kono
parents:
diff changeset
2309
kono
parents:
diff changeset
2310 2006-03-24 Carlos O'Donell <carlos@codesourcery.com>
kono
parents:
diff changeset
2311
kono
parents:
diff changeset
2312 * search.c (maybe_suppress_debug_info): If
kono
parents:
diff changeset
2313 flag_emit_class_debug_always then don't suppress.
kono
parents:
diff changeset
2314
kono
parents:
diff changeset
2315 2006-03-22 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2316
kono
parents:
diff changeset
2317 * name-lookup.c (push_namespace_with_attribs): Only apply hidden
kono
parents:
diff changeset
2318 visibility to anonymous namespaces if HAVE_GAS_HIDDEN.
kono
parents:
diff changeset
2319
kono
parents:
diff changeset
2320 2006-03-21 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2321
kono
parents:
diff changeset
2322 PR c++/26691
kono
parents:
diff changeset
2323 * cp-gimplify.c (cxx_omp_clause_apply_fn): Handle default arguments.
kono
parents:
diff changeset
2324
kono
parents:
diff changeset
2325 2006-03-21 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2326
kono
parents:
diff changeset
2327 PR c++/21581
kono
parents:
diff changeset
2328 * parser.c (cp_parser_declaration): Support attributes on
kono
parents:
diff changeset
2329 anonymous namespaces.
kono
parents:
diff changeset
2330 * name-lookup.c (push_namespace_with_attribs): Anonymous
kono
parents:
diff changeset
2331 namespaces default to hidden visibility.
kono
parents:
diff changeset
2332
kono
parents:
diff changeset
2333 2006-03-20 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2334
kono
parents:
diff changeset
2335 PR c++/21764, c++/19238
kono
parents:
diff changeset
2336 * decl.c (cp_finish_decl): Call determine_visibility later.
kono
parents:
diff changeset
2337 (start_preparsed_function): Likewise.
kono
parents:
diff changeset
2338 * cp-tree.h (CP_TYPE_CONTEXT, TYPE_NAMESPACE_SCOPE_P): New macros.
kono
parents:
diff changeset
2339 (TYPE_CLASS_SCOPE_P, TYPE_FUNCTION_SCOPE_P): New macros.
kono
parents:
diff changeset
2340 * name-lookup.h (struct cp_binding_level): Add has_visibility
kono
parents:
diff changeset
2341 bitfield.
kono
parents:
diff changeset
2342 * name-lookup.c: Include c-pragma.h.
kono
parents:
diff changeset
2343 (push_namespace_with_attribs): Split out from push_namespace.
kono
parents:
diff changeset
2344 Push visibility if appropriate. Set TREE_PUBLIC on namespaces.
kono
parents:
diff changeset
2345 (leave_scope): Pop visibility if appropriate.
kono
parents:
diff changeset
2346 * decl2.c (determine_visibility_from_class): Split out from...
kono
parents:
diff changeset
2347 (determine_visibility): ...here. Handle function scope and
kono
parents:
diff changeset
2348 nested classes.
kono
parents:
diff changeset
2349 (import_export_decl): Move visibility handling to
kono
parents:
diff changeset
2350 determine_visibility_from_class.
kono
parents:
diff changeset
2351 * parser.c (cp_parser_declaration, cp_parser_namespace_name): Allow
kono
parents:
diff changeset
2352 attributes on namespace declarations.
kono
parents:
diff changeset
2353
kono
parents:
diff changeset
2354 2006-03-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2355
kono
parents:
diff changeset
2356 PR c++/6634
kono
parents:
diff changeset
2357 * decl.c (grokdeclarator): Do not accept long long double.
kono
parents:
diff changeset
2358 Reorganize checks for invalid (combinations of) type modifiers.
kono
parents:
diff changeset
2359 Quote modifiers in messages.
kono
parents:
diff changeset
2360
kono
parents:
diff changeset
2361 2006-03-09 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2362
kono
parents:
diff changeset
2363 PR c++/16387, c++/16389
kono
parents:
diff changeset
2364 * typeck.c (cxx_alignof_expr, cxx_sizeof_expr): New functions.
kono
parents:
diff changeset
2365 (cxx_sizeof_or_alignof_expr): Split out from here.
kono
parents:
diff changeset
2366
kono
parents:
diff changeset
2367 2006-03-09 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2368
kono
parents:
diff changeset
2369 Merge from gomp-20050608-branch
kono
parents:
diff changeset
2370
kono
parents:
diff changeset
2371 2006-02-02 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2372
kono
parents:
diff changeset
2373 * decl.c (pop_labels_1): Use appropriate pointer casting.
kono
parents:
diff changeset
2374 (poplevel_named_label_1): Likewise.
kono
parents:
diff changeset
2375 (named_label_entry_hash): Likewise.
kono
parents:
diff changeset
2376 (named_label_entry_eq): Likewise.
kono
parents:
diff changeset
2377 (check_goto): Likewise.
kono
parents:
diff changeset
2378 (define_label): Likewise.
kono
parents:
diff changeset
2379
kono
parents:
diff changeset
2380 2006-01-26 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2381
kono
parents:
diff changeset
2382 * cp-tree.h (CP_OMP_CLAUSE_INFO): Use TREE_TYPE instead
kono
parents:
diff changeset
2383 of TREE_BLOCK.
kono
parents:
diff changeset
2384 * pt.c: Use OMP_CLAUSE_CODE and OMP_CLAUSE_OPERAND
kono
parents:
diff changeset
2385 instead of TREE_CODE/TREE_OPERAND.
kono
parents:
diff changeset
2386 * semantics.c: Likewise.
kono
parents:
diff changeset
2387 * parser.c: Likewise.
kono
parents:
diff changeset
2388
kono
parents:
diff changeset
2389 2005-11-10 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2390
kono
parents:
diff changeset
2391 * parser.c (cp_parser_omp_threadprivate): Emit diagnostic if
kono
parents:
diff changeset
2392 target does not support TLS.
kono
parents:
diff changeset
2393
kono
parents:
diff changeset
2394 2005-11-09 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2395
kono
parents:
diff changeset
2396 * decl.c (redeclaration_error_message): Don't error about
kono
parents:
diff changeset
2397 DECL_THREAD_LOCAL_P mismatches if CP_DECL_THREADPRIVATE_P
kono
parents:
diff changeset
2398 (olddecl).
kono
parents:
diff changeset
2399
kono
parents:
diff changeset
2400 2005-11-08 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2401
kono
parents:
diff changeset
2402 PR c++/24735
kono
parents:
diff changeset
2403 * semantics.c (finish_omp_barrier, finish_omp_flush): New
kono
parents:
diff changeset
2404 functions.
kono
parents:
diff changeset
2405 * parser.c (cp_parser_omp_barrier): Call finish_omp_barrier.
kono
parents:
diff changeset
2406 (cp_parser_omp_flush): Call finish_omp_flush.
kono
parents:
diff changeset
2407 * cp-tree.h (finish_omp_barrier, finish_omp_flush): New
kono
parents:
diff changeset
2408 prototypes.
kono
parents:
diff changeset
2409
kono
parents:
diff changeset
2410 PR c++/24734
kono
parents:
diff changeset
2411 * pt.c (tsubst_expr): Handle OMP_MASTER and OMP_ORDERED.
kono
parents:
diff changeset
2412
kono
parents:
diff changeset
2413 2005-11-03 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2414
kono
parents:
diff changeset
2415 * semantics.c (finish_omp_threadprivate): Error on class-scope
kono
parents:
diff changeset
2416 variables.
kono
parents:
diff changeset
2417
kono
parents:
diff changeset
2418 2005-11-02 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2419
kono
parents:
diff changeset
2420 * parser.c (cp_parser_omp_all_clauses): If some clause
kono
parents:
diff changeset
2421 type is not allowed, don't remove just one of the
kono
parents:
diff changeset
2422 clauses, but all clauses added in that loop round.
kono
parents:
diff changeset
2423
kono
parents:
diff changeset
2424 * semantics.c (finish_omp_clauses): Fix function
kono
parents:
diff changeset
2425 comment. Don't handle non-const or mutable specially,
kono
parents:
diff changeset
2426 as const and not mutable is predetermined shared and
kono
parents:
diff changeset
2427 that leads to double error. Don't ICE if copyin var is
kono
parents:
diff changeset
2428 PARM_DECL.
kono
parents:
diff changeset
2429
kono
parents:
diff changeset
2430 PR c++/24613
kono
parents:
diff changeset
2431 * parser.c (cp_parser_pragma): Diagnose
kono
parents:
diff changeset
2432 PRAGMA_OMP_SECTION outside of PRAGMA_OMP_SECTIONS
kono
parents:
diff changeset
2433 construct.
kono
parents:
diff changeset
2434
kono
parents:
diff changeset
2435 * semantics.c (finish_omp_threadprivate): Error if V
kono
parents:
diff changeset
2436 is automatic variable or has incomplete type.
kono
parents:
diff changeset
2437
kono
parents:
diff changeset
2438 2005-11-01 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2439
kono
parents:
diff changeset
2440 * parser.c (cp_parser_omp_all_clauses): Use
kono
parents:
diff changeset
2441 OMP_CLAUSE_CHAIN instead of TREE_CHAIN.
kono
parents:
diff changeset
2442
kono
parents:
diff changeset
2443 2005-11-01 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2444
kono
parents:
diff changeset
2445 * parser.c (cp_parser_omp_all_clauses): When emitting an
kono
parents:
diff changeset
2446 error message, remove the invalid clause from the list.
kono
parents:
diff changeset
2447
kono
parents:
diff changeset
2448 2005-10-31 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2449
kono
parents:
diff changeset
2450 * parser.c (cp_parser_omp_parallel): Do not allow 'nowait' in
kono
parents:
diff changeset
2451 combined parallel+workshare directives.
kono
parents:
diff changeset
2452
kono
parents:
diff changeset
2453 2005-10-31 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2454
kono
parents:
diff changeset
2455 * cp-objcp-common.h (LANG_HOOKS_OMP_CLAUSE_DTOR):
kono
parents:
diff changeset
2456 Use cxx_omp_clause_dtor.
kono
parents:
diff changeset
2457 * cp-tree.h (CP_OMP_CLAUSE_INFO): New.
kono
parents:
diff changeset
2458 (cxx_omp_clause_dtor): New.
kono
parents:
diff changeset
2459 * cp-gimplify.c (cxx_omp_clause_apply_fn): New.
kono
parents:
diff changeset
2460 (cxx_omp_clause_default_ctor): Use it.
kono
parents:
diff changeset
2461 (cxx_omp_clause_copy_ctor, cxx_omp_clause_assign_op):
kono
parents:
diff changeset
2462 Likewise.
kono
parents:
diff changeset
2463 (cxx_omp_clause_dtor): New.
kono
parents:
diff changeset
2464 * semantics.c (finish_omp_clauses): Rewrite cdtor
kono
parents:
diff changeset
2465 checking to fill in CP_OMP_CLAUSE_INFO. Don't
kono
parents:
diff changeset
2466 specialcase LASTPRIVATE for removal.
kono
parents:
diff changeset
2467 (cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor,
kono
parents:
diff changeset
2468 cxx_omp_clause_assign_op): Move to cp-gimplify.c.
kono
parents:
diff changeset
2469
kono
parents:
diff changeset
2470 2005-10-28 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2471
kono
parents:
diff changeset
2472 * semantics.c (finish_omp_threadprivate): If
kono
parents:
diff changeset
2473 DECL_RTL_SET_P, call make_decl_rtl again so that
kono
parents:
diff changeset
2474 encode_section_info can update SYMBOL_REF's flags.
kono
parents:
diff changeset
2475
kono
parents:
diff changeset
2476 2005-10-26 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2477
kono
parents:
diff changeset
2478 * semantics.c (finish_omp_for): Don't segfault if COND
kono
parents:
diff changeset
2479 or INCR is NULL. If not calling c_finish_omp_for
kono
parents:
diff changeset
2480 right away and one of COND and INCR is NULL, issue
kono
parents:
diff changeset
2481 error and don't expand anything.
kono
parents:
diff changeset
2482
kono
parents:
diff changeset
2483 PR c++/24512
kono
parents:
diff changeset
2484 * cp-tree.h (finish_omp_for): Add PRE_BODY argument.
kono
parents:
diff changeset
2485 * semantics.c (finish_omp_for): Likewise. Set
kono
parents:
diff changeset
2486 OMP_FOR_PRE_BODY to PRE_BODY if deferring, add it
kono
parents:
diff changeset
2487 into the current statement list if not processing
kono
parents:
diff changeset
2488 template decl or pass it to c_finish_omp_for.
kono
parents:
diff changeset
2489
kono
parents:
diff changeset
2490 * parser.c (cp_parser_omp_for_loop): Expand optional DECL_EXPRs
kono
parents:
diff changeset
2491 into PRE_BODY statement list. Pass it to finish_omp_for.
kono
parents:
diff changeset
2492 * pt.c (tsubst_expr) <case OMP_FOR>: tsubst_expr also
kono
parents:
diff changeset
2493 OMP_FOR_PRE_BODY into PRE_BODY stmt list, pass it to
kono
parents:
diff changeset
2494 finish_omp_for. Put all the statements into sk_omp
kono
parents:
diff changeset
2495 scope.
kono
parents:
diff changeset
2496
kono
parents:
diff changeset
2497 2005-10-25 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2498
kono
parents:
diff changeset
2499 PR c++/24516
kono
parents:
diff changeset
2500 * parser.c (struct cp_parser): Rename in_iteration_statement
kono
parents:
diff changeset
2501 field to in_statement.
kono
parents:
diff changeset
2502 (IN_SWITCH_STMT, IN_ITERATION_STMT): Define.
kono
parents:
diff changeset
2503 (IN_OMP_BLOCK, IN_OMP_FOR): Change values.
kono
parents:
diff changeset
2504 (cp_parser_new, cp_parser_begin_omp_structured_block,
kono
parents:
diff changeset
2505 cp_parser_end_omp_structured_block,
kono
parents:
diff changeset
2506 cp_parser_omp_for_loop): Adjust for
kono
parents:
diff changeset
2507 in_iteration_statement renaming.
kono
parents:
diff changeset
2508 (cp_parser_selection_statement): Save
kono
parents:
diff changeset
2509 parser->in_iteration, or it temporarily with
kono
parents:
diff changeset
2510 IN_SWITCH_STMT for the
kono
parents:
diff changeset
2511 cp_parser_implicitly_scoped_statement call.
kono
parents:
diff changeset
2512 (cp_parser_iteration_statement): Adjust for
kono
parents:
diff changeset
2513 in_iteration_statement renaming. Use
kono
parents:
diff changeset
2514 IN_ITERATION_STMT rather than true.
kono
parents:
diff changeset
2515 (cp_parser_jump_statement): Adjust for
kono
parents:
diff changeset
2516 in_iteration_statement renaming and new values. Don't
kono
parents:
diff changeset
2517 error on break in a switch statement within OMP_FOR or
kono
parents:
diff changeset
2518 OpenMP structured block.
kono
parents:
diff changeset
2519
kono
parents:
diff changeset
2520 PR c++/24513
kono
parents:
diff changeset
2521 * parser.c (cp_parser_cache_group): Don't stop if next
kono
parents:
diff changeset
2522 token is CPP_PRAGMA_EOL and end is CPP_PRAGMA_EOL as
kono
parents:
diff changeset
2523 well. If current token is CPP_PRAGMA, consume
kono
parents:
diff changeset
2524 everything until CPP_PRAGMA_EOL inclusive.
kono
parents:
diff changeset
2525
kono
parents:
diff changeset
2526 2005-10-24 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2527
kono
parents:
diff changeset
2528 PR c++/24502
kono
parents:
diff changeset
2529 * semantics.c (finish_omp_for): Handle MODOP_EXPR in
kono
parents:
diff changeset
2530 addition to MODIFY_EXPR.
kono
parents:
diff changeset
2531
kono
parents:
diff changeset
2532 2005-10-23 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2533
kono
parents:
diff changeset
2534 * cp-gimplify.c (struct cp_gimplify_ctx): Remove.
kono
parents:
diff changeset
2535 (bc_label): New.
kono
parents:
diff changeset
2536 (begin_bc_block, finish_bc_block): Use it.
kono
parents:
diff changeset
2537 (push_context, pop_context): Remove.
kono
parents:
diff changeset
2538 (cp_genericize): Don't use them. Assert bc_label is null.
kono
parents:
diff changeset
2539 * semantics.c (finish_omp_clauses): Create a fake data
kono
parents:
diff changeset
2540 element of TYPE for probing ctors.
kono
parents:
diff changeset
2541
kono
parents:
diff changeset
2542 2005-10-23 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2543
kono
parents:
diff changeset
2544 * cp-objcp-common.h (LANG_HOOKS_OMP_CLAUSE_DEFAULT_CTOR): New.
kono
parents:
diff changeset
2545 (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR): New.
kono
parents:
diff changeset
2546 (LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): New.
kono
parents:
diff changeset
2547 (LANG_HOOKS_OMP_CLAUSE_DTOR): New.
kono
parents:
diff changeset
2548 * semantics.c (finish_omp_clauses): Look through
kono
parents:
diff changeset
2549 arrays when looking up special member calls. Also
kono
parents:
diff changeset
2550 remove FIRSTPRIVATE when LASTPRIVATE fails.
kono
parents:
diff changeset
2551 (cxx_omp_clause_default_ctor, cxx_omp_clause_copy_ctor): New.
kono
parents:
diff changeset
2552 (cxx_omp_clause_assign_op): New.
kono
parents:
diff changeset
2553 * cp-tree.h: Declare them.
kono
parents:
diff changeset
2554
kono
parents:
diff changeset
2555 2005-10-21 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2556
kono
parents:
diff changeset
2557 * decl.c (check_previous_goto_1): Return false if error.
kono
parents:
diff changeset
2558 (check_switch_goto): Likewise.
kono
parents:
diff changeset
2559 (finish_case_label): Don't emit the case label on error.
kono
parents:
diff changeset
2560 * parser.c (struct cp_parser): Revert
kono
parents:
diff changeset
2561 in_switch_statement_p changes.
kono
parents:
diff changeset
2562 (cp_parser_labeled_statement,
kono
parents:
diff changeset
2563 cp_parser_selection_statement): Likewise.
kono
parents:
diff changeset
2564 (cp_parser_begin_omp_structured_block): Don't save...
kono
parents:
diff changeset
2565 (cp_parser_end_omp_structured_block): or restore
kono
parents:
diff changeset
2566 in_switch_statement_p.
kono
parents:
diff changeset
2567
kono
parents:
diff changeset
2568 2005-10-21 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2569
kono
parents:
diff changeset
2570 * semantics.c (finish_omp_threadprivate): Set
kono
parents:
diff changeset
2571 decl_flags.u2sel when necessary.
kono
parents:
diff changeset
2572
kono
parents:
diff changeset
2573 2005-10-21 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2574
kono
parents:
diff changeset
2575 * decl.c (poplevel_named_label_1): Restore creation of the
kono
parents:
diff changeset
2576 bad_decls list.
kono
parents:
diff changeset
2577 (decl_jump_unsafe): Check for error_mark_node types.
kono
parents:
diff changeset
2578 (check_goto): Don't check cdtor_label. Don't use identify_goto.
kono
parents:
diff changeset
2579 * semantics.c (finish_return_stmt): Do check_omp_return before
kono
parents:
diff changeset
2580 converting to cdtor_label goto.
kono
parents:
diff changeset
2581
kono
parents:
diff changeset
2582 2005-10-21 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2583
kono
parents:
diff changeset
2584 PR c++/24451
kono
parents:
diff changeset
2585 * decl.c (check_omp_return): Return false on error.
kono
parents:
diff changeset
2586 * cp-tree.h (check_omp_return): Update decl.
kono
parents:
diff changeset
2587 * semantics.c (finish_return_stmt): Avoid adding
kono
parents:
diff changeset
2588 return on error.
kono
parents:
diff changeset
2589
kono
parents:
diff changeset
2590 2005-10-21 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2591
kono
parents:
diff changeset
2592 * cp-tree.h (struct language_function): Remove
kono
parents:
diff changeset
2593 x_named_label_uses.
kono
parents:
diff changeset
2594 Change x_named_labels to a hashtable.
kono
parents:
diff changeset
2595 (check_omp_return): Declare.
kono
parents:
diff changeset
2596 * decl.c (struct named_label_use_entry): Rename from
kono
parents:
diff changeset
2597 named_label_use_list. Remove label_decl.
kono
parents:
diff changeset
2598 (struct named_label_entry): Rename from
kono
parents:
diff changeset
2599 named_label_list. Remove old_value and next. Change
kono
parents:
diff changeset
2600 in_try_scope and in_catch_scope to bool. Add
kono
parents:
diff changeset
2601 in_omp_scope.
kono
parents:
diff changeset
2602 (pop_labels_1): New.
kono
parents:
diff changeset
2603 (pop_labels): Use it.
kono
parents:
diff changeset
2604 (pop_local_label, poplevel_named_label_1): New.
kono
parents:
diff changeset
2605 (poplevel): Use them.
kono
parents:
diff changeset
2606 (named_label_entry_hash, named_label_entry_eq): New.
kono
parents:
diff changeset
2607 (make_label_decl): Create named_labels. Move label
kono
parents:
diff changeset
2608 creation bits from lookup_label.
kono
parents:
diff changeset
2609 (declare_local_label): Tidy.
kono
parents:
diff changeset
2610 (identify_goto): Split out from ...
kono
parents:
diff changeset
2611 (check_previous_goto_1): Add exited_omp argument.
kono
parents:
diff changeset
2612 Handle omp scopes.
kono
parents:
diff changeset
2613
kono
parents:
diff changeset
2614 (use_label): Merge into...
kono
parents:
diff changeset
2615 (check_goto): ... here. Handle omp scopes.
kono
parents:
diff changeset
2616 (check_omp_return): New.
kono
parents:
diff changeset
2617 (check_previous_gotos): Merge into...
kono
parents:
diff changeset
2618 (define_label): ... here.
kono
parents:
diff changeset
2619 (save_function_data): Remove x_named_label_uses reference.
kono
parents:
diff changeset
2620 (finish_function): Likewise.
kono
parents:
diff changeset
2621 * name-lookup.h (sk_omp): New.
kono
parents:
diff changeset
2622 * name-lookup.c (begin_scope): Handle it.
kono
parents:
diff changeset
2623 * parser.c (cp_parser_omp_for): Don't create extra
kono
parents:
diff changeset
2624 compound stmt.
kono
parents:
diff changeset
2625
kono
parents:
diff changeset
2626 (cp_parser_omp_sections): Likewise.
kono
parents:
diff changeset
2627 * semantics.c (finish_return_stmt): Call check_omp_return.
kono
parents:
diff changeset
2628 (begin_omp_structured_block): Use sk_omp.
kono
parents:
diff changeset
2629 (finish_omp_structured_block): Use do_poplevel. Don't build a
kono
parents:
diff changeset
2630 MUST_NOT_THROW expression here.
kono
parents:
diff changeset
2631 (begin_omp_parallel, finish_omp_parallel): Don't create extra
kono
parents:
diff changeset
2632 compound statements.
kono
parents:
diff changeset
2633
kono
parents:
diff changeset
2634 2005-10-21 Diego Novillo <dnovillo@redhat.com>
kono
parents:
diff changeset
2635
kono
parents:
diff changeset
2636 PR 24455
kono
parents:
diff changeset
2637 * cp/cp-tree.h (struct lang_decl_flags): Add field
kono
parents:
diff changeset
2638 threadprivate_p.
kono
parents:
diff changeset
2639 (CP_DECL_IS_THREADPRIVATE): Define.
kono
parents:
diff changeset
2640 * cp/semantics.c (finish_omp_threadprivate): Set. Do
kono
parents:
diff changeset
2641 not error out if CP_DECL_IS_THREADPRIVATE is set
kono
parents:
diff changeset
2642 already.
kono
parents:
diff changeset
2643 * cp/decl.c (duplicate_decls): Merge
kono
parents:
diff changeset
2644 CP_DECL_THREADPRIVATE_P.
kono
parents:
diff changeset
2645
kono
parents:
diff changeset
2646 2005-10-20 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2647
kono
parents:
diff changeset
2648 * cp-gimplify.c (cp_gimplify_omp_for): New.
kono
parents:
diff changeset
2649 (cp_gimplify_expr): Call it.
kono
parents:
diff changeset
2650 * cp-tree.h (OMP_FOR_GIMPLIFYING_P): New.
kono
parents:
diff changeset
2651 * parser.c (struct cp_parser): Rename
kono
parents:
diff changeset
2652 in_iteration_statement_p to in_iteration_statement and
kono
parents:
diff changeset
2653 change to unsigned char. Similarly with
kono
parents:
diff changeset
2654 in_switch_statement. Update all users.
kono
parents:
diff changeset
2655 (IN_OMP_BLOCK, IN_OMP_FOR): New.
kono
parents:
diff changeset
2656 (cp_parser_labeled_statement): Diagnose case labels
kono
parents:
diff changeset
2657 binding closer to an openmp block nested than the
kono
parents:
diff changeset
2658 switch.
kono
parents:
diff changeset
2659 (cp_parser_jump_statement): Diagnose break and
kono
parents:
diff changeset
2660 continue labels binding closer to an openmp block than
kono
parents:
diff changeset
2661 an iteration or switch.
kono
parents:
diff changeset
2662 (cp_parser_omp_for_loop): Mark in_iteration_statement
kono
parents:
diff changeset
2663 for an omp for.
kono
parents:
diff changeset
2664 (cp_parser_begin_omp_structured_block): New.
kono
parents:
diff changeset
2665 (cp_parser_end_omp_structured_block): New.
kono
parents:
diff changeset
2666 (cp_parser_omp_structured_block): Use them.
kono
parents:
diff changeset
2667 (cp_parser_omp_for, cp_parser_omp_sections_scope): Likewise.
kono
parents:
diff changeset
2668 (cp_parser_omp_parallel): Likewise.
kono
parents:
diff changeset
2669
kono
parents:
diff changeset
2670 2005-10-20 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2671
kono
parents:
diff changeset
2672 * semantics.c (begin_omp_structured_block): New.
kono
parents:
diff changeset
2673 (finish_omp_structured_block): New.
kono
parents:
diff changeset
2674 (begin_omp_parallel, finish_omp_parallel): Use them.
kono
parents:
diff changeset
2675 * parser.c (cp_parser_omp_structured_block): Likewise.
kono
parents:
diff changeset
2676 (cp_parser_omp_for): Likewise.
kono
parents:
diff changeset
2677 (cp_parser_omp_sections_scope): Likewise.
kono
parents:
diff changeset
2678 * cp-tree.h: Declare them.
kono
parents:
diff changeset
2679
kono
parents:
diff changeset
2680 2005-10-20 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2681
kono
parents:
diff changeset
2682 * parser.c (cp_parser_omp_master): Return the statement.
kono
parents:
diff changeset
2683 (cp_parser_omp_ordered): Likewise.
kono
parents:
diff changeset
2684 (cp_parser_omp_construct): Set the locus for them.
kono
parents:
diff changeset
2685
kono
parents:
diff changeset
2686 2005-10-19 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2687
kono
parents:
diff changeset
2688 * semantics.c (finish_omp_atomic): Revert to
kono
parents:
diff changeset
2689 uses_template_parms.
kono
parents:
diff changeset
2690
kono
parents:
diff changeset
2691 2005-10-19 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2692
kono
parents:
diff changeset
2693 * semantics.c (finish_omp_clauses): Avoid
kono
parents:
diff changeset
2694 DECL_THREAD_LOCAL_P on a PARM_DECL. Remove some
kono
parents:
diff changeset
2695 stub asserts guaranteed to fail.
kono
parents:
diff changeset
2696
kono
parents:
diff changeset
2697 2005-10-19 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2698
kono
parents:
diff changeset
2699 * cp-tree.h (OMP_ATOMIC_DEPENDENT_P, OMP_ATOMIC_CODE): New.
kono
parents:
diff changeset
2700 (finish_omp_clauses, finish_omp_for, finish_omp_atomic): New.
kono
parents:
diff changeset
2701 * parser.c (cp_parser_omp_clause_copyin): Remove.
kono
parents:
diff changeset
2702 (cp_parser_omp_all_clauses): Use cp_parser_omp_var_list instead.
kono
parents:
diff changeset
2703 Call finish_omp_clauses.
kono
parents:
diff changeset
2704 (cp_parser_omp_clause_if): Don't do error checking here.
kono
parents:
diff changeset
2705 (cp_parser_omp_clause_num_threads): Likewise.
kono
parents:
diff changeset
2706 (cp_parser_omp_clause_schedule): Likewise.
kono
parents:
diff changeset
2707 (cp_parser_omp_atomic): Use finish_omp_atomic.
kono
parents:
diff changeset
2708 (cp_parser_omp_for_loop): Don't discard DECL_EXPR.
kono
parents:
diff changeset
2709 Don't decompose assignment statment here. Use
kono
parents:
diff changeset
2710 finish_omp_for.
kono
parents:
diff changeset
2711
kono
parents:
diff changeset
2712 * pt.c (tsubst_omp_clauses): New.
kono
parents:
diff changeset
2713 (tsubst_expr): Handle OMP_PARALLEL, OMP_FOR, OMP_SECTIONS,
kono
parents:
diff changeset
2714 OMP_SINGLE, OMP_SECTION, OMP_CRITICAL, OMP_ATOMIC.
kono
parents:
diff changeset
2715 * semantics.c (finish_omp_clauses): New.
kono
parents:
diff changeset
2716 (begin_omp_parallel, finish_omp_parallel): Know Less about the
kono
parents:
diff changeset
2717 internals of the stmt_list stack.
kono
parents:
diff changeset
2718 (finish_omp_for, finish_omp_atomic): New.
kono
parents:
diff changeset
2719
kono
parents:
diff changeset
2720 2005-10-18 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
2721
kono
parents:
diff changeset
2722 * semantics.c (cxx_omp_predetermined_sharing): New function.
kono
parents:
diff changeset
2723 * cp-tree.h (cxx_omp_predetermined_sharing): New prototype.
kono
parents:
diff changeset
2724 * cp-objcp-common.h
kono
parents:
diff changeset
2725 (LANG_HOOKS_OMP_PREDETERMINED_SHARING): Redefine.
kono
parents:
diff changeset
2726
kono
parents:
diff changeset
2727 2005-10-18 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2728
kono
parents:
diff changeset
2729 * parser.c (cp_parser_omp_single): Use make_node and accessors
kono
parents:
diff changeset
2730 instead of build.
kono
parents:
diff changeset
2731
kono
parents:
diff changeset
2732 2005-10-17 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2733
kono
parents:
diff changeset
2734 * parser.c (cp_parser_omp_for_loop): Handle declarations.
kono
parents:
diff changeset
2735
kono
parents:
diff changeset
2736 2005-10-12 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2737
kono
parents:
diff changeset
2738 * Make-lang.in (CXX_C_OBJS): Add c-omp.o.
kono
parents:
diff changeset
2739 * cp-tree.h (begin_omp_parallel, finish_omp_parallel): Declare.
kono
parents:
diff changeset
2740 (finish_omp_threadprivate): Declare.
kono
parents:
diff changeset
2741 * parser.c (struct cp_lexer): Add in_pragma.
kono
parents:
diff changeset
2742 (cp_lexer_consume_token): Don't consume a PRAGMA_EOL
kono
parents:
diff changeset
2743 when in_pragma.
kono
parents:
diff changeset
2744 (cp_parser_skip_to_closing_parenthesis): Stop at PRAGMA_EOL.
kono
parents:
diff changeset
2745 (cp_parser_skip_to_end_of_statement): Likewise.
kono
parents:
diff changeset
2746 (cp_parser_skip_to_end_of_block_or_statement): Likewise.
kono
parents:
diff changeset
2747 (cp_parser_skip_to_closing_brace): Likewise.
kono
parents:
diff changeset
2748 (cp_parser_skip_to_pragma_eol): Reset in_pragma.
kono
parents:
diff changeset
2749 (cp_parser_require_pragma_eol): New.
kono
parents:
diff changeset
2750 (cp_parser_statement): Add in_compound argument;
kono
parents:
diff changeset
2751 update all callers.
kono
parents:
diff changeset
2752 Restart if a non-statement pragma seen outside a
kono
parents:
diff changeset
2753 compound.
kono
parents:
diff changeset
2754 (cp_parser_statement_seq_opt): Stop at PRAGMA_EOL.
kono
parents:
diff changeset
2755 (cp_parser_declaration_seq_opt): Likewise.
kono
parents:
diff changeset
2756 (cp_parser_member_specification_opt): Likewise.
kono
parents:
diff changeset
2757 (cp_parser_function_definition_after_decl): Likewise.
kono
parents:
diff changeset
2758 (cp_parser_skip_until_found): Likewise.
kono
parents:
diff changeset
2759 (cp_parser_cache_group): Likewise.
kono
parents:
diff changeset
2760 (enum pragma_omp_clause, cp_parser_omp_clause_name,
kono
parents:
diff changeset
2761 check_no_duplicate_clause,
kono
parents:
diff changeset
2762 cp_parser_omp_var_list_no_open,
kono
parents:
diff changeset
2763 cp_parser_omp_var_list, cp_parser_omp_clause_copyin,
kono
parents:
diff changeset
2764 cp_parser_omp_clause_default, cp_parser_omp_clause_if,
kono
parents:
diff changeset
2765 cp_parser_omp_clause_nowait,
kono
parents:
diff changeset
2766 cp_parser_omp_clause_num_threads,
kono
parents:
diff changeset
2767 cp_parser_omp_clause_ordered,
kono
parents:
diff changeset
2768 cp_parser_omp_clause_reduction,
kono
parents:
diff changeset
2769 cp_parser_omp_clause_schedule,
kono
parents:
diff changeset
2770 cp_parser_omp_all_clauses,
kono
parents:
diff changeset
2771 cp_parser_omp_structured_block, cp_parser_omp_atomic,
kono
parents:
diff changeset
2772 cp_parser_omp_barrier, cp_parser_omp_critical,
kono
parents:
diff changeset
2773 cp_parser_omp_flush, cp_parser_omp_for_loop,
kono
parents:
diff changeset
2774 cp_parser_omp_for, cp_parser_omp_master,
kono
parents:
diff changeset
2775 cp_parser_omp_ordered, cp_parser_omp_sections_scope,
kono
parents:
diff changeset
2776 cp_parser_omp_sections, cp_parser_omp_parallel,
kono
parents:
diff changeset
2777 cp_parser_omp_single, cp_parser_omp_threadprivate,
kono
parents:
diff changeset
2778 cp_parser_omp_construct): New.
kono
parents:
diff changeset
2779 (cp_parser_pragma): Handle OpenMP pragmas.
kono
parents:
diff changeset
2780 * semantics.c (finish_omp_threadprivate): New.
kono
parents:
diff changeset
2781 (begin_omp_parallel, finish_omp_parallel): New.
kono
parents:
diff changeset
2782
kono
parents:
diff changeset
2783 2005-10-11 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2784
kono
parents:
diff changeset
2785 * parser.c (struct cp_token): Add pragma_kind.
kono
parents:
diff changeset
2786 (eof_token): Initialize it.
kono
parents:
diff changeset
2787 (cp_lexer_handle_pragma): Remove.
kono
parents:
diff changeset
2788 (cp_parser_initial_pragma): New.
kono
parents:
diff changeset
2789 (cp_lexer_new_main): Use it.
kono
parents:
diff changeset
2790 (cp_lexer_get_preprocessor_token): Initialize pragma_kind.
kono
parents:
diff changeset
2791 (cp_lexer_print_token): Don't handle CPP_PRAGMA.
kono
parents:
diff changeset
2792 (cp_parser_skip_to_pragma_eol): New.
kono
parents:
diff changeset
2793 (cp_parser_error): Use it.
kono
parents:
diff changeset
2794 (pragma_lex): New.
kono
parents:
diff changeset
2795
kono
parents:
diff changeset
2796 2005-10-09 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2797
kono
parents:
diff changeset
2798 * lex.c (parse_strconst_pragma): Update for c_lex name change.
kono
parents:
diff changeset
2799 (handle_pragma_java_exceptions): Likewise.
kono
parents:
diff changeset
2800 * parser.c (cp_lexer_new_main): Likewise.
kono
parents:
diff changeset
2801
kono
parents:
diff changeset
2802 2005-10-06 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2803
kono
parents:
diff changeset
2804 * parser.c (cp_lexer_new_main): Comment out defer_pragmas.
kono
parents:
diff changeset
2805 (cp_lexer_handle_pragma): Comment out
kono
parents:
diff changeset
2806 cpp_handle_deferred_pragma.
kono
parents:
diff changeset
2807
kono
parents:
diff changeset
2808 2005-10-01 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
2809
kono
parents:
diff changeset
2810 * name-lookup.c (lookup_name): Remove prefer_type argument.
kono
parents:
diff changeset
2811 (lookup_name_prefer_type): New function.
kono
parents:
diff changeset
2812 * name-lookup.h (lookup_name_prefer_type): Declare it.
kono
parents:
diff changeset
2813 * decl.c (lookup_and_check_tag): Use it.
kono
parents:
diff changeset
2814 * pt.c (tsubst_friend_class): Likewise. Update for
kono
parents:
diff changeset
2815 lookup_name change.
kono
parents:
diff changeset
2816 (lookup_template_class, tsubst_copy_and_build): Likewise.
kono
parents:
diff changeset
2817
kono
parents:
diff changeset
2818 2006-03-06 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2819
kono
parents:
diff changeset
2820 PR c++/15759
kono
parents:
diff changeset
2821 * tree.c (bot_manip): Don't call mark_used.
kono
parents:
diff changeset
2822
kono
parents:
diff changeset
2823 2006-03-02 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
2824
kono
parents:
diff changeset
2825 * decl2.c (import_export_decl): Remove redundant call to
kono
parents:
diff changeset
2826 targetm.cxx.key_method_may_be_inline ().
kono
parents:
diff changeset
2827
kono
parents:
diff changeset
2828 2006-03-02 Richard Sandiford <richard@codesourcery.com>
kono
parents:
diff changeset
2829
kono
parents:
diff changeset
2830 * decl.c (start_decl): Use have_global_bss_p when deciding
kono
parents:
diff changeset
2831 whether to make the decl common.
kono
parents:
diff changeset
2832
kono
parents:
diff changeset
2833 2006-03-01 Mike Stump <mrs@apple.com>
kono
parents:
diff changeset
2834
kono
parents:
diff changeset
2835 PR darwin/25908
kono
parents:
diff changeset
2836 * decl2.c (import_export_decl): Fix ABI breakage on darwin.
kono
parents:
diff changeset
2837
kono
parents:
diff changeset
2838 2006-02-24 Geoffrey Keating <geoffk@apple.com>
kono
parents:
diff changeset
2839
kono
parents:
diff changeset
2840 * except.c (expand_start_catch_block): Handle
kono
parents:
diff changeset
2841 flag_use_cxa_get_exception_ptr.
kono
parents:
diff changeset
2842
kono
parents:
diff changeset
2843 2006-02-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2844
kono
parents:
diff changeset
2845 PR c++/26291
kono
parents:
diff changeset
2846 * decl.c (grok_op_properties): Check for ellipsis in arguments of
kono
parents:
diff changeset
2847 operators.
kono
parents:
diff changeset
2848
kono
parents:
diff changeset
2849 2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
2850
kono
parents:
diff changeset
2851 * Make-lang.in (C++): Remove.
kono
parents:
diff changeset
2852 (.PHONY): Remove C++.
kono
parents:
diff changeset
2853
kono
parents:
diff changeset
2854 2006-02-18 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2855
kono
parents:
diff changeset
2856 PR c++/26266
kono
parents:
diff changeset
2857 * cp-tree.h (cp_finish_decl): Adjust declaration.
kono
parents:
diff changeset
2858 (grokbitfield): Likewise.
kono
parents:
diff changeset
2859 (finish_static_data_member_decl): Likewise.
kono
parents:
diff changeset
2860 * init.c (constant_value_1): Ensure processing_template_decl when
kono
parents:
diff changeset
2861 folding non-dependent initializers for static data members of
kono
parents:
diff changeset
2862 dependent types. Return error_mark_node for erroneous
kono
parents:
diff changeset
2863 initailizers.
kono
parents:
diff changeset
2864 * class.c (get_vtable_decl): Use finish_decl, not cp_finish_decl.
kono
parents:
diff changeset
2865 * decl.c (cp_make_fname_decl): Adjust call to cp_finish_decl.
kono
parents:
diff changeset
2866 (cp_finish_decl): Add init_const_expr_p parameter. Set
kono
parents:
diff changeset
2867 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
kono
parents:
diff changeset
2868 (finish_decl): Adjust call to cp_finish_decl.
kono
parents:
diff changeset
2869 (compute_array_index_type): Robustify.
kono
parents:
diff changeset
2870 (start_method): Use finish_decl, not cp_finish_decl.
kono
parents:
diff changeset
2871 * rtti.c (emit_tinfo_decl): Likewise.
kono
parents:
diff changeset
2872 * except.c (initialize_handler_parm): Adjust call to
kono
parents:
diff changeset
2873 cp_finish_decl.
kono
parents:
diff changeset
2874 (expand_start_catch_block): Likewise.
kono
parents:
diff changeset
2875 * cvt.c (build_up_reference): Adjust call to cp_finish_decl.
kono
parents:
diff changeset
2876 * pt.c (instantiate_class_template): Adjust call to
kono
parents:
diff changeset
2877 finish_static_data_member_decl.
kono
parents:
diff changeset
2878 (tsubst_expr): Use finish_decl, not cp_finish_decl.
kono
parents:
diff changeset
2879 (instantiate_decl): Adjust call to cp_finish_decl.
kono
parents:
diff changeset
2880 * name-lookup.c (pushdecl_top_level_1): Use finish_decl, not
kono
parents:
diff changeset
2881 cp_finish_decl.
kono
parents:
diff changeset
2882 * decl2.c (finish_static_data_member_decl): Add init_const_expr_p
kono
parents:
diff changeset
2883 parameter.
kono
parents:
diff changeset
2884 (grokfield): Likewise.
kono
parents:
diff changeset
2885 * parser.c (cp_parser_condition): Check for constant initializers.
kono
parents:
diff changeset
2886 (cp_parser_init_declarator): Adjust calls to grokfield and
kono
parents:
diff changeset
2887 cp_finish_decl. Don't set
kono
parents:
diff changeset
2888 DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P here.
kono
parents:
diff changeset
2889 (cp_parser_member_declaration): Likewise.
kono
parents:
diff changeset
2890 (cp_parser_objc_class_ivars): Likewise.
kono
parents:
diff changeset
2891
kono
parents:
diff changeset
2892 2006-02-14 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2893
kono
parents:
diff changeset
2894 * call.c (standard_conversion): Return NULL instead of 0.
kono
parents:
diff changeset
2895 (build_user_type_conversion_1): Likewise.
kono
parents:
diff changeset
2896 (tourney): Likewise.
kono
parents:
diff changeset
2897 * decl.c (redeclaration_error_message): Likewise.
kono
parents:
diff changeset
2898 * error.c (language_to_string): Likewise.
kono
parents:
diff changeset
2899
kono
parents:
diff changeset
2900 2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2901
kono
parents:
diff changeset
2902 * cp-tree.h (warn_hidden): Remove prototype.
kono
parents:
diff changeset
2903 * class.c (warn_hidden): Make static.
kono
parents:
diff changeset
2904
kono
parents:
diff changeset
2905 * cp-tree.h (build_type_conversion): Remove prototype.
kono
parents:
diff changeset
2906 * cvt.c (build_type_conversion): Add prototype, make static.
kono
parents:
diff changeset
2907
kono
parents:
diff changeset
2908 * cp-tree.h (push_tinst_level): Remove prototype.
kono
parents:
diff changeset
2909 (pop_tinst_level): Likewise.
kono
parents:
diff changeset
2910 * pt.c (push_tinst_level): Add prototype, make static.
kono
parents:
diff changeset
2911 (pop_tinst_level): Likewise.
kono
parents:
diff changeset
2912
kono
parents:
diff changeset
2913 2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2914
kono
parents:
diff changeset
2915 * decl.c (grokdeclarator): Return NULL_TREE instead of 0.
kono
parents:
diff changeset
2916 * typeck.c (unary_complex_lvalue): Likewise.
kono
parents:
diff changeset
2917
kono
parents:
diff changeset
2918 2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2919
kono
parents:
diff changeset
2920 * lex.c (parse_strconst_pragma): Return error_mark_node instead of
kono
parents:
diff changeset
2921 "(tree)-1" to indicate failure. Simplify.
kono
parents:
diff changeset
2922 (handle_pragma_interface): Test for error_mark_node instead of
kono
parents:
diff changeset
2923 "(tree)-1".
kono
parents:
diff changeset
2924 (handle_pragma_implementation): Likewise.
kono
parents:
diff changeset
2925
kono
parents:
diff changeset
2926 2006-02-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2927
kono
parents:
diff changeset
2928 PR c++/26151
kono
parents:
diff changeset
2929 * parser.c (cp_parser_decl_specifier_seq): Check for duplicate
kono
parents:
diff changeset
2930 decl-specifiers. Remove extra check for duplicate 'friend'.
kono
parents:
diff changeset
2931 * decl.c (grokdeclarator): Remove check for duplicate
kono
parents:
diff changeset
2932 decl-specifiers. Set longlong together with long_p.
kono
parents:
diff changeset
2933
kono
parents:
diff changeset
2934 2006-02-12 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2935
kono
parents:
diff changeset
2936 PR c++/24996
kono
parents:
diff changeset
2937 * except.c (build_throw): Add a CLEANUP_POINT_EXPR inside the
kono
parents:
diff changeset
2938 TRY_CATCH_EXPR or MUST_NOT_THROW_EXPR.
kono
parents:
diff changeset
2939
kono
parents:
diff changeset
2940 2006-02-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2941
kono
parents:
diff changeset
2942 * class.c (debug_class): Remove extern.
kono
parents:
diff changeset
2943 (debug_thunks): Likewise.
kono
parents:
diff changeset
2944
kono
parents:
diff changeset
2945 2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
2946
kono
parents:
diff changeset
2947 * typeck.c (string_conv_p): Don't test for flag_const_strings.
kono
parents:
diff changeset
2948
kono
parents:
diff changeset
2949 2006-02-08 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
2950
kono
parents:
diff changeset
2951 PR c++/25979
kono
parents:
diff changeset
2952 * cp-gimplify.c (cp_gimplify_expr): Don't call
kono
parents:
diff changeset
2953 cp_gimplify_init_expr for MODIFY_EXPRs.
kono
parents:
diff changeset
2954 * typeck2.c (split_nonconstant_init_1): Use INIT_EXPR.
kono
parents:
diff changeset
2955
kono
parents:
diff changeset
2956 2006-02-08 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
2957
kono
parents:
diff changeset
2958 PR c++/26071
kono
parents:
diff changeset
2959 * decl.c (grokdeclarator): Set dname also for destructor.
kono
parents:
diff changeset
2960
kono
parents:
diff changeset
2961 PR c++/26070
kono
parents:
diff changeset
2962 * decl.c (grokdeclarator): Clear storage_class together with staticp.
kono
parents:
diff changeset
2963
kono
parents:
diff changeset
2964 2006-02-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
2965
kono
parents:
diff changeset
2966 * cp-tree.h (tf_warning_or_error): Renamed from tf_warn_or_error.
kono
parents:
diff changeset
2967 (cp_build_qualified_type): Propogate renaming.
kono
parents:
diff changeset
2968 * call.c (convert_like_real): Likewise.
kono
parents:
diff changeset
2969 * cvt.c (cp_convert_to_pointer, convert_to_reference): Likewise.
kono
parents:
diff changeset
2970 * decl.c (make_typename_type, grokdeclarator): Likewise.
kono
parents:
diff changeset
2971 * pt.c (tsubst_friend_function, instantiate_class_template,
kono
parents:
diff changeset
2972 tsubst_default_argument, instantiate_decl,
kono
parents:
diff changeset
2973 tsubst_initializer_list, tsubst_enum): Likewise.
kono
parents:
diff changeset
2974 * semantics.c (finish_template_type): Likewise.
kono
parents:
diff changeset
2975 * typeck.c (build_ptrmemfunc, convert_for_assignment): Likewise.
kono
parents:
diff changeset
2976
kono
parents:
diff changeset
2977 2006-02-07 Dirk Mueller <dmueller@suse.com>
kono
parents:
diff changeset
2978
kono
parents:
diff changeset
2979 * typeck.c (build_binary_op): Annotate div-by-zero
kono
parents:
diff changeset
2980 warnings to make -Wno-div-by-zero have an effect.
kono
parents:
diff changeset
2981
kono
parents:
diff changeset
2982 2006-02-07 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
2983
kono
parents:
diff changeset
2984 PR c++/9737
kono
parents:
diff changeset
2985 * pt.c (coerce_template_template_parms): Do not templates with
kono
parents:
diff changeset
2986 excess default arguments to match template template parameters
kono
parents:
diff changeset
2987 with fewer parameters.
kono
parents:
diff changeset
2988 (coerce_template_parms): Add use_default_args parameter; use
kono
parents:
diff changeset
2989 default arguments only when true.
kono
parents:
diff changeset
2990 (lookup_template_class): Adjust call to coerce_template_parms.
kono
parents:
diff changeset
2991 (fn_type_unification): Likewise.
kono
parents:
diff changeset
2992 (unify): Likewise.
kono
parents:
diff changeset
2993 (get_bindings): Likewise.
kono
parents:
diff changeset
2994 (dependent_type_p): Add assertions.
kono
parents:
diff changeset
2995
kono
parents:
diff changeset
2996 2006-02-06 Roger Sayle <roger@eyesopen.com>
kono
parents:
diff changeset
2997
kono
parents:
diff changeset
2998 * decl.c (grokdeclarator): Don't bother checking for CHAR_TYPE.
kono
parents:
diff changeset
2999 * rtti.c (typeinfo_in_lib_p): Likewise.
kono
parents:
diff changeset
3000 * cp-tree.h (INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P): Likewise.
kono
parents:
diff changeset
3001 * name-lookup.c (arg_assoc_type): Likewise.
kono
parents:
diff changeset
3002
kono
parents:
diff changeset
3003 2006-02-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3004
kono
parents:
diff changeset
3005 * cp-tree.h (tf_warn_or_error): New substituion flag.
kono
parents:
diff changeset
3006 (cp_build_qualified_type): Use it.
kono
parents:
diff changeset
3007 * call.c (convert_like_real): Likewise.
kono
parents:
diff changeset
3008 * cvt.c (cp_convert_to_pointer): Likewise.
kono
parents:
diff changeset
3009 (convert_to_reference): Likewise.
kono
parents:
diff changeset
3010 * decl.c (make_typename_type): Likewise.
kono
parents:
diff changeset
3011 (grokdeclarator): Likewise.
kono
parents:
diff changeset
3012 * pt.c (tsubst_friend_function): Likewise.
kono
parents:
diff changeset
3013 (tsubst_friend_class): Likewise.
kono
parents:
diff changeset
3014 (instantiate_class_template): Likewise.
kono
parents:
diff changeset
3015 (tsubst_default_argument): Likewise.
kono
parents:
diff changeset
3016 (instantiate_decl): Likewise.
kono
parents:
diff changeset
3017 (tsubst_initializer_list): Likewise.
kono
parents:
diff changeset
3018 (tsubst_enum): Likewise.
kono
parents:
diff changeset
3019 * semantics.c (finish_template_type): Likewise.
kono
parents:
diff changeset
3020 * typeck.c (build_ptrmemfunc): Likewise.
kono
parents:
diff changeset
3021 (convert_for_assignment): Likewise.
kono
parents:
diff changeset
3022
kono
parents:
diff changeset
3023 2006-02-03 Lee Millward <lee.millward@gmail.com>
kono
parents:
diff changeset
3024
kono
parents:
diff changeset
3025 * typeck.c (string_conv_p): Pass appropiate
kono
parents:
diff changeset
3026 OPT_Wxxxx values when calling warning().
kono
parents:
diff changeset
3027 (build_array_ref, cxx_mark_addressable): Likewise.
kono
parents:
diff changeset
3028 (check_return_expr): Likewise.
kono
parents:
diff changeset
3029
kono
parents:
diff changeset
3030 * init.c (perform_member_init): Likewise.
kono
parents:
diff changeset
3031 (sort_mem_initializers, emit_mem_initializers): Likewise.
kono
parents:
diff changeset
3032
kono
parents:
diff changeset
3033 * class.c (check_field_decls): Likewise.
kono
parents:
diff changeset
3034 (warn_about_ambiguous_bases): Likewise.
kono
parents:
diff changeset
3035
kono
parents:
diff changeset
3036 * decl.c (pop_label, poplevel): Likewise.
kono
parents:
diff changeset
3037 (duplicate_decls, grok_op_properties): Likewise.
kono
parents:
diff changeset
3038 (start_preparsed_function, finish_function): Likewise.
kono
parents:
diff changeset
3039
kono
parents:
diff changeset
3040 * name-lookup.c (pushdecl_maybe_friend): Likewise.
kono
parents:
diff changeset
3041 (pushdecl_maybe_friend): Likewise.
kono
parents:
diff changeset
3042
kono
parents:
diff changeset
3043 * parser.c (cp_parser_warn_min_max): Likewise.
kono
parents:
diff changeset
3044 (cp_parser_cast_expression): Likewise.
kono
parents:
diff changeset
3045
kono
parents:
diff changeset
3046 * method.c (lazily_declare_fn): Likewise.
kono
parents:
diff changeset
3047 * cvt.c (convert_to_void): Likewise.
kono
parents:
diff changeset
3048 * mangle.c (finish_mangling): Likewise.
kono
parents:
diff changeset
3049 * cp-gimplify.c (gimplify_expr_stmt): Likewise.
kono
parents:
diff changeset
3050
kono
parents:
diff changeset
3051 2006-02-03 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3052
kono
parents:
diff changeset
3053 * name-lookup.c (do_class_using_decl): Use IDENTIFIER_TYPENAME_P,
kono
parents:
diff changeset
3054 not IDENTIFIER_OPNAME_P.
kono
parents:
diff changeset
3055
kono
parents:
diff changeset
3056 2006-01-31 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3057
kono
parents:
diff changeset
3058 PR c++/25342
kono
parents:
diff changeset
3059 * cp-tree.h (DECL_TEMPLATE_SPECIALIZATIONS): Revise
kono
parents:
diff changeset
3060 documentation.
kono
parents:
diff changeset
3061 * pt.c (determine_specialization): Use INNERMOST_TEMPLATE_PARMS,
kono
parents:
diff changeset
3062 not TREE_VALUE.
kono
parents:
diff changeset
3063 (instantiate_class_template): Simplify.
kono
parents:
diff changeset
3064 (verify_class_unification): Remove.
kono
parents:
diff changeset
3065 (unify): Document parameters. Use INNERMOST_TEMPLATE_ARGS to
kono
parents:
diff changeset
3066 permit multiple levels of template arguments.
kono
parents:
diff changeset
3067 (more_specialized_class): Simplify.
kono
parents:
diff changeset
3068 (get_class_bindings): Pass full arguments to unify. Fold
kono
parents:
diff changeset
3069 verify_class_unification into this function. Return full
kono
parents:
diff changeset
3070 arguments.
kono
parents:
diff changeset
3071 (most_specialized_class): Adjust for changes to
kono
parents:
diff changeset
3072 get_class_bindings. Issue errors here for ambiguity. Return the
kono
parents:
diff changeset
3073 fully deduced arguments for the most specialized class, in
kono
parents:
diff changeset
3074 addition to the partial specialization.
kono
parents:
diff changeset
3075
kono
parents:
diff changeset
3076 2006-01-31 Ben Elliston <bje@au.ibm.com>
kono
parents:
diff changeset
3077
kono
parents:
diff changeset
3078 * mangle.c: Comment fix.
kono
parents:
diff changeset
3079
kono
parents:
diff changeset
3080 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3081
kono
parents:
diff changeset
3082 * Make-lang.in (cp-warn): Include CXX_COMPAT_WARN.
kono
parents:
diff changeset
3083 * repo.c (extract_string, afgets): Use cast when converting from
kono
parents:
diff changeset
3084 void *.
kono
parents:
diff changeset
3085
kono
parents:
diff changeset
3086 2006-01-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3087
kono
parents:
diff changeset
3088 * call.c (alloc_conversion): Use cast when converting from void *.
kono
parents:
diff changeset
3089 (alloc_conversions): Likewise.
kono
parents:
diff changeset
3090 (add_candidate): Likewise.
kono
parents:
diff changeset
3091 (print_z_candidates): Likewise.
kono
parents:
diff changeset
3092 (add_warning): Likewise.
kono
parents:
diff changeset
3093 * pt.c (retrieve_local_specialization): Likewise.
kono
parents:
diff changeset
3094 (process_partial_specialization): Likewise.
kono
parents:
diff changeset
3095 (mangle_class_name_for_template): Likewise.
kono
parents:
diff changeset
3096 (tsubst_template_args): Likewise.
kono
parents:
diff changeset
3097 * typeck2.c (pat_calc_hash): Likewise.
kono
parents:
diff changeset
3098 (pat_compare): Likewise.
kono
parents:
diff changeset
3099 (abstract_virtuals_error): Likewise.
kono
parents:
diff changeset
3100 * class.c (method_name_cmp): Likewise.
kono
parents:
diff changeset
3101 (resort_method_name_cmp): Likewise.
kono
parents:
diff changeset
3102 (get_vfield_name): Likewise.
kono
parents:
diff changeset
3103 * decl2.c (generate_ctor_and_dtor_functions_for_priority): Likewise.
kono
parents:
diff changeset
3104 * lex.c (init_reswords): Likewise.
kono
parents:
diff changeset
3105 * rtti.c (create_pseudo_type_info): Likewise.
kono
parents:
diff changeset
3106 * search.c (dfs_lookup_base): Likewise.
kono
parents:
diff changeset
3107 (dfs_dcast_hint_pre): Likewise.
kono
parents:
diff changeset
3108 (dfs_dcast_hint_post): Likewise.
kono
parents:
diff changeset
3109 * tree.c (hash_tree_cons): Likewise.
kono
parents:
diff changeset
3110 * repo.c (extract_string): Likewise.
kono
parents:
diff changeset
3111 (afgets): Likewise.
kono
parents:
diff changeset
3112 * cp-objcp-common.c (decl_shadowed_for_var_lookup): Likewise.
kono
parents:
diff changeset
3113 * g++spec.c (lang_specific_driver): Likewise.
kono
parents:
diff changeset
3114
kono
parents:
diff changeset
3115 2006-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3116
kono
parents:
diff changeset
3117 * call.c (joust): Pass option code to warning. Use inform for
kono
parents:
diff changeset
3118 explanation.
kono
parents:
diff changeset
3119 * class.c (check_bases): Likewise.
kono
parents:
diff changeset
3120 (maybe_warn_about_overly_private_class): Likewise.
kono
parents:
diff changeset
3121 (check_field_decls): Likewise.
kono
parents:
diff changeset
3122 (layout_empty_base): Likewise.
kono
parents:
diff changeset
3123 (layout_virtual_bases): Likewise.
kono
parents:
diff changeset
3124 (layout_class_type): Likewise.
kono
parents:
diff changeset
3125
kono
parents:
diff changeset
3126 2006-01-28 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3127
kono
parents:
diff changeset
3128 PR c++/25999
kono
parents:
diff changeset
3129 * decl.c (start_preparsed_function): Call maybe_apply_pragma_weak
kono
parents:
diff changeset
3130 here, not ...
kono
parents:
diff changeset
3131 (start_function): ... here.
kono
parents:
diff changeset
3132
kono
parents:
diff changeset
3133 2006-01-28 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3134
kono
parents:
diff changeset
3135 PR c++/25855
kono
parents:
diff changeset
3136 * class.c (resolve_address_of_overloaded_function): Adjust use of
kono
parents:
diff changeset
3137 return value from most_specialized_instantiation.
kono
parents:
diff changeset
3138 * pt.c (determine_specialization): Avoid multiple calls to
kono
parents:
diff changeset
3139 get_bindings.
kono
parents:
diff changeset
3140 (most_specialized_instantiation): When a tie occurs, set the
kono
parents:
diff changeset
3141 current presumed champion to the next template. Return the
kono
parents:
diff changeset
3142 TREE_LIST node containing the template, rather than the template
kono
parents:
diff changeset
3143 itself.
kono
parents:
diff changeset
3144 (most_specialized): Remove.
kono
parents:
diff changeset
3145 * name-lookup.c (push_overloaded_decl): When duplicate_decls
kono
parents:
diff changeset
3146 indicates a failed redeclaration, report that to callers.
kono
parents:
diff changeset
3147
kono
parents:
diff changeset
3148 2006-01-26 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
3149
kono
parents:
diff changeset
3150 PR c++/16021
kono
parents:
diff changeset
3151 * name-lookup.c (parse_using_directive): Require strong using to
kono
parents:
diff changeset
3152 name a nested namespace.
kono
parents:
diff changeset
3153
kono
parents:
diff changeset
3154 2006-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3155
kono
parents:
diff changeset
3156 Revert:
kono
parents:
diff changeset
3157 * cp-tree.h (do_poplevel): Remove prototype.
kono
parents:
diff changeset
3158 * semantics.c (do_poplevel): Add prototype. Make static.
kono
parents:
diff changeset
3159
kono
parents:
diff changeset
3160 Revert:
kono
parents:
diff changeset
3161 * cp-tree.h (default_conversion): Remove prototype.
kono
parents:
diff changeset
3162 * typeck.c (default_conversion): Make static.
kono
parents:
diff changeset
3163
kono
parents:
diff changeset
3164 2006-01-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3165
kono
parents:
diff changeset
3166 * cp-tree.h (get_primary_binfo): Remove prototype.
kono
parents:
diff changeset
3167 (push_using_decl): Likewise.
kono
parents:
diff changeset
3168 (current_template_args): Likewise.
kono
parents:
diff changeset
3169 (more_specialized_class): Likewise.
kono
parents:
diff changeset
3170 (mark_class_instantiated): Likewise.
kono
parents:
diff changeset
3171 (default_conversion): Likewise.
kono
parents:
diff changeset
3172 (pfn_from_ptrmemfunc): Likewise.
kono
parents:
diff changeset
3173 * class.c (get_primary_binfo): Add prototype, make static, simplify.
kono
parents:
diff changeset
3174 * name-lookup.c (push_using_decl): Make static.
kono
parents:
diff changeset
3175 * pt.c (current_template_args): Likewise.
kono
parents:
diff changeset
3176 (more_specialized_class): Likewise.
kono
parents:
diff changeset
3177 (mark_class_instantiated): Likewise.
kono
parents:
diff changeset
3178 * typeck.c (default_conversion): Make static.
kono
parents:
diff changeset
3179 (pfn_from_ptrmemfunc): Add prototype, make static.
kono
parents:
diff changeset
3180
kono
parents:
diff changeset
3181 2006-01-24 Dirk Mueller <dmueller@suse.de>
kono
parents:
diff changeset
3182
kono
parents:
diff changeset
3183 * typeck.c (build_binary_op): Use OPT_Wfloat_equal in warning().
kono
parents:
diff changeset
3184
kono
parents:
diff changeset
3185 2006-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3186
kono
parents:
diff changeset
3187 PR c++/25552
kono
parents:
diff changeset
3188 * parser.c (cp_parser_unqualified_id): Check that destructor name
kono
parents:
diff changeset
3189 and scope match.
kono
parents:
diff changeset
3190 * call.c (check_dtor_name): Do not expect a BIT_NOT_EXPR.
kono
parents:
diff changeset
3191 Adjust comment. Return early if possible.
kono
parents:
diff changeset
3192 Use same_type_p to compare types.
kono
parents:
diff changeset
3193 * typeck.c (lookup_destructor): Adjust call to check_dtor_name.
kono
parents:
diff changeset
3194
kono
parents:
diff changeset
3195 2006-01-24 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3196
kono
parents:
diff changeset
3197 * semantics.c: Remove outdated comment.
kono
parents:
diff changeset
3198
kono
parents:
diff changeset
3199 2006-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3200
kono
parents:
diff changeset
3201 * cp-tree.h (do_poplevel): Remove prototype.
kono
parents:
diff changeset
3202 * semantics.c (do_poplevel): Add prototype. Make static.
kono
parents:
diff changeset
3203
kono
parents:
diff changeset
3204 * cp-tree.h (original_type): Remove prototype.
kono
parents:
diff changeset
3205 * typeck.c (original_type): Make static.
kono
parents:
diff changeset
3206
kono
parents:
diff changeset
3207 * cp-tree.h (declare_global_var): Remove prototype.
kono
parents:
diff changeset
3208 * decl.c (declare_global_var): Make static.
kono
parents:
diff changeset
3209
kono
parents:
diff changeset
3210 * cp-tree.h (implicitly_declare_fn): Remove prototype.
kono
parents:
diff changeset
3211 * method.c (implicitly_declare_fn): Make static.
kono
parents:
diff changeset
3212
kono
parents:
diff changeset
3213 * cp-tree.h (fold_decl_constant_value): Remove prototype.
kono
parents:
diff changeset
3214 * pt.c (fold_decl_constant_value): Make static.
kono
parents:
diff changeset
3215
kono
parents:
diff changeset
3216 * cp-tree.h (build_x_delete): Remove prototype.
kono
parents:
diff changeset
3217 * init.c (build_vec_delete_1): Call build_op_delete_call directly
kono
parents:
diff changeset
3218 and not via build_x_delete.
kono
parents:
diff changeset
3219 (build_x_delete): Remove.
kono
parents:
diff changeset
3220
kono
parents:
diff changeset
3221 * cp-tree.h (get_vtt_name): Remove prototype.
kono
parents:
diff changeset
3222 * class.c (get_vtt_name): Remove.
kono
parents:
diff changeset
3223 (build_vtt): Call mangle_vtt_for_type instead of get_vtt_name.
kono
parents:
diff changeset
3224
kono
parents:
diff changeset
3225 2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3226
kono
parents:
diff changeset
3227 * rtti.c (build_dynamic_cast): Fix comment.
kono
parents:
diff changeset
3228
kono
parents:
diff changeset
3229 2006-01-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3230
kono
parents:
diff changeset
3231 PR c++/10891
kono
parents:
diff changeset
3232 * rtti.c (build_dynamic_cast): Reject dynamic_cast use if
kono
parents:
diff changeset
3233 -fno-rtti.
kono
parents:
diff changeset
3234
kono
parents:
diff changeset
3235 2006-01-21 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3236
kono
parents:
diff changeset
3237 PR c++/25895
kono
parents:
diff changeset
3238 * class.c (build_base_path): Generate a NOP_EXPR instead of a
kono
parents:
diff changeset
3239 COMPONENT_REF if the base and derived classes are at the same
kono
parents:
diff changeset
3240 address.
kono
parents:
diff changeset
3241
kono
parents:
diff changeset
3242 PR c++/25856
kono
parents:
diff changeset
3243 * decl.c (begin_destructor_body): Robustify.
kono
parents:
diff changeset
3244
kono
parents:
diff changeset
3245 PR c++/25858
kono
parents:
diff changeset
3246 * parser.c (cp_parser_direct_declarator): Robustify.
kono
parents:
diff changeset
3247
kono
parents:
diff changeset
3248 2006-01-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3249
kono
parents:
diff changeset
3250 * parser.c (cp_lexer_next_token_is_keyword): Simplify.
kono
parents:
diff changeset
3251
kono
parents:
diff changeset
3252 * parser.c (clear_decl_specs): Remove prototype.
kono
parents:
diff changeset
3253
kono
parents:
diff changeset
3254 * parser.c (cp_parser_expression_fn): Remove.
kono
parents:
diff changeset
3255
kono
parents:
diff changeset
3256 * call.c (add_builtin_candidates): Remove superfluous return.
kono
parents:
diff changeset
3257 * name-lookup.c (do_toplevel_using_decl): Likewise.
kono
parents:
diff changeset
3258 * parser.c (cp_parser_type_specifier_seq): Likewise.
kono
parents:
diff changeset
3259 (cp_parser_save_default_args): Likewise.
kono
parents:
diff changeset
3260
kono
parents:
diff changeset
3261 2006-01-20 Dirk Mueller <dmueller@suse.com>
kono
parents:
diff changeset
3262
kono
parents:
diff changeset
3263 PR c++/5520
kono
parents:
diff changeset
3264 * semantics.c (finish_if_stmt): Call empty_body_warning.
kono
parents:
diff changeset
3265 * parser.c (cp_parser_implicitly_scoped_statement):
kono
parents:
diff changeset
3266 Mark empty statement with an empty stmt.
kono
parents:
diff changeset
3267
kono
parents:
diff changeset
3268 2006-01-19 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3269
kono
parents:
diff changeset
3270 PR c++/22136
kono
parents:
diff changeset
3271 * name-lookup.c (do_class_using_decl): Don't try to look up base
kono
parents:
diff changeset
3272 classes in templates with dependent base types.
kono
parents:
diff changeset
3273
kono
parents:
diff changeset
3274 2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3275
kono
parents:
diff changeset
3276 PR c++/25854
kono
parents:
diff changeset
3277 * pt.c (maybe_process_partial_specialization): Return early on
kono
parents:
diff changeset
3278 error_mark_node.
kono
parents:
diff changeset
3279
kono
parents:
diff changeset
3280 2006-01-19 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3281
kono
parents:
diff changeset
3282 PR c++/16829
kono
parents:
diff changeset
3283 * decl.c (start_preparsed_function): Check default arguments
kono
parents:
diff changeset
3284 unconditionally.
kono
parents:
diff changeset
3285 * name-lookup.c (pushdecl_maybe_friend): Check default arguments
kono
parents:
diff changeset
3286 of all functions and function templates.
kono
parents:
diff changeset
3287 * parser.c (cp_parser_late_parsing_default_args): Check default
kono
parents:
diff changeset
3288 arguments.
kono
parents:
diff changeset
3289 * decl2.c (check_default_args): Set missing default arguments to
kono
parents:
diff changeset
3290 error_mark_node.
kono
parents:
diff changeset
3291
kono
parents:
diff changeset
3292 2006-01-18 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3293
kono
parents:
diff changeset
3294 PR c++/25836
kono
parents:
diff changeset
3295 * cp-tree.h (push_class_stack): New function.
kono
parents:
diff changeset
3296 (pop_class_stack): Likewise.
kono
parents:
diff changeset
3297 * class.c (class_stack_node): Add hidden field.
kono
parents:
diff changeset
3298 (pushclass): Clear it.
kono
parents:
diff changeset
3299 (push_class_stack): New function.
kono
parents:
diff changeset
3300 (pop_class_stack): Likewise.
kono
parents:
diff changeset
3301 (currently_open_class): Ignore hidden classes.
kono
parents:
diff changeset
3302 (currently_open_derived_class): Likewise.
kono
parents:
diff changeset
3303 * name-lookup.c (push_to_top_level): Call push_class_stack.
kono
parents:
diff changeset
3304 (pop_from_top_level): Call pop_class_stack.
kono
parents:
diff changeset
3305
kono
parents:
diff changeset
3306 2006-01-18 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
3307
kono
parents:
diff changeset
3308 * tree.c (find_tree_t, find_tree): Remove.
kono
parents:
diff changeset
3309 * cp-tree.h: Remove the prototype for find_tree.
kono
parents:
diff changeset
3310
kono
parents:
diff changeset
3311 2006-01-18 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
3312
kono
parents:
diff changeset
3313 * search.c (lookup_conversions_r): Fix a pasto.
kono
parents:
diff changeset
3314
kono
parents:
diff changeset
3315 2006-01-17 Eric Christopher <echristo@apple.com>
kono
parents:
diff changeset
3316
kono
parents:
diff changeset
3317 * call.c (convert_like_real): When issuing conversion
kono
parents:
diff changeset
3318 warnings, depend on OPT_Wconversion.
kono
parents:
diff changeset
3319 * cvt.c (build_expr_type_conversion): Ditto.
kono
parents:
diff changeset
3320
kono
parents:
diff changeset
3321 2006-01-17 Kazu Hirata <kazu@codesourcery.com>
kono
parents:
diff changeset
3322
kono
parents:
diff changeset
3323 * name-lookup.c (lookup_namespace_name): Remove.
kono
parents:
diff changeset
3324 * name-lookup.h: Remove the prototype for
kono
parents:
diff changeset
3325 lookup_namespace_name.
kono
parents:
diff changeset
3326
kono
parents:
diff changeset
3327 2006-01-17 Jakub Jelinek <jakub@redhat.com>
kono
parents:
diff changeset
3328
kono
parents:
diff changeset
3329 PR c/25682
kono
parents:
diff changeset
3330 * decl.c (compute_array_index_type): After issuing not an integral
kono
parents:
diff changeset
3331 constant-expression error, set size to 1 to avoid ICEs later on.
kono
parents:
diff changeset
3332
kono
parents:
diff changeset
3333 2006-01-16 Ian Lance Taylor <ian@airs.com>
kono
parents:
diff changeset
3334
kono
parents:
diff changeset
3335 * parser.c: Include "cgraph.h".
kono
parents:
diff changeset
3336 (cp_parser_asm_definition): Call cgraph_add_asm_node rather than
kono
parents:
diff changeset
3337 assemble_asm.
kono
parents:
diff changeset
3338
kono
parents:
diff changeset
3339 2006-01-16 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
kono
parents:
diff changeset
3340
kono
parents:
diff changeset
3341 * g++spec.c (lang_specific_spec_functions): Remove.
kono
parents:
diff changeset
3342
kono
parents:
diff changeset
3343 2006-01-15 Gabriel Dos Reis <gdr@integrable-solutions.net>
kono
parents:
diff changeset
3344
kono
parents:
diff changeset
3345 * decl.c (check_initializer): Fix thinko.
kono
parents:
diff changeset
3346
kono
parents:
diff changeset
3347 2006-01-14 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3348
kono
parents:
diff changeset
3349 PR c++/25663
kono
parents:
diff changeset
3350 * parser.c (cp_parser_direct_declarator): Use cp_parser_error
kono
parents:
diff changeset
3351 instead of error.
kono
parents:
diff changeset
3352
kono
parents:
diff changeset
3353 2006-01-13 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
3354
kono
parents:
diff changeset
3355 * pt.c (check_explicit_specialization): Use CP_DECL_CONTEXT even more.
kono
parents:
diff changeset
3356
kono
parents:
diff changeset
3357 * name-lookup.c (set_decl_namespace): Use CP_DECL_CONTEXT.
kono
parents:
diff changeset
3358 * pt.c (check_explicit_specialization): Likewise.
kono
parents:
diff changeset
3359
kono
parents:
diff changeset
3360 2006-01-12 Jason Merrill <jason@redhat.com>
kono
parents:
diff changeset
3361
kono
parents:
diff changeset
3362 PR libstdc++/24660
kono
parents:
diff changeset
3363 * pt.c (check_explicit_specialization): Handle namespace
kono
parents:
diff changeset
3364 association.
kono
parents:
diff changeset
3365 * name-lookup.c (set_decl_namespace): Likewise.
kono
parents:
diff changeset
3366
kono
parents:
diff changeset
3367 2006-01-12 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
3368
kono
parents:
diff changeset
3369 PR c++/24824
kono
parents:
diff changeset
3370 * class.c (handle_using_decl): Pass correct scope to
kono
parents:
diff changeset
3371 cp_emit_debug_info_for_using.
kono
parents:
diff changeset
3372
kono
parents:
diff changeset
3373 2006-01-11 Nathan Sidwell <nathan@codesourcery.com>
kono
parents:
diff changeset
3374
kono
parents:
diff changeset
3375 PR c++/25386
kono
parents:
diff changeset
3376 * tree.c (lvalue_p_1): Any part of a COMPONENT_REF affects
kono
parents:
diff changeset
3377 packedness.
kono
parents:
diff changeset
3378
kono
parents:
diff changeset
3379 2006-01-06 Gabriel Dos Reis <gdr@integrablesolutions.net>
kono
parents:
diff changeset
3380
kono
parents:
diff changeset
3381 * parser.c (cp_parser_primary_expression): Document the grammar
kono
parents:
diff changeset
3382 for the built-in offsetof, a GNU extension.
kono
parents:
diff changeset
3383
kono
parents:
diff changeset
3384 2006-01-04 Zdenek Dvorak <dvorakz@suse.cz>
kono
parents:
diff changeset
3385
kono
parents:
diff changeset
3386 PR c++/25632
kono
parents:
diff changeset
3387 * init.c (constant_value_1): Unshare use of DECL_INITIAL. Fix a typo
kono
parents:
diff changeset
3388 in condition.
kono
parents:
diff changeset
3389
kono
parents:
diff changeset
3390 2006-01-04 Chris Lattner <sabre@gnu.org>
kono
parents:
diff changeset
3391
kono
parents:
diff changeset
3392 * typeck2.c: update copyright to 2006
kono
parents:
diff changeset
3393 (split_nonconstant_init_1): Set TREE_CONSTANT to true.
kono
parents:
diff changeset
3394
kono
parents:
diff changeset
3395 2006-01-04 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3396
kono
parents:
diff changeset
3397 PR c++/24782
kono
parents:
diff changeset
3398 * parser.c (cp_parser_nested_name_specifier_opt): Preserve access
kono
parents:
diff changeset
3399 checks, even when parsing tentatively.
kono
parents:
diff changeset
3400
kono
parents:
diff changeset
3401 2006-01-04 Richard Henderson <rth@redhat.com>
kono
parents:
diff changeset
3402
kono
parents:
diff changeset
3403 Merge from gomp branch.
kono
parents:
diff changeset
3404 * lex.c (handle_pragma_java_exceptions): Fix whitespace.
kono
parents:
diff changeset
3405 * parser.c (struct cp_token): Add pragma_kind.
kono
parents:
diff changeset
3406 (eof_token): Update to match.
kono
parents:
diff changeset
3407 (struct cp_lexer): Add in_pragma; rearrange next for better packing.
kono
parents:
diff changeset
3408 (cp_parser_initial_pragma): New.
kono
parents:
diff changeset
3409 (cp_lexer_new_main): Use it. Don't bother clearing
kono
parents:
diff changeset
3410 c_lex_return_raw_strings.
kono
parents:
diff changeset
3411 (cp_lexer_get_preprocessor_token): Always initialize keyword
kono
parents:
diff changeset
3412 and pragma_kind fields. Handle CPP_PRAGMA.
kono
parents:
diff changeset
3413 (cp_lexer_consume_token): Don't allow CPP_PRAGMA_EOL when
kono
parents:
diff changeset
3414 in_pragma is set.
kono
parents:
diff changeset
3415 (cp_lexer_handle_pragma): Remove. Update callers to cp_parser_pragma.
kono
parents:
diff changeset
3416 (cp_lexer_print_token) <CPP_PRAGMA>: Don't print as a string.
kono
parents:
diff changeset
3417 (cp_parser_skip_to_pragma_eol): New.
kono
parents:
diff changeset
3418 (cp_parser_error): Use it.
kono
parents:
diff changeset
3419 (cp_parser_skip_to_closing_parenthesis): Stop at CPP_PRAGMA_EOL;
kono
parents:
diff changeset
3420 rearrange with switch statement.
kono
parents:
diff changeset
3421 (cp_parser_skip_to_end_of_statement): Likewise.
kono
parents:
diff changeset
3422 (cp_parser_skip_to_end_of_block_or_statement): Likewise.
kono
parents:
diff changeset
3423 (cp_parser_skip_to_closing_brace): Likewise.
kono
parents:
diff changeset
3424 (cp_parser_skip_until_found): Likewise.
kono
parents:
diff changeset
3425 (cp_parser_statement): Add in_compound argument; update callers.
kono
parents:
diff changeset
3426 Use it to decide how to handle pragma parsing.
kono
parents:
diff changeset
3427 (cp_parser_labeled_statement): Add in_compound argument; pass
kono
parents:
diff changeset
3428 it on to cp_parser_statement.
kono
parents:
diff changeset
3429 (cp_parser_statement_seq_opt): Stop at CPP_PRAGMA_EOL.
kono
parents:
diff changeset
3430 (cp_parser_declaration_seq_opt): Likewise.
kono
parents:
diff changeset
3431 (cp_parser_parameter_declaration): Likewise.
kono
parents:
diff changeset
3432 (cp_parser_member_specification_opt): Likewise.
kono
parents:
diff changeset
3433 (cp_parser_function_definition_after_decl): Likewise.
kono
parents:
diff changeset
3434 (cp_parser_cache_group): Handle CPP_PRAGMA/CPP_PRAGMA_EOL pairs.
kono
parents:
diff changeset
3435 (cp_parser_pragma): New.
kono
parents:
diff changeset
3436 (pragma_lex): New.
kono
parents:
diff changeset
3437
kono
parents:
diff changeset
3438 2006-01-04 Dirk Mueller <dmueller@suse.com>
kono
parents:
diff changeset
3439
kono
parents:
diff changeset
3440 * decl.c (finish_constructor_body): create simple
kono
parents:
diff changeset
3441 compound stmt instead of a if(1) { } construct.
kono
parents:
diff changeset
3442
kono
parents:
diff changeset
3443 2006-01-03 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3444
kono
parents:
diff changeset
3445 PR c++/25492
kono
parents:
diff changeset
3446 * name-lookup.c (push_class_level_binding): When a derived class
kono
parents:
diff changeset
3447 provides a type binding, eliminate any type binding from a base
kono
parents:
diff changeset
3448 class.
kono
parents:
diff changeset
3449
kono
parents:
diff changeset
3450 PR c++/25625
kono
parents:
diff changeset
3451 * repo.c (repo_emit_p): Always instantiate static data members
kono
parents:
diff changeset
3452 initialized by constant expressions, so that there values are
kono
parents:
diff changeset
3453 available.
kono
parents:
diff changeset
3454
kono
parents:
diff changeset
3455 2006-01-02 Mark Mitchell <mark@codesourcery.com>
kono
parents:
diff changeset
3456
kono
parents:
diff changeset
3457 PR c++/25635
kono
parents:
diff changeset
3458 * class.c (add_method): Set TYPE_HAS_CONVERSION for classes with a
kono
parents:
diff changeset
3459 conversion operator.
kono
parents:
diff changeset
3460 * decl.c (grokdeclarator): Do not set TYPE_HAS_CONVERSION here.
kono
parents:
diff changeset
3461
kono
parents:
diff changeset
3462 PR c++/25638
kono
parents:
diff changeset
3463 * class.c (add_method): Never associate more than one destructor
kono
parents:
diff changeset
3464 with a single class.
kono
parents:
diff changeset
3465
kono
parents:
diff changeset
3466 PR c++/25637
kono
parents:
diff changeset
3467 * cp-tree.h (do_friend): Adjust prototype.
kono
parents:
diff changeset
3468 * decl.c (grokfndecl): Make funcdef_flag a bool, not an int.
kono
parents:
diff changeset
3469 (grokdeclarator): Likewise. Refine check for invalid
kono
parents:
diff changeset
3470 declarations/definitions of member functions outside of their own
kono
parents:
diff changeset
3471 class.
kono
parents:
diff changeset
3472 * friend.c (do_friend): Make funcdef_flag a bool, not an int.
kono
parents:
diff changeset
3473
kono
parents:
diff changeset
3474 PR c++/25633
kono
parents:
diff changeset
3475 * parser.c (cp_parser_mem_initializer_list): Check result of
kono
parents:
diff changeset
3476 cp_parser_mem_initializer against error_mark_node, not NULL_TREE.
kono
parents:
diff changeset
3477 (cp_parser_mem_initializer): Return error_mark_node for failure.
kono
parents:
diff changeset
3478
kono
parents:
diff changeset
3479 PR c++/25634
kono
parents:
diff changeset
3480 * parser.c (cp_parser_template_parameter_list): Call
kono
parents:
diff changeset
3481 begin_template_parm_list and end_template_parm_list here.
kono
parents:
diff changeset
3482 (cp_parser_type_parameter): Not here.
kono
parents:
diff changeset
3483 (cp_parser_template_declaration_after_export): Or here.
kono
parents:
diff changeset
3484 (cp_parser_elaborated_type_specifier): Call
kono
parents:
diff changeset
3485 cp_parser_check_template_parameters.
kono
parents:
diff changeset
3486
kono
parents:
diff changeset
3487 * tree.c (build_target_expr_with_type): Use force_target_expr.
kono
parents:
diff changeset
3488
kono
parents:
diff changeset
3489 * decl2.c (mark_used): Fix typo in comment.
kono
parents:
diff changeset
3490
kono
parents:
diff changeset
3491 2006-01-02 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
kono
parents:
diff changeset
3492
kono
parents:
diff changeset
3493 * parser.c (cp_parser_using_declaration): Skip name-lookup on
kono
parents:
diff changeset
3494 invalid scope.
kono
parents:
diff changeset
3495
kono
parents:
diff changeset
3496
kono
parents:
diff changeset
3497
kono
parents:
diff changeset
3498 Copyright (C) 2006 Free Software Foundation, Inc.
kono
parents:
diff changeset
3499
kono
parents:
diff changeset
3500 Copying and distribution of this file, with or without modification,
kono
parents:
diff changeset
3501 are permitted in any medium without royalty provided the copyright
kono
parents:
diff changeset
3502 notice and this notice are preserved.