]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
[C++ PATCH] set_global_binding tweak
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
bc64d8a6 12017-10-06 Jakub Jelinek <jakub@redhat.com>
2
3 PR c/82437
4 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
5 using to_widest use wide_int with the larger of the two precisions.
6
ce4c2def 72017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
8
9 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
10 functions.
11
cb7bca5f 122017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
13
14 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
15 when combining the original unconverted comparison operands.
16
db967b08 172017-09-29 Jakub Jelinek <jakub@redhat.com>
18
19 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
20 attribute.
21
f5bdf6da 222017-09-29 Eric Botcazou <ebotcazou@adacore.com>
23
24 * c-ada-spec.c (to_ada_name): Add index parameter.
25 (pp_ada_tree_identifier): Likewise.
26 (dump_ada_macros): Adjust call to to_ada_name.
27 (struct overloaded_name_hash): New type.
28 (struct overloaded_name_hasher): Likewise.
29 (overloaded_names): New hash table.
30 (compute_overloading_index): New function.
31 (dump_ada_decl_name): Call it and pass the result to
32 pp_ada_tree_identifier.
33 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
34 (dump_ada_function_declaration): Likewise.
35 (dump_generic_ada_node): Likewise.
36 (print_constructor): Likewise.
37 (print_destructor): Likewise.
38 (dump_ada_specs): Delete overloaded_names table.
39
7fa43da2 402017-09-29 Eric Botcazou <ebotcazou@adacore.com>
41
42 * c-ada-spec.c (max_ada_macros): Move around.
43 (store_ada_macro_index): Likewise.
44 (source_file): Rename into...
45 (macro_source_file): ...this.
46 (count_ada_macro): Move around.
47 (store_ada_macro): Likewise.
48 (compare_macro): Likewise.
49 (print_ada_macros): Merge in...
50 (dump_ada_macros): ...this.
51 (source_file_base): Rename into...
52 (current_source_file): ...this.
53 (print_comment): Move around.
54 (dump_ada_nodes): Call dump_ada_declaration directly.
55 (struct with): Change type of limited field to bool.
56 (append_withs): Change type of limited_access parameter to bool.
57 (pp_ada_tree_identifie): Likewise.
58 (dump_ada_decl_nam): Likewise.
59 (dump_generic_ada_node): Likewise. Do not print the return type.
60 (to_ada_name): Change type of space_found parameter to bool.
61 (dump_ada_function_declaration): Return void and change type of
62 parameters to bool. Also print the return type for a function.
63 (print_ada_methods): Rename into...
64 (dump_ada_methods): ...this.
65 (print_ada_declaration): Rename into ...
66 (dump_ada_declaration): ...this. Do not print the return type.
67 (print_ada_struct_decl): Rename into...
68 (dump_ada_struct_decl): ...this.
69
52f26f82 702017-09-29 Jakub Jelinek <jakub@redhat.com>
71
72 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
73 rather than DECL_INITIAL.
74 (common_handle_aligned_attribute): Likewise.
75
a1408eb3 762017-09-20 Alexandre Oliva <aoliva@redhat.com>
77
78 * c.opt (gen-decls): Add RejectNegative.
79
96bf2948 802017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
81 Jakub Jelinek <jakub@redhat.com>
82
83 Add support for -std=c++2a.
84 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
85 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
86 * c-opts.c (set_std_cxx2a): New.
87 (c_common_handle_option): Set options when -std=c++2a is enabled.
88 (c_common_post_options): Adjust comments.
89 (set_std_cxx14, set_std_cxx17): Likewise.
90
a372ea88 912017-09-15 Eric Botcazou <ebotcazou@adacore.com>
92
93 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
94 message for non-uniform endianness and issue a warning in C++.
95
40e2decb 962017-09-15 Jakub Jelinek <jakub@redhat.com>
97
98 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
99 (Wc++17-compat): Change from undocumented alias to option.
100 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
101 change C++1z to C++17 in description.
102 (std=c++1z, std=gnu++1z): Change from option to undocumented
103 deprecated alias.
104 (std=c++17, std=gnu++17): Change from undocumented alias to option.
105 Adjust description.
106 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
107 * c-opts.c (set_std_cxx1z): Rename to ...
108 (set_std_cxx17): ... this.
109 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
110 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
111 caller.
112 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
113 comments.
114
04c83f14 1152017-09-12 H.J. Lu <hongjiu.lu@intel.com>
116
117 * c-attribs.c (common_handle_aligned_attribute): Don't warn
118 function alignment if warn_if_not_aligned_p is true.
119
daf40ee6 1202017-09-12 Nathan Sidwell <nathan@acm.org>
121
122 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
123 resort_sorted_fields): Move to c/c-decl.c.
124 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
125 (struct sorted_fields_type): Move to c/c-lang.h.
126
c0cd8832 1272017-09-09 Jonathan Wakely <jwakely@redhat.com>
128
129 PR c++/81852
130 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
131
45d3a9aa 1322017-09-04 Marek Polacek <polacek@redhat.com>
133
134 PR c/81783
135 * c-warn.c (warn_tautological_bitwise_comparison): New function.
136 (warn_tautological_cmp): Call it.
137
9b766c33 1382017-09-01 Boris Kolpackov <boris@codesynthesis.com>
139
140 * c-opts.c (c_common_finish): Write dependency information even if
141 there are errors.
142
1e52a582 1432017-09-01 Jakub Jelinek <jakub@redhat.com>
144
145 PR c/81887
146 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
147 (omp_pragmas_simd): ... here.
148 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
149 create new clauses list containing just simd clause.
150
8aec1ebb 1512017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
152 Alan Hayward <alan.hayward@arm.com>
153 David Sherwood <david.sherwood@arm.com>
154
155 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
156 into scalar_mode_supported_p call.
157 (handle_mode_attribute): Update call to scalar_mode_supported_p.
158
2b8f5b8a 1592017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
160 Alan Hayward <alan.hayward@arm.com>
161 David Sherwood <david.sherwood@arm.com>
162
163 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
164 for the mode iterator.
165
3d2b0034 1662017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
167 Alan Hayward <alan.hayward@arm.com>
168 David Sherwood <david.sherwood@arm.com>
169
170 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
171 * c-common.c (c_build_vec_perm_expr): Likewise.
172
d082dc6e 1732017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
174 Alan Hayward <alan.hayward@arm.com>
175 David Sherwood <david.sherwood@arm.com>
176
177 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
178
659fb061 1792017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
180 Alan Hayward <alan.hayward@arm.com>
181 David Sherwood <david.sherwood@arm.com>
182
183 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
184 before calling targetm.addr_space.valid_pointer_mode.
185
2b8f2d97 1862017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
187 Alan Hayward <alan.hayward@arm.com>
188 David Sherwood <david.sherwood@arm.com>
189
190 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
191
19a4dce4 1922017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
193 Alan Hayward <alan.hayward@arm.com>
194 David Sherwood <david.sherwood@arm.com>
195
196 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
197 iterators.
198 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
199
916ace94 2002017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
201 Alan Hayward <alan.hayward@arm.com>
202 David Sherwood <david.sherwood@arm.com>
203
204 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
205 case statements.
206
98102386 2072017-08-29 Martin Liska <mliska@suse.cz>
208
209 PR other/39851
210 * c-common.c (parse_optimize_options): Add argument to function
211 call.
212 * c-pragma.c (handle_pragma_diagnostic): Likewise.
213
0bdd7941 2142017-08-24 David Malcolm <dmalcolm@redhat.com>
215
216 * c-lex.c (interpret_float): Use token location
217 when building an EXCESS_PRECISION_EXPR.
218
a115c319 2192017-08-21 David Malcolm <dmalcolm@redhat.com>
220
221 * c-common.c (check_function_arguments): Add "arglogs" param; pass
222 it to check_function_format.
223 * c-common.h (check_function_arguments): Add vec<location_t> *
224 param.
225 (check_function_format): Likewise.
226 * c-format.c (struct format_check_context): Add field "arglocs".
227 (check_function_format): Add param "arglocs"; pass it to
228 check_format_info.
229 (check_format_info): Add param "arglocs"; use it to initialize
230 new field of format_ctx.
231 (check_format_arg): Pass format_ctx->arglocs to new param of
232 check_format_info_main.
233 (class argument_parser): New field "arglocs".
234 (argument_parser::argument_parser): Add "arglocs_" param and use
235 it to initialize new field.
236 (argument_parser::check_argument_type): Pass new arglocs field to
237 check_format_types.
238 (check_format_info_main): Add param "arglocs", and use it when
239 constructing arg_parser.
240 (check_format_types): Add param "arglocs"; use it if non-NULL when
241 !EXPR_HAS_LOCATION (cur_param) to get at location information.
242
4bec7283 2432017-08-18 H.J. Lu <hongjiu.lu@intel.com>
244
245 PR c/53037
246 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
247 (c_common_attribute_table): Add warn_if_not_aligned.
248 (handle_aligned_attribute): Renamed to ...
249 (common_handle_aligned_attribute): Remove argument, name, and add
250 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
251 (handle_aligned_attribute): New.
252 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
253
9d3c24b9 2542017-08-14 Martin Sebor <msebor@redhat.com>
255
256 PR c/81117
257 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
258 (handle_nonstring_attribute): New function.
259
c8616982 2602017-08-14 Martin Sebor <msebor@redhat.com>
261
262 PR c/81117
263 * c-format.h (T89_G): New macro.
264 * c-format.c (local_gcall_ptr_node): New variable.
265 (init_dynamic_diag_info): Initialize it.
266
07b8a412 2672017-08-11 Martin Liska <mliska@suse.cz>
268
269 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
270 TARGET_SUPPORTS_ALIASES.
271
3fe34694 2722017-08-10 David Malcolm <dmalcolm@redhat.com>
273
274 * c-common.c (c_parse_error): Add rich_location * param, using it
275 rather implicitly using input_location.
276 * c-common.h (c_parse_error): Add rich_location * param.
277
623ee358 2782017-08-09 Marek Polacek <polacek@redhat.com>
279
280 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
281 (c_common_truthvalue_conversion): Likewise.
282 * c-omp.c (c_finish_omp_atomic): Likewise.
283 * c-common.h (build_binary_op): Update declaration.
284
30a86690 2852017-08-08 Martin Liska <mliska@suse.cz>
286
287 * c-ada-spec.c: Include header files.
288 * c-ubsan.c: Likewise.
289 * c-warn.c: Likewise.
290
b4ae034c 2912017-08-07 Jakub Jelinek <jakub@redhat.com>
292
293 PR c/69389
294 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
295
22dadfd6 2962017-08-07 Eric Botcazou <ebotcazou@adacore.com>
297
298 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
299 (print_ada_methods): Likewise.
300 (print_ada_declaration): Likewise.
301
1610e7fb 3022017-08-07 Martin Liska <mliska@suse.cz>
303
304 * array-notation-common.c: Add new includes.
305 * c-format.c( handle_format_attribute): Canonicalize a format
306 function name.
307 * c-lex.c (c_common_has_attribute): Canonicalize name of an
308 attribute.
309 * c-pretty-print.c: Add new include.
310
5ddd2306 3112017-08-05 Eric Botcazou <ebotcazou@adacore.com>
312
313 * c-ada-spec.c (has_static_fields): Look only into variables.
314 (print_constructor): Add TYPE parameter and use it for the name.
315 (print_destructor): Likewise.
316 (print_ada_declaration): Adjust to new constructor/destructor names.
317 Adjust calls to print_constructor and print_destructor.
318 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
319 Look only into variables in the final loop.
320
e2252c91 3212017-08-01 Eric Botcazou <ebotcazou@adacore.com>
322
323 * c-ada-spec.c (has_static_fields): Look only into fields.
324 (dump_generic_ada_node): Small tweak.
325 (dump_nested_types): Look only into fields.
326 (print_ada_declaration): Look only into methods. Small tweak.
327 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
328
636174dc 3292017-08-01 Eric Botcazou <ebotcazou@adacore.com>
330
331 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
332 (dump_ada_function_declaration): Likewise.
333 (dump_generic_ada_node): Likewise.
334 (print_ada_declaration): Add support for const-qualified variables.
335
dadc219c 3362017-07-31 Martin Liska <mliska@suse.cz>
337
338 PR sanitize/81530
339 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
340 Guard condition with flag_sanitize_p also with current_function_decl
341 non-null equality.
342 (ubsan_maybe_instrument_reference_or_call): Likewise.
343
5eb639c2 3442017-07-30 Uros Bizjak <ubizjak@gmail.com>
345
346 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
347
934a9503 3482017-07-29 Eric Botcazou <ebotcazou@adacore.com>
349
350 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
351 for enumeral types.
352 (print_ada_declaration): Add missing guard for record types.
353
df930a61 3542017-07-27 Jakub Jelinek <jakub@redhat.com>
355
356 PR c/45784
357 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
358 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
359 new COMPOUND_EXPRs around the rhs of the comparison.
360
7d4d7ecb 3612017-07-27 Marek Polacek <polacek@redhat.com>
362
363 PR c/81417
364 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
365 the types.
366
280ce47d 3672017-07-27 Jakub Jelinek <jakub@redhat.com>
368
369 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
370 (handle_noipa_attribute): New function.
371
e6c4532a 3722017-07-07 Torsten Duwe <duwe@suse.de>
373
374 * c-attribs.c (c_common_attribute_table): Add entry for
375 "patchable_function_entry".
376
ab87ee8f 3772017-07-20 Nathan Sidwell <nathan@acm.org>
378
379 Remove TYPE_METHODS.
380 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
381 dump_ada_template, print_ada_methods,
382 print_ada_declaration): Member fns are on TYPE_FIELDS.
383
a8de6c92 3842017-07-18 Nathan Sidwell <nathan@acm.org>
385
386 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
387
7f9c8569 3882017-07-14 David Malcolm <dmalcolm@redhat.com>
389
390 * c-common.c (try_to_locate_new_include_insertion_point): New
391 function.
392 (per_file_includes_t): New typedef.
393 (added_includes_t): New typedef.
394 (added_includes): New variable.
395 (maybe_add_include_fixit): New function.
396 * c-common.h (maybe_add_include_fixit): New decl.
397
b1b5fc9c 3982017-07-10 Martin Sebor <msebor@redhat.com>
399
400 PR other/81345
401 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
402
7051d239 4032017-07-06 David Malcolm <dmalcolm@redhat.com>
404
405 * c-common.c (selftest::c_family_tests): New.
406 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
407 (selftest::c_family_tests): New decl.
408
c18b3f9b 4092017-07-04 Marek Polacek <polacek@redhat.com>
410
411 PR c/81231
412 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
413 types.
414
a2de34d4 4152017-07-04 Marek Polacek <polacek@redhat.com>
416
417 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
418
72db0954 4192017-06-28 Martin Liska <mliska@suse.cz>
420
421 PR ipa/81128
422 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
423 to a function declaration.
424
52368c34 4252017-06-28 Martin Liska <mliska@suse.cz>
426
427 PR driver/79659
428 * c.opt: Add IntegerRange to various options.
429
2bfb0686 4302017-06-26 Marek Polacek <polacek@redhat.com>
431
432 PR c/80116
433 * c-common.h (warn_for_multistatement_macros): Declare.
434 * c-warn.c: Include "c-family/c-indentation.h".
435 (warn_for_multistatement_macros): New function.
436 * c.opt (Wmultistatement-macros): New option.
437 * c-indentation.c (guard_tinfo_to_string): No longer static.
438 Change the parameter type to "enum rid". Handle RID_SWITCH.
439 * c-indentation.h (guard_tinfo_to_string): Declare.
440
4e551c7d 4412017-06-23 Marc Glisse <marc.glisse@inria.fr>
442
443 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
444
a324786b 4452017-06-15 Martin Sebor <msebor@redhat.com>
446
447 PR c++/80560
448 * c.opt (-Wclass-memaccess): New option.
449
b4bbadc1 4502017-06-14 Boris Kolpackov <boris@codesynthesis.com>
451
452 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
453
314b4196 4542017-06-13 Marek Polacek <polacek@redhat.com>
455
456 PR objc/80949
457 * c-warn.c (do_warn_duplicated_branches): Return if any of the
458 branches is null.
459
9917317a 4602017-06-13 Martin Liska <mliska@suse.cz>
461
462 PR sanitize/78204
463 * c-attribs.c (add_no_sanitize_value): New function.
464 (handle_no_sanitize_attribute): Likewise.
465 (handle_no_sanitize_address_attribute): Use the function.
466 (handle_no_sanitize_thread_attribute): New function.
467 (handle_no_address_safety_analysis_attribute): Use
468 add_no_sanitize_value.
469 (handle_no_sanitize_undefined_attribute): Likewise.
470 * c-common.h: Declare new functions.
471 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
472 (ubsan_instrument_shift): Likewise.
473 (ubsan_instrument_bounds): Likewise.
474 (ubsan_maybe_instrument_array_ref): Likewise.
475 (ubsan_maybe_instrument_reference_or_call): Likewise.
476
e34c848a 4772017-06-11 Jason Merrill <jason@redhat.com>
478
479 * c-ada-spec.c, c-pragma.c: Use id_equal.
480
f8897e74 4812017-06-04 Marek Polacek <polacek@redhat.com>
482
483 PR c/80919
484 * c-format.c (matching_type_p): Return false if any of the types
485 requires structural equality.
486
a977cac9 4872017-06-02 Martin Sebor <msebor@redhat.com>
488
489 PR c/80892
490 * c-warn.c (conversion_warning): Use -Wconversion for integer
491 conversion and -Wfloat-conversion for floating one.
492
0ca70bfd 4932017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
494
495 * c.opt (Wsizeof-pointer-div): New warning option.
496
6cf2f0b6 4972017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
498
499 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
500 (Wcatch-value=1): Enable by -Wall.
501
4d1eda3a 5022017-05-30 David Malcolm <dmalcolm@redhat.com>
503
504 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
505 format_chars.
506 * c.opt (fdiagnostics-show-template-tree): New option.
507 (felide-type): New option.
508
6c547211 5092017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
510
511 * c.opt (Wcatch-value=): New C++ warning flag.
512
5570d275 5132017-05-24 Nathan Sidwell <nathan@acm.org>
514
515 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
516 const casts to avoid warning.
517
645b0f8d 5182017-05-24 Martin Sebor <msebor@redhat.com>
519
520 PR c/80731
521 * c-common.h (unsafe_conversion_p): Add a function argument.
522 * c-common.c (unsafe_conversion_p): Same.
523 Add type names and values to diagnostics.
524 (scalar_to_vector): Adjust.
525 * c-warn.c (constant_expression_error): Add a function argument.
526 Add type names and values to diagnostics.
527 (conversion_warning): Add a function argument.
528 Add type names and values to diagnostics.
529 (warnings_for_convert_and_check): Same.
530
65fb3b5b 5312017-05-19 Jason Merrill <jason@redhat.com>
532
533 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
534 enumerators.
535
5407f1e9 5362017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
537
538 * c-format.c (locus): Move out of function scope,
539 add GTY attribute.
540
0fa326f5 5412017-05-19 Nathan Sidwell <nathan@acm.org>
542
543 * c-opts.c (class_dump_file, class_dump_flags): Delete.
544 (c_common_parse_file): Remove class dump handling.
545 (get_dump_info): Likewise.
546
195b31a0 5472017-05-19 Richard Biener <rguenther@suse.de>
548
549 PR c++/80593
550 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
551 to alias-set zero memory.
552
1bccae6b 5532017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
554
555 * c-format.c (local_tree_type_node): Add GTY attribute.
556
78173203 5572017-05-18 Marek Polacek <polacek@redhat.com>
558
559 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
560 (c_common_fixed_point_type_for_size): Likewise.
561 (c_common_type_for_mode): Likewise.
562 (shorten_compare): Likewise.
563 (c_promoting_integer_type_p): Use false/true instead of 0/1.
564 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
565
2823920b 5662017-05-18 Marek Polacek <polacek@redhat.com>
567
568 * c-common.c (self_promoting_args_p): Change the return type to bool.
569 Use false/true instead of 0/1.
570 * c-common.h (self_promoting_args_p): Update.
571
72749341 5722017-05-17 Marek Polacek <polacek@redhat.com>
573
574 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
575 * c-warn.c: Likewise.
576
b4d90ee2 5772017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
578
579 Implement new C++ intrinsics __is_assignable and __is_constructible.
580 * c-common.c (__is_assignable, __is_constructible): New.
581 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
582
3f6e5ced 5832017-05-17 Martin Liska <mliska@suse.cz>
584
585 * c-common.h: Introduce dump_flags_t type and
586 use it instead of int type.
587 * c-gimplify.c (c_genericize): Likewise.
588 * c-opts.c: Likewise.
589
d0869ea4 5902017-05-17 Marek Polacek <polacek@redhat.com>
591
592 * c-common.c (c_save_expr): Remove.
593 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
594 * c-common.h (c_save_expr): Remove declaration.
595
0d7b4486 5962017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
597
598 PR c/35441
599 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
600 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
601 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
602 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
603 RDIV_EXPR.
604 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
605
1a2d3e8e 6062017-05-09 Marek Polacek <polacek@redhat.com>
607
608 PR c/80525
609 * c-warn.c (unwrap_c_maybe_const): New.
610 (warn_logical_operator): Call it.
611
cdf05a3f 6122017-05-09 Nathan Sidwell <nathan@acm.org>
613
614 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
615 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
616
554efdbb 6172017-05-08 Martin Sebor <msebor@redhat.com>
618
619 PR translation/80280
620 * c-format.h (struct format_flag_spec): Add new member.
621 (T89_T): New macro.
622 * c-format.c (local_tree_type_node): New global.
623 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
624 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
625 (strfmon_flag_specs): Likewise.
626 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
627 with distinct quoting properties.
628 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
629 (flag_chars_t::validate): Add argument and handle bad quoting.
630 (check_format_info_main): Handle quoting problems.
631 (init_dynamic_diag_info): Simplify.
632
7344fb00 6332017-05-08 Jason Merrill <jason@redhat.com>
634
635 * c-opts.c (c_common_post_options): Update defaults for
636 flag_abi_version and flag_abi_compat_version.
637
56b8400f 6382017-05-05 David Malcolm <dmalcolm@redhat.com>
639
640 * c-common.c (c_cpp_error): Replace report_diagnostic
641 with diagnostic_report_diagnostic.
642
8c41abe8 6432017-05-04 Martin Sebor <msebor@redhat.com>
644
645 PR translation/80280
646 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
647 (handle_weakref_attribute): Same.
648
a06321ef 6492017-05-03 Nathan Sidwell <nathan@acm.org>
650
651 Canonicalize canonical type hashing
652 * c-common.c (complete_array_type): Use type_hash_canon.
653
92bc38e7 6542017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
655
656 PR c++/80038
657 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
658 prototype.
659 (cilk_install_body_pedigree_operations): Likewise.
660 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
661 detatched.
662 (cilk_gimplify_call_params_in_spawned_fn): Remove.
663 (cilk_install_body_pedigree_operations): Likewise.
664 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
665 unwrapping.
666
fb8ab1f8 6672017-04-27 Jakub Jelinek <jakub@redhat.com>
668
669 PR c++/80534
670 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
671 flag on non-aggregate element types.
672
31af80fe 6732017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
674
675 * c-common.c (c_type_hasher, type_hash_table): Remove.
676 (c_common_get_alias_set): Remove unreachable code.
677 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
678
dc993150 6792017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
680
681 * c.opt (Wextra-semi): New C++ warning flag.
682
6bac87c3 6832017-04-20 Jakub Jelinek <jakub@redhat.com>
684
685 PR middle-end/80423
686 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
687
7ec2cbc9 6882017-04-18 Jakub Jelinek <jakub@redhat.com>
689
690 PR middle-end/79788
691 PR middle-end/80375
692 * c-common.c (c_common_type_for_mode): Don't handle
693 widest_*_literal_type_node here.
694 c_common_signed_or_unsigned_type): Likewise.
695 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
696 to *intTI_type_node or *intDI_type_node depending on whether
697 TImode is supported by the target or not.
698
65b66772 6992017-04-10 Martin Liska <mliska@suse.cz>
700
701 PR sanitizer/80350
702 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
703 doing an UBSAN check.
704
2fbe7a32 7052017-04-03 Jonathan Wakely <jwakely@redhat.com>
706
707 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
708
3ddb3278 7092017-03-31 Jakub Jelinek <jakub@redhat.com>
710
711 PR c++/79572
712 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
713 tree *.
714 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
715 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
716 REFERENCE_TYPE.
717
9511b9de 7182017-03-31 David Malcolm <dmalcolm@redhat.com>
719
720 PR documentation/78732
721 * c.opt (Wendif-labels): Fix description to refer to
722 #else rather than #elif.
723
ca2af7df 7242017-03-31 Jakub Jelinek <jakub@redhat.com>
725
726 PR libstdc++/80251
727 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
728 * c-common.c (c_common_reswords): Add __is_aggregate trait.
729
3385a573 7302017-03-27 Jakub Jelinek <jakub@redhat.com>
731
732 PR middle-end/80162
733 * c-common.c (c_common_mark_addressable_vec): Don't set
734 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
735
da7a26fc 7362017-03-21 Martin Sebor <msebor@redhat.com>
737
738 PR c++/79548
739 * c-common.c (set_underlying_type): Mark type used only when
740 original del is declared unused.
741
ca1f4c7a 7422017-03-10 David Malcolm <dmalcolm@redhat.com>
743
744 PR translation/79848
745 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
746 "%qs".
747
3b496eb9 7482017-03-10 David Malcolm <dmalcolm@redhat.com>
749
750 PR c/79921
751 * c-indentation.c (warn_for_misleading_indentation): Remove parens
752 from inform's message, so that xgettext can locate it.
753
6a9c24a0 7542017-03-09 Marek Polacek <polacek@redhat.com>
755
756 PR c++/79962
757 PR c++/79984
758 * c-attribs.c (handle_nonnull_attribute): Save the result of default
759 conversion to the attribute list.
760
5383272d 7612017-03-09 Martin Liska <mliska@suse.cz>
762
763 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
764
957a727b 7652017-03-03 Jason Merrill <jason@redhat.com>
766
767 * c.opt (Wnoexcept-type): New.
768
b977a7e3 7692017-03-02 Richard Biener <rguenther@suse.de>
770
771 PR c/79756
772 * c-common.c (c_common_mark_addressable_vec): Look through
773 C_MAYBE_CONST_EXPR.
774
78adba87 7752017-02-28 Martin Liska <mliska@suse.cz>
776
777 * c.opt: Replace space with tabular for options of <number>
778 type.
779
6ac368bb 7802017-02-28 Martin Liska <mliska@suse.cz>
781
782 * c.opt: Fix --help=option -Q for options which are of
783 an enum type.
784
bbd5521e 7852017-02-24 Jakub Jelinek <jakub@redhat.com>
786
787 PR c++/79588
788 * c-common.c (check_function_restrict): New function.
789 (check_function_arguments): Add FNDECL argument. Call
790 check_function_restrict if -Wrestrict.
791 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
792 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
793 * c-common.h (check_function_arguments): Add FNDECL argument.
794 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
795
e967bbfd 7962017-02-24 Eric Botcazou <ebotcazou@adacore.com>
797
798 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
799 treatment of parameters with pointer-to-tagged type and tidy up.
800 (print_ada_methods): Remove the special treatment of C++ static member
801 functions.
802
52ccf715 8032017-02-22 Martin Liska <mliska@suse.cz>
804
805 * c.opt: Replace inequality signs with square brackets
806 for -Wnornalized.
807
a42e4e13 8082017-02-21 Jakub Jelinek <jakub@redhat.com>
809
810 PR c++/79641
811 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
812 preserve quals.
813
f6202e1a 8142017-02-17 Joseph Myers <joseph@codesourcery.com>
815
816 * c-cppbuiltin.c (builtin_define_float_constants): Define
817 __DECIMAL_DIG__ to the value for long double.
818
0396f790 8192017-02-15 Marek Polacek <polacek@redhat.com>
820
821 PR c/79515
822 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
823 conversion has occured.
824
175e0d6b 8252017-01-24 David Malcolm <dmalcolm@redhat.com>
826
827 * c-common.c (c_common_reswords): Add "__RTL".
828 * c-common.h (enum rid): Add RID_RTL.
829
3ef7eab1 8302017-01-20 Marek Polacek <polacek@redhat.com>
831
832 PR c/64279
833 * c-common.h (do_warn_duplicated_branches_r): Declare.
834 * c-gimplify.c (c_genericize): Walk the function tree calling
835 do_warn_duplicated_branches_r.
836 * c-warn.c (expr_from_macro_expansion_r): New.
837 (do_warn_duplicated_branches): New.
838 (do_warn_duplicated_branches_r): New.
839 * c.opt (Wduplicated-branches): New option.
840
32641de7 8412017-01-17 David Malcolm <dmalcolm@redhat.com>
842
843 PR c++/71497
844 * c-indentation.c (warn_for_misleading_indentation): Use the past
845 subjunctive in the note.
846
7e66f344 8472017-01-17 Aldy Hernandez <aldyh@redhat.com>
848
849 PR c/79116
850 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
851 start type to integer_type.
852
14234f77 8532017-01-16 Jakub Jelinek <jakub@redhat.com>
854
855 PR driver/49726
856 * c.opt (gen-decls): Add Driver flag.
857
ba5a0dd7 8582017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
859
860 Revert:
861 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
862
863 PR c++/71737
864 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
865
231589de 8662017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
867
868 PR c++/71737
869 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
870
78cf39ca 8712017-01-12 Martin Sebor <msebor@redhat.com>
872
873 (-Wformat-overflow): ...to this.
874
1a1ce9a6 8752017-01-11 Martin Sebor <msebor@redhat.com>
876
877 PR c/78768
878 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
879 Also enable for LTO.
880
3386344d 8812017-01-10 Jason Merrill <jason@redhat.com>
882
883 Implement P0195R2, C++17 variadic using.
884 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
885
d0abd9e0 8862017-01-09 Jakub Jelinek <jakub@redhat.com>
887
888 PR translation/79019
889 PR translation/79020
890 * c.opt (Wnormalized=): Fix typo in description.
891
aba01341 8922017-01-08 Martin Sebor <msebor@redhat.com>
893
894 PR middle-end/77708
895 * c.opt (-Wformat-truncation): New option.
896
2792c2c7 8972017-01-06 Alexandre Oliva <aoliva@redhat.com>
898
899 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
900 value to unsigned short to fit in 4 hex digits without
901 warnings.
902
3389a464 9032017-01-05 Eric Botcazou <ebotcazou@adacore.com>
904
905 * c.opt (fsso-struct): Add 'native' value.
906
f6deeb21 9072017-01-05 Martin Liska <mliska@suse.cz>
908
909 PR pch/78970
910 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
911 header.
912
6124217c 9132017-01-04 Marek Polacek <polacek@redhat.com>
914
915 PR c++/64767
916 * c.opt (Wpointer-compare): New option.
917
48284845 9182017-01-04 Jakub Jelinek <jakub@redhat.com>
919
920 PR driver/78957
921 * c.opt (fsso-struct=): Add RejectNegative.
922
aad93da1 9232017-01-01 Jakub Jelinek <jakub@redhat.com>
924
925 Update copyright years.
926
7dbe2449 9272016-12-29 Martin Liska <mliska@suse.cz>
928
929 PR c/78933
930 * c.opt (strong-eval-order): Add RejectNegative keyword.
931
23ea3d01 9322016-12-22 Jason Merrill <jason@redhat.com>
933
934 Implement P0522R0, matching of template template arguments.
935 * c-cppbuiltin.c (c_cpp_builtins): Define
936 __cpp_template_template_args.
937
184fac50 9382016-12-21 Jakub Jelinek <jakub@redhat.com>
939
940 PR bootstrap/78817
941 * c-common.c (struct nonnull_arg_ctx): New type.
942 (check_function_nonnull): Return bool instead of void. Use
943 nonnull_arg_ctx as context rather than just location_t.
944 (check_nonnull_arg): Adjust for the new context type, set
945 warned_p to true if a warning has been diagnosed.
946 (check_function_arguments): Return bool instead of void.
947 * c-common.h (check_function_arguments): Adjust prototype.
948
7806e079 9492016-12-21 Jason Merrill <jason@redhat.com>
950
951 * c.opt (-fnew-ttp-matching): New flag.
952 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
953
4954efd4 9542016-12-14 Martin Jambor <mjambor@suse.cz>
955
956 * c-omp.c: Include omp-general.h instead of omp-low.h.
957 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
958 name.
959
5cfa3fc8 9602016-12-14 Martin Sebor <msebor@redhat.com>
961
962 PR c/17308
963 * c-common.c (check_nonnull_arg): Disable when optimization
964 is enabled.
965
bbdce47f 9662016-12-12 Marek Polacek <polacek@redhat.com>
967
968 PR c++/78647
969 * c-common.c (attribute_fallthrough_p): Return false for
970 error_mark_node.
971
370e45b9 9722016-12-08 Martin Sebor <msebor@redhat.com>
973
974 PR c/78284
975 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
976
3bb246b3 9772016-12-08 Martin Sebor <msebor@redhat.com>
978
979 PR c/78165
3199a7fa 980 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
981 suffix.
3bb246b3 982
5aef8938 9832016-12-07 Martin Sebor <msebor@redhat.com>
984
985 PR c/53562
986 PR middle-end/77784
987 PR middle-end/78149
988 PR middle-end/78138
989 * c.opt (-Wstringop-overflow): New option.
990
47c3d0de 9912016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
992
993 * c-attribs.c (asan odr indicator): New attribute.
994 (handle_asan_odr_indicator_attribute): New function.
995
c932c990 9962016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
997
998 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
999 ptrdiff_type_node;
1000
c39beb8a 10012016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1002
1003 * c-common.c (excess_precision_mode_join): New.
1004 (c_ts18661_flt_eval_method): New.
1005 (c_c11_flt_eval_method): Likewise.
1006 (c_flt_eval_method): Likewise.
1007 * c-common.h (excess_precision_mode_join): New.
1008 (c_flt_eval_method): Likewise.
1009 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
1010 (cpp_iec_559_value): Call it.
1011 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
1012 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
1013 __FLT_EVAL_METHOD_TS_18661_3__.
1014
a998ac00 10152016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1016
1017 * c-opts.c (c_common_post_options): Add logic to handle the default
1018 case for -fpermitted-flt-eval-methods.
1019
6e47b422 10202016-11-23 Paolo Bonzini <bonzini@gnu.org>
1021
1022 * c.opt (Wexpansion-to-defined): New.
1023
0d65cc6c 10242016-11-23 Jakub Jelinek <jakub@redhat.com>
1025
1026 PR target/78451
1027 * c-pragma.c (handle_pragma_target): Don't replace
1028 current_target_pragma, but chainon the new args to the current one.
1029
ff6497a3 10302016-11-22 Nathan Sidwell <nathan@acm.org>
1031
1032 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 1033 indentation and formatting.
ff6497a3 1034
13341287 10352016-11-21 Martin Sebor <msebor@redhat.com>
1036
1037 * c.opt (-fprintf-return-value): Enable by default.
1038
f1b3e1c9 10392016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1040
1041 PR c++/71973
1042 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
1043 * c-common.c (c_common_nodes_and_builtins): Initialize
1044 const_tm_ptr_type_node.
1045
6c1f90ee 10462016-11-16 Marek Polacek <polacek@redhat.com>
1047
1048 PR c/78285
1049 * c-common.c (c_add_case_label): Turn error_at calls into inform.
1050
a49621cf 10512016-11-14 Jakub Jelinek <jakub@redhat.com>
1052
1053 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
1054
b1f04d34 10552016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 1056 Richard Biener <rguenther@suse.de>
1057
1058 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
1059 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
1060 * c.opt (fgimple): New option.
b1f04d34 1061
9b8f3aa1 10622016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1063
1064 PR c/35503
1065 * c-common.h (warn_for_restrict): Declare.
1066 * c-warn.c: Include gcc-rich-location.h.
1067 (warn_for_restrict): New function.
1068 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
1069 (gcc_cdiag_char_table): Likewise.
1070 (gcc_cxxdiag_char_table): Likewise.
1071 * c.opt (Wrestrict): New option.
1072
7907d43b 10732016-11-13 Eric Botcazou <ebotcazou@adacore.com>
1074
1075 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
1076 for nested types only if the type is a record or union and dump SLOC.
1077
b1363399 10782016-11-09 Jason Merrill <jason@redhat.com>
1079
1080 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
1081
58721d0c 10822016-11-09 Jakub Jelinek <jakub@redhat.com>
1083
1084 * c-ubsan.c (ubsan_instrument_shift): Handle split
1085 -fsanitize=shift-base and -fsanitize=shift-exponent.
1086
2e9e9363 10872016-11-07 Jason Merrill <jason@redhat.com>
1088
1089 * c.opt (Wc++1z-compat): New.
1090 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
1091
629b6abc 10922016-11-07 Martin Liska <mliska@suse.cz>
1093
1094 * c-warn.c (warn_for_unused_label): Save all labels used
1095 in goto or in &label.
1096
2f1c4c07 10972016-11-03 Jason Merrill <jason@redhat.com>
1098
1099 * c-cppbuiltin.c (c_cpp_builtins): Correct
1100 __cpp_inheriting_constructors.
1101
7896267d 11022016-11-01 Jason Merrill <jason@redhat.com>
1103
02a9e65f 1104 * c-cppbuiltin.c (c_cpp_builtins): Update
1105 __cpp_inheriting_constructors.
1106
7896267d 1107 * c.opt (-fnew-inheriting-ctors): New.
1108 * c-opts.c: Default to on for ABI 11+.
1109
f6f44a1d 11102016-10-31 Jakub Jelinek <jakub@redhat.com>
1111
1112 PR c++/77948
1113 * c.opt (fext-numeric-literals): Add Var and Init.
1114 * c-opts.c (c_common_handle_option): Don't clear
1115 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
1116 (c_common_post_options): Clear it here if not set
1117 explicitly.
1118
d24c4079 11192016-10-28 Aldy Hernandez <aldyh@redhat.com>
1120
1121 PR debug/77773
1122 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
1123 if NULL.
1124
6e1b2ffb 11252016-10-25 Jakub Jelinek <jakub@redhat.com>
1126
1127 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
1128 * c-common.c (c_common_reswords): Add __builtin_launder.
1129
5f64e688 11302016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1131
1132 * c-common.c (c_common_truthvalue_conversion): Warn for
1133 multiplications in boolean context. Fix the quoting of '<<' and '<'
1134 in the shift warning.
1135
3645e924 11362016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
1137
1138 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
1139
146cbd63 11402016-10-20 Jason Merrill <jason@redhat.com>
1141
1142 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
1143
5c2ba578 11442016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1145
1146 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
1147 integer shift ops in boolean context.
1148
11492016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 1150
1151 * c.opt (Walloca): New.
1152 (Walloca-larger-than=): New.
1153 (Wvla-larger-than=): New.
1154
876d4bc9 11552016-10-17 Marek Polacek <polacek@redhat.com>
1156
1157 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
1158 Return immediately when finding a match.
1159 (warn_tautological_cmp): Remove a boolean variable that is no longer
1160 needed.
1161
b0c98c23 11622016-10-17 Marek Polacek <polacek@redhat.com>
1163
1164 * c-attribs.c: New file.
1165 * c-common.c: Move attributes handling to c-attribs.c.
1166 (get_nonnull_operand): No longer static.
1167 * c-common.h: Move the declarations from c-attribs.c to its own section.
1168
2ab6420c 11692016-10-14 Jason Merrill <jason@redhat.com>
1170
1171 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
1172 and __cpp_deduction_guides.
1173
81f19d90 11742016-10-13 Jason Merrill <jason@redhat.com>
1175
1176 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
1177
ad7b10a2 11782016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1179
1180 * c-cppbuiltin.c: Include memmodel.h.
1181 * c-opts.c: Likewise.
1182 * c-pragma.c: Likewise.
1183 * c-warn.c: Likewise.
1184
12663602 11852016-10-12 Jakub Jelinek <jakub@redhat.com>
1186
1187 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
1188 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
1189 * c-opts.c (sanitize_cpp_opts): Initialize
1190 cpp_opts->cpp_warn_implicit_fallthrough.
1191
424b2d7d 11922016-10-11 Marek Polacek <polacek@redhat.com>
1193
1194 * c-common.c (warning_candidate_p): Change the return type to bool
1195 and return true/false instead of 1/0.
1196 (vector_mode_valid_p): Likewise.
1197
0f4cea33 11982016-10-11 Marek Polacek <polacek@redhat.com>
1199
1200 * c-common.c (fold_for_warn): No longer static.
1201 (bool_promoted_to_int_p): Likewise.
1202 (c_common_get_narrower): Likewise.
1203 (constant_expression_warning): Move to c-warn.c.
1204 (constant_expression_error): Likewise.
1205 (overflow_warning): Likewise.
1206 (warn_logical_operator): Likewise.
1207 (find_array_ref_with_const_idx_r): Likewise.
1208 (warn_tautological_cmp): Likewise.
1209 (expr_has_boolean_operands_p): Likewise.
1210 (warn_logical_not_parentheses): Likewise.
1211 (warn_if_unused_value): Likewise.
1212 (strict_aliasing_warning): Likewise.
1213 (sizeof_pointer_memaccess_warning): Likewise.
1214 (check_main_parameter_types): Likewise.
1215 (conversion_warning): Likewise.
1216 (warnings_for_convert_and_check): Likewise.
1217 (match_case_to_enum_1): Likewise.
1218 (match_case_to_enum): Likewise.
1219 (c_do_switch_warnings): Likewise.
1220 (warn_for_omitted_condop): Likewise.
1221 (readonly_error): Likewise.
1222 (lvalue_error): Likewise.
1223 (invalid_indirection_error): Likewise.
1224 (warn_array_subscript_with_type_char): Likewise.
1225 (warn_about_parentheses): Likewise.
1226 (warn_for_unused_label): Likewise.
1227 (warn_for_div_by_zero): Likewise.
1228 (warn_for_memset): Likewise.
1229 (warn_for_sign_compare): Likewise.
1230 (do_warn_double_promotion): Likewise.
1231 (do_warn_unused_parameter): Likewise.
1232 (record_locally_defined_typedef): Likewise.
1233 (maybe_record_typedef_use): Likewise.
1234 (maybe_warn_unused_local_typedefs): Likewise.
1235 (maybe_warn_bool_compare): Likewise.
1236 (maybe_warn_shift_overflow): Likewise.
1237 (warn_duplicated_cond_add_or_warn): Likewise.
1238 (diagnose_mismatched_attributes): Likewise.
1239 * c-common.h: Move the declarations from c-warn.c to its own section.
1240 * c-warn.c: New file.
1241
7a7ca07c 12422016-10-08 Jason Merrill <jason@redhat.com>
1243
1244 * c-common.c (c_common_truthvalue_conversion): Don't distribute
1245 into COND_EXPR in C++.
1246
ad0c1dec 12472016-10-08 Jakub Jelinek <jakub@redhat.com>
1248
1249 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
1250 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
1251 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
1252
cd45162d 12532016-10-07 Jakub Jelinek <jakub@redhat.com>
1254
1255 Implement LWG2296 helper intrinsic
1256 * c-common.h (enum rid): Add RID_ADDRESSOF.
1257 * c-common.c (c_common_reswords): Add __builtin_addressof.
1258
0365bfa8 12592016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
1260
1261 PR c++/77700
1262 * c-common.c (c_common_truthvalue_conversion): Warn also for
1263 suspicious enum values in boolean context.
1264
adeca879 12652016-10-06 Jakub Jelinek <jakub@redhat.com>
1266
1267 Implement P0258R2 - helper for C++17
1268 std::has_unique_object_representations trait
1269 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
1270 * c-common.c (c_common_reswords): Add
1271 __has_unique_object_representations.
1272
c6958264 12732016-10-05 Jakub Jelinek <jakub@redhat.com>
1274
1275 PR sanitizer/66343
1276 * c-ubsan.c (ubsan_instrument_return): Don't call
1277 initialize_sanitizer_builtins here.
1278
2b6903a5 12792016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1280
1281 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1282 conditional expression in boolean context when only one arm is
1283 non-boolean.
1284
5c176ebe 12852016-10-05 Jakub Jelinek <jakub@redhat.com>
1286
c7b01e77 1287 PR sanitizer/77823
1288 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1289 is not integral.
1290
5c176ebe 1291 * c-common.c (c_common_reswords): Update comment for C++11.
1292
492ab670 12932016-10-04 Jason Merrill <jason@redhat.com>
1294
1295 * c-common.c (make_tree_vector_from_ctor): New.
1296 * c-common.h: Declare it.
1297
bc6b11a7 12982016-10-04 Jakub Jelinek <jakub@redhat.com>
1299
1300 * c-cppbuiltin.c (c_cpp_builtins): Don't define
1301 __LIBGCC_JCR_SECTION_NAME__.
1302
255beb07 13032016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
1304
1305 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1306 left shift in boolean context.
1307
c5d89bae 13082016-09-29 Jakub Jelinek <jakub@redhat.com>
1309
1310 Implement P0001R1 - C++17 removal of register storage class specifier
1311 * c.opt (Wregister): New warning.
1312 * c-opts.c (c_common_post_options): Enable -Wregister by
1313 default for C++17.
1314
4267ed07 13152016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
1316
1317 * c-opts.c (c_common_post_options): Remove special case for
1318 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1319 in C++.
1320
0b72b025 13212016-09-27 Jakub Jelinek <jakub@redhat.com>
1322
4fd4e9e0 1323 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1324 -std=c++1z.
1325
0b72b025 1326 * c-ada-spec.c (print_ada_declaration): Remove break after return.
1327
ea36272b 13282016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1329
1330 * c-common.c: Include memmodel.h.
1331
e997bd3a 13322016-09-26 Marek Polacek <polacek@redhat.com>
1333
1334 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1335
3c77f69c 13362016-09-26 Marek Polacek <polacek@redhat.com>
1337
1338 PR c/7652
1339 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1340 (handle_fallthrough_attribute): New function.
1341 (attribute_fallthrough_p): New function.
1342 * c-common.h (attribute_fallthrough_p): Declare.
1343
481ce481 13442016-09-24 Marek Polacek <polacek@redhat.com>
1345
1346 PR c/77490
1347 * c.opt (Wbool-operation): New.
1348
a5fe0b37 13492016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1350
1351 * c-common.c (c_common_truthvalue_conversion): Inhibit
1352 Wint-in-bool-context warning with from_macro_definition_at.
1353 Mention the expression will always evaluate to true.
1354
90f40f08 13552016-09-21 Martin Sebor <msebor@redhat.com>
1356
1357 PR bootstrap/77676
1358 * c.opt (fprintf-return-value): Temporarily initialize to zero
1359 to unblock bootstrap failures.
1360
98aa0f57 13612016-09-21 Jakub Jelinek <jakub@redhat.com>
1362
1363 PR c++/77651
1364 * c.opt (Waligned-new=): Add RejectNegative.
1365 (faligned-new=): Likewise. Spelling fix - change
1366 aligned_new_threshhold to aligned_new_threshold.
1367 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1368 to aligned_new_threshold.
1369
b9833bfd 13702016-09-20 Martin Sebor <msebor@redhat.com>
1371
1372 PR middle-end/49905
1373 * c.opt: Add -Wformat-length and -fprintf-return-value.
1374
bed03df1 13752016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1376
1377 PR c++/77434
1378 * c.opt (Wint-in-bool-context): New warning.
1379 * c-common.c (c_common_truthvalue_conversion): Warn on integer
1380 constants in boolean context.
1381
9b5c49ef 13822016-09-19 Joseph Myers <joseph@codesourcery.com>
1383
1384 * c-common.c (max_align_t_align): Also consider alignment of
1385 float128_type_node.
1386
cc4b5c58 13872016-09-15 Jason Merrill <jason@redhat.com>
1388
1389 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1390 DECL_EXTERNAL.
1391
ef45c4c0 13922016-09-14 Jason Merrill <jason@redhat.com>
1393
1394 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1395 limit FIELD_DECL, either.
1396
b99cc6da 13972016-09-14 Marek Polacek <polacek@redhat.com>
1398
1399 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1400 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1401 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1402
68ef907c 14032016-09-13 David Malcolm <dmalcolm@redhat.com>
1404
1405 * c-common.c (warn_logical_not_parentheses): Replace
1406 rich_location::add_fixit_insert calls with add_fixit_insert_before
1407 and add_fixit_insert_after, eliminating the "next_loc" calculation.
1408
2c24fd5e 14092016-09-13 Jason Merrill <jason@redhat.com>
1410 Tom de Vries <tom@codesourcery.com>
1411
1412 PR c++/77427
1413 * c-common.c (set_underlying_type): Don't treat array as builtin type.
1414
005248bc 14152016-09-13 Jason Merrill <jason@redhat.com>
1416
1417 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1418 limit types at all.
1419
0c893604 14202016-09-12 Jason Merrill <jason@redhat.com>
1421
1422 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1423 bit/byte confusion, allow large alignment for types.
1424
7a21b590 14252016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1426
1427 PR c++/77496
1428 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1429
00434032 14302016-09-12 David Malcolm <dmalcolm@redhat.com>
1431
1432 PR c/72858
1433 * c-format.c (argument_parser::check_argument_type): Add params
1434 "type_start" and "conversion_char". Use the former to generate
1435 offset_to_type_start and pass it and conversion_char to
1436 check_format_types.
1437 (check_format_info_main): Capture the start of the type
1438 information as "type_start", and pass it an format_char
1439 to arg_parser.check_argument_type.
1440 (check_format_types): Provide an example in the leading comment.
1441 Add params "offset_to_type_start" and "conversion_char"; pass
1442 them to format_type_warning calls.
1443 (test_get_modifier_for_format_len): Likewise.
1444 (matching_type_p): New function.
1445 (get_format_for_type): Add param "conversion_char" and move
1446 implementation into...
1447 (get_format_for_type_1): ...new function, called twice.
1448 Use new function matching_type_p rather than checking for
1449 TYPE_CANONICAL equality.
1450 (get_corrected_substring): New function.
1451 (format_type_warning): Provide an example in the leading comment.
1452 Add params "offset_to_type_start" and "conversion_char". Replace
1453 call to get_format_for_type with call to get_corrected_substring
1454 and move rejection of hints for widths/precisions there.
1455 (assert_format_for_type_streq): Add param "conversion_char".
1456 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1457 (test_get_format_for_type_printf): Add conversion chars to the
1458 tests, adding coverage for various combinations of integer
1459 vs double conversions, and for preserving octal and hexadecimal
1460 conversions.
1461 (test_get_format_for_type_scanf): Add conversion chars to the
1462 tests.
1463
3bb45f76 14642016-09-10 Tom de Vries <tom@codesourcery.com>
1465
1466 PR C/71602
1467 * c-common.c (build_va_arg): Handle more strict
1468 targetm.canonical_va_list_type. Replace first argument type error with
1469 assert.
1470
911ea34a 14712016-09-09 Martin Sebor <msebor@redhat.com>
1472
1473 PR c/77520
1474 PR c/77521
1475 * c-format.c (argument_parser::find_format_char_info): Use %qc
1476 format directive unconditionally.
1477
db8ffb40 14782016-09-09 Jason Merrill <jason@redhat.com>
1479
1480 Implement C++17 new of over-aligned types.
1481 * c.opt: Add -faligned-new and -Waligned-new.
1482 * c-common.c (max_align_t_align): Split out from...
1483 (cxx_fundamental_alignment_p): ...here.
1484 * c-common.h: Declare it.
1485 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1486
c5eddaf9 14872016-09-09 Joseph Myers <joseph@codesourcery.com>
1488
1489 * c-cppbuiltin.c (builtin_define_type_width): New function.
1490 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1491 macros.
1492
3da97ff7 14932016-09-07 David Malcolm <dmalcolm@redhat.com>
1494
1495 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1496 a POINTER_TYPE.
1497 (substring_loc::get_location): Move to substring-locations.c,
1498 keeping implementation as...
1499 (c_get_substring_location): New function, from the above, reworked
1500 to use accessors rather than member lookup.
1501 * c-common.h (class substring_loc): Move to substring-locations.h,
1502 replacing with a forward decl.
1503 (c_get_substring_location): New decl.
1504 * c-format.c: Include "substring-locations.h".
1505 (format_warning_va): Move to substring-locations.c.
1506 (format_warning_at_substring): Likewise.
1507
f9b3f702 15082016-09-06 Martin Sebor <msebor@redhat.com>
1509
1510 PR c/77336
1511 * c-format.c (check_function_format): Avoid issuing warnings for
1512 functions unless they call format functions with non-constant
1513 format strings.
1514
4c04bcce 15152016-09-06 Richard Biener <rguenther@suse.de>
1516
1517 PR c/77450
1518 * c-common.c (c_common_mark_addressable_vec): Handle
1519 COMPOUND_LITERAL_EXPR.
1520
8f8828ba 15212016-09-05 Marek Polacek <polacek@redhat.com>
1522
1523 PR c/77423
1524 * c-common.c (bool_promoted_to_int_p): New function.
1525 (expr_has_boolean_operands_p): New function.
1526 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1527 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1528
8ff61e58 15292016-09-04 Tom de Vries <tom@codesourcery.com>
1530
1531 revert:
1532 2016-08-29 Tom de Vries <tom@codesourcery.com>
1533
1534 * c-common.c (build_va_arg): Replace first argument type error
1535 with assert.
1536
0b80c4b2 15372016-09-02 Jakub Jelinek <jakub@redhat.com>
1538
1539 PR c/65467
1540 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1541 (c_finish_omp_for): Reject _Atomic qualified iterators.
1542
15432016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 1544
1545 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1546 size to guarantee it fits the output of the formatted function
1547 regardless of its arguments.
1548
c7afb782 15492016-09-01 Marek Polacek <polacek@redhat.com>
1550
1551 PR c/7652
1552 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
1553 FALLTHRU comments.
1554
f293b7f2 15552016-08-29 Marek Polacek <polacek@redhat.com>
1556
1557 PR c/77292
1558 * c-common.c (warn_logical_not_parentheses): Don't warn for
1559 a comparison or a logical operator.
1560
839e4d28 15612016-08-29 Tom de Vries <tom@codesourcery.com>
1562
1563 * c-common.c (build_va_arg): Fix type comparison assert.
1564
0acb92b8 15652016-08-29 Tom de Vries <tom@codesourcery.com>
1566
1567 * c-common.c (build_va_arg): Replace first argument type error
1568 with assert.
1569
ea2ec8f6 15702016-08-29 Tom de Vries <tom@codesourcery.com>
1571
1572 PR c/77398
1573 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1574 with error_mark_node as va_list instead of with illegal va_list.
1575
c4963714 15762016-08-25 Marek Polacek <polacek@redhat.com>
1577 David Malcolm <dmalcolm@redhat.com>
1578
1579 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1580 * c-common.h (warn_logical_not_parentheses): Update declaration.
1581
364743f3 15822016-08-22 Marek Polacek <polacek@redhat.com>
1583
1584 PR c++/77321
1585 * c-common.c (warn_for_memset): Check type for null.
1586
012f068a 15872016-08-22 Joseph Myers <joseph@codesourcery.com>
1588
1589 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1590 _FloatNx types for suffixes for built-in functions.
1591
82c85aba 15922016-08-19 Joseph Myers <joseph@codesourcery.com>
1593
1594 PR c/32187
1595 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1596 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1597 (RID_FLOAT128X): New enum rid values.
1598 (CASE_RID_FLOATN_NX): New macro.
1599 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1600 keywords.
1601 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1602 corresponding complex types.
1603 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1604 _FloatNx and corresponding complex types.
1605 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1606 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1607 and _FloatNx types for the widest type for determining
1608 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1609 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1610 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1611 and _FloatNx types.
1612 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1613 constants.
1614 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1615 _FloatNx types.
1616
48a7392b 16172016-08-18 David Malcolm <dmalcolm@redhat.com>
1618
1619 * c-opts.c (c_diagnostic_finalizer): Update for change to
1620 diagnostic_show_locus.
1621
5c8151fa 16222016-08-18 David Malcolm <dmalcolm@redhat.com>
1623
1624 * c-common.c: Include "spellcheck.h".
1625 (cb_get_suggestion): New function.
1626 * c-common.h (cb_get_suggestion): New decl.
1627 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1628 cb_get_suggestion.
1629
26040f06 16302016-08-18 Marek Polacek <polacek@redhat.com>
1631
1632 PR c/71514
1633 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1634 and pointer-to-VLA.
1635
5927e78e 16362016-08-16 David Malcolm <dmalcolm@redhat.com>
1637
1638 PR c/72857
1639 * c-common.c (substring_loc::get_range): Rename to...
1640 (substring_loc::get_location): ...this, converting param from a
1641 source_range * to a location_t *. Call
1642 get_source_location_for_substring rather than
1643 get_source_range_for_substring, and pass in m_caret_idx.
1644 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1645 (substring_loc::get_range): Replace with...
1646 (substring_loc::get_location): ...this.
1647 (substring_loc::set_caret_index): New method.
1648 (substring_loc): Add field m_caret_idx.
1649 * c-format.c (format_warning_va): Update for above changes.
1650 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1651 clashing with type name.
1652 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1653 (check_argument_type): Likewise.
1654 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1655 Use a copy when emitting warnings, setting the caret index from TYPE.
1656
6ce66d38 16572016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 1658 Arnaud Charlet <charlet@adacore.com>
6ce66d38 1659
1660 * c-ada-spec.c (dump_number): New function.
1661 (handle_escape_character): Likewise.
1662 (print_ada_macros): Add handling of constant integers and strings.
1663
e3533433 16642016-08-12 Marek Polacek <polacek@redhat.com>
1665
1666 PR c/7652
1667 * c-common.c (scalar_to_vector): Adjust fall through comment.
1668 * c-opts.c (c_common_handle_option): Likewise.
1669 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1670 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1671 fall through comment.
1672 * cilk.c (extract_free_variables): Add FALLTHRU.
1673
0f463aec 16742016-08-10 Jason Merrill <jason@redhat.com>
1675
1676 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1677
80488e20 16782016-08-09 Jason Merrill <jason@redhat.com>
1679
1680 * c-common.c (c_common_attribute_table): vector_size affects type
1681 identity.
1682
a319e7f4 16832016-08-09 Marek Polacek <polacek@redhat.com>
1684
1685 PR c/7652
1686 * c-ada-spec.c (dump_generic_ada_node): Add return.
1687
33603066 16882016-08-09 Jason Merrill <jason@redhat.com>
1689
1690 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1691 C++17 constexpr lambdas.
1692
7af4d06b 16932016-08-08 David Malcolm <dmalcolm@redhat.com>
1694
1695 PR c/64955
1696 * c-common.h (selftest::c_format_c_tests): New declaration.
1697 (selftest::run_c_tests): New declaration.
1698 * c-format.c: Include "selftest.h.
1699 (format_warning_va): Add param "corrected_substring" and use
1700 it to add a replacement fix-it hint.
1701 (format_warning_at_substring): Likewise.
1702 (format_warning_at_char): Update for new param of
1703 format_warning_va.
1704 (argument_parser::check_argument_type): Pass "fki" to
1705 check_format_types.
1706 (check_format_types): Add param "fki" and pass it to
1707 format_type_warning.
1708 (deref_n_times): New function.
1709 (get_modifier_for_format_len): New function.
1710 (selftest::test_get_modifier_for_format_len): New function.
1711 (get_format_for_type): New function.
1712 (format_type_warning): Add param "fki" and use it to attempt
1713 to provide hints for argument types when calling
1714 format_warning_at_substring.
1715 (selftest::get_info): New function.
1716 (selftest::assert_format_for_type_streq): New function.
1717 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1718 (selftest::test_get_format_for_type_printf): New function.
1719 (selftest::test_get_format_for_type_scanf): New function.
1720 (selftest::c_format_c_tests): New function.
1721
d189b094 17222016-08-08 David Malcolm <dmalcolm@redhat.com>
1723
1724 PR c/52952
1725 * c-format.c: Include "diagnostic.h".
1726 (location_column_from_byte_offset): Delete.
1727 (location_from_offset): Delete.
1728 (format_warning_va): New function.
1729 (format_warning_at_substring): New function.
1730 (format_warning_at_char): New function.
1731 (check_format_arg): Capture location of format_tree and pass to
1732 check_format_info_main.
1733 (argument_parser): Add fields "start_of_this_format" and
1734 "format_string_cst".
1735 (flag_chars_t::validate): Add param "format_string_cst". Convert
1736 warning_at call using location_from_offset to call to
1737 format_warning_at_char.
1738 (argument_parser::argument_parser): Add param "format_string_cst_"
1739 and use use it to initialize field "format_string_cst".
1740 Initialize new field "start_of_this_format".
1741 (argument_parser::read_format_flags): Convert warning_at call
1742 using location_from_offset to a call to format_warning_at_char.
1743 (argument_parser::read_any_format_left_precision): Likewise.
1744 (argument_parser::read_any_format_precision): Likewise.
1745 (argument_parser::read_any_other_modifier): Likewise.
1746 (argument_parser::find_format_char_info): Likewise, in three places.
1747 (argument_parser::parse_any_scan_set): Likewise, in one place.
1748 (argument_parser::handle_conversions): Likewise, in two places.
1749 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1750 and use it to make a substring_loc. Pass the latter to
1751 check_format_types.
1752 (check_format_info_main): Add params "fmt_param_loc" and
1753 "format_string_cst". Convert warning_at calls using
1754 location_from_offset to calls to format_warning_at_char. Pass the
1755 new params to the arg_parser ctor. Pass "format_string_cst" to
1756 flag_chars.validate. Pass "fmt_param_loc" to
1757 arg_parser.check_argument_type.
1758 (check_format_types): Convert first param from a location_t
1759 to a const substring_loc & and rename to "fmt_loc". Attempt
1760 to extract the range of the relevant parameter and pass it
1761 to format_type_warning.
1762 (format_type_warning): Convert first param from a location_t
1763 to a const substring_loc & and rename to "fmt_loc". Add
1764 params "param_range" and "type". Replace calls to warning_at
1765 with calls to format_warning_at_substring.
1766
0dae5fef 17672016-08-08 David Malcolm <dmalcolm@redhat.com>
1768
1769 * c-format.c (class flag_chars_t): New class.
1770 (struct length_modifier): New struct.
1771 (class argument_parser): New class.
1772 (flag_chars_t::flag_chars_t): New ctor.
1773 (flag_chars_t::has_char_p): New method.
1774 (flag_chars_t::add_char): New method.
1775 (flag_chars_t::validate): New method.
1776 (flag_chars_t::get_alloc_flag): New method.
1777 (flag_chars_t::assignment_suppression_p): New method.
1778 (argument_parser::argument_parser): New ctor.
1779 (argument_parser::read_any_dollar): New method.
1780 (argument_parser::read_format_flags): New method.
1781 (argument_parser::read_any_format_width): New method.
1782 (argument_parser::read_any_format_left_precision): New method.
1783 (argument_parser::read_any_format_precision): New method.
1784 (argument_parser::handle_alloc_chars): New method.
1785 (argument_parser::read_any_length_modifier): New method.
1786 (argument_parser::read_any_other_modifier): New method.
1787 (argument_parser::find_format_char_info): New method.
1788 (argument_parser::validate_flag_pairs): New method.
1789 (argument_parser::give_y2k_warnings): New method.
1790 (argument_parser::parse_any_scan_set): New method.
1791 (argument_parser::handle_conversions): New method.
1792 (argument_parser::check_argument_type): New method.
1793 (check_format_info_main): Introduce classes argument_parser
1794 and flag_chars_t, moving the code within the loop into methods
1795 of these classes. Make various locals "const".
1796
d4166bdc 17972016-08-05 David Malcolm <dmalcolm@redhat.com>
1798
1799 * c-common.c: Include "substring-locations.h".
1800 (get_cpp_ttype_from_string_type): New function.
1801 (g_string_concat_db): New global.
1802 (substring_loc::get_range): New method.
1803 * c-common.h (g_string_concat_db): New declaration.
1804 (class substring_loc): New class.
1805 * c-lex.c (lex_string): When concatenating strings, capture the
1806 locations of all tokens using a new obstack, and record the
1807 concatenation locations within g_string_concat_db.
1808 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1809 on the ggc-heap.
1810
7648c9c7 18112016-07-29 Marek Polacek <polacek@redhat.com>
1812
8ae70602 1813 PR c/71926
1814 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1815 parentheses warning.
1816
7648c9c7 1817 PR c/71574
1818 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1819
595e387a 18202016-07-28 Martin Liska <mliska@suse.cz>
1821
1822 PR gcov-profile/68025
1823 * c-common.c (handle_no_profile_instrument_function_attribute):
1824
296103aa 18252016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1826
1827 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1828 BITS_PER_UNIT_LOG.
1829
21483ab7 18302016-07-25 Jason Merrill <jason@redhat.com>
1831
1832 PR c++/65970
1833 * c.opt (fconstexpr-loop-limit): New.
1834
0b80c4b2 18352016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 1836
1837 PR c++/71675
1838 * c-common.c (resolve_overloaded_builtin): Avoid converting
1839 __atomic_compare_exchange_n return type to that of what its
1840 first argument points to.
1841
59c1507a 18422016-07-22 Uros Bizjak <ubizjak@gmail.com>
1843
1844 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1845 ~(unsigned HOST_WIDE_INT) 0.
1846
45648efe 18472016-07-22 Martin Liska <mliska@suse.cz>
1848
1849 PR gcov-profile/69028
1850 PR gcov-profile/62047
1851 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1852 to the current_function_decl.
1853
0c0f63cb 18542016-07-21 Jason Merrill <jason@redhat.com>
1855
1856 PR c++/65168
1857 * c-common.c (c_common_truthvalue_conversion): Check
1858 c_inhibit_evaluation_warnings for warning about address of
1859 reference.
1860
d208f6e6 18612016-07-20 David Malcolm <dmalcolm@redhat.com>
1862
1863 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1864 const char *.
1865
0238e35e 18662016-07-15 Jason Merrill <jason@redhat.com>
1867
1868 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1869
0dd7db3b 18702016-07-15 Jakub Jelinek <jakub@redhat.com>
1871
1872 PR c/71858
1873 * c-common.h (enum lookup_name_fuzzy_kind): Add
1874 FUZZY_LOOKUP_FUNCTION_NAME.
1875
e59cff35 18762016-07-08 Jason Merrill <jason@redhat.com>
1877
1878 P0145: Refining Expression Order for C++.
1879 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1880 * c-opts.c: Adjust.
1881
faee03ad 18822016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1883
1884 PR c++/71214
1885 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1886
a4dd89cb 18872016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1888
1889 * c-pragma.h (enum pragma_kind): Rename
1890 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1891 users.
1892
b6a4a0f5 18932016-06-29 Richard Biener <rguenther@suse.de>
1894
1895 PR middle-end/71002
1896 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1897
176aa551 18982016-06-24 Jason Merrill <jason@redhat.com>
1899
1900 P0145R2: Refining Expression Order for C++.
1901 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1902 MODIFY_EXPR.
1903
77104764 19042016-06-24 Jakub Jelinek <jakub@redhat.com>
1905
1906 * c-common.c (check_builtin_function_arguments): Require last
1907 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1908 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1909 if the last argument is pointer to enumerated or boolean type.
1910
8469aece 19112016-06-22 David Malcolm <dmalcolm@redhat.com>
1912
1913 PR c/70339
1914 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1915 (lookup_name_fuzzy): New prototype.
1916
bd08c370 19172016-06-21 John David Anglin <danglin@gcc.gnu.org>
1918
1919 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1920
06c75b9a 19212016-06-14 Jason Merrill <jason@redhat.com>
1922
1923 P0145R2: Refining Expression Order for C++.
1924 * c.opt (fargs-in-order): New.
1925 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1926
9720103d 19272016-06-13 Jakub Jelinek <jakub@redhat.com>
1928
12cb8367 1929 PR sanitizer/71498
1930 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1931 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1932
9720103d 1933 PR preprocessor/71183
1934 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1935 to cb_get_source_date_epoch.
1936
8ec29807 19372016-06-10 Jakub Jelinek <jakub@redhat.com>
1938
1939 PR c/68657
1940 * c.opt (Wpsabi): Add Warning flag.
1941
1dc4d519 19422016-06-10 Martin Sebor <msebor@redhat.com>
1943
1944 PR c/71392
1945 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1946 the nonnull attribute in type-generic builtins.
1947
23b101c5 19482016-06-09 Martin Sebor <msebor@redhat.com>
1949
1950 PR c/70883
1951 * c-common.c (builtin_function_validate_nargs): Make text of error
1952 message consistent with others like it.
1953
732905bb 19542016-06-08 Martin Sebor <msebor@redhat.com>
1955 Jakub Jelinek <jakub@redhat.com>
1956
1957 PR c++/70507
1958 PR c/68120
1959 * c-common.c (check_builtin_function_arguments): Handle
1960 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1961
86a5f91c 19622016-06-08 Richard Biener <rguenther@suse.de>
1963
1964 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1965
b032c4dd 19662016-06-07 Richard Biener <rguenther@suse.de>
1967
1968 PR c/61564
1969 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1970 options and warn about others.
1971
dfa5c0d3 19722016-06-01 Eduard Sanou <dhole@openmailbox.org>
1973
1974 * c-common.c (get_source_date_epoch): Rename to
1975 cb_get_source_date_epoch.
1976 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1977 message when the parsing fails. Use error_at instead of fatal_error.
1978 * c-common.h (get_source_date_epoch): Rename to
1979 cb_get_source_date_epoch.
1980 * c-common.h (cb_get_source_date_epoch): Prototype.
1981 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1982 * c-common.h (c_omp_region_type): Remove trailing comma.
1983 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1984 * c-lex.c (c_lex_with_flags): Remove initialization of
1985 pfile->source_date_epoch.
1986
b6431756 19872016-05-30 Jakub Jelinek <jakub@redhat.com>
1988
1989 PR c++/71349
1990 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1991 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1992 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1993 instead of C_OMP_CLAUSE_SPLIT_FOR.
1994
7345b977 19952016-05-24 Richard Biener <rguenther@suse.de>
1996
1997 PR middle-end/70434
1998 PR c/69504
1999 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
2000 (convert_vector_to_array_for_subscript): ... this.
2001 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
2002 VIEW_CONVERT_EXPR to an array type. Rename to ...
2003 (convert_vector_to_array_for_subscript): ... this.
2004
22a3f7bd 20052016-05-12 Marek Polacek <polacek@redhat.com>
2006
2007 PR c/70756
2008 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
2009 size_in_bytes and pass LOC to it.
2010
54c4d22e 20112016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2012
2013 PR c/43651
2014 * c.opt (Wduplicate-decl-specifier): New option.
2015
7f8012a5 20162016-05-11 Marek Polacek <polacek@redhat.com>
2017
2018 PR c++/71024
2019 * c-common.c (diagnose_mismatched_attributes): New function.
2020 * c-common.h (diagnose_mismatched_attributes): Declare.
2021
1d52c456 20222016-05-04 Marek Polacek <polacek@redhat.com>
2023
2024 * c.opt (Wdangling-else): New option.
2025
5d4db8ef 20262016-05-03 Marek Polacek <polacek@redhat.com>
2027
2028 PR c/70859
2029 * c-common.c (builtin_function_validate_nargs): Add location
2030 parameter. Use it.
2031 (check_builtin_function_arguments): Add location and arguments
2032 parameters. Use them.
2033 * c-common.h (check_builtin_function_arguments): Update declaration.
2034
9ae1b28a 20352016-05-03 Richard Biener <rguenther@suse.de>
2036
2037 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
2038 allow call args to gimplify to SSA names.
2039
4341e093 20402016-05-03 Marek Polacek <polacek@redhat.com>
2041
2042 * c-common.h (enum c_omp_region_type): Remove stray comma.
2043
b5e88f74 20442016-05-02 Cesar Philippidis <cesar@codesourcery.com>
2045
2046 * c-common.h (enum c_omp_region_type): Define.
2047
ee31dd3d 20482016-05-02 Richard Sandiford <richard.sandiford@arm.com>
2049
2050 * c-common.c (shorten_compare): Use wi::to_wide.
2051
4d0a8bac 20522016-04-29 Cesar Philippidis <cesar@codesourcery.com>
2053
2054 PR middle-end/70626
2055 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
2056 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
2057 reduction clauses in acc parallel loops.
2058
025dd1e0 20592016-04-29 Marek Polacek <polacek@redhat.com>
2060
2061 PR c/70852
2062 * c-common.c (warn_for_memset): Check domain before accessing it.
2063
eb16928e 20642016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
2065
2066 PR/69089
2067 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
2068 "aligned" attribute.
2069
ddd2a3d4 20702016-04-28 Jason Merrill <jason@redhat.com>
2071
2072 * c-lex.c (c_common_has_attribute): Handle nodiscard.
2073
e3e8c48c 20742016-04-28 Eduard Sanou <dhole@openmailbox.org>
2075 Matthias Klose <doko@debian.org>
2076
2077 * c-common.c (get_source_date_epoch): New function, gets the environment
2078 variable SOURCE_DATE_EPOCH and parses it as long long with error
2079 handling.
2080 * c-common.h (get_source_date_epoch): Prototype.
2081 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
2082
605a4556 20832015-04-27 Ryan Burn <contact@rnburn.com>
2084
2085 PR c++/69024
2086 PR c++/68997
2087 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
2088 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
2089 external linkage.
2090 (cilk_detect_and_unwrap): Corresponding changes.
2091 (extract_free_variables): Don't extract free variables from
2092 AGGR_INIT_EXPR slot.
2093 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
2094 (cilk_recognize_spawn): Likewise.
2095
40385231 20962016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2097
2098 * c.opt (Wmemset-elt-size): New option.
2099 * c-common.c (warn_for_memset): New function.
2100 * c-common.h (warn_for_memset): Declare.
2101
f5d49c14 21022016-04-25 Jason Merrill <jason@redhat.com>
2103
2104 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
2105 No longer static.
2106 * c-common.h: Declare it.
2107 * c-lex.c (c_common_has_attribute): Add maybe_unused.
2108
9c980ab5 21092016-04-22 Jason Merrill <jason@redhat.com>
2110
2111 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
2112
70574e60 21132016-04-20 Ilya Verbin <ilya.verbin@intel.com>
2114
2115 PR c++/69363
2116 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
2117 * c-common.h (c_finish_cilk_clauses): Remove declaration.
2118
5d4b30ea 21192016-04-18 Michael Matz <matz@suse.de>
2120
2121 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
2122 and SET_DECL_ALIGN.
2123
021ad2f3 21242016-04-17 Eric Botcazou <ebotcazou@adacore.com>
2125
2126 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
2127 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
2128 to incomplete types.
2129 (dump_nested_type): Remove redundant tests and tidy up.
2130 (print_ada_declaration): Also set TREE_VISITED on the declaration of
2131 a type which is the typedef of an original type.
2132
926f9422 21332016-04-15 Marek Polacek <polacek@redhat.com>
2134
2135 PR c/70651
2136 * c-common.c (build_va_arg): Change two asserts into errors and return
2137 error_mark_node.
2138
92c53257 21392016-04-13 Marek Polacek <polacek@redhat.com>
2140
2141 PR c++/70639
2142 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
2143 for switch statements, too.
2144
a3ae889f 21452016-03-28 Jason Merrill <jason@redhat.com>
2146
2147 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
2148
62d2a6dc 21492016-03-23 Marek Polacek <polacek@redhat.com>
2150
2151 PR c++/69884
2152 * c.opt (Wignored-attributes): New option.
2153
4baec9f2 21542016-03-22 David Malcolm <dmalcolm@redhat.com>
2155
2156 PR c/69993
2157 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
2158 diagnostic text, reversing the order of the warning and note so
2159 that they appear in source order.
2160
92e7ab1e 21612016-03-17 Marek Polacek <polacek@redhat.com>
2162
2163 PR c/69407
2164 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
2165 operations.
2166
6f895832 21672016-03-14 Jason Merrill <jason@redhat.com>
2168
14c36b14 2169 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
2170
6f895832 2171 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
2172
42bb3bfb 21732016-03-09 Richard Biener <rguenther@suse.de>
2174
2175 PR c/70143
2176 * c-common.c (strict_aliasing_warning): Add back
2177 alias_sets_conflict_p check.
2178
3556aa80 21792016-03-08 Jason Merrill <jason@redhat.com>
2180
2181 * c-opts.c (set_std_cxx1z): Don't enable concepts.
2182
0060768a 21832016-03-04 David Malcolm <dmalcolm@redhat.com>
2184
2185 PR c/68187
2186 * c-indentation.c (get_visual_column): Move code to determine next
2187 tab stop to...
2188 (next_tab_stop): ...this new function.
2189 (line_contains_hash_if): Delete function.
2190 (detect_preprocessor_logic): Delete function.
2191 (get_first_nws_vis_column): New function.
2192 (detect_intervening_unindent): New function.
2193 (should_warn_for_misleading_indentation): Replace call to
2194 detect_preprocessor_logic with a call to
2195 detect_intervening_unindent.
2196
74c6fd40 21972016-03-04 David Malcolm <dmalcolm@redhat.com>
2198
2199 PR c/68187
2200 * c-indentation.c (should_warn_for_misleading_indentation): When
2201 suppressing warnings about cases where the guard and body are on
2202 the same column, only use the first non-whitespace column in place
2203 of the guard token column when dealing with "else" clauses.
2204 When rejecting aligned BODY and NEXT, loosen the requirement
2205 from equality with the first non-whitespace of guard to simply
2206 that they not be indented relative to it.
2207
e692d332 22082016-03-04 Richard Biener <rguenther@suse.de>
2209
2210 PR c++/70054
2211 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
2212 instead of alias_sets_conflict_p.
2213
12cc1225 22142016-03-01 Marek Polacek <polacek@redhat.com>
2215
2216 PR c++/69795
2217 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
2218 any DECL.
2219
8c38d887 22202016-02-22 Martin Sebor <msebor@redhat.com>
2221
2222 PR middle-end/69780
2223 * c-common.c (check_builtin_function_arguments): Validate and
2224 reject invalid arguments to __builtin_alloca_with_align.
2225
e53f41d5 22262016-02-20 Mark Wielaard <mjw@redhat.com>
2227
2228 PR c/28901
2229 * c.opt (Wunused-const-variable): Turn into Alias for...
2230 (Wunused-const-variable=): New option.
2231
9cce8384 22322016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2233
2234 PR c++/69865
2235 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
2236 here...
2237 (c_common_init_options): ...to here.
2238 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
2239
563d5cb8 22402016-02-19 Jakub Jelinek <jakub@redhat.com>
2241
2242 PR c++/69826
2243 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
2244 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
2245 flag_preprocess_only.
2246
7675e968 22472016-02-16 Jakub Jelinek <jakub@redhat.com>
2248
2249 PR c/69835
2250 * c.opt (Wnonnull-compare): Enable for -Wall.
2251
77454e6e 22522016-02-15 Jakub Jelinek <jakub@redhat.com>
2253
2254 PR c++/69797
2255 * c-common.c (sync_resolve_size): Diagnose too few arguments
2256 even when params is non-NULL empty vector.
2257
600695e0 22582016-02-08 Bernd Schmidt <bschmidt@redhat.com>
2259
2260 PR target/60410
2261 * c.opt (fshort-double): Remove.
2262
a7cc1f94 22632016-02-05 Martin Sebor <msebor@redhat.com>
2264
2265 PR c++/69662
2266 * c.opt (Warning options): Update -Wplacement-new to take
2267 an optional argument.
2268
6f13b088 22692016-02-01 Jakub Jelinek <jakub@redhat.com>
2270
2271 PR preprocessor/69543
2272 PR c/69558
2273 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2274 instead of loc to control_warning_option.
2275
948eee2f 22762016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2277
2278 * c.opt (fopenacc-dim=): New option.
2279
5fa82c11 22802016-01-27 Ryan Burn <contact@rnburn.com>
2281
2282 PR cilkplus/69267
2283 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2284 gimplify_arg. Removed superfluous post_p argument.
2285 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2286 superfluous post_p argument.
2287 * c-gimplify.c (c_gimplify_expr): Likewise.
2288
3752e5b1 22892016-01-26 David Malcolm <dmalcolm@redhat.com>
2290
2291 PR other/69006
2292 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2293 pp_newline_and_flush with pp_flush.
2294
bbbbe8ab 22952016-01-20 Martin Sebor <msebor@redhat.com>
2296
2297 PR c/69405
2298 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2299 an incompatible argument when the argument isn't a valid tree node.
2300
f6dfb86a 23012016-01-18 Jason Merrill <jason@redhat.com>
2302
2303 PR c++/68767
2304 * c-common.c (check_function_arguments_recurse): Fold the whole
2305 COND_EXPR, not just the condition.
2306
f672c103 23072016-01-18 Tom de Vries <tom@codesourcery.com>
2308
2309 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2310 classify as loop clause.
2311
c8ef893c 23122016-01-15 Jakub Jelinek <jakub@redhat.com>
2313
2314 PR bootstrap/68271
2315 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2316 C++ FE no longer has limit on number of pragmas.
2317
23182015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 2319
2320 PR c++/69048
2321 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 2322 to add missing cleanup point.
7d600da5 2323
a7ed4583 23242016-01-14 David Malcolm <dmalcolm@redhat.com>
2325
2326 PR c++/68819
2327 * c-indentation.c (get_visual_column): Add location_t param.
2328 Handle the column number being zero by effectively disabling the
2329 warning, with an "inform".
2330 (should_warn_for_misleading_indentation): Add location_t argument
2331 for all uses of get_visual_column.
2332
b933e511 23332016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
2334
2335 PR c++/69029
2336 * c-indentation.c (should_warn_for_misleading_indentation):
2337 Don't warn about do-while statements.
2338
517906ff 23392016-01-07 Martin Sebor <msebor@redhat.com>
2340
2341 PR c/68966
2342 * c-common.c (sync_resolve_size): Reject first argument when it's
2343 a pointer to _Bool.
2344
d42aa619 23452016-01-05 David Malcolm <dmalcolm@redhat.com>
2346
2347 PR c/69122
2348 * c-indentation.c (get_visual_column): Remove default argument.
2349 (should_warn_for_misleading_indentation): For the multiline case,
2350 update call to get_visual_column for next_stmt_exploc so that it
2351 captures the location of the first non-whitespace character in the
2352 relevant line. Don't issue warnings if there is non-whitespace
2353 before the next statement.
2354
f1717362 23552016-01-04 Jakub Jelinek <jakub@redhat.com>
2356
2357 Update copyright years.
2358
c0bf500c 23592015-12-21 David Malcolm <dmalcolm@redhat.com>
2360
2361 * c-common.c (binary_op_error): Convert first param from
2362 location_t to rich_location * and use it when emitting an error.
2363 * c-common.h (binary_op_error): Convert first param from
2364 location_t to rich_location *.
2365
dbd79382 23662015-12-16 David Malcolm <dmalcolm@redhat.com>
2367
2368 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2369 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2370
c0998828 23712015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2372
2373 * c-common.c (c_common_attribute_table): Handle "omp declare target
2374 link" attribute.
2375
7ca909c6 23762015-12-14 Jakub Jelinek <jakub@redhat.com>
2377
2378 PR c/68833
2379 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2380
d9102cbe 23812014-12-12 Tobias Burnus <burnus@net-b.de>
2382
2383 PR fortran/68815
2384 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2385 specifiers (%d, %i,%u and %c).
2386
a515ebdf 23872015-12-10 David Malcolm <dmalcolm@redhat.com>
2388
2389 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2390
31ba81bd 23912015-12-08 Jakub Jelinek <jakub@redhat.com>
2392
2393 PR c/48088
2394 PR c/68657
2395 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2396 * c-pragma.c (handle_pragma_diagnostic): Adjust
2397 control_warning_option caller.
2398
d0f713f4 23992015-12-07 David Malcolm <dmalcolm@redhat.com>
2400
2401 * c-common.c (c_cpp_error): Update for change to
2402 rich_location::set_range.
2403
32d050b5 24042015-12-04 Paolo Bonzini <bonzini@gnu.org>
2405
2406 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2407 shifting 1 out of the sign bit.
2408
24092015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
2410
2411 * c-common.c (c_common_attribute_table[]): Update max arguments
2412 count for "simd" attribute.
2413 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2414
6a8fbd7a 24152015-12-03 Jakub Jelinek <jakub@redhat.com>
2416
2417 PR preprocessor/57580
2418 * c-ppoutput.c (print): Change printed field to bool.
2419 Move src_file last for smaller padding.
2420 (init_pp_output): Set print.printed to false instead of 0.
2421 (scan_translation_unit): Fix up formatting. Set print.printed
2422 to true after printing something other than newline.
2423 (scan_translation_unit_trad): Set print.printed to true instead of 1.
2424 (maybe_print_line_1): Set print.printed to false instead of 0.
2425 (print_line_1): Likewise.
2426 (do_line_change): Set print.printed to true instead of 1.
2427 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2428 dump_macro): Set print.printed to false after printing newline.
2429
da562e32 24302015-12-02 Jason Merrill <jason@redhat.com>
2431
9c691dbd 2432 * c-common.c (fold_for_warn): New.
2433 (warn_logical_operator, warn_tautological_cmp)
2434 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2435
da562e32 2436 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2437 (c_fully_fold_internal, decl_constant_value_for_optimization):
2438 Move to c/c-fold.c.
2439 * c-common.h: Don't declare decl_constant_value_for_optimization.
2440
89f16034 24412015-12-02 Joseph Myers <joseph@codesourcery.com>
2442
2443 PR c/68162
2444 * c-common.h (c_build_qualified_type): Add extra default
2445 arguments.
2446
571b3486 24472015-12-01 Julian Brown <julian@codesourcery.com>
2448 Cesar Philippidis <cesar@codesourcery.com>
2449 James Norris <James_Norris@mentor.com>
2450
2451 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2452 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2453 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2454
ed92a461 24552015-11-30 Eric Botcazou <ebotcazou@adacore.com>
2456
2457 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2458 (decl_sloc_common): Delete and move bulk of processing to...
2459 (decl_sloc): ...here.
2460 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2461 (dump_ada_double_name): Remove S parameter and compute the suffix.
2462 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
2463 element type and deal with an anonymous one.
2464 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2465 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
2466 and remove reference to QUAL_UNION_TYPE.
2467 (dump_nested_types): Make 2 passes on the fields and move bulk to...
2468 (dump_nested_type): ...here. New function extracted from above.
2469 Generate a full declaration for anonymous element type of arrays.
2470 (print_ada_declaration): Really skip anonymous declarations. Remove
2471 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
2472 Clean up processing of declarations of array types and objects.
2473 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2474 Remove obsolete code and tidy up.
2475
c25b3e3f 24762015-11-29 Jan Hubicka <hubicka@ucw.cz>
2477
2478 PR c/67581
2479 * c-common.c (handle_transparent_union_attribute): Update
2480 also type variants.
2481
d4e328e9 24822015-11-27 Martin Liska <mliska@suse.cz>
2483
2484 PR c++/68312
2485 * array-notation-common.c (cilkplus_extract_an_triplets):
2486 Release vector of vectors.
2487 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2488
f63d9c4e 24892015-11-26 Eric Botcazou <ebotcazou@adacore.com>
2490
2491 PR c++/68527
2492 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2493 (print_ada_struct_decl): Likewise.
2494
8d63c601 24952015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
2496
2497 PR c++/68001
2498 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2499 * cilk.c (recognize_spawn): Determine location in a more precise
2500 way.
2501
01f11119 25022015-11-19 Jason Merrill <jason@redhat.com>
2503
2504 * c-common.c (shorten_compare): But look through macros from
2505 system headers.
2506
2d3d3af7 25072015-11-18 Jason Merrill <jason@redhat.com>
2508
2509 * c-common.c (shorten_compare): Don't -Wtype-limits if the
2510 non-constant operand comes from a macro.
2511
7991eeee 25122015-11-17 Jason Merrill <jason@redhat.com>
2513
2514 PR bootstrap/68346
2515 * c-common.c (warn_tautological_cmp): Fold before checking for
2516 constants.
2517
73f67931 25182015-11-16 Marek Polacek <polacek@redhat.com>
2519
2520 PR c++/68362
2521 * c-common.c (check_case_bounds): Fold low and high cases.
2522
8e539fdc 25232015-11-16 Marek Polacek <polacek@redhat.com>
2524
2525 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2526 * c-common.c (c_common_get_alias_set): Likewise.
2527 (handle_visibility_attribute): Likewise.
2528
c58a4cfd 25292015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2530
2531 * c-common.c (handle_simd_attribute): New.
2532 (struct attribute_spec): Add entry for "simd".
2533 (handle_simd_attribute): New.
2534
bb036391 25352015-11-13 Kai Tietz <ktietz70@googlemail.com>
2536
2537 * c-lex.c (interpret_float): Use fold_convert.
2538
a96cefb2 25392015-11-13 David Malcolm <dmalcolm@redhat.com>
2540
2541 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2542 and store it on the result.
2543 * c-opts.c (c_common_init_options): Set
2544 global_dc->colorize_source_p.
2545
2fc5e987 25462015-11-12 James Norris <jnorris@codesourcery.com>
2547 Joseph Myers <joseph@codesourcery.com>
2548
2549 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
2550 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2551 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2552 PRAGMA_OACC_CLAUSE_LINK.
2553
81b1b2a8 25542015-11-11 Marek Polacek <polacek@redhat.com>
2555
2556 PR c/68107
2557 PR c++/68266
2558 * c-common.c (valid_array_size_p): New function.
2559 * c-common.h (valid_array_size_p): Declare.
2560
92a44a68 25612015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 2562
2563 PR bootstrap/68271
2564 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2565
6e803544 25662015-11-11 Andrew MacLeod <amacleod@redhat.com>
2567
2568 * array-notation-common.c: Remove unused header files.
2569 * c-ada-spec.c: Likewise.
2570 * c-cilkplus.c: Likewise.
2571 * c-common.c: Likewise.
2572 * c-cppbuiltin.c: Likewise.
2573 * c-dump.c: Likewise.
2574 * c-format.c: Likewise.
2575 * c-gimplify.c: Likewise.
2576 * c-indentation.c: Likewise.
2577 * c-lex.c: Likewise.
2578 * c-omp.c: Likewise.
2579 * c-opts.c: Likewise.
2580 * c-pch.c: Likewise.
2581 * c-ppoutput.c: Likewise.
2582 * c-pragma.c: Likewise.
2583 * c-pretty-print.c: Likewise.
2584 * c-semantics.c: Likewise.
2585 * c-ubsan.c: Likewise.
2586 * cilk.c: Likewise.
2587 * stub-objc.c: Likewise.
2588
a1b7fe4b 25892015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2590 Cesar Philippidis <cesar@codesourcery.com>
2591 James Norris <jnorris@codesourcery.com>
2592 Julian Brown <julian@codesourcery.com>
2593 Nathan Sidwell <nathan@codesourcery.com>
2594
2595 * c-pragma.c (oacc_pragmas): Add "routine".
2596 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2597
292237f3 25982015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2599
2600 * c-common.c (c_common_attributes): Add scalar_storage_order.
2601 (handle_scalar_storage_order_attribute): New function.
2602 * c-pragma.c (global_sso): New variable.
2603 (maybe_apply_pragma_scalar_storage_order): New function.
2604 (handle_pragma_scalar_storage_order): Likewise.
2605 (init_pragma): Register scalar_storage_order.
2606 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2607 * c.opt (Wscalar-storage-order): New warning.
2608 (fsso-struct=): New option.
2609
b4a4c5fa 26102015-11-08 Martin Sebor <msebor@redhat.com>
2611
2612 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2613
ac677063 26142015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2615
2616 * c-common.c: Don't undef DEF_BUILTIN.
2617
f0479000 26182015-11-06 David Malcolm <dmalcolm@redhat.com>
2619
2620 * c-common.c (c_cpp_error): Convert parameter from location_t to
2621 rich_location *. Eliminate the "column_override" parameter and
2622 the call to diagnostic_override_column.
2623 Update the "done_lexing" clause to set range 0
2624 on the rich_location, rather than overwriting a location_t.
2625 * c-common.h (c_cpp_error): Convert parameter from location_t to
2626 rich_location *. Eliminate the "column_override" parameter.
2627
ef014f95 26282015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2629 Thomas Schwinge <thomas@codesourcery.com>
2630 James Norris <jnorris@codesourcery.com>
2631
2632 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2633 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2634 clauses with parallel and kernels and loops.
2635 * c-pragma.h (enum pragma_omp_clause): Add entries for
2636 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2637 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2638 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2639 INDEPENDENT,SEQ}.
2640 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2641
e520488c 26422015-11-05 Martin Sebor <msebor@redhat.com>
2643
2644 PR c++/67942
2645 * c.opt (-Wplacement-new): New option.
2646
9561765e 26472015-11-05 Jakub Jelinek <jakub@redhat.com>
2648
2649 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2650 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2651 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2652 save_expr or create_tmp_var* if TEST is true.
2653 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2654 Don't call add_stmt here.
2655 (struct c_omp_check_loop_iv_data): New type.
2656 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2657 c_omp_check_loop_iv_exprs): New functions.
2658 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2659 distribute.
2660 (c_omp_declare_simd_clauses_to_numbers): Change
2661 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2662 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2663 from numbers to PARM_DECLs.
2664
5e8689fb 26652015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2666
2667 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2668 flag_checking.
2669
92a44a68 26702015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 2671
2672 PR c++-common/67882
32d050b5 2673 * c-common.h (fold_offsetof_1): Add argument.
2674 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 2675 offsetof expressions that reference elements past the end of
2676 an array.
2677
9e10bfb7 26782015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2679 Chung-Lin Tang <cltang@codesourcery.com>
2680
2681 * c-pragma.c (oacc_pragmas): Add "atomic".
2682 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2683
ab50af2a 26842015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2685
2686 * c-common.c (handle_target_clones_attribute): New.
2687 (c_common_attribute_table): Add handle_target_clones_attribute.
2688 (handle_always_inline_attribute): Add check on target_clones attribute.
2689 (handle_target_attribute): Ditto.
2690
4cba6f60 26912015-10-29 Andrew MacLeod <amacleod@redhat.com>
2692
2693 * array-notation-common.c: Reorder #include's and remove duplicates.
2694 * c-ada-spec.c: Likewise.
2695 * c-cilkplus.c: Likewise.
2696 * c-common.c: Likewise.
2697 * c-cppbuiltin.c: Likewise.
2698 * c-dump.c: Likewise.
2699 * c-format.c: Likewise.
2700 * c-gimplify.c: Likewise.
2701 * c-indentation.c: Likewise.
2702 * c-lex.c: Likewise.
2703 * c-omp.c: Likewise.
2704 * c-opts.c: Likewise.
2705 * c-pch.c: Likewise.
2706 * c-ppoutput.c: Likewise.
2707 * c-pragma.c: Likewise.
2708 * c-pretty-print.c: Likewise.
2709 * c-semantics.c: Likewise.
2710 * c-ubsan.c: Likewise.
2711 * cilk.c: Likewise.
2712 * stub-objc.c: Likewise.
2713
f576a2e4 27142015-10-28 Jason Merrill <jason@redhat.com>
2715
2716 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2717
2c4c8725 27182015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2719 James Norris <jnorris@codesourcery.com>
2720 Cesar Philippidis <cesar@codesourcery.com>
2721
2722 PR c/64765
2723 PR c/64880
2724 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2725 * c-omp.c (c_oacc_split_loop_clauses): New function.
2726
8204c077 27272015-10-21 Martin Sebor <msebor@redhat.com>
2728
2729 PR driver/68043
2730 * c.opt: End each sentence that describes an option with a period.
2731
8523243e 27322015-10-20 Marek Polacek <polacek@redhat.com>
2733
2734 * array-notation-common.c (is_cilkplus_vector_p): Define.
2735 * c-common.h (is_cilkplus_vector_p): Declare.
2736
08881cb8 27372015-10-20 Marek Polacek <polacek@redhat.com>
2738
2739 * c.opt (std=gnu++11): Do not describe as experimental.
2740 (std=gnu++14): Likewise.
2741
a36e5e5e 27422015-10-19 Jason Merrill <jason@redhat.com>
2743
2744 * c-cppbuiltin.c (c_cpp_builtins): Define
2745 __cpp_nontype_template_args.
2746
a349de0a 27472015-10-19 Jason Merrill <jason@redhat.com>
2748
2749 * c-cppbuiltin.c (c_cpp_builtins): Define
2750 __cpp_enumerator_attributes, __cpp_fold_expressions,
2751 __cpp_unicode_characters.
2752
43895be5 27532015-10-13 Jakub Jelinek <jakub@redhat.com>
2754 Aldy Hernandez <aldyh@redhat.com>
2755
2756 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2757 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2758 (c_define_builtins): Likewise.
2759 * c-common.h (enum c_omp_clause_split): Add
2760 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2761 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2762 (c_finish_omp_for): Add ORIG_DECLV argument.
2763 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2764 201511 instead of 201307.
2765 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2766 OMP_CRITICAL_CLAUSES to it.
2767 (c_finish_omp_ordered): Add CLAUSES argument, set
2768 OMP_ORDERED_CLAUSES to it.
2769 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2770 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2771 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2772 constructs and new OpenMP 4.5 clauses. Clear
2773 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2774 verification code.
2775 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2776 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2777 (enum pragma_omp_clause): Add
2778 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2779 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2780
20cb53c9 27812015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2782
2783 * c-lex.c (interpret_float): Use real_equal instead of
2784 REAL_VALUES_EQUAL.
2785
6d02e6b2 27862015-10-04 Jason Merrill <jason@redhat.com>
2787
2788 Implement N4514, C++ Extensions for Transactional Memory.
2789 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2790 (c_common_attribute_table): Add transaction_safe_dynamic.
2791 transaction_safe now affects type identity.
2792 (handle_tm_attribute): Handle transaction_safe_dynamic.
2793 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2794 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2795 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2796 (D_TRANSMEM): New.
2797 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2798 * c-pretty-print.c (pp_c_attributes_display): Don't print
2799 transaction_safe in C++.
2800
c0999a5d 28012015-10-02 Marek Polacek <polacek@redhat.com>
2802
2803 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2804
ef17a71a 28052015-10-02 Marek Polacek <polacek@redhat.com>
2806
2807 PR c/64249
2808 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2809 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2810 * c.opt (Wduplicated-cond): New option.
2811
05b84e7b 28122015-10-01 Joseph Myers <joseph@codesourcery.com>
2813
2814 * c.opt (std=c11): Do not describe as experimental.
2815 (std=gnu11): Likewise.
2816 (std=iso9899:2011): Likewise.
2817
e561d5e1 28182015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2819
2820 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2821 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2822
bd4b90d2 28232015-09-25 Marek Polacek <polacek@redhat.com>
2824
2825 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2826 (ubsan_instrument_shift): Likewise.
2827
ac13b2b2 28282015-09-25 Marek Polacek <polacek@redhat.com>
2829
2830 PR sanitizer/64906
2831 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2832
a3c82f4c 28332015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2834
2835 * c-indentation.c (should_warn_for_misleading_indentation):
2836 Compare next_stmt_vis_column with guard_line_first_nws instead
2837 of with guard_line_vis_column.
2838
5eef101d 28392015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2840
2841 PR c/49654
2842 PR c/49655
2843 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2844 options and options not valid for the current language.
2845
60897493 28462015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2847
2848 * c-indentation.c (should_warn_for_misleading_indentation):
2849 Float out and consolidate the calls to get_visual_column that
2850 are passed guard_exploc as an argument. Compare
2851 next_stmt_vis_column with guard_line_first_nws instead of with
2852 body_line_first_nws.
2853
85c93154 28542015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2855
2856 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2857 Wnamespaces): New C++ warnings.
2858
229a58b1 28592015-09-22 Jason Merrill <jason@redhat.com>
2860
2861 * c-common.h (abi_compat_version_crosses): New.
2862 (warn_abi_version): Declare.
2863 * c-common.c: Define it.
2864 * c-opts.c (c_common_post_options): Handle it.
2865 flag_abi_compat_version defaults to 8.
2866
2d2de569 28672015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2868
2869 Complete the implementation of N4230, Nested namespace definition.
2870 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2871 __cpp_nested_namespace_definitions.
2872
2b897e68 28732015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2874
2875 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2876
ed536208 28772015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2878
2879 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2880 when warning.
2881 * c-pragma.h (pragma_lex): Add optional loc argument.
2882
1dc6c44d 28832015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2884
2885 * c-format.c (check_format_arg): Adjust to use common block size in all
2886 object pools.
2887
be812248 28882015-09-15 David Malcolm <dmalcolm@redhat.com>
2889
2890 * c-format.c (location_from_offset): Update for change in
2891 signature of location_get_source_line.
2892 * c-indentation.c (get_visual_column): Likewise.
2893 (line_contains_hash_if): Likewise.
2894
e4cc057f 28952015-09-14 Marek Polacek <polacek@redhat.com>
2896
2897 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2898 setting various warnings.
2899
85f5e2ee 29002015-09-14 Marek Polacek <polacek@redhat.com>
2901
2902 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2903 a negative value.
2904
1bca8cbd 29052015-09-11 Mark Wielaard <mjw@redhat.com>
2906
2907 PR c/28901
2908 * c.opt (Wunused-variable): Option from common.opt.
2909 (Wunused-const-variable): New option.
2910
ee48893a 29112015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2912
2913 PR c++/53184
2914 * c.opt ([Wsubobject-linkage]): Add.
2915
547c6b1f 29162015-09-03 Martin Sebor <msebor@redhat.com>
2917
2918 PR c/66516
2919 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2920 functions.
2921 * c-common.c (reject_gcc_builtin): Define.
2922
7e976b10 29232015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2924
2925 PR middle-end/60586
2926 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2927 prototype.
2928 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2929 cilk_gimplify_call_params_in_spawned_fn.
2930 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2931 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2932 unwrapping.
2933
9e6bcade 29342015-08-25 Marek Polacek <polacek@redhat.com>
2935
2936 PR middle-end/67330
2937 * c-common.c (handle_weak_attribute): Don't check whether the
2938 visibility can be changed here.
2939
af9de21d 29402015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2941
2942 * c-lex.c (c_lex_with_flags): Use explicit locations.
2943
6dc50383 29442015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2945
2946 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2947 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2948
10902624 29492015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2950
2951 PR middle-end/36757
2952 * c-common.c (check_builtin_function_arguments): Add check
2953 for BUILT_IN_SIGNBIT argument.
2954
a03a71ab 29552015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2956
2957 PR c++/67160
2958 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2959 in c++1z mode.
2960
22723c26 29612015-08-17 Marek Polacek <polacek@redhat.com>
2962
2963 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2964 with whitespaces before qualifier names.
2965
f4809955 29662015-08-12 Marek Polacek <polacek@redhat.com>
2967
2968 PR c++/55095
2969 * c-common.c (maybe_warn_shift_overflow): Properly handle
2970 left-shifting 1 into the sign bit.
2971
5463f502 29722015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2973
2974 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2975
56c12fd4 29762015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2977 Braden Obrzut <admin@maniacsvault.net>
2978 Jason Merrill <jason@redhat.com>
2979
2980 Add C++ Concepts TS support.
2981 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2982 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2983 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2984 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2985 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2986 * c.opt (fconcepts): New.
2987
32d050b5 29882015-08-02 Martin Sebor <msebor@redhat.com>
2989
2990 * c.opt (-Wframe-address): New warning option.
2991
17afcef6 29922015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2993
2994 * c-indentation.c (should_warn_for_misleading_indentation):
2995 Improve heuristics.
2996
f95bfdd4 29972015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2998
2999 * c-indentation.c (get_visual_column): Add parameter first_nws,
3000 use it. Update comment documenting the function.
3001 (is_first_nonwhitespace_on_line): Remove.
3002 (should_warn_for_misleading_indentation): Replace usage of
3003 of is_first_nonwhitespace_on_line with get_visual_column.
3004
9255be07 30052015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3006
3007 * c-indentation.h (struct token_indent_info): Define.
3008 (get_token_indent_info): Define.
3009 (warn_for_misleading_information): Declare.
3010 * c-common.h (warn_for_misleading_information): Remove.
3011 * c-identation.c (warn_for_misleading_indentation):
3012 Change declaration to take three token_indent_infos. Adjust
3013 accordingly.
3014 * c-identation.c (should_warn_for_misleading_indentation):
3015 Likewise. Bail out early if the body is a compound statement.
3016 (guard_tinfo_to_string): Define.
3017
e880695c 30182015-07-30 Jason Merrill <jason@redhat.com>
3019
3020 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
3021 '*' for reference decay.
3022
f58dd84b 30232015-07-30 Marek Polacek <polacek@redhat.com>
3024
3025 * c-common.c (warn_tautological_cmp): Bail for float types.
3026
d9e4fe27 30272015-07-27 Marek Polacek <polacek@redhat.com>
3028
3029 PR bootstrap/67030
3030 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
3031
6784a472 30322015-07-27 Marek Polacek <polacek@redhat.com>
3033
3034 PR c++/66555
3035 PR c/54979
3036 * c-common.c (find_array_ref_with_const_idx_r): New function.
3037 (warn_tautological_cmp): New function.
3038 * c-common.h (warn_tautological_cmp): Declare.
3039 * c.opt (Wtautological-compare): New option.
3040
08034975 30412015-07-23 Marek Polacek <polacek@redhat.com>
3042
3043 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
3044 (ubsan_instrument_shift): Likewise.
3045
f6f5e49b 30462015-07-23 Marek Polacek <polacek@redhat.com>
3047
3048 PR sanitizer/66908
3049 * c-ubsan.c: Include gimplify.h.
3050 (ubsan_instrument_division): Unshare OP0 and OP1.
3051 (ubsan_instrument_shift): Likewise.
3052
8d669e79 30532015-07-20 Marek Polacek <polacek@redhat.com>
3054 Richard Sandiford <richard.sandiford@arm.com>
3055
3056 PR c++/55095
3057 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
3058 Use EXPR_LOC_OR_LOC.
3059 (maybe_warn_shift_overflow): New function.
3060 * c-common.h (maybe_warn_shift_overflow): Declare.
3061 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
3062 * c.opt (Wshift-overflow): New option.
3063
e16712b1 30642015-07-16 Martin Liska <mliska@suse.cz>
3065
3066 * c-format.c (static void check_format_info_main): Use
3067 object_allocator instead of pool_allocator.
3068 (check_format_arg): Likewise.
3069 (check_format_info_main): Likewise.
3070
e51764ad 30712015-07-15 Andrew MacLeod <amacleod@redhat.com>
3072
3073 * c-opts.c: Remove multiline #include comment.
3074
47ae02b7 30752015-07-12 Aldy Hernandez <aldyh@redhat.com>
3076
3077 * c-common.c: Fix double word typos.
3078
ed2b2eb2 30792015-07-10 Eric Botcazou <ebotcazou@adacore.com>
3080
3081 * c-ada-spec.h (cpp_operation): Revert latest change.
3082 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
3083 constructors and destructors.
3084
1eacc14a 30852015-07-09 Andrew MacLeod <amacleod@redhat.com>
3086
3087 * c-common.h: Adjust includes for flags.h changes.
3088 * stub-objc.c: Likewise.
47ae02b7 3089
0124237f 30902015-07-08 Eric Botcazou <ebotcazou@adacore.com>
3091
3092 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
3093 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
3094
386ef929 30952015-07-08 Jakub Jelinek <jakub@redhat.com>
3096
3097 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
3098 are to be removed, return NULL rather than original clauses list.
3099
9ef16211 31002015-07-07 Andrew MacLeod <amacleod@redhat.com>
3101
3102 * array-notation-common.c: Adjust includes.
3103 * c-ada-spec.c: Likewise.
3104 * c-cilkplus.c: Likewise.
3105 * c-common.h: Likewise.
3106 * c-cppbuiltin.c: Likewise.
3107 * c-dump.c: Likewise.
3108 * c-format.c: Likewise.
3109 * c-gimplify.c: Likewise.
3110 * c-indentation.c: Likewise.
3111 * c-lex.c: Likewise.
3112 * c-omp.c: Likewise.
3113 * c-opts.c: Likewise.
3114 * c-pch.c: Likewise.
3115 * c-ppoutput.c: Likewise.
3116 * c-pragma.c: Likewise.
3117 * c-pretty-print.c: Likewise.
3118 * c-semantics.c: Likewise.
3119 * c-ubsan.c: Likewise.
3120 * cilk.c: Likewise.
3121 * stub-objc.c: Likewise.
3122
67ede3e4 31232015-07-07 Eric Botcazou <ebotcazou@adacore.com>
3124
3125 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
3126 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
3127
42af8c2a 31282015-07-01 Jason Merrill <jason@redhat.com>
3129
fa769cc5 3130 * c-common.h (D_CXX11): Rename from D_CXX0X.
3131 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
3132 * c-common.c: Adjust.
3133
97e9c847 3134 * c-opts.c (c_common_post_options): Default to C++14.
3135
42af8c2a 3136 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
3137
30b1ba42 31382015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
3139
3140 Implement N4197 - Adding u8 character literals
32d050b5 3141 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 3142 CPP_CHAR.
32d050b5 3143 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 3144 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 3145 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 3146 and CPP_UTF8CHAR tokens.
3147 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 3148
0949f227 31492015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3150
3151 PR fortran/66605
3152 * c-common.c (do_warn_unused_parameter): Move here.
3153 * c-common.h (do_warn_unused_parameter): Declare.
3154
be23b16f 31552015-06-29 Marek Polacek <polacek@redhat.com>
3156
3157 PR c/66322
3158 * c-common.c (check_case_bounds): Add bool * parameter. Set
3159 OUTSIDE_RANGE_P.
3160 (c_add_case_label): Add bool * parameter. Pass it down to
3161 check_case_bounds.
3162 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
3163 warning here.
3164 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
3165 declarations.
3166
6290f0db 31672015-06-27 Marek Polacek <polacek@redhat.com>
3168
3169 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
3170 or VECTOR_INTEGER_TYPE_P throughout.
3171 * c-gimplify.c: Likewise.
3172
aa3e402e 31732015-06-26 Marek Polacek <polacek@redhat.com>
3174
3175 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
3176 * c-common.c (c_fully_fold_internal): Likewise.
3177 (c_alignof_expr): Likewise.
3178 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
3179 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 3180 * cilk.c (create_parm_list): Likewise.
aa3e402e 3181
4e81b384 31822015-06-26 Marek Polacek <polacek@redhat.com>
3183
3184 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
3185
ec2e0095 31862015-06-25 Andrew MacLeod <amacleod@redhat.com>
3187
3188 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
3189 * c-gimplify.c: Likewise.
3190 * c-pragma.c: Likewise.
3191 * c-ubsan.c: Likewise.
3192 * cilk.c: Likewise.
3193
b594087e 31942015-06-25 Richard Sandiford <richard.sandiford@arm.com>
3195
3196 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
3197 ggc_hasher.
3198
a3c76fda 31992015-06-25 Andrew MacLeod <amacleod@redhat.com>
3200
3201 * cilk.c: Move calls.h after tm.h in the include chain.
3202
f48c7f4a 32032015-06-25 Marek Polacek <polacek@redhat.com>
3204
3205 * array-notation-common.c: Use VAR_P throughout.
3206 * c-ada-spec.c: Likewise.
3207 * c-common.c: Likewise.
3208 * c-format.c: Likewise.
3209 * c-gimplify.c: Likewise.
3210 * c-omp.c: Likewise.
3211 * c-pragma.c: Likewise.
3212 * c-pretty-print.c: Likewise.
3213 * cilk.c: Likewise.
3214
ce41e81a 32152015-06-25 Marek Polacek <polacek@redhat.com>
3216
3217 * cilk.c (extract_free_variables): Use is_global_var.
3218
de231ec2 32192015-06-23 Richard Sandiford <richard.sandiford@arm.com>
3220
3221 * c-common.c: Don't include target-def.h.
3222
0200602e 32232015-06-23 Marek Polacek <polacek@redhat.com>
3224
3225 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
3226 when comparing INTEGER_CSTs.
3227
99838ed7 32282015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
3229
3230 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
3231 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
3232 (dump_ada_template): Skip partially specialized types.
3233
a4f59596 32342015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
3235
3236 * c-common.c (scalar_to_vector): Use std::swap instead of manually
3237 swapping.
3238
f2ab3bac 32392015-06-17 Andrew MacLeod <amacleod@redhat.com>
3240
3241 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
3242 * c-ada-spec.c: Likewise.
3243 * c-cilkplus.c: Likewise.
3244 * c-common.c: Likewise.
3245 * c-common.h: Likewise.
3246 * c-cppbuiltin.c: Likewise.
3247 * c-dump.c: Likewise.
3248 * c-format.c: Likewise.
3249 * c-gimplify.c: Likewise.
3250 * c-indentation.c: Likewise.
3251 * c-lex.c: Likewise.
3252 * c-omp.c: Likewise.
3253 * c-opts.c: Likewise.
3254 * c-pch.c: Likewise.
3255 * c-ppoutput.c: Likewise.
3256 * c-pragma.c: Likewise.
3257 * c-pretty-print.c: Likewise.
3258 * c-semantics.c: Likewise.
3259 * c-ubsan.c: Likewise.
3260 * cilk.c: Likewise.
3261 * stub-objc.c: Likewise.
3262
db3d1ffc 32632015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
3264
3265 PR c++/65168
3266 * c-common.c (c_common_truthvalue_conversion): Warn when
3267 converting an address of a reference to a truth value.
3268
64486212 32692015-06-08 Andrew MacLeod <amacleod@redhat.com>
3270
3271 * array-notation-common.c : Adjust include files.
3272 * c-ada-spec.c : Likewise.
3273 * c-cilkplus.c : Likewise.
3274 * c-common.c : Likewise.
3275 * c-common.h : Likewise.
3276 * c-cppbuiltin.c : Likewise.
3277 * c-dump.c : Likewise.
3278 * c-format.c : Likewise.
3279 * c-gimplify.c : Likewise.
3280 * c-indentation.c : Likewise.
3281 * c-lex.c : Likewise.
3282 * c-omp.c : Likewise.
3283 * c-opts.c : Likewise.
3284 * c-pch.c : Likewise.
3285 * c-ppoutput.c : Likewise.
3286 * c-pragma.c : Likewise.
3287 * c-pretty-print.c : Likewise.
3288 * c-semantics.c : Likewise.
3289 * c-ubsan.c : Likewise.
3290 * cilk.c : Likewise.
3291 * stub-objc.c : Likewise.
3292
6e84ccad 32932015-06-08 Marek Polacek <polacek@redhat.com>
3294
3295 PR c/66415
3296 * c-format.c (location_from_offset): Return LOC if LINE is null.
3297
3a1c9df2 32982015-06-05 Aldy Hernandez <aldyh@redhat.com>
3299
3300 * c-common.h (c_parse_final_cleanups): New prototype.
3301 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3302
32d050b5 33032015-06-04 Sriraman Tallam <tmsriram@google.com>
3304
3305 * c-common.c (noplt): New attribute.
3306 (handle_noplt_attribute): New handler.
3307
f77c0292 33082015-06-04 Andrew MacLeod <amacleod@redhat.com>
3309
3310 * array-notation-common.c: Adjust includes for restructured coretypes.h.
3311 * c-ada-spec.c: Likewise.
3312 * c-cilkplus.c: Likewise.
3313 * c-common.c: Likewise.
3314 * c-common.h: Likewise.
3315 * c-cppbuiltin.c: Likewise.
3316 * c-dump.c: Likewise.
3317 * c-format.c: Likewise.
3318 * c-gimplify.c: Likewise.
3319 * c-indentation.c: Likewise.
3320 * c-lex.c: Likewise.
3321 * c-omp.c: Likewise.
3322 * c-opts.c: Likewise.
3323 * c-pch.c: Likewise.
3324 * c-ppoutput.c: Likewise.
3325 * c-pragma.c: Likewise.
3326 * c-pretty-print.c: Likewise.
3327 * c-semantics.c: Likewise.
3328 * c-ubsan.c: Likewise.
3329 * cilk.c: Likewise.
3330 * stub-objc.c: Likewise.
3331
7c62dfbb 33322015-06-02 David Malcolm <dmalcolm@redhat.com>
3333
3334 PR c/66220:
3335 * c-indentation.c (should_warn_for_misleading_indentation): Use
3336 expand_location rather than expand_location_to_spelling_point.
3337 Don't warn if the guarding statement is more indented than the
3338 next/body stmts.
3339
9af7c176 33402015-06-02 David Malcolm <dmalcolm@redhat.com>
3341
3342 * c-indentation.c (warn_for_misleading_indentation): Bail out
3343 immediately if -Wmisleading-indentation isn't enabled.
3344
eebcf436 33452015-06-01 Martin Liska <mliska@suse.cz>
3346
3347 * c-format.c (check_format_arg):Use new type-based pool allocator.
3348 (check_format_info_main) Likewise.
3349
b0a23e2f 33502015-05-31 Eric Botcazou <ebotcazou@adacore.com>
3351
3352 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3353 (has_nontrivial_methods): Likewise.
3354
63dc1330 33552015-05-25 Marek Polacek <polacek@redhat.com>
3356
3357 * c-ubsan.c (ubsan_instrument_shift): Use type0.
3358
5a4c69dd 33592015-05-22 Marek Polacek <polacek@redhat.com>
3360
3361 PR c/47043
3362 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3363
044580bb 33642015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 3365
3366 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3367 STACK_GROWS_DOWNWARD.
3368
044580bb 33692015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 3370
3371 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3372 STACK_GROWS_DOWNWARD rather than if it is defined.
3373
d5a2ddc7 33742015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 3375
d5a2ddc7 3376 PR c/52952
3377 * c-format.c (location_column_from_byte_offset): New.
3378 (location_from_offset): New.
3379 (struct format_wanted_type): Add offset_loc field.
3380 (check_format_info): Move handling of location for extra arguments
3381 closer to the point of warning.
3382 (check_format_info_main): Pass the result of location_from_offset
3383 to warning_at.
3384 (format_type_warning): Pass the result of location_from_offset
3385 to warning_at.
3386
72f8014e 33872015-05-20 Marek Polacek <polacek@redhat.com>
3388
3389 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3390
74efe522 33912015-05-20 Marek Polacek <polacek@redhat.com>
3392
3393 * c-ada-spec.c (dump_sloc): Use DECL_P.
3394
b443c459 33952015-05-20 Marek Polacek <polacek@redhat.com>
3396
3397 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3398 * c-common.c: Likewise.
3399
551e34da 34002015-05-19 David Malcolm <dmalcolm@redhat.com>
3401
3402 * c-common.h (fe_file_change): Strengthen param from
3403 const line_map * to const line_map_ordinary *.
3404 (pp_file_change): Likewise.
3405 * c-lex.c (fe_file_change): Likewise.
3406 (cb_define): Use linemap_check_ordinary when invoking
3407 SOURCE_LINE.
3408 (cb_undef): Likewise.
3409 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3410 invoking cb_file_change.
3411 (c_finish_options): Likewise.
3412 (push_command_line_include): Likewise.
3413 (cb_file_change): Strengthen param "new_map" from
3414 const line_map * to const line_map_ordinary *.
3415 * c-ppoutput.c (cb_define): Likewise for local "map".
3416 (pp_file_change): Likewise for param "map" and local "from".
3417
dfcf26a5 34182015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
3419
3420 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3421
2e474820 34222015-05-18 Tom de Vries <tom@codesourcery.com>
3423
3424 * c-common.c (build_va_arg_1): New function.
3425 (build_va_arg): Add address operator to va_list operand if necessary.
3426
e53013a8 34272015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
3428
3429 PR c/48956
3430 * c-common.c (int_safely_convertible_to_real_p): Define.
3431 (unsafe_conversion_p): Check conversions involving complex types.
3432 (conversion_warning): Add new warning message for conversions which
3433 discard imaginary component.
3434 * c-common.h: (enum conversion_safety): Add new enumerator for such
3435 conversions.
3436
aac24642 34372015-05-14 Marek Polacek <polacek@redhat.com>
3438
3439 PR c/66066
3440 PR c/66127
3441 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3442 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3443 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
3444 use it. If FOR_INT_CONST, require that all evaluated operands be
3445 INTEGER_CSTs.
3446
e5f01cba 34472015-05-12 David Malcolm <dmalcolm@redhat.com>
3448
3449 * c-common.h (warn_for_misleading_indentation): New prototype.
3450 * c-indentation.c: New file.
3451 * c.opt (Wmisleading-indentation): New option.
3452
c37be9ec 34532015-05-12 Tom de Vries <tom@codesourcery.com>
3454
3455 PR tree-optimization/66010
3456 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3457
7290114b 34582015-05-09 Jason Merrill <jason@redhat.com>
3459
3c665566 3460 * c-opts.c (c_common_post_options): Also clear
3461 cpp_opts->cpp_warn_cxx11_compat.
3462
d875b9d2 3463 * c-common.h (enum cxx_dialect): Add cxx_unset.
3464 * c-common.c (cxx_dialect): Initialize to cxx_unset.
3465 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3466
7290114b 3467 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3468 (std=gnu++0x): Mark as Undocumented.
3469 (std=gnu++1y): Add deprecated message.
3470
1b03cc89 34712015-05-08 Jason Merrill <jason@redhat.com>
3472
1c5f7aba 3473 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
3474 * c-opts.c: Adjust.
3475
1b03cc89 3476 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3477
dc5945dc 34782015-05-08 Marek Polacek <polacek@redhat.com>
3479
3480 PR c/64918
3481 * c.opt (Woverride-init-side-effects): New option.
3482
cdc64059 34832015-05-07 Marek Polacek <polacek@redhat.com>
3484
3485 PR c/65179
3486 * c-common.c (c_fully_fold_internal): Warn when left shifting a
3487 negative value.
3488 * c.opt (Wshift-negative-value): New option.
3489 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3490 when -Wextra and C99/C++11 mode.
3491
8cafe283 34922015-05-07 Marek Polacek <polacek@redhat.com>
3493 Martin Uecker <uecker@eecs.berkeley.edu>
3494
3495 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3496 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3497
cb40a6f7 34982015-05-05 Jason Merrill <jason@redhat.com>
3499
3500 * c.opt (Wterminate): New.
3501
14744a16 35022015-04-30 Marek Polacek <polacek@redhat.com>
3503
3504 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3505 require that the non-constant be of a boolean type.
3506
9866562d 35072015-04-29 Josh Triplett <josh@joshtriplett.org>
3508
8cafe283 3509 * c-common.c (handle_section_attribute): Refactor to reduce
3510 nesting and distinguish between error cases.
9866562d 3511
a720ab1c 35122015-04-29 Marek Polacek <polacek@redhat.com>
3513
3514 PR c/64610
3515 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3516 with 0/1.
3517
8c072e52 35182015-04-29 Jakub Jelinek <jakub@redhat.com>
3519
3520 * c-common.h (omp_clause_mask): Unconditionally define as a class.
3521 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3522 HOST_BITS_PER_WIDE_INT.
3523
f7fec1c7 35242015-04-28 Tom de Vries <tom@codesourcery.com>
3525
3526 PR tree-optimization/65887
3527 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3528
483b3d26 35292015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 3530 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 3531
3532 * c-ada-spec.c (in_function): Delete.
3533 (dump_generic_ada_node): Do not change in_function and remove the
3534 redundant code dealing with it.
3535 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
3536 (print_ada_methods): Output the static member functions in a nested
3537 package after the regular methods as well as associated renamings.
3538
f11bdffb 35392015-04-24 Marek Polacek <polacek@redhat.com>
3540
3541 PR c/65830
3542 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3543 and OPT_Wshift_count_overflow.
3544
485f6b9c 3545 PR c/63357
3546 * c-common.c (warn_logical_operator): Warn if the operands have the
3547 same expressions.
3548
439606a9 35492015-04-24 Marek Polacek <polacek@redhat.com>
3550
3551 PR c/61534
3552 * c-common.c (warn_logical_operator): Bail if either operand comes
3553 from a macro expansion.
3554
de801c28 35552015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3556
3557 PR target/55143
3558 * c-common.c (c_default_pointer_mode): Add definition.
3559 * c-common.h (c_default_pointer_mode): Add declaration.
3560
76738f56 35612015-03-11 Jakub Jelinek <jakub@redhat.com>
3562
3563 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3564 on record_builtin_type argument.
3565
16f958b3 35662015-03-10 Jakub Jelinek <jakub@redhat.com>
3567
3568 PR c/65120
3569 * c-common.c (warn_logical_not_parentheses): Don't warn for
3570 !x == 0 or !x != 0.
3571
9b22f73f 35722015-03-07 Marek Polacek <polacek@redhat.com>
3573
3574 PR sanitizer/65280
3575 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3576 before trying to figure out whether we have a flexible array member.
3577
a864b7d4 35782015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 3579 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 3580
3581 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3582
9bf8c90b 35832015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3584
3585 PR ada/65319
3586 * c-ada-spec.c (print_destructor): Remove obsolete code.
3587
037ac54f 35882015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3589
3590 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3591 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3592 DECL_TEMPLATE_RESULT emulations.
3593 (dump_ada_template)): Add guard for TYPE_METHODS.
3594
495cbfb8 35952015-02-27 Marek Polacek <polacek@redhat.com>
3596
3597 PR c/65040
3598 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3599
688a864e 36002015-02-27 Kai Tietz <ktietz@redhat.com>
3601
3602 PR c/35330
3603 * c-pragma.c (handle_pragma_weak): Do not try to create
3604 weak/alias of declarations not being function, or variable
3605 declarations.
3606
6349b8cc 36072015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3608
3609 PR libgomp/64625
3610 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3611 Remove macros.
3612 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3613
3afd5369 36142015-02-16 Marek Polacek <polacek@redhat.com>
3615
3616 PR c/65066
3617 * c-format.c (check_format_types): Handle null param.
3618
46173d1b 36192015-02-13 Marek Polacek <polacek@redhat.com>
3620
3621 PR c/65040
3622 * c-format.c (check_format_types): Don't warn about different
3623 signedness if the original value is in the range of WANTED_TYPE.
3624
1d524ff7 36252015-02-12 Jason Merrill <jason@redhat.com>
3626
3627 PR c++/64956
3628 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3629 to the current highest version.
3630 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3631
bbf8fbec 36322015-02-04 Jakub Jelinek <jakub@redhat.com>
3633
3634 PR c/64824
3635 PR c/64868
3636 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3637 instead of RDIV_EXPR. Use build_binary_op instead of
3638 build2_loc.
3639
c05be867 36402015-01-30 Joseph Myers <joseph@codesourcery.com>
3641
3642 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3643 to pass input_location as first argument.
3644
85977647 36452015-01-23 Tom de Vries <tom@codesourcery.com>
3646
3647 PR libgomp/64672
3648 * c.opt (fopenacc): Mark as LTO option.
3649
fa175926 36502015-01-23 Tom de Vries <tom@codesourcery.com>
3651
3652 PR libgomp/64707
3653 * c.opt (fopenmp): Mark as LTO option.
3654
20aad5ba 36552015-01-21 Jakub Jelinek <jakub@redhat.com>
3656
3657 PR c/63307
8204c077 3658 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 3659 (compare_decls): Fix up formatting.
3660
36612015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3662
3663 PR c/63307
3664 * cilk.c: Include vec.h.
3665 (struct cilk_decls): New structure.
3666 (wrapper_parm_cb): Split this function to...
3667 (fill_decls_vec): ...this...
3668 (create_parm_list): ...and this.
3669 (compare_decls): New function.
3670 (for_local_cb): Remove.
3671 (wrapper_local_cb): Ditto.
3672 (build_wrapper_type): For now first traverse and fill vector of
3673 declarations then sort it and then deal with sorted vector.
3674 (cilk_outline): Ditto.
3675 (declare_one_free_variable): Ditto.
3676
60b77e28 36772015-01-21 Jason Merrill <jason@redhat.com>
3678
3679 PR c++/64629
3680 * c-format.c (check_format_arg): Call decl_constant_value.
3681
85fbea97 36822015-01-19 Martin Liska <mliska@suse.cz>
3683
3684 * c-common.c (handle_noicf_attribute): New function.
3685
ca4c3545 36862015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3687 Bernd Schmidt <bernds@codesourcery.com>
3688 James Norris <jnorris@codesourcery.com>
3689 Cesar Philippidis <cesar@codesourcery.com>
3690 Ilmir Usmanov <i.usmanov@samsung.com>
3691 Jakub Jelinek <jakub@redhat.com>
3692
3693 * c.opt (fopenacc): New option.
3694 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3695 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3696 New macros.
3697 * c-common.h (c_finish_oacc_wait): New prototype.
3698 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3699 (c_finish_oacc_wait): New function.
3700 * c-pragma.c (oacc_pragmas): New variable.
3701 (c_pp_lookup_pragma, init_pragma): Handle it.
3702 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3703 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3704 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3705 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3706 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3707 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3708 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3709 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3710 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3711 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3712 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3713 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3714 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3715 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3716 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3717 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3718 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3719 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3720 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3721 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3722 PRAGMA_OACC_CLAUSE_WORKER.
3723
92a44a68 37242015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 3725
3726 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3727 for the new option fstack-protector_explicit.
3728 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3729 (handle_stack_protect_attribute): New function.
3730
92a44a68 37312015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 3732
3733 * c.opt: New option -Warray-bounds=.
3734
1f78217c 37352015-01-09 Michael Collison <michael.collison@linaro.org>
3736
3737 * array-notation-common.c: Include hash-set.h, machmode.h,
3738 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3739 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3740 * c-ada-spec.c: Ditto.
3741 * c-cilkplus.c: Ditto.
3742 * c-common.c: Include input.h due to flattening of tree.h.
3743 Define macro GCC_C_COMMON_C.
3744 * c-common.h: Flatten tree.h header files into c-common.h.
3745 Remove include of tree-core.h.
3746 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3747 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3748 fold-const.h, wide-int.h, and inchash.h due to
3749 flattening of tree.h.
3750 * c-dump.c: Ditto.
3751 * c-format.c: Flatten tree.h header files into c-common.h.
3752 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3753 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3754 fold-const.h, wide-int.h, and inchash.h due to
3755 flattening of tree.h.
3756 * c-dump.c: Include hash-set.h, machmode.h,
3757 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3758 fold-const.h, wide-int.h, and inchash.h due to
3759 flattening of tree.h.
3760 * c-format.c: Include hash-set.h, machmode.h,
3761 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3762 fold-const.h, wide-int.h, inchash.h and real.h due to
3763 flattening of tree.h.
3764 * c-gimplify.c: Include hash-set.h, machmode.h,
3765 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3766 fold-const.h, wide-int.h, and inchash.h due to
3767 flattening of tree.h.
3768 * cilk.c: Ditto.
3769 * c-lex.c: Ditto.
3770 * c-omp.c: Ditto.
3771 * c-opts.c: Ditto.
3772 * c-pch.c: Ditto.
3773 * c-ppoutput.c: Ditto.
3774 * c-pragma.c: Ditto.
3775 * c-pretty-print.c: Ditto.
3776 * c-semantics.c: Ditto.
3777 * c-ubsan.c: Ditto.
3778 * stub-objc.c: Ditto.
3779
411b7663 37802015-01-08 Jason Merrill <jason@redhat.com>
3781
3782 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3783 do_ubsan_in_current_function.
3784 (ubsan_maybe_instrument_reference_or_call): Likewise.
3785 * c-ubsan.h: Declare it.
3786
d1e96383 37872015-01-08 Mike Stump <mikestump@comcast.net>
3788
3789 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3790
b57910fa 37912015-01-07 Marek Polacek <polacek@redhat.com>
3792
3793 PR c/64440
3794 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3795 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3796
678a4e3e 37972015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3798
3799 PR c++/31397
3800 * c.opt (Wsuggest-override): New option.
3801
d353bf18 38022015-01-05 Jakub Jelinek <jakub@redhat.com>
3803
3804 Update copyright years.
3805
92b63884 38062015-01-05 Marek Polacek <polacek@redhat.com>
3807
3808 PR c/64423
3809 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3810 parameter. Use it.
3811 * c-common.h (warn_array_subscript_with_type_char): Update
3812 declaration.
3813
83715bc4 38142014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3815
3816 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3817 Control macro with flag_sized_deallocation.
3818
92a44a68 38192014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 3820
3821 * c.opt (Wdiscarded-array-qualifiers): New option.
3822
33058239 38232014-12-19 Jakub Jelinek <jakub@redhat.com>
3824
3825 PR preprocessor/63831
3826 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3827 and __has_cpp_attribute here.
3828 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3829 c_common_has_attribute.
3830 * c-common.h (c_common_has_attribute): New prototype.
3831 * c-lex.c (init_c_lex): Set cb->has_attribute to
3832 c_common_has_attribute instead of cb_has_attribute.
3833 (get_token_no_padding): New function.
3834 (cb_has_attribute): Renamed to ...
3835 (c_common_has_attribute): ... this. No longer static. Use
3836 get_token_no_padding, require ()s, don't build TREE_LIST
3837 unnecessarily, fix up formatting, adjust diagnostics, call
3838 init_attributes.
3839
d1856d2c 38402014-12-15 Jason Merrill <jason@redhat.com>
3841
3842 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3843 (-Wsized-deallocation): New.
3844 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3845 to on in C++14 and up.
3846
4972ed5d 38472014-12-11 Jason Merrill <jason@redhat.com>
3848
7d7fa964 3849 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3850
4972ed5d 3851 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3852 we aren't complaining about VLAs.
3853
5ebccf71 38542014-12-06 Marek Polacek <polacek@redhat.com>
3855
3856 PR tree-optimization/64183
3857 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3858 shift-expression if it is integer_type_node. Use types_compatible_p.
3859
f9e245b2 38602014-11-29 Jakub Jelinek <jakub@redhat.com>
3861
3862 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3863 last argument from create_tmp_var_raw and create_tmp_var calls.
3864 * cilk.c (gimplify_cilk_spawn): Likewise.
3865 * c-omp.c (c_finish_omp_atomic): Likewise.
3866
d2f60593 38672014-11-28 Marek Polacek <polacek@redhat.com>
3868
3869 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3870 instead of unsigned_type_node.
3871
fce2dbd1 38722014-11-28 Marek Polacek <polacek@redhat.com>
3873
3874 PR c/63862
3875 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3876 to op1_utype.
3877 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3878 expression to unsigned_type_node.
3879
3a4a2292 38802014-11-20 Mark Wielaard <mjw@redhat.com>
3881
3882 PR debug/38757
3883 * c-opts.c (set_std_c89): Set lang_hooks.name.
3884 (set_std_c99): Likewise.
3885 (set_std_c11): Likewise.
3886 (set_std_cxx98): Likewise.
3887 (set_std_cxx11): Likewise.
3888 (set_std_cxx14): Likewise.
3889 (set_std_cxx1z): Likewise.
3890
c61ef207 38912014-11-21 Jakub Jelinek <jakub@redhat.com>
3892
3893 PR target/63764
3894 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3895 return type to bool.
c9ed79de 3896 * c-common.c: Include gimple-expr.h.
c61ef207 3897 (convert_vector_to_pointer_for_subscript): Change return type to
3898 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3899 and copy it into a TARGET_EXPR and use that instead of *vecp
3900 directly.
3901
1a91d914 39022014-11-19 David Malcolm <dmalcolm@redhat.com>
3903
3904 Merger of git branch "gimple-classes-v2-option-3".
3905 * ChangeLog.gimple-classes: New.
3906 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3907 from being just a vec<gimple> to a vec<gbind *>.
3908
f8fc8b8e 39092014-11-18 Jakub Jelinek <jakub@redhat.com>
3910
3911 PR sanitizer/63813
3912 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3913 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3914 get_pointer_alignment for non-pointers. Use ptype, or if it is
3915 reference type, corresponding pointer type, as type of kind
3916 argument.
3917 (ubsan_maybe_instrument_reference,
3918 ubsan_maybe_instrument_member_call): Adjust callers.
3919
8315e35e 39202014-11-15 Marek Polacek <polacek@redhat.com>
3921
3922 PR middle-end/63884
3923 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3924 for NULL fndecl.
3925 (extract_array_notation_exprs): Return for NULL node.
3926
86b9f14b 39272014-11-12 Joseph Myers <joseph@codesourcery.com>
3928
3929 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3930 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3931
0c93c8a9 39322014-11-12 Jakub Jelinek <jakub@redhat.com>
3933
3934 PR c/59708
3935 * c-common.c (check_builtin_function_arguments): Handle
3936 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3937
fdd735a7 39382014-11-10 Andi Kleen <ak@linux.intel.com>
3939
3940 PR c/60804
3941 * c-common.h (check_no_cilk): Declare.
3942 * cilk.c (get_error_location): New function.
3943 (check_no_cilk): Dito.
3944
5cb678b4 39452014-11-10 Andi Kleen <ak@linux.intel.com>
3946
3947 * cilk.c (recognize_spawn): Use expression location
3948 for error message.
3949
0feb4de1 39502014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3951
3952 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3953
3aa2fa44 39542014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3955
3956 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3957 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3958 (__cpp_range_based_for, __cpp_initializer_lists,
3959 __cpp_delegating_constructors, __cpp_nsdmi,
3960 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3961 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3962 __has_cpp_attribute.
3963 * c-lex.c (cb_has_attribute): New callback CPP function;
3964 (init_c_lex): Set has_attribute callback.
3965
7fd22aae 39662014-11-04 Richard Biener <rguenther@suse.de>
3967
3968 * c-common.c (shorten_compare): Do not shorten mixed
3969 DFP and non-DFP compares.
3970
4af203ac 39712014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3972
3973 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3974 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3975 Commentary and rearrangement of tests.
3976 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3977 Commentary and rearrangement of tests.
3978 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3979 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3980
3754d046 39812014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3982
3983 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3984 enum from machine_mode.
3985
1140c305 39862014-10-28 Andrew MacLeod <amacleod@redhat.com>
3987
1f78217c 3988 * c-common.c: Adjust include files.
3989 * c-gimplify.c: Ditto.
3990 * cilk.c: Ditto.
3991 * c-pragma.c: Ditto.
3992 * c-ubsan.c: Ditto.
1140c305 3993
94ea8568 39942014-10-27 Andrew MacLeod <amacleod@redhat.com>
3995
3996 * c-gimplify.c: Adjust include files.
3997
32ecf960 39982014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3999
4000 PR c++/53061
4001 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
4002 c_common_initialize_diagnostics.
4003 * c-common.h: Likewise.
4004
85fecbe2 40052014-10-24 Marek Polacek <polacek@redhat.com>
4006
4007 PR c/56980
4008 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
4009 print "struct"/"union"/"enum" for typedefed names.
4010
e7ec033a 40112014-10-23 Marek Polacek <polacek@redhat.com>
4012
4013 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
4014 in unsigned type.
4015
c2598081 40162014-10-22 Jakub Jelinek <jakub@redhat.com>
4017 Yury Gribov <y.gribov@samsung.com>
4018
4019 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4020 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
4021 instead of flag_sanitize_recover as bool flag.
4022
acebb7e2 40232014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
4024
4025 * cilk.c: Revert previous change.
4026
6115016c 40272014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
4028
4029 PR c/63307
4030 * cilk.c: Include vec.h.
4031 (struct cilk_decls): New structure.
4032 (wrapper_parm_cb): Split this function to...
4033 (fill_decls_vec): ...this...
4034 (create_parm_list): ...and this.
4035 (compare_decls): New function.
4036 (for_local_cb): Remove.
4037 (wrapper_local_cb): Ditto.
4038 (build_wrapper_type): For now first traverse and fill vector of
4039 declarations then sort it and then deal with sorted vector.
4040 (cilk_outline): Ditto.
4041 (declare_one_free_variable): Ditto.
4042
e610d2b2 40432014-10-17 Marek Polacek <polacek@redhat.com>
4044
4045 * c-opts.c (c_common_post_options): Set warn_implicit_int.
4046 * c.opt (Wimplicit-int): Initialize to -1.
4047
a3020f2f 40482014-10-16 Andrew MacLeod <amacleod@redhat.com>
4049
4050 * c-pragma.c: Adjust include files.
4051 * c-semantics.c: Likewise.
4052
926ddd2c 40532014-10-16 DJ Delorie <dj@redhat.com>
4054
4055 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
4056 multiples of bytes.
4057
b0542e7c 40582014-10-14 Jason Merrill <jason@redhat.com>
4059
4060 PR c++/63455
4061 * c-common.h (CPP_PREPARSED_EXPR): New.
4062 (N_CP_TTYPES): Adjust.
4063
b2601928 40642014-10-15 Marek Polacek <polacek@redhat.com>
4065
4066 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
4067
9f75f026 40682014-10-14 DJ Delorie <dj@redhat.com>
4069
4070 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
4071 types, not just __int128.
4072 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
4073 types, not just __int128.
4074 (cpp_atomic_builtins): Round pointer sizes up.
4075 (type_suffix): Use type precision, not specific types.
4076 * c-common.c (c_common_reswords): Remove __int128 special case.
4077 (c_common_type_for_size): Check for all __intN types, not just
4078 __int128.
4079 (c_common_type_for_mode): Likewise.
4080 (c_common_signed_or_unsigned_type): Likewise.
4081 (c_build_bitfield_integer_type): Likewise.
4082 (c_common_nodes_and_builtins): Likewise.
4083 (keyword_begins_type_specifier): Likewise.
4084 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
4085 __intN variants.
4086
2ef51f0e 40872014-10-12 Trevor Saunders <tsaunders@mozilla.com>
4088
4089 * c-common.c: Use hash_table instead of hashtab.
4090
5b8257e3 40912014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4092
1f78217c 4093 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 4094 C++11 section.
4095
5e84569c 40962014-10-03 Marc Glisse <marc.glisse@inria.fr>
4097
4098 PR c++/54427
4099 PR c++/57198
4100 PR c++/58845
4101 * c-common.c (warn_logical_operator): Punt for vectors.
4102
f6751ff2 41032014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4104
4105 Implement SD-6: SG10 Feature Test Recommendations
4106 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
4107 macros and the __has_header macro.
4108
c33e051d 41092014-09-30 Jason Merrill <jason@redhat.com>
4110
f76a9aa8 4111 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
4112 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
4113 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4114
717e52f9 4115 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
4116 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4117
c33e051d 4118 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
4119 * c-common.c (c_common_reswords): Remove __is_convertible_to.
4120
5213d6c9 41212014-09-24 Marek Polacek <polacek@redhat.com>
4122
4123 PR c/61405
4124 PR c/53874
4125 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
4126
6b722052 41272014-09-23 Andi Kleen <ak@linux.intel.com>
4128
4129 * c-common.c (handle_no_reorder_attribute): New function.
4130 (c_common_attribute_table): Add no_reorder attribute.
4131
0cb69d12 41322014-09-22 Joseph Myers <joseph@codesourcery.com>
4133
4134 * c-cppbuiltin.c (c_cpp_builtins): Define
4135 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
4136 modes.
4137
168dfbf0 41382014-09-18 Joseph Myers <joseph@codesourcery.com>
4139
4140 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
4141 for supported floating-point modes.
4142
b83705f4 41432014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4144
4145 * c.opt (Wpsabi): Use LangEnabledBy.
4146 * c-opts.c (c_common_handle_option): Do not handle here.
4147
d5957f0d 41482014-09-12 Joseph Myers <joseph@codesourcery.com>
4149
4150 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
4151 macros for floating-point modes.
4152
bae6edff 41532014-09-11 Marc Glisse <marc.glisse@inria.fr>
4154
4155 PR target/58757
4156 * c-cppbuiltin.c (builtin_define_float_constants): Correct
4157 __*_DENORM_MIN__ without denormals.
4158
73a69d02 41592014-09-10 Jakub Jelinek <jakub@redhat.com>
4160
4161 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4162 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4163 ubsan_create_data callers.
4164 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
4165 index is constant or BIT_AND_EXPR with constant mask and is
4166 small enough for the bound.
4167 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
4168 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
4169
7ff8db31 41702014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4171
4172 * c.opt: Add CppReason to various flags.
4173 (Wdate-time): Re-sort.
4174 * c-common.c: Include c-common.h earlier.
4175 (struct reason_option_codes_t): Delete.
4176 (c_option_controlling_cpp_error): Prefix global type and struct
4177 with cpp_.
4178
bcc1f37e 41792014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4180
4181 * c.opt (Wnormalized): New.
4182 (Wnormalized=): Use Enum and Reject Negative.
4183 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
4184
b660d3c6 41852014-09-08 Joseph Myers <joseph@codesourcery.com>
4186
4187 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
4188 digits of floating-point modes if -fbuilding-libgcc.
4189
325b8c3c 41902014-09-05 Joseph Myers <joseph@codesourcery.com>
4191
4192 * c-cppbuiltin.c (c_cpp_builtins): Also define
4193 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
4194 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
4195 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
4196 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
4197 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
4198 __LIBGCC_STACK_GROWS_DOWNWARD__,
4199 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
4200 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
4201 __LIBGCC_DWARF_FRAME_REGISTERS__,
4202 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
4203 __LIBGCC_STACK_POINTER_REGNUM__ and
4204 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
4205 (builtin_define_with_value): Handle backslash-escaping in string
4206 macro values.
4207
1e074e77 42082014-09-05 Richard Biener <rguenther@suse.de>
4209
4210 PR middle-end/63148
4211 * c-format.c (check_format_arg): Properly handle
4212 effectively signed POINTER_PLUS_EXPR offset.
4213
04afd878 42142014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4215
4216 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
4217 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
4218 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
4219 and Init.
4220 * c-opts.c (c_common_handle_option): Do not handle here.
4221 (sanitize_cpp_opts): Likewise.
4222 * c-common.c (struct reason_option_codes_t): Handle
4223 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
4224
a3f448f0 42252014-09-03 Marek Polacek <polacek@redhat.com>
4226
4227 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
4228
40750995 42292014-09-02 Jakub Jelinek <jakub@redhat.com>
4230 Balaji V. Iyer <balaji.v.iyer@intel.com>
4231 Igor Zamyatin <igor.zamyatin@intel.com>
4232
4233 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
4234 * c-common.c (c_common_reswords): Added _Cilk_for.
4235 * c-common.h (enum rid): Added RID_CILK_FOR.
4236 (cilk_for_number_of_iterations): Add declaration.
4237 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
4238 CILK_FOR.
4239 * c-pragma.c (init_pragma): Register "grainsize" pragma.
4240 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
4241
f0fbe519 42422014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4243
4244 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
4245 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
4246 Wundef): Use CPP, Var and Init.
4247 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
4248
a7d2e480 42492014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4250
4251 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
4252 * c-opts.c (c_common_handle_option): Do not handle here.
4253
c35e53f1 42542014-08-25 Jason Merrill <jason@redhat.com>
4255
4256 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
4257 -std=c++14 and -std=gnu++14, rather than the reverse.
4258 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
4259 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
4260 * c-common.h (cxx_dialect): Remove cxx1y.
4261
4e454776 42622014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
4263
4264 * c-common.h (enum cxx_dialect): Add cxx14.
4265 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
4266 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
4267 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
4268
af1a80f2 42692014-08-22 Jason Merrill <jason@redhat.com>
4270
4271 * c.opt (std=gnu++17): Fix alias.
4272
dc6229e8 42732014-08-22 Marek Polacek <polacek@redhat.com>
4274
4275 PR c++/62199
4276 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
4277 check for vector types. Drop LHS argument.
4278 * c-common.h (warn_logical_not_parentheses): Adjust.
4279
ba7f7c88 42802014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4281
4282 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4283 (Wmultichar): Likewise.
4284 (Wdate-time): Use C-family languages instead of Common. Use CPP
4285 and Var.
4286 * c-opts.c (c_common_handle_option): Do not handle the above
4287 options here.
4288 (sanitize_cpp_opts): Likewise.
4289
399d4f80 42902014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4291
4292 PR fortran/44054
4293 * c-opts.c: Include tree-diagnostics.h.
4294 (c_diagnostic_finalizer): New.
4295 (c_common_initialize_diagnostics): Use it.
4296
1babed5f 42972014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4298
4299 PR preprocessor/51303
4300 * c-common.c (struct reason_option_codes_t option_codes):
4301 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4302
3636964b 43032014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4304
4305 PR c/60975
4306 PR c/53063
4307 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4308 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4309 (c_common_post_options): Call init_global_opts_from_cpp.
4310 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4311
78bf4156 43122014-08-19 Marek Polacek <polacek@redhat.com>
4313
4314 PR c++/62153
4315 * c-common.c (maybe_warn_bool_compare): New function.
4316 * c-common.h (maybe_warn_bool_compare): Declare.
4317 * c.opt (Wbool-compare): New option.
4318
508ea33a 43192014-08-19 Marek Polacek <polacek@redhat.com>
4320
4321 * c.opt (Wc99-c11-compat): New option.
4322
806fe15e 43232014-08-19 Marek Polacek <polacek@redhat.com>
4324
4325 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4326 to warn_c90_c99_compat.
4327 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4328 to -1.
4329
6c867de1 43302014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
4331 Steven Bosscher <steven@gcc.gnu.org>
4332
4333 PR c/52952
4334 * c-format.c: Add extra_arg_loc and format_string_loc to struct
4335 format_check_results.
4336 (check_function_format): Use true and add comment for boolean
4337 argument.
4338 (finish_dollar_format_checking): Use explicit location when warning.
4339 (check_format_info): Likewise.
4340 (check_format_arg): Set extra_arg_loc and format_string_loc.
4341 (check_format_info_main): Use explicit location when warning.
4342 (check_format_types): Pass explicit location.
4343 (format_type_warning): Likewise.
4344
dc8078a3 43452014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4346
4347 PR fortran/44054
4348 * c-format.c: Handle Fortran flags.
4349
d271ec7e 43502014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
4351
4352 PR other/61962
4353 * array-notation-common.c (find_rank): Added handling for other
4354 types of references.
4355
890c2e2f 43562014-08-10 Marek Polacek <polacek@redhat.com>
4357
4358 PR c/51849
4359 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4360 * c.opt (Wc90-c99-compat): Add option.
4361
7149db5f 43622014-08-07 Trevor Saunders <tsaunders@mozilla.com>
4363
4364 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4365
2d2f6a15 43662014-08-03 Marek Polacek <polacek@redhat.com>
4367
4368 * c-common.c (check_case_value): Add location_t parameter. Use it.
4369 (c_add_case_label): Pass loc to check_case_value.
4370
06ecf488 43712014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4372
4373 * cilk.c: Use hash_map instead of pointer_map.
4374
431205b7 43752014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4376
4377 * c-gimplify.c: Use hash_set instead of pointer_set.
4378
3394c80c 43792014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
4380
4381 PR middle-end/61455
4382 * array-notation-common.c (extract_array_notation_exprs): Handling
4383 of DECL_EXPR added.
4384
392dee1e 43852014-08-01 Jakub Jelinek <jakub@redhat.com>
4386
4387 * c-common.h (min_align_of_type): Removed prototype.
4388 * c-common.c (min_align_of_type): Removed.
4389 * c-ubsan.h (ubsan_maybe_instrument_reference,
4390 ubsan_maybe_instrument_member_call): New prototypes.
4391 * c-ubsan.c: Include stor-layout.h and builtins.h.
4392 (ubsan_maybe_instrument_reference_or_call,
4393 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4394 functions.
4395
f22a2cb7 43962014-07-31 Marc Glisse <marc.glisse@inria.fr>
4397
4398 PR c++/60517
4399 * c.opt (-Wreturn-local-addr): Move to common.opt.
4400
87b0198f 44012014-07-30 Jason Merrill <jason@redhat.com>
4402
4403 PR c++/61659
4404 PR c++/61687
4405 Revert:
4406 * c.opt (-fuse-all-virtuals): New.
4407
74691f46 44082014-07-30 Tom Tromey <tromey@redhat.com>
4409
4410 PR c/59855
4411 * c.opt (Wdesignated-init): New option.
4412 * c-common.c (c_common_attribute_table): Add "designated_init".
4413 (handle_designated_init): New function.
4414
9140d56f 44152014-07-24 Marek Polacek <polacek@redhat.com>
4416
4417 PR c/57653
4418 * c-opts.c (c_finish_options): If -imacros is in effect, return.
4419
a09c5cc2 44202014-07-16 Dodji Seketeli <dodji@redhat.com>
4421
4422 PR preprocessor/60723 - missing system-ness marks for macro tokens
4423 * c-ppoutput.c (struct print::prev_was_system_token): New data
4424 member.
4425 (init_pp_output): Initialize it.
4426 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4427 (do_line_change): Return a flag saying if a line marker was
4428 emitted or not.
4429 (scan_translation_unit): Detect if the system-ness of the token we
4430 are about to emit is different from the one of the previously
4431 emitted token. If so, emit a line marker. Avoid emitting useless
4432 adjacent line markers. Avoid emitting line markers for tokens
4433 originating from the expansion of built-in macros.
4434 (scan_translation_unit_directives_only): Adjust.
4435
2b25b62f 44362014-07-15 Marek Polacek <polacek@redhat.com>
4437
4438 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4439 TYPE_MAX_VALUE is NULL.
4440
305d96bc 44412014-07-14 Jakub Jelinek <jakub@redhat.com>
4442
4443 PR middle-end/61294
4444 * c.opt (Wmemset-transposed-args): New warning.
4445
8ea4660d 44462014-07-10 Jason Merrill <jason@redhat.com>
4447
4448 PR c++/61659
4449 PR c++/61687
4450 * c.opt (-fuse-all-virtuals): New.
4451
cd480f3d 44522014-07-09 Richard Biener <rguenther@suse.de>
4453
4454 PR c-family/61741
4455 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4456 using unsigned arithmetic if overflow does not wrap instead of
4457 if overflow is undefined.
4458
87d59e72 44592014-07-06 Marek Polacek <polacek@redhat.com>
4460
4461 PR c/6940
4462 * c.opt (Wsizeof-array-argument): New option.
4463
d69521d8 44642014-07-03 Jakub Jelinek <jakub@redhat.com>
4465
8204c077 4466 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 4467 comments->count <= 1, as comments->entries might be NULL.
4468
1207866e 44692014-07-01 Marek Polacek <polacek@redhat.com>
4470
4471 * c.opt (Wint-conversion): New option.
4472
7a6bbb76 44732014-07-01 Marek Polacek <polacek@redhat.com>
4474
4475 PR c/58286
4476 * c.opt (Wincompatible-pointer-types): New option.
4477
9d4eeb52 44782014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
4479
4480 PR c++/51400
4481 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4482 Do not discard TYPE_QUALS of type.
4483
4b53bc0f 44842014-06-26 Jason Merrill <jason@redhat.com>
4485
4486 * c-common.h (enum cxx_dialect): Add cxx1z.
4487 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4488 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4489
a8a8d4ea 44902014-06-26 Teresa Johnson <tejohnson@google.com>
4491
4492 * c-common.h (get_dump_info): Declare.
4493 * c-gimplify.c (c_genericize): Use saved dump files.
4494 * c-opts.c (c_common_parse_file): Begin and end dumps
4495 once around parsing invocation.
4496 (get_dump_info): New function.
4497
1f6be080 44982014-06-23 Marek Polacek <polacek@redhat.com>
4499 Andrew MacLeod <amacleod@redhat.com>
4500
4501 PR c/61553
4502 * c-common.c (get_atomic_generic_size): Don't segfault if the
4503 type doesn't have a size.
4504
5ef6b660 45052014-06-20 Marek Polacek <polacek@redhat.com>
4506
4507 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4508 (ubsan_walk_array_refs_r): New function.
4509 (c_genericize): Instrument array bounds.
4510 * c-ubsan.c: Include "internal-fn.h".
4511 (ubsan_instrument_division): Mark instrumented arrays as having
4512 side effects. Adjust ubsan_type_descriptor call.
4513 (ubsan_instrument_shift): Likewise.
4514 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4515 (ubsan_instrument_bounds): New function.
4516 (ubsan_array_ref_instrumented_p): New function.
4517 (ubsan_maybe_instrument_array_ref): New function.
4518 * c-ubsan.h (ubsan_instrument_bounds): Declare.
4519 (ubsan_array_ref_instrumented_p): Declare.
4520 (ubsan_maybe_instrument_array_ref): Declare.
4521
45222014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 4523
4524 PR lto/61123
4525 * c.opt (fshort-enums): Add to LTO.
4526 * c.opt (fshort-wchar): Likewise.
4527
78438f31 45282014-06-16 Marek Polacek <polacek@redhat.com>
4529
4530 PR c/60439
4531 * c.opt (Wswitch-bool): Add Var.
4532
5fddcf34 45332014-06-12 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR middle-end/61486
4536 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4537 #pragma omp target teams or
4538 #pragma omp {,target }teams distribute simd.
4539
74b777e5 45402014-06-12 Jason Merrill <jason@redhat.com>
4541
4542 * c.opt (Wabi=, fabi-compat-version): New.
4543 * c-opts.c (c_common_handle_option): Handle -Wabi=.
4544 (c_common_post_options): Handle flag_abi_compat_version default.
4545 Disallow -fabi-compat-version=1.
4546 * c-common.h (abi_version_crosses): New.
4547
738a6bda 45482014-06-11 Jan Hubicka <hubicka@ucw.cz>
4549
1f78217c 4550 * c-common.c (handle_section_attribute): Update handling for
738a6bda 4551 section names that are no longer trees.
4552
cf5f881f 45532014-06-10 Jakub Jelinek <jakub@redhat.com>
4554
4555 PR fortran/60928
4556 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4557 (omp_pragmas): ... back here.
4558
32dc1512 45592014-06-05 Marek Polacek <polacek@redhat.com>
4560
4561 PR c/49706
4562 * c-common.c (warn_logical_not_parentheses): New function.
4563 * c-common.h (warn_logical_not_parentheses): Declare.
4564 * c.opt (Wlogical-not-parentheses): New option.
4565
f61a9bc2 45662014-06-04 Marek Polacek <polacek@redhat.com>
4567
4568 PR c/30020
4569 * c-common.c (check_case_bounds): Add location parameter.
4570 Use it.
4571 (c_add_case_label): Pass loc to check_case_bounds.
4572
c69ec07d 45732014-06-03 Marek Polacek <polacek@redhat.com>
4574
4575 PR c/60439
4576 * c.opt (Wswitch-bool): New option.
4577
3c77ca67 45782014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4579
68a2c870 4580 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4581 Remove prototypes.
4582 (record_types_used_by_current_var_decl): Move prototype to where
4583 it belongs.
4584
3c77ca67 4585 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4586 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4587 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4588
3ab4693e 45892014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4590
4591 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4592 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4593 void_zero_node.
4594 * c-pretty-print.c (pp_c_void_constant): New function.
4595 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4596 (c_pretty_printer::expression): Handle VOID_CST.
4597 * cilk.c (extract_free_variables): Likewise.
4598 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4599 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4600
25a27413 46012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4602
4603 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4604 * c-pragma.c (push_alignment): Adjust.
4605 (handle_pragma_push_options): Likewise.
4606
3e5a8b00 46072014-05-09 Marek Polacek <polacek@redhat.com>
4608
4609 PR c/50459
4610 * c-common.c (check_user_alignment): Return -1 if alignment is error
4611 node.
4612 (handle_aligned_attribute): Don't call default_conversion on
4613 FUNCTION_DECLs.
4614 (handle_vector_size_attribute): Likewise.
4615 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4616 (handle_sentinel_attribute): Call default_conversion and allow even
4617 integral types as an argument.
4618
c2c4ae8d 46192014-05-08 Marek Polacek <polacek@redhat.com>
4620
4621 PR c/61053
4622 * c-common.c (min_align_of_type): New function factored out from...
4623 (c_sizeof_or_alignof_type): ...here.
4624 * c-common.h (min_align_of_type): Declare.
4625
2026249a 46262014-05-08 Marek Polacek <polacek@redhat.com>
4627
4628 PR c/61077
4629 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4630 parameter type of main.
4631
33c8dcfe 46322014-05-07 DJ Delorie <dj@redhat.com>
4633
4634 * c-cppbuiltin.c (print_bits_of_hex): New.
4635 (builtin_define_type_minmax): Print values using hex so as not to
4636 require a pre-computed list of string values.
4637
960d5a55 46382014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4639 Mike Stump <mikestump@comcast.net>
4640 Richard Sandiford <rdsandiford@googlemail.com>
4641
4642 * c-ada-spec.c: Include wide-int.h.
4643 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4644 (dump_generic_ada_node): Use wide-int interfaces.
4645 * c-common.c: Include wide-int-print.h.
4646 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4647 (pointer_int_sum): Use wide-int interfaces.
4648 (c_common_nodes_and_builtins): Use make_int_cst.
4649 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4650 (handle_alloc_size_attribute): Use wide-int interfaces.
4651 (get_nonnull_operand): Likewise.
4652 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4653 * c-lex.c: Include wide-int.h.
4654 (narrowest_unsigned_type): Take a widest_int rather than two
4655 HOST_WIDE_INTs.
4656 (narrowest_signed_type): Likewise.
4657 (interpret_integer): Update accordingly. Use wide-int interfaces.
4658 (lex_charconst): Use wide-int interfaces.
4659 * c-pretty-print.c: Include wide-int.h.
4660 (pp_c_integer_constant): Use wide-int interfaces.
4661 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4662 INT_CST_LT_UNSIGNED.
4663
bbb88b31 46642014-05-06 Richard Biener <rguenther@suse.de>
4665
4666 * c-opts.c (c_common_post_options): For -freestanding,
4667 -fno-hosted and -fno-builtin disable pattern recognition
4668 if not enabled explicitely.
4669
022d4718 46702014-05-02 Marek Polacek <polacek@redhat.com>
4671
4672 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4673
e4ab2ef3 46742014-05-01 Marek Polacek <polacek@redhat.com>
4675
4676 PR c/43245
4677 * c.opt (Wdiscarded-qualifiers): Add.
4678
52cc0072 46792014-04-30 Marek Polacek <polacek@redhat.com>
4680
4681 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4682 INT_MIN / -1 sanitization only for integer types.
4683
4a026b48 46842014-04-25 Marek Polacek <polacek@redhat.com>
4685
4686 PR c/18079
4687 * c-common.c (handle_noinline_attribute): Warn if the attribute
4688 conflicts with always_inline attribute.
4689 (handle_always_inline_attribute): Warn if the attribute conflicts
4690 with noinline attribute.
4691
90e645fa 46922014-04-25 Marek Polacek <polacek@redhat.com>
4693
4694 PR c/60156
4695 * c-common.c (check_main_parameter_types): Warn about variadic main.
4696
db103ea4 46972014-04-24 Mike Stump <mikestump@comcast.net>
4698
4699 * c.opt (Wshadow-ivar): Default to on.
4700
06511efd 47012014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4702
4703 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4704
cdf34fca 47052014-04-23 Marek Polacek <polacek@redhat.com>
4706
4707 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4708
7311d7c1 47092014-04-22 Jakub Jelinek <jakub@redhat.com>
4710
4711 PR sanitizer/60275
4712 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4713 if flag_sanitize_undefined_trap_on_error.
4714 (ubsan_instrument_division, ubsan_instrument_shift,
4715 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4716 if !flag_sanitize_recover.
4717
c1917557 47182014-04-22 Marc Glisse <marc.glisse@inria.fr>
4719
4720 PR libstdc++/43622
4721 * c-common.c (registered_builtin_types): Make non-static.
4722 * c-common.h (registered_builtin_types): Declare.
4723
b2ca6510 47242014-04-14 Richard Biener <rguenther@suse.de>
4725 Marc Glisse <marc.glisse@inria.fr>
4726
4727 PR c/60819
4728 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4729 apply may-alias the scalar pointer type when applicable.
4730
855372a3 47312014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4732
4733 PR middle-end/60467
4734 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4735 as possible argument for Cilk_spawn.
4736
4012a986 47372014-04-11 Tobias Burnus <burnus@net-b.de>
4738
4739 PR c/60194
4740 * c.opt (Wformat-signedness): Add
4741 * c-format.c(check_format_types): Use it.
4742
0d284870 47432014-04-11 Jason Merrill <jason@redhat.com>
4744
4745 PR c++/57926
4746 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4747 default_conversion for an array argument.
4748
a34c1231 47492014-04-08 Marek Polacek <polacek@redhat.com>
4750
4751 PR sanitizer/60745
4752 * c-ubsan.c: Include asan.h.
4753 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4754
a35a8e18 47552014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4756
4757 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4758
b23e42b6 47592014-04-02 Marek Polacek <polacek@redhat.com>
4760
4761 * c-common.h (c_expand_expr): Remove declaration.
4762
5a672e62 47632014-03-28 Jakub Jelinek <jakub@redhat.com>
4764
4765 PR c++/60689
4766 * c-common.c (add_atomic_size_parameter): When creating new
4767 params vector, push the size argument first.
4768
d4d068c0 47692014-03-26 Jakub Jelinek <jakub@redhat.com>
4770
4771 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4772 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4773 ubsan_create_data callers.
4774
446bdf5f 47752014-03-22 Jakub Jelinek <jakub@redhat.com>
4776
4777 PR debug/60603
4778 * c-opts.c (c_finish_options): Restore cb_file_change call to
4779 <built-in>.
4780
8895f0a3 47812014-03-13 Jakub Jelinek <jakub@redhat.com>
4782
4783 PR middle-end/36282
4784 * c-pragma.c (apply_pragma_weak): Only look at
4785 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4786 DECL_ASSEMBLER_NAME_SET_P (decl).
4787 (maybe_apply_pending_pragma_weaks): Exit early if
4788 vec_safe_is_empty (pending_weaks) rather than only when
4789 !pending_weaks.
4790 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4791 set assembler name back to NULL afterwards.
4792
7a5da2cd 47932014-03-11 Jason Merrill <jason@redhat.com>
4794
4795 * c.opt: Add -std=gnu++14.
4796
95093889 47972014-03-11 Ian Bolton <ian.bolton@arm.com>
4798
4799 * c-opts.c (c_common_post_options): Don't override
4800 -ffp-contract=fast if unsafe-math-optimizations is on.
4801
c9a24b37 48022014-03-08 Paulo Matos <paulo@matos-sorge.com>
4803
9b8f3aa1 4804 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 4805
3f6dba6e 48062014-03-07 Jason Merrill <jason@redhat.com>
4807
4808 * c.opt: Add -std=c++14.
4809
3bfdc94f 48102014-03-06 Marek Polacek <polacek@redhat.com>
4811
4812 PR c/60197
4813 * cilk.c (contains_cilk_spawn_stmt): New function.
4814 (contains_cilk_spawn_stmt_walker): Likewise.
4815 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4816 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4817
8b3a6a4c 48182014-03-03 Jakub Jelinek <jakub@redhat.com>
4819
4820 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4821 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4822 even when flag_preprocess_only.
4823
734ec290 48242014-02-26 Jason Merrill <jason@redhat.com>
4825
4826 PR c++/59231
4827 PR c++/11586
4828 * c-common.c (shorten_compare): Don't check
4829 c_inhibit_evaluation_warnings.
4830
81aec8b8 48312014-02-19 Jakub Jelinek <jakub@redhat.com>
4832
d1081017 4833 PR c/37743
4834 * c-common.c (c_common_nodes_and_builtins): When initializing
4835 c_uint{16,32,64}_type_node, also set corresponding
4836 uint{16,32,64}_type_node to the same value.
4837
81aec8b8 4838 PR c++/60267
4839 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4840 for PRAGMA_IVDEP if flag_preprocess_only.
4841
312243bb 48422014-02-12 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR c/60101
4845 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4846 if false, add ADD itself, rather than vice versa.
4847 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4848 copy. For SAVE_EXPR, only call merge_tlist once.
4849
237e78b1 48502014-02-08 Jakub Jelinek <jakub@redhat.com>
4851
4852 PR middle-end/60092
4853 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4854 and tree_to_uhwi.
4855 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4856 functions.
4857 (c_common_attribute_table): Add alloc_align and assume_aligned
4858 attributes.
4859
76fdceeb 48602014-02-06 Marek Polacek <polacek@redhat.com>
4861
4862 PR c/60087
4863 * c-common.c (warn_for_sign_compare): Call warning_at with location
4864 instead of warning.
4865
4a4dea42 48662014-02-05 Marek Polacek <polacek@redhat.com>
4867
4868 PR c/53123
4869 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4870 statement.
4871
ec704957 48722014-02-04 Marek Polacek <polacek@redhat.com>
4873
4874 PR c/60036
4875 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4876 SAVE_EXPR.
4877
caf62483 48782014-02-03 Marc Glisse <marc.glisse@inria.fr>
4879
4880 PR c++/53017
4881 PR c++/59211
4882 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4883 handle_vector_size_attribute, handle_nonnull_attribute): Call
4884 default_conversion on the attribute argument.
4885 (handle_nonnull_attribute): Increment the argument number.
4886
ec761d5a 48872014-01-31 Marek Polacek <polacek@redhat.com>
4888
4889 PR c/59963
4890 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4891 build_function_call_vec.
4892 (resolve_overloaded_builtin): Likewise.
4893 * c-common.h (build_function_call_vec): Adjust declaration.
4894
22a75734 48952014-01-30 Marek Polacek <polacek@redhat.com>
4896
4897 PR c/59940
4898 * c-common.h (unsafe_conversion_p): Adjust declaration.
4899 (warnings_for_convert_and_check): Likewise.
4900 (convert_and_check): Likewise.
4901 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4902 expansion_point_location_if_in_system_header on it.
4903 (warnings_for_convert_and_check): Add location parameter. Call
4904 expansion_point_location_if_in_system_header on it. Use it.
4905 (convert_and_check): Add location parameter. Use it.
4906 (conversion_warning): Likewise.
4907 (c_add_case_label): Adjust convert_and_check calls.
4908 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4909
a89e6c15 49102014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4911
4912 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4913 flag_cilkplus.
4914 * c-pragma.c (init_pragma): Likewise.
4915 * c.opt: Likewise.
4916
2623625f 49172014-01-23 Marek Polacek <polacek@redhat.com>
4918
4919 PR c/59846
4920 * c-common.c (shorten_compare): Add location_t parameter.
4921 * c-common.h (shorten_binary_op): Adjust declaration.
4922
46da3601 49232014-01-23 Marek Polacek <polacek@redhat.com>
4924
4925 PR c/58346
4926 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4927 * c-common.h: Declare it.
4928
c9743c6a 49292014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4930
4931 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4932 * c-ada-spec.c (dump_ads): Likewise.
4933 (cpp_check): Likewise.
4934 (dump_ada_specs): Likewise.
4935
49362014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 4937
4938 PR c++/49718
4939 * c-common.c (handle_no_instrument_function_attribute): Allow
4940 no_instrument_function attribute in class member
4941 definition/declaration.
4942
1248c663 49432014-01-15 Jakub Jelinek <jakub@redhat.com>
4944
4945 PR c/58943
4946 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4947 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4948 being COMPOUND_EXPR.
4949 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4950 operand a SAVE_EXPR and second MODIFY_EXPR.
4951
6e5c480b 49522014-01-09 Jakub Jelinek <jakub@redhat.com>
4953
4954 PR target/58115
4955 * c-pch.c (c_common_write_pch): Call
4956 prepare_target_option_nodes_for_pch.
4957
3aea1f79 49582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4959
4960 Update copyright years
4961
e4f22041 49622014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4963
4964 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4965 the copyright notice.
4966
7fb0fe24 49672013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4968
4969 * c-ada-spec.c (print_constructor): New function.
4970 (print_destructor): Retrieve the origin of the destructor.
4971 (print_ada_declaration): Revamp handling of constructors/destructors.
4972
92a44a68 49732013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 4974 Bill Maddox <maddox@google.com>
4975 Jason Merrill <jason@redhat.com>
4976
4977 * c.opt: Add -fdeclone-ctor-dtor.
4978 * c-opts.c (c_common_post_options): Default to on iff -Os.
4979
74acc703 49802013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4981
4982 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4983 attribute.
4984 * c-pragma.h (enum pragma_cilk_clause): Remove.
4985 (enum pragma_omp_clause): Added the following fields:
4986 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4987 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4988 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4989 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4990 PRAGMA_CILK_CLAUSE_UNIFORM.
4991
8204c077 4992
433e804e 49932013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4994
4995 * cilk.c (cilk_outline): Made this function non-static.
4996 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4997 (create_cilk_wrapper): Added a new parameter: a function pointer.
4998 (c_install_body_w_frame_cleanup): Remove
4999 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
5000 * c-common.h (cilk_outline): New prototype.
5001 (gimplify_cilk_spawn): Removed two parameters.
5002 (cilk_install_body_with_frame_cleanup): New prototype.
5003 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
5004 CILK_SPAWN_STMT case.
5005
5bcc7e60 50062013-12-11 Bernd Schmidt <bernds@codesourcery.com>
5007
e66325ea 5008 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
5009
5bcc7e60 5010 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
5011 (int_array_type_node): Remove.
5012 * c-common.c (c_common_nodes_and_builtins): Don't build it.
5013
0b26ec77 50142013-12-05 Marek Polacek <polacek@redhat.com>
5015
5016 PR c/52023
5017 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
5018 [ADJUST_FIELD_ALIGN].
5019
a179a7dc 50202013-12-04 Joseph Myers <joseph@codesourcery.com>
5021
5022 PR c/52023
5023 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
5024 and check field alignment if set.
5025 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
5026 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
5027
8204c077 50282013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 5029 Marek Polacek <polacek@redhat.com>
5030
5031 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
5032 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
5033
648fd348 50342013-11-29 H.J. Lu <hongjiu.lu@intel.com>
5035
5036 PR c/59309
5037 * cilk.c (gimplify_cilk_spawn): Properly handle function without
5038 arguments.
5039
253e1cae 50402013-11-29 Jakub Jelinek <jakub@redhat.com>
5041
5042 PR c/59280
5043 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
5044 goto invalid. If it is error_mark_node, don't issue further
5045 diagnostics.
5046
3e398f5b 50472013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
5048
5049 * c.opt (Wopenmp-simd): New.
5050
020bc656 50512013-11-22 Jakub Jelinek <jakub@redhat.com>
5052
5053 * c-ubsan.h (ubsan_instrument_return): New prototype.
5054 * c-ubsan.c (ubsan_instrument_return): New function.
5055
bc61cadb 50562013-11-22 Andrew MacLeod <amacleod@redhat.com>
5057
5058 * c-common.c: Add required include files from gimple.h.
5059 * c-gimplify.c: Likewise
5060 * cilk.c: Likewise
5061
3df42822 50622013-11-22 David Malcolm <dmalcolm@redhat.com>
5063
5064 * c-common.c (unsafe_conversion_p): Remove use of
5065 EXPR_LOC_OR_HERE macro.
5066 (conversion_warning): Likewise.
5067 (warnings_for_convert_and_check): Likewise.
5068 (warn_for_collisions_1): Likewise.
5069 (shorten_compare): Likewise, and remove use of in_system_header
5070 macro, using the location from the former.
5071 * c-lex.c (dump_one_header): Remove use of input_filename macro.
5072 (cb_def_pragma): Remove use of in_system_header macro.
5073 (lex_string): Likewise.
5074 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5075
8c53c46c 50762013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5077 Mike Stump <mikestump@comcast.net>
5078 Richard Sandiford <rdsandiford@googlemail.com>
5079
5080 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
5081 instead of TREE_INT_CST_LOW, in cases where there is a protecting
5082 tree_fits_shwi_p or tree_fits_uhwi_p.
5083 (dump_generic_ada_node): Likewise.
5084 * c-format.c (check_format_arg): Likewise.
5085 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5086
5200ef07 50872013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5088
5089 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
5090
ca9d7d74 50912013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
5092
5093 PR c/53001
5094 * c-common.c (unsafe_conversion_p): Make this function
5095 return an enumeration with more detail.
5096 (conversion_warning): Use the new return type of
5097 unsafe_conversion_p to separately warn either about conversions
5098 that lower floating point number precision or about the other
5099 kinds of conversions.
5100 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 5101 (unsafe_conversion_p): switching return type to
5102 conversion_safety enumeration.
ca9d7d74 5103 * c.opt: Adding new warning -Wfloat-conversion and
5104 enabling it with -Wconversion.
5105
0391a567 51062013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
5107
a49621cf 5108 * c-opts.c: Include plugin.h.
5109 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 5110
19b928d9 51112013-11-19 Marek Polacek <polacek@redhat.com>
5112
5113 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
5114 call.
5115 (ubsan_instrument_shift): Likewise.
5116 (ubsan_instrument_vla): Likewise.
5117
aa59f000 51182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5119
5120 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
5121 cast to unsigned type.
5122
08f817b3 51232013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5124
5125 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
5126 tree_low_cst.
5127 (complete_array_type): Update comment to refer to tree_to_[su]hwi
5128 rather than tree_low_cst.
5129
6a0712d4 51302013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5131
5132 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
5133 tree_to_uhwi throughout.
5134
fcb97e84 51352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5136
5137 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
5138 tree_low_cst (..., 0) with tree_to_shwi throughout.
5139
cd4547bf 51402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5141
5142 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
5143 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
5144
35ec552a 51452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5146
5147 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
5148 host_integerp (..., 0) with tree_fits_shwi_p throughout.
5149
f2697631 51502013-11-15 Aldy Hernandez <aldyh@redhat.com>
5151
5152 * c-cilkplus.c: New file.
5153 * c-common.c (readonly_error): Add location argument.
5154 * c-common.h (readonly_error): Same.
5155 (c_finish_cilk_clauses): Protoize.
5156 (c_check_cilk_loop): Same.
5157 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
5158 Do not fail on error_mark_node.
5159 Abstract increment canonicalization to here...
5160 (c_omp_for_incr_canonicalize_ptr): New.
5161 c-pragma.c (init_pragma): Register "simd" pragma.
5162 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
5163 (enum pragma_cilk_clause): New.
5164
0aa8c34e 51652013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
5166
5167 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
5168 wchar_type and host_integerp checks.
5169
e795d6e1 51702013-11-14 Andrew MacLeod <amacleod@redhat.com>
5171
5172 * c-common.c: Likewise.
5173 * c-gimplify.c: Likewise.
5174 * cilk.c: Likewise.
5175
9ed99284 51762013-11-14 Diego Novillo <dnovillo@google.com>
5177
5178 * c-common.c: Include fold-const.h.
5179 Include stor-layout.h.
5180 Include calls.h.
5181 Include stringpool.h.
5182 Include attribs.h.
5183 Include varasm.h.
5184 Include trans-mem.h.
5185 * c-cppbuiltin.c: Include stor-layout.h.
5186 Include stringpool.h.
5187 * c-format.c: Include stringpool.h.
5188 * c-lex.c: Include stringpool.h.
5189 Include stor-layout.h.
5190 * c-pragma.c: Include stringpool.h.
5191 Include attribs.h.
5192 Include varasm.h.
5193 Include gcc-symtab.h.
5194 * c-pretty-print.c: Include stor-layout.h.
5195 Include attribs.h.
5196 * cilk.c: Include stringpool.h.
5197 Include calls.h.
5198
4fba5eb9 51992013-11-13 Joseph Myers <joseph@codesourcery.com>
5200
5201 * c-common.h (enum rid): Add RID_AUTO_TYPE.
5202 * c-common.c (c_common_reswords): Add __auto_type.
5203 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
5204
a8783bee 52052013-11-12 Andrew MacLeod <amacleod@redhat.com>
5206
e795d6e1 5207 * c-common.c: Include gimplify.h.
5208 * c-gimplify.c: Likewise.
5209 * cilk.c: Likewise.
5210 * c-omp.c: Include gimple-expr.h instead of gimple.h.
5211 * c-ubsan.c: Don't include gimple.h.
a8783bee 5212
d184e0c0 52132013-11-12 Joseph Myers <joseph@codesourcery.com>
5214
5215 * c-common.c (c_common_reswords): Add _Thread_local.
5216
a056826c 52172013-11-09 Joseph Myers <joseph@codesourcery.com>
5218
5219 * c-common.c (atomic_size_supported_p): New function.
5220 (resolve_overloaded_atomic_exchange)
5221 (resolve_overloaded_atomic_compare_exchange)
5222 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
5223 Use it instead of comparing size with a local list of sizes.
5224
b560fabd 52252013-11-07 Andrew MacLeod <amacleod@redhat.com>
5226 Joseph Myers <joseph@codesourcery.com>
5227
5228 * c-common.h (enum rid): Add RID_ATOMIC.
5229 * c-common.c (c_common_reswords): Add _Atomic.
5230 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
5231 (keyword_is_type_qualifier): Accept RID_ATOMIC.
5232 * c-format.c (check_format_types): Check for extra _Atomic
5233 qualifiers in format argument.
5234 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
5235 (pp_c_type_qualifier_list): Mention _Atomic in comment.
5236
5b1a0622 52372013-11-06 Tobias Burnus <burnus@net-b.de>
5238
5239 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
5240
4f8f4cb8 52412013-11-06 Joseph Myers <joseph@codesourcery.com>
5242
5243 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
5244 standards modes.
5245 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
5246 to mean lack of IEEE 754 support.
5247
9148bda3 52482013-11-05 Tobias Burnus <burnus@net-b.de>
5249
5250 * c.opt (-Wdate-time): New option
5251 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
5252
08c5f4d5 52532013-11-05 Joseph Myers <joseph@codesourcery.com>
5254
5255 * c-cppbuiltin.c (cpp_iec_559_value): Test
5256 flag_excess_precision_cmdline not flag_excess_precision.
5257
c630ef93 52582013-11-05 Tobias Burnus <burnus@net-b.de>
5259
5260 * c.opt (fopenmp-simd): New option.
5261 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
5262 (omp_pragmas): ... this new struct.
5263 (c_pp_lookup_pragma): Also walk omp_pragmas.
5264 (init_pragma): Init pragmas for -fopenmp-simd.
5265
7354a89b 52662013-11-04 Marek Polacek <polacek@redhat.com>
5267
5268 PR c++/58979
5269 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
5270
4c866b9b 52712013-11-04 Joseph Myers <joseph@codesourcery.com>
5272
5273 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5274 New functions.
5275 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5276
e2a6a333 52772013-11-04 Eric Botcazou <ebotcazou@adacore.com>
5278
5279 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5280 (dump_ada_specs): Adjust prototype of second callback.
5281 * c-ada-spec.c (cpp_check): New global variable.
5282 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5283 (print_generic_ada_decl): Likewise.
5284 (has_static_fields): Change return type to bool and add guard.
5285 (has_nontrivial_methods): New predicate.
5286 (is_tagged_type): Change return type to bool.
5287 (separate_class_package): Call has_nontrivial_methods.
5288 (pp_ada_tree_identifier): Minor tweaks.
5289 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5290 (dump_ada_array_domains): Likewise.
5291 (dump_ada_array_type): Likewise.
5292 (dump_template_types): Remove cpp_check parameter and do not pass it to
5293 dump_generic_ada_node.
5294 (dump_ada_template): Likewise.
5295 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5296 recursively.
5297 (print_ada_methods): Change return type to integer. Remove cpp_check
5298 parameter and do not pass it down.
5299 (dump_nested_types): Remove cpp_check parameter and do not pass it to
5300 dump_generic_ada_node.
5301 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
5302 accessing methods.
5303 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5304 down. Use has_nontrivial_methods to recognize C++ classes. Use return
5305 value of print_ada_methods.
5306 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5307 Set cpp_check to it before invoking dump_ada_nodes.
5308 (dump_ada_specs): Likewise.
5309
2c4c3477 53102013-11-03 Marek Polacek <polacek@redhat.com>
5311
5312 * c-ubsan.c: Don't include hash-table.h.
5313 (ubsan_instrument_vla): New function.
5314 * c-ubsan.h: Declare it.
5315
452659af 53162013-10-31 David Malcolm <dmalcolm@redhat.com>
5317
5318 Automated part of renaming of symtab_node_base to symtab_node.
5319
5320 Patch autogenerated by rename_symtab.py from
5321 https://github.com/davidmalcolm/gcc-refactoring-scripts
5322 revision 58bb219cc090b2f4516a9297d868c245495ee622
5323
5324 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5325 symtab_node_base to symtab_node.
5326
4d6f7dd4 53272013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
5328
a49621cf 5329 Implement C++14 digit separators.
4d6f7dd4 5330 * c-lex.c (interpret_float): Remove digit separators from scratch string
5331 before building real literal.
5332
06cfe805 53332013-10-30 Jakub Jelinek <jakub@redhat.com>
5334
5335 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5336
d037099f 53372013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
5338
5339 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5340 fields.
5341 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5342 enabled.
5343 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5344 (insert_cilk_frame): New prototype.
5345 (cilk_init_builtins): Likewise.
5346 (gimplify_cilk_spawn): Likewise.
5347 (c_cilk_install_body_w_frame_cleanup): Likewise.
5348 (cilk_detect_spawn_and_unwrap): Likewise.
5349 (cilk_set_spawn_marker): Likewise.
5350 (build_cilk_sync): Likewise.
5351 (build_cilk_spawn): Likewise.
5352 * cilk.c: New file.
5353
02774f2d 53542013-10-29 David Malcolm <dmalcolm@redhat.com>
5355
5356 Patch autogenerated by refactor_symtab.py from
5357 https://github.com/davidmalcolm/gcc-refactoring-scripts
5358 revision 58bb219cc090b2f4516a9297d868c245495ee622
5359
5360 * c-gimplify.c (c_genericize): Update for conversion of symtab types
5361 to a true class hierarchy.
5362 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5363
31fe10fd 53642013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
5365
5366 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5367
b1c06ff9 53682013-10-26 Jeff Law <law@redhat.com>
5369
1f78217c 5370 * c-common.c (c_define_builtins): Remove mudflap support.
5371 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 5372
48a972c8 53732013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 5374
5375 PR other/33426
5376 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5377 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5378
546a04b1 53792013-10-23 Jason Merrill <jason@redhat.com>
5380
5381 * c-format.c (gcc_cxxdiag_char_table): Add %X.
5382
bc7bff74 53832013-10-11 Jakub Jelinek <jakub@redhat.com>
5384
d62c713e 5385 * c-common.h (omp_clause_mask::operator !=): New method.
5386 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5387 instead of if (mask & something) tests everywhere.
5388
bc7bff74 5389 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5390 201307 instead of 201107.
5391 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5392 (c_common_attribute_table): Add "omp declare target" and
5393 "omp declare simd" attributes.
5394 (handle_omp_declare_target_attribute,
5395 handle_omp_declare_simd_attribute): New functions.
5396 * c-omp.c: Include c-pragma.h.
5397 (c_finish_omp_taskgroup): New function.
5398 (c_finish_omp_atomic): Add swapped argument, if true,
5399 build the operation first with rhs, lhs arguments and use NOP_EXPR
5400 build_modify_expr.
5401 (c_finish_omp_for): Add code argument, pass it down to make_code.
5402 (c_omp_split_clauses): New function.
5403 (c_split_parallel_clauses): Removed.
5404 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5405 c_omp_declare_simd_clauses_to_decls): New functions.
5406 * c-common.h (omp_clause_mask): New type.
5407 (OMP_CLAUSE_MASK_1): Define.
5408 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5409 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5410 omp_clause_mask::operator |, omp_clause_mask::operator &,
5411 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5412 omp_clause_mask::operator ==): New methods.
5413 (enum c_omp_clause_split): New.
5414 (c_finish_omp_taskgroup): New prototype.
5415 (c_finish_omp_atomic): Add swapped argument.
5416 (c_finish_omp_for): Add code argument.
5417 (c_omp_split_clauses): New prototype.
5418 (c_split_parallel_clauses): Removed.
5419 (c_omp_declare_simd_clauses_to_numbers,
5420 c_omp_declare_simd_clauses_to_decls): New prototypes.
5421 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5422 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5423 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5424 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5425 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5426 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5427 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5428 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5429 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5430 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5431 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5432 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5433 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5434 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5435 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5436 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5437 PRAGMA_OMP_CLAUSE_UNIFORM.
5438
d7dcba40 54392013-10-09 Marc Glisse <marc.glisse@inria.fr>
5440
5441 PR tree-optimization/20318
5442 * c-common.c (handle_returns_nonnull_attribute): New function.
5443 (c_common_attribute_table): Add returns_nonnull.
5444
0b7282f1 54452013-10-03 Marc Glisse <marc.glisse@inria.fr>
5446
5447 PR c++/19476
5448 * c.opt (fcheck-new): Move to common.opt.
5449
51f553af 54502013-09-25 Marek Polacek <polacek@redhat.com>
5451 Jakub Jelinek <jakub@redhat.com>
5452
5453 PR sanitizer/58413
5454 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5455 an expression if we can prove it is correct.
5456 (ubsan_instrument_division): Likewise. Remove unnecessary
5457 check.
5458
05f893e1 54592013-09-18 Marek Polacek <polacek@redhat.com>
5460
5461 PR sanitizer/58411
5462 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5463 Declare it.
5464 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5465
236ce1d1 54662013-09-14 Iain Sandoe <iain@codesourcery.com>
5467
5468 PR target/48094
5469 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5470 fobjc-gc, freplace-objc-classes): Accept for LTO.
5471
f9f68d35 54722013-09-13 Jacek Caban <jacek@codeweavers.com>
5473
5474 * c-target.def: New hook
5475
ba2f764e 54762013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5477
5478 PR c++/43452
5479 * c.opt (Wdelete-incomplete): Add.
5480
73437615 54812013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
5482
5483 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5484 (vector_types_compatible_elements_p): New function.
5485 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5486 declaration.
5487 (vector_types_compatible_elements_p): Declare.
5488
95af4c75 54892013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5490
5491 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5492 a virtual member function.
5493 (pp_simple_type_specifier): Remove.
5494 (pp_c_type_specifier): Likewise.
5495 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5496 Rename from pp_c_type_specifier. Adjust.
5497 (c_pretty_printer::c_pretty_printer): Do not assign to
5498 simple_type_specifier.
5499
eaab24b9 55002013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5501
5502 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5503 member function.
5504 (c_pretty_printer::storage_class_specifier): Likewise.
5505 (c_pretty_printer::initializer): Likewise.
5506 (pp_declaration): Remove.
5507 (pp_declaration_specifiers): Likewise.
5508 (pp_abstract_declarator): Likewise.
5509 (pp_declarator): Likewise.
5510 (pp_type_id): Likewise.
5511 (pp_statement): Likewise.
5512 (pp_constant): Likewise.
5513 (pp_id_expression): Likewise.
5514 (pp_primary_expression): Likewise.
5515 (pp_unary_expression): Likewise.
5516 (pp_multiplicative_expression): Likewise.
5517 (pp_conditional_expression): Likewise.
5518 (pp_assignment_expression): Likewise.
5519 (pp_expression): Likewise.
5520 (pp_c_type_id): Likewise.
5521 (pp_c_storage_class_specifier): Likewise.
5522 * c-pretty-print.c (pp_c_type_cast): Tidy.
5523 (pp_c_pointer): Likewise.
5524 (pp_c_type_specifier): Likewise.
5525 (pp_c_parameter_type_list): Likewise.
5526 (pp_c_function_definition): Likewise.
5527 (pp_c_init_declarator): Likewise.
5528 (pp_c_initializer_list): Likewise.
5529 (pp_c_constructor_elts): Likewise.
5530 (c_pretty_printer::direct_abstract_declarator): Likewise.
5531 (c_pretty_printer::declaration_specifiers): Likewise.
5532 (c_pretty_printer::primary_expression): Likewise.
5533 (c_pretty_printer::postfix_expression): Likewise.
5534 (c_pretty_printer::type_id): Rename from pp_c_type_id.
5535 (c_pretty_printer::storage_class_specifier): Rename from
5536 pp_c_storage_class_specifier.
5537 (c_pretty_printer::initializer): Rename from pp_c_initializer.
5538 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5539 storage_class_specifier, initializer, offset_list, flags.
5540
9e46467d 55412013-08-30 Marek Polacek <polacek@redhat.com>
5542
5543 * c-ubsan.c: New file.
5544 * c-ubsan.h: New file.
5545
36a8d9b9 55462013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5547
5548 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5549 member function.
5550 (c_pretty_printer::declaration_specifiers): Likewise.
5551 (c_pretty_printer::declarator): Likewise.
5552 (c_pretty_printer::abstract_declarator): Likewise.
5553 (c_pretty_printer::direct_abstract_declarator): Likewise.
5554 (c_pretty_printer::direct_declarator): Likewise.
5555 (c_pretty_printer::function_specifier): Likewise.
5556 (pp_declaration): Adjust.
5557 (pp_declaration_specifiers): Likewise.
5558 (pp_abstract_declarator): Likewise.
5559 (pp_direct_declarator): Likewise.
5560 (pp_function_specifier): Likewise.
5561 (pp_direct_abstract_declarator): Remove as unused.
5562 (pp_c_declaration): Remove.
5563 (pp_c_declaration_specifiers): Likewise.
5564 (pp_c_declarator): Likewise.
5565 (pp_c_direct_declarator): Likewise.
5566 (pp_c_function_specifier): Likewise.
5567 (pp_c_direct_abstract_declarator): Likewise.
5568 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5569 from pp_c_abstract_declarator. Adjust.
5570 (c_pretty_printer::direct_abstract_declarator): Rename from
5571 pp_c_direct_abstract_declarator. Adjust.
5572 (c_pretty_printer::function_specifier): Rename from
5573 pp_c_function_specifier. Adjust.
5574 (c_pretty_printer::declaration_specifiers): Rename from
5575 pp_c_declaration_specifiers. Adjust.
5576 (c_pretty_printer::direct_declarator): Rename from
5577 pp_c_direct_declarator. Adjust.
5578 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5579 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5580 (c_pretty_printer::c_pretty_printer): Do not assign to
5581 declaration, declaration_specifiers, declarator,
5582 direct_declarator, direct_abstract_declarator, function_specifier.
5583
30635c2e 55842013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5585
5586 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5587 virtual member function.
5588 (c_pretty_printer::multiplicative_expression): Likewise.
5589 (c_pretty_printer::conditional_expression): Likewise.
5590 (c_pretty_printer::assignment_expression): Likewise.
5591 (c_pretty_printer::expression): Likewise.
5592 (pp_unary_expression): Adjust.
5593 (pp_multiplicative_expression): Likewise.
5594 (pp_assignment_expression): Likewise.
5595 (pp_conditional_expression): Likewise.
5596 (pp_expression): Likewise.
5597 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5598 from pp_c_unary_expression. Adjust.
5599 (c_pretty_printer::multiplicative_expression): Rename from
5600 pp_c_multiplicative_expression. Adjust.
5601 (c_pretty_printer::conditional_expression): Rename from
5602 pp_c_conditional_expression. Adjust.
5603 (c_pretty_printer::assignment_expression): Rename from
5604 pp_c_assignment_expression. Adjust.
5605 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5606 (c_pretty_printer::c_pretty_printer): Do not assign to
5607 unary_expression, multiplicative_expression,
5608 conditional_expression, expression.
5609
027d08ed 56102013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5611
5612 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5613 virtual member function.
5614 (pp_postfix_expression): Adjust.
5615 (pp_c_postfix_expression): Remove.
5616 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5617 from pp_c_postfix_expression. Adjust.
5618 (c_pretty_printer::c_pretty_printer): Do not assign to
5619 postfix_expression.
5620
f873303a 56212013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5622
5623 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5624 virtua member function.
5625 (pp_primary_expression): Adjust.
5626 (pp_c_primary_expression): Remove.
5627 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5628 from pp_c_primary_expression. Adjust.
5629 (pp_c_initializer_list): Use pp_primary_expression.
5630 (c_pretty_printer::c_pretty_printer): Do not assign to
5631 primary_expression.
5632
08e3e481 56332013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5634
5635 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5636 * c-pretty-print.c (M_): Remove.
5637 (c_pretty_printer::translate_string): Define.
5638 (pp_c_type_specifier): Use it.
5639 (pp_c_primary_expression): Likewise.
5640 (pp_c_expression): Likewise.
5641
1fc4a87f 56422013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5643
5644 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5645 virtual function.
5646 (pp_c_id_expression): Remove.
5647 (pp_id_expression): Adjust.
5648 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5649 pp_c_id_expression. Adjust.
5650 (pp_c_postfix_expression): Use pp_id_expression.
5651 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5652
a6cb161b 56532013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5654
5655 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5656 member function.
5657 (pp_constant): Adjust.
5658 (pp_c_constant): Remove.
5659 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5660 pp_c_constant. Adjust.
5661 (pp_c_constant)
5662 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5663 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5664
eed6bc21 56652013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5666
5667 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5668 (c_pretty_printer::c_pretty_printer): Declare.
5669 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5670 c_pretty_printer_init. Adjust.
5671 (print_c_tree): Do not call c_pretty_printer_init.
5672 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5673
df558d2e 56742013-08-09 Arnaud Charlet <charlet@adacore.com>
5675
5676 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5677
42f9a786 56782013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5679
5680 PR c++/58080
5681 * c-common.c (pointer_int_sum): Add bool parameter.
5682 * c-common.h (pointer_int_sum): Adjust declaration.
5683
f874ddad 56842013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5685
5686 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5687 c_pretty_printer variable.
5688
a94db6b0 56892013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5690
5691 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5692 (pp_base): Remove.
5693 (pp_c_base): Likewise. Adjust users.
5694 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5695 (pp_c_whitespace): Do not call pp_base.
5696 (pp_c_left_paren): Likewise.
5697 (pp_c_right_paren): Likewise.
5698 (pp_c_left_brace): Likewise.
5699 (pp_c_right_brace): Likewise.
5700 (pp_c_left_bracket): Likewise.
5701 (pp_c_right_bracket): Likewise.
5702 (pp_c_dot): Likewise.
5703 (pp_c_ampersand): Likewise.
5704 (pp_c_star): Likewise.
5705 (pp_c_arrow): Likewise.
5706 (pp_c_semicolon): Likewise.
5707 (pp_c_complement): Likewise.
5708 (pp_c_exclamation): Likewise.
5709 (pp_c_direct_declarator): Likewise.
5710 (pp_c_ws_string): Likewise.
5711 (pp_c_identifier): Likewise.
5712 (pp_c_statement): Likewise.
5713 (print_c_tree): Likewise.
5714
1898176c 57152013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5716
5717 PR c++/58072
5718 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5719 provide useful error strings.
5720
70d60d1d 57212013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5722
5723 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5724 printer functions instead of pp_string or operators and punctuators.
5725 (dump_generic_ada_node): Likewise.
5726 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5727 (pp_c_relational_expression): Likewise.
5728 (pp_c_logical_or_expression): Likewise.
5729
dda4f0ec 57302013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5731
5732 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5733 functions instead of pp_character.
5734 (pp_ada_tree_identifier): Likewise.
5735 (dump_ada_double_name): Likewise.
5736 (dump_ada_function_declaration): Likewise.
5737 (dump_ada_array_domains): Likewise.
5738 (dump_template_types): Likewise.
5739 (dump_generic_ada_node): Likewise.
5740 (print_ada_declaration): Likewise.
5741 (print_ada_struct_decl): Likewise.
5742 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5743
7aa04c8d 57442013-07-23 Tom Tromey <tromey@redhat.com>
5745
5746 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5747 * c-common.c (c_common_reswords): Add _Generic.
5748
a04e8d62 57492013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5750
5751 * c-common.c: Fix typos.
5752 * c-common.h: Likewise.
5753
a96c3cc1 57542013-07-13 Lubos Lunak <l.lunak@suse.cz>
5755
5756 PR c++/55203
5757 * c-common.c (c_common_attribute_table): Add warn_unused.
5758 (handle_warn_unused_attribute): New.
5759
da31536d 57602013-07-10 Jakub Jelinek <jakub@redhat.com>
5761
5762 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5763 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5764
839f2f70 57652013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5766
5767 PR c++/57869
5768 * c.opt: Add Wconditionally-supported.
5769
73f353d0 57702013-07-08 Graham Stott <graham.stott@btinternet.com>
5771
1f78217c 5772 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 5773 unused variables l_length and l_node.
5774
21ebaa24 57752013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 5776
5777 PR c/57821
5778 * c-common.c (complete_array_type): Delay folding first index
5779 like other indices. When folding, check for index overflow.
5780
68ea4406 57812013-06-27 Marc Glisse <marc.glisse@inria.fr>
5782
5783 PR c++/57509
5784 * c-common.h (c_build_vec_perm_expr): New complain argument.
5785 * c-common.c (c_build_vec_perm_expr): Likewise.
5786 Use save_expr also in C++.
5787
60777f69 57882013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5789
5790 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5791 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5792 * c-opts.c (c_common_post_options): Likewise.
5793
839f2f70 57942013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 5795
5796 * array-notation-common.c (length_mismatch_in_expr): Changed the
5797 parameter type's from a dynamic array to a vec_tree. Also removed
5798 the size parameters.
5799 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5800 the change above.
5801
e9331eab 58022013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5803
5804 * c-common.h (struct cilkplus_an_parts): New structure.
5805 (struct cilkplus_an_loop_parts): Likewise.
5806 (cilkplus_extract_an_triplets): New prototype.
5807 (fix_sec_implicit_args): Likewise.
5808 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5809 (fix_sec_implicit_args): Likewise.
60777f69 5810
a9c99fc4 58112013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5812
5813 * array-notation-common.c (find_inv_trees): Removed an unwanted
5814 typecasting.
5815 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5816 enum rid to enum tree_code.
5817
f2526cce 58182013-06-11 Jan Hubicka <jh@suse.cz>
5819
5820 * c-common.c (handle_alias_ifunc_attribute): Do not set
5821 DECL_EXTERNAL for weakref variables.
5822 * c-pragma.c (handle_pragma_weak): Make sure aliases
5823 are not declared as external.
5824
09970d67 58252013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5826
5827 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5828 function from c/c-array-notation.c.
5829 (is_cilkplus_reduce_builtin): Likewise.
5830 (find_rank): Likewise.
5831 (extract_array_notation_exprs): Likewise.
5832 (replace_array_notations): Likewise.
5833 (find_inv_trees): Likewise.
5834 (replace_inv_trees): Likewise.
5835 (contains_array_notation_expr): Likewise.
5836 (find_correct_array_notation_type): Likewise.
5837 * c-common.h (struct inv_list): Moved this struct from the file
5838 c/c-array-notation.c and added a new field called additional tcodes.
5839 (length_mismatch_in_expr_p): New prototype.
5840 (is_cilkplus_reduce_builtin): Likewise.
5841 (find_rank): Likewise.
5842 (extract_array_notation_exprs): Likewise.
5843 (replace_array_notation): Likewise.
5844 (find_inv_trees): Likewise.
5845 (replace_inv_trees): Likewise.
5846 (find_correct_array_notation_type): Likewise.
839f2f70 5847
3c6d4197 58482013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5849
5850 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5851 function array_notation_init_builtins is called.
5852 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5853 * c-common.def (ARRAY_NOTATION_REF): New tree.
5854 * c-common.h (build_array_notation_expr): New function declaration.
5855 (build_array_notation_ref): Likewise.
5856 (extract_sec_implicit_index_arg): New extern declaration.
5857 (is_sec_implicit_index_fn): Likewise.
5858 (ARRAY_NOTATION_CHECK): New define.
5859 (ARRAY_NOTATION_ARRAY): Likewise.
5860 (ARRAY_NOTATION_START): Likewise.
5861 (ARRAY_NOTATION_LENGTH): Likewise.
5862 (ARRAY_NOTATION_STRIDE): Likewise.
5863 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5864 ARRAY_NOTATION_REF.
5865 (pp_c_expression): Likewise.
5866 * c.opt (flag_enable_cilkplus): New flag.
5867 * array-notation-common.c: New file.
5868
8e71dad2 58692013-05-14 Jakub Jelinek <jakub@redhat.com>
5870
5871 PR c++/57274
5872 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5873
432dd330 58742013-05-10 Marc Glisse <marc.glisse@inria.fr>
5875
5876 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5877 vectors.
5878
b156ec37 58792013-05-07 Han Shen <shenhan@google.com>
5880
5881 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5882
1a087624 58832013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5884
5885 * c-common.c (check_user_alignment): Emit error for negative values.
5886
1638c736 58872013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5888
5889 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5890
949dbf93 58912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5892
5893 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5894 __GXX_EXPERIMENTAL_CXX1Y__.
5895
9205a6cc 58962013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 5897 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 5898
5899 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5900 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5901 to simply use OPT_Wpointer_arith.
5902 (c_sizeof_or_alignof_type): Likewise.
5903
05d0bce1 59042013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5905
5906 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5907
41609f8b 59082013-04-12 Jakub Jelinek <jakub@redhat.com>
5909
5910 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5911 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5912 specifiers.
5913
c671dc4f 59142013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5915
5916 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5917
ba125576 59182013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5919
5920 * c-common.c (pointer_int_sum): Remove dead code.
5921
9d3fa937 59222013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5923
5924 PR middle-end/56524
5925 * c-common.c (handle_optimize_attribute): Don't call
5926 save_optabs_if_changed.
5927
5ceebb21 59282013-03-05 Jakub Jelinek <jakub@redhat.com>
5929
5930 PR middle-end/56461
5931 * c-pch.c (pch_init): Free target_validity at the end.
5932
18eeed2b 59332013-03-04 Jakub Jelinek <jakub@redhat.com>
5934
5935 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5936
a9196da9 59372013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5938 Jakub Jelinek <jakub@redhat.com>
5939
5940 PR sanitizer/56454
5941 * c-common.c (handle_no_sanitize_address_attribute): New function.
5942 (c_common_attribute_table): Add no_sanitize_address attribute.
5943 (handle_no_address_safety_analysis_attribute): Add
5944 no_sanitize_address attribute, not no_address_safety_analysis
5945 attribute.
5946
15c27dda 59472013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 5948
5949 PR target/52555
5950 * c-common.c (handle_optimize_attribute): Call
5951 save_optabs_if_changed.
5952
19426fe1 59532013-02-18 Jakub Jelinek <jakub@redhat.com>
5954 Steven Bosscher <steven@gcc.gnu.org>
5955
5956 PR pch/54117
5957 * c-opts.c (c_common_post_options): If debug info is enabled
5958 and non-dwarf*, refuse to load PCH files and when writing PCH
5959 file warn.
5960
df936998 59612013-02-05 Jakub Jelinek <jakub@redhat.com>
5962
5963 PR middle-end/56167
5964 * c-common.c (handle_error_attribute): Fix condition.
5965
ae0c3984 59662013-01-30 Jakub Jelinek <jakub@redhat.com>
5967
5968 PR c++/55742
5969 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5970
1c4973d7 59712013-01-18 Jason Merrill <jason@redhat.com>
5972
5973 PR target/54908
5974 * c.opt (-fextern-tls-init): New.
5975 * c-opts.c (c_common_post_options): Handle it.
5976
7c834436 59772013-01-09 Jakub Jelinek <jakub@redhat.com>
5978
5979 PR c/48418
5980 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5981 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5982 and is either negative or bigger or equal to type precision
5983 of the first operand.
5984
5abaa10a 59852012-12-03 Marek Polacek <polacek@redhat.com>
5986
5987 PR c/55570
5988 * c-common.c (check_user_alignment): Swap order of tests,
5989 check TREE_CODE first.
5990
324ca377 59912012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5992
5993 PR c++/52654
5994 * c-common.h (overflow_type): New enum.
5995 (build_userdef_literal): Add overflow_type argument.
5996 (tree_userdef_literal): Add overflow_type.
5997 (USERDEF_LITERAL_OVERFLOW): New access macro.
5998 * c-common.c (build_userdef_literal): Add overflow_type
5999 argument.
6000 * c-lex.c (c_lex_with_flags): Add overflow_type to
6001 build_userdef_literal calls.
6002 (interpret_integer, interpret_float): Add overflow_type argument.
6003
b4c4a429 60042012-11-28 Richard Biener <rguenther@suse.de>
6005
6006 PR c/35634
6007 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6008 here and use a type with proper overflow behavior for types that would
6009 need to be promoted for the arithmetic.
6010
d413ffdd 60112012-11-23 Jakub Jelinek <jakub@redhat.com>
6012
6013 PR sanitizer/55435
6014 * c-common.c (handle_no_address_safety_analysis_attribute): New
6015 function.
6016 (c_common_attribute_table): Add no_address_safety_analysis.
6017
52bc861d 60182012-11-16 Simon Baldwin <simonb@google.com>
6019
6020 * c.opt: Add f[no-]canonical-system-headers.
6021 * c-opts.c (c_common_handle_option): Handle
6022 OPT_fcanonical_system_headers.
6023
2dd00636 60242012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
6025
6026 PR c++/54413
6027 * c-opts.c (c_common_handle_option): Set new flags.
6028 * c.opt: Describe new flags.
6029
d4701f6c 60302012-11-09 Jason Merrill <jason@redhat.com>
6031
6032 * c.opt (Wabi-tag): New.
6033
72d65da9 60342012-11-09 Andi Kleen <ak@linux.intel.com>
6035
6036 PR 55139
6037 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 6038 MEMMODEL_MASK
72d65da9 6039
77a357e3 60402012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6041
6042 PR c/53063
6043 * c.opt (Wformat): Make it Alias Wformat=1.
6044 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
6045 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
6046 LangEnabledBy.
6047 (Wformat=): RejectNegative. Use LangEnabledBy.
6048 (Wnonnull): Use LangEnabledBy.
6049 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
6050 * c-format.c (set_Wformat): Delete.
6051 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 6052 (maybe_read_dollar_number): Likewise.
6053 (avoid_dollar_number): Likewise.
6054 (finish_dollar_format_checking): Likewise.
6055 (check_format_info): Likewise.
6056 (check_format_info_main): Likewise.
6057 (check_format_types): Likewise.
6058 (format_type_warning): Likewise.
6059 * c-common.c (int): Likewise.
6060 (check_function_sentinel): Likewise.
6061 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 6062
45efa6b9 60632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6064
6065 PR c/53063
6066 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
6067 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
6068 Use LangEnabledBy.
6069 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
6070 common.opt.
6071 (Wvariadic-macros): Init(1).
6072 * c-opts.c (c_common_handle_option): Do not handle them
6073 explicitly.
6074 (c_common_post_options): Likewise.
6075 (sanitize_cpp_opts): warn_unused_macros is now
6076 cpp_warn_unused_macros.
6077 (push_command_line_include): Likewise.
6078 * c-common.c (warn_unknown_pragmas): Do not define.
6079 * c-common.h (warn_unknown_pragmas): Do not declare.
6080
0e4e775a 60812012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6082
6083 PR c/51294
6084 * c-common.c (conversion_warning): Handle conditional expressions.
6085
8b447d3f 60862012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6087
6088 PR c++/54930
6089 * c.opt (Wreturn_local_addr): Define new option.
6090
f4a61754 60912012-10-25 Jason Merrill <jason@redhat.com>
6092
ecb10e6a 6093 * c.opt (Wvirtual-move-assign): New.
6094
f4a61754 6095 * c.opt (Winherited-variadic-ctor): New.
6096
7b463b19 60972012-10-25 Marc Glisse <marc.glisse@inria.fr>
6098
6099 PR c++/54427
6100 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
6101
6adc88f8 61022012-10-23 Joseph Myers <joseph@codesourcery.com>
6103
6104 * c-common.h (pch_cpp_save_state): Declare.
6105 * c-target.def (c_preinclude): New hook.
6106 * c-opts.c (done_preinclude): New.
6107 (push_command_line_include): Handle default preincluded header.
6108 (cb_file_change): Call pch_cpp_save_state when calling
6109 push_command_line_include.
6110 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
6111 (pch_cpp_save_state): New.
6112 (pch_init): Call pch_cpp_save_state conditionally, instead of
6113 calling cpp_save_state.
6114
fa816b0b 61152012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6116
6117 PR c/53063
6118 PR c/40989
6119 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
6120 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
6121 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
6122 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
6123 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
6124 * c-opts.c (c_common_handle_option): Remove explicit handling from
6125 here.
6126 (c_common_post_options): Likewise.
6127
d214ccee 61282012-10-18 Eric Botcazou <ebotcazou@adacore.com>
6129
6130 * c-ada-spec.c (LOCATION_COL): Delete.
6131 (compare_location): New function.
6132 (compare_node): Use it.
6133 (compare_comment): Likewise.
6134
77b27208 61352012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6136
6137 PR c/53063
6138 PR c/40989
6139 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
6140 * c-opts.c (c_common_handle_option): Do not set them here. Add
6141 comment.
6142 (c_common_post_options): Likewise.
6143
cc02ca4d 61442012-10-16 Eric Botcazou <ebotcazou@adacore.com>
6145
6146 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
6147 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
6148 Remove POINTER_TYPE handling, add large unsigned handling and use
6149 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
6150
57f872a2 61512012-10-12 Jakub Jelinek <jakub@redhat.com>
6152
6153 PR c/54381
6154 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
6155 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
6156 locs and array of 3 trees instead of just single loc and single
6157 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
6158 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
6159 For *cmp* builtins that take two sources strings report warnings
6160 about first and second source, not about destination and source.
6161
7354ad2e 61622012-10-12 Marc Glisse <marc.glisse@inria.fr>
6163
6164 PR c++/53055
6165 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
6166
1ac7f120 61672012-10-11 Eric Botcazou <ebotcazou@adacore.com>
6168
6169 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
6170 declaring something coming from another file.
6171
1e0cc9e3 61722012-10-10 Arnaud Charlet <charlet@adacore.com>
6173
1ac7f120 6174 PR ada/54845
1e0cc9e3 6175 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
6176
b0e7825e 61772012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
6178
6179 PR c++/54194
6180 * c-common.c (warn_about_parentheses): Add location_t parameter;
6181 use EXPR_LOC_OR_LOC.
6182 * c-common.h: Update declaration.
6183
41ed701a 61842012-10-09 Marc Glisse <marc.glisse@inria.fr>
6185
6186 PR c++/54427
6187 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
6188 more operations. Make error messages optional.
6189 * c-common.h (enum stv_conv): Moved from c-typeck.c.
6190 (scalar_to_vector): Declare.
6191
3740094c 61922012-10-08 Jason Merrill <jason@redhat.com>
6193
6194 * c-common.c (c_common_reswords): Add thread_local.
6195
ffcdbf9c 61962012-10-08 Dodji Seketeli <dodji@redhat.com>
6197
6198 PR c++/53528 C++11 attribute support
6199 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
6200 new functions.
6201 * c-common.c (check_cxx_fundamental_alignment_constraints): New
6202 static function.
6203 (handle_aligned_attribute): In choose strictest alignment
6204 among many. Use new check_cxx_fundamental_alignment_constraints.
6205 (handle_transparent_union_attribute): In c++11 attribute syntax,
6206 don't look through typedefs.
6207
ef34afc1 62082012-10-04 Arnaud Charlet <charlet@adacore.com>
6209
6210 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
6211 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
6212 out of dumpfile.h.
6213
f1ff4562 62142012-09-25 Dehao Chen <dehao@google.com>
6215
6216 PR middle-end/54645
ef34afc1 6217 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 6218 map when read in the pch.
6219
92a44a68 62202012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 6221
6222 * c-ada-spec.c: Style fixes.
6223
92a44a68 62242012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 6225
6226 * c.opt (-fada-spec-parent): Define new command line switch.
6227 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
6228 is specified, generate binding spec as a child of the specified unit.
6229
8eba82c2 62302012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
6231 Manuel López-Ibáñez <manu@gcc.gnu.org>
6232
6233 PR c++/53210
6234 * c.opt ([Winit-self]): Enabled by -Wall in C++.
6235
38682990 62362012-08-23 Arnaud Charlet <charlet@adacore.com>
6237
6238 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
6239 for pointers, and add missing Convention C pragma.
6240 (print_ada_struct_decl): Add missing aliased keyword.
6241 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
6242
f003f5dc 62432012-08-17 Jakub Jelinek <jakub@redhat.com>
6244
6245 * c-common.c (sizeof_pointer_memaccess_warning): New function.
6246 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
6247 * c-opts.c (c_common_handle_option): Enable it for -Wall.
6248 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
6249 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
6250
ec11736b 62512012-08-10 Richard Guenther <rguenther@suse.de>
6252
6253 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
6254
5f7f600e 62552012-08-07 Steven Bosscher <steven@gcc.gnu.org>
6256
6257 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
6258 instead of separate pp_newline and pp_flush.
6259 (print_c_tree): Likewise.
6260
758a38ab 62612012-07-26 Richard Henderson <rth@redhat.com>
6262
6263 * c-common.c (handle_hot_attribute): Allow labels.
6264 (handle_cold_attribute): Likewise.
6265
9ca77b08 62662012-07-20 Jakub Jelinek <jakub@redhat.com>
6267
6268 PR c++/28656
6269 * c-common.c (check_function_nonnull): Handle multiple nonnull
6270 attributes properly.
6271
b9ed1410 62722012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6273
6274 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6275 * c-ada-spec.c: Likewise.
6276 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6277
c2a65b90 62782012-07-14 Steven Bosscher <steven@gcc.gnu.org>
6279
6280 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6281 Remove code conditional on it.
6282
88c5a1d1 62832012-07-11 Steven Bosscher <steven@gcc.gnu.org>
6284
6285 * c-gimplify.c: Do not include basic-block.h.
6286 * c-common.c: Do not include linfuncs.h.
6287
4a020a8c 62882012-07-08 Steven Bosscher <steven@gcc.gnu.org>
6289
6290 * c-common.h: Include tree.h.
6291
c28ddc97 62922012-07-02 Jason Merrill <jason@redhat.com>
6293
6294 PR c++/53524
6295 * c-common.c (get_priority): Call default_conversion.
6296
405ed67f 62972012-07-01 Uros Bizjak <ubizjak@gmail.com>
6298
6299 * c-pch.c (c_common_write_pch): Remove unused variables.
6300
e53d55e7 63012012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6302
6303 * cppspec.c: Moved from gcc/ to here.
6304
3d9c25ec 63052012-06-27 Kai Tietz <ktietz@redhat.com>
6306
6307 PR preprocessor/37215
6308 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6309
3169c57a 63102012-06-21 Steven Bosscher <steven@gcc.gnu.org>
6311
6312 * c-common.h (c_common_print_pch_checksum): Remove.
6313 * c-pch.c: Do not include output.h.
6314 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6315 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6316 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6317 (struct c_pch_header): Remove.
6318 (get_ident): Update gpch version.
6319 (pch_init): Do not print executable_checksum to asm_out_file.
6320 Do not fail if there is no asm_out_file to read back from. Set
6321 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6322 (c_common_write_pch): Verify that nothing was written to asm_out_file
6323 since pch_init was called. Do not write a c_pch_header, and do not
6324 copy from asm_out_file to the PCH.
6325 (c_common_read_pch): Do not read a c_pch_header, and do not restore
6326 the content of asm_out_file from the PCH.
6327 (c_common_print_pch_checksum): Remove.
6328 * c-opts.c (c_common_init): Print out executable_checksum directly.
6329
ff6624bc 63302012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6331
6332 * c-target.def (objc_declare_unresolved_class_reference,
6333 objc_declare_class_definition): Add new hooks.
6334
367b1459 63352012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6336
6337 * c-lex.c: Do not include output.h.
6338 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6339 Remove uses of ASM_OUTPUT_IDENT.
6340
bf0cb017 63412012-06-15 Marc Glisse <marc.glisse@inria.fr>
6342
6343 PR c++/51033
6344 * c-common.h (c_build_vec_perm_expr): Move decl here.
6345 * c-common.c (c_build_vec_perm_expr): Move definition
6346 here.
6347
b37a3600 63482012-06-06 Steven Bosscher <steven@gcc.gnu.org>
6349
6350 * c.opt (fconserve-space): Turn into a no-op.
6351
19931eea 63522012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 6353
6354 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6355 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6356 both the start and end of the function.
6357
dff12c10 63582012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6359
6360 * c-common.c: Do not include output.h.
6361 * c-pragma.c: Likewise.
6362
5f9e7dd5 63632012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6364
6365 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6366 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6367 (lang_decl_name): Handle namespace decls.
6368
b5369b7d 63692012-05-31 Steven Bosscher <steven@gcc.gnu.org>
6370
6371 * c-ada-spec.c: Do not include output.h.
6372 * c-semantics.c: Likewise.
6373
8032877c 63742012-05-29 Joseph Myers <joseph@codesourcery.com>
6375
6376 * c-common.c: Fix typo.
6377
7843e4bc 63782012-05-29 Michael Matz <matz@suse.de>
6379
6380 * c-common.h (c_expand_decl): Remove prototype.
6381
8cf857d4 63822012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6383
6384 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6385 * c-opts.c (c_common_handle_option): Remove code handling
6386 warn_missing_braces.
6387
8b64dc3c 63882012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
6389
6390 PR c++/25137
6391 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6392 -Wmissing_braces.
6393
43cbde16 63942012-05-22 Dodji Seketeli <dodji@redhat.com>
6395
6396 PR c++/53322
6397 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6398
db490cb6 63992012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
6400
6401 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6402 * c-opts.c (c_common_handle_option): Do not handle explicitly
6403 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6404
a60f3e81 64052012-05-16 Dodji Seketeli <dodji@redhat.com>
6406
6407 PR preprocessor/7263
6408 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
6409 to cpp_classify_number. For diagnostics, use the precise location
6410 instead of the global input_location.
6411
82e6ef7c 64122012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6413
cd4797ff 6414 PR c++/11856
82e6ef7c 6415 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6416
258a168d 64172012-05-14 Bernd Schmidt <bernds@codesourcery.com>
6418
82e6ef7c 6419 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 6420
d3b7ee7c 64212012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6422
6423 PR 53063
6424 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6425 Wreorder): Use LangEnabledBy.
6426 * c-opts.c (c_common_handle_option): Do not enable them
6427 explicitly. Call lang-specific generated functions.
6428 (c_common_post_options): Do not set them here.
6429
70059cea 64302012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
6431
6432 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6433 Wmissing-field-initializers,Wmissing-parameter-type,
6434 Wold-style-declaration,Woverride-init): Use EnabledBy.
6435 * c-opts.c (c_common_post_options): Do not set here explicitly.
6436
fbb6fbd8 64372012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6438
6439 PR 53063
6440 * c-opts.c (c_common_handle_option): Use handle_generated_option
6441 to enable sub-options.
6442
61f69bc9 64432012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
6444
6445 PR c++/53158
6446 * c-common.c (warnings_for_convert_and_check): Use warning_at.
6447
5a1fe2db 64482012-05-10 Richard Guenther <rguenther@suse.de>
6449
6450 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6451 adjust commentary about TYPE_IS_SIZETYPE types.
6452
d42e7c5a 64532012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6454
6455 PR c++/53261
6456 * c-common.c (warn_logical_operator): Check that argument of
6457 integer_zerop is not NULL.
6458
686369e8 64592012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6460
6461 PR c/43772
6462 * c-common.c (warn_logical_operator): Do not warn if either side
6463 is already true or false.
6464
03fe1dc2 64652012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6466
6467 PR c/51712
6468 * c-common.c (expr_original_type): New.
6469 (shorten_compare): Do not warn for enumeration types.
6470
bba5a206 64712012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6472
6473 * c.opt (fpermissive): Add Var(flag_permissive).
6474
7059d45d 64752012-04-30 Marc Glisse <marc.glisse@inria.fr>
6476
6477 PR c++/51033
6478 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6479 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6480
7edb1062 64812012-04-30 Dodji Seketeli <dodji@redhat.com>
6482
6483 Add -Wvarargs option
6484 * c.opt (Wvarargs): Define new option.
6485
068bea1e 64862012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6487
6488 * c-common.c (check_function_arguments): Replace
6489 Wmissing-format-attribute with Wsuggest-attribute=format.
6490
b86527d8 64912012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6492
6493 * c.opt (Wsuggest-attribute=format): New. Alias of
6494 Wmissing-format-attribute.
6495 * c-format.c (decode_format_type): Replace
6496 Wmissing-format-attribute with Wsuggest-attribute=format.
6497 (check_function_format): Likewise.
6498
19931eea 64992012-04-27 Ollie Wild <aaw@google.com>
76d340ac 6500
6501 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6502 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6503 * c.opt: Add Wliteral-suffix.
6504
29438999 65052012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6506
6507 PR c/44774
6508 * c.opt (Wpedantic): New.
6509 (pedantic): Alias Wpedantic.
6510 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6511 (c_common_post_options): Likewise.
6512 (sanitize_cpp_opts): Likewise.
6513 * c-lex.c (interpret_float): Likewise.
6514 * c-format.c (check_format_types): Likewise.
6515 * c-common.c (pointer_int_sum): Likewise.
6516 (c_sizeof_or_alignof_type): Likewise.
6517 (c_add_case_label): Likewise.
6518 (c_do_switch_warnings): Likewise.
6519 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6520
4f9d6b8b 65212012-04-15 Jason Merrill <jason@redhat.com>
6522
6523 PR c++/52818
6524 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6525 (C_STD_NAME): Distinguish between C++98 and C++11.
6526
74bdbe96 65272012-04-11 Eric Botcazou <ebotcazou@adacore.com>
6528
6529 PR target/52624
6530 * c-common.h (uint16_type_node): Rename into...
6531 (c_uint16_type_node): ...this.
6532 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6533 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6534
3d177e8c 65352012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
6536
6537 * c-common.c (warn_if_unused_value): Move definition to here.
6538 * c-common.h (warn_if_unused_value): Move declaration to here.
6539
6a9a958f 65402012-03-23 William Bader <williambader@hotmail.com>
6541
6542 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6543
543efdbe 65442012-03-20 Jason Merrill <jason@redhat.com>
6545
6546 * c-common.h (enum cxx_dialect): Add cxx1y.
6547 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6548 test.
6549 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6550 * c-opts.c (c_common_post_options): Likewise.
6551 (set_std_cxx1y): New.
6552 (c_common_handle_option): Call it.
6553 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6554
62206d34 65552012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6556
6557 PR c++/14710
6558 * c.opt ([Wuseless-cast]): Add.
6559
fadf62f4 65602012-03-16 Richard Guenther <rguenther@suse.de>
6561
6562 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6563
249faa35 65642012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6565
6566 PR c++/44783
6567 * c.opt (ftemplate-backtrace-limit) Add.
6568
126b6848 65692012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6570
6571 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6572 handling.
6573 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6574 (init_pragma): Don't register extern_prefix.
6575
a51edb4c 65762012-03-12 Richard Guenther <rguenther@suse.de>
6577
6578 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6579 (builtin_type_for_size): Likewise.
6580
0f6a7cb7 65812012-02-13 Jakub Jelinek <jakub@redhat.com>
6582
6583 PR c++/52215
6584 * c-common.c (sync_resolve_params): Don't decide whether to convert
6585 or not based on TYPE_SIZE comparison, convert whenever arg_type
6586 is unsigned INTEGER_TYPE.
6587
0779e32c 65882012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6589
6590 PR c/52118
6591 * c.opt ([Wunused-local-typedefs]): Fix description.
6592
baec58e1 65932012-01-24 Mike Stump <mikestump@comcast.net>
6594
6595 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6596 exactly.
6597
c779d8cc 65982012-01-18 Richard Guenther <rguenther@suse.de>
6599
6600 * c-opts.c (c_common_post_options): Reset LTO flags if
6601 we are about to generate a PCH.
6602
ee917d24 66032012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6604
6605 PR c++/51777
6606 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6607 use pp_unsigned_wide_integer.
6608
90e2341f 66092012-01-10 Richard Guenther <rguenther@suse.de>
6610
6611 PR middle-end/51806
6612 * c-opts.c (c_common_handle_option): Move -Werror handling
6613 to language independent code.
6614
9ea022ce 66152012-01-05 Richard Guenther <rguenther@suse.de>
6616
6617 PR middle-end/51764
6618 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6619 from common.opt.
6620
3df19e1b 66212011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6622
6623 PR c++/51316
6624 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6625 of array types with an unknown bound.
6626
32074525 66272011-12-20 Joseph Myers <joseph@codesourcery.com>
6628
6629 * c-common.c (flag_isoc99): Update comment to refer to C11.
6630 (flag_isoc1x): Change to flag_isoc11.
6631 * c-common.h (flag_isoc99): Update comment to refer to C11.
6632 (flag_isoc1x): Change to flag_isoc11.
6633 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6634 C11.
6635 * c-opts.c (set_std_c1x): Change to set_std_c11.
6636 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6637 Call set_std_c11.
6638 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6639 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6640 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6641 standard.
6642 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6643 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6644 (std=gnu1x): Make alias of std=gnu11.
6645
fca86134 66462011-12-19 Jason Merrill <jason@redhat.com>
6647
6648 PR c++/51228
6649 * c-common.c (handle_transparent_union_attribute): Check the first
6650 field if the type is complete.
6651
aa4313eb 66522011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6653
6654 PR libstdc++/51365
6655 * c-common.c (RID_IS_FINAL): Add.
6656 * c-common.h (RID_IS_FINAL): Add.
6657
3f3d5ad4 66582011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6659
6660 * c.opt (fgnu-runtime): Provide full description.
6661 (fnext-runtime): Likewise.
6662 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6663
c4606d19 66642011-11-28 Andrew MacLeod <amacleod@redhat.com>
6665
6666 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6667 predefines in one place. Add LOCK_FREE predefines.
6668 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6669 new func.
6670
1d581089 66712011-11-24 Andrew MacLeod <amacleod@redhat.com>
6672
6673 PR c/51256
19931eea 6674 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 6675 conditions
19931eea 6676 (resolve_overloaded_atomic_exchange,
6677 resolve_overloaded_atomic_compare_exchange,
1d581089 6678 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6679 error_mark_node for error conditions.
19931eea 6680
6aa221fa 66812011-11-08 Richard Guenther <rguenther@suse.de>
6682
6683 PR middle-end/51010
6684 c-family/
6685
4c0315d0 66862011-11-07 Richard Henderson <rth@redhat.com>
6687 Aldy Hernandez <aldyh@redhat.com>
6688 Torvald Riegel <triegel@redhat.com>
6689
6690 Merged from transactional-memory.
6691
6692 * c-common.c (handle_tm_wrap_attribute,
6693 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6694 (struct c_common_reswords): Added __transaction* keywords.
6695 (struct c_common_attribute_table): Added transaction* and tm_regparm
6696 attributes.
6697 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6698 masks.
6699 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6700 find_tm_attribute): Declare.
6701
920f5a70 67022011-11-07 Jason Merrill <jason@redhat.com>
6703
6704 PR c++/35688
6705 * c-common.c, c-common.h: Revert yesterday's changes.
6706
b4f861b4 67072011-11-06 Jason Merrill <jason@redhat.com>
6708
6709 PR c++/35688
6710 * c-common.c (decl_has_visibility_attr): Split out from...
6711 (c_determine_visibility): ...here.
6712 * c-common.h: Declare it.
6713
83e25171 67142011-11-06 Joseph Myers <joseph@codesourcery.com>
6715
6716 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6717 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6718 type.
6719 (check_user_alignment): New. Split out of
6720 handle_aligned_attribute. Disallow integer constants with
6721 noninteger types. Conditionally allow zero.
6722 (handle_aligned_attribute): Use check_user_alignment.
6723 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6724
1cd6e20d 67252011-11-06 Andrew MacLeod <amacleod@redhat.com>
6726 Richard Henderson <rth@redhat.com>
6727
6728 Merged from cxx-mem-model.
6729
6730 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 6731 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 6732 parameters that are the same type size.
6733 (get_atomic_generic_size): New. Find size of generic
6734 atomic function parameters and do typechecking.
6735 (add_atomic_size_parameter): New. Insert size into parameter list.
6736 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6737 either __atomic_exchange_n or external library call.
19931eea 6738 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 6739 __atomic_compare_exchange to either _n variant or external library call.
19931eea 6740 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 6741 __atomic_load_n or an external library call.
6742 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6743 __atomic_store_n or an external library call.
6744 (resolve_overloaded_builtin): Handle new __atomic builtins.
6745
7549df0d 67462011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6747
6748 PR c++/50608
6749 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6750 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6751 <INDIRECT_REF>: Return the argument.
6752 <ARRAY_REF>: Remove special code for negative offset.
6753 Call fold_build_pointer_plus instead of size_binop.
6754 (fold_offsetof): Remove STOP_REF argument and adjust.
6755 * c-common.h (fold_offsetof_1): Declare.
6756 (fold_offsetof): Remove STOP_REF argument.
6757
7e783eb3 67582011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6759
6760 PR c++/50810
6761 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6762 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6763 Wnarrowing for C++0x and C++98.
6764 * c.opt ([Wnarrowing]): Update.
6765
8fe701f5 67662011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6767
6768 PR c++/44277
6769 * c.opt: Add Wzero-as-null-pointer-constant.
6770
0d84dc2d 67712011-10-31 Jason Merrill <jason@redhat.com>
6772
67031f52 6773 * c.opt (-fdeduce-init-list): Off by default.
6774
0d84dc2d 6775 PR c++/50920
6776 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6777 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6778 and -Wc++11-compat.
6779 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6780
66f24c41 67812011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6782
6783 PR c++/30066
6784 * c.opt (fvisibility-inlines-hidden): Description change.
6785
244db24d 67862011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6787
6788 Implement C++11 user-defined literals.
6789 * c-common.c (build_userdef_literal): New.
6790 * c-common.def: New tree code.
6791 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6792 * c-lex.c (interpret_float): Add suffix parm.
6793 (c_lex_with_flags): Build literal tokens.
6794
235be70f 67952011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6796
6797 PR c++/50841
6798 Revert:
6799 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6800
6801 PR c++/50810
6802 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6803 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6804 Wnarrowing for C++0x and C++98.
6805 * c.opt ([Wnarrowing]): Update.
6806
4fe0fb1c 68072011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6808
6809 PR c++/50810
6810 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6811 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6812 Wnarrowing for C++0x and C++98.
6813 * c.opt ([Wnarrowing]): Update.
6814
5f7504f9 68152011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6816
6817 PR c++/45385
6818 * c-common.c (conversion_warning): Remove code looking for
6819 artificial operands.
6820
2a688977 68212011-10-18 Dodji Seketeli <dodji@redhat.com>
6822
6823 PR bootstrap/50760
6824 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 6825 !NO_IMPLICIT_EXTERN_C.
2a688977 6826
326e3391 68272011-10-17 Michael Spertus <mike_spertus@symantec.com>
6828
6829 * c-common.c (c_common_reswords): Add __bases,
6830 __direct_bases.
6831 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6832
68332011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6834
6835 PR c++/50757
6836 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6837
62db153a 68382011-10-15 Tom Tromey <tromey@redhat.com>
6839 Dodji Seketeli <dodji@redhat.com>
6840
6841 * c.opt (fdebug-cpp): New option.
6842 * c-opts.c (c_common_handle_option): Handle the option.
6843 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6844 output stream in parameter. Factorized from ...
6845 (maybe_print_line): ... this. Dump location debug information when
6846 -fdebug-cpp is in effect.
6847 (print_line_1): New static function. Takes an output stream in
6848 parameter. Factorized from ...
6849 (print_line): ... here. Dump location information when -fdebug-cpp
6850 is in effect.
6851 (scan_translation_unit): Dump location information when
6852 -fdebug-cpp is in effect.
6853
ce70f433 68542011-10-15 Tom Tromey <tromey@redhat.com>
6855 Dodji Seketeli <dodji@redhat.com>
6856
6857 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6858 without argument.
6859 * c-opts.c (c_common_handle_option)<case
6860 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6861 cases. Handle -ftrack-macro-expansion with and without argument.
6862
97bfb9ef 68632011-10-15 Tom Tromey <tromey@redhat.com>
6864 Dodji Seketeli <dodji@redhat.com>
6865
6866 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6867 (print_line, cb_define, do_line_change): Adjust to avoid touching
6868 the internals of struct line_map. Use the public API instead.
6869 * c-pch.c (c_common_read_pch): Likewise.
6870 * c-lex.c (fe_file_change): Likewise.
6871
326e3391 68722011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6873
6874 PR c++/17212
6875 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6876
68772011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6878
6879 PR c++/33067
6880 * c-pretty-print.c (pp_c_floating_constant): Output
6881 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6882
b9a16870 68832011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6884
6885 * c-common.c (def_builtin_1): Delete old interface with two
6886 parallel arrays to hold standard builtin declarations, and replace
6887 it with a function based interface that can support creating
6888 builtins on the fly in the future. Change all uses, and poison
6889 the old names. Make sure 0 is not a legitimate builtin index.
6890 * c-omp.c (c_finish_omp_barrier): Ditto.
6891 (c_finish_omp_taskwait): Ditto.
6892 (c_finish_omp_flush): Ditto.
6893
c7964868 68942011-10-11 Tristan Gingold <gingold@adacore.com>
6895
6896 * c.opt: (fallow-parameterless-variadic-functions): New.
6897
a4e3ffad 68982011-09-08 Dodji Seketeli <dodji@redhat.com>
6899
6900 PR c++/33255 - Support -Wunused-local-typedefs warning
6901 * c-common.h (struct c_language_function::local_typedefs): New
6902 field.
19931eea 6903 (record_locally_defined_typedef, maybe_record_typedef_use)
6904 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 6905 * c-common.c (record_locally_defined_typedef)
19931eea 6906 (maybe_record_typedef_use)
6907 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 6908 * c.opt: Declare new -Wunused-local-typedefs flag.
6909
737a23cc 69102011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6911
6912 PR middle-end/50266
6913 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6914 computations.
6915
7542c3b4 69162011-09-05 Richard Guenther <rguenther@suse.de>
6917
6918 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6919 of integer_minus_one_node for empty array upper bounds.
6920
1dc92c59 69212011-08-28 Dodji Seketeli <dodji@redhat.com>
6922
6923 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6924 it's the first time it's being called on this main TU.
6925
2bdf2b6e 69262011-08-24 Richard Guenther <rguenther@suse.de>
6927
6928 PR c/49396
6929 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6930
69312011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 6932
6933 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6934 defined in cpp_init_builtins and c_cpp_builtins.
6935
bff4ad11 69362011-08-19 Joseph Myers <joseph@codesourcery.com>
6937
6938 * c-common.c (c_common_reswords): Add __builtin_complex.
6939 * c-common.h (RID_BUILTIN_COMPLEX): New.
6940
985c6e3a 69412011-08-18 Joseph Myers <joseph@codesourcery.com>
6942
6943 * c-common.c (c_common_reswords): Add _Noreturn.
6944 (keyword_is_function_specifier): Handle RID_NORETURN.
6945 * c-common.h (RID_NORETURN): New.
6946
92a44a68 69472011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 6948
6949 * c-common.c (unsafe_conversion_p): New function. Check if it is
6950 unsafe to convert an expression to the type.
6951 (conversion_warning): Adjust, use unsafe_conversion_p.
6952 * c-common.h (unsafe_conversion_p): New function declaration.
6953
2169f33b 69542011-08-02 Jakub Jelinek <jakub@redhat.com>
6955
6956 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6957 (c_finish_omp_taskyield): New prototype.
6958 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6959 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6960 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6961 or RHS1 have side-effects, evaluate those too in the right spot,
6962 if it is a decl and LHS is also a decl, error out if they
6963 aren't the same.
6964 (c_finish_omp_taskyield): New function.
6965 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6966 * c-pragma.c (omp_pragmas): Add taskyield.
6967 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6968 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6969 PRAGMA_OMP_CLAUSE_MERGEABLE.
6970
ab77850e 69712011-07-25 Dodji Seketeli <dodji@redhat.com>
6972
6973 * c-common.h (set_underlying_type): Remove parm name from
6974 declaration.
6975
6ee97920 69762011-07-25 Romain Geissler <romain.geissler@gmail.com>
6977
6978 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 6979
dc251364 69802011-07-22 Jason Merrill <jason@redhat.com>
6981
1a2a35f0 6982 PR c++/49793
6983 * c.opt (Wnarrowing): New.
6984
27282252 6985 PR c++/30112
6986 * c-common.h: Declare c_linkage_bindings.
6987 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6988
dc251364 6989 PR c++/49813
6990 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6991 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6992 as flag_isoc99 for 'restrict'.
6993 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6994
fc501191 69952011-07-21 Ian Lance Taylor <iant@google.com>
6996
6997 PR middle-end/49705
6998 * c-common.c (c_disable_warnings): New static function.
6999 (c_enable_warnings): New static function.
7000 (c_fully_fold_internal): Change local unused_p to bool. Call
7001 c_disable_warnings and c_enable_warnings rather than change
7002 c_inhibit_evaluation_warnings.
7003
07b8f133 70042011-07-20 Jason Merrill <jason@redhat.com>
7005
7006 PR c++/6709 (DR 743)
7007 PR c++/42603 (DR 950)
7008 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
7009 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
7010 (CPP_DECLTYPE): New.
7011 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
7012
2cc66f2a 70132011-07-19 Richard Guenther <rguenther@suse.de>
7014
7015 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
7016 * c-omp.c (c_finish_omp_for): Likewise.
7017
3c802a1e 70182011-07-12 Eric Botcazou <ebotcazou@adacore.com>
7019
7020 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
7021 body on the next line.
7022
98a33d9f 70232011-07-08 Jason Merrill <jason@redhat.com>
7024
3115bda0 7025 PR c++/45437
7026 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
7027
98a33d9f 7028 PR c++/49673
7029 * c-common.c (c_apply_type_quals_to_decl): Don't check
7030 TYPE_NEEDS_CONSTRUCTING.
7031
c38a75b7 70322011-07-06 Richard Guenther <rguenther@suse.de>
7033
7034 * c-common.c (c_common_nodes_and_builtins):
7035 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
7036
e593356b 70372011-07-05 Richard Guenther <rguenther@suse.de>
7038
7039 * c-common.c (c_common_nodes_and_builtins): Build all common
7040 tree nodes first.
7041
fca0886c 70422011-06-27 Jakub Jelinek <jakub@redhat.com>
7043
a68f7a8d 7044 * c-common.h (c_tree_chain_next): New static inline function.
7045
fca0886c 7046 * c-common.c (check_builtin_function_arguments): Handle
7047 BUILT_IN_ASSUME_ALIGNED.
7048
2797f13a 70492011-06-21 Andrew MacLeod <amacleod@redhat.com>
7050
7051 * c-common.c: Add sync_ or SYNC__ to builtin names.
7052 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 7053
70542011-06-20 Pierre Vittet <piervit@pvittet.com>
7055
7056 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
7057 handler.
7058 (gen_pragma_handler): New union.
7059 (internal_pragma_handler): New type.
7060 (c_register_pragma_with_data)
7061 (c_register_pragma_with_expansion_and_data): New functions.
7062
7063 * c-pragma.c (registered_pragmas, c_register_pragma_1)
7064 (c_register_pragma, c_register_pragma_with_expansion)
7065 (c_invoke_pragma_handler): Changed to work with
7066 internal_pragma_handler.
7067 (c_register_pragma_with_data)
7068 (c_register_pragma_with_expansion_and_data): New functions.
7069
218e3e4e 70702011-06-14 Joseph Myers <joseph@codesourcery.com>
7071
7072 * c-common.c: Include common/common-target.h.
7073 (handle_section_attribute): Use
7074 targetm_common.have_named_sections.
7075 * c-cppbuiltin.c: Include common/common-target.h.
7076 (c_cpp_builtins): Use targetm_common.except_unwind_info.
7077
41e53ed2 70782011-06-10 Richard Guenther <rguenther@suse.de>
7079
7080 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
7081 to print a IDENTIFIER_NODE.
7082
a6f06169 70832011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7084 Joseph Myers <joseph@codesourcery.com>
7085
7086 * c.opt (fbuilding-libgcc): New option.
7087 * c-cppbuiltin.c (c_cpp_builtins): Define
7088 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
7089
1ea9269b 70902011-06-07 Jason Merrill <jason@redhat.com>
7091
8ce59854 7092 * c-common.c (max_tinst_depth): Lower default to 900.
7093
1ea9269b 7094 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
7095
1af0124d 70962011-06-07 Richard Guenther <rguenther@suse.de>
7097
7098 * c-common.c (c_common_nodes_and_builtins): Do not set
7099 size_type_node or call set_sizetype.
7100
0e9a4c01 71012011-06-07 Dodji Seketeli <dodji@redhat.com>
7102
7103 PR debug/49130
7104 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 7105 type when using pointer comparison to compare types.
0e9a4c01 7106
90b40725 71072011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
7108
7109 * c.opt: Add -Wdelete-non-virtual-dtor.
7110 * c-opts.c (c_common_handle_option): Include it in -Wall.
7111
fc9c9e87 71122011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
7113
7114 PR bootstrap/49190
7115
7116 Revert:
7117 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7118
7119 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7120 not tree_common.
7121
d0389adc 71222011-05-27 Jakub Jelinek <jakub@redhat.com>
7123
7124 PR c++/49165
7125 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
7126 C++ don't call c_common_truthvalue_conversion on void type arms.
7127
cacfdc02 71282011-05-27 Nathan Froyd <froydnj@codesourcery.com>
7129
7130 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
7131 (stmt_list_stack): Define.
7132 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
7133 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
7134
027fc6ef 71352011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7136
7137 * c-common.c (warning_candidate_p): Check for BLOCKs.
7138
f21317a1 71392011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7140
7141 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7142 not tree_common.
7143
789e953d 71442011-05-25 Jakub Jelinek <jakub@redhat.com>
7145
7146 * c-common.c (def_fn_type): Remove extra va_end.
7147
7f506bca 71482011-05-23 Jason Merrill <jason@redhat.com>
7149
7150 PR c++/48106
7151 * c-common.c (c_common_get_narrower): New.
7152 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
7153
774e9d58 71542011-05-23 Nathan Froyd <froydnj@codesourcery.com>
7155
7156 * c-common.h (check_function_arguments): Tweak prototype of
7157 check_function_arguments.
7158 * c-common.c (check_function_arguments): Likewise. Adjust
7159 calls to check_function_nonnull, check_function_format, and
7160 check_function_sentinel.
7161 (check_function_sentinel): Take a FUNCTION_TYPE rather than
7162 separate attributes and typelist arguments. Use
7163 FOREACH_FUNCTION_ARGS to iterate over argument types.
7164
23407dc9 71652011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7166
7167 * c-common.c (c_common_reswords): Reorder.
7168 * c-common.h (rid): Likewise.
7169
3a939d12 71702011-05-10 Nathan Froyd <froydnj@codesourcery.com>
7171
7172 * c-common.c (def_fn_type): Don't call build_function_type, call
7173 build_function_type_array or build_varargs_function_type_array
7174 instead.
7175 (c_common_nodes_and_builtins): Likewise.
7176
b6e3dd65 71772011-05-05 Nathan Froyd <froydnj@codesourcery.com>
7178
7179 * c-common.c (c_add_case_label): Omit the loc argument to
7180 build_case_label.
7181 * c-common.h (build_case_label): Remove.
7182 * c-semantics.c (build_case_label): Remove.
7183
4232a958 71842011-05-05 Joseph Myers <joseph@codesourcery.com>
7185
7186 * c-objc.h (objc_start_method_definition): Update prototype.
7187 * stub-objc.c (objc_start_method_definition): Add extra parameter.
7188
d0af78c5 71892011-05-04 Nathan Froyd <froydnj@codesourcery.com>
7190
7191 * c-common.c (check_main_parameter_types): Reindent. Don't use
7192 TYPE_ARG_TYPES directly.
7193 (handle_nonnull_attribute): Likewise.
7194 (sync_resolve_params): Likewise.
7195 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
7196 to check_format_string.
7197 (handle_format_attribute): Likewise.
7198 (check_format_string): Take a function type to examine instead of
7199 a type list. Use a function_arg_iterator to step through argument
7200 types.
7201
ceb7b692 72022011-05-04 Richard Guenther <rguenther@suse.de>
7203
7204 * c-common.c (fix_string_type): Use size_int for index type bounds.
7205 (start_fname_decls): Do not pass NULL to build_int_cst.
7206 (c_init_attributes): Likewise.
7207 * c-lex.c (c_lex_with_flags): Likewise.
7208
c66c81be 72092011-04-27 Jason Merrill <jason@redhat.com>
7210
7211 * c-common.c (make_tree_vector_from_list): New.
7212 * c-common.h: Declare it.
7213
16930c72 72142011-04-26 Richard Guenther <rguenther@suse.de>
7215
7216 PR preprocessor/48248
7217 * c-ppoutput.c (maybe_print_line): Always optimize newlines
7218 for output size with -P.
7219
23407dc9 72202011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
7221
7222 * c-common.c (struct c_common_resword): Add __underlying_type.
7223 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
7224
dd045aee 72252011-04-20 Jim Meyering <meyering@redhat.com>
7226
7227 * c-format.c (init_dollar_format_checking): Remove useless
7228 if-before-free.
7229
394dd737 72302011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
7231
7232 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 7233 (objc_detect_field_duplicates): New.
394dd737 7234 * stub-objc.c: Likewise.
23407dc9 7235
a758bf7d 72362011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7237
7238 * stub-objc.c (objc_declare_protocols): Renamed to
7239 objc_declare_protocol.
7240 * c-objc.h: Likewise.
23407dc9 7241
29d7200d 72422011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7243
7244 * stub-objc.c (objc_declare_class): Updated argument name.
7245
9b88d08d 72462011-04-12 Nathan Froyd <froydnj@codesourcery.com>
7247
7248 * c-common.h (c_common_init_ts): Declare.
7249 * c-common.c (c_common_init_ts): Define.
7250
4185cf58 72512011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
7252
7253 * c-objc.h (objc_build_message_expr): Updated prototype.
7254 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 7255
5a90471f 72562011-04-12 Martin Jambor <mjambor@suse.cz>
7257
7258 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
7259 of cgraph_node.
7260
783bb57e 72612011-04-11 Richard Guenther <rguenther@suse.de>
7262
7263 * c-common.c (complete_array_type): Build a range type of
7264 proper type.
7265
c33080b9 72662011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7267
7268 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
7269 (handle_type_generic_attribute): Likewise.
7270
f8913d47 72712011-04-07 Jason Merrill <jason@redhat.com>
7272
7273 PR c++/48450
7274 * c-common.c (c_common_truthvalue_conversion): Don't ignore
7275 conversion from C++0x scoped enum.
7276
c94b1d0e 72772011-04-06 Joseph Myers <joseph@codesourcery.com>
7278
7279 * c-target-def.h: New file.
7280 * c-target.def: New file.
7281 * c-target.h: New file.
7282 * c-common.c (targetcm): Don't define here.
7283 * c-common.h (default_handle_c_option): Declare.
7284 * c-format.c: Include c-target.h instead of target.h.
7285 * c-opts.c: Include c-target.h instead of target.h. Explicitly
7286 include tm.h.
7287 (default_handle_c_option): Move from targhooks.c.
7288
acb10f41 72892011-03-29 Jakub Jelinek <jakub@redhat.com>
7290
7291 PR preprocessor/48248
7292 * c-ppoutput.c (print): Add src_file field.
7293 (init_pp_output): Initialize it.
7294 (maybe_print_line): Don't optimize by adding up to 8 newlines
7295 if map->to_file and print.src_file are different file.
7296 (print_line): Update print.src_file.
7297
82715bcd 72982011-03-25 Kai Tietz <ktietz@redhat.com>
7299
7300 * c-ada-spec.c (compare_comment): Use filename_cmp
7301 instead of strcmp for filename.
7302
451c8e2f 73032011-03-25 Jeff Law <law@redhat.com>
7304
1f78217c 7305 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 7306
3c47771c 73072011-03-25 Jason Merrill <jason@redhat.com>
7308
7309 * c.opt: Add -std=c++03.
7310
97e6200f 73112011-03-22 Eric Botcazou <ebotcazou@adacore.com>
7312
7313 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7314
92a44a68 73152011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 7316
7317 PR target/12171
ee212425 7318 * c-pretty-print.c (pp_c_specifier_qualifier_list):
7319 Display allowed attributes for function pointer types.
7320 (pp_c_attributes_display): New function to display
7321 attributes having affects_type_identity flag set to true.
7322 * c-pretty-print.h (pp_c_attributes_display): New prototype.
7323
ac86af5d 7324 * c-common.c (c_common_attribute_table):
7325 Add new element.
7326 (c_common_format_attribute_table): Likewise.
7327
914d1151 73282011-03-18 Jason Merrill <jason@redhat.com>
7329
69788bdf 7330 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7331 * c-common.h: Don't declare it here.
7332 * c-common.c: Or define it here.
7333 * c-opts.c (c_common_handle_option): Or set it here.
7334
914d1151 7335 PR c++/35315
7336 * c-common.c (handle_transparent_union_attribute): Don't
7337 make a duplicate type in C++.
7338
54cf6eed 73392011-03-15 Jason Merrill <jason@redhat.com>
7340
7341 * c-common.c (max_constexpr_depth): New.
7342 * c-common.h: Declare it.
7343 * c-opts.c (c_common_handle_option): Set it.
7344 * c.opt (fconstexpr-depth): New option.
7345
02cb1060 73462011-03-11 Jason Merrill <jason@redhat.com>
7347
9bf1c74e 7348 * c-common.c (attribute_takes_identifier_p): Add missing const.
7349
02cb1060 7350 PR c++/46803
7351 * c-common.c (attribute_takes_identifier_p): Assume that an
7352 unknown attribute takes an identifier.
7353
ecf2703d 73542011-03-07 Nathan Froyd <froydnj@codesourcery.com>
7355
7356 PR c/47786
7357 * c-common.c (c_type_hash): Call list_length instead of iterating
7358 through DECL_CHAIN. Rename 'i' to 'n_elements'.
7359
2b19dfe4 73602011-02-19 Jakub Jelinek <jakub@redhat.com>
7361
7362 PR c/47809
7363 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7364
29cf2335 73652011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7366
7367 * c.opt (fobjc-abi-version=) New.
7368 (fobjc-nilcheck): New.
7369
fad3f658 73702011-02-03 Nathan Froyd <froydnj@codesourcery.com>
7371
7372 PR c++/46890
7373 * c-common.h (keyword_is_decl_specifier): Declare.
7374 * c-common.c (keyword_is_decl_specifier): Define.
7375 (keyword_is_function_specifier): New function.
7376
a12319b3 73772011-01-26 Jakub Jelinek <jakub@redhat.com>
7378
7379 PR c/47473
7380 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7381 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7382 REAL_TYPE.
7383
5c128dc8 73842011-01-26 Arnaud Charlet <charlet@adacore.com>
7385
7386 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7387
8d67b0c7 73882011-01-26 Jakub Jelinek <jakub@redhat.com>
7389
7390 PR pch/47430
7391 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7392 after init_c_lex if pch_file is set.
7393
0675168d 73942011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
7395
e8911163 7396 PR c++/43601
0675168d 7397 * c.opt (-fkeep-inline-dllexport): New switch.
7398
0725e25c 73992011-01-12 Richard Guenther <rguenther@suse.de>
7400
7401 PR middle-end/32511
7402 * c-common.c (handle_weak_attribute): Warn instead of error
7403 on declaring an inline function weak.
7404
fdd84b77 74052011-01-05 Tom Tromey <tromey@redhat.com>
7406
7407 * c-common.h (lvalue_error): Update.
7408 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
7409 not error.
7410
e6e73d14 74112010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 7412
d67e8485 7413 PR objc/47075
7414 * c-objc.h (objc_finish_message_expr): Added argument to
7415 prototype.
7416
a36cf284 74172010-12-22 Nathan Froyd <froydnj@codesourcery.com>
7418
7419 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7420 Use prototype_p.
7421
33b3681f 74222010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
7423
7424 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 7425 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 7426
a1f90215 74272010-12-10 Nathan Froyd <froydnj@codesourcery.com>
7428
7429 * c-common.h (readonly_error): Declare.
7430 * c-common.c (readonly_error): Define.
7431
b1bbc8e5 74322010-12-09 Nathan Froyd <froydnj@codesourcery.com>
7433
7434 * c-common.h (invalid_indirection_error): Declare.
7435 * c-common.c (invalid_indirection_error): Define.
7436
b0d55af9 74372010-12-03 Richard Guenther <rguenther@suse.de>
7438
7439 PR c/46745
7440 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7441 (pp_c_unary_expression): Likewise.
7442 (pp_c_expression): Likewise.
7443
d7489d8d 74442010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
7445
7446 * c-common.h (objc_finish_function): New.
7447 (objc_non_volatilized_type): Removed.
7448 (objc_type_quals_match): Removed.
7449 * stub-objc.c (objc_finish_function): New.
7450 (objc_non_volatilized_type): Removed.
7451 (objc_type_quals_match): Removed.
19931eea 7452
92468061 74532010-11-30 Joseph Myers <joseph@codesourcery.com>
7454
7455 * c-common.h (parse_optimize_options): Declare.
7456 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7457 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7458
967958e4 74592010-11-29 Joseph Myers <joseph@codesourcery.com>
7460
7461 * c-opts.c (check_deps_environment_vars): Use getenv instead of
7462 GET_ENVIRONMENT.
7463 * c-pch.c (O_BINARY): Don't define here.
7464 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7465
b213bf24 74662010-11-25 Joseph Myers <joseph@codesourcery.com>
7467
7468 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7469 targetm.except_unwind_info.
7470
9faf44d6 74712010-11-23 Joseph Myers <joseph@codesourcery.com>
7472
7473 * c-opts.c (c_common_handle_option): Pass location to
7474 set_struct_debug_option.
7475
79396169 74762010-11-23 Joseph Myers <joseph@codesourcery.com>
7477
7478 * c-common.c (visibility_options): Move from ../opts.c.
7479 * c-common.h (struct visibility_flags, visibility_options):
7480 Declare here.
7481 * c-opts.c (finish_options): Rename to c_finish_options.
7482 (c_common_init): Update call to finish_options.
7483
b4aa4123 74842010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
7485
7486 PR objc/34033
7487 * c-lex.c (lex_string): Check that each string in an Objective-C
7488 string concat sequence starts with either one or zero '@', and
7489 that there are no spurious '@' signs at the end.
7490
3e0e49f2 74912010-11-20 Joseph Myers <joseph@codesourcery.com>
7492
7493 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7494 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7495 HANDLE_PRAGMA_VISIBILITY.
7496 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7497 HANDLE_PRAGMA_VISIBILITY): Don't define.
7498 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7499
a9ffdd35 75002010-11-20 Nathan Froyd <froydnj@codesourcery.com>
7501
7502 PR c++/16189
7503 PR c++/36888
7504 PR c++/45331
7505 * c-common.h (keyword_begins_type_specifier): Declare.
7506 (keyword_is_storage_class_specifier): Declare.
7507 (keyword_is_type_qualifier): Declare.
7508 * c-common.c (keyword_begins_type_specifier): New function.
7509 (keyword_is_storage_class_specifier): New function.
7510 (keyword_is_type_qualifier): Declare.
7511
93be21c0 75122010-11-19 Joseph Myers <joseph@codesourcery.com>
7513
7514 PR c/46547
7515 * c-common.c (in_late_binary_op): Define.
7516 (c_common_truthvalue_conversion): Check in_late_binary_op before
7517 calling c_save_expr.
7518 * c-common.h (in_late_binary_op): Declare.
7519
d7175aef 75202010-11-19 Joseph Myers <joseph@codesourcery.com>
7521
7522 * c-opts.c (c_common_handle_option): Update calls to
7523 set_struct_debug_option.
7524
c213e196 75252010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
7526
7527 * c-common.h (objc_declare_protocols): Added additional argument.
7528 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 7529
0b5fc5d6 75302010-11-18 Nathan Froyd <froydnj@codesourcery.com>
7531
7532 PR c/33193
7533 * c-common.h (build_real_imag_expr): Declare.
7534 * c-semantics.c (build_real_imag_expr): Define.
7535
b8ba44e7 75362010-11-17 Joseph Myers <joseph@codesourcery.com>
7537
7538 * c-opts.c (c_common_parse_file): Take no arguments.
7539 * c-common.h (c_common_parse_file): Update prototype.
7540
6ef8d12f 75412010-11-16 Jakub Jelinek <jakub@redhat.com>
7542
7543 PR c++/46401
7544 * c-common.c (warning_candidate_p): Don't track non-const calls
7545 or STRING_CSTs.
7546
929d2a90 75472010-11-15 Ian Lance Taylor <iant@google.com>
7548
7549 * c-lex.c (init_c_lex): Set macro debug callbacks if
7550 flag_dump_go_spec is set.
7551
e4a7640a 75522010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
7553
7554 * c-common.h (objc_build_incr_expr_for_property_ref): New.
7555 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7556
597d2d81 75572010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7558
7559 PR preprocessor/45038
7560 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7561 dialects.
7562
c123f04d 75632010-11-12 Joseph Myers <joseph@codesourcery.com>
7564
7565 * c-common.h (c_family_lang_mask): Declare.
7566 * c-opts.c (c_family_lang_mask): Make extern.
7567 * c-pragma.c (handle_pragma_diagnostic): Use
7568 control_warning_option.
7569
3c6c0e40 75702010-11-12 Joseph Myers <joseph@codesourcery.com>
7571
7572 * c-common.c (parse_optimize_options): Update call to
7573 decode_options.
7574 * c-common.h (c_common_handle_option): Update prototype.
7575 * c-opts.c (c_common_handle_option): Take location_t parameter and
7576 pass it to other functions.
7577
19ec5c9e 75782010-11-11 Joseph Myers <joseph@codesourcery.com>
7579
7580 * c-opts.c (warning_as_error_callback): Remove.
7581 (c_common_initialize_diagnostics): Don't call
7582 register_warning_as_error_callback.
7583 (c_common_handle_option): Handle -Werror=normalized= here.
7584
bf776685 75852010-11-10 Joseph Myers <joseph@codesourcery.com>
7586
7587 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7588 in diagnostic.
7589 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7590 letter.
7591 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7592 Remove trailing '.' from diagnostics.
7593 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7594
6bd9d862 75952010-11-10 Joseph Myers <joseph@codesourcery.com>
7596
7597 * c-common.c (parse_optimize_options): Pass global_dc to
7598 decode_options.
7599 * c-opts.c (c_common_handle_option): Pass &global_options to
7600 set_Wstrict_aliasing.
7601 * c.opt (v): Don't mark Common or document here.
7602
1f6616ee 76032010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7604
7605 PR target/44981
7606 * c-format.c (format_type): New type gcc_objc_string_format_type.
7607 (valid_stringptr_type_p): New.
7608 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 7609 (check_format_string): Pass expected type, use
1f6616ee 7610 valid_stringptr_type_p (), check that the format string types are
7611 consistent with the format specification.
7612 (decode_format_attr): Warn if NSString is used outside objective-c.
7613 (format_types_orig): Add NSString.
7614 (format_name): New.
7615 (format_flags): New.
7616 (check_format_arg): Handle format strings requiring an external parser.
7617 first_target_format_type: New variable.
7618 (handle_format_attribute): Set up first_target_format_type, pass the
7619 expected format arg string type to check_format_string().
7620 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7621 * stub-objc.c (objc_string_ref_type_p): New.
7622 (objc_check_format_arg): New.
7623
b0d0931f 76242010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7625
19931eea 7626 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 7627 * c-common.h (objc_build_class_component_ref): New.
7628 * stub-objc.c (objc_build_class_component_ref): New.
7629
f26877d5 76302010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7631
7632 * c.opt (Wproperty-assign-default): New option.
7633
1ef143b6 76342010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7635
7636 Implemented -fobjc-std=objc1 flag.
7637 * c.opt (fobjc-std=objc1): New option.
7638
8c582e4f 76392010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7640
7641 Implemented format and noreturn attributes for Objective-C methods.
7642 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7643 attribute for Objective-C methods.
7644
8637f1db 76452010-10-31 Jason Merrill <jason@redhat.com>
7646
7647 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7648 EXPR_LOC_OR_HERE.
7649
9d9f5bb3 76502010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7651
7652 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7653 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7654 (objc_add_property_declaration): Removed arguments for copies and
7655 ivar.
7656 (objc_build_getter_call): Renamed to
7657 objc_maybe_build_component_ref.
7658 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7659 (objc_is_property_ref): New.
7660 * c-common.c (c_common_reswords): Removed copies and ivar.
7661 * stub-objc.c (objc_add_property_declaration): Removed arguments
7662 for copies and ivar.
7663 (objc_build_getter_call): Renamed to
7664 objc_maybe_build_component_ref.
7665 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7666 (objc_is_property_ref): New.
19931eea 7667
56f907a0 76682010-10-29 Arnaud Charlet <charlet@adacore.com>
7669 Matthew Gingell <gingell@adacore.com>
7670
7671 * c-ada-spec.c (separate_class_package): New function.
7672 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7673 name of their enclosing package.
7674 (print_ada_declaration): Use separate_class_package.
7675
b5fa273e 76762010-10-27 Jason Merrill <jason@redhat.com>
7677
5290e253 7678 * c-common.c (c_common_reswords): Add __is_literal_type.
7679 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7680
b5fa273e 7681 * c-common.c (check_case_value): Remove special C++ code.
7682
7590f0e5 76832010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7684
7685 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7686 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7687 and RID_LAST_PATTR.
7688 (objc_add_property_declaration): Added additional arguments.
7689 (objc_property_attribute_kind): Removed.
7690 (objc_set_property_attr): Removed.
7691 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7692 copy and nonatomic.
7693 * stub-objc.c (objc_add_property_declaration): Added additional
7694 arguments.
7695 (objc_set_property_attr): Removed.
19931eea 7696
1d894bcf 76972010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7698
7699 * c-common.h (objc_add_property_variable): Renamed to
7700 objc_add_property_declaration. Added location argument.
7701 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 7702
e23bf1fb 77032010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7704
7705 * c-common.h (objc_maybe_printable_name): New.
7706 * stub-objc.c (objc_maybe_printable_name): New.
7707
92a44a68 77082010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7709 Andrew Pinski <pinskia@gmail.com>
93426222 7710
7711 * c-common.h (c_common_mark_addressable_vec): Declare.
7712 * c-common.c (c_common_mark_addressable_vec): New function.
7713
45b2b110 77142010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7715
7716 * c-common.h (objc_set_method_type): Removed.
7717 (objc_add_method_declaration): Added boolean argument.
7718 (objc_start_method_definition): Same change.
7719 (objc_build_method_signature): Same change.
7720 * stub-objc.c (objc_set_method_type): Removed.
7721 (objc_add_method_declaration): Added boolean argument.
7722 (objc_start_method_definition): Same change.
7723 (objc_build_method_signature): Same change.
7724
64cd9619 77252010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7726
7727 * c-common.h (finish_file): Removed.
7728 (objc_write_global_declarations): New.
7729 * c-opts.c (c_common_parse_file): Do not call finish_file.
7730 * stub-objc.c (objc_write_global_declarations): New.
19931eea 7731
e1f293c0 77322010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7733
7734 Implemented parsing @synthesize and @dynamic for
7735 Objective-C/Objective-C++.
7736 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7737 (objc_add_synthesize_declaration): New.
7738 (objc_add_dynamic_declaration): New.
7739 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7740 * stub-objc.c (objc_add_synthesize_declaration): New.
7741 (objc_add_dynamic_declaration): New.
19931eea 7742
ef97a312 77432010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7744
7745 PR target/46041
7746 * c-cppbuiltin.c (mode_has_fma): Move function here from
7747 builtins.c. Don't use the fma optab, instead just use the
7748 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7749 using -save-temps.
7750
69b07042 77512010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7752
7753 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 7754
92a44a68 7755 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 7756
19931eea 7757 Radar 4330422
69b07042 7758 * c-common.h (objc_non_volatilized_type): New declaration
7759 * stub-objc.c (objc_non_volatilized_type): New stub.
7760
f15f2e56 77612010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7762
69b07042 7763 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 7764
92a44a68 7765 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 7766
19931eea 7767 Radar 4133425
f15f2e56 7768 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 7769 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 7770
4a8875ed 77712010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7772
7773 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7774 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7775 (objc_ivar_visibility_kind): New enum.
7776 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 7777 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 7778 visibility enum.
7779
7e0713b1 77802010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7781
7782 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7783 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7784 has the appropriate fma builtins.
7785 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7786
86c110ac 77872010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7788
7e0713b1 7789 merge from FSF apple 'trunk' branch.
92a44a68 7790 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 7791
86c110ac 7792 Radars 4436866, 4505126, 4506903, 4517826
7793 * c-common.c (c_common_resword): Define @property and its attributes.
7794 * c-common.h: Define property attribute enum entries.
7795 (OBJC_IS_PATTR_KEYWORD): New.
7796 (objc_property_attribute_kind): New enum.
7797 Declare objc_set_property_attr (), objc_add_property_variable (),
7798 objc_build_getter_call () and objc_build_setter_call ().
7799 * stub-objc.c (objc_set_property_attr): New stub.
7800 (objc_add_property_variable): Likewise.
7801 (objc_build_getter_call): Likewise.
7802 (objc_build_setter_call) Likewise.
7e0713b1 7803
40c8d1dd 78042010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7805
7e0713b1 7806 merge from FSF apple 'trunk' branch.
92a44a68 7807 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 7808
7809 Radar 3803157 (method attributes)
7810 * c-common.c (handle_deprecated_attribute): Recognize
7811 objc methods as valid declarations.
7812 * c-common.h: Declare objc_method_decl ().
7e0713b1 7813 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 7814
f3f006ad 78152010-10-08 Joseph Myers <joseph@codesourcery.com>
7816
7817 * c-common.c (parse_optimize_options): Call
7818 decode_cmdline_options_to_array_default_mask before
7819 decode_options. Update arguments to decode_options.
7820 * c-common.h (c_common_init_options_struct): Declare.
7821 * c-opts.c (c_common_init_options_struct): New. Split out from
7822 c_common_init_options.
7823
0a65c3bb 78242010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7825
7826 Implemented fast enumeration for Objective-C.
7827 * c-common.h (objc_finish_foreach_loop): New.
7828 * stub-objc.c (objc_finish_foreach_loop): New.
7829
24ca3b4e 78302010-10-05 Joseph Myers <joseph@codesourcery.com>
7831
7832 * c-common.h (struct diagnostic_context): Don't declare here.
7833 (c_common_initialize_diagnostics): Declare using
7834 diagnostic_context typedef.
7835 * c-opts.c (c_common_handle_option): Pass global_dc to
7836 handle_generated_option.
7837
f83b64ca 78382010-10-04 Joseph Myers <joseph@codesourcery.com>
7839
7840 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7841 handle_generated_option.
7842
2fdec027 78432010-10-03 Ian Lance Taylor <iant@google.com>
7844
7845 * c.opt (-fplan9-extensions): New option.
7846
41acdfa4 78472010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7848
7849 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7850 Remove.
7851 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7852 of duplicating code.
7853
069761fb 78542010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7855
7856 * c-common.c: Add two new entries for @optional
7857 and @required keywords.
7858
7859 merge from FSF 'apple/trunk' branch.
92a44a68 7860 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 7861
7862 Radar 4386773
7863 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7864 objective-c keywords.
7865 (objc_set_method_opt): New declaration.
7866 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 7867
2c5d2e39 78682010-09-30 Joseph Myers <joseph@codesourcery.com>
7869
7870 * c-common.c (handle_optimize_attribute): Pass &global_options to
7871 cl_optimization_save and cl_optimization_restore.
7872 * c-opts.c (c_common_handle_option): Pass &global_options to
7873 handle_generated_option.
7874 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7875 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7876 &global_options to cl_optimization_restore.
7877
e5c75ac3 78782010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7879
7880 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7881 Objective-C/Objective-C++ keywords.
7882
3511333e 78832010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 7884
19931eea 7885 Merge from 'apple/trunk' branch on FSF servers.
7886
92a44a68 7887 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 7888
7889 Radar 4281748
7890 * c-common.h (objc_check_global_decl): New declaration.
7891 * stub-objc.c (objc_check_global_decl): New stub.
7892
5461e683 78932010-09-29 Joseph Myers <joseph@codesourcery.com>
7894
7895 * c.opt: Don't use VarExists.
7896
5ae82d58 78972010-09-29 Joseph Myers <joseph@codesourcery.com>
7898
7899 * c-common.c (c_cpp_error): Update names of diagnostic_context
7900 members.
7901 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7902 cl_optimization members.
7903 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7904 sanitize_cpp_opts, finish_options): Update names of cpp_options
7905 members.
7906
b27e241e 79072010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7908
7909 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7910 (objc_is_reserved_word): Removed.
7911 * c-common.c: Updated comments.
7912 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7913 objc_is_reserved_word.
7914 * stub-objc.c (objc_is_reserved_word): Removed.
7915
03fc2271 79162010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7917
19931eea 7918 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 7919 include attributes.
7920 (objc_start_method_definition): Likewise.
7921 (objc_build_keyword_decl): Likewise.
7922 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7923 (objc_start_method_definition): Likewise.
7924 (objc_build_keyword_decl): Likewise.
7925
a336eb4b 79262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7927
7928 * c-common.h (objc_start_class_interface): Adjust prototype.
7929 (objc_start_category_interface): Likewise.
7930 (objc_start_protocol): Likewise.
7931 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7932 (objc_start_class_interface): Likewise.
7933 (objc_start_category_interface): Likewise.
7934
48b14f50 79352010-09-27 Ian Lance Taylor <iant@google.com>
7936
7937 * c-common.c (c_common_attribute_table): Add no_split_stack.
7938 (handle_no_split_stack_attribute): New static function.
7939
4abfc532 79402010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7941
19931eea 7942 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 7943
92a44a68 7944 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 7945
19931eea 7946 Radar 4229905
4abfc532 7947 * c-common.h (objc_have_common_type): New declaration.
7948 * stub-objc.c (objc_have_common_type): New stub.
7949
7950 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7951
7952 Radar 4154928
7953 * c-common.h (objc_common_type): New prototype.
19931eea 7954 * stub-objc.c (objc_common_type): New stub.
4abfc532 7955
7bd95dfd 79562010-09-24 Jan Hubicka <jh@suse.cz>
7957
7958 * c-common.c (handle_leaf_attribute): New function.
7959 (struct attribute_spec c_common_att): Add leaf.
7960
5789e05b 79612010-09-22 Joseph Myers <joseph@codesourcery.com>
7962
7963 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7964 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7965 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7966 -include-barrier, -include-directory, -include-directory=,
7967 -include-directory-after, -include-directory-after=,
7968 -include-prefix, -include-prefix=, -include-with-prefix,
7969 -include-with-prefix=, -include-with-prefix-after,
7970 -include-with-prefix-after=, -include-with-prefix-before,
7971 -include-with-prefix-before=, -no-integrated-cpp,
7972 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7973 -output=, -pedantic, -pedantic-errors, -preprocess,
7974 -print-missing-file-dependencies, -trace-includes, -traditional,
7975 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7976 -user-dependencies, -verbose, -write-dependencies,
7977 -write-user-dependencies, no-integrated-cpp, traditional): New.
7978
e6fb54ba 79792010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7980
7981 PR objc/23710
9b60f3b0 7982 * c-common.h (objc_start_method_definition): Return bool instead
7983 of void.
7984 * stub-objc.c (objc_start_method_definition): Return bool instead
7985 of void.
7986
79872010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7988
7989 PR objc/25965
7990 * c-common.h (objc_get_interface_ivars): New declaration.
7991 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 7992
e44b0a1f 79932010-09-15 Ian Lance Taylor <iant@google.com>
7994
7995 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 7996 messages. Remove period at end of warning message.
e44b0a1f 7997
85c0a25c 79982010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7999
8000 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
8001 (handle_alias_attribute): ... here.
8002 (handle_ifunc_attribute): New.
8003
5ba33bf4 80042010-09-06 Mark Mitchell <mark@codesourcery.com>
8005
8006 * c-common.h (do_warn_double_promotion): Declare.
8007 * c-common.c (do_warn_double_promotion): Define.
8008
c920faa3 80092010-09-05 Mark Mitchell <mark@codesourcery.com>
8010
8011 * c.opt (Wdouble-promotion): New.
8012
9604e070 80132010-09-02 Joseph Myers <joseph@codesourcery.com>
8014
8015 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
8016 fvtable-thunks, fxref): Mark no longer supported in help text.
8017
3b0273a1 80182010-09-02 Joseph Myers <joseph@codesourcery.com>
8019
8020 * c.opt (Wimport, fall-virtual, falt-external-templates,
8021 fdefault-inline, fenum-int-equiv, fexternal-templates,
8022 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
8023 fname-mangling-version-, fnew-abi, fnonnull-objects,
8024 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
8025 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
8026 applicable.
8027 (fhandle-exceptions): Mark with Alias and Warn.
8028 * c-opts.c (c_common_handle_option): Don't handle options marked
8029 as ignored.
8030
67089c6b 80312010-09-02 Joseph Myers <joseph@codesourcery.com>
8032
8033 * c.opt (Wcomments, Werror-implicit-function-declaration,
8034 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
8035 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
8036 aliases.
8037 * c-common.c (option_codes): Use OPT_Wcomment instead of
8038 OPT_Wcomments.
8039 * c-opts.c (warning_as_error_callback, c_common_handle_option):
8040 Don't handle options marked as aliases.
8041
2af087f2 80422010-08-25 Richard Guenther <rguenther@suse.de>
8043
8044 * c-common.c (c_common_get_alias_set): Remove special
8045 handling for pointers.
8046
48148244 80472010-08-20 Nathan Froyd <froydnj@codesourcery.com>
8048
8049 * c-common.c: Use FOR_EACH_VEC_ELT.
8050 * c-gimplify.c: Likewise.
8051 * c-pragma.c: Likewise.
8052
89c69892 80532010-08-16 Joseph Myers <joseph@codesourcery.com>
8054
8055 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
8056 RejectDriver.
8057 (MMDX): Change back to MMD. Mark NoDriverArg instead of
8058 RejectDriver.
8059 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
8060 instead of OPT_MDX and OPT_MMDX.
8061
e28aa114 80622010-08-16 Joseph Myers <joseph@codesourcery.com>
8063
8064 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
8065
99b66d21 80662010-08-12 Joseph Myers <joseph@codesourcery.com>
8067
8068 * c.opt (MD, MMD): Change to MDX and MMDX.
8069 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
8070
666f4bf0 80712010-08-11 Joseph Myers <joseph@codesourcery.com>
8072
8073 * c-opts.c (c_common_handle_option): Call handle_generated_option
8074 instead of handle_option.
8075
5ec815f6 80762010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8077
8078 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
8079 (maybe_apply_renaming_pragma): Delete unneeded declarations.
8080
d13143cf 80812010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8082
8083 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
8084 (pending_redefine_extname): Change type to a VEC.
8085 (add_to_renaming_pragma_list): Update for new type of
8086 pending_redefine_extname.
5ec815f6 8087 (maybe_apply_renaming_pragma): Likewise.
d13143cf 8088
2008c983 80892010-08-04 Arnaud Charlet <charlet@adacore.com>
8090
8091 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
8092 visited.
8093 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
8094 decide whether a type has already been declared/seen.
8095 Do not go to the original type.
8096 (dump_nested_types): New parameter forward.
8097 Generate forward declaration if needed and mark type as visited.
8098 (print_ada_declaration): Call dump_nested_types if not already done.
8099 Mark types as visited.
8100
9b091a73 81012010-08-03 Joseph Myers <joseph@codesourcery.com>
8102
8103 * c.opt (-print-pch-checksum): Remove option.
8104 * c-opts.c (c_common_handle_option): Don't handle
8105 OPT_print_pch_checksum.
8106
b78351e5 81072010-07-27 Joseph Myers <joseph@codesourcery.com>
8108
8109 * c-common.h (c_common_handle_option): Update prototype and return
8110 value type.
8111 * c-opts.c (c_common_handle_option): Update prototype and return
8112 value type. Update calls to handle_option and
8113 enable_warning_as_error.
8114
34416a90 81152010-07-27 Jakub Jelinek <jakub@redhat.com>
8116
8117 PR c/45079
8118 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
8119
fecf9011 81202010-07-27 Joseph Myers <joseph@codesourcery.com>
8121
8122 * c-common.h (c_common_missing_argument): Remove.
8123 * c-opts.c (c_common_missing_argument): Remove.
8124 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
8125 idirafter, imacros, include, isysroot, isystem, iquote): Add
8126 MissingArgError.
8127 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
8128
e88d34f6 81292010-07-27 Joseph Myers <joseph@codesourcery.com>
8130
8131 * c-common.h (c_common_option_lang_mask,
8132 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
8133 New.
8134 (c_common_init_options): Update prototype.
8135 * c-opts.c (c_common_option_lang_mask): New.
8136 (c_common_initialize_diagnostics): Split out of
8137 c_common_init_options.
8138 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
8139 New.
8140 (c_common_init_options): Update prototype. Use decoded options in
8141 search for -lang-asm.
8142
1767a056 81432010-07-15 Nathan Froyd <froydnj@codesourcery.com>
8144
8145 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
8146 * c-format.c: Likewise.
8147
0b205f4c 81482010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
8149
8150 * c-common.h: Include diagnostic-core.h. Error if already
8151 included.
8152 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
8153
1c58e3f1 81542010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8155
1f78217c 8156 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 8157 Do not include expr.h
8158 (vector_mode_valid_p): Move here.
8159
33cc157c 81602010-06-21 DJ Delorie <dj@redhat.com>
8161
8162 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
8163 allow these pragmas anywhere.
8164
81652010-06-14 Jakub Jelinek <jakub@redhat.com>
8166
8167 PR bootstrap/44509
8168 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
8169 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
8170 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
8171 ggc_strdup instead of xstrdup.
8172
81732010-06-10 Jakub Jelinek <jakub@redhat.com>
8174
8175 * c-cppbuiltin.c: Include cpp-id-data.h.
8176 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
8177 (lazy_hex_fp_value): New function.
8178 (builtin_define_with_hex_fp_value): Provide definitions lazily.
8179
9b40bfbf 81802010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8181
8182 * c-gimplify.c: Do not include tree-flow.h
8183
202d6e5f 81842010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
8185
8186 PR other/44034
8187 * c-common.c: Rename targetm member:
8188 targetm.enum_va_list -> targetm.enum_va_list_p
8189
d3237426 81902010-06-28 Anatoly Sokolov <aesok@post.ru>
8191
8192 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
8193
596981c8 81942010-06-28 Steven Bosscher <steven@gcc.gnu.org>
8195
8196 * c-cppbuiltin.c: Do not include except.h.
8197
b9bdfa0b 81982010-06-24 Andi Kleen <ak@linux.intel.com>
8199
19931eea 8200 * c-common.c (warn_for_omitted_condop): New.
8201 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 8202
55ad092d 82032010-06-21 Joseph Myers <joseph@codesourcery.com>
8204
8205 * c.opt (lang-objc): Remove.
8206 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
8207
9e7c2572 82082010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
8209
8210 * c-opts.c: Include "tm_p.h".
8211
615ef0bb 82122010-06-20 Joseph Myers <joseph@codesourcery.com>
8213
8214 * c-common.c (parse_optimize_options): Update call to
8215 decode_options.
8216
aef48c9a 82172010-06-18 Nathan Froyd <froydnj@codesourcery.com>
8218
8219 * c-common.c (record_types_used_by_current_var_decl): Adjust for
8220 new type of types_used_by_cur_var_decl.
8221
d74003b4 82222010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
8223
8224 PR bootstrap/44512
8225 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
8226 for C++ standard compliance.
8227
1194d077 82282010-06-16 Jason Merrill <jason@redhat.com>
8229
8230 * c.opt: Add -Wnoexcept.
8231
d473d901 82322010-06-16 Richard Guenther <rguenther@suse.de>
8233
8234 PR c/44555
8235 * c-common.c (c_common_truthvalue_conversion): Remove
8236 premature and wrong optimization concering ADDR_EXPRs.
8237
b62dbfd3 82382010-06-15 Arnaud Charlet <charlet@adacore.com>
8239
8240 * c-ada-spec.c (dump_sloc): Remove column info.
8241 (is_simple_enum): New function.
8242 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
8243 enum types when relevant.
8244
200dd99c 82452010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8246
19931eea 8247 * c-common.c (conversion_warning): Warn at expression
200dd99c 8248 location.
8249
abf6a617 82502010-06-10 Joseph Myers <joseph@codesourcery.com>
8251
8252 * c-opts.c (c_common_handle_option): Don't handle
8253 OPT_fshow_column.
8254
ba72912a 82552010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
8256
8257 * c-pragma.c (push_alignment): Use typed GC allocation.
8258 (handle_pragma_push_options): Likewise.
8259
8260 * c-common.c (parse_optimize_options): Likewise.
8261
8262 * c-common.h (struct sorted_fields_type): Add variable_size GTY
8263 option.
8264
4aafe913 82652010-06-07 Joseph Myers <joseph@codesourcery.com>
8266
8267 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
8268 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8269 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8270 flag_signed_bitfields, warn_strict_null_sentinel,
8271 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8272 flag_gen_declaration, flag_no_gnu_keywords,
8273 flag_implement_inlines, flag_implicit_templates,
8274 flag_implicit_inline_templates, flag_optional_diags,
8275 flag_elide_constructors, flag_default_inline, flag_rtti,
8276 flag_conserve_space, flag_access_control, flag_check_new,
8277 flag_new_for_scope, flag_weak, flag_working_directory,
8278 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8279 flag_enforce_eh_specs, flag_threadsafe_statics,
8280 flag_pretty_templates): Remove.
8281 * c-common.h (flag_preprocess_only, flag_nil_receivers,
8282 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8283 flag_replace_objc_classes, flag_undef, flag_no_builtin,
8284 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8285 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8286 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8287 flag_no_gnu_keywords, flag_implement_inlines,
8288 flag_implicit_templates, flag_implicit_inline_templates,
8289 flag_optional_diags, flag_elide_constructors, flag_default_inline,
8290 flag_rtti, flag_conserve_space, flag_access_control,
8291 flag_check_new, flag_new_for_scope, flag_weak,
8292 flag_working_directory, flag_use_cxa_atexit,
8293 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8294 flag_threadsafe_statics, flag_pretty_templates,
8295 warn_strict_null_sentinel): Remove.
8296 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8297 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8298 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8299 fimplicit-inline-templates, fimplicit-templates,
8300 flax-vector-conversions, fms-extensions, fnil-receivers,
8301 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8302 frtti, fshort-double, fshort-enums, fshort-wchar,
8303 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8304 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8305 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8306 gen-decls, undef): Use Var.
8307 (fdefault-inline, foptional-diags): Document as doing nothing.
8308 * c-opts.c (c_common_handle_option): Remove cases for options now
8309 using Var. Mark ignored options as such.
8310
7bedc3a0 83112010-06-05 Steven Bosscher <steven@gcc.gnu.org>
8312
19931eea 8313 * c-common.c: Moved to here from parent directory.
7bedc3a0 8314 * c-common.def: Likewise.
8315 * c-common.h: Likewise.
8316 * c-cppbuiltin.c: Likewise.
8317 * c-dump.c: Likewise.
8318 * c-format.c: Likewise.
8319 * c-format.h : Likewise.
8320 * c-gimplify.c: Likewise.
8321 * c-lex.c: Likewise.
8322 * c-omp.c: Likewise.
8323 * c.opt: Likewise.
8324 * c-opts.c: Likewise.
8325 * c-pch.c: Likewise.
8326 * c-ppoutput.c: Likewise.
8327 * c-pragma.c: Likewise.
8328 * c-pragma.h: Likewise.
8329 * c-pretty-print.c: Likewise.
8330 * c-pretty-print.h: Likewise.
8331 * c-semantics.c: Likewise.
8332 * stub-objc.c: Likewise.
8333
8334 * c-common.c: Include gt-c-family-c-common.h.
8335 * c-pragma.c: Include gt-c-family-c-pragma.h.
8336\f
aad93da1 8337Copyright (C) 2010-2017 Free Software Foundation, Inc.
7bedc3a0 8338
8339Copying and distribution of this file, with or without modification,
8340are permitted in any medium without royalty provided the copyright
8341notice and this notice are preserved.