]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
* testsuite/test-demangle.c: Include unistd.h.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
b1c06ff9 12013-10-26 Jeff Law <law@redhat.com>
2
3 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
4 * c-family/c.opt: Ignore and warn for mudflap options.
5
48a972c8 62013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 7
8 PR other/33426
9 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
10 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
11
546a04b1 122013-10-23 Jason Merrill <jason@redhat.com>
13
14 * c-format.c (gcc_cxxdiag_char_table): Add %X.
15
bc7bff74 162013-10-11 Jakub Jelinek <jakub@redhat.com>
17
d62c713e 18 * c-common.h (omp_clause_mask::operator !=): New method.
19 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
20 instead of if (mask & something) tests everywhere.
21
bc7bff74 22 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
23 201307 instead of 201107.
24 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
25 (c_common_attribute_table): Add "omp declare target" and
26 "omp declare simd" attributes.
27 (handle_omp_declare_target_attribute,
28 handle_omp_declare_simd_attribute): New functions.
29 * c-omp.c: Include c-pragma.h.
30 (c_finish_omp_taskgroup): New function.
31 (c_finish_omp_atomic): Add swapped argument, if true,
32 build the operation first with rhs, lhs arguments and use NOP_EXPR
33 build_modify_expr.
34 (c_finish_omp_for): Add code argument, pass it down to make_code.
35 (c_omp_split_clauses): New function.
36 (c_split_parallel_clauses): Removed.
37 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
38 c_omp_declare_simd_clauses_to_decls): New functions.
39 * c-common.h (omp_clause_mask): New type.
40 (OMP_CLAUSE_MASK_1): Define.
41 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
42 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
43 omp_clause_mask::operator |, omp_clause_mask::operator &,
44 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
45 omp_clause_mask::operator ==): New methods.
46 (enum c_omp_clause_split): New.
47 (c_finish_omp_taskgroup): New prototype.
48 (c_finish_omp_atomic): Add swapped argument.
49 (c_finish_omp_for): Add code argument.
50 (c_omp_split_clauses): New prototype.
51 (c_split_parallel_clauses): Removed.
52 (c_omp_declare_simd_clauses_to_numbers,
53 c_omp_declare_simd_clauses_to_decls): New prototypes.
54 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
55 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
56 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
57 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
58 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
59 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
60 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
61 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
62 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
63 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
64 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
65 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
66 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
67 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
68 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
69 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
70 PRAGMA_OMP_CLAUSE_UNIFORM.
71
d7dcba40 722013-10-09 Marc Glisse <marc.glisse@inria.fr>
73
74 PR tree-optimization/20318
75 * c-common.c (handle_returns_nonnull_attribute): New function.
76 (c_common_attribute_table): Add returns_nonnull.
77
0b7282f1 782013-10-03 Marc Glisse <marc.glisse@inria.fr>
79
80 PR c++/19476
81 * c.opt (fcheck-new): Move to common.opt.
82
51f553af 832013-09-25 Marek Polacek <polacek@redhat.com>
84 Jakub Jelinek <jakub@redhat.com>
85
86 PR sanitizer/58413
87 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
88 an expression if we can prove it is correct.
89 (ubsan_instrument_division): Likewise. Remove unnecessary
90 check.
91
05f893e1 922013-09-18 Marek Polacek <polacek@redhat.com>
93
94 PR sanitizer/58411
95 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
96 Declare it.
97 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
98
236ce1d1 992013-09-14 Iain Sandoe <iain@codesourcery.com>
100
101 PR target/48094
102 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
103 fobjc-gc, freplace-objc-classes): Accept for LTO.
104
f9f68d35 1052013-09-13 Jacek Caban <jacek@codeweavers.com>
106
107 * c-target.def: New hook
108
ba2f764e 1092013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
110
111 PR c++/43452
112 * c.opt (Wdelete-incomplete): Add.
113
73437615 1142013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
115
116 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
117 (vector_types_compatible_elements_p): New function.
118 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
119 declaration.
120 (vector_types_compatible_elements_p): Declare.
121
95af4c75 1222013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
123
124 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
125 a virtual member function.
126 (pp_simple_type_specifier): Remove.
127 (pp_c_type_specifier): Likewise.
128 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
129 Rename from pp_c_type_specifier. Adjust.
130 (c_pretty_printer::c_pretty_printer): Do not assign to
131 simple_type_specifier.
132
eaab24b9 1332013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
134
135 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
136 member function.
137 (c_pretty_printer::storage_class_specifier): Likewise.
138 (c_pretty_printer::initializer): Likewise.
139 (pp_declaration): Remove.
140 (pp_declaration_specifiers): Likewise.
141 (pp_abstract_declarator): Likewise.
142 (pp_declarator): Likewise.
143 (pp_type_id): Likewise.
144 (pp_statement): Likewise.
145 (pp_constant): Likewise.
146 (pp_id_expression): Likewise.
147 (pp_primary_expression): Likewise.
148 (pp_unary_expression): Likewise.
149 (pp_multiplicative_expression): Likewise.
150 (pp_conditional_expression): Likewise.
151 (pp_assignment_expression): Likewise.
152 (pp_expression): Likewise.
153 (pp_c_type_id): Likewise.
154 (pp_c_storage_class_specifier): Likewise.
155 * c-pretty-print.c (pp_c_type_cast): Tidy.
156 (pp_c_pointer): Likewise.
157 (pp_c_type_specifier): Likewise.
158 (pp_c_parameter_type_list): Likewise.
159 (pp_c_function_definition): Likewise.
160 (pp_c_init_declarator): Likewise.
161 (pp_c_initializer_list): Likewise.
162 (pp_c_constructor_elts): Likewise.
163 (c_pretty_printer::direct_abstract_declarator): Likewise.
164 (c_pretty_printer::declaration_specifiers): Likewise.
165 (c_pretty_printer::primary_expression): Likewise.
166 (c_pretty_printer::postfix_expression): Likewise.
167 (c_pretty_printer::type_id): Rename from pp_c_type_id.
168 (c_pretty_printer::storage_class_specifier): Rename from
169 pp_c_storage_class_specifier.
170 (c_pretty_printer::initializer): Rename from pp_c_initializer.
171 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
172 storage_class_specifier, initializer, offset_list, flags.
173
9e46467d 1742013-08-30 Marek Polacek <polacek@redhat.com>
175
176 * c-ubsan.c: New file.
177 * c-ubsan.h: New file.
178
36a8d9b9 1792013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
180
181 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
182 member function.
183 (c_pretty_printer::declaration_specifiers): Likewise.
184 (c_pretty_printer::declarator): Likewise.
185 (c_pretty_printer::abstract_declarator): Likewise.
186 (c_pretty_printer::direct_abstract_declarator): Likewise.
187 (c_pretty_printer::direct_declarator): Likewise.
188 (c_pretty_printer::function_specifier): Likewise.
189 (pp_declaration): Adjust.
190 (pp_declaration_specifiers): Likewise.
191 (pp_abstract_declarator): Likewise.
192 (pp_direct_declarator): Likewise.
193 (pp_function_specifier): Likewise.
194 (pp_direct_abstract_declarator): Remove as unused.
195 (pp_c_declaration): Remove.
196 (pp_c_declaration_specifiers): Likewise.
197 (pp_c_declarator): Likewise.
198 (pp_c_direct_declarator): Likewise.
199 (pp_c_function_specifier): Likewise.
200 (pp_c_direct_abstract_declarator): Likewise.
201 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
202 from pp_c_abstract_declarator. Adjust.
203 (c_pretty_printer::direct_abstract_declarator): Rename from
204 pp_c_direct_abstract_declarator. Adjust.
205 (c_pretty_printer::function_specifier): Rename from
206 pp_c_function_specifier. Adjust.
207 (c_pretty_printer::declaration_specifiers): Rename from
208 pp_c_declaration_specifiers. Adjust.
209 (c_pretty_printer::direct_declarator): Rename from
210 pp_c_direct_declarator. Adjust.
211 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
212 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
213 (c_pretty_printer::c_pretty_printer): Do not assign to
214 declaration, declaration_specifiers, declarator,
215 direct_declarator, direct_abstract_declarator, function_specifier.
216
30635c2e 2172013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
218
219 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
220 virtual member function.
221 (c_pretty_printer::multiplicative_expression): Likewise.
222 (c_pretty_printer::conditional_expression): Likewise.
223 (c_pretty_printer::assignment_expression): Likewise.
224 (c_pretty_printer::expression): Likewise.
225 (pp_unary_expression): Adjust.
226 (pp_multiplicative_expression): Likewise.
227 (pp_assignment_expression): Likewise.
228 (pp_conditional_expression): Likewise.
229 (pp_expression): Likewise.
230 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
231 from pp_c_unary_expression. Adjust.
232 (c_pretty_printer::multiplicative_expression): Rename from
233 pp_c_multiplicative_expression. Adjust.
234 (c_pretty_printer::conditional_expression): Rename from
235 pp_c_conditional_expression. Adjust.
236 (c_pretty_printer::assignment_expression): Rename from
237 pp_c_assignment_expression. Adjust.
238 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
239 (c_pretty_printer::c_pretty_printer): Do not assign to
240 unary_expression, multiplicative_expression,
241 conditional_expression, expression.
242
027d08ed 2432013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
244
245 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
246 virtual member function.
247 (pp_postfix_expression): Adjust.
248 (pp_c_postfix_expression): Remove.
249 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
250 from pp_c_postfix_expression. Adjust.
251 (c_pretty_printer::c_pretty_printer): Do not assign to
252 postfix_expression.
253
f873303a 2542013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
255
256 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
257 virtua member function.
258 (pp_primary_expression): Adjust.
259 (pp_c_primary_expression): Remove.
260 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
261 from pp_c_primary_expression. Adjust.
262 (pp_c_initializer_list): Use pp_primary_expression.
263 (c_pretty_printer::c_pretty_printer): Do not assign to
264 primary_expression.
265
08e3e481 2662013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
267
268 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
269 * c-pretty-print.c (M_): Remove.
270 (c_pretty_printer::translate_string): Define.
271 (pp_c_type_specifier): Use it.
272 (pp_c_primary_expression): Likewise.
273 (pp_c_expression): Likewise.
274
1fc4a87f 2752013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
276
277 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
278 virtual function.
279 (pp_c_id_expression): Remove.
280 (pp_id_expression): Adjust.
281 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
282 pp_c_id_expression. Adjust.
283 (pp_c_postfix_expression): Use pp_id_expression.
284 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
285
a6cb161b 2862013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
287
288 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
289 member function.
290 (pp_constant): Adjust.
291 (pp_c_constant): Remove.
292 * c-pretty-print.c (c_pretty_printer::constant): Rename from
293 pp_c_constant. Adjust.
294 (pp_c_constant)
295 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
296 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
297
eed6bc21 2982013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
299
300 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
301 (c_pretty_printer::c_pretty_printer): Declare.
302 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
303 c_pretty_printer_init. Adjust.
304 (print_c_tree): Do not call c_pretty_printer_init.
305 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
306
df558d2e 3072013-08-09 Arnaud Charlet <charlet@adacore.com>
308
309 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
310
42f9a786 3112013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
312
313 PR c++/58080
314 * c-common.c (pointer_int_sum): Add bool parameter.
315 * c-common.h (pointer_int_sum): Adjust declaration.
316
f874ddad 3172013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
318
319 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
320 c_pretty_printer variable.
321
a94db6b0 3222013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
323
324 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
325 (pp_base): Remove.
326 (pp_c_base): Likewise. Adjust users.
327 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
328 (pp_c_whitespace): Do not call pp_base.
329 (pp_c_left_paren): Likewise.
330 (pp_c_right_paren): Likewise.
331 (pp_c_left_brace): Likewise.
332 (pp_c_right_brace): Likewise.
333 (pp_c_left_bracket): Likewise.
334 (pp_c_right_bracket): Likewise.
335 (pp_c_dot): Likewise.
336 (pp_c_ampersand): Likewise.
337 (pp_c_star): Likewise.
338 (pp_c_arrow): Likewise.
339 (pp_c_semicolon): Likewise.
340 (pp_c_complement): Likewise.
341 (pp_c_exclamation): Likewise.
342 (pp_c_direct_declarator): Likewise.
343 (pp_c_ws_string): Likewise.
344 (pp_c_identifier): Likewise.
345 (pp_c_statement): Likewise.
346 (print_c_tree): Likewise.
347
1898176c 3482013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
349
350 PR c++/58072
351 * c-common.c (c_parse_error): Catch user-defined literal tokens and
352 provide useful error strings.
353
70d60d1d 3542013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
355
356 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
357 printer functions instead of pp_string or operators and punctuators.
358 (dump_generic_ada_node): Likewise.
359 * c-pretty-print.c (pp_c_type_specifier): Likewise.
360 (pp_c_relational_expression): Likewise.
361 (pp_c_logical_or_expression): Likewise.
362
dda4f0ec 3632013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
364
365 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
366 functions instead of pp_character.
367 (pp_ada_tree_identifier): Likewise.
368 (dump_ada_double_name): Likewise.
369 (dump_ada_function_declaration): Likewise.
370 (dump_ada_array_domains): Likewise.
371 (dump_template_types): Likewise.
372 (dump_generic_ada_node): Likewise.
373 (print_ada_declaration): Likewise.
374 (print_ada_struct_decl): Likewise.
375 * c-pretty-print.c (pp_c_integer_constant): Likewise.
376
7aa04c8d 3772013-07-23 Tom Tromey <tromey@redhat.com>
378
379 * c-common.h (enum rid) <RID_GENERIC>: New constant.
380 * c-common.c (c_common_reswords): Add _Generic.
381
a04e8d62 3822013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
383
384 * c-common.c: Fix typos.
385 * c-common.h: Likewise.
386
a96c3cc1 3872013-07-13 Lubos Lunak <l.lunak@suse.cz>
388
389 PR c++/55203
390 * c-common.c (c_common_attribute_table): Add warn_unused.
391 (handle_warn_unused_attribute): New.
392
da31536d 3932013-07-10 Jakub Jelinek <jakub@redhat.com>
394
395 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
396 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
397
839f2f70 3982013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
399
400 PR c++/57869
401 * c.opt: Add Wconditionally-supported.
402
73f353d0 4032013-07-08 Graham Stott <graham.stott@btinternet.com>
404
405 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
406 unused variables l_length and l_node.
407
21ebaa24 4082013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 409
410 PR c/57821
411 * c-common.c (complete_array_type): Delay folding first index
412 like other indices. When folding, check for index overflow.
413
68ea4406 4142013-06-27 Marc Glisse <marc.glisse@inria.fr>
415
416 PR c++/57509
417 * c-common.h (c_build_vec_perm_expr): New complain argument.
418 * c-common.c (c_build_vec_perm_expr): Likewise.
419 Use save_expr also in C++.
420
60777f69 4212013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
422
423 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
424 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
425 * c-opts.c (c_common_post_options): Likewise.
426
839f2f70 4272013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 428
429 * array-notation-common.c (length_mismatch_in_expr): Changed the
430 parameter type's from a dynamic array to a vec_tree. Also removed
431 the size parameters.
432 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
433 the change above.
434
e9331eab 4352013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
436
437 * c-common.h (struct cilkplus_an_parts): New structure.
438 (struct cilkplus_an_loop_parts): Likewise.
439 (cilkplus_extract_an_triplets): New prototype.
440 (fix_sec_implicit_args): Likewise.
441 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
442 (fix_sec_implicit_args): Likewise.
60777f69 443
a9c99fc4 4442013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
445
446 * array-notation-common.c (find_inv_trees): Removed an unwanted
447 typecasting.
448 * c-common.h (struct inv_list::additional_tcodes): Changed type from
449 enum rid to enum tree_code.
450
f2526cce 4512013-06-11 Jan Hubicka <jh@suse.cz>
452
453 * c-common.c (handle_alias_ifunc_attribute): Do not set
454 DECL_EXTERNAL for weakref variables.
455 * c-pragma.c (handle_pragma_weak): Make sure aliases
456 are not declared as external.
457
09970d67 4582013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
459
460 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
461 function from c/c-array-notation.c.
462 (is_cilkplus_reduce_builtin): Likewise.
463 (find_rank): Likewise.
464 (extract_array_notation_exprs): Likewise.
465 (replace_array_notations): Likewise.
466 (find_inv_trees): Likewise.
467 (replace_inv_trees): Likewise.
468 (contains_array_notation_expr): Likewise.
469 (find_correct_array_notation_type): Likewise.
470 * c-common.h (struct inv_list): Moved this struct from the file
471 c/c-array-notation.c and added a new field called additional tcodes.
472 (length_mismatch_in_expr_p): New prototype.
473 (is_cilkplus_reduce_builtin): Likewise.
474 (find_rank): Likewise.
475 (extract_array_notation_exprs): Likewise.
476 (replace_array_notation): Likewise.
477 (find_inv_trees): Likewise.
478 (replace_inv_trees): Likewise.
479 (find_correct_array_notation_type): Likewise.
839f2f70 480
3c6d4197 4812013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
482
483 * c-common.c (c_define_builtins): When cilkplus is enabled, the
484 function array_notation_init_builtins is called.
485 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
486 * c-common.def (ARRAY_NOTATION_REF): New tree.
487 * c-common.h (build_array_notation_expr): New function declaration.
488 (build_array_notation_ref): Likewise.
489 (extract_sec_implicit_index_arg): New extern declaration.
490 (is_sec_implicit_index_fn): Likewise.
491 (ARRAY_NOTATION_CHECK): New define.
492 (ARRAY_NOTATION_ARRAY): Likewise.
493 (ARRAY_NOTATION_START): Likewise.
494 (ARRAY_NOTATION_LENGTH): Likewise.
495 (ARRAY_NOTATION_STRIDE): Likewise.
496 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
497 ARRAY_NOTATION_REF.
498 (pp_c_expression): Likewise.
499 * c.opt (flag_enable_cilkplus): New flag.
500 * array-notation-common.c: New file.
501
8e71dad2 5022013-05-14 Jakub Jelinek <jakub@redhat.com>
503
504 PR c++/57274
505 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
506
432dd330 5072013-05-10 Marc Glisse <marc.glisse@inria.fr>
508
509 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
510 vectors.
511
b156ec37 5122013-05-07 Han Shen <shenhan@google.com>
513
514 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
515
1a087624 5162013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
517
518 * c-common.c (check_user_alignment): Emit error for negative values.
519
1638c736 5202013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
521
522 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
523
949dbf93 5242013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
525
526 * c-cppbuiltin.c (c_cpp_builtins): Do not define
527 __GXX_EXPERIMENTAL_CXX1Y__.
528
9205a6cc 5292013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
530 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
531
532 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
533 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
534 to simply use OPT_Wpointer_arith.
535 (c_sizeof_or_alignof_type): Likewise.
536
05d0bce1 5372013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
538
539 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
540
41609f8b 5412013-04-12 Jakub Jelinek <jakub@redhat.com>
542
543 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
544 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
545 specifiers.
546
c671dc4f 5472013-04-07 Steven Bosscher <steven@gcc.gnu.org>
548
549 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
550
ba125576 5512013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
552
553 * c-common.c (pointer_int_sum): Remove dead code.
554
9d3fa937 5552013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
556
557 PR middle-end/56524
558 * c-common.c (handle_optimize_attribute): Don't call
559 save_optabs_if_changed.
560
5ceebb21 5612013-03-05 Jakub Jelinek <jakub@redhat.com>
562
563 PR middle-end/56461
564 * c-pch.c (pch_init): Free target_validity at the end.
565
18eeed2b 5662013-03-04 Jakub Jelinek <jakub@redhat.com>
567
568 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
569
a9196da9 5702013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
571 Jakub Jelinek <jakub@redhat.com>
572
573 PR sanitizer/56454
574 * c-common.c (handle_no_sanitize_address_attribute): New function.
575 (c_common_attribute_table): Add no_sanitize_address attribute.
576 (handle_no_address_safety_analysis_attribute): Add
577 no_sanitize_address attribute, not no_address_safety_analysis
578 attribute.
579
15c27dda 5802013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 581
582 PR target/52555
583 * c-common.c (handle_optimize_attribute): Call
584 save_optabs_if_changed.
585
19426fe1 5862013-02-18 Jakub Jelinek <jakub@redhat.com>
587 Steven Bosscher <steven@gcc.gnu.org>
588
589 PR pch/54117
590 * c-opts.c (c_common_post_options): If debug info is enabled
591 and non-dwarf*, refuse to load PCH files and when writing PCH
592 file warn.
593
df936998 5942013-02-05 Jakub Jelinek <jakub@redhat.com>
595
596 PR middle-end/56167
597 * c-common.c (handle_error_attribute): Fix condition.
598
ae0c3984 5992013-01-30 Jakub Jelinek <jakub@redhat.com>
600
601 PR c++/55742
602 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
603
1c4973d7 6042013-01-18 Jason Merrill <jason@redhat.com>
605
606 PR target/54908
607 * c.opt (-fextern-tls-init): New.
608 * c-opts.c (c_common_post_options): Handle it.
609
7c834436 6102013-01-09 Jakub Jelinek <jakub@redhat.com>
611
612 PR c/48418
613 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
614 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
615 and is either negative or bigger or equal to type precision
616 of the first operand.
617
5abaa10a 6182012-12-03 Marek Polacek <polacek@redhat.com>
619
620 PR c/55570
621 * c-common.c (check_user_alignment): Swap order of tests,
622 check TREE_CODE first.
623
324ca377 6242012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
625
626 PR c++/52654
627 * c-common.h (overflow_type): New enum.
628 (build_userdef_literal): Add overflow_type argument.
629 (tree_userdef_literal): Add overflow_type.
630 (USERDEF_LITERAL_OVERFLOW): New access macro.
631 * c-common.c (build_userdef_literal): Add overflow_type
632 argument.
633 * c-lex.c (c_lex_with_flags): Add overflow_type to
634 build_userdef_literal calls.
635 (interpret_integer, interpret_float): Add overflow_type argument.
636
b4c4a429 6372012-11-28 Richard Biener <rguenther@suse.de>
638
639 PR c/35634
640 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
641 here and use a type with proper overflow behavior for types that would
642 need to be promoted for the arithmetic.
643
d413ffdd 6442012-11-23 Jakub Jelinek <jakub@redhat.com>
645
646 PR sanitizer/55435
647 * c-common.c (handle_no_address_safety_analysis_attribute): New
648 function.
649 (c_common_attribute_table): Add no_address_safety_analysis.
650
52bc861d 6512012-11-16 Simon Baldwin <simonb@google.com>
652
653 * c.opt: Add f[no-]canonical-system-headers.
654 * c-opts.c (c_common_handle_option): Handle
655 OPT_fcanonical_system_headers.
656
2dd00636 6572012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
658
659 PR c++/54413
660 * c-opts.c (c_common_handle_option): Set new flags.
661 * c.opt: Describe new flags.
662
d4701f6c 6632012-11-09 Jason Merrill <jason@redhat.com>
664
665 * c.opt (Wabi-tag): New.
666
72d65da9 6672012-11-09 Andi Kleen <ak@linux.intel.com>
668
669 PR 55139
670 * c-common.c (get_atomic_generic_size): Mask with
671 MEMMODEL_MASK
672
77a357e3 6732012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
674
675 PR c/53063
676 * c.opt (Wformat): Make it Alias Wformat=1.
677 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
678 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
679 LangEnabledBy.
680 (Wformat=): RejectNegative. Use LangEnabledBy.
681 (Wnonnull): Use LangEnabledBy.
682 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
683 * c-format.c (set_Wformat): Delete.
684 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
685 (maybe_read_dollar_number): Likewise.
686 (avoid_dollar_number): Likewise.
687 (finish_dollar_format_checking): Likewise.
688 (check_format_info): Likewise.
689 (check_format_info_main): Likewise.
690 (check_format_types): Likewise.
691 (format_type_warning): Likewise.
692 * c-common.c (int): Likewise.
693 (check_function_sentinel): Likewise.
694 * c-common.h (warn_format,set_Wformat): Do not declare here.
695
45efa6b9 6962012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
697
698 PR c/53063
699 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
700 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
701 Use LangEnabledBy.
702 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
703 common.opt.
704 (Wvariadic-macros): Init(1).
705 * c-opts.c (c_common_handle_option): Do not handle them
706 explicitly.
707 (c_common_post_options): Likewise.
708 (sanitize_cpp_opts): warn_unused_macros is now
709 cpp_warn_unused_macros.
710 (push_command_line_include): Likewise.
711 * c-common.c (warn_unknown_pragmas): Do not define.
712 * c-common.h (warn_unknown_pragmas): Do not declare.
713
0e4e775a 7142012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
715
716 PR c/51294
717 * c-common.c (conversion_warning): Handle conditional expressions.
718
8b447d3f 7192012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
720
721 PR c++/54930
722 * c.opt (Wreturn_local_addr): Define new option.
723
f4a61754 7242012-10-25 Jason Merrill <jason@redhat.com>
725
ecb10e6a 726 * c.opt (Wvirtual-move-assign): New.
727
f4a61754 728 * c.opt (Winherited-variadic-ctor): New.
729
7b463b19 7302012-10-25 Marc Glisse <marc.glisse@inria.fr>
731
732 PR c++/54427
733 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
734
6adc88f8 7352012-10-23 Joseph Myers <joseph@codesourcery.com>
736
737 * c-common.h (pch_cpp_save_state): Declare.
738 * c-target.def (c_preinclude): New hook.
739 * c-opts.c (done_preinclude): New.
740 (push_command_line_include): Handle default preincluded header.
741 (cb_file_change): Call pch_cpp_save_state when calling
742 push_command_line_include.
743 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
744 (pch_cpp_save_state): New.
745 (pch_init): Call pch_cpp_save_state conditionally, instead of
746 calling cpp_save_state.
747
fa816b0b 7482012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
749
750 PR c/53063
751 PR c/40989
752 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
753 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
754 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
755 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
756 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
757 * c-opts.c (c_common_handle_option): Remove explicit handling from
758 here.
759 (c_common_post_options): Likewise.
760
d214ccee 7612012-10-18 Eric Botcazou <ebotcazou@adacore.com>
762
763 * c-ada-spec.c (LOCATION_COL): Delete.
764 (compare_location): New function.
765 (compare_node): Use it.
766 (compare_comment): Likewise.
767
77b27208 7682012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
769
770 PR c/53063
771 PR c/40989
772 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
773 * c-opts.c (c_common_handle_option): Do not set them here. Add
774 comment.
775 (c_common_post_options): Likewise.
776
cc02ca4d 7772012-10-16 Eric Botcazou <ebotcazou@adacore.com>
778
779 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
780 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
781 Remove POINTER_TYPE handling, add large unsigned handling and use
782 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
783
57f872a2 7842012-10-12 Jakub Jelinek <jakub@redhat.com>
785
786 PR c/54381
787 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
788 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
789 locs and array of 3 trees instead of just single loc and single
790 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
791 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
792 For *cmp* builtins that take two sources strings report warnings
793 about first and second source, not about destination and source.
794
7354ad2e 7952012-10-12 Marc Glisse <marc.glisse@inria.fr>
796
797 PR c++/53055
798 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
799
1ac7f120 8002012-10-11 Eric Botcazou <ebotcazou@adacore.com>
801
802 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
803 declaring something coming from another file.
804
1e0cc9e3 8052012-10-10 Arnaud Charlet <charlet@adacore.com>
806
1ac7f120 807 PR ada/54845
1e0cc9e3 808 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
809
b0e7825e 8102012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
811
812 PR c++/54194
813 * c-common.c (warn_about_parentheses): Add location_t parameter;
814 use EXPR_LOC_OR_LOC.
815 * c-common.h: Update declaration.
816
41ed701a 8172012-10-09 Marc Glisse <marc.glisse@inria.fr>
818
819 PR c++/54427
820 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
821 more operations. Make error messages optional.
822 * c-common.h (enum stv_conv): Moved from c-typeck.c.
823 (scalar_to_vector): Declare.
824
3740094c 8252012-10-08 Jason Merrill <jason@redhat.com>
826
827 * c-common.c (c_common_reswords): Add thread_local.
828
ffcdbf9c 8292012-10-08 Dodji Seketeli <dodji@redhat.com>
830
831 PR c++/53528 C++11 attribute support
832 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
833 new functions.
834 * c-common.c (check_cxx_fundamental_alignment_constraints): New
835 static function.
836 (handle_aligned_attribute): In choose strictest alignment
837 among many. Use new check_cxx_fundamental_alignment_constraints.
838 (handle_transparent_union_attribute): In c++11 attribute syntax,
839 don't look through typedefs.
840
ef34afc1 8412012-10-04 Arnaud Charlet <charlet@adacore.com>
842
843 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
844 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
845 out of dumpfile.h.
846
f1ff4562 8472012-09-25 Dehao Chen <dehao@google.com>
848
849 PR middle-end/54645
ef34afc1 850 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 851 map when read in the pch.
852
735538a1 8532012-09-18 Arnaud Charlet <charlet@adacore.com>
854
855 * c-ada-spec.c: Style fixes.
856
9120cdc8 8572012-09-18 Thomas Quinot <quinot@adacore.com>
858
859 * c.opt (-fada-spec-parent): Define new command line switch.
860 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
861 is specified, generate binding spec as a child of the specified unit.
862
8eba82c2 8632012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
864 Manuel López-Ibáñez <manu@gcc.gnu.org>
865
866 PR c++/53210
867 * c.opt ([Winit-self]): Enabled by -Wall in C++.
868
38682990 8692012-08-23 Arnaud Charlet <charlet@adacore.com>
870
871 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
872 for pointers, and add missing Convention C pragma.
873 (print_ada_struct_decl): Add missing aliased keyword.
874 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
875
f003f5dc 8762012-08-17 Jakub Jelinek <jakub@redhat.com>
877
878 * c-common.c (sizeof_pointer_memaccess_warning): New function.
879 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
880 * c-opts.c (c_common_handle_option): Enable it for -Wall.
881 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
882 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
883
ec11736b 8842012-08-10 Richard Guenther <rguenther@suse.de>
885
886 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
887
5f7f600e 8882012-08-07 Steven Bosscher <steven@gcc.gnu.org>
889
890 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
891 instead of separate pp_newline and pp_flush.
892 (print_c_tree): Likewise.
893
758a38ab 8942012-07-26 Richard Henderson <rth@redhat.com>
895
896 * c-common.c (handle_hot_attribute): Allow labels.
897 (handle_cold_attribute): Likewise.
898
9ca77b08 8992012-07-20 Jakub Jelinek <jakub@redhat.com>
900
901 PR c++/28656
902 * c-common.c (check_function_nonnull): Handle multiple nonnull
903 attributes properly.
904
b9ed1410 9052012-07-16 Steven Bosscher <steven@gcc.gnu.org>
906
907 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
908 * c-ada-spec.c: Likewise.
909 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
910
c2a65b90 9112012-07-14 Steven Bosscher <steven@gcc.gnu.org>
912
913 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
914 Remove code conditional on it.
915
88c5a1d1 9162012-07-11 Steven Bosscher <steven@gcc.gnu.org>
917
918 * c-gimplify.c: Do not include basic-block.h.
919 * c-common.c: Do not include linfuncs.h.
920
4a020a8c 9212012-07-08 Steven Bosscher <steven@gcc.gnu.org>
922
923 * c-common.h: Include tree.h.
924
c28ddc97 9252012-07-02 Jason Merrill <jason@redhat.com>
926
927 PR c++/53524
928 * c-common.c (get_priority): Call default_conversion.
929
405ed67f 9302012-07-01 Uros Bizjak <ubizjak@gmail.com>
931
932 * c-pch.c (c_common_write_pch): Remove unused variables.
933
e53d55e7 9342012-06-29 Steven Bosscher <steven@gcc.gnu.org>
935
936 * cppspec.c: Moved from gcc/ to here.
937
3d9c25ec 9382012-06-27 Kai Tietz <ktietz@redhat.com>
939
940 PR preprocessor/37215
941 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
942
3169c57a 9432012-06-21 Steven Bosscher <steven@gcc.gnu.org>
944
945 * c-common.h (c_common_print_pch_checksum): Remove.
946 * c-pch.c: Do not include output.h.
947 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
948 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
949 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
950 (struct c_pch_header): Remove.
951 (get_ident): Update gpch version.
952 (pch_init): Do not print executable_checksum to asm_out_file.
953 Do not fail if there is no asm_out_file to read back from. Set
954 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
955 (c_common_write_pch): Verify that nothing was written to asm_out_file
956 since pch_init was called. Do not write a c_pch_header, and do not
957 copy from asm_out_file to the PCH.
958 (c_common_read_pch): Do not read a c_pch_header, and do not restore
959 the content of asm_out_file from the PCH.
960 (c_common_print_pch_checksum): Remove.
961 * c-opts.c (c_common_init): Print out executable_checksum directly.
962
ff6624bc 9632012-06-19 Steven Bosscher <steven@gcc.gnu.org>
964
965 * c-target.def (objc_declare_unresolved_class_reference,
966 objc_declare_class_definition): Add new hooks.
967
367b1459 9682012-06-19 Steven Bosscher <steven@gcc.gnu.org>
969
970 * c-lex.c: Do not include output.h.
971 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
972 Remove uses of ASM_OUTPUT_IDENT.
973
bf0cb017 9742012-06-15 Marc Glisse <marc.glisse@inria.fr>
975
976 PR c++/51033
977 * c-common.h (c_build_vec_perm_expr): Move decl here.
978 * c-common.c (c_build_vec_perm_expr): Move definition
979 here.
980
b37a3600 9812012-06-06 Steven Bosscher <steven@gcc.gnu.org>
982
983 * c.opt (fconserve-space): Turn into a no-op.
984
19931eea 9852012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 986
987 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
988 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
989 both the start and end of the function.
990
dff12c10 9912012-06-04 Steven Bosscher <steven@gcc.gnu.org>
992
993 * c-common.c: Do not include output.h.
994 * c-pragma.c: Likewise.
995
5f9e7dd5 9962012-06-04 Steven Bosscher <steven@gcc.gnu.org>
997
998 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
999 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1000 (lang_decl_name): Handle namespace decls.
1001
b5369b7d 10022012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1003
1004 * c-ada-spec.c: Do not include output.h.
1005 * c-semantics.c: Likewise.
1006
8032877c 10072012-05-29 Joseph Myers <joseph@codesourcery.com>
1008
1009 * c-common.c: Fix typo.
1010
7843e4bc 10112012-05-29 Michael Matz <matz@suse.de>
1012
1013 * c-common.h (c_expand_decl): Remove prototype.
1014
8cf857d4 10152012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1016
1017 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1018 * c-opts.c (c_common_handle_option): Remove code handling
1019 warn_missing_braces.
1020
8b64dc3c 10212012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
1022
1023 PR c++/25137
1024 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1025 -Wmissing_braces.
1026
43cbde16 10272012-05-22 Dodji Seketeli <dodji@redhat.com>
1028
1029 PR c++/53322
1030 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1031
db490cb6 10322012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
1033
1034 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1035 * c-opts.c (c_common_handle_option): Do not handle explicitly
1036 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1037
a60f3e81 10382012-05-16 Dodji Seketeli <dodji@redhat.com>
1039
1040 PR preprocessor/7263
1041 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
1042 to cpp_classify_number. For diagnostics, use the precise location
1043 instead of the global input_location.
1044
82e6ef7c 10452012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1046
cd4797ff 1047 PR c++/11856
82e6ef7c 1048 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1049
258a168d 10502012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1051
82e6ef7c 1052 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 1053
d3b7ee7c 10542012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1055
1056 PR 53063
1057 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1058 Wreorder): Use LangEnabledBy.
1059 * c-opts.c (c_common_handle_option): Do not enable them
1060 explicitly. Call lang-specific generated functions.
1061 (c_common_post_options): Do not set them here.
1062
70059cea 10632012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
1064
1065 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1066 Wmissing-field-initializers,Wmissing-parameter-type,
1067 Wold-style-declaration,Woverride-init): Use EnabledBy.
1068 * c-opts.c (c_common_post_options): Do not set here explicitly.
1069
fbb6fbd8 10702012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1071
1072 PR 53063
1073 * c-opts.c (c_common_handle_option): Use handle_generated_option
1074 to enable sub-options.
1075
61f69bc9 10762012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1077
1078 PR c++/53158
1079 * c-common.c (warnings_for_convert_and_check): Use warning_at.
1080
5a1fe2db 10812012-05-10 Richard Guenther <rguenther@suse.de>
1082
1083 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1084 adjust commentary about TYPE_IS_SIZETYPE types.
1085
d42e7c5a 10862012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1087
1088 PR c++/53261
1089 * c-common.c (warn_logical_operator): Check that argument of
1090 integer_zerop is not NULL.
1091
686369e8 10922012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
1093
1094 PR c/43772
1095 * c-common.c (warn_logical_operator): Do not warn if either side
1096 is already true or false.
1097
03fe1dc2 10982012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1099
1100 PR c/51712
1101 * c-common.c (expr_original_type): New.
1102 (shorten_compare): Do not warn for enumeration types.
1103
bba5a206 11042012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1105
1106 * c.opt (fpermissive): Add Var(flag_permissive).
1107
7059d45d 11082012-04-30 Marc Glisse <marc.glisse@inria.fr>
1109
1110 PR c++/51033
1111 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1112 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1113
7edb1062 11142012-04-30 Dodji Seketeli <dodji@redhat.com>
1115
1116 Add -Wvarargs option
1117 * c.opt (Wvarargs): Define new option.
1118
068bea1e 11192012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1120
1121 * c-common.c (check_function_arguments): Replace
1122 Wmissing-format-attribute with Wsuggest-attribute=format.
1123
b86527d8 11242012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1125
1126 * c.opt (Wsuggest-attribute=format): New. Alias of
1127 Wmissing-format-attribute.
1128 * c-format.c (decode_format_type): Replace
1129 Wmissing-format-attribute with Wsuggest-attribute=format.
1130 (check_function_format): Likewise.
1131
19931eea 11322012-04-27 Ollie Wild <aaw@google.com>
76d340ac 1133
1134 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1135 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1136 * c.opt: Add Wliteral-suffix.
1137
29438999 11382012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1139
1140 PR c/44774
1141 * c.opt (Wpedantic): New.
1142 (pedantic): Alias Wpedantic.
1143 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1144 (c_common_post_options): Likewise.
1145 (sanitize_cpp_opts): Likewise.
1146 * c-lex.c (interpret_float): Likewise.
1147 * c-format.c (check_format_types): Likewise.
1148 * c-common.c (pointer_int_sum): Likewise.
1149 (c_sizeof_or_alignof_type): Likewise.
1150 (c_add_case_label): Likewise.
1151 (c_do_switch_warnings): Likewise.
1152 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1153
4f9d6b8b 11542012-04-15 Jason Merrill <jason@redhat.com>
1155
1156 PR c++/52818
1157 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1158 (C_STD_NAME): Distinguish between C++98 and C++11.
1159
74bdbe96 11602012-04-11 Eric Botcazou <ebotcazou@adacore.com>
1161
1162 PR target/52624
1163 * c-common.h (uint16_type_node): Rename into...
1164 (c_uint16_type_node): ...this.
1165 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1166 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1167
3d177e8c 11682012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
1169
1170 * c-common.c (warn_if_unused_value): Move definition to here.
1171 * c-common.h (warn_if_unused_value): Move declaration to here.
1172
6a9a958f 11732012-03-23 William Bader <williambader@hotmail.com>
1174
1175 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1176
543efdbe 11772012-03-20 Jason Merrill <jason@redhat.com>
1178
1179 * c-common.h (enum cxx_dialect): Add cxx1y.
1180 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1181 test.
1182 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1183 * c-opts.c (c_common_post_options): Likewise.
1184 (set_std_cxx1y): New.
1185 (c_common_handle_option): Call it.
1186 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1187
62206d34 11882012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
1189
1190 PR c++/14710
1191 * c.opt ([Wuseless-cast]): Add.
1192
fadf62f4 11932012-03-16 Richard Guenther <rguenther@suse.de>
1194
1195 * c-pretty-print.c (pp_c_initializer_list): Adjust.
1196
249faa35 11972012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1198
1199 PR c++/44783
1200 * c.opt (ftemplate-backtrace-limit) Add.
1201
126b6848 12022012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1203
1204 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1205 handling.
1206 * c-pragma.c (handle_pragma_extern_prefix): Remove.
1207 (init_pragma): Don't register extern_prefix.
1208
a51edb4c 12092012-03-12 Richard Guenther <rguenther@suse.de>
1210
1211 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1212 (builtin_type_for_size): Likewise.
1213
0f6a7cb7 12142012-02-13 Jakub Jelinek <jakub@redhat.com>
1215
1216 PR c++/52215
1217 * c-common.c (sync_resolve_params): Don't decide whether to convert
1218 or not based on TYPE_SIZE comparison, convert whenever arg_type
1219 is unsigned INTEGER_TYPE.
1220
0779e32c 12212012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
1222
1223 PR c/52118
1224 * c.opt ([Wunused-local-typedefs]): Fix description.
1225
baec58e1 12262012-01-24 Mike Stump <mikestump@comcast.net>
1227
1228 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1229 exactly.
1230
c779d8cc 12312012-01-18 Richard Guenther <rguenther@suse.de>
1232
1233 * c-opts.c (c_common_post_options): Reset LTO flags if
1234 we are about to generate a PCH.
1235
ee917d24 12362012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1237
1238 PR c++/51777
1239 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1240 use pp_unsigned_wide_integer.
1241
90e2341f 12422012-01-10 Richard Guenther <rguenther@suse.de>
1243
1244 PR middle-end/51806
1245 * c-opts.c (c_common_handle_option): Move -Werror handling
1246 to language independent code.
1247
9ea022ce 12482012-01-05 Richard Guenther <rguenther@suse.de>
1249
1250 PR middle-end/51764
1251 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1252 from common.opt.
1253
3df19e1b 12542011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
1255
1256 PR c++/51316
1257 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1258 of array types with an unknown bound.
1259
32074525 12602011-12-20 Joseph Myers <joseph@codesourcery.com>
1261
1262 * c-common.c (flag_isoc99): Update comment to refer to C11.
1263 (flag_isoc1x): Change to flag_isoc11.
1264 * c-common.h (flag_isoc99): Update comment to refer to C11.
1265 (flag_isoc1x): Change to flag_isoc11.
1266 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1267 C11.
1268 * c-opts.c (set_std_c1x): Change to set_std_c11.
1269 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1270 Call set_std_c11.
1271 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1272 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1273 * c.opt (std=c1x): Change to std=c11. Document as non-draft
1274 standard.
1275 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1276 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
1277 (std=gnu1x): Make alias of std=gnu11.
1278
fca86134 12792011-12-19 Jason Merrill <jason@redhat.com>
1280
1281 PR c++/51228
1282 * c-common.c (handle_transparent_union_attribute): Check the first
1283 field if the type is complete.
1284
aa4313eb 12852011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
1286
1287 PR libstdc++/51365
1288 * c-common.c (RID_IS_FINAL): Add.
1289 * c-common.h (RID_IS_FINAL): Add.
1290
3f3d5ad4 12912011-11-30 Iain Sandoe <iains@gcc.gnu.org>
1292
1293 * c.opt (fgnu-runtime): Provide full description.
1294 (fnext-runtime): Likewise.
1295 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1296
c4606d19 12972011-11-28 Andrew MacLeod <amacleod@redhat.com>
1298
1299 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
1300 predefines in one place. Add LOCK_FREE predefines.
1301 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1302 new func.
1303
1d581089 13042011-11-24 Andrew MacLeod <amacleod@redhat.com>
1305
1306 PR c/51256
19931eea 1307 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 1308 conditions
19931eea 1309 (resolve_overloaded_atomic_exchange,
1310 resolve_overloaded_atomic_compare_exchange,
1d581089 1311 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1312 error_mark_node for error conditions.
19931eea 1313
6aa221fa 13142011-11-08 Richard Guenther <rguenther@suse.de>
1315
1316 PR middle-end/51010
1317 c-family/
1318
4c0315d0 13192011-11-07 Richard Henderson <rth@redhat.com>
1320 Aldy Hernandez <aldyh@redhat.com>
1321 Torvald Riegel <triegel@redhat.com>
1322
1323 Merged from transactional-memory.
1324
1325 * c-common.c (handle_tm_wrap_attribute,
1326 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1327 (struct c_common_reswords): Added __transaction* keywords.
1328 (struct c_common_attribute_table): Added transaction* and tm_regparm
1329 attributes.
1330 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1331 masks.
1332 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1333 find_tm_attribute): Declare.
1334
920f5a70 13352011-11-07 Jason Merrill <jason@redhat.com>
1336
1337 PR c++/35688
1338 * c-common.c, c-common.h: Revert yesterday's changes.
1339
b4f861b4 13402011-11-06 Jason Merrill <jason@redhat.com>
1341
1342 PR c++/35688
1343 * c-common.c (decl_has_visibility_attr): Split out from...
1344 (c_determine_visibility): ...here.
1345 * c-common.h: Declare it.
1346
83e25171 13472011-11-06 Joseph Myers <joseph@codesourcery.com>
1348
1349 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1350 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1351 type.
1352 (check_user_alignment): New. Split out of
1353 handle_aligned_attribute. Disallow integer constants with
1354 noninteger types. Conditionally allow zero.
1355 (handle_aligned_attribute): Use check_user_alignment.
1356 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1357
1cd6e20d 13582011-11-06 Andrew MacLeod <amacleod@redhat.com>
1359 Richard Henderson <rth@redhat.com>
1360
1361 Merged from cxx-mem-model.
1362
1363 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 1364 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 1365 parameters that are the same type size.
1366 (get_atomic_generic_size): New. Find size of generic
1367 atomic function parameters and do typechecking.
1368 (add_atomic_size_parameter): New. Insert size into parameter list.
1369 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1370 either __atomic_exchange_n or external library call.
19931eea 1371 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 1372 __atomic_compare_exchange to either _n variant or external library call.
19931eea 1373 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 1374 __atomic_load_n or an external library call.
1375 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1376 __atomic_store_n or an external library call.
1377 (resolve_overloaded_builtin): Handle new __atomic builtins.
1378
7549df0d 13792011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1380
1381 PR c++/50608
1382 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1383 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
1384 <INDIRECT_REF>: Return the argument.
1385 <ARRAY_REF>: Remove special code for negative offset.
1386 Call fold_build_pointer_plus instead of size_binop.
1387 (fold_offsetof): Remove STOP_REF argument and adjust.
1388 * c-common.h (fold_offsetof_1): Declare.
1389 (fold_offsetof): Remove STOP_REF argument.
1390
7e783eb3 13912011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
1392
1393 PR c++/50810
1394 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1395 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1396 Wnarrowing for C++0x and C++98.
1397 * c.opt ([Wnarrowing]): Update.
1398
8fe701f5 13992011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1400
1401 PR c++/44277
1402 * c.opt: Add Wzero-as-null-pointer-constant.
1403
0d84dc2d 14042011-10-31 Jason Merrill <jason@redhat.com>
1405
67031f52 1406 * c.opt (-fdeduce-init-list): Off by default.
1407
0d84dc2d 1408 PR c++/50920
1409 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1410 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1411 and -Wc++11-compat.
1412 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1413
66f24c41 14142011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
1415
1416 PR c++/30066
1417 * c.opt (fvisibility-inlines-hidden): Description change.
1418
244db24d 14192011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
1420
1421 Implement C++11 user-defined literals.
1422 * c-common.c (build_userdef_literal): New.
1423 * c-common.def: New tree code.
1424 * c-common.h (tree_userdef_literal): New tree struct and accessors.
1425 * c-lex.c (interpret_float): Add suffix parm.
1426 (c_lex_with_flags): Build literal tokens.
1427
235be70f 14282011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1429
1430 PR c++/50841
1431 Revert:
1432 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1433
1434 PR c++/50810
1435 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1436 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1437 Wnarrowing for C++0x and C++98.
1438 * c.opt ([Wnarrowing]): Update.
1439
4fe0fb1c 14402011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1441
1442 PR c++/50810
1443 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1444 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1445 Wnarrowing for C++0x and C++98.
1446 * c.opt ([Wnarrowing]): Update.
1447
5f7504f9 14482011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
1449
1450 PR c++/45385
1451 * c-common.c (conversion_warning): Remove code looking for
1452 artificial operands.
1453
2a688977 14542011-10-18 Dodji Seketeli <dodji@redhat.com>
1455
1456 PR bootstrap/50760
1457 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 1458 !NO_IMPLICIT_EXTERN_C.
2a688977 1459
326e3391 14602011-10-17 Michael Spertus <mike_spertus@symantec.com>
1461
1462 * c-common.c (c_common_reswords): Add __bases,
1463 __direct_bases.
1464 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1465
14662011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1467
1468 PR c++/50757
1469 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1470
62db153a 14712011-10-15 Tom Tromey <tromey@redhat.com>
1472 Dodji Seketeli <dodji@redhat.com>
1473
1474 * c.opt (fdebug-cpp): New option.
1475 * c-opts.c (c_common_handle_option): Handle the option.
1476 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1477 output stream in parameter. Factorized from ...
1478 (maybe_print_line): ... this. Dump location debug information when
1479 -fdebug-cpp is in effect.
1480 (print_line_1): New static function. Takes an output stream in
1481 parameter. Factorized from ...
1482 (print_line): ... here. Dump location information when -fdebug-cpp
1483 is in effect.
1484 (scan_translation_unit): Dump location information when
1485 -fdebug-cpp is in effect.
1486
ce70f433 14872011-10-15 Tom Tromey <tromey@redhat.com>
1488 Dodji Seketeli <dodji@redhat.com>
1489
1490 * c.opt (ftrack-macro-expansion): New option. Handle it with and
1491 without argument.
1492 * c-opts.c (c_common_handle_option)<case
1493 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1494 cases. Handle -ftrack-macro-expansion with and without argument.
1495
97bfb9ef 14962011-10-15 Tom Tromey <tromey@redhat.com>
1497 Dodji Seketeli <dodji@redhat.com>
1498
1499 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1500 (print_line, cb_define, do_line_change): Adjust to avoid touching
1501 the internals of struct line_map. Use the public API instead.
1502 * c-pch.c (c_common_read_pch): Likewise.
1503 * c-lex.c (fe_file_change): Likewise.
1504
326e3391 15052011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
1506
1507 PR c++/17212
1508 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1509
15102011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
1511
1512 PR c++/33067
1513 * c-pretty-print.c (pp_c_floating_constant): Output
1514 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1515
b9a16870 15162011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1517
1518 * c-common.c (def_builtin_1): Delete old interface with two
1519 parallel arrays to hold standard builtin declarations, and replace
1520 it with a function based interface that can support creating
1521 builtins on the fly in the future. Change all uses, and poison
1522 the old names. Make sure 0 is not a legitimate builtin index.
1523 * c-omp.c (c_finish_omp_barrier): Ditto.
1524 (c_finish_omp_taskwait): Ditto.
1525 (c_finish_omp_flush): Ditto.
1526
c7964868 15272011-10-11 Tristan Gingold <gingold@adacore.com>
1528
1529 * c.opt: (fallow-parameterless-variadic-functions): New.
1530
a4e3ffad 15312011-09-08 Dodji Seketeli <dodji@redhat.com>
1532
1533 PR c++/33255 - Support -Wunused-local-typedefs warning
1534 * c-common.h (struct c_language_function::local_typedefs): New
1535 field.
19931eea 1536 (record_locally_defined_typedef, maybe_record_typedef_use)
1537 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 1538 * c-common.c (record_locally_defined_typedef)
19931eea 1539 (maybe_record_typedef_use)
1540 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 1541 * c.opt: Declare new -Wunused-local-typedefs flag.
1542
737a23cc 15432011-09-06 Eric Botcazou <ebotcazou@adacore.com>
1544
1545 PR middle-end/50266
1546 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1547 computations.
1548
7542c3b4 15492011-09-05 Richard Guenther <rguenther@suse.de>
1550
1551 * c-common.c (complete_array_type): Use ssize_int (-1) instead
1552 of integer_minus_one_node for empty array upper bounds.
1553
1dc92c59 15542011-08-28 Dodji Seketeli <dodji@redhat.com>
1555
1556 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1557 it's the first time it's being called on this main TU.
1558
2bdf2b6e 15592011-08-24 Richard Guenther <rguenther@suse.de>
1560
1561 PR c/49396
1562 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1563
15642011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 1565
1566 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1567 defined in cpp_init_builtins and c_cpp_builtins.
1568
bff4ad11 15692011-08-19 Joseph Myers <joseph@codesourcery.com>
1570
1571 * c-common.c (c_common_reswords): Add __builtin_complex.
1572 * c-common.h (RID_BUILTIN_COMPLEX): New.
1573
985c6e3a 15742011-08-18 Joseph Myers <joseph@codesourcery.com>
1575
1576 * c-common.c (c_common_reswords): Add _Noreturn.
1577 (keyword_is_function_specifier): Handle RID_NORETURN.
1578 * c-common.h (RID_NORETURN): New.
1579
7dfa155b 15802011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1581
1582 * c-common.c (unsafe_conversion_p): New function. Check if it is
1583 unsafe to convert an expression to the type.
1584 (conversion_warning): Adjust, use unsafe_conversion_p.
1585 * c-common.h (unsafe_conversion_p): New function declaration.
1586
2169f33b 15872011-08-02 Jakub Jelinek <jakub@redhat.com>
1588
1589 * c-common.h (c_finish_omp_atomic): Adjust prototype.
1590 (c_finish_omp_taskyield): New prototype.
1591 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1592 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1593 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
1594 or RHS1 have side-effects, evaluate those too in the right spot,
1595 if it is a decl and LHS is also a decl, error out if they
1596 aren't the same.
1597 (c_finish_omp_taskyield): New function.
1598 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1599 * c-pragma.c (omp_pragmas): Add taskyield.
1600 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1601 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1602 PRAGMA_OMP_CLAUSE_MERGEABLE.
1603
ab77850e 16042011-07-25 Dodji Seketeli <dodji@redhat.com>
1605
1606 * c-common.h (set_underlying_type): Remove parm name from
1607 declaration.
1608
6ee97920 16092011-07-25 Romain Geissler <romain.geissler@gmail.com>
1610
1611 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 1612
dc251364 16132011-07-22 Jason Merrill <jason@redhat.com>
1614
1a2a35f0 1615 PR c++/49793
1616 * c.opt (Wnarrowing): New.
1617
27282252 1618 PR c++/30112
1619 * c-common.h: Declare c_linkage_bindings.
1620 * c-pragma.c (handle_pragma_redefine_extname): Use it.
1621
dc251364 1622 PR c++/49813
1623 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1624 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1625 as flag_isoc99 for 'restrict'.
1626 (pp_c_specifier_qualifier_list): Likewise for _Complex.
1627
fc501191 16282011-07-21 Ian Lance Taylor <iant@google.com>
1629
1630 PR middle-end/49705
1631 * c-common.c (c_disable_warnings): New static function.
1632 (c_enable_warnings): New static function.
1633 (c_fully_fold_internal): Change local unused_p to bool. Call
1634 c_disable_warnings and c_enable_warnings rather than change
1635 c_inhibit_evaluation_warnings.
1636
07b8f133 16372011-07-20 Jason Merrill <jason@redhat.com>
1638
1639 PR c++/6709 (DR 743)
1640 PR c++/42603 (DR 950)
1641 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1642 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1643 (CPP_DECLTYPE): New.
1644 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1645
2cc66f2a 16462011-07-19 Richard Guenther <rguenther@suse.de>
1647
1648 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1649 * c-omp.c (c_finish_omp_for): Likewise.
1650
3c802a1e 16512011-07-12 Eric Botcazou <ebotcazou@adacore.com>
1652
1653 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1654 body on the next line.
1655
98a33d9f 16562011-07-08 Jason Merrill <jason@redhat.com>
1657
3115bda0 1658 PR c++/45437
1659 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1660
98a33d9f 1661 PR c++/49673
1662 * c-common.c (c_apply_type_quals_to_decl): Don't check
1663 TYPE_NEEDS_CONSTRUCTING.
1664
c38a75b7 16652011-07-06 Richard Guenther <rguenther@suse.de>
1666
1667 * c-common.c (c_common_nodes_and_builtins):
1668 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1669
e593356b 16702011-07-05 Richard Guenther <rguenther@suse.de>
1671
1672 * c-common.c (c_common_nodes_and_builtins): Build all common
1673 tree nodes first.
1674
fca0886c 16752011-06-27 Jakub Jelinek <jakub@redhat.com>
1676
a68f7a8d 1677 * c-common.h (c_tree_chain_next): New static inline function.
1678
fca0886c 1679 * c-common.c (check_builtin_function_arguments): Handle
1680 BUILT_IN_ASSUME_ALIGNED.
1681
2797f13a 16822011-06-21 Andrew MacLeod <amacleod@redhat.com>
1683
1684 * c-common.c: Add sync_ or SYNC__ to builtin names.
1685 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 1686
16872011-06-20 Pierre Vittet <piervit@pvittet.com>
1688
1689 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1690 handler.
1691 (gen_pragma_handler): New union.
1692 (internal_pragma_handler): New type.
1693 (c_register_pragma_with_data)
1694 (c_register_pragma_with_expansion_and_data): New functions.
1695
1696 * c-pragma.c (registered_pragmas, c_register_pragma_1)
1697 (c_register_pragma, c_register_pragma_with_expansion)
1698 (c_invoke_pragma_handler): Changed to work with
1699 internal_pragma_handler.
1700 (c_register_pragma_with_data)
1701 (c_register_pragma_with_expansion_and_data): New functions.
1702
218e3e4e 17032011-06-14 Joseph Myers <joseph@codesourcery.com>
1704
1705 * c-common.c: Include common/common-target.h.
1706 (handle_section_attribute): Use
1707 targetm_common.have_named_sections.
1708 * c-cppbuiltin.c: Include common/common-target.h.
1709 (c_cpp_builtins): Use targetm_common.except_unwind_info.
1710
41e53ed2 17112011-06-10 Richard Guenther <rguenther@suse.de>
1712
1713 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1714 to print a IDENTIFIER_NODE.
1715
a6f06169 17162011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1717 Joseph Myers <joseph@codesourcery.com>
1718
1719 * c.opt (fbuilding-libgcc): New option.
1720 * c-cppbuiltin.c (c_cpp_builtins): Define
1721 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1722
1ea9269b 17232011-06-07 Jason Merrill <jason@redhat.com>
1724
8ce59854 1725 * c-common.c (max_tinst_depth): Lower default to 900.
1726
1ea9269b 1727 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1728
1af0124d 17292011-06-07 Richard Guenther <rguenther@suse.de>
1730
1731 * c-common.c (c_common_nodes_and_builtins): Do not set
1732 size_type_node or call set_sizetype.
1733
0e9a4c01 17342011-06-07 Dodji Seketeli <dodji@redhat.com>
1735
1736 PR debug/49130
1737 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 1738 type when using pointer comparison to compare types.
0e9a4c01 1739
90b40725 17402011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1741
1742 * c.opt: Add -Wdelete-non-virtual-dtor.
1743 * c-opts.c (c_common_handle_option): Include it in -Wall.
1744
fc9c9e87 17452011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
1746
1747 PR bootstrap/49190
1748
1749 Revert:
1750 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1751
1752 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1753 not tree_common.
1754
d0389adc 17552011-05-27 Jakub Jelinek <jakub@redhat.com>
1756
1757 PR c++/49165
1758 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1759 C++ don't call c_common_truthvalue_conversion on void type arms.
1760
cacfdc02 17612011-05-27 Nathan Froyd <froydnj@codesourcery.com>
1762
1763 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1764 (stmt_list_stack): Define.
1765 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1766 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1767
027fc6ef 17682011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1769
1770 * c-common.c (warning_candidate_p): Check for BLOCKs.
1771
f21317a1 17722011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1773
1774 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1775 not tree_common.
1776
789e953d 17772011-05-25 Jakub Jelinek <jakub@redhat.com>
1778
1779 * c-common.c (def_fn_type): Remove extra va_end.
1780
7f506bca 17812011-05-23 Jason Merrill <jason@redhat.com>
1782
1783 PR c++/48106
1784 * c-common.c (c_common_get_narrower): New.
1785 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1786
774e9d58 17872011-05-23 Nathan Froyd <froydnj@codesourcery.com>
1788
1789 * c-common.h (check_function_arguments): Tweak prototype of
1790 check_function_arguments.
1791 * c-common.c (check_function_arguments): Likewise. Adjust
1792 calls to check_function_nonnull, check_function_format, and
1793 check_function_sentinel.
1794 (check_function_sentinel): Take a FUNCTION_TYPE rather than
1795 separate attributes and typelist arguments. Use
1796 FOREACH_FUNCTION_ARGS to iterate over argument types.
1797
23407dc9 17982011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1799
1800 * c-common.c (c_common_reswords): Reorder.
1801 * c-common.h (rid): Likewise.
1802
3a939d12 18032011-05-10 Nathan Froyd <froydnj@codesourcery.com>
1804
1805 * c-common.c (def_fn_type): Don't call build_function_type, call
1806 build_function_type_array or build_varargs_function_type_array
1807 instead.
1808 (c_common_nodes_and_builtins): Likewise.
1809
b6e3dd65 18102011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1811
1812 * c-common.c (c_add_case_label): Omit the loc argument to
1813 build_case_label.
1814 * c-common.h (build_case_label): Remove.
1815 * c-semantics.c (build_case_label): Remove.
1816
4232a958 18172011-05-05 Joseph Myers <joseph@codesourcery.com>
1818
1819 * c-objc.h (objc_start_method_definition): Update prototype.
1820 * stub-objc.c (objc_start_method_definition): Add extra parameter.
1821
d0af78c5 18222011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1823
1824 * c-common.c (check_main_parameter_types): Reindent. Don't use
1825 TYPE_ARG_TYPES directly.
1826 (handle_nonnull_attribute): Likewise.
1827 (sync_resolve_params): Likewise.
1828 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
1829 to check_format_string.
1830 (handle_format_attribute): Likewise.
1831 (check_format_string): Take a function type to examine instead of
1832 a type list. Use a function_arg_iterator to step through argument
1833 types.
1834
ceb7b692 18352011-05-04 Richard Guenther <rguenther@suse.de>
1836
1837 * c-common.c (fix_string_type): Use size_int for index type bounds.
1838 (start_fname_decls): Do not pass NULL to build_int_cst.
1839 (c_init_attributes): Likewise.
1840 * c-lex.c (c_lex_with_flags): Likewise.
1841
c66c81be 18422011-04-27 Jason Merrill <jason@redhat.com>
1843
1844 * c-common.c (make_tree_vector_from_list): New.
1845 * c-common.h: Declare it.
1846
16930c72 18472011-04-26 Richard Guenther <rguenther@suse.de>
1848
1849 PR preprocessor/48248
1850 * c-ppoutput.c (maybe_print_line): Always optimize newlines
1851 for output size with -P.
1852
23407dc9 18532011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
1854
1855 * c-common.c (struct c_common_resword): Add __underlying_type.
1856 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1857
dd045aee 18582011-04-20 Jim Meyering <meyering@redhat.com>
1859
1860 * c-format.c (init_dollar_format_checking): Remove useless
1861 if-before-free.
1862
394dd737 18632011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
1864
1865 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 1866 (objc_detect_field_duplicates): New.
394dd737 1867 * stub-objc.c: Likewise.
23407dc9 1868
a758bf7d 18692011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1870
1871 * stub-objc.c (objc_declare_protocols): Renamed to
1872 objc_declare_protocol.
1873 * c-objc.h: Likewise.
23407dc9 1874
29d7200d 18752011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1876
1877 * stub-objc.c (objc_declare_class): Updated argument name.
1878
9b88d08d 18792011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1880
1881 * c-common.h (c_common_init_ts): Declare.
1882 * c-common.c (c_common_init_ts): Define.
1883
4185cf58 18842011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1885
1886 * c-objc.h (objc_build_message_expr): Updated prototype.
1887 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 1888
5a90471f 18892011-04-12 Martin Jambor <mjambor@suse.cz>
1890
1891 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1892 of cgraph_node.
1893
783bb57e 18942011-04-11 Richard Guenther <rguenther@suse.de>
1895
1896 * c-common.c (complete_array_type): Build a range type of
1897 proper type.
1898
c33080b9 18992011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1900
1901 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1902 (handle_type_generic_attribute): Likewise.
1903
f8913d47 19042011-04-07 Jason Merrill <jason@redhat.com>
1905
1906 PR c++/48450
1907 * c-common.c (c_common_truthvalue_conversion): Don't ignore
1908 conversion from C++0x scoped enum.
1909
c94b1d0e 19102011-04-06 Joseph Myers <joseph@codesourcery.com>
1911
1912 * c-target-def.h: New file.
1913 * c-target.def: New file.
1914 * c-target.h: New file.
1915 * c-common.c (targetcm): Don't define here.
1916 * c-common.h (default_handle_c_option): Declare.
1917 * c-format.c: Include c-target.h instead of target.h.
1918 * c-opts.c: Include c-target.h instead of target.h. Explicitly
1919 include tm.h.
1920 (default_handle_c_option): Move from targhooks.c.
1921
acb10f41 19222011-03-29 Jakub Jelinek <jakub@redhat.com>
1923
1924 PR preprocessor/48248
1925 * c-ppoutput.c (print): Add src_file field.
1926 (init_pp_output): Initialize it.
1927 (maybe_print_line): Don't optimize by adding up to 8 newlines
1928 if map->to_file and print.src_file are different file.
1929 (print_line): Update print.src_file.
1930
82715bcd 19312011-03-25 Kai Tietz <ktietz@redhat.com>
1932
1933 * c-ada-spec.c (compare_comment): Use filename_cmp
1934 instead of strcmp for filename.
1935
451c8e2f 19362011-03-25 Jeff Law <law@redhat.com>
1937
1938 * c-family/c-common.c (def_fn_type): Add missing va_end.
1939
3c47771c 19402011-03-25 Jason Merrill <jason@redhat.com>
1941
1942 * c.opt: Add -std=c++03.
1943
97e6200f 19442011-03-22 Eric Botcazou <ebotcazou@adacore.com>
1945
1946 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1947
ac86af5d 19482011-03-17 Kai Tietz
1949
1950 PR target/12171
ee212425 1951 * c-pretty-print.c (pp_c_specifier_qualifier_list):
1952 Display allowed attributes for function pointer types.
1953 (pp_c_attributes_display): New function to display
1954 attributes having affects_type_identity flag set to true.
1955 * c-pretty-print.h (pp_c_attributes_display): New prototype.
1956
ac86af5d 1957 * c-common.c (c_common_attribute_table):
1958 Add new element.
1959 (c_common_format_attribute_table): Likewise.
1960
914d1151 19612011-03-18 Jason Merrill <jason@redhat.com>
1962
69788bdf 1963 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1964 * c-common.h: Don't declare it here.
1965 * c-common.c: Or define it here.
1966 * c-opts.c (c_common_handle_option): Or set it here.
1967
914d1151 1968 PR c++/35315
1969 * c-common.c (handle_transparent_union_attribute): Don't
1970 make a duplicate type in C++.
1971
54cf6eed 19722011-03-15 Jason Merrill <jason@redhat.com>
1973
1974 * c-common.c (max_constexpr_depth): New.
1975 * c-common.h: Declare it.
1976 * c-opts.c (c_common_handle_option): Set it.
1977 * c.opt (fconstexpr-depth): New option.
1978
02cb1060 19792011-03-11 Jason Merrill <jason@redhat.com>
1980
9bf1c74e 1981 * c-common.c (attribute_takes_identifier_p): Add missing const.
1982
02cb1060 1983 PR c++/46803
1984 * c-common.c (attribute_takes_identifier_p): Assume that an
1985 unknown attribute takes an identifier.
1986
ecf2703d 19872011-03-07 Nathan Froyd <froydnj@codesourcery.com>
1988
1989 PR c/47786
1990 * c-common.c (c_type_hash): Call list_length instead of iterating
1991 through DECL_CHAIN. Rename 'i' to 'n_elements'.
1992
2b19dfe4 19932011-02-19 Jakub Jelinek <jakub@redhat.com>
1994
1995 PR c/47809
1996 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1997
29cf2335 19982011-02-17 Iain Sandoe <iains@gcc.gnu.org>
1999
2000 * c.opt (fobjc-abi-version=) New.
2001 (fobjc-nilcheck): New.
2002
fad3f658 20032011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2004
2005 PR c++/46890
2006 * c-common.h (keyword_is_decl_specifier): Declare.
2007 * c-common.c (keyword_is_decl_specifier): Define.
2008 (keyword_is_function_specifier): New function.
2009
a12319b3 20102011-01-26 Jakub Jelinek <jakub@redhat.com>
2011
2012 PR c/47473
2013 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2014 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2015 REAL_TYPE.
2016
5c128dc8 20172011-01-26 Arnaud Charlet <charlet@adacore.com>
2018
2019 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2020
8d67b0c7 20212011-01-26 Jakub Jelinek <jakub@redhat.com>
2022
2023 PR pch/47430
2024 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2025 after init_c_lex if pch_file is set.
2026
0675168d 20272011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2028
e8911163 2029 PR c++/43601
0675168d 2030 * c.opt (-fkeep-inline-dllexport): New switch.
2031
0725e25c 20322011-01-12 Richard Guenther <rguenther@suse.de>
2033
2034 PR middle-end/32511
2035 * c-common.c (handle_weak_attribute): Warn instead of error
2036 on declaring an inline function weak.
2037
fdd84b77 20382011-01-05 Tom Tromey <tromey@redhat.com>
2039
2040 * c-common.h (lvalue_error): Update.
2041 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
2042 not error.
2043
e6e73d14 20442010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 2045
d67e8485 2046 PR objc/47075
2047 * c-objc.h (objc_finish_message_expr): Added argument to
2048 prototype.
2049
a36cf284 20502010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2051
2052 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2053 Use prototype_p.
2054
33b3681f 20552010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
2056
2057 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 2058 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 2059
a1f90215 20602010-12-10 Nathan Froyd <froydnj@codesourcery.com>
2061
2062 * c-common.h (readonly_error): Declare.
2063 * c-common.c (readonly_error): Define.
2064
b1bbc8e5 20652010-12-09 Nathan Froyd <froydnj@codesourcery.com>
2066
2067 * c-common.h (invalid_indirection_error): Declare.
2068 * c-common.c (invalid_indirection_error): Define.
2069
b0d55af9 20702010-12-03 Richard Guenther <rguenther@suse.de>
2071
2072 PR c/46745
2073 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2074 (pp_c_unary_expression): Likewise.
2075 (pp_c_expression): Likewise.
2076
d7489d8d 20772010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2078
2079 * c-common.h (objc_finish_function): New.
2080 (objc_non_volatilized_type): Removed.
2081 (objc_type_quals_match): Removed.
2082 * stub-objc.c (objc_finish_function): New.
2083 (objc_non_volatilized_type): Removed.
2084 (objc_type_quals_match): Removed.
19931eea 2085
92468061 20862010-11-30 Joseph Myers <joseph@codesourcery.com>
2087
2088 * c-common.h (parse_optimize_options): Declare.
2089 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2090 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2091
967958e4 20922010-11-29 Joseph Myers <joseph@codesourcery.com>
2093
2094 * c-opts.c (check_deps_environment_vars): Use getenv instead of
2095 GET_ENVIRONMENT.
2096 * c-pch.c (O_BINARY): Don't define here.
2097 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2098
b213bf24 20992010-11-25 Joseph Myers <joseph@codesourcery.com>
2100
2101 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2102 targetm.except_unwind_info.
2103
9faf44d6 21042010-11-23 Joseph Myers <joseph@codesourcery.com>
2105
2106 * c-opts.c (c_common_handle_option): Pass location to
2107 set_struct_debug_option.
2108
79396169 21092010-11-23 Joseph Myers <joseph@codesourcery.com>
2110
2111 * c-common.c (visibility_options): Move from ../opts.c.
2112 * c-common.h (struct visibility_flags, visibility_options):
2113 Declare here.
2114 * c-opts.c (finish_options): Rename to c_finish_options.
2115 (c_common_init): Update call to finish_options.
2116
b4aa4123 21172010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
2118
2119 PR objc/34033
2120 * c-lex.c (lex_string): Check that each string in an Objective-C
2121 string concat sequence starts with either one or zero '@', and
2122 that there are no spurious '@' signs at the end.
2123
3e0e49f2 21242010-11-20 Joseph Myers <joseph@codesourcery.com>
2125
2126 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2127 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2128 HANDLE_PRAGMA_VISIBILITY.
2129 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2130 HANDLE_PRAGMA_VISIBILITY): Don't define.
2131 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2132
a9ffdd35 21332010-11-20 Nathan Froyd <froydnj@codesourcery.com>
2134
2135 PR c++/16189
2136 PR c++/36888
2137 PR c++/45331
2138 * c-common.h (keyword_begins_type_specifier): Declare.
2139 (keyword_is_storage_class_specifier): Declare.
2140 (keyword_is_type_qualifier): Declare.
2141 * c-common.c (keyword_begins_type_specifier): New function.
2142 (keyword_is_storage_class_specifier): New function.
2143 (keyword_is_type_qualifier): Declare.
2144
93be21c0 21452010-11-19 Joseph Myers <joseph@codesourcery.com>
2146
2147 PR c/46547
2148 * c-common.c (in_late_binary_op): Define.
2149 (c_common_truthvalue_conversion): Check in_late_binary_op before
2150 calling c_save_expr.
2151 * c-common.h (in_late_binary_op): Declare.
2152
d7175aef 21532010-11-19 Joseph Myers <joseph@codesourcery.com>
2154
2155 * c-opts.c (c_common_handle_option): Update calls to
2156 set_struct_debug_option.
2157
c213e196 21582010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
2159
2160 * c-common.h (objc_declare_protocols): Added additional argument.
2161 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 2162
0b5fc5d6 21632010-11-18 Nathan Froyd <froydnj@codesourcery.com>
2164
2165 PR c/33193
2166 * c-common.h (build_real_imag_expr): Declare.
2167 * c-semantics.c (build_real_imag_expr): Define.
2168
b8ba44e7 21692010-11-17 Joseph Myers <joseph@codesourcery.com>
2170
2171 * c-opts.c (c_common_parse_file): Take no arguments.
2172 * c-common.h (c_common_parse_file): Update prototype.
2173
6ef8d12f 21742010-11-16 Jakub Jelinek <jakub@redhat.com>
2175
2176 PR c++/46401
2177 * c-common.c (warning_candidate_p): Don't track non-const calls
2178 or STRING_CSTs.
2179
929d2a90 21802010-11-15 Ian Lance Taylor <iant@google.com>
2181
2182 * c-lex.c (init_c_lex): Set macro debug callbacks if
2183 flag_dump_go_spec is set.
2184
e4a7640a 21852010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
2186
2187 * c-common.h (objc_build_incr_expr_for_property_ref): New.
2188 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2189
597d2d81 21902010-11-15 Nathan Froyd <froydnj@codesourcery.com>
2191
2192 PR preprocessor/45038
2193 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2194 dialects.
2195
c123f04d 21962010-11-12 Joseph Myers <joseph@codesourcery.com>
2197
2198 * c-common.h (c_family_lang_mask): Declare.
2199 * c-opts.c (c_family_lang_mask): Make extern.
2200 * c-pragma.c (handle_pragma_diagnostic): Use
2201 control_warning_option.
2202
3c6c0e40 22032010-11-12 Joseph Myers <joseph@codesourcery.com>
2204
2205 * c-common.c (parse_optimize_options): Update call to
2206 decode_options.
2207 * c-common.h (c_common_handle_option): Update prototype.
2208 * c-opts.c (c_common_handle_option): Take location_t parameter and
2209 pass it to other functions.
2210
19ec5c9e 22112010-11-11 Joseph Myers <joseph@codesourcery.com>
2212
2213 * c-opts.c (warning_as_error_callback): Remove.
2214 (c_common_initialize_diagnostics): Don't call
2215 register_warning_as_error_callback.
2216 (c_common_handle_option): Handle -Werror=normalized= here.
2217
bf776685 22182010-11-10 Joseph Myers <joseph@codesourcery.com>
2219
2220 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2221 in diagnostic.
2222 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2223 letter.
2224 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2225 Remove trailing '.' from diagnostics.
2226 * c.opt (Wwrite-strings_: Avoid '`' in help text.
2227
6bd9d862 22282010-11-10 Joseph Myers <joseph@codesourcery.com>
2229
2230 * c-common.c (parse_optimize_options): Pass global_dc to
2231 decode_options.
2232 * c-opts.c (c_common_handle_option): Pass &global_options to
2233 set_Wstrict_aliasing.
2234 * c.opt (v): Don't mark Common or document here.
2235
1f6616ee 22362010-11-06 Iain Sandoe <iains@gcc.gnu.org>
2237
2238 PR target/44981
2239 * c-format.c (format_type): New type gcc_objc_string_format_type.
2240 (valid_stringptr_type_p): New.
2241 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 2242 (check_format_string): Pass expected type, use
1f6616ee 2243 valid_stringptr_type_p (), check that the format string types are
2244 consistent with the format specification.
2245 (decode_format_attr): Warn if NSString is used outside objective-c.
2246 (format_types_orig): Add NSString.
2247 (format_name): New.
2248 (format_flags): New.
2249 (check_format_arg): Handle format strings requiring an external parser.
2250 first_target_format_type: New variable.
2251 (handle_format_attribute): Set up first_target_format_type, pass the
2252 expected format arg string type to check_format_string().
2253 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
2254 * stub-objc.c (objc_string_ref_type_p): New.
2255 (objc_check_format_arg): New.
2256
b0d0931f 22572010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
2258
19931eea 2259 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 2260 * c-common.h (objc_build_class_component_ref): New.
2261 * stub-objc.c (objc_build_class_component_ref): New.
2262
f26877d5 22632010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2264
2265 * c.opt (Wproperty-assign-default): New option.
2266
1ef143b6 22672010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2268
2269 Implemented -fobjc-std=objc1 flag.
2270 * c.opt (fobjc-std=objc1): New option.
2271
8c582e4f 22722010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
2273
2274 Implemented format and noreturn attributes for Objective-C methods.
2275 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2276 attribute for Objective-C methods.
2277
8637f1db 22782010-10-31 Jason Merrill <jason@redhat.com>
2279
2280 * c-common.c (conversion_warning, warn_for_collisions_1): Use
2281 EXPR_LOC_OR_HERE.
2282
9d9f5bb3 22832010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
2284
2285 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2286 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2287 (objc_add_property_declaration): Removed arguments for copies and
2288 ivar.
2289 (objc_build_getter_call): Renamed to
2290 objc_maybe_build_component_ref.
2291 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2292 (objc_is_property_ref): New.
2293 * c-common.c (c_common_reswords): Removed copies and ivar.
2294 * stub-objc.c (objc_add_property_declaration): Removed arguments
2295 for copies and ivar.
2296 (objc_build_getter_call): Renamed to
2297 objc_maybe_build_component_ref.
2298 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2299 (objc_is_property_ref): New.
19931eea 2300
56f907a0 23012010-10-29 Arnaud Charlet <charlet@adacore.com>
2302 Matthew Gingell <gingell@adacore.com>
2303
2304 * c-ada-spec.c (separate_class_package): New function.
2305 (pp_ada_tree_identifier): Prefix references to C++ classes with the
2306 name of their enclosing package.
2307 (print_ada_declaration): Use separate_class_package.
2308
b5fa273e 23092010-10-27 Jason Merrill <jason@redhat.com>
2310
5290e253 2311 * c-common.c (c_common_reswords): Add __is_literal_type.
2312 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2313
b5fa273e 2314 * c-common.c (check_case_value): Remove special C++ code.
2315
7590f0e5 23162010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2317
2318 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2319 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
2320 and RID_LAST_PATTR.
2321 (objc_add_property_declaration): Added additional arguments.
2322 (objc_property_attribute_kind): Removed.
2323 (objc_set_property_attr): Removed.
2324 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2325 copy and nonatomic.
2326 * stub-objc.c (objc_add_property_declaration): Added additional
2327 arguments.
2328 (objc_set_property_attr): Removed.
19931eea 2329
1d894bcf 23302010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2331
2332 * c-common.h (objc_add_property_variable): Renamed to
2333 objc_add_property_declaration. Added location argument.
2334 * stub-objc.c (objc_add_property_variable): Same change.
2335
e23bf1fb 23362010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
2337
2338 * c-common.h (objc_maybe_printable_name): New.
2339 * stub-objc.c (objc_maybe_printable_name): New.
2340
93426222 23412010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2342 Andrew Pinski <pinskia@gmail.com>
2343
2344 * c-common.h (c_common_mark_addressable_vec): Declare.
2345 * c-common.c (c_common_mark_addressable_vec): New function.
2346
45b2b110 23472010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2348
2349 * c-common.h (objc_set_method_type): Removed.
2350 (objc_add_method_declaration): Added boolean argument.
2351 (objc_start_method_definition): Same change.
2352 (objc_build_method_signature): Same change.
2353 * stub-objc.c (objc_set_method_type): Removed.
2354 (objc_add_method_declaration): Added boolean argument.
2355 (objc_start_method_definition): Same change.
2356 (objc_build_method_signature): Same change.
2357
64cd9619 23582010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2359
2360 * c-common.h (finish_file): Removed.
2361 (objc_write_global_declarations): New.
2362 * c-opts.c (c_common_parse_file): Do not call finish_file.
2363 * stub-objc.c (objc_write_global_declarations): New.
19931eea 2364
e1f293c0 23652010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2366
2367 Implemented parsing @synthesize and @dynamic for
2368 Objective-C/Objective-C++.
2369 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2370 (objc_add_synthesize_declaration): New.
2371 (objc_add_dynamic_declaration): New.
2372 * c-common.c (c_common_reswords): Add synthesize and dynamic.
2373 * stub-objc.c (objc_add_synthesize_declaration): New.
2374 (objc_add_dynamic_declaration): New.
19931eea 2375
ef97a312 23762010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
2377
2378 PR target/46041
2379 * c-cppbuiltin.c (mode_has_fma): Move function here from
2380 builtins.c. Don't use the fma optab, instead just use the
2381 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2382 using -save-temps.
2383
69b07042 23842010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2385
2386 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 2387
69b07042 2388 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
2389
19931eea 2390 Radar 4330422
69b07042 2391 * c-common.h (objc_non_volatilized_type): New declaration
2392 * stub-objc.c (objc_non_volatilized_type): New stub.
2393
f15f2e56 23942010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
2395
69b07042 2396 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 2397
2398 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2399
19931eea 2400 Radar 4133425
f15f2e56 2401 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 2402 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 2403
4a8875ed 24042010-10-17 Iain Sandoe <iains@gcc.gnu.org>
2405
2406 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2407 * c-common.h (enum rid): Add RID_AT_PACKAGE.
2408 (objc_ivar_visibility_kind): New enum.
2409 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 2410 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 2411 visibility enum.
2412
7e0713b1 24132010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2414
2415 * c-cppbuiltin.c (builtin_define_float_constants): Emit
2416 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2417 has the appropriate fma builtins.
2418 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2419
86c110ac 24202010-10-14 Iain Sandoe <iains@gcc.gnu.org>
2421
7e0713b1 2422 merge from FSF apple 'trunk' branch.
86c110ac 2423 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 2424
86c110ac 2425 Radars 4436866, 4505126, 4506903, 4517826
2426 * c-common.c (c_common_resword): Define @property and its attributes.
2427 * c-common.h: Define property attribute enum entries.
2428 (OBJC_IS_PATTR_KEYWORD): New.
2429 (objc_property_attribute_kind): New enum.
2430 Declare objc_set_property_attr (), objc_add_property_variable (),
2431 objc_build_getter_call () and objc_build_setter_call ().
2432 * stub-objc.c (objc_set_property_attr): New stub.
2433 (objc_add_property_variable): Likewise.
2434 (objc_build_getter_call): Likewise.
2435 (objc_build_setter_call) Likewise.
7e0713b1 2436
40c8d1dd 24372010-10-13 Iain Sandoe <iains@gcc.gnu.org>
2438
7e0713b1 2439 merge from FSF apple 'trunk' branch.
40c8d1dd 2440 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2441
2442 Radar 3803157 (method attributes)
2443 * c-common.c (handle_deprecated_attribute): Recognize
2444 objc methods as valid declarations.
2445 * c-common.h: Declare objc_method_decl ().
7e0713b1 2446 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 2447
f3f006ad 24482010-10-08 Joseph Myers <joseph@codesourcery.com>
2449
2450 * c-common.c (parse_optimize_options): Call
2451 decode_cmdline_options_to_array_default_mask before
2452 decode_options. Update arguments to decode_options.
2453 * c-common.h (c_common_init_options_struct): Declare.
2454 * c-opts.c (c_common_init_options_struct): New. Split out from
2455 c_common_init_options.
2456
0a65c3bb 24572010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
2458
2459 Implemented fast enumeration for Objective-C.
2460 * c-common.h (objc_finish_foreach_loop): New.
2461 * stub-objc.c (objc_finish_foreach_loop): New.
2462
24ca3b4e 24632010-10-05 Joseph Myers <joseph@codesourcery.com>
2464
2465 * c-common.h (struct diagnostic_context): Don't declare here.
2466 (c_common_initialize_diagnostics): Declare using
2467 diagnostic_context typedef.
2468 * c-opts.c (c_common_handle_option): Pass global_dc to
2469 handle_generated_option.
2470
f83b64ca 24712010-10-04 Joseph Myers <joseph@codesourcery.com>
2472
2473 * c-opts.c (c_common_handle_option): Pass &global_options_set to
2474 handle_generated_option.
2475
2fdec027 24762010-10-03 Ian Lance Taylor <iant@google.com>
2477
2478 * c.opt (-fplan9-extensions): New option.
2479
41acdfa4 24802010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2481
2482 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2483 Remove.
2484 (c_cpp_builtins): Call functions from cppbuiltin.c instead
2485 of duplicating code.
2486
069761fb 24872010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2488
2489 * c-common.c: Add two new entries for @optional
2490 and @required keywords.
2491
2492 merge from FSF 'apple/trunk' branch.
2493 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
2494
2495 Radar 4386773
2496 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2497 objective-c keywords.
2498 (objc_set_method_opt): New declaration.
2499 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 2500
2c5d2e39 25012010-09-30 Joseph Myers <joseph@codesourcery.com>
2502
2503 * c-common.c (handle_optimize_attribute): Pass &global_options to
2504 cl_optimization_save and cl_optimization_restore.
2505 * c-opts.c (c_common_handle_option): Pass &global_options to
2506 handle_generated_option.
2507 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2508 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2509 &global_options to cl_optimization_restore.
2510
e5c75ac3 25112010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
2512
2513 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2514 Objective-C/Objective-C++ keywords.
2515
3511333e 25162010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 2517
19931eea 2518 Merge from 'apple/trunk' branch on FSF servers.
2519
e147d6aa 2520 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
2521
2522 Radar 4281748
2523 * c-common.h (objc_check_global_decl): New declaration.
2524 * stub-objc.c (objc_check_global_decl): New stub.
2525
5461e683 25262010-09-29 Joseph Myers <joseph@codesourcery.com>
2527
2528 * c.opt: Don't use VarExists.
2529
5ae82d58 25302010-09-29 Joseph Myers <joseph@codesourcery.com>
2531
2532 * c-common.c (c_cpp_error): Update names of diagnostic_context
2533 members.
2534 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2535 cl_optimization members.
2536 * c-opts.c (warning_as_error_callback, c_common_handle_option,
2537 sanitize_cpp_opts, finish_options): Update names of cpp_options
2538 members.
2539
b27e241e 25402010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2541
2542 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
2543 (objc_is_reserved_word): Removed.
2544 * c-common.c: Updated comments.
2545 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2546 objc_is_reserved_word.
2547 * stub-objc.c (objc_is_reserved_word): Removed.
2548
03fc2271 25492010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2550
19931eea 2551 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 2552 include attributes.
2553 (objc_start_method_definition): Likewise.
2554 (objc_build_keyword_decl): Likewise.
2555 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2556 (objc_start_method_definition): Likewise.
2557 (objc_build_keyword_decl): Likewise.
2558
a336eb4b 25592010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2560
2561 * c-common.h (objc_start_class_interface): Adjust prototype.
2562 (objc_start_category_interface): Likewise.
2563 (objc_start_protocol): Likewise.
2564 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2565 (objc_start_class_interface): Likewise.
2566 (objc_start_category_interface): Likewise.
2567
48b14f50 25682010-09-27 Ian Lance Taylor <iant@google.com>
2569
2570 * c-common.c (c_common_attribute_table): Add no_split_stack.
2571 (handle_no_split_stack_attribute): New static function.
2572
4abfc532 25732010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
2574
19931eea 2575 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 2576
2577 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
2578
19931eea 2579 Radar 4229905
4abfc532 2580 * c-common.h (objc_have_common_type): New declaration.
2581 * stub-objc.c (objc_have_common_type): New stub.
2582
2583 2005-06-22 Ziemowit Laski <zlaski@apple.com>
2584
2585 Radar 4154928
2586 * c-common.h (objc_common_type): New prototype.
19931eea 2587 * stub-objc.c (objc_common_type): New stub.
4abfc532 2588
7bd95dfd 25892010-09-24 Jan Hubicka <jh@suse.cz>
2590
2591 * c-common.c (handle_leaf_attribute): New function.
2592 (struct attribute_spec c_common_att): Add leaf.
2593
5789e05b 25942010-09-22 Joseph Myers <joseph@codesourcery.com>
2595
2596 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2597 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2598 -dump, -dump=, -imacros, -imacros=, -include, -include=,
2599 -include-barrier, -include-directory, -include-directory=,
2600 -include-directory-after, -include-directory-after=,
2601 -include-prefix, -include-prefix=, -include-with-prefix,
2602 -include-with-prefix=, -include-with-prefix-after,
2603 -include-with-prefix-after=, -include-with-prefix-before,
2604 -include-with-prefix-before=, -no-integrated-cpp,
2605 -no-line-commands, -no-standard-includes, -no-warnings, -output,
2606 -output=, -pedantic, -pedantic-errors, -preprocess,
2607 -print-missing-file-dependencies, -trace-includes, -traditional,
2608 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2609 -user-dependencies, -verbose, -write-dependencies,
2610 -write-user-dependencies, no-integrated-cpp, traditional): New.
2611
e6fb54ba 26122010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2613
2614 PR objc/23710
9b60f3b0 2615 * c-common.h (objc_start_method_definition): Return bool instead
2616 of void.
2617 * stub-objc.c (objc_start_method_definition): Return bool instead
2618 of void.
2619
26202010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2621
2622 PR objc/25965
2623 * c-common.h (objc_get_interface_ivars): New declaration.
2624 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 2625
e44b0a1f 26262010-09-15 Ian Lance Taylor <iant@google.com>
2627
2628 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 2629 messages. Remove period at end of warning message.
e44b0a1f 2630
85c0a25c 26312010-09-09 Nathan Sidwell <nathan@codesourcery.com>
2632
2633 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2634 (handle_alias_attribute): ... here.
2635 (handle_ifunc_attribute): New.
2636
5ba33bf4 26372010-09-06 Mark Mitchell <mark@codesourcery.com>
2638
2639 * c-common.h (do_warn_double_promotion): Declare.
2640 * c-common.c (do_warn_double_promotion): Define.
2641
c920faa3 26422010-09-05 Mark Mitchell <mark@codesourcery.com>
2643
2644 * c.opt (Wdouble-promotion): New.
2645
9604e070 26462010-09-02 Joseph Myers <joseph@codesourcery.com>
2647
2648 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2649 fvtable-thunks, fxref): Mark no longer supported in help text.
2650
3b0273a1 26512010-09-02 Joseph Myers <joseph@codesourcery.com>
2652
2653 * c.opt (Wimport, fall-virtual, falt-external-templates,
2654 fdefault-inline, fenum-int-equiv, fexternal-templates,
2655 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2656 fname-mangling-version-, fnew-abi, fnonnull-objects,
2657 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2658 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2659 applicable.
2660 (fhandle-exceptions): Mark with Alias and Warn.
2661 * c-opts.c (c_common_handle_option): Don't handle options marked
2662 as ignored.
2663
67089c6b 26642010-09-02 Joseph Myers <joseph@codesourcery.com>
2665
2666 * c.opt (Wcomments, Werror-implicit-function-declaration,
2667 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2668 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2669 aliases.
2670 * c-common.c (option_codes): Use OPT_Wcomment instead of
2671 OPT_Wcomments.
2672 * c-opts.c (warning_as_error_callback, c_common_handle_option):
2673 Don't handle options marked as aliases.
2674
2af087f2 26752010-08-25 Richard Guenther <rguenther@suse.de>
2676
2677 * c-common.c (c_common_get_alias_set): Remove special
2678 handling for pointers.
2679
48148244 26802010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2681
2682 * c-common.c: Use FOR_EACH_VEC_ELT.
2683 * c-gimplify.c: Likewise.
2684 * c-pragma.c: Likewise.
2685
89c69892 26862010-08-16 Joseph Myers <joseph@codesourcery.com>
2687
2688 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
2689 RejectDriver.
2690 (MMDX): Change back to MMD. Mark NoDriverArg instead of
2691 RejectDriver.
2692 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2693 instead of OPT_MDX and OPT_MMDX.
2694
e28aa114 26952010-08-16 Joseph Myers <joseph@codesourcery.com>
2696
2697 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2698
99b66d21 26992010-08-12 Joseph Myers <joseph@codesourcery.com>
2700
2701 * c.opt (MD, MMD): Change to MDX and MMDX.
2702 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2703
666f4bf0 27042010-08-11 Joseph Myers <joseph@codesourcery.com>
2705
2706 * c-opts.c (c_common_handle_option): Call handle_generated_option
2707 instead of handle_option.
2708
5ec815f6 27092010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2710
2711 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2712 (maybe_apply_renaming_pragma): Delete unneeded declarations.
2713
d13143cf 27142010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2715
2716 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
2717 (pending_redefine_extname): Change type to a VEC.
2718 (add_to_renaming_pragma_list): Update for new type of
2719 pending_redefine_extname.
5ec815f6 2720 (maybe_apply_renaming_pragma): Likewise.
d13143cf 2721
2008c983 27222010-08-04 Arnaud Charlet <charlet@adacore.com>
2723
2724 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2725 visited.
2726 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2727 decide whether a type has already been declared/seen.
2728 Do not go to the original type.
2729 (dump_nested_types): New parameter forward.
2730 Generate forward declaration if needed and mark type as visited.
2731 (print_ada_declaration): Call dump_nested_types if not already done.
2732 Mark types as visited.
2733
9b091a73 27342010-08-03 Joseph Myers <joseph@codesourcery.com>
2735
2736 * c.opt (-print-pch-checksum): Remove option.
2737 * c-opts.c (c_common_handle_option): Don't handle
2738 OPT_print_pch_checksum.
2739
b78351e5 27402010-07-27 Joseph Myers <joseph@codesourcery.com>
2741
2742 * c-common.h (c_common_handle_option): Update prototype and return
2743 value type.
2744 * c-opts.c (c_common_handle_option): Update prototype and return
2745 value type. Update calls to handle_option and
2746 enable_warning_as_error.
2747
34416a90 27482010-07-27 Jakub Jelinek <jakub@redhat.com>
2749
2750 PR c/45079
2751 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2752
fecf9011 27532010-07-27 Joseph Myers <joseph@codesourcery.com>
2754
2755 * c-common.h (c_common_missing_argument): Remove.
2756 * c-opts.c (c_common_missing_argument): Remove.
2757 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2758 idirafter, imacros, include, isysroot, isystem, iquote): Add
2759 MissingArgError.
2760 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2761
e88d34f6 27622010-07-27 Joseph Myers <joseph@codesourcery.com>
2763
2764 * c-common.h (c_common_option_lang_mask,
2765 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2766 New.
2767 (c_common_init_options): Update prototype.
2768 * c-opts.c (c_common_option_lang_mask): New.
2769 (c_common_initialize_diagnostics): Split out of
2770 c_common_init_options.
2771 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2772 New.
2773 (c_common_init_options): Update prototype. Use decoded options in
2774 search for -lang-asm.
2775
1767a056 27762010-07-15 Nathan Froyd <froydnj@codesourcery.com>
2777
2778 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2779 * c-format.c: Likewise.
2780
0b205f4c 27812010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2782
2783 * c-common.h: Include diagnostic-core.h. Error if already
2784 included.
2785 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2786
1c58e3f1 27872010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2788
2789 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2790 Do not include expr.h
2791 (vector_mode_valid_p): Move here.
2792
33cc157c 27932010-06-21 DJ Delorie <dj@redhat.com>
2794
2795 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2796 allow these pragmas anywhere.
2797
27982010-06-14 Jakub Jelinek <jakub@redhat.com>
2799
2800 PR bootstrap/44509
2801 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2802 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2803 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2804 ggc_strdup instead of xstrdup.
2805
28062010-06-10 Jakub Jelinek <jakub@redhat.com>
2807
2808 * c-cppbuiltin.c: Include cpp-id-data.h.
2809 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2810 (lazy_hex_fp_value): New function.
2811 (builtin_define_with_hex_fp_value): Provide definitions lazily.
2812
9b40bfbf 28132010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2814
2815 * c-gimplify.c: Do not include tree-flow.h
2816
202d6e5f 28172010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
2818
2819 PR other/44034
2820 * c-common.c: Rename targetm member:
2821 targetm.enum_va_list -> targetm.enum_va_list_p
2822
d3237426 28232010-06-28 Anatoly Sokolov <aesok@post.ru>
2824
2825 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2826
596981c8 28272010-06-28 Steven Bosscher <steven@gcc.gnu.org>
2828
2829 * c-cppbuiltin.c: Do not include except.h.
2830
b9bdfa0b 28312010-06-24 Andi Kleen <ak@linux.intel.com>
2832
19931eea 2833 * c-common.c (warn_for_omitted_condop): New.
2834 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 2835
55ad092d 28362010-06-21 Joseph Myers <joseph@codesourcery.com>
2837
2838 * c.opt (lang-objc): Remove.
2839 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2840
9e7c2572 28412010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
2842
2843 * c-opts.c: Include "tm_p.h".
2844
615ef0bb 28452010-06-20 Joseph Myers <joseph@codesourcery.com>
2846
2847 * c-common.c (parse_optimize_options): Update call to
2848 decode_options.
2849
aef48c9a 28502010-06-18 Nathan Froyd <froydnj@codesourcery.com>
2851
2852 * c-common.c (record_types_used_by_current_var_decl): Adjust for
2853 new type of types_used_by_cur_var_decl.
2854
d74003b4 28552010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
2856
2857 PR bootstrap/44512
2858 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2859 for C++ standard compliance.
2860
1194d077 28612010-06-16 Jason Merrill <jason@redhat.com>
2862
2863 * c.opt: Add -Wnoexcept.
2864
d473d901 28652010-06-16 Richard Guenther <rguenther@suse.de>
2866
2867 PR c/44555
2868 * c-common.c (c_common_truthvalue_conversion): Remove
2869 premature and wrong optimization concering ADDR_EXPRs.
2870
b62dbfd3 28712010-06-15 Arnaud Charlet <charlet@adacore.com>
2872
2873 * c-ada-spec.c (dump_sloc): Remove column info.
2874 (is_simple_enum): New function.
2875 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2876 enum types when relevant.
2877
200dd99c 28782010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2879
19931eea 2880 * c-common.c (conversion_warning): Warn at expression
200dd99c 2881 location.
2882
abf6a617 28832010-06-10 Joseph Myers <joseph@codesourcery.com>
2884
2885 * c-opts.c (c_common_handle_option): Don't handle
2886 OPT_fshow_column.
2887
ba72912a 28882010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2889
2890 * c-pragma.c (push_alignment): Use typed GC allocation.
2891 (handle_pragma_push_options): Likewise.
2892
2893 * c-common.c (parse_optimize_options): Likewise.
2894
2895 * c-common.h (struct sorted_fields_type): Add variable_size GTY
2896 option.
2897
4aafe913 28982010-06-07 Joseph Myers <joseph@codesourcery.com>
2899
2900 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2901 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2902 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2903 flag_signed_bitfields, warn_strict_null_sentinel,
2904 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2905 flag_gen_declaration, flag_no_gnu_keywords,
2906 flag_implement_inlines, flag_implicit_templates,
2907 flag_implicit_inline_templates, flag_optional_diags,
2908 flag_elide_constructors, flag_default_inline, flag_rtti,
2909 flag_conserve_space, flag_access_control, flag_check_new,
2910 flag_new_for_scope, flag_weak, flag_working_directory,
2911 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2912 flag_enforce_eh_specs, flag_threadsafe_statics,
2913 flag_pretty_templates): Remove.
2914 * c-common.h (flag_preprocess_only, flag_nil_receivers,
2915 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2916 flag_replace_objc_classes, flag_undef, flag_no_builtin,
2917 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2918 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2919 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2920 flag_no_gnu_keywords, flag_implement_inlines,
2921 flag_implicit_templates, flag_implicit_inline_templates,
2922 flag_optional_diags, flag_elide_constructors, flag_default_inline,
2923 flag_rtti, flag_conserve_space, flag_access_control,
2924 flag_check_new, flag_new_for_scope, flag_weak,
2925 flag_working_directory, flag_use_cxa_atexit,
2926 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2927 flag_threadsafe_statics, flag_pretty_templates,
2928 warn_strict_null_sentinel): Remove.
2929 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2930 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2931 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2932 fimplicit-inline-templates, fimplicit-templates,
2933 flax-vector-conversions, fms-extensions, fnil-receivers,
2934 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2935 frtti, fshort-double, fshort-enums, fshort-wchar,
2936 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2937 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2938 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2939 gen-decls, undef): Use Var.
2940 (fdefault-inline, foptional-diags): Document as doing nothing.
2941 * c-opts.c (c_common_handle_option): Remove cases for options now
2942 using Var. Mark ignored options as such.
2943
7bedc3a0 29442010-06-05 Steven Bosscher <steven@gcc.gnu.org>
2945
19931eea 2946 * c-common.c: Moved to here from parent directory.
7bedc3a0 2947 * c-common.def: Likewise.
2948 * c-common.h: Likewise.
2949 * c-cppbuiltin.c: Likewise.
2950 * c-dump.c: Likewise.
2951 * c-format.c: Likewise.
2952 * c-format.h : Likewise.
2953 * c-gimplify.c: Likewise.
2954 * c-lex.c: Likewise.
2955 * c-omp.c: Likewise.
2956 * c.opt: Likewise.
2957 * c-opts.c: Likewise.
2958 * c-pch.c: Likewise.
2959 * c-ppoutput.c: Likewise.
2960 * c-pragma.c: Likewise.
2961 * c-pragma.h: Likewise.
2962 * c-pretty-print.c: Likewise.
2963 * c-pretty-print.h: Likewise.
2964 * c-semantics.c: Likewise.
2965 * stub-objc.c: Likewise.
2966
2967 * c-common.c: Include gt-c-family-c-common.h.
2968 * c-pragma.c: Include gt-c-family-c-pragma.h.
2969\f
711789cc 2970Copyright (C) 2010-2013 Free Software Foundation, Inc.
7bedc3a0 2971
2972Copying and distribution of this file, with or without modification,
2973are permitted in any medium without royalty provided the copyright
2974notice and this notice are preserved.