]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
dwarf2out.c (MAX_ARTIFICIAL_LABEL_BYTES): Increase to 40.
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
2f687306
DM
12017-08-21 David Malcolm <dmalcolm@redhat.com>
2
3 * c-common.c (check_function_arguments): Add "arglogs" param; pass
4 it to check_function_format.
5 * c-common.h (check_function_arguments): Add vec<location_t> *
6 param.
7 (check_function_format): Likewise.
8 * c-format.c (struct format_check_context): Add field "arglocs".
9 (check_function_format): Add param "arglocs"; pass it to
10 check_format_info.
11 (check_format_info): Add param "arglocs"; use it to initialize
12 new field of format_ctx.
13 (check_format_arg): Pass format_ctx->arglocs to new param of
14 check_format_info_main.
15 (class argument_parser): New field "arglocs".
16 (argument_parser::argument_parser): Add "arglocs_" param and use
17 it to initialize new field.
18 (argument_parser::check_argument_type): Pass new arglocs field to
19 check_format_types.
20 (check_format_info_main): Add param "arglocs", and use it when
21 constructing arg_parser.
22 (check_format_types): Add param "arglocs"; use it if non-NULL when
23 !EXPR_HAS_LOCATION (cur_param) to get at location information.
24
00aa1fa2
L
252017-08-18 H.J. Lu <hongjiu.lu@intel.com>
26
27 PR c/53037
28 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
29 (c_common_attribute_table): Add warn_if_not_aligned.
30 (handle_aligned_attribute): Renamed to ...
31 (common_handle_aligned_attribute): Remove argument, name, and add
32 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
33 (handle_aligned_attribute): New.
34 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
35
27be025d
MS
362017-08-14 Martin Sebor <msebor@redhat.com>
37
38 PR c/81117
39 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
40 (handle_nonstring_attribute): New function.
41
da67acb9
MS
422017-08-14 Martin Sebor <msebor@redhat.com>
43
44 PR c/81117
45 * c-format.h (T89_G): New macro.
46 * c-format.c (local_gcall_ptr_node): New variable.
47 (init_dynamic_diag_info): Initialize it.
48
a8b522b4
ML
492017-08-11 Martin Liska <mliska@suse.cz>
50
51 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
52 TARGET_SUPPORTS_ALIASES.
53
32129a17
DM
542017-08-10 David Malcolm <dmalcolm@redhat.com>
55
56 * c-common.c (c_parse_error): Add rich_location * param, using it
57 rather implicitly using input_location.
58 * c-common.h (c_parse_error): Add rich_location * param.
59
30af3a2b
MP
602017-08-09 Marek Polacek <polacek@redhat.com>
61
62 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
63 (c_common_truthvalue_conversion): Likewise.
64 * c-omp.c (c_finish_omp_atomic): Likewise.
65 * c-common.h (build_binary_op): Update declaration.
66
314e6352
ML
672017-08-08 Martin Liska <mliska@suse.cz>
68
69 * c-ada-spec.c: Include header files.
70 * c-ubsan.c: Likewise.
71 * c-warn.c: Likewise.
72
56b5041c
JJ
732017-08-07 Jakub Jelinek <jakub@redhat.com>
74
75 PR c/69389
76 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
77
db440138
EB
782017-08-07 Eric Botcazou <ebotcazou@adacore.com>
79
80 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
81 (print_ada_methods): Likewise.
82 (print_ada_declaration): Likewise.
83
577eec56
ML
842017-08-07 Martin Liska <mliska@suse.cz>
85
86 * array-notation-common.c: Add new includes.
87 * c-format.c( handle_format_attribute): Canonicalize a format
88 function name.
89 * c-lex.c (c_common_has_attribute): Canonicalize name of an
90 attribute.
91 * c-pretty-print.c: Add new include.
92
b854df3c
EB
932017-08-05 Eric Botcazou <ebotcazou@adacore.com>
94
95 * c-ada-spec.c (has_static_fields): Look only into variables.
96 (print_constructor): Add TYPE parameter and use it for the name.
97 (print_destructor): Likewise.
98 (print_ada_declaration): Adjust to new constructor/destructor names.
99 Adjust calls to print_constructor and print_destructor.
100 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
101 Look only into variables in the final loop.
102
9f2cb25e
EB
1032017-08-01 Eric Botcazou <ebotcazou@adacore.com>
104
105 * c-ada-spec.c (has_static_fields): Look only into fields.
106 (dump_generic_ada_node): Small tweak.
107 (dump_nested_types): Look only into fields.
108 (print_ada_declaration): Look only into methods. Small tweak.
109 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
110
f4bcd9eb
EB
1112017-08-01 Eric Botcazou <ebotcazou@adacore.com>
112
113 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
114 (dump_ada_function_declaration): Likewise.
115 (dump_generic_ada_node): Likewise.
116 (print_ada_declaration): Add support for const-qualified variables.
117
f34ebeb2
ML
1182017-07-31 Martin Liska <mliska@suse.cz>
119
120 PR sanitize/81530
121 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
122 Guard condition with flag_sanitize_p also with current_function_decl
123 non-null equality.
124 (ubsan_maybe_instrument_reference_or_call): Likewise.
125
218e5d04
UB
1262017-07-30 Uros Bizjak <ubizjak@gmail.com>
127
128 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
129
942047f2
EB
1302017-07-29 Eric Botcazou <ebotcazou@adacore.com>
131
132 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
133 for enumeral types.
134 (print_ada_declaration): Add missing guard for record types.
135
a40ff0ae
JJ
1362017-07-27 Jakub Jelinek <jakub@redhat.com>
137
138 PR c/45784
139 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
140 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
141 new COMPOUND_EXPRs around the rhs of the comparison.
142
06bd22f6
MP
1432017-07-27 Marek Polacek <polacek@redhat.com>
144
145 PR c/81417
146 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
147 the types.
148
036ea399
JJ
1492017-07-27 Jakub Jelinek <jakub@redhat.com>
150
151 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
152 (handle_noipa_attribute): New function.
153
417ca011
TD
1542017-07-07 Torsten Duwe <duwe@suse.de>
155
156 * c-attribs.c (c_common_attribute_table): Add entry for
157 "patchable_function_entry".
158
5aaa8fb4
NS
1592017-07-20 Nathan Sidwell <nathan@acm.org>
160
161 Remove TYPE_METHODS.
162 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
163 dump_ada_template, print_ada_methods,
164 print_ada_declaration): Member fns are on TYPE_FIELDS.
165
ff22eb12
NS
1662017-07-18 Nathan Sidwell <nathan@acm.org>
167
168 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
169
eea77d1f
DM
1702017-07-14 David Malcolm <dmalcolm@redhat.com>
171
172 * c-common.c (try_to_locate_new_include_insertion_point): New
173 function.
174 (per_file_includes_t): New typedef.
175 (added_includes_t): New typedef.
176 (added_includes): New variable.
177 (maybe_add_include_fixit): New function.
178 * c-common.h (maybe_add_include_fixit): New decl.
179
281ac396
MS
1802017-07-10 Martin Sebor <msebor@redhat.com>
181
182 PR other/81345
183 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
184
b6f43128
DM
1852017-07-06 David Malcolm <dmalcolm@redhat.com>
186
187 * c-common.c (selftest::c_family_tests): New.
188 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
189 (selftest::c_family_tests): New decl.
190
efbf55b0
MP
1912017-07-04 Marek Polacek <polacek@redhat.com>
192
193 PR c/81231
194 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
195 types.
196
6c86bd88
MP
1972017-07-04 Marek Polacek <polacek@redhat.com>
198
199 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
200
17a7218b
ML
2012017-06-28 Martin Liska <mliska@suse.cz>
202
203 PR ipa/81128
204 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
205 to a function declaration.
206
63010089
ML
2072017-06-28 Martin Liska <mliska@suse.cz>
208
209 PR driver/79659
210 * c.opt: Add IntegerRange to various options.
211
3e2becc4
MP
2122017-06-26 Marek Polacek <polacek@redhat.com>
213
214 PR c/80116
215 * c-common.h (warn_for_multistatement_macros): Declare.
216 * c-warn.c: Include "c-family/c-indentation.h".
217 (warn_for_multistatement_macros): New function.
218 * c.opt (Wmultistatement-macros): New option.
219 * c-indentation.c (guard_tinfo_to_string): No longer static.
220 Change the parameter type to "enum rid". Handle RID_SWITCH.
221 * c-indentation.h (guard_tinfo_to_string): Declare.
222
2db9b7cd
MG
2232017-06-23 Marc Glisse <marc.glisse@inria.fr>
224
225 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
226
c3684b7b
MS
2272017-06-15 Martin Sebor <msebor@redhat.com>
228
229 PR c++/80560
230 * c.opt (-Wclass-memaccess): New option.
231
e72c4afd
BK
2322017-06-14 Boris Kolpackov <boris@codesynthesis.com>
233
234 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
235
8a516588
MP
2362017-06-13 Marek Polacek <polacek@redhat.com>
237
238 PR objc/80949
239 * c-warn.c (do_warn_duplicated_branches): Return if any of the
240 branches is null.
241
45b2222a
ML
2422017-06-13 Martin Liska <mliska@suse.cz>
243
244 PR sanitize/78204
245 * c-attribs.c (add_no_sanitize_value): New function.
246 (handle_no_sanitize_attribute): Likewise.
247 (handle_no_sanitize_address_attribute): Use the function.
248 (handle_no_sanitize_thread_attribute): New function.
249 (handle_no_address_safety_analysis_attribute): Use
250 add_no_sanitize_value.
251 (handle_no_sanitize_undefined_attribute): Likewise.
252 * c-common.h: Declare new functions.
253 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
254 (ubsan_instrument_shift): Likewise.
255 (ubsan_instrument_bounds): Likewise.
256 (ubsan_maybe_instrument_array_ref): Likewise.
257 (ubsan_maybe_instrument_reference_or_call): Likewise.
258
a01f151f
JM
2592017-06-11 Jason Merrill <jason@redhat.com>
260
261 * c-ada-spec.c, c-pragma.c: Use id_equal.
262
3de4ac6d
MP
2632017-06-04 Marek Polacek <polacek@redhat.com>
264
265 PR c/80919
266 * c-format.c (matching_type_p): Return false if any of the types
267 requires structural equality.
268
2474f48f
MS
2692017-06-02 Martin Sebor <msebor@redhat.com>
270
271 PR c/80892
272 * c-warn.c (conversion_warning): Use -Wconversion for integer
273 conversion and -Wfloat-conversion for floating one.
274
40ffd95f
BE
2752017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
276
277 * c.opt (Wsizeof-pointer-div): New warning option.
278
3fa4634c
VR
2792017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
280
281 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
282 (Wcatch-value=1): Enable by -Wall.
283
f012c8ef
DM
2842017-05-30 David Malcolm <dmalcolm@redhat.com>
285
286 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
287 format_chars.
288 * c.opt (fdiagnostics-show-template-tree): New option.
289 (felide-type): New option.
290
63dbcd13
VR
2912017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
292
293 * c.opt (Wcatch-value=): New C++ warning flag.
294
be136b5c
NS
2952017-05-24 Nathan Sidwell <nathan@acm.org>
296
297 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
298 const casts to avoid warning.
299
3cd211af
MS
3002017-05-24 Martin Sebor <msebor@redhat.com>
301
302 PR c/80731
303 * c-common.h (unsafe_conversion_p): Add a function argument.
304 * c-common.c (unsafe_conversion_p): Same.
305 Add type names and values to diagnostics.
306 (scalar_to_vector): Adjust.
307 * c-warn.c (constant_expression_error): Add a function argument.
308 Add type names and values to diagnostics.
309 (conversion_warning): Add a function argument.
310 Add type names and values to diagnostics.
311 (warnings_for_convert_and_check): Same.
312
1ff7be5a
JM
3132017-05-19 Jason Merrill <jason@redhat.com>
314
315 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
316 enumerators.
317
ff502317
BE
3182017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
319
320 * c-format.c (locus): Move out of function scope,
321 add GTY attribute.
322
2a8a8d7b
NS
3232017-05-19 Nathan Sidwell <nathan@acm.org>
324
325 * c-opts.c (class_dump_file, class_dump_flags): Delete.
326 (c_common_parse_file): Remove class dump handling.
327 (get_dump_info): Likewise.
328
39aac208
RB
3292017-05-19 Richard Biener <rguenther@suse.de>
330
331 PR c++/80593
332 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
333 to alias-set zero memory.
334
6ecd2339
BE
3352017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
336
337 * c-format.c (local_tree_type_node): Add GTY attribute.
338
6574d78e
MP
3392017-05-18 Marek Polacek <polacek@redhat.com>
340
341 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
342 (c_common_fixed_point_type_for_size): Likewise.
343 (c_common_type_for_mode): Likewise.
344 (shorten_compare): Likewise.
345 (c_promoting_integer_type_p): Use false/true instead of 0/1.
346 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
347
e3455240
MP
3482017-05-18 Marek Polacek <polacek@redhat.com>
349
350 * c-common.c (self_promoting_args_p): Change the return type to bool.
351 Use false/true instead of 0/1.
352 * c-common.h (self_promoting_args_p): Update.
353
3fa8871b
MP
3542017-05-17 Marek Polacek <polacek@redhat.com>
355
356 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
357 * c-warn.c: Likewise.
358
b42cc3ca
VV
3592017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
360
361 Implement new C++ intrinsics __is_assignable and __is_constructible.
362 * c-common.c (__is_assignable, __is_constructible): New.
363 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
364
1a817418
ML
3652017-05-17 Martin Liska <mliska@suse.cz>
366
367 * c-common.h: Introduce dump_flags_t type and
368 use it instead of int type.
369 * c-gimplify.c (c_genericize): Likewise.
370 * c-opts.c: Likewise.
371
b2fa0a8b
MP
3722017-05-17 Marek Polacek <polacek@redhat.com>
373
374 * c-common.c (c_save_expr): Remove.
375 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
376 * c-common.h (c_save_expr): Remove declaration.
377
31c2d57d
VR
3782017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
379
380 PR c/35441
381 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
382 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
383 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
384 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
385 RDIV_EXPR.
386 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
387
684f84de
MP
3882017-05-09 Marek Polacek <polacek@redhat.com>
389
390 PR c/80525
391 * c-warn.c (unwrap_c_maybe_const): New.
392 (warn_logical_operator): Call it.
393
641da50a
NS
3942017-05-09 Nathan Sidwell <nathan@acm.org>
395
396 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
397 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
398
631238ac
MS
3992017-05-08 Martin Sebor <msebor@redhat.com>
400
401 PR translation/80280
402 * c-format.h (struct format_flag_spec): Add new member.
403 (T89_T): New macro.
404 * c-format.c (local_tree_type_node): New global.
405 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
406 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
407 (strfmon_flag_specs): Likewise.
408 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
409 with distinct quoting properties.
410 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
411 (flag_chars_t::validate): Add argument and handle bad quoting.
412 (check_format_info_main): Handle quoting problems.
413 (init_dynamic_diag_info): Simplify.
414
49f0c04c
JM
4152017-05-08 Jason Merrill <jason@redhat.com>
416
417 * c-opts.c (c_common_post_options): Update defaults for
418 flag_abi_version and flag_abi_compat_version.
419
56d35585
DM
4202017-05-05 David Malcolm <dmalcolm@redhat.com>
421
422 * c-common.c (c_cpp_error): Replace report_diagnostic
423 with diagnostic_report_diagnostic.
424
0f2c4a8f
MS
4252017-05-04 Martin Sebor <msebor@redhat.com>
426
427 PR translation/80280
428 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
429 (handle_weakref_attribute): Same.
430
6fe63fb4
NS
4312017-05-03 Nathan Sidwell <nathan@acm.org>
432
433 Canonicalize canonical type hashing
434 * c-common.c (complete_array_type): Use type_hash_canon.
435
815d9cc6
XR
4362017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
437
438 PR c++/80038
439 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
440 prototype.
441 (cilk_install_body_pedigree_operations): Likewise.
442 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
443 detatched.
444 (cilk_gimplify_call_params_in_spawned_fn): Remove.
445 (cilk_install_body_pedigree_operations): Likewise.
446 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
447 unwrapping.
448
f8a36447
JJ
4492017-04-27 Jakub Jelinek <jakub@redhat.com>
450
451 PR c++/80534
452 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
453 flag on non-aggregate element types.
454
7c145456
BE
4552017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
456
457 * c-common.c (c_type_hasher, type_hash_table): Remove.
458 (c_common_get_alias_set): Remove unreachable code.
459 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
460
c3cbcd45
VR
4612017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
462
463 * c.opt (Wextra-semi): New C++ warning flag.
464
8a59d466
JJ
4652017-04-20 Jakub Jelinek <jakub@redhat.com>
466
467 PR middle-end/80423
468 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
469
8487c9a5
JJ
4702017-04-18 Jakub Jelinek <jakub@redhat.com>
471
472 PR middle-end/79788
473 PR middle-end/80375
474 * c-common.c (c_common_type_for_mode): Don't handle
475 widest_*_literal_type_node here.
476 c_common_signed_or_unsigned_type): Likewise.
477 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
478 to *intTI_type_node or *intDI_type_node depending on whether
479 TImode is supported by the target or not.
480
3ee0fb02
ML
4812017-04-10 Martin Liska <mliska@suse.cz>
482
483 PR sanitizer/80350
484 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
485 doing an UBSAN check.
486
5764ee3c
JW
4872017-04-03 Jonathan Wakely <jwakely@redhat.com>
488
489 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
490
6f3af356
JJ
4912017-03-31 Jakub Jelinek <jakub@redhat.com>
492
493 PR c++/79572
494 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
495 tree *.
496 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
497 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
498 REFERENCE_TYPE.
499
f6a7a9d5
DM
5002017-03-31 David Malcolm <dmalcolm@redhat.com>
501
502 PR documentation/78732
503 * c.opt (Wendif-labels): Fix description to refer to
504 #else rather than #elif.
505
af88f557
JJ
5062017-03-31 Jakub Jelinek <jakub@redhat.com>
507
508 PR libstdc++/80251
509 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
510 * c-common.c (c_common_reswords): Add __is_aggregate trait.
511
a9e4a1a5
JJ
5122017-03-27 Jakub Jelinek <jakub@redhat.com>
513
514 PR middle-end/80162
515 * c-common.c (c_common_mark_addressable_vec): Don't set
516 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
517
3f01b620
MS
5182017-03-21 Martin Sebor <msebor@redhat.com>
519
520 PR c++/79548
521 * c-common.c (set_underlying_type): Mark type used only when
522 original del is declared unused.
523
2f6f187a
DM
5242017-03-10 David Malcolm <dmalcolm@redhat.com>
525
526 PR translation/79848
527 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
528 "%qs".
529
a02fa805
DM
5302017-03-10 David Malcolm <dmalcolm@redhat.com>
531
532 PR c/79921
533 * c-indentation.c (warn_for_misleading_indentation): Remove parens
534 from inform's message, so that xgettext can locate it.
535
822a132c
MP
5362017-03-09 Marek Polacek <polacek@redhat.com>
537
538 PR c++/79962
539 PR c++/79984
540 * c-attribs.c (handle_nonnull_attribute): Save the result of default
541 conversion to the attribute list.
542
bba81f1c
ML
5432017-03-09 Martin Liska <mliska@suse.cz>
544
545 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
546
108154ff
JM
5472017-03-03 Jason Merrill <jason@redhat.com>
548
549 * c.opt (Wnoexcept-type): New.
550
eb0e7c34
RB
5512017-03-02 Richard Biener <rguenther@suse.de>
552
553 PR c/79756
554 * c-common.c (c_common_mark_addressable_vec): Look through
555 C_MAYBE_CONST_EXPR.
556
9453ba0a
ML
5572017-02-28 Martin Liska <mliska@suse.cz>
558
559 * c.opt: Replace space with tabular for options of <number>
560 type.
561
6a825afe
ML
5622017-02-28 Martin Liska <mliska@suse.cz>
563
564 * c.opt: Fix --help=option -Q for options which are of
565 an enum type.
566
4227c9ad
JJ
5672017-02-24 Jakub Jelinek <jakub@redhat.com>
568
569 PR c++/79588
570 * c-common.c (check_function_restrict): New function.
571 (check_function_arguments): Add FNDECL argument. Call
572 check_function_restrict if -Wrestrict.
573 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
574 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
575 * c-common.h (check_function_arguments): Add FNDECL argument.
576 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
577
59909673
EB
5782017-02-24 Eric Botcazou <ebotcazou@adacore.com>
579
580 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
581 treatment of parameters with pointer-to-tagged type and tidy up.
582 (print_ada_methods): Remove the special treatment of C++ static member
583 functions.
584
54dcd526
ML
5852017-02-22 Martin Liska <mliska@suse.cz>
586
587 * c.opt: Replace inequality signs with square brackets
588 for -Wnornalized.
589
00bc9de3
JJ
5902017-02-21 Jakub Jelinek <jakub@redhat.com>
591
592 PR c++/79641
593 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
594 preserve quals.
595
97fcf744
JM
5962017-02-17 Joseph Myers <joseph@codesourcery.com>
597
598 * c-cppbuiltin.c (builtin_define_float_constants): Define
599 __DECIMAL_DIG__ to the value for long double.
600
c7545f1c
MP
6012017-02-15 Marek Polacek <polacek@redhat.com>
602
603 PR c/79515
604 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
605 conversion has occured.
606
c2e84327
DM
6072017-01-24 David Malcolm <dmalcolm@redhat.com>
608
609 * c-common.c (c_common_reswords): Add "__RTL".
610 * c-common.h (enum rid): Add RID_RTL.
611
2ebd93e1
MP
6122017-01-20 Marek Polacek <polacek@redhat.com>
613
614 PR c/64279
615 * c-common.h (do_warn_duplicated_branches_r): Declare.
616 * c-gimplify.c (c_genericize): Walk the function tree calling
617 do_warn_duplicated_branches_r.
618 * c-warn.c (expr_from_macro_expansion_r): New.
619 (do_warn_duplicated_branches): New.
620 (do_warn_duplicated_branches_r): New.
621 * c.opt (Wduplicated-branches): New option.
622
0d80ab91
DM
6232017-01-17 David Malcolm <dmalcolm@redhat.com>
624
625 PR c++/71497
626 * c-indentation.c (warn_for_misleading_indentation): Use the past
627 subjunctive in the note.
628
7f991c36
AH
6292017-01-17 Aldy Hernandez <aldyh@redhat.com>
630
631 PR c/79116
632 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
633 start type to integer_type.
634
1c70261c
JJ
6352017-01-16 Jakub Jelinek <jakub@redhat.com>
636
637 PR driver/49726
638 * c.opt (gen-decls): Add Driver flag.
639
1ddca3f3
PC
6402017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
641
642 Revert:
643 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
644
645 PR c++/71737
646 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
647
7d2f3f1d
PC
6482017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
649
650 PR c++/71737
651 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
652
bce6f760
MS
6532017-01-12 Martin Sebor <msebor@redhat.com>
654
655 (-Wformat-overflow): ...to this.
656
bf5fbf46
MS
6572017-01-11 Martin Sebor <msebor@redhat.com>
658
659 PR c/78768
660 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
661 Also enable for LTO.
662
e363df3f
JM
6632017-01-10 Jason Merrill <jason@redhat.com>
664
665 Implement P0195R2, C++17 variadic using.
666 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
667
bd2c6270
JJ
6682017-01-09 Jakub Jelinek <jakub@redhat.com>
669
670 PR translation/79019
671 PR translation/79020
672 * c.opt (Wnormalized=): Fix typo in description.
673
efcc8d38
MS
6742017-01-08 Martin Sebor <msebor@redhat.com>
675
676 PR middle-end/77708
677 * c.opt (-Wformat-truncation): New option.
678
435f3f7a
AO
6792017-01-06 Alexandre Oliva <aoliva@redhat.com>
680
681 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
682 value to unsigned short to fit in 4 hex digits without
683 warnings.
684
4e89adf9
EB
6852017-01-05 Eric Botcazou <ebotcazou@adacore.com>
686
687 * c.opt (fsso-struct): Add 'native' value.
688
cd445b54
ML
6892017-01-05 Martin Liska <mliska@suse.cz>
690
691 PR pch/78970
692 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
693 header.
694
a9342885
MP
6952017-01-04 Marek Polacek <polacek@redhat.com>
696
697 PR c++/64767
698 * c.opt (Wpointer-compare): New option.
699
fc73e60c
JJ
7002017-01-04 Jakub Jelinek <jakub@redhat.com>
701
702 PR driver/78957
703 * c.opt (fsso-struct=): Add RejectNegative.
704
cbe34bb5
JJ
7052017-01-01 Jakub Jelinek <jakub@redhat.com>
706
707 Update copyright years.
708
d4a6c0ea
ML
7092016-12-29 Martin Liska <mliska@suse.cz>
710
711 PR c/78933
712 * c.opt (strong-eval-order): Add RejectNegative keyword.
713
67a5ad7c
JM
7142016-12-22 Jason Merrill <jason@redhat.com>
715
716 Implement P0522R0, matching of template template arguments.
717 * c-cppbuiltin.c (c_cpp_builtins): Define
718 __cpp_template_template_args.
719
0dba7960
JJ
7202016-12-21 Jakub Jelinek <jakub@redhat.com>
721
722 PR bootstrap/78817
723 * c-common.c (struct nonnull_arg_ctx): New type.
724 (check_function_nonnull): Return bool instead of void. Use
725 nonnull_arg_ctx as context rather than just location_t.
726 (check_nonnull_arg): Adjust for the new context type, set
727 warned_p to true if a warning has been diagnosed.
728 (check_function_arguments): Return bool instead of void.
729 * c-common.h (check_function_arguments): Adjust prototype.
730
31bfc9b9
JM
7312016-12-21 Jason Merrill <jason@redhat.com>
732
733 * c.opt (-fnew-ttp-matching): New flag.
734 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
735
629b3d75
MJ
7362016-12-14 Martin Jambor <mjambor@suse.cz>
737
738 * c-omp.c: Include omp-general.h instead of omp-low.h.
739 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
740 name.
741
474da67e
MS
7422016-12-14 Martin Sebor <msebor@redhat.com>
743
744 PR c/17308
745 * c-common.c (check_nonnull_arg): Disable when optimization
746 is enabled.
747
fe366b87
MP
7482016-12-12 Marek Polacek <polacek@redhat.com>
749
750 PR c++/78647
751 * c-common.c (attribute_fallthrough_p): Return false for
752 error_mark_node.
753
8bd9f164
MS
7542016-12-08 Martin Sebor <msebor@redhat.com>
755
756 PR c/78284
757 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
758
060162e0
MS
7592016-12-08 Martin Sebor <msebor@redhat.com>
760
761 PR c/78165
1d0cf89a
MS
762 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
763 suffix.
060162e0 764
ee92e7ba
MS
7652016-12-07 Martin Sebor <msebor@redhat.com>
766
767 PR c/53562
768 PR middle-end/77784
769 PR middle-end/78149
770 PR middle-end/78138
771 * c.opt (-Wstringop-overflow): New option.
772
84b0769e
MO
7732016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
774
775 * c-attribs.c (asan odr indicator): New attribute.
776 (handle_asan_odr_indicator_attribute): New function.
777
7fa6a965
PK
7782016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
779
780 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
781 ptrdiff_type_node;
782
56d8ffc1
JG
7832016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
784
785 * c-common.c (excess_precision_mode_join): New.
786 (c_ts18661_flt_eval_method): New.
787 (c_c11_flt_eval_method): Likewise.
788 (c_flt_eval_method): Likewise.
789 * c-common.h (excess_precision_mode_join): New.
790 (c_flt_eval_method): Likewise.
791 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
792 (cpp_iec_559_value): Call it.
793 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
794 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
795 __FLT_EVAL_METHOD_TS_18661_3__.
796
04f0fcf7
JG
7972016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
798
799 * c-opts.c (c_common_post_options): Add logic to handle the default
800 case for -fpermitted-flt-eval-methods.
801
fb2675cb
PB
8022016-11-23 Paolo Bonzini <bonzini@gnu.org>
803
804 * c.opt (Wexpansion-to-defined): New.
805
ec1c5694
JJ
8062016-11-23 Jakub Jelinek <jakub@redhat.com>
807
808 PR target/78451
809 * c-pragma.c (handle_pragma_target): Don't replace
810 current_target_pragma, but chainon the new args to the current one.
811
730c9e75
NS
8122016-11-22 Nathan Sidwell <nathan@acm.org>
813
814 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 815 indentation and formatting.
730c9e75 816
89990732
MS
8172016-11-21 Martin Sebor <msebor@redhat.com>
818
819 * c.opt (-fprintf-return-value): Enable by default.
820
48330c93
BE
8212016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
822
823 PR c++/71973
824 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
825 * c-common.c (c_common_nodes_and_builtins): Initialize
826 const_tm_ptr_type_node.
827
0d939c95
MP
8282016-11-16 Marek Polacek <polacek@redhat.com>
829
830 PR c/78285
831 * c-common.c (c_add_case_label): Turn error_at calls into inform.
832
8e745a17
JJ
8332016-11-14 Jakub Jelinek <jakub@redhat.com>
834
835 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
836
1ee62b92 8372016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
838 Richard Biener <rguenther@suse.de>
839
840 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
841 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
842 * c.opt (fgimple): New option.
1ee62b92 843
22b15758
UB
8442016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
845
846 PR c/35503
847 * c-common.h (warn_for_restrict): Declare.
848 * c-warn.c: Include gcc-rich-location.h.
849 (warn_for_restrict): New function.
850 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
851 (gcc_cdiag_char_table): Likewise.
852 (gcc_cxxdiag_char_table): Likewise.
853 * c.opt (Wrestrict): New option.
854
4be719cd
EB
8552016-11-13 Eric Botcazou <ebotcazou@adacore.com>
856
857 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
858 for nested types only if the type is a record or union and dump SLOC.
859
4a826ca6
JM
8602016-11-09 Jason Merrill <jason@redhat.com>
861
862 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
863
2e955d50
JJ
8642016-11-09 Jakub Jelinek <jakub@redhat.com>
865
866 * c-ubsan.c (ubsan_instrument_shift): Handle split
867 -fsanitize=shift-base and -fsanitize=shift-exponent.
868
51dc6603
JM
8692016-11-07 Jason Merrill <jason@redhat.com>
870
871 * c.opt (Wc++1z-compat): New.
872 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
873
6dc4a604
ML
8742016-11-07 Martin Liska <mliska@suse.cz>
875
876 * c-warn.c (warn_for_unused_label): Save all labels used
877 in goto or in &label.
878
b302001e
JM
8792016-11-03 Jason Merrill <jason@redhat.com>
880
881 * c-cppbuiltin.c (c_cpp_builtins): Correct
882 __cpp_inheriting_constructors.
883
31f7f784
JM
8842016-11-01 Jason Merrill <jason@redhat.com>
885
2bc78e3c
JM
886 * c-cppbuiltin.c (c_cpp_builtins): Update
887 __cpp_inheriting_constructors.
888
31f7f784
JM
889 * c.opt (-fnew-inheriting-ctors): New.
890 * c-opts.c: Default to on for ABI 11+.
891
dcb466ec
JJ
8922016-10-31 Jakub Jelinek <jakub@redhat.com>
893
894 PR c++/77948
895 * c.opt (fext-numeric-literals): Add Var and Init.
896 * c-opts.c (c_common_handle_option): Don't clear
897 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
898 (c_common_post_options): Clear it here if not set
899 explicitly.
900
52e1b91e
AH
9012016-10-28 Aldy Hernandez <aldyh@redhat.com>
902
903 PR debug/77773
904 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
905 if NULL.
906
e16f1cc7
JJ
9072016-10-25 Jakub Jelinek <jakub@redhat.com>
908
909 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
910 * c-common.c (c_common_reswords): Add __builtin_launder.
911
f8348061
BE
9122016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
913
914 * c-common.c (c_common_truthvalue_conversion): Warn for
915 multiplications in boolean context. Fix the quoting of '<<' and '<'
916 in the shift warning.
917
eff89e01
BE
9182016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
919
920 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
921
24bc7bf4
JM
9222016-10-20 Jason Merrill <jason@redhat.com>
923
924 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
925
4c712374
BE
9262016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
927
928 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
929 integer shift ops in boolean context.
930
9312016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
932
933 * c.opt (Walloca): New.
934 (Walloca-larger-than=): New.
935 (Wvla-larger-than=): New.
936
8fa18c06
MP
9372016-10-17 Marek Polacek <polacek@redhat.com>
938
939 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
940 Return immediately when finding a match.
941 (warn_tautological_cmp): Remove a boolean variable that is no longer
942 needed.
943
b12b1915
MP
9442016-10-17 Marek Polacek <polacek@redhat.com>
945
946 * c-attribs.c: New file.
947 * c-common.c: Move attributes handling to c-attribs.c.
948 (get_nonnull_operand): No longer static.
949 * c-common.h: Move the declarations from c-attribs.c to its own section.
950
2045acd9
JM
9512016-10-14 Jason Merrill <jason@redhat.com>
952
953 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
954 and __cpp_deduction_guides.
955
14a2c9aa
JM
9562016-10-13 Jason Merrill <jason@redhat.com>
957
958 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
959
4d0cdd0c
TP
9602016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
961
962 * c-cppbuiltin.c: Include memmodel.h.
963 * c-opts.c: Likewise.
964 * c-pragma.c: Likewise.
965 * c-warn.c: Likewise.
966
70f6d5e1
JJ
9672016-10-12 Jakub Jelinek <jakub@redhat.com>
968
969 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
970 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
971 * c-opts.c (sanitize_cpp_opts): Initialize
972 cpp_opts->cpp_warn_implicit_fallthrough.
973
78f61294
MP
9742016-10-11 Marek Polacek <polacek@redhat.com>
975
976 * c-common.c (warning_candidate_p): Change the return type to bool
977 and return true/false instead of 1/0.
978 (vector_mode_valid_p): Likewise.
979
038b5cc0
MP
9802016-10-11 Marek Polacek <polacek@redhat.com>
981
982 * c-common.c (fold_for_warn): No longer static.
983 (bool_promoted_to_int_p): Likewise.
984 (c_common_get_narrower): Likewise.
985 (constant_expression_warning): Move to c-warn.c.
986 (constant_expression_error): Likewise.
987 (overflow_warning): Likewise.
988 (warn_logical_operator): Likewise.
989 (find_array_ref_with_const_idx_r): Likewise.
990 (warn_tautological_cmp): Likewise.
991 (expr_has_boolean_operands_p): Likewise.
992 (warn_logical_not_parentheses): Likewise.
993 (warn_if_unused_value): Likewise.
994 (strict_aliasing_warning): Likewise.
995 (sizeof_pointer_memaccess_warning): Likewise.
996 (check_main_parameter_types): Likewise.
997 (conversion_warning): Likewise.
998 (warnings_for_convert_and_check): Likewise.
999 (match_case_to_enum_1): Likewise.
1000 (match_case_to_enum): Likewise.
1001 (c_do_switch_warnings): Likewise.
1002 (warn_for_omitted_condop): Likewise.
1003 (readonly_error): Likewise.
1004 (lvalue_error): Likewise.
1005 (invalid_indirection_error): Likewise.
1006 (warn_array_subscript_with_type_char): Likewise.
1007 (warn_about_parentheses): Likewise.
1008 (warn_for_unused_label): Likewise.
1009 (warn_for_div_by_zero): Likewise.
1010 (warn_for_memset): Likewise.
1011 (warn_for_sign_compare): Likewise.
1012 (do_warn_double_promotion): Likewise.
1013 (do_warn_unused_parameter): Likewise.
1014 (record_locally_defined_typedef): Likewise.
1015 (maybe_record_typedef_use): Likewise.
1016 (maybe_warn_unused_local_typedefs): Likewise.
1017 (maybe_warn_bool_compare): Likewise.
1018 (maybe_warn_shift_overflow): Likewise.
1019 (warn_duplicated_cond_add_or_warn): Likewise.
1020 (diagnose_mismatched_attributes): Likewise.
1021 * c-common.h: Move the declarations from c-warn.c to its own section.
1022 * c-warn.c: New file.
1023
627be19f
JM
10242016-10-08 Jason Merrill <jason@redhat.com>
1025
1026 * c-common.c (c_common_truthvalue_conversion): Don't distribute
1027 into COND_EXPR in C++.
1028
7bad794a
JJ
10292016-10-08 Jakub Jelinek <jakub@redhat.com>
1030
1031 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
1032 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
1033 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
1034
be845b04
JJ
10352016-10-07 Jakub Jelinek <jakub@redhat.com>
1036
1037 Implement LWG2296 helper intrinsic
1038 * c-common.h (enum rid): Add RID_ADDRESSOF.
1039 * c-common.c (c_common_reswords): Add __builtin_addressof.
1040
c09c4992
BE
10412016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
1042
1043 PR c++/77700
1044 * c-common.c (c_common_truthvalue_conversion): Warn also for
1045 suspicious enum values in boolean context.
1046
342cfb3e
JJ
10472016-10-06 Jakub Jelinek <jakub@redhat.com>
1048
1049 Implement P0258R2 - helper for C++17
1050 std::has_unique_object_representations trait
1051 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
1052 * c-common.c (c_common_reswords): Add
1053 __has_unique_object_representations.
1054
2e69f143
JJ
10552016-10-05 Jakub Jelinek <jakub@redhat.com>
1056
1057 PR sanitizer/66343
1058 * c-ubsan.c (ubsan_instrument_return): Don't call
1059 initialize_sanitizer_builtins here.
1060
700fff34
BE
10612016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1062
1063 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1064 conditional expression in boolean context when only one arm is
1065 non-boolean.
1066
9563bfcd
JJ
10672016-10-05 Jakub Jelinek <jakub@redhat.com>
1068
04a32443
JJ
1069 PR sanitizer/77823
1070 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1071 is not integral.
1072
9563bfcd
JJ
1073 * c-common.c (c_common_reswords): Update comment for C++11.
1074
f1644724
JM
10752016-10-04 Jason Merrill <jason@redhat.com>
1076
1077 * c-common.c (make_tree_vector_from_ctor): New.
1078 * c-common.h: Declare it.
1079
5a79befb
JJ
10802016-10-04 Jakub Jelinek <jakub@redhat.com>
1081
1082 * c-cppbuiltin.c (c_cpp_builtins): Don't define
1083 __LIBGCC_JCR_SECTION_NAME__.
1084
1633d3b9
BE
10852016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
1086
1087 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1088 left shift in boolean context.
1089
a2c6e7f2
JJ
10902016-09-29 Jakub Jelinek <jakub@redhat.com>
1091
1092 Implement P0001R1 - C++17 removal of register storage class specifier
1093 * c.opt (Wregister): New warning.
1094 * c-opts.c (c_common_post_options): Enable -Wregister by
1095 default for C++17.
1096
75304c87
JG
10972016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
1098
1099 * c-opts.c (c_common_post_options): Remove special case for
1100 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1101 in C++.
1102
bbfac6da
JJ
11032016-09-27 Jakub Jelinek <jakub@redhat.com>
1104
6e39060a
JJ
1105 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1106 -std=c++1z.
1107
bbfac6da
JJ
1108 * c-ada-spec.c (print_ada_declaration): Remove break after return.
1109
e73cf9a2
TP
11102016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1111
1112 * c-common.c: Include memmodel.h.
1113
c6147dc4
MP
11142016-09-26 Marek Polacek <polacek@redhat.com>
1115
1116 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1117
81fea426
MP
11182016-09-26 Marek Polacek <polacek@redhat.com>
1119
1120 PR c/7652
1121 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1122 (handle_fallthrough_attribute): New function.
1123 (attribute_fallthrough_p): New function.
1124 * c-common.h (attribute_fallthrough_p): Declare.
1125
9a2300e9
MP
11262016-09-24 Marek Polacek <polacek@redhat.com>
1127
1128 PR c/77490
1129 * c.opt (Wbool-operation): New.
1130
a09e9e35
BE
11312016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1132
1133 * c-common.c (c_common_truthvalue_conversion): Inhibit
1134 Wint-in-bool-context warning with from_macro_definition_at.
1135 Mention the expression will always evaluate to true.
1136
d43b4ccc
MS
11372016-09-21 Martin Sebor <msebor@redhat.com>
1138
1139 PR bootstrap/77676
1140 * c.opt (fprintf-return-value): Temporarily initialize to zero
1141 to unblock bootstrap failures.
1142
2e1c20b1
JJ
11432016-09-21 Jakub Jelinek <jakub@redhat.com>
1144
1145 PR c++/77651
1146 * c.opt (Waligned-new=): Add RejectNegative.
1147 (faligned-new=): Likewise. Spelling fix - change
1148 aligned_new_threshhold to aligned_new_threshold.
1149 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1150 to aligned_new_threshold.
1151
88d0c3f0
MS
11522016-09-20 Martin Sebor <msebor@redhat.com>
1153
1154 PR middle-end/49905
1155 * c.opt: Add -Wformat-length and -fprintf-return-value.
1156
144a96e4
BE
11572016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1158
1159 PR c++/77434
1160 * c.opt (Wint-in-bool-context): New warning.
1161 * c-common.c (c_common_truthvalue_conversion): Warn on integer
1162 constants in boolean context.
1163
63012d9a
JM
11642016-09-19 Joseph Myers <joseph@codesourcery.com>
1165
1166 * c-common.c (max_align_t_align): Also consider alignment of
1167 float128_type_node.
1168
931388ce
JM
11692016-09-15 Jason Merrill <jason@redhat.com>
1170
1171 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1172 DECL_EXTERNAL.
1173
38711381
JM
11742016-09-14 Jason Merrill <jason@redhat.com>
1175
1176 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1177 limit FIELD_DECL, either.
1178
e51fbec3
MP
11792016-09-14 Marek Polacek <polacek@redhat.com>
1180
1181 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1182 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1183 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1184
254830ba
DM
11852016-09-13 David Malcolm <dmalcolm@redhat.com>
1186
1187 * c-common.c (warn_logical_not_parentheses): Replace
1188 rich_location::add_fixit_insert calls with add_fixit_insert_before
1189 and add_fixit_insert_after, eliminating the "next_loc" calculation.
1190
42763690
JM
11912016-09-13 Jason Merrill <jason@redhat.com>
1192 Tom de Vries <tom@codesourcery.com>
1193
1194 PR c++/77427
1195 * c-common.c (set_underlying_type): Don't treat array as builtin type.
1196
9453eee9
JM
11972016-09-13 Jason Merrill <jason@redhat.com>
1198
1199 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1200 limit types at all.
1201
e96809e3
JM
12022016-09-12 Jason Merrill <jason@redhat.com>
1203
1204 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1205 bit/byte confusion, allow large alignment for types.
1206
54dcdb88
BE
12072016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1208
1209 PR c++/77496
1210 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1211
d1463eb9
DM
12122016-09-12 David Malcolm <dmalcolm@redhat.com>
1213
1214 PR c/72858
1215 * c-format.c (argument_parser::check_argument_type): Add params
1216 "type_start" and "conversion_char". Use the former to generate
1217 offset_to_type_start and pass it and conversion_char to
1218 check_format_types.
1219 (check_format_info_main): Capture the start of the type
1220 information as "type_start", and pass it an format_char
1221 to arg_parser.check_argument_type.
1222 (check_format_types): Provide an example in the leading comment.
1223 Add params "offset_to_type_start" and "conversion_char"; pass
1224 them to format_type_warning calls.
1225 (test_get_modifier_for_format_len): Likewise.
1226 (matching_type_p): New function.
1227 (get_format_for_type): Add param "conversion_char" and move
1228 implementation into...
1229 (get_format_for_type_1): ...new function, called twice.
1230 Use new function matching_type_p rather than checking for
1231 TYPE_CANONICAL equality.
1232 (get_corrected_substring): New function.
1233 (format_type_warning): Provide an example in the leading comment.
1234 Add params "offset_to_type_start" and "conversion_char". Replace
1235 call to get_format_for_type with call to get_corrected_substring
1236 and move rejection of hints for widths/precisions there.
1237 (assert_format_for_type_streq): Add param "conversion_char".
1238 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1239 (test_get_format_for_type_printf): Add conversion chars to the
1240 tests, adding coverage for various combinations of integer
1241 vs double conversions, and for preserving octal and hexadecimal
1242 conversions.
1243 (test_get_format_for_type_scanf): Add conversion chars to the
1244 tests.
1245
5b28efbb
TV
12462016-09-10 Tom de Vries <tom@codesourcery.com>
1247
1248 PR C/71602
1249 * c-common.c (build_va_arg): Handle more strict
1250 targetm.canonical_va_list_type. Replace first argument type error with
1251 assert.
1252
3f0177e7
MS
12532016-09-09 Martin Sebor <msebor@redhat.com>
1254
1255 PR c/77520
1256 PR c/77521
1257 * c-format.c (argument_parser::find_format_char_info): Use %qc
1258 format directive unconditionally.
1259
af63ba4b
JM
12602016-09-09 Jason Merrill <jason@redhat.com>
1261
1262 Implement C++17 new of over-aligned types.
1263 * c.opt: Add -faligned-new and -Waligned-new.
1264 * c-common.c (max_align_t_align): Split out from...
1265 (cxx_fundamental_alignment_p): ...here.
1266 * c-common.h: Declare it.
1267 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1268
c65248cb
JM
12692016-09-09 Joseph Myers <joseph@codesourcery.com>
1270
1271 * c-cppbuiltin.c (builtin_define_type_width): New function.
1272 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1273 macros.
1274
e5106e27
DM
12752016-09-07 David Malcolm <dmalcolm@redhat.com>
1276
1277 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1278 a POINTER_TYPE.
1279 (substring_loc::get_location): Move to substring-locations.c,
1280 keeping implementation as...
1281 (c_get_substring_location): New function, from the above, reworked
1282 to use accessors rather than member lookup.
1283 * c-common.h (class substring_loc): Move to substring-locations.h,
1284 replacing with a forward decl.
1285 (c_get_substring_location): New decl.
1286 * c-format.c: Include "substring-locations.h".
1287 (format_warning_va): Move to substring-locations.c.
1288 (format_warning_at_substring): Likewise.
1289
a42e7952
MS
12902016-09-06 Martin Sebor <msebor@redhat.com>
1291
1292 PR c/77336
1293 * c-format.c (check_function_format): Avoid issuing warnings for
1294 functions unless they call format functions with non-constant
1295 format strings.
1296
b772a565
RB
12972016-09-06 Richard Biener <rguenther@suse.de>
1298
1299 PR c/77450
1300 * c-common.c (c_common_mark_addressable_vec): Handle
1301 COMPOUND_LITERAL_EXPR.
1302
25ff5dd3
MP
13032016-09-05 Marek Polacek <polacek@redhat.com>
1304
1305 PR c/77423
1306 * c-common.c (bool_promoted_to_int_p): New function.
1307 (expr_has_boolean_operands_p): New function.
1308 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1309 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1310
21234eb5
TV
13112016-09-04 Tom de Vries <tom@codesourcery.com>
1312
1313 revert:
1314 2016-08-29 Tom de Vries <tom@codesourcery.com>
1315
1316 * c-common.c (build_va_arg): Replace first argument type error
1317 with assert.
1318
9dc5773f
JJ
13192016-09-02 Jakub Jelinek <jakub@redhat.com>
1320
1321 PR c/65467
1322 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1323 (c_finish_omp_for): Reject _Atomic qualified iterators.
1324
13252016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
1326
1327 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1328 size to guarantee it fits the output of the formatted function
1329 regardless of its arguments.
1330
295844f6
MP
13312016-09-01 Marek Polacek <polacek@redhat.com>
1332
1333 PR c/7652
1334 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
1335 FALLTHRU comments.
1336
3d06b6f2
MP
13372016-08-29 Marek Polacek <polacek@redhat.com>
1338
1339 PR c/77292
1340 * c-common.c (warn_logical_not_parentheses): Don't warn for
1341 a comparison or a logical operator.
1342
34cedad5
TV
13432016-08-29 Tom de Vries <tom@codesourcery.com>
1344
1345 * c-common.c (build_va_arg): Fix type comparison assert.
1346
f162d717
TV
13472016-08-29 Tom de Vries <tom@codesourcery.com>
1348
1349 * c-common.c (build_va_arg): Replace first argument type error
1350 with assert.
1351
ba9bbd6f
TV
13522016-08-29 Tom de Vries <tom@codesourcery.com>
1353
1354 PR c/77398
1355 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1356 with error_mark_node as va_list instead of with illegal va_list.
1357
ebef225f
MP
13582016-08-25 Marek Polacek <polacek@redhat.com>
1359 David Malcolm <dmalcolm@redhat.com>
1360
1361 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1362 * c-common.h (warn_logical_not_parentheses): Update declaration.
1363
b00e6e75
MP
13642016-08-22 Marek Polacek <polacek@redhat.com>
1365
1366 PR c++/77321
1367 * c-common.c (warn_for_memset): Check type for null.
1368
6dc198e3
JM
13692016-08-22 Joseph Myers <joseph@codesourcery.com>
1370
1371 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1372 _FloatNx types for suffixes for built-in functions.
1373
c65699ef
JM
13742016-08-19 Joseph Myers <joseph@codesourcery.com>
1375
1376 PR c/32187
1377 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1378 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1379 (RID_FLOAT128X): New enum rid values.
1380 (CASE_RID_FLOATN_NX): New macro.
1381 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1382 keywords.
1383 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1384 corresponding complex types.
1385 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1386 _FloatNx and corresponding complex types.
1387 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1388 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1389 and _FloatNx types for the widest type for determining
1390 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1391 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1392 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1393 and _FloatNx types.
1394 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1395 constants.
1396 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1397 _FloatNx types.
1398
cc015f3a
DM
13992016-08-18 David Malcolm <dmalcolm@redhat.com>
1400
1401 * c-opts.c (c_diagnostic_finalizer): Update for change to
1402 diagnostic_show_locus.
1403
cb18fd07
DM
14042016-08-18 David Malcolm <dmalcolm@redhat.com>
1405
1406 * c-common.c: Include "spellcheck.h".
1407 (cb_get_suggestion): New function.
1408 * c-common.h (cb_get_suggestion): New decl.
1409 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1410 cb_get_suggestion.
1411
a76989dc
MP
14122016-08-18 Marek Polacek <polacek@redhat.com>
1413
1414 PR c/71514
1415 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1416 and pointer-to-VLA.
1417
65e736c0
DM
14182016-08-16 David Malcolm <dmalcolm@redhat.com>
1419
1420 PR c/72857
1421 * c-common.c (substring_loc::get_range): Rename to...
1422 (substring_loc::get_location): ...this, converting param from a
1423 source_range * to a location_t *. Call
1424 get_source_location_for_substring rather than
1425 get_source_range_for_substring, and pass in m_caret_idx.
1426 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1427 (substring_loc::get_range): Replace with...
1428 (substring_loc::get_location): ...this.
1429 (substring_loc::set_caret_index): New method.
1430 (substring_loc): Add field m_caret_idx.
1431 * c-format.c (format_warning_va): Update for above changes.
1432 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1433 clashing with type name.
1434 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1435 (check_argument_type): Likewise.
1436 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1437 Use a copy when emitting warnings, setting the caret index from TYPE.
1438
7e1dde14 14392016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 1440 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
1441
1442 * c-ada-spec.c (dump_number): New function.
1443 (handle_escape_character): Likewise.
1444 (print_ada_macros): Add handling of constant integers and strings.
1445
191816a3
MP
14462016-08-12 Marek Polacek <polacek@redhat.com>
1447
1448 PR c/7652
1449 * c-common.c (scalar_to_vector): Adjust fall through comment.
1450 * c-opts.c (c_common_handle_option): Likewise.
1451 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1452 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1453 fall through comment.
1454 * cilk.c (extract_free_variables): Add FALLTHRU.
1455
452df4a4
JM
14562016-08-10 Jason Merrill <jason@redhat.com>
1457
1458 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1459
f3365c12
JM
14602016-08-09 Jason Merrill <jason@redhat.com>
1461
1462 * c-common.c (c_common_attribute_table): vector_size affects type
1463 identity.
1464
f0bc3323
MP
14652016-08-09 Marek Polacek <polacek@redhat.com>
1466
1467 PR c/7652
1468 * c-ada-spec.c (dump_generic_ada_node): Add return.
1469
98e5a19a
JM
14702016-08-09 Jason Merrill <jason@redhat.com>
1471
1472 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1473 C++17 constexpr lambdas.
1474
895aa8e1
DM
14752016-08-08 David Malcolm <dmalcolm@redhat.com>
1476
1477 PR c/64955
1478 * c-common.h (selftest::c_format_c_tests): New declaration.
1479 (selftest::run_c_tests): New declaration.
1480 * c-format.c: Include "selftest.h.
1481 (format_warning_va): Add param "corrected_substring" and use
1482 it to add a replacement fix-it hint.
1483 (format_warning_at_substring): Likewise.
1484 (format_warning_at_char): Update for new param of
1485 format_warning_va.
1486 (argument_parser::check_argument_type): Pass "fki" to
1487 check_format_types.
1488 (check_format_types): Add param "fki" and pass it to
1489 format_type_warning.
1490 (deref_n_times): New function.
1491 (get_modifier_for_format_len): New function.
1492 (selftest::test_get_modifier_for_format_len): New function.
1493 (get_format_for_type): New function.
1494 (format_type_warning): Add param "fki" and use it to attempt
1495 to provide hints for argument types when calling
1496 format_warning_at_substring.
1497 (selftest::get_info): New function.
1498 (selftest::assert_format_for_type_streq): New function.
1499 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1500 (selftest::test_get_format_for_type_printf): New function.
1501 (selftest::test_get_format_for_type_scanf): New function.
1502 (selftest::c_format_c_tests): New function.
1503
e52ed3fe
DM
15042016-08-08 David Malcolm <dmalcolm@redhat.com>
1505
1506 PR c/52952
1507 * c-format.c: Include "diagnostic.h".
1508 (location_column_from_byte_offset): Delete.
1509 (location_from_offset): Delete.
1510 (format_warning_va): New function.
1511 (format_warning_at_substring): New function.
1512 (format_warning_at_char): New function.
1513 (check_format_arg): Capture location of format_tree and pass to
1514 check_format_info_main.
1515 (argument_parser): Add fields "start_of_this_format" and
1516 "format_string_cst".
1517 (flag_chars_t::validate): Add param "format_string_cst". Convert
1518 warning_at call using location_from_offset to call to
1519 format_warning_at_char.
1520 (argument_parser::argument_parser): Add param "format_string_cst_"
1521 and use use it to initialize field "format_string_cst".
1522 Initialize new field "start_of_this_format".
1523 (argument_parser::read_format_flags): Convert warning_at call
1524 using location_from_offset to a call to format_warning_at_char.
1525 (argument_parser::read_any_format_left_precision): Likewise.
1526 (argument_parser::read_any_format_precision): Likewise.
1527 (argument_parser::read_any_other_modifier): Likewise.
1528 (argument_parser::find_format_char_info): Likewise, in three places.
1529 (argument_parser::parse_any_scan_set): Likewise, in one place.
1530 (argument_parser::handle_conversions): Likewise, in two places.
1531 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1532 and use it to make a substring_loc. Pass the latter to
1533 check_format_types.
1534 (check_format_info_main): Add params "fmt_param_loc" and
1535 "format_string_cst". Convert warning_at calls using
1536 location_from_offset to calls to format_warning_at_char. Pass the
1537 new params to the arg_parser ctor. Pass "format_string_cst" to
1538 flag_chars.validate. Pass "fmt_param_loc" to
1539 arg_parser.check_argument_type.
1540 (check_format_types): Convert first param from a location_t
1541 to a const substring_loc & and rename to "fmt_loc". Attempt
1542 to extract the range of the relevant parameter and pass it
1543 to format_type_warning.
1544 (format_type_warning): Convert first param from a location_t
1545 to a const substring_loc & and rename to "fmt_loc". Add
1546 params "param_range" and "type". Replace calls to warning_at
1547 with calls to format_warning_at_substring.
1548
1c4d457e
DM
15492016-08-08 David Malcolm <dmalcolm@redhat.com>
1550
1551 * c-format.c (class flag_chars_t): New class.
1552 (struct length_modifier): New struct.
1553 (class argument_parser): New class.
1554 (flag_chars_t::flag_chars_t): New ctor.
1555 (flag_chars_t::has_char_p): New method.
1556 (flag_chars_t::add_char): New method.
1557 (flag_chars_t::validate): New method.
1558 (flag_chars_t::get_alloc_flag): New method.
1559 (flag_chars_t::assignment_suppression_p): New method.
1560 (argument_parser::argument_parser): New ctor.
1561 (argument_parser::read_any_dollar): New method.
1562 (argument_parser::read_format_flags): New method.
1563 (argument_parser::read_any_format_width): New method.
1564 (argument_parser::read_any_format_left_precision): New method.
1565 (argument_parser::read_any_format_precision): New method.
1566 (argument_parser::handle_alloc_chars): New method.
1567 (argument_parser::read_any_length_modifier): New method.
1568 (argument_parser::read_any_other_modifier): New method.
1569 (argument_parser::find_format_char_info): New method.
1570 (argument_parser::validate_flag_pairs): New method.
1571 (argument_parser::give_y2k_warnings): New method.
1572 (argument_parser::parse_any_scan_set): New method.
1573 (argument_parser::handle_conversions): New method.
1574 (argument_parser::check_argument_type): New method.
1575 (check_format_info_main): Introduce classes argument_parser
1576 and flag_chars_t, moving the code within the loop into methods
1577 of these classes. Make various locals "const".
1578
88fa5555
DM
15792016-08-05 David Malcolm <dmalcolm@redhat.com>
1580
1581 * c-common.c: Include "substring-locations.h".
1582 (get_cpp_ttype_from_string_type): New function.
1583 (g_string_concat_db): New global.
1584 (substring_loc::get_range): New method.
1585 * c-common.h (g_string_concat_db): New declaration.
1586 (class substring_loc): New class.
1587 * c-lex.c (lex_string): When concatenating strings, capture the
1588 locations of all tokens using a new obstack, and record the
1589 concatenation locations within g_string_concat_db.
1590 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1591 on the ggc-heap.
1592
78169471
MP
15932016-07-29 Marek Polacek <polacek@redhat.com>
1594
638fc14f
MP
1595 PR c/71926
1596 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1597 parentheses warning.
1598
78169471
MP
1599 PR c/71574
1600 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1601
1225d6b1
ML
16022016-07-28 Martin Liska <mliska@suse.cz>
1603
1604 PR gcov-profile/68025
1605 * c-common.c (handle_no_profile_instrument_function_attribute):
1606
ec1e2a40
BE
16072016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1608
1609 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1610 BITS_PER_UNIT_LOG.
1611
5ec2cd9f
JM
16122016-07-25 Jason Merrill <jason@redhat.com>
1613
1614 PR c++/65970
1615 * c.opt (fconstexpr-loop-limit): New.
1616
9dc5773f 16172016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
1618
1619 PR c++/71675
1620 * c-common.c (resolve_overloaded_builtin): Avoid converting
1621 __atomic_compare_exchange_n return type to that of what its
1622 first argument points to.
1623
e3fe09c1
UB
16242016-07-22 Uros Bizjak <ubizjak@gmail.com>
1625
1626 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1627 ~(unsigned HOST_WIDE_INT) 0.
1628
bc91c436
ML
16292016-07-22 Martin Liska <mliska@suse.cz>
1630
1631 PR gcov-profile/69028
1632 PR gcov-profile/62047
1633 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1634 to the current_function_decl.
1635
451dcc66
JM
16362016-07-21 Jason Merrill <jason@redhat.com>
1637
1638 PR c++/65168
1639 * c-common.c (c_common_truthvalue_conversion): Check
1640 c_inhibit_evaluation_warnings for warning about address of
1641 reference.
1642
de6a69ee
DM
16432016-07-20 David Malcolm <dmalcolm@redhat.com>
1644
1645 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1646 const char *.
1647
d022c55a
JM
16482016-07-15 Jason Merrill <jason@redhat.com>
1649
1650 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1651
ddbbcb19
JJ
16522016-07-15 Jakub Jelinek <jakub@redhat.com>
1653
1654 PR c/71858
1655 * c-common.h (enum lookup_name_fuzzy_kind): Add
1656 FUZZY_LOOKUP_FUNCTION_NAME.
1657
d0cf395a
JM
16582016-07-08 Jason Merrill <jason@redhat.com>
1659
1660 P0145: Refining Expression Order for C++.
1661 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1662 * c-opts.c: Adjust.
1663
98d44e93
MT
16642016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1665
1666 PR c++/71214
1667 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1668
f9d8d994
TS
16692016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1670
1671 * c-pragma.h (enum pragma_kind): Rename
1672 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1673 users.
1674
4aa83879
RB
16752016-06-29 Richard Biener <rguenther@suse.de>
1676
1677 PR middle-end/71002
1678 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1679
a25bd9e6
JM
16802016-06-24 Jason Merrill <jason@redhat.com>
1681
1682 P0145R2: Refining Expression Order for C++.
1683 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1684 MODIFY_EXPR.
1685
a86451b9
JJ
16862016-06-24 Jakub Jelinek <jakub@redhat.com>
1687
1688 * c-common.c (check_builtin_function_arguments): Require last
1689 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1690 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1691 if the last argument is pointer to enumerated or boolean type.
1692
1a4f11c8
DM
16932016-06-22 David Malcolm <dmalcolm@redhat.com>
1694
1695 PR c/70339
1696 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1697 (lookup_name_fuzzy): New prototype.
1698
fe55692c
JDA
16992016-06-21 John David Anglin <danglin@gcc.gnu.org>
1700
1701 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1702
4eb24e01
JM
17032016-06-14 Jason Merrill <jason@redhat.com>
1704
1705 P0145R2: Refining Expression Order for C++.
1706 * c.opt (fargs-in-order): New.
1707 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1708
ef7cf206
JJ
17092016-06-13 Jakub Jelinek <jakub@redhat.com>
1710
0dda258b
JJ
1711 PR sanitizer/71498
1712 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1713 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1714
ef7cf206
JJ
1715 PR preprocessor/71183
1716 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1717 to cb_get_source_date_epoch.
1718
50b15873
JJ
17192016-06-10 Jakub Jelinek <jakub@redhat.com>
1720
1721 PR c/68657
1722 * c.opt (Wpsabi): Add Warning flag.
1723
4d926e34
MS
17242016-06-10 Martin Sebor <msebor@redhat.com>
1725
1726 PR c/71392
1727 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1728 the nonnull attribute in type-generic builtins.
1729
e01b4e16
MS
17302016-06-09 Martin Sebor <msebor@redhat.com>
1731
1732 PR c/70883
1733 * c-common.c (builtin_function_validate_nargs): Make text of error
1734 message consistent with others like it.
1735
44a845ca
MS
17362016-06-08 Martin Sebor <msebor@redhat.com>
1737 Jakub Jelinek <jakub@redhat.com>
1738
1739 PR c++/70507
1740 PR c/68120
1741 * c-common.c (check_builtin_function_arguments): Handle
1742 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1743
a80a7051
RB
17442016-06-08 Richard Biener <rguenther@suse.de>
1745
1746 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1747
bfd67b47
RB
17482016-06-07 Richard Biener <rguenther@suse.de>
1749
1750 PR c/61564
1751 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1752 options and warn about others.
1753
15c98b2e
ES
17542016-06-01 Eduard Sanou <dhole@openmailbox.org>
1755
1756 * c-common.c (get_source_date_epoch): Rename to
1757 cb_get_source_date_epoch.
1758 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1759 message when the parsing fails. Use error_at instead of fatal_error.
1760 * c-common.h (get_source_date_epoch): Rename to
1761 cb_get_source_date_epoch.
1762 * c-common.h (cb_get_source_date_epoch): Prototype.
1763 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1764 * c-common.h (c_omp_region_type): Remove trailing comma.
1765 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1766 * c-lex.c (c_lex_with_flags): Remove initialization of
1767 pfile->source_date_epoch.
1768
00631022
JJ
17692016-05-30 Jakub Jelinek <jakub@redhat.com>
1770
1771 PR c++/71349
1772 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1773 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1774 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1775 instead of C_OMP_CLAUSE_SPLIT_FOR.
1776
f17a223d
RB
17772016-05-24 Richard Biener <rguenther@suse.de>
1778
1779 PR middle-end/70434
1780 PR c/69504
1781 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1782 (convert_vector_to_array_for_subscript): ... this.
1783 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1784 VIEW_CONVERT_EXPR to an array type. Rename to ...
1785 (convert_vector_to_array_for_subscript): ... this.
1786
4f2e1536
MP
17872016-05-12 Marek Polacek <polacek@redhat.com>
1788
1789 PR c/70756
1790 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1791 size_in_bytes and pass LOC to it.
1792
d6e83a8d
MM
17932016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1794
1795 PR c/43651
1796 * c.opt (Wduplicate-decl-specifier): New option.
1797
5c3a10fb
MP
17982016-05-11 Marek Polacek <polacek@redhat.com>
1799
1800 PR c++/71024
1801 * c-common.c (diagnose_mismatched_attributes): New function.
1802 * c-common.h (diagnose_mismatched_attributes): Declare.
1803
deef7113
MP
18042016-05-04 Marek Polacek <polacek@redhat.com>
1805
1806 * c.opt (Wdangling-else): New option.
1807
79ce98bc
MP
18082016-05-03 Marek Polacek <polacek@redhat.com>
1809
1810 PR c/70859
1811 * c-common.c (builtin_function_validate_nargs): Add location
1812 parameter. Use it.
1813 (check_builtin_function_arguments): Add location and arguments
1814 parameters. Use them.
1815 * c-common.h (check_builtin_function_arguments): Update declaration.
1816
381cdae4
RB
18172016-05-03 Richard Biener <rguenther@suse.de>
1818
1819 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1820 allow call args to gimplify to SSA names.
1821
1d793c34
MP
18222016-05-03 Marek Polacek <polacek@redhat.com>
1823
1824 * c-common.h (enum c_omp_region_type): Remove stray comma.
1825
77886428
CP
18262016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1827
1828 * c-common.h (enum c_omp_region_type): Define.
1829
697e0b28
RS
18302016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1831
1832 * c-common.c (shorten_compare): Use wi::to_wide.
1833
e7ff0319
CP
18342016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1835
1836 PR middle-end/70626
1837 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1838 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1839 reduction clauses in acc parallel loops.
1840
2fff3db8
MP
18412016-04-29 Marek Polacek <polacek@redhat.com>
1842
1843 PR c/70852
1844 * c-common.c (warn_for_memset): Check domain before accessing it.
1845
509063eb
DV
18462016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1847
1848 PR/69089
1849 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1850 "aligned" attribute.
1851
b632761d
JM
18522016-04-28 Jason Merrill <jason@redhat.com>
1853
1854 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1855
174f6622
ES
18562016-04-28 Eduard Sanou <dhole@openmailbox.org>
1857 Matthias Klose <doko@debian.org>
1858
1859 * c-common.c (get_source_date_epoch): New function, gets the environment
1860 variable SOURCE_DATE_EPOCH and parses it as long long with error
1861 handling.
1862 * c-common.h (get_source_date_epoch): Prototype.
1863 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1864
6bc2bb18
RB
18652015-04-27 Ryan Burn <contact@rnburn.com>
1866
1867 PR c++/69024
1868 PR c++/68997
1869 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1870 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1871 external linkage.
1872 (cilk_detect_and_unwrap): Corresponding changes.
1873 (extract_free_variables): Don't extract free variables from
1874 AGGR_INIT_EXPR slot.
1875 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1876 (cilk_recognize_spawn): Likewise.
1877
c1e1f433
BS
18782016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1879
1880 * c.opt (Wmemset-elt-size): New option.
1881 * c-common.c (warn_for_memset): New function.
1882 * c-common.h (warn_for_memset): Declare.
1883
d067e05f
JM
18842016-04-25 Jason Merrill <jason@redhat.com>
1885
1886 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1887 No longer static.
1888 * c-common.h: Declare it.
1889 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1890
9aa36ae5
JM
18912016-04-22 Jason Merrill <jason@redhat.com>
1892
1893 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1894
477d4906
IV
18952016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1896
1897 PR c++/69363
1898 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1899 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1900
fe37c7af
MM
19012016-04-18 Michael Matz <matz@suse.de>
1902
1903 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1904 and SET_DECL_ALIGN.
1905
23f2660f
EB
19062016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1907
1908 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1909 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1910 to incomplete types.
1911 (dump_nested_type): Remove redundant tests and tidy up.
1912 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1913 a type which is the typedef of an original type.
1914
1e77281b
MP
19152016-04-15 Marek Polacek <polacek@redhat.com>
1916
1917 PR c/70651
1918 * c-common.c (build_va_arg): Change two asserts into errors and return
1919 error_mark_node.
1920
b3a77f21
MP
19212016-04-13 Marek Polacek <polacek@redhat.com>
1922
1923 PR c++/70639
1924 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1925 for switch statements, too.
1926
322b8466
JM
19272016-03-28 Jason Merrill <jason@redhat.com>
1928
1929 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1930
fbdb6baf
MP
19312016-03-23 Marek Polacek <polacek@redhat.com>
1932
1933 PR c++/69884
1934 * c.opt (Wignored-attributes): New option.
1935
5c240f4d
DM
19362016-03-22 David Malcolm <dmalcolm@redhat.com>
1937
1938 PR c/69993
1939 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1940 diagnostic text, reversing the order of the warning and note so
1941 that they appear in source order.
1942
14ba7b28
MP
19432016-03-17 Marek Polacek <polacek@redhat.com>
1944
1945 PR c/69407
1946 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1947 operations.
1948
08a1cadc
JM
19492016-03-14 Jason Merrill <jason@redhat.com>
1950
2aaeea19
JM
1951 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1952
08a1cadc
JM
1953 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1954
c06d25bb
RB
19552016-03-09 Richard Biener <rguenther@suse.de>
1956
1957 PR c/70143
1958 * c-common.c (strict_aliasing_warning): Add back
1959 alias_sets_conflict_p check.
1960
80aac5c8
JM
19612016-03-08 Jason Merrill <jason@redhat.com>
1962
1963 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1964
64b23c13
DM
19652016-03-04 David Malcolm <dmalcolm@redhat.com>
1966
1967 PR c/68187
1968 * c-indentation.c (get_visual_column): Move code to determine next
1969 tab stop to...
1970 (next_tab_stop): ...this new function.
1971 (line_contains_hash_if): Delete function.
1972 (detect_preprocessor_logic): Delete function.
1973 (get_first_nws_vis_column): New function.
1974 (detect_intervening_unindent): New function.
1975 (should_warn_for_misleading_indentation): Replace call to
1976 detect_preprocessor_logic with a call to
1977 detect_intervening_unindent.
1978
729526f5
DM
19792016-03-04 David Malcolm <dmalcolm@redhat.com>
1980
1981 PR c/68187
1982 * c-indentation.c (should_warn_for_misleading_indentation): When
1983 suppressing warnings about cases where the guard and body are on
1984 the same column, only use the first non-whitespace column in place
1985 of the guard token column when dealing with "else" clauses.
1986 When rejecting aligned BODY and NEXT, loosen the requirement
1987 from equality with the first non-whitespace of guard to simply
1988 that they not be indented relative to it.
1989
e9a35493
RB
19902016-03-04 Richard Biener <rguenther@suse.de>
1991
1992 PR c++/70054
1993 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1994 instead of alias_sets_conflict_p.
1995
1be56bc5
MP
19962016-03-01 Marek Polacek <polacek@redhat.com>
1997
1998 PR c++/69795
1999 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
2000 any DECL.
2001
35886f0b
MS
20022016-02-22 Martin Sebor <msebor@redhat.com>
2003
2004 PR middle-end/69780
2005 * c-common.c (check_builtin_function_arguments): Validate and
2006 reject invalid arguments to __builtin_alloca_with_align.
2007
4246c8da
MW
20082016-02-20 Mark Wielaard <mjw@redhat.com>
2009
2010 PR c/28901
2011 * c.opt (Wunused-const-variable): Turn into Alias for...
2012 (Wunused-const-variable=): New option.
2013
268be88c
BE
20142016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2015
2016 PR c++/69865
2017 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
2018 here...
2019 (c_common_init_options): ...to here.
2020 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
2021
871b3f47
JJ
20222016-02-19 Jakub Jelinek <jakub@redhat.com>
2023
2024 PR c++/69826
2025 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
2026 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
2027 flag_preprocess_only.
2028
bf14eba2
JJ
20292016-02-16 Jakub Jelinek <jakub@redhat.com>
2030
2031 PR c/69835
2032 * c.opt (Wnonnull-compare): Enable for -Wall.
2033
ba6b3795
JJ
20342016-02-15 Jakub Jelinek <jakub@redhat.com>
2035
2036 PR c++/69797
2037 * c-common.c (sync_resolve_size): Diagnose too few arguments
2038 even when params is non-NULL empty vector.
2039
a011cd92
BS
20402016-02-08 Bernd Schmidt <bschmidt@redhat.com>
2041
2042 PR target/60410
2043 * c.opt (fshort-double): Remove.
2044
46cb9332
MS
20452016-02-05 Martin Sebor <msebor@redhat.com>
2046
2047 PR c++/69662
2048 * c.opt (Warning options): Update -Wplacement-new to take
2049 an optional argument.
2050
e1b81f2b
JJ
20512016-02-01 Jakub Jelinek <jakub@redhat.com>
2052
2053 PR preprocessor/69543
2054 PR c/69558
2055 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2056 instead of loc to control_warning_option.
2057
b6adbb9f
NS
20582016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2059
2060 * c.opt (fopenacc-dim=): New option.
2061
5d70666e
RB
20622016-01-27 Ryan Burn <contact@rnburn.com>
2063
2064 PR cilkplus/69267
2065 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2066 gimplify_arg. Removed superfluous post_p argument.
2067 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2068 superfluous post_p argument.
2069 * c-gimplify.c (c_gimplify_expr): Likewise.
2070
01e1dea3
DM
20712016-01-26 David Malcolm <dmalcolm@redhat.com>
2072
2073 PR other/69006
2074 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2075 pp_newline_and_flush with pp_flush.
2076
9f04a53e
MS
20772016-01-20 Martin Sebor <msebor@redhat.com>
2078
2079 PR c/69405
2080 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2081 an incompatible argument when the argument isn't a valid tree node.
2082
7f26f7df
JM
20832016-01-18 Jason Merrill <jason@redhat.com>
2084
2085 PR c++/68767
2086 * c-common.c (check_function_arguments_recurse): Fold the whole
2087 COND_EXPR, not just the condition.
2088
f62bf092
TV
20892016-01-18 Tom de Vries <tom@codesourcery.com>
2090
2091 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2092 classify as loop clause.
2093
e0a575ff
JJ
20942016-01-15 Jakub Jelinek <jakub@redhat.com>
2095
2096 PR bootstrap/68271
2097 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2098 C++ FE no longer has limit on number of pragmas.
2099
21002015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
2101
2102 PR c++/69048
2103 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 2104 to add missing cleanup point.
b6e3db06 2105
c7df95d8
DM
21062016-01-14 David Malcolm <dmalcolm@redhat.com>
2107
2108 PR c++/68819
2109 * c-indentation.c (get_visual_column): Add location_t param.
2110 Handle the column number being zero by effectively disabling the
2111 warning, with an "inform".
2112 (should_warn_for_misleading_indentation): Add location_t argument
2113 for all uses of get_visual_column.
2114
21efdd80
PP
21152016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
2116
2117 PR c++/69029
2118 * c-indentation.c (should_warn_for_misleading_indentation):
2119 Don't warn about do-while statements.
2120
7a127fa7
MS
21212016-01-07 Martin Sebor <msebor@redhat.com>
2122
2123 PR c/68966
2124 * c-common.c (sync_resolve_size): Reject first argument when it's
2125 a pointer to _Bool.
2126
c589e975
DM
21272016-01-05 David Malcolm <dmalcolm@redhat.com>
2128
2129 PR c/69122
2130 * c-indentation.c (get_visual_column): Remove default argument.
2131 (should_warn_for_misleading_indentation): For the multiline case,
2132 update call to get_visual_column for next_stmt_exploc so that it
2133 captures the location of the first non-whitespace character in the
2134 relevant line. Don't issue warnings if there is non-whitespace
2135 before the next statement.
2136
818ab71a
JJ
21372016-01-04 Jakub Jelinek <jakub@redhat.com>
2138
2139 Update copyright years.
2140
745e411d
DM
21412015-12-21 David Malcolm <dmalcolm@redhat.com>
2142
2143 * c-common.c (binary_op_error): Convert first param from
2144 location_t to rich_location * and use it when emitting an error.
2145 * c-common.h (binary_op_error): Convert first param from
2146 location_t to rich_location *.
2147
de67c4c3
DM
21482015-12-16 David Malcolm <dmalcolm@redhat.com>
2149
2150 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2151 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2152
4a38b02b
IV
21532015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2154
2155 * c-common.c (c_common_attribute_table): Handle "omp declare target
2156 link" attribute.
2157
54d62f51
JJ
21582015-12-14 Jakub Jelinek <jakub@redhat.com>
2159
2160 PR c/68833
2161 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2162
8d4227c8
TB
21632014-12-12 Tobias Burnus <burnus@net-b.de>
2164
2165 PR fortran/68815
2166 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2167 specifiers (%d, %i,%u and %c).
2168
f6069ccc
DM
21692015-12-10 David Malcolm <dmalcolm@redhat.com>
2170
2171 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2172
63bbf46d
JJ
21732015-12-08 Jakub Jelinek <jakub@redhat.com>
2174
2175 PR c/48088
2176 PR c/68657
2177 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2178 * c-pragma.c (handle_pragma_diagnostic): Adjust
2179 control_warning_option caller.
2180
f79520bb
DM
21812015-12-07 David Malcolm <dmalcolm@redhat.com>
2182
2183 * c-common.c (c_cpp_error): Update for change to
2184 rich_location::set_range.
2185
b3d5bc62
JJ
21862015-12-04 Paolo Bonzini <bonzini@gnu.org>
2187
2188 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2189 shifting 1 out of the sign bit.
2190
21912015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
2192
2193 * c-common.c (c_common_attribute_table[]): Update max arguments
2194 count for "simd" attribute.
2195 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2196
6eb4a537
JJ
21972015-12-03 Jakub Jelinek <jakub@redhat.com>
2198
2199 PR preprocessor/57580
2200 * c-ppoutput.c (print): Change printed field to bool.
2201 Move src_file last for smaller padding.
2202 (init_pp_output): Set print.printed to false instead of 0.
2203 (scan_translation_unit): Fix up formatting. Set print.printed
2204 to true after printing something other than newline.
2205 (scan_translation_unit_trad): Set print.printed to true instead of 1.
2206 (maybe_print_line_1): Set print.printed to false instead of 0.
2207 (print_line_1): Likewise.
2208 (do_line_change): Set print.printed to true instead of 1.
2209 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2210 dump_macro): Set print.printed to false after printing newline.
2211
4250754e
JM
22122015-12-02 Jason Merrill <jason@redhat.com>
2213
f479b43d
JM
2214 * c-common.c (fold_for_warn): New.
2215 (warn_logical_operator, warn_tautological_cmp)
2216 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2217
4250754e
JM
2218 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2219 (c_fully_fold_internal, decl_constant_value_for_optimization):
2220 Move to c/c-fold.c.
2221 * c-common.h: Don't declare decl_constant_value_for_optimization.
2222
e9e32ee6
JM
22232015-12-02 Joseph Myers <joseph@codesourcery.com>
2224
2225 PR c/68162
2226 * c-common.h (c_build_qualified_type): Add extra default
2227 arguments.
2228
37d5ad46
JB
22292015-12-01 Julian Brown <julian@codesourcery.com>
2230 Cesar Philippidis <cesar@codesourcery.com>
2231 James Norris <James_Norris@mentor.com>
2232
2233 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2234 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2235 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2236
f07862c7
EB
22372015-11-30 Eric Botcazou <ebotcazou@adacore.com>
2238
2239 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2240 (decl_sloc_common): Delete and move bulk of processing to...
2241 (decl_sloc): ...here.
2242 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2243 (dump_ada_double_name): Remove S parameter and compute the suffix.
2244 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
2245 element type and deal with an anonymous one.
2246 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2247 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
2248 and remove reference to QUAL_UNION_TYPE.
2249 (dump_nested_types): Make 2 passes on the fields and move bulk to...
2250 (dump_nested_type): ...here. New function extracted from above.
2251 Generate a full declaration for anonymous element type of arrays.
2252 (print_ada_declaration): Really skip anonymous declarations. Remove
2253 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
2254 Clean up processing of declarations of array types and objects.
2255 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2256 Remove obsolete code and tidy up.
2257
75c8aac3
JH
22582015-11-29 Jan Hubicka <hubicka@ucw.cz>
2259
2260 PR c/67581
2261 * c-common.c (handle_transparent_union_attribute): Update
2262 also type variants.
2263
b58d3df2
ML
22642015-11-27 Martin Liska <mliska@suse.cz>
2265
2266 PR c++/68312
2267 * array-notation-common.c (cilkplus_extract_an_triplets):
2268 Release vector of vectors.
2269 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2270
89a01fcf
EB
22712015-11-26 Eric Botcazou <ebotcazou@adacore.com>
2272
2273 PR c++/68527
2274 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2275 (print_ada_struct_decl): Likewise.
2276
cc5c5226
IZ
22772015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
2278
2279 PR c++/68001
2280 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2281 * cilk.c (recognize_spawn): Determine location in a more precise
2282 way.
2283
269adb9d
JM
22842015-11-19 Jason Merrill <jason@redhat.com>
2285
2286 * c-common.c (shorten_compare): But look through macros from
2287 system headers.
2288
d0eccfcd
JM
22892015-11-18 Jason Merrill <jason@redhat.com>
2290
2291 * c-common.c (shorten_compare): Don't -Wtype-limits if the
2292 non-constant operand comes from a macro.
2293
3e44547c
JM
22942015-11-17 Jason Merrill <jason@redhat.com>
2295
2296 PR bootstrap/68346
2297 * c-common.c (warn_tautological_cmp): Fold before checking for
2298 constants.
2299
0f62c7a0
MP
23002015-11-16 Marek Polacek <polacek@redhat.com>
2301
2302 PR c++/68362
2303 * c-common.c (check_case_bounds): Fold low and high cases.
2304
a868811e
MP
23052015-11-16 Marek Polacek <polacek@redhat.com>
2306
2307 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2308 * c-common.c (c_common_get_alias_set): Likewise.
2309 (handle_visibility_attribute): Likewise.
2310
fff77217
KY
23112015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2312
2313 * c-common.c (handle_simd_attribute): New.
2314 (struct attribute_spec): Add entry for "simd".
2315 (handle_simd_attribute): New.
2316
269e63b7
KT
23172015-11-13 Kai Tietz <ktietz70@googlemail.com>
2318
2319 * c-lex.c (interpret_float): Use fold_convert.
2320
ebedc9a3
DM
23212015-11-13 David Malcolm <dmalcolm@redhat.com>
2322
2323 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2324 and store it on the result.
2325 * c-opts.c (c_common_init_options): Set
2326 global_dc->colorize_source_p.
2327
6e232ba4
JN
23282015-11-12 James Norris <jnorris@codesourcery.com>
2329 Joseph Myers <joseph@codesourcery.com>
2330
2331 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
2332 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2333 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2334 PRAGMA_OACC_CLAUSE_LINK.
2335
e78bede6
MP
23362015-11-11 Marek Polacek <polacek@redhat.com>
2337
2338 PR c/68107
2339 PR c++/68266
2340 * c-common.c (valid_array_size_p): New function.
2341 * c-common.h (valid_array_size_p): Declare.
2342
3f8257db 23432015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
2344
2345 PR bootstrap/68271
2346 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2347
69f293c9
AM
23482015-11-11 Andrew MacLeod <amacleod@redhat.com>
2349
2350 * array-notation-common.c: Remove unused header files.
2351 * c-ada-spec.c: Likewise.
2352 * c-cilkplus.c: Likewise.
2353 * c-common.c: Likewise.
2354 * c-cppbuiltin.c: Likewise.
2355 * c-dump.c: Likewise.
2356 * c-format.c: Likewise.
2357 * c-gimplify.c: Likewise.
2358 * c-indentation.c: Likewise.
2359 * c-lex.c: Likewise.
2360 * c-omp.c: Likewise.
2361 * c-opts.c: Likewise.
2362 * c-pch.c: Likewise.
2363 * c-ppoutput.c: Likewise.
2364 * c-pragma.c: Likewise.
2365 * c-pretty-print.c: Likewise.
2366 * c-semantics.c: Likewise.
2367 * c-ubsan.c: Likewise.
2368 * cilk.c: Likewise.
2369 * stub-objc.c: Likewise.
2370
3a40d81d
NS
23712015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2372 Cesar Philippidis <cesar@codesourcery.com>
2373 James Norris <jnorris@codesourcery.com>
2374 Julian Brown <julian@codesourcery.com>
2375 Nathan Sidwell <nathan@codesourcery.com>
2376
2377 * c-pragma.c (oacc_pragmas): Add "routine".
2378 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2379
ee45a32d
EB
23802015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2381
2382 * c-common.c (c_common_attributes): Add scalar_storage_order.
2383 (handle_scalar_storage_order_attribute): New function.
2384 * c-pragma.c (global_sso): New variable.
2385 (maybe_apply_pragma_scalar_storage_order): New function.
2386 (handle_pragma_scalar_storage_order): Likewise.
2387 (init_pragma): Register scalar_storage_order.
2388 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2389 * c.opt (Wscalar-storage-order): New warning.
2390 (fsso-struct=): New option.
2391
eb11eb15
MS
23922015-11-08 Martin Sebor <msebor@redhat.com>
2393
2394 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2395
0aad0198
RS
23962015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2397
2398 * c-common.c: Don't undef DEF_BUILTIN.
2399
8a645150
DM
24002015-11-06 David Malcolm <dmalcolm@redhat.com>
2401
2402 * c-common.c (c_cpp_error): Convert parameter from location_t to
2403 rich_location *. Eliminate the "column_override" parameter and
2404 the call to diagnostic_override_column.
2405 Update the "done_lexing" clause to set range 0
2406 on the rich_location, rather than overwriting a location_t.
2407 * c-common.h (c_cpp_error): Convert parameter from location_t to
2408 rich_location *. Eliminate the "column_override" parameter.
2409
7a5e4956
CP
24102015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2411 Thomas Schwinge <thomas@codesourcery.com>
2412 James Norris <jnorris@codesourcery.com>
2413
2414 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2415 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2416 clauses with parallel and kernels and loops.
2417 * c-pragma.h (enum pragma_omp_clause): Add entries for
2418 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2419 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2420 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2421 INDEPENDENT,SEQ}.
2422 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2423
e2f5cc96
MS
24242015-11-05 Martin Sebor <msebor@redhat.com>
2425
2426 PR c++/67942
2427 * c.opt (-Wplacement-new): New option.
2428
e01d41e5
JJ
24292015-11-05 Jakub Jelinek <jakub@redhat.com>
2430
2431 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2432 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2433 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2434 save_expr or create_tmp_var* if TEST is true.
2435 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2436 Don't call add_stmt here.
2437 (struct c_omp_check_loop_iv_data): New type.
2438 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2439 c_omp_check_loop_iv_exprs): New functions.
2440 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2441 distribute.
2442 (c_omp_declare_simd_clauses_to_numbers): Change
2443 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2444 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2445 from numbers to PARM_DECLs.
2446
595278be
MM
24472015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2448
2449 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2450 flag_checking.
2451
3f8257db 24522015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
2453
2454 PR c++-common/67882
b3d5bc62
JJ
2455 * c-common.h (fold_offsetof_1): Add argument.
2456 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
2457 offsetof expressions that reference elements past the end of
2458 an array.
2459
4bf9e5a8
TS
24602015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2461 Chung-Lin Tang <cltang@codesourcery.com>
2462
2463 * c-pragma.c (oacc_pragmas): Add "atomic".
2464 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2465
3b1661a9
ES
24662015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2467
2468 * c-common.c (handle_target_clones_attribute): New.
2469 (c_common_attribute_table): Add handle_target_clones_attribute.
2470 (handle_always_inline_attribute): Add check on target_clones attribute.
2471 (handle_target_attribute): Ditto.
2472
2adfab87
AM
24732015-10-29 Andrew MacLeod <amacleod@redhat.com>
2474
2475 * array-notation-common.c: Reorder #include's and remove duplicates.
2476 * c-ada-spec.c: Likewise.
2477 * c-cilkplus.c: Likewise.
2478 * c-common.c: Likewise.
2479 * c-cppbuiltin.c: Likewise.
2480 * c-dump.c: Likewise.
2481 * c-format.c: Likewise.
2482 * c-gimplify.c: Likewise.
2483 * c-indentation.c: Likewise.
2484 * c-lex.c: Likewise.
2485 * c-omp.c: Likewise.
2486 * c-opts.c: Likewise.
2487 * c-pch.c: Likewise.
2488 * c-ppoutput.c: Likewise.
2489 * c-pragma.c: Likewise.
2490 * c-pretty-print.c: Likewise.
2491 * c-semantics.c: Likewise.
2492 * c-ubsan.c: Likewise.
2493 * cilk.c: Likewise.
2494 * stub-objc.c: Likewise.
2495
d90ec4f2
JM
24962015-10-28 Jason Merrill <jason@redhat.com>
2497
2498 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2499
88bae6f4
TS
25002015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2501 James Norris <jnorris@codesourcery.com>
2502 Cesar Philippidis <cesar@codesourcery.com>
2503
2504 PR c/64765
2505 PR c/64880
2506 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2507 * c-omp.c (c_oacc_split_loop_clauses): New function.
2508
b1726d6c
MS
25092015-10-21 Martin Sebor <msebor@redhat.com>
2510
2511 PR driver/68043
2512 * c.opt: End each sentence that describes an option with a period.
2513
fa60eeb9
MP
25142015-10-20 Marek Polacek <polacek@redhat.com>
2515
2516 * array-notation-common.c (is_cilkplus_vector_p): Define.
2517 * c-common.h (is_cilkplus_vector_p): Declare.
2518
95979049
MP
25192015-10-20 Marek Polacek <polacek@redhat.com>
2520
2521 * c.opt (std=gnu++11): Do not describe as experimental.
2522 (std=gnu++14): Likewise.
2523
2a9fb712
JM
25242015-10-19 Jason Merrill <jason@redhat.com>
2525
2526 * c-cppbuiltin.c (c_cpp_builtins): Define
2527 __cpp_nontype_template_args.
2528
13b380a3
JM
25292015-10-19 Jason Merrill <jason@redhat.com>
2530
2531 * c-cppbuiltin.c (c_cpp_builtins): Define
2532 __cpp_enumerator_attributes, __cpp_fold_expressions,
2533 __cpp_unicode_characters.
2534
d9a6bd32
JJ
25352015-10-13 Jakub Jelinek <jakub@redhat.com>
2536 Aldy Hernandez <aldyh@redhat.com>
2537
2538 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2539 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2540 (c_define_builtins): Likewise.
2541 * c-common.h (enum c_omp_clause_split): Add
2542 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2543 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2544 (c_finish_omp_for): Add ORIG_DECLV argument.
2545 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2546 201511 instead of 201307.
2547 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2548 OMP_CRITICAL_CLAUSES to it.
2549 (c_finish_omp_ordered): Add CLAUSES argument, set
2550 OMP_ORDERED_CLAUSES to it.
2551 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2552 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2553 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2554 constructs and new OpenMP 4.5 clauses. Clear
2555 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2556 verification code.
2557 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2558 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2559 (enum pragma_omp_clause): Add
2560 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2561 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2562
624d31fe
RS
25632015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2564
2565 * c-lex.c (interpret_float): Use real_equal instead of
2566 REAL_VALUES_EQUAL.
2567
b8fd7909
JM
25682015-10-04 Jason Merrill <jason@redhat.com>
2569
2570 Implement N4514, C++ Extensions for Transactional Memory.
2571 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2572 (c_common_attribute_table): Add transaction_safe_dynamic.
2573 transaction_safe now affects type identity.
2574 (handle_tm_attribute): Handle transaction_safe_dynamic.
2575 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2576 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2577 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2578 (D_TRANSMEM): New.
2579 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2580 * c-pretty-print.c (pp_c_attributes_display): Don't print
2581 transaction_safe in C++.
2582
12651878
MP
25832015-10-02 Marek Polacek <polacek@redhat.com>
2584
2585 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2586
3e3b8d63
MP
25872015-10-02 Marek Polacek <polacek@redhat.com>
2588
2589 PR c/64249
2590 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2591 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2592 * c.opt (Wduplicated-cond): New option.
2593
0d1a8f75
JM
25942015-10-01 Joseph Myers <joseph@codesourcery.com>
2595
2596 * c.opt (std=c11): Do not describe as experimental.
2597 (std=gnu11): Likewise.
2598 (std=iso9899:2011): Likewise.
2599
3e32ee19
NS
26002015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2601
2602 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2603 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2604
974348ee
MP
26052015-09-25 Marek Polacek <polacek@redhat.com>
2606
2607 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2608 (ubsan_instrument_shift): Likewise.
2609
15dbc1a6
MP
26102015-09-25 Marek Polacek <polacek@redhat.com>
2611
2612 PR sanitizer/64906
2613 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2614
6b95d7cc
PP
26152015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2616
2617 * c-indentation.c (should_warn_for_misleading_indentation):
2618 Compare next_stmt_vis_column with guard_line_first_nws instead
2619 of with guard_line_vis_column.
2620
c1822f9c
MLI
26212015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2622
2623 PR c/49654
2624 PR c/49655
2625 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2626 options and options not valid for the current language.
2627
d5398058
PP
26282015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2629
2630 * c-indentation.c (should_warn_for_misleading_indentation):
2631 Float out and consolidate the calls to get_visual_column that
2632 are passed guard_exploc as an argument. Compare
2633 next_stmt_vis_column with guard_line_first_nws instead of with
2634 body_line_first_nws.
2635
6b333269
NS
26362015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2637
2638 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2639 Wnamespaces): New C++ warnings.
2640
a75f1574
JM
26412015-09-22 Jason Merrill <jason@redhat.com>
2642
2643 * c-common.h (abi_compat_version_crosses): New.
2644 (warn_abi_version): Declare.
2645 * c-common.c: Define it.
2646 * c-opts.c (c_common_post_options): Handle it.
2647 flag_abi_compat_version defaults to 8.
2648
bdaaa8b7
VV
26492015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2650
2651 Complete the implementation of N4230, Nested namespace definition.
2652 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2653 __cpp_nested_namespace_definitions.
2654
eaa797e8
MLI
26552015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2656
2657 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2658
c4914de6
MLI
26592015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2660
2661 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2662 when warning.
2663 * c-pragma.h (pragma_lex): Add optional loc argument.
2664
fcb87c50
MM
26652015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2666
2667 * c-format.c (check_format_arg): Adjust to use common block size in all
2668 object pools.
2669
31bdd08a
DM
26702015-09-15 David Malcolm <dmalcolm@redhat.com>
2671
2672 * c-format.c (location_from_offset): Update for change in
2673 signature of location_get_source_line.
2674 * c-indentation.c (get_visual_column): Likewise.
2675 (line_contains_hash_if): Likewise.
2676
aa9f4b4c
MP
26772015-09-14 Marek Polacek <polacek@redhat.com>
2678
2679 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2680 setting various warnings.
2681
aa256c4a
MP
26822015-09-14 Marek Polacek <polacek@redhat.com>
2683
2684 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2685 a negative value.
2686
0f876f22
MW
26872015-09-11 Mark Wielaard <mjw@redhat.com>
2688
2689 PR c/28901
2690 * c.opt (Wunused-variable): Option from common.opt.
2691 (Wunused-const-variable): New option.
2692
273aa49e
PC
26932015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2694
2695 PR c++/53184
2696 * c.opt ([Wsubobject-linkage]): Add.
2697
1807ffc1
MS
26982015-09-03 Martin Sebor <msebor@redhat.com>
2699
2700 PR c/66516
2701 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2702 functions.
2703 * c-common.c (reject_gcc_builtin): Define.
2704
38942840
BI
27052015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2706
2707 PR middle-end/60586
2708 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2709 prototype.
2710 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2711 cilk_gimplify_call_params_in_spawned_fn.
2712 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2713 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2714 unwrapping.
2715
c316b5e4
MP
27162015-08-25 Marek Polacek <polacek@redhat.com>
2717
2718 PR middle-end/67330
2719 * c-common.c (handle_weak_attribute): Don't check whether the
2720 visibility can be changed here.
2721
584a7c46
MLI
27222015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2723
2724 * c-lex.c (c_lex_with_flags): Use explicit locations.
2725
a79683d5
TS
27262015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2727
2728 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2729 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2730
61717a45
FXC
27312015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2732
2733 PR middle-end/36757
2734 * c-common.c (check_builtin_function_arguments): Add check
2735 for BUILT_IN_SIGNBIT argument.
2736
329524f5
PC
27372015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2738
2739 PR c++/67160
2740 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2741 in c++1z mode.
2742
4ee55665
MP
27432015-08-17 Marek Polacek <polacek@redhat.com>
2744
2745 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2746 with whitespaces before qualifier names.
2747
b893e375
MP
27482015-08-12 Marek Polacek <polacek@redhat.com>
2749
2750 PR c++/55095
2751 * c-common.c (maybe_warn_shift_overflow): Properly handle
2752 left-shifting 1 into the sign bit.
2753
c2d89095
MLI
27542015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2755
2756 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2757
971e17ff
AS
27582015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2759 Braden Obrzut <admin@maniacsvault.net>
2760 Jason Merrill <jason@redhat.com>
2761
2762 Add C++ Concepts TS support.
2763 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2764 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2765 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2766 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2767 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2768 * c.opt (fconcepts): New.
2769
b3d5bc62
JJ
27702015-08-02 Martin Sebor <msebor@redhat.com>
2771
2772 * c.opt (-Wframe-address): New warning option.
2773
8ebca419
PP
27742015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2775
2776 * c-indentation.c (should_warn_for_misleading_indentation):
2777 Improve heuristics.
2778
1a1e101f
PP
27792015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2780
2781 * c-indentation.c (get_visual_column): Add parameter first_nws,
2782 use it. Update comment documenting the function.
2783 (is_first_nonwhitespace_on_line): Remove.
2784 (should_warn_for_misleading_indentation): Replace usage of
2785 of is_first_nonwhitespace_on_line with get_visual_column.
2786
992118a1
PP
27872015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2788
2789 * c-indentation.h (struct token_indent_info): Define.
2790 (get_token_indent_info): Define.
2791 (warn_for_misleading_information): Declare.
2792 * c-common.h (warn_for_misleading_information): Remove.
2793 * c-identation.c (warn_for_misleading_indentation):
2794 Change declaration to take three token_indent_infos. Adjust
2795 accordingly.
2796 * c-identation.c (should_warn_for_misleading_indentation):
2797 Likewise. Bail out early if the body is a compound statement.
2798 (guard_tinfo_to_string): Define.
2799
e8fa3817
JM
28002015-07-30 Jason Merrill <jason@redhat.com>
2801
2802 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2803 '*' for reference decay.
2804
173864e8
MP
28052015-07-30 Marek Polacek <polacek@redhat.com>
2806
2807 * c-common.c (warn_tautological_cmp): Bail for float types.
2808
f2afe6dd
MP
28092015-07-27 Marek Polacek <polacek@redhat.com>
2810
2811 PR bootstrap/67030
2812 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2813
05b28fd6
MP
28142015-07-27 Marek Polacek <polacek@redhat.com>
2815
2816 PR c++/66555
2817 PR c/54979
2818 * c-common.c (find_array_ref_with_const_idx_r): New function.
2819 (warn_tautological_cmp): New function.
2820 * c-common.h (warn_tautological_cmp): Declare.
2821 * c.opt (Wtautological-compare): New option.
2822
5a5062b8
MP
28232015-07-23 Marek Polacek <polacek@redhat.com>
2824
2825 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2826 (ubsan_instrument_shift): Likewise.
2827
dc891fe7
MP
28282015-07-23 Marek Polacek <polacek@redhat.com>
2829
2830 PR sanitizer/66908
2831 * c-ubsan.c: Include gimplify.h.
2832 (ubsan_instrument_division): Unshare OP0 and OP1.
2833 (ubsan_instrument_shift): Likewise.
2834
451b5e48
MP
28352015-07-20 Marek Polacek <polacek@redhat.com>
2836 Richard Sandiford <richard.sandiford@arm.com>
2837
2838 PR c++/55095
2839 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2840 Use EXPR_LOC_OR_LOC.
2841 (maybe_warn_shift_overflow): New function.
2842 * c-common.h (maybe_warn_shift_overflow): Declare.
2843 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2844 * c.opt (Wshift-overflow): New option.
2845
fb0b2914
ML
28462015-07-16 Martin Liska <mliska@suse.cz>
2847
2848 * c-format.c (static void check_format_info_main): Use
2849 object_allocator instead of pool_allocator.
2850 (check_format_arg): Likewise.
2851 (check_format_info_main): Likewise.
2852
903f5c23
AM
28532015-07-15 Andrew MacLeod <amacleod@redhat.com>
2854
2855 * c-opts.c: Remove multiline #include comment.
2856
026c3cfd
AH
28572015-07-12 Aldy Hernandez <aldyh@redhat.com>
2858
2859 * c-common.c: Fix double word typos.
2860
bb49ee66
EB
28612015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2862
2863 * c-ada-spec.h (cpp_operation): Revert latest change.
2864 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2865 constructors and destructors.
2866
1916bcb5
AM
28672015-07-09 Andrew MacLeod <amacleod@redhat.com>
2868
2869 * c-common.h: Adjust includes for flags.h changes.
2870 * stub-objc.c: Likewise.
026c3cfd 2871
a9dcd529
EB
28722015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2873
2874 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2875 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2876
b03b462f
JJ
28772015-07-08 Jakub Jelinek <jakub@redhat.com>
2878
2879 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2880 are to be removed, return NULL rather than original clauses list.
2881
c7131fb2
AM
28822015-07-07 Andrew MacLeod <amacleod@redhat.com>
2883
2884 * array-notation-common.c: Adjust includes.
2885 * c-ada-spec.c: Likewise.
2886 * c-cilkplus.c: Likewise.
2887 * c-common.h: Likewise.
2888 * c-cppbuiltin.c: Likewise.
2889 * c-dump.c: Likewise.
2890 * c-format.c: Likewise.
2891 * c-gimplify.c: Likewise.
2892 * c-indentation.c: Likewise.
2893 * c-lex.c: Likewise.
2894 * c-omp.c: Likewise.
2895 * c-opts.c: Likewise.
2896 * c-pch.c: Likewise.
2897 * c-ppoutput.c: Likewise.
2898 * c-pragma.c: Likewise.
2899 * c-pretty-print.c: Likewise.
2900 * c-semantics.c: Likewise.
2901 * c-ubsan.c: Likewise.
2902 * cilk.c: Likewise.
2903 * stub-objc.c: Likewise.
2904
2a7fb83f
EB
29052015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2906
2907 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2908 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2909
a03c9bf1
JM
29102015-07-01 Jason Merrill <jason@redhat.com>
2911
36a85135
JM
2912 * c-common.h (D_CXX11): Rename from D_CXX0X.
2913 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2914 * c-common.c: Adjust.
2915
e7fa68d5
JM
2916 * c-opts.c (c_common_post_options): Default to C++14.
2917
a03c9bf1
JM
2918 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2919
fe95b036
ESR
29202015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2921
2922 Implement N4197 - Adding u8 character literals
b3d5bc62 2923 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 2924 CPP_CHAR.
b3d5bc62 2925 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 2926 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 2927 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
2928 and CPP_UTF8CHAR tokens.
2929 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 2930
da2e71c9
MLI
29312015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2932
2933 PR fortran/66605
2934 * c-common.c (do_warn_unused_parameter): Move here.
2935 * c-common.h (do_warn_unused_parameter): Declare.
2936
b155cfd9
MP
29372015-06-29 Marek Polacek <polacek@redhat.com>
2938
2939 PR c/66322
2940 * c-common.c (check_case_bounds): Add bool * parameter. Set
2941 OUTSIDE_RANGE_P.
2942 (c_add_case_label): Add bool * parameter. Pass it down to
2943 check_case_bounds.
2944 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2945 warning here.
2946 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2947 declarations.
2948
31521951
MP
29492015-06-27 Marek Polacek <polacek@redhat.com>
2950
2951 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2952 or VECTOR_INTEGER_TYPE_P throughout.
2953 * c-gimplify.c: Likewise.
2954
22d03525
MP
29552015-06-26 Marek Polacek <polacek@redhat.com>
2956
2957 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2958 * c-common.c (c_fully_fold_internal): Likewise.
2959 (c_alignof_expr): Likewise.
2960 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2961 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 2962 * cilk.c (create_parm_list): Likewise.
22d03525 2963
af05e6e5
MP
29642015-06-26 Marek Polacek <polacek@redhat.com>
2965
2966 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2967
f0889939
AM
29682015-06-25 Andrew MacLeod <amacleod@redhat.com>
2969
2970 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2971 * c-gimplify.c: Likewise.
2972 * c-pragma.c: Likewise.
2973 * c-ubsan.c: Likewise.
2974 * cilk.c: Likewise.
2975
ca752f39
RS
29762015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2977
2978 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2979 ggc_hasher.
2980
16a16ec7
AM
29812015-06-25 Andrew MacLeod <amacleod@redhat.com>
2982
2983 * cilk.c: Move calls.h after tm.h in the include chain.
2984
0ae9bd27
MP
29852015-06-25 Marek Polacek <polacek@redhat.com>
2986
2987 * array-notation-common.c: Use VAR_P throughout.
2988 * c-ada-spec.c: Likewise.
2989 * c-common.c: Likewise.
2990 * c-format.c: Likewise.
2991 * c-gimplify.c: Likewise.
2992 * c-omp.c: Likewise.
2993 * c-pragma.c: Likewise.
2994 * c-pretty-print.c: Likewise.
2995 * cilk.c: Likewise.
2996
62f9079a
MP
29972015-06-25 Marek Polacek <polacek@redhat.com>
2998
2999 * cilk.c (extract_free_variables): Use is_global_var.
3000
0fa16060
RS
30012015-06-23 Richard Sandiford <richard.sandiford@arm.com>
3002
3003 * c-common.c: Don't include target-def.h.
3004
a68ae2e1
MP
30052015-06-23 Marek Polacek <polacek@redhat.com>
3006
3007 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
3008 when comparing INTEGER_CSTs.
3009
c6a2f2d9
PMR
30102015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
3011
3012 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
3013 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
3014 (dump_ada_template): Skip partially specialized types.
3015
6b4db501
MM
30162015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
3017
3018 * c-common.c (scalar_to_vector): Use std::swap instead of manually
3019 swapping.
3020
abb226c9
AM
30212015-06-17 Andrew MacLeod <amacleod@redhat.com>
3022
3023 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
3024 * c-ada-spec.c: Likewise.
3025 * c-cilkplus.c: Likewise.
3026 * c-common.c: Likewise.
3027 * c-common.h: Likewise.
3028 * c-cppbuiltin.c: Likewise.
3029 * c-dump.c: Likewise.
3030 * c-format.c: Likewise.
3031 * c-gimplify.c: Likewise.
3032 * c-indentation.c: Likewise.
3033 * c-lex.c: Likewise.
3034 * c-omp.c: Likewise.
3035 * c-opts.c: Likewise.
3036 * c-pch.c: Likewise.
3037 * c-ppoutput.c: Likewise.
3038 * c-pragma.c: Likewise.
3039 * c-pretty-print.c: Likewise.
3040 * c-semantics.c: Likewise.
3041 * c-ubsan.c: Likewise.
3042 * cilk.c: Likewise.
3043 * stub-objc.c: Likewise.
3044
076fecad
PP
30452015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
3046
3047 PR c++/65168
3048 * c-common.c (c_common_truthvalue_conversion): Warn when
3049 converting an address of a reference to a truth value.
3050
13fdf2e2
AM
30512015-06-08 Andrew MacLeod <amacleod@redhat.com>
3052
3053 * array-notation-common.c : Adjust include files.
3054 * c-ada-spec.c : Likewise.
3055 * c-cilkplus.c : Likewise.
3056 * c-common.c : Likewise.
3057 * c-common.h : Likewise.
3058 * c-cppbuiltin.c : Likewise.
3059 * c-dump.c : Likewise.
3060 * c-format.c : Likewise.
3061 * c-gimplify.c : Likewise.
3062 * c-indentation.c : Likewise.
3063 * c-lex.c : Likewise.
3064 * c-omp.c : Likewise.
3065 * c-opts.c : Likewise.
3066 * c-pch.c : Likewise.
3067 * c-ppoutput.c : Likewise.
3068 * c-pragma.c : Likewise.
3069 * c-pretty-print.c : Likewise.
3070 * c-semantics.c : Likewise.
3071 * c-ubsan.c : Likewise.
3072 * cilk.c : Likewise.
3073 * stub-objc.c : Likewise.
3074
a1661b90
MP
30752015-06-08 Marek Polacek <polacek@redhat.com>
3076
3077 PR c/66415
3078 * c-format.c (location_from_offset): Return LOC if LINE is null.
3079
d7438551
AH
30802015-06-05 Aldy Hernandez <aldyh@redhat.com>
3081
3082 * c-common.h (c_parse_final_cleanups): New prototype.
3083 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3084
b3d5bc62
JJ
30852015-06-04 Sriraman Tallam <tmsriram@google.com>
3086
3087 * c-common.c (noplt): New attribute.
3088 (handle_noplt_attribute): New handler.
3089
ecb9f223
AM
30902015-06-04 Andrew MacLeod <amacleod@redhat.com>
3091
3092 * array-notation-common.c: Adjust includes for restructured coretypes.h.
3093 * c-ada-spec.c: Likewise.
3094 * c-cilkplus.c: Likewise.
3095 * c-common.c: Likewise.
3096 * c-common.h: Likewise.
3097 * c-cppbuiltin.c: Likewise.
3098 * c-dump.c: Likewise.
3099 * c-format.c: Likewise.
3100 * c-gimplify.c: Likewise.
3101 * c-indentation.c: Likewise.
3102 * c-lex.c: Likewise.
3103 * c-omp.c: Likewise.
3104 * c-opts.c: Likewise.
3105 * c-pch.c: Likewise.
3106 * c-ppoutput.c: Likewise.
3107 * c-pragma.c: Likewise.
3108 * c-pretty-print.c: Likewise.
3109 * c-semantics.c: Likewise.
3110 * c-ubsan.c: Likewise.
3111 * cilk.c: Likewise.
3112 * stub-objc.c: Likewise.
3113
6ac48155
DM
31142015-06-02 David Malcolm <dmalcolm@redhat.com>
3115
3116 PR c/66220:
3117 * c-indentation.c (should_warn_for_misleading_indentation): Use
3118 expand_location rather than expand_location_to_spelling_point.
3119 Don't warn if the guarding statement is more indented than the
3120 next/body stmts.
3121
773ce42e
DM
31222015-06-02 David Malcolm <dmalcolm@redhat.com>
3123
3124 * c-indentation.c (warn_for_misleading_indentation): Bail out
3125 immediately if -Wmisleading-indentation isn't enabled.
3126
4fef8379
ML
31272015-06-01 Martin Liska <mliska@suse.cz>
3128
3129 * c-format.c (check_format_arg):Use new type-based pool allocator.
3130 (check_format_info_main) Likewise.
3131
1edfb384
EB
31322015-05-31 Eric Botcazou <ebotcazou@adacore.com>
3133
3134 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3135 (has_nontrivial_methods): Likewise.
3136
9677ef52
MP
31372015-05-25 Marek Polacek <polacek@redhat.com>
3138
3139 * c-ubsan.c (ubsan_instrument_shift): Use type0.
3140
fd5c817a
MP
31412015-05-22 Marek Polacek <polacek@redhat.com>
3142
3143 PR c/47043
3144 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3145
a2f45fe6 31462015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
3147
3148 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3149 STACK_GROWS_DOWNWARD.
3150
a2f45fe6 31512015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
3152
3153 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3154 STACK_GROWS_DOWNWARD rather than if it is defined.
3155
0fee2ac2 31562015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 3157
0fee2ac2
MLI
3158 PR c/52952
3159 * c-format.c (location_column_from_byte_offset): New.
3160 (location_from_offset): New.
3161 (struct format_wanted_type): Add offset_loc field.
3162 (check_format_info): Move handling of location for extra arguments
3163 closer to the point of warning.
3164 (check_format_info_main): Pass the result of location_from_offset
3165 to warning_at.
3166 (format_type_warning): Pass the result of location_from_offset
3167 to warning_at.
3168
cf4ef6f7
MP
31692015-05-20 Marek Polacek <polacek@redhat.com>
3170
3171 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3172
3a65ee74
MP
31732015-05-20 Marek Polacek <polacek@redhat.com>
3174
3175 * c-ada-spec.c (dump_sloc): Use DECL_P.
3176
21b634ae
MP
31772015-05-20 Marek Polacek <polacek@redhat.com>
3178
3179 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3180 * c-common.c: Likewise.
3181
0e50b624
DM
31822015-05-19 David Malcolm <dmalcolm@redhat.com>
3183
3184 * c-common.h (fe_file_change): Strengthen param from
3185 const line_map * to const line_map_ordinary *.
3186 (pp_file_change): Likewise.
3187 * c-lex.c (fe_file_change): Likewise.
3188 (cb_define): Use linemap_check_ordinary when invoking
3189 SOURCE_LINE.
3190 (cb_undef): Likewise.
3191 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3192 invoking cb_file_change.
3193 (c_finish_options): Likewise.
3194 (push_command_line_include): Likewise.
3195 (cb_file_change): Strengthen param "new_map" from
3196 const line_map * to const line_map_ordinary *.
3197 * c-ppoutput.c (cb_define): Likewise for local "map".
3198 (pp_file_change): Likewise for param "map" and local "from".
3199
fab27f52
MM
32002015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
3201
3202 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3203
2fe1d762
TV
32042015-05-18 Tom de Vries <tom@codesourcery.com>
3205
3206 * c-common.c (build_va_arg_1): New function.
3207 (build_va_arg): Add address operator to va_list operand if necessary.
3208
7a37fa90
MM
32092015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
3210
3211 PR c/48956
3212 * c-common.c (int_safely_convertible_to_real_p): Define.
3213 (unsafe_conversion_p): Check conversions involving complex types.
3214 (conversion_warning): Add new warning message for conversions which
3215 discard imaginary component.
3216 * c-common.h: (enum conversion_safety): Add new enumerator for such
3217 conversions.
3218
3aa3c9fc
MP
32192015-05-14 Marek Polacek <polacek@redhat.com>
3220
3221 PR c/66066
3222 PR c/66127
3223 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3224 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3225 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
3226 use it. If FOR_INT_CONST, require that all evaluated operands be
3227 INTEGER_CSTs.
3228
c3388e62
DM
32292015-05-12 David Malcolm <dmalcolm@redhat.com>
3230
3231 * c-common.h (warn_for_misleading_indentation): New prototype.
3232 * c-indentation.c: New file.
3233 * c.opt (Wmisleading-indentation): New option.
3234
c7b38fd5
TV
32352015-05-12 Tom de Vries <tom@codesourcery.com>
3236
3237 PR tree-optimization/66010
3238 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3239
381bf11e
JM
32402015-05-09 Jason Merrill <jason@redhat.com>
3241
edff0c06
JM
3242 * c-opts.c (c_common_post_options): Also clear
3243 cpp_opts->cpp_warn_cxx11_compat.
3244
129211bc
JM
3245 * c-common.h (enum cxx_dialect): Add cxx_unset.
3246 * c-common.c (cxx_dialect): Initialize to cxx_unset.
3247 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3248
381bf11e
JM
3249 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3250 (std=gnu++0x): Mark as Undocumented.
3251 (std=gnu++1y): Add deprecated message.
3252
fe191308
JM
32532015-05-08 Jason Merrill <jason@redhat.com>
3254
765189ff
JM
3255 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
3256 * c-opts.c: Adjust.
3257
fe191308
JM
3258 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3259
755e528f
MP
32602015-05-08 Marek Polacek <polacek@redhat.com>
3261
3262 PR c/64918
3263 * c.opt (Woverride-init-side-effects): New option.
3264
0173bd2a
MP
32652015-05-07 Marek Polacek <polacek@redhat.com>
3266
3267 PR c/65179
3268 * c-common.c (c_fully_fold_internal): Warn when left shifting a
3269 negative value.
3270 * c.opt (Wshift-negative-value): New option.
3271 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3272 when -Wextra and C99/C++11 mode.
3273
e0f0d3b9
MP
32742015-05-07 Marek Polacek <polacek@redhat.com>
3275 Martin Uecker <uecker@eecs.berkeley.edu>
3276
3277 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3278 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3279
8243e2a9
JM
32802015-05-05 Jason Merrill <jason@redhat.com>
3281
3282 * c.opt (Wterminate): New.
3283
577cd070
MP
32842015-04-30 Marek Polacek <polacek@redhat.com>
3285
3286 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3287 require that the non-constant be of a boolean type.
3288
0373796b
JT
32892015-04-29 Josh Triplett <josh@joshtriplett.org>
3290
e0f0d3b9
MP
3291 * c-common.c (handle_section_attribute): Refactor to reduce
3292 nesting and distinguish between error cases.
0373796b 3293
716c0ba6
MP
32942015-04-29 Marek Polacek <polacek@redhat.com>
3295
3296 PR c/64610
3297 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3298 with 0/1.
3299
8848828b
JJ
33002015-04-29 Jakub Jelinek <jakub@redhat.com>
3301
3302 * c-common.h (omp_clause_mask): Unconditionally define as a class.
3303 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3304 HOST_BITS_PER_WIDE_INT.
3305
ecd0e562
TV
33062015-04-28 Tom de Vries <tom@codesourcery.com>
3307
3308 PR tree-optimization/65887
3309 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3310
2a877204 33112015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 3312 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
3313
3314 * c-ada-spec.c (in_function): Delete.
3315 (dump_generic_ada_node): Do not change in_function and remove the
3316 redundant code dealing with it.
3317 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
3318 (print_ada_methods): Output the static member functions in a nested
3319 package after the regular methods as well as associated renamings.
3320
4853031e
MP
33212015-04-24 Marek Polacek <polacek@redhat.com>
3322
3323 PR c/65830
3324 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3325 and OPT_Wshift_count_overflow.
3326
8c2b7f79
MP
3327 PR c/63357
3328 * c-common.c (warn_logical_operator): Warn if the operands have the
3329 same expressions.
3330
b8787813
MP
33312015-04-24 Marek Polacek <polacek@redhat.com>
3332
3333 PR c/61534
3334 * c-common.c (warn_logical_operator): Bail if either operand comes
3335 from a macro expansion.
3336
8fba1830
BRF
33372015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3338
3339 PR target/55143
3340 * c-common.c (c_default_pointer_mode): Add definition.
3341 * c-common.h (c_default_pointer_mode): Add declaration.
3342
17958621
JJ
33432015-03-11 Jakub Jelinek <jakub@redhat.com>
3344
3345 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3346 on record_builtin_type argument.
3347
7ccb1a11
JJ
33482015-03-10 Jakub Jelinek <jakub@redhat.com>
3349
3350 PR c/65120
3351 * c-common.c (warn_logical_not_parentheses): Don't warn for
3352 !x == 0 or !x != 0.
3353
04fd785e
MP
33542015-03-07 Marek Polacek <polacek@redhat.com>
3355
3356 PR sanitizer/65280
3357 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3358 before trying to figure out whether we have a flexible array member.
3359
a4e26206 33602015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3361 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
3362
3363 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3364
0d2489f4
EB
33652015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3366
3367 PR ada/65319
3368 * c-ada-spec.c (print_destructor): Remove obsolete code.
3369
83ed54d7
EB
33702015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3371
3372 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3373 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3374 DECL_TEMPLATE_RESULT emulations.
3375 (dump_ada_template)): Add guard for TYPE_METHODS.
3376
7631f0e2
MP
33772015-02-27 Marek Polacek <polacek@redhat.com>
3378
3379 PR c/65040
3380 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3381
d1783ae5
KT
33822015-02-27 Kai Tietz <ktietz@redhat.com>
3383
3384 PR c/35330
3385 * c-pragma.c (handle_pragma_weak): Do not try to create
3386 weak/alias of declarations not being function, or variable
3387 declarations.
3388
56a9f6bc
TS
33892015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3390
3391 PR libgomp/64625
3392 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3393 Remove macros.
3394 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3395
3d5cb23d
MP
33962015-02-16 Marek Polacek <polacek@redhat.com>
3397
3398 PR c/65066
3399 * c-format.c (check_format_types): Handle null param.
3400
fa008882
MP
34012015-02-13 Marek Polacek <polacek@redhat.com>
3402
3403 PR c/65040
3404 * c-format.c (check_format_types): Don't warn about different
3405 signedness if the original value is in the range of WANTED_TYPE.
3406
785f21af
JM
34072015-02-12 Jason Merrill <jason@redhat.com>
3408
3409 PR c++/64956
3410 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3411 to the current highest version.
3412 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3413
4886ec8e
JJ
34142015-02-04 Jakub Jelinek <jakub@redhat.com>
3415
3416 PR c/64824
3417 PR c/64868
3418 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3419 instead of RDIV_EXPR. Use build_binary_op instead of
3420 build2_loc.
3421
40fecdd6
JM
34222015-01-30 Joseph Myers <joseph@codesourcery.com>
3423
3424 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3425 to pass input_location as first argument.
3426
a0c88d06
TV
34272015-01-23 Tom de Vries <tom@codesourcery.com>
3428
3429 PR libgomp/64672
3430 * c.opt (fopenacc): Mark as LTO option.
3431
1506ae0e
TV
34322015-01-23 Tom de Vries <tom@codesourcery.com>
3433
3434 PR libgomp/64707
3435 * c.opt (fopenmp): Mark as LTO option.
3436
31be63ab
JJ
34372015-01-21 Jakub Jelinek <jakub@redhat.com>
3438
3439 PR c/63307
b1726d6c 3440 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
3441 (compare_decls): Fix up formatting.
3442
34432015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3444
3445 PR c/63307
3446 * cilk.c: Include vec.h.
3447 (struct cilk_decls): New structure.
3448 (wrapper_parm_cb): Split this function to...
3449 (fill_decls_vec): ...this...
3450 (create_parm_list): ...and this.
3451 (compare_decls): New function.
3452 (for_local_cb): Remove.
3453 (wrapper_local_cb): Ditto.
3454 (build_wrapper_type): For now first traverse and fill vector of
3455 declarations then sort it and then deal with sorted vector.
3456 (cilk_outline): Ditto.
3457 (declare_one_free_variable): Ditto.
3458
6875457f
JM
34592015-01-21 Jason Merrill <jason@redhat.com>
3460
3461 PR c++/64629
3462 * c-format.c (check_format_arg): Call decl_constant_value.
3463
185c9e56
ML
34642015-01-19 Martin Liska <mliska@suse.cz>
3465
3466 * c-common.c (handle_noicf_attribute): New function.
3467
41dbbb37
TS
34682015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3469 Bernd Schmidt <bernds@codesourcery.com>
3470 James Norris <jnorris@codesourcery.com>
3471 Cesar Philippidis <cesar@codesourcery.com>
3472 Ilmir Usmanov <i.usmanov@samsung.com>
3473 Jakub Jelinek <jakub@redhat.com>
3474
3475 * c.opt (fopenacc): New option.
3476 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3477 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3478 New macros.
3479 * c-common.h (c_finish_oacc_wait): New prototype.
3480 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3481 (c_finish_oacc_wait): New function.
3482 * c-pragma.c (oacc_pragmas): New variable.
3483 (c_pp_lookup_pragma, init_pragma): Handle it.
3484 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3485 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3486 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3487 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3488 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3489 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3490 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3491 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3492 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3493 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3494 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3495 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3496 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3497 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3498 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3499 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3500 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3501 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3502 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3503 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3504 PRAGMA_OACC_CLAUSE_WORKER.
3505
3f8257db 35062015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
3507
3508 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3509 for the new option fstack-protector_explicit.
3510 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3511 (handle_stack_protect_attribute): New function.
3512
3f8257db 35132015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
3514
3515 * c.opt: New option -Warray-bounds=.
3516
adfac8df
JJ
35172015-01-09 Michael Collison <michael.collison@linaro.org>
3518
3519 * array-notation-common.c: Include hash-set.h, machmode.h,
3520 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3521 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3522 * c-ada-spec.c: Ditto.
3523 * c-cilkplus.c: Ditto.
3524 * c-common.c: Include input.h due to flattening of tree.h.
3525 Define macro GCC_C_COMMON_C.
3526 * c-common.h: Flatten tree.h header files into c-common.h.
3527 Remove include of tree-core.h.
3528 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3529 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3530 fold-const.h, wide-int.h, and inchash.h due to
3531 flattening of tree.h.
3532 * c-dump.c: Ditto.
3533 * c-format.c: Flatten tree.h header files into c-common.h.
3534 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3535 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3536 fold-const.h, wide-int.h, and inchash.h due to
3537 flattening of tree.h.
3538 * c-dump.c: Include hash-set.h, machmode.h,
3539 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3540 fold-const.h, wide-int.h, and inchash.h due to
3541 flattening of tree.h.
3542 * c-format.c: Include hash-set.h, machmode.h,
3543 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3544 fold-const.h, wide-int.h, inchash.h and real.h due to
3545 flattening of tree.h.
3546 * c-gimplify.c: Include hash-set.h, machmode.h,
3547 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3548 fold-const.h, wide-int.h, and inchash.h due to
3549 flattening of tree.h.
3550 * cilk.c: Ditto.
3551 * c-lex.c: Ditto.
3552 * c-omp.c: Ditto.
3553 * c-opts.c: Ditto.
3554 * c-pch.c: Ditto.
3555 * c-ppoutput.c: Ditto.
3556 * c-pragma.c: Ditto.
3557 * c-pretty-print.c: Ditto.
3558 * c-semantics.c: Ditto.
3559 * c-ubsan.c: Ditto.
3560 * stub-objc.c: Ditto.
3561
f5481fc4
JM
35622015-01-08 Jason Merrill <jason@redhat.com>
3563
3564 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3565 do_ubsan_in_current_function.
3566 (ubsan_maybe_instrument_reference_or_call): Likewise.
3567 * c-ubsan.h: Declare it.
3568
de35aa66
MS
35692015-01-08 Mike Stump <mikestump@comcast.net>
3570
3571 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3572
4a9a42ab
MP
35732015-01-07 Marek Polacek <polacek@redhat.com>
3574
3575 PR c/64440
3576 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3577 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3578
2f42e5de
TS
35792015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3580
3581 PR c++/31397
3582 * c.opt (Wsuggest-override): New option.
3583
5624e564
JJ
35842015-01-05 Jakub Jelinek <jakub@redhat.com>
3585
3586 Update copyright years.
3587
5bd012f8
MP
35882015-01-05 Marek Polacek <polacek@redhat.com>
3589
3590 PR c/64423
3591 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3592 parameter. Use it.
3593 * c-common.h (warn_array_subscript_with_type_char): Update
3594 declaration.
3595
a7fa8d18
ESR
35962014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3597
3598 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3599 Control macro with flag_sized_deallocation.
3600
3f8257db 36012014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
3602
3603 * c.opt (Wdiscarded-array-qualifiers): New option.
3604
1f8d3e84
JJ
36052014-12-19 Jakub Jelinek <jakub@redhat.com>
3606
3607 PR preprocessor/63831
3608 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3609 and __has_cpp_attribute here.
3610 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3611 c_common_has_attribute.
3612 * c-common.h (c_common_has_attribute): New prototype.
3613 * c-lex.c (init_c_lex): Set cb->has_attribute to
3614 c_common_has_attribute instead of cb_has_attribute.
3615 (get_token_no_padding): New function.
3616 (cb_has_attribute): Renamed to ...
3617 (c_common_has_attribute): ... this. No longer static. Use
3618 get_token_no_padding, require ()s, don't build TREE_LIST
3619 unnecessarily, fix up formatting, adjust diagnostics, call
3620 init_attributes.
3621
20b06add
JM
36222014-12-15 Jason Merrill <jason@redhat.com>
3623
3624 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3625 (-Wsized-deallocation): New.
3626 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3627 to on in C++14 and up.
3628
94a073b2
JM
36292014-12-11 Jason Merrill <jason@redhat.com>
3630
acaa5911
JM
3631 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3632
94a073b2
JM
3633 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3634 we aren't complaining about VLAs.
3635
7fb66c15
MP
36362014-12-06 Marek Polacek <polacek@redhat.com>
3637
3638 PR tree-optimization/64183
3639 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3640 shift-expression if it is integer_type_node. Use types_compatible_p.
3641
b731b390
JJ
36422014-11-29 Jakub Jelinek <jakub@redhat.com>
3643
3644 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3645 last argument from create_tmp_var_raw and create_tmp_var calls.
3646 * cilk.c (gimplify_cilk_spawn): Likewise.
3647 * c-omp.c (c_finish_omp_atomic): Likewise.
3648
6a4da643
MP
36492014-11-28 Marek Polacek <polacek@redhat.com>
3650
3651 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3652 instead of unsigned_type_node.
3653
541e35a6
MP
36542014-11-28 Marek Polacek <polacek@redhat.com>
3655
3656 PR c/63862
3657 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3658 to op1_utype.
3659 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3660 expression to unsigned_type_node.
3661
dcc97066
MW
36622014-11-20 Mark Wielaard <mjw@redhat.com>
3663
3664 PR debug/38757
3665 * c-opts.c (set_std_c89): Set lang_hooks.name.
3666 (set_std_c99): Likewise.
3667 (set_std_c11): Likewise.
3668 (set_std_cxx98): Likewise.
3669 (set_std_cxx11): Likewise.
3670 (set_std_cxx14): Likewise.
3671 (set_std_cxx1z): Likewise.
3672
aa7da51a
JJ
36732014-11-21 Jakub Jelinek <jakub@redhat.com>
3674
3675 PR target/63764
3676 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3677 return type to bool.
009a3480 3678 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
3679 (convert_vector_to_pointer_for_subscript): Change return type to
3680 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3681 and copy it into a TARGET_EXPR and use that instead of *vecp
3682 directly.
3683
538dd0b7
DM
36842014-11-19 David Malcolm <dmalcolm@redhat.com>
3685
3686 Merger of git branch "gimple-classes-v2-option-3".
3687 * ChangeLog.gimple-classes: New.
3688 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3689 from being just a vec<gimple> to a vec<gbind *>.
3690
c39a5e99
JJ
36912014-11-18 Jakub Jelinek <jakub@redhat.com>
3692
3693 PR sanitizer/63813
3694 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3695 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3696 get_pointer_alignment for non-pointers. Use ptype, or if it is
3697 reference type, corresponding pointer type, as type of kind
3698 argument.
3699 (ubsan_maybe_instrument_reference,
3700 ubsan_maybe_instrument_member_call): Adjust callers.
3701
8537a4a9
MP
37022014-11-15 Marek Polacek <polacek@redhat.com>
3703
3704 PR middle-end/63884
3705 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3706 for NULL fndecl.
3707 (extract_array_notation_exprs): Return for NULL node.
3708
2079956a
JM
37092014-11-12 Joseph Myers <joseph@codesourcery.com>
3710
3711 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3712 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3713
1304953e
JJ
37142014-11-12 Jakub Jelinek <jakub@redhat.com>
3715
3716 PR c/59708
3717 * c-common.c (check_builtin_function_arguments): Handle
3718 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3719
e5e44252
AK
37202014-11-10 Andi Kleen <ak@linux.intel.com>
3721
3722 PR c/60804
3723 * c-common.h (check_no_cilk): Declare.
3724 * cilk.c (get_error_location): New function.
3725 (check_no_cilk): Dito.
3726
e64b984d
AK
37272014-11-10 Andi Kleen <ak@linux.intel.com>
3728
3729 * cilk.c (recognize_spawn): Use expression location
3730 for error message.
3731
13c21655
PC
37322014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3733
3734 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3735
42fd12b1
ESR
37362014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3737
3738 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3739 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3740 (__cpp_range_based_for, __cpp_initializer_lists,
3741 __cpp_delegating_constructors, __cpp_nsdmi,
3742 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3743 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3744 __has_cpp_attribute.
3745 * c-lex.c (cb_has_attribute): New callback CPP function;
3746 (init_c_lex): Set has_attribute callback.
3747
6f450181
RB
37482014-11-04 Richard Biener <rguenther@suse.de>
3749
3750 * c-common.c (shorten_compare): Do not shorten mixed
3751 DFP and non-DFP compares.
3752
26f0e1d6
ESR
37532014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3754
3755 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3756 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3757 Commentary and rearrangement of tests.
3758 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3759 Commentary and rearrangement of tests.
3760 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3761 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3762
ef4bddc2
RS
37632014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3764
3765 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3766 enum from machine_mode.
3767
c582198b
AM
37682014-10-28 Andrew MacLeod <amacleod@redhat.com>
3769
adfac8df
JJ
3770 * c-common.c: Adjust include files.
3771 * c-gimplify.c: Ditto.
3772 * cilk.c: Ditto.
3773 * c-pragma.c: Ditto.
3774 * c-ubsan.c: Ditto.
c582198b 3775
60393bbc
AM
37762014-10-27 Andrew MacLeod <amacleod@redhat.com>
3777
3778 * c-gimplify.c: Adjust include files.
3779
d723bb7c
MLI
37802014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3781
3782 PR c++/53061
3783 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3784 c_common_initialize_diagnostics.
3785 * c-common.h: Likewise.
3786
90f3520e
MP
37872014-10-24 Marek Polacek <polacek@redhat.com>
3788
3789 PR c/56980
3790 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3791 print "struct"/"union"/"enum" for typedefed names.
3792
59d7607a
MP
37932014-10-23 Marek Polacek <polacek@redhat.com>
3794
3795 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3796 in unsigned type.
3797
d95a2703
JJ
37982014-10-22 Jakub Jelinek <jakub@redhat.com>
3799 Yury Gribov <y.gribov@samsung.com>
3800
3801 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3802 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3803 instead of flag_sanitize_recover as bool flag.
3804
8e6ef852
KY
38052014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3806
3807 * cilk.c: Revert previous change.
3808
948cf550
IZ
38092014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3810
3811 PR c/63307
3812 * cilk.c: Include vec.h.
3813 (struct cilk_decls): New structure.
3814 (wrapper_parm_cb): Split this function to...
3815 (fill_decls_vec): ...this...
3816 (create_parm_list): ...and this.
3817 (compare_decls): New function.
3818 (for_local_cb): Remove.
3819 (wrapper_local_cb): Ditto.
3820 (build_wrapper_type): For now first traverse and fill vector of
3821 declarations then sort it and then deal with sorted vector.
3822 (cilk_outline): Ditto.
3823 (declare_one_free_variable): Ditto.
3824
92574c7c
MP
38252014-10-17 Marek Polacek <polacek@redhat.com>
3826
3827 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3828 * c.opt (Wimplicit-int): Initialize to -1.
3829
83685514
AM
38302014-10-16 Andrew MacLeod <amacleod@redhat.com>
3831
3832 * c-pragma.c: Adjust include files.
3833 * c-semantics.c: Likewise.
3834
5b8300ea
DD
38352014-10-16 DJ Delorie <dj@redhat.com>
3836
3837 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3838 multiples of bytes.
3839
5f83e90b
JM
38402014-10-14 Jason Merrill <jason@redhat.com>
3841
3842 PR c++/63455
3843 * c-common.h (CPP_PREPARSED_EXPR): New.
3844 (N_CP_TTYPES): Adjust.
3845
d73326ca
MP
38462014-10-15 Marek Polacek <polacek@redhat.com>
3847
3848 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3849
78a7c317
DD
38502014-10-14 DJ Delorie <dj@redhat.com>
3851
3852 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3853 types, not just __int128.
3854 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3855 types, not just __int128.
3856 (cpp_atomic_builtins): Round pointer sizes up.
3857 (type_suffix): Use type precision, not specific types.
3858 * c-common.c (c_common_reswords): Remove __int128 special case.
3859 (c_common_type_for_size): Check for all __intN types, not just
3860 __int128.
3861 (c_common_type_for_mode): Likewise.
3862 (c_common_signed_or_unsigned_type): Likewise.
3863 (c_build_bitfield_integer_type): Likewise.
3864 (c_common_nodes_and_builtins): Likewise.
3865 (keyword_begins_type_specifier): Likewise.
3866 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3867 __intN variants.
3868
2a22f99c
TS
38692014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3870
3871 * c-common.c: Use hash_table instead of hashtab.
3872
2a8ef767
ESR
38732014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3874
adfac8df 3875 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
3876 C++11 section.
3877
3c9aabbd
MG
38782014-10-03 Marc Glisse <marc.glisse@inria.fr>
3879
3880 PR c++/54427
3881 PR c++/57198
3882 PR c++/58845
3883 * c-common.c (warn_logical_operator): Punt for vectors.
3884
a15f7cb8
ESR
38852014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3886
3887 Implement SD-6: SG10 Feature Test Recommendations
3888 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3889 macros and the __has_header macro.
3890
8d0cf15e
JM
38912014-09-30 Jason Merrill <jason@redhat.com>
3892
dd5d5481
JM
3893 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3894 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3895 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3896
b752325e
JM
3897 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3898 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3899
8d0cf15e
JM
3900 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3901 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3902
083e891e
MP
39032014-09-24 Marek Polacek <polacek@redhat.com>
3904
3905 PR c/61405
3906 PR c/53874
3907 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3908
7861b648
AK
39092014-09-23 Andi Kleen <ak@linux.intel.com>
3910
3911 * c-common.c (handle_no_reorder_attribute): New function.
3912 (c_common_attribute_table): Add no_reorder attribute.
3913
9a79452d
JM
39142014-09-22 Joseph Myers <joseph@codesourcery.com>
3915
3916 * c-cppbuiltin.c (c_cpp_builtins): Define
3917 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3918 modes.
3919
dd69f047
JM
39202014-09-18 Joseph Myers <joseph@codesourcery.com>
3921
3922 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3923 for supported floating-point modes.
3924
737a4826
MLI
39252014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3926
3927 * c.opt (Wpsabi): Use LangEnabledBy.
3928 * c-opts.c (c_common_handle_option): Do not handle here.
3929
8cc4b7a2
JM
39302014-09-12 Joseph Myers <joseph@codesourcery.com>
3931
3932 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3933 macros for floating-point modes.
3934
179b5a55
MG
39352014-09-11 Marc Glisse <marc.glisse@inria.fr>
3936
3937 PR target/58757
3938 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3939 __*_DENORM_MIN__ without denormals.
3940
570a11fe
JJ
39412014-09-10 Jakub Jelinek <jakub@redhat.com>
3942
3943 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3944 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3945 ubsan_create_data callers.
3946 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3947 index is constant or BIT_AND_EXPR with constant mask and is
3948 small enough for the bound.
3949 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3950 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3951
b559c810
MLI
39522014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3953
3954 * c.opt: Add CppReason to various flags.
3955 (Wdate-time): Re-sort.
3956 * c-common.c: Include c-common.h earlier.
3957 (struct reason_option_codes_t): Delete.
3958 (c_option_controlling_cpp_error): Prefix global type and struct
3959 with cpp_.
3960
1ef33fd4
MLI
39612014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3962
3963 * c.opt (Wnormalized): New.
3964 (Wnormalized=): Use Enum and Reject Negative.
3965 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3966
66bb34c0
JM
39672014-09-08 Joseph Myers <joseph@codesourcery.com>
3968
3969 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3970 digits of floating-point modes if -fbuilding-libgcc.
3971
53d68b9f
JM
39722014-09-05 Joseph Myers <joseph@codesourcery.com>
3973
3974 * c-cppbuiltin.c (c_cpp_builtins): Also define
3975 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3976 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3977 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3978 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3979 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3980 __LIBGCC_STACK_GROWS_DOWNWARD__,
3981 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3982 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3983 __LIBGCC_DWARF_FRAME_REGISTERS__,
3984 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3985 __LIBGCC_STACK_POINTER_REGNUM__ and
3986 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3987 (builtin_define_with_value): Handle backslash-escaping in string
3988 macro values.
3989
f65586dc
RB
39902014-09-05 Richard Biener <rguenther@suse.de>
3991
3992 PR middle-end/63148
3993 * c-format.c (check_format_arg): Properly handle
3994 effectively signed POINTER_PLUS_EXPR offset.
3995
2b71f4a4
MLI
39962014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3997
3998 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3999 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
4000 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
4001 and Init.
4002 * c-opts.c (c_common_handle_option): Do not handle here.
4003 (sanitize_cpp_opts): Likewise.
4004 * c-common.c (struct reason_option_codes_t): Handle
4005 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
4006
d2e4feca
MP
40072014-09-03 Marek Polacek <polacek@redhat.com>
4008
4009 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
4010
9a771876
JJ
40112014-09-02 Jakub Jelinek <jakub@redhat.com>
4012 Balaji V. Iyer <balaji.v.iyer@intel.com>
4013 Igor Zamyatin <igor.zamyatin@intel.com>
4014
4015 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
4016 * c-common.c (c_common_reswords): Added _Cilk_for.
4017 * c-common.h (enum rid): Added RID_CILK_FOR.
4018 (cilk_for_number_of_iterations): Add declaration.
4019 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
4020 CILK_FOR.
4021 * c-pragma.c (init_pragma): Register "grainsize" pragma.
4022 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
4023
81b5d104
MLI
40242014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4025
4026 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
4027 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
4028 Wundef): Use CPP, Var and Init.
4029 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
4030
b753b37b
MLI
40312014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4032
4033 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
4034 * c-opts.c (c_common_handle_option): Do not handle here.
4035
028aee17
JM
40362014-08-25 Jason Merrill <jason@redhat.com>
4037
4038 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
4039 -std=c++14 and -std=gnu++14, rather than the reverse.
4040 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
4041 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
4042 * c-common.h (cxx_dialect): Remove cxx1y.
4043
e4276ba5
ESR
40442014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
4045
4046 * c-common.h (enum cxx_dialect): Add cxx14.
4047 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
4048 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
4049 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
4050
a545cacd
JM
40512014-08-22 Jason Merrill <jason@redhat.com>
4052
4053 * c.opt (std=gnu++17): Fix alias.
4054
59ea0364
MP
40552014-08-22 Marek Polacek <polacek@redhat.com>
4056
4057 PR c++/62199
4058 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
4059 check for vector types. Drop LHS argument.
4060 * c-common.h (warn_logical_not_parentheses): Adjust.
4061
596e808c
MLI
40622014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4063
4064 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4065 (Wmultichar): Likewise.
4066 (Wdate-time): Use C-family languages instead of Common. Use CPP
4067 and Var.
4068 * c-opts.c (c_common_handle_option): Do not handle the above
4069 options here.
4070 (sanitize_cpp_opts): Likewise.
4071
18767f65
MLI
40722014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4073
4074 PR fortran/44054
4075 * c-opts.c: Include tree-diagnostics.h.
4076 (c_diagnostic_finalizer): New.
4077 (c_common_initialize_diagnostics): Use it.
4078
b4413594
MLI
40792014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4080
4081 PR preprocessor/51303
4082 * c-common.c (struct reason_option_codes_t option_codes):
4083 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4084
43f9a13c
MLI
40852014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4086
4087 PR c/60975
4088 PR c/53063
4089 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4090 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4091 (c_common_post_options): Call init_global_opts_from_cpp.
4092 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4093
04159acf
MP
40942014-08-19 Marek Polacek <polacek@redhat.com>
4095
4096 PR c++/62153
4097 * c-common.c (maybe_warn_bool_compare): New function.
4098 * c-common.h (maybe_warn_bool_compare): Declare.
4099 * c.opt (Wbool-compare): New option.
4100
35aff4fb
MP
41012014-08-19 Marek Polacek <polacek@redhat.com>
4102
4103 * c.opt (Wc99-c11-compat): New option.
4104
177cce46
MP
41052014-08-19 Marek Polacek <polacek@redhat.com>
4106
4107 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4108 to warn_c90_c99_compat.
4109 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4110 to -1.
4111
6ae9194f
MLI
41122014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
4113 Steven Bosscher <steven@gcc.gnu.org>
4114
4115 PR c/52952
4116 * c-format.c: Add extra_arg_loc and format_string_loc to struct
4117 format_check_results.
4118 (check_function_format): Use true and add comment for boolean
4119 argument.
4120 (finish_dollar_format_checking): Use explicit location when warning.
4121 (check_format_info): Likewise.
4122 (check_format_arg): Set extra_arg_loc and format_string_loc.
4123 (check_format_info_main): Use explicit location when warning.
4124 (check_format_types): Pass explicit location.
4125 (format_type_warning): Likewise.
4126
8e54f6d3
MLI
41272014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4128
4129 PR fortran/44054
4130 * c-format.c: Handle Fortran flags.
4131
cd4e76fc
IZ
41322014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
4133
4134 PR other/61962
4135 * array-notation-common.c (find_rank): Added handling for other
4136 types of references.
4137
f3bede71
MP
41382014-08-10 Marek Polacek <polacek@redhat.com>
4139
4140 PR c/51849
4141 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4142 * c.opt (Wc90-c99-compat): Add option.
4143
9f25a338
TS
41442014-08-07 Trevor Saunders <tsaunders@mozilla.com>
4145
4146 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4147
62e4eb35
MP
41482014-08-03 Marek Polacek <polacek@redhat.com>
4149
4150 * c-common.c (check_case_value): Add location_t parameter. Use it.
4151 (c_add_case_label): Pass loc to check_case_value.
4152
b787e7a2
TS
41532014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4154
4155 * cilk.c: Use hash_map instead of pointer_map.
4156
6e2830c3
TS
41572014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4158
4159 * c-gimplify.c: Use hash_set instead of pointer_set.
4160
a7ee52fb
IZ
41612014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
4162
4163 PR middle-end/61455
4164 * array-notation-common.c (extract_array_notation_exprs): Handling
4165 of DECL_EXPR added.
4166
944fa280
JJ
41672014-08-01 Jakub Jelinek <jakub@redhat.com>
4168
4169 * c-common.h (min_align_of_type): Removed prototype.
4170 * c-common.c (min_align_of_type): Removed.
4171 * c-ubsan.h (ubsan_maybe_instrument_reference,
4172 ubsan_maybe_instrument_member_call): New prototypes.
4173 * c-ubsan.c: Include stor-layout.h and builtins.h.
4174 (ubsan_maybe_instrument_reference_or_call,
4175 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4176 functions.
4177
b4dfdc11
MG
41782014-07-31 Marc Glisse <marc.glisse@inria.fr>
4179
4180 PR c++/60517
4181 * c.opt (-Wreturn-local-addr): Move to common.opt.
4182
a41844e5
JM
41832014-07-30 Jason Merrill <jason@redhat.com>
4184
4185 PR c++/61659
4186 PR c++/61687
4187 Revert:
4188 * c.opt (-fuse-all-virtuals): New.
4189
976d5a22
TT
41902014-07-30 Tom Tromey <tromey@redhat.com>
4191
4192 PR c/59855
4193 * c.opt (Wdesignated-init): New option.
4194 * c-common.c (c_common_attribute_table): Add "designated_init".
4195 (handle_designated_init): New function.
4196
cdc94aca
MP
41972014-07-24 Marek Polacek <polacek@redhat.com>
4198
4199 PR c/57653
4200 * c-opts.c (c_finish_options): If -imacros is in effect, return.
4201
f41373b6
DS
42022014-07-16 Dodji Seketeli <dodji@redhat.com>
4203
4204 PR preprocessor/60723 - missing system-ness marks for macro tokens
4205 * c-ppoutput.c (struct print::prev_was_system_token): New data
4206 member.
4207 (init_pp_output): Initialize it.
4208 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4209 (do_line_change): Return a flag saying if a line marker was
4210 emitted or not.
4211 (scan_translation_unit): Detect if the system-ness of the token we
4212 are about to emit is different from the one of the previously
4213 emitted token. If so, emit a line marker. Avoid emitting useless
4214 adjacent line markers. Avoid emitting line markers for tokens
4215 originating from the expansion of built-in macros.
4216 (scan_translation_unit_directives_only): Adjust.
4217
4d661eaa
MP
42182014-07-15 Marek Polacek <polacek@redhat.com>
4219
4220 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4221 TYPE_MAX_VALUE is NULL.
4222
b108f48f
JJ
42232014-07-14 Jakub Jelinek <jakub@redhat.com>
4224
4225 PR middle-end/61294
4226 * c.opt (Wmemset-transposed-args): New warning.
4227
c0221884
JM
42282014-07-10 Jason Merrill <jason@redhat.com>
4229
4230 PR c++/61659
4231 PR c++/61687
4232 * c.opt (-fuse-all-virtuals): New.
4233
63dfbb95
RB
42342014-07-09 Richard Biener <rguenther@suse.de>
4235
4236 PR c-family/61741
4237 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4238 using unsigned arithmetic if overflow does not wrap instead of
4239 if overflow is undefined.
4240
773ec47f
MP
42412014-07-06 Marek Polacek <polacek@redhat.com>
4242
4243 PR c/6940
4244 * c.opt (Wsizeof-array-argument): New option.
4245
00a7ba58
JJ
42462014-07-03 Jakub Jelinek <jakub@redhat.com>
4247
b1726d6c 4248 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
4249 comments->count <= 1, as comments->entries might be NULL.
4250
52ec0ea3
MP
42512014-07-01 Marek Polacek <polacek@redhat.com>
4252
4253 * c.opt (Wint-conversion): New option.
4254
d5c3d343
MP
42552014-07-01 Marek Polacek <polacek@redhat.com>
4256
4257 PR c/58286
4258 * c.opt (Wincompatible-pointer-types): New option.
4259
6e7ceb17
PC
42602014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
4261
4262 PR c++/51400
4263 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4264 Do not discard TYPE_QUALS of type.
4265
da73100b
JM
42662014-06-26 Jason Merrill <jason@redhat.com>
4267
4268 * c-common.h (enum cxx_dialect): Add cxx1z.
4269 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4270 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4271
08eedf75
TJ
42722014-06-26 Teresa Johnson <tejohnson@google.com>
4273
4274 * c-common.h (get_dump_info): Declare.
4275 * c-gimplify.c (c_genericize): Use saved dump files.
4276 * c-opts.c (c_common_parse_file): Begin and end dumps
4277 once around parsing invocation.
4278 (get_dump_info): New function.
4279
7b56b2f8
MP
42802014-06-23 Marek Polacek <polacek@redhat.com>
4281 Andrew MacLeod <amacleod@redhat.com>
4282
4283 PR c/61553
4284 * c-common.c (get_atomic_generic_size): Don't segfault if the
4285 type doesn't have a size.
4286
0e37a2f3
MP
42872014-06-20 Marek Polacek <polacek@redhat.com>
4288
4289 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4290 (ubsan_walk_array_refs_r): New function.
4291 (c_genericize): Instrument array bounds.
4292 * c-ubsan.c: Include "internal-fn.h".
4293 (ubsan_instrument_division): Mark instrumented arrays as having
4294 side effects. Adjust ubsan_type_descriptor call.
4295 (ubsan_instrument_shift): Likewise.
4296 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4297 (ubsan_instrument_bounds): New function.
4298 (ubsan_array_ref_instrumented_p): New function.
4299 (ubsan_maybe_instrument_array_ref): New function.
4300 * c-ubsan.h (ubsan_instrument_bounds): Declare.
4301 (ubsan_array_ref_instrumented_p): Declare.
4302 (ubsan_maybe_instrument_array_ref): Declare.
4303
43042014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
4305
4306 PR lto/61123
4307 * c.opt (fshort-enums): Add to LTO.
4308 * c.opt (fshort-wchar): Likewise.
4309
5c3d09f7
MP
43102014-06-16 Marek Polacek <polacek@redhat.com>
4311
4312 PR c/60439
4313 * c.opt (Wswitch-bool): Add Var.
4314
9cf32741
JJ
43152014-06-12 Jakub Jelinek <jakub@redhat.com>
4316
4317 PR middle-end/61486
4318 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4319 #pragma omp target teams or
4320 #pragma omp {,target }teams distribute simd.
4321
62984918
JM
43222014-06-12 Jason Merrill <jason@redhat.com>
4323
4324 * c.opt (Wabi=, fabi-compat-version): New.
4325 * c-opts.c (c_common_handle_option): Handle -Wabi=.
4326 (c_common_post_options): Handle flag_abi_compat_version default.
4327 Disallow -fabi-compat-version=1.
4328 * c-common.h (abi_version_crosses): New.
4329
f961457f
JH
43302014-06-11 Jan Hubicka <hubicka@ucw.cz>
4331
adfac8df 4332 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
4333 section names that are no longer trees.
4334
92d28cbb
JJ
43352014-06-10 Jakub Jelinek <jakub@redhat.com>
4336
4337 PR fortran/60928
4338 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4339 (omp_pragmas): ... back here.
4340
742938c9
MP
43412014-06-05 Marek Polacek <polacek@redhat.com>
4342
4343 PR c/49706
4344 * c-common.c (warn_logical_not_parentheses): New function.
4345 * c-common.h (warn_logical_not_parentheses): Declare.
4346 * c.opt (Wlogical-not-parentheses): New option.
4347
9d548dfb
MP
43482014-06-04 Marek Polacek <polacek@redhat.com>
4349
4350 PR c/30020
4351 * c-common.c (check_case_bounds): Add location parameter.
4352 Use it.
4353 (c_add_case_label): Pass loc to check_case_bounds.
4354
fedfecef
MP
43552014-06-03 Marek Polacek <polacek@redhat.com>
4356
4357 PR c/60439
4358 * c.opt (Wswitch-bool): New option.
4359
f6a7cffc
TS
43602014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4361
040d18b6
TS
4362 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4363 Remove prototypes.
4364 (record_types_used_by_current_var_decl): Move prototype to where
4365 it belongs.
4366
f6a7cffc
TS
4367 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4368 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4369 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4370
632f2871
RS
43712014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4372
4373 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4374 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4375 void_zero_node.
4376 * c-pretty-print.c (pp_c_void_constant): New function.
4377 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4378 (c_pretty_printer::expression): Handle VOID_CST.
4379 * cilk.c (extract_free_variables): Likewise.
4380 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4381 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4382
766090c2
TS
43832014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4384
4385 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4386 * c-pragma.c (push_alignment): Adjust.
4387 (handle_pragma_push_options): Likewise.
4388
661a0813
MP
43892014-05-09 Marek Polacek <polacek@redhat.com>
4390
4391 PR c/50459
4392 * c-common.c (check_user_alignment): Return -1 if alignment is error
4393 node.
4394 (handle_aligned_attribute): Don't call default_conversion on
4395 FUNCTION_DECLs.
4396 (handle_vector_size_attribute): Likewise.
4397 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4398 (handle_sentinel_attribute): Call default_conversion and allow even
4399 integral types as an argument.
4400
2793eeab
MP
44012014-05-08 Marek Polacek <polacek@redhat.com>
4402
4403 PR c/61053
4404 * c-common.c (min_align_of_type): New function factored out from...
4405 (c_sizeof_or_alignof_type): ...here.
4406 * c-common.h (min_align_of_type): Declare.
4407
f827930a
MP
44082014-05-08 Marek Polacek <polacek@redhat.com>
4409
4410 PR c/61077
4411 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4412 parameter type of main.
4413
ca49b74e
DD
44142014-05-07 DJ Delorie <dj@redhat.com>
4415
4416 * c-cppbuiltin.c (print_bits_of_hex): New.
4417 (builtin_define_type_minmax): Print values using hex so as not to
4418 require a pre-computed list of string values.
4419
1d60af08
KZ
44202014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4421 Mike Stump <mikestump@comcast.net>
4422 Richard Sandiford <rdsandiford@googlemail.com>
4423
4424 * c-ada-spec.c: Include wide-int.h.
4425 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4426 (dump_generic_ada_node): Use wide-int interfaces.
4427 * c-common.c: Include wide-int-print.h.
4428 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4429 (pointer_int_sum): Use wide-int interfaces.
4430 (c_common_nodes_and_builtins): Use make_int_cst.
4431 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4432 (handle_alloc_size_attribute): Use wide-int interfaces.
4433 (get_nonnull_operand): Likewise.
4434 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4435 * c-lex.c: Include wide-int.h.
4436 (narrowest_unsigned_type): Take a widest_int rather than two
4437 HOST_WIDE_INTs.
4438 (narrowest_signed_type): Likewise.
4439 (interpret_integer): Update accordingly. Use wide-int interfaces.
4440 (lex_charconst): Use wide-int interfaces.
4441 * c-pretty-print.c: Include wide-int.h.
4442 (pp_c_integer_constant): Use wide-int interfaces.
4443 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4444 INT_CST_LT_UNSIGNED.
4445
b15458be
RB
44462014-05-06 Richard Biener <rguenther@suse.de>
4447
4448 * c-opts.c (c_common_post_options): For -freestanding,
4449 -fno-hosted and -fno-builtin disable pattern recognition
4450 if not enabled explicitely.
4451
6577374e
MP
44522014-05-02 Marek Polacek <polacek@redhat.com>
4453
4454 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4455
d00887e8
MP
44562014-05-01 Marek Polacek <polacek@redhat.com>
4457
4458 PR c/43245
4459 * c.opt (Wdiscarded-qualifiers): Add.
4460
f8ed5150
MP
44612014-04-30 Marek Polacek <polacek@redhat.com>
4462
4463 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4464 INT_MIN / -1 sanitization only for integer types.
4465
45484dcf
MP
44662014-04-25 Marek Polacek <polacek@redhat.com>
4467
4468 PR c/18079
4469 * c-common.c (handle_noinline_attribute): Warn if the attribute
4470 conflicts with always_inline attribute.
4471 (handle_always_inline_attribute): Warn if the attribute conflicts
4472 with noinline attribute.
4473
38e514c0
MP
44742014-04-25 Marek Polacek <polacek@redhat.com>
4475
4476 PR c/60156
4477 * c-common.c (check_main_parameter_types): Warn about variadic main.
4478
44875f92
MS
44792014-04-24 Mike Stump <mikestump@comcast.net>
4480
4481 * c.opt (Wshadow-ivar): Default to on.
4482
dcaaa5a0
DP
44832014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4484
4485 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4486
c07d7c02
MP
44872014-04-23 Marek Polacek <polacek@redhat.com>
4488
4489 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4490
1c33c9b7
JJ
44912014-04-22 Jakub Jelinek <jakub@redhat.com>
4492
4493 PR sanitizer/60275
4494 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4495 if flag_sanitize_undefined_trap_on_error.
4496 (ubsan_instrument_division, ubsan_instrument_shift,
4497 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4498 if !flag_sanitize_recover.
4499
793c625f
MG
45002014-04-22 Marc Glisse <marc.glisse@inria.fr>
4501
4502 PR libstdc++/43622
4503 * c-common.c (registered_builtin_types): Make non-static.
4504 * c-common.h (registered_builtin_types): Declare.
4505
b0f1bf36
RB
45062014-04-14 Richard Biener <rguenther@suse.de>
4507 Marc Glisse <marc.glisse@inria.fr>
4508
4509 PR c/60819
4510 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4511 apply may-alias the scalar pointer type when applicable.
4512
3b07fa4a
IZ
45132014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4514
4515 PR middle-end/60467
4516 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4517 as possible argument for Cilk_spawn.
4518
cbbd2b1c
TB
45192014-04-11 Tobias Burnus <burnus@net-b.de>
4520
4521 PR c/60194
4522 * c.opt (Wformat-signedness): Add
4523 * c-format.c(check_format_types): Use it.
4524
6415bd5d
JM
45252014-04-11 Jason Merrill <jason@redhat.com>
4526
4527 PR c++/57926
4528 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4529 default_conversion for an array argument.
4530
6525783a
MP
45312014-04-08 Marek Polacek <polacek@redhat.com>
4532
4533 PR sanitizer/60745
4534 * c-ubsan.c: Include asan.h.
4535 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4536
880a467b
NS
45372014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4538
4539 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4540
7b59ff2d
MP
45412014-04-02 Marek Polacek <polacek@redhat.com>
4542
4543 * c-common.h (c_expand_expr): Remove declaration.
4544
8edbfaa6
JJ
45452014-03-28 Jakub Jelinek <jakub@redhat.com>
4546
4547 PR c++/60689
4548 * c-common.c (add_atomic_size_parameter): When creating new
4549 params vector, push the size argument first.
4550
07d72e1d
JJ
45512014-03-26 Jakub Jelinek <jakub@redhat.com>
4552
4553 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4554 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4555 ubsan_create_data callers.
4556
b35e0fa0
JJ
45572014-03-22 Jakub Jelinek <jakub@redhat.com>
4558
4559 PR debug/60603
4560 * c-opts.c (c_finish_options): Restore cb_file_change call to
4561 <built-in>.
4562
39a1ebb3
JJ
45632014-03-13 Jakub Jelinek <jakub@redhat.com>
4564
4565 PR middle-end/36282
4566 * c-pragma.c (apply_pragma_weak): Only look at
4567 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4568 DECL_ASSEMBLER_NAME_SET_P (decl).
4569 (maybe_apply_pending_pragma_weaks): Exit early if
4570 vec_safe_is_empty (pending_weaks) rather than only when
4571 !pending_weaks.
4572 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4573 set assembler name back to NULL afterwards.
4574
a07f6ed2
JM
45752014-03-11 Jason Merrill <jason@redhat.com>
4576
4577 * c.opt: Add -std=gnu++14.
4578
75b107f5
IB
45792014-03-11 Ian Bolton <ian.bolton@arm.com>
4580
4581 * c-opts.c (c_common_post_options): Don't override
4582 -ffp-contract=fast if unsafe-math-optimizations is on.
4583
f42c637e
PM
45842014-03-08 Paulo Matos <paulo@matos-sorge.com>
4585
22b15758 4586 * c.opt: Enable LTO FE for fshort-double.
f42c637e 4587
70e24808
JM
45882014-03-07 Jason Merrill <jason@redhat.com>
4589
4590 * c.opt: Add -std=c++14.
4591
3af9c5e9
MP
45922014-03-06 Marek Polacek <polacek@redhat.com>
4593
4594 PR c/60197
4595 * cilk.c (contains_cilk_spawn_stmt): New function.
4596 (contains_cilk_spawn_stmt_walker): Likewise.
4597 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4598 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4599
b3bdf019
JJ
46002014-03-03 Jakub Jelinek <jakub@redhat.com>
4601
4602 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4603 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4604 even when flag_preprocess_only.
4605
ca7e759d
JM
46062014-02-26 Jason Merrill <jason@redhat.com>
4607
4608 PR c++/59231
4609 PR c++/11586
4610 * c-common.c (shorten_compare): Don't check
4611 c_inhibit_evaluation_warnings.
4612
28e41874
JJ
46132014-02-19 Jakub Jelinek <jakub@redhat.com>
4614
cca615af
JJ
4615 PR c/37743
4616 * c-common.c (c_common_nodes_and_builtins): When initializing
4617 c_uint{16,32,64}_type_node, also set corresponding
4618 uint{16,32,64}_type_node to the same value.
4619
28e41874
JJ
4620 PR c++/60267
4621 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4622 for PRAGMA_IVDEP if flag_preprocess_only.
4623
c2bf53a1
JJ
46242014-02-12 Jakub Jelinek <jakub@redhat.com>
4625
4626 PR c/60101
4627 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4628 if false, add ADD itself, rather than vice versa.
4629 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4630 copy. For SAVE_EXPR, only call merge_tlist once.
4631
8fcbce72
JJ
46322014-02-08 Jakub Jelinek <jakub@redhat.com>
4633
4634 PR middle-end/60092
4635 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4636 and tree_to_uhwi.
4637 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4638 functions.
4639 (c_common_attribute_table): Add alloc_align and assume_aligned
4640 attributes.
4641
0a756a3f
MP
46422014-02-06 Marek Polacek <polacek@redhat.com>
4643
4644 PR c/60087
4645 * c-common.c (warn_for_sign_compare): Call warning_at with location
4646 instead of warning.
4647
7ec4847a
MP
46482014-02-05 Marek Polacek <polacek@redhat.com>
4649
4650 PR c/53123
4651 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4652 statement.
4653
66f20604
MP
46542014-02-04 Marek Polacek <polacek@redhat.com>
4655
4656 PR c/60036
4657 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4658 SAVE_EXPR.
4659
5d77fb19
MG
46602014-02-03 Marc Glisse <marc.glisse@inria.fr>
4661
4662 PR c++/53017
4663 PR c++/59211
4664 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4665 handle_vector_size_attribute, handle_nonnull_attribute): Call
4666 default_conversion on the attribute argument.
4667 (handle_nonnull_attribute): Increment the argument number.
4668
81e5eca8
MP
46692014-01-31 Marek Polacek <polacek@redhat.com>
4670
4671 PR c/59963
4672 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4673 build_function_call_vec.
4674 (resolve_overloaded_builtin): Likewise.
4675 * c-common.h (build_function_call_vec): Adjust declaration.
4676
68fca595
MP
46772014-01-30 Marek Polacek <polacek@redhat.com>
4678
4679 PR c/59940
4680 * c-common.h (unsafe_conversion_p): Adjust declaration.
4681 (warnings_for_convert_and_check): Likewise.
4682 (convert_and_check): Likewise.
4683 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4684 expansion_point_location_if_in_system_header on it.
4685 (warnings_for_convert_and_check): Add location parameter. Call
4686 expansion_point_location_if_in_system_header on it. Use it.
4687 (convert_and_check): Add location parameter. Use it.
4688 (conversion_warning): Likewise.
4689 (c_add_case_label): Adjust convert_and_check calls.
4690 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4691
b72271b9
BI
46922014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4693
4694 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4695 flag_cilkplus.
4696 * c-pragma.c (init_pragma): Likewise.
4697 * c.opt: Likewise.
4698
393e8e8b
MP
46992014-01-23 Marek Polacek <polacek@redhat.com>
4700
4701 PR c/59846
4702 * c-common.c (shorten_compare): Add location_t parameter.
4703 * c-common.h (shorten_binary_op): Adjust declaration.
4704
f04dda30
MP
47052014-01-23 Marek Polacek <polacek@redhat.com>
4706
4707 PR c/58346
4708 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4709 * c-common.h: Declare it.
4710
621955cb
EB
47112014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4712
4713 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4714 * c-ada-spec.c (dump_ads): Likewise.
4715 (cpp_check): Likewise.
4716 (dump_ada_specs): Likewise.
4717
47182014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
4719
4720 PR c++/49718
4721 * c-common.c (handle_no_instrument_function_attribute): Allow
4722 no_instrument_function attribute in class member
4723 definition/declaration.
4724
241f845a
JJ
47252014-01-15 Jakub Jelinek <jakub@redhat.com>
4726
4727 PR c/58943
4728 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4729 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4730 being COMPOUND_EXPR.
4731 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4732 operand a SAVE_EXPR and second MODIFY_EXPR.
4733
e83b8e2e
JJ
47342014-01-09 Jakub Jelinek <jakub@redhat.com>
4735
4736 PR target/58115
4737 * c-pch.c (c_common_write_pch): Call
4738 prepare_target_option_nodes_for_pch.
4739
23a5b65a
RS
47402014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4741
4742 Update copyright years
4743
f9030485
RS
47442014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4745
4746 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4747 the copyright notice.
4748
f2aa696b
EB
47492013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4750
4751 * c-ada-spec.c (print_constructor): New function.
4752 (print_destructor): Retrieve the origin of the destructor.
4753 (print_ada_declaration): Revamp handling of constructors/destructors.
4754
3f8257db 47552013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
4756 Bill Maddox <maddox@google.com>
4757 Jason Merrill <jason@redhat.com>
4758
4759 * c.opt: Add -fdeclone-ctor-dtor.
4760 * c-opts.c (c_common_post_options): Default to on iff -Os.
4761
41958c28
BI
47622013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4763
4764 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4765 attribute.
4766 * c-pragma.h (enum pragma_cilk_clause): Remove.
4767 (enum pragma_omp_clause): Added the following fields:
4768 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4769 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4770 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4771 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4772 PRAGMA_CILK_CLAUSE_UNIFORM.
4773
b1726d6c 4774
12893402
BI
47752013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4776
4777 * cilk.c (cilk_outline): Made this function non-static.
4778 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4779 (create_cilk_wrapper): Added a new parameter: a function pointer.
4780 (c_install_body_w_frame_cleanup): Remove
4781 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4782 * c-common.h (cilk_outline): New prototype.
4783 (gimplify_cilk_spawn): Removed two parameters.
4784 (cilk_install_body_with_frame_cleanup): New prototype.
4785 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4786 CILK_SPAWN_STMT case.
4787
085b42ed
BS
47882013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4789
2ce064c3
BS
4790 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4791
085b42ed
BS
4792 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4793 (int_array_type_node): Remove.
4794 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4795
9e36c9ed
MP
47962013-12-05 Marek Polacek <polacek@redhat.com>
4797
4798 PR c/52023
4799 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4800 [ADJUST_FIELD_ALIGN].
4801
296674db
JM
48022013-12-04 Joseph Myers <joseph@codesourcery.com>
4803
4804 PR c/52023
4805 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4806 and check field alignment if set.
4807 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4808 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4809
b1726d6c 48102013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
4811 Marek Polacek <polacek@redhat.com>
4812
4813 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4814 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4815
d7947e19
L
48162013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4817
4818 PR c/59309
4819 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4820 arguments.
4821
fad7652e
JJ
48222013-11-29 Jakub Jelinek <jakub@redhat.com>
4823
4824 PR c/59280
4825 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4826 goto invalid. If it is error_mark_node, don't issue further
4827 diagnostics.
4828
8b5e1202
SO
48292013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4830
4831 * c.opt (Wopenmp-simd): New.
4832
0a508bb6
JJ
48332013-11-22 Jakub Jelinek <jakub@redhat.com>
4834
4835 * c-ubsan.h (ubsan_instrument_return): New prototype.
4836 * c-ubsan.c (ubsan_instrument_return): New function.
4837
2fb9a547
AM
48382013-11-22 Andrew MacLeod <amacleod@redhat.com>
4839
4840 * c-common.c: Add required include files from gimple.h.
4841 * c-gimplify.c: Likewise
4842 * cilk.c: Likewise
4843
8400e75e
DM
48442013-11-22 David Malcolm <dmalcolm@redhat.com>
4845
4846 * c-common.c (unsafe_conversion_p): Remove use of
4847 EXPR_LOC_OR_HERE macro.
4848 (conversion_warning): Likewise.
4849 (warnings_for_convert_and_check): Likewise.
4850 (warn_for_collisions_1): Likewise.
4851 (shorten_compare): Likewise, and remove use of in_system_header
4852 macro, using the location from the former.
4853 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4854 (cb_def_pragma): Remove use of in_system_header macro.
4855 (lex_string): Likewise.
4856 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4857
eb1ce453
KZ
48582013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4859 Mike Stump <mikestump@comcast.net>
4860 Richard Sandiford <rdsandiford@googlemail.com>
4861
4862 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4863 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4864 tree_fits_shwi_p or tree_fits_uhwi_p.
4865 (dump_generic_ada_node): Likewise.
4866 * c-format.c (check_format_arg): Likewise.
4867 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4868
6b3b8c27
KZ
48692013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4870
4871 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4872
49b0aa18
JC
48732013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4874
4875 PR c/53001
4876 * c-common.c (unsafe_conversion_p): Make this function
4877 return an enumeration with more detail.
4878 (conversion_warning): Use the new return type of
4879 unsafe_conversion_p to separately warn either about conversions
4880 that lower floating point number precision or about the other
4881 kinds of conversions.
4882 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
4883 (unsafe_conversion_p): switching return type to
4884 conversion_safety enumeration.
49b0aa18
JC
4885 * c.opt: Adding new warning -Wfloat-conversion and
4886 enabling it with -Wconversion.
4887
b826515a
BS
48882013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4889
8e745a17
JJ
4890 * c-opts.c: Include plugin.h.
4891 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 4892
b9a55b13
MP
48932013-11-19 Marek Polacek <polacek@redhat.com>
4894
4895 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4896 call.
4897 (ubsan_instrument_shift): Likewise.
4898 (ubsan_instrument_vla): Likewise.
4899
7d362f6c
RS
49002013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4901
4902 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4903 cast to unsigned type.
4904
386b1f1f
RS
49052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4906
4907 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4908 tree_low_cst.
4909 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4910 rather than tree_low_cst.
4911
ae7e9ddd
RS
49122013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4913
4914 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4915 tree_to_uhwi throughout.
4916
9439e9a1
RS
49172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4918
4919 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4920 tree_low_cst (..., 0) with tree_to_shwi throughout.
4921
cc269bb6
RS
49222013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4923
4924 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4925 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4926
9541ffee
RS
49272013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4928
4929 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4930 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4931
c02065fc
AH
49322013-11-15 Aldy Hernandez <aldyh@redhat.com>
4933
4934 * c-cilkplus.c: New file.
4935 * c-common.c (readonly_error): Add location argument.
4936 * c-common.h (readonly_error): Same.
4937 (c_finish_cilk_clauses): Protoize.
4938 (c_check_cilk_loop): Same.
4939 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4940 Do not fail on error_mark_node.
4941 Abstract increment canonicalization to here...
4942 (c_omp_for_incr_canonicalize_ptr): New.
4943 c-pragma.c (init_pragma): Register "simd" pragma.
4944 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4945 (enum pragma_cilk_clause): New.
4946
9cc65f15
RS
49472013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4948
4949 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4950 wchar_type and host_integerp checks.
4951
18f429e2
AM
49522013-11-14 Andrew MacLeod <amacleod@redhat.com>
4953
4954 * c-common.c: Likewise.
4955 * c-gimplify.c: Likewise.
4956 * cilk.c: Likewise.
4957
d8a2d370
DN
49582013-11-14 Diego Novillo <dnovillo@google.com>
4959
4960 * c-common.c: Include fold-const.h.
4961 Include stor-layout.h.
4962 Include calls.h.
4963 Include stringpool.h.
4964 Include attribs.h.
4965 Include varasm.h.
4966 Include trans-mem.h.
4967 * c-cppbuiltin.c: Include stor-layout.h.
4968 Include stringpool.h.
4969 * c-format.c: Include stringpool.h.
4970 * c-lex.c: Include stringpool.h.
4971 Include stor-layout.h.
4972 * c-pragma.c: Include stringpool.h.
4973 Include attribs.h.
4974 Include varasm.h.
4975 Include gcc-symtab.h.
4976 * c-pretty-print.c: Include stor-layout.h.
4977 Include attribs.h.
4978 * cilk.c: Include stringpool.h.
4979 Include calls.h.
4980
38b7bc7f
JM
49812013-11-13 Joseph Myers <joseph@codesourcery.com>
4982
4983 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4984 * c-common.c (c_common_reswords): Add __auto_type.
4985 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4986
45b0be94
AM
49872013-11-12 Andrew MacLeod <amacleod@redhat.com>
4988
18f429e2
AM
4989 * c-common.c: Include gimplify.h.
4990 * c-gimplify.c: Likewise.
4991 * cilk.c: Likewise.
4992 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4993 * c-ubsan.c: Don't include gimple.h.
45b0be94 4994
582d9b50
JM
49952013-11-12 Joseph Myers <joseph@codesourcery.com>
4996
4997 * c-common.c (c_common_reswords): Add _Thread_local.
4998
6b28e197
JM
49992013-11-09 Joseph Myers <joseph@codesourcery.com>
5000
5001 * c-common.c (atomic_size_supported_p): New function.
5002 (resolve_overloaded_atomic_exchange)
5003 (resolve_overloaded_atomic_compare_exchange)
5004 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
5005 Use it instead of comparing size with a local list of sizes.
5006
267bac10
JM
50072013-11-07 Andrew MacLeod <amacleod@redhat.com>
5008 Joseph Myers <joseph@codesourcery.com>
5009
5010 * c-common.h (enum rid): Add RID_ATOMIC.
5011 * c-common.c (c_common_reswords): Add _Atomic.
5012 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
5013 (keyword_is_type_qualifier): Accept RID_ATOMIC.
5014 * c-format.c (check_format_types): Check for extra _Atomic
5015 qualifiers in format argument.
5016 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
5017 (pp_c_type_qualifier_list): Mention _Atomic in comment.
5018
5157b91e
TB
50192013-11-06 Tobias Burnus <burnus@net-b.de>
5020
5021 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
5022
6dbe0958
JM
50232013-11-06 Joseph Myers <joseph@codesourcery.com>
5024
5025 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
5026 standards modes.
5027 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
5028 to mean lack of IEEE 754 support.
5029
e8ff5196
TB
50302013-11-05 Tobias Burnus <burnus@net-b.de>
5031
5032 * c.opt (-Wdate-time): New option
5033 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
5034
254a0760
JM
50352013-11-05 Joseph Myers <joseph@codesourcery.com>
5036
5037 * c-cppbuiltin.c (cpp_iec_559_value): Test
5038 flag_excess_precision_cmdline not flag_excess_precision.
5039
6d7f7e0a
TB
50402013-11-05 Tobias Burnus <burnus@net-b.de>
5041
5042 * c.opt (fopenmp-simd): New option.
5043 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
5044 (omp_pragmas): ... this new struct.
5045 (c_pp_lookup_pragma): Also walk omp_pragmas.
5046 (init_pragma): Init pragmas for -fopenmp-simd.
5047
55a7f02f
MP
50482013-11-04 Marek Polacek <polacek@redhat.com>
5049
5050 PR c++/58979
5051 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
5052
9193fb05
JM
50532013-11-04 Joseph Myers <joseph@codesourcery.com>
5054
5055 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5056 New functions.
5057 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5058
94159ecf
EB
50592013-11-04 Eric Botcazou <ebotcazou@adacore.com>
5060
5061 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5062 (dump_ada_specs): Adjust prototype of second callback.
5063 * c-ada-spec.c (cpp_check): New global variable.
5064 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5065 (print_generic_ada_decl): Likewise.
5066 (has_static_fields): Change return type to bool and add guard.
5067 (has_nontrivial_methods): New predicate.
5068 (is_tagged_type): Change return type to bool.
5069 (separate_class_package): Call has_nontrivial_methods.
5070 (pp_ada_tree_identifier): Minor tweaks.
5071 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5072 (dump_ada_array_domains): Likewise.
5073 (dump_ada_array_type): Likewise.
5074 (dump_template_types): Remove cpp_check parameter and do not pass it to
5075 dump_generic_ada_node.
5076 (dump_ada_template): Likewise.
5077 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5078 recursively.
5079 (print_ada_methods): Change return type to integer. Remove cpp_check
5080 parameter and do not pass it down.
5081 (dump_nested_types): Remove cpp_check parameter and do not pass it to
5082 dump_generic_ada_node.
5083 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
5084 accessing methods.
5085 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5086 down. Use has_nontrivial_methods to recognize C++ classes. Use return
5087 value of print_ada_methods.
5088 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5089 Set cpp_check to it before invoking dump_ada_nodes.
5090 (dump_ada_specs): Likewise.
5091
b906f4ca
MP
50922013-11-03 Marek Polacek <polacek@redhat.com>
5093
5094 * c-ubsan.c: Don't include hash-table.h.
5095 (ubsan_instrument_vla): New function.
5096 * c-ubsan.h: Declare it.
5097
5e20cdc9
DM
50982013-10-31 David Malcolm <dmalcolm@redhat.com>
5099
5100 Automated part of renaming of symtab_node_base to symtab_node.
5101
5102 Patch autogenerated by rename_symtab.py from
5103 https://github.com/davidmalcolm/gcc-refactoring-scripts
5104 revision 58bb219cc090b2f4516a9297d868c245495ee622
5105
5106 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5107 symtab_node_base to symtab_node.
5108
7057e645
ESR
51092013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
5110
8e745a17 5111 Implement C++14 digit separators.
7057e645
ESR
5112 * c-lex.c (interpret_float): Remove digit separators from scratch string
5113 before building real literal.
5114
193ea7bc
JJ
51152013-10-30 Jakub Jelinek <jakub@redhat.com>
5116
5117 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5118
939b37da
BI
51192013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
5120
5121 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5122 fields.
5123 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5124 enabled.
5125 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5126 (insert_cilk_frame): New prototype.
5127 (cilk_init_builtins): Likewise.
5128 (gimplify_cilk_spawn): Likewise.
5129 (c_cilk_install_body_w_frame_cleanup): Likewise.
5130 (cilk_detect_spawn_and_unwrap): Likewise.
5131 (cilk_set_spawn_marker): Likewise.
5132 (build_cilk_sync): Likewise.
5133 (build_cilk_spawn): Likewise.
5134 * cilk.c: New file.
5135
67348ccc
DM
51362013-10-29 David Malcolm <dmalcolm@redhat.com>
5137
5138 Patch autogenerated by refactor_symtab.py from
5139 https://github.com/davidmalcolm/gcc-refactoring-scripts
5140 revision 58bb219cc090b2f4516a9297d868c245495ee622
5141
5142 * c-gimplify.c (c_genericize): Update for conversion of symtab types
5143 to a true class hierarchy.
5144 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5145
d570872d
RS
51462013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
5147
5148 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5149
98906124
JL
51502013-10-26 Jeff Law <law@redhat.com>
5151
adfac8df
JJ
5152 * c-common.c (c_define_builtins): Remove mudflap support.
5153 * c.opt: Ignore and warn for mudflap options.
98906124 5154
d73749df 51552013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
5156
5157 PR other/33426
5158 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5159 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5160
3f04b1bb
JM
51612013-10-23 Jason Merrill <jason@redhat.com>
5162
5163 * c-format.c (gcc_cxxdiag_char_table): Add %X.
5164
acf0174b
JJ
51652013-10-11 Jakub Jelinek <jakub@redhat.com>
5166
acd15a28
JJ
5167 * c-common.h (omp_clause_mask::operator !=): New method.
5168 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5169 instead of if (mask & something) tests everywhere.
5170
acf0174b
JJ
5171 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5172 201307 instead of 201107.
5173 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5174 (c_common_attribute_table): Add "omp declare target" and
5175 "omp declare simd" attributes.
5176 (handle_omp_declare_target_attribute,
5177 handle_omp_declare_simd_attribute): New functions.
5178 * c-omp.c: Include c-pragma.h.
5179 (c_finish_omp_taskgroup): New function.
5180 (c_finish_omp_atomic): Add swapped argument, if true,
5181 build the operation first with rhs, lhs arguments and use NOP_EXPR
5182 build_modify_expr.
5183 (c_finish_omp_for): Add code argument, pass it down to make_code.
5184 (c_omp_split_clauses): New function.
5185 (c_split_parallel_clauses): Removed.
5186 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5187 c_omp_declare_simd_clauses_to_decls): New functions.
5188 * c-common.h (omp_clause_mask): New type.
5189 (OMP_CLAUSE_MASK_1): Define.
5190 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5191 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5192 omp_clause_mask::operator |, omp_clause_mask::operator &,
5193 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5194 omp_clause_mask::operator ==): New methods.
5195 (enum c_omp_clause_split): New.
5196 (c_finish_omp_taskgroup): New prototype.
5197 (c_finish_omp_atomic): Add swapped argument.
5198 (c_finish_omp_for): Add code argument.
5199 (c_omp_split_clauses): New prototype.
5200 (c_split_parallel_clauses): Removed.
5201 (c_omp_declare_simd_clauses_to_numbers,
5202 c_omp_declare_simd_clauses_to_decls): New prototypes.
5203 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5204 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5205 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5206 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5207 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5208 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5209 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5210 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5211 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5212 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5213 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5214 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5215 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5216 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5217 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5218 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5219 PRAGMA_OMP_CLAUSE_UNIFORM.
5220
826cacfe
MG
52212013-10-09 Marc Glisse <marc.glisse@inria.fr>
5222
5223 PR tree-optimization/20318
5224 * c-common.c (handle_returns_nonnull_attribute): New function.
5225 (c_common_attribute_table): Add returns_nonnull.
5226
2284b034
MG
52272013-10-03 Marc Glisse <marc.glisse@inria.fr>
5228
5229 PR c++/19476
5230 * c.opt (fcheck-new): Move to common.opt.
5231
b56e9788
MP
52322013-09-25 Marek Polacek <polacek@redhat.com>
5233 Jakub Jelinek <jakub@redhat.com>
5234
5235 PR sanitizer/58413
5236 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5237 an expression if we can prove it is correct.
5238 (ubsan_instrument_division): Likewise. Remove unnecessary
5239 check.
5240
ce6923c5
MP
52412013-09-18 Marek Polacek <polacek@redhat.com>
5242
5243 PR sanitizer/58411
5244 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5245 Declare it.
5246 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5247
fb5610fb
IS
52482013-09-14 Iain Sandoe <iain@codesourcery.com>
5249
5250 PR target/48094
5251 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5252 fobjc-gc, freplace-objc-classes): Accept for LTO.
5253
88b0e79e
JC
52542013-09-13 Jacek Caban <jacek@codeweavers.com>
5255
5256 * c-target.def: New hook
5257
c9b0866a
PC
52582013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5259
5260 PR c++/43452
5261 * c.opt (Wdelete-incomplete): Add.
5262
0af94e6f
JR
52632013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
5264
5265 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5266 (vector_types_compatible_elements_p): New function.
5267 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5268 declaration.
5269 (vector_types_compatible_elements_p): Declare.
5270
7c26172c
GDR
52712013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5272
5273 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5274 a virtual member function.
5275 (pp_simple_type_specifier): Remove.
5276 (pp_c_type_specifier): Likewise.
5277 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5278 Rename from pp_c_type_specifier. Adjust.
5279 (c_pretty_printer::c_pretty_printer): Do not assign to
5280 simple_type_specifier.
5281
20059c8b
GDR
52822013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5283
5284 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5285 member function.
5286 (c_pretty_printer::storage_class_specifier): Likewise.
5287 (c_pretty_printer::initializer): Likewise.
5288 (pp_declaration): Remove.
5289 (pp_declaration_specifiers): Likewise.
5290 (pp_abstract_declarator): Likewise.
5291 (pp_declarator): Likewise.
5292 (pp_type_id): Likewise.
5293 (pp_statement): Likewise.
5294 (pp_constant): Likewise.
5295 (pp_id_expression): Likewise.
5296 (pp_primary_expression): Likewise.
5297 (pp_unary_expression): Likewise.
5298 (pp_multiplicative_expression): Likewise.
5299 (pp_conditional_expression): Likewise.
5300 (pp_assignment_expression): Likewise.
5301 (pp_expression): Likewise.
5302 (pp_c_type_id): Likewise.
5303 (pp_c_storage_class_specifier): Likewise.
5304 * c-pretty-print.c (pp_c_type_cast): Tidy.
5305 (pp_c_pointer): Likewise.
5306 (pp_c_type_specifier): Likewise.
5307 (pp_c_parameter_type_list): Likewise.
5308 (pp_c_function_definition): Likewise.
5309 (pp_c_init_declarator): Likewise.
5310 (pp_c_initializer_list): Likewise.
5311 (pp_c_constructor_elts): Likewise.
5312 (c_pretty_printer::direct_abstract_declarator): Likewise.
5313 (c_pretty_printer::declaration_specifiers): Likewise.
5314 (c_pretty_printer::primary_expression): Likewise.
5315 (c_pretty_printer::postfix_expression): Likewise.
5316 (c_pretty_printer::type_id): Rename from pp_c_type_id.
5317 (c_pretty_printer::storage_class_specifier): Rename from
5318 pp_c_storage_class_specifier.
5319 (c_pretty_printer::initializer): Rename from pp_c_initializer.
5320 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5321 storage_class_specifier, initializer, offset_list, flags.
5322
de5a5fa1
MP
53232013-08-30 Marek Polacek <polacek@redhat.com>
5324
5325 * c-ubsan.c: New file.
5326 * c-ubsan.h: New file.
5327
8f0e4d72
GDR
53282013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5329
5330 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5331 member function.
5332 (c_pretty_printer::declaration_specifiers): Likewise.
5333 (c_pretty_printer::declarator): Likewise.
5334 (c_pretty_printer::abstract_declarator): Likewise.
5335 (c_pretty_printer::direct_abstract_declarator): Likewise.
5336 (c_pretty_printer::direct_declarator): Likewise.
5337 (c_pretty_printer::function_specifier): Likewise.
5338 (pp_declaration): Adjust.
5339 (pp_declaration_specifiers): Likewise.
5340 (pp_abstract_declarator): Likewise.
5341 (pp_direct_declarator): Likewise.
5342 (pp_function_specifier): Likewise.
5343 (pp_direct_abstract_declarator): Remove as unused.
5344 (pp_c_declaration): Remove.
5345 (pp_c_declaration_specifiers): Likewise.
5346 (pp_c_declarator): Likewise.
5347 (pp_c_direct_declarator): Likewise.
5348 (pp_c_function_specifier): Likewise.
5349 (pp_c_direct_abstract_declarator): Likewise.
5350 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5351 from pp_c_abstract_declarator. Adjust.
5352 (c_pretty_printer::direct_abstract_declarator): Rename from
5353 pp_c_direct_abstract_declarator. Adjust.
5354 (c_pretty_printer::function_specifier): Rename from
5355 pp_c_function_specifier. Adjust.
5356 (c_pretty_printer::declaration_specifiers): Rename from
5357 pp_c_declaration_specifiers. Adjust.
5358 (c_pretty_printer::direct_declarator): Rename from
5359 pp_c_direct_declarator. Adjust.
5360 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5361 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5362 (c_pretty_printer::c_pretty_printer): Do not assign to
5363 declaration, declaration_specifiers, declarator,
5364 direct_declarator, direct_abstract_declarator, function_specifier.
5365
00d34d3a
GDR
53662013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5367
5368 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5369 virtual member function.
5370 (c_pretty_printer::multiplicative_expression): Likewise.
5371 (c_pretty_printer::conditional_expression): Likewise.
5372 (c_pretty_printer::assignment_expression): Likewise.
5373 (c_pretty_printer::expression): Likewise.
5374 (pp_unary_expression): Adjust.
5375 (pp_multiplicative_expression): Likewise.
5376 (pp_assignment_expression): Likewise.
5377 (pp_conditional_expression): Likewise.
5378 (pp_expression): Likewise.
5379 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5380 from pp_c_unary_expression. Adjust.
5381 (c_pretty_printer::multiplicative_expression): Rename from
5382 pp_c_multiplicative_expression. Adjust.
5383 (c_pretty_printer::conditional_expression): Rename from
5384 pp_c_conditional_expression. Adjust.
5385 (c_pretty_printer::assignment_expression): Rename from
5386 pp_c_assignment_expression. Adjust.
5387 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5388 (c_pretty_printer::c_pretty_printer): Do not assign to
5389 unary_expression, multiplicative_expression,
5390 conditional_expression, expression.
5391
fb22178f
GDR
53922013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5393
5394 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5395 virtual member function.
5396 (pp_postfix_expression): Adjust.
5397 (pp_c_postfix_expression): Remove.
5398 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5399 from pp_c_postfix_expression. Adjust.
5400 (c_pretty_printer::c_pretty_printer): Do not assign to
5401 postfix_expression.
5402
7ecc2600
GDR
54032013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5404
5405 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5406 virtua member function.
5407 (pp_primary_expression): Adjust.
5408 (pp_c_primary_expression): Remove.
5409 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5410 from pp_c_primary_expression. Adjust.
5411 (pp_c_initializer_list): Use pp_primary_expression.
5412 (c_pretty_printer::c_pretty_printer): Do not assign to
5413 primary_expression.
5414
0691175f
GDR
54152013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5416
5417 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5418 * c-pretty-print.c (M_): Remove.
5419 (c_pretty_printer::translate_string): Define.
5420 (pp_c_type_specifier): Use it.
5421 (pp_c_primary_expression): Likewise.
5422 (pp_c_expression): Likewise.
5423
66dfe4c4
GDR
54242013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5425
5426 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5427 virtual function.
5428 (pp_c_id_expression): Remove.
5429 (pp_id_expression): Adjust.
5430 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5431 pp_c_id_expression. Adjust.
5432 (pp_c_postfix_expression): Use pp_id_expression.
5433 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5434
ca43e9d5
GDR
54352013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5436
5437 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5438 member function.
5439 (pp_constant): Adjust.
5440 (pp_c_constant): Remove.
5441 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5442 pp_c_constant. Adjust.
5443 (pp_c_constant)
5444 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5445 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5446
da6ca2b5
GDR
54472013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5448
5449 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5450 (c_pretty_printer::c_pretty_printer): Declare.
5451 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5452 c_pretty_printer_init. Adjust.
5453 (print_c_tree): Do not call c_pretty_printer_init.
5454 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5455
65a372f4
AC
54562013-08-09 Arnaud Charlet <charlet@adacore.com>
5457
5458 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5459
fd9b0f32
PC
54602013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5461
5462 PR c++/58080
5463 * c-common.c (pointer_int_sum): Add bool parameter.
5464 * c-common.h (pointer_int_sum): Adjust declaration.
5465
e0aec1e9
GDR
54662013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5467
5468 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5469 c_pretty_printer variable.
5470
b066401f
GDR
54712013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5472
5473 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5474 (pp_base): Remove.
5475 (pp_c_base): Likewise. Adjust users.
5476 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5477 (pp_c_whitespace): Do not call pp_base.
5478 (pp_c_left_paren): Likewise.
5479 (pp_c_right_paren): Likewise.
5480 (pp_c_left_brace): Likewise.
5481 (pp_c_right_brace): Likewise.
5482 (pp_c_left_bracket): Likewise.
5483 (pp_c_right_bracket): Likewise.
5484 (pp_c_dot): Likewise.
5485 (pp_c_ampersand): Likewise.
5486 (pp_c_star): Likewise.
5487 (pp_c_arrow): Likewise.
5488 (pp_c_semicolon): Likewise.
5489 (pp_c_complement): Likewise.
5490 (pp_c_exclamation): Likewise.
5491 (pp_c_direct_declarator): Likewise.
5492 (pp_c_ws_string): Likewise.
5493 (pp_c_identifier): Likewise.
5494 (pp_c_statement): Likewise.
5495 (print_c_tree): Likewise.
5496
65e5a578
ESR
54972013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5498
5499 PR c++/58072
5500 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5501 provide useful error strings.
5502
137a1a27
GDR
55032013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5504
5505 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5506 printer functions instead of pp_string or operators and punctuators.
5507 (dump_generic_ada_node): Likewise.
5508 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5509 (pp_c_relational_expression): Likewise.
5510 (pp_c_logical_or_expression): Likewise.
5511
07838b13
GDR
55122013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5513
5514 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5515 functions instead of pp_character.
5516 (pp_ada_tree_identifier): Likewise.
5517 (dump_ada_double_name): Likewise.
5518 (dump_ada_function_declaration): Likewise.
5519 (dump_ada_array_domains): Likewise.
5520 (dump_template_types): Likewise.
5521 (dump_generic_ada_node): Likewise.
5522 (print_ada_declaration): Likewise.
5523 (print_ada_struct_decl): Likewise.
5524 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5525
433cc7b0
TT
55262013-07-23 Tom Tromey <tromey@redhat.com>
5527
5528 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5529 * c-common.c (c_common_reswords): Add _Generic.
5530
688010ba
OB
55312013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5532
5533 * c-common.c: Fix typos.
5534 * c-common.h: Likewise.
5535
2a99e5e6
LL
55362013-07-13 Lubos Lunak <l.lunak@suse.cz>
5537
5538 PR c++/55203
5539 * c-common.c (c_common_attribute_table): Add warn_unused.
5540 (handle_warn_unused_attribute): New.
5541
c26302d5
JJ
55422013-07-10 Jakub Jelinek <jakub@redhat.com>
5543
5544 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5545 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5546
dfeadaa0
PC
55472013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5548
5549 PR c++/57869
5550 * c.opt: Add Wconditionally-supported.
5551
6a2fa4b2
GS
55522013-07-08 Graham Stott <graham.stott@btinternet.com>
5553
adfac8df 5554 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
5555 unused variables l_length and l_node.
5556
ecdbd01a 55572013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
5558
5559 PR c/57821
5560 * c-common.c (complete_array_type): Delay folding first index
5561 like other indices. When folding, check for index overflow.
5562
bedc293e
MG
55632013-06-27 Marc Glisse <marc.glisse@inria.fr>
5564
5565 PR c++/57509
5566 * c-common.h (c_build_vec_perm_expr): New complain argument.
5567 * c-common.c (c_build_vec_perm_expr): Likewise.
5568 Use save_expr also in C++.
5569
604b2bfc
GDR
55702013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5571
5572 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5573 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5574 * c-opts.c (c_common_post_options): Likewise.
5575
dfeadaa0 55762013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
5577
5578 * array-notation-common.c (length_mismatch_in_expr): Changed the
5579 parameter type's from a dynamic array to a vec_tree. Also removed
5580 the size parameters.
5581 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5582 the change above.
5583
2ce86d2e
BI
55842013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5585
5586 * c-common.h (struct cilkplus_an_parts): New structure.
5587 (struct cilkplus_an_loop_parts): Likewise.
5588 (cilkplus_extract_an_triplets): New prototype.
5589 (fix_sec_implicit_args): Likewise.
5590 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5591 (fix_sec_implicit_args): Likewise.
604b2bfc 5592
07a6825b
BI
55932013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5594
5595 * array-notation-common.c (find_inv_trees): Removed an unwanted
5596 typecasting.
5597 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5598 enum rid to enum tree_code.
5599
08346abd
JH
56002013-06-11 Jan Hubicka <jh@suse.cz>
5601
5602 * c-common.c (handle_alias_ifunc_attribute): Do not set
5603 DECL_EXTERNAL for weakref variables.
5604 * c-pragma.c (handle_pragma_weak): Make sure aliases
5605 are not declared as external.
5606
d60f1706
BI
56072013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5608
5609 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5610 function from c/c-array-notation.c.
5611 (is_cilkplus_reduce_builtin): Likewise.
5612 (find_rank): Likewise.
5613 (extract_array_notation_exprs): Likewise.
5614 (replace_array_notations): Likewise.
5615 (find_inv_trees): Likewise.
5616 (replace_inv_trees): Likewise.
5617 (contains_array_notation_expr): Likewise.
5618 (find_correct_array_notation_type): Likewise.
5619 * c-common.h (struct inv_list): Moved this struct from the file
5620 c/c-array-notation.c and added a new field called additional tcodes.
5621 (length_mismatch_in_expr_p): New prototype.
5622 (is_cilkplus_reduce_builtin): Likewise.
5623 (find_rank): Likewise.
5624 (extract_array_notation_exprs): Likewise.
5625 (replace_array_notation): Likewise.
5626 (find_inv_trees): Likewise.
5627 (replace_inv_trees): Likewise.
5628 (find_correct_array_notation_type): Likewise.
dfeadaa0 5629
36536d79
BI
56302013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5631
5632 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5633 function array_notation_init_builtins is called.
5634 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5635 * c-common.def (ARRAY_NOTATION_REF): New tree.
5636 * c-common.h (build_array_notation_expr): New function declaration.
5637 (build_array_notation_ref): Likewise.
5638 (extract_sec_implicit_index_arg): New extern declaration.
5639 (is_sec_implicit_index_fn): Likewise.
5640 (ARRAY_NOTATION_CHECK): New define.
5641 (ARRAY_NOTATION_ARRAY): Likewise.
5642 (ARRAY_NOTATION_START): Likewise.
5643 (ARRAY_NOTATION_LENGTH): Likewise.
5644 (ARRAY_NOTATION_STRIDE): Likewise.
5645 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5646 ARRAY_NOTATION_REF.
5647 (pp_c_expression): Likewise.
5648 * c.opt (flag_enable_cilkplus): New flag.
5649 * array-notation-common.c: New file.
5650
f7716d57
JJ
56512013-05-14 Jakub Jelinek <jakub@redhat.com>
5652
5653 PR c++/57274
5654 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5655
a5e0cd1d
MG
56562013-05-10 Marc Glisse <marc.glisse@inria.fr>
5657
5658 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5659 vectors.
5660
f6bc1c4a
HS
56612013-05-07 Han Shen <shenhan@google.com>
5662
5663 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5664
3f12f6e9
SKS
56652013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5666
5667 * c-common.c (check_user_alignment): Emit error for negative values.
5668
61949153
PC
56692013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5670
5671 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5672
e93e18e9
PC
56732013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5674
5675 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5676 __GXX_EXPERIMENTAL_CXX1Y__.
5677
44d90fe1 56782013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 5679 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
5680
5681 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5682 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5683 to simply use OPT_Wpointer_arith.
5684 (c_sizeof_or_alignof_type): Likewise.
5685
13f39b2e
PC
56862013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5687
5688 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5689
4b84d650
JJ
56902013-04-12 Jakub Jelinek <jakub@redhat.com>
5691
5692 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5693 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5694 specifiers.
5695
fb037b5d
SB
56962013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5697
5698 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5699
4e856798
PC
57002013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5701
5702 * c-common.c (pointer_int_sum): Remove dead code.
5703
4b1baac8
RS
57042013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5705
5706 PR middle-end/56524
5707 * c-common.c (handle_optimize_attribute): Don't call
5708 save_optabs_if_changed.
5709
0b50e654
JJ
57102013-03-05 Jakub Jelinek <jakub@redhat.com>
5711
5712 PR middle-end/56461
5713 * c-pch.c (pch_init): Free target_validity at the end.
5714
48c41403
JJ
57152013-03-04 Jakub Jelinek <jakub@redhat.com>
5716
5717 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5718
e664c61c
KS
57192013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5720 Jakub Jelinek <jakub@redhat.com>
5721
5722 PR sanitizer/56454
5723 * c-common.c (handle_no_sanitize_address_attribute): New function.
5724 (c_common_attribute_table): Add no_sanitize_address attribute.
5725 (handle_no_address_safety_analysis_attribute): Add
5726 no_sanitize_address attribute, not no_address_safety_analysis
5727 attribute.
5728
a475fd3d 57292013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
5730
5731 PR target/52555
5732 * c-common.c (handle_optimize_attribute): Call
5733 save_optabs_if_changed.
5734
f6007d99
JJ
57352013-02-18 Jakub Jelinek <jakub@redhat.com>
5736 Steven Bosscher <steven@gcc.gnu.org>
5737
5738 PR pch/54117
5739 * c-opts.c (c_common_post_options): If debug info is enabled
5740 and non-dwarf*, refuse to load PCH files and when writing PCH
5741 file warn.
5742
cf35e2b1
JJ
57432013-02-05 Jakub Jelinek <jakub@redhat.com>
5744
5745 PR middle-end/56167
5746 * c-common.c (handle_error_attribute): Fix condition.
5747
32887460
JJ
57482013-01-30 Jakub Jelinek <jakub@redhat.com>
5749
5750 PR c++/55742
5751 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5752
5af057d8
JM
57532013-01-18 Jason Merrill <jason@redhat.com>
5754
5755 PR target/54908
5756 * c.opt (-fextern-tls-init): New.
5757 * c-opts.c (c_common_post_options): Handle it.
5758
cc83c823
JJ
57592013-01-09 Jakub Jelinek <jakub@redhat.com>
5760
5761 PR c/48418
5762 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5763 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5764 and is either negative or bigger or equal to type precision
5765 of the first operand.
5766
a859517f
MP
57672012-12-03 Marek Polacek <polacek@redhat.com>
5768
5769 PR c/55570
5770 * c-common.c (check_user_alignment): Swap order of tests,
5771 check TREE_CODE first.
5772
2d7aa578
ESR
57732012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5774
5775 PR c++/52654
5776 * c-common.h (overflow_type): New enum.
5777 (build_userdef_literal): Add overflow_type argument.
5778 (tree_userdef_literal): Add overflow_type.
5779 (USERDEF_LITERAL_OVERFLOW): New access macro.
5780 * c-common.c (build_userdef_literal): Add overflow_type
5781 argument.
5782 * c-lex.c (c_lex_with_flags): Add overflow_type to
5783 build_userdef_literal calls.
5784 (interpret_integer, interpret_float): Add overflow_type argument.
5785
cc3c4f62
RB
57862012-11-28 Richard Biener <rguenther@suse.de>
5787
5788 PR c/35634
5789 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5790 here and use a type with proper overflow behavior for types that would
5791 need to be promoted for the arithmetic.
5792
77bc5132
JJ
57932012-11-23 Jakub Jelinek <jakub@redhat.com>
5794
5795 PR sanitizer/55435
5796 * c-common.c (handle_no_address_safety_analysis_attribute): New
5797 function.
5798 (c_common_attribute_table): Add no_address_safety_analysis.
5799
5dc99c46
SB
58002012-11-16 Simon Baldwin <simonb@google.com>
5801
5802 * c.opt: Add f[no-]canonical-system-headers.
5803 * c-opts.c (c_common_handle_option): Handle
5804 OPT_fcanonical_system_headers.
5805
a4a0016d
ESR
58062012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5807
5808 PR c++/54413
5809 * c-opts.c (c_common_handle_option): Set new flags.
5810 * c.opt: Describe new flags.
5811
7dbb85a7
JM
58122012-11-09 Jason Merrill <jason@redhat.com>
5813
5814 * c.opt (Wabi-tag): New.
5815
ad7bac31
AK
58162012-11-09 Andi Kleen <ak@linux.intel.com>
5817
5818 PR 55139
5819 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 5820 MEMMODEL_MASK
ad7bac31 5821
7332899a
MLI
58222012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5823
5824 PR c/53063
5825 * c.opt (Wformat): Make it Alias Wformat=1.
5826 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5827 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5828 LangEnabledBy.
5829 (Wformat=): RejectNegative. Use LangEnabledBy.
5830 (Wnonnull): Use LangEnabledBy.
5831 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5832 * c-format.c (set_Wformat): Delete.
5833 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
5834 (maybe_read_dollar_number): Likewise.
5835 (avoid_dollar_number): Likewise.
5836 (finish_dollar_format_checking): Likewise.
5837 (check_format_info): Likewise.
5838 (check_format_info_main): Likewise.
5839 (check_format_types): Likewise.
5840 (format_type_warning): Likewise.
5841 * c-common.c (int): Likewise.
5842 (check_function_sentinel): Likewise.
5843 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 5844
34a180a6
MLI
58452012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5846
5847 PR c/53063
5848 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5849 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5850 Use LangEnabledBy.
5851 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5852 common.opt.
5853 (Wvariadic-macros): Init(1).
5854 * c-opts.c (c_common_handle_option): Do not handle them
5855 explicitly.
5856 (c_common_post_options): Likewise.
5857 (sanitize_cpp_opts): warn_unused_macros is now
5858 cpp_warn_unused_macros.
5859 (push_command_line_include): Likewise.
5860 * c-common.c (warn_unknown_pragmas): Do not define.
5861 * c-common.h (warn_unknown_pragmas): Do not declare.
5862
3f46d6a5
MLI
58632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5864
5865 PR c/51294
5866 * c-common.c (conversion_warning): Handle conditional expressions.
5867
880661a4
JW
58682012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5869
5870 PR c++/54930
5871 * c.opt (Wreturn_local_addr): Define new option.
5872
4514a96b
JM
58732012-10-25 Jason Merrill <jason@redhat.com>
5874
f14edc1a
JM
5875 * c.opt (Wvirtual-move-assign): New.
5876
4514a96b
JM
5877 * c.opt (Winherited-variadic-ctor): New.
5878
93100c6b
MG
58792012-10-25 Marc Glisse <marc.glisse@inria.fr>
5880
5881 PR c++/54427
5882 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5883
1efcb8c6
JM
58842012-10-23 Joseph Myers <joseph@codesourcery.com>
5885
5886 * c-common.h (pch_cpp_save_state): Declare.
5887 * c-target.def (c_preinclude): New hook.
5888 * c-opts.c (done_preinclude): New.
5889 (push_command_line_include): Handle default preincluded header.
5890 (cb_file_change): Call pch_cpp_save_state when calling
5891 push_command_line_include.
5892 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5893 (pch_cpp_save_state): New.
5894 (pch_init): Call pch_cpp_save_state conditionally, instead of
5895 calling cpp_save_state.
5896
4a0ae68e
MLI
58972012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5898
5899 PR c/53063
5900 PR c/40989
5901 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5902 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5903 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5904 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5905 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5906 * c-opts.c (c_common_handle_option): Remove explicit handling from
5907 here.
5908 (c_common_post_options): Likewise.
5909
67e4210b
EB
59102012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5911
5912 * c-ada-spec.c (LOCATION_COL): Delete.
5913 (compare_location): New function.
5914 (compare_node): Use it.
5915 (compare_comment): Likewise.
5916
65d4f2cd
MLI
59172012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5918
5919 PR c/53063
5920 PR c/40989
5921 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5922 * c-opts.c (c_common_handle_option): Do not set them here. Add
5923 comment.
5924 (c_common_post_options): Likewise.
5925
909881cb
EB
59262012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5927
5928 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5929 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5930 Remove POINTER_TYPE handling, add large unsigned handling and use
5931 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5932
3a785c97
JJ
59332012-10-12 Jakub Jelinek <jakub@redhat.com>
5934
5935 PR c/54381
5936 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5937 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5938 locs and array of 3 trees instead of just single loc and single
5939 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5940 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5941 For *cmp* builtins that take two sources strings report warnings
5942 about first and second source, not about destination and source.
5943
5e54f81d
MG
59442012-10-12 Marc Glisse <marc.glisse@inria.fr>
5945
5946 PR c++/53055
5947 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5948
f5b02f1e
EB
59492012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5950
5951 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5952 declaring something coming from another file.
5953
b46dbc6c
AC
59542012-10-10 Arnaud Charlet <charlet@adacore.com>
5955
f5b02f1e 5956 PR ada/54845
b46dbc6c
AC
5957 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5958
5d9de0d0
PC
59592012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5960
5961 PR c++/54194
5962 * c-common.c (warn_about_parentheses): Add location_t parameter;
5963 use EXPR_LOC_OR_LOC.
5964 * c-common.h: Update declaration.
5965
a212e43f
MG
59662012-10-09 Marc Glisse <marc.glisse@inria.fr>
5967
5968 PR c++/54427
5969 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5970 more operations. Make error messages optional.
5971 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5972 (scalar_to_vector): Declare.
5973
b1db7f91
JM
59742012-10-08 Jason Merrill <jason@redhat.com>
5975
5976 * c-common.c (c_common_reswords): Add thread_local.
5977
e28d52cf
DS
59782012-10-08 Dodji Seketeli <dodji@redhat.com>
5979
5980 PR c++/53528 C++11 attribute support
5981 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5982 new functions.
5983 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5984 static function.
5985 (handle_aligned_attribute): In choose strictest alignment
5986 among many. Use new check_cxx_fundamental_alignment_constraints.
5987 (handle_transparent_union_attribute): In c++11 attribute syntax,
5988 don't look through typedefs.
5989
3b78de56
AC
59902012-10-04 Arnaud Charlet <charlet@adacore.com>
5991
5992 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5993 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5994 out of dumpfile.h.
5995
6040bb5f
DC
59962012-09-25 Dehao Chen <dehao@google.com>
5997
5998 PR middle-end/54645
3b78de56 5999 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
6000 map when read in the pch.
6001
3f8257db 60022012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
6003
6004 * c-ada-spec.c: Style fixes.
6005
3f8257db 60062012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
6007
6008 * c.opt (-fada-spec-parent): Define new command line switch.
6009 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
6010 is specified, generate binding spec as a child of the specified unit.
6011
0ccb505d
PC
60122012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
6013 Manuel López-Ibáñez <manu@gcc.gnu.org>
6014
6015 PR c++/53210
6016 * c.opt ([Winit-self]): Enabled by -Wall in C++.
6017
c583af79
AC
60182012-08-23 Arnaud Charlet <charlet@adacore.com>
6019
6020 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
6021 for pointers, and add missing Convention C pragma.
6022 (print_ada_struct_decl): Add missing aliased keyword.
6023 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
6024
1a4049e7
JJ
60252012-08-17 Jakub Jelinek <jakub@redhat.com>
6026
6027 * c-common.c (sizeof_pointer_memaccess_warning): New function.
6028 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
6029 * c-opts.c (c_common_handle_option): Enable it for -Wall.
6030 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
6031 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
6032
70b5e7dc
RG
60332012-08-10 Richard Guenther <rguenther@suse.de>
6034
6035 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
6036
f8923f7e
SB
60372012-08-07 Steven Bosscher <steven@gcc.gnu.org>
6038
6039 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
6040 instead of separate pp_newline and pp_flush.
6041 (print_c_tree): Likewise.
6042
e45abe1f
RH
60432012-07-26 Richard Henderson <rth@redhat.com>
6044
6045 * c-common.c (handle_hot_attribute): Allow labels.
6046 (handle_cold_attribute): Likewise.
6047
332f1d24
JJ
60482012-07-20 Jakub Jelinek <jakub@redhat.com>
6049
6050 PR c++/28656
6051 * c-common.c (check_function_nonnull): Handle multiple nonnull
6052 attributes properly.
6053
7ee2468b
SB
60542012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6055
6056 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6057 * c-ada-spec.c: Likewise.
6058 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6059
ee7b28eb
SB
60602012-07-14 Steven Bosscher <steven@gcc.gnu.org>
6061
6062 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6063 Remove code conditional on it.
6064
6bdf3519
SB
60652012-07-11 Steven Bosscher <steven@gcc.gnu.org>
6066
6067 * c-gimplify.c: Do not include basic-block.h.
6068 * c-common.c: Do not include linfuncs.h.
6069
532aafad
SB
60702012-07-08 Steven Bosscher <steven@gcc.gnu.org>
6071
6072 * c-common.h: Include tree.h.
6073
8d0d1915
JM
60742012-07-02 Jason Merrill <jason@redhat.com>
6075
6076 PR c++/53524
6077 * c-common.c (get_priority): Call default_conversion.
6078
fbc873ad
UB
60792012-07-01 Uros Bizjak <ubizjak@gmail.com>
6080
6081 * c-pch.c (c_common_write_pch): Remove unused variables.
6082
d4a10d0a
SB
60832012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6084
6085 * cppspec.c: Moved from gcc/ to here.
6086
6f3a2e23
KT
60872012-06-27 Kai Tietz <ktietz@redhat.com>
6088
6089 PR preprocessor/37215
6090 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6091
8ca92d04
SB
60922012-06-21 Steven Bosscher <steven@gcc.gnu.org>
6093
6094 * c-common.h (c_common_print_pch_checksum): Remove.
6095 * c-pch.c: Do not include output.h.
6096 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6097 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6098 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6099 (struct c_pch_header): Remove.
6100 (get_ident): Update gpch version.
6101 (pch_init): Do not print executable_checksum to asm_out_file.
6102 Do not fail if there is no asm_out_file to read back from. Set
6103 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6104 (c_common_write_pch): Verify that nothing was written to asm_out_file
6105 since pch_init was called. Do not write a c_pch_header, and do not
6106 copy from asm_out_file to the PCH.
6107 (c_common_read_pch): Do not read a c_pch_header, and do not restore
6108 the content of asm_out_file from the PCH.
6109 (c_common_print_pch_checksum): Remove.
6110 * c-opts.c (c_common_init): Print out executable_checksum directly.
6111
70f42967
SB
61122012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6113
6114 * c-target.def (objc_declare_unresolved_class_reference,
6115 objc_declare_class_definition): Add new hooks.
6116
a8781821
SB
61172012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6118
6119 * c-lex.c: Do not include output.h.
6120 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6121 Remove uses of ASM_OUTPUT_IDENT.
6122
9e1a8dd1
RR
61232012-06-15 Marc Glisse <marc.glisse@inria.fr>
6124
6125 PR c++/51033
6126 * c-common.h (c_build_vec_perm_expr): Move decl here.
6127 * c-common.c (c_build_vec_perm_expr): Move definition
6128 here.
6129
6f07a821
SB
61302012-06-06 Steven Bosscher <steven@gcc.gnu.org>
6131
6132 * c.opt (fconserve-space): Turn into a no-op.
6133
9faeb493 61342012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
6135
6136 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6137 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6138 both the start and end of the function.
6139
a4b7d13c
SB
61402012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6141
6142 * c-common.c: Do not include output.h.
6143 * c-pragma.c: Likewise.
6144
c265f413
SA
61452012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6146
6147 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6148 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6149 (lang_decl_name): Handle namespace decls.
6150
be7a421e
SB
61512012-05-31 Steven Bosscher <steven@gcc.gnu.org>
6152
6153 * c-ada-spec.c: Do not include output.h.
6154 * c-semantics.c: Likewise.
6155
65de6659
JM
61562012-05-29 Joseph Myers <joseph@codesourcery.com>
6157
6158 * c-common.c: Fix typo.
6159
ca5f4331
MM
61602012-05-29 Michael Matz <matz@suse.de>
6161
6162 * c-common.h (c_expand_decl): Remove prototype.
6163
4f7f7aca
MLI
61642012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6165
6166 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6167 * c-opts.c (c_common_handle_option): Remove code handling
6168 warn_missing_braces.
6169
4a792f9b
PC
61702012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
6171
6172 PR c++/25137
6173 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6174 -Wmissing_braces.
6175
650dc14a
DS
61762012-05-22 Dodji Seketeli <dodji@redhat.com>
6177
6178 PR c++/53322
6179 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6180
9b095bf1
MLI
61812012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
6182
6183 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6184 * c-opts.c (c_common_handle_option): Do not handle explicitly
6185 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6186
0b2c4be5
DS
61872012-05-16 Dodji Seketeli <dodji@redhat.com>
6188
6189 PR preprocessor/7263
6190 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
6191 to cpp_classify_number. For diagnostics, use the precise location
6192 instead of the global input_location.
6193
a1bde5af
PC
61942012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6195
d02924ef 6196 PR c++/11856
a1bde5af
PC
6197 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6198
d1ede5f4
BS
61992012-05-14 Bernd Schmidt <bernds@codesourcery.com>
6200
a1bde5af 6201 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 6202
f2bc201f
MLI
62032012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6204
6205 PR 53063
6206 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6207 Wreorder): Use LangEnabledBy.
6208 * c-opts.c (c_common_handle_option): Do not enable them
6209 explicitly. Call lang-specific generated functions.
6210 (c_common_post_options): Do not set them here.
6211
95744782
MLI
62122012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
6213
6214 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6215 Wmissing-field-initializers,Wmissing-parameter-type,
6216 Wold-style-declaration,Woverride-init): Use EnabledBy.
6217 * c-opts.c (c_common_post_options): Do not set here explicitly.
6218
7d5a5747
MLI
62192012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6220
6221 PR 53063
6222 * c-opts.c (c_common_handle_option): Use handle_generated_option
6223 to enable sub-options.
6224
5a3c9cf2
PC
62252012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
6226
6227 PR c++/53158
6228 * c-common.c (warnings_for_convert_and_check): Use warning_at.
6229
3ac8781c
RG
62302012-05-10 Richard Guenther <rguenther@suse.de>
6231
6232 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6233 adjust commentary about TYPE_IS_SIZETYPE types.
6234
1e537948
MLI
62352012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6236
6237 PR c++/53261
6238 * c-common.c (warn_logical_operator): Check that argument of
6239 integer_zerop is not NULL.
6240
f2c4a785
MLI
62412012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6242
6243 PR c/43772
6244 * c-common.c (warn_logical_operator): Do not warn if either side
6245 is already true or false.
6246
50f305ca
MLI
62472012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6248
6249 PR c/51712
6250 * c-common.c (expr_original_type): New.
6251 (shorten_compare): Do not warn for enumeration types.
6252
0c3641b0
MLI
62532012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6254
6255 * c.opt (fpermissive): Add Var(flag_permissive).
6256
7edaa4d2
MG
62572012-04-30 Marc Glisse <marc.glisse@inria.fr>
6258
6259 PR c++/51033
6260 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6261 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6262
b9c8da34
DS
62632012-04-30 Dodji Seketeli <dodji@redhat.com>
6264
6265 Add -Wvarargs option
6266 * c.opt (Wvarargs): Define new option.
6267
e6c69da0
MLI
62682012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6269
6270 * c-common.c (check_function_arguments): Replace
6271 Wmissing-format-attribute with Wsuggest-attribute=format.
6272
90137d8f
MLI
62732012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6274
6275 * c.opt (Wsuggest-attribute=format): New. Alias of
6276 Wmissing-format-attribute.
6277 * c-format.c (decode_format_type): Replace
6278 Wmissing-format-attribute with Wsuggest-attribute=format.
6279 (check_function_format): Likewise.
6280
9faeb493 62812012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
6282
6283 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6284 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6285 * c.opt: Add Wliteral-suffix.
6286
c1771a20
MLI
62872012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6288
6289 PR c/44774
6290 * c.opt (Wpedantic): New.
6291 (pedantic): Alias Wpedantic.
6292 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6293 (c_common_post_options): Likewise.
6294 (sanitize_cpp_opts): Likewise.
6295 * c-lex.c (interpret_float): Likewise.
6296 * c-format.c (check_format_types): Likewise.
6297 * c-common.c (pointer_int_sum): Likewise.
6298 (c_sizeof_or_alignof_type): Likewise.
6299 (c_add_case_label): Likewise.
6300 (c_do_switch_warnings): Likewise.
6301 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6302
04b391c1
JM
63032012-04-15 Jason Merrill <jason@redhat.com>
6304
6305 PR c++/52818
6306 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6307 (C_STD_NAME): Distinguish between C++98 and C++11.
6308
ac868f29
EB
63092012-04-11 Eric Botcazou <ebotcazou@adacore.com>
6310
6311 PR target/52624
6312 * c-common.h (uint16_type_node): Rename into...
6313 (c_uint16_type_node): ...this.
6314 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6315 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6316
fd4116f4
MLI
63172012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
6318
6319 * c-common.c (warn_if_unused_value): Move definition to here.
6320 * c-common.h (warn_if_unused_value): Move declaration to here.
6321
573ac65e
WB
63222012-03-23 William Bader <williambader@hotmail.com>
6323
6324 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6325
552b8185
JM
63262012-03-20 Jason Merrill <jason@redhat.com>
6327
6328 * c-common.h (enum cxx_dialect): Add cxx1y.
6329 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6330 test.
6331 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6332 * c-opts.c (c_common_post_options): Likewise.
6333 (set_std_cxx1y): New.
6334 (c_common_handle_option): Call it.
6335 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6336
04398fa8
PC
63372012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6338
6339 PR c++/14710
6340 * c.opt ([Wuseless-cast]): Add.
6341
d2a12ae7
RG
63422012-03-16 Richard Guenther <rguenther@suse.de>
6343
6344 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6345
a12bf402
MLI
63462012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6347
6348 PR c++/44783
6349 * c.opt (ftemplate-backtrace-limit) Add.
6350
5c30094f
RO
63512012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6352
6353 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6354 handling.
6355 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6356 (init_pragma): Don't register extern_prefix.
6357
21fa2faf
RG
63582012-03-12 Richard Guenther <rguenther@suse.de>
6359
6360 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6361 (builtin_type_for_size): Likewise.
6362
e3793c6f
JJ
63632012-02-13 Jakub Jelinek <jakub@redhat.com>
6364
6365 PR c++/52215
6366 * c-common.c (sync_resolve_params): Don't decide whether to convert
6367 or not based on TYPE_SIZE comparison, convert whenever arg_type
6368 is unsigned INTEGER_TYPE.
6369
93286335
PC
63702012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6371
6372 PR c/52118
6373 * c.opt ([Wunused-local-typedefs]): Fix description.
6374
7a421706
MS
63752012-01-24 Mike Stump <mikestump@comcast.net>
6376
6377 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6378 exactly.
6379
ba9b1f11
RG
63802012-01-18 Richard Guenther <rguenther@suse.de>
6381
6382 * c-opts.c (c_common_post_options): Reset LTO flags if
6383 we are about to generate a PCH.
6384
465406be
PC
63852012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6386
6387 PR c++/51777
6388 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6389 use pp_unsigned_wide_integer.
6390
aee15221
RG
63912012-01-10 Richard Guenther <rguenther@suse.de>
6392
6393 PR middle-end/51806
6394 * c-opts.c (c_common_handle_option): Move -Werror handling
6395 to language independent code.
6396
5720c0dc
RG
63972012-01-05 Richard Guenther <rguenther@suse.de>
6398
6399 PR middle-end/51764
6400 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6401 from common.opt.
6402
73ac190a
PC
64032011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6404
6405 PR c++/51316
6406 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6407 of array types with an unknown bound.
6408
48b0b196
JM
64092011-12-20 Joseph Myers <joseph@codesourcery.com>
6410
6411 * c-common.c (flag_isoc99): Update comment to refer to C11.
6412 (flag_isoc1x): Change to flag_isoc11.
6413 * c-common.h (flag_isoc99): Update comment to refer to C11.
6414 (flag_isoc1x): Change to flag_isoc11.
6415 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6416 C11.
6417 * c-opts.c (set_std_c1x): Change to set_std_c11.
6418 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6419 Call set_std_c11.
6420 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6421 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6422 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6423 standard.
6424 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6425 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6426 (std=gnu1x): Make alias of std=gnu11.
6427
d58d6eb5
JM
64282011-12-19 Jason Merrill <jason@redhat.com>
6429
6430 PR c++/51228
6431 * c-common.c (handle_transparent_union_attribute): Check the first
6432 field if the type is complete.
6433
b3908fcc
JW
64342011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6435
6436 PR libstdc++/51365
6437 * c-common.c (RID_IS_FINAL): Add.
6438 * c-common.h (RID_IS_FINAL): Add.
6439
fea3ca91
IS
64402011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6441
6442 * c.opt (fgnu-runtime): Provide full description.
6443 (fnext-runtime): Likewise.
6444 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6445
62bad7cd
AM
64462011-11-28 Andrew MacLeod <amacleod@redhat.com>
6447
6448 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6449 predefines in one place. Add LOCK_FREE predefines.
6450 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6451 new func.
6452
c466c4ff
AM
64532011-11-24 Andrew MacLeod <amacleod@redhat.com>
6454
6455 PR c/51256
9faeb493 6456 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 6457 conditions
9faeb493
UB
6458 (resolve_overloaded_atomic_exchange,
6459 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
6460 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6461 error_mark_node for error conditions.
9faeb493 6462
a5952633
RG
64632011-11-08 Richard Guenther <rguenther@suse.de>
6464
6465 PR middle-end/51010
6466 c-family/
6467
0a35513e
AH
64682011-11-07 Richard Henderson <rth@redhat.com>
6469 Aldy Hernandez <aldyh@redhat.com>
6470 Torvald Riegel <triegel@redhat.com>
6471
6472 Merged from transactional-memory.
6473
6474 * c-common.c (handle_tm_wrap_attribute,
6475 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6476 (struct c_common_reswords): Added __transaction* keywords.
6477 (struct c_common_attribute_table): Added transaction* and tm_regparm
6478 attributes.
6479 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6480 masks.
6481 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6482 find_tm_attribute): Declare.
6483
6d87092d
JM
64842011-11-07 Jason Merrill <jason@redhat.com>
6485
6486 PR c++/35688
6487 * c-common.c, c-common.h: Revert yesterday's changes.
6488
8e7860a1
JM
64892011-11-06 Jason Merrill <jason@redhat.com>
6490
6491 PR c++/35688
6492 * c-common.c (decl_has_visibility_attr): Split out from...
6493 (c_determine_visibility): ...here.
6494 * c-common.h: Declare it.
6495
d19fa6b5
JM
64962011-11-06 Joseph Myers <joseph@codesourcery.com>
6497
6498 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6499 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6500 type.
6501 (check_user_alignment): New. Split out of
6502 handle_aligned_attribute. Disallow integer constants with
6503 noninteger types. Conditionally allow zero.
6504 (handle_aligned_attribute): Use check_user_alignment.
6505 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6506
86951993
AM
65072011-11-06 Andrew MacLeod <amacleod@redhat.com>
6508 Richard Henderson <rth@redhat.com>
6509
6510 Merged from cxx-mem-model.
6511
6512 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 6513 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
6514 parameters that are the same type size.
6515 (get_atomic_generic_size): New. Find size of generic
6516 atomic function parameters and do typechecking.
6517 (add_atomic_size_parameter): New. Insert size into parameter list.
6518 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6519 either __atomic_exchange_n or external library call.
9faeb493 6520 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 6521 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 6522 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
6523 __atomic_load_n or an external library call.
6524 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6525 __atomic_store_n or an external library call.
6526 (resolve_overloaded_builtin): Handle new __atomic builtins.
6527
cf9e9959
EB
65282011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6529
6530 PR c++/50608
6531 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6532 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6533 <INDIRECT_REF>: Return the argument.
6534 <ARRAY_REF>: Remove special code for negative offset.
6535 Call fold_build_pointer_plus instead of size_binop.
6536 (fold_offsetof): Remove STOP_REF argument and adjust.
6537 * c-common.h (fold_offsetof_1): Declare.
6538 (fold_offsetof): Remove STOP_REF argument.
6539
25339f10
JM
65402011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6541
6542 PR c++/50810
6543 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6544 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6545 Wnarrowing for C++0x and C++98.
6546 * c.opt ([Wnarrowing]): Update.
6547
89401152
PC
65482011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6549
6550 PR c++/44277
6551 * c.opt: Add Wzero-as-null-pointer-constant.
6552
97e3ad20
JM
65532011-10-31 Jason Merrill <jason@redhat.com>
6554
15694fdd
JM
6555 * c.opt (-fdeduce-init-list): Off by default.
6556
97e3ad20
JM
6557 PR c++/50920
6558 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6559 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6560 and -Wc++11-compat.
6561 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6562
fb9120e3
RAV
65632011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6564
6565 PR c++/30066
6566 * c.opt (fvisibility-inlines-hidden): Description change.
6567
3ce4f9e4
ESR
65682011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6569
6570 Implement C++11 user-defined literals.
6571 * c-common.c (build_userdef_literal): New.
6572 * c-common.def: New tree code.
6573 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6574 * c-lex.c (interpret_float): Add suffix parm.
6575 (c_lex_with_flags): Build literal tokens.
6576
5f53c243
PC
65772011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6578
6579 PR c++/50841
6580 Revert:
6581 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6582
6583 PR c++/50810
6584 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6585 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6586 Wnarrowing for C++0x and C++98.
6587 * c.opt ([Wnarrowing]): Update.
6588
263734e1
PC
65892011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6590
6591 PR c++/50810
6592 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6593 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6594 Wnarrowing for C++0x and C++98.
6595 * c.opt ([Wnarrowing]): Update.
6596
d2e312d7
PC
65972011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6598
6599 PR c++/45385
6600 * c-common.c (conversion_warning): Remove code looking for
6601 artificial operands.
6602
d17687f6
DS
66032011-10-18 Dodji Seketeli <dodji@redhat.com>
6604
6605 PR bootstrap/50760
6606 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 6607 !NO_IMPLICIT_EXTERN_C.
d17687f6 6608
fc8396e9
PC
66092011-10-17 Michael Spertus <mike_spertus@symantec.com>
6610
6611 * c-common.c (c_common_reswords): Add __bases,
6612 __direct_bases.
6613 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6614
66152011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6616
6617 PR c++/50757
6618 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6619
847e697a
TT
66202011-10-15 Tom Tromey <tromey@redhat.com>
6621 Dodji Seketeli <dodji@redhat.com>
6622
6623 * c.opt (fdebug-cpp): New option.
6624 * c-opts.c (c_common_handle_option): Handle the option.
6625 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6626 output stream in parameter. Factorized from ...
6627 (maybe_print_line): ... this. Dump location debug information when
6628 -fdebug-cpp is in effect.
6629 (print_line_1): New static function. Takes an output stream in
6630 parameter. Factorized from ...
6631 (print_line): ... here. Dump location information when -fdebug-cpp
6632 is in effect.
6633 (scan_translation_unit): Dump location information when
6634 -fdebug-cpp is in effect.
6635
92582b75
TT
66362011-10-15 Tom Tromey <tromey@redhat.com>
6637 Dodji Seketeli <dodji@redhat.com>
6638
6639 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6640 without argument.
6641 * c-opts.c (c_common_handle_option)<case
6642 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6643 cases. Handle -ftrack-macro-expansion with and without argument.
6644
46427374
TT
66452011-10-15 Tom Tromey <tromey@redhat.com>
6646 Dodji Seketeli <dodji@redhat.com>
6647
6648 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6649 (print_line, cb_define, do_line_change): Adjust to avoid touching
6650 the internals of struct line_map. Use the public API instead.
6651 * c-pch.c (c_common_read_pch): Likewise.
6652 * c-lex.c (fe_file_change): Likewise.
6653
fc8396e9
PC
66542011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6655
6656 PR c++/17212
6657 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6658
66592011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6660
6661 PR c++/33067
6662 * c-pretty-print.c (pp_c_floating_constant): Output
6663 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6664
e79983f4
MM
66652011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6666
6667 * c-common.c (def_builtin_1): Delete old interface with two
6668 parallel arrays to hold standard builtin declarations, and replace
6669 it with a function based interface that can support creating
6670 builtins on the fly in the future. Change all uses, and poison
6671 the old names. Make sure 0 is not a legitimate builtin index.
6672 * c-omp.c (c_finish_omp_barrier): Ditto.
6673 (c_finish_omp_taskwait): Ditto.
6674 (c_finish_omp_flush): Ditto.
6675
6637388f
TG
66762011-10-11 Tristan Gingold <gingold@adacore.com>
6677
6678 * c.opt: (fallow-parameterless-variadic-functions): New.
6679
3797cb21
DS
66802011-09-08 Dodji Seketeli <dodji@redhat.com>
6681
6682 PR c++/33255 - Support -Wunused-local-typedefs warning
6683 * c-common.h (struct c_language_function::local_typedefs): New
6684 field.
9faeb493
UB
6685 (record_locally_defined_typedef, maybe_record_typedef_use)
6686 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 6687 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
6688 (maybe_record_typedef_use)
6689 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
6690 * c.opt: Declare new -Wunused-local-typedefs flag.
6691
693ddb1b
EB
66922011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6693
6694 PR middle-end/50266
6695 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6696 computations.
6697
830c740f
RG
66982011-09-05 Richard Guenther <rguenther@suse.de>
6699
6700 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6701 of integer_minus_one_node for empty array upper bounds.
6702
892a371f
DS
67032011-08-28 Dodji Seketeli <dodji@redhat.com>
6704
6705 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6706 it's the first time it's being called on this main TU.
6707
0e3fdb48
RB
67082011-08-24 Richard Guenther <rguenther@suse.de>
6709
6710 PR c/49396
6711 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6712
67132011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
6714
6715 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6716 defined in cpp_init_builtins and c_cpp_builtins.
6717
d4a83c10
JM
67182011-08-19 Joseph Myers <joseph@codesourcery.com>
6719
6720 * c-common.c (c_common_reswords): Add __builtin_complex.
6721 * c-common.h (RID_BUILTIN_COMPLEX): New.
6722
bbceee64
JM
67232011-08-18 Joseph Myers <joseph@codesourcery.com>
6724
6725 * c-common.c (c_common_reswords): Add _Noreturn.
6726 (keyword_is_function_specifier): Handle RID_NORETURN.
6727 * c-common.h (RID_NORETURN): New.
6728
3f8257db 67292011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
6730
6731 * c-common.c (unsafe_conversion_p): New function. Check if it is
6732 unsafe to convert an expression to the type.
6733 (conversion_warning): Adjust, use unsafe_conversion_p.
6734 * c-common.h (unsafe_conversion_p): New function declaration.
6735
20906c66
JJ
67362011-08-02 Jakub Jelinek <jakub@redhat.com>
6737
6738 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6739 (c_finish_omp_taskyield): New prototype.
6740 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6741 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6742 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6743 or RHS1 have side-effects, evaluate those too in the right spot,
6744 if it is a decl and LHS is also a decl, error out if they
6745 aren't the same.
6746 (c_finish_omp_taskyield): New function.
6747 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6748 * c-pragma.c (omp_pragmas): Add taskyield.
6749 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6750 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6751 PRAGMA_OMP_CLAUSE_MERGEABLE.
6752
770e5a2e
DS
67532011-07-25 Dodji Seketeli <dodji@redhat.com>
6754
6755 * c-common.h (set_underlying_type): Remove parm name from
6756 declaration.
6757
1baae426
RG
67582011-07-25 Romain Geissler <romain.geissler@gmail.com>
6759
6760 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 6761
fcb21722
JM
67622011-07-22 Jason Merrill <jason@redhat.com>
6763
76f86d00
JM
6764 PR c++/49793
6765 * c.opt (Wnarrowing): New.
6766
3a636414
JM
6767 PR c++/30112
6768 * c-common.h: Declare c_linkage_bindings.
6769 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6770
fcb21722
JM
6771 PR c++/49813
6772 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6773 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6774 as flag_isoc99 for 'restrict'.
6775 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6776
02614448
ILT
67772011-07-21 Ian Lance Taylor <iant@google.com>
6778
6779 PR middle-end/49705
6780 * c-common.c (c_disable_warnings): New static function.
6781 (c_enable_warnings): New static function.
6782 (c_fully_fold_internal): Change local unused_p to bool. Call
6783 c_disable_warnings and c_enable_warnings rather than change
6784 c_inhibit_evaluation_warnings.
6785
34429675
JM
67862011-07-20 Jason Merrill <jason@redhat.com>
6787
6788 PR c++/6709 (DR 743)
6789 PR c++/42603 (DR 950)
6790 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6791 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6792 (CPP_DECLTYPE): New.
6793 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6794
5d49b6a7
RG
67952011-07-19 Richard Guenther <rguenther@suse.de>
6796
6797 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6798 * c-omp.c (c_finish_omp_for): Likewise.
6799
e84a58ff
EB
68002011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6801
6802 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6803 body on the next line.
6804
329af3c7
JM
68052011-07-08 Jason Merrill <jason@redhat.com>
6806
4063e61b
JM
6807 PR c++/45437
6808 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6809
329af3c7
JM
6810 PR c++/49673
6811 * c-common.c (c_apply_type_quals_to_decl): Don't check
6812 TYPE_NEEDS_CONSTRUCTING.
6813
1a072294
RG
68142011-07-06 Richard Guenther <rguenther@suse.de>
6815
6816 * c-common.c (c_common_nodes_and_builtins):
6817 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6818
fce5dddd
RG
68192011-07-05 Richard Guenther <rguenther@suse.de>
6820
6821 * c-common.c (c_common_nodes_and_builtins): Build all common
6822 tree nodes first.
6823
45d439ac
JJ
68242011-06-27 Jakub Jelinek <jakub@redhat.com>
6825
56300785
JJ
6826 * c-common.h (c_tree_chain_next): New static inline function.
6827
45d439ac
JJ
6828 * c-common.c (check_builtin_function_arguments): Handle
6829 BUILT_IN_ASSUME_ALIGNED.
6830
e0a8ecf2
AM
68312011-06-21 Andrew MacLeod <amacleod@redhat.com>
6832
6833 * c-common.c: Add sync_ or SYNC__ to builtin names.
6834 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
6835
68362011-06-20 Pierre Vittet <piervit@pvittet.com>
6837
6838 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6839 handler.
6840 (gen_pragma_handler): New union.
6841 (internal_pragma_handler): New type.
6842 (c_register_pragma_with_data)
6843 (c_register_pragma_with_expansion_and_data): New functions.
6844
6845 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6846 (c_register_pragma, c_register_pragma_with_expansion)
6847 (c_invoke_pragma_handler): Changed to work with
6848 internal_pragma_handler.
6849 (c_register_pragma_with_data)
6850 (c_register_pragma_with_expansion_and_data): New functions.
6851
677f3fa8
JM
68522011-06-14 Joseph Myers <joseph@codesourcery.com>
6853
6854 * c-common.c: Include common/common-target.h.
6855 (handle_section_attribute): Use
6856 targetm_common.have_named_sections.
6857 * c-cppbuiltin.c: Include common/common-target.h.
6858 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6859
d7fc8c14
RG
68602011-06-10 Richard Guenther <rguenther@suse.de>
6861
6862 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6863 to print a IDENTIFIER_NODE.
6864
10e48e39
RO
68652011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6866 Joseph Myers <joseph@codesourcery.com>
6867
6868 * c.opt (fbuilding-libgcc): New option.
6869 * c-cppbuiltin.c (c_cpp_builtins): Define
6870 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6871
6976ae51
JM
68722011-06-07 Jason Merrill <jason@redhat.com>
6873
3ff60975
JM
6874 * c-common.c (max_tinst_depth): Lower default to 900.
6875
6976ae51
JM
6876 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6877
009db074
RG
68782011-06-07 Richard Guenther <rguenther@suse.de>
6879
6880 * c-common.c (c_common_nodes_and_builtins): Do not set
6881 size_type_node or call set_sizetype.
6882
b4592b92
DS
68832011-06-07 Dodji Seketeli <dodji@redhat.com>
6884
6885 PR debug/49130
6886 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 6887 type when using pointer comparison to compare types.
b4592b92 6888
014ab419
JW
68892011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6890
6891 * c.opt: Add -Wdelete-non-virtual-dtor.
6892 * c-opts.c (c_common_handle_option): Include it in -Wall.
6893
4f60111f
NF
68942011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6895
6896 PR bootstrap/49190
6897
6898 Revert:
6899 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6900
6901 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6902 not tree_common.
6903
4cc4f2f4
JJ
69042011-05-27 Jakub Jelinek <jakub@redhat.com>
6905
6906 PR c++/49165
6907 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6908 C++ don't call c_common_truthvalue_conversion on void type arms.
6909
38e01f9e
NF
69102011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6911
6912 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6913 (stmt_list_stack): Define.
6914 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6915 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6916
92e948a8
NF
69172011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6918
6919 * c-common.c (warning_candidate_p): Check for BLOCKs.
6920
a2fc3e63
NF
69212011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6922
6923 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6924 not tree_common.
6925
0957c029
JJ
69262011-05-25 Jakub Jelinek <jakub@redhat.com>
6927
6928 * c-common.c (def_fn_type): Remove extra va_end.
6929
828fb3ba
JM
69302011-05-23 Jason Merrill <jason@redhat.com>
6931
6932 PR c++/48106
6933 * c-common.c (c_common_get_narrower): New.
6934 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6935
dde05067
NF
69362011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6937
6938 * c-common.h (check_function_arguments): Tweak prototype of
6939 check_function_arguments.
6940 * c-common.c (check_function_arguments): Likewise. Adjust
6941 calls to check_function_nonnull, check_function_format, and
6942 check_function_sentinel.
6943 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6944 separate attributes and typelist arguments. Use
6945 FOREACH_FUNCTION_ARGS to iterate over argument types.
6946
3c0d13bf
PC
69472011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6948
6949 * c-common.c (c_common_reswords): Reorder.
6950 * c-common.h (rid): Likewise.
6951
8242dd04
NF
69522011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6953
6954 * c-common.c (def_fn_type): Don't call build_function_type, call
6955 build_function_type_array or build_varargs_function_type_array
6956 instead.
6957 (c_common_nodes_and_builtins): Likewise.
6958
3d528853
NF
69592011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6960
6961 * c-common.c (c_add_case_label): Omit the loc argument to
6962 build_case_label.
6963 * c-common.h (build_case_label): Remove.
6964 * c-semantics.c (build_case_label): Remove.
6965
a04a722b
JM
69662011-05-05 Joseph Myers <joseph@codesourcery.com>
6967
6968 * c-objc.h (objc_start_method_definition): Update prototype.
6969 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6970
e19a18d4
NF
69712011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6972
6973 * c-common.c (check_main_parameter_types): Reindent. Don't use
6974 TYPE_ARG_TYPES directly.
6975 (handle_nonnull_attribute): Likewise.
6976 (sync_resolve_params): Likewise.
6977 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6978 to check_format_string.
6979 (handle_format_attribute): Likewise.
6980 (check_format_string): Take a function type to examine instead of
6981 a type list. Use a function_arg_iterator to step through argument
6982 types.
6983
c62c040f
RG
69842011-05-04 Richard Guenther <rguenther@suse.de>
6985
6986 * c-common.c (fix_string_type): Use size_int for index type bounds.
6987 (start_fname_decls): Do not pass NULL to build_int_cst.
6988 (c_init_attributes): Likewise.
6989 * c-lex.c (c_lex_with_flags): Likewise.
6990
c12ff9d8
JM
69912011-04-27 Jason Merrill <jason@redhat.com>
6992
6993 * c-common.c (make_tree_vector_from_list): New.
6994 * c-common.h: Declare it.
6995
304dfbe3
RG
69962011-04-26 Richard Guenther <rguenther@suse.de>
6997
6998 PR preprocessor/48248
6999 * c-ppoutput.c (maybe_print_line): Always optimize newlines
7000 for output size with -P.
7001
3c0d13bf
PC
70022011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
7003
7004 * c-common.c (struct c_common_resword): Add __underlying_type.
7005 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
7006
04695783
JM
70072011-04-20 Jim Meyering <meyering@redhat.com>
7008
7009 * c-format.c (init_dollar_format_checking): Remove useless
7010 if-before-free.
7011
0dc33c3c
NP
70122011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
7013
7014 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 7015 (objc_detect_field_duplicates): New.
0dc33c3c 7016 * stub-objc.c: Likewise.
3c0d13bf 7017
c59633d9
NP
70182011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7019
7020 * stub-objc.c (objc_declare_protocols): Renamed to
7021 objc_declare_protocol.
7022 * c-objc.h: Likewise.
3c0d13bf 7023
32dabdaf
NP
70242011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7025
7026 * stub-objc.c (objc_declare_class): Updated argument name.
7027
81f653d6
NF
70282011-04-12 Nathan Froyd <froydnj@codesourcery.com>
7029
7030 * c-common.h (c_common_init_ts): Declare.
7031 * c-common.c (c_common_init_ts): Define.
7032
eb345401
NP
70332011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
7034
7035 * c-objc.h (objc_build_message_expr): Updated prototype.
7036 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 7037
a358e188
MJ
70382011-04-12 Martin Jambor <mjambor@suse.cz>
7039
7040 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
7041 of cgraph_node.
7042
e6313a78
RG
70432011-04-11 Richard Guenther <rguenther@suse.de>
7044
7045 * c-common.c (complete_array_type): Build a range type of
7046 proper type.
7047
dcf0c47e
NF
70482011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7049
7050 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
7051 (handle_type_generic_attribute): Likewise.
7052
1ee44b26
JM
70532011-04-07 Jason Merrill <jason@redhat.com>
7054
7055 PR c++/48450
7056 * c-common.c (c_common_truthvalue_conversion): Don't ignore
7057 conversion from C++0x scoped enum.
7058
acce4e77
JM
70592011-04-06 Joseph Myers <joseph@codesourcery.com>
7060
7061 * c-target-def.h: New file.
7062 * c-target.def: New file.
7063 * c-target.h: New file.
7064 * c-common.c (targetcm): Don't define here.
7065 * c-common.h (default_handle_c_option): Declare.
7066 * c-format.c: Include c-target.h instead of target.h.
7067 * c-opts.c: Include c-target.h instead of target.h. Explicitly
7068 include tm.h.
7069 (default_handle_c_option): Move from targhooks.c.
7070
e2eefb55
JJ
70712011-03-29 Jakub Jelinek <jakub@redhat.com>
7072
7073 PR preprocessor/48248
7074 * c-ppoutput.c (print): Add src_file field.
7075 (init_pp_output): Initialize it.
7076 (maybe_print_line): Don't optimize by adding up to 8 newlines
7077 if map->to_file and print.src_file are different file.
7078 (print_line): Update print.src_file.
7079
ba78087b
KT
70802011-03-25 Kai Tietz <ktietz@redhat.com>
7081
7082 * c-ada-spec.c (compare_comment): Use filename_cmp
7083 instead of strcmp for filename.
7084
0edf1bb2
JL
70852011-03-25 Jeff Law <law@redhat.com>
7086
adfac8df 7087 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 7088
c7dc8804
JM
70892011-03-25 Jason Merrill <jason@redhat.com>
7090
7091 * c.opt: Add -std=c++03.
7092
d1d879b1
EB
70932011-03-22 Eric Botcazou <ebotcazou@adacore.com>
7094
7095 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7096
3f8257db 70972011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
7098
7099 PR target/12171
5050afdf
KT
7100 * c-pretty-print.c (pp_c_specifier_qualifier_list):
7101 Display allowed attributes for function pointer types.
7102 (pp_c_attributes_display): New function to display
7103 attributes having affects_type_identity flag set to true.
7104 * c-pretty-print.h (pp_c_attributes_display): New prototype.
7105
62d784f7
KT
7106 * c-common.c (c_common_attribute_table):
7107 Add new element.
7108 (c_common_format_attribute_table): Likewise.
7109
82d37118
JM
71102011-03-18 Jason Merrill <jason@redhat.com>
7111
49a000c3
JM
7112 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7113 * c-common.h: Don't declare it here.
7114 * c-common.c: Or define it here.
7115 * c-opts.c (c_common_handle_option): Or set it here.
7116
82d37118
JM
7117 PR c++/35315
7118 * c-common.c (handle_transparent_union_attribute): Don't
7119 make a duplicate type in C++.
7120
17bc631c
JM
71212011-03-15 Jason Merrill <jason@redhat.com>
7122
7123 * c-common.c (max_constexpr_depth): New.
7124 * c-common.h: Declare it.
7125 * c-opts.c (c_common_handle_option): Set it.
7126 * c.opt (fconstexpr-depth): New option.
7127
1b9b91a6
JM
71282011-03-11 Jason Merrill <jason@redhat.com>
7129
f231b5ff
JM
7130 * c-common.c (attribute_takes_identifier_p): Add missing const.
7131
1b9b91a6
JM
7132 PR c++/46803
7133 * c-common.c (attribute_takes_identifier_p): Assume that an
7134 unknown attribute takes an identifier.
7135
a19e4d44
NF
71362011-03-07 Nathan Froyd <froydnj@codesourcery.com>
7137
7138 PR c/47786
7139 * c-common.c (c_type_hash): Call list_length instead of iterating
7140 through DECL_CHAIN. Rename 'i' to 'n_elements'.
7141
982d62f6
JJ
71422011-02-19 Jakub Jelinek <jakub@redhat.com>
7143
7144 PR c/47809
7145 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7146
0a256240
NP
71472011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7148
7149 * c.opt (fobjc-abi-version=) New.
7150 (fobjc-nilcheck): New.
7151
ba9e6dd5
NF
71522011-02-03 Nathan Froyd <froydnj@codesourcery.com>
7153
7154 PR c++/46890
7155 * c-common.h (keyword_is_decl_specifier): Declare.
7156 * c-common.c (keyword_is_decl_specifier): Define.
7157 (keyword_is_function_specifier): New function.
7158
7273813a
JJ
71592011-01-26 Jakub Jelinek <jakub@redhat.com>
7160
7161 PR c/47473
7162 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7163 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7164 REAL_TYPE.
7165
908ef79b
AC
71662011-01-26 Arnaud Charlet <charlet@adacore.com>
7167
7168 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7169
237e9384
JJ
71702011-01-26 Jakub Jelinek <jakub@redhat.com>
7171
7172 PR pch/47430
7173 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7174 after init_c_lex if pch_file is set.
7175
47ea1edf
DK
71762011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
7177
d4dba752 7178 PR c++/43601
47ea1edf
DK
7179 * c.opt (-fkeep-inline-dllexport): New switch.
7180
2aa9c6ae
RG
71812011-01-12 Richard Guenther <rguenther@suse.de>
7182
7183 PR middle-end/32511
7184 * c-common.c (handle_weak_attribute): Warn instead of error
7185 on declaring an inline function weak.
7186
7bd11157
TT
71872011-01-05 Tom Tromey <tromey@redhat.com>
7188
7189 * c-common.h (lvalue_error): Update.
7190 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
7191 not error.
7192
0e66e494 71932010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 7194
b4f588c4
NP
7195 PR objc/47075
7196 * c-objc.h (objc_finish_message_expr): Added argument to
7197 prototype.
7198
f4da8dce
NF
71992010-12-22 Nathan Froyd <froydnj@codesourcery.com>
7200
7201 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7202 Use prototype_p.
7203
46270f14
NP
72042010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
7205
7206 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 7207 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 7208
4816c593
NF
72092010-12-10 Nathan Froyd <froydnj@codesourcery.com>
7210
7211 * c-common.h (readonly_error): Declare.
7212 * c-common.c (readonly_error): Define.
7213
7a6daeb0
NF
72142010-12-09 Nathan Froyd <froydnj@codesourcery.com>
7215
7216 * c-common.h (invalid_indirection_error): Declare.
7217 * c-common.c (invalid_indirection_error): Define.
7218
892f6119
RG
72192010-12-03 Richard Guenther <rguenther@suse.de>
7220
7221 PR c/46745
7222 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7223 (pp_c_unary_expression): Likewise.
7224 (pp_c_expression): Likewise.
7225
6c39e757
NP
72262010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
7227
7228 * c-common.h (objc_finish_function): New.
7229 (objc_non_volatilized_type): Removed.
7230 (objc_type_quals_match): Removed.
7231 * stub-objc.c (objc_finish_function): New.
7232 (objc_non_volatilized_type): Removed.
7233 (objc_type_quals_match): Removed.
9faeb493 7234
7c475d11
JM
72352010-11-30 Joseph Myers <joseph@codesourcery.com>
7236
7237 * c-common.h (parse_optimize_options): Declare.
7238 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7239 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7240
71f3e391
JM
72412010-11-29 Joseph Myers <joseph@codesourcery.com>
7242
7243 * c-opts.c (check_deps_environment_vars): Use getenv instead of
7244 GET_ENVIRONMENT.
7245 * c-pch.c (O_BINARY): Don't define here.
7246 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7247
d5fabb58
JM
72482010-11-25 Joseph Myers <joseph@codesourcery.com>
7249
7250 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7251 targetm.except_unwind_info.
7252
299404a1
JM
72532010-11-23 Joseph Myers <joseph@codesourcery.com>
7254
7255 * c-opts.c (c_common_handle_option): Pass location to
7256 set_struct_debug_option.
7257
c98cd5bf
JM
72582010-11-23 Joseph Myers <joseph@codesourcery.com>
7259
7260 * c-common.c (visibility_options): Move from ../opts.c.
7261 * c-common.h (struct visibility_flags, visibility_options):
7262 Declare here.
7263 * c-opts.c (finish_options): Rename to c_finish_options.
7264 (c_common_init): Update call to finish_options.
7265
a9546771
NP
72662010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
7267
7268 PR objc/34033
7269 * c-lex.c (lex_string): Check that each string in an Objective-C
7270 string concat sequence starts with either one or zero '@', and
7271 that there are no spurious '@' signs at the end.
7272
24a57808
JM
72732010-11-20 Joseph Myers <joseph@codesourcery.com>
7274
7275 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7276 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7277 HANDLE_PRAGMA_VISIBILITY.
7278 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7279 HANDLE_PRAGMA_VISIBILITY): Don't define.
7280 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7281
a9aa2c3a
NF
72822010-11-20 Nathan Froyd <froydnj@codesourcery.com>
7283
7284 PR c++/16189
7285 PR c++/36888
7286 PR c++/45331
7287 * c-common.h (keyword_begins_type_specifier): Declare.
7288 (keyword_is_storage_class_specifier): Declare.
7289 (keyword_is_type_qualifier): Declare.
7290 * c-common.c (keyword_begins_type_specifier): New function.
7291 (keyword_is_storage_class_specifier): New function.
7292 (keyword_is_type_qualifier): Declare.
7293
5386338c
JM
72942010-11-19 Joseph Myers <joseph@codesourcery.com>
7295
7296 PR c/46547
7297 * c-common.c (in_late_binary_op): Define.
7298 (c_common_truthvalue_conversion): Check in_late_binary_op before
7299 calling c_save_expr.
7300 * c-common.h (in_late_binary_op): Declare.
7301
69ccdddb
JM
73022010-11-19 Joseph Myers <joseph@codesourcery.com>
7303
7304 * c-opts.c (c_common_handle_option): Update calls to
7305 set_struct_debug_option.
7306
6b192a09
NP
73072010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
7308
7309 * c-common.h (objc_declare_protocols): Added additional argument.
7310 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 7311
fb52b50a
NF
73122010-11-18 Nathan Froyd <froydnj@codesourcery.com>
7313
7314 PR c/33193
7315 * c-common.h (build_real_imag_expr): Declare.
7316 * c-semantics.c (build_real_imag_expr): Define.
7317
b37421c6
JM
73182010-11-17 Joseph Myers <joseph@codesourcery.com>
7319
7320 * c-opts.c (c_common_parse_file): Take no arguments.
7321 * c-common.h (c_common_parse_file): Update prototype.
7322
07078664
JJ
73232010-11-16 Jakub Jelinek <jakub@redhat.com>
7324
7325 PR c++/46401
7326 * c-common.c (warning_candidate_p): Don't track non-const calls
7327 or STRING_CSTs.
7328
c6a13190
ILT
73292010-11-15 Ian Lance Taylor <iant@google.com>
7330
7331 * c-lex.c (init_c_lex): Set macro debug callbacks if
7332 flag_dump_go_spec is set.
7333
925e8657
NP
73342010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
7335
7336 * c-common.h (objc_build_incr_expr_for_property_ref): New.
7337 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7338
bb0a9581
NF
73392010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7340
7341 PR preprocessor/45038
7342 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7343 dialects.
7344
c5fa0890
JM
73452010-11-12 Joseph Myers <joseph@codesourcery.com>
7346
7347 * c-common.h (c_family_lang_mask): Declare.
7348 * c-opts.c (c_family_lang_mask): Make extern.
7349 * c-pragma.c (handle_pragma_diagnostic): Use
7350 control_warning_option.
7351
a4d8c676
JM
73522010-11-12 Joseph Myers <joseph@codesourcery.com>
7353
7354 * c-common.c (parse_optimize_options): Update call to
7355 decode_options.
7356 * c-common.h (c_common_handle_option): Update prototype.
7357 * c-opts.c (c_common_handle_option): Take location_t parameter and
7358 pass it to other functions.
7359
f954bd2c
JM
73602010-11-11 Joseph Myers <joseph@codesourcery.com>
7361
7362 * c-opts.c (warning_as_error_callback): Remove.
7363 (c_common_initialize_diagnostics): Don't call
7364 register_warning_as_error_callback.
7365 (c_common_handle_option): Handle -Werror=normalized= here.
7366
d8a07487
JM
73672010-11-10 Joseph Myers <joseph@codesourcery.com>
7368
7369 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7370 in diagnostic.
7371 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7372 letter.
7373 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7374 Remove trailing '.' from diagnostics.
7375 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7376
d5478783
JM
73772010-11-10 Joseph Myers <joseph@codesourcery.com>
7378
7379 * c-common.c (parse_optimize_options): Pass global_dc to
7380 decode_options.
7381 * c-opts.c (c_common_handle_option): Pass &global_options to
7382 set_Wstrict_aliasing.
7383 * c.opt (v): Don't mark Common or document here.
7384
91ebb981
IS
73852010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7386
7387 PR target/44981
7388 * c-format.c (format_type): New type gcc_objc_string_format_type.
7389 (valid_stringptr_type_p): New.
7390 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 7391 (check_format_string): Pass expected type, use
91ebb981
IS
7392 valid_stringptr_type_p (), check that the format string types are
7393 consistent with the format specification.
7394 (decode_format_attr): Warn if NSString is used outside objective-c.
7395 (format_types_orig): Add NSString.
7396 (format_name): New.
7397 (format_flags): New.
7398 (check_format_arg): Handle format strings requiring an external parser.
7399 first_target_format_type: New variable.
7400 (handle_format_attribute): Set up first_target_format_type, pass the
7401 expected format arg string type to check_format_string().
7402 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7403 * stub-objc.c (objc_string_ref_type_p): New.
7404 (objc_check_format_arg): New.
7405
bede2adc
NP
74062010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7407
9faeb493 7408 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
7409 * c-common.h (objc_build_class_component_ref): New.
7410 * stub-objc.c (objc_build_class_component_ref): New.
7411
9a179d01
NP
74122010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7413
7414 * c.opt (Wproperty-assign-default): New option.
7415
22d8d616
NP
74162010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7417
7418 Implemented -fobjc-std=objc1 flag.
7419 * c.opt (fobjc-std=objc1): New option.
7420
2debdb4f
NP
74212010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7422
7423 Implemented format and noreturn attributes for Objective-C methods.
7424 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7425 attribute for Objective-C methods.
7426
ec52b111
JM
74272010-10-31 Jason Merrill <jason@redhat.com>
7428
7429 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7430 EXPR_LOC_OR_HERE.
7431
46a88c12
NP
74322010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7433
7434 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7435 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7436 (objc_add_property_declaration): Removed arguments for copies and
7437 ivar.
7438 (objc_build_getter_call): Renamed to
7439 objc_maybe_build_component_ref.
7440 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7441 (objc_is_property_ref): New.
7442 * c-common.c (c_common_reswords): Removed copies and ivar.
7443 * stub-objc.c (objc_add_property_declaration): Removed arguments
7444 for copies and ivar.
7445 (objc_build_getter_call): Renamed to
7446 objc_maybe_build_component_ref.
7447 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7448 (objc_is_property_ref): New.
9faeb493 7449
1e4bf85b
AC
74502010-10-29 Arnaud Charlet <charlet@adacore.com>
7451 Matthew Gingell <gingell@adacore.com>
7452
7453 * c-ada-spec.c (separate_class_package): New function.
7454 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7455 name of their enclosing package.
7456 (print_ada_declaration): Use separate_class_package.
7457
81f0bab2
JM
74582010-10-27 Jason Merrill <jason@redhat.com>
7459
2b08f2c5
JM
7460 * c-common.c (c_common_reswords): Add __is_literal_type.
7461 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7462
81f0bab2
JM
7463 * c-common.c (check_case_value): Remove special C++ code.
7464
200290f2
NP
74652010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7466
7467 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7468 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7469 and RID_LAST_PATTR.
7470 (objc_add_property_declaration): Added additional arguments.
7471 (objc_property_attribute_kind): Removed.
7472 (objc_set_property_attr): Removed.
7473 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7474 copy and nonatomic.
7475 * stub-objc.c (objc_add_property_declaration): Added additional
7476 arguments.
7477 (objc_set_property_attr): Removed.
9faeb493 7478
f614132b
NP
74792010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7480
7481 * c-common.h (objc_add_property_variable): Renamed to
7482 objc_add_property_declaration. Added location argument.
7483 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 7484
b8a18805
NP
74852010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7486
7487 * c-common.h (objc_maybe_printable_name): New.
7488 * stub-objc.c (objc_maybe_printable_name): New.
7489
3f8257db
JJ
74902010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7491 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
7492
7493 * c-common.h (c_common_mark_addressable_vec): Declare.
7494 * c-common.c (c_common_mark_addressable_vec): New function.
7495
249a82c4
NP
74962010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7497
7498 * c-common.h (objc_set_method_type): Removed.
7499 (objc_add_method_declaration): Added boolean argument.
7500 (objc_start_method_definition): Same change.
7501 (objc_build_method_signature): Same change.
7502 * stub-objc.c (objc_set_method_type): Removed.
7503 (objc_add_method_declaration): Added boolean argument.
7504 (objc_start_method_definition): Same change.
7505 (objc_build_method_signature): Same change.
7506
977e30bc
NP
75072010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7508
7509 * c-common.h (finish_file): Removed.
7510 (objc_write_global_declarations): New.
7511 * c-opts.c (c_common_parse_file): Do not call finish_file.
7512 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 7513
da57d1b9
NP
75142010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7515
7516 Implemented parsing @synthesize and @dynamic for
7517 Objective-C/Objective-C++.
7518 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7519 (objc_add_synthesize_declaration): New.
7520 (objc_add_dynamic_declaration): New.
7521 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7522 * stub-objc.c (objc_add_synthesize_declaration): New.
7523 (objc_add_dynamic_declaration): New.
9faeb493 7524
0069111f
MM
75252010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7526
7527 PR target/46041
7528 * c-cppbuiltin.c (mode_has_fma): Move function here from
7529 builtins.c. Don't use the fma optab, instead just use the
7530 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7531 using -save-temps.
7532
e426b47b
NP
75332010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7534
7535 Merge from 'apple/trunk' branch on FSF servers.
0069111f 7536
3f8257db 7537 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 7538
9faeb493 7539 Radar 4330422
e426b47b
NP
7540 * c-common.h (objc_non_volatilized_type): New declaration
7541 * stub-objc.c (objc_non_volatilized_type): New stub.
7542
90fbfdc3
NP
75432010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7544
e426b47b 7545 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 7546
3f8257db 7547 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 7548
9faeb493 7549 Radar 4133425
90fbfdc3 7550 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 7551 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 7552
c37d8c30
IS
75532010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7554
7555 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7556 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7557 (objc_ivar_visibility_kind): New enum.
7558 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 7559 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
7560 visibility enum.
7561
1b1562a5
MM
75622010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7563
7564 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7565 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7566 has the appropriate fma builtins.
7567 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7568
668ea4b1
IS
75692010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7570
1b1562a5 7571 merge from FSF apple 'trunk' branch.
3f8257db 7572 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 7573
668ea4b1
IS
7574 Radars 4436866, 4505126, 4506903, 4517826
7575 * c-common.c (c_common_resword): Define @property and its attributes.
7576 * c-common.h: Define property attribute enum entries.
7577 (OBJC_IS_PATTR_KEYWORD): New.
7578 (objc_property_attribute_kind): New enum.
7579 Declare objc_set_property_attr (), objc_add_property_variable (),
7580 objc_build_getter_call () and objc_build_setter_call ().
7581 * stub-objc.c (objc_set_property_attr): New stub.
7582 (objc_add_property_variable): Likewise.
7583 (objc_build_getter_call): Likewise.
7584 (objc_build_setter_call) Likewise.
1b1562a5 7585
a1178b30
IS
75862010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7587
1b1562a5 7588 merge from FSF apple 'trunk' branch.
3f8257db 7589 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
7590
7591 Radar 3803157 (method attributes)
7592 * c-common.c (handle_deprecated_attribute): Recognize
7593 objc methods as valid declarations.
7594 * c-common.h: Declare objc_method_decl ().
1b1562a5 7595 * stub-objc.c (objc_method_decl): New stub.
a1178b30 7596
a75bfaa6
JM
75972010-10-08 Joseph Myers <joseph@codesourcery.com>
7598
7599 * c-common.c (parse_optimize_options): Call
7600 decode_cmdline_options_to_array_default_mask before
7601 decode_options. Update arguments to decode_options.
7602 * c-common.h (c_common_init_options_struct): Declare.
7603 * c-opts.c (c_common_init_options_struct): New. Split out from
7604 c_common_init_options.
7605
f05b9d93
NP
76062010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7607
7608 Implemented fast enumeration for Objective-C.
7609 * c-common.h (objc_finish_foreach_loop): New.
7610 * stub-objc.c (objc_finish_foreach_loop): New.
7611
1ebe4b4f
JM
76122010-10-05 Joseph Myers <joseph@codesourcery.com>
7613
7614 * c-common.h (struct diagnostic_context): Don't declare here.
7615 (c_common_initialize_diagnostics): Declare using
7616 diagnostic_context typedef.
7617 * c-opts.c (c_common_handle_option): Pass global_dc to
7618 handle_generated_option.
7619
d4d24ba4
JM
76202010-10-04 Joseph Myers <joseph@codesourcery.com>
7621
7622 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7623 handle_generated_option.
7624
478a1c5b
ILT
76252010-10-03 Ian Lance Taylor <iant@google.com>
7626
7627 * c.opt (-fplan9-extensions): New option.
7628
82a1c2fe
FXC
76292010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7630
7631 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7632 Remove.
7633 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7634 of duplicating code.
7635
92902b1b
IS
76362010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7637
7638 * c-common.c: Add two new entries for @optional
7639 and @required keywords.
7640
7641 merge from FSF 'apple/trunk' branch.
3f8257db 7642 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
7643
7644 Radar 4386773
7645 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7646 objective-c keywords.
7647 (objc_set_method_opt): New declaration.
7648 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 7649
46625112
JM
76502010-09-30 Joseph Myers <joseph@codesourcery.com>
7651
7652 * c-common.c (handle_optimize_attribute): Pass &global_options to
7653 cl_optimization_save and cl_optimization_restore.
7654 * c-opts.c (c_common_handle_option): Pass &global_options to
7655 handle_generated_option.
7656 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7657 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7658 &global_options to cl_optimization_restore.
7659
49b91f05
NP
76602010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7661
7662 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7663 Objective-C/Objective-C++ keywords.
7664
13ed556f 76652010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 7666
9faeb493
UB
7667 Merge from 'apple/trunk' branch on FSF servers.
7668
3f8257db 7669 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
7670
7671 Radar 4281748
7672 * c-common.h (objc_check_global_decl): New declaration.
7673 * stub-objc.c (objc_check_global_decl): New stub.
7674
f0036cca
JM
76752010-09-29 Joseph Myers <joseph@codesourcery.com>
7676
7677 * c.opt: Don't use VarExists.
7678
e3339d0f
JM
76792010-09-29 Joseph Myers <joseph@codesourcery.com>
7680
7681 * c-common.c (c_cpp_error): Update names of diagnostic_context
7682 members.
7683 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7684 cl_optimization members.
7685 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7686 sanitize_cpp_opts, finish_options): Update names of cpp_options
7687 members.
7688
1973201f
NP
76892010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7690
7691 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7692 (objc_is_reserved_word): Removed.
7693 * c-common.c: Updated comments.
7694 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7695 objc_is_reserved_word.
7696 * stub-objc.c (objc_is_reserved_word): Removed.
7697
f7e71da5
IS
76982010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7699
9faeb493 7700 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
7701 include attributes.
7702 (objc_start_method_definition): Likewise.
7703 (objc_build_keyword_decl): Likewise.
7704 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7705 (objc_start_method_definition): Likewise.
7706 (objc_build_keyword_decl): Likewise.
7707
c165dca7
IS
77082010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7709
7710 * c-common.h (objc_start_class_interface): Adjust prototype.
7711 (objc_start_category_interface): Likewise.
7712 (objc_start_protocol): Likewise.
7713 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7714 (objc_start_class_interface): Likewise.
7715 (objc_start_category_interface): Likewise.
7716
7458026b
ILT
77172010-09-27 Ian Lance Taylor <iant@google.com>
7718
7719 * c-common.c (c_common_attribute_table): Add no_split_stack.
7720 (handle_no_split_stack_attribute): New static function.
7721
b581b85b
NP
77222010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7723
9faeb493 7724 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 7725
3f8257db 7726 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 7727
9faeb493 7728 Radar 4229905
b581b85b
NP
7729 * c-common.h (objc_have_common_type): New declaration.
7730 * stub-objc.c (objc_have_common_type): New stub.
7731
7732 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7733
7734 Radar 4154928
7735 * c-common.h (objc_common_type): New prototype.
9faeb493 7736 * stub-objc.c (objc_common_type): New stub.
b581b85b 7737
46a4da10
JH
77382010-09-24 Jan Hubicka <jh@suse.cz>
7739
7740 * c-common.c (handle_leaf_attribute): New function.
7741 (struct attribute_spec c_common_att): Add leaf.
7742
e200444e
JM
77432010-09-22 Joseph Myers <joseph@codesourcery.com>
7744
7745 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7746 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7747 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7748 -include-barrier, -include-directory, -include-directory=,
7749 -include-directory-after, -include-directory-after=,
7750 -include-prefix, -include-prefix=, -include-with-prefix,
7751 -include-with-prefix=, -include-with-prefix-after,
7752 -include-with-prefix-after=, -include-with-prefix-before,
7753 -include-with-prefix-before=, -no-integrated-cpp,
7754 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7755 -output=, -pedantic, -pedantic-errors, -preprocess,
7756 -print-missing-file-dependencies, -trace-includes, -traditional,
7757 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7758 -user-dependencies, -verbose, -write-dependencies,
7759 -write-user-dependencies, no-integrated-cpp, traditional): New.
7760
29a80ea6
NP
77612010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7762
7763 PR objc/23710
ac1fc2fc
NP
7764 * c-common.h (objc_start_method_definition): Return bool instead
7765 of void.
7766 * stub-objc.c (objc_start_method_definition): Return bool instead
7767 of void.
7768
77692010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7770
7771 PR objc/25965
7772 * c-common.h (objc_get_interface_ivars): New declaration.
7773 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 7774
de621752
ILT
77752010-09-15 Ian Lance Taylor <iant@google.com>
7776
7777 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 7778 messages. Remove period at end of warning message.
de621752 7779
ba885ec5
NS
77802010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7781
7782 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7783 (handle_alias_attribute): ... here.
7784 (handle_ifunc_attribute): New.
7785
c5ee1358
MM
77862010-09-06 Mark Mitchell <mark@codesourcery.com>
7787
7788 * c-common.h (do_warn_double_promotion): Declare.
7789 * c-common.c (do_warn_double_promotion): Define.
7790
0a0b3574
MM
77912010-09-05 Mark Mitchell <mark@codesourcery.com>
7792
7793 * c.opt (Wdouble-promotion): New.
7794
d1779886
JM
77952010-09-02 Joseph Myers <joseph@codesourcery.com>
7796
7797 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7798 fvtable-thunks, fxref): Mark no longer supported in help text.
7799
2d2bd949
JM
78002010-09-02 Joseph Myers <joseph@codesourcery.com>
7801
7802 * c.opt (Wimport, fall-virtual, falt-external-templates,
7803 fdefault-inline, fenum-int-equiv, fexternal-templates,
7804 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7805 fname-mangling-version-, fnew-abi, fnonnull-objects,
7806 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7807 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7808 applicable.
7809 (fhandle-exceptions): Mark with Alias and Warn.
7810 * c-opts.c (c_common_handle_option): Don't handle options marked
7811 as ignored.
7812
5de8299c
JM
78132010-09-02 Joseph Myers <joseph@codesourcery.com>
7814
7815 * c.opt (Wcomments, Werror-implicit-function-declaration,
7816 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7817 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7818 aliases.
7819 * c-common.c (option_codes): Use OPT_Wcomment instead of
7820 OPT_Wcomments.
7821 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7822 Don't handle options marked as aliases.
7823
0ceb0201
RG
78242010-08-25 Richard Guenther <rguenther@suse.de>
7825
7826 * c-common.c (c_common_get_alias_set): Remove special
7827 handling for pointers.
7828
ac47786e
NF
78292010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7830
7831 * c-common.c: Use FOR_EACH_VEC_ELT.
7832 * c-gimplify.c: Likewise.
7833 * c-pragma.c: Likewise.
7834
c878765b
JM
78352010-08-16 Joseph Myers <joseph@codesourcery.com>
7836
7837 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7838 RejectDriver.
7839 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7840 RejectDriver.
7841 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7842 instead of OPT_MDX and OPT_MMDX.
7843
603349bf
JM
78442010-08-16 Joseph Myers <joseph@codesourcery.com>
7845
7846 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7847
644fa7ac
JM
78482010-08-12 Joseph Myers <joseph@codesourcery.com>
7849
7850 * c.opt (MD, MMD): Change to MDX and MMDX.
7851 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7852
481e1176
JM
78532010-08-11 Joseph Myers <joseph@codesourcery.com>
7854
7855 * c-opts.c (c_common_handle_option): Call handle_generated_option
7856 instead of handle_option.
7857
ac8dc9f7
NF
78582010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7859
7860 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7861 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7862
4f8c876d
NF
78632010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7864
7865 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7866 (pending_redefine_extname): Change type to a VEC.
7867 (add_to_renaming_pragma_list): Update for new type of
7868 pending_redefine_extname.
ac8dc9f7 7869 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 7870
3b0c690e
AC
78712010-08-04 Arnaud Charlet <charlet@adacore.com>
7872
7873 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7874 visited.
7875 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7876 decide whether a type has already been declared/seen.
7877 Do not go to the original type.
7878 (dump_nested_types): New parameter forward.
7879 Generate forward declaration if needed and mark type as visited.
7880 (print_ada_declaration): Call dump_nested_types if not already done.
7881 Mark types as visited.
7882
1890bccc
JM
78832010-08-03 Joseph Myers <joseph@codesourcery.com>
7884
7885 * c.opt (-print-pch-checksum): Remove option.
7886 * c-opts.c (c_common_handle_option): Don't handle
7887 OPT_print_pch_checksum.
7888
5f20c657
JM
78892010-07-27 Joseph Myers <joseph@codesourcery.com>
7890
7891 * c-common.h (c_common_handle_option): Update prototype and return
7892 value type.
7893 * c-opts.c (c_common_handle_option): Update prototype and return
7894 value type. Update calls to handle_option and
7895 enable_warning_as_error.
7896
f551f80c
JJ
78972010-07-27 Jakub Jelinek <jakub@redhat.com>
7898
7899 PR c/45079
7900 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7901
61ff2bdc
JM
79022010-07-27 Joseph Myers <joseph@codesourcery.com>
7903
7904 * c-common.h (c_common_missing_argument): Remove.
7905 * c-opts.c (c_common_missing_argument): Remove.
7906 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7907 idirafter, imacros, include, isysroot, isystem, iquote): Add
7908 MissingArgError.
7909 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7910
7a9bf9a4
JM
79112010-07-27 Joseph Myers <joseph@codesourcery.com>
7912
7913 * c-common.h (c_common_option_lang_mask,
7914 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7915 New.
7916 (c_common_init_options): Update prototype.
7917 * c-opts.c (c_common_option_lang_mask): New.
7918 (c_common_initialize_diagnostics): Split out of
7919 c_common_init_options.
7920 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7921 New.
7922 (c_common_init_options): Update prototype. Use decoded options in
7923 search for -lang-asm.
7924
910ad8de
NF
79252010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7926
7927 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7928 * c-format.c: Likewise.
7929
718f9c0f
MLI
79302010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7931
7932 * c-common.h: Include diagnostic-core.h. Error if already
7933 included.
7934 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7935
4d451982
MLI
79362010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7937
adfac8df 7938 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
7939 Do not include expr.h
7940 (vector_mode_valid_p): Move here.
7941
119fe915
SB
79422010-06-21 DJ Delorie <dj@redhat.com>
7943
7944 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7945 allow these pragmas anywhere.
7946
79472010-06-14 Jakub Jelinek <jakub@redhat.com>
7948
7949 PR bootstrap/44509
7950 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7951 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7952 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7953 ggc_strdup instead of xstrdup.
7954
79552010-06-10 Jakub Jelinek <jakub@redhat.com>
7956
7957 * c-cppbuiltin.c: Include cpp-id-data.h.
7958 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7959 (lazy_hex_fp_value): New function.
7960 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7961
6662d794
MLI
79622010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7963
7964 * c-gimplify.c: Do not include tree-flow.h
7965
38f8b050
JR
79662010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7967
7968 PR other/44034
7969 * c-common.c: Rename targetm member:
7970 targetm.enum_va_list -> targetm.enum_va_list_p
7971
9589f23e
AS
79722010-06-28 Anatoly Sokolov <aesok@post.ru>
7973
7974 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7975
3b06d379
SB
79762010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7977
7978 * c-cppbuiltin.c: Do not include except.h.
7979
d166d4c3
AK
79802010-06-24 Andi Kleen <ak@linux.intel.com>
7981
9faeb493
UB
7982 * c-common.c (warn_for_omitted_condop): New.
7983 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 7984
70cb8be6
JM
79852010-06-21 Joseph Myers <joseph@codesourcery.com>
7986
7987 * c.opt (lang-objc): Remove.
7988 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7989
a4c97feb
JR
79902010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7991
7992 * c-opts.c: Include "tm_p.h".
7993
6e2f1956
JM
79942010-06-20 Joseph Myers <joseph@codesourcery.com>
7995
7996 * c-common.c (parse_optimize_options): Update call to
7997 decode_options.
7998
bc87224e
NF
79992010-06-18 Nathan Froyd <froydnj@codesourcery.com>
8000
8001 * c-common.c (record_types_used_by_current_var_decl): Adjust for
8002 new type of types_used_by_cur_var_decl.
8003
b49cf425
JR
80042010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
8005
8006 PR bootstrap/44512
8007 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
8008 for C++ standard compliance.
8009
59f9c2ed
JM
80102010-06-16 Jason Merrill <jason@redhat.com>
8011
8012 * c.opt: Add -Wnoexcept.
8013
33766b66
RG
80142010-06-16 Richard Guenther <rguenther@suse.de>
8015
8016 PR c/44555
8017 * c-common.c (c_common_truthvalue_conversion): Remove
8018 premature and wrong optimization concering ADDR_EXPRs.
8019
eff7e30c
AC
80202010-06-15 Arnaud Charlet <charlet@adacore.com>
8021
8022 * c-ada-spec.c (dump_sloc): Remove column info.
8023 (is_simple_enum): New function.
8024 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
8025 enum types when relevant.
8026
6312e84d
MLI
80272010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8028
9faeb493 8029 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
8030 location.
8031
1cb42611
JM
80322010-06-10 Joseph Myers <joseph@codesourcery.com>
8033
8034 * c-opts.c (c_common_handle_option): Don't handle
8035 OPT_fshow_column.
8036
a9429e29
LB
80372010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
8038
8039 * c-pragma.c (push_alignment): Use typed GC allocation.
8040 (handle_pragma_push_options): Likewise.
8041
8042 * c-common.c (parse_optimize_options): Likewise.
8043
8044 * c-common.h (struct sorted_fields_type): Add variable_size GTY
8045 option.
8046
5498f011
JM
80472010-06-07 Joseph Myers <joseph@codesourcery.com>
8048
8049 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
8050 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8051 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8052 flag_signed_bitfields, warn_strict_null_sentinel,
8053 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8054 flag_gen_declaration, flag_no_gnu_keywords,
8055 flag_implement_inlines, flag_implicit_templates,
8056 flag_implicit_inline_templates, flag_optional_diags,
8057 flag_elide_constructors, flag_default_inline, flag_rtti,
8058 flag_conserve_space, flag_access_control, flag_check_new,
8059 flag_new_for_scope, flag_weak, flag_working_directory,
8060 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8061 flag_enforce_eh_specs, flag_threadsafe_statics,
8062 flag_pretty_templates): Remove.
8063 * c-common.h (flag_preprocess_only, flag_nil_receivers,
8064 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8065 flag_replace_objc_classes, flag_undef, flag_no_builtin,
8066 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8067 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8068 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8069 flag_no_gnu_keywords, flag_implement_inlines,
8070 flag_implicit_templates, flag_implicit_inline_templates,
8071 flag_optional_diags, flag_elide_constructors, flag_default_inline,
8072 flag_rtti, flag_conserve_space, flag_access_control,
8073 flag_check_new, flag_new_for_scope, flag_weak,
8074 flag_working_directory, flag_use_cxa_atexit,
8075 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8076 flag_threadsafe_statics, flag_pretty_templates,
8077 warn_strict_null_sentinel): Remove.
8078 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8079 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8080 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8081 fimplicit-inline-templates, fimplicit-templates,
8082 flax-vector-conversions, fms-extensions, fnil-receivers,
8083 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8084 frtti, fshort-double, fshort-enums, fshort-wchar,
8085 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8086 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8087 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8088 gen-decls, undef): Use Var.
8089 (fdefault-inline, foptional-diags): Document as doing nothing.
8090 * c-opts.c (c_common_handle_option): Remove cases for options now
8091 using Var. Mark ignored options as such.
8092
39dabefd
SB
80932010-06-05 Steven Bosscher <steven@gcc.gnu.org>
8094
9faeb493 8095 * c-common.c: Moved to here from parent directory.
39dabefd
SB
8096 * c-common.def: Likewise.
8097 * c-common.h: Likewise.
8098 * c-cppbuiltin.c: Likewise.
8099 * c-dump.c: Likewise.
8100 * c-format.c: Likewise.
8101 * c-format.h : Likewise.
8102 * c-gimplify.c: Likewise.
8103 * c-lex.c: Likewise.
8104 * c-omp.c: Likewise.
8105 * c.opt: Likewise.
8106 * c-opts.c: Likewise.
8107 * c-pch.c: Likewise.
8108 * c-ppoutput.c: Likewise.
8109 * c-pragma.c: Likewise.
8110 * c-pragma.h: Likewise.
8111 * c-pretty-print.c: Likewise.
8112 * c-pretty-print.h: Likewise.
8113 * c-semantics.c: Likewise.
8114 * stub-objc.c: Likewise.
8115
8116 * c-common.c: Include gt-c-family-c-common.h.
8117 * c-pragma.c: Include gt-c-family-c-pragma.h.
8118\f
cbe34bb5 8119Copyright (C) 2010-2017 Free Software Foundation, Inc.
39dabefd
SB
8120
8121Copying and distribution of this file, with or without modification,
8122are permitted in any medium without royalty provided the copyright
8123notice and this notice are preserved.
This page took 2.656064 seconds and 5 git commands to generate.