]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
2017-10-30 Maxim Ostapenko <m.ostapenko@samsung.com>
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
8c32188e 12017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2
3 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
4 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
5 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
6 __FP_FAST_FMA<N>X.
7
0f637402 82017-10-23 Marek Polacek <polacek@redhat.com>
9
10 PR c/82681
11 * c-warn.c (warnings_for_convert_and_check): Fix typos.
12
2b34677f 132017-10-19 Eric Botcazou <ebotcazou@adacore.com>
14
15 * c-common.c (check_builtin_function_arguments): Also check arguments
16 of __builtin_alloca_with_align_and_max.
17
3a010afa 182017-10-17 David Malcolm <dmalcolm@redhat.com>
19
20 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
21 rather than NULL to format_warning_va.
22 (check_format_types): Likewise when calling format_type_warning.
23 Remove code to extract source_ranges and source_range * in favor
24 of just a location_t.
25 (format_type_warning): Convert source_range * param to a
26 location_t.
27
a78fcdf9 282017-10-13 Jakub Jelinek <jakub@redhat.com>
29
30 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
31 [LR]SHIFT_EXPR.
32
74578794 332017-10-12 David Malcolm <dmalcolm@redhat.com>
34
35 * c-common.c (enum missing_token_insertion_kind): New enum.
36 (get_missing_token_insertion_kind): New function.
37 (maybe_suggest_missing_token_insertion): New function.
38 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
39
299a080a 402017-10-11 Nathan Sidwell <nathan@acm.org>
41
42 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
43 (c_common_handle_option): Update incpath_kind names.
44
93e9d560 452017-10-11 Martin Liska <mliska@suse.cz>
46
47 PR sanitizer/82490
48 * c-attribs.c (handle_no_sanitize_attribute): Report directly
49 Wattributes warning.
50
e3d0f65c 512017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
52
53 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
54 operating on trees as wide_ints.
55 * c-common.c (pointer_int_sum): Likewise.
56 * c-pretty-print.c (pp_c_integer_constant): Likewise.
57 * c-warn.c (match_case_to_enum_1): Likewise.
58 (c_do_switch_warnings): Likewise.
59 (maybe_warn_shift_overflow): Likewise.
60
8688bba9 612017-10-10 Jakub Jelinek <jakub@redhat.com>
62
63 PR c/82437
64 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
65 instead of wide_int::from.
66
bc64d8a6 672017-10-06 Jakub Jelinek <jakub@redhat.com>
68
69 PR c/82437
70 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
71 using to_widest use wide_int with the larger of the two precisions.
72
ce4c2def 732017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
74
75 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
76 functions.
77
cb7bca5f 782017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
79
80 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
81 when combining the original unconverted comparison operands.
82
db967b08 832017-09-29 Jakub Jelinek <jakub@redhat.com>
84
85 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
86 attribute.
87
f5bdf6da 882017-09-29 Eric Botcazou <ebotcazou@adacore.com>
89
90 * c-ada-spec.c (to_ada_name): Add index parameter.
91 (pp_ada_tree_identifier): Likewise.
92 (dump_ada_macros): Adjust call to to_ada_name.
93 (struct overloaded_name_hash): New type.
94 (struct overloaded_name_hasher): Likewise.
95 (overloaded_names): New hash table.
96 (compute_overloading_index): New function.
97 (dump_ada_decl_name): Call it and pass the result to
98 pp_ada_tree_identifier.
99 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
100 (dump_ada_function_declaration): Likewise.
101 (dump_generic_ada_node): Likewise.
102 (print_constructor): Likewise.
103 (print_destructor): Likewise.
104 (dump_ada_specs): Delete overloaded_names table.
105
7fa43da2 1062017-09-29 Eric Botcazou <ebotcazou@adacore.com>
107
108 * c-ada-spec.c (max_ada_macros): Move around.
109 (store_ada_macro_index): Likewise.
110 (source_file): Rename into...
111 (macro_source_file): ...this.
112 (count_ada_macro): Move around.
113 (store_ada_macro): Likewise.
114 (compare_macro): Likewise.
115 (print_ada_macros): Merge in...
116 (dump_ada_macros): ...this.
117 (source_file_base): Rename into...
118 (current_source_file): ...this.
119 (print_comment): Move around.
120 (dump_ada_nodes): Call dump_ada_declaration directly.
121 (struct with): Change type of limited field to bool.
122 (append_withs): Change type of limited_access parameter to bool.
123 (pp_ada_tree_identifie): Likewise.
124 (dump_ada_decl_nam): Likewise.
125 (dump_generic_ada_node): Likewise. Do not print the return type.
126 (to_ada_name): Change type of space_found parameter to bool.
127 (dump_ada_function_declaration): Return void and change type of
128 parameters to bool. Also print the return type for a function.
129 (print_ada_methods): Rename into...
130 (dump_ada_methods): ...this.
131 (print_ada_declaration): Rename into ...
132 (dump_ada_declaration): ...this. Do not print the return type.
133 (print_ada_struct_decl): Rename into...
134 (dump_ada_struct_decl): ...this.
135
52f26f82 1362017-09-29 Jakub Jelinek <jakub@redhat.com>
137
138 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
139 rather than DECL_INITIAL.
140 (common_handle_aligned_attribute): Likewise.
141
a1408eb3 1422017-09-20 Alexandre Oliva <aoliva@redhat.com>
143
144 * c.opt (gen-decls): Add RejectNegative.
145
96bf2948 1462017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
147 Jakub Jelinek <jakub@redhat.com>
148
149 Add support for -std=c++2a.
150 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
151 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
152 * c-opts.c (set_std_cxx2a): New.
153 (c_common_handle_option): Set options when -std=c++2a is enabled.
154 (c_common_post_options): Adjust comments.
155 (set_std_cxx14, set_std_cxx17): Likewise.
156
a372ea88 1572017-09-15 Eric Botcazou <ebotcazou@adacore.com>
158
159 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
160 message for non-uniform endianness and issue a warning in C++.
161
40e2decb 1622017-09-15 Jakub Jelinek <jakub@redhat.com>
163
164 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
165 (Wc++17-compat): Change from undocumented alias to option.
166 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
167 change C++1z to C++17 in description.
168 (std=c++1z, std=gnu++1z): Change from option to undocumented
169 deprecated alias.
170 (std=c++17, std=gnu++17): Change from undocumented alias to option.
171 Adjust description.
172 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
173 * c-opts.c (set_std_cxx1z): Rename to ...
174 (set_std_cxx17): ... this.
175 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
176 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
177 caller.
178 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
179 comments.
180
04c83f14 1812017-09-12 H.J. Lu <hongjiu.lu@intel.com>
182
183 * c-attribs.c (common_handle_aligned_attribute): Don't warn
184 function alignment if warn_if_not_aligned_p is true.
185
daf40ee6 1862017-09-12 Nathan Sidwell <nathan@acm.org>
187
188 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
189 resort_sorted_fields): Move to c/c-decl.c.
190 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
191 (struct sorted_fields_type): Move to c/c-lang.h.
192
c0cd8832 1932017-09-09 Jonathan Wakely <jwakely@redhat.com>
194
195 PR c++/81852
196 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
197
45d3a9aa 1982017-09-04 Marek Polacek <polacek@redhat.com>
199
200 PR c/81783
201 * c-warn.c (warn_tautological_bitwise_comparison): New function.
202 (warn_tautological_cmp): Call it.
203
9b766c33 2042017-09-01 Boris Kolpackov <boris@codesynthesis.com>
205
206 * c-opts.c (c_common_finish): Write dependency information even if
207 there are errors.
208
1e52a582 2092017-09-01 Jakub Jelinek <jakub@redhat.com>
210
211 PR c/81887
212 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
213 (omp_pragmas_simd): ... here.
214 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
215 create new clauses list containing just simd clause.
216
8aec1ebb 2172017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
218 Alan Hayward <alan.hayward@arm.com>
219 David Sherwood <david.sherwood@arm.com>
220
221 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
222 into scalar_mode_supported_p call.
223 (handle_mode_attribute): Update call to scalar_mode_supported_p.
224
2b8f5b8a 2252017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
226 Alan Hayward <alan.hayward@arm.com>
227 David Sherwood <david.sherwood@arm.com>
228
229 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
230 for the mode iterator.
231
3d2b0034 2322017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
233 Alan Hayward <alan.hayward@arm.com>
234 David Sherwood <david.sherwood@arm.com>
235
236 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
237 * c-common.c (c_build_vec_perm_expr): Likewise.
238
d082dc6e 2392017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
240 Alan Hayward <alan.hayward@arm.com>
241 David Sherwood <david.sherwood@arm.com>
242
243 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
244
659fb061 2452017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
246 Alan Hayward <alan.hayward@arm.com>
247 David Sherwood <david.sherwood@arm.com>
248
249 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
250 before calling targetm.addr_space.valid_pointer_mode.
251
2b8f2d97 2522017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
253 Alan Hayward <alan.hayward@arm.com>
254 David Sherwood <david.sherwood@arm.com>
255
256 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
257
19a4dce4 2582017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
259 Alan Hayward <alan.hayward@arm.com>
260 David Sherwood <david.sherwood@arm.com>
261
262 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
263 iterators.
264 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
265
916ace94 2662017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
267 Alan Hayward <alan.hayward@arm.com>
268 David Sherwood <david.sherwood@arm.com>
269
270 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
271 case statements.
272
98102386 2732017-08-29 Martin Liska <mliska@suse.cz>
274
275 PR other/39851
276 * c-common.c (parse_optimize_options): Add argument to function
277 call.
278 * c-pragma.c (handle_pragma_diagnostic): Likewise.
279
0bdd7941 2802017-08-24 David Malcolm <dmalcolm@redhat.com>
281
282 * c-lex.c (interpret_float): Use token location
283 when building an EXCESS_PRECISION_EXPR.
284
a115c319 2852017-08-21 David Malcolm <dmalcolm@redhat.com>
286
287 * c-common.c (check_function_arguments): Add "arglogs" param; pass
288 it to check_function_format.
289 * c-common.h (check_function_arguments): Add vec<location_t> *
290 param.
291 (check_function_format): Likewise.
292 * c-format.c (struct format_check_context): Add field "arglocs".
293 (check_function_format): Add param "arglocs"; pass it to
294 check_format_info.
295 (check_format_info): Add param "arglocs"; use it to initialize
296 new field of format_ctx.
297 (check_format_arg): Pass format_ctx->arglocs to new param of
298 check_format_info_main.
299 (class argument_parser): New field "arglocs".
300 (argument_parser::argument_parser): Add "arglocs_" param and use
301 it to initialize new field.
302 (argument_parser::check_argument_type): Pass new arglocs field to
303 check_format_types.
304 (check_format_info_main): Add param "arglocs", and use it when
305 constructing arg_parser.
306 (check_format_types): Add param "arglocs"; use it if non-NULL when
307 !EXPR_HAS_LOCATION (cur_param) to get at location information.
308
4bec7283 3092017-08-18 H.J. Lu <hongjiu.lu@intel.com>
310
311 PR c/53037
312 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
313 (c_common_attribute_table): Add warn_if_not_aligned.
314 (handle_aligned_attribute): Renamed to ...
315 (common_handle_aligned_attribute): Remove argument, name, and add
316 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
317 (handle_aligned_attribute): New.
318 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
319
9d3c24b9 3202017-08-14 Martin Sebor <msebor@redhat.com>
321
322 PR c/81117
323 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
324 (handle_nonstring_attribute): New function.
325
c8616982 3262017-08-14 Martin Sebor <msebor@redhat.com>
327
328 PR c/81117
329 * c-format.h (T89_G): New macro.
330 * c-format.c (local_gcall_ptr_node): New variable.
331 (init_dynamic_diag_info): Initialize it.
332
07b8a412 3332017-08-11 Martin Liska <mliska@suse.cz>
334
335 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
336 TARGET_SUPPORTS_ALIASES.
337
3fe34694 3382017-08-10 David Malcolm <dmalcolm@redhat.com>
339
340 * c-common.c (c_parse_error): Add rich_location * param, using it
341 rather implicitly using input_location.
342 * c-common.h (c_parse_error): Add rich_location * param.
343
623ee358 3442017-08-09 Marek Polacek <polacek@redhat.com>
345
346 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
347 (c_common_truthvalue_conversion): Likewise.
348 * c-omp.c (c_finish_omp_atomic): Likewise.
349 * c-common.h (build_binary_op): Update declaration.
350
30a86690 3512017-08-08 Martin Liska <mliska@suse.cz>
352
353 * c-ada-spec.c: Include header files.
354 * c-ubsan.c: Likewise.
355 * c-warn.c: Likewise.
356
b4ae034c 3572017-08-07 Jakub Jelinek <jakub@redhat.com>
358
359 PR c/69389
360 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
361
22dadfd6 3622017-08-07 Eric Botcazou <ebotcazou@adacore.com>
363
364 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
365 (print_ada_methods): Likewise.
366 (print_ada_declaration): Likewise.
367
1610e7fb 3682017-08-07 Martin Liska <mliska@suse.cz>
369
370 * array-notation-common.c: Add new includes.
371 * c-format.c( handle_format_attribute): Canonicalize a format
372 function name.
373 * c-lex.c (c_common_has_attribute): Canonicalize name of an
374 attribute.
375 * c-pretty-print.c: Add new include.
376
5ddd2306 3772017-08-05 Eric Botcazou <ebotcazou@adacore.com>
378
379 * c-ada-spec.c (has_static_fields): Look only into variables.
380 (print_constructor): Add TYPE parameter and use it for the name.
381 (print_destructor): Likewise.
382 (print_ada_declaration): Adjust to new constructor/destructor names.
383 Adjust calls to print_constructor and print_destructor.
384 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
385 Look only into variables in the final loop.
386
e2252c91 3872017-08-01 Eric Botcazou <ebotcazou@adacore.com>
388
389 * c-ada-spec.c (has_static_fields): Look only into fields.
390 (dump_generic_ada_node): Small tweak.
391 (dump_nested_types): Look only into fields.
392 (print_ada_declaration): Look only into methods. Small tweak.
393 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
394
636174dc 3952017-08-01 Eric Botcazou <ebotcazou@adacore.com>
396
397 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
398 (dump_ada_function_declaration): Likewise.
399 (dump_generic_ada_node): Likewise.
400 (print_ada_declaration): Add support for const-qualified variables.
401
dadc219c 4022017-07-31 Martin Liska <mliska@suse.cz>
403
404 PR sanitize/81530
405 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
406 Guard condition with flag_sanitize_p also with current_function_decl
407 non-null equality.
408 (ubsan_maybe_instrument_reference_or_call): Likewise.
409
5eb639c2 4102017-07-30 Uros Bizjak <ubizjak@gmail.com>
411
412 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
413
934a9503 4142017-07-29 Eric Botcazou <ebotcazou@adacore.com>
415
416 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
417 for enumeral types.
418 (print_ada_declaration): Add missing guard for record types.
419
df930a61 4202017-07-27 Jakub Jelinek <jakub@redhat.com>
421
422 PR c/45784
423 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
424 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
425 new COMPOUND_EXPRs around the rhs of the comparison.
426
7d4d7ecb 4272017-07-27 Marek Polacek <polacek@redhat.com>
428
429 PR c/81417
430 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
431 the types.
432
280ce47d 4332017-07-27 Jakub Jelinek <jakub@redhat.com>
434
435 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
436 (handle_noipa_attribute): New function.
437
e6c4532a 4382017-07-07 Torsten Duwe <duwe@suse.de>
439
440 * c-attribs.c (c_common_attribute_table): Add entry for
441 "patchable_function_entry".
442
ab87ee8f 4432017-07-20 Nathan Sidwell <nathan@acm.org>
444
445 Remove TYPE_METHODS.
446 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
447 dump_ada_template, print_ada_methods,
448 print_ada_declaration): Member fns are on TYPE_FIELDS.
449
a8de6c92 4502017-07-18 Nathan Sidwell <nathan@acm.org>
451
452 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
453
7f9c8569 4542017-07-14 David Malcolm <dmalcolm@redhat.com>
455
456 * c-common.c (try_to_locate_new_include_insertion_point): New
457 function.
458 (per_file_includes_t): New typedef.
459 (added_includes_t): New typedef.
460 (added_includes): New variable.
461 (maybe_add_include_fixit): New function.
462 * c-common.h (maybe_add_include_fixit): New decl.
463
b1b5fc9c 4642017-07-10 Martin Sebor <msebor@redhat.com>
465
466 PR other/81345
467 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
468
7051d239 4692017-07-06 David Malcolm <dmalcolm@redhat.com>
470
471 * c-common.c (selftest::c_family_tests): New.
472 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
473 (selftest::c_family_tests): New decl.
474
c18b3f9b 4752017-07-04 Marek Polacek <polacek@redhat.com>
476
477 PR c/81231
478 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
479 types.
480
a2de34d4 4812017-07-04 Marek Polacek <polacek@redhat.com>
482
483 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
484
72db0954 4852017-06-28 Martin Liska <mliska@suse.cz>
486
487 PR ipa/81128
488 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
489 to a function declaration.
490
52368c34 4912017-06-28 Martin Liska <mliska@suse.cz>
492
493 PR driver/79659
494 * c.opt: Add IntegerRange to various options.
495
2bfb0686 4962017-06-26 Marek Polacek <polacek@redhat.com>
497
498 PR c/80116
499 * c-common.h (warn_for_multistatement_macros): Declare.
500 * c-warn.c: Include "c-family/c-indentation.h".
501 (warn_for_multistatement_macros): New function.
502 * c.opt (Wmultistatement-macros): New option.
503 * c-indentation.c (guard_tinfo_to_string): No longer static.
504 Change the parameter type to "enum rid". Handle RID_SWITCH.
505 * c-indentation.h (guard_tinfo_to_string): Declare.
506
4e551c7d 5072017-06-23 Marc Glisse <marc.glisse@inria.fr>
508
509 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
510
a324786b 5112017-06-15 Martin Sebor <msebor@redhat.com>
512
513 PR c++/80560
514 * c.opt (-Wclass-memaccess): New option.
515
b4bbadc1 5162017-06-14 Boris Kolpackov <boris@codesynthesis.com>
517
518 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
519
314b4196 5202017-06-13 Marek Polacek <polacek@redhat.com>
521
522 PR objc/80949
523 * c-warn.c (do_warn_duplicated_branches): Return if any of the
524 branches is null.
525
9917317a 5262017-06-13 Martin Liska <mliska@suse.cz>
527
528 PR sanitize/78204
529 * c-attribs.c (add_no_sanitize_value): New function.
530 (handle_no_sanitize_attribute): Likewise.
531 (handle_no_sanitize_address_attribute): Use the function.
532 (handle_no_sanitize_thread_attribute): New function.
533 (handle_no_address_safety_analysis_attribute): Use
534 add_no_sanitize_value.
535 (handle_no_sanitize_undefined_attribute): Likewise.
536 * c-common.h: Declare new functions.
537 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
538 (ubsan_instrument_shift): Likewise.
539 (ubsan_instrument_bounds): Likewise.
540 (ubsan_maybe_instrument_array_ref): Likewise.
541 (ubsan_maybe_instrument_reference_or_call): Likewise.
542
e34c848a 5432017-06-11 Jason Merrill <jason@redhat.com>
544
545 * c-ada-spec.c, c-pragma.c: Use id_equal.
546
f8897e74 5472017-06-04 Marek Polacek <polacek@redhat.com>
548
549 PR c/80919
550 * c-format.c (matching_type_p): Return false if any of the types
551 requires structural equality.
552
a977cac9 5532017-06-02 Martin Sebor <msebor@redhat.com>
554
555 PR c/80892
556 * c-warn.c (conversion_warning): Use -Wconversion for integer
557 conversion and -Wfloat-conversion for floating one.
558
0ca70bfd 5592017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
560
561 * c.opt (Wsizeof-pointer-div): New warning option.
562
6cf2f0b6 5632017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
564
565 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
566 (Wcatch-value=1): Enable by -Wall.
567
4d1eda3a 5682017-05-30 David Malcolm <dmalcolm@redhat.com>
569
570 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
571 format_chars.
572 * c.opt (fdiagnostics-show-template-tree): New option.
573 (felide-type): New option.
574
6c547211 5752017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
576
577 * c.opt (Wcatch-value=): New C++ warning flag.
578
5570d275 5792017-05-24 Nathan Sidwell <nathan@acm.org>
580
581 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
582 const casts to avoid warning.
583
645b0f8d 5842017-05-24 Martin Sebor <msebor@redhat.com>
585
586 PR c/80731
587 * c-common.h (unsafe_conversion_p): Add a function argument.
588 * c-common.c (unsafe_conversion_p): Same.
589 Add type names and values to diagnostics.
590 (scalar_to_vector): Adjust.
591 * c-warn.c (constant_expression_error): Add a function argument.
592 Add type names and values to diagnostics.
593 (conversion_warning): Add a function argument.
594 Add type names and values to diagnostics.
595 (warnings_for_convert_and_check): Same.
596
65fb3b5b 5972017-05-19 Jason Merrill <jason@redhat.com>
598
599 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
600 enumerators.
601
5407f1e9 6022017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
603
604 * c-format.c (locus): Move out of function scope,
605 add GTY attribute.
606
0fa326f5 6072017-05-19 Nathan Sidwell <nathan@acm.org>
608
609 * c-opts.c (class_dump_file, class_dump_flags): Delete.
610 (c_common_parse_file): Remove class dump handling.
611 (get_dump_info): Likewise.
612
195b31a0 6132017-05-19 Richard Biener <rguenther@suse.de>
614
615 PR c++/80593
616 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
617 to alias-set zero memory.
618
1bccae6b 6192017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
620
621 * c-format.c (local_tree_type_node): Add GTY attribute.
622
78173203 6232017-05-18 Marek Polacek <polacek@redhat.com>
624
625 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
626 (c_common_fixed_point_type_for_size): Likewise.
627 (c_common_type_for_mode): Likewise.
628 (shorten_compare): Likewise.
629 (c_promoting_integer_type_p): Use false/true instead of 0/1.
630 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
631
2823920b 6322017-05-18 Marek Polacek <polacek@redhat.com>
633
634 * c-common.c (self_promoting_args_p): Change the return type to bool.
635 Use false/true instead of 0/1.
636 * c-common.h (self_promoting_args_p): Update.
637
72749341 6382017-05-17 Marek Polacek <polacek@redhat.com>
639
640 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
641 * c-warn.c: Likewise.
642
b4d90ee2 6432017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
644
645 Implement new C++ intrinsics __is_assignable and __is_constructible.
646 * c-common.c (__is_assignable, __is_constructible): New.
647 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
648
3f6e5ced 6492017-05-17 Martin Liska <mliska@suse.cz>
650
651 * c-common.h: Introduce dump_flags_t type and
652 use it instead of int type.
653 * c-gimplify.c (c_genericize): Likewise.
654 * c-opts.c: Likewise.
655
d0869ea4 6562017-05-17 Marek Polacek <polacek@redhat.com>
657
658 * c-common.c (c_save_expr): Remove.
659 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
660 * c-common.h (c_save_expr): Remove declaration.
661
0d7b4486 6622017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
663
664 PR c/35441
665 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
666 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
667 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
668 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
669 RDIV_EXPR.
670 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
671
1a2d3e8e 6722017-05-09 Marek Polacek <polacek@redhat.com>
673
674 PR c/80525
675 * c-warn.c (unwrap_c_maybe_const): New.
676 (warn_logical_operator): Call it.
677
cdf05a3f 6782017-05-09 Nathan Sidwell <nathan@acm.org>
679
680 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
681 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
682
554efdbb 6832017-05-08 Martin Sebor <msebor@redhat.com>
684
685 PR translation/80280
686 * c-format.h (struct format_flag_spec): Add new member.
687 (T89_T): New macro.
688 * c-format.c (local_tree_type_node): New global.
689 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
690 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
691 (strfmon_flag_specs): Likewise.
692 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
693 with distinct quoting properties.
694 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
695 (flag_chars_t::validate): Add argument and handle bad quoting.
696 (check_format_info_main): Handle quoting problems.
697 (init_dynamic_diag_info): Simplify.
698
7344fb00 6992017-05-08 Jason Merrill <jason@redhat.com>
700
701 * c-opts.c (c_common_post_options): Update defaults for
702 flag_abi_version and flag_abi_compat_version.
703
56b8400f 7042017-05-05 David Malcolm <dmalcolm@redhat.com>
705
706 * c-common.c (c_cpp_error): Replace report_diagnostic
707 with diagnostic_report_diagnostic.
708
8c41abe8 7092017-05-04 Martin Sebor <msebor@redhat.com>
710
711 PR translation/80280
712 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
713 (handle_weakref_attribute): Same.
714
a06321ef 7152017-05-03 Nathan Sidwell <nathan@acm.org>
716
717 Canonicalize canonical type hashing
718 * c-common.c (complete_array_type): Use type_hash_canon.
719
92bc38e7 7202017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
721
722 PR c++/80038
723 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
724 prototype.
725 (cilk_install_body_pedigree_operations): Likewise.
726 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
727 detatched.
728 (cilk_gimplify_call_params_in_spawned_fn): Remove.
729 (cilk_install_body_pedigree_operations): Likewise.
730 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
731 unwrapping.
732
fb8ab1f8 7332017-04-27 Jakub Jelinek <jakub@redhat.com>
734
735 PR c++/80534
736 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
737 flag on non-aggregate element types.
738
31af80fe 7392017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
740
741 * c-common.c (c_type_hasher, type_hash_table): Remove.
742 (c_common_get_alias_set): Remove unreachable code.
743 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
744
dc993150 7452017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
746
747 * c.opt (Wextra-semi): New C++ warning flag.
748
6bac87c3 7492017-04-20 Jakub Jelinek <jakub@redhat.com>
750
751 PR middle-end/80423
752 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
753
7ec2cbc9 7542017-04-18 Jakub Jelinek <jakub@redhat.com>
755
756 PR middle-end/79788
757 PR middle-end/80375
758 * c-common.c (c_common_type_for_mode): Don't handle
759 widest_*_literal_type_node here.
760 c_common_signed_or_unsigned_type): Likewise.
761 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
762 to *intTI_type_node or *intDI_type_node depending on whether
763 TImode is supported by the target or not.
764
65b66772 7652017-04-10 Martin Liska <mliska@suse.cz>
766
767 PR sanitizer/80350
768 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
769 doing an UBSAN check.
770
2fbe7a32 7712017-04-03 Jonathan Wakely <jwakely@redhat.com>
772
773 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
774
3ddb3278 7752017-03-31 Jakub Jelinek <jakub@redhat.com>
776
777 PR c++/79572
778 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
779 tree *.
780 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
781 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
782 REFERENCE_TYPE.
783
9511b9de 7842017-03-31 David Malcolm <dmalcolm@redhat.com>
785
786 PR documentation/78732
787 * c.opt (Wendif-labels): Fix description to refer to
788 #else rather than #elif.
789
ca2af7df 7902017-03-31 Jakub Jelinek <jakub@redhat.com>
791
792 PR libstdc++/80251
793 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
794 * c-common.c (c_common_reswords): Add __is_aggregate trait.
795
3385a573 7962017-03-27 Jakub Jelinek <jakub@redhat.com>
797
798 PR middle-end/80162
799 * c-common.c (c_common_mark_addressable_vec): Don't set
800 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
801
da7a26fc 8022017-03-21 Martin Sebor <msebor@redhat.com>
803
804 PR c++/79548
805 * c-common.c (set_underlying_type): Mark type used only when
806 original del is declared unused.
807
ca1f4c7a 8082017-03-10 David Malcolm <dmalcolm@redhat.com>
809
810 PR translation/79848
811 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
812 "%qs".
813
3b496eb9 8142017-03-10 David Malcolm <dmalcolm@redhat.com>
815
816 PR c/79921
817 * c-indentation.c (warn_for_misleading_indentation): Remove parens
818 from inform's message, so that xgettext can locate it.
819
6a9c24a0 8202017-03-09 Marek Polacek <polacek@redhat.com>
821
822 PR c++/79962
823 PR c++/79984
824 * c-attribs.c (handle_nonnull_attribute): Save the result of default
825 conversion to the attribute list.
826
5383272d 8272017-03-09 Martin Liska <mliska@suse.cz>
828
829 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
830
957a727b 8312017-03-03 Jason Merrill <jason@redhat.com>
832
833 * c.opt (Wnoexcept-type): New.
834
b977a7e3 8352017-03-02 Richard Biener <rguenther@suse.de>
836
837 PR c/79756
838 * c-common.c (c_common_mark_addressable_vec): Look through
839 C_MAYBE_CONST_EXPR.
840
78adba87 8412017-02-28 Martin Liska <mliska@suse.cz>
842
843 * c.opt: Replace space with tabular for options of <number>
844 type.
845
6ac368bb 8462017-02-28 Martin Liska <mliska@suse.cz>
847
848 * c.opt: Fix --help=option -Q for options which are of
849 an enum type.
850
bbd5521e 8512017-02-24 Jakub Jelinek <jakub@redhat.com>
852
853 PR c++/79588
854 * c-common.c (check_function_restrict): New function.
855 (check_function_arguments): Add FNDECL argument. Call
856 check_function_restrict if -Wrestrict.
857 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
858 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
859 * c-common.h (check_function_arguments): Add FNDECL argument.
860 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
861
e967bbfd 8622017-02-24 Eric Botcazou <ebotcazou@adacore.com>
863
864 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
865 treatment of parameters with pointer-to-tagged type and tidy up.
866 (print_ada_methods): Remove the special treatment of C++ static member
867 functions.
868
52ccf715 8692017-02-22 Martin Liska <mliska@suse.cz>
870
871 * c.opt: Replace inequality signs with square brackets
872 for -Wnornalized.
873
a42e4e13 8742017-02-21 Jakub Jelinek <jakub@redhat.com>
875
876 PR c++/79641
877 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
878 preserve quals.
879
f6202e1a 8802017-02-17 Joseph Myers <joseph@codesourcery.com>
881
882 * c-cppbuiltin.c (builtin_define_float_constants): Define
883 __DECIMAL_DIG__ to the value for long double.
884
0396f790 8852017-02-15 Marek Polacek <polacek@redhat.com>
886
887 PR c/79515
888 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
889 conversion has occured.
890
175e0d6b 8912017-01-24 David Malcolm <dmalcolm@redhat.com>
892
893 * c-common.c (c_common_reswords): Add "__RTL".
894 * c-common.h (enum rid): Add RID_RTL.
895
3ef7eab1 8962017-01-20 Marek Polacek <polacek@redhat.com>
897
898 PR c/64279
899 * c-common.h (do_warn_duplicated_branches_r): Declare.
900 * c-gimplify.c (c_genericize): Walk the function tree calling
901 do_warn_duplicated_branches_r.
902 * c-warn.c (expr_from_macro_expansion_r): New.
903 (do_warn_duplicated_branches): New.
904 (do_warn_duplicated_branches_r): New.
905 * c.opt (Wduplicated-branches): New option.
906
32641de7 9072017-01-17 David Malcolm <dmalcolm@redhat.com>
908
909 PR c++/71497
910 * c-indentation.c (warn_for_misleading_indentation): Use the past
911 subjunctive in the note.
912
7e66f344 9132017-01-17 Aldy Hernandez <aldyh@redhat.com>
914
915 PR c/79116
916 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
917 start type to integer_type.
918
14234f77 9192017-01-16 Jakub Jelinek <jakub@redhat.com>
920
921 PR driver/49726
922 * c.opt (gen-decls): Add Driver flag.
923
ba5a0dd7 9242017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
925
926 Revert:
927 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
928
929 PR c++/71737
930 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
931
231589de 9322017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
933
934 PR c++/71737
935 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
936
78cf39ca 9372017-01-12 Martin Sebor <msebor@redhat.com>
938
939 (-Wformat-overflow): ...to this.
940
1a1ce9a6 9412017-01-11 Martin Sebor <msebor@redhat.com>
942
943 PR c/78768
944 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
945 Also enable for LTO.
946
3386344d 9472017-01-10 Jason Merrill <jason@redhat.com>
948
949 Implement P0195R2, C++17 variadic using.
950 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
951
d0abd9e0 9522017-01-09 Jakub Jelinek <jakub@redhat.com>
953
954 PR translation/79019
955 PR translation/79020
956 * c.opt (Wnormalized=): Fix typo in description.
957
aba01341 9582017-01-08 Martin Sebor <msebor@redhat.com>
959
960 PR middle-end/77708
961 * c.opt (-Wformat-truncation): New option.
962
2792c2c7 9632017-01-06 Alexandre Oliva <aoliva@redhat.com>
964
965 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
966 value to unsigned short to fit in 4 hex digits without
967 warnings.
968
3389a464 9692017-01-05 Eric Botcazou <ebotcazou@adacore.com>
970
971 * c.opt (fsso-struct): Add 'native' value.
972
f6deeb21 9732017-01-05 Martin Liska <mliska@suse.cz>
974
975 PR pch/78970
976 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
977 header.
978
6124217c 9792017-01-04 Marek Polacek <polacek@redhat.com>
980
981 PR c++/64767
982 * c.opt (Wpointer-compare): New option.
983
48284845 9842017-01-04 Jakub Jelinek <jakub@redhat.com>
985
986 PR driver/78957
987 * c.opt (fsso-struct=): Add RejectNegative.
988
aad93da1 9892017-01-01 Jakub Jelinek <jakub@redhat.com>
990
991 Update copyright years.
992
7dbe2449 9932016-12-29 Martin Liska <mliska@suse.cz>
994
995 PR c/78933
996 * c.opt (strong-eval-order): Add RejectNegative keyword.
997
23ea3d01 9982016-12-22 Jason Merrill <jason@redhat.com>
999
1000 Implement P0522R0, matching of template template arguments.
1001 * c-cppbuiltin.c (c_cpp_builtins): Define
1002 __cpp_template_template_args.
1003
184fac50 10042016-12-21 Jakub Jelinek <jakub@redhat.com>
1005
1006 PR bootstrap/78817
1007 * c-common.c (struct nonnull_arg_ctx): New type.
1008 (check_function_nonnull): Return bool instead of void. Use
1009 nonnull_arg_ctx as context rather than just location_t.
1010 (check_nonnull_arg): Adjust for the new context type, set
1011 warned_p to true if a warning has been diagnosed.
1012 (check_function_arguments): Return bool instead of void.
1013 * c-common.h (check_function_arguments): Adjust prototype.
1014
7806e079 10152016-12-21 Jason Merrill <jason@redhat.com>
1016
1017 * c.opt (-fnew-ttp-matching): New flag.
1018 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
1019
4954efd4 10202016-12-14 Martin Jambor <mjambor@suse.cz>
1021
1022 * c-omp.c: Include omp-general.h instead of omp-low.h.
1023 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
1024 name.
1025
5cfa3fc8 10262016-12-14 Martin Sebor <msebor@redhat.com>
1027
1028 PR c/17308
1029 * c-common.c (check_nonnull_arg): Disable when optimization
1030 is enabled.
1031
bbdce47f 10322016-12-12 Marek Polacek <polacek@redhat.com>
1033
1034 PR c++/78647
1035 * c-common.c (attribute_fallthrough_p): Return false for
1036 error_mark_node.
1037
370e45b9 10382016-12-08 Martin Sebor <msebor@redhat.com>
1039
1040 PR c/78284
1041 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
1042
3bb246b3 10432016-12-08 Martin Sebor <msebor@redhat.com>
1044
1045 PR c/78165
3199a7fa 1046 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
1047 suffix.
3bb246b3 1048
5aef8938 10492016-12-07 Martin Sebor <msebor@redhat.com>
1050
1051 PR c/53562
1052 PR middle-end/77784
1053 PR middle-end/78149
1054 PR middle-end/78138
1055 * c.opt (-Wstringop-overflow): New option.
1056
47c3d0de 10572016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
1058
1059 * c-attribs.c (asan odr indicator): New attribute.
1060 (handle_asan_odr_indicator_attribute): New function.
1061
c932c990 10622016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1063
1064 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
1065 ptrdiff_type_node;
1066
c39beb8a 10672016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1068
1069 * c-common.c (excess_precision_mode_join): New.
1070 (c_ts18661_flt_eval_method): New.
1071 (c_c11_flt_eval_method): Likewise.
1072 (c_flt_eval_method): Likewise.
1073 * c-common.h (excess_precision_mode_join): New.
1074 (c_flt_eval_method): Likewise.
1075 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
1076 (cpp_iec_559_value): Call it.
1077 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
1078 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
1079 __FLT_EVAL_METHOD_TS_18661_3__.
1080
a998ac00 10812016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1082
1083 * c-opts.c (c_common_post_options): Add logic to handle the default
1084 case for -fpermitted-flt-eval-methods.
1085
6e47b422 10862016-11-23 Paolo Bonzini <bonzini@gnu.org>
1087
1088 * c.opt (Wexpansion-to-defined): New.
1089
0d65cc6c 10902016-11-23 Jakub Jelinek <jakub@redhat.com>
1091
1092 PR target/78451
1093 * c-pragma.c (handle_pragma_target): Don't replace
1094 current_target_pragma, but chainon the new args to the current one.
1095
ff6497a3 10962016-11-22 Nathan Sidwell <nathan@acm.org>
1097
1098 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 1099 indentation and formatting.
ff6497a3 1100
13341287 11012016-11-21 Martin Sebor <msebor@redhat.com>
1102
1103 * c.opt (-fprintf-return-value): Enable by default.
1104
f1b3e1c9 11052016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1106
1107 PR c++/71973
1108 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
1109 * c-common.c (c_common_nodes_and_builtins): Initialize
1110 const_tm_ptr_type_node.
1111
6c1f90ee 11122016-11-16 Marek Polacek <polacek@redhat.com>
1113
1114 PR c/78285
1115 * c-common.c (c_add_case_label): Turn error_at calls into inform.
1116
a49621cf 11172016-11-14 Jakub Jelinek <jakub@redhat.com>
1118
1119 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
1120
b1f04d34 11212016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 1122 Richard Biener <rguenther@suse.de>
1123
1124 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
1125 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
1126 * c.opt (fgimple): New option.
b1f04d34 1127
9b8f3aa1 11282016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1129
1130 PR c/35503
1131 * c-common.h (warn_for_restrict): Declare.
1132 * c-warn.c: Include gcc-rich-location.h.
1133 (warn_for_restrict): New function.
1134 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
1135 (gcc_cdiag_char_table): Likewise.
1136 (gcc_cxxdiag_char_table): Likewise.
1137 * c.opt (Wrestrict): New option.
1138
7907d43b 11392016-11-13 Eric Botcazou <ebotcazou@adacore.com>
1140
1141 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
1142 for nested types only if the type is a record or union and dump SLOC.
1143
b1363399 11442016-11-09 Jason Merrill <jason@redhat.com>
1145
1146 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
1147
58721d0c 11482016-11-09 Jakub Jelinek <jakub@redhat.com>
1149
1150 * c-ubsan.c (ubsan_instrument_shift): Handle split
1151 -fsanitize=shift-base and -fsanitize=shift-exponent.
1152
2e9e9363 11532016-11-07 Jason Merrill <jason@redhat.com>
1154
1155 * c.opt (Wc++1z-compat): New.
1156 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
1157
629b6abc 11582016-11-07 Martin Liska <mliska@suse.cz>
1159
1160 * c-warn.c (warn_for_unused_label): Save all labels used
1161 in goto or in &label.
1162
2f1c4c07 11632016-11-03 Jason Merrill <jason@redhat.com>
1164
1165 * c-cppbuiltin.c (c_cpp_builtins): Correct
1166 __cpp_inheriting_constructors.
1167
7896267d 11682016-11-01 Jason Merrill <jason@redhat.com>
1169
02a9e65f 1170 * c-cppbuiltin.c (c_cpp_builtins): Update
1171 __cpp_inheriting_constructors.
1172
7896267d 1173 * c.opt (-fnew-inheriting-ctors): New.
1174 * c-opts.c: Default to on for ABI 11+.
1175
f6f44a1d 11762016-10-31 Jakub Jelinek <jakub@redhat.com>
1177
1178 PR c++/77948
1179 * c.opt (fext-numeric-literals): Add Var and Init.
1180 * c-opts.c (c_common_handle_option): Don't clear
1181 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
1182 (c_common_post_options): Clear it here if not set
1183 explicitly.
1184
d24c4079 11852016-10-28 Aldy Hernandez <aldyh@redhat.com>
1186
1187 PR debug/77773
1188 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
1189 if NULL.
1190
6e1b2ffb 11912016-10-25 Jakub Jelinek <jakub@redhat.com>
1192
1193 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
1194 * c-common.c (c_common_reswords): Add __builtin_launder.
1195
5f64e688 11962016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1197
1198 * c-common.c (c_common_truthvalue_conversion): Warn for
1199 multiplications in boolean context. Fix the quoting of '<<' and '<'
1200 in the shift warning.
1201
3645e924 12022016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
1203
1204 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
1205
146cbd63 12062016-10-20 Jason Merrill <jason@redhat.com>
1207
1208 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
1209
5c2ba578 12102016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1211
1212 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
1213 integer shift ops in boolean context.
1214
12152016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 1216
1217 * c.opt (Walloca): New.
1218 (Walloca-larger-than=): New.
1219 (Wvla-larger-than=): New.
1220
876d4bc9 12212016-10-17 Marek Polacek <polacek@redhat.com>
1222
1223 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
1224 Return immediately when finding a match.
1225 (warn_tautological_cmp): Remove a boolean variable that is no longer
1226 needed.
1227
b0c98c23 12282016-10-17 Marek Polacek <polacek@redhat.com>
1229
1230 * c-attribs.c: New file.
1231 * c-common.c: Move attributes handling to c-attribs.c.
1232 (get_nonnull_operand): No longer static.
1233 * c-common.h: Move the declarations from c-attribs.c to its own section.
1234
2ab6420c 12352016-10-14 Jason Merrill <jason@redhat.com>
1236
1237 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
1238 and __cpp_deduction_guides.
1239
81f19d90 12402016-10-13 Jason Merrill <jason@redhat.com>
1241
1242 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
1243
ad7b10a2 12442016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1245
1246 * c-cppbuiltin.c: Include memmodel.h.
1247 * c-opts.c: Likewise.
1248 * c-pragma.c: Likewise.
1249 * c-warn.c: Likewise.
1250
12663602 12512016-10-12 Jakub Jelinek <jakub@redhat.com>
1252
1253 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
1254 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
1255 * c-opts.c (sanitize_cpp_opts): Initialize
1256 cpp_opts->cpp_warn_implicit_fallthrough.
1257
424b2d7d 12582016-10-11 Marek Polacek <polacek@redhat.com>
1259
1260 * c-common.c (warning_candidate_p): Change the return type to bool
1261 and return true/false instead of 1/0.
1262 (vector_mode_valid_p): Likewise.
1263
0f4cea33 12642016-10-11 Marek Polacek <polacek@redhat.com>
1265
1266 * c-common.c (fold_for_warn): No longer static.
1267 (bool_promoted_to_int_p): Likewise.
1268 (c_common_get_narrower): Likewise.
1269 (constant_expression_warning): Move to c-warn.c.
1270 (constant_expression_error): Likewise.
1271 (overflow_warning): Likewise.
1272 (warn_logical_operator): Likewise.
1273 (find_array_ref_with_const_idx_r): Likewise.
1274 (warn_tautological_cmp): Likewise.
1275 (expr_has_boolean_operands_p): Likewise.
1276 (warn_logical_not_parentheses): Likewise.
1277 (warn_if_unused_value): Likewise.
1278 (strict_aliasing_warning): Likewise.
1279 (sizeof_pointer_memaccess_warning): Likewise.
1280 (check_main_parameter_types): Likewise.
1281 (conversion_warning): Likewise.
1282 (warnings_for_convert_and_check): Likewise.
1283 (match_case_to_enum_1): Likewise.
1284 (match_case_to_enum): Likewise.
1285 (c_do_switch_warnings): Likewise.
1286 (warn_for_omitted_condop): Likewise.
1287 (readonly_error): Likewise.
1288 (lvalue_error): Likewise.
1289 (invalid_indirection_error): Likewise.
1290 (warn_array_subscript_with_type_char): Likewise.
1291 (warn_about_parentheses): Likewise.
1292 (warn_for_unused_label): Likewise.
1293 (warn_for_div_by_zero): Likewise.
1294 (warn_for_memset): Likewise.
1295 (warn_for_sign_compare): Likewise.
1296 (do_warn_double_promotion): Likewise.
1297 (do_warn_unused_parameter): Likewise.
1298 (record_locally_defined_typedef): Likewise.
1299 (maybe_record_typedef_use): Likewise.
1300 (maybe_warn_unused_local_typedefs): Likewise.
1301 (maybe_warn_bool_compare): Likewise.
1302 (maybe_warn_shift_overflow): Likewise.
1303 (warn_duplicated_cond_add_or_warn): Likewise.
1304 (diagnose_mismatched_attributes): Likewise.
1305 * c-common.h: Move the declarations from c-warn.c to its own section.
1306 * c-warn.c: New file.
1307
7a7ca07c 13082016-10-08 Jason Merrill <jason@redhat.com>
1309
1310 * c-common.c (c_common_truthvalue_conversion): Don't distribute
1311 into COND_EXPR in C++.
1312
ad0c1dec 13132016-10-08 Jakub Jelinek <jakub@redhat.com>
1314
1315 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
1316 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
1317 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
1318
cd45162d 13192016-10-07 Jakub Jelinek <jakub@redhat.com>
1320
1321 Implement LWG2296 helper intrinsic
1322 * c-common.h (enum rid): Add RID_ADDRESSOF.
1323 * c-common.c (c_common_reswords): Add __builtin_addressof.
1324
0365bfa8 13252016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
1326
1327 PR c++/77700
1328 * c-common.c (c_common_truthvalue_conversion): Warn also for
1329 suspicious enum values in boolean context.
1330
adeca879 13312016-10-06 Jakub Jelinek <jakub@redhat.com>
1332
1333 Implement P0258R2 - helper for C++17
1334 std::has_unique_object_representations trait
1335 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
1336 * c-common.c (c_common_reswords): Add
1337 __has_unique_object_representations.
1338
c6958264 13392016-10-05 Jakub Jelinek <jakub@redhat.com>
1340
1341 PR sanitizer/66343
1342 * c-ubsan.c (ubsan_instrument_return): Don't call
1343 initialize_sanitizer_builtins here.
1344
2b6903a5 13452016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1346
1347 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1348 conditional expression in boolean context when only one arm is
1349 non-boolean.
1350
5c176ebe 13512016-10-05 Jakub Jelinek <jakub@redhat.com>
1352
c7b01e77 1353 PR sanitizer/77823
1354 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1355 is not integral.
1356
5c176ebe 1357 * c-common.c (c_common_reswords): Update comment for C++11.
1358
492ab670 13592016-10-04 Jason Merrill <jason@redhat.com>
1360
1361 * c-common.c (make_tree_vector_from_ctor): New.
1362 * c-common.h: Declare it.
1363
bc6b11a7 13642016-10-04 Jakub Jelinek <jakub@redhat.com>
1365
1366 * c-cppbuiltin.c (c_cpp_builtins): Don't define
1367 __LIBGCC_JCR_SECTION_NAME__.
1368
255beb07 13692016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
1370
1371 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1372 left shift in boolean context.
1373
c5d89bae 13742016-09-29 Jakub Jelinek <jakub@redhat.com>
1375
1376 Implement P0001R1 - C++17 removal of register storage class specifier
1377 * c.opt (Wregister): New warning.
1378 * c-opts.c (c_common_post_options): Enable -Wregister by
1379 default for C++17.
1380
4267ed07 13812016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
1382
1383 * c-opts.c (c_common_post_options): Remove special case for
1384 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1385 in C++.
1386
0b72b025 13872016-09-27 Jakub Jelinek <jakub@redhat.com>
1388
4fd4e9e0 1389 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1390 -std=c++1z.
1391
0b72b025 1392 * c-ada-spec.c (print_ada_declaration): Remove break after return.
1393
ea36272b 13942016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1395
1396 * c-common.c: Include memmodel.h.
1397
e997bd3a 13982016-09-26 Marek Polacek <polacek@redhat.com>
1399
1400 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1401
3c77f69c 14022016-09-26 Marek Polacek <polacek@redhat.com>
1403
1404 PR c/7652
1405 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1406 (handle_fallthrough_attribute): New function.
1407 (attribute_fallthrough_p): New function.
1408 * c-common.h (attribute_fallthrough_p): Declare.
1409
481ce481 14102016-09-24 Marek Polacek <polacek@redhat.com>
1411
1412 PR c/77490
1413 * c.opt (Wbool-operation): New.
1414
a5fe0b37 14152016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1416
1417 * c-common.c (c_common_truthvalue_conversion): Inhibit
1418 Wint-in-bool-context warning with from_macro_definition_at.
1419 Mention the expression will always evaluate to true.
1420
90f40f08 14212016-09-21 Martin Sebor <msebor@redhat.com>
1422
1423 PR bootstrap/77676
1424 * c.opt (fprintf-return-value): Temporarily initialize to zero
1425 to unblock bootstrap failures.
1426
98aa0f57 14272016-09-21 Jakub Jelinek <jakub@redhat.com>
1428
1429 PR c++/77651
1430 * c.opt (Waligned-new=): Add RejectNegative.
1431 (faligned-new=): Likewise. Spelling fix - change
1432 aligned_new_threshhold to aligned_new_threshold.
1433 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1434 to aligned_new_threshold.
1435
b9833bfd 14362016-09-20 Martin Sebor <msebor@redhat.com>
1437
1438 PR middle-end/49905
1439 * c.opt: Add -Wformat-length and -fprintf-return-value.
1440
bed03df1 14412016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1442
1443 PR c++/77434
1444 * c.opt (Wint-in-bool-context): New warning.
1445 * c-common.c (c_common_truthvalue_conversion): Warn on integer
1446 constants in boolean context.
1447
9b5c49ef 14482016-09-19 Joseph Myers <joseph@codesourcery.com>
1449
1450 * c-common.c (max_align_t_align): Also consider alignment of
1451 float128_type_node.
1452
cc4b5c58 14532016-09-15 Jason Merrill <jason@redhat.com>
1454
1455 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1456 DECL_EXTERNAL.
1457
ef45c4c0 14582016-09-14 Jason Merrill <jason@redhat.com>
1459
1460 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1461 limit FIELD_DECL, either.
1462
b99cc6da 14632016-09-14 Marek Polacek <polacek@redhat.com>
1464
1465 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1466 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1467 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1468
68ef907c 14692016-09-13 David Malcolm <dmalcolm@redhat.com>
1470
1471 * c-common.c (warn_logical_not_parentheses): Replace
1472 rich_location::add_fixit_insert calls with add_fixit_insert_before
1473 and add_fixit_insert_after, eliminating the "next_loc" calculation.
1474
2c24fd5e 14752016-09-13 Jason Merrill <jason@redhat.com>
1476 Tom de Vries <tom@codesourcery.com>
1477
1478 PR c++/77427
1479 * c-common.c (set_underlying_type): Don't treat array as builtin type.
1480
005248bc 14812016-09-13 Jason Merrill <jason@redhat.com>
1482
1483 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1484 limit types at all.
1485
0c893604 14862016-09-12 Jason Merrill <jason@redhat.com>
1487
1488 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1489 bit/byte confusion, allow large alignment for types.
1490
7a21b590 14912016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1492
1493 PR c++/77496
1494 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1495
00434032 14962016-09-12 David Malcolm <dmalcolm@redhat.com>
1497
1498 PR c/72858
1499 * c-format.c (argument_parser::check_argument_type): Add params
1500 "type_start" and "conversion_char". Use the former to generate
1501 offset_to_type_start and pass it and conversion_char to
1502 check_format_types.
1503 (check_format_info_main): Capture the start of the type
1504 information as "type_start", and pass it an format_char
1505 to arg_parser.check_argument_type.
1506 (check_format_types): Provide an example in the leading comment.
1507 Add params "offset_to_type_start" and "conversion_char"; pass
1508 them to format_type_warning calls.
1509 (test_get_modifier_for_format_len): Likewise.
1510 (matching_type_p): New function.
1511 (get_format_for_type): Add param "conversion_char" and move
1512 implementation into...
1513 (get_format_for_type_1): ...new function, called twice.
1514 Use new function matching_type_p rather than checking for
1515 TYPE_CANONICAL equality.
1516 (get_corrected_substring): New function.
1517 (format_type_warning): Provide an example in the leading comment.
1518 Add params "offset_to_type_start" and "conversion_char". Replace
1519 call to get_format_for_type with call to get_corrected_substring
1520 and move rejection of hints for widths/precisions there.
1521 (assert_format_for_type_streq): Add param "conversion_char".
1522 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1523 (test_get_format_for_type_printf): Add conversion chars to the
1524 tests, adding coverage for various combinations of integer
1525 vs double conversions, and for preserving octal and hexadecimal
1526 conversions.
1527 (test_get_format_for_type_scanf): Add conversion chars to the
1528 tests.
1529
3bb45f76 15302016-09-10 Tom de Vries <tom@codesourcery.com>
1531
1532 PR C/71602
1533 * c-common.c (build_va_arg): Handle more strict
1534 targetm.canonical_va_list_type. Replace first argument type error with
1535 assert.
1536
911ea34a 15372016-09-09 Martin Sebor <msebor@redhat.com>
1538
1539 PR c/77520
1540 PR c/77521
1541 * c-format.c (argument_parser::find_format_char_info): Use %qc
1542 format directive unconditionally.
1543
db8ffb40 15442016-09-09 Jason Merrill <jason@redhat.com>
1545
1546 Implement C++17 new of over-aligned types.
1547 * c.opt: Add -faligned-new and -Waligned-new.
1548 * c-common.c (max_align_t_align): Split out from...
1549 (cxx_fundamental_alignment_p): ...here.
1550 * c-common.h: Declare it.
1551 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1552
c5eddaf9 15532016-09-09 Joseph Myers <joseph@codesourcery.com>
1554
1555 * c-cppbuiltin.c (builtin_define_type_width): New function.
1556 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1557 macros.
1558
3da97ff7 15592016-09-07 David Malcolm <dmalcolm@redhat.com>
1560
1561 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1562 a POINTER_TYPE.
1563 (substring_loc::get_location): Move to substring-locations.c,
1564 keeping implementation as...
1565 (c_get_substring_location): New function, from the above, reworked
1566 to use accessors rather than member lookup.
1567 * c-common.h (class substring_loc): Move to substring-locations.h,
1568 replacing with a forward decl.
1569 (c_get_substring_location): New decl.
1570 * c-format.c: Include "substring-locations.h".
1571 (format_warning_va): Move to substring-locations.c.
1572 (format_warning_at_substring): Likewise.
1573
f9b3f702 15742016-09-06 Martin Sebor <msebor@redhat.com>
1575
1576 PR c/77336
1577 * c-format.c (check_function_format): Avoid issuing warnings for
1578 functions unless they call format functions with non-constant
1579 format strings.
1580
4c04bcce 15812016-09-06 Richard Biener <rguenther@suse.de>
1582
1583 PR c/77450
1584 * c-common.c (c_common_mark_addressable_vec): Handle
1585 COMPOUND_LITERAL_EXPR.
1586
8f8828ba 15872016-09-05 Marek Polacek <polacek@redhat.com>
1588
1589 PR c/77423
1590 * c-common.c (bool_promoted_to_int_p): New function.
1591 (expr_has_boolean_operands_p): New function.
1592 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1593 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1594
8ff61e58 15952016-09-04 Tom de Vries <tom@codesourcery.com>
1596
1597 revert:
1598 2016-08-29 Tom de Vries <tom@codesourcery.com>
1599
1600 * c-common.c (build_va_arg): Replace first argument type error
1601 with assert.
1602
0b80c4b2 16032016-09-02 Jakub Jelinek <jakub@redhat.com>
1604
1605 PR c/65467
1606 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1607 (c_finish_omp_for): Reject _Atomic qualified iterators.
1608
16092016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 1610
1611 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1612 size to guarantee it fits the output of the formatted function
1613 regardless of its arguments.
1614
c7afb782 16152016-09-01 Marek Polacek <polacek@redhat.com>
1616
1617 PR c/7652
1618 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
1619 FALLTHRU comments.
1620
f293b7f2 16212016-08-29 Marek Polacek <polacek@redhat.com>
1622
1623 PR c/77292
1624 * c-common.c (warn_logical_not_parentheses): Don't warn for
1625 a comparison or a logical operator.
1626
839e4d28 16272016-08-29 Tom de Vries <tom@codesourcery.com>
1628
1629 * c-common.c (build_va_arg): Fix type comparison assert.
1630
0acb92b8 16312016-08-29 Tom de Vries <tom@codesourcery.com>
1632
1633 * c-common.c (build_va_arg): Replace first argument type error
1634 with assert.
1635
ea2ec8f6 16362016-08-29 Tom de Vries <tom@codesourcery.com>
1637
1638 PR c/77398
1639 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1640 with error_mark_node as va_list instead of with illegal va_list.
1641
c4963714 16422016-08-25 Marek Polacek <polacek@redhat.com>
1643 David Malcolm <dmalcolm@redhat.com>
1644
1645 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1646 * c-common.h (warn_logical_not_parentheses): Update declaration.
1647
364743f3 16482016-08-22 Marek Polacek <polacek@redhat.com>
1649
1650 PR c++/77321
1651 * c-common.c (warn_for_memset): Check type for null.
1652
012f068a 16532016-08-22 Joseph Myers <joseph@codesourcery.com>
1654
1655 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1656 _FloatNx types for suffixes for built-in functions.
1657
82c85aba 16582016-08-19 Joseph Myers <joseph@codesourcery.com>
1659
1660 PR c/32187
1661 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1662 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1663 (RID_FLOAT128X): New enum rid values.
1664 (CASE_RID_FLOATN_NX): New macro.
1665 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1666 keywords.
1667 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1668 corresponding complex types.
1669 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1670 _FloatNx and corresponding complex types.
1671 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1672 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1673 and _FloatNx types for the widest type for determining
1674 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1675 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1676 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1677 and _FloatNx types.
1678 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1679 constants.
1680 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1681 _FloatNx types.
1682
48a7392b 16832016-08-18 David Malcolm <dmalcolm@redhat.com>
1684
1685 * c-opts.c (c_diagnostic_finalizer): Update for change to
1686 diagnostic_show_locus.
1687
5c8151fa 16882016-08-18 David Malcolm <dmalcolm@redhat.com>
1689
1690 * c-common.c: Include "spellcheck.h".
1691 (cb_get_suggestion): New function.
1692 * c-common.h (cb_get_suggestion): New decl.
1693 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1694 cb_get_suggestion.
1695
26040f06 16962016-08-18 Marek Polacek <polacek@redhat.com>
1697
1698 PR c/71514
1699 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1700 and pointer-to-VLA.
1701
5927e78e 17022016-08-16 David Malcolm <dmalcolm@redhat.com>
1703
1704 PR c/72857
1705 * c-common.c (substring_loc::get_range): Rename to...
1706 (substring_loc::get_location): ...this, converting param from a
1707 source_range * to a location_t *. Call
1708 get_source_location_for_substring rather than
1709 get_source_range_for_substring, and pass in m_caret_idx.
1710 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1711 (substring_loc::get_range): Replace with...
1712 (substring_loc::get_location): ...this.
1713 (substring_loc::set_caret_index): New method.
1714 (substring_loc): Add field m_caret_idx.
1715 * c-format.c (format_warning_va): Update for above changes.
1716 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1717 clashing with type name.
1718 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1719 (check_argument_type): Likewise.
1720 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1721 Use a copy when emitting warnings, setting the caret index from TYPE.
1722
6ce66d38 17232016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 1724 Arnaud Charlet <charlet@adacore.com>
6ce66d38 1725
1726 * c-ada-spec.c (dump_number): New function.
1727 (handle_escape_character): Likewise.
1728 (print_ada_macros): Add handling of constant integers and strings.
1729
e3533433 17302016-08-12 Marek Polacek <polacek@redhat.com>
1731
1732 PR c/7652
1733 * c-common.c (scalar_to_vector): Adjust fall through comment.
1734 * c-opts.c (c_common_handle_option): Likewise.
1735 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1736 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1737 fall through comment.
1738 * cilk.c (extract_free_variables): Add FALLTHRU.
1739
0f463aec 17402016-08-10 Jason Merrill <jason@redhat.com>
1741
1742 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1743
80488e20 17442016-08-09 Jason Merrill <jason@redhat.com>
1745
1746 * c-common.c (c_common_attribute_table): vector_size affects type
1747 identity.
1748
a319e7f4 17492016-08-09 Marek Polacek <polacek@redhat.com>
1750
1751 PR c/7652
1752 * c-ada-spec.c (dump_generic_ada_node): Add return.
1753
33603066 17542016-08-09 Jason Merrill <jason@redhat.com>
1755
1756 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1757 C++17 constexpr lambdas.
1758
7af4d06b 17592016-08-08 David Malcolm <dmalcolm@redhat.com>
1760
1761 PR c/64955
1762 * c-common.h (selftest::c_format_c_tests): New declaration.
1763 (selftest::run_c_tests): New declaration.
1764 * c-format.c: Include "selftest.h.
1765 (format_warning_va): Add param "corrected_substring" and use
1766 it to add a replacement fix-it hint.
1767 (format_warning_at_substring): Likewise.
1768 (format_warning_at_char): Update for new param of
1769 format_warning_va.
1770 (argument_parser::check_argument_type): Pass "fki" to
1771 check_format_types.
1772 (check_format_types): Add param "fki" and pass it to
1773 format_type_warning.
1774 (deref_n_times): New function.
1775 (get_modifier_for_format_len): New function.
1776 (selftest::test_get_modifier_for_format_len): New function.
1777 (get_format_for_type): New function.
1778 (format_type_warning): Add param "fki" and use it to attempt
1779 to provide hints for argument types when calling
1780 format_warning_at_substring.
1781 (selftest::get_info): New function.
1782 (selftest::assert_format_for_type_streq): New function.
1783 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1784 (selftest::test_get_format_for_type_printf): New function.
1785 (selftest::test_get_format_for_type_scanf): New function.
1786 (selftest::c_format_c_tests): New function.
1787
d189b094 17882016-08-08 David Malcolm <dmalcolm@redhat.com>
1789
1790 PR c/52952
1791 * c-format.c: Include "diagnostic.h".
1792 (location_column_from_byte_offset): Delete.
1793 (location_from_offset): Delete.
1794 (format_warning_va): New function.
1795 (format_warning_at_substring): New function.
1796 (format_warning_at_char): New function.
1797 (check_format_arg): Capture location of format_tree and pass to
1798 check_format_info_main.
1799 (argument_parser): Add fields "start_of_this_format" and
1800 "format_string_cst".
1801 (flag_chars_t::validate): Add param "format_string_cst". Convert
1802 warning_at call using location_from_offset to call to
1803 format_warning_at_char.
1804 (argument_parser::argument_parser): Add param "format_string_cst_"
1805 and use use it to initialize field "format_string_cst".
1806 Initialize new field "start_of_this_format".
1807 (argument_parser::read_format_flags): Convert warning_at call
1808 using location_from_offset to a call to format_warning_at_char.
1809 (argument_parser::read_any_format_left_precision): Likewise.
1810 (argument_parser::read_any_format_precision): Likewise.
1811 (argument_parser::read_any_other_modifier): Likewise.
1812 (argument_parser::find_format_char_info): Likewise, in three places.
1813 (argument_parser::parse_any_scan_set): Likewise, in one place.
1814 (argument_parser::handle_conversions): Likewise, in two places.
1815 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1816 and use it to make a substring_loc. Pass the latter to
1817 check_format_types.
1818 (check_format_info_main): Add params "fmt_param_loc" and
1819 "format_string_cst". Convert warning_at calls using
1820 location_from_offset to calls to format_warning_at_char. Pass the
1821 new params to the arg_parser ctor. Pass "format_string_cst" to
1822 flag_chars.validate. Pass "fmt_param_loc" to
1823 arg_parser.check_argument_type.
1824 (check_format_types): Convert first param from a location_t
1825 to a const substring_loc & and rename to "fmt_loc". Attempt
1826 to extract the range of the relevant parameter and pass it
1827 to format_type_warning.
1828 (format_type_warning): Convert first param from a location_t
1829 to a const substring_loc & and rename to "fmt_loc". Add
1830 params "param_range" and "type". Replace calls to warning_at
1831 with calls to format_warning_at_substring.
1832
0dae5fef 18332016-08-08 David Malcolm <dmalcolm@redhat.com>
1834
1835 * c-format.c (class flag_chars_t): New class.
1836 (struct length_modifier): New struct.
1837 (class argument_parser): New class.
1838 (flag_chars_t::flag_chars_t): New ctor.
1839 (flag_chars_t::has_char_p): New method.
1840 (flag_chars_t::add_char): New method.
1841 (flag_chars_t::validate): New method.
1842 (flag_chars_t::get_alloc_flag): New method.
1843 (flag_chars_t::assignment_suppression_p): New method.
1844 (argument_parser::argument_parser): New ctor.
1845 (argument_parser::read_any_dollar): New method.
1846 (argument_parser::read_format_flags): New method.
1847 (argument_parser::read_any_format_width): New method.
1848 (argument_parser::read_any_format_left_precision): New method.
1849 (argument_parser::read_any_format_precision): New method.
1850 (argument_parser::handle_alloc_chars): New method.
1851 (argument_parser::read_any_length_modifier): New method.
1852 (argument_parser::read_any_other_modifier): New method.
1853 (argument_parser::find_format_char_info): New method.
1854 (argument_parser::validate_flag_pairs): New method.
1855 (argument_parser::give_y2k_warnings): New method.
1856 (argument_parser::parse_any_scan_set): New method.
1857 (argument_parser::handle_conversions): New method.
1858 (argument_parser::check_argument_type): New method.
1859 (check_format_info_main): Introduce classes argument_parser
1860 and flag_chars_t, moving the code within the loop into methods
1861 of these classes. Make various locals "const".
1862
d4166bdc 18632016-08-05 David Malcolm <dmalcolm@redhat.com>
1864
1865 * c-common.c: Include "substring-locations.h".
1866 (get_cpp_ttype_from_string_type): New function.
1867 (g_string_concat_db): New global.
1868 (substring_loc::get_range): New method.
1869 * c-common.h (g_string_concat_db): New declaration.
1870 (class substring_loc): New class.
1871 * c-lex.c (lex_string): When concatenating strings, capture the
1872 locations of all tokens using a new obstack, and record the
1873 concatenation locations within g_string_concat_db.
1874 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1875 on the ggc-heap.
1876
7648c9c7 18772016-07-29 Marek Polacek <polacek@redhat.com>
1878
8ae70602 1879 PR c/71926
1880 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1881 parentheses warning.
1882
7648c9c7 1883 PR c/71574
1884 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1885
595e387a 18862016-07-28 Martin Liska <mliska@suse.cz>
1887
1888 PR gcov-profile/68025
1889 * c-common.c (handle_no_profile_instrument_function_attribute):
1890
296103aa 18912016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1892
1893 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1894 BITS_PER_UNIT_LOG.
1895
21483ab7 18962016-07-25 Jason Merrill <jason@redhat.com>
1897
1898 PR c++/65970
1899 * c.opt (fconstexpr-loop-limit): New.
1900
0b80c4b2 19012016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 1902
1903 PR c++/71675
1904 * c-common.c (resolve_overloaded_builtin): Avoid converting
1905 __atomic_compare_exchange_n return type to that of what its
1906 first argument points to.
1907
59c1507a 19082016-07-22 Uros Bizjak <ubizjak@gmail.com>
1909
1910 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1911 ~(unsigned HOST_WIDE_INT) 0.
1912
45648efe 19132016-07-22 Martin Liska <mliska@suse.cz>
1914
1915 PR gcov-profile/69028
1916 PR gcov-profile/62047
1917 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1918 to the current_function_decl.
1919
0c0f63cb 19202016-07-21 Jason Merrill <jason@redhat.com>
1921
1922 PR c++/65168
1923 * c-common.c (c_common_truthvalue_conversion): Check
1924 c_inhibit_evaluation_warnings for warning about address of
1925 reference.
1926
d208f6e6 19272016-07-20 David Malcolm <dmalcolm@redhat.com>
1928
1929 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1930 const char *.
1931
0238e35e 19322016-07-15 Jason Merrill <jason@redhat.com>
1933
1934 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1935
0dd7db3b 19362016-07-15 Jakub Jelinek <jakub@redhat.com>
1937
1938 PR c/71858
1939 * c-common.h (enum lookup_name_fuzzy_kind): Add
1940 FUZZY_LOOKUP_FUNCTION_NAME.
1941
e59cff35 19422016-07-08 Jason Merrill <jason@redhat.com>
1943
1944 P0145: Refining Expression Order for C++.
1945 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1946 * c-opts.c: Adjust.
1947
faee03ad 19482016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1949
1950 PR c++/71214
1951 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1952
a4dd89cb 19532016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1954
1955 * c-pragma.h (enum pragma_kind): Rename
1956 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1957 users.
1958
b6a4a0f5 19592016-06-29 Richard Biener <rguenther@suse.de>
1960
1961 PR middle-end/71002
1962 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1963
176aa551 19642016-06-24 Jason Merrill <jason@redhat.com>
1965
1966 P0145R2: Refining Expression Order for C++.
1967 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1968 MODIFY_EXPR.
1969
77104764 19702016-06-24 Jakub Jelinek <jakub@redhat.com>
1971
1972 * c-common.c (check_builtin_function_arguments): Require last
1973 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1974 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1975 if the last argument is pointer to enumerated or boolean type.
1976
8469aece 19772016-06-22 David Malcolm <dmalcolm@redhat.com>
1978
1979 PR c/70339
1980 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1981 (lookup_name_fuzzy): New prototype.
1982
bd08c370 19832016-06-21 John David Anglin <danglin@gcc.gnu.org>
1984
1985 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1986
06c75b9a 19872016-06-14 Jason Merrill <jason@redhat.com>
1988
1989 P0145R2: Refining Expression Order for C++.
1990 * c.opt (fargs-in-order): New.
1991 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1992
9720103d 19932016-06-13 Jakub Jelinek <jakub@redhat.com>
1994
12cb8367 1995 PR sanitizer/71498
1996 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1997 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1998
9720103d 1999 PR preprocessor/71183
2000 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
2001 to cb_get_source_date_epoch.
2002
8ec29807 20032016-06-10 Jakub Jelinek <jakub@redhat.com>
2004
2005 PR c/68657
2006 * c.opt (Wpsabi): Add Warning flag.
2007
1dc4d519 20082016-06-10 Martin Sebor <msebor@redhat.com>
2009
2010 PR c/71392
2011 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
2012 the nonnull attribute in type-generic builtins.
2013
23b101c5 20142016-06-09 Martin Sebor <msebor@redhat.com>
2015
2016 PR c/70883
2017 * c-common.c (builtin_function_validate_nargs): Make text of error
2018 message consistent with others like it.
2019
732905bb 20202016-06-08 Martin Sebor <msebor@redhat.com>
2021 Jakub Jelinek <jakub@redhat.com>
2022
2023 PR c++/70507
2024 PR c/68120
2025 * c-common.c (check_builtin_function_arguments): Handle
2026 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
2027
86a5f91c 20282016-06-08 Richard Biener <rguenther@suse.de>
2029
2030 * c-common.c (parse_optimize_options): Improve diagnostic messages.
2031
b032c4dd 20322016-06-07 Richard Biener <rguenther@suse.de>
2033
2034 PR c/61564
2035 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
2036 options and warn about others.
2037
dfa5c0d3 20382016-06-01 Eduard Sanou <dhole@openmailbox.org>
2039
2040 * c-common.c (get_source_date_epoch): Rename to
2041 cb_get_source_date_epoch.
2042 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
2043 message when the parsing fails. Use error_at instead of fatal_error.
2044 * c-common.h (get_source_date_epoch): Rename to
2045 cb_get_source_date_epoch.
2046 * c-common.h (cb_get_source_date_epoch): Prototype.
2047 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
2048 * c-common.h (c_omp_region_type): Remove trailing comma.
2049 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
2050 * c-lex.c (c_lex_with_flags): Remove initialization of
2051 pfile->source_date_epoch.
2052
b6431756 20532016-05-30 Jakub Jelinek <jakub@redhat.com>
2054
2055 PR c++/71349
2056 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
2057 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
2058 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
2059 instead of C_OMP_CLAUSE_SPLIT_FOR.
2060
7345b977 20612016-05-24 Richard Biener <rguenther@suse.de>
2062
2063 PR middle-end/70434
2064 PR c/69504
2065 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
2066 (convert_vector_to_array_for_subscript): ... this.
2067 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
2068 VIEW_CONVERT_EXPR to an array type. Rename to ...
2069 (convert_vector_to_array_for_subscript): ... this.
2070
22a3f7bd 20712016-05-12 Marek Polacek <polacek@redhat.com>
2072
2073 PR c/70756
2074 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
2075 size_in_bytes and pass LOC to it.
2076
54c4d22e 20772016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2078
2079 PR c/43651
2080 * c.opt (Wduplicate-decl-specifier): New option.
2081
7f8012a5 20822016-05-11 Marek Polacek <polacek@redhat.com>
2083
2084 PR c++/71024
2085 * c-common.c (diagnose_mismatched_attributes): New function.
2086 * c-common.h (diagnose_mismatched_attributes): Declare.
2087
1d52c456 20882016-05-04 Marek Polacek <polacek@redhat.com>
2089
2090 * c.opt (Wdangling-else): New option.
2091
5d4db8ef 20922016-05-03 Marek Polacek <polacek@redhat.com>
2093
2094 PR c/70859
2095 * c-common.c (builtin_function_validate_nargs): Add location
2096 parameter. Use it.
2097 (check_builtin_function_arguments): Add location and arguments
2098 parameters. Use them.
2099 * c-common.h (check_builtin_function_arguments): Update declaration.
2100
9ae1b28a 21012016-05-03 Richard Biener <rguenther@suse.de>
2102
2103 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
2104 allow call args to gimplify to SSA names.
2105
4341e093 21062016-05-03 Marek Polacek <polacek@redhat.com>
2107
2108 * c-common.h (enum c_omp_region_type): Remove stray comma.
2109
b5e88f74 21102016-05-02 Cesar Philippidis <cesar@codesourcery.com>
2111
2112 * c-common.h (enum c_omp_region_type): Define.
2113
ee31dd3d 21142016-05-02 Richard Sandiford <richard.sandiford@arm.com>
2115
2116 * c-common.c (shorten_compare): Use wi::to_wide.
2117
4d0a8bac 21182016-04-29 Cesar Philippidis <cesar@codesourcery.com>
2119
2120 PR middle-end/70626
2121 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
2122 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
2123 reduction clauses in acc parallel loops.
2124
025dd1e0 21252016-04-29 Marek Polacek <polacek@redhat.com>
2126
2127 PR c/70852
2128 * c-common.c (warn_for_memset): Check domain before accessing it.
2129
eb16928e 21302016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
2131
2132 PR/69089
2133 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
2134 "aligned" attribute.
2135
ddd2a3d4 21362016-04-28 Jason Merrill <jason@redhat.com>
2137
2138 * c-lex.c (c_common_has_attribute): Handle nodiscard.
2139
e3e8c48c 21402016-04-28 Eduard Sanou <dhole@openmailbox.org>
2141 Matthias Klose <doko@debian.org>
2142
2143 * c-common.c (get_source_date_epoch): New function, gets the environment
2144 variable SOURCE_DATE_EPOCH and parses it as long long with error
2145 handling.
2146 * c-common.h (get_source_date_epoch): Prototype.
2147 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
2148
605a4556 21492015-04-27 Ryan Burn <contact@rnburn.com>
2150
2151 PR c++/69024
2152 PR c++/68997
2153 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
2154 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
2155 external linkage.
2156 (cilk_detect_and_unwrap): Corresponding changes.
2157 (extract_free_variables): Don't extract free variables from
2158 AGGR_INIT_EXPR slot.
2159 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
2160 (cilk_recognize_spawn): Likewise.
2161
40385231 21622016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2163
2164 * c.opt (Wmemset-elt-size): New option.
2165 * c-common.c (warn_for_memset): New function.
2166 * c-common.h (warn_for_memset): Declare.
2167
f5d49c14 21682016-04-25 Jason Merrill <jason@redhat.com>
2169
2170 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
2171 No longer static.
2172 * c-common.h: Declare it.
2173 * c-lex.c (c_common_has_attribute): Add maybe_unused.
2174
9c980ab5 21752016-04-22 Jason Merrill <jason@redhat.com>
2176
2177 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
2178
70574e60 21792016-04-20 Ilya Verbin <ilya.verbin@intel.com>
2180
2181 PR c++/69363
2182 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
2183 * c-common.h (c_finish_cilk_clauses): Remove declaration.
2184
5d4b30ea 21852016-04-18 Michael Matz <matz@suse.de>
2186
2187 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
2188 and SET_DECL_ALIGN.
2189
021ad2f3 21902016-04-17 Eric Botcazou <ebotcazou@adacore.com>
2191
2192 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
2193 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
2194 to incomplete types.
2195 (dump_nested_type): Remove redundant tests and tidy up.
2196 (print_ada_declaration): Also set TREE_VISITED on the declaration of
2197 a type which is the typedef of an original type.
2198
926f9422 21992016-04-15 Marek Polacek <polacek@redhat.com>
2200
2201 PR c/70651
2202 * c-common.c (build_va_arg): Change two asserts into errors and return
2203 error_mark_node.
2204
92c53257 22052016-04-13 Marek Polacek <polacek@redhat.com>
2206
2207 PR c++/70639
2208 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
2209 for switch statements, too.
2210
a3ae889f 22112016-03-28 Jason Merrill <jason@redhat.com>
2212
2213 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
2214
62d2a6dc 22152016-03-23 Marek Polacek <polacek@redhat.com>
2216
2217 PR c++/69884
2218 * c.opt (Wignored-attributes): New option.
2219
4baec9f2 22202016-03-22 David Malcolm <dmalcolm@redhat.com>
2221
2222 PR c/69993
2223 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
2224 diagnostic text, reversing the order of the warning and note so
2225 that they appear in source order.
2226
92e7ab1e 22272016-03-17 Marek Polacek <polacek@redhat.com>
2228
2229 PR c/69407
2230 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
2231 operations.
2232
6f895832 22332016-03-14 Jason Merrill <jason@redhat.com>
2234
14c36b14 2235 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
2236
6f895832 2237 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
2238
42bb3bfb 22392016-03-09 Richard Biener <rguenther@suse.de>
2240
2241 PR c/70143
2242 * c-common.c (strict_aliasing_warning): Add back
2243 alias_sets_conflict_p check.
2244
3556aa80 22452016-03-08 Jason Merrill <jason@redhat.com>
2246
2247 * c-opts.c (set_std_cxx1z): Don't enable concepts.
2248
0060768a 22492016-03-04 David Malcolm <dmalcolm@redhat.com>
2250
2251 PR c/68187
2252 * c-indentation.c (get_visual_column): Move code to determine next
2253 tab stop to...
2254 (next_tab_stop): ...this new function.
2255 (line_contains_hash_if): Delete function.
2256 (detect_preprocessor_logic): Delete function.
2257 (get_first_nws_vis_column): New function.
2258 (detect_intervening_unindent): New function.
2259 (should_warn_for_misleading_indentation): Replace call to
2260 detect_preprocessor_logic with a call to
2261 detect_intervening_unindent.
2262
74c6fd40 22632016-03-04 David Malcolm <dmalcolm@redhat.com>
2264
2265 PR c/68187
2266 * c-indentation.c (should_warn_for_misleading_indentation): When
2267 suppressing warnings about cases where the guard and body are on
2268 the same column, only use the first non-whitespace column in place
2269 of the guard token column when dealing with "else" clauses.
2270 When rejecting aligned BODY and NEXT, loosen the requirement
2271 from equality with the first non-whitespace of guard to simply
2272 that they not be indented relative to it.
2273
e692d332 22742016-03-04 Richard Biener <rguenther@suse.de>
2275
2276 PR c++/70054
2277 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
2278 instead of alias_sets_conflict_p.
2279
12cc1225 22802016-03-01 Marek Polacek <polacek@redhat.com>
2281
2282 PR c++/69795
2283 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
2284 any DECL.
2285
8c38d887 22862016-02-22 Martin Sebor <msebor@redhat.com>
2287
2288 PR middle-end/69780
2289 * c-common.c (check_builtin_function_arguments): Validate and
2290 reject invalid arguments to __builtin_alloca_with_align.
2291
e53f41d5 22922016-02-20 Mark Wielaard <mjw@redhat.com>
2293
2294 PR c/28901
2295 * c.opt (Wunused-const-variable): Turn into Alias for...
2296 (Wunused-const-variable=): New option.
2297
9cce8384 22982016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2299
2300 PR c++/69865
2301 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
2302 here...
2303 (c_common_init_options): ...to here.
2304 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
2305
563d5cb8 23062016-02-19 Jakub Jelinek <jakub@redhat.com>
2307
2308 PR c++/69826
2309 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
2310 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
2311 flag_preprocess_only.
2312
7675e968 23132016-02-16 Jakub Jelinek <jakub@redhat.com>
2314
2315 PR c/69835
2316 * c.opt (Wnonnull-compare): Enable for -Wall.
2317
77454e6e 23182016-02-15 Jakub Jelinek <jakub@redhat.com>
2319
2320 PR c++/69797
2321 * c-common.c (sync_resolve_size): Diagnose too few arguments
2322 even when params is non-NULL empty vector.
2323
600695e0 23242016-02-08 Bernd Schmidt <bschmidt@redhat.com>
2325
2326 PR target/60410
2327 * c.opt (fshort-double): Remove.
2328
a7cc1f94 23292016-02-05 Martin Sebor <msebor@redhat.com>
2330
2331 PR c++/69662
2332 * c.opt (Warning options): Update -Wplacement-new to take
2333 an optional argument.
2334
6f13b088 23352016-02-01 Jakub Jelinek <jakub@redhat.com>
2336
2337 PR preprocessor/69543
2338 PR c/69558
2339 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2340 instead of loc to control_warning_option.
2341
948eee2f 23422016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2343
2344 * c.opt (fopenacc-dim=): New option.
2345
5fa82c11 23462016-01-27 Ryan Burn <contact@rnburn.com>
2347
2348 PR cilkplus/69267
2349 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2350 gimplify_arg. Removed superfluous post_p argument.
2351 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2352 superfluous post_p argument.
2353 * c-gimplify.c (c_gimplify_expr): Likewise.
2354
3752e5b1 23552016-01-26 David Malcolm <dmalcolm@redhat.com>
2356
2357 PR other/69006
2358 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2359 pp_newline_and_flush with pp_flush.
2360
bbbbe8ab 23612016-01-20 Martin Sebor <msebor@redhat.com>
2362
2363 PR c/69405
2364 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2365 an incompatible argument when the argument isn't a valid tree node.
2366
f6dfb86a 23672016-01-18 Jason Merrill <jason@redhat.com>
2368
2369 PR c++/68767
2370 * c-common.c (check_function_arguments_recurse): Fold the whole
2371 COND_EXPR, not just the condition.
2372
f672c103 23732016-01-18 Tom de Vries <tom@codesourcery.com>
2374
2375 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2376 classify as loop clause.
2377
c8ef893c 23782016-01-15 Jakub Jelinek <jakub@redhat.com>
2379
2380 PR bootstrap/68271
2381 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2382 C++ FE no longer has limit on number of pragmas.
2383
23842015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 2385
2386 PR c++/69048
2387 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 2388 to add missing cleanup point.
7d600da5 2389
a7ed4583 23902016-01-14 David Malcolm <dmalcolm@redhat.com>
2391
2392 PR c++/68819
2393 * c-indentation.c (get_visual_column): Add location_t param.
2394 Handle the column number being zero by effectively disabling the
2395 warning, with an "inform".
2396 (should_warn_for_misleading_indentation): Add location_t argument
2397 for all uses of get_visual_column.
2398
b933e511 23992016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
2400
2401 PR c++/69029
2402 * c-indentation.c (should_warn_for_misleading_indentation):
2403 Don't warn about do-while statements.
2404
517906ff 24052016-01-07 Martin Sebor <msebor@redhat.com>
2406
2407 PR c/68966
2408 * c-common.c (sync_resolve_size): Reject first argument when it's
2409 a pointer to _Bool.
2410
d42aa619 24112016-01-05 David Malcolm <dmalcolm@redhat.com>
2412
2413 PR c/69122
2414 * c-indentation.c (get_visual_column): Remove default argument.
2415 (should_warn_for_misleading_indentation): For the multiline case,
2416 update call to get_visual_column for next_stmt_exploc so that it
2417 captures the location of the first non-whitespace character in the
2418 relevant line. Don't issue warnings if there is non-whitespace
2419 before the next statement.
2420
f1717362 24212016-01-04 Jakub Jelinek <jakub@redhat.com>
2422
2423 Update copyright years.
2424
c0bf500c 24252015-12-21 David Malcolm <dmalcolm@redhat.com>
2426
2427 * c-common.c (binary_op_error): Convert first param from
2428 location_t to rich_location * and use it when emitting an error.
2429 * c-common.h (binary_op_error): Convert first param from
2430 location_t to rich_location *.
2431
dbd79382 24322015-12-16 David Malcolm <dmalcolm@redhat.com>
2433
2434 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2435 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2436
c0998828 24372015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2438
2439 * c-common.c (c_common_attribute_table): Handle "omp declare target
2440 link" attribute.
2441
7ca909c6 24422015-12-14 Jakub Jelinek <jakub@redhat.com>
2443
2444 PR c/68833
2445 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2446
d9102cbe 24472014-12-12 Tobias Burnus <burnus@net-b.de>
2448
2449 PR fortran/68815
2450 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2451 specifiers (%d, %i,%u and %c).
2452
a515ebdf 24532015-12-10 David Malcolm <dmalcolm@redhat.com>
2454
2455 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2456
31ba81bd 24572015-12-08 Jakub Jelinek <jakub@redhat.com>
2458
2459 PR c/48088
2460 PR c/68657
2461 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2462 * c-pragma.c (handle_pragma_diagnostic): Adjust
2463 control_warning_option caller.
2464
d0f713f4 24652015-12-07 David Malcolm <dmalcolm@redhat.com>
2466
2467 * c-common.c (c_cpp_error): Update for change to
2468 rich_location::set_range.
2469
32d050b5 24702015-12-04 Paolo Bonzini <bonzini@gnu.org>
2471
2472 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2473 shifting 1 out of the sign bit.
2474
24752015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
2476
2477 * c-common.c (c_common_attribute_table[]): Update max arguments
2478 count for "simd" attribute.
2479 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2480
6a8fbd7a 24812015-12-03 Jakub Jelinek <jakub@redhat.com>
2482
2483 PR preprocessor/57580
2484 * c-ppoutput.c (print): Change printed field to bool.
2485 Move src_file last for smaller padding.
2486 (init_pp_output): Set print.printed to false instead of 0.
2487 (scan_translation_unit): Fix up formatting. Set print.printed
2488 to true after printing something other than newline.
2489 (scan_translation_unit_trad): Set print.printed to true instead of 1.
2490 (maybe_print_line_1): Set print.printed to false instead of 0.
2491 (print_line_1): Likewise.
2492 (do_line_change): Set print.printed to true instead of 1.
2493 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2494 dump_macro): Set print.printed to false after printing newline.
2495
da562e32 24962015-12-02 Jason Merrill <jason@redhat.com>
2497
9c691dbd 2498 * c-common.c (fold_for_warn): New.
2499 (warn_logical_operator, warn_tautological_cmp)
2500 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2501
da562e32 2502 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2503 (c_fully_fold_internal, decl_constant_value_for_optimization):
2504 Move to c/c-fold.c.
2505 * c-common.h: Don't declare decl_constant_value_for_optimization.
2506
89f16034 25072015-12-02 Joseph Myers <joseph@codesourcery.com>
2508
2509 PR c/68162
2510 * c-common.h (c_build_qualified_type): Add extra default
2511 arguments.
2512
571b3486 25132015-12-01 Julian Brown <julian@codesourcery.com>
2514 Cesar Philippidis <cesar@codesourcery.com>
2515 James Norris <James_Norris@mentor.com>
2516
2517 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2518 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2519 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2520
ed92a461 25212015-11-30 Eric Botcazou <ebotcazou@adacore.com>
2522
2523 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2524 (decl_sloc_common): Delete and move bulk of processing to...
2525 (decl_sloc): ...here.
2526 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2527 (dump_ada_double_name): Remove S parameter and compute the suffix.
2528 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
2529 element type and deal with an anonymous one.
2530 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2531 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
2532 and remove reference to QUAL_UNION_TYPE.
2533 (dump_nested_types): Make 2 passes on the fields and move bulk to...
2534 (dump_nested_type): ...here. New function extracted from above.
2535 Generate a full declaration for anonymous element type of arrays.
2536 (print_ada_declaration): Really skip anonymous declarations. Remove
2537 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
2538 Clean up processing of declarations of array types and objects.
2539 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2540 Remove obsolete code and tidy up.
2541
c25b3e3f 25422015-11-29 Jan Hubicka <hubicka@ucw.cz>
2543
2544 PR c/67581
2545 * c-common.c (handle_transparent_union_attribute): Update
2546 also type variants.
2547
d4e328e9 25482015-11-27 Martin Liska <mliska@suse.cz>
2549
2550 PR c++/68312
2551 * array-notation-common.c (cilkplus_extract_an_triplets):
2552 Release vector of vectors.
2553 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2554
f63d9c4e 25552015-11-26 Eric Botcazou <ebotcazou@adacore.com>
2556
2557 PR c++/68527
2558 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2559 (print_ada_struct_decl): Likewise.
2560
8d63c601 25612015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
2562
2563 PR c++/68001
2564 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2565 * cilk.c (recognize_spawn): Determine location in a more precise
2566 way.
2567
01f11119 25682015-11-19 Jason Merrill <jason@redhat.com>
2569
2570 * c-common.c (shorten_compare): But look through macros from
2571 system headers.
2572
2d3d3af7 25732015-11-18 Jason Merrill <jason@redhat.com>
2574
2575 * c-common.c (shorten_compare): Don't -Wtype-limits if the
2576 non-constant operand comes from a macro.
2577
7991eeee 25782015-11-17 Jason Merrill <jason@redhat.com>
2579
2580 PR bootstrap/68346
2581 * c-common.c (warn_tautological_cmp): Fold before checking for
2582 constants.
2583
73f67931 25842015-11-16 Marek Polacek <polacek@redhat.com>
2585
2586 PR c++/68362
2587 * c-common.c (check_case_bounds): Fold low and high cases.
2588
8e539fdc 25892015-11-16 Marek Polacek <polacek@redhat.com>
2590
2591 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2592 * c-common.c (c_common_get_alias_set): Likewise.
2593 (handle_visibility_attribute): Likewise.
2594
c58a4cfd 25952015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2596
2597 * c-common.c (handle_simd_attribute): New.
2598 (struct attribute_spec): Add entry for "simd".
2599 (handle_simd_attribute): New.
2600
bb036391 26012015-11-13 Kai Tietz <ktietz70@googlemail.com>
2602
2603 * c-lex.c (interpret_float): Use fold_convert.
2604
a96cefb2 26052015-11-13 David Malcolm <dmalcolm@redhat.com>
2606
2607 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2608 and store it on the result.
2609 * c-opts.c (c_common_init_options): Set
2610 global_dc->colorize_source_p.
2611
2fc5e987 26122015-11-12 James Norris <jnorris@codesourcery.com>
2613 Joseph Myers <joseph@codesourcery.com>
2614
2615 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
2616 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2617 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2618 PRAGMA_OACC_CLAUSE_LINK.
2619
81b1b2a8 26202015-11-11 Marek Polacek <polacek@redhat.com>
2621
2622 PR c/68107
2623 PR c++/68266
2624 * c-common.c (valid_array_size_p): New function.
2625 * c-common.h (valid_array_size_p): Declare.
2626
92a44a68 26272015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 2628
2629 PR bootstrap/68271
2630 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2631
6e803544 26322015-11-11 Andrew MacLeod <amacleod@redhat.com>
2633
2634 * array-notation-common.c: Remove unused header files.
2635 * c-ada-spec.c: Likewise.
2636 * c-cilkplus.c: Likewise.
2637 * c-common.c: Likewise.
2638 * c-cppbuiltin.c: Likewise.
2639 * c-dump.c: Likewise.
2640 * c-format.c: Likewise.
2641 * c-gimplify.c: Likewise.
2642 * c-indentation.c: Likewise.
2643 * c-lex.c: Likewise.
2644 * c-omp.c: Likewise.
2645 * c-opts.c: Likewise.
2646 * c-pch.c: Likewise.
2647 * c-ppoutput.c: Likewise.
2648 * c-pragma.c: Likewise.
2649 * c-pretty-print.c: Likewise.
2650 * c-semantics.c: Likewise.
2651 * c-ubsan.c: Likewise.
2652 * cilk.c: Likewise.
2653 * stub-objc.c: Likewise.
2654
a1b7fe4b 26552015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2656 Cesar Philippidis <cesar@codesourcery.com>
2657 James Norris <jnorris@codesourcery.com>
2658 Julian Brown <julian@codesourcery.com>
2659 Nathan Sidwell <nathan@codesourcery.com>
2660
2661 * c-pragma.c (oacc_pragmas): Add "routine".
2662 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2663
292237f3 26642015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2665
2666 * c-common.c (c_common_attributes): Add scalar_storage_order.
2667 (handle_scalar_storage_order_attribute): New function.
2668 * c-pragma.c (global_sso): New variable.
2669 (maybe_apply_pragma_scalar_storage_order): New function.
2670 (handle_pragma_scalar_storage_order): Likewise.
2671 (init_pragma): Register scalar_storage_order.
2672 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2673 * c.opt (Wscalar-storage-order): New warning.
2674 (fsso-struct=): New option.
2675
b4a4c5fa 26762015-11-08 Martin Sebor <msebor@redhat.com>
2677
2678 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2679
ac677063 26802015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2681
2682 * c-common.c: Don't undef DEF_BUILTIN.
2683
f0479000 26842015-11-06 David Malcolm <dmalcolm@redhat.com>
2685
2686 * c-common.c (c_cpp_error): Convert parameter from location_t to
2687 rich_location *. Eliminate the "column_override" parameter and
2688 the call to diagnostic_override_column.
2689 Update the "done_lexing" clause to set range 0
2690 on the rich_location, rather than overwriting a location_t.
2691 * c-common.h (c_cpp_error): Convert parameter from location_t to
2692 rich_location *. Eliminate the "column_override" parameter.
2693
ef014f95 26942015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2695 Thomas Schwinge <thomas@codesourcery.com>
2696 James Norris <jnorris@codesourcery.com>
2697
2698 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2699 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2700 clauses with parallel and kernels and loops.
2701 * c-pragma.h (enum pragma_omp_clause): Add entries for
2702 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2703 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2704 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2705 INDEPENDENT,SEQ}.
2706 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2707
e520488c 27082015-11-05 Martin Sebor <msebor@redhat.com>
2709
2710 PR c++/67942
2711 * c.opt (-Wplacement-new): New option.
2712
9561765e 27132015-11-05 Jakub Jelinek <jakub@redhat.com>
2714
2715 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2716 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2717 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2718 save_expr or create_tmp_var* if TEST is true.
2719 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2720 Don't call add_stmt here.
2721 (struct c_omp_check_loop_iv_data): New type.
2722 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2723 c_omp_check_loop_iv_exprs): New functions.
2724 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2725 distribute.
2726 (c_omp_declare_simd_clauses_to_numbers): Change
2727 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2728 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2729 from numbers to PARM_DECLs.
2730
5e8689fb 27312015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2732
2733 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2734 flag_checking.
2735
92a44a68 27362015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 2737
2738 PR c++-common/67882
32d050b5 2739 * c-common.h (fold_offsetof_1): Add argument.
2740 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 2741 offsetof expressions that reference elements past the end of
2742 an array.
2743
9e10bfb7 27442015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2745 Chung-Lin Tang <cltang@codesourcery.com>
2746
2747 * c-pragma.c (oacc_pragmas): Add "atomic".
2748 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2749
ab50af2a 27502015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2751
2752 * c-common.c (handle_target_clones_attribute): New.
2753 (c_common_attribute_table): Add handle_target_clones_attribute.
2754 (handle_always_inline_attribute): Add check on target_clones attribute.
2755 (handle_target_attribute): Ditto.
2756
4cba6f60 27572015-10-29 Andrew MacLeod <amacleod@redhat.com>
2758
2759 * array-notation-common.c: Reorder #include's and remove duplicates.
2760 * c-ada-spec.c: Likewise.
2761 * c-cilkplus.c: Likewise.
2762 * c-common.c: Likewise.
2763 * c-cppbuiltin.c: Likewise.
2764 * c-dump.c: Likewise.
2765 * c-format.c: Likewise.
2766 * c-gimplify.c: Likewise.
2767 * c-indentation.c: Likewise.
2768 * c-lex.c: Likewise.
2769 * c-omp.c: Likewise.
2770 * c-opts.c: Likewise.
2771 * c-pch.c: Likewise.
2772 * c-ppoutput.c: Likewise.
2773 * c-pragma.c: Likewise.
2774 * c-pretty-print.c: Likewise.
2775 * c-semantics.c: Likewise.
2776 * c-ubsan.c: Likewise.
2777 * cilk.c: Likewise.
2778 * stub-objc.c: Likewise.
2779
f576a2e4 27802015-10-28 Jason Merrill <jason@redhat.com>
2781
2782 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2783
2c4c8725 27842015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2785 James Norris <jnorris@codesourcery.com>
2786 Cesar Philippidis <cesar@codesourcery.com>
2787
2788 PR c/64765
2789 PR c/64880
2790 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2791 * c-omp.c (c_oacc_split_loop_clauses): New function.
2792
8204c077 27932015-10-21 Martin Sebor <msebor@redhat.com>
2794
2795 PR driver/68043
2796 * c.opt: End each sentence that describes an option with a period.
2797
8523243e 27982015-10-20 Marek Polacek <polacek@redhat.com>
2799
2800 * array-notation-common.c (is_cilkplus_vector_p): Define.
2801 * c-common.h (is_cilkplus_vector_p): Declare.
2802
08881cb8 28032015-10-20 Marek Polacek <polacek@redhat.com>
2804
2805 * c.opt (std=gnu++11): Do not describe as experimental.
2806 (std=gnu++14): Likewise.
2807
a36e5e5e 28082015-10-19 Jason Merrill <jason@redhat.com>
2809
2810 * c-cppbuiltin.c (c_cpp_builtins): Define
2811 __cpp_nontype_template_args.
2812
a349de0a 28132015-10-19 Jason Merrill <jason@redhat.com>
2814
2815 * c-cppbuiltin.c (c_cpp_builtins): Define
2816 __cpp_enumerator_attributes, __cpp_fold_expressions,
2817 __cpp_unicode_characters.
2818
43895be5 28192015-10-13 Jakub Jelinek <jakub@redhat.com>
2820 Aldy Hernandez <aldyh@redhat.com>
2821
2822 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2823 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2824 (c_define_builtins): Likewise.
2825 * c-common.h (enum c_omp_clause_split): Add
2826 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2827 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2828 (c_finish_omp_for): Add ORIG_DECLV argument.
2829 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2830 201511 instead of 201307.
2831 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2832 OMP_CRITICAL_CLAUSES to it.
2833 (c_finish_omp_ordered): Add CLAUSES argument, set
2834 OMP_ORDERED_CLAUSES to it.
2835 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2836 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2837 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2838 constructs and new OpenMP 4.5 clauses. Clear
2839 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2840 verification code.
2841 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2842 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2843 (enum pragma_omp_clause): Add
2844 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2845 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2846
20cb53c9 28472015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2848
2849 * c-lex.c (interpret_float): Use real_equal instead of
2850 REAL_VALUES_EQUAL.
2851
6d02e6b2 28522015-10-04 Jason Merrill <jason@redhat.com>
2853
2854 Implement N4514, C++ Extensions for Transactional Memory.
2855 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2856 (c_common_attribute_table): Add transaction_safe_dynamic.
2857 transaction_safe now affects type identity.
2858 (handle_tm_attribute): Handle transaction_safe_dynamic.
2859 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2860 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2861 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2862 (D_TRANSMEM): New.
2863 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2864 * c-pretty-print.c (pp_c_attributes_display): Don't print
2865 transaction_safe in C++.
2866
c0999a5d 28672015-10-02 Marek Polacek <polacek@redhat.com>
2868
2869 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2870
ef17a71a 28712015-10-02 Marek Polacek <polacek@redhat.com>
2872
2873 PR c/64249
2874 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2875 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2876 * c.opt (Wduplicated-cond): New option.
2877
05b84e7b 28782015-10-01 Joseph Myers <joseph@codesourcery.com>
2879
2880 * c.opt (std=c11): Do not describe as experimental.
2881 (std=gnu11): Likewise.
2882 (std=iso9899:2011): Likewise.
2883
e561d5e1 28842015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2885
2886 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2887 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2888
bd4b90d2 28892015-09-25 Marek Polacek <polacek@redhat.com>
2890
2891 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2892 (ubsan_instrument_shift): Likewise.
2893
ac13b2b2 28942015-09-25 Marek Polacek <polacek@redhat.com>
2895
2896 PR sanitizer/64906
2897 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2898
a3c82f4c 28992015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2900
2901 * c-indentation.c (should_warn_for_misleading_indentation):
2902 Compare next_stmt_vis_column with guard_line_first_nws instead
2903 of with guard_line_vis_column.
2904
5eef101d 29052015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2906
2907 PR c/49654
2908 PR c/49655
2909 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2910 options and options not valid for the current language.
2911
60897493 29122015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2913
2914 * c-indentation.c (should_warn_for_misleading_indentation):
2915 Float out and consolidate the calls to get_visual_column that
2916 are passed guard_exploc as an argument. Compare
2917 next_stmt_vis_column with guard_line_first_nws instead of with
2918 body_line_first_nws.
2919
85c93154 29202015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2921
2922 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2923 Wnamespaces): New C++ warnings.
2924
229a58b1 29252015-09-22 Jason Merrill <jason@redhat.com>
2926
2927 * c-common.h (abi_compat_version_crosses): New.
2928 (warn_abi_version): Declare.
2929 * c-common.c: Define it.
2930 * c-opts.c (c_common_post_options): Handle it.
2931 flag_abi_compat_version defaults to 8.
2932
2d2de569 29332015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2934
2935 Complete the implementation of N4230, Nested namespace definition.
2936 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2937 __cpp_nested_namespace_definitions.
2938
2b897e68 29392015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2940
2941 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2942
ed536208 29432015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2944
2945 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2946 when warning.
2947 * c-pragma.h (pragma_lex): Add optional loc argument.
2948
1dc6c44d 29492015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2950
2951 * c-format.c (check_format_arg): Adjust to use common block size in all
2952 object pools.
2953
be812248 29542015-09-15 David Malcolm <dmalcolm@redhat.com>
2955
2956 * c-format.c (location_from_offset): Update for change in
2957 signature of location_get_source_line.
2958 * c-indentation.c (get_visual_column): Likewise.
2959 (line_contains_hash_if): Likewise.
2960
e4cc057f 29612015-09-14 Marek Polacek <polacek@redhat.com>
2962
2963 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2964 setting various warnings.
2965
85f5e2ee 29662015-09-14 Marek Polacek <polacek@redhat.com>
2967
2968 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2969 a negative value.
2970
1bca8cbd 29712015-09-11 Mark Wielaard <mjw@redhat.com>
2972
2973 PR c/28901
2974 * c.opt (Wunused-variable): Option from common.opt.
2975 (Wunused-const-variable): New option.
2976
ee48893a 29772015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2978
2979 PR c++/53184
2980 * c.opt ([Wsubobject-linkage]): Add.
2981
547c6b1f 29822015-09-03 Martin Sebor <msebor@redhat.com>
2983
2984 PR c/66516
2985 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2986 functions.
2987 * c-common.c (reject_gcc_builtin): Define.
2988
7e976b10 29892015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2990
2991 PR middle-end/60586
2992 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2993 prototype.
2994 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2995 cilk_gimplify_call_params_in_spawned_fn.
2996 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2997 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2998 unwrapping.
2999
9e6bcade 30002015-08-25 Marek Polacek <polacek@redhat.com>
3001
3002 PR middle-end/67330
3003 * c-common.c (handle_weak_attribute): Don't check whether the
3004 visibility can be changed here.
3005
af9de21d 30062015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3007
3008 * c-lex.c (c_lex_with_flags): Use explicit locations.
3009
6dc50383 30102015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3011
3012 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
3013 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
3014
10902624 30152015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3016
3017 PR middle-end/36757
3018 * c-common.c (check_builtin_function_arguments): Add check
3019 for BUILT_IN_SIGNBIT argument.
3020
a03a71ab 30212015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
3022
3023 PR c++/67160
3024 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
3025 in c++1z mode.
3026
22723c26 30272015-08-17 Marek Polacek <polacek@redhat.com>
3028
3029 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
3030 with whitespaces before qualifier names.
3031
f4809955 30322015-08-12 Marek Polacek <polacek@redhat.com>
3033
3034 PR c++/55095
3035 * c-common.c (maybe_warn_shift_overflow): Properly handle
3036 left-shifting 1 into the sign bit.
3037
5463f502 30382015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3039
3040 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
3041
56c12fd4 30422015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
3043 Braden Obrzut <admin@maniacsvault.net>
3044 Jason Merrill <jason@redhat.com>
3045
3046 Add C++ Concepts TS support.
3047 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
3048 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
3049 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
3050 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
3051 * c-opts.c (set_std_cxx1z): Set flag_concepts.
3052 * c.opt (fconcepts): New.
3053
32d050b5 30542015-08-02 Martin Sebor <msebor@redhat.com>
3055
3056 * c.opt (-Wframe-address): New warning option.
3057
17afcef6 30582015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3059
3060 * c-indentation.c (should_warn_for_misleading_indentation):
3061 Improve heuristics.
3062
f95bfdd4 30632015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3064
3065 * c-indentation.c (get_visual_column): Add parameter first_nws,
3066 use it. Update comment documenting the function.
3067 (is_first_nonwhitespace_on_line): Remove.
3068 (should_warn_for_misleading_indentation): Replace usage of
3069 of is_first_nonwhitespace_on_line with get_visual_column.
3070
9255be07 30712015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3072
3073 * c-indentation.h (struct token_indent_info): Define.
3074 (get_token_indent_info): Define.
3075 (warn_for_misleading_information): Declare.
3076 * c-common.h (warn_for_misleading_information): Remove.
3077 * c-identation.c (warn_for_misleading_indentation):
3078 Change declaration to take three token_indent_infos. Adjust
3079 accordingly.
3080 * c-identation.c (should_warn_for_misleading_indentation):
3081 Likewise. Bail out early if the body is a compound statement.
3082 (guard_tinfo_to_string): Define.
3083
e880695c 30842015-07-30 Jason Merrill <jason@redhat.com>
3085
3086 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
3087 '*' for reference decay.
3088
f58dd84b 30892015-07-30 Marek Polacek <polacek@redhat.com>
3090
3091 * c-common.c (warn_tautological_cmp): Bail for float types.
3092
d9e4fe27 30932015-07-27 Marek Polacek <polacek@redhat.com>
3094
3095 PR bootstrap/67030
3096 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
3097
6784a472 30982015-07-27 Marek Polacek <polacek@redhat.com>
3099
3100 PR c++/66555
3101 PR c/54979
3102 * c-common.c (find_array_ref_with_const_idx_r): New function.
3103 (warn_tautological_cmp): New function.
3104 * c-common.h (warn_tautological_cmp): Declare.
3105 * c.opt (Wtautological-compare): New option.
3106
08034975 31072015-07-23 Marek Polacek <polacek@redhat.com>
3108
3109 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
3110 (ubsan_instrument_shift): Likewise.
3111
f6f5e49b 31122015-07-23 Marek Polacek <polacek@redhat.com>
3113
3114 PR sanitizer/66908
3115 * c-ubsan.c: Include gimplify.h.
3116 (ubsan_instrument_division): Unshare OP0 and OP1.
3117 (ubsan_instrument_shift): Likewise.
3118
8d669e79 31192015-07-20 Marek Polacek <polacek@redhat.com>
3120 Richard Sandiford <richard.sandiford@arm.com>
3121
3122 PR c++/55095
3123 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
3124 Use EXPR_LOC_OR_LOC.
3125 (maybe_warn_shift_overflow): New function.
3126 * c-common.h (maybe_warn_shift_overflow): Declare.
3127 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
3128 * c.opt (Wshift-overflow): New option.
3129
e16712b1 31302015-07-16 Martin Liska <mliska@suse.cz>
3131
3132 * c-format.c (static void check_format_info_main): Use
3133 object_allocator instead of pool_allocator.
3134 (check_format_arg): Likewise.
3135 (check_format_info_main): Likewise.
3136
e51764ad 31372015-07-15 Andrew MacLeod <amacleod@redhat.com>
3138
3139 * c-opts.c: Remove multiline #include comment.
3140
47ae02b7 31412015-07-12 Aldy Hernandez <aldyh@redhat.com>
3142
3143 * c-common.c: Fix double word typos.
3144
ed2b2eb2 31452015-07-10 Eric Botcazou <ebotcazou@adacore.com>
3146
3147 * c-ada-spec.h (cpp_operation): Revert latest change.
3148 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
3149 constructors and destructors.
3150
1eacc14a 31512015-07-09 Andrew MacLeod <amacleod@redhat.com>
3152
3153 * c-common.h: Adjust includes for flags.h changes.
3154 * stub-objc.c: Likewise.
47ae02b7 3155
0124237f 31562015-07-08 Eric Botcazou <ebotcazou@adacore.com>
3157
3158 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
3159 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
3160
386ef929 31612015-07-08 Jakub Jelinek <jakub@redhat.com>
3162
3163 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
3164 are to be removed, return NULL rather than original clauses list.
3165
9ef16211 31662015-07-07 Andrew MacLeod <amacleod@redhat.com>
3167
3168 * array-notation-common.c: Adjust includes.
3169 * c-ada-spec.c: Likewise.
3170 * c-cilkplus.c: Likewise.
3171 * c-common.h: Likewise.
3172 * c-cppbuiltin.c: Likewise.
3173 * c-dump.c: Likewise.
3174 * c-format.c: Likewise.
3175 * c-gimplify.c: Likewise.
3176 * c-indentation.c: Likewise.
3177 * c-lex.c: Likewise.
3178 * c-omp.c: Likewise.
3179 * c-opts.c: Likewise.
3180 * c-pch.c: Likewise.
3181 * c-ppoutput.c: Likewise.
3182 * c-pragma.c: Likewise.
3183 * c-pretty-print.c: Likewise.
3184 * c-semantics.c: Likewise.
3185 * c-ubsan.c: Likewise.
3186 * cilk.c: Likewise.
3187 * stub-objc.c: Likewise.
3188
67ede3e4 31892015-07-07 Eric Botcazou <ebotcazou@adacore.com>
3190
3191 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
3192 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
3193
42af8c2a 31942015-07-01 Jason Merrill <jason@redhat.com>
3195
fa769cc5 3196 * c-common.h (D_CXX11): Rename from D_CXX0X.
3197 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
3198 * c-common.c: Adjust.
3199
97e9c847 3200 * c-opts.c (c_common_post_options): Default to C++14.
3201
42af8c2a 3202 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
3203
30b1ba42 32042015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
3205
3206 Implement N4197 - Adding u8 character literals
32d050b5 3207 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 3208 CPP_CHAR.
32d050b5 3209 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 3210 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 3211 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 3212 and CPP_UTF8CHAR tokens.
3213 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 3214
0949f227 32152015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3216
3217 PR fortran/66605
3218 * c-common.c (do_warn_unused_parameter): Move here.
3219 * c-common.h (do_warn_unused_parameter): Declare.
3220
be23b16f 32212015-06-29 Marek Polacek <polacek@redhat.com>
3222
3223 PR c/66322
3224 * c-common.c (check_case_bounds): Add bool * parameter. Set
3225 OUTSIDE_RANGE_P.
3226 (c_add_case_label): Add bool * parameter. Pass it down to
3227 check_case_bounds.
3228 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
3229 warning here.
3230 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
3231 declarations.
3232
6290f0db 32332015-06-27 Marek Polacek <polacek@redhat.com>
3234
3235 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
3236 or VECTOR_INTEGER_TYPE_P throughout.
3237 * c-gimplify.c: Likewise.
3238
aa3e402e 32392015-06-26 Marek Polacek <polacek@redhat.com>
3240
3241 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
3242 * c-common.c (c_fully_fold_internal): Likewise.
3243 (c_alignof_expr): Likewise.
3244 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
3245 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 3246 * cilk.c (create_parm_list): Likewise.
aa3e402e 3247
4e81b384 32482015-06-26 Marek Polacek <polacek@redhat.com>
3249
3250 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
3251
ec2e0095 32522015-06-25 Andrew MacLeod <amacleod@redhat.com>
3253
3254 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
3255 * c-gimplify.c: Likewise.
3256 * c-pragma.c: Likewise.
3257 * c-ubsan.c: Likewise.
3258 * cilk.c: Likewise.
3259
b594087e 32602015-06-25 Richard Sandiford <richard.sandiford@arm.com>
3261
3262 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
3263 ggc_hasher.
3264
a3c76fda 32652015-06-25 Andrew MacLeod <amacleod@redhat.com>
3266
3267 * cilk.c: Move calls.h after tm.h in the include chain.
3268
f48c7f4a 32692015-06-25 Marek Polacek <polacek@redhat.com>
3270
3271 * array-notation-common.c: Use VAR_P throughout.
3272 * c-ada-spec.c: Likewise.
3273 * c-common.c: Likewise.
3274 * c-format.c: Likewise.
3275 * c-gimplify.c: Likewise.
3276 * c-omp.c: Likewise.
3277 * c-pragma.c: Likewise.
3278 * c-pretty-print.c: Likewise.
3279 * cilk.c: Likewise.
3280
ce41e81a 32812015-06-25 Marek Polacek <polacek@redhat.com>
3282
3283 * cilk.c (extract_free_variables): Use is_global_var.
3284
de231ec2 32852015-06-23 Richard Sandiford <richard.sandiford@arm.com>
3286
3287 * c-common.c: Don't include target-def.h.
3288
0200602e 32892015-06-23 Marek Polacek <polacek@redhat.com>
3290
3291 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
3292 when comparing INTEGER_CSTs.
3293
99838ed7 32942015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
3295
3296 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
3297 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
3298 (dump_ada_template): Skip partially specialized types.
3299
a4f59596 33002015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
3301
3302 * c-common.c (scalar_to_vector): Use std::swap instead of manually
3303 swapping.
3304
f2ab3bac 33052015-06-17 Andrew MacLeod <amacleod@redhat.com>
3306
3307 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
3308 * c-ada-spec.c: Likewise.
3309 * c-cilkplus.c: Likewise.
3310 * c-common.c: Likewise.
3311 * c-common.h: Likewise.
3312 * c-cppbuiltin.c: Likewise.
3313 * c-dump.c: Likewise.
3314 * c-format.c: Likewise.
3315 * c-gimplify.c: Likewise.
3316 * c-indentation.c: Likewise.
3317 * c-lex.c: Likewise.
3318 * c-omp.c: Likewise.
3319 * c-opts.c: Likewise.
3320 * c-pch.c: Likewise.
3321 * c-ppoutput.c: Likewise.
3322 * c-pragma.c: Likewise.
3323 * c-pretty-print.c: Likewise.
3324 * c-semantics.c: Likewise.
3325 * c-ubsan.c: Likewise.
3326 * cilk.c: Likewise.
3327 * stub-objc.c: Likewise.
3328
db3d1ffc 33292015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
3330
3331 PR c++/65168
3332 * c-common.c (c_common_truthvalue_conversion): Warn when
3333 converting an address of a reference to a truth value.
3334
64486212 33352015-06-08 Andrew MacLeod <amacleod@redhat.com>
3336
3337 * array-notation-common.c : Adjust include files.
3338 * c-ada-spec.c : Likewise.
3339 * c-cilkplus.c : Likewise.
3340 * c-common.c : Likewise.
3341 * c-common.h : Likewise.
3342 * c-cppbuiltin.c : Likewise.
3343 * c-dump.c : Likewise.
3344 * c-format.c : Likewise.
3345 * c-gimplify.c : Likewise.
3346 * c-indentation.c : Likewise.
3347 * c-lex.c : Likewise.
3348 * c-omp.c : Likewise.
3349 * c-opts.c : Likewise.
3350 * c-pch.c : Likewise.
3351 * c-ppoutput.c : Likewise.
3352 * c-pragma.c : Likewise.
3353 * c-pretty-print.c : Likewise.
3354 * c-semantics.c : Likewise.
3355 * c-ubsan.c : Likewise.
3356 * cilk.c : Likewise.
3357 * stub-objc.c : Likewise.
3358
6e84ccad 33592015-06-08 Marek Polacek <polacek@redhat.com>
3360
3361 PR c/66415
3362 * c-format.c (location_from_offset): Return LOC if LINE is null.
3363
3a1c9df2 33642015-06-05 Aldy Hernandez <aldyh@redhat.com>
3365
3366 * c-common.h (c_parse_final_cleanups): New prototype.
3367 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3368
32d050b5 33692015-06-04 Sriraman Tallam <tmsriram@google.com>
3370
3371 * c-common.c (noplt): New attribute.
3372 (handle_noplt_attribute): New handler.
3373
f77c0292 33742015-06-04 Andrew MacLeod <amacleod@redhat.com>
3375
3376 * array-notation-common.c: Adjust includes for restructured coretypes.h.
3377 * c-ada-spec.c: Likewise.
3378 * c-cilkplus.c: Likewise.
3379 * c-common.c: Likewise.
3380 * c-common.h: Likewise.
3381 * c-cppbuiltin.c: Likewise.
3382 * c-dump.c: Likewise.
3383 * c-format.c: Likewise.
3384 * c-gimplify.c: Likewise.
3385 * c-indentation.c: Likewise.
3386 * c-lex.c: Likewise.
3387 * c-omp.c: Likewise.
3388 * c-opts.c: Likewise.
3389 * c-pch.c: Likewise.
3390 * c-ppoutput.c: Likewise.
3391 * c-pragma.c: Likewise.
3392 * c-pretty-print.c: Likewise.
3393 * c-semantics.c: Likewise.
3394 * c-ubsan.c: Likewise.
3395 * cilk.c: Likewise.
3396 * stub-objc.c: Likewise.
3397
7c62dfbb 33982015-06-02 David Malcolm <dmalcolm@redhat.com>
3399
3400 PR c/66220:
3401 * c-indentation.c (should_warn_for_misleading_indentation): Use
3402 expand_location rather than expand_location_to_spelling_point.
3403 Don't warn if the guarding statement is more indented than the
3404 next/body stmts.
3405
9af7c176 34062015-06-02 David Malcolm <dmalcolm@redhat.com>
3407
3408 * c-indentation.c (warn_for_misleading_indentation): Bail out
3409 immediately if -Wmisleading-indentation isn't enabled.
3410
eebcf436 34112015-06-01 Martin Liska <mliska@suse.cz>
3412
3413 * c-format.c (check_format_arg):Use new type-based pool allocator.
3414 (check_format_info_main) Likewise.
3415
b0a23e2f 34162015-05-31 Eric Botcazou <ebotcazou@adacore.com>
3417
3418 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3419 (has_nontrivial_methods): Likewise.
3420
63dc1330 34212015-05-25 Marek Polacek <polacek@redhat.com>
3422
3423 * c-ubsan.c (ubsan_instrument_shift): Use type0.
3424
5a4c69dd 34252015-05-22 Marek Polacek <polacek@redhat.com>
3426
3427 PR c/47043
3428 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3429
044580bb 34302015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 3431
3432 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3433 STACK_GROWS_DOWNWARD.
3434
044580bb 34352015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 3436
3437 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3438 STACK_GROWS_DOWNWARD rather than if it is defined.
3439
d5a2ddc7 34402015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 3441
d5a2ddc7 3442 PR c/52952
3443 * c-format.c (location_column_from_byte_offset): New.
3444 (location_from_offset): New.
3445 (struct format_wanted_type): Add offset_loc field.
3446 (check_format_info): Move handling of location for extra arguments
3447 closer to the point of warning.
3448 (check_format_info_main): Pass the result of location_from_offset
3449 to warning_at.
3450 (format_type_warning): Pass the result of location_from_offset
3451 to warning_at.
3452
72f8014e 34532015-05-20 Marek Polacek <polacek@redhat.com>
3454
3455 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3456
74efe522 34572015-05-20 Marek Polacek <polacek@redhat.com>
3458
3459 * c-ada-spec.c (dump_sloc): Use DECL_P.
3460
b443c459 34612015-05-20 Marek Polacek <polacek@redhat.com>
3462
3463 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3464 * c-common.c: Likewise.
3465
551e34da 34662015-05-19 David Malcolm <dmalcolm@redhat.com>
3467
3468 * c-common.h (fe_file_change): Strengthen param from
3469 const line_map * to const line_map_ordinary *.
3470 (pp_file_change): Likewise.
3471 * c-lex.c (fe_file_change): Likewise.
3472 (cb_define): Use linemap_check_ordinary when invoking
3473 SOURCE_LINE.
3474 (cb_undef): Likewise.
3475 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3476 invoking cb_file_change.
3477 (c_finish_options): Likewise.
3478 (push_command_line_include): Likewise.
3479 (cb_file_change): Strengthen param "new_map" from
3480 const line_map * to const line_map_ordinary *.
3481 * c-ppoutput.c (cb_define): Likewise for local "map".
3482 (pp_file_change): Likewise for param "map" and local "from".
3483
dfcf26a5 34842015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
3485
3486 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3487
2e474820 34882015-05-18 Tom de Vries <tom@codesourcery.com>
3489
3490 * c-common.c (build_va_arg_1): New function.
3491 (build_va_arg): Add address operator to va_list operand if necessary.
3492
e53013a8 34932015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
3494
3495 PR c/48956
3496 * c-common.c (int_safely_convertible_to_real_p): Define.
3497 (unsafe_conversion_p): Check conversions involving complex types.
3498 (conversion_warning): Add new warning message for conversions which
3499 discard imaginary component.
3500 * c-common.h: (enum conversion_safety): Add new enumerator for such
3501 conversions.
3502
aac24642 35032015-05-14 Marek Polacek <polacek@redhat.com>
3504
3505 PR c/66066
3506 PR c/66127
3507 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3508 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3509 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
3510 use it. If FOR_INT_CONST, require that all evaluated operands be
3511 INTEGER_CSTs.
3512
e5f01cba 35132015-05-12 David Malcolm <dmalcolm@redhat.com>
3514
3515 * c-common.h (warn_for_misleading_indentation): New prototype.
3516 * c-indentation.c: New file.
3517 * c.opt (Wmisleading-indentation): New option.
3518
c37be9ec 35192015-05-12 Tom de Vries <tom@codesourcery.com>
3520
3521 PR tree-optimization/66010
3522 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3523
7290114b 35242015-05-09 Jason Merrill <jason@redhat.com>
3525
3c665566 3526 * c-opts.c (c_common_post_options): Also clear
3527 cpp_opts->cpp_warn_cxx11_compat.
3528
d875b9d2 3529 * c-common.h (enum cxx_dialect): Add cxx_unset.
3530 * c-common.c (cxx_dialect): Initialize to cxx_unset.
3531 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3532
7290114b 3533 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3534 (std=gnu++0x): Mark as Undocumented.
3535 (std=gnu++1y): Add deprecated message.
3536
1b03cc89 35372015-05-08 Jason Merrill <jason@redhat.com>
3538
1c5f7aba 3539 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
3540 * c-opts.c: Adjust.
3541
1b03cc89 3542 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3543
dc5945dc 35442015-05-08 Marek Polacek <polacek@redhat.com>
3545
3546 PR c/64918
3547 * c.opt (Woverride-init-side-effects): New option.
3548
cdc64059 35492015-05-07 Marek Polacek <polacek@redhat.com>
3550
3551 PR c/65179
3552 * c-common.c (c_fully_fold_internal): Warn when left shifting a
3553 negative value.
3554 * c.opt (Wshift-negative-value): New option.
3555 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3556 when -Wextra and C99/C++11 mode.
3557
8cafe283 35582015-05-07 Marek Polacek <polacek@redhat.com>
3559 Martin Uecker <uecker@eecs.berkeley.edu>
3560
3561 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3562 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3563
cb40a6f7 35642015-05-05 Jason Merrill <jason@redhat.com>
3565
3566 * c.opt (Wterminate): New.
3567
14744a16 35682015-04-30 Marek Polacek <polacek@redhat.com>
3569
3570 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3571 require that the non-constant be of a boolean type.
3572
9866562d 35732015-04-29 Josh Triplett <josh@joshtriplett.org>
3574
8cafe283 3575 * c-common.c (handle_section_attribute): Refactor to reduce
3576 nesting and distinguish between error cases.
9866562d 3577
a720ab1c 35782015-04-29 Marek Polacek <polacek@redhat.com>
3579
3580 PR c/64610
3581 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3582 with 0/1.
3583
8c072e52 35842015-04-29 Jakub Jelinek <jakub@redhat.com>
3585
3586 * c-common.h (omp_clause_mask): Unconditionally define as a class.
3587 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3588 HOST_BITS_PER_WIDE_INT.
3589
f7fec1c7 35902015-04-28 Tom de Vries <tom@codesourcery.com>
3591
3592 PR tree-optimization/65887
3593 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3594
483b3d26 35952015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 3596 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 3597
3598 * c-ada-spec.c (in_function): Delete.
3599 (dump_generic_ada_node): Do not change in_function and remove the
3600 redundant code dealing with it.
3601 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
3602 (print_ada_methods): Output the static member functions in a nested
3603 package after the regular methods as well as associated renamings.
3604
f11bdffb 36052015-04-24 Marek Polacek <polacek@redhat.com>
3606
3607 PR c/65830
3608 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3609 and OPT_Wshift_count_overflow.
3610
485f6b9c 3611 PR c/63357
3612 * c-common.c (warn_logical_operator): Warn if the operands have the
3613 same expressions.
3614
439606a9 36152015-04-24 Marek Polacek <polacek@redhat.com>
3616
3617 PR c/61534
3618 * c-common.c (warn_logical_operator): Bail if either operand comes
3619 from a macro expansion.
3620
de801c28 36212015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3622
3623 PR target/55143
3624 * c-common.c (c_default_pointer_mode): Add definition.
3625 * c-common.h (c_default_pointer_mode): Add declaration.
3626
76738f56 36272015-03-11 Jakub Jelinek <jakub@redhat.com>
3628
3629 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3630 on record_builtin_type argument.
3631
16f958b3 36322015-03-10 Jakub Jelinek <jakub@redhat.com>
3633
3634 PR c/65120
3635 * c-common.c (warn_logical_not_parentheses): Don't warn for
3636 !x == 0 or !x != 0.
3637
9b22f73f 36382015-03-07 Marek Polacek <polacek@redhat.com>
3639
3640 PR sanitizer/65280
3641 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3642 before trying to figure out whether we have a flexible array member.
3643
a864b7d4 36442015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 3645 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 3646
3647 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3648
9bf8c90b 36492015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3650
3651 PR ada/65319
3652 * c-ada-spec.c (print_destructor): Remove obsolete code.
3653
037ac54f 36542015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3655
3656 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3657 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3658 DECL_TEMPLATE_RESULT emulations.
3659 (dump_ada_template)): Add guard for TYPE_METHODS.
3660
495cbfb8 36612015-02-27 Marek Polacek <polacek@redhat.com>
3662
3663 PR c/65040
3664 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3665
688a864e 36662015-02-27 Kai Tietz <ktietz@redhat.com>
3667
3668 PR c/35330
3669 * c-pragma.c (handle_pragma_weak): Do not try to create
3670 weak/alias of declarations not being function, or variable
3671 declarations.
3672
6349b8cc 36732015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3674
3675 PR libgomp/64625
3676 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3677 Remove macros.
3678 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3679
3afd5369 36802015-02-16 Marek Polacek <polacek@redhat.com>
3681
3682 PR c/65066
3683 * c-format.c (check_format_types): Handle null param.
3684
46173d1b 36852015-02-13 Marek Polacek <polacek@redhat.com>
3686
3687 PR c/65040
3688 * c-format.c (check_format_types): Don't warn about different
3689 signedness if the original value is in the range of WANTED_TYPE.
3690
1d524ff7 36912015-02-12 Jason Merrill <jason@redhat.com>
3692
3693 PR c++/64956
3694 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3695 to the current highest version.
3696 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3697
bbf8fbec 36982015-02-04 Jakub Jelinek <jakub@redhat.com>
3699
3700 PR c/64824
3701 PR c/64868
3702 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3703 instead of RDIV_EXPR. Use build_binary_op instead of
3704 build2_loc.
3705
c05be867 37062015-01-30 Joseph Myers <joseph@codesourcery.com>
3707
3708 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3709 to pass input_location as first argument.
3710
85977647 37112015-01-23 Tom de Vries <tom@codesourcery.com>
3712
3713 PR libgomp/64672
3714 * c.opt (fopenacc): Mark as LTO option.
3715
fa175926 37162015-01-23 Tom de Vries <tom@codesourcery.com>
3717
3718 PR libgomp/64707
3719 * c.opt (fopenmp): Mark as LTO option.
3720
20aad5ba 37212015-01-21 Jakub Jelinek <jakub@redhat.com>
3722
3723 PR c/63307
8204c077 3724 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 3725 (compare_decls): Fix up formatting.
3726
37272015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3728
3729 PR c/63307
3730 * cilk.c: Include vec.h.
3731 (struct cilk_decls): New structure.
3732 (wrapper_parm_cb): Split this function to...
3733 (fill_decls_vec): ...this...
3734 (create_parm_list): ...and this.
3735 (compare_decls): New function.
3736 (for_local_cb): Remove.
3737 (wrapper_local_cb): Ditto.
3738 (build_wrapper_type): For now first traverse and fill vector of
3739 declarations then sort it and then deal with sorted vector.
3740 (cilk_outline): Ditto.
3741 (declare_one_free_variable): Ditto.
3742
60b77e28 37432015-01-21 Jason Merrill <jason@redhat.com>
3744
3745 PR c++/64629
3746 * c-format.c (check_format_arg): Call decl_constant_value.
3747
85fbea97 37482015-01-19 Martin Liska <mliska@suse.cz>
3749
3750 * c-common.c (handle_noicf_attribute): New function.
3751
ca4c3545 37522015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3753 Bernd Schmidt <bernds@codesourcery.com>
3754 James Norris <jnorris@codesourcery.com>
3755 Cesar Philippidis <cesar@codesourcery.com>
3756 Ilmir Usmanov <i.usmanov@samsung.com>
3757 Jakub Jelinek <jakub@redhat.com>
3758
3759 * c.opt (fopenacc): New option.
3760 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3761 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3762 New macros.
3763 * c-common.h (c_finish_oacc_wait): New prototype.
3764 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3765 (c_finish_oacc_wait): New function.
3766 * c-pragma.c (oacc_pragmas): New variable.
3767 (c_pp_lookup_pragma, init_pragma): Handle it.
3768 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3769 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3770 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3771 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3772 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3773 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3774 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3775 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3776 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3777 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3778 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3779 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3780 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3781 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3782 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3783 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3784 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3785 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3786 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3787 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3788 PRAGMA_OACC_CLAUSE_WORKER.
3789
92a44a68 37902015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 3791
3792 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3793 for the new option fstack-protector_explicit.
3794 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3795 (handle_stack_protect_attribute): New function.
3796
92a44a68 37972015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 3798
3799 * c.opt: New option -Warray-bounds=.
3800
1f78217c 38012015-01-09 Michael Collison <michael.collison@linaro.org>
3802
3803 * array-notation-common.c: Include hash-set.h, machmode.h,
3804 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3805 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3806 * c-ada-spec.c: Ditto.
3807 * c-cilkplus.c: Ditto.
3808 * c-common.c: Include input.h due to flattening of tree.h.
3809 Define macro GCC_C_COMMON_C.
3810 * c-common.h: Flatten tree.h header files into c-common.h.
3811 Remove include of tree-core.h.
3812 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3813 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3814 fold-const.h, wide-int.h, and inchash.h due to
3815 flattening of tree.h.
3816 * c-dump.c: Ditto.
3817 * c-format.c: Flatten tree.h header files into c-common.h.
3818 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3819 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3820 fold-const.h, wide-int.h, and inchash.h due to
3821 flattening of tree.h.
3822 * c-dump.c: Include hash-set.h, machmode.h,
3823 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3824 fold-const.h, wide-int.h, and inchash.h due to
3825 flattening of tree.h.
3826 * c-format.c: Include hash-set.h, machmode.h,
3827 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3828 fold-const.h, wide-int.h, inchash.h and real.h due to
3829 flattening of tree.h.
3830 * c-gimplify.c: Include hash-set.h, machmode.h,
3831 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3832 fold-const.h, wide-int.h, and inchash.h due to
3833 flattening of tree.h.
3834 * cilk.c: Ditto.
3835 * c-lex.c: Ditto.
3836 * c-omp.c: Ditto.
3837 * c-opts.c: Ditto.
3838 * c-pch.c: Ditto.
3839 * c-ppoutput.c: Ditto.
3840 * c-pragma.c: Ditto.
3841 * c-pretty-print.c: Ditto.
3842 * c-semantics.c: Ditto.
3843 * c-ubsan.c: Ditto.
3844 * stub-objc.c: Ditto.
3845
411b7663 38462015-01-08 Jason Merrill <jason@redhat.com>
3847
3848 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3849 do_ubsan_in_current_function.
3850 (ubsan_maybe_instrument_reference_or_call): Likewise.
3851 * c-ubsan.h: Declare it.
3852
d1e96383 38532015-01-08 Mike Stump <mikestump@comcast.net>
3854
3855 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3856
b57910fa 38572015-01-07 Marek Polacek <polacek@redhat.com>
3858
3859 PR c/64440
3860 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3861 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3862
678a4e3e 38632015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3864
3865 PR c++/31397
3866 * c.opt (Wsuggest-override): New option.
3867
d353bf18 38682015-01-05 Jakub Jelinek <jakub@redhat.com>
3869
3870 Update copyright years.
3871
92b63884 38722015-01-05 Marek Polacek <polacek@redhat.com>
3873
3874 PR c/64423
3875 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3876 parameter. Use it.
3877 * c-common.h (warn_array_subscript_with_type_char): Update
3878 declaration.
3879
83715bc4 38802014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3881
3882 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3883 Control macro with flag_sized_deallocation.
3884
92a44a68 38852014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 3886
3887 * c.opt (Wdiscarded-array-qualifiers): New option.
3888
33058239 38892014-12-19 Jakub Jelinek <jakub@redhat.com>
3890
3891 PR preprocessor/63831
3892 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3893 and __has_cpp_attribute here.
3894 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3895 c_common_has_attribute.
3896 * c-common.h (c_common_has_attribute): New prototype.
3897 * c-lex.c (init_c_lex): Set cb->has_attribute to
3898 c_common_has_attribute instead of cb_has_attribute.
3899 (get_token_no_padding): New function.
3900 (cb_has_attribute): Renamed to ...
3901 (c_common_has_attribute): ... this. No longer static. Use
3902 get_token_no_padding, require ()s, don't build TREE_LIST
3903 unnecessarily, fix up formatting, adjust diagnostics, call
3904 init_attributes.
3905
d1856d2c 39062014-12-15 Jason Merrill <jason@redhat.com>
3907
3908 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3909 (-Wsized-deallocation): New.
3910 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3911 to on in C++14 and up.
3912
4972ed5d 39132014-12-11 Jason Merrill <jason@redhat.com>
3914
7d7fa964 3915 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3916
4972ed5d 3917 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3918 we aren't complaining about VLAs.
3919
5ebccf71 39202014-12-06 Marek Polacek <polacek@redhat.com>
3921
3922 PR tree-optimization/64183
3923 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3924 shift-expression if it is integer_type_node. Use types_compatible_p.
3925
f9e245b2 39262014-11-29 Jakub Jelinek <jakub@redhat.com>
3927
3928 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3929 last argument from create_tmp_var_raw and create_tmp_var calls.
3930 * cilk.c (gimplify_cilk_spawn): Likewise.
3931 * c-omp.c (c_finish_omp_atomic): Likewise.
3932
d2f60593 39332014-11-28 Marek Polacek <polacek@redhat.com>
3934
3935 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3936 instead of unsigned_type_node.
3937
fce2dbd1 39382014-11-28 Marek Polacek <polacek@redhat.com>
3939
3940 PR c/63862
3941 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3942 to op1_utype.
3943 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3944 expression to unsigned_type_node.
3945
3a4a2292 39462014-11-20 Mark Wielaard <mjw@redhat.com>
3947
3948 PR debug/38757
3949 * c-opts.c (set_std_c89): Set lang_hooks.name.
3950 (set_std_c99): Likewise.
3951 (set_std_c11): Likewise.
3952 (set_std_cxx98): Likewise.
3953 (set_std_cxx11): Likewise.
3954 (set_std_cxx14): Likewise.
3955 (set_std_cxx1z): Likewise.
3956
c61ef207 39572014-11-21 Jakub Jelinek <jakub@redhat.com>
3958
3959 PR target/63764
3960 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3961 return type to bool.
c9ed79de 3962 * c-common.c: Include gimple-expr.h.
c61ef207 3963 (convert_vector_to_pointer_for_subscript): Change return type to
3964 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3965 and copy it into a TARGET_EXPR and use that instead of *vecp
3966 directly.
3967
1a91d914 39682014-11-19 David Malcolm <dmalcolm@redhat.com>
3969
3970 Merger of git branch "gimple-classes-v2-option-3".
3971 * ChangeLog.gimple-classes: New.
3972 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3973 from being just a vec<gimple> to a vec<gbind *>.
3974
f8fc8b8e 39752014-11-18 Jakub Jelinek <jakub@redhat.com>
3976
3977 PR sanitizer/63813
3978 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3979 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3980 get_pointer_alignment for non-pointers. Use ptype, or if it is
3981 reference type, corresponding pointer type, as type of kind
3982 argument.
3983 (ubsan_maybe_instrument_reference,
3984 ubsan_maybe_instrument_member_call): Adjust callers.
3985
8315e35e 39862014-11-15 Marek Polacek <polacek@redhat.com>
3987
3988 PR middle-end/63884
3989 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3990 for NULL fndecl.
3991 (extract_array_notation_exprs): Return for NULL node.
3992
86b9f14b 39932014-11-12 Joseph Myers <joseph@codesourcery.com>
3994
3995 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3996 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3997
0c93c8a9 39982014-11-12 Jakub Jelinek <jakub@redhat.com>
3999
4000 PR c/59708
4001 * c-common.c (check_builtin_function_arguments): Handle
4002 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
4003
fdd735a7 40042014-11-10 Andi Kleen <ak@linux.intel.com>
4005
4006 PR c/60804
4007 * c-common.h (check_no_cilk): Declare.
4008 * cilk.c (get_error_location): New function.
4009 (check_no_cilk): Dito.
4010
5cb678b4 40112014-11-10 Andi Kleen <ak@linux.intel.com>
4012
4013 * cilk.c (recognize_spawn): Use expression location
4014 for error message.
4015
0feb4de1 40162014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
4017
4018 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4019
3aa2fa44 40202014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
4021
4022 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
4023 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
4024 (__cpp_range_based_for, __cpp_initializer_lists,
4025 __cpp_delegating_constructors, __cpp_nsdmi,
4026 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
4027 for C++11; (__cpp_attribute_deprecated): Remove in favor of
4028 __has_cpp_attribute.
4029 * c-lex.c (cb_has_attribute): New callback CPP function;
4030 (init_c_lex): Set has_attribute callback.
4031
7fd22aae 40322014-11-04 Richard Biener <rguenther@suse.de>
4033
4034 * c-common.c (shorten_compare): Do not shorten mixed
4035 DFP and non-DFP compares.
4036
4af203ac 40372014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4038
4039 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
4040 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
4041 Commentary and rearrangement of tests.
4042 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
4043 Commentary and rearrangement of tests.
4044 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
4045 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
4046
3754d046 40472014-10-29 Richard Sandiford <richard.sandiford@arm.com>
4048
4049 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
4050 enum from machine_mode.
4051
1140c305 40522014-10-28 Andrew MacLeod <amacleod@redhat.com>
4053
1f78217c 4054 * c-common.c: Adjust include files.
4055 * c-gimplify.c: Ditto.
4056 * cilk.c: Ditto.
4057 * c-pragma.c: Ditto.
4058 * c-ubsan.c: Ditto.
1140c305 4059
94ea8568 40602014-10-27 Andrew MacLeod <amacleod@redhat.com>
4061
4062 * c-gimplify.c: Adjust include files.
4063
32ecf960 40642014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
4065
4066 PR c++/53061
4067 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
4068 c_common_initialize_diagnostics.
4069 * c-common.h: Likewise.
4070
85fecbe2 40712014-10-24 Marek Polacek <polacek@redhat.com>
4072
4073 PR c/56980
4074 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
4075 print "struct"/"union"/"enum" for typedefed names.
4076
e7ec033a 40772014-10-23 Marek Polacek <polacek@redhat.com>
4078
4079 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
4080 in unsigned type.
4081
c2598081 40822014-10-22 Jakub Jelinek <jakub@redhat.com>
4083 Yury Gribov <y.gribov@samsung.com>
4084
4085 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4086 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
4087 instead of flag_sanitize_recover as bool flag.
4088
acebb7e2 40892014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
4090
4091 * cilk.c: Revert previous change.
4092
6115016c 40932014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
4094
4095 PR c/63307
4096 * cilk.c: Include vec.h.
4097 (struct cilk_decls): New structure.
4098 (wrapper_parm_cb): Split this function to...
4099 (fill_decls_vec): ...this...
4100 (create_parm_list): ...and this.
4101 (compare_decls): New function.
4102 (for_local_cb): Remove.
4103 (wrapper_local_cb): Ditto.
4104 (build_wrapper_type): For now first traverse and fill vector of
4105 declarations then sort it and then deal with sorted vector.
4106 (cilk_outline): Ditto.
4107 (declare_one_free_variable): Ditto.
4108
e610d2b2 41092014-10-17 Marek Polacek <polacek@redhat.com>
4110
4111 * c-opts.c (c_common_post_options): Set warn_implicit_int.
4112 * c.opt (Wimplicit-int): Initialize to -1.
4113
a3020f2f 41142014-10-16 Andrew MacLeod <amacleod@redhat.com>
4115
4116 * c-pragma.c: Adjust include files.
4117 * c-semantics.c: Likewise.
4118
926ddd2c 41192014-10-16 DJ Delorie <dj@redhat.com>
4120
4121 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
4122 multiples of bytes.
4123
b0542e7c 41242014-10-14 Jason Merrill <jason@redhat.com>
4125
4126 PR c++/63455
4127 * c-common.h (CPP_PREPARSED_EXPR): New.
4128 (N_CP_TTYPES): Adjust.
4129
b2601928 41302014-10-15 Marek Polacek <polacek@redhat.com>
4131
4132 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
4133
9f75f026 41342014-10-14 DJ Delorie <dj@redhat.com>
4135
4136 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
4137 types, not just __int128.
4138 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
4139 types, not just __int128.
4140 (cpp_atomic_builtins): Round pointer sizes up.
4141 (type_suffix): Use type precision, not specific types.
4142 * c-common.c (c_common_reswords): Remove __int128 special case.
4143 (c_common_type_for_size): Check for all __intN types, not just
4144 __int128.
4145 (c_common_type_for_mode): Likewise.
4146 (c_common_signed_or_unsigned_type): Likewise.
4147 (c_build_bitfield_integer_type): Likewise.
4148 (c_common_nodes_and_builtins): Likewise.
4149 (keyword_begins_type_specifier): Likewise.
4150 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
4151 __intN variants.
4152
2ef51f0e 41532014-10-12 Trevor Saunders <tsaunders@mozilla.com>
4154
4155 * c-common.c: Use hash_table instead of hashtab.
4156
5b8257e3 41572014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4158
1f78217c 4159 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 4160 C++11 section.
4161
5e84569c 41622014-10-03 Marc Glisse <marc.glisse@inria.fr>
4163
4164 PR c++/54427
4165 PR c++/57198
4166 PR c++/58845
4167 * c-common.c (warn_logical_operator): Punt for vectors.
4168
f6751ff2 41692014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4170
4171 Implement SD-6: SG10 Feature Test Recommendations
4172 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
4173 macros and the __has_header macro.
4174
c33e051d 41752014-09-30 Jason Merrill <jason@redhat.com>
4176
f76a9aa8 4177 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
4178 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
4179 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4180
717e52f9 4181 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
4182 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4183
c33e051d 4184 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
4185 * c-common.c (c_common_reswords): Remove __is_convertible_to.
4186
5213d6c9 41872014-09-24 Marek Polacek <polacek@redhat.com>
4188
4189 PR c/61405
4190 PR c/53874
4191 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
4192
6b722052 41932014-09-23 Andi Kleen <ak@linux.intel.com>
4194
4195 * c-common.c (handle_no_reorder_attribute): New function.
4196 (c_common_attribute_table): Add no_reorder attribute.
4197
0cb69d12 41982014-09-22 Joseph Myers <joseph@codesourcery.com>
4199
4200 * c-cppbuiltin.c (c_cpp_builtins): Define
4201 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
4202 modes.
4203
168dfbf0 42042014-09-18 Joseph Myers <joseph@codesourcery.com>
4205
4206 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
4207 for supported floating-point modes.
4208
b83705f4 42092014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4210
4211 * c.opt (Wpsabi): Use LangEnabledBy.
4212 * c-opts.c (c_common_handle_option): Do not handle here.
4213
d5957f0d 42142014-09-12 Joseph Myers <joseph@codesourcery.com>
4215
4216 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
4217 macros for floating-point modes.
4218
bae6edff 42192014-09-11 Marc Glisse <marc.glisse@inria.fr>
4220
4221 PR target/58757
4222 * c-cppbuiltin.c (builtin_define_float_constants): Correct
4223 __*_DENORM_MIN__ without denormals.
4224
73a69d02 42252014-09-10 Jakub Jelinek <jakub@redhat.com>
4226
4227 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4228 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4229 ubsan_create_data callers.
4230 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
4231 index is constant or BIT_AND_EXPR with constant mask and is
4232 small enough for the bound.
4233 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
4234 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
4235
7ff8db31 42362014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4237
4238 * c.opt: Add CppReason to various flags.
4239 (Wdate-time): Re-sort.
4240 * c-common.c: Include c-common.h earlier.
4241 (struct reason_option_codes_t): Delete.
4242 (c_option_controlling_cpp_error): Prefix global type and struct
4243 with cpp_.
4244
bcc1f37e 42452014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4246
4247 * c.opt (Wnormalized): New.
4248 (Wnormalized=): Use Enum and Reject Negative.
4249 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
4250
b660d3c6 42512014-09-08 Joseph Myers <joseph@codesourcery.com>
4252
4253 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
4254 digits of floating-point modes if -fbuilding-libgcc.
4255
325b8c3c 42562014-09-05 Joseph Myers <joseph@codesourcery.com>
4257
4258 * c-cppbuiltin.c (c_cpp_builtins): Also define
4259 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
4260 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
4261 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
4262 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
4263 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
4264 __LIBGCC_STACK_GROWS_DOWNWARD__,
4265 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
4266 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
4267 __LIBGCC_DWARF_FRAME_REGISTERS__,
4268 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
4269 __LIBGCC_STACK_POINTER_REGNUM__ and
4270 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
4271 (builtin_define_with_value): Handle backslash-escaping in string
4272 macro values.
4273
1e074e77 42742014-09-05 Richard Biener <rguenther@suse.de>
4275
4276 PR middle-end/63148
4277 * c-format.c (check_format_arg): Properly handle
4278 effectively signed POINTER_PLUS_EXPR offset.
4279
04afd878 42802014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4281
4282 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
4283 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
4284 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
4285 and Init.
4286 * c-opts.c (c_common_handle_option): Do not handle here.
4287 (sanitize_cpp_opts): Likewise.
4288 * c-common.c (struct reason_option_codes_t): Handle
4289 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
4290
a3f448f0 42912014-09-03 Marek Polacek <polacek@redhat.com>
4292
4293 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
4294
40750995 42952014-09-02 Jakub Jelinek <jakub@redhat.com>
4296 Balaji V. Iyer <balaji.v.iyer@intel.com>
4297 Igor Zamyatin <igor.zamyatin@intel.com>
4298
4299 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
4300 * c-common.c (c_common_reswords): Added _Cilk_for.
4301 * c-common.h (enum rid): Added RID_CILK_FOR.
4302 (cilk_for_number_of_iterations): Add declaration.
4303 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
4304 CILK_FOR.
4305 * c-pragma.c (init_pragma): Register "grainsize" pragma.
4306 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
4307
f0fbe519 43082014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4309
4310 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
4311 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
4312 Wundef): Use CPP, Var and Init.
4313 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
4314
a7d2e480 43152014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4316
4317 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
4318 * c-opts.c (c_common_handle_option): Do not handle here.
4319
c35e53f1 43202014-08-25 Jason Merrill <jason@redhat.com>
4321
4322 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
4323 -std=c++14 and -std=gnu++14, rather than the reverse.
4324 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
4325 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
4326 * c-common.h (cxx_dialect): Remove cxx1y.
4327
4e454776 43282014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
4329
4330 * c-common.h (enum cxx_dialect): Add cxx14.
4331 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
4332 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
4333 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
4334
af1a80f2 43352014-08-22 Jason Merrill <jason@redhat.com>
4336
4337 * c.opt (std=gnu++17): Fix alias.
4338
dc6229e8 43392014-08-22 Marek Polacek <polacek@redhat.com>
4340
4341 PR c++/62199
4342 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
4343 check for vector types. Drop LHS argument.
4344 * c-common.h (warn_logical_not_parentheses): Adjust.
4345
ba7f7c88 43462014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4347
4348 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4349 (Wmultichar): Likewise.
4350 (Wdate-time): Use C-family languages instead of Common. Use CPP
4351 and Var.
4352 * c-opts.c (c_common_handle_option): Do not handle the above
4353 options here.
4354 (sanitize_cpp_opts): Likewise.
4355
399d4f80 43562014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4357
4358 PR fortran/44054
4359 * c-opts.c: Include tree-diagnostics.h.
4360 (c_diagnostic_finalizer): New.
4361 (c_common_initialize_diagnostics): Use it.
4362
1babed5f 43632014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4364
4365 PR preprocessor/51303
4366 * c-common.c (struct reason_option_codes_t option_codes):
4367 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4368
3636964b 43692014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4370
4371 PR c/60975
4372 PR c/53063
4373 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4374 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4375 (c_common_post_options): Call init_global_opts_from_cpp.
4376 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4377
78bf4156 43782014-08-19 Marek Polacek <polacek@redhat.com>
4379
4380 PR c++/62153
4381 * c-common.c (maybe_warn_bool_compare): New function.
4382 * c-common.h (maybe_warn_bool_compare): Declare.
4383 * c.opt (Wbool-compare): New option.
4384
508ea33a 43852014-08-19 Marek Polacek <polacek@redhat.com>
4386
4387 * c.opt (Wc99-c11-compat): New option.
4388
806fe15e 43892014-08-19 Marek Polacek <polacek@redhat.com>
4390
4391 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4392 to warn_c90_c99_compat.
4393 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4394 to -1.
4395
6c867de1 43962014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
4397 Steven Bosscher <steven@gcc.gnu.org>
4398
4399 PR c/52952
4400 * c-format.c: Add extra_arg_loc and format_string_loc to struct
4401 format_check_results.
4402 (check_function_format): Use true and add comment for boolean
4403 argument.
4404 (finish_dollar_format_checking): Use explicit location when warning.
4405 (check_format_info): Likewise.
4406 (check_format_arg): Set extra_arg_loc and format_string_loc.
4407 (check_format_info_main): Use explicit location when warning.
4408 (check_format_types): Pass explicit location.
4409 (format_type_warning): Likewise.
4410
dc8078a3 44112014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4412
4413 PR fortran/44054
4414 * c-format.c: Handle Fortran flags.
4415
d271ec7e 44162014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
4417
4418 PR other/61962
4419 * array-notation-common.c (find_rank): Added handling for other
4420 types of references.
4421
890c2e2f 44222014-08-10 Marek Polacek <polacek@redhat.com>
4423
4424 PR c/51849
4425 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4426 * c.opt (Wc90-c99-compat): Add option.
4427
7149db5f 44282014-08-07 Trevor Saunders <tsaunders@mozilla.com>
4429
4430 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4431
2d2f6a15 44322014-08-03 Marek Polacek <polacek@redhat.com>
4433
4434 * c-common.c (check_case_value): Add location_t parameter. Use it.
4435 (c_add_case_label): Pass loc to check_case_value.
4436
06ecf488 44372014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4438
4439 * cilk.c: Use hash_map instead of pointer_map.
4440
431205b7 44412014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4442
4443 * c-gimplify.c: Use hash_set instead of pointer_set.
4444
3394c80c 44452014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
4446
4447 PR middle-end/61455
4448 * array-notation-common.c (extract_array_notation_exprs): Handling
4449 of DECL_EXPR added.
4450
392dee1e 44512014-08-01 Jakub Jelinek <jakub@redhat.com>
4452
4453 * c-common.h (min_align_of_type): Removed prototype.
4454 * c-common.c (min_align_of_type): Removed.
4455 * c-ubsan.h (ubsan_maybe_instrument_reference,
4456 ubsan_maybe_instrument_member_call): New prototypes.
4457 * c-ubsan.c: Include stor-layout.h and builtins.h.
4458 (ubsan_maybe_instrument_reference_or_call,
4459 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4460 functions.
4461
f22a2cb7 44622014-07-31 Marc Glisse <marc.glisse@inria.fr>
4463
4464 PR c++/60517
4465 * c.opt (-Wreturn-local-addr): Move to common.opt.
4466
87b0198f 44672014-07-30 Jason Merrill <jason@redhat.com>
4468
4469 PR c++/61659
4470 PR c++/61687
4471 Revert:
4472 * c.opt (-fuse-all-virtuals): New.
4473
74691f46 44742014-07-30 Tom Tromey <tromey@redhat.com>
4475
4476 PR c/59855
4477 * c.opt (Wdesignated-init): New option.
4478 * c-common.c (c_common_attribute_table): Add "designated_init".
4479 (handle_designated_init): New function.
4480
9140d56f 44812014-07-24 Marek Polacek <polacek@redhat.com>
4482
4483 PR c/57653
4484 * c-opts.c (c_finish_options): If -imacros is in effect, return.
4485
a09c5cc2 44862014-07-16 Dodji Seketeli <dodji@redhat.com>
4487
4488 PR preprocessor/60723 - missing system-ness marks for macro tokens
4489 * c-ppoutput.c (struct print::prev_was_system_token): New data
4490 member.
4491 (init_pp_output): Initialize it.
4492 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4493 (do_line_change): Return a flag saying if a line marker was
4494 emitted or not.
4495 (scan_translation_unit): Detect if the system-ness of the token we
4496 are about to emit is different from the one of the previously
4497 emitted token. If so, emit a line marker. Avoid emitting useless
4498 adjacent line markers. Avoid emitting line markers for tokens
4499 originating from the expansion of built-in macros.
4500 (scan_translation_unit_directives_only): Adjust.
4501
2b25b62f 45022014-07-15 Marek Polacek <polacek@redhat.com>
4503
4504 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4505 TYPE_MAX_VALUE is NULL.
4506
305d96bc 45072014-07-14 Jakub Jelinek <jakub@redhat.com>
4508
4509 PR middle-end/61294
4510 * c.opt (Wmemset-transposed-args): New warning.
4511
8ea4660d 45122014-07-10 Jason Merrill <jason@redhat.com>
4513
4514 PR c++/61659
4515 PR c++/61687
4516 * c.opt (-fuse-all-virtuals): New.
4517
cd480f3d 45182014-07-09 Richard Biener <rguenther@suse.de>
4519
4520 PR c-family/61741
4521 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4522 using unsigned arithmetic if overflow does not wrap instead of
4523 if overflow is undefined.
4524
87d59e72 45252014-07-06 Marek Polacek <polacek@redhat.com>
4526
4527 PR c/6940
4528 * c.opt (Wsizeof-array-argument): New option.
4529
d69521d8 45302014-07-03 Jakub Jelinek <jakub@redhat.com>
4531
8204c077 4532 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 4533 comments->count <= 1, as comments->entries might be NULL.
4534
1207866e 45352014-07-01 Marek Polacek <polacek@redhat.com>
4536
4537 * c.opt (Wint-conversion): New option.
4538
7a6bbb76 45392014-07-01 Marek Polacek <polacek@redhat.com>
4540
4541 PR c/58286
4542 * c.opt (Wincompatible-pointer-types): New option.
4543
9d4eeb52 45442014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
4545
4546 PR c++/51400
4547 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4548 Do not discard TYPE_QUALS of type.
4549
4b53bc0f 45502014-06-26 Jason Merrill <jason@redhat.com>
4551
4552 * c-common.h (enum cxx_dialect): Add cxx1z.
4553 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4554 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4555
a8a8d4ea 45562014-06-26 Teresa Johnson <tejohnson@google.com>
4557
4558 * c-common.h (get_dump_info): Declare.
4559 * c-gimplify.c (c_genericize): Use saved dump files.
4560 * c-opts.c (c_common_parse_file): Begin and end dumps
4561 once around parsing invocation.
4562 (get_dump_info): New function.
4563
1f6be080 45642014-06-23 Marek Polacek <polacek@redhat.com>
4565 Andrew MacLeod <amacleod@redhat.com>
4566
4567 PR c/61553
4568 * c-common.c (get_atomic_generic_size): Don't segfault if the
4569 type doesn't have a size.
4570
5ef6b660 45712014-06-20 Marek Polacek <polacek@redhat.com>
4572
4573 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4574 (ubsan_walk_array_refs_r): New function.
4575 (c_genericize): Instrument array bounds.
4576 * c-ubsan.c: Include "internal-fn.h".
4577 (ubsan_instrument_division): Mark instrumented arrays as having
4578 side effects. Adjust ubsan_type_descriptor call.
4579 (ubsan_instrument_shift): Likewise.
4580 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4581 (ubsan_instrument_bounds): New function.
4582 (ubsan_array_ref_instrumented_p): New function.
4583 (ubsan_maybe_instrument_array_ref): New function.
4584 * c-ubsan.h (ubsan_instrument_bounds): Declare.
4585 (ubsan_array_ref_instrumented_p): Declare.
4586 (ubsan_maybe_instrument_array_ref): Declare.
4587
45882014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 4589
4590 PR lto/61123
4591 * c.opt (fshort-enums): Add to LTO.
4592 * c.opt (fshort-wchar): Likewise.
4593
78438f31 45942014-06-16 Marek Polacek <polacek@redhat.com>
4595
4596 PR c/60439
4597 * c.opt (Wswitch-bool): Add Var.
4598
5fddcf34 45992014-06-12 Jakub Jelinek <jakub@redhat.com>
4600
4601 PR middle-end/61486
4602 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4603 #pragma omp target teams or
4604 #pragma omp {,target }teams distribute simd.
4605
74b777e5 46062014-06-12 Jason Merrill <jason@redhat.com>
4607
4608 * c.opt (Wabi=, fabi-compat-version): New.
4609 * c-opts.c (c_common_handle_option): Handle -Wabi=.
4610 (c_common_post_options): Handle flag_abi_compat_version default.
4611 Disallow -fabi-compat-version=1.
4612 * c-common.h (abi_version_crosses): New.
4613
738a6bda 46142014-06-11 Jan Hubicka <hubicka@ucw.cz>
4615
1f78217c 4616 * c-common.c (handle_section_attribute): Update handling for
738a6bda 4617 section names that are no longer trees.
4618
cf5f881f 46192014-06-10 Jakub Jelinek <jakub@redhat.com>
4620
4621 PR fortran/60928
4622 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4623 (omp_pragmas): ... back here.
4624
32dc1512 46252014-06-05 Marek Polacek <polacek@redhat.com>
4626
4627 PR c/49706
4628 * c-common.c (warn_logical_not_parentheses): New function.
4629 * c-common.h (warn_logical_not_parentheses): Declare.
4630 * c.opt (Wlogical-not-parentheses): New option.
4631
f61a9bc2 46322014-06-04 Marek Polacek <polacek@redhat.com>
4633
4634 PR c/30020
4635 * c-common.c (check_case_bounds): Add location parameter.
4636 Use it.
4637 (c_add_case_label): Pass loc to check_case_bounds.
4638
c69ec07d 46392014-06-03 Marek Polacek <polacek@redhat.com>
4640
4641 PR c/60439
4642 * c.opt (Wswitch-bool): New option.
4643
3c77ca67 46442014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4645
68a2c870 4646 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4647 Remove prototypes.
4648 (record_types_used_by_current_var_decl): Move prototype to where
4649 it belongs.
4650
3c77ca67 4651 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4652 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4653 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4654
3ab4693e 46552014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4656
4657 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4658 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4659 void_zero_node.
4660 * c-pretty-print.c (pp_c_void_constant): New function.
4661 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4662 (c_pretty_printer::expression): Handle VOID_CST.
4663 * cilk.c (extract_free_variables): Likewise.
4664 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4665 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4666
25a27413 46672014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4668
4669 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4670 * c-pragma.c (push_alignment): Adjust.
4671 (handle_pragma_push_options): Likewise.
4672
3e5a8b00 46732014-05-09 Marek Polacek <polacek@redhat.com>
4674
4675 PR c/50459
4676 * c-common.c (check_user_alignment): Return -1 if alignment is error
4677 node.
4678 (handle_aligned_attribute): Don't call default_conversion on
4679 FUNCTION_DECLs.
4680 (handle_vector_size_attribute): Likewise.
4681 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4682 (handle_sentinel_attribute): Call default_conversion and allow even
4683 integral types as an argument.
4684
c2c4ae8d 46852014-05-08 Marek Polacek <polacek@redhat.com>
4686
4687 PR c/61053
4688 * c-common.c (min_align_of_type): New function factored out from...
4689 (c_sizeof_or_alignof_type): ...here.
4690 * c-common.h (min_align_of_type): Declare.
4691
2026249a 46922014-05-08 Marek Polacek <polacek@redhat.com>
4693
4694 PR c/61077
4695 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4696 parameter type of main.
4697
33c8dcfe 46982014-05-07 DJ Delorie <dj@redhat.com>
4699
4700 * c-cppbuiltin.c (print_bits_of_hex): New.
4701 (builtin_define_type_minmax): Print values using hex so as not to
4702 require a pre-computed list of string values.
4703
960d5a55 47042014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4705 Mike Stump <mikestump@comcast.net>
4706 Richard Sandiford <rdsandiford@googlemail.com>
4707
4708 * c-ada-spec.c: Include wide-int.h.
4709 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4710 (dump_generic_ada_node): Use wide-int interfaces.
4711 * c-common.c: Include wide-int-print.h.
4712 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4713 (pointer_int_sum): Use wide-int interfaces.
4714 (c_common_nodes_and_builtins): Use make_int_cst.
4715 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4716 (handle_alloc_size_attribute): Use wide-int interfaces.
4717 (get_nonnull_operand): Likewise.
4718 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4719 * c-lex.c: Include wide-int.h.
4720 (narrowest_unsigned_type): Take a widest_int rather than two
4721 HOST_WIDE_INTs.
4722 (narrowest_signed_type): Likewise.
4723 (interpret_integer): Update accordingly. Use wide-int interfaces.
4724 (lex_charconst): Use wide-int interfaces.
4725 * c-pretty-print.c: Include wide-int.h.
4726 (pp_c_integer_constant): Use wide-int interfaces.
4727 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4728 INT_CST_LT_UNSIGNED.
4729
bbb88b31 47302014-05-06 Richard Biener <rguenther@suse.de>
4731
4732 * c-opts.c (c_common_post_options): For -freestanding,
4733 -fno-hosted and -fno-builtin disable pattern recognition
4734 if not enabled explicitely.
4735
022d4718 47362014-05-02 Marek Polacek <polacek@redhat.com>
4737
4738 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4739
e4ab2ef3 47402014-05-01 Marek Polacek <polacek@redhat.com>
4741
4742 PR c/43245
4743 * c.opt (Wdiscarded-qualifiers): Add.
4744
52cc0072 47452014-04-30 Marek Polacek <polacek@redhat.com>
4746
4747 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4748 INT_MIN / -1 sanitization only for integer types.
4749
4a026b48 47502014-04-25 Marek Polacek <polacek@redhat.com>
4751
4752 PR c/18079
4753 * c-common.c (handle_noinline_attribute): Warn if the attribute
4754 conflicts with always_inline attribute.
4755 (handle_always_inline_attribute): Warn if the attribute conflicts
4756 with noinline attribute.
4757
90e645fa 47582014-04-25 Marek Polacek <polacek@redhat.com>
4759
4760 PR c/60156
4761 * c-common.c (check_main_parameter_types): Warn about variadic main.
4762
db103ea4 47632014-04-24 Mike Stump <mikestump@comcast.net>
4764
4765 * c.opt (Wshadow-ivar): Default to on.
4766
06511efd 47672014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4768
4769 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4770
cdf34fca 47712014-04-23 Marek Polacek <polacek@redhat.com>
4772
4773 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4774
7311d7c1 47752014-04-22 Jakub Jelinek <jakub@redhat.com>
4776
4777 PR sanitizer/60275
4778 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4779 if flag_sanitize_undefined_trap_on_error.
4780 (ubsan_instrument_division, ubsan_instrument_shift,
4781 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4782 if !flag_sanitize_recover.
4783
c1917557 47842014-04-22 Marc Glisse <marc.glisse@inria.fr>
4785
4786 PR libstdc++/43622
4787 * c-common.c (registered_builtin_types): Make non-static.
4788 * c-common.h (registered_builtin_types): Declare.
4789
b2ca6510 47902014-04-14 Richard Biener <rguenther@suse.de>
4791 Marc Glisse <marc.glisse@inria.fr>
4792
4793 PR c/60819
4794 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4795 apply may-alias the scalar pointer type when applicable.
4796
855372a3 47972014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4798
4799 PR middle-end/60467
4800 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4801 as possible argument for Cilk_spawn.
4802
4012a986 48032014-04-11 Tobias Burnus <burnus@net-b.de>
4804
4805 PR c/60194
4806 * c.opt (Wformat-signedness): Add
4807 * c-format.c(check_format_types): Use it.
4808
0d284870 48092014-04-11 Jason Merrill <jason@redhat.com>
4810
4811 PR c++/57926
4812 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4813 default_conversion for an array argument.
4814
a34c1231 48152014-04-08 Marek Polacek <polacek@redhat.com>
4816
4817 PR sanitizer/60745
4818 * c-ubsan.c: Include asan.h.
4819 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4820
a35a8e18 48212014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4822
4823 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4824
b23e42b6 48252014-04-02 Marek Polacek <polacek@redhat.com>
4826
4827 * c-common.h (c_expand_expr): Remove declaration.
4828
5a672e62 48292014-03-28 Jakub Jelinek <jakub@redhat.com>
4830
4831 PR c++/60689
4832 * c-common.c (add_atomic_size_parameter): When creating new
4833 params vector, push the size argument first.
4834
d4d068c0 48352014-03-26 Jakub Jelinek <jakub@redhat.com>
4836
4837 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4838 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4839 ubsan_create_data callers.
4840
446bdf5f 48412014-03-22 Jakub Jelinek <jakub@redhat.com>
4842
4843 PR debug/60603
4844 * c-opts.c (c_finish_options): Restore cb_file_change call to
4845 <built-in>.
4846
8895f0a3 48472014-03-13 Jakub Jelinek <jakub@redhat.com>
4848
4849 PR middle-end/36282
4850 * c-pragma.c (apply_pragma_weak): Only look at
4851 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4852 DECL_ASSEMBLER_NAME_SET_P (decl).
4853 (maybe_apply_pending_pragma_weaks): Exit early if
4854 vec_safe_is_empty (pending_weaks) rather than only when
4855 !pending_weaks.
4856 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4857 set assembler name back to NULL afterwards.
4858
7a5da2cd 48592014-03-11 Jason Merrill <jason@redhat.com>
4860
4861 * c.opt: Add -std=gnu++14.
4862
95093889 48632014-03-11 Ian Bolton <ian.bolton@arm.com>
4864
4865 * c-opts.c (c_common_post_options): Don't override
4866 -ffp-contract=fast if unsafe-math-optimizations is on.
4867
c9a24b37 48682014-03-08 Paulo Matos <paulo@matos-sorge.com>
4869
9b8f3aa1 4870 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 4871
3f6dba6e 48722014-03-07 Jason Merrill <jason@redhat.com>
4873
4874 * c.opt: Add -std=c++14.
4875
3bfdc94f 48762014-03-06 Marek Polacek <polacek@redhat.com>
4877
4878 PR c/60197
4879 * cilk.c (contains_cilk_spawn_stmt): New function.
4880 (contains_cilk_spawn_stmt_walker): Likewise.
4881 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4882 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4883
8b3a6a4c 48842014-03-03 Jakub Jelinek <jakub@redhat.com>
4885
4886 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4887 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4888 even when flag_preprocess_only.
4889
734ec290 48902014-02-26 Jason Merrill <jason@redhat.com>
4891
4892 PR c++/59231
4893 PR c++/11586
4894 * c-common.c (shorten_compare): Don't check
4895 c_inhibit_evaluation_warnings.
4896
81aec8b8 48972014-02-19 Jakub Jelinek <jakub@redhat.com>
4898
d1081017 4899 PR c/37743
4900 * c-common.c (c_common_nodes_and_builtins): When initializing
4901 c_uint{16,32,64}_type_node, also set corresponding
4902 uint{16,32,64}_type_node to the same value.
4903
81aec8b8 4904 PR c++/60267
4905 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4906 for PRAGMA_IVDEP if flag_preprocess_only.
4907
312243bb 49082014-02-12 Jakub Jelinek <jakub@redhat.com>
4909
4910 PR c/60101
4911 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4912 if false, add ADD itself, rather than vice versa.
4913 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4914 copy. For SAVE_EXPR, only call merge_tlist once.
4915
237e78b1 49162014-02-08 Jakub Jelinek <jakub@redhat.com>
4917
4918 PR middle-end/60092
4919 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4920 and tree_to_uhwi.
4921 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4922 functions.
4923 (c_common_attribute_table): Add alloc_align and assume_aligned
4924 attributes.
4925
76fdceeb 49262014-02-06 Marek Polacek <polacek@redhat.com>
4927
4928 PR c/60087
4929 * c-common.c (warn_for_sign_compare): Call warning_at with location
4930 instead of warning.
4931
4a4dea42 49322014-02-05 Marek Polacek <polacek@redhat.com>
4933
4934 PR c/53123
4935 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4936 statement.
4937
ec704957 49382014-02-04 Marek Polacek <polacek@redhat.com>
4939
4940 PR c/60036
4941 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4942 SAVE_EXPR.
4943
caf62483 49442014-02-03 Marc Glisse <marc.glisse@inria.fr>
4945
4946 PR c++/53017
4947 PR c++/59211
4948 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4949 handle_vector_size_attribute, handle_nonnull_attribute): Call
4950 default_conversion on the attribute argument.
4951 (handle_nonnull_attribute): Increment the argument number.
4952
ec761d5a 49532014-01-31 Marek Polacek <polacek@redhat.com>
4954
4955 PR c/59963
4956 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4957 build_function_call_vec.
4958 (resolve_overloaded_builtin): Likewise.
4959 * c-common.h (build_function_call_vec): Adjust declaration.
4960
22a75734 49612014-01-30 Marek Polacek <polacek@redhat.com>
4962
4963 PR c/59940
4964 * c-common.h (unsafe_conversion_p): Adjust declaration.
4965 (warnings_for_convert_and_check): Likewise.
4966 (convert_and_check): Likewise.
4967 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4968 expansion_point_location_if_in_system_header on it.
4969 (warnings_for_convert_and_check): Add location parameter. Call
4970 expansion_point_location_if_in_system_header on it. Use it.
4971 (convert_and_check): Add location parameter. Use it.
4972 (conversion_warning): Likewise.
4973 (c_add_case_label): Adjust convert_and_check calls.
4974 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4975
a89e6c15 49762014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4977
4978 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4979 flag_cilkplus.
4980 * c-pragma.c (init_pragma): Likewise.
4981 * c.opt: Likewise.
4982
2623625f 49832014-01-23 Marek Polacek <polacek@redhat.com>
4984
4985 PR c/59846
4986 * c-common.c (shorten_compare): Add location_t parameter.
4987 * c-common.h (shorten_binary_op): Adjust declaration.
4988
46da3601 49892014-01-23 Marek Polacek <polacek@redhat.com>
4990
4991 PR c/58346
4992 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4993 * c-common.h: Declare it.
4994
c9743c6a 49952014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4996
4997 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4998 * c-ada-spec.c (dump_ads): Likewise.
4999 (cpp_check): Likewise.
5000 (dump_ada_specs): Likewise.
5001
50022014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 5003
5004 PR c++/49718
5005 * c-common.c (handle_no_instrument_function_attribute): Allow
5006 no_instrument_function attribute in class member
5007 definition/declaration.
5008
1248c663 50092014-01-15 Jakub Jelinek <jakub@redhat.com>
5010
5011 PR c/58943
5012 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
5013 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
5014 being COMPOUND_EXPR.
5015 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
5016 operand a SAVE_EXPR and second MODIFY_EXPR.
5017
6e5c480b 50182014-01-09 Jakub Jelinek <jakub@redhat.com>
5019
5020 PR target/58115
5021 * c-pch.c (c_common_write_pch): Call
5022 prepare_target_option_nodes_for_pch.
5023
3aea1f79 50242014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5025
5026 Update copyright years
5027
e4f22041 50282014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5029
5030 * array-notation-common.c, c-cilkplus.c: Use the standard form for
5031 the copyright notice.
5032
7fb0fe24 50332013-12-28 Eric Botcazou <ebotcazou@adacore.com>
5034
5035 * c-ada-spec.c (print_constructor): New function.
5036 (print_destructor): Retrieve the origin of the destructor.
5037 (print_ada_declaration): Revamp handling of constructors/destructors.
5038
92a44a68 50392013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 5040 Bill Maddox <maddox@google.com>
5041 Jason Merrill <jason@redhat.com>
5042
5043 * c.opt: Add -fdeclone-ctor-dtor.
5044 * c-opts.c (c_common_post_options): Default to on iff -Os.
5045
74acc703 50462013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
5047
5048 * c-common.c (c_common_attribute_table): Added "cilk simd function"
5049 attribute.
5050 * c-pragma.h (enum pragma_cilk_clause): Remove.
5051 (enum pragma_omp_clause): Added the following fields:
5052 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
5053 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
5054 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
5055 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
5056 PRAGMA_CILK_CLAUSE_UNIFORM.
5057
8204c077 5058
433e804e 50592013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
5060
5061 * cilk.c (cilk_outline): Made this function non-static.
5062 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
5063 (create_cilk_wrapper): Added a new parameter: a function pointer.
5064 (c_install_body_w_frame_cleanup): Remove
5065 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
5066 * c-common.h (cilk_outline): New prototype.
5067 (gimplify_cilk_spawn): Removed two parameters.
5068 (cilk_install_body_with_frame_cleanup): New prototype.
5069 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
5070 CILK_SPAWN_STMT case.
5071
5bcc7e60 50722013-12-11 Bernd Schmidt <bernds@codesourcery.com>
5073
e66325ea 5074 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
5075
5bcc7e60 5076 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
5077 (int_array_type_node): Remove.
5078 * c-common.c (c_common_nodes_and_builtins): Don't build it.
5079
0b26ec77 50802013-12-05 Marek Polacek <polacek@redhat.com>
5081
5082 PR c/52023
5083 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
5084 [ADJUST_FIELD_ALIGN].
5085
a179a7dc 50862013-12-04 Joseph Myers <joseph@codesourcery.com>
5087
5088 PR c/52023
5089 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
5090 and check field alignment if set.
5091 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
5092 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
5093
8204c077 50942013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 5095 Marek Polacek <polacek@redhat.com>
5096
5097 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
5098 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
5099
648fd348 51002013-11-29 H.J. Lu <hongjiu.lu@intel.com>
5101
5102 PR c/59309
5103 * cilk.c (gimplify_cilk_spawn): Properly handle function without
5104 arguments.
5105
253e1cae 51062013-11-29 Jakub Jelinek <jakub@redhat.com>
5107
5108 PR c/59280
5109 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
5110 goto invalid. If it is error_mark_node, don't issue further
5111 diagnostics.
5112
3e398f5b 51132013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
5114
5115 * c.opt (Wopenmp-simd): New.
5116
020bc656 51172013-11-22 Jakub Jelinek <jakub@redhat.com>
5118
5119 * c-ubsan.h (ubsan_instrument_return): New prototype.
5120 * c-ubsan.c (ubsan_instrument_return): New function.
5121
bc61cadb 51222013-11-22 Andrew MacLeod <amacleod@redhat.com>
5123
5124 * c-common.c: Add required include files from gimple.h.
5125 * c-gimplify.c: Likewise
5126 * cilk.c: Likewise
5127
3df42822 51282013-11-22 David Malcolm <dmalcolm@redhat.com>
5129
5130 * c-common.c (unsafe_conversion_p): Remove use of
5131 EXPR_LOC_OR_HERE macro.
5132 (conversion_warning): Likewise.
5133 (warnings_for_convert_and_check): Likewise.
5134 (warn_for_collisions_1): Likewise.
5135 (shorten_compare): Likewise, and remove use of in_system_header
5136 macro, using the location from the former.
5137 * c-lex.c (dump_one_header): Remove use of input_filename macro.
5138 (cb_def_pragma): Remove use of in_system_header macro.
5139 (lex_string): Likewise.
5140 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5141
8c53c46c 51422013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5143 Mike Stump <mikestump@comcast.net>
5144 Richard Sandiford <rdsandiford@googlemail.com>
5145
5146 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
5147 instead of TREE_INT_CST_LOW, in cases where there is a protecting
5148 tree_fits_shwi_p or tree_fits_uhwi_p.
5149 (dump_generic_ada_node): Likewise.
5150 * c-format.c (check_format_arg): Likewise.
5151 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5152
5200ef07 51532013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5154
5155 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
5156
ca9d7d74 51572013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
5158
5159 PR c/53001
5160 * c-common.c (unsafe_conversion_p): Make this function
5161 return an enumeration with more detail.
5162 (conversion_warning): Use the new return type of
5163 unsafe_conversion_p to separately warn either about conversions
5164 that lower floating point number precision or about the other
5165 kinds of conversions.
5166 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 5167 (unsafe_conversion_p): switching return type to
5168 conversion_safety enumeration.
ca9d7d74 5169 * c.opt: Adding new warning -Wfloat-conversion and
5170 enabling it with -Wconversion.
5171
0391a567 51722013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
5173
a49621cf 5174 * c-opts.c: Include plugin.h.
5175 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 5176
19b928d9 51772013-11-19 Marek Polacek <polacek@redhat.com>
5178
5179 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
5180 call.
5181 (ubsan_instrument_shift): Likewise.
5182 (ubsan_instrument_vla): Likewise.
5183
aa59f000 51842013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5185
5186 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
5187 cast to unsigned type.
5188
08f817b3 51892013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5190
5191 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
5192 tree_low_cst.
5193 (complete_array_type): Update comment to refer to tree_to_[su]hwi
5194 rather than tree_low_cst.
5195
6a0712d4 51962013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5197
5198 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
5199 tree_to_uhwi throughout.
5200
fcb97e84 52012013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5202
5203 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
5204 tree_low_cst (..., 0) with tree_to_shwi throughout.
5205
cd4547bf 52062013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5207
5208 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
5209 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
5210
35ec552a 52112013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5212
5213 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
5214 host_integerp (..., 0) with tree_fits_shwi_p throughout.
5215
f2697631 52162013-11-15 Aldy Hernandez <aldyh@redhat.com>
5217
5218 * c-cilkplus.c: New file.
5219 * c-common.c (readonly_error): Add location argument.
5220 * c-common.h (readonly_error): Same.
5221 (c_finish_cilk_clauses): Protoize.
5222 (c_check_cilk_loop): Same.
5223 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
5224 Do not fail on error_mark_node.
5225 Abstract increment canonicalization to here...
5226 (c_omp_for_incr_canonicalize_ptr): New.
5227 c-pragma.c (init_pragma): Register "simd" pragma.
5228 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
5229 (enum pragma_cilk_clause): New.
5230
0aa8c34e 52312013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
5232
5233 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
5234 wchar_type and host_integerp checks.
5235
e795d6e1 52362013-11-14 Andrew MacLeod <amacleod@redhat.com>
5237
5238 * c-common.c: Likewise.
5239 * c-gimplify.c: Likewise.
5240 * cilk.c: Likewise.
5241
9ed99284 52422013-11-14 Diego Novillo <dnovillo@google.com>
5243
5244 * c-common.c: Include fold-const.h.
5245 Include stor-layout.h.
5246 Include calls.h.
5247 Include stringpool.h.
5248 Include attribs.h.
5249 Include varasm.h.
5250 Include trans-mem.h.
5251 * c-cppbuiltin.c: Include stor-layout.h.
5252 Include stringpool.h.
5253 * c-format.c: Include stringpool.h.
5254 * c-lex.c: Include stringpool.h.
5255 Include stor-layout.h.
5256 * c-pragma.c: Include stringpool.h.
5257 Include attribs.h.
5258 Include varasm.h.
5259 Include gcc-symtab.h.
5260 * c-pretty-print.c: Include stor-layout.h.
5261 Include attribs.h.
5262 * cilk.c: Include stringpool.h.
5263 Include calls.h.
5264
4fba5eb9 52652013-11-13 Joseph Myers <joseph@codesourcery.com>
5266
5267 * c-common.h (enum rid): Add RID_AUTO_TYPE.
5268 * c-common.c (c_common_reswords): Add __auto_type.
5269 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
5270
a8783bee 52712013-11-12 Andrew MacLeod <amacleod@redhat.com>
5272
e795d6e1 5273 * c-common.c: Include gimplify.h.
5274 * c-gimplify.c: Likewise.
5275 * cilk.c: Likewise.
5276 * c-omp.c: Include gimple-expr.h instead of gimple.h.
5277 * c-ubsan.c: Don't include gimple.h.
a8783bee 5278
d184e0c0 52792013-11-12 Joseph Myers <joseph@codesourcery.com>
5280
5281 * c-common.c (c_common_reswords): Add _Thread_local.
5282
a056826c 52832013-11-09 Joseph Myers <joseph@codesourcery.com>
5284
5285 * c-common.c (atomic_size_supported_p): New function.
5286 (resolve_overloaded_atomic_exchange)
5287 (resolve_overloaded_atomic_compare_exchange)
5288 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
5289 Use it instead of comparing size with a local list of sizes.
5290
b560fabd 52912013-11-07 Andrew MacLeod <amacleod@redhat.com>
5292 Joseph Myers <joseph@codesourcery.com>
5293
5294 * c-common.h (enum rid): Add RID_ATOMIC.
5295 * c-common.c (c_common_reswords): Add _Atomic.
5296 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
5297 (keyword_is_type_qualifier): Accept RID_ATOMIC.
5298 * c-format.c (check_format_types): Check for extra _Atomic
5299 qualifiers in format argument.
5300 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
5301 (pp_c_type_qualifier_list): Mention _Atomic in comment.
5302
5b1a0622 53032013-11-06 Tobias Burnus <burnus@net-b.de>
5304
5305 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
5306
4f8f4cb8 53072013-11-06 Joseph Myers <joseph@codesourcery.com>
5308
5309 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
5310 standards modes.
5311 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
5312 to mean lack of IEEE 754 support.
5313
9148bda3 53142013-11-05 Tobias Burnus <burnus@net-b.de>
5315
5316 * c.opt (-Wdate-time): New option
5317 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
5318
08c5f4d5 53192013-11-05 Joseph Myers <joseph@codesourcery.com>
5320
5321 * c-cppbuiltin.c (cpp_iec_559_value): Test
5322 flag_excess_precision_cmdline not flag_excess_precision.
5323
c630ef93 53242013-11-05 Tobias Burnus <burnus@net-b.de>
5325
5326 * c.opt (fopenmp-simd): New option.
5327 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
5328 (omp_pragmas): ... this new struct.
5329 (c_pp_lookup_pragma): Also walk omp_pragmas.
5330 (init_pragma): Init pragmas for -fopenmp-simd.
5331
7354a89b 53322013-11-04 Marek Polacek <polacek@redhat.com>
5333
5334 PR c++/58979
5335 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
5336
4c866b9b 53372013-11-04 Joseph Myers <joseph@codesourcery.com>
5338
5339 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5340 New functions.
5341 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5342
e2a6a333 53432013-11-04 Eric Botcazou <ebotcazou@adacore.com>
5344
5345 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5346 (dump_ada_specs): Adjust prototype of second callback.
5347 * c-ada-spec.c (cpp_check): New global variable.
5348 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5349 (print_generic_ada_decl): Likewise.
5350 (has_static_fields): Change return type to bool and add guard.
5351 (has_nontrivial_methods): New predicate.
5352 (is_tagged_type): Change return type to bool.
5353 (separate_class_package): Call has_nontrivial_methods.
5354 (pp_ada_tree_identifier): Minor tweaks.
5355 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5356 (dump_ada_array_domains): Likewise.
5357 (dump_ada_array_type): Likewise.
5358 (dump_template_types): Remove cpp_check parameter and do not pass it to
5359 dump_generic_ada_node.
5360 (dump_ada_template): Likewise.
5361 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5362 recursively.
5363 (print_ada_methods): Change return type to integer. Remove cpp_check
5364 parameter and do not pass it down.
5365 (dump_nested_types): Remove cpp_check parameter and do not pass it to
5366 dump_generic_ada_node.
5367 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
5368 accessing methods.
5369 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5370 down. Use has_nontrivial_methods to recognize C++ classes. Use return
5371 value of print_ada_methods.
5372 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5373 Set cpp_check to it before invoking dump_ada_nodes.
5374 (dump_ada_specs): Likewise.
5375
2c4c3477 53762013-11-03 Marek Polacek <polacek@redhat.com>
5377
5378 * c-ubsan.c: Don't include hash-table.h.
5379 (ubsan_instrument_vla): New function.
5380 * c-ubsan.h: Declare it.
5381
452659af 53822013-10-31 David Malcolm <dmalcolm@redhat.com>
5383
5384 Automated part of renaming of symtab_node_base to symtab_node.
5385
5386 Patch autogenerated by rename_symtab.py from
5387 https://github.com/davidmalcolm/gcc-refactoring-scripts
5388 revision 58bb219cc090b2f4516a9297d868c245495ee622
5389
5390 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5391 symtab_node_base to symtab_node.
5392
4d6f7dd4 53932013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
5394
a49621cf 5395 Implement C++14 digit separators.
4d6f7dd4 5396 * c-lex.c (interpret_float): Remove digit separators from scratch string
5397 before building real literal.
5398
06cfe805 53992013-10-30 Jakub Jelinek <jakub@redhat.com>
5400
5401 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5402
d037099f 54032013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
5404
5405 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5406 fields.
5407 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5408 enabled.
5409 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5410 (insert_cilk_frame): New prototype.
5411 (cilk_init_builtins): Likewise.
5412 (gimplify_cilk_spawn): Likewise.
5413 (c_cilk_install_body_w_frame_cleanup): Likewise.
5414 (cilk_detect_spawn_and_unwrap): Likewise.
5415 (cilk_set_spawn_marker): Likewise.
5416 (build_cilk_sync): Likewise.
5417 (build_cilk_spawn): Likewise.
5418 * cilk.c: New file.
5419
02774f2d 54202013-10-29 David Malcolm <dmalcolm@redhat.com>
5421
5422 Patch autogenerated by refactor_symtab.py from
5423 https://github.com/davidmalcolm/gcc-refactoring-scripts
5424 revision 58bb219cc090b2f4516a9297d868c245495ee622
5425
5426 * c-gimplify.c (c_genericize): Update for conversion of symtab types
5427 to a true class hierarchy.
5428 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5429
31fe10fd 54302013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
5431
5432 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5433
b1c06ff9 54342013-10-26 Jeff Law <law@redhat.com>
5435
1f78217c 5436 * c-common.c (c_define_builtins): Remove mudflap support.
5437 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 5438
48a972c8 54392013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 5440
5441 PR other/33426
5442 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5443 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5444
546a04b1 54452013-10-23 Jason Merrill <jason@redhat.com>
5446
5447 * c-format.c (gcc_cxxdiag_char_table): Add %X.
5448
bc7bff74 54492013-10-11 Jakub Jelinek <jakub@redhat.com>
5450
d62c713e 5451 * c-common.h (omp_clause_mask::operator !=): New method.
5452 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5453 instead of if (mask & something) tests everywhere.
5454
bc7bff74 5455 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5456 201307 instead of 201107.
5457 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5458 (c_common_attribute_table): Add "omp declare target" and
5459 "omp declare simd" attributes.
5460 (handle_omp_declare_target_attribute,
5461 handle_omp_declare_simd_attribute): New functions.
5462 * c-omp.c: Include c-pragma.h.
5463 (c_finish_omp_taskgroup): New function.
5464 (c_finish_omp_atomic): Add swapped argument, if true,
5465 build the operation first with rhs, lhs arguments and use NOP_EXPR
5466 build_modify_expr.
5467 (c_finish_omp_for): Add code argument, pass it down to make_code.
5468 (c_omp_split_clauses): New function.
5469 (c_split_parallel_clauses): Removed.
5470 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5471 c_omp_declare_simd_clauses_to_decls): New functions.
5472 * c-common.h (omp_clause_mask): New type.
5473 (OMP_CLAUSE_MASK_1): Define.
5474 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5475 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5476 omp_clause_mask::operator |, omp_clause_mask::operator &,
5477 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5478 omp_clause_mask::operator ==): New methods.
5479 (enum c_omp_clause_split): New.
5480 (c_finish_omp_taskgroup): New prototype.
5481 (c_finish_omp_atomic): Add swapped argument.
5482 (c_finish_omp_for): Add code argument.
5483 (c_omp_split_clauses): New prototype.
5484 (c_split_parallel_clauses): Removed.
5485 (c_omp_declare_simd_clauses_to_numbers,
5486 c_omp_declare_simd_clauses_to_decls): New prototypes.
5487 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5488 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5489 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5490 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5491 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5492 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5493 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5494 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5495 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5496 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5497 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5498 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5499 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5500 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5501 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5502 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5503 PRAGMA_OMP_CLAUSE_UNIFORM.
5504
d7dcba40 55052013-10-09 Marc Glisse <marc.glisse@inria.fr>
5506
5507 PR tree-optimization/20318
5508 * c-common.c (handle_returns_nonnull_attribute): New function.
5509 (c_common_attribute_table): Add returns_nonnull.
5510
0b7282f1 55112013-10-03 Marc Glisse <marc.glisse@inria.fr>
5512
5513 PR c++/19476
5514 * c.opt (fcheck-new): Move to common.opt.
5515
51f553af 55162013-09-25 Marek Polacek <polacek@redhat.com>
5517 Jakub Jelinek <jakub@redhat.com>
5518
5519 PR sanitizer/58413
5520 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5521 an expression if we can prove it is correct.
5522 (ubsan_instrument_division): Likewise. Remove unnecessary
5523 check.
5524
05f893e1 55252013-09-18 Marek Polacek <polacek@redhat.com>
5526
5527 PR sanitizer/58411
5528 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5529 Declare it.
5530 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5531
236ce1d1 55322013-09-14 Iain Sandoe <iain@codesourcery.com>
5533
5534 PR target/48094
5535 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5536 fobjc-gc, freplace-objc-classes): Accept for LTO.
5537
f9f68d35 55382013-09-13 Jacek Caban <jacek@codeweavers.com>
5539
5540 * c-target.def: New hook
5541
ba2f764e 55422013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5543
5544 PR c++/43452
5545 * c.opt (Wdelete-incomplete): Add.
5546
73437615 55472013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
5548
5549 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5550 (vector_types_compatible_elements_p): New function.
5551 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5552 declaration.
5553 (vector_types_compatible_elements_p): Declare.
5554
95af4c75 55552013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5556
5557 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5558 a virtual member function.
5559 (pp_simple_type_specifier): Remove.
5560 (pp_c_type_specifier): Likewise.
5561 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5562 Rename from pp_c_type_specifier. Adjust.
5563 (c_pretty_printer::c_pretty_printer): Do not assign to
5564 simple_type_specifier.
5565
eaab24b9 55662013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5567
5568 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5569 member function.
5570 (c_pretty_printer::storage_class_specifier): Likewise.
5571 (c_pretty_printer::initializer): Likewise.
5572 (pp_declaration): Remove.
5573 (pp_declaration_specifiers): Likewise.
5574 (pp_abstract_declarator): Likewise.
5575 (pp_declarator): Likewise.
5576 (pp_type_id): Likewise.
5577 (pp_statement): Likewise.
5578 (pp_constant): Likewise.
5579 (pp_id_expression): Likewise.
5580 (pp_primary_expression): Likewise.
5581 (pp_unary_expression): Likewise.
5582 (pp_multiplicative_expression): Likewise.
5583 (pp_conditional_expression): Likewise.
5584 (pp_assignment_expression): Likewise.
5585 (pp_expression): Likewise.
5586 (pp_c_type_id): Likewise.
5587 (pp_c_storage_class_specifier): Likewise.
5588 * c-pretty-print.c (pp_c_type_cast): Tidy.
5589 (pp_c_pointer): Likewise.
5590 (pp_c_type_specifier): Likewise.
5591 (pp_c_parameter_type_list): Likewise.
5592 (pp_c_function_definition): Likewise.
5593 (pp_c_init_declarator): Likewise.
5594 (pp_c_initializer_list): Likewise.
5595 (pp_c_constructor_elts): Likewise.
5596 (c_pretty_printer::direct_abstract_declarator): Likewise.
5597 (c_pretty_printer::declaration_specifiers): Likewise.
5598 (c_pretty_printer::primary_expression): Likewise.
5599 (c_pretty_printer::postfix_expression): Likewise.
5600 (c_pretty_printer::type_id): Rename from pp_c_type_id.
5601 (c_pretty_printer::storage_class_specifier): Rename from
5602 pp_c_storage_class_specifier.
5603 (c_pretty_printer::initializer): Rename from pp_c_initializer.
5604 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5605 storage_class_specifier, initializer, offset_list, flags.
5606
9e46467d 56072013-08-30 Marek Polacek <polacek@redhat.com>
5608
5609 * c-ubsan.c: New file.
5610 * c-ubsan.h: New file.
5611
36a8d9b9 56122013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5613
5614 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5615 member function.
5616 (c_pretty_printer::declaration_specifiers): Likewise.
5617 (c_pretty_printer::declarator): Likewise.
5618 (c_pretty_printer::abstract_declarator): Likewise.
5619 (c_pretty_printer::direct_abstract_declarator): Likewise.
5620 (c_pretty_printer::direct_declarator): Likewise.
5621 (c_pretty_printer::function_specifier): Likewise.
5622 (pp_declaration): Adjust.
5623 (pp_declaration_specifiers): Likewise.
5624 (pp_abstract_declarator): Likewise.
5625 (pp_direct_declarator): Likewise.
5626 (pp_function_specifier): Likewise.
5627 (pp_direct_abstract_declarator): Remove as unused.
5628 (pp_c_declaration): Remove.
5629 (pp_c_declaration_specifiers): Likewise.
5630 (pp_c_declarator): Likewise.
5631 (pp_c_direct_declarator): Likewise.
5632 (pp_c_function_specifier): Likewise.
5633 (pp_c_direct_abstract_declarator): Likewise.
5634 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5635 from pp_c_abstract_declarator. Adjust.
5636 (c_pretty_printer::direct_abstract_declarator): Rename from
5637 pp_c_direct_abstract_declarator. Adjust.
5638 (c_pretty_printer::function_specifier): Rename from
5639 pp_c_function_specifier. Adjust.
5640 (c_pretty_printer::declaration_specifiers): Rename from
5641 pp_c_declaration_specifiers. Adjust.
5642 (c_pretty_printer::direct_declarator): Rename from
5643 pp_c_direct_declarator. Adjust.
5644 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5645 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5646 (c_pretty_printer::c_pretty_printer): Do not assign to
5647 declaration, declaration_specifiers, declarator,
5648 direct_declarator, direct_abstract_declarator, function_specifier.
5649
30635c2e 56502013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5651
5652 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5653 virtual member function.
5654 (c_pretty_printer::multiplicative_expression): Likewise.
5655 (c_pretty_printer::conditional_expression): Likewise.
5656 (c_pretty_printer::assignment_expression): Likewise.
5657 (c_pretty_printer::expression): Likewise.
5658 (pp_unary_expression): Adjust.
5659 (pp_multiplicative_expression): Likewise.
5660 (pp_assignment_expression): Likewise.
5661 (pp_conditional_expression): Likewise.
5662 (pp_expression): Likewise.
5663 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5664 from pp_c_unary_expression. Adjust.
5665 (c_pretty_printer::multiplicative_expression): Rename from
5666 pp_c_multiplicative_expression. Adjust.
5667 (c_pretty_printer::conditional_expression): Rename from
5668 pp_c_conditional_expression. Adjust.
5669 (c_pretty_printer::assignment_expression): Rename from
5670 pp_c_assignment_expression. Adjust.
5671 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5672 (c_pretty_printer::c_pretty_printer): Do not assign to
5673 unary_expression, multiplicative_expression,
5674 conditional_expression, expression.
5675
027d08ed 56762013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5677
5678 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5679 virtual member function.
5680 (pp_postfix_expression): Adjust.
5681 (pp_c_postfix_expression): Remove.
5682 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5683 from pp_c_postfix_expression. Adjust.
5684 (c_pretty_printer::c_pretty_printer): Do not assign to
5685 postfix_expression.
5686
f873303a 56872013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5688
5689 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5690 virtua member function.
5691 (pp_primary_expression): Adjust.
5692 (pp_c_primary_expression): Remove.
5693 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5694 from pp_c_primary_expression. Adjust.
5695 (pp_c_initializer_list): Use pp_primary_expression.
5696 (c_pretty_printer::c_pretty_printer): Do not assign to
5697 primary_expression.
5698
08e3e481 56992013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5700
5701 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5702 * c-pretty-print.c (M_): Remove.
5703 (c_pretty_printer::translate_string): Define.
5704 (pp_c_type_specifier): Use it.
5705 (pp_c_primary_expression): Likewise.
5706 (pp_c_expression): Likewise.
5707
1fc4a87f 57082013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5709
5710 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5711 virtual function.
5712 (pp_c_id_expression): Remove.
5713 (pp_id_expression): Adjust.
5714 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5715 pp_c_id_expression. Adjust.
5716 (pp_c_postfix_expression): Use pp_id_expression.
5717 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5718
a6cb161b 57192013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5720
5721 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5722 member function.
5723 (pp_constant): Adjust.
5724 (pp_c_constant): Remove.
5725 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5726 pp_c_constant. Adjust.
5727 (pp_c_constant)
5728 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5729 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5730
eed6bc21 57312013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5732
5733 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5734 (c_pretty_printer::c_pretty_printer): Declare.
5735 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5736 c_pretty_printer_init. Adjust.
5737 (print_c_tree): Do not call c_pretty_printer_init.
5738 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5739
df558d2e 57402013-08-09 Arnaud Charlet <charlet@adacore.com>
5741
5742 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5743
42f9a786 57442013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5745
5746 PR c++/58080
5747 * c-common.c (pointer_int_sum): Add bool parameter.
5748 * c-common.h (pointer_int_sum): Adjust declaration.
5749
f874ddad 57502013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5751
5752 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5753 c_pretty_printer variable.
5754
a94db6b0 57552013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5756
5757 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5758 (pp_base): Remove.
5759 (pp_c_base): Likewise. Adjust users.
5760 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5761 (pp_c_whitespace): Do not call pp_base.
5762 (pp_c_left_paren): Likewise.
5763 (pp_c_right_paren): Likewise.
5764 (pp_c_left_brace): Likewise.
5765 (pp_c_right_brace): Likewise.
5766 (pp_c_left_bracket): Likewise.
5767 (pp_c_right_bracket): Likewise.
5768 (pp_c_dot): Likewise.
5769 (pp_c_ampersand): Likewise.
5770 (pp_c_star): Likewise.
5771 (pp_c_arrow): Likewise.
5772 (pp_c_semicolon): Likewise.
5773 (pp_c_complement): Likewise.
5774 (pp_c_exclamation): Likewise.
5775 (pp_c_direct_declarator): Likewise.
5776 (pp_c_ws_string): Likewise.
5777 (pp_c_identifier): Likewise.
5778 (pp_c_statement): Likewise.
5779 (print_c_tree): Likewise.
5780
1898176c 57812013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5782
5783 PR c++/58072
5784 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5785 provide useful error strings.
5786
70d60d1d 57872013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5788
5789 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5790 printer functions instead of pp_string or operators and punctuators.
5791 (dump_generic_ada_node): Likewise.
5792 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5793 (pp_c_relational_expression): Likewise.
5794 (pp_c_logical_or_expression): Likewise.
5795
dda4f0ec 57962013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5797
5798 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5799 functions instead of pp_character.
5800 (pp_ada_tree_identifier): Likewise.
5801 (dump_ada_double_name): Likewise.
5802 (dump_ada_function_declaration): Likewise.
5803 (dump_ada_array_domains): Likewise.
5804 (dump_template_types): Likewise.
5805 (dump_generic_ada_node): Likewise.
5806 (print_ada_declaration): Likewise.
5807 (print_ada_struct_decl): Likewise.
5808 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5809
7aa04c8d 58102013-07-23 Tom Tromey <tromey@redhat.com>
5811
5812 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5813 * c-common.c (c_common_reswords): Add _Generic.
5814
a04e8d62 58152013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5816
5817 * c-common.c: Fix typos.
5818 * c-common.h: Likewise.
5819
a96c3cc1 58202013-07-13 Lubos Lunak <l.lunak@suse.cz>
5821
5822 PR c++/55203
5823 * c-common.c (c_common_attribute_table): Add warn_unused.
5824 (handle_warn_unused_attribute): New.
5825
da31536d 58262013-07-10 Jakub Jelinek <jakub@redhat.com>
5827
5828 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5829 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5830
839f2f70 58312013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5832
5833 PR c++/57869
5834 * c.opt: Add Wconditionally-supported.
5835
73f353d0 58362013-07-08 Graham Stott <graham.stott@btinternet.com>
5837
1f78217c 5838 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 5839 unused variables l_length and l_node.
5840
21ebaa24 58412013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 5842
5843 PR c/57821
5844 * c-common.c (complete_array_type): Delay folding first index
5845 like other indices. When folding, check for index overflow.
5846
68ea4406 58472013-06-27 Marc Glisse <marc.glisse@inria.fr>
5848
5849 PR c++/57509
5850 * c-common.h (c_build_vec_perm_expr): New complain argument.
5851 * c-common.c (c_build_vec_perm_expr): Likewise.
5852 Use save_expr also in C++.
5853
60777f69 58542013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5855
5856 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5857 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5858 * c-opts.c (c_common_post_options): Likewise.
5859
839f2f70 58602013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 5861
5862 * array-notation-common.c (length_mismatch_in_expr): Changed the
5863 parameter type's from a dynamic array to a vec_tree. Also removed
5864 the size parameters.
5865 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5866 the change above.
5867
e9331eab 58682013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5869
5870 * c-common.h (struct cilkplus_an_parts): New structure.
5871 (struct cilkplus_an_loop_parts): Likewise.
5872 (cilkplus_extract_an_triplets): New prototype.
5873 (fix_sec_implicit_args): Likewise.
5874 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5875 (fix_sec_implicit_args): Likewise.
60777f69 5876
a9c99fc4 58772013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5878
5879 * array-notation-common.c (find_inv_trees): Removed an unwanted
5880 typecasting.
5881 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5882 enum rid to enum tree_code.
5883
f2526cce 58842013-06-11 Jan Hubicka <jh@suse.cz>
5885
5886 * c-common.c (handle_alias_ifunc_attribute): Do not set
5887 DECL_EXTERNAL for weakref variables.
5888 * c-pragma.c (handle_pragma_weak): Make sure aliases
5889 are not declared as external.
5890
09970d67 58912013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5892
5893 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5894 function from c/c-array-notation.c.
5895 (is_cilkplus_reduce_builtin): Likewise.
5896 (find_rank): Likewise.
5897 (extract_array_notation_exprs): Likewise.
5898 (replace_array_notations): Likewise.
5899 (find_inv_trees): Likewise.
5900 (replace_inv_trees): Likewise.
5901 (contains_array_notation_expr): Likewise.
5902 (find_correct_array_notation_type): Likewise.
5903 * c-common.h (struct inv_list): Moved this struct from the file
5904 c/c-array-notation.c and added a new field called additional tcodes.
5905 (length_mismatch_in_expr_p): New prototype.
5906 (is_cilkplus_reduce_builtin): Likewise.
5907 (find_rank): Likewise.
5908 (extract_array_notation_exprs): Likewise.
5909 (replace_array_notation): Likewise.
5910 (find_inv_trees): Likewise.
5911 (replace_inv_trees): Likewise.
5912 (find_correct_array_notation_type): Likewise.
839f2f70 5913
3c6d4197 59142013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5915
5916 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5917 function array_notation_init_builtins is called.
5918 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5919 * c-common.def (ARRAY_NOTATION_REF): New tree.
5920 * c-common.h (build_array_notation_expr): New function declaration.
5921 (build_array_notation_ref): Likewise.
5922 (extract_sec_implicit_index_arg): New extern declaration.
5923 (is_sec_implicit_index_fn): Likewise.
5924 (ARRAY_NOTATION_CHECK): New define.
5925 (ARRAY_NOTATION_ARRAY): Likewise.
5926 (ARRAY_NOTATION_START): Likewise.
5927 (ARRAY_NOTATION_LENGTH): Likewise.
5928 (ARRAY_NOTATION_STRIDE): Likewise.
5929 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5930 ARRAY_NOTATION_REF.
5931 (pp_c_expression): Likewise.
5932 * c.opt (flag_enable_cilkplus): New flag.
5933 * array-notation-common.c: New file.
5934
8e71dad2 59352013-05-14 Jakub Jelinek <jakub@redhat.com>
5936
5937 PR c++/57274
5938 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5939
432dd330 59402013-05-10 Marc Glisse <marc.glisse@inria.fr>
5941
5942 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5943 vectors.
5944
b156ec37 59452013-05-07 Han Shen <shenhan@google.com>
5946
5947 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5948
1a087624 59492013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5950
5951 * c-common.c (check_user_alignment): Emit error for negative values.
5952
1638c736 59532013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5954
5955 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5956
949dbf93 59572013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5958
5959 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5960 __GXX_EXPERIMENTAL_CXX1Y__.
5961
9205a6cc 59622013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 5963 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 5964
5965 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5966 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5967 to simply use OPT_Wpointer_arith.
5968 (c_sizeof_or_alignof_type): Likewise.
5969
05d0bce1 59702013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5971
5972 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5973
41609f8b 59742013-04-12 Jakub Jelinek <jakub@redhat.com>
5975
5976 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5977 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5978 specifiers.
5979
c671dc4f 59802013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5981
5982 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5983
ba125576 59842013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5985
5986 * c-common.c (pointer_int_sum): Remove dead code.
5987
9d3fa937 59882013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5989
5990 PR middle-end/56524
5991 * c-common.c (handle_optimize_attribute): Don't call
5992 save_optabs_if_changed.
5993
5ceebb21 59942013-03-05 Jakub Jelinek <jakub@redhat.com>
5995
5996 PR middle-end/56461
5997 * c-pch.c (pch_init): Free target_validity at the end.
5998
18eeed2b 59992013-03-04 Jakub Jelinek <jakub@redhat.com>
6000
6001 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
6002
a9196da9 60032013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
6004 Jakub Jelinek <jakub@redhat.com>
6005
6006 PR sanitizer/56454
6007 * c-common.c (handle_no_sanitize_address_attribute): New function.
6008 (c_common_attribute_table): Add no_sanitize_address attribute.
6009 (handle_no_address_safety_analysis_attribute): Add
6010 no_sanitize_address attribute, not no_address_safety_analysis
6011 attribute.
6012
15c27dda 60132013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 6014
6015 PR target/52555
6016 * c-common.c (handle_optimize_attribute): Call
6017 save_optabs_if_changed.
6018
19426fe1 60192013-02-18 Jakub Jelinek <jakub@redhat.com>
6020 Steven Bosscher <steven@gcc.gnu.org>
6021
6022 PR pch/54117
6023 * c-opts.c (c_common_post_options): If debug info is enabled
6024 and non-dwarf*, refuse to load PCH files and when writing PCH
6025 file warn.
6026
df936998 60272013-02-05 Jakub Jelinek <jakub@redhat.com>
6028
6029 PR middle-end/56167
6030 * c-common.c (handle_error_attribute): Fix condition.
6031
ae0c3984 60322013-01-30 Jakub Jelinek <jakub@redhat.com>
6033
6034 PR c++/55742
6035 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
6036
1c4973d7 60372013-01-18 Jason Merrill <jason@redhat.com>
6038
6039 PR target/54908
6040 * c.opt (-fextern-tls-init): New.
6041 * c-opts.c (c_common_post_options): Handle it.
6042
7c834436 60432013-01-09 Jakub Jelinek <jakub@redhat.com>
6044
6045 PR c/48418
6046 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
6047 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
6048 and is either negative or bigger or equal to type precision
6049 of the first operand.
6050
5abaa10a 60512012-12-03 Marek Polacek <polacek@redhat.com>
6052
6053 PR c/55570
6054 * c-common.c (check_user_alignment): Swap order of tests,
6055 check TREE_CODE first.
6056
324ca377 60572012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
6058
6059 PR c++/52654
6060 * c-common.h (overflow_type): New enum.
6061 (build_userdef_literal): Add overflow_type argument.
6062 (tree_userdef_literal): Add overflow_type.
6063 (USERDEF_LITERAL_OVERFLOW): New access macro.
6064 * c-common.c (build_userdef_literal): Add overflow_type
6065 argument.
6066 * c-lex.c (c_lex_with_flags): Add overflow_type to
6067 build_userdef_literal calls.
6068 (interpret_integer, interpret_float): Add overflow_type argument.
6069
b4c4a429 60702012-11-28 Richard Biener <rguenther@suse.de>
6071
6072 PR c/35634
6073 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6074 here and use a type with proper overflow behavior for types that would
6075 need to be promoted for the arithmetic.
6076
d413ffdd 60772012-11-23 Jakub Jelinek <jakub@redhat.com>
6078
6079 PR sanitizer/55435
6080 * c-common.c (handle_no_address_safety_analysis_attribute): New
6081 function.
6082 (c_common_attribute_table): Add no_address_safety_analysis.
6083
52bc861d 60842012-11-16 Simon Baldwin <simonb@google.com>
6085
6086 * c.opt: Add f[no-]canonical-system-headers.
6087 * c-opts.c (c_common_handle_option): Handle
6088 OPT_fcanonical_system_headers.
6089
2dd00636 60902012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
6091
6092 PR c++/54413
6093 * c-opts.c (c_common_handle_option): Set new flags.
6094 * c.opt: Describe new flags.
6095
d4701f6c 60962012-11-09 Jason Merrill <jason@redhat.com>
6097
6098 * c.opt (Wabi-tag): New.
6099
72d65da9 61002012-11-09 Andi Kleen <ak@linux.intel.com>
6101
6102 PR 55139
6103 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 6104 MEMMODEL_MASK
72d65da9 6105
77a357e3 61062012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6107
6108 PR c/53063
6109 * c.opt (Wformat): Make it Alias Wformat=1.
6110 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
6111 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
6112 LangEnabledBy.
6113 (Wformat=): RejectNegative. Use LangEnabledBy.
6114 (Wnonnull): Use LangEnabledBy.
6115 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
6116 * c-format.c (set_Wformat): Delete.
6117 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 6118 (maybe_read_dollar_number): Likewise.
6119 (avoid_dollar_number): Likewise.
6120 (finish_dollar_format_checking): Likewise.
6121 (check_format_info): Likewise.
6122 (check_format_info_main): Likewise.
6123 (check_format_types): Likewise.
6124 (format_type_warning): Likewise.
6125 * c-common.c (int): Likewise.
6126 (check_function_sentinel): Likewise.
6127 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 6128
45efa6b9 61292012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6130
6131 PR c/53063
6132 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
6133 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
6134 Use LangEnabledBy.
6135 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
6136 common.opt.
6137 (Wvariadic-macros): Init(1).
6138 * c-opts.c (c_common_handle_option): Do not handle them
6139 explicitly.
6140 (c_common_post_options): Likewise.
6141 (sanitize_cpp_opts): warn_unused_macros is now
6142 cpp_warn_unused_macros.
6143 (push_command_line_include): Likewise.
6144 * c-common.c (warn_unknown_pragmas): Do not define.
6145 * c-common.h (warn_unknown_pragmas): Do not declare.
6146
0e4e775a 61472012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6148
6149 PR c/51294
6150 * c-common.c (conversion_warning): Handle conditional expressions.
6151
8b447d3f 61522012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6153
6154 PR c++/54930
6155 * c.opt (Wreturn_local_addr): Define new option.
6156
f4a61754 61572012-10-25 Jason Merrill <jason@redhat.com>
6158
ecb10e6a 6159 * c.opt (Wvirtual-move-assign): New.
6160
f4a61754 6161 * c.opt (Winherited-variadic-ctor): New.
6162
7b463b19 61632012-10-25 Marc Glisse <marc.glisse@inria.fr>
6164
6165 PR c++/54427
6166 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
6167
6adc88f8 61682012-10-23 Joseph Myers <joseph@codesourcery.com>
6169
6170 * c-common.h (pch_cpp_save_state): Declare.
6171 * c-target.def (c_preinclude): New hook.
6172 * c-opts.c (done_preinclude): New.
6173 (push_command_line_include): Handle default preincluded header.
6174 (cb_file_change): Call pch_cpp_save_state when calling
6175 push_command_line_include.
6176 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
6177 (pch_cpp_save_state): New.
6178 (pch_init): Call pch_cpp_save_state conditionally, instead of
6179 calling cpp_save_state.
6180
fa816b0b 61812012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6182
6183 PR c/53063
6184 PR c/40989
6185 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
6186 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
6187 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
6188 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
6189 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
6190 * c-opts.c (c_common_handle_option): Remove explicit handling from
6191 here.
6192 (c_common_post_options): Likewise.
6193
d214ccee 61942012-10-18 Eric Botcazou <ebotcazou@adacore.com>
6195
6196 * c-ada-spec.c (LOCATION_COL): Delete.
6197 (compare_location): New function.
6198 (compare_node): Use it.
6199 (compare_comment): Likewise.
6200
77b27208 62012012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6202
6203 PR c/53063
6204 PR c/40989
6205 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
6206 * c-opts.c (c_common_handle_option): Do not set them here. Add
6207 comment.
6208 (c_common_post_options): Likewise.
6209
cc02ca4d 62102012-10-16 Eric Botcazou <ebotcazou@adacore.com>
6211
6212 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
6213 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
6214 Remove POINTER_TYPE handling, add large unsigned handling and use
6215 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
6216
57f872a2 62172012-10-12 Jakub Jelinek <jakub@redhat.com>
6218
6219 PR c/54381
6220 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
6221 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
6222 locs and array of 3 trees instead of just single loc and single
6223 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
6224 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
6225 For *cmp* builtins that take two sources strings report warnings
6226 about first and second source, not about destination and source.
6227
7354ad2e 62282012-10-12 Marc Glisse <marc.glisse@inria.fr>
6229
6230 PR c++/53055
6231 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
6232
1ac7f120 62332012-10-11 Eric Botcazou <ebotcazou@adacore.com>
6234
6235 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
6236 declaring something coming from another file.
6237
1e0cc9e3 62382012-10-10 Arnaud Charlet <charlet@adacore.com>
6239
1ac7f120 6240 PR ada/54845
1e0cc9e3 6241 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
6242
b0e7825e 62432012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
6244
6245 PR c++/54194
6246 * c-common.c (warn_about_parentheses): Add location_t parameter;
6247 use EXPR_LOC_OR_LOC.
6248 * c-common.h: Update declaration.
6249
41ed701a 62502012-10-09 Marc Glisse <marc.glisse@inria.fr>
6251
6252 PR c++/54427
6253 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
6254 more operations. Make error messages optional.
6255 * c-common.h (enum stv_conv): Moved from c-typeck.c.
6256 (scalar_to_vector): Declare.
6257
3740094c 62582012-10-08 Jason Merrill <jason@redhat.com>
6259
6260 * c-common.c (c_common_reswords): Add thread_local.
6261
ffcdbf9c 62622012-10-08 Dodji Seketeli <dodji@redhat.com>
6263
6264 PR c++/53528 C++11 attribute support
6265 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
6266 new functions.
6267 * c-common.c (check_cxx_fundamental_alignment_constraints): New
6268 static function.
6269 (handle_aligned_attribute): In choose strictest alignment
6270 among many. Use new check_cxx_fundamental_alignment_constraints.
6271 (handle_transparent_union_attribute): In c++11 attribute syntax,
6272 don't look through typedefs.
6273
ef34afc1 62742012-10-04 Arnaud Charlet <charlet@adacore.com>
6275
6276 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
6277 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
6278 out of dumpfile.h.
6279
f1ff4562 62802012-09-25 Dehao Chen <dehao@google.com>
6281
6282 PR middle-end/54645
ef34afc1 6283 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 6284 map when read in the pch.
6285
92a44a68 62862012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 6287
6288 * c-ada-spec.c: Style fixes.
6289
92a44a68 62902012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 6291
6292 * c.opt (-fada-spec-parent): Define new command line switch.
6293 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
6294 is specified, generate binding spec as a child of the specified unit.
6295
8eba82c2 62962012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
6297 Manuel López-Ibáñez <manu@gcc.gnu.org>
6298
6299 PR c++/53210
6300 * c.opt ([Winit-self]): Enabled by -Wall in C++.
6301
38682990 63022012-08-23 Arnaud Charlet <charlet@adacore.com>
6303
6304 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
6305 for pointers, and add missing Convention C pragma.
6306 (print_ada_struct_decl): Add missing aliased keyword.
6307 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
6308
f003f5dc 63092012-08-17 Jakub Jelinek <jakub@redhat.com>
6310
6311 * c-common.c (sizeof_pointer_memaccess_warning): New function.
6312 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
6313 * c-opts.c (c_common_handle_option): Enable it for -Wall.
6314 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
6315 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
6316
ec11736b 63172012-08-10 Richard Guenther <rguenther@suse.de>
6318
6319 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
6320
5f7f600e 63212012-08-07 Steven Bosscher <steven@gcc.gnu.org>
6322
6323 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
6324 instead of separate pp_newline and pp_flush.
6325 (print_c_tree): Likewise.
6326
758a38ab 63272012-07-26 Richard Henderson <rth@redhat.com>
6328
6329 * c-common.c (handle_hot_attribute): Allow labels.
6330 (handle_cold_attribute): Likewise.
6331
9ca77b08 63322012-07-20 Jakub Jelinek <jakub@redhat.com>
6333
6334 PR c++/28656
6335 * c-common.c (check_function_nonnull): Handle multiple nonnull
6336 attributes properly.
6337
b9ed1410 63382012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6339
6340 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6341 * c-ada-spec.c: Likewise.
6342 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6343
c2a65b90 63442012-07-14 Steven Bosscher <steven@gcc.gnu.org>
6345
6346 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6347 Remove code conditional on it.
6348
88c5a1d1 63492012-07-11 Steven Bosscher <steven@gcc.gnu.org>
6350
6351 * c-gimplify.c: Do not include basic-block.h.
6352 * c-common.c: Do not include linfuncs.h.
6353
4a020a8c 63542012-07-08 Steven Bosscher <steven@gcc.gnu.org>
6355
6356 * c-common.h: Include tree.h.
6357
c28ddc97 63582012-07-02 Jason Merrill <jason@redhat.com>
6359
6360 PR c++/53524
6361 * c-common.c (get_priority): Call default_conversion.
6362
405ed67f 63632012-07-01 Uros Bizjak <ubizjak@gmail.com>
6364
6365 * c-pch.c (c_common_write_pch): Remove unused variables.
6366
e53d55e7 63672012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6368
6369 * cppspec.c: Moved from gcc/ to here.
6370
3d9c25ec 63712012-06-27 Kai Tietz <ktietz@redhat.com>
6372
6373 PR preprocessor/37215
6374 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6375
3169c57a 63762012-06-21 Steven Bosscher <steven@gcc.gnu.org>
6377
6378 * c-common.h (c_common_print_pch_checksum): Remove.
6379 * c-pch.c: Do not include output.h.
6380 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6381 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6382 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6383 (struct c_pch_header): Remove.
6384 (get_ident): Update gpch version.
6385 (pch_init): Do not print executable_checksum to asm_out_file.
6386 Do not fail if there is no asm_out_file to read back from. Set
6387 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6388 (c_common_write_pch): Verify that nothing was written to asm_out_file
6389 since pch_init was called. Do not write a c_pch_header, and do not
6390 copy from asm_out_file to the PCH.
6391 (c_common_read_pch): Do not read a c_pch_header, and do not restore
6392 the content of asm_out_file from the PCH.
6393 (c_common_print_pch_checksum): Remove.
6394 * c-opts.c (c_common_init): Print out executable_checksum directly.
6395
ff6624bc 63962012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6397
6398 * c-target.def (objc_declare_unresolved_class_reference,
6399 objc_declare_class_definition): Add new hooks.
6400
367b1459 64012012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6402
6403 * c-lex.c: Do not include output.h.
6404 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6405 Remove uses of ASM_OUTPUT_IDENT.
6406
bf0cb017 64072012-06-15 Marc Glisse <marc.glisse@inria.fr>
6408
6409 PR c++/51033
6410 * c-common.h (c_build_vec_perm_expr): Move decl here.
6411 * c-common.c (c_build_vec_perm_expr): Move definition
6412 here.
6413
b37a3600 64142012-06-06 Steven Bosscher <steven@gcc.gnu.org>
6415
6416 * c.opt (fconserve-space): Turn into a no-op.
6417
19931eea 64182012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 6419
6420 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6421 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6422 both the start and end of the function.
6423
dff12c10 64242012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6425
6426 * c-common.c: Do not include output.h.
6427 * c-pragma.c: Likewise.
6428
5f9e7dd5 64292012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6430
6431 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6432 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6433 (lang_decl_name): Handle namespace decls.
6434
b5369b7d 64352012-05-31 Steven Bosscher <steven@gcc.gnu.org>
6436
6437 * c-ada-spec.c: Do not include output.h.
6438 * c-semantics.c: Likewise.
6439
8032877c 64402012-05-29 Joseph Myers <joseph@codesourcery.com>
6441
6442 * c-common.c: Fix typo.
6443
7843e4bc 64442012-05-29 Michael Matz <matz@suse.de>
6445
6446 * c-common.h (c_expand_decl): Remove prototype.
6447
8cf857d4 64482012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6449
6450 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6451 * c-opts.c (c_common_handle_option): Remove code handling
6452 warn_missing_braces.
6453
8b64dc3c 64542012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
6455
6456 PR c++/25137
6457 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6458 -Wmissing_braces.
6459
43cbde16 64602012-05-22 Dodji Seketeli <dodji@redhat.com>
6461
6462 PR c++/53322
6463 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6464
db490cb6 64652012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
6466
6467 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6468 * c-opts.c (c_common_handle_option): Do not handle explicitly
6469 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6470
a60f3e81 64712012-05-16 Dodji Seketeli <dodji@redhat.com>
6472
6473 PR preprocessor/7263
6474 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
6475 to cpp_classify_number. For diagnostics, use the precise location
6476 instead of the global input_location.
6477
82e6ef7c 64782012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6479
cd4797ff 6480 PR c++/11856
82e6ef7c 6481 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6482
258a168d 64832012-05-14 Bernd Schmidt <bernds@codesourcery.com>
6484
82e6ef7c 6485 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 6486
d3b7ee7c 64872012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6488
6489 PR 53063
6490 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6491 Wreorder): Use LangEnabledBy.
6492 * c-opts.c (c_common_handle_option): Do not enable them
6493 explicitly. Call lang-specific generated functions.
6494 (c_common_post_options): Do not set them here.
6495
70059cea 64962012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
6497
6498 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6499 Wmissing-field-initializers,Wmissing-parameter-type,
6500 Wold-style-declaration,Woverride-init): Use EnabledBy.
6501 * c-opts.c (c_common_post_options): Do not set here explicitly.
6502
fbb6fbd8 65032012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6504
6505 PR 53063
6506 * c-opts.c (c_common_handle_option): Use handle_generated_option
6507 to enable sub-options.
6508
61f69bc9 65092012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
6510
6511 PR c++/53158
6512 * c-common.c (warnings_for_convert_and_check): Use warning_at.
6513
5a1fe2db 65142012-05-10 Richard Guenther <rguenther@suse.de>
6515
6516 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6517 adjust commentary about TYPE_IS_SIZETYPE types.
6518
d42e7c5a 65192012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6520
6521 PR c++/53261
6522 * c-common.c (warn_logical_operator): Check that argument of
6523 integer_zerop is not NULL.
6524
686369e8 65252012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6526
6527 PR c/43772
6528 * c-common.c (warn_logical_operator): Do not warn if either side
6529 is already true or false.
6530
03fe1dc2 65312012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6532
6533 PR c/51712
6534 * c-common.c (expr_original_type): New.
6535 (shorten_compare): Do not warn for enumeration types.
6536
bba5a206 65372012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6538
6539 * c.opt (fpermissive): Add Var(flag_permissive).
6540
7059d45d 65412012-04-30 Marc Glisse <marc.glisse@inria.fr>
6542
6543 PR c++/51033
6544 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6545 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6546
7edb1062 65472012-04-30 Dodji Seketeli <dodji@redhat.com>
6548
6549 Add -Wvarargs option
6550 * c.opt (Wvarargs): Define new option.
6551
068bea1e 65522012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6553
6554 * c-common.c (check_function_arguments): Replace
6555 Wmissing-format-attribute with Wsuggest-attribute=format.
6556
b86527d8 65572012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6558
6559 * c.opt (Wsuggest-attribute=format): New. Alias of
6560 Wmissing-format-attribute.
6561 * c-format.c (decode_format_type): Replace
6562 Wmissing-format-attribute with Wsuggest-attribute=format.
6563 (check_function_format): Likewise.
6564
19931eea 65652012-04-27 Ollie Wild <aaw@google.com>
76d340ac 6566
6567 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6568 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6569 * c.opt: Add Wliteral-suffix.
6570
29438999 65712012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6572
6573 PR c/44774
6574 * c.opt (Wpedantic): New.
6575 (pedantic): Alias Wpedantic.
6576 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6577 (c_common_post_options): Likewise.
6578 (sanitize_cpp_opts): Likewise.
6579 * c-lex.c (interpret_float): Likewise.
6580 * c-format.c (check_format_types): Likewise.
6581 * c-common.c (pointer_int_sum): Likewise.
6582 (c_sizeof_or_alignof_type): Likewise.
6583 (c_add_case_label): Likewise.
6584 (c_do_switch_warnings): Likewise.
6585 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6586
4f9d6b8b 65872012-04-15 Jason Merrill <jason@redhat.com>
6588
6589 PR c++/52818
6590 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6591 (C_STD_NAME): Distinguish between C++98 and C++11.
6592
74bdbe96 65932012-04-11 Eric Botcazou <ebotcazou@adacore.com>
6594
6595 PR target/52624
6596 * c-common.h (uint16_type_node): Rename into...
6597 (c_uint16_type_node): ...this.
6598 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6599 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6600
3d177e8c 66012012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
6602
6603 * c-common.c (warn_if_unused_value): Move definition to here.
6604 * c-common.h (warn_if_unused_value): Move declaration to here.
6605
6a9a958f 66062012-03-23 William Bader <williambader@hotmail.com>
6607
6608 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6609
543efdbe 66102012-03-20 Jason Merrill <jason@redhat.com>
6611
6612 * c-common.h (enum cxx_dialect): Add cxx1y.
6613 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6614 test.
6615 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6616 * c-opts.c (c_common_post_options): Likewise.
6617 (set_std_cxx1y): New.
6618 (c_common_handle_option): Call it.
6619 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6620
62206d34 66212012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6622
6623 PR c++/14710
6624 * c.opt ([Wuseless-cast]): Add.
6625
fadf62f4 66262012-03-16 Richard Guenther <rguenther@suse.de>
6627
6628 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6629
249faa35 66302012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6631
6632 PR c++/44783
6633 * c.opt (ftemplate-backtrace-limit) Add.
6634
126b6848 66352012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6636
6637 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6638 handling.
6639 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6640 (init_pragma): Don't register extern_prefix.
6641
a51edb4c 66422012-03-12 Richard Guenther <rguenther@suse.de>
6643
6644 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6645 (builtin_type_for_size): Likewise.
6646
0f6a7cb7 66472012-02-13 Jakub Jelinek <jakub@redhat.com>
6648
6649 PR c++/52215
6650 * c-common.c (sync_resolve_params): Don't decide whether to convert
6651 or not based on TYPE_SIZE comparison, convert whenever arg_type
6652 is unsigned INTEGER_TYPE.
6653
0779e32c 66542012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6655
6656 PR c/52118
6657 * c.opt ([Wunused-local-typedefs]): Fix description.
6658
baec58e1 66592012-01-24 Mike Stump <mikestump@comcast.net>
6660
6661 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6662 exactly.
6663
c779d8cc 66642012-01-18 Richard Guenther <rguenther@suse.de>
6665
6666 * c-opts.c (c_common_post_options): Reset LTO flags if
6667 we are about to generate a PCH.
6668
ee917d24 66692012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6670
6671 PR c++/51777
6672 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6673 use pp_unsigned_wide_integer.
6674
90e2341f 66752012-01-10 Richard Guenther <rguenther@suse.de>
6676
6677 PR middle-end/51806
6678 * c-opts.c (c_common_handle_option): Move -Werror handling
6679 to language independent code.
6680
9ea022ce 66812012-01-05 Richard Guenther <rguenther@suse.de>
6682
6683 PR middle-end/51764
6684 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6685 from common.opt.
6686
3df19e1b 66872011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6688
6689 PR c++/51316
6690 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6691 of array types with an unknown bound.
6692
32074525 66932011-12-20 Joseph Myers <joseph@codesourcery.com>
6694
6695 * c-common.c (flag_isoc99): Update comment to refer to C11.
6696 (flag_isoc1x): Change to flag_isoc11.
6697 * c-common.h (flag_isoc99): Update comment to refer to C11.
6698 (flag_isoc1x): Change to flag_isoc11.
6699 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6700 C11.
6701 * c-opts.c (set_std_c1x): Change to set_std_c11.
6702 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6703 Call set_std_c11.
6704 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6705 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6706 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6707 standard.
6708 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6709 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6710 (std=gnu1x): Make alias of std=gnu11.
6711
fca86134 67122011-12-19 Jason Merrill <jason@redhat.com>
6713
6714 PR c++/51228
6715 * c-common.c (handle_transparent_union_attribute): Check the first
6716 field if the type is complete.
6717
aa4313eb 67182011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6719
6720 PR libstdc++/51365
6721 * c-common.c (RID_IS_FINAL): Add.
6722 * c-common.h (RID_IS_FINAL): Add.
6723
3f3d5ad4 67242011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6725
6726 * c.opt (fgnu-runtime): Provide full description.
6727 (fnext-runtime): Likewise.
6728 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6729
c4606d19 67302011-11-28 Andrew MacLeod <amacleod@redhat.com>
6731
6732 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6733 predefines in one place. Add LOCK_FREE predefines.
6734 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6735 new func.
6736
1d581089 67372011-11-24 Andrew MacLeod <amacleod@redhat.com>
6738
6739 PR c/51256
19931eea 6740 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 6741 conditions
19931eea 6742 (resolve_overloaded_atomic_exchange,
6743 resolve_overloaded_atomic_compare_exchange,
1d581089 6744 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6745 error_mark_node for error conditions.
19931eea 6746
6aa221fa 67472011-11-08 Richard Guenther <rguenther@suse.de>
6748
6749 PR middle-end/51010
6750 c-family/
6751
4c0315d0 67522011-11-07 Richard Henderson <rth@redhat.com>
6753 Aldy Hernandez <aldyh@redhat.com>
6754 Torvald Riegel <triegel@redhat.com>
6755
6756 Merged from transactional-memory.
6757
6758 * c-common.c (handle_tm_wrap_attribute,
6759 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6760 (struct c_common_reswords): Added __transaction* keywords.
6761 (struct c_common_attribute_table): Added transaction* and tm_regparm
6762 attributes.
6763 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6764 masks.
6765 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6766 find_tm_attribute): Declare.
6767
920f5a70 67682011-11-07 Jason Merrill <jason@redhat.com>
6769
6770 PR c++/35688
6771 * c-common.c, c-common.h: Revert yesterday's changes.
6772
b4f861b4 67732011-11-06 Jason Merrill <jason@redhat.com>
6774
6775 PR c++/35688
6776 * c-common.c (decl_has_visibility_attr): Split out from...
6777 (c_determine_visibility): ...here.
6778 * c-common.h: Declare it.
6779
83e25171 67802011-11-06 Joseph Myers <joseph@codesourcery.com>
6781
6782 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6783 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6784 type.
6785 (check_user_alignment): New. Split out of
6786 handle_aligned_attribute. Disallow integer constants with
6787 noninteger types. Conditionally allow zero.
6788 (handle_aligned_attribute): Use check_user_alignment.
6789 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6790
1cd6e20d 67912011-11-06 Andrew MacLeod <amacleod@redhat.com>
6792 Richard Henderson <rth@redhat.com>
6793
6794 Merged from cxx-mem-model.
6795
6796 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 6797 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 6798 parameters that are the same type size.
6799 (get_atomic_generic_size): New. Find size of generic
6800 atomic function parameters and do typechecking.
6801 (add_atomic_size_parameter): New. Insert size into parameter list.
6802 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6803 either __atomic_exchange_n or external library call.
19931eea 6804 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 6805 __atomic_compare_exchange to either _n variant or external library call.
19931eea 6806 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 6807 __atomic_load_n or an external library call.
6808 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6809 __atomic_store_n or an external library call.
6810 (resolve_overloaded_builtin): Handle new __atomic builtins.
6811
7549df0d 68122011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6813
6814 PR c++/50608
6815 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6816 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6817 <INDIRECT_REF>: Return the argument.
6818 <ARRAY_REF>: Remove special code for negative offset.
6819 Call fold_build_pointer_plus instead of size_binop.
6820 (fold_offsetof): Remove STOP_REF argument and adjust.
6821 * c-common.h (fold_offsetof_1): Declare.
6822 (fold_offsetof): Remove STOP_REF argument.
6823
7e783eb3 68242011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6825
6826 PR c++/50810
6827 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6828 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6829 Wnarrowing for C++0x and C++98.
6830 * c.opt ([Wnarrowing]): Update.
6831
8fe701f5 68322011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6833
6834 PR c++/44277
6835 * c.opt: Add Wzero-as-null-pointer-constant.
6836
0d84dc2d 68372011-10-31 Jason Merrill <jason@redhat.com>
6838
67031f52 6839 * c.opt (-fdeduce-init-list): Off by default.
6840
0d84dc2d 6841 PR c++/50920
6842 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6843 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6844 and -Wc++11-compat.
6845 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6846
66f24c41 68472011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6848
6849 PR c++/30066
6850 * c.opt (fvisibility-inlines-hidden): Description change.
6851
244db24d 68522011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6853
6854 Implement C++11 user-defined literals.
6855 * c-common.c (build_userdef_literal): New.
6856 * c-common.def: New tree code.
6857 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6858 * c-lex.c (interpret_float): Add suffix parm.
6859 (c_lex_with_flags): Build literal tokens.
6860
235be70f 68612011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6862
6863 PR c++/50841
6864 Revert:
6865 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6866
6867 PR c++/50810
6868 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6869 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6870 Wnarrowing for C++0x and C++98.
6871 * c.opt ([Wnarrowing]): Update.
6872
4fe0fb1c 68732011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6874
6875 PR c++/50810
6876 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6877 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6878 Wnarrowing for C++0x and C++98.
6879 * c.opt ([Wnarrowing]): Update.
6880
5f7504f9 68812011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6882
6883 PR c++/45385
6884 * c-common.c (conversion_warning): Remove code looking for
6885 artificial operands.
6886
2a688977 68872011-10-18 Dodji Seketeli <dodji@redhat.com>
6888
6889 PR bootstrap/50760
6890 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 6891 !NO_IMPLICIT_EXTERN_C.
2a688977 6892
326e3391 68932011-10-17 Michael Spertus <mike_spertus@symantec.com>
6894
6895 * c-common.c (c_common_reswords): Add __bases,
6896 __direct_bases.
6897 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6898
68992011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6900
6901 PR c++/50757
6902 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6903
62db153a 69042011-10-15 Tom Tromey <tromey@redhat.com>
6905 Dodji Seketeli <dodji@redhat.com>
6906
6907 * c.opt (fdebug-cpp): New option.
6908 * c-opts.c (c_common_handle_option): Handle the option.
6909 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6910 output stream in parameter. Factorized from ...
6911 (maybe_print_line): ... this. Dump location debug information when
6912 -fdebug-cpp is in effect.
6913 (print_line_1): New static function. Takes an output stream in
6914 parameter. Factorized from ...
6915 (print_line): ... here. Dump location information when -fdebug-cpp
6916 is in effect.
6917 (scan_translation_unit): Dump location information when
6918 -fdebug-cpp is in effect.
6919
ce70f433 69202011-10-15 Tom Tromey <tromey@redhat.com>
6921 Dodji Seketeli <dodji@redhat.com>
6922
6923 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6924 without argument.
6925 * c-opts.c (c_common_handle_option)<case
6926 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6927 cases. Handle -ftrack-macro-expansion with and without argument.
6928
97bfb9ef 69292011-10-15 Tom Tromey <tromey@redhat.com>
6930 Dodji Seketeli <dodji@redhat.com>
6931
6932 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6933 (print_line, cb_define, do_line_change): Adjust to avoid touching
6934 the internals of struct line_map. Use the public API instead.
6935 * c-pch.c (c_common_read_pch): Likewise.
6936 * c-lex.c (fe_file_change): Likewise.
6937
326e3391 69382011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6939
6940 PR c++/17212
6941 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6942
69432011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6944
6945 PR c++/33067
6946 * c-pretty-print.c (pp_c_floating_constant): Output
6947 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6948
b9a16870 69492011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6950
6951 * c-common.c (def_builtin_1): Delete old interface with two
6952 parallel arrays to hold standard builtin declarations, and replace
6953 it with a function based interface that can support creating
6954 builtins on the fly in the future. Change all uses, and poison
6955 the old names. Make sure 0 is not a legitimate builtin index.
6956 * c-omp.c (c_finish_omp_barrier): Ditto.
6957 (c_finish_omp_taskwait): Ditto.
6958 (c_finish_omp_flush): Ditto.
6959
c7964868 69602011-10-11 Tristan Gingold <gingold@adacore.com>
6961
6962 * c.opt: (fallow-parameterless-variadic-functions): New.
6963
a4e3ffad 69642011-09-08 Dodji Seketeli <dodji@redhat.com>
6965
6966 PR c++/33255 - Support -Wunused-local-typedefs warning
6967 * c-common.h (struct c_language_function::local_typedefs): New
6968 field.
19931eea 6969 (record_locally_defined_typedef, maybe_record_typedef_use)
6970 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 6971 * c-common.c (record_locally_defined_typedef)
19931eea 6972 (maybe_record_typedef_use)
6973 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 6974 * c.opt: Declare new -Wunused-local-typedefs flag.
6975
737a23cc 69762011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6977
6978 PR middle-end/50266
6979 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6980 computations.
6981
7542c3b4 69822011-09-05 Richard Guenther <rguenther@suse.de>
6983
6984 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6985 of integer_minus_one_node for empty array upper bounds.
6986
1dc92c59 69872011-08-28 Dodji Seketeli <dodji@redhat.com>
6988
6989 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6990 it's the first time it's being called on this main TU.
6991
2bdf2b6e 69922011-08-24 Richard Guenther <rguenther@suse.de>
6993
6994 PR c/49396
6995 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6996
69972011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 6998
6999 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
7000 defined in cpp_init_builtins and c_cpp_builtins.
7001
bff4ad11 70022011-08-19 Joseph Myers <joseph@codesourcery.com>
7003
7004 * c-common.c (c_common_reswords): Add __builtin_complex.
7005 * c-common.h (RID_BUILTIN_COMPLEX): New.
7006
985c6e3a 70072011-08-18 Joseph Myers <joseph@codesourcery.com>
7008
7009 * c-common.c (c_common_reswords): Add _Noreturn.
7010 (keyword_is_function_specifier): Handle RID_NORETURN.
7011 * c-common.h (RID_NORETURN): New.
7012
92a44a68 70132011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 7014
7015 * c-common.c (unsafe_conversion_p): New function. Check if it is
7016 unsafe to convert an expression to the type.
7017 (conversion_warning): Adjust, use unsafe_conversion_p.
7018 * c-common.h (unsafe_conversion_p): New function declaration.
7019
2169f33b 70202011-08-02 Jakub Jelinek <jakub@redhat.com>
7021
7022 * c-common.h (c_finish_omp_atomic): Adjust prototype.
7023 (c_finish_omp_taskyield): New prototype.
7024 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
7025 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
7026 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
7027 or RHS1 have side-effects, evaluate those too in the right spot,
7028 if it is a decl and LHS is also a decl, error out if they
7029 aren't the same.
7030 (c_finish_omp_taskyield): New function.
7031 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
7032 * c-pragma.c (omp_pragmas): Add taskyield.
7033 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
7034 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
7035 PRAGMA_OMP_CLAUSE_MERGEABLE.
7036
ab77850e 70372011-07-25 Dodji Seketeli <dodji@redhat.com>
7038
7039 * c-common.h (set_underlying_type): Remove parm name from
7040 declaration.
7041
6ee97920 70422011-07-25 Romain Geissler <romain.geissler@gmail.com>
7043
7044 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 7045
dc251364 70462011-07-22 Jason Merrill <jason@redhat.com>
7047
1a2a35f0 7048 PR c++/49793
7049 * c.opt (Wnarrowing): New.
7050
27282252 7051 PR c++/30112
7052 * c-common.h: Declare c_linkage_bindings.
7053 * c-pragma.c (handle_pragma_redefine_extname): Use it.
7054
dc251364 7055 PR c++/49813
7056 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
7057 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
7058 as flag_isoc99 for 'restrict'.
7059 (pp_c_specifier_qualifier_list): Likewise for _Complex.
7060
fc501191 70612011-07-21 Ian Lance Taylor <iant@google.com>
7062
7063 PR middle-end/49705
7064 * c-common.c (c_disable_warnings): New static function.
7065 (c_enable_warnings): New static function.
7066 (c_fully_fold_internal): Change local unused_p to bool. Call
7067 c_disable_warnings and c_enable_warnings rather than change
7068 c_inhibit_evaluation_warnings.
7069
07b8f133 70702011-07-20 Jason Merrill <jason@redhat.com>
7071
7072 PR c++/6709 (DR 743)
7073 PR c++/42603 (DR 950)
7074 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
7075 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
7076 (CPP_DECLTYPE): New.
7077 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
7078
2cc66f2a 70792011-07-19 Richard Guenther <rguenther@suse.de>
7080
7081 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
7082 * c-omp.c (c_finish_omp_for): Likewise.
7083
3c802a1e 70842011-07-12 Eric Botcazou <ebotcazou@adacore.com>
7085
7086 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
7087 body on the next line.
7088
98a33d9f 70892011-07-08 Jason Merrill <jason@redhat.com>
7090
3115bda0 7091 PR c++/45437
7092 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
7093
98a33d9f 7094 PR c++/49673
7095 * c-common.c (c_apply_type_quals_to_decl): Don't check
7096 TYPE_NEEDS_CONSTRUCTING.
7097
c38a75b7 70982011-07-06 Richard Guenther <rguenther@suse.de>
7099
7100 * c-common.c (c_common_nodes_and_builtins):
7101 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
7102
e593356b 71032011-07-05 Richard Guenther <rguenther@suse.de>
7104
7105 * c-common.c (c_common_nodes_and_builtins): Build all common
7106 tree nodes first.
7107
fca0886c 71082011-06-27 Jakub Jelinek <jakub@redhat.com>
7109
a68f7a8d 7110 * c-common.h (c_tree_chain_next): New static inline function.
7111
fca0886c 7112 * c-common.c (check_builtin_function_arguments): Handle
7113 BUILT_IN_ASSUME_ALIGNED.
7114
2797f13a 71152011-06-21 Andrew MacLeod <amacleod@redhat.com>
7116
7117 * c-common.c: Add sync_ or SYNC__ to builtin names.
7118 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 7119
71202011-06-20 Pierre Vittet <piervit@pvittet.com>
7121
7122 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
7123 handler.
7124 (gen_pragma_handler): New union.
7125 (internal_pragma_handler): New type.
7126 (c_register_pragma_with_data)
7127 (c_register_pragma_with_expansion_and_data): New functions.
7128
7129 * c-pragma.c (registered_pragmas, c_register_pragma_1)
7130 (c_register_pragma, c_register_pragma_with_expansion)
7131 (c_invoke_pragma_handler): Changed to work with
7132 internal_pragma_handler.
7133 (c_register_pragma_with_data)
7134 (c_register_pragma_with_expansion_and_data): New functions.
7135
218e3e4e 71362011-06-14 Joseph Myers <joseph@codesourcery.com>
7137
7138 * c-common.c: Include common/common-target.h.
7139 (handle_section_attribute): Use
7140 targetm_common.have_named_sections.
7141 * c-cppbuiltin.c: Include common/common-target.h.
7142 (c_cpp_builtins): Use targetm_common.except_unwind_info.
7143
41e53ed2 71442011-06-10 Richard Guenther <rguenther@suse.de>
7145
7146 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
7147 to print a IDENTIFIER_NODE.
7148
a6f06169 71492011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7150 Joseph Myers <joseph@codesourcery.com>
7151
7152 * c.opt (fbuilding-libgcc): New option.
7153 * c-cppbuiltin.c (c_cpp_builtins): Define
7154 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
7155
1ea9269b 71562011-06-07 Jason Merrill <jason@redhat.com>
7157
8ce59854 7158 * c-common.c (max_tinst_depth): Lower default to 900.
7159
1ea9269b 7160 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
7161
1af0124d 71622011-06-07 Richard Guenther <rguenther@suse.de>
7163
7164 * c-common.c (c_common_nodes_and_builtins): Do not set
7165 size_type_node or call set_sizetype.
7166
0e9a4c01 71672011-06-07 Dodji Seketeli <dodji@redhat.com>
7168
7169 PR debug/49130
7170 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 7171 type when using pointer comparison to compare types.
0e9a4c01 7172
90b40725 71732011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
7174
7175 * c.opt: Add -Wdelete-non-virtual-dtor.
7176 * c-opts.c (c_common_handle_option): Include it in -Wall.
7177
fc9c9e87 71782011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
7179
7180 PR bootstrap/49190
7181
7182 Revert:
7183 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7184
7185 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7186 not tree_common.
7187
d0389adc 71882011-05-27 Jakub Jelinek <jakub@redhat.com>
7189
7190 PR c++/49165
7191 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
7192 C++ don't call c_common_truthvalue_conversion on void type arms.
7193
cacfdc02 71942011-05-27 Nathan Froyd <froydnj@codesourcery.com>
7195
7196 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
7197 (stmt_list_stack): Define.
7198 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
7199 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
7200
027fc6ef 72012011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7202
7203 * c-common.c (warning_candidate_p): Check for BLOCKs.
7204
f21317a1 72052011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7206
7207 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7208 not tree_common.
7209
789e953d 72102011-05-25 Jakub Jelinek <jakub@redhat.com>
7211
7212 * c-common.c (def_fn_type): Remove extra va_end.
7213
7f506bca 72142011-05-23 Jason Merrill <jason@redhat.com>
7215
7216 PR c++/48106
7217 * c-common.c (c_common_get_narrower): New.
7218 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
7219
774e9d58 72202011-05-23 Nathan Froyd <froydnj@codesourcery.com>
7221
7222 * c-common.h (check_function_arguments): Tweak prototype of
7223 check_function_arguments.
7224 * c-common.c (check_function_arguments): Likewise. Adjust
7225 calls to check_function_nonnull, check_function_format, and
7226 check_function_sentinel.
7227 (check_function_sentinel): Take a FUNCTION_TYPE rather than
7228 separate attributes and typelist arguments. Use
7229 FOREACH_FUNCTION_ARGS to iterate over argument types.
7230
23407dc9 72312011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7232
7233 * c-common.c (c_common_reswords): Reorder.
7234 * c-common.h (rid): Likewise.
7235
3a939d12 72362011-05-10 Nathan Froyd <froydnj@codesourcery.com>
7237
7238 * c-common.c (def_fn_type): Don't call build_function_type, call
7239 build_function_type_array or build_varargs_function_type_array
7240 instead.
7241 (c_common_nodes_and_builtins): Likewise.
7242
b6e3dd65 72432011-05-05 Nathan Froyd <froydnj@codesourcery.com>
7244
7245 * c-common.c (c_add_case_label): Omit the loc argument to
7246 build_case_label.
7247 * c-common.h (build_case_label): Remove.
7248 * c-semantics.c (build_case_label): Remove.
7249
4232a958 72502011-05-05 Joseph Myers <joseph@codesourcery.com>
7251
7252 * c-objc.h (objc_start_method_definition): Update prototype.
7253 * stub-objc.c (objc_start_method_definition): Add extra parameter.
7254
d0af78c5 72552011-05-04 Nathan Froyd <froydnj@codesourcery.com>
7256
7257 * c-common.c (check_main_parameter_types): Reindent. Don't use
7258 TYPE_ARG_TYPES directly.
7259 (handle_nonnull_attribute): Likewise.
7260 (sync_resolve_params): Likewise.
7261 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
7262 to check_format_string.
7263 (handle_format_attribute): Likewise.
7264 (check_format_string): Take a function type to examine instead of
7265 a type list. Use a function_arg_iterator to step through argument
7266 types.
7267
ceb7b692 72682011-05-04 Richard Guenther <rguenther@suse.de>
7269
7270 * c-common.c (fix_string_type): Use size_int for index type bounds.
7271 (start_fname_decls): Do not pass NULL to build_int_cst.
7272 (c_init_attributes): Likewise.
7273 * c-lex.c (c_lex_with_flags): Likewise.
7274
c66c81be 72752011-04-27 Jason Merrill <jason@redhat.com>
7276
7277 * c-common.c (make_tree_vector_from_list): New.
7278 * c-common.h: Declare it.
7279
16930c72 72802011-04-26 Richard Guenther <rguenther@suse.de>
7281
7282 PR preprocessor/48248
7283 * c-ppoutput.c (maybe_print_line): Always optimize newlines
7284 for output size with -P.
7285
23407dc9 72862011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
7287
7288 * c-common.c (struct c_common_resword): Add __underlying_type.
7289 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
7290
dd045aee 72912011-04-20 Jim Meyering <meyering@redhat.com>
7292
7293 * c-format.c (init_dollar_format_checking): Remove useless
7294 if-before-free.
7295
394dd737 72962011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
7297
7298 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 7299 (objc_detect_field_duplicates): New.
394dd737 7300 * stub-objc.c: Likewise.
23407dc9 7301
a758bf7d 73022011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7303
7304 * stub-objc.c (objc_declare_protocols): Renamed to
7305 objc_declare_protocol.
7306 * c-objc.h: Likewise.
23407dc9 7307
29d7200d 73082011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7309
7310 * stub-objc.c (objc_declare_class): Updated argument name.
7311
9b88d08d 73122011-04-12 Nathan Froyd <froydnj@codesourcery.com>
7313
7314 * c-common.h (c_common_init_ts): Declare.
7315 * c-common.c (c_common_init_ts): Define.
7316
4185cf58 73172011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
7318
7319 * c-objc.h (objc_build_message_expr): Updated prototype.
7320 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 7321
5a90471f 73222011-04-12 Martin Jambor <mjambor@suse.cz>
7323
7324 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
7325 of cgraph_node.
7326
783bb57e 73272011-04-11 Richard Guenther <rguenther@suse.de>
7328
7329 * c-common.c (complete_array_type): Build a range type of
7330 proper type.
7331
c33080b9 73322011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7333
7334 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
7335 (handle_type_generic_attribute): Likewise.
7336
f8913d47 73372011-04-07 Jason Merrill <jason@redhat.com>
7338
7339 PR c++/48450
7340 * c-common.c (c_common_truthvalue_conversion): Don't ignore
7341 conversion from C++0x scoped enum.
7342
c94b1d0e 73432011-04-06 Joseph Myers <joseph@codesourcery.com>
7344
7345 * c-target-def.h: New file.
7346 * c-target.def: New file.
7347 * c-target.h: New file.
7348 * c-common.c (targetcm): Don't define here.
7349 * c-common.h (default_handle_c_option): Declare.
7350 * c-format.c: Include c-target.h instead of target.h.
7351 * c-opts.c: Include c-target.h instead of target.h. Explicitly
7352 include tm.h.
7353 (default_handle_c_option): Move from targhooks.c.
7354
acb10f41 73552011-03-29 Jakub Jelinek <jakub@redhat.com>
7356
7357 PR preprocessor/48248
7358 * c-ppoutput.c (print): Add src_file field.
7359 (init_pp_output): Initialize it.
7360 (maybe_print_line): Don't optimize by adding up to 8 newlines
7361 if map->to_file and print.src_file are different file.
7362 (print_line): Update print.src_file.
7363
82715bcd 73642011-03-25 Kai Tietz <ktietz@redhat.com>
7365
7366 * c-ada-spec.c (compare_comment): Use filename_cmp
7367 instead of strcmp for filename.
7368
451c8e2f 73692011-03-25 Jeff Law <law@redhat.com>
7370
1f78217c 7371 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 7372
3c47771c 73732011-03-25 Jason Merrill <jason@redhat.com>
7374
7375 * c.opt: Add -std=c++03.
7376
97e6200f 73772011-03-22 Eric Botcazou <ebotcazou@adacore.com>
7378
7379 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7380
92a44a68 73812011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 7382
7383 PR target/12171
ee212425 7384 * c-pretty-print.c (pp_c_specifier_qualifier_list):
7385 Display allowed attributes for function pointer types.
7386 (pp_c_attributes_display): New function to display
7387 attributes having affects_type_identity flag set to true.
7388 * c-pretty-print.h (pp_c_attributes_display): New prototype.
7389
ac86af5d 7390 * c-common.c (c_common_attribute_table):
7391 Add new element.
7392 (c_common_format_attribute_table): Likewise.
7393
914d1151 73942011-03-18 Jason Merrill <jason@redhat.com>
7395
69788bdf 7396 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7397 * c-common.h: Don't declare it here.
7398 * c-common.c: Or define it here.
7399 * c-opts.c (c_common_handle_option): Or set it here.
7400
914d1151 7401 PR c++/35315
7402 * c-common.c (handle_transparent_union_attribute): Don't
7403 make a duplicate type in C++.
7404
54cf6eed 74052011-03-15 Jason Merrill <jason@redhat.com>
7406
7407 * c-common.c (max_constexpr_depth): New.
7408 * c-common.h: Declare it.
7409 * c-opts.c (c_common_handle_option): Set it.
7410 * c.opt (fconstexpr-depth): New option.
7411
02cb1060 74122011-03-11 Jason Merrill <jason@redhat.com>
7413
9bf1c74e 7414 * c-common.c (attribute_takes_identifier_p): Add missing const.
7415
02cb1060 7416 PR c++/46803
7417 * c-common.c (attribute_takes_identifier_p): Assume that an
7418 unknown attribute takes an identifier.
7419
ecf2703d 74202011-03-07 Nathan Froyd <froydnj@codesourcery.com>
7421
7422 PR c/47786
7423 * c-common.c (c_type_hash): Call list_length instead of iterating
7424 through DECL_CHAIN. Rename 'i' to 'n_elements'.
7425
2b19dfe4 74262011-02-19 Jakub Jelinek <jakub@redhat.com>
7427
7428 PR c/47809
7429 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7430
29cf2335 74312011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7432
7433 * c.opt (fobjc-abi-version=) New.
7434 (fobjc-nilcheck): New.
7435
fad3f658 74362011-02-03 Nathan Froyd <froydnj@codesourcery.com>
7437
7438 PR c++/46890
7439 * c-common.h (keyword_is_decl_specifier): Declare.
7440 * c-common.c (keyword_is_decl_specifier): Define.
7441 (keyword_is_function_specifier): New function.
7442
a12319b3 74432011-01-26 Jakub Jelinek <jakub@redhat.com>
7444
7445 PR c/47473
7446 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7447 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7448 REAL_TYPE.
7449
5c128dc8 74502011-01-26 Arnaud Charlet <charlet@adacore.com>
7451
7452 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7453
8d67b0c7 74542011-01-26 Jakub Jelinek <jakub@redhat.com>
7455
7456 PR pch/47430
7457 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7458 after init_c_lex if pch_file is set.
7459
0675168d 74602011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
7461
e8911163 7462 PR c++/43601
0675168d 7463 * c.opt (-fkeep-inline-dllexport): New switch.
7464
0725e25c 74652011-01-12 Richard Guenther <rguenther@suse.de>
7466
7467 PR middle-end/32511
7468 * c-common.c (handle_weak_attribute): Warn instead of error
7469 on declaring an inline function weak.
7470
fdd84b77 74712011-01-05 Tom Tromey <tromey@redhat.com>
7472
7473 * c-common.h (lvalue_error): Update.
7474 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
7475 not error.
7476
e6e73d14 74772010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 7478
d67e8485 7479 PR objc/47075
7480 * c-objc.h (objc_finish_message_expr): Added argument to
7481 prototype.
7482
a36cf284 74832010-12-22 Nathan Froyd <froydnj@codesourcery.com>
7484
7485 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7486 Use prototype_p.
7487
33b3681f 74882010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
7489
7490 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 7491 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 7492
a1f90215 74932010-12-10 Nathan Froyd <froydnj@codesourcery.com>
7494
7495 * c-common.h (readonly_error): Declare.
7496 * c-common.c (readonly_error): Define.
7497
b1bbc8e5 74982010-12-09 Nathan Froyd <froydnj@codesourcery.com>
7499
7500 * c-common.h (invalid_indirection_error): Declare.
7501 * c-common.c (invalid_indirection_error): Define.
7502
b0d55af9 75032010-12-03 Richard Guenther <rguenther@suse.de>
7504
7505 PR c/46745
7506 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7507 (pp_c_unary_expression): Likewise.
7508 (pp_c_expression): Likewise.
7509
d7489d8d 75102010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
7511
7512 * c-common.h (objc_finish_function): New.
7513 (objc_non_volatilized_type): Removed.
7514 (objc_type_quals_match): Removed.
7515 * stub-objc.c (objc_finish_function): New.
7516 (objc_non_volatilized_type): Removed.
7517 (objc_type_quals_match): Removed.
19931eea 7518
92468061 75192010-11-30 Joseph Myers <joseph@codesourcery.com>
7520
7521 * c-common.h (parse_optimize_options): Declare.
7522 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7523 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7524
967958e4 75252010-11-29 Joseph Myers <joseph@codesourcery.com>
7526
7527 * c-opts.c (check_deps_environment_vars): Use getenv instead of
7528 GET_ENVIRONMENT.
7529 * c-pch.c (O_BINARY): Don't define here.
7530 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7531
b213bf24 75322010-11-25 Joseph Myers <joseph@codesourcery.com>
7533
7534 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7535 targetm.except_unwind_info.
7536
9faf44d6 75372010-11-23 Joseph Myers <joseph@codesourcery.com>
7538
7539 * c-opts.c (c_common_handle_option): Pass location to
7540 set_struct_debug_option.
7541
79396169 75422010-11-23 Joseph Myers <joseph@codesourcery.com>
7543
7544 * c-common.c (visibility_options): Move from ../opts.c.
7545 * c-common.h (struct visibility_flags, visibility_options):
7546 Declare here.
7547 * c-opts.c (finish_options): Rename to c_finish_options.
7548 (c_common_init): Update call to finish_options.
7549
b4aa4123 75502010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
7551
7552 PR objc/34033
7553 * c-lex.c (lex_string): Check that each string in an Objective-C
7554 string concat sequence starts with either one or zero '@', and
7555 that there are no spurious '@' signs at the end.
7556
3e0e49f2 75572010-11-20 Joseph Myers <joseph@codesourcery.com>
7558
7559 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7560 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7561 HANDLE_PRAGMA_VISIBILITY.
7562 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7563 HANDLE_PRAGMA_VISIBILITY): Don't define.
7564 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7565
a9ffdd35 75662010-11-20 Nathan Froyd <froydnj@codesourcery.com>
7567
7568 PR c++/16189
7569 PR c++/36888
7570 PR c++/45331
7571 * c-common.h (keyword_begins_type_specifier): Declare.
7572 (keyword_is_storage_class_specifier): Declare.
7573 (keyword_is_type_qualifier): Declare.
7574 * c-common.c (keyword_begins_type_specifier): New function.
7575 (keyword_is_storage_class_specifier): New function.
7576 (keyword_is_type_qualifier): Declare.
7577
93be21c0 75782010-11-19 Joseph Myers <joseph@codesourcery.com>
7579
7580 PR c/46547
7581 * c-common.c (in_late_binary_op): Define.
7582 (c_common_truthvalue_conversion): Check in_late_binary_op before
7583 calling c_save_expr.
7584 * c-common.h (in_late_binary_op): Declare.
7585
d7175aef 75862010-11-19 Joseph Myers <joseph@codesourcery.com>
7587
7588 * c-opts.c (c_common_handle_option): Update calls to
7589 set_struct_debug_option.
7590
c213e196 75912010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
7592
7593 * c-common.h (objc_declare_protocols): Added additional argument.
7594 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 7595
0b5fc5d6 75962010-11-18 Nathan Froyd <froydnj@codesourcery.com>
7597
7598 PR c/33193
7599 * c-common.h (build_real_imag_expr): Declare.
7600 * c-semantics.c (build_real_imag_expr): Define.
7601
b8ba44e7 76022010-11-17 Joseph Myers <joseph@codesourcery.com>
7603
7604 * c-opts.c (c_common_parse_file): Take no arguments.
7605 * c-common.h (c_common_parse_file): Update prototype.
7606
6ef8d12f 76072010-11-16 Jakub Jelinek <jakub@redhat.com>
7608
7609 PR c++/46401
7610 * c-common.c (warning_candidate_p): Don't track non-const calls
7611 or STRING_CSTs.
7612
929d2a90 76132010-11-15 Ian Lance Taylor <iant@google.com>
7614
7615 * c-lex.c (init_c_lex): Set macro debug callbacks if
7616 flag_dump_go_spec is set.
7617
e4a7640a 76182010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
7619
7620 * c-common.h (objc_build_incr_expr_for_property_ref): New.
7621 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7622
597d2d81 76232010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7624
7625 PR preprocessor/45038
7626 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7627 dialects.
7628
c123f04d 76292010-11-12 Joseph Myers <joseph@codesourcery.com>
7630
7631 * c-common.h (c_family_lang_mask): Declare.
7632 * c-opts.c (c_family_lang_mask): Make extern.
7633 * c-pragma.c (handle_pragma_diagnostic): Use
7634 control_warning_option.
7635
3c6c0e40 76362010-11-12 Joseph Myers <joseph@codesourcery.com>
7637
7638 * c-common.c (parse_optimize_options): Update call to
7639 decode_options.
7640 * c-common.h (c_common_handle_option): Update prototype.
7641 * c-opts.c (c_common_handle_option): Take location_t parameter and
7642 pass it to other functions.
7643
19ec5c9e 76442010-11-11 Joseph Myers <joseph@codesourcery.com>
7645
7646 * c-opts.c (warning_as_error_callback): Remove.
7647 (c_common_initialize_diagnostics): Don't call
7648 register_warning_as_error_callback.
7649 (c_common_handle_option): Handle -Werror=normalized= here.
7650
bf776685 76512010-11-10 Joseph Myers <joseph@codesourcery.com>
7652
7653 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7654 in diagnostic.
7655 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7656 letter.
7657 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7658 Remove trailing '.' from diagnostics.
7659 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7660
6bd9d862 76612010-11-10 Joseph Myers <joseph@codesourcery.com>
7662
7663 * c-common.c (parse_optimize_options): Pass global_dc to
7664 decode_options.
7665 * c-opts.c (c_common_handle_option): Pass &global_options to
7666 set_Wstrict_aliasing.
7667 * c.opt (v): Don't mark Common or document here.
7668
1f6616ee 76692010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7670
7671 PR target/44981
7672 * c-format.c (format_type): New type gcc_objc_string_format_type.
7673 (valid_stringptr_type_p): New.
7674 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 7675 (check_format_string): Pass expected type, use
1f6616ee 7676 valid_stringptr_type_p (), check that the format string types are
7677 consistent with the format specification.
7678 (decode_format_attr): Warn if NSString is used outside objective-c.
7679 (format_types_orig): Add NSString.
7680 (format_name): New.
7681 (format_flags): New.
7682 (check_format_arg): Handle format strings requiring an external parser.
7683 first_target_format_type: New variable.
7684 (handle_format_attribute): Set up first_target_format_type, pass the
7685 expected format arg string type to check_format_string().
7686 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7687 * stub-objc.c (objc_string_ref_type_p): New.
7688 (objc_check_format_arg): New.
7689
b0d0931f 76902010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7691
19931eea 7692 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 7693 * c-common.h (objc_build_class_component_ref): New.
7694 * stub-objc.c (objc_build_class_component_ref): New.
7695
f26877d5 76962010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7697
7698 * c.opt (Wproperty-assign-default): New option.
7699
1ef143b6 77002010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7701
7702 Implemented -fobjc-std=objc1 flag.
7703 * c.opt (fobjc-std=objc1): New option.
7704
8c582e4f 77052010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7706
7707 Implemented format and noreturn attributes for Objective-C methods.
7708 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7709 attribute for Objective-C methods.
7710
8637f1db 77112010-10-31 Jason Merrill <jason@redhat.com>
7712
7713 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7714 EXPR_LOC_OR_HERE.
7715
9d9f5bb3 77162010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7717
7718 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7719 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7720 (objc_add_property_declaration): Removed arguments for copies and
7721 ivar.
7722 (objc_build_getter_call): Renamed to
7723 objc_maybe_build_component_ref.
7724 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7725 (objc_is_property_ref): New.
7726 * c-common.c (c_common_reswords): Removed copies and ivar.
7727 * stub-objc.c (objc_add_property_declaration): Removed arguments
7728 for copies and ivar.
7729 (objc_build_getter_call): Renamed to
7730 objc_maybe_build_component_ref.
7731 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7732 (objc_is_property_ref): New.
19931eea 7733
56f907a0 77342010-10-29 Arnaud Charlet <charlet@adacore.com>
7735 Matthew Gingell <gingell@adacore.com>
7736
7737 * c-ada-spec.c (separate_class_package): New function.
7738 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7739 name of their enclosing package.
7740 (print_ada_declaration): Use separate_class_package.
7741
b5fa273e 77422010-10-27 Jason Merrill <jason@redhat.com>
7743
5290e253 7744 * c-common.c (c_common_reswords): Add __is_literal_type.
7745 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7746
b5fa273e 7747 * c-common.c (check_case_value): Remove special C++ code.
7748
7590f0e5 77492010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7750
7751 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7752 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7753 and RID_LAST_PATTR.
7754 (objc_add_property_declaration): Added additional arguments.
7755 (objc_property_attribute_kind): Removed.
7756 (objc_set_property_attr): Removed.
7757 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7758 copy and nonatomic.
7759 * stub-objc.c (objc_add_property_declaration): Added additional
7760 arguments.
7761 (objc_set_property_attr): Removed.
19931eea 7762
1d894bcf 77632010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7764
7765 * c-common.h (objc_add_property_variable): Renamed to
7766 objc_add_property_declaration. Added location argument.
7767 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 7768
e23bf1fb 77692010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7770
7771 * c-common.h (objc_maybe_printable_name): New.
7772 * stub-objc.c (objc_maybe_printable_name): New.
7773
92a44a68 77742010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7775 Andrew Pinski <pinskia@gmail.com>
93426222 7776
7777 * c-common.h (c_common_mark_addressable_vec): Declare.
7778 * c-common.c (c_common_mark_addressable_vec): New function.
7779
45b2b110 77802010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7781
7782 * c-common.h (objc_set_method_type): Removed.
7783 (objc_add_method_declaration): Added boolean argument.
7784 (objc_start_method_definition): Same change.
7785 (objc_build_method_signature): Same change.
7786 * stub-objc.c (objc_set_method_type): Removed.
7787 (objc_add_method_declaration): Added boolean argument.
7788 (objc_start_method_definition): Same change.
7789 (objc_build_method_signature): Same change.
7790
64cd9619 77912010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7792
7793 * c-common.h (finish_file): Removed.
7794 (objc_write_global_declarations): New.
7795 * c-opts.c (c_common_parse_file): Do not call finish_file.
7796 * stub-objc.c (objc_write_global_declarations): New.
19931eea 7797
e1f293c0 77982010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7799
7800 Implemented parsing @synthesize and @dynamic for
7801 Objective-C/Objective-C++.
7802 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7803 (objc_add_synthesize_declaration): New.
7804 (objc_add_dynamic_declaration): New.
7805 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7806 * stub-objc.c (objc_add_synthesize_declaration): New.
7807 (objc_add_dynamic_declaration): New.
19931eea 7808
ef97a312 78092010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7810
7811 PR target/46041
7812 * c-cppbuiltin.c (mode_has_fma): Move function here from
7813 builtins.c. Don't use the fma optab, instead just use the
7814 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7815 using -save-temps.
7816
69b07042 78172010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7818
7819 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 7820
92a44a68 7821 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 7822
19931eea 7823 Radar 4330422
69b07042 7824 * c-common.h (objc_non_volatilized_type): New declaration
7825 * stub-objc.c (objc_non_volatilized_type): New stub.
7826
f15f2e56 78272010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7828
69b07042 7829 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 7830
92a44a68 7831 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 7832
19931eea 7833 Radar 4133425
f15f2e56 7834 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 7835 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 7836
4a8875ed 78372010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7838
7839 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7840 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7841 (objc_ivar_visibility_kind): New enum.
7842 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 7843 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 7844 visibility enum.
7845
7e0713b1 78462010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7847
7848 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7849 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7850 has the appropriate fma builtins.
7851 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7852
86c110ac 78532010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7854
7e0713b1 7855 merge from FSF apple 'trunk' branch.
92a44a68 7856 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 7857
86c110ac 7858 Radars 4436866, 4505126, 4506903, 4517826
7859 * c-common.c (c_common_resword): Define @property and its attributes.
7860 * c-common.h: Define property attribute enum entries.
7861 (OBJC_IS_PATTR_KEYWORD): New.
7862 (objc_property_attribute_kind): New enum.
7863 Declare objc_set_property_attr (), objc_add_property_variable (),
7864 objc_build_getter_call () and objc_build_setter_call ().
7865 * stub-objc.c (objc_set_property_attr): New stub.
7866 (objc_add_property_variable): Likewise.
7867 (objc_build_getter_call): Likewise.
7868 (objc_build_setter_call) Likewise.
7e0713b1 7869
40c8d1dd 78702010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7871
7e0713b1 7872 merge from FSF apple 'trunk' branch.
92a44a68 7873 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 7874
7875 Radar 3803157 (method attributes)
7876 * c-common.c (handle_deprecated_attribute): Recognize
7877 objc methods as valid declarations.
7878 * c-common.h: Declare objc_method_decl ().
7e0713b1 7879 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 7880
f3f006ad 78812010-10-08 Joseph Myers <joseph@codesourcery.com>
7882
7883 * c-common.c (parse_optimize_options): Call
7884 decode_cmdline_options_to_array_default_mask before
7885 decode_options. Update arguments to decode_options.
7886 * c-common.h (c_common_init_options_struct): Declare.
7887 * c-opts.c (c_common_init_options_struct): New. Split out from
7888 c_common_init_options.
7889
0a65c3bb 78902010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7891
7892 Implemented fast enumeration for Objective-C.
7893 * c-common.h (objc_finish_foreach_loop): New.
7894 * stub-objc.c (objc_finish_foreach_loop): New.
7895
24ca3b4e 78962010-10-05 Joseph Myers <joseph@codesourcery.com>
7897
7898 * c-common.h (struct diagnostic_context): Don't declare here.
7899 (c_common_initialize_diagnostics): Declare using
7900 diagnostic_context typedef.
7901 * c-opts.c (c_common_handle_option): Pass global_dc to
7902 handle_generated_option.
7903
f83b64ca 79042010-10-04 Joseph Myers <joseph@codesourcery.com>
7905
7906 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7907 handle_generated_option.
7908
2fdec027 79092010-10-03 Ian Lance Taylor <iant@google.com>
7910
7911 * c.opt (-fplan9-extensions): New option.
7912
41acdfa4 79132010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7914
7915 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7916 Remove.
7917 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7918 of duplicating code.
7919
069761fb 79202010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7921
7922 * c-common.c: Add two new entries for @optional
7923 and @required keywords.
7924
7925 merge from FSF 'apple/trunk' branch.
92a44a68 7926 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 7927
7928 Radar 4386773
7929 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7930 objective-c keywords.
7931 (objc_set_method_opt): New declaration.
7932 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 7933
2c5d2e39 79342010-09-30 Joseph Myers <joseph@codesourcery.com>
7935
7936 * c-common.c (handle_optimize_attribute): Pass &global_options to
7937 cl_optimization_save and cl_optimization_restore.
7938 * c-opts.c (c_common_handle_option): Pass &global_options to
7939 handle_generated_option.
7940 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7941 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7942 &global_options to cl_optimization_restore.
7943
e5c75ac3 79442010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7945
7946 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7947 Objective-C/Objective-C++ keywords.
7948
3511333e 79492010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 7950
19931eea 7951 Merge from 'apple/trunk' branch on FSF servers.
7952
92a44a68 7953 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 7954
7955 Radar 4281748
7956 * c-common.h (objc_check_global_decl): New declaration.
7957 * stub-objc.c (objc_check_global_decl): New stub.
7958
5461e683 79592010-09-29 Joseph Myers <joseph@codesourcery.com>
7960
7961 * c.opt: Don't use VarExists.
7962
5ae82d58 79632010-09-29 Joseph Myers <joseph@codesourcery.com>
7964
7965 * c-common.c (c_cpp_error): Update names of diagnostic_context
7966 members.
7967 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7968 cl_optimization members.
7969 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7970 sanitize_cpp_opts, finish_options): Update names of cpp_options
7971 members.
7972
b27e241e 79732010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7974
7975 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7976 (objc_is_reserved_word): Removed.
7977 * c-common.c: Updated comments.
7978 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7979 objc_is_reserved_word.
7980 * stub-objc.c (objc_is_reserved_word): Removed.
7981
03fc2271 79822010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7983
19931eea 7984 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 7985 include attributes.
7986 (objc_start_method_definition): Likewise.
7987 (objc_build_keyword_decl): Likewise.
7988 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7989 (objc_start_method_definition): Likewise.
7990 (objc_build_keyword_decl): Likewise.
7991
a336eb4b 79922010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7993
7994 * c-common.h (objc_start_class_interface): Adjust prototype.
7995 (objc_start_category_interface): Likewise.
7996 (objc_start_protocol): Likewise.
7997 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7998 (objc_start_class_interface): Likewise.
7999 (objc_start_category_interface): Likewise.
8000
48b14f50 80012010-09-27 Ian Lance Taylor <iant@google.com>
8002
8003 * c-common.c (c_common_attribute_table): Add no_split_stack.
8004 (handle_no_split_stack_attribute): New static function.
8005
4abfc532 80062010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
8007
19931eea 8008 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 8009
92a44a68 8010 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 8011
19931eea 8012 Radar 4229905
4abfc532 8013 * c-common.h (objc_have_common_type): New declaration.
8014 * stub-objc.c (objc_have_common_type): New stub.
8015
8016 2005-06-22 Ziemowit Laski <zlaski@apple.com>
8017
8018 Radar 4154928
8019 * c-common.h (objc_common_type): New prototype.
19931eea 8020 * stub-objc.c (objc_common_type): New stub.
4abfc532 8021
7bd95dfd 80222010-09-24 Jan Hubicka <jh@suse.cz>
8023
8024 * c-common.c (handle_leaf_attribute): New function.
8025 (struct attribute_spec c_common_att): Add leaf.
8026
5789e05b 80272010-09-22 Joseph Myers <joseph@codesourcery.com>
8028
8029 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
8030 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
8031 -dump, -dump=, -imacros, -imacros=, -include, -include=,
8032 -include-barrier, -include-directory, -include-directory=,
8033 -include-directory-after, -include-directory-after=,
8034 -include-prefix, -include-prefix=, -include-with-prefix,
8035 -include-with-prefix=, -include-with-prefix-after,
8036 -include-with-prefix-after=, -include-with-prefix-before,
8037 -include-with-prefix-before=, -no-integrated-cpp,
8038 -no-line-commands, -no-standard-includes, -no-warnings, -output,
8039 -output=, -pedantic, -pedantic-errors, -preprocess,
8040 -print-missing-file-dependencies, -trace-includes, -traditional,
8041 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
8042 -user-dependencies, -verbose, -write-dependencies,
8043 -write-user-dependencies, no-integrated-cpp, traditional): New.
8044
e6fb54ba 80452010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8046
8047 PR objc/23710
9b60f3b0 8048 * c-common.h (objc_start_method_definition): Return bool instead
8049 of void.
8050 * stub-objc.c (objc_start_method_definition): Return bool instead
8051 of void.
8052
80532010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8054
8055 PR objc/25965
8056 * c-common.h (objc_get_interface_ivars): New declaration.
8057 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 8058
e44b0a1f 80592010-09-15 Ian Lance Taylor <iant@google.com>
8060
8061 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 8062 messages. Remove period at end of warning message.
e44b0a1f 8063
85c0a25c 80642010-09-09 Nathan Sidwell <nathan@codesourcery.com>
8065
8066 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
8067 (handle_alias_attribute): ... here.
8068 (handle_ifunc_attribute): New.
8069
5ba33bf4 80702010-09-06 Mark Mitchell <mark@codesourcery.com>
8071
8072 * c-common.h (do_warn_double_promotion): Declare.
8073 * c-common.c (do_warn_double_promotion): Define.
8074
c920faa3 80752010-09-05 Mark Mitchell <mark@codesourcery.com>
8076
8077 * c.opt (Wdouble-promotion): New.
8078
9604e070 80792010-09-02 Joseph Myers <joseph@codesourcery.com>
8080
8081 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
8082 fvtable-thunks, fxref): Mark no longer supported in help text.
8083
3b0273a1 80842010-09-02 Joseph Myers <joseph@codesourcery.com>
8085
8086 * c.opt (Wimport, fall-virtual, falt-external-templates,
8087 fdefault-inline, fenum-int-equiv, fexternal-templates,
8088 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
8089 fname-mangling-version-, fnew-abi, fnonnull-objects,
8090 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
8091 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
8092 applicable.
8093 (fhandle-exceptions): Mark with Alias and Warn.
8094 * c-opts.c (c_common_handle_option): Don't handle options marked
8095 as ignored.
8096
67089c6b 80972010-09-02 Joseph Myers <joseph@codesourcery.com>
8098
8099 * c.opt (Wcomments, Werror-implicit-function-declaration,
8100 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
8101 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
8102 aliases.
8103 * c-common.c (option_codes): Use OPT_Wcomment instead of
8104 OPT_Wcomments.
8105 * c-opts.c (warning_as_error_callback, c_common_handle_option):
8106 Don't handle options marked as aliases.
8107
2af087f2 81082010-08-25 Richard Guenther <rguenther@suse.de>
8109
8110 * c-common.c (c_common_get_alias_set): Remove special
8111 handling for pointers.
8112
48148244 81132010-08-20 Nathan Froyd <froydnj@codesourcery.com>
8114
8115 * c-common.c: Use FOR_EACH_VEC_ELT.
8116 * c-gimplify.c: Likewise.
8117 * c-pragma.c: Likewise.
8118
89c69892 81192010-08-16 Joseph Myers <joseph@codesourcery.com>
8120
8121 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
8122 RejectDriver.
8123 (MMDX): Change back to MMD. Mark NoDriverArg instead of
8124 RejectDriver.
8125 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
8126 instead of OPT_MDX and OPT_MMDX.
8127
e28aa114 81282010-08-16 Joseph Myers <joseph@codesourcery.com>
8129
8130 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
8131
99b66d21 81322010-08-12 Joseph Myers <joseph@codesourcery.com>
8133
8134 * c.opt (MD, MMD): Change to MDX and MMDX.
8135 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
8136
666f4bf0 81372010-08-11 Joseph Myers <joseph@codesourcery.com>
8138
8139 * c-opts.c (c_common_handle_option): Call handle_generated_option
8140 instead of handle_option.
8141
5ec815f6 81422010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8143
8144 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
8145 (maybe_apply_renaming_pragma): Delete unneeded declarations.
8146
d13143cf 81472010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8148
8149 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
8150 (pending_redefine_extname): Change type to a VEC.
8151 (add_to_renaming_pragma_list): Update for new type of
8152 pending_redefine_extname.
5ec815f6 8153 (maybe_apply_renaming_pragma): Likewise.
d13143cf 8154
2008c983 81552010-08-04 Arnaud Charlet <charlet@adacore.com>
8156
8157 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
8158 visited.
8159 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
8160 decide whether a type has already been declared/seen.
8161 Do not go to the original type.
8162 (dump_nested_types): New parameter forward.
8163 Generate forward declaration if needed and mark type as visited.
8164 (print_ada_declaration): Call dump_nested_types if not already done.
8165 Mark types as visited.
8166
9b091a73 81672010-08-03 Joseph Myers <joseph@codesourcery.com>
8168
8169 * c.opt (-print-pch-checksum): Remove option.
8170 * c-opts.c (c_common_handle_option): Don't handle
8171 OPT_print_pch_checksum.
8172
b78351e5 81732010-07-27 Joseph Myers <joseph@codesourcery.com>
8174
8175 * c-common.h (c_common_handle_option): Update prototype and return
8176 value type.
8177 * c-opts.c (c_common_handle_option): Update prototype and return
8178 value type. Update calls to handle_option and
8179 enable_warning_as_error.
8180
34416a90 81812010-07-27 Jakub Jelinek <jakub@redhat.com>
8182
8183 PR c/45079
8184 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
8185
fecf9011 81862010-07-27 Joseph Myers <joseph@codesourcery.com>
8187
8188 * c-common.h (c_common_missing_argument): Remove.
8189 * c-opts.c (c_common_missing_argument): Remove.
8190 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
8191 idirafter, imacros, include, isysroot, isystem, iquote): Add
8192 MissingArgError.
8193 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
8194
e88d34f6 81952010-07-27 Joseph Myers <joseph@codesourcery.com>
8196
8197 * c-common.h (c_common_option_lang_mask,
8198 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
8199 New.
8200 (c_common_init_options): Update prototype.
8201 * c-opts.c (c_common_option_lang_mask): New.
8202 (c_common_initialize_diagnostics): Split out of
8203 c_common_init_options.
8204 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
8205 New.
8206 (c_common_init_options): Update prototype. Use decoded options in
8207 search for -lang-asm.
8208
1767a056 82092010-07-15 Nathan Froyd <froydnj@codesourcery.com>
8210
8211 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
8212 * c-format.c: Likewise.
8213
0b205f4c 82142010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
8215
8216 * c-common.h: Include diagnostic-core.h. Error if already
8217 included.
8218 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
8219
1c58e3f1 82202010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8221
1f78217c 8222 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 8223 Do not include expr.h
8224 (vector_mode_valid_p): Move here.
8225
33cc157c 82262010-06-21 DJ Delorie <dj@redhat.com>
8227
8228 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
8229 allow these pragmas anywhere.
8230
82312010-06-14 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR bootstrap/44509
8234 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
8235 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
8236 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
8237 ggc_strdup instead of xstrdup.
8238
82392010-06-10 Jakub Jelinek <jakub@redhat.com>
8240
8241 * c-cppbuiltin.c: Include cpp-id-data.h.
8242 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
8243 (lazy_hex_fp_value): New function.
8244 (builtin_define_with_hex_fp_value): Provide definitions lazily.
8245
9b40bfbf 82462010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8247
8248 * c-gimplify.c: Do not include tree-flow.h
8249
202d6e5f 82502010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
8251
8252 PR other/44034
8253 * c-common.c: Rename targetm member:
8254 targetm.enum_va_list -> targetm.enum_va_list_p
8255
d3237426 82562010-06-28 Anatoly Sokolov <aesok@post.ru>
8257
8258 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
8259
596981c8 82602010-06-28 Steven Bosscher <steven@gcc.gnu.org>
8261
8262 * c-cppbuiltin.c: Do not include except.h.
8263
b9bdfa0b 82642010-06-24 Andi Kleen <ak@linux.intel.com>
8265
19931eea 8266 * c-common.c (warn_for_omitted_condop): New.
8267 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 8268
55ad092d 82692010-06-21 Joseph Myers <joseph@codesourcery.com>
8270
8271 * c.opt (lang-objc): Remove.
8272 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
8273
9e7c2572 82742010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
8275
8276 * c-opts.c: Include "tm_p.h".
8277
615ef0bb 82782010-06-20 Joseph Myers <joseph@codesourcery.com>
8279
8280 * c-common.c (parse_optimize_options): Update call to
8281 decode_options.
8282
aef48c9a 82832010-06-18 Nathan Froyd <froydnj@codesourcery.com>
8284
8285 * c-common.c (record_types_used_by_current_var_decl): Adjust for
8286 new type of types_used_by_cur_var_decl.
8287
d74003b4 82882010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
8289
8290 PR bootstrap/44512
8291 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
8292 for C++ standard compliance.
8293
1194d077 82942010-06-16 Jason Merrill <jason@redhat.com>
8295
8296 * c.opt: Add -Wnoexcept.
8297
d473d901 82982010-06-16 Richard Guenther <rguenther@suse.de>
8299
8300 PR c/44555
8301 * c-common.c (c_common_truthvalue_conversion): Remove
8302 premature and wrong optimization concering ADDR_EXPRs.
8303
b62dbfd3 83042010-06-15 Arnaud Charlet <charlet@adacore.com>
8305
8306 * c-ada-spec.c (dump_sloc): Remove column info.
8307 (is_simple_enum): New function.
8308 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
8309 enum types when relevant.
8310
200dd99c 83112010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8312
19931eea 8313 * c-common.c (conversion_warning): Warn at expression
200dd99c 8314 location.
8315
abf6a617 83162010-06-10 Joseph Myers <joseph@codesourcery.com>
8317
8318 * c-opts.c (c_common_handle_option): Don't handle
8319 OPT_fshow_column.
8320
ba72912a 83212010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
8322
8323 * c-pragma.c (push_alignment): Use typed GC allocation.
8324 (handle_pragma_push_options): Likewise.
8325
8326 * c-common.c (parse_optimize_options): Likewise.
8327
8328 * c-common.h (struct sorted_fields_type): Add variable_size GTY
8329 option.
8330
4aafe913 83312010-06-07 Joseph Myers <joseph@codesourcery.com>
8332
8333 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
8334 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8335 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8336 flag_signed_bitfields, warn_strict_null_sentinel,
8337 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8338 flag_gen_declaration, flag_no_gnu_keywords,
8339 flag_implement_inlines, flag_implicit_templates,
8340 flag_implicit_inline_templates, flag_optional_diags,
8341 flag_elide_constructors, flag_default_inline, flag_rtti,
8342 flag_conserve_space, flag_access_control, flag_check_new,
8343 flag_new_for_scope, flag_weak, flag_working_directory,
8344 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8345 flag_enforce_eh_specs, flag_threadsafe_statics,
8346 flag_pretty_templates): Remove.
8347 * c-common.h (flag_preprocess_only, flag_nil_receivers,
8348 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8349 flag_replace_objc_classes, flag_undef, flag_no_builtin,
8350 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8351 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8352 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8353 flag_no_gnu_keywords, flag_implement_inlines,
8354 flag_implicit_templates, flag_implicit_inline_templates,
8355 flag_optional_diags, flag_elide_constructors, flag_default_inline,
8356 flag_rtti, flag_conserve_space, flag_access_control,
8357 flag_check_new, flag_new_for_scope, flag_weak,
8358 flag_working_directory, flag_use_cxa_atexit,
8359 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8360 flag_threadsafe_statics, flag_pretty_templates,
8361 warn_strict_null_sentinel): Remove.
8362 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8363 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8364 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8365 fimplicit-inline-templates, fimplicit-templates,
8366 flax-vector-conversions, fms-extensions, fnil-receivers,
8367 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8368 frtti, fshort-double, fshort-enums, fshort-wchar,
8369 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8370 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8371 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8372 gen-decls, undef): Use Var.
8373 (fdefault-inline, foptional-diags): Document as doing nothing.
8374 * c-opts.c (c_common_handle_option): Remove cases for options now
8375 using Var. Mark ignored options as such.
8376
7bedc3a0 83772010-06-05 Steven Bosscher <steven@gcc.gnu.org>
8378
19931eea 8379 * c-common.c: Moved to here from parent directory.
7bedc3a0 8380 * c-common.def: Likewise.
8381 * c-common.h: Likewise.
8382 * c-cppbuiltin.c: Likewise.
8383 * c-dump.c: Likewise.
8384 * c-format.c: Likewise.
8385 * c-format.h : Likewise.
8386 * c-gimplify.c: Likewise.
8387 * c-lex.c: Likewise.
8388 * c-omp.c: Likewise.
8389 * c.opt: Likewise.
8390 * c-opts.c: Likewise.
8391 * c-pch.c: Likewise.
8392 * c-ppoutput.c: Likewise.
8393 * c-pragma.c: Likewise.
8394 * c-pragma.h: Likewise.
8395 * c-pretty-print.c: Likewise.
8396 * c-pretty-print.h: Likewise.
8397 * c-semantics.c: Likewise.
8398 * stub-objc.c: Likewise.
8399
8400 * c-common.c: Include gt-c-family-c-common.h.
8401 * c-pragma.c: Include gt-c-family-c-pragma.h.
8402\f
aad93da1 8403Copyright (C) 2010-2017 Free Software Foundation, Inc.
7bedc3a0 8404
8405Copying and distribution of this file, with or without modification,
8406are permitted in any medium without royalty provided the copyright
8407notice and this notice are preserved.