1 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
3 * c-cilkplus.c: New file.
4 * c-common.c (readonly_error): Add location argument.
5 * c-common.h (readonly_error): Same.
6 (c_finish_cilk_clauses): Protoize.
7 (c_check_cilk_loop): Same.
8 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
9 Do not fail on error_mark_node.
10 Abstract increment canonicalization to here...
11 (c_omp_for_incr_canonicalize_ptr): New.
12 c-pragma.c (init_pragma): Register "simd" pragma.
13 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
14 (enum pragma_cilk_clause): New.
16 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
18 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
19 wchar_type and host_integerp checks.
21 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
23 * c-common.c: Likewise.
24 * c-gimplify.c: Likewise.
27 2013-11-13 Joseph Myers <joseph@codesourcery.com>
29 * c-common.h (enum rid): Add RID_AUTO_TYPE.
30 * c-common.c (c_common_reswords): Add __auto_type.
31 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
33 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
35 * c-common.c: Include gimplify.h.
36 * c-gimplify.c: Likewise.
38 * c-omp.c: Include gimple-expr.h instead of gimple.h.
39 * c-ubsan.c: Don't include gimple.h.
41 2013-11-12 Joseph Myers <joseph@codesourcery.com>
43 * c-common.c (c_common_reswords): Add _Thread_local.
45 2013-11-09 Joseph Myers <joseph@codesourcery.com>
47 * c-common.c (atomic_size_supported_p): New function.
48 (resolve_overloaded_atomic_exchange)
49 (resolve_overloaded_atomic_compare_exchange)
50 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
51 Use it instead of comparing size with a local list of sizes.
53 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
54 Joseph Myers <joseph@codesourcery.com>
56 * c-common.h (enum rid): Add RID_ATOMIC.
57 * c-common.c (c_common_reswords): Add _Atomic.
58 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
59 (keyword_is_type_qualifier): Accept RID_ATOMIC.
60 * c-format.c (check_format_types): Check for extra _Atomic
61 qualifiers in format argument.
62 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
63 (pp_c_type_qualifier_list): Mention _Atomic in comment.
65 2013-11-06 Tobias Burnus <burnus@net-b.de>
67 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
69 2013-11-06 Joseph Myers <joseph@codesourcery.com>
71 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
73 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
74 to mean lack of IEEE 754 support.
76 2013-11-05 Tobias Burnus <burnus@net-b.de>
78 * c.opt (-Wdate-time): New option
79 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
81 2013-11-05 Joseph Myers <joseph@codesourcery.com>
83 * c-cppbuiltin.c (cpp_iec_559_value): Test
84 flag_excess_precision_cmdline not flag_excess_precision.
86 2013-11-05 Tobias Burnus <burnus@net-b.de>
88 * c.opt (fopenmp-simd): New option.
89 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
90 (omp_pragmas): ... this new struct.
91 (c_pp_lookup_pragma): Also walk omp_pragmas.
92 (init_pragma): Init pragmas for -fopenmp-simd.
94 2013-11-04 Marek Polacek <polacek@redhat.com>
97 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
99 2013-11-04 Joseph Myers <joseph@codesourcery.com>
101 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
103 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
105 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
107 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
108 (dump_ada_specs): Adjust prototype of second callback.
109 * c-ada-spec.c (cpp_check): New global variable.
110 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
111 (print_generic_ada_decl): Likewise.
112 (has_static_fields): Change return type to bool and add guard.
113 (has_nontrivial_methods): New predicate.
114 (is_tagged_type): Change return type to bool.
115 (separate_class_package): Call has_nontrivial_methods.
116 (pp_ada_tree_identifier): Minor tweaks.
117 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
118 (dump_ada_array_domains): Likewise.
119 (dump_ada_array_type): Likewise.
120 (dump_template_types): Remove cpp_check parameter and do not pass it to
121 dump_generic_ada_node.
122 (dump_ada_template): Likewise.
123 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
125 (print_ada_methods): Change return type to integer. Remove cpp_check
126 parameter and do not pass it down.
127 (dump_nested_types): Remove cpp_check parameter and do not pass it to
128 dump_generic_ada_node.
129 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
131 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
132 down. Use has_nontrivial_methods to recognize C++ classes. Use return
133 value of print_ada_methods.
134 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
135 Set cpp_check to it before invoking dump_ada_nodes.
136 (dump_ada_specs): Likewise.
138 2013-11-03 Marek Polacek <polacek@redhat.com>
140 * c-ubsan.c: Don't include hash-table.h.
141 (ubsan_instrument_vla): New function.
142 * c-ubsan.h: Declare it.
144 2013-10-31 David Malcolm <dmalcolm@redhat.com>
146 Automated part of renaming of symtab_node_base to symtab_node.
148 Patch autogenerated by rename_symtab.py from
149 https://github.com/davidmalcolm/gcc-refactoring-scripts
150 revision 58bb219cc090b2f4516a9297d868c245495ee622
152 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
153 symtab_node_base to symtab_node.
155 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
157 Implement C++14 digit separators.
158 * c-lex.c (interpret_float): Remove digit separators from scratch string
159 before building real literal.
161 2013-10-30 Jakub Jelinek <jakub@redhat.com>
163 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
165 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
167 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
169 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
171 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
172 (insert_cilk_frame): New prototype.
173 (cilk_init_builtins): Likewise.
174 (gimplify_cilk_spawn): Likewise.
175 (c_cilk_install_body_w_frame_cleanup): Likewise.
176 (cilk_detect_spawn_and_unwrap): Likewise.
177 (cilk_set_spawn_marker): Likewise.
178 (build_cilk_sync): Likewise.
179 (build_cilk_spawn): Likewise.
182 2013-10-29 David Malcolm <dmalcolm@redhat.com>
184 Patch autogenerated by refactor_symtab.py from
185 https://github.com/davidmalcolm/gcc-refactoring-scripts
186 revision 58bb219cc090b2f4516a9297d868c245495ee622
188 * c-gimplify.c (c_genericize): Update for conversion of symtab types
189 to a true class hierarchy.
190 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
192 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
194 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
196 2013-10-26 Jeff Law <law@redhat.com>
198 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
199 * c-family/c.opt: Ignore and warn for mudflap options.
201 2013-10-24 Tobias Burnus <burnus@net-b.de>
204 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
205 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
207 2013-10-23 Jason Merrill <jason@redhat.com>
209 * c-format.c (gcc_cxxdiag_char_table): Add %X.
211 2013-10-11 Jakub Jelinek <jakub@redhat.com>
213 * c-common.h (omp_clause_mask::operator !=): New method.
214 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
215 instead of if (mask & something) tests everywhere.
217 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
218 201307 instead of 201107.
219 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
220 (c_common_attribute_table): Add "omp declare target" and
221 "omp declare simd" attributes.
222 (handle_omp_declare_target_attribute,
223 handle_omp_declare_simd_attribute): New functions.
224 * c-omp.c: Include c-pragma.h.
225 (c_finish_omp_taskgroup): New function.
226 (c_finish_omp_atomic): Add swapped argument, if true,
227 build the operation first with rhs, lhs arguments and use NOP_EXPR
229 (c_finish_omp_for): Add code argument, pass it down to make_code.
230 (c_omp_split_clauses): New function.
231 (c_split_parallel_clauses): Removed.
232 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
233 c_omp_declare_simd_clauses_to_decls): New functions.
234 * c-common.h (omp_clause_mask): New type.
235 (OMP_CLAUSE_MASK_1): Define.
236 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
237 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
238 omp_clause_mask::operator |, omp_clause_mask::operator &,
239 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
240 omp_clause_mask::operator ==): New methods.
241 (enum c_omp_clause_split): New.
242 (c_finish_omp_taskgroup): New prototype.
243 (c_finish_omp_atomic): Add swapped argument.
244 (c_finish_omp_for): Add code argument.
245 (c_omp_split_clauses): New prototype.
246 (c_split_parallel_clauses): Removed.
247 (c_omp_declare_simd_clauses_to_numbers,
248 c_omp_declare_simd_clauses_to_decls): New prototypes.
249 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
250 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
251 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
252 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
253 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
254 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
255 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
256 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
257 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
258 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
259 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
260 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
261 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
262 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
263 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
264 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
265 PRAGMA_OMP_CLAUSE_UNIFORM.
267 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
269 PR tree-optimization/20318
270 * c-common.c (handle_returns_nonnull_attribute): New function.
271 (c_common_attribute_table): Add returns_nonnull.
273 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
276 * c.opt (fcheck-new): Move to common.opt.
278 2013-09-25 Marek Polacek <polacek@redhat.com>
279 Jakub Jelinek <jakub@redhat.com>
282 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
283 an expression if we can prove it is correct.
284 (ubsan_instrument_division): Likewise. Remove unnecessary
287 2013-09-18 Marek Polacek <polacek@redhat.com>
290 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
292 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
294 2013-09-14 Iain Sandoe <iain@codesourcery.com>
297 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
298 fobjc-gc, freplace-objc-classes): Accept for LTO.
300 2013-09-13 Jacek Caban <jacek@codeweavers.com>
302 * c-target.def: New hook
304 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
307 * c.opt (Wdelete-incomplete): Add.
309 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
311 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
312 (vector_types_compatible_elements_p): New function.
313 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
315 (vector_types_compatible_elements_p): Declare.
317 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
319 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
320 a virtual member function.
321 (pp_simple_type_specifier): Remove.
322 (pp_c_type_specifier): Likewise.
323 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
324 Rename from pp_c_type_specifier. Adjust.
325 (c_pretty_printer::c_pretty_printer): Do not assign to
326 simple_type_specifier.
328 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
330 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
332 (c_pretty_printer::storage_class_specifier): Likewise.
333 (c_pretty_printer::initializer): Likewise.
334 (pp_declaration): Remove.
335 (pp_declaration_specifiers): Likewise.
336 (pp_abstract_declarator): Likewise.
337 (pp_declarator): Likewise.
338 (pp_type_id): Likewise.
339 (pp_statement): Likewise.
340 (pp_constant): Likewise.
341 (pp_id_expression): Likewise.
342 (pp_primary_expression): Likewise.
343 (pp_unary_expression): Likewise.
344 (pp_multiplicative_expression): Likewise.
345 (pp_conditional_expression): Likewise.
346 (pp_assignment_expression): Likewise.
347 (pp_expression): Likewise.
348 (pp_c_type_id): Likewise.
349 (pp_c_storage_class_specifier): Likewise.
350 * c-pretty-print.c (pp_c_type_cast): Tidy.
351 (pp_c_pointer): Likewise.
352 (pp_c_type_specifier): Likewise.
353 (pp_c_parameter_type_list): Likewise.
354 (pp_c_function_definition): Likewise.
355 (pp_c_init_declarator): Likewise.
356 (pp_c_initializer_list): Likewise.
357 (pp_c_constructor_elts): Likewise.
358 (c_pretty_printer::direct_abstract_declarator): Likewise.
359 (c_pretty_printer::declaration_specifiers): Likewise.
360 (c_pretty_printer::primary_expression): Likewise.
361 (c_pretty_printer::postfix_expression): Likewise.
362 (c_pretty_printer::type_id): Rename from pp_c_type_id.
363 (c_pretty_printer::storage_class_specifier): Rename from
364 pp_c_storage_class_specifier.
365 (c_pretty_printer::initializer): Rename from pp_c_initializer.
366 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
367 storage_class_specifier, initializer, offset_list, flags.
369 2013-08-30 Marek Polacek <polacek@redhat.com>
371 * c-ubsan.c: New file.
372 * c-ubsan.h: New file.
374 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
376 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
378 (c_pretty_printer::declaration_specifiers): Likewise.
379 (c_pretty_printer::declarator): Likewise.
380 (c_pretty_printer::abstract_declarator): Likewise.
381 (c_pretty_printer::direct_abstract_declarator): Likewise.
382 (c_pretty_printer::direct_declarator): Likewise.
383 (c_pretty_printer::function_specifier): Likewise.
384 (pp_declaration): Adjust.
385 (pp_declaration_specifiers): Likewise.
386 (pp_abstract_declarator): Likewise.
387 (pp_direct_declarator): Likewise.
388 (pp_function_specifier): Likewise.
389 (pp_direct_abstract_declarator): Remove as unused.
390 (pp_c_declaration): Remove.
391 (pp_c_declaration_specifiers): Likewise.
392 (pp_c_declarator): Likewise.
393 (pp_c_direct_declarator): Likewise.
394 (pp_c_function_specifier): Likewise.
395 (pp_c_direct_abstract_declarator): Likewise.
396 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
397 from pp_c_abstract_declarator. Adjust.
398 (c_pretty_printer::direct_abstract_declarator): Rename from
399 pp_c_direct_abstract_declarator. Adjust.
400 (c_pretty_printer::function_specifier): Rename from
401 pp_c_function_specifier. Adjust.
402 (c_pretty_printer::declaration_specifiers): Rename from
403 pp_c_declaration_specifiers. Adjust.
404 (c_pretty_printer::direct_declarator): Rename from
405 pp_c_direct_declarator. Adjust.
406 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
407 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
408 (c_pretty_printer::c_pretty_printer): Do not assign to
409 declaration, declaration_specifiers, declarator,
410 direct_declarator, direct_abstract_declarator, function_specifier.
412 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
414 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
415 virtual member function.
416 (c_pretty_printer::multiplicative_expression): Likewise.
417 (c_pretty_printer::conditional_expression): Likewise.
418 (c_pretty_printer::assignment_expression): Likewise.
419 (c_pretty_printer::expression): Likewise.
420 (pp_unary_expression): Adjust.
421 (pp_multiplicative_expression): Likewise.
422 (pp_assignment_expression): Likewise.
423 (pp_conditional_expression): Likewise.
424 (pp_expression): Likewise.
425 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
426 from pp_c_unary_expression. Adjust.
427 (c_pretty_printer::multiplicative_expression): Rename from
428 pp_c_multiplicative_expression. Adjust.
429 (c_pretty_printer::conditional_expression): Rename from
430 pp_c_conditional_expression. Adjust.
431 (c_pretty_printer::assignment_expression): Rename from
432 pp_c_assignment_expression. Adjust.
433 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
434 (c_pretty_printer::c_pretty_printer): Do not assign to
435 unary_expression, multiplicative_expression,
436 conditional_expression, expression.
438 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
440 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
441 virtual member function.
442 (pp_postfix_expression): Adjust.
443 (pp_c_postfix_expression): Remove.
444 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
445 from pp_c_postfix_expression. Adjust.
446 (c_pretty_printer::c_pretty_printer): Do not assign to
449 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
451 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
452 virtua member function.
453 (pp_primary_expression): Adjust.
454 (pp_c_primary_expression): Remove.
455 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
456 from pp_c_primary_expression. Adjust.
457 (pp_c_initializer_list): Use pp_primary_expression.
458 (c_pretty_printer::c_pretty_printer): Do not assign to
461 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
463 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
464 * c-pretty-print.c (M_): Remove.
465 (c_pretty_printer::translate_string): Define.
466 (pp_c_type_specifier): Use it.
467 (pp_c_primary_expression): Likewise.
468 (pp_c_expression): Likewise.
470 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
472 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
474 (pp_c_id_expression): Remove.
475 (pp_id_expression): Adjust.
476 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
477 pp_c_id_expression. Adjust.
478 (pp_c_postfix_expression): Use pp_id_expression.
479 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
481 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
483 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
485 (pp_constant): Adjust.
486 (pp_c_constant): Remove.
487 * c-pretty-print.c (c_pretty_printer::constant): Rename from
488 pp_c_constant. Adjust.
490 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
491 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
493 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
495 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
496 (c_pretty_printer::c_pretty_printer): Declare.
497 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
498 c_pretty_printer_init. Adjust.
499 (print_c_tree): Do not call c_pretty_printer_init.
500 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
502 2013-08-09 Arnaud Charlet <charlet@adacore.com>
504 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
506 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
509 * c-common.c (pointer_int_sum): Add bool parameter.
510 * c-common.h (pointer_int_sum): Adjust declaration.
512 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
514 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
515 c_pretty_printer variable.
517 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
519 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
521 (pp_c_base): Likewise. Adjust users.
522 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
523 (pp_c_whitespace): Do not call pp_base.
524 (pp_c_left_paren): Likewise.
525 (pp_c_right_paren): Likewise.
526 (pp_c_left_brace): Likewise.
527 (pp_c_right_brace): Likewise.
528 (pp_c_left_bracket): Likewise.
529 (pp_c_right_bracket): Likewise.
530 (pp_c_dot): Likewise.
531 (pp_c_ampersand): Likewise.
532 (pp_c_star): Likewise.
533 (pp_c_arrow): Likewise.
534 (pp_c_semicolon): Likewise.
535 (pp_c_complement): Likewise.
536 (pp_c_exclamation): Likewise.
537 (pp_c_direct_declarator): Likewise.
538 (pp_c_ws_string): Likewise.
539 (pp_c_identifier): Likewise.
540 (pp_c_statement): Likewise.
541 (print_c_tree): Likewise.
543 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
546 * c-common.c (c_parse_error): Catch user-defined literal tokens and
547 provide useful error strings.
549 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
551 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
552 printer functions instead of pp_string or operators and punctuators.
553 (dump_generic_ada_node): Likewise.
554 * c-pretty-print.c (pp_c_type_specifier): Likewise.
555 (pp_c_relational_expression): Likewise.
556 (pp_c_logical_or_expression): Likewise.
558 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
560 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
561 functions instead of pp_character.
562 (pp_ada_tree_identifier): Likewise.
563 (dump_ada_double_name): Likewise.
564 (dump_ada_function_declaration): Likewise.
565 (dump_ada_array_domains): Likewise.
566 (dump_template_types): Likewise.
567 (dump_generic_ada_node): Likewise.
568 (print_ada_declaration): Likewise.
569 (print_ada_struct_decl): Likewise.
570 * c-pretty-print.c (pp_c_integer_constant): Likewise.
572 2013-07-23 Tom Tromey <tromey@redhat.com>
574 * c-common.h (enum rid) <RID_GENERIC>: New constant.
575 * c-common.c (c_common_reswords): Add _Generic.
577 2013-07-21 OndÅej BÃlka <neleai@seznam.cz>
579 * c-common.c: Fix typos.
580 * c-common.h: Likewise.
582 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
585 * c-common.c (c_common_attribute_table): Add warn_unused.
586 (handle_warn_unused_attribute): New.
588 2013-07-10 Jakub Jelinek <jakub@redhat.com>
590 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
591 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
593 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
596 * c.opt: Add Wconditionally-supported.
598 2013-07-08 Graham Stott <graham.stott@btinternet.com>
600 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
601 unused variables l_length and l_node.
603 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
606 * c-common.c (complete_array_type): Delay folding first index
607 like other indices. When folding, check for index overflow.
609 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
612 * c-common.h (c_build_vec_perm_expr): New complain argument.
613 * c-common.c (c_build_vec_perm_expr): Likewise.
614 Use save_expr also in C++.
616 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
618 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
619 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
620 * c-opts.c (c_common_post_options): Likewise.
622 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
624 * array-notation-common.c (length_mismatch_in_expr): Changed the
625 parameter type's from a dynamic array to a vec_tree. Also removed
627 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
630 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
632 * c-common.h (struct cilkplus_an_parts): New structure.
633 (struct cilkplus_an_loop_parts): Likewise.
634 (cilkplus_extract_an_triplets): New prototype.
635 (fix_sec_implicit_args): Likewise.
636 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
637 (fix_sec_implicit_args): Likewise.
639 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
641 * array-notation-common.c (find_inv_trees): Removed an unwanted
643 * c-common.h (struct inv_list::additional_tcodes): Changed type from
644 enum rid to enum tree_code.
646 2013-06-11 Jan Hubicka <jh@suse.cz>
648 * c-common.c (handle_alias_ifunc_attribute): Do not set
649 DECL_EXTERNAL for weakref variables.
650 * c-pragma.c (handle_pragma_weak): Make sure aliases
651 are not declared as external.
653 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
655 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
656 function from c/c-array-notation.c.
657 (is_cilkplus_reduce_builtin): Likewise.
658 (find_rank): Likewise.
659 (extract_array_notation_exprs): Likewise.
660 (replace_array_notations): Likewise.
661 (find_inv_trees): Likewise.
662 (replace_inv_trees): Likewise.
663 (contains_array_notation_expr): Likewise.
664 (find_correct_array_notation_type): Likewise.
665 * c-common.h (struct inv_list): Moved this struct from the file
666 c/c-array-notation.c and added a new field called additional tcodes.
667 (length_mismatch_in_expr_p): New prototype.
668 (is_cilkplus_reduce_builtin): Likewise.
669 (find_rank): Likewise.
670 (extract_array_notation_exprs): Likewise.
671 (replace_array_notation): Likewise.
672 (find_inv_trees): Likewise.
673 (replace_inv_trees): Likewise.
674 (find_correct_array_notation_type): Likewise.
676 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
678 * c-common.c (c_define_builtins): When cilkplus is enabled, the
679 function array_notation_init_builtins is called.
680 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
681 * c-common.def (ARRAY_NOTATION_REF): New tree.
682 * c-common.h (build_array_notation_expr): New function declaration.
683 (build_array_notation_ref): Likewise.
684 (extract_sec_implicit_index_arg): New extern declaration.
685 (is_sec_implicit_index_fn): Likewise.
686 (ARRAY_NOTATION_CHECK): New define.
687 (ARRAY_NOTATION_ARRAY): Likewise.
688 (ARRAY_NOTATION_START): Likewise.
689 (ARRAY_NOTATION_LENGTH): Likewise.
690 (ARRAY_NOTATION_STRIDE): Likewise.
691 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
693 (pp_c_expression): Likewise.
694 * c.opt (flag_enable_cilkplus): New flag.
695 * array-notation-common.c: New file.
697 2013-05-14 Jakub Jelinek <jakub@redhat.com>
700 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
702 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
704 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
707 2013-05-07 Han Shen <shenhan@google.com>
709 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
711 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
713 * c-common.c (check_user_alignment): Emit error for negative values.
715 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
717 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
719 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
721 * c-cppbuiltin.c (c_cpp_builtins): Do not define
722 __GXX_EXPERIMENTAL_CXX1Y__.
724 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
725 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
727 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
728 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
729 to simply use OPT_Wpointer_arith.
730 (c_sizeof_or_alignof_type): Likewise.
732 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
734 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
736 2013-04-12 Jakub Jelinek <jakub@redhat.com>
738 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
739 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
742 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
744 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
746 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
748 * c-common.c (pointer_int_sum): Remove dead code.
750 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
753 * c-common.c (handle_optimize_attribute): Don't call
754 save_optabs_if_changed.
756 2013-03-05 Jakub Jelinek <jakub@redhat.com>
759 * c-pch.c (pch_init): Free target_validity at the end.
761 2013-03-04 Jakub Jelinek <jakub@redhat.com>
763 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
765 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
766 Jakub Jelinek <jakub@redhat.com>
769 * c-common.c (handle_no_sanitize_address_attribute): New function.
770 (c_common_attribute_table): Add no_sanitize_address attribute.
771 (handle_no_address_safety_analysis_attribute): Add
772 no_sanitize_address attribute, not no_address_safety_analysis
775 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
778 * c-common.c (handle_optimize_attribute): Call
779 save_optabs_if_changed.
781 2013-02-18 Jakub Jelinek <jakub@redhat.com>
782 Steven Bosscher <steven@gcc.gnu.org>
785 * c-opts.c (c_common_post_options): If debug info is enabled
786 and non-dwarf*, refuse to load PCH files and when writing PCH
789 2013-02-05 Jakub Jelinek <jakub@redhat.com>
792 * c-common.c (handle_error_attribute): Fix condition.
794 2013-01-30 Jakub Jelinek <jakub@redhat.com>
797 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
799 2013-01-18 Jason Merrill <jason@redhat.com>
802 * c.opt (-fextern-tls-init): New.
803 * c-opts.c (c_common_post_options): Handle it.
805 2013-01-09 Jakub Jelinek <jakub@redhat.com>
808 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
809 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
810 and is either negative or bigger or equal to type precision
811 of the first operand.
813 2012-12-03 Marek Polacek <polacek@redhat.com>
816 * c-common.c (check_user_alignment): Swap order of tests,
817 check TREE_CODE first.
819 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
822 * c-common.h (overflow_type): New enum.
823 (build_userdef_literal): Add overflow_type argument.
824 (tree_userdef_literal): Add overflow_type.
825 (USERDEF_LITERAL_OVERFLOW): New access macro.
826 * c-common.c (build_userdef_literal): Add overflow_type
828 * c-lex.c (c_lex_with_flags): Add overflow_type to
829 build_userdef_literal calls.
830 (interpret_integer, interpret_float): Add overflow_type argument.
832 2012-11-28 Richard Biener <rguenther@suse.de>
835 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
836 here and use a type with proper overflow behavior for types that would
837 need to be promoted for the arithmetic.
839 2012-11-23 Jakub Jelinek <jakub@redhat.com>
842 * c-common.c (handle_no_address_safety_analysis_attribute): New
844 (c_common_attribute_table): Add no_address_safety_analysis.
846 2012-11-16 Simon Baldwin <simonb@google.com>
848 * c.opt: Add f[no-]canonical-system-headers.
849 * c-opts.c (c_common_handle_option): Handle
850 OPT_fcanonical_system_headers.
852 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
855 * c-opts.c (c_common_handle_option): Set new flags.
856 * c.opt: Describe new flags.
858 2012-11-09 Jason Merrill <jason@redhat.com>
860 * c.opt (Wabi-tag): New.
862 2012-11-09 Andi Kleen <ak@linux.intel.com>
865 * c-common.c (get_atomic_generic_size): Mask with
868 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
871 * c.opt (Wformat): Make it Alias Wformat=1.
872 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
873 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
875 (Wformat=): RejectNegative. Use LangEnabledBy.
876 (Wnonnull): Use LangEnabledBy.
877 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
878 * c-format.c (set_Wformat): Delete.
879 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
880 (maybe_read_dollar_number): Likewise.
881 (avoid_dollar_number): Likewise.
882 (finish_dollar_format_checking): Likewise.
883 (check_format_info): Likewise.
884 (check_format_info_main): Likewise.
885 (check_format_types): Likewise.
886 (format_type_warning): Likewise.
887 * c-common.c (int): Likewise.
888 (check_function_sentinel): Likewise.
889 * c-common.h (warn_format,set_Wformat): Do not declare here.
891 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
894 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
895 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
897 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
899 (Wvariadic-macros): Init(1).
900 * c-opts.c (c_common_handle_option): Do not handle them
902 (c_common_post_options): Likewise.
903 (sanitize_cpp_opts): warn_unused_macros is now
904 cpp_warn_unused_macros.
905 (push_command_line_include): Likewise.
906 * c-common.c (warn_unknown_pragmas): Do not define.
907 * c-common.h (warn_unknown_pragmas): Do not declare.
909 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
912 * c-common.c (conversion_warning): Handle conditional expressions.
914 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
917 * c.opt (Wreturn_local_addr): Define new option.
919 2012-10-25 Jason Merrill <jason@redhat.com>
921 * c.opt (Wvirtual-move-assign): New.
923 * c.opt (Winherited-variadic-ctor): New.
925 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
928 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
930 2012-10-23 Joseph Myers <joseph@codesourcery.com>
932 * c-common.h (pch_cpp_save_state): Declare.
933 * c-target.def (c_preinclude): New hook.
934 * c-opts.c (done_preinclude): New.
935 (push_command_line_include): Handle default preincluded header.
936 (cb_file_change): Call pch_cpp_save_state when calling
937 push_command_line_include.
938 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
939 (pch_cpp_save_state): New.
940 (pch_init): Call pch_cpp_save_state conditionally, instead of
941 calling cpp_save_state.
943 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
947 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
948 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
949 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
950 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
951 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
952 * c-opts.c (c_common_handle_option): Remove explicit handling from
954 (c_common_post_options): Likewise.
956 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
958 * c-ada-spec.c (LOCATION_COL): Delete.
959 (compare_location): New function.
960 (compare_node): Use it.
961 (compare_comment): Likewise.
963 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
967 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
968 * c-opts.c (c_common_handle_option): Do not set them here. Add
970 (c_common_post_options): Likewise.
972 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
974 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
975 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
976 Remove POINTER_TYPE handling, add large unsigned handling and use
977 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
979 2012-10-12 Jakub Jelinek <jakub@redhat.com>
982 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
983 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
984 locs and array of 3 trees instead of just single loc and single
985 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
986 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
987 For *cmp* builtins that take two sources strings report warnings
988 about first and second source, not about destination and source.
990 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
993 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
995 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
997 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
998 declaring something coming from another file.
1000 2012-10-10 Arnaud Charlet <charlet@adacore.com>
1003 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1005 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1008 * c-common.c (warn_about_parentheses): Add location_t parameter;
1009 use EXPR_LOC_OR_LOC.
1010 * c-common.h: Update declaration.
1012 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
1015 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1016 more operations. Make error messages optional.
1017 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1018 (scalar_to_vector): Declare.
1020 2012-10-08 Jason Merrill <jason@redhat.com>
1022 * c-common.c (c_common_reswords): Add thread_local.
1024 2012-10-08 Dodji Seketeli <dodji@redhat.com>
1026 PR c++/53528 C++11 attribute support
1027 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1029 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1031 (handle_aligned_attribute): In choose strictest alignment
1032 among many. Use new check_cxx_fundamental_alignment_constraints.
1033 (handle_transparent_union_attribute): In c++11 attribute syntax,
1034 don't look through typedefs.
1036 2012-10-04 Arnaud Charlet <charlet@adacore.com>
1038 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1039 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1042 2012-09-25 Dehao Chen <dehao@google.com>
1045 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
1046 map when read in the pch.
1048 2012-09-18 Arnaud Charlet <charlet@adacore.com>
1050 * c-ada-spec.c: Style fixes.
1052 2012-09-18 Thomas Quinot <quinot@adacore.com>
1054 * c.opt (-fada-spec-parent): Define new command line switch.
1055 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1056 is specified, generate binding spec as a child of the specified unit.
1058 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1059 Manuel López-Ibáñez <manu@gcc.gnu.org>
1062 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1064 2012-08-23 Arnaud Charlet <charlet@adacore.com>
1066 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1067 for pointers, and add missing Convention C pragma.
1068 (print_ada_struct_decl): Add missing aliased keyword.
1069 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1071 2012-08-17 Jakub Jelinek <jakub@redhat.com>
1073 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1074 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1075 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1076 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1077 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1079 2012-08-10 Richard Guenther <rguenther@suse.de>
1081 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1083 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1085 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1086 instead of separate pp_newline and pp_flush.
1087 (print_c_tree): Likewise.
1089 2012-07-26 Richard Henderson <rth@redhat.com>
1091 * c-common.c (handle_hot_attribute): Allow labels.
1092 (handle_cold_attribute): Likewise.
1094 2012-07-20 Jakub Jelinek <jakub@redhat.com>
1097 * c-common.c (check_function_nonnull): Handle multiple nonnull
1098 attributes properly.
1100 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1102 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1103 * c-ada-spec.c: Likewise.
1104 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1106 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1108 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1109 Remove code conditional on it.
1111 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1113 * c-gimplify.c: Do not include basic-block.h.
1114 * c-common.c: Do not include linfuncs.h.
1116 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1118 * c-common.h: Include tree.h.
1120 2012-07-02 Jason Merrill <jason@redhat.com>
1123 * c-common.c (get_priority): Call default_conversion.
1125 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
1127 * c-pch.c (c_common_write_pch): Remove unused variables.
1129 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1131 * cppspec.c: Moved from gcc/ to here.
1133 2012-06-27 Kai Tietz <ktietz@redhat.com>
1135 PR preprocessor/37215
1136 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1138 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1140 * c-common.h (c_common_print_pch_checksum): Remove.
1141 * c-pch.c: Do not include output.h.
1142 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1143 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1144 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1145 (struct c_pch_header): Remove.
1146 (get_ident): Update gpch version.
1147 (pch_init): Do not print executable_checksum to asm_out_file.
1148 Do not fail if there is no asm_out_file to read back from. Set
1149 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1150 (c_common_write_pch): Verify that nothing was written to asm_out_file
1151 since pch_init was called. Do not write a c_pch_header, and do not
1152 copy from asm_out_file to the PCH.
1153 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1154 the content of asm_out_file from the PCH.
1155 (c_common_print_pch_checksum): Remove.
1156 * c-opts.c (c_common_init): Print out executable_checksum directly.
1158 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1160 * c-target.def (objc_declare_unresolved_class_reference,
1161 objc_declare_class_definition): Add new hooks.
1163 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1165 * c-lex.c: Do not include output.h.
1166 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1167 Remove uses of ASM_OUTPUT_IDENT.
1169 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
1172 * c-common.h (c_build_vec_perm_expr): Move decl here.
1173 * c-common.c (c_build_vec_perm_expr): Move definition
1176 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1178 * c.opt (fconserve-space): Turn into a no-op.
1180 2012-06-04 Sterling Augustine <saugustine@google.com>
1182 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1183 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1184 both the start and end of the function.
1186 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1188 * c-common.c: Do not include output.h.
1189 * c-pragma.c: Likewise.
1191 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1193 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1194 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1195 (lang_decl_name): Handle namespace decls.
1197 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1199 * c-ada-spec.c: Do not include output.h.
1200 * c-semantics.c: Likewise.
1202 2012-05-29 Joseph Myers <joseph@codesourcery.com>
1204 * c-common.c: Fix typo.
1206 2012-05-29 Michael Matz <matz@suse.de>
1208 * c-common.h (c_expand_decl): Remove prototype.
1210 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1212 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1213 * c-opts.c (c_common_handle_option): Remove code handling
1214 warn_missing_braces.
1216 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
1219 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1222 2012-05-22 Dodji Seketeli <dodji@redhat.com>
1225 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1227 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
1229 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1230 * c-opts.c (c_common_handle_option): Do not handle explicitly
1231 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1233 2012-05-16 Dodji Seketeli <dodji@redhat.com>
1235 PR preprocessor/7263
1236 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
1237 to cpp_classify_number. For diagnostics, use the precise location
1238 instead of the global input_location.
1240 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1243 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1245 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1247 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
1249 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1252 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1253 Wreorder): Use LangEnabledBy.
1254 * c-opts.c (c_common_handle_option): Do not enable them
1255 explicitly. Call lang-specific generated functions.
1256 (c_common_post_options): Do not set them here.
1258 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
1260 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1261 Wmissing-field-initializers,Wmissing-parameter-type,
1262 Wold-style-declaration,Woverride-init): Use EnabledBy.
1263 * c-opts.c (c_common_post_options): Do not set here explicitly.
1265 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1268 * c-opts.c (c_common_handle_option): Use handle_generated_option
1269 to enable sub-options.
1271 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1274 * c-common.c (warnings_for_convert_and_check): Use warning_at.
1276 2012-05-10 Richard Guenther <rguenther@suse.de>
1278 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1279 adjust commentary about TYPE_IS_SIZETYPE types.
1281 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1284 * c-common.c (warn_logical_operator): Check that argument of
1285 integer_zerop is not NULL.
1287 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
1290 * c-common.c (warn_logical_operator): Do not warn if either side
1291 is already true or false.
1293 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1296 * c-common.c (expr_original_type): New.
1297 (shorten_compare): Do not warn for enumeration types.
1299 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1301 * c.opt (fpermissive): Add Var(flag_permissive).
1303 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
1306 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1307 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1309 2012-04-30 Dodji Seketeli <dodji@redhat.com>
1311 Add -Wvarargs option
1312 * c.opt (Wvarargs): Define new option.
1314 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1316 * c-common.c (check_function_arguments): Replace
1317 Wmissing-format-attribute with Wsuggest-attribute=format.
1319 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1321 * c.opt (Wsuggest-attribute=format): New. Alias of
1322 Wmissing-format-attribute.
1323 * c-format.c (decode_format_type): Replace
1324 Wmissing-format-attribute with Wsuggest-attribute=format.
1325 (check_function_format): Likewise.
1327 2012-04-27 Ollie Wild <aaw@google.com>
1329 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
1330 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
1331 * c.opt: Add Wliteral-suffix.
1333 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1336 * c.opt (Wpedantic): New.
1337 (pedantic): Alias Wpedantic.
1338 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
1339 (c_common_post_options): Likewise.
1340 (sanitize_cpp_opts): Likewise.
1341 * c-lex.c (interpret_float): Likewise.
1342 * c-format.c (check_format_types): Likewise.
1343 * c-common.c (pointer_int_sum): Likewise.
1344 (c_sizeof_or_alignof_type): Likewise.
1345 (c_add_case_label): Likewise.
1346 (c_do_switch_warnings): Likewise.
1347 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1349 2012-04-15 Jason Merrill <jason@redhat.com>
1352 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
1353 (C_STD_NAME): Distinguish between C++98 and C++11.
1355 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
1358 * c-common.h (uint16_type_node): Rename into...
1359 (c_uint16_type_node): ...this.
1360 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
1361 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
1363 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
1365 * c-common.c (warn_if_unused_value): Move definition to here.
1366 * c-common.h (warn_if_unused_value): Move declaration to here.
1368 2012-03-23 William Bader <williambader@hotmail.com>
1370 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
1372 2012-03-20 Jason Merrill <jason@redhat.com>
1374 * c-common.h (enum cxx_dialect): Add cxx1y.
1375 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
1377 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1378 * c-opts.c (c_common_post_options): Likewise.
1379 (set_std_cxx1y): New.
1380 (c_common_handle_option): Call it.
1381 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
1383 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
1386 * c.opt ([Wuseless-cast]): Add.
1388 2012-03-16 Richard Guenther <rguenther@suse.de>
1390 * c-pretty-print.c (pp_c_initializer_list): Adjust.
1392 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1395 * c.opt (ftemplate-backtrace-limit) Add.
1397 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1399 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
1401 * c-pragma.c (handle_pragma_extern_prefix): Remove.
1402 (init_pragma): Don't register extern_prefix.
1404 2012-03-12 Richard Guenther <rguenther@suse.de>
1406 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
1407 (builtin_type_for_size): Likewise.
1409 2012-02-13 Jakub Jelinek <jakub@redhat.com>
1412 * c-common.c (sync_resolve_params): Don't decide whether to convert
1413 or not based on TYPE_SIZE comparison, convert whenever arg_type
1414 is unsigned INTEGER_TYPE.
1416 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
1419 * c.opt ([Wunused-local-typedefs]): Fix description.
1421 2012-01-24 Mike Stump <mikestump@comcast.net>
1423 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
1426 2012-01-18 Richard Guenther <rguenther@suse.de>
1428 * c-opts.c (c_common_post_options): Reset LTO flags if
1429 we are about to generate a PCH.
1431 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1434 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
1435 use pp_unsigned_wide_integer.
1437 2012-01-10 Richard Guenther <rguenther@suse.de>
1440 * c-opts.c (c_common_handle_option): Move -Werror handling
1441 to language independent code.
1443 2012-01-05 Richard Guenther <rguenther@suse.de>
1446 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
1449 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
1452 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
1453 of array types with an unknown bound.
1455 2011-12-20 Joseph Myers <joseph@codesourcery.com>
1457 * c-common.c (flag_isoc99): Update comment to refer to C11.
1458 (flag_isoc1x): Change to flag_isoc11.
1459 * c-common.h (flag_isoc99): Update comment to refer to C11.
1460 (flag_isoc1x): Change to flag_isoc11.
1461 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
1463 * c-opts.c (set_std_c1x): Change to set_std_c11.
1464 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
1466 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
1467 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
1468 * c.opt (std=c1x): Change to std=c11. Document as non-draft
1470 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
1471 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
1472 (std=gnu1x): Make alias of std=gnu11.
1474 2011-12-19 Jason Merrill <jason@redhat.com>
1477 * c-common.c (handle_transparent_union_attribute): Check the first
1478 field if the type is complete.
1480 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
1483 * c-common.c (RID_IS_FINAL): Add.
1484 * c-common.h (RID_IS_FINAL): Add.
1486 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
1488 * c.opt (fgnu-runtime): Provide full description.
1489 (fnext-runtime): Likewise.
1490 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
1492 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
1494 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
1495 predefines in one place. Add LOCK_FREE predefines.
1496 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
1499 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
1502 * c-common.c (get_atomic_generic_size): Check for various error
1504 (resolve_overloaded_atomic_exchange,
1505 resolve_overloaded_atomic_compare_exchange,
1506 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
1507 error_mark_node for error conditions.
1509 2011-11-08 Richard Guenther <rguenther@suse.de>
1514 2011-11-07 Richard Henderson <rth@redhat.com>
1515 Aldy Hernandez <aldyh@redhat.com>
1516 Torvald Riegel <triegel@redhat.com>
1518 Merged from transactional-memory.
1520 * c-common.c (handle_tm_wrap_attribute,
1521 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
1522 (struct c_common_reswords): Added __transaction* keywords.
1523 (struct c_common_attribute_table): Added transaction* and tm_regparm
1525 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
1527 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
1528 find_tm_attribute): Declare.
1530 2011-11-07 Jason Merrill <jason@redhat.com>
1533 * c-common.c, c-common.h: Revert yesterday's changes.
1535 2011-11-06 Jason Merrill <jason@redhat.com>
1538 * c-common.c (decl_has_visibility_attr): Split out from...
1539 (c_determine_visibility): ...here.
1540 * c-common.h: Declare it.
1542 2011-11-06 Joseph Myers <joseph@codesourcery.com>
1544 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
1545 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
1547 (check_user_alignment): New. Split out of
1548 handle_aligned_attribute. Disallow integer constants with
1549 noninteger types. Conditionally allow zero.
1550 (handle_aligned_attribute): Use check_user_alignment.
1551 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
1553 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
1554 Richard Henderson <rth@redhat.com>
1556 Merged from cxx-mem-model.
1558 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
1559 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1560 parameters that are the same type size.
1561 (get_atomic_generic_size): New. Find size of generic
1562 atomic function parameters and do typechecking.
1563 (add_atomic_size_parameter): New. Insert size into parameter list.
1564 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
1565 either __atomic_exchange_n or external library call.
1566 (resolve_overloaded_atomic_compare_exchange): Restructure
1567 __atomic_compare_exchange to either _n variant or external library call.
1568 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1569 __atomic_load_n or an external library call.
1570 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
1571 __atomic_store_n or an external library call.
1572 (resolve_overloaded_builtin): Handle new __atomic builtins.
1574 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
1577 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
1578 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
1579 <INDIRECT_REF>: Return the argument.
1580 <ARRAY_REF>: Remove special code for negative offset.
1581 Call fold_build_pointer_plus instead of size_binop.
1582 (fold_offsetof): Remove STOP_REF argument and adjust.
1583 * c-common.h (fold_offsetof_1): Declare.
1584 (fold_offsetof): Remove STOP_REF argument.
1586 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
1589 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1590 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1591 Wnarrowing for C++0x and C++98.
1592 * c.opt ([Wnarrowing]): Update.
1594 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1597 * c.opt: Add Wzero-as-null-pointer-constant.
1599 2011-10-31 Jason Merrill <jason@redhat.com>
1601 * c.opt (-fdeduce-init-list): Off by default.
1604 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
1605 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
1607 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
1609 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
1612 * c.opt (fvisibility-inlines-hidden): Description change.
1614 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
1616 Implement C++11 user-defined literals.
1617 * c-common.c (build_userdef_literal): New.
1618 * c-common.def: New tree code.
1619 * c-common.h (tree_userdef_literal): New tree struct and accessors.
1620 * c-lex.c (interpret_float): Add suffix parm.
1621 (c_lex_with_flags): Build literal tokens.
1623 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1627 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1630 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1631 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1632 Wnarrowing for C++0x and C++98.
1633 * c.opt ([Wnarrowing]): Update.
1635 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
1638 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
1639 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
1640 Wnarrowing for C++0x and C++98.
1641 * c.opt ([Wnarrowing]): Update.
1643 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
1646 * c-common.c (conversion_warning): Remove code looking for
1647 artificial operands.
1649 2011-10-18 Dodji Seketeli <dodji@redhat.com>
1652 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
1653 !NO_IMPLICIT_EXTERN_C.
1655 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
1657 * c-common.c (c_common_reswords): Add __bases,
1659 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
1661 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1664 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
1666 2011-10-15 Tom Tromey <tromey@redhat.com>
1667 Dodji Seketeli <dodji@redhat.com>
1669 * c.opt (fdebug-cpp): New option.
1670 * c-opts.c (c_common_handle_option): Handle the option.
1671 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
1672 output stream in parameter. Factorized from ...
1673 (maybe_print_line): ... this. Dump location debug information when
1674 -fdebug-cpp is in effect.
1675 (print_line_1): New static function. Takes an output stream in
1676 parameter. Factorized from ...
1677 (print_line): ... here. Dump location information when -fdebug-cpp
1679 (scan_translation_unit): Dump location information when
1680 -fdebug-cpp is in effect.
1682 2011-10-15 Tom Tromey <tromey@redhat.com>
1683 Dodji Seketeli <dodji@redhat.com>
1685 * c.opt (ftrack-macro-expansion): New option. Handle it with and
1687 * c-opts.c (c_common_handle_option)<case
1688 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
1689 cases. Handle -ftrack-macro-expansion with and without argument.
1691 2011-10-15 Tom Tromey <tromey@redhat.com>
1692 Dodji Seketeli <dodji@redhat.com>
1694 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
1695 (print_line, cb_define, do_line_change): Adjust to avoid touching
1696 the internals of struct line_map. Use the public API instead.
1697 * c-pch.c (c_common_read_pch): Likewise.
1698 * c-lex.c (fe_file_change): Likewise.
1700 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
1703 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
1705 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
1708 * c-pretty-print.c (pp_c_floating_constant): Output
1709 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1711 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1713 * c-common.c (def_builtin_1): Delete old interface with two
1714 parallel arrays to hold standard builtin declarations, and replace
1715 it with a function based interface that can support creating
1716 builtins on the fly in the future. Change all uses, and poison
1717 the old names. Make sure 0 is not a legitimate builtin index.
1718 * c-omp.c (c_finish_omp_barrier): Ditto.
1719 (c_finish_omp_taskwait): Ditto.
1720 (c_finish_omp_flush): Ditto.
1722 2011-10-11 Tristan Gingold <gingold@adacore.com>
1724 * c.opt: (fallow-parameterless-variadic-functions): New.
1726 2011-09-08 Dodji Seketeli <dodji@redhat.com>
1728 PR c++/33255 - Support -Wunused-local-typedefs warning
1729 * c-common.h (struct c_language_function::local_typedefs): New
1731 (record_locally_defined_typedef, maybe_record_typedef_use)
1732 (maybe_warn_unused_local_typedefs): Declare new functions.
1733 * c-common.c (record_locally_defined_typedef)
1734 (maybe_record_typedef_use)
1735 (maybe_warn_unused_local_typedefs): Define new functions.
1736 * c.opt: Declare new -Wunused-local-typedefs flag.
1738 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
1741 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1744 2011-09-05 Richard Guenther <rguenther@suse.de>
1746 * c-common.c (complete_array_type): Use ssize_int (-1) instead
1747 of integer_minus_one_node for empty array upper bounds.
1749 2011-08-28 Dodji Seketeli <dodji@redhat.com>
1751 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1752 it's the first time it's being called on this main TU.
1754 2011-08-24 Richard Guenther <rguenther@suse.de>
1757 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1759 2011-08-22 Gabriel Charette <gchare@google.com>
1761 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1762 defined in cpp_init_builtins and c_cpp_builtins.
1764 2011-08-19 Joseph Myers <joseph@codesourcery.com>
1766 * c-common.c (c_common_reswords): Add __builtin_complex.
1767 * c-common.h (RID_BUILTIN_COMPLEX): New.
1769 2011-08-18 Joseph Myers <joseph@codesourcery.com>
1771 * c-common.c (c_common_reswords): Add _Noreturn.
1772 (keyword_is_function_specifier): Handle RID_NORETURN.
1773 * c-common.h (RID_NORETURN): New.
1775 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1777 * c-common.c (unsafe_conversion_p): New function. Check if it is
1778 unsafe to convert an expression to the type.
1779 (conversion_warning): Adjust, use unsafe_conversion_p.
1780 * c-common.h (unsafe_conversion_p): New function declaration.
1782 2011-08-02 Jakub Jelinek <jakub@redhat.com>
1784 * c-common.h (c_finish_omp_atomic): Adjust prototype.
1785 (c_finish_omp_taskyield): New prototype.
1786 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1787 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1788 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
1789 or RHS1 have side-effects, evaluate those too in the right spot,
1790 if it is a decl and LHS is also a decl, error out if they
1792 (c_finish_omp_taskyield): New function.
1793 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1794 * c-pragma.c (omp_pragmas): Add taskyield.
1795 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1796 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1797 PRAGMA_OMP_CLAUSE_MERGEABLE.
1799 2011-07-25 Dodji Seketeli <dodji@redhat.com>
1801 * c-common.h (set_underlying_type): Remove parm name from
1804 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
1806 * c-pretty-print.h: Search c-common.h in c-family.
1808 2011-07-22 Jason Merrill <jason@redhat.com>
1811 * c.opt (Wnarrowing): New.
1814 * c-common.h: Declare c_linkage_bindings.
1815 * c-pragma.c (handle_pragma_redefine_extname): Use it.
1818 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1819 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1820 as flag_isoc99 for 'restrict'.
1821 (pp_c_specifier_qualifier_list): Likewise for _Complex.
1823 2011-07-21 Ian Lance Taylor <iant@google.com>
1826 * c-common.c (c_disable_warnings): New static function.
1827 (c_enable_warnings): New static function.
1828 (c_fully_fold_internal): Change local unused_p to bool. Call
1829 c_disable_warnings and c_enable_warnings rather than change
1830 c_inhibit_evaluation_warnings.
1832 2011-07-20 Jason Merrill <jason@redhat.com>
1834 PR c++/6709 (DR 743)
1835 PR c++/42603 (DR 950)
1836 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1837 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1838 (CPP_DECLTYPE): New.
1839 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1841 2011-07-19 Richard Guenther <rguenther@suse.de>
1843 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1844 * c-omp.c (c_finish_omp_for): Likewise.
1846 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
1848 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1849 body on the next line.
1851 2011-07-08 Jason Merrill <jason@redhat.com>
1854 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1857 * c-common.c (c_apply_type_quals_to_decl): Don't check
1858 TYPE_NEEDS_CONSTRUCTING.
1860 2011-07-06 Richard Guenther <rguenther@suse.de>
1862 * c-common.c (c_common_nodes_and_builtins):
1863 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1865 2011-07-05 Richard Guenther <rguenther@suse.de>
1867 * c-common.c (c_common_nodes_and_builtins): Build all common
1870 2011-06-27 Jakub Jelinek <jakub@redhat.com>
1872 * c-common.h (c_tree_chain_next): New static inline function.
1874 * c-common.c (check_builtin_function_arguments): Handle
1875 BUILT_IN_ASSUME_ALIGNED.
1877 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
1879 * c-common.c: Add sync_ or SYNC__ to builtin names.
1880 * c-omp.c: Add sync_ or SYNC__ to builtin names.
1882 2011-06-20 Pierre Vittet <piervit@pvittet.com>
1884 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1886 (gen_pragma_handler): New union.
1887 (internal_pragma_handler): New type.
1888 (c_register_pragma_with_data)
1889 (c_register_pragma_with_expansion_and_data): New functions.
1891 * c-pragma.c (registered_pragmas, c_register_pragma_1)
1892 (c_register_pragma, c_register_pragma_with_expansion)
1893 (c_invoke_pragma_handler): Changed to work with
1894 internal_pragma_handler.
1895 (c_register_pragma_with_data)
1896 (c_register_pragma_with_expansion_and_data): New functions.
1898 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1900 * c-common.c: Include common/common-target.h.
1901 (handle_section_attribute): Use
1902 targetm_common.have_named_sections.
1903 * c-cppbuiltin.c: Include common/common-target.h.
1904 (c_cpp_builtins): Use targetm_common.except_unwind_info.
1906 2011-06-10 Richard Guenther <rguenther@suse.de>
1908 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1909 to print a IDENTIFIER_NODE.
1911 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1912 Joseph Myers <joseph@codesourcery.com>
1914 * c.opt (fbuilding-libgcc): New option.
1915 * c-cppbuiltin.c (c_cpp_builtins): Define
1916 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1918 2011-06-07 Jason Merrill <jason@redhat.com>
1920 * c-common.c (max_tinst_depth): Lower default to 900.
1922 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1924 2011-06-07 Richard Guenther <rguenther@suse.de>
1926 * c-common.c (c_common_nodes_and_builtins): Do not set
1927 size_type_node or call set_sizetype.
1929 2011-06-07 Dodji Seketeli <dodji@redhat.com>
1932 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1933 type when using pointer comparison to compare types.
1935 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1937 * c.opt: Add -Wdelete-non-virtual-dtor.
1938 * c-opts.c (c_common_handle_option): Include it in -Wall.
1940 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
1945 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1947 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1950 2011-05-27 Jakub Jelinek <jakub@redhat.com>
1953 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1954 C++ don't call c_common_truthvalue_conversion on void type arms.
1956 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
1958 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1959 (stmt_list_stack): Define.
1960 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1961 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1963 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1965 * c-common.c (warning_candidate_p): Check for BLOCKs.
1967 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1969 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1972 2011-05-25 Jakub Jelinek <jakub@redhat.com>
1974 * c-common.c (def_fn_type): Remove extra va_end.
1976 2011-05-23 Jason Merrill <jason@redhat.com>
1979 * c-common.c (c_common_get_narrower): New.
1980 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1982 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
1984 * c-common.h (check_function_arguments): Tweak prototype of
1985 check_function_arguments.
1986 * c-common.c (check_function_arguments): Likewise. Adjust
1987 calls to check_function_nonnull, check_function_format, and
1988 check_function_sentinel.
1989 (check_function_sentinel): Take a FUNCTION_TYPE rather than
1990 separate attributes and typelist arguments. Use
1991 FOREACH_FUNCTION_ARGS to iterate over argument types.
1993 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1995 * c-common.c (c_common_reswords): Reorder.
1996 * c-common.h (rid): Likewise.
1998 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2000 * c-common.c (def_fn_type): Don't call build_function_type, call
2001 build_function_type_array or build_varargs_function_type_array
2003 (c_common_nodes_and_builtins): Likewise.
2005 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2007 * c-common.c (c_add_case_label): Omit the loc argument to
2009 * c-common.h (build_case_label): Remove.
2010 * c-semantics.c (build_case_label): Remove.
2012 2011-05-05 Joseph Myers <joseph@codesourcery.com>
2014 * c-objc.h (objc_start_method_definition): Update prototype.
2015 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2017 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2019 * c-common.c (check_main_parameter_types): Reindent. Don't use
2020 TYPE_ARG_TYPES directly.
2021 (handle_nonnull_attribute): Likewise.
2022 (sync_resolve_params): Likewise.
2023 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2024 to check_format_string.
2025 (handle_format_attribute): Likewise.
2026 (check_format_string): Take a function type to examine instead of
2027 a type list. Use a function_arg_iterator to step through argument
2030 2011-05-04 Richard Guenther <rguenther@suse.de>
2032 * c-common.c (fix_string_type): Use size_int for index type bounds.
2033 (start_fname_decls): Do not pass NULL to build_int_cst.
2034 (c_init_attributes): Likewise.
2035 * c-lex.c (c_lex_with_flags): Likewise.
2037 2011-04-27 Jason Merrill <jason@redhat.com>
2039 * c-common.c (make_tree_vector_from_list): New.
2040 * c-common.h: Declare it.
2042 2011-04-26 Richard Guenther <rguenther@suse.de>
2044 PR preprocessor/48248
2045 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2046 for output size with -P.
2048 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2050 * c-common.c (struct c_common_resword): Add __underlying_type.
2051 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2053 2011-04-20 Jim Meyering <meyering@redhat.com>
2055 * c-format.c (init_dollar_format_checking): Remove useless
2058 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2060 * c-objc.h (objc_get_interface_ivars): Removed.
2061 (objc_detect_field_duplicates): New.
2062 * stub-objc.c: Likewise.
2064 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2066 * stub-objc.c (objc_declare_protocols): Renamed to
2067 objc_declare_protocol.
2068 * c-objc.h: Likewise.
2070 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2072 * stub-objc.c (objc_declare_class): Updated argument name.
2074 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2076 * c-common.h (c_common_init_ts): Declare.
2077 * c-common.c (c_common_init_ts): Define.
2079 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2081 * c-objc.h (objc_build_message_expr): Updated prototype.
2082 * stub-objc.c (objc_build_message_expr): Likewise.
2084 2011-04-12 Martin Jambor <mjambor@suse.cz>
2086 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2089 2011-04-11 Richard Guenther <rguenther@suse.de>
2091 * c-common.c (complete_array_type): Build a range type of
2094 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2096 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2097 (handle_type_generic_attribute): Likewise.
2099 2011-04-07 Jason Merrill <jason@redhat.com>
2102 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2103 conversion from C++0x scoped enum.
2105 2011-04-06 Joseph Myers <joseph@codesourcery.com>
2107 * c-target-def.h: New file.
2108 * c-target.def: New file.
2109 * c-target.h: New file.
2110 * c-common.c (targetcm): Don't define here.
2111 * c-common.h (default_handle_c_option): Declare.
2112 * c-format.c: Include c-target.h instead of target.h.
2113 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2115 (default_handle_c_option): Move from targhooks.c.
2117 2011-03-29 Jakub Jelinek <jakub@redhat.com>
2119 PR preprocessor/48248
2120 * c-ppoutput.c (print): Add src_file field.
2121 (init_pp_output): Initialize it.
2122 (maybe_print_line): Don't optimize by adding up to 8 newlines
2123 if map->to_file and print.src_file are different file.
2124 (print_line): Update print.src_file.
2126 2011-03-25 Kai Tietz <ktietz@redhat.com>
2128 * c-ada-spec.c (compare_comment): Use filename_cmp
2129 instead of strcmp for filename.
2131 2011-03-25 Jeff Law <law@redhat.com>
2133 * c-family/c-common.c (def_fn_type): Add missing va_end.
2135 2011-03-25 Jason Merrill <jason@redhat.com>
2137 * c.opt: Add -std=c++03.
2139 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2141 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2143 2011-03-17 Kai Tietz
2146 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2147 Display allowed attributes for function pointer types.
2148 (pp_c_attributes_display): New function to display
2149 attributes having affects_type_identity flag set to true.
2150 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2152 * c-common.c (c_common_attribute_table):
2154 (c_common_format_attribute_table): Likewise.
2156 2011-03-18 Jason Merrill <jason@redhat.com>
2158 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2159 * c-common.h: Don't declare it here.
2160 * c-common.c: Or define it here.
2161 * c-opts.c (c_common_handle_option): Or set it here.
2164 * c-common.c (handle_transparent_union_attribute): Don't
2165 make a duplicate type in C++.
2167 2011-03-15 Jason Merrill <jason@redhat.com>
2169 * c-common.c (max_constexpr_depth): New.
2170 * c-common.h: Declare it.
2171 * c-opts.c (c_common_handle_option): Set it.
2172 * c.opt (fconstexpr-depth): New option.
2174 2011-03-11 Jason Merrill <jason@redhat.com>
2176 * c-common.c (attribute_takes_identifier_p): Add missing const.
2179 * c-common.c (attribute_takes_identifier_p): Assume that an
2180 unknown attribute takes an identifier.
2182 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2185 * c-common.c (c_type_hash): Call list_length instead of iterating
2186 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2188 2011-02-19 Jakub Jelinek <jakub@redhat.com>
2191 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2193 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2195 * c.opt (fobjc-abi-version=) New.
2196 (fobjc-nilcheck): New.
2198 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2201 * c-common.h (keyword_is_decl_specifier): Declare.
2202 * c-common.c (keyword_is_decl_specifier): Define.
2203 (keyword_is_function_specifier): New function.
2205 2011-01-26 Jakub Jelinek <jakub@redhat.com>
2208 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2209 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2212 2011-01-26 Arnaud Charlet <charlet@adacore.com>
2214 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2216 2011-01-26 Jakub Jelinek <jakub@redhat.com>
2219 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2220 after init_c_lex if pch_file is set.
2222 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2225 * c.opt (-fkeep-inline-dllexport): New switch.
2227 2011-01-12 Richard Guenther <rguenther@suse.de>
2230 * c-common.c (handle_weak_attribute): Warn instead of error
2231 on declaring an inline function weak.
2233 2011-01-05 Tom Tromey <tromey@redhat.com>
2235 * c-common.h (lvalue_error): Update.
2236 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
2239 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
2242 * c-objc.h (objc_finish_message_expr): Added argument to
2245 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2247 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2250 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
2252 * c-objc.h (objc_maybe_warn_exceptions): New.
2253 * stub-objc.c (objc_maybe_warn_exceptions): New.
2255 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
2257 * c-common.h (readonly_error): Declare.
2258 * c-common.c (readonly_error): Define.
2260 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
2262 * c-common.h (invalid_indirection_error): Declare.
2263 * c-common.c (invalid_indirection_error): Define.
2265 2010-12-03 Richard Guenther <rguenther@suse.de>
2268 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2269 (pp_c_unary_expression): Likewise.
2270 (pp_c_expression): Likewise.
2272 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2274 * c-common.h (objc_finish_function): New.
2275 (objc_non_volatilized_type): Removed.
2276 (objc_type_quals_match): Removed.
2277 * stub-objc.c (objc_finish_function): New.
2278 (objc_non_volatilized_type): Removed.
2279 (objc_type_quals_match): Removed.
2281 2010-11-30 Joseph Myers <joseph@codesourcery.com>
2283 * c-common.h (parse_optimize_options): Declare.
2284 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2285 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2287 2010-11-29 Joseph Myers <joseph@codesourcery.com>
2289 * c-opts.c (check_deps_environment_vars): Use getenv instead of
2291 * c-pch.c (O_BINARY): Don't define here.
2292 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2294 2010-11-25 Joseph Myers <joseph@codesourcery.com>
2296 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2297 targetm.except_unwind_info.
2299 2010-11-23 Joseph Myers <joseph@codesourcery.com>
2301 * c-opts.c (c_common_handle_option): Pass location to
2302 set_struct_debug_option.
2304 2010-11-23 Joseph Myers <joseph@codesourcery.com>
2306 * c-common.c (visibility_options): Move from ../opts.c.
2307 * c-common.h (struct visibility_flags, visibility_options):
2309 * c-opts.c (finish_options): Rename to c_finish_options.
2310 (c_common_init): Update call to finish_options.
2312 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
2315 * c-lex.c (lex_string): Check that each string in an Objective-C
2316 string concat sequence starts with either one or zero '@', and
2317 that there are no spurious '@' signs at the end.
2319 2010-11-20 Joseph Myers <joseph@codesourcery.com>
2321 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2322 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2323 HANDLE_PRAGMA_VISIBILITY.
2324 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
2325 HANDLE_PRAGMA_VISIBILITY): Don't define.
2326 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
2328 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
2333 * c-common.h (keyword_begins_type_specifier): Declare.
2334 (keyword_is_storage_class_specifier): Declare.
2335 (keyword_is_type_qualifier): Declare.
2336 * c-common.c (keyword_begins_type_specifier): New function.
2337 (keyword_is_storage_class_specifier): New function.
2338 (keyword_is_type_qualifier): Declare.
2340 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2343 * c-common.c (in_late_binary_op): Define.
2344 (c_common_truthvalue_conversion): Check in_late_binary_op before
2345 calling c_save_expr.
2346 * c-common.h (in_late_binary_op): Declare.
2348 2010-11-19 Joseph Myers <joseph@codesourcery.com>
2350 * c-opts.c (c_common_handle_option): Update calls to
2351 set_struct_debug_option.
2353 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
2355 * c-common.h (objc_declare_protocols): Added additional argument.
2356 * stub-objc.c (objc_declare_protocol): Same change.
2358 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
2361 * c-common.h (build_real_imag_expr): Declare.
2362 * c-semantics.c (build_real_imag_expr): Define.
2364 2010-11-17 Joseph Myers <joseph@codesourcery.com>
2366 * c-opts.c (c_common_parse_file): Take no arguments.
2367 * c-common.h (c_common_parse_file): Update prototype.
2369 2010-11-16 Jakub Jelinek <jakub@redhat.com>
2372 * c-common.c (warning_candidate_p): Don't track non-const calls
2375 2010-11-15 Ian Lance Taylor <iant@google.com>
2377 * c-lex.c (init_c_lex): Set macro debug callbacks if
2378 flag_dump_go_spec is set.
2380 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
2382 * c-common.h (objc_build_incr_expr_for_property_ref): New.
2383 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
2385 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
2387 PR preprocessor/45038
2388 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
2391 2010-11-12 Joseph Myers <joseph@codesourcery.com>
2393 * c-common.h (c_family_lang_mask): Declare.
2394 * c-opts.c (c_family_lang_mask): Make extern.
2395 * c-pragma.c (handle_pragma_diagnostic): Use
2396 control_warning_option.
2398 2010-11-12 Joseph Myers <joseph@codesourcery.com>
2400 * c-common.c (parse_optimize_options): Update call to
2402 * c-common.h (c_common_handle_option): Update prototype.
2403 * c-opts.c (c_common_handle_option): Take location_t parameter and
2404 pass it to other functions.
2406 2010-11-11 Joseph Myers <joseph@codesourcery.com>
2408 * c-opts.c (warning_as_error_callback): Remove.
2409 (c_common_initialize_diagnostics): Don't call
2410 register_warning_as_error_callback.
2411 (c_common_handle_option): Handle -Werror=normalized= here.
2413 2010-11-10 Joseph Myers <joseph@codesourcery.com>
2415 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
2417 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
2419 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
2420 Remove trailing '.' from diagnostics.
2421 * c.opt (Wwrite-strings_: Avoid '`' in help text.
2423 2010-11-10 Joseph Myers <joseph@codesourcery.com>
2425 * c-common.c (parse_optimize_options): Pass global_dc to
2427 * c-opts.c (c_common_handle_option): Pass &global_options to
2428 set_Wstrict_aliasing.
2429 * c.opt (v): Don't mark Common or document here.
2431 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
2434 * c-format.c (format_type): New type gcc_objc_string_format_type.
2435 (valid_stringptr_type_p): New.
2436 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
2437 (check_format_string): Pass expected type, use
2438 valid_stringptr_type_p (), check that the format string types are
2439 consistent with the format specification.
2440 (decode_format_attr): Warn if NSString is used outside objective-c.
2441 (format_types_orig): Add NSString.
2443 (format_flags): New.
2444 (check_format_arg): Handle format strings requiring an external parser.
2445 first_target_format_type: New variable.
2446 (handle_format_attribute): Set up first_target_format_type, pass the
2447 expected format arg string type to check_format_string().
2448 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
2449 * stub-objc.c (objc_string_ref_type_p): New.
2450 (objc_check_format_arg): New.
2452 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
2454 Fixed using the Objective-C 2.0 dot-syntax with class names.
2455 * c-common.h (objc_build_class_component_ref): New.
2456 * stub-objc.c (objc_build_class_component_ref): New.
2458 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2460 * c.opt (Wproperty-assign-default): New option.
2462 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
2464 Implemented -fobjc-std=objc1 flag.
2465 * c.opt (fobjc-std=objc1): New option.
2467 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
2469 Implemented format and noreturn attributes for Objective-C methods.
2470 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
2471 attribute for Objective-C methods.
2473 2010-10-31 Jason Merrill <jason@redhat.com>
2475 * c-common.c (conversion_warning, warn_for_collisions_1): Use
2478 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
2480 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
2481 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
2482 (objc_add_property_declaration): Removed arguments for copies and
2484 (objc_build_getter_call): Renamed to
2485 objc_maybe_build_component_ref.
2486 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2487 (objc_is_property_ref): New.
2488 * c-common.c (c_common_reswords): Removed copies and ivar.
2489 * stub-objc.c (objc_add_property_declaration): Removed arguments
2490 for copies and ivar.
2491 (objc_build_getter_call): Renamed to
2492 objc_maybe_build_component_ref.
2493 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
2494 (objc_is_property_ref): New.
2496 2010-10-29 Arnaud Charlet <charlet@adacore.com>
2497 Matthew Gingell <gingell@adacore.com>
2499 * c-ada-spec.c (separate_class_package): New function.
2500 (pp_ada_tree_identifier): Prefix references to C++ classes with the
2501 name of their enclosing package.
2502 (print_ada_declaration): Use separate_class_package.
2504 2010-10-27 Jason Merrill <jason@redhat.com>
2506 * c-common.c (c_common_reswords): Add __is_literal_type.
2507 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
2509 * c-common.c (check_case_value): Remove special C++ code.
2511 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2513 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
2514 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
2516 (objc_add_property_declaration): Added additional arguments.
2517 (objc_property_attribute_kind): Removed.
2518 (objc_set_property_attr): Removed.
2519 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
2521 * stub-objc.c (objc_add_property_declaration): Added additional
2523 (objc_set_property_attr): Removed.
2525 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
2527 * c-common.h (objc_add_property_variable): Renamed to
2528 objc_add_property_declaration. Added location argument.
2529 * stub-objc.c (objc_add_property_variable): Same change.
2531 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
2533 * c-common.h (objc_maybe_printable_name): New.
2534 * stub-objc.c (objc_maybe_printable_name): New.
2536 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2537 Andrew Pinski <pinskia@gmail.com>
2539 * c-common.h (c_common_mark_addressable_vec): Declare.
2540 * c-common.c (c_common_mark_addressable_vec): New function.
2542 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2544 * c-common.h (objc_set_method_type): Removed.
2545 (objc_add_method_declaration): Added boolean argument.
2546 (objc_start_method_definition): Same change.
2547 (objc_build_method_signature): Same change.
2548 * stub-objc.c (objc_set_method_type): Removed.
2549 (objc_add_method_declaration): Added boolean argument.
2550 (objc_start_method_definition): Same change.
2551 (objc_build_method_signature): Same change.
2553 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
2555 * c-common.h (finish_file): Removed.
2556 (objc_write_global_declarations): New.
2557 * c-opts.c (c_common_parse_file): Do not call finish_file.
2558 * stub-objc.c (objc_write_global_declarations): New.
2560 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2562 Implemented parsing @synthesize and @dynamic for
2563 Objective-C/Objective-C++.
2564 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
2565 (objc_add_synthesize_declaration): New.
2566 (objc_add_dynamic_declaration): New.
2567 * c-common.c (c_common_reswords): Add synthesize and dynamic.
2568 * stub-objc.c (objc_add_synthesize_declaration): New.
2569 (objc_add_dynamic_declaration): New.
2571 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
2574 * c-cppbuiltin.c (mode_has_fma): Move function here from
2575 builtins.c. Don't use the fma optab, instead just use the
2576 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
2579 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
2581 Merge from 'apple/trunk' branch on FSF servers.
2583 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
2586 * c-common.h (objc_non_volatilized_type): New declaration
2587 * stub-objc.c (objc_non_volatilized_type): New stub.
2589 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
2591 Merge from 'apple/trunk' branch on FSF servers.
2593 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
2596 * c-common.h (objc_diagnose_private_ivar): New decl.
2597 * stub-objc.c (objc_diagnose_private_ivar): New stub.
2599 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
2601 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
2602 * c-common.h (enum rid): Add RID_AT_PACKAGE.
2603 (objc_ivar_visibility_kind): New enum.
2604 (objc_set_visibility): Adjust prototype to use visibility enum.
2605 * stub-objc.c (objc_set_visibility): Adjust stub to use
2608 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2610 * c-cppbuiltin.c (builtin_define_float_constants): Emit
2611 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
2612 has the appropriate fma builtins.
2613 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
2615 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
2617 merge from FSF apple 'trunk' branch.
2618 2006 Fariborz Jahanian <fjahanian@apple.com>
2620 Radars 4436866, 4505126, 4506903, 4517826
2621 * c-common.c (c_common_resword): Define @property and its attributes.
2622 * c-common.h: Define property attribute enum entries.
2623 (OBJC_IS_PATTR_KEYWORD): New.
2624 (objc_property_attribute_kind): New enum.
2625 Declare objc_set_property_attr (), objc_add_property_variable (),
2626 objc_build_getter_call () and objc_build_setter_call ().
2627 * stub-objc.c (objc_set_property_attr): New stub.
2628 (objc_add_property_variable): Likewise.
2629 (objc_build_getter_call): Likewise.
2630 (objc_build_setter_call) Likewise.
2632 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
2634 merge from FSF apple 'trunk' branch.
2635 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
2637 Radar 3803157 (method attributes)
2638 * c-common.c (handle_deprecated_attribute): Recognize
2639 objc methods as valid declarations.
2640 * c-common.h: Declare objc_method_decl ().
2641 * stub-objc.c (objc_method_decl): New stub.
2643 2010-10-08 Joseph Myers <joseph@codesourcery.com>
2645 * c-common.c (parse_optimize_options): Call
2646 decode_cmdline_options_to_array_default_mask before
2647 decode_options. Update arguments to decode_options.
2648 * c-common.h (c_common_init_options_struct): Declare.
2649 * c-opts.c (c_common_init_options_struct): New. Split out from
2650 c_common_init_options.
2652 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
2654 Implemented fast enumeration for Objective-C.
2655 * c-common.h (objc_finish_foreach_loop): New.
2656 * stub-objc.c (objc_finish_foreach_loop): New.
2658 2010-10-05 Joseph Myers <joseph@codesourcery.com>
2660 * c-common.h (struct diagnostic_context): Don't declare here.
2661 (c_common_initialize_diagnostics): Declare using
2662 diagnostic_context typedef.
2663 * c-opts.c (c_common_handle_option): Pass global_dc to
2664 handle_generated_option.
2666 2010-10-04 Joseph Myers <joseph@codesourcery.com>
2668 * c-opts.c (c_common_handle_option): Pass &global_options_set to
2669 handle_generated_option.
2671 2010-10-03 Ian Lance Taylor <iant@google.com>
2673 * c.opt (-fplan9-extensions): New option.
2675 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2677 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
2679 (c_cpp_builtins): Call functions from cppbuiltin.c instead
2680 of duplicating code.
2682 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
2684 * c-common.c: Add two new entries for @optional
2685 and @required keywords.
2687 merge from FSF 'apple/trunk' branch.
2688 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
2691 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
2692 objective-c keywords.
2693 (objc_set_method_opt): New declaration.
2694 * stub-objc.c (objc_set_method_opt): New stub.
2696 2010-09-30 Joseph Myers <joseph@codesourcery.com>
2698 * c-common.c (handle_optimize_attribute): Pass &global_options to
2699 cl_optimization_save and cl_optimization_restore.
2700 * c-opts.c (c_common_handle_option): Pass &global_options to
2701 handle_generated_option.
2702 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
2703 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
2704 &global_options to cl_optimization_restore.
2706 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
2708 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2709 Objective-C/Objective-C++ keywords.
2711 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2713 Merge from 'apple/trunk' branch on FSF servers.
2715 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
2718 * c-common.h (objc_check_global_decl): New declaration.
2719 * stub-objc.c (objc_check_global_decl): New stub.
2721 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2723 * c.opt: Don't use VarExists.
2725 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2727 * c-common.c (c_cpp_error): Update names of diagnostic_context
2729 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2730 cl_optimization members.
2731 * c-opts.c (warning_as_error_callback, c_common_handle_option,
2732 sanitize_cpp_opts, finish_options): Update names of cpp_options
2735 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2737 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
2738 (objc_is_reserved_word): Removed.
2739 * c-common.c: Updated comments.
2740 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2741 objc_is_reserved_word.
2742 * stub-objc.c (objc_is_reserved_word): Removed.
2744 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2746 * c-common.h (objc_add_method_declaration): Adjust prototype to
2748 (objc_start_method_definition): Likewise.
2749 (objc_build_keyword_decl): Likewise.
2750 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2751 (objc_start_method_definition): Likewise.
2752 (objc_build_keyword_decl): Likewise.
2754 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2756 * c-common.h (objc_start_class_interface): Adjust prototype.
2757 (objc_start_category_interface): Likewise.
2758 (objc_start_protocol): Likewise.
2759 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2760 (objc_start_class_interface): Likewise.
2761 (objc_start_category_interface): Likewise.
2763 2010-09-27 Ian Lance Taylor <iant@google.com>
2765 * c-common.c (c_common_attribute_table): Add no_split_stack.
2766 (handle_no_split_stack_attribute): New static function.
2768 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
2770 Merge from 'apple/trunk' branch on FSF servers.
2772 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
2775 * c-common.h (objc_have_common_type): New declaration.
2776 * stub-objc.c (objc_have_common_type): New stub.
2778 2005-06-22 Ziemowit Laski <zlaski@apple.com>
2781 * c-common.h (objc_common_type): New prototype.
2782 * stub-objc.c (objc_common_type): New stub.
2784 2010-09-24 Jan Hubicka <jh@suse.cz>
2786 * c-common.c (handle_leaf_attribute): New function.
2787 (struct attribute_spec c_common_att): Add leaf.
2789 2010-09-22 Joseph Myers <joseph@codesourcery.com>
2791 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2792 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2793 -dump, -dump=, -imacros, -imacros=, -include, -include=,
2794 -include-barrier, -include-directory, -include-directory=,
2795 -include-directory-after, -include-directory-after=,
2796 -include-prefix, -include-prefix=, -include-with-prefix,
2797 -include-with-prefix=, -include-with-prefix-after,
2798 -include-with-prefix-after=, -include-with-prefix-before,
2799 -include-with-prefix-before=, -no-integrated-cpp,
2800 -no-line-commands, -no-standard-includes, -no-warnings, -output,
2801 -output=, -pedantic, -pedantic-errors, -preprocess,
2802 -print-missing-file-dependencies, -trace-includes, -traditional,
2803 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2804 -user-dependencies, -verbose, -write-dependencies,
2805 -write-user-dependencies, no-integrated-cpp, traditional): New.
2807 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2810 * c-common.h (objc_start_method_definition): Return bool instead
2812 * stub-objc.c (objc_start_method_definition): Return bool instead
2815 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2818 * c-common.h (objc_get_interface_ivars): New declaration.
2819 * stub-objc.c (objc_get_interface_ivars): New stub.
2821 2010-09-15 Ian Lance Taylor <iant@google.com>
2823 * c-common.c (parse_optimize_options): Do not capitalize warning
2824 messages. Remove period at end of warning message.
2826 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
2828 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2829 (handle_alias_attribute): ... here.
2830 (handle_ifunc_attribute): New.
2832 2010-09-06 Mark Mitchell <mark@codesourcery.com>
2834 * c-common.h (do_warn_double_promotion): Declare.
2835 * c-common.c (do_warn_double_promotion): Define.
2837 2010-09-05 Mark Mitchell <mark@codesourcery.com>
2839 * c.opt (Wdouble-promotion): New.
2841 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2843 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2844 fvtable-thunks, fxref): Mark no longer supported in help text.
2846 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2848 * c.opt (Wimport, fall-virtual, falt-external-templates,
2849 fdefault-inline, fenum-int-equiv, fexternal-templates,
2850 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2851 fname-mangling-version-, fnew-abi, fnonnull-objects,
2852 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2853 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2855 (fhandle-exceptions): Mark with Alias and Warn.
2856 * c-opts.c (c_common_handle_option): Don't handle options marked
2859 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2861 * c.opt (Wcomments, Werror-implicit-function-declaration,
2862 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2863 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2865 * c-common.c (option_codes): Use OPT_Wcomment instead of
2867 * c-opts.c (warning_as_error_callback, c_common_handle_option):
2868 Don't handle options marked as aliases.
2870 2010-08-25 Richard Guenther <rguenther@suse.de>
2872 * c-common.c (c_common_get_alias_set): Remove special
2873 handling for pointers.
2875 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2877 * c-common.c: Use FOR_EACH_VEC_ELT.
2878 * c-gimplify.c: Likewise.
2879 * c-pragma.c: Likewise.
2881 2010-08-16 Joseph Myers <joseph@codesourcery.com>
2883 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
2885 (MMDX): Change back to MMD. Mark NoDriverArg instead of
2887 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2888 instead of OPT_MDX and OPT_MMDX.
2890 2010-08-16 Joseph Myers <joseph@codesourcery.com>
2892 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2894 2010-08-12 Joseph Myers <joseph@codesourcery.com>
2896 * c.opt (MD, MMD): Change to MDX and MMDX.
2897 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2899 2010-08-11 Joseph Myers <joseph@codesourcery.com>
2901 * c-opts.c (c_common_handle_option): Call handle_generated_option
2902 instead of handle_option.
2904 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2906 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2907 (maybe_apply_renaming_pragma): Delete unneeded declarations.
2909 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2911 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
2912 (pending_redefine_extname): Change type to a VEC.
2913 (add_to_renaming_pragma_list): Update for new type of
2914 pending_redefine_extname.
2915 (maybe_apply_renaming_pragma): Likewise.
2917 2010-08-04 Arnaud Charlet <charlet@adacore.com>
2919 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2921 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2922 decide whether a type has already been declared/seen.
2923 Do not go to the original type.
2924 (dump_nested_types): New parameter forward.
2925 Generate forward declaration if needed and mark type as visited.
2926 (print_ada_declaration): Call dump_nested_types if not already done.
2927 Mark types as visited.
2929 2010-08-03 Joseph Myers <joseph@codesourcery.com>
2931 * c.opt (-print-pch-checksum): Remove option.
2932 * c-opts.c (c_common_handle_option): Don't handle
2933 OPT_print_pch_checksum.
2935 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2937 * c-common.h (c_common_handle_option): Update prototype and return
2939 * c-opts.c (c_common_handle_option): Update prototype and return
2940 value type. Update calls to handle_option and
2941 enable_warning_as_error.
2943 2010-07-27 Jakub Jelinek <jakub@redhat.com>
2946 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2948 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2950 * c-common.h (c_common_missing_argument): Remove.
2951 * c-opts.c (c_common_missing_argument): Remove.
2952 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2953 idirafter, imacros, include, isysroot, isystem, iquote): Add
2955 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2957 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2959 * c-common.h (c_common_option_lang_mask,
2960 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2962 (c_common_init_options): Update prototype.
2963 * c-opts.c (c_common_option_lang_mask): New.
2964 (c_common_initialize_diagnostics): Split out of
2965 c_common_init_options.
2966 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2968 (c_common_init_options): Update prototype. Use decoded options in
2969 search for -lang-asm.
2971 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
2973 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2974 * c-format.c: Likewise.
2976 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2978 * c-common.h: Include diagnostic-core.h. Error if already
2980 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2982 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2984 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2985 Do not include expr.h
2986 (vector_mode_valid_p): Move here.
2988 2010-06-21 DJ Delorie <dj@redhat.com>
2990 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2991 allow these pragmas anywhere.
2993 2010-06-14 Jakub Jelinek <jakub@redhat.com>
2996 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2997 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2998 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2999 ggc_strdup instead of xstrdup.
3001 2010-06-10 Jakub Jelinek <jakub@redhat.com>
3003 * c-cppbuiltin.c: Include cpp-id-data.h.
3004 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3005 (lazy_hex_fp_value): New function.
3006 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3008 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3010 * c-gimplify.c: Do not include tree-flow.h
3012 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3015 * c-common.c: Rename targetm member:
3016 targetm.enum_va_list -> targetm.enum_va_list_p
3018 2010-06-28 Anatoly Sokolov <aesok@post.ru>
3020 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3022 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3024 * c-cppbuiltin.c: Do not include except.h.
3026 2010-06-24 Andi Kleen <ak@linux.intel.com>
3028 * c-common.c (warn_for_omitted_condop): New.
3029 * c-common.h (warn_for_omitted_condop): Add prototype.
3031 2010-06-21 Joseph Myers <joseph@codesourcery.com>
3033 * c.opt (lang-objc): Remove.
3034 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3036 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3038 * c-opts.c: Include "tm_p.h".
3040 2010-06-20 Joseph Myers <joseph@codesourcery.com>
3042 * c-common.c (parse_optimize_options): Update call to
3045 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3047 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3048 new type of types_used_by_cur_var_decl.
3050 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3053 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3054 for C++ standard compliance.
3056 2010-06-16 Jason Merrill <jason@redhat.com>
3058 * c.opt: Add -Wnoexcept.
3060 2010-06-16 Richard Guenther <rguenther@suse.de>
3063 * c-common.c (c_common_truthvalue_conversion): Remove
3064 premature and wrong optimization concering ADDR_EXPRs.
3066 2010-06-15 Arnaud Charlet <charlet@adacore.com>
3068 * c-ada-spec.c (dump_sloc): Remove column info.
3069 (is_simple_enum): New function.
3070 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3071 enum types when relevant.
3073 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3075 * c-common.c (conversion_warning): Warn at expression
3078 2010-06-10 Joseph Myers <joseph@codesourcery.com>
3080 * c-opts.c (c_common_handle_option): Don't handle
3083 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3085 * c-pragma.c (push_alignment): Use typed GC allocation.
3086 (handle_pragma_push_options): Likewise.
3088 * c-common.c (parse_optimize_options): Likewise.
3090 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3093 2010-06-07 Joseph Myers <joseph@codesourcery.com>
3095 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3096 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3097 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3098 flag_signed_bitfields, warn_strict_null_sentinel,
3099 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3100 flag_gen_declaration, flag_no_gnu_keywords,
3101 flag_implement_inlines, flag_implicit_templates,
3102 flag_implicit_inline_templates, flag_optional_diags,
3103 flag_elide_constructors, flag_default_inline, flag_rtti,
3104 flag_conserve_space, flag_access_control, flag_check_new,
3105 flag_new_for_scope, flag_weak, flag_working_directory,
3106 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3107 flag_enforce_eh_specs, flag_threadsafe_statics,
3108 flag_pretty_templates): Remove.
3109 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3110 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3111 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3112 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3113 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3114 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3115 flag_no_gnu_keywords, flag_implement_inlines,
3116 flag_implicit_templates, flag_implicit_inline_templates,
3117 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3118 flag_rtti, flag_conserve_space, flag_access_control,
3119 flag_check_new, flag_new_for_scope, flag_weak,
3120 flag_working_directory, flag_use_cxa_atexit,
3121 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3122 flag_threadsafe_statics, flag_pretty_templates,
3123 warn_strict_null_sentinel): Remove.
3124 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3125 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3126 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3127 fimplicit-inline-templates, fimplicit-templates,
3128 flax-vector-conversions, fms-extensions, fnil-receivers,
3129 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3130 frtti, fshort-double, fshort-enums, fshort-wchar,
3131 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3132 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3133 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3134 gen-decls, undef): Use Var.
3135 (fdefault-inline, foptional-diags): Document as doing nothing.
3136 * c-opts.c (c_common_handle_option): Remove cases for options now
3137 using Var. Mark ignored options as such.
3139 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3141 * c-common.c: Moved to here from parent directory.
3142 * c-common.def: Likewise.
3143 * c-common.h: Likewise.
3144 * c-cppbuiltin.c: Likewise.
3145 * c-dump.c: Likewise.
3146 * c-format.c: Likewise.
3147 * c-format.h : Likewise.
3148 * c-gimplify.c: Likewise.
3149 * c-lex.c: Likewise.
3150 * c-omp.c: Likewise.
3152 * c-opts.c: Likewise.
3153 * c-pch.c: Likewise.
3154 * c-ppoutput.c: Likewise.
3155 * c-pragma.c: Likewise.
3156 * c-pragma.h: Likewise.
3157 * c-pretty-print.c: Likewise.
3158 * c-pretty-print.h: Likewise.
3159 * c-semantics.c: Likewise.
3160 * stub-objc.c: Likewise.
3162 * c-common.c: Include gt-c-family-c-common.h.
3163 * c-pragma.c: Include gt-c-family-c-pragma.h.
3165 Copyright (C) 2010-2013 Free Software Foundation, Inc.
3167 Copying and distribution of this file, with or without modification,
3168 are permitted in any medium without royalty provided the copyright
3169 notice and this notice are preserved.