]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix typos and whitespace errors.
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
7d386d45
JJ
12017-09-29 Jakub Jelinek <jakub@redhat.com>
2
3 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
4 rather than DECL_INITIAL.
5 (common_handle_aligned_attribute): Likewise.
6
9ed32e27
AO
72017-09-20 Alexandre Oliva <aoliva@redhat.com>
8
9 * c.opt (gen-decls): Add RejectNegative.
10
026a79f7
AS
112017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
12 Jakub Jelinek <jakub@redhat.com>
13
14 Add support for -std=c++2a.
15 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
16 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
17 * c-opts.c (set_std_cxx2a): New.
18 (c_common_handle_option): Set options when -std=c++2a is enabled.
19 (c_common_post_options): Adjust comments.
20 (set_std_cxx14, set_std_cxx17): Likewise.
21
4a8ca690
EB
222017-09-15 Eric Botcazou <ebotcazou@adacore.com>
23
24 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
25 message for non-uniform endianness and issue a warning in C++.
26
7b936140
JJ
272017-09-15 Jakub Jelinek <jakub@redhat.com>
28
29 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
30 (Wc++17-compat): Change from undocumented alias to option.
31 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
32 change C++1z to C++17 in description.
33 (std=c++1z, std=gnu++1z): Change from option to undocumented
34 deprecated alias.
35 (std=c++17, std=gnu++17): Change from undocumented alias to option.
36 Adjust description.
37 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
38 * c-opts.c (set_std_cxx1z): Rename to ...
39 (set_std_cxx17): ... this.
40 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
41 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
42 caller.
43 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
44 comments.
45
12263f13
L
462017-09-12 H.J. Lu <hongjiu.lu@intel.com>
47
48 * c-attribs.c (common_handle_aligned_attribute): Don't warn
49 function alignment if warn_if_not_aligned_p is true.
50
6836632e
NS
512017-09-12 Nathan Sidwell <nathan@acm.org>
52
53 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
54 resort_sorted_fields): Move to c/c-decl.c.
55 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
56 (struct sorted_fields_type): Move to c/c-lang.h.
57
019bf9ad
JW
582017-09-09 Jonathan Wakely <jwakely@redhat.com>
59
60 PR c++/81852
61 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
62
bc7fe952
MP
632017-09-04 Marek Polacek <polacek@redhat.com>
64
65 PR c/81783
66 * c-warn.c (warn_tautological_bitwise_comparison): New function.
67 (warn_tautological_cmp): Call it.
68
de7c2c6a
BK
692017-09-01 Boris Kolpackov <boris@codesynthesis.com>
70
71 * c-opts.c (c_common_finish): Write dependency information even if
72 there are errors.
73
d2e05fcb
JJ
742017-09-01 Jakub Jelinek <jakub@redhat.com>
75
76 PR c/81887
77 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
78 (omp_pragmas_simd): ... here.
79 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
80 create new clauses list containing just simd clause.
81
18e2a8b8
RS
822017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
83 Alan Hayward <alan.hayward@arm.com>
84 David Sherwood <david.sherwood@arm.com>
85
86 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
87 into scalar_mode_supported_p call.
88 (handle_mode_attribute): Update call to scalar_mode_supported_p.
89
16d22000
RS
902017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
91 Alan Hayward <alan.hayward@arm.com>
92 David Sherwood <david.sherwood@arm.com>
93
94 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
95 for the mode iterator.
96
b397965c
RS
972017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
98 Alan Hayward <alan.hayward@arm.com>
99 David Sherwood <david.sherwood@arm.com>
100
101 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
102 * c-common.c (c_build_vec_perm_expr): Likewise.
103
357b7604
RS
1042017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
105 Alan Hayward <alan.hayward@arm.com>
106 David Sherwood <david.sherwood@arm.com>
107
108 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
109
e05c94ba
RS
1102017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
111 Alan Hayward <alan.hayward@arm.com>
112 David Sherwood <david.sherwood@arm.com>
113
114 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
115 before calling targetm.addr_space.valid_pointer_mode.
116
5c20c4af
RS
1172017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
118 Alan Hayward <alan.hayward@arm.com>
119 David Sherwood <david.sherwood@arm.com>
120
121 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
122
c94843d2
RS
1232017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
124 Alan Hayward <alan.hayward@arm.com>
125 David Sherwood <david.sherwood@arm.com>
126
127 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
128 iterators.
129 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
130
4e10a5a7
RS
1312017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
132 Alan Hayward <alan.hayward@arm.com>
133 David Sherwood <david.sherwood@arm.com>
134
135 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
136 case statements.
137
130fcab0
ML
1382017-08-29 Martin Liska <mliska@suse.cz>
139
140 PR other/39851
141 * c-common.c (parse_optimize_options): Add argument to function
142 call.
143 * c-pragma.c (handle_pragma_diagnostic): Likewise.
144
14e18d71
DM
1452017-08-24 David Malcolm <dmalcolm@redhat.com>
146
147 * c-lex.c (interpret_float): Use token location
148 when building an EXCESS_PRECISION_EXPR.
149
2f687306
DM
1502017-08-21 David Malcolm <dmalcolm@redhat.com>
151
152 * c-common.c (check_function_arguments): Add "arglogs" param; pass
153 it to check_function_format.
154 * c-common.h (check_function_arguments): Add vec<location_t> *
155 param.
156 (check_function_format): Likewise.
157 * c-format.c (struct format_check_context): Add field "arglocs".
158 (check_function_format): Add param "arglocs"; pass it to
159 check_format_info.
160 (check_format_info): Add param "arglocs"; use it to initialize
161 new field of format_ctx.
162 (check_format_arg): Pass format_ctx->arglocs to new param of
163 check_format_info_main.
164 (class argument_parser): New field "arglocs".
165 (argument_parser::argument_parser): Add "arglocs_" param and use
166 it to initialize new field.
167 (argument_parser::check_argument_type): Pass new arglocs field to
168 check_format_types.
169 (check_format_info_main): Add param "arglocs", and use it when
170 constructing arg_parser.
171 (check_format_types): Add param "arglocs"; use it if non-NULL when
172 !EXPR_HAS_LOCATION (cur_param) to get at location information.
173
00aa1fa2
L
1742017-08-18 H.J. Lu <hongjiu.lu@intel.com>
175
176 PR c/53037
177 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
178 (c_common_attribute_table): Add warn_if_not_aligned.
179 (handle_aligned_attribute): Renamed to ...
180 (common_handle_aligned_attribute): Remove argument, name, and add
181 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
182 (handle_aligned_attribute): New.
183 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
184
27be025d
MS
1852017-08-14 Martin Sebor <msebor@redhat.com>
186
187 PR c/81117
188 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
189 (handle_nonstring_attribute): New function.
190
da67acb9
MS
1912017-08-14 Martin Sebor <msebor@redhat.com>
192
193 PR c/81117
194 * c-format.h (T89_G): New macro.
195 * c-format.c (local_gcall_ptr_node): New variable.
196 (init_dynamic_diag_info): Initialize it.
197
a8b522b4
ML
1982017-08-11 Martin Liska <mliska@suse.cz>
199
200 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
201 TARGET_SUPPORTS_ALIASES.
202
32129a17
DM
2032017-08-10 David Malcolm <dmalcolm@redhat.com>
204
205 * c-common.c (c_parse_error): Add rich_location * param, using it
206 rather implicitly using input_location.
207 * c-common.h (c_parse_error): Add rich_location * param.
208
30af3a2b
MP
2092017-08-09 Marek Polacek <polacek@redhat.com>
210
211 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
212 (c_common_truthvalue_conversion): Likewise.
213 * c-omp.c (c_finish_omp_atomic): Likewise.
214 * c-common.h (build_binary_op): Update declaration.
215
314e6352
ML
2162017-08-08 Martin Liska <mliska@suse.cz>
217
218 * c-ada-spec.c: Include header files.
219 * c-ubsan.c: Likewise.
220 * c-warn.c: Likewise.
221
56b5041c
JJ
2222017-08-07 Jakub Jelinek <jakub@redhat.com>
223
224 PR c/69389
225 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
226
db440138
EB
2272017-08-07 Eric Botcazou <ebotcazou@adacore.com>
228
229 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
230 (print_ada_methods): Likewise.
231 (print_ada_declaration): Likewise.
232
577eec56
ML
2332017-08-07 Martin Liska <mliska@suse.cz>
234
235 * array-notation-common.c: Add new includes.
236 * c-format.c( handle_format_attribute): Canonicalize a format
237 function name.
238 * c-lex.c (c_common_has_attribute): Canonicalize name of an
239 attribute.
240 * c-pretty-print.c: Add new include.
241
b854df3c
EB
2422017-08-05 Eric Botcazou <ebotcazou@adacore.com>
243
244 * c-ada-spec.c (has_static_fields): Look only into variables.
245 (print_constructor): Add TYPE parameter and use it for the name.
246 (print_destructor): Likewise.
247 (print_ada_declaration): Adjust to new constructor/destructor names.
248 Adjust calls to print_constructor and print_destructor.
249 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
250 Look only into variables in the final loop.
251
9f2cb25e
EB
2522017-08-01 Eric Botcazou <ebotcazou@adacore.com>
253
254 * c-ada-spec.c (has_static_fields): Look only into fields.
255 (dump_generic_ada_node): Small tweak.
256 (dump_nested_types): Look only into fields.
257 (print_ada_declaration): Look only into methods. Small tweak.
258 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
259
f4bcd9eb
EB
2602017-08-01 Eric Botcazou <ebotcazou@adacore.com>
261
262 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
263 (dump_ada_function_declaration): Likewise.
264 (dump_generic_ada_node): Likewise.
265 (print_ada_declaration): Add support for const-qualified variables.
266
f34ebeb2
ML
2672017-07-31 Martin Liska <mliska@suse.cz>
268
269 PR sanitize/81530
270 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
271 Guard condition with flag_sanitize_p also with current_function_decl
272 non-null equality.
273 (ubsan_maybe_instrument_reference_or_call): Likewise.
274
218e5d04
UB
2752017-07-30 Uros Bizjak <ubizjak@gmail.com>
276
277 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
278
942047f2
EB
2792017-07-29 Eric Botcazou <ebotcazou@adacore.com>
280
281 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
282 for enumeral types.
283 (print_ada_declaration): Add missing guard for record types.
284
a40ff0ae
JJ
2852017-07-27 Jakub Jelinek <jakub@redhat.com>
286
287 PR c/45784
288 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
289 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
290 new COMPOUND_EXPRs around the rhs of the comparison.
291
06bd22f6
MP
2922017-07-27 Marek Polacek <polacek@redhat.com>
293
294 PR c/81417
295 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
296 the types.
297
036ea399
JJ
2982017-07-27 Jakub Jelinek <jakub@redhat.com>
299
300 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
301 (handle_noipa_attribute): New function.
302
417ca011
TD
3032017-07-07 Torsten Duwe <duwe@suse.de>
304
305 * c-attribs.c (c_common_attribute_table): Add entry for
306 "patchable_function_entry".
307
5aaa8fb4
NS
3082017-07-20 Nathan Sidwell <nathan@acm.org>
309
310 Remove TYPE_METHODS.
311 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
312 dump_ada_template, print_ada_methods,
313 print_ada_declaration): Member fns are on TYPE_FIELDS.
314
ff22eb12
NS
3152017-07-18 Nathan Sidwell <nathan@acm.org>
316
317 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
318
eea77d1f
DM
3192017-07-14 David Malcolm <dmalcolm@redhat.com>
320
321 * c-common.c (try_to_locate_new_include_insertion_point): New
322 function.
323 (per_file_includes_t): New typedef.
324 (added_includes_t): New typedef.
325 (added_includes): New variable.
326 (maybe_add_include_fixit): New function.
327 * c-common.h (maybe_add_include_fixit): New decl.
328
281ac396
MS
3292017-07-10 Martin Sebor <msebor@redhat.com>
330
331 PR other/81345
332 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
333
b6f43128
DM
3342017-07-06 David Malcolm <dmalcolm@redhat.com>
335
336 * c-common.c (selftest::c_family_tests): New.
337 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
338 (selftest::c_family_tests): New decl.
339
efbf55b0
MP
3402017-07-04 Marek Polacek <polacek@redhat.com>
341
342 PR c/81231
343 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
344 types.
345
6c86bd88
MP
3462017-07-04 Marek Polacek <polacek@redhat.com>
347
348 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
349
17a7218b
ML
3502017-06-28 Martin Liska <mliska@suse.cz>
351
352 PR ipa/81128
353 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
354 to a function declaration.
355
63010089
ML
3562017-06-28 Martin Liska <mliska@suse.cz>
357
358 PR driver/79659
359 * c.opt: Add IntegerRange to various options.
360
3e2becc4
MP
3612017-06-26 Marek Polacek <polacek@redhat.com>
362
363 PR c/80116
364 * c-common.h (warn_for_multistatement_macros): Declare.
365 * c-warn.c: Include "c-family/c-indentation.h".
366 (warn_for_multistatement_macros): New function.
367 * c.opt (Wmultistatement-macros): New option.
368 * c-indentation.c (guard_tinfo_to_string): No longer static.
369 Change the parameter type to "enum rid". Handle RID_SWITCH.
370 * c-indentation.h (guard_tinfo_to_string): Declare.
371
2db9b7cd
MG
3722017-06-23 Marc Glisse <marc.glisse@inria.fr>
373
374 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
375
c3684b7b
MS
3762017-06-15 Martin Sebor <msebor@redhat.com>
377
378 PR c++/80560
379 * c.opt (-Wclass-memaccess): New option.
380
e72c4afd
BK
3812017-06-14 Boris Kolpackov <boris@codesynthesis.com>
382
383 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
384
8a516588
MP
3852017-06-13 Marek Polacek <polacek@redhat.com>
386
387 PR objc/80949
388 * c-warn.c (do_warn_duplicated_branches): Return if any of the
389 branches is null.
390
45b2222a
ML
3912017-06-13 Martin Liska <mliska@suse.cz>
392
393 PR sanitize/78204
394 * c-attribs.c (add_no_sanitize_value): New function.
395 (handle_no_sanitize_attribute): Likewise.
396 (handle_no_sanitize_address_attribute): Use the function.
397 (handle_no_sanitize_thread_attribute): New function.
398 (handle_no_address_safety_analysis_attribute): Use
399 add_no_sanitize_value.
400 (handle_no_sanitize_undefined_attribute): Likewise.
401 * c-common.h: Declare new functions.
402 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
403 (ubsan_instrument_shift): Likewise.
404 (ubsan_instrument_bounds): Likewise.
405 (ubsan_maybe_instrument_array_ref): Likewise.
406 (ubsan_maybe_instrument_reference_or_call): Likewise.
407
a01f151f
JM
4082017-06-11 Jason Merrill <jason@redhat.com>
409
410 * c-ada-spec.c, c-pragma.c: Use id_equal.
411
3de4ac6d
MP
4122017-06-04 Marek Polacek <polacek@redhat.com>
413
414 PR c/80919
415 * c-format.c (matching_type_p): Return false if any of the types
416 requires structural equality.
417
2474f48f
MS
4182017-06-02 Martin Sebor <msebor@redhat.com>
419
420 PR c/80892
421 * c-warn.c (conversion_warning): Use -Wconversion for integer
422 conversion and -Wfloat-conversion for floating one.
423
40ffd95f
BE
4242017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
425
426 * c.opt (Wsizeof-pointer-div): New warning option.
427
3fa4634c
VR
4282017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
429
430 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
431 (Wcatch-value=1): Enable by -Wall.
432
f012c8ef
DM
4332017-05-30 David Malcolm <dmalcolm@redhat.com>
434
435 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
436 format_chars.
437 * c.opt (fdiagnostics-show-template-tree): New option.
438 (felide-type): New option.
439
63dbcd13
VR
4402017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
441
442 * c.opt (Wcatch-value=): New C++ warning flag.
443
be136b5c
NS
4442017-05-24 Nathan Sidwell <nathan@acm.org>
445
446 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
447 const casts to avoid warning.
448
3cd211af
MS
4492017-05-24 Martin Sebor <msebor@redhat.com>
450
451 PR c/80731
452 * c-common.h (unsafe_conversion_p): Add a function argument.
453 * c-common.c (unsafe_conversion_p): Same.
454 Add type names and values to diagnostics.
455 (scalar_to_vector): Adjust.
456 * c-warn.c (constant_expression_error): Add a function argument.
457 Add type names and values to diagnostics.
458 (conversion_warning): Add a function argument.
459 Add type names and values to diagnostics.
460 (warnings_for_convert_and_check): Same.
461
1ff7be5a
JM
4622017-05-19 Jason Merrill <jason@redhat.com>
463
464 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
465 enumerators.
466
ff502317
BE
4672017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
468
469 * c-format.c (locus): Move out of function scope,
470 add GTY attribute.
471
2a8a8d7b
NS
4722017-05-19 Nathan Sidwell <nathan@acm.org>
473
474 * c-opts.c (class_dump_file, class_dump_flags): Delete.
475 (c_common_parse_file): Remove class dump handling.
476 (get_dump_info): Likewise.
477
39aac208
RB
4782017-05-19 Richard Biener <rguenther@suse.de>
479
480 PR c++/80593
481 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
482 to alias-set zero memory.
483
6ecd2339
BE
4842017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
485
486 * c-format.c (local_tree_type_node): Add GTY attribute.
487
6574d78e
MP
4882017-05-18 Marek Polacek <polacek@redhat.com>
489
490 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
491 (c_common_fixed_point_type_for_size): Likewise.
492 (c_common_type_for_mode): Likewise.
493 (shorten_compare): Likewise.
494 (c_promoting_integer_type_p): Use false/true instead of 0/1.
495 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
496
e3455240
MP
4972017-05-18 Marek Polacek <polacek@redhat.com>
498
499 * c-common.c (self_promoting_args_p): Change the return type to bool.
500 Use false/true instead of 0/1.
501 * c-common.h (self_promoting_args_p): Update.
502
3fa8871b
MP
5032017-05-17 Marek Polacek <polacek@redhat.com>
504
505 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
506 * c-warn.c: Likewise.
507
b42cc3ca
VV
5082017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
509
510 Implement new C++ intrinsics __is_assignable and __is_constructible.
511 * c-common.c (__is_assignable, __is_constructible): New.
512 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
513
1a817418
ML
5142017-05-17 Martin Liska <mliska@suse.cz>
515
516 * c-common.h: Introduce dump_flags_t type and
517 use it instead of int type.
518 * c-gimplify.c (c_genericize): Likewise.
519 * c-opts.c: Likewise.
520
b2fa0a8b
MP
5212017-05-17 Marek Polacek <polacek@redhat.com>
522
523 * c-common.c (c_save_expr): Remove.
524 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
525 * c-common.h (c_save_expr): Remove declaration.
526
31c2d57d
VR
5272017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
528
529 PR c/35441
530 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
531 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
532 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
533 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
534 RDIV_EXPR.
535 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
536
684f84de
MP
5372017-05-09 Marek Polacek <polacek@redhat.com>
538
539 PR c/80525
540 * c-warn.c (unwrap_c_maybe_const): New.
541 (warn_logical_operator): Call it.
542
641da50a
NS
5432017-05-09 Nathan Sidwell <nathan@acm.org>
544
545 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
546 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
547
631238ac
MS
5482017-05-08 Martin Sebor <msebor@redhat.com>
549
550 PR translation/80280
551 * c-format.h (struct format_flag_spec): Add new member.
552 (T89_T): New macro.
553 * c-format.c (local_tree_type_node): New global.
554 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
555 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
556 (strfmon_flag_specs): Likewise.
557 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
558 with distinct quoting properties.
559 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
560 (flag_chars_t::validate): Add argument and handle bad quoting.
561 (check_format_info_main): Handle quoting problems.
562 (init_dynamic_diag_info): Simplify.
563
49f0c04c
JM
5642017-05-08 Jason Merrill <jason@redhat.com>
565
566 * c-opts.c (c_common_post_options): Update defaults for
567 flag_abi_version and flag_abi_compat_version.
568
56d35585
DM
5692017-05-05 David Malcolm <dmalcolm@redhat.com>
570
571 * c-common.c (c_cpp_error): Replace report_diagnostic
572 with diagnostic_report_diagnostic.
573
0f2c4a8f
MS
5742017-05-04 Martin Sebor <msebor@redhat.com>
575
576 PR translation/80280
577 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
578 (handle_weakref_attribute): Same.
579
6fe63fb4
NS
5802017-05-03 Nathan Sidwell <nathan@acm.org>
581
582 Canonicalize canonical type hashing
583 * c-common.c (complete_array_type): Use type_hash_canon.
584
815d9cc6
XR
5852017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
586
587 PR c++/80038
588 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
589 prototype.
590 (cilk_install_body_pedigree_operations): Likewise.
591 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
592 detatched.
593 (cilk_gimplify_call_params_in_spawned_fn): Remove.
594 (cilk_install_body_pedigree_operations): Likewise.
595 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
596 unwrapping.
597
f8a36447
JJ
5982017-04-27 Jakub Jelinek <jakub@redhat.com>
599
600 PR c++/80534
601 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
602 flag on non-aggregate element types.
603
7c145456
BE
6042017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
605
606 * c-common.c (c_type_hasher, type_hash_table): Remove.
607 (c_common_get_alias_set): Remove unreachable code.
608 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
609
c3cbcd45
VR
6102017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
611
612 * c.opt (Wextra-semi): New C++ warning flag.
613
8a59d466
JJ
6142017-04-20 Jakub Jelinek <jakub@redhat.com>
615
616 PR middle-end/80423
617 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
618
8487c9a5
JJ
6192017-04-18 Jakub Jelinek <jakub@redhat.com>
620
621 PR middle-end/79788
622 PR middle-end/80375
623 * c-common.c (c_common_type_for_mode): Don't handle
624 widest_*_literal_type_node here.
625 c_common_signed_or_unsigned_type): Likewise.
626 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
627 to *intTI_type_node or *intDI_type_node depending on whether
628 TImode is supported by the target or not.
629
3ee0fb02
ML
6302017-04-10 Martin Liska <mliska@suse.cz>
631
632 PR sanitizer/80350
633 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
634 doing an UBSAN check.
635
5764ee3c
JW
6362017-04-03 Jonathan Wakely <jwakely@redhat.com>
637
638 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
639
6f3af356
JJ
6402017-03-31 Jakub Jelinek <jakub@redhat.com>
641
642 PR c++/79572
643 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
644 tree *.
645 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
646 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
647 REFERENCE_TYPE.
648
f6a7a9d5
DM
6492017-03-31 David Malcolm <dmalcolm@redhat.com>
650
651 PR documentation/78732
652 * c.opt (Wendif-labels): Fix description to refer to
653 #else rather than #elif.
654
af88f557
JJ
6552017-03-31 Jakub Jelinek <jakub@redhat.com>
656
657 PR libstdc++/80251
658 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
659 * c-common.c (c_common_reswords): Add __is_aggregate trait.
660
a9e4a1a5
JJ
6612017-03-27 Jakub Jelinek <jakub@redhat.com>
662
663 PR middle-end/80162
664 * c-common.c (c_common_mark_addressable_vec): Don't set
665 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
666
3f01b620
MS
6672017-03-21 Martin Sebor <msebor@redhat.com>
668
669 PR c++/79548
670 * c-common.c (set_underlying_type): Mark type used only when
671 original del is declared unused.
672
2f6f187a
DM
6732017-03-10 David Malcolm <dmalcolm@redhat.com>
674
675 PR translation/79848
676 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
677 "%qs".
678
a02fa805
DM
6792017-03-10 David Malcolm <dmalcolm@redhat.com>
680
681 PR c/79921
682 * c-indentation.c (warn_for_misleading_indentation): Remove parens
683 from inform's message, so that xgettext can locate it.
684
822a132c
MP
6852017-03-09 Marek Polacek <polacek@redhat.com>
686
687 PR c++/79962
688 PR c++/79984
689 * c-attribs.c (handle_nonnull_attribute): Save the result of default
690 conversion to the attribute list.
691
bba81f1c
ML
6922017-03-09 Martin Liska <mliska@suse.cz>
693
694 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
695
108154ff
JM
6962017-03-03 Jason Merrill <jason@redhat.com>
697
698 * c.opt (Wnoexcept-type): New.
699
eb0e7c34
RB
7002017-03-02 Richard Biener <rguenther@suse.de>
701
702 PR c/79756
703 * c-common.c (c_common_mark_addressable_vec): Look through
704 C_MAYBE_CONST_EXPR.
705
9453ba0a
ML
7062017-02-28 Martin Liska <mliska@suse.cz>
707
708 * c.opt: Replace space with tabular for options of <number>
709 type.
710
6a825afe
ML
7112017-02-28 Martin Liska <mliska@suse.cz>
712
713 * c.opt: Fix --help=option -Q for options which are of
714 an enum type.
715
4227c9ad
JJ
7162017-02-24 Jakub Jelinek <jakub@redhat.com>
717
718 PR c++/79588
719 * c-common.c (check_function_restrict): New function.
720 (check_function_arguments): Add FNDECL argument. Call
721 check_function_restrict if -Wrestrict.
722 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
723 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
724 * c-common.h (check_function_arguments): Add FNDECL argument.
725 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
726
59909673
EB
7272017-02-24 Eric Botcazou <ebotcazou@adacore.com>
728
729 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
730 treatment of parameters with pointer-to-tagged type and tidy up.
731 (print_ada_methods): Remove the special treatment of C++ static member
732 functions.
733
54dcd526
ML
7342017-02-22 Martin Liska <mliska@suse.cz>
735
736 * c.opt: Replace inequality signs with square brackets
737 for -Wnornalized.
738
00bc9de3
JJ
7392017-02-21 Jakub Jelinek <jakub@redhat.com>
740
741 PR c++/79641
742 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
743 preserve quals.
744
97fcf744
JM
7452017-02-17 Joseph Myers <joseph@codesourcery.com>
746
747 * c-cppbuiltin.c (builtin_define_float_constants): Define
748 __DECIMAL_DIG__ to the value for long double.
749
c7545f1c
MP
7502017-02-15 Marek Polacek <polacek@redhat.com>
751
752 PR c/79515
753 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
754 conversion has occured.
755
c2e84327
DM
7562017-01-24 David Malcolm <dmalcolm@redhat.com>
757
758 * c-common.c (c_common_reswords): Add "__RTL".
759 * c-common.h (enum rid): Add RID_RTL.
760
2ebd93e1
MP
7612017-01-20 Marek Polacek <polacek@redhat.com>
762
763 PR c/64279
764 * c-common.h (do_warn_duplicated_branches_r): Declare.
765 * c-gimplify.c (c_genericize): Walk the function tree calling
766 do_warn_duplicated_branches_r.
767 * c-warn.c (expr_from_macro_expansion_r): New.
768 (do_warn_duplicated_branches): New.
769 (do_warn_duplicated_branches_r): New.
770 * c.opt (Wduplicated-branches): New option.
771
0d80ab91
DM
7722017-01-17 David Malcolm <dmalcolm@redhat.com>
773
774 PR c++/71497
775 * c-indentation.c (warn_for_misleading_indentation): Use the past
776 subjunctive in the note.
777
7f991c36
AH
7782017-01-17 Aldy Hernandez <aldyh@redhat.com>
779
780 PR c/79116
781 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
782 start type to integer_type.
783
1c70261c
JJ
7842017-01-16 Jakub Jelinek <jakub@redhat.com>
785
786 PR driver/49726
787 * c.opt (gen-decls): Add Driver flag.
788
1ddca3f3
PC
7892017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
790
791 Revert:
792 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
793
794 PR c++/71737
795 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
796
7d2f3f1d
PC
7972017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
798
799 PR c++/71737
800 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
801
bce6f760
MS
8022017-01-12 Martin Sebor <msebor@redhat.com>
803
804 (-Wformat-overflow): ...to this.
805
bf5fbf46
MS
8062017-01-11 Martin Sebor <msebor@redhat.com>
807
808 PR c/78768
809 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
810 Also enable for LTO.
811
e363df3f
JM
8122017-01-10 Jason Merrill <jason@redhat.com>
813
814 Implement P0195R2, C++17 variadic using.
815 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
816
bd2c6270
JJ
8172017-01-09 Jakub Jelinek <jakub@redhat.com>
818
819 PR translation/79019
820 PR translation/79020
821 * c.opt (Wnormalized=): Fix typo in description.
822
efcc8d38
MS
8232017-01-08 Martin Sebor <msebor@redhat.com>
824
825 PR middle-end/77708
826 * c.opt (-Wformat-truncation): New option.
827
435f3f7a
AO
8282017-01-06 Alexandre Oliva <aoliva@redhat.com>
829
830 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
831 value to unsigned short to fit in 4 hex digits without
832 warnings.
833
4e89adf9
EB
8342017-01-05 Eric Botcazou <ebotcazou@adacore.com>
835
836 * c.opt (fsso-struct): Add 'native' value.
837
cd445b54
ML
8382017-01-05 Martin Liska <mliska@suse.cz>
839
840 PR pch/78970
841 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
842 header.
843
a9342885
MP
8442017-01-04 Marek Polacek <polacek@redhat.com>
845
846 PR c++/64767
847 * c.opt (Wpointer-compare): New option.
848
fc73e60c
JJ
8492017-01-04 Jakub Jelinek <jakub@redhat.com>
850
851 PR driver/78957
852 * c.opt (fsso-struct=): Add RejectNegative.
853
cbe34bb5
JJ
8542017-01-01 Jakub Jelinek <jakub@redhat.com>
855
856 Update copyright years.
857
d4a6c0ea
ML
8582016-12-29 Martin Liska <mliska@suse.cz>
859
860 PR c/78933
861 * c.opt (strong-eval-order): Add RejectNegative keyword.
862
67a5ad7c
JM
8632016-12-22 Jason Merrill <jason@redhat.com>
864
865 Implement P0522R0, matching of template template arguments.
866 * c-cppbuiltin.c (c_cpp_builtins): Define
867 __cpp_template_template_args.
868
0dba7960
JJ
8692016-12-21 Jakub Jelinek <jakub@redhat.com>
870
871 PR bootstrap/78817
872 * c-common.c (struct nonnull_arg_ctx): New type.
873 (check_function_nonnull): Return bool instead of void. Use
874 nonnull_arg_ctx as context rather than just location_t.
875 (check_nonnull_arg): Adjust for the new context type, set
876 warned_p to true if a warning has been diagnosed.
877 (check_function_arguments): Return bool instead of void.
878 * c-common.h (check_function_arguments): Adjust prototype.
879
31bfc9b9
JM
8802016-12-21 Jason Merrill <jason@redhat.com>
881
882 * c.opt (-fnew-ttp-matching): New flag.
883 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
884
629b3d75
MJ
8852016-12-14 Martin Jambor <mjambor@suse.cz>
886
887 * c-omp.c: Include omp-general.h instead of omp-low.h.
888 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
889 name.
890
474da67e
MS
8912016-12-14 Martin Sebor <msebor@redhat.com>
892
893 PR c/17308
894 * c-common.c (check_nonnull_arg): Disable when optimization
895 is enabled.
896
fe366b87
MP
8972016-12-12 Marek Polacek <polacek@redhat.com>
898
899 PR c++/78647
900 * c-common.c (attribute_fallthrough_p): Return false for
901 error_mark_node.
902
8bd9f164
MS
9032016-12-08 Martin Sebor <msebor@redhat.com>
904
905 PR c/78284
906 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
907
060162e0
MS
9082016-12-08 Martin Sebor <msebor@redhat.com>
909
910 PR c/78165
1d0cf89a
MS
911 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
912 suffix.
060162e0 913
ee92e7ba
MS
9142016-12-07 Martin Sebor <msebor@redhat.com>
915
916 PR c/53562
917 PR middle-end/77784
918 PR middle-end/78149
919 PR middle-end/78138
920 * c.opt (-Wstringop-overflow): New option.
921
84b0769e
MO
9222016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
923
924 * c-attribs.c (asan odr indicator): New attribute.
925 (handle_asan_odr_indicator_attribute): New function.
926
7fa6a965
PK
9272016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
928
929 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
930 ptrdiff_type_node;
931
56d8ffc1
JG
9322016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
933
934 * c-common.c (excess_precision_mode_join): New.
935 (c_ts18661_flt_eval_method): New.
936 (c_c11_flt_eval_method): Likewise.
937 (c_flt_eval_method): Likewise.
938 * c-common.h (excess_precision_mode_join): New.
939 (c_flt_eval_method): Likewise.
940 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
941 (cpp_iec_559_value): Call it.
942 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
943 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
944 __FLT_EVAL_METHOD_TS_18661_3__.
945
04f0fcf7
JG
9462016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
947
948 * c-opts.c (c_common_post_options): Add logic to handle the default
949 case for -fpermitted-flt-eval-methods.
950
fb2675cb
PB
9512016-11-23 Paolo Bonzini <bonzini@gnu.org>
952
953 * c.opt (Wexpansion-to-defined): New.
954
ec1c5694
JJ
9552016-11-23 Jakub Jelinek <jakub@redhat.com>
956
957 PR target/78451
958 * c-pragma.c (handle_pragma_target): Don't replace
959 current_target_pragma, but chainon the new args to the current one.
960
730c9e75
NS
9612016-11-22 Nathan Sidwell <nathan@acm.org>
962
963 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 964 indentation and formatting.
730c9e75 965
89990732
MS
9662016-11-21 Martin Sebor <msebor@redhat.com>
967
968 * c.opt (-fprintf-return-value): Enable by default.
969
48330c93
BE
9702016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
971
972 PR c++/71973
973 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
974 * c-common.c (c_common_nodes_and_builtins): Initialize
975 const_tm_ptr_type_node.
976
0d939c95
MP
9772016-11-16 Marek Polacek <polacek@redhat.com>
978
979 PR c/78285
980 * c-common.c (c_add_case_label): Turn error_at calls into inform.
981
8e745a17
JJ
9822016-11-14 Jakub Jelinek <jakub@redhat.com>
983
984 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
985
1ee62b92 9862016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
987 Richard Biener <rguenther@suse.de>
988
989 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
990 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
991 * c.opt (fgimple): New option.
1ee62b92 992
22b15758
UB
9932016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
994
995 PR c/35503
996 * c-common.h (warn_for_restrict): Declare.
997 * c-warn.c: Include gcc-rich-location.h.
998 (warn_for_restrict): New function.
999 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
1000 (gcc_cdiag_char_table): Likewise.
1001 (gcc_cxxdiag_char_table): Likewise.
1002 * c.opt (Wrestrict): New option.
1003
4be719cd
EB
10042016-11-13 Eric Botcazou <ebotcazou@adacore.com>
1005
1006 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
1007 for nested types only if the type is a record or union and dump SLOC.
1008
4a826ca6
JM
10092016-11-09 Jason Merrill <jason@redhat.com>
1010
1011 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
1012
2e955d50
JJ
10132016-11-09 Jakub Jelinek <jakub@redhat.com>
1014
1015 * c-ubsan.c (ubsan_instrument_shift): Handle split
1016 -fsanitize=shift-base and -fsanitize=shift-exponent.
1017
51dc6603
JM
10182016-11-07 Jason Merrill <jason@redhat.com>
1019
1020 * c.opt (Wc++1z-compat): New.
1021 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
1022
6dc4a604
ML
10232016-11-07 Martin Liska <mliska@suse.cz>
1024
1025 * c-warn.c (warn_for_unused_label): Save all labels used
1026 in goto or in &label.
1027
b302001e
JM
10282016-11-03 Jason Merrill <jason@redhat.com>
1029
1030 * c-cppbuiltin.c (c_cpp_builtins): Correct
1031 __cpp_inheriting_constructors.
1032
31f7f784
JM
10332016-11-01 Jason Merrill <jason@redhat.com>
1034
2bc78e3c
JM
1035 * c-cppbuiltin.c (c_cpp_builtins): Update
1036 __cpp_inheriting_constructors.
1037
31f7f784
JM
1038 * c.opt (-fnew-inheriting-ctors): New.
1039 * c-opts.c: Default to on for ABI 11+.
1040
dcb466ec
JJ
10412016-10-31 Jakub Jelinek <jakub@redhat.com>
1042
1043 PR c++/77948
1044 * c.opt (fext-numeric-literals): Add Var and Init.
1045 * c-opts.c (c_common_handle_option): Don't clear
1046 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
1047 (c_common_post_options): Clear it here if not set
1048 explicitly.
1049
52e1b91e
AH
10502016-10-28 Aldy Hernandez <aldyh@redhat.com>
1051
1052 PR debug/77773
1053 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
1054 if NULL.
1055
e16f1cc7
JJ
10562016-10-25 Jakub Jelinek <jakub@redhat.com>
1057
1058 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
1059 * c-common.c (c_common_reswords): Add __builtin_launder.
1060
f8348061
BE
10612016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1062
1063 * c-common.c (c_common_truthvalue_conversion): Warn for
1064 multiplications in boolean context. Fix the quoting of '<<' and '<'
1065 in the shift warning.
1066
eff89e01
BE
10672016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
1068
1069 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
1070
24bc7bf4
JM
10712016-10-20 Jason Merrill <jason@redhat.com>
1072
1073 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
1074
4c712374
BE
10752016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1076
1077 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
1078 integer shift ops in boolean context.
1079
10802016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
1081
1082 * c.opt (Walloca): New.
1083 (Walloca-larger-than=): New.
1084 (Wvla-larger-than=): New.
1085
8fa18c06
MP
10862016-10-17 Marek Polacek <polacek@redhat.com>
1087
1088 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
1089 Return immediately when finding a match.
1090 (warn_tautological_cmp): Remove a boolean variable that is no longer
1091 needed.
1092
b12b1915
MP
10932016-10-17 Marek Polacek <polacek@redhat.com>
1094
1095 * c-attribs.c: New file.
1096 * c-common.c: Move attributes handling to c-attribs.c.
1097 (get_nonnull_operand): No longer static.
1098 * c-common.h: Move the declarations from c-attribs.c to its own section.
1099
2045acd9
JM
11002016-10-14 Jason Merrill <jason@redhat.com>
1101
1102 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
1103 and __cpp_deduction_guides.
1104
14a2c9aa
JM
11052016-10-13 Jason Merrill <jason@redhat.com>
1106
1107 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
1108
4d0cdd0c
TP
11092016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
1110
1111 * c-cppbuiltin.c: Include memmodel.h.
1112 * c-opts.c: Likewise.
1113 * c-pragma.c: Likewise.
1114 * c-warn.c: Likewise.
1115
70f6d5e1
JJ
11162016-10-12 Jakub Jelinek <jakub@redhat.com>
1117
1118 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
1119 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
1120 * c-opts.c (sanitize_cpp_opts): Initialize
1121 cpp_opts->cpp_warn_implicit_fallthrough.
1122
78f61294
MP
11232016-10-11 Marek Polacek <polacek@redhat.com>
1124
1125 * c-common.c (warning_candidate_p): Change the return type to bool
1126 and return true/false instead of 1/0.
1127 (vector_mode_valid_p): Likewise.
1128
038b5cc0
MP
11292016-10-11 Marek Polacek <polacek@redhat.com>
1130
1131 * c-common.c (fold_for_warn): No longer static.
1132 (bool_promoted_to_int_p): Likewise.
1133 (c_common_get_narrower): Likewise.
1134 (constant_expression_warning): Move to c-warn.c.
1135 (constant_expression_error): Likewise.
1136 (overflow_warning): Likewise.
1137 (warn_logical_operator): Likewise.
1138 (find_array_ref_with_const_idx_r): Likewise.
1139 (warn_tautological_cmp): Likewise.
1140 (expr_has_boolean_operands_p): Likewise.
1141 (warn_logical_not_parentheses): Likewise.
1142 (warn_if_unused_value): Likewise.
1143 (strict_aliasing_warning): Likewise.
1144 (sizeof_pointer_memaccess_warning): Likewise.
1145 (check_main_parameter_types): Likewise.
1146 (conversion_warning): Likewise.
1147 (warnings_for_convert_and_check): Likewise.
1148 (match_case_to_enum_1): Likewise.
1149 (match_case_to_enum): Likewise.
1150 (c_do_switch_warnings): Likewise.
1151 (warn_for_omitted_condop): Likewise.
1152 (readonly_error): Likewise.
1153 (lvalue_error): Likewise.
1154 (invalid_indirection_error): Likewise.
1155 (warn_array_subscript_with_type_char): Likewise.
1156 (warn_about_parentheses): Likewise.
1157 (warn_for_unused_label): Likewise.
1158 (warn_for_div_by_zero): Likewise.
1159 (warn_for_memset): Likewise.
1160 (warn_for_sign_compare): Likewise.
1161 (do_warn_double_promotion): Likewise.
1162 (do_warn_unused_parameter): Likewise.
1163 (record_locally_defined_typedef): Likewise.
1164 (maybe_record_typedef_use): Likewise.
1165 (maybe_warn_unused_local_typedefs): Likewise.
1166 (maybe_warn_bool_compare): Likewise.
1167 (maybe_warn_shift_overflow): Likewise.
1168 (warn_duplicated_cond_add_or_warn): Likewise.
1169 (diagnose_mismatched_attributes): Likewise.
1170 * c-common.h: Move the declarations from c-warn.c to its own section.
1171 * c-warn.c: New file.
1172
627be19f
JM
11732016-10-08 Jason Merrill <jason@redhat.com>
1174
1175 * c-common.c (c_common_truthvalue_conversion): Don't distribute
1176 into COND_EXPR in C++.
1177
7bad794a
JJ
11782016-10-08 Jakub Jelinek <jakub@redhat.com>
1179
1180 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
1181 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
1182 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
1183
be845b04
JJ
11842016-10-07 Jakub Jelinek <jakub@redhat.com>
1185
1186 Implement LWG2296 helper intrinsic
1187 * c-common.h (enum rid): Add RID_ADDRESSOF.
1188 * c-common.c (c_common_reswords): Add __builtin_addressof.
1189
c09c4992
BE
11902016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
1191
1192 PR c++/77700
1193 * c-common.c (c_common_truthvalue_conversion): Warn also for
1194 suspicious enum values in boolean context.
1195
342cfb3e
JJ
11962016-10-06 Jakub Jelinek <jakub@redhat.com>
1197
1198 Implement P0258R2 - helper for C++17
1199 std::has_unique_object_representations trait
1200 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
1201 * c-common.c (c_common_reswords): Add
1202 __has_unique_object_representations.
1203
2e69f143
JJ
12042016-10-05 Jakub Jelinek <jakub@redhat.com>
1205
1206 PR sanitizer/66343
1207 * c-ubsan.c (ubsan_instrument_return): Don't call
1208 initialize_sanitizer_builtins here.
1209
700fff34
BE
12102016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1211
1212 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
1213 conditional expression in boolean context when only one arm is
1214 non-boolean.
1215
9563bfcd
JJ
12162016-10-05 Jakub Jelinek <jakub@redhat.com>
1217
04a32443
JJ
1218 PR sanitizer/77823
1219 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
1220 is not integral.
1221
9563bfcd
JJ
1222 * c-common.c (c_common_reswords): Update comment for C++11.
1223
f1644724
JM
12242016-10-04 Jason Merrill <jason@redhat.com>
1225
1226 * c-common.c (make_tree_vector_from_ctor): New.
1227 * c-common.h: Declare it.
1228
5a79befb
JJ
12292016-10-04 Jakub Jelinek <jakub@redhat.com>
1230
1231 * c-cppbuiltin.c (c_cpp_builtins): Don't define
1232 __LIBGCC_JCR_SECTION_NAME__.
1233
1633d3b9
BE
12342016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
1235
1236 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
1237 left shift in boolean context.
1238
a2c6e7f2
JJ
12392016-09-29 Jakub Jelinek <jakub@redhat.com>
1240
1241 Implement P0001R1 - C++17 removal of register storage class specifier
1242 * c.opt (Wregister): New warning.
1243 * c-opts.c (c_common_post_options): Enable -Wregister by
1244 default for C++17.
1245
75304c87
JG
12462016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
1247
1248 * c-opts.c (c_common_post_options): Remove special case for
1249 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
1250 in C++.
1251
bbfac6da
JJ
12522016-09-27 Jakub Jelinek <jakub@redhat.com>
1253
6e39060a
JJ
1254 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
1255 -std=c++1z.
1256
bbfac6da
JJ
1257 * c-ada-spec.c (print_ada_declaration): Remove break after return.
1258
e73cf9a2
TP
12592016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1260
1261 * c-common.c: Include memmodel.h.
1262
c6147dc4
MP
12632016-09-26 Marek Polacek <polacek@redhat.com>
1264
1265 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
1266
81fea426
MP
12672016-09-26 Marek Polacek <polacek@redhat.com>
1268
1269 PR c/7652
1270 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
1271 (handle_fallthrough_attribute): New function.
1272 (attribute_fallthrough_p): New function.
1273 * c-common.h (attribute_fallthrough_p): Declare.
1274
9a2300e9
MP
12752016-09-24 Marek Polacek <polacek@redhat.com>
1276
1277 PR c/77490
1278 * c.opt (Wbool-operation): New.
1279
a09e9e35
BE
12802016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1281
1282 * c-common.c (c_common_truthvalue_conversion): Inhibit
1283 Wint-in-bool-context warning with from_macro_definition_at.
1284 Mention the expression will always evaluate to true.
1285
d43b4ccc
MS
12862016-09-21 Martin Sebor <msebor@redhat.com>
1287
1288 PR bootstrap/77676
1289 * c.opt (fprintf-return-value): Temporarily initialize to zero
1290 to unblock bootstrap failures.
1291
2e1c20b1
JJ
12922016-09-21 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR c++/77651
1295 * c.opt (Waligned-new=): Add RejectNegative.
1296 (faligned-new=): Likewise. Spelling fix - change
1297 aligned_new_threshhold to aligned_new_threshold.
1298 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
1299 to aligned_new_threshold.
1300
88d0c3f0
MS
13012016-09-20 Martin Sebor <msebor@redhat.com>
1302
1303 PR middle-end/49905
1304 * c.opt: Add -Wformat-length and -fprintf-return-value.
1305
144a96e4
BE
13062016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1307
1308 PR c++/77434
1309 * c.opt (Wint-in-bool-context): New warning.
1310 * c-common.c (c_common_truthvalue_conversion): Warn on integer
1311 constants in boolean context.
1312
63012d9a
JM
13132016-09-19 Joseph Myers <joseph@codesourcery.com>
1314
1315 * c-common.c (max_align_t_align): Also consider alignment of
1316 float128_type_node.
1317
931388ce
JM
13182016-09-15 Jason Merrill <jason@redhat.com>
1319
1320 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
1321 DECL_EXTERNAL.
1322
38711381
JM
13232016-09-14 Jason Merrill <jason@redhat.com>
1324
1325 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1326 limit FIELD_DECL, either.
1327
e51fbec3
MP
13282016-09-14 Marek Polacek <polacek@redhat.com>
1329
1330 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
1331 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
1332 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
1333
254830ba
DM
13342016-09-13 David Malcolm <dmalcolm@redhat.com>
1335
1336 * c-common.c (warn_logical_not_parentheses): Replace
1337 rich_location::add_fixit_insert calls with add_fixit_insert_before
1338 and add_fixit_insert_after, eliminating the "next_loc" calculation.
1339
42763690
JM
13402016-09-13 Jason Merrill <jason@redhat.com>
1341 Tom de Vries <tom@codesourcery.com>
1342
1343 PR c++/77427
1344 * c-common.c (set_underlying_type): Don't treat array as builtin type.
1345
9453eee9
JM
13462016-09-13 Jason Merrill <jason@redhat.com>
1347
1348 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
1349 limit types at all.
1350
e96809e3
JM
13512016-09-12 Jason Merrill <jason@redhat.com>
1352
1353 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
1354 bit/byte confusion, allow large alignment for types.
1355
54dcdb88
BE
13562016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
1357
1358 PR c++/77496
1359 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
1360
d1463eb9
DM
13612016-09-12 David Malcolm <dmalcolm@redhat.com>
1362
1363 PR c/72858
1364 * c-format.c (argument_parser::check_argument_type): Add params
1365 "type_start" and "conversion_char". Use the former to generate
1366 offset_to_type_start and pass it and conversion_char to
1367 check_format_types.
1368 (check_format_info_main): Capture the start of the type
1369 information as "type_start", and pass it an format_char
1370 to arg_parser.check_argument_type.
1371 (check_format_types): Provide an example in the leading comment.
1372 Add params "offset_to_type_start" and "conversion_char"; pass
1373 them to format_type_warning calls.
1374 (test_get_modifier_for_format_len): Likewise.
1375 (matching_type_p): New function.
1376 (get_format_for_type): Add param "conversion_char" and move
1377 implementation into...
1378 (get_format_for_type_1): ...new function, called twice.
1379 Use new function matching_type_p rather than checking for
1380 TYPE_CANONICAL equality.
1381 (get_corrected_substring): New function.
1382 (format_type_warning): Provide an example in the leading comment.
1383 Add params "offset_to_type_start" and "conversion_char". Replace
1384 call to get_format_for_type with call to get_corrected_substring
1385 and move rejection of hints for widths/precisions there.
1386 (assert_format_for_type_streq): Add param "conversion_char".
1387 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
1388 (test_get_format_for_type_printf): Add conversion chars to the
1389 tests, adding coverage for various combinations of integer
1390 vs double conversions, and for preserving octal and hexadecimal
1391 conversions.
1392 (test_get_format_for_type_scanf): Add conversion chars to the
1393 tests.
1394
5b28efbb
TV
13952016-09-10 Tom de Vries <tom@codesourcery.com>
1396
1397 PR C/71602
1398 * c-common.c (build_va_arg): Handle more strict
1399 targetm.canonical_va_list_type. Replace first argument type error with
1400 assert.
1401
3f0177e7
MS
14022016-09-09 Martin Sebor <msebor@redhat.com>
1403
1404 PR c/77520
1405 PR c/77521
1406 * c-format.c (argument_parser::find_format_char_info): Use %qc
1407 format directive unconditionally.
1408
af63ba4b
JM
14092016-09-09 Jason Merrill <jason@redhat.com>
1410
1411 Implement C++17 new of over-aligned types.
1412 * c.opt: Add -faligned-new and -Waligned-new.
1413 * c-common.c (max_align_t_align): Split out from...
1414 (cxx_fundamental_alignment_p): ...here.
1415 * c-common.h: Declare it.
1416 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
1417
c65248cb
JM
14182016-09-09 Joseph Myers <joseph@codesourcery.com>
1419
1420 * c-cppbuiltin.c (builtin_define_type_width): New function.
1421 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
1422 macros.
1423
e5106e27
DM
14242016-09-07 David Malcolm <dmalcolm@redhat.com>
1425
1426 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
1427 a POINTER_TYPE.
1428 (substring_loc::get_location): Move to substring-locations.c,
1429 keeping implementation as...
1430 (c_get_substring_location): New function, from the above, reworked
1431 to use accessors rather than member lookup.
1432 * c-common.h (class substring_loc): Move to substring-locations.h,
1433 replacing with a forward decl.
1434 (c_get_substring_location): New decl.
1435 * c-format.c: Include "substring-locations.h".
1436 (format_warning_va): Move to substring-locations.c.
1437 (format_warning_at_substring): Likewise.
1438
a42e7952
MS
14392016-09-06 Martin Sebor <msebor@redhat.com>
1440
1441 PR c/77336
1442 * c-format.c (check_function_format): Avoid issuing warnings for
1443 functions unless they call format functions with non-constant
1444 format strings.
1445
b772a565
RB
14462016-09-06 Richard Biener <rguenther@suse.de>
1447
1448 PR c/77450
1449 * c-common.c (c_common_mark_addressable_vec): Handle
1450 COMPOUND_LITERAL_EXPR.
1451
25ff5dd3
MP
14522016-09-05 Marek Polacek <polacek@redhat.com>
1453
1454 PR c/77423
1455 * c-common.c (bool_promoted_to_int_p): New function.
1456 (expr_has_boolean_operands_p): New function.
1457 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
1458 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
1459
21234eb5
TV
14602016-09-04 Tom de Vries <tom@codesourcery.com>
1461
1462 revert:
1463 2016-08-29 Tom de Vries <tom@codesourcery.com>
1464
1465 * c-common.c (build_va_arg): Replace first argument type error
1466 with assert.
1467
9dc5773f
JJ
14682016-09-02 Jakub Jelinek <jakub@redhat.com>
1469
1470 PR c/65467
1471 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
1472 (c_finish_omp_for): Reject _Atomic qualified iterators.
1473
14742016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
1475
1476 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
1477 size to guarantee it fits the output of the formatted function
1478 regardless of its arguments.
1479
295844f6
MP
14802016-09-01 Marek Polacek <polacek@redhat.com>
1481
1482 PR c/7652
1483 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
1484 FALLTHRU comments.
1485
3d06b6f2
MP
14862016-08-29 Marek Polacek <polacek@redhat.com>
1487
1488 PR c/77292
1489 * c-common.c (warn_logical_not_parentheses): Don't warn for
1490 a comparison or a logical operator.
1491
34cedad5
TV
14922016-08-29 Tom de Vries <tom@codesourcery.com>
1493
1494 * c-common.c (build_va_arg): Fix type comparison assert.
1495
f162d717
TV
14962016-08-29 Tom de Vries <tom@codesourcery.com>
1497
1498 * c-common.c (build_va_arg): Replace first argument type error
1499 with assert.
1500
ba9bbd6f
TV
15012016-08-29 Tom de Vries <tom@codesourcery.com>
1502
1503 PR c/77398
1504 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1505 with error_mark_node as va_list instead of with illegal va_list.
1506
ebef225f
MP
15072016-08-25 Marek Polacek <polacek@redhat.com>
1508 David Malcolm <dmalcolm@redhat.com>
1509
1510 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1511 * c-common.h (warn_logical_not_parentheses): Update declaration.
1512
b00e6e75
MP
15132016-08-22 Marek Polacek <polacek@redhat.com>
1514
1515 PR c++/77321
1516 * c-common.c (warn_for_memset): Check type for null.
1517
6dc198e3
JM
15182016-08-22 Joseph Myers <joseph@codesourcery.com>
1519
1520 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1521 _FloatNx types for suffixes for built-in functions.
1522
c65699ef
JM
15232016-08-19 Joseph Myers <joseph@codesourcery.com>
1524
1525 PR c/32187
1526 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1527 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1528 (RID_FLOAT128X): New enum rid values.
1529 (CASE_RID_FLOATN_NX): New macro.
1530 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1531 keywords.
1532 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1533 corresponding complex types.
1534 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1535 _FloatNx and corresponding complex types.
1536 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1537 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1538 and _FloatNx types for the widest type for determining
1539 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1540 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1541 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1542 and _FloatNx types.
1543 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1544 constants.
1545 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1546 _FloatNx types.
1547
cc015f3a
DM
15482016-08-18 David Malcolm <dmalcolm@redhat.com>
1549
1550 * c-opts.c (c_diagnostic_finalizer): Update for change to
1551 diagnostic_show_locus.
1552
cb18fd07
DM
15532016-08-18 David Malcolm <dmalcolm@redhat.com>
1554
1555 * c-common.c: Include "spellcheck.h".
1556 (cb_get_suggestion): New function.
1557 * c-common.h (cb_get_suggestion): New decl.
1558 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1559 cb_get_suggestion.
1560
a76989dc
MP
15612016-08-18 Marek Polacek <polacek@redhat.com>
1562
1563 PR c/71514
1564 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1565 and pointer-to-VLA.
1566
65e736c0
DM
15672016-08-16 David Malcolm <dmalcolm@redhat.com>
1568
1569 PR c/72857
1570 * c-common.c (substring_loc::get_range): Rename to...
1571 (substring_loc::get_location): ...this, converting param from a
1572 source_range * to a location_t *. Call
1573 get_source_location_for_substring rather than
1574 get_source_range_for_substring, and pass in m_caret_idx.
1575 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1576 (substring_loc::get_range): Replace with...
1577 (substring_loc::get_location): ...this.
1578 (substring_loc::set_caret_index): New method.
1579 (substring_loc): Add field m_caret_idx.
1580 * c-format.c (format_warning_va): Update for above changes.
1581 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1582 clashing with type name.
1583 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1584 (check_argument_type): Likewise.
1585 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1586 Use a copy when emitting warnings, setting the caret index from TYPE.
1587
7e1dde14 15882016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 1589 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
1590
1591 * c-ada-spec.c (dump_number): New function.
1592 (handle_escape_character): Likewise.
1593 (print_ada_macros): Add handling of constant integers and strings.
1594
191816a3
MP
15952016-08-12 Marek Polacek <polacek@redhat.com>
1596
1597 PR c/7652
1598 * c-common.c (scalar_to_vector): Adjust fall through comment.
1599 * c-opts.c (c_common_handle_option): Likewise.
1600 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1601 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1602 fall through comment.
1603 * cilk.c (extract_free_variables): Add FALLTHRU.
1604
452df4a4
JM
16052016-08-10 Jason Merrill <jason@redhat.com>
1606
1607 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1608
f3365c12
JM
16092016-08-09 Jason Merrill <jason@redhat.com>
1610
1611 * c-common.c (c_common_attribute_table): vector_size affects type
1612 identity.
1613
f0bc3323
MP
16142016-08-09 Marek Polacek <polacek@redhat.com>
1615
1616 PR c/7652
1617 * c-ada-spec.c (dump_generic_ada_node): Add return.
1618
98e5a19a
JM
16192016-08-09 Jason Merrill <jason@redhat.com>
1620
1621 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1622 C++17 constexpr lambdas.
1623
895aa8e1
DM
16242016-08-08 David Malcolm <dmalcolm@redhat.com>
1625
1626 PR c/64955
1627 * c-common.h (selftest::c_format_c_tests): New declaration.
1628 (selftest::run_c_tests): New declaration.
1629 * c-format.c: Include "selftest.h.
1630 (format_warning_va): Add param "corrected_substring" and use
1631 it to add a replacement fix-it hint.
1632 (format_warning_at_substring): Likewise.
1633 (format_warning_at_char): Update for new param of
1634 format_warning_va.
1635 (argument_parser::check_argument_type): Pass "fki" to
1636 check_format_types.
1637 (check_format_types): Add param "fki" and pass it to
1638 format_type_warning.
1639 (deref_n_times): New function.
1640 (get_modifier_for_format_len): New function.
1641 (selftest::test_get_modifier_for_format_len): New function.
1642 (get_format_for_type): New function.
1643 (format_type_warning): Add param "fki" and use it to attempt
1644 to provide hints for argument types when calling
1645 format_warning_at_substring.
1646 (selftest::get_info): New function.
1647 (selftest::assert_format_for_type_streq): New function.
1648 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1649 (selftest::test_get_format_for_type_printf): New function.
1650 (selftest::test_get_format_for_type_scanf): New function.
1651 (selftest::c_format_c_tests): New function.
1652
e52ed3fe
DM
16532016-08-08 David Malcolm <dmalcolm@redhat.com>
1654
1655 PR c/52952
1656 * c-format.c: Include "diagnostic.h".
1657 (location_column_from_byte_offset): Delete.
1658 (location_from_offset): Delete.
1659 (format_warning_va): New function.
1660 (format_warning_at_substring): New function.
1661 (format_warning_at_char): New function.
1662 (check_format_arg): Capture location of format_tree and pass to
1663 check_format_info_main.
1664 (argument_parser): Add fields "start_of_this_format" and
1665 "format_string_cst".
1666 (flag_chars_t::validate): Add param "format_string_cst". Convert
1667 warning_at call using location_from_offset to call to
1668 format_warning_at_char.
1669 (argument_parser::argument_parser): Add param "format_string_cst_"
1670 and use use it to initialize field "format_string_cst".
1671 Initialize new field "start_of_this_format".
1672 (argument_parser::read_format_flags): Convert warning_at call
1673 using location_from_offset to a call to format_warning_at_char.
1674 (argument_parser::read_any_format_left_precision): Likewise.
1675 (argument_parser::read_any_format_precision): Likewise.
1676 (argument_parser::read_any_other_modifier): Likewise.
1677 (argument_parser::find_format_char_info): Likewise, in three places.
1678 (argument_parser::parse_any_scan_set): Likewise, in one place.
1679 (argument_parser::handle_conversions): Likewise, in two places.
1680 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1681 and use it to make a substring_loc. Pass the latter to
1682 check_format_types.
1683 (check_format_info_main): Add params "fmt_param_loc" and
1684 "format_string_cst". Convert warning_at calls using
1685 location_from_offset to calls to format_warning_at_char. Pass the
1686 new params to the arg_parser ctor. Pass "format_string_cst" to
1687 flag_chars.validate. Pass "fmt_param_loc" to
1688 arg_parser.check_argument_type.
1689 (check_format_types): Convert first param from a location_t
1690 to a const substring_loc & and rename to "fmt_loc". Attempt
1691 to extract the range of the relevant parameter and pass it
1692 to format_type_warning.
1693 (format_type_warning): Convert first param from a location_t
1694 to a const substring_loc & and rename to "fmt_loc". Add
1695 params "param_range" and "type". Replace calls to warning_at
1696 with calls to format_warning_at_substring.
1697
1c4d457e
DM
16982016-08-08 David Malcolm <dmalcolm@redhat.com>
1699
1700 * c-format.c (class flag_chars_t): New class.
1701 (struct length_modifier): New struct.
1702 (class argument_parser): New class.
1703 (flag_chars_t::flag_chars_t): New ctor.
1704 (flag_chars_t::has_char_p): New method.
1705 (flag_chars_t::add_char): New method.
1706 (flag_chars_t::validate): New method.
1707 (flag_chars_t::get_alloc_flag): New method.
1708 (flag_chars_t::assignment_suppression_p): New method.
1709 (argument_parser::argument_parser): New ctor.
1710 (argument_parser::read_any_dollar): New method.
1711 (argument_parser::read_format_flags): New method.
1712 (argument_parser::read_any_format_width): New method.
1713 (argument_parser::read_any_format_left_precision): New method.
1714 (argument_parser::read_any_format_precision): New method.
1715 (argument_parser::handle_alloc_chars): New method.
1716 (argument_parser::read_any_length_modifier): New method.
1717 (argument_parser::read_any_other_modifier): New method.
1718 (argument_parser::find_format_char_info): New method.
1719 (argument_parser::validate_flag_pairs): New method.
1720 (argument_parser::give_y2k_warnings): New method.
1721 (argument_parser::parse_any_scan_set): New method.
1722 (argument_parser::handle_conversions): New method.
1723 (argument_parser::check_argument_type): New method.
1724 (check_format_info_main): Introduce classes argument_parser
1725 and flag_chars_t, moving the code within the loop into methods
1726 of these classes. Make various locals "const".
1727
88fa5555
DM
17282016-08-05 David Malcolm <dmalcolm@redhat.com>
1729
1730 * c-common.c: Include "substring-locations.h".
1731 (get_cpp_ttype_from_string_type): New function.
1732 (g_string_concat_db): New global.
1733 (substring_loc::get_range): New method.
1734 * c-common.h (g_string_concat_db): New declaration.
1735 (class substring_loc): New class.
1736 * c-lex.c (lex_string): When concatenating strings, capture the
1737 locations of all tokens using a new obstack, and record the
1738 concatenation locations within g_string_concat_db.
1739 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1740 on the ggc-heap.
1741
78169471
MP
17422016-07-29 Marek Polacek <polacek@redhat.com>
1743
638fc14f
MP
1744 PR c/71926
1745 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1746 parentheses warning.
1747
78169471
MP
1748 PR c/71574
1749 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1750
1225d6b1
ML
17512016-07-28 Martin Liska <mliska@suse.cz>
1752
1753 PR gcov-profile/68025
1754 * c-common.c (handle_no_profile_instrument_function_attribute):
1755
ec1e2a40
BE
17562016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1757
1758 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1759 BITS_PER_UNIT_LOG.
1760
5ec2cd9f
JM
17612016-07-25 Jason Merrill <jason@redhat.com>
1762
1763 PR c++/65970
1764 * c.opt (fconstexpr-loop-limit): New.
1765
9dc5773f 17662016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
1767
1768 PR c++/71675
1769 * c-common.c (resolve_overloaded_builtin): Avoid converting
1770 __atomic_compare_exchange_n return type to that of what its
1771 first argument points to.
1772
e3fe09c1
UB
17732016-07-22 Uros Bizjak <ubizjak@gmail.com>
1774
1775 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1776 ~(unsigned HOST_WIDE_INT) 0.
1777
bc91c436
ML
17782016-07-22 Martin Liska <mliska@suse.cz>
1779
1780 PR gcov-profile/69028
1781 PR gcov-profile/62047
1782 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1783 to the current_function_decl.
1784
451dcc66
JM
17852016-07-21 Jason Merrill <jason@redhat.com>
1786
1787 PR c++/65168
1788 * c-common.c (c_common_truthvalue_conversion): Check
1789 c_inhibit_evaluation_warnings for warning about address of
1790 reference.
1791
de6a69ee
DM
17922016-07-20 David Malcolm <dmalcolm@redhat.com>
1793
1794 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1795 const char *.
1796
d022c55a
JM
17972016-07-15 Jason Merrill <jason@redhat.com>
1798
1799 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1800
ddbbcb19
JJ
18012016-07-15 Jakub Jelinek <jakub@redhat.com>
1802
1803 PR c/71858
1804 * c-common.h (enum lookup_name_fuzzy_kind): Add
1805 FUZZY_LOOKUP_FUNCTION_NAME.
1806
d0cf395a
JM
18072016-07-08 Jason Merrill <jason@redhat.com>
1808
1809 P0145: Refining Expression Order for C++.
1810 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1811 * c-opts.c: Adjust.
1812
98d44e93
MT
18132016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1814
1815 PR c++/71214
1816 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1817
f9d8d994
TS
18182016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1819
1820 * c-pragma.h (enum pragma_kind): Rename
1821 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1822 users.
1823
4aa83879
RB
18242016-06-29 Richard Biener <rguenther@suse.de>
1825
1826 PR middle-end/71002
1827 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1828
a25bd9e6
JM
18292016-06-24 Jason Merrill <jason@redhat.com>
1830
1831 P0145R2: Refining Expression Order for C++.
1832 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1833 MODIFY_EXPR.
1834
a86451b9
JJ
18352016-06-24 Jakub Jelinek <jakub@redhat.com>
1836
1837 * c-common.c (check_builtin_function_arguments): Require last
1838 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1839 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1840 if the last argument is pointer to enumerated or boolean type.
1841
1a4f11c8
DM
18422016-06-22 David Malcolm <dmalcolm@redhat.com>
1843
1844 PR c/70339
1845 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1846 (lookup_name_fuzzy): New prototype.
1847
fe55692c
JDA
18482016-06-21 John David Anglin <danglin@gcc.gnu.org>
1849
1850 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1851
4eb24e01
JM
18522016-06-14 Jason Merrill <jason@redhat.com>
1853
1854 P0145R2: Refining Expression Order for C++.
1855 * c.opt (fargs-in-order): New.
1856 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1857
ef7cf206
JJ
18582016-06-13 Jakub Jelinek <jakub@redhat.com>
1859
0dda258b
JJ
1860 PR sanitizer/71498
1861 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1862 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1863
ef7cf206
JJ
1864 PR preprocessor/71183
1865 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1866 to cb_get_source_date_epoch.
1867
50b15873
JJ
18682016-06-10 Jakub Jelinek <jakub@redhat.com>
1869
1870 PR c/68657
1871 * c.opt (Wpsabi): Add Warning flag.
1872
4d926e34
MS
18732016-06-10 Martin Sebor <msebor@redhat.com>
1874
1875 PR c/71392
1876 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1877 the nonnull attribute in type-generic builtins.
1878
e01b4e16
MS
18792016-06-09 Martin Sebor <msebor@redhat.com>
1880
1881 PR c/70883
1882 * c-common.c (builtin_function_validate_nargs): Make text of error
1883 message consistent with others like it.
1884
44a845ca
MS
18852016-06-08 Martin Sebor <msebor@redhat.com>
1886 Jakub Jelinek <jakub@redhat.com>
1887
1888 PR c++/70507
1889 PR c/68120
1890 * c-common.c (check_builtin_function_arguments): Handle
1891 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1892
a80a7051
RB
18932016-06-08 Richard Biener <rguenther@suse.de>
1894
1895 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1896
bfd67b47
RB
18972016-06-07 Richard Biener <rguenther@suse.de>
1898
1899 PR c/61564
1900 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1901 options and warn about others.
1902
15c98b2e
ES
19032016-06-01 Eduard Sanou <dhole@openmailbox.org>
1904
1905 * c-common.c (get_source_date_epoch): Rename to
1906 cb_get_source_date_epoch.
1907 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1908 message when the parsing fails. Use error_at instead of fatal_error.
1909 * c-common.h (get_source_date_epoch): Rename to
1910 cb_get_source_date_epoch.
1911 * c-common.h (cb_get_source_date_epoch): Prototype.
1912 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1913 * c-common.h (c_omp_region_type): Remove trailing comma.
1914 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1915 * c-lex.c (c_lex_with_flags): Remove initialization of
1916 pfile->source_date_epoch.
1917
00631022
JJ
19182016-05-30 Jakub Jelinek <jakub@redhat.com>
1919
1920 PR c++/71349
1921 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1922 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1923 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1924 instead of C_OMP_CLAUSE_SPLIT_FOR.
1925
f17a223d
RB
19262016-05-24 Richard Biener <rguenther@suse.de>
1927
1928 PR middle-end/70434
1929 PR c/69504
1930 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1931 (convert_vector_to_array_for_subscript): ... this.
1932 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1933 VIEW_CONVERT_EXPR to an array type. Rename to ...
1934 (convert_vector_to_array_for_subscript): ... this.
1935
4f2e1536
MP
19362016-05-12 Marek Polacek <polacek@redhat.com>
1937
1938 PR c/70756
1939 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1940 size_in_bytes and pass LOC to it.
1941
d6e83a8d
MM
19422016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1943
1944 PR c/43651
1945 * c.opt (Wduplicate-decl-specifier): New option.
1946
5c3a10fb
MP
19472016-05-11 Marek Polacek <polacek@redhat.com>
1948
1949 PR c++/71024
1950 * c-common.c (diagnose_mismatched_attributes): New function.
1951 * c-common.h (diagnose_mismatched_attributes): Declare.
1952
deef7113
MP
19532016-05-04 Marek Polacek <polacek@redhat.com>
1954
1955 * c.opt (Wdangling-else): New option.
1956
79ce98bc
MP
19572016-05-03 Marek Polacek <polacek@redhat.com>
1958
1959 PR c/70859
1960 * c-common.c (builtin_function_validate_nargs): Add location
1961 parameter. Use it.
1962 (check_builtin_function_arguments): Add location and arguments
1963 parameters. Use them.
1964 * c-common.h (check_builtin_function_arguments): Update declaration.
1965
381cdae4
RB
19662016-05-03 Richard Biener <rguenther@suse.de>
1967
1968 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1969 allow call args to gimplify to SSA names.
1970
1d793c34
MP
19712016-05-03 Marek Polacek <polacek@redhat.com>
1972
1973 * c-common.h (enum c_omp_region_type): Remove stray comma.
1974
77886428
CP
19752016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1976
1977 * c-common.h (enum c_omp_region_type): Define.
1978
697e0b28
RS
19792016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1980
1981 * c-common.c (shorten_compare): Use wi::to_wide.
1982
e7ff0319
CP
19832016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1984
1985 PR middle-end/70626
1986 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1987 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1988 reduction clauses in acc parallel loops.
1989
2fff3db8
MP
19902016-04-29 Marek Polacek <polacek@redhat.com>
1991
1992 PR c/70852
1993 * c-common.c (warn_for_memset): Check domain before accessing it.
1994
509063eb
DV
19952016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1996
1997 PR/69089
1998 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1999 "aligned" attribute.
2000
b632761d
JM
20012016-04-28 Jason Merrill <jason@redhat.com>
2002
2003 * c-lex.c (c_common_has_attribute): Handle nodiscard.
2004
174f6622
ES
20052016-04-28 Eduard Sanou <dhole@openmailbox.org>
2006 Matthias Klose <doko@debian.org>
2007
2008 * c-common.c (get_source_date_epoch): New function, gets the environment
2009 variable SOURCE_DATE_EPOCH and parses it as long long with error
2010 handling.
2011 * c-common.h (get_source_date_epoch): Prototype.
2012 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
2013
6bc2bb18
RB
20142015-04-27 Ryan Burn <contact@rnburn.com>
2015
2016 PR c++/69024
2017 PR c++/68997
2018 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
2019 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
2020 external linkage.
2021 (cilk_detect_and_unwrap): Corresponding changes.
2022 (extract_free_variables): Don't extract free variables from
2023 AGGR_INIT_EXPR slot.
2024 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
2025 (cilk_recognize_spawn): Likewise.
2026
c1e1f433
BS
20272016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2028
2029 * c.opt (Wmemset-elt-size): New option.
2030 * c-common.c (warn_for_memset): New function.
2031 * c-common.h (warn_for_memset): Declare.
2032
d067e05f
JM
20332016-04-25 Jason Merrill <jason@redhat.com>
2034
2035 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
2036 No longer static.
2037 * c-common.h: Declare it.
2038 * c-lex.c (c_common_has_attribute): Add maybe_unused.
2039
9aa36ae5
JM
20402016-04-22 Jason Merrill <jason@redhat.com>
2041
2042 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
2043
477d4906
IV
20442016-04-20 Ilya Verbin <ilya.verbin@intel.com>
2045
2046 PR c++/69363
2047 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
2048 * c-common.h (c_finish_cilk_clauses): Remove declaration.
2049
fe37c7af
MM
20502016-04-18 Michael Matz <matz@suse.de>
2051
2052 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
2053 and SET_DECL_ALIGN.
2054
23f2660f
EB
20552016-04-17 Eric Botcazou <ebotcazou@adacore.com>
2056
2057 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
2058 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
2059 to incomplete types.
2060 (dump_nested_type): Remove redundant tests and tidy up.
2061 (print_ada_declaration): Also set TREE_VISITED on the declaration of
2062 a type which is the typedef of an original type.
2063
1e77281b
MP
20642016-04-15 Marek Polacek <polacek@redhat.com>
2065
2066 PR c/70651
2067 * c-common.c (build_va_arg): Change two asserts into errors and return
2068 error_mark_node.
2069
b3a77f21
MP
20702016-04-13 Marek Polacek <polacek@redhat.com>
2071
2072 PR c++/70639
2073 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
2074 for switch statements, too.
2075
322b8466
JM
20762016-03-28 Jason Merrill <jason@redhat.com>
2077
2078 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
2079
fbdb6baf
MP
20802016-03-23 Marek Polacek <polacek@redhat.com>
2081
2082 PR c++/69884
2083 * c.opt (Wignored-attributes): New option.
2084
5c240f4d
DM
20852016-03-22 David Malcolm <dmalcolm@redhat.com>
2086
2087 PR c/69993
2088 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
2089 diagnostic text, reversing the order of the warning and note so
2090 that they appear in source order.
2091
14ba7b28
MP
20922016-03-17 Marek Polacek <polacek@redhat.com>
2093
2094 PR c/69407
2095 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
2096 operations.
2097
08a1cadc
JM
20982016-03-14 Jason Merrill <jason@redhat.com>
2099
2aaeea19
JM
2100 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
2101
08a1cadc
JM
2102 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
2103
c06d25bb
RB
21042016-03-09 Richard Biener <rguenther@suse.de>
2105
2106 PR c/70143
2107 * c-common.c (strict_aliasing_warning): Add back
2108 alias_sets_conflict_p check.
2109
80aac5c8
JM
21102016-03-08 Jason Merrill <jason@redhat.com>
2111
2112 * c-opts.c (set_std_cxx1z): Don't enable concepts.
2113
64b23c13
DM
21142016-03-04 David Malcolm <dmalcolm@redhat.com>
2115
2116 PR c/68187
2117 * c-indentation.c (get_visual_column): Move code to determine next
2118 tab stop to...
2119 (next_tab_stop): ...this new function.
2120 (line_contains_hash_if): Delete function.
2121 (detect_preprocessor_logic): Delete function.
2122 (get_first_nws_vis_column): New function.
2123 (detect_intervening_unindent): New function.
2124 (should_warn_for_misleading_indentation): Replace call to
2125 detect_preprocessor_logic with a call to
2126 detect_intervening_unindent.
2127
729526f5
DM
21282016-03-04 David Malcolm <dmalcolm@redhat.com>
2129
2130 PR c/68187
2131 * c-indentation.c (should_warn_for_misleading_indentation): When
2132 suppressing warnings about cases where the guard and body are on
2133 the same column, only use the first non-whitespace column in place
2134 of the guard token column when dealing with "else" clauses.
2135 When rejecting aligned BODY and NEXT, loosen the requirement
2136 from equality with the first non-whitespace of guard to simply
2137 that they not be indented relative to it.
2138
e9a35493
RB
21392016-03-04 Richard Biener <rguenther@suse.de>
2140
2141 PR c++/70054
2142 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
2143 instead of alias_sets_conflict_p.
2144
1be56bc5
MP
21452016-03-01 Marek Polacek <polacek@redhat.com>
2146
2147 PR c++/69795
2148 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
2149 any DECL.
2150
35886f0b
MS
21512016-02-22 Martin Sebor <msebor@redhat.com>
2152
2153 PR middle-end/69780
2154 * c-common.c (check_builtin_function_arguments): Validate and
2155 reject invalid arguments to __builtin_alloca_with_align.
2156
4246c8da
MW
21572016-02-20 Mark Wielaard <mjw@redhat.com>
2158
2159 PR c/28901
2160 * c.opt (Wunused-const-variable): Turn into Alias for...
2161 (Wunused-const-variable=): New option.
2162
268be88c
BE
21632016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2164
2165 PR c++/69865
2166 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
2167 here...
2168 (c_common_init_options): ...to here.
2169 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
2170
871b3f47
JJ
21712016-02-19 Jakub Jelinek <jakub@redhat.com>
2172
2173 PR c++/69826
2174 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
2175 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
2176 flag_preprocess_only.
2177
bf14eba2
JJ
21782016-02-16 Jakub Jelinek <jakub@redhat.com>
2179
2180 PR c/69835
2181 * c.opt (Wnonnull-compare): Enable for -Wall.
2182
ba6b3795
JJ
21832016-02-15 Jakub Jelinek <jakub@redhat.com>
2184
2185 PR c++/69797
2186 * c-common.c (sync_resolve_size): Diagnose too few arguments
2187 even when params is non-NULL empty vector.
2188
a011cd92
BS
21892016-02-08 Bernd Schmidt <bschmidt@redhat.com>
2190
2191 PR target/60410
2192 * c.opt (fshort-double): Remove.
2193
46cb9332
MS
21942016-02-05 Martin Sebor <msebor@redhat.com>
2195
2196 PR c++/69662
2197 * c.opt (Warning options): Update -Wplacement-new to take
2198 an optional argument.
2199
e1b81f2b
JJ
22002016-02-01 Jakub Jelinek <jakub@redhat.com>
2201
2202 PR preprocessor/69543
2203 PR c/69558
2204 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
2205 instead of loc to control_warning_option.
2206
b6adbb9f
NS
22072016-02-01 Nathan Sidwell <nathan@codesourcery.com>
2208
2209 * c.opt (fopenacc-dim=): New option.
2210
5d70666e
RB
22112016-01-27 Ryan Burn <contact@rnburn.com>
2212
2213 PR cilkplus/69267
2214 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
2215 gimplify_arg. Removed superfluous post_p argument.
2216 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
2217 superfluous post_p argument.
2218 * c-gimplify.c (c_gimplify_expr): Likewise.
2219
01e1dea3
DM
22202016-01-26 David Malcolm <dmalcolm@redhat.com>
2221
2222 PR other/69006
2223 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
2224 pp_newline_and_flush with pp_flush.
2225
9f04a53e
MS
22262016-01-20 Martin Sebor <msebor@redhat.com>
2227
2228 PR c/69405
2229 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
2230 an incompatible argument when the argument isn't a valid tree node.
2231
7f26f7df
JM
22322016-01-18 Jason Merrill <jason@redhat.com>
2233
2234 PR c++/68767
2235 * c-common.c (check_function_arguments_recurse): Fold the whole
2236 COND_EXPR, not just the condition.
2237
f62bf092
TV
22382016-01-18 Tom de Vries <tom@codesourcery.com>
2239
2240 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
2241 classify as loop clause.
2242
e0a575ff
JJ
22432016-01-15 Jakub Jelinek <jakub@redhat.com>
2244
2245 PR bootstrap/68271
2246 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
2247 C++ FE no longer has limit on number of pragmas.
2248
22492015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
2250
2251 PR c++/69048
2252 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 2253 to add missing cleanup point.
b6e3db06 2254
c7df95d8
DM
22552016-01-14 David Malcolm <dmalcolm@redhat.com>
2256
2257 PR c++/68819
2258 * c-indentation.c (get_visual_column): Add location_t param.
2259 Handle the column number being zero by effectively disabling the
2260 warning, with an "inform".
2261 (should_warn_for_misleading_indentation): Add location_t argument
2262 for all uses of get_visual_column.
2263
21efdd80
PP
22642016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
2265
2266 PR c++/69029
2267 * c-indentation.c (should_warn_for_misleading_indentation):
2268 Don't warn about do-while statements.
2269
7a127fa7
MS
22702016-01-07 Martin Sebor <msebor@redhat.com>
2271
2272 PR c/68966
2273 * c-common.c (sync_resolve_size): Reject first argument when it's
2274 a pointer to _Bool.
2275
c589e975
DM
22762016-01-05 David Malcolm <dmalcolm@redhat.com>
2277
2278 PR c/69122
2279 * c-indentation.c (get_visual_column): Remove default argument.
2280 (should_warn_for_misleading_indentation): For the multiline case,
2281 update call to get_visual_column for next_stmt_exploc so that it
2282 captures the location of the first non-whitespace character in the
2283 relevant line. Don't issue warnings if there is non-whitespace
2284 before the next statement.
2285
818ab71a
JJ
22862016-01-04 Jakub Jelinek <jakub@redhat.com>
2287
2288 Update copyright years.
2289
745e411d
DM
22902015-12-21 David Malcolm <dmalcolm@redhat.com>
2291
2292 * c-common.c (binary_op_error): Convert first param from
2293 location_t to rich_location * and use it when emitting an error.
2294 * c-common.h (binary_op_error): Convert first param from
2295 location_t to rich_location *.
2296
de67c4c3
DM
22972015-12-16 David Malcolm <dmalcolm@redhat.com>
2298
2299 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
2300 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
2301
4a38b02b
IV
23022015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2303
2304 * c-common.c (c_common_attribute_table): Handle "omp declare target
2305 link" attribute.
2306
54d62f51
JJ
23072015-12-14 Jakub Jelinek <jakub@redhat.com>
2308
2309 PR c/68833
2310 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
2311
8d4227c8
TB
23122014-12-12 Tobias Burnus <burnus@net-b.de>
2313
2314 PR fortran/68815
2315 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
2316 specifiers (%d, %i,%u and %c).
2317
f6069ccc
DM
23182015-12-10 David Malcolm <dmalcolm@redhat.com>
2319
2320 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
2321
63bbf46d
JJ
23222015-12-08 Jakub Jelinek <jakub@redhat.com>
2323
2324 PR c/48088
2325 PR c/68657
2326 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
2327 * c-pragma.c (handle_pragma_diagnostic): Adjust
2328 control_warning_option caller.
2329
f79520bb
DM
23302015-12-07 David Malcolm <dmalcolm@redhat.com>
2331
2332 * c-common.c (c_cpp_error): Update for change to
2333 rich_location::set_range.
2334
b3d5bc62
JJ
23352015-12-04 Paolo Bonzini <bonzini@gnu.org>
2336
2337 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
2338 shifting 1 out of the sign bit.
2339
23402015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
2341
2342 * c-common.c (c_common_attribute_table[]): Update max arguments
2343 count for "simd" attribute.
2344 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
2345
6eb4a537
JJ
23462015-12-03 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR preprocessor/57580
2349 * c-ppoutput.c (print): Change printed field to bool.
2350 Move src_file last for smaller padding.
2351 (init_pp_output): Set print.printed to false instead of 0.
2352 (scan_translation_unit): Fix up formatting. Set print.printed
2353 to true after printing something other than newline.
2354 (scan_translation_unit_trad): Set print.printed to true instead of 1.
2355 (maybe_print_line_1): Set print.printed to false instead of 0.
2356 (print_line_1): Likewise.
2357 (do_line_change): Set print.printed to true instead of 1.
2358 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
2359 dump_macro): Set print.printed to false after printing newline.
2360
4250754e
JM
23612015-12-02 Jason Merrill <jason@redhat.com>
2362
f479b43d
JM
2363 * c-common.c (fold_for_warn): New.
2364 (warn_logical_operator, warn_tautological_cmp)
2365 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
2366
4250754e
JM
2367 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
2368 (c_fully_fold_internal, decl_constant_value_for_optimization):
2369 Move to c/c-fold.c.
2370 * c-common.h: Don't declare decl_constant_value_for_optimization.
2371
e9e32ee6
JM
23722015-12-02 Joseph Myers <joseph@codesourcery.com>
2373
2374 PR c/68162
2375 * c-common.h (c_build_qualified_type): Add extra default
2376 arguments.
2377
37d5ad46
JB
23782015-12-01 Julian Brown <julian@codesourcery.com>
2379 Cesar Philippidis <cesar@codesourcery.com>
2380 James Norris <James_Norris@mentor.com>
2381
2382 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
2383 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
2384 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
2385
f07862c7
EB
23862015-11-30 Eric Botcazou <ebotcazou@adacore.com>
2387
2388 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
2389 (decl_sloc_common): Delete and move bulk of processing to...
2390 (decl_sloc): ...here.
2391 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
2392 (dump_ada_double_name): Remove S parameter and compute the suffix.
2393 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
2394 element type and deal with an anonymous one.
2395 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
2396 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
2397 and remove reference to QUAL_UNION_TYPE.
2398 (dump_nested_types): Make 2 passes on the fields and move bulk to...
2399 (dump_nested_type): ...here. New function extracted from above.
2400 Generate a full declaration for anonymous element type of arrays.
2401 (print_ada_declaration): Really skip anonymous declarations. Remove
2402 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
2403 Clean up processing of declarations of array types and objects.
2404 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
2405 Remove obsolete code and tidy up.
2406
75c8aac3
JH
24072015-11-29 Jan Hubicka <hubicka@ucw.cz>
2408
2409 PR c/67581
2410 * c-common.c (handle_transparent_union_attribute): Update
2411 also type variants.
2412
b58d3df2
ML
24132015-11-27 Martin Liska <mliska@suse.cz>
2414
2415 PR c++/68312
2416 * array-notation-common.c (cilkplus_extract_an_triplets):
2417 Release vector of vectors.
2418 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
2419
89a01fcf
EB
24202015-11-26 Eric Botcazou <ebotcazou@adacore.com>
2421
2422 PR c++/68527
2423 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
2424 (print_ada_struct_decl): Likewise.
2425
cc5c5226
IZ
24262015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
2427
2428 PR c++/68001
2429 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
2430 * cilk.c (recognize_spawn): Determine location in a more precise
2431 way.
2432
269adb9d
JM
24332015-11-19 Jason Merrill <jason@redhat.com>
2434
2435 * c-common.c (shorten_compare): But look through macros from
2436 system headers.
2437
d0eccfcd
JM
24382015-11-18 Jason Merrill <jason@redhat.com>
2439
2440 * c-common.c (shorten_compare): Don't -Wtype-limits if the
2441 non-constant operand comes from a macro.
2442
3e44547c
JM
24432015-11-17 Jason Merrill <jason@redhat.com>
2444
2445 PR bootstrap/68346
2446 * c-common.c (warn_tautological_cmp): Fold before checking for
2447 constants.
2448
0f62c7a0
MP
24492015-11-16 Marek Polacek <polacek@redhat.com>
2450
2451 PR c++/68362
2452 * c-common.c (check_case_bounds): Fold low and high cases.
2453
a868811e
MP
24542015-11-16 Marek Polacek <polacek@redhat.com>
2455
2456 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
2457 * c-common.c (c_common_get_alias_set): Likewise.
2458 (handle_visibility_attribute): Likewise.
2459
fff77217
KY
24602015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
2461
2462 * c-common.c (handle_simd_attribute): New.
2463 (struct attribute_spec): Add entry for "simd".
2464 (handle_simd_attribute): New.
2465
269e63b7
KT
24662015-11-13 Kai Tietz <ktietz70@googlemail.com>
2467
2468 * c-lex.c (interpret_float): Use fold_convert.
2469
ebedc9a3
DM
24702015-11-13 David Malcolm <dmalcolm@redhat.com>
2471
2472 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
2473 and store it on the result.
2474 * c-opts.c (c_common_init_options): Set
2475 global_dc->colorize_source_p.
2476
6e232ba4
JN
24772015-11-12 James Norris <jnorris@codesourcery.com>
2478 Joseph Myers <joseph@codesourcery.com>
2479
2480 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
2481 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
2482 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
2483 PRAGMA_OACC_CLAUSE_LINK.
2484
e78bede6
MP
24852015-11-11 Marek Polacek <polacek@redhat.com>
2486
2487 PR c/68107
2488 PR c++/68266
2489 * c-common.c (valid_array_size_p): New function.
2490 * c-common.h (valid_array_size_p): Declare.
2491
3f8257db 24922015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
2493
2494 PR bootstrap/68271
2495 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2496
69f293c9
AM
24972015-11-11 Andrew MacLeod <amacleod@redhat.com>
2498
2499 * array-notation-common.c: Remove unused header files.
2500 * c-ada-spec.c: Likewise.
2501 * c-cilkplus.c: Likewise.
2502 * c-common.c: Likewise.
2503 * c-cppbuiltin.c: Likewise.
2504 * c-dump.c: Likewise.
2505 * c-format.c: Likewise.
2506 * c-gimplify.c: Likewise.
2507 * c-indentation.c: Likewise.
2508 * c-lex.c: Likewise.
2509 * c-omp.c: Likewise.
2510 * c-opts.c: Likewise.
2511 * c-pch.c: Likewise.
2512 * c-ppoutput.c: Likewise.
2513 * c-pragma.c: Likewise.
2514 * c-pretty-print.c: Likewise.
2515 * c-semantics.c: Likewise.
2516 * c-ubsan.c: Likewise.
2517 * cilk.c: Likewise.
2518 * stub-objc.c: Likewise.
2519
3a40d81d
NS
25202015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2521 Cesar Philippidis <cesar@codesourcery.com>
2522 James Norris <jnorris@codesourcery.com>
2523 Julian Brown <julian@codesourcery.com>
2524 Nathan Sidwell <nathan@codesourcery.com>
2525
2526 * c-pragma.c (oacc_pragmas): Add "routine".
2527 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2528
ee45a32d
EB
25292015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2530
2531 * c-common.c (c_common_attributes): Add scalar_storage_order.
2532 (handle_scalar_storage_order_attribute): New function.
2533 * c-pragma.c (global_sso): New variable.
2534 (maybe_apply_pragma_scalar_storage_order): New function.
2535 (handle_pragma_scalar_storage_order): Likewise.
2536 (init_pragma): Register scalar_storage_order.
2537 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2538 * c.opt (Wscalar-storage-order): New warning.
2539 (fsso-struct=): New option.
2540
eb11eb15
MS
25412015-11-08 Martin Sebor <msebor@redhat.com>
2542
2543 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2544
0aad0198
RS
25452015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2546
2547 * c-common.c: Don't undef DEF_BUILTIN.
2548
8a645150
DM
25492015-11-06 David Malcolm <dmalcolm@redhat.com>
2550
2551 * c-common.c (c_cpp_error): Convert parameter from location_t to
2552 rich_location *. Eliminate the "column_override" parameter and
2553 the call to diagnostic_override_column.
2554 Update the "done_lexing" clause to set range 0
2555 on the rich_location, rather than overwriting a location_t.
2556 * c-common.h (c_cpp_error): Convert parameter from location_t to
2557 rich_location *. Eliminate the "column_override" parameter.
2558
7a5e4956
CP
25592015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2560 Thomas Schwinge <thomas@codesourcery.com>
2561 James Norris <jnorris@codesourcery.com>
2562
2563 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2564 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2565 clauses with parallel and kernels and loops.
2566 * c-pragma.h (enum pragma_omp_clause): Add entries for
2567 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2568 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2569 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2570 INDEPENDENT,SEQ}.
2571 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2572
e2f5cc96
MS
25732015-11-05 Martin Sebor <msebor@redhat.com>
2574
2575 PR c++/67942
2576 * c.opt (-Wplacement-new): New option.
2577
e01d41e5
JJ
25782015-11-05 Jakub Jelinek <jakub@redhat.com>
2579
2580 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2581 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2582 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2583 save_expr or create_tmp_var* if TEST is true.
2584 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2585 Don't call add_stmt here.
2586 (struct c_omp_check_loop_iv_data): New type.
2587 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2588 c_omp_check_loop_iv_exprs): New functions.
2589 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2590 distribute.
2591 (c_omp_declare_simd_clauses_to_numbers): Change
2592 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2593 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2594 from numbers to PARM_DECLs.
2595
595278be
MM
25962015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2597
2598 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2599 flag_checking.
2600
3f8257db 26012015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
2602
2603 PR c++-common/67882
b3d5bc62
JJ
2604 * c-common.h (fold_offsetof_1): Add argument.
2605 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
2606 offsetof expressions that reference elements past the end of
2607 an array.
2608
4bf9e5a8
TS
26092015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2610 Chung-Lin Tang <cltang@codesourcery.com>
2611
2612 * c-pragma.c (oacc_pragmas): Add "atomic".
2613 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2614
3b1661a9
ES
26152015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2616
2617 * c-common.c (handle_target_clones_attribute): New.
2618 (c_common_attribute_table): Add handle_target_clones_attribute.
2619 (handle_always_inline_attribute): Add check on target_clones attribute.
2620 (handle_target_attribute): Ditto.
2621
2adfab87
AM
26222015-10-29 Andrew MacLeod <amacleod@redhat.com>
2623
2624 * array-notation-common.c: Reorder #include's and remove duplicates.
2625 * c-ada-spec.c: Likewise.
2626 * c-cilkplus.c: Likewise.
2627 * c-common.c: Likewise.
2628 * c-cppbuiltin.c: Likewise.
2629 * c-dump.c: Likewise.
2630 * c-format.c: Likewise.
2631 * c-gimplify.c: Likewise.
2632 * c-indentation.c: Likewise.
2633 * c-lex.c: Likewise.
2634 * c-omp.c: Likewise.
2635 * c-opts.c: Likewise.
2636 * c-pch.c: Likewise.
2637 * c-ppoutput.c: Likewise.
2638 * c-pragma.c: Likewise.
2639 * c-pretty-print.c: Likewise.
2640 * c-semantics.c: Likewise.
2641 * c-ubsan.c: Likewise.
2642 * cilk.c: Likewise.
2643 * stub-objc.c: Likewise.
2644
d90ec4f2
JM
26452015-10-28 Jason Merrill <jason@redhat.com>
2646
2647 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2648
88bae6f4
TS
26492015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2650 James Norris <jnorris@codesourcery.com>
2651 Cesar Philippidis <cesar@codesourcery.com>
2652
2653 PR c/64765
2654 PR c/64880
2655 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2656 * c-omp.c (c_oacc_split_loop_clauses): New function.
2657
b1726d6c
MS
26582015-10-21 Martin Sebor <msebor@redhat.com>
2659
2660 PR driver/68043
2661 * c.opt: End each sentence that describes an option with a period.
2662
fa60eeb9
MP
26632015-10-20 Marek Polacek <polacek@redhat.com>
2664
2665 * array-notation-common.c (is_cilkplus_vector_p): Define.
2666 * c-common.h (is_cilkplus_vector_p): Declare.
2667
95979049
MP
26682015-10-20 Marek Polacek <polacek@redhat.com>
2669
2670 * c.opt (std=gnu++11): Do not describe as experimental.
2671 (std=gnu++14): Likewise.
2672
2a9fb712
JM
26732015-10-19 Jason Merrill <jason@redhat.com>
2674
2675 * c-cppbuiltin.c (c_cpp_builtins): Define
2676 __cpp_nontype_template_args.
2677
13b380a3
JM
26782015-10-19 Jason Merrill <jason@redhat.com>
2679
2680 * c-cppbuiltin.c (c_cpp_builtins): Define
2681 __cpp_enumerator_attributes, __cpp_fold_expressions,
2682 __cpp_unicode_characters.
2683
d9a6bd32
JJ
26842015-10-13 Jakub Jelinek <jakub@redhat.com>
2685 Aldy Hernandez <aldyh@redhat.com>
2686
2687 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2688 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2689 (c_define_builtins): Likewise.
2690 * c-common.h (enum c_omp_clause_split): Add
2691 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2692 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2693 (c_finish_omp_for): Add ORIG_DECLV argument.
2694 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2695 201511 instead of 201307.
2696 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2697 OMP_CRITICAL_CLAUSES to it.
2698 (c_finish_omp_ordered): Add CLAUSES argument, set
2699 OMP_ORDERED_CLAUSES to it.
2700 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2701 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2702 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2703 constructs and new OpenMP 4.5 clauses. Clear
2704 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2705 verification code.
2706 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2707 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2708 (enum pragma_omp_clause): Add
2709 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2710 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2711
624d31fe
RS
27122015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2713
2714 * c-lex.c (interpret_float): Use real_equal instead of
2715 REAL_VALUES_EQUAL.
2716
b8fd7909
JM
27172015-10-04 Jason Merrill <jason@redhat.com>
2718
2719 Implement N4514, C++ Extensions for Transactional Memory.
2720 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2721 (c_common_attribute_table): Add transaction_safe_dynamic.
2722 transaction_safe now affects type identity.
2723 (handle_tm_attribute): Handle transaction_safe_dynamic.
2724 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2725 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2726 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2727 (D_TRANSMEM): New.
2728 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2729 * c-pretty-print.c (pp_c_attributes_display): Don't print
2730 transaction_safe in C++.
2731
12651878
MP
27322015-10-02 Marek Polacek <polacek@redhat.com>
2733
2734 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2735
3e3b8d63
MP
27362015-10-02 Marek Polacek <polacek@redhat.com>
2737
2738 PR c/64249
2739 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2740 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2741 * c.opt (Wduplicated-cond): New option.
2742
0d1a8f75
JM
27432015-10-01 Joseph Myers <joseph@codesourcery.com>
2744
2745 * c.opt (std=c11): Do not describe as experimental.
2746 (std=gnu11): Likewise.
2747 (std=iso9899:2011): Likewise.
2748
3e32ee19
NS
27492015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2750
2751 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2752 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2753
974348ee
MP
27542015-09-25 Marek Polacek <polacek@redhat.com>
2755
2756 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2757 (ubsan_instrument_shift): Likewise.
2758
15dbc1a6
MP
27592015-09-25 Marek Polacek <polacek@redhat.com>
2760
2761 PR sanitizer/64906
2762 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2763
6b95d7cc
PP
27642015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2765
2766 * c-indentation.c (should_warn_for_misleading_indentation):
2767 Compare next_stmt_vis_column with guard_line_first_nws instead
2768 of with guard_line_vis_column.
2769
c1822f9c
MLI
27702015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2771
2772 PR c/49654
2773 PR c/49655
2774 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2775 options and options not valid for the current language.
2776
d5398058
PP
27772015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2778
2779 * c-indentation.c (should_warn_for_misleading_indentation):
2780 Float out and consolidate the calls to get_visual_column that
2781 are passed guard_exploc as an argument. Compare
2782 next_stmt_vis_column with guard_line_first_nws instead of with
2783 body_line_first_nws.
2784
6b333269
NS
27852015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2786
2787 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2788 Wnamespaces): New C++ warnings.
2789
a75f1574
JM
27902015-09-22 Jason Merrill <jason@redhat.com>
2791
2792 * c-common.h (abi_compat_version_crosses): New.
2793 (warn_abi_version): Declare.
2794 * c-common.c: Define it.
2795 * c-opts.c (c_common_post_options): Handle it.
2796 flag_abi_compat_version defaults to 8.
2797
bdaaa8b7
VV
27982015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2799
2800 Complete the implementation of N4230, Nested namespace definition.
2801 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2802 __cpp_nested_namespace_definitions.
2803
eaa797e8
MLI
28042015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2805
2806 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2807
c4914de6
MLI
28082015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2809
2810 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2811 when warning.
2812 * c-pragma.h (pragma_lex): Add optional loc argument.
2813
fcb87c50
MM
28142015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2815
2816 * c-format.c (check_format_arg): Adjust to use common block size in all
2817 object pools.
2818
31bdd08a
DM
28192015-09-15 David Malcolm <dmalcolm@redhat.com>
2820
2821 * c-format.c (location_from_offset): Update for change in
2822 signature of location_get_source_line.
2823 * c-indentation.c (get_visual_column): Likewise.
2824 (line_contains_hash_if): Likewise.
2825
aa9f4b4c
MP
28262015-09-14 Marek Polacek <polacek@redhat.com>
2827
2828 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2829 setting various warnings.
2830
aa256c4a
MP
28312015-09-14 Marek Polacek <polacek@redhat.com>
2832
2833 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2834 a negative value.
2835
0f876f22
MW
28362015-09-11 Mark Wielaard <mjw@redhat.com>
2837
2838 PR c/28901
2839 * c.opt (Wunused-variable): Option from common.opt.
2840 (Wunused-const-variable): New option.
2841
273aa49e
PC
28422015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2843
2844 PR c++/53184
2845 * c.opt ([Wsubobject-linkage]): Add.
2846
1807ffc1
MS
28472015-09-03 Martin Sebor <msebor@redhat.com>
2848
2849 PR c/66516
2850 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2851 functions.
2852 * c-common.c (reject_gcc_builtin): Define.
2853
38942840
BI
28542015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2855
2856 PR middle-end/60586
2857 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2858 prototype.
2859 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2860 cilk_gimplify_call_params_in_spawned_fn.
2861 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2862 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2863 unwrapping.
2864
c316b5e4
MP
28652015-08-25 Marek Polacek <polacek@redhat.com>
2866
2867 PR middle-end/67330
2868 * c-common.c (handle_weak_attribute): Don't check whether the
2869 visibility can be changed here.
2870
584a7c46
MLI
28712015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2872
2873 * c-lex.c (c_lex_with_flags): Use explicit locations.
2874
a79683d5
TS
28752015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2876
2877 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2878 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2879
61717a45
FXC
28802015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2881
2882 PR middle-end/36757
2883 * c-common.c (check_builtin_function_arguments): Add check
2884 for BUILT_IN_SIGNBIT argument.
2885
329524f5
PC
28862015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2887
2888 PR c++/67160
2889 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2890 in c++1z mode.
2891
4ee55665
MP
28922015-08-17 Marek Polacek <polacek@redhat.com>
2893
2894 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2895 with whitespaces before qualifier names.
2896
b893e375
MP
28972015-08-12 Marek Polacek <polacek@redhat.com>
2898
2899 PR c++/55095
2900 * c-common.c (maybe_warn_shift_overflow): Properly handle
2901 left-shifting 1 into the sign bit.
2902
c2d89095
MLI
29032015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2904
2905 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2906
971e17ff
AS
29072015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2908 Braden Obrzut <admin@maniacsvault.net>
2909 Jason Merrill <jason@redhat.com>
2910
2911 Add C++ Concepts TS support.
2912 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2913 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2914 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2915 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2916 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2917 * c.opt (fconcepts): New.
2918
b3d5bc62
JJ
29192015-08-02 Martin Sebor <msebor@redhat.com>
2920
2921 * c.opt (-Wframe-address): New warning option.
2922
8ebca419
PP
29232015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2924
2925 * c-indentation.c (should_warn_for_misleading_indentation):
2926 Improve heuristics.
2927
1a1e101f
PP
29282015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2929
2930 * c-indentation.c (get_visual_column): Add parameter first_nws,
2931 use it. Update comment documenting the function.
2932 (is_first_nonwhitespace_on_line): Remove.
2933 (should_warn_for_misleading_indentation): Replace usage of
2934 of is_first_nonwhitespace_on_line with get_visual_column.
2935
992118a1
PP
29362015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2937
2938 * c-indentation.h (struct token_indent_info): Define.
2939 (get_token_indent_info): Define.
2940 (warn_for_misleading_information): Declare.
2941 * c-common.h (warn_for_misleading_information): Remove.
2942 * c-identation.c (warn_for_misleading_indentation):
2943 Change declaration to take three token_indent_infos. Adjust
2944 accordingly.
2945 * c-identation.c (should_warn_for_misleading_indentation):
2946 Likewise. Bail out early if the body is a compound statement.
2947 (guard_tinfo_to_string): Define.
2948
e8fa3817
JM
29492015-07-30 Jason Merrill <jason@redhat.com>
2950
2951 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2952 '*' for reference decay.
2953
173864e8
MP
29542015-07-30 Marek Polacek <polacek@redhat.com>
2955
2956 * c-common.c (warn_tautological_cmp): Bail for float types.
2957
f2afe6dd
MP
29582015-07-27 Marek Polacek <polacek@redhat.com>
2959
2960 PR bootstrap/67030
2961 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2962
05b28fd6
MP
29632015-07-27 Marek Polacek <polacek@redhat.com>
2964
2965 PR c++/66555
2966 PR c/54979
2967 * c-common.c (find_array_ref_with_const_idx_r): New function.
2968 (warn_tautological_cmp): New function.
2969 * c-common.h (warn_tautological_cmp): Declare.
2970 * c.opt (Wtautological-compare): New option.
2971
5a5062b8
MP
29722015-07-23 Marek Polacek <polacek@redhat.com>
2973
2974 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2975 (ubsan_instrument_shift): Likewise.
2976
dc891fe7
MP
29772015-07-23 Marek Polacek <polacek@redhat.com>
2978
2979 PR sanitizer/66908
2980 * c-ubsan.c: Include gimplify.h.
2981 (ubsan_instrument_division): Unshare OP0 and OP1.
2982 (ubsan_instrument_shift): Likewise.
2983
451b5e48
MP
29842015-07-20 Marek Polacek <polacek@redhat.com>
2985 Richard Sandiford <richard.sandiford@arm.com>
2986
2987 PR c++/55095
2988 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2989 Use EXPR_LOC_OR_LOC.
2990 (maybe_warn_shift_overflow): New function.
2991 * c-common.h (maybe_warn_shift_overflow): Declare.
2992 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2993 * c.opt (Wshift-overflow): New option.
2994
fb0b2914
ML
29952015-07-16 Martin Liska <mliska@suse.cz>
2996
2997 * c-format.c (static void check_format_info_main): Use
2998 object_allocator instead of pool_allocator.
2999 (check_format_arg): Likewise.
3000 (check_format_info_main): Likewise.
3001
903f5c23
AM
30022015-07-15 Andrew MacLeod <amacleod@redhat.com>
3003
3004 * c-opts.c: Remove multiline #include comment.
3005
026c3cfd
AH
30062015-07-12 Aldy Hernandez <aldyh@redhat.com>
3007
3008 * c-common.c: Fix double word typos.
3009
bb49ee66
EB
30102015-07-10 Eric Botcazou <ebotcazou@adacore.com>
3011
3012 * c-ada-spec.h (cpp_operation): Revert latest change.
3013 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
3014 constructors and destructors.
3015
1916bcb5
AM
30162015-07-09 Andrew MacLeod <amacleod@redhat.com>
3017
3018 * c-common.h: Adjust includes for flags.h changes.
3019 * stub-objc.c: Likewise.
026c3cfd 3020
a9dcd529
EB
30212015-07-08 Eric Botcazou <ebotcazou@adacore.com>
3022
3023 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
3024 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
3025
b03b462f
JJ
30262015-07-08 Jakub Jelinek <jakub@redhat.com>
3027
3028 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
3029 are to be removed, return NULL rather than original clauses list.
3030
c7131fb2
AM
30312015-07-07 Andrew MacLeod <amacleod@redhat.com>
3032
3033 * array-notation-common.c: Adjust includes.
3034 * c-ada-spec.c: Likewise.
3035 * c-cilkplus.c: Likewise.
3036 * c-common.h: Likewise.
3037 * c-cppbuiltin.c: Likewise.
3038 * c-dump.c: Likewise.
3039 * c-format.c: Likewise.
3040 * c-gimplify.c: Likewise.
3041 * c-indentation.c: Likewise.
3042 * c-lex.c: Likewise.
3043 * c-omp.c: Likewise.
3044 * c-opts.c: Likewise.
3045 * c-pch.c: Likewise.
3046 * c-ppoutput.c: Likewise.
3047 * c-pragma.c: Likewise.
3048 * c-pretty-print.c: Likewise.
3049 * c-semantics.c: Likewise.
3050 * c-ubsan.c: Likewise.
3051 * cilk.c: Likewise.
3052 * stub-objc.c: Likewise.
3053
2a7fb83f
EB
30542015-07-07 Eric Botcazou <ebotcazou@adacore.com>
3055
3056 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
3057 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
3058
a03c9bf1
JM
30592015-07-01 Jason Merrill <jason@redhat.com>
3060
36a85135
JM
3061 * c-common.h (D_CXX11): Rename from D_CXX0X.
3062 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
3063 * c-common.c: Adjust.
3064
e7fa68d5
JM
3065 * c-opts.c (c_common_post_options): Default to C++14.
3066
a03c9bf1
JM
3067 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
3068
fe95b036
ESR
30692015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
3070
3071 Implement N4197 - Adding u8 character literals
b3d5bc62 3072 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 3073 CPP_CHAR.
b3d5bc62 3074 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 3075 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 3076 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
3077 and CPP_UTF8CHAR tokens.
3078 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 3079
da2e71c9
MLI
30802015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3081
3082 PR fortran/66605
3083 * c-common.c (do_warn_unused_parameter): Move here.
3084 * c-common.h (do_warn_unused_parameter): Declare.
3085
b155cfd9
MP
30862015-06-29 Marek Polacek <polacek@redhat.com>
3087
3088 PR c/66322
3089 * c-common.c (check_case_bounds): Add bool * parameter. Set
3090 OUTSIDE_RANGE_P.
3091 (c_add_case_label): Add bool * parameter. Pass it down to
3092 check_case_bounds.
3093 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
3094 warning here.
3095 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
3096 declarations.
3097
31521951
MP
30982015-06-27 Marek Polacek <polacek@redhat.com>
3099
3100 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
3101 or VECTOR_INTEGER_TYPE_P throughout.
3102 * c-gimplify.c: Likewise.
3103
22d03525
MP
31042015-06-26 Marek Polacek <polacek@redhat.com>
3105
3106 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
3107 * c-common.c (c_fully_fold_internal): Likewise.
3108 (c_alignof_expr): Likewise.
3109 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
3110 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 3111 * cilk.c (create_parm_list): Likewise.
22d03525 3112
af05e6e5
MP
31132015-06-26 Marek Polacek <polacek@redhat.com>
3114
3115 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
3116
f0889939
AM
31172015-06-25 Andrew MacLeod <amacleod@redhat.com>
3118
3119 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
3120 * c-gimplify.c: Likewise.
3121 * c-pragma.c: Likewise.
3122 * c-ubsan.c: Likewise.
3123 * cilk.c: Likewise.
3124
ca752f39
RS
31252015-06-25 Richard Sandiford <richard.sandiford@arm.com>
3126
3127 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
3128 ggc_hasher.
3129
16a16ec7
AM
31302015-06-25 Andrew MacLeod <amacleod@redhat.com>
3131
3132 * cilk.c: Move calls.h after tm.h in the include chain.
3133
0ae9bd27
MP
31342015-06-25 Marek Polacek <polacek@redhat.com>
3135
3136 * array-notation-common.c: Use VAR_P throughout.
3137 * c-ada-spec.c: Likewise.
3138 * c-common.c: Likewise.
3139 * c-format.c: Likewise.
3140 * c-gimplify.c: Likewise.
3141 * c-omp.c: Likewise.
3142 * c-pragma.c: Likewise.
3143 * c-pretty-print.c: Likewise.
3144 * cilk.c: Likewise.
3145
62f9079a
MP
31462015-06-25 Marek Polacek <polacek@redhat.com>
3147
3148 * cilk.c (extract_free_variables): Use is_global_var.
3149
0fa16060
RS
31502015-06-23 Richard Sandiford <richard.sandiford@arm.com>
3151
3152 * c-common.c: Don't include target-def.h.
3153
a68ae2e1
MP
31542015-06-23 Marek Polacek <polacek@redhat.com>
3155
3156 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
3157 when comparing INTEGER_CSTs.
3158
c6a2f2d9
PMR
31592015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
3160
3161 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
3162 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
3163 (dump_ada_template): Skip partially specialized types.
3164
6b4db501
MM
31652015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
3166
3167 * c-common.c (scalar_to_vector): Use std::swap instead of manually
3168 swapping.
3169
abb226c9
AM
31702015-06-17 Andrew MacLeod <amacleod@redhat.com>
3171
3172 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
3173 * c-ada-spec.c: Likewise.
3174 * c-cilkplus.c: Likewise.
3175 * c-common.c: Likewise.
3176 * c-common.h: Likewise.
3177 * c-cppbuiltin.c: Likewise.
3178 * c-dump.c: Likewise.
3179 * c-format.c: Likewise.
3180 * c-gimplify.c: Likewise.
3181 * c-indentation.c: Likewise.
3182 * c-lex.c: Likewise.
3183 * c-omp.c: Likewise.
3184 * c-opts.c: Likewise.
3185 * c-pch.c: Likewise.
3186 * c-ppoutput.c: Likewise.
3187 * c-pragma.c: Likewise.
3188 * c-pretty-print.c: Likewise.
3189 * c-semantics.c: Likewise.
3190 * c-ubsan.c: Likewise.
3191 * cilk.c: Likewise.
3192 * stub-objc.c: Likewise.
3193
076fecad
PP
31942015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
3195
3196 PR c++/65168
3197 * c-common.c (c_common_truthvalue_conversion): Warn when
3198 converting an address of a reference to a truth value.
3199
13fdf2e2
AM
32002015-06-08 Andrew MacLeod <amacleod@redhat.com>
3201
3202 * array-notation-common.c : Adjust include files.
3203 * c-ada-spec.c : Likewise.
3204 * c-cilkplus.c : Likewise.
3205 * c-common.c : Likewise.
3206 * c-common.h : Likewise.
3207 * c-cppbuiltin.c : Likewise.
3208 * c-dump.c : Likewise.
3209 * c-format.c : Likewise.
3210 * c-gimplify.c : Likewise.
3211 * c-indentation.c : Likewise.
3212 * c-lex.c : Likewise.
3213 * c-omp.c : Likewise.
3214 * c-opts.c : Likewise.
3215 * c-pch.c : Likewise.
3216 * c-ppoutput.c : Likewise.
3217 * c-pragma.c : Likewise.
3218 * c-pretty-print.c : Likewise.
3219 * c-semantics.c : Likewise.
3220 * c-ubsan.c : Likewise.
3221 * cilk.c : Likewise.
3222 * stub-objc.c : Likewise.
3223
a1661b90
MP
32242015-06-08 Marek Polacek <polacek@redhat.com>
3225
3226 PR c/66415
3227 * c-format.c (location_from_offset): Return LOC if LINE is null.
3228
d7438551
AH
32292015-06-05 Aldy Hernandez <aldyh@redhat.com>
3230
3231 * c-common.h (c_parse_final_cleanups): New prototype.
3232 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
3233
b3d5bc62
JJ
32342015-06-04 Sriraman Tallam <tmsriram@google.com>
3235
3236 * c-common.c (noplt): New attribute.
3237 (handle_noplt_attribute): New handler.
3238
ecb9f223
AM
32392015-06-04 Andrew MacLeod <amacleod@redhat.com>
3240
3241 * array-notation-common.c: Adjust includes for restructured coretypes.h.
3242 * c-ada-spec.c: Likewise.
3243 * c-cilkplus.c: Likewise.
3244 * c-common.c: Likewise.
3245 * c-common.h: Likewise.
3246 * c-cppbuiltin.c: Likewise.
3247 * c-dump.c: Likewise.
3248 * c-format.c: Likewise.
3249 * c-gimplify.c: Likewise.
3250 * c-indentation.c: Likewise.
3251 * c-lex.c: Likewise.
3252 * c-omp.c: Likewise.
3253 * c-opts.c: Likewise.
3254 * c-pch.c: Likewise.
3255 * c-ppoutput.c: Likewise.
3256 * c-pragma.c: Likewise.
3257 * c-pretty-print.c: Likewise.
3258 * c-semantics.c: Likewise.
3259 * c-ubsan.c: Likewise.
3260 * cilk.c: Likewise.
3261 * stub-objc.c: Likewise.
3262
6ac48155
DM
32632015-06-02 David Malcolm <dmalcolm@redhat.com>
3264
3265 PR c/66220:
3266 * c-indentation.c (should_warn_for_misleading_indentation): Use
3267 expand_location rather than expand_location_to_spelling_point.
3268 Don't warn if the guarding statement is more indented than the
3269 next/body stmts.
3270
773ce42e
DM
32712015-06-02 David Malcolm <dmalcolm@redhat.com>
3272
3273 * c-indentation.c (warn_for_misleading_indentation): Bail out
3274 immediately if -Wmisleading-indentation isn't enabled.
3275
4fef8379
ML
32762015-06-01 Martin Liska <mliska@suse.cz>
3277
3278 * c-format.c (check_format_arg):Use new type-based pool allocator.
3279 (check_format_info_main) Likewise.
3280
1edfb384
EB
32812015-05-31 Eric Botcazou <ebotcazou@adacore.com>
3282
3283 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
3284 (has_nontrivial_methods): Likewise.
3285
9677ef52
MP
32862015-05-25 Marek Polacek <polacek@redhat.com>
3287
3288 * c-ubsan.c (ubsan_instrument_shift): Use type0.
3289
fd5c817a
MP
32902015-05-22 Marek Polacek <polacek@redhat.com>
3291
3292 PR c/47043
3293 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
3294
a2f45fe6 32952015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
3296
3297 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
3298 STACK_GROWS_DOWNWARD.
3299
a2f45fe6 33002015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
3301
3302 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
3303 STACK_GROWS_DOWNWARD rather than if it is defined.
3304
0fee2ac2 33052015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 3306
0fee2ac2
MLI
3307 PR c/52952
3308 * c-format.c (location_column_from_byte_offset): New.
3309 (location_from_offset): New.
3310 (struct format_wanted_type): Add offset_loc field.
3311 (check_format_info): Move handling of location for extra arguments
3312 closer to the point of warning.
3313 (check_format_info_main): Pass the result of location_from_offset
3314 to warning_at.
3315 (format_type_warning): Pass the result of location_from_offset
3316 to warning_at.
3317
cf4ef6f7
MP
33182015-05-20 Marek Polacek <polacek@redhat.com>
3319
3320 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
3321
3a65ee74
MP
33222015-05-20 Marek Polacek <polacek@redhat.com>
3323
3324 * c-ada-spec.c (dump_sloc): Use DECL_P.
3325
21b634ae
MP
33262015-05-20 Marek Polacek <polacek@redhat.com>
3327
3328 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
3329 * c-common.c: Likewise.
3330
0e50b624
DM
33312015-05-19 David Malcolm <dmalcolm@redhat.com>
3332
3333 * c-common.h (fe_file_change): Strengthen param from
3334 const line_map * to const line_map_ordinary *.
3335 (pp_file_change): Likewise.
3336 * c-lex.c (fe_file_change): Likewise.
3337 (cb_define): Use linemap_check_ordinary when invoking
3338 SOURCE_LINE.
3339 (cb_undef): Likewise.
3340 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
3341 invoking cb_file_change.
3342 (c_finish_options): Likewise.
3343 (push_command_line_include): Likewise.
3344 (cb_file_change): Strengthen param "new_map" from
3345 const line_map * to const line_map_ordinary *.
3346 * c-ppoutput.c (cb_define): Likewise for local "map".
3347 (pp_file_change): Likewise for param "map" and local "from".
3348
fab27f52
MM
33492015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
3350
3351 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
3352
2fe1d762
TV
33532015-05-18 Tom de Vries <tom@codesourcery.com>
3354
3355 * c-common.c (build_va_arg_1): New function.
3356 (build_va_arg): Add address operator to va_list operand if necessary.
3357
7a37fa90
MM
33582015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
3359
3360 PR c/48956
3361 * c-common.c (int_safely_convertible_to_real_p): Define.
3362 (unsafe_conversion_p): Check conversions involving complex types.
3363 (conversion_warning): Add new warning message for conversions which
3364 discard imaginary component.
3365 * c-common.h: (enum conversion_safety): Add new enumerator for such
3366 conversions.
3367
3aa3c9fc
MP
33682015-05-14 Marek Polacek <polacek@redhat.com>
3369
3370 PR c/66066
3371 PR c/66127
3372 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
3373 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
3374 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
3375 use it. If FOR_INT_CONST, require that all evaluated operands be
3376 INTEGER_CSTs.
3377
c3388e62
DM
33782015-05-12 David Malcolm <dmalcolm@redhat.com>
3379
3380 * c-common.h (warn_for_misleading_indentation): New prototype.
3381 * c-indentation.c: New file.
3382 * c.opt (Wmisleading-indentation): New option.
3383
c7b38fd5
TV
33842015-05-12 Tom de Vries <tom@codesourcery.com>
3385
3386 PR tree-optimization/66010
3387 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
3388
381bf11e
JM
33892015-05-09 Jason Merrill <jason@redhat.com>
3390
edff0c06
JM
3391 * c-opts.c (c_common_post_options): Also clear
3392 cpp_opts->cpp_warn_cxx11_compat.
3393
129211bc
JM
3394 * c-common.h (enum cxx_dialect): Add cxx_unset.
3395 * c-common.c (cxx_dialect): Initialize to cxx_unset.
3396 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
3397
381bf11e
JM
3398 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
3399 (std=gnu++0x): Mark as Undocumented.
3400 (std=gnu++1y): Add deprecated message.
3401
fe191308
JM
34022015-05-08 Jason Merrill <jason@redhat.com>
3403
765189ff
JM
3404 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
3405 * c-opts.c: Adjust.
3406
fe191308
JM
3407 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
3408
755e528f
MP
34092015-05-08 Marek Polacek <polacek@redhat.com>
3410
3411 PR c/64918
3412 * c.opt (Woverride-init-side-effects): New option.
3413
0173bd2a
MP
34142015-05-07 Marek Polacek <polacek@redhat.com>
3415
3416 PR c/65179
3417 * c-common.c (c_fully_fold_internal): Warn when left shifting a
3418 negative value.
3419 * c.opt (Wshift-negative-value): New option.
3420 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
3421 when -Wextra and C99/C++11 mode.
3422
e0f0d3b9
MP
34232015-05-07 Marek Polacek <polacek@redhat.com>
3424 Martin Uecker <uecker@eecs.berkeley.edu>
3425
3426 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
3427 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
3428
8243e2a9
JM
34292015-05-05 Jason Merrill <jason@redhat.com>
3430
3431 * c.opt (Wterminate): New.
3432
577cd070
MP
34332015-04-30 Marek Polacek <polacek@redhat.com>
3434
3435 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
3436 require that the non-constant be of a boolean type.
3437
0373796b
JT
34382015-04-29 Josh Triplett <josh@joshtriplett.org>
3439
e0f0d3b9
MP
3440 * c-common.c (handle_section_attribute): Refactor to reduce
3441 nesting and distinguish between error cases.
0373796b 3442
716c0ba6
MP
34432015-04-29 Marek Polacek <polacek@redhat.com>
3444
3445 PR c/64610
3446 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
3447 with 0/1.
3448
8848828b
JJ
34492015-04-29 Jakub Jelinek <jakub@redhat.com>
3450
3451 * c-common.h (omp_clause_mask): Unconditionally define as a class.
3452 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
3453 HOST_BITS_PER_WIDE_INT.
3454
ecd0e562
TV
34552015-04-28 Tom de Vries <tom@codesourcery.com>
3456
3457 PR tree-optimization/65887
3458 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
3459
2a877204 34602015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 3461 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
3462
3463 * c-ada-spec.c (in_function): Delete.
3464 (dump_generic_ada_node): Do not change in_function and remove the
3465 redundant code dealing with it.
3466 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
3467 (print_ada_methods): Output the static member functions in a nested
3468 package after the regular methods as well as associated renamings.
3469
4853031e
MP
34702015-04-24 Marek Polacek <polacek@redhat.com>
3471
3472 PR c/65830
3473 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
3474 and OPT_Wshift_count_overflow.
3475
8c2b7f79
MP
3476 PR c/63357
3477 * c-common.c (warn_logical_operator): Warn if the operands have the
3478 same expressions.
3479
b8787813
MP
34802015-04-24 Marek Polacek <polacek@redhat.com>
3481
3482 PR c/61534
3483 * c-common.c (warn_logical_operator): Bail if either operand comes
3484 from a macro expansion.
3485
8fba1830
BRF
34862015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3487
3488 PR target/55143
3489 * c-common.c (c_default_pointer_mode): Add definition.
3490 * c-common.h (c_default_pointer_mode): Add declaration.
3491
17958621
JJ
34922015-03-11 Jakub Jelinek <jakub@redhat.com>
3493
3494 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3495 on record_builtin_type argument.
3496
7ccb1a11
JJ
34972015-03-10 Jakub Jelinek <jakub@redhat.com>
3498
3499 PR c/65120
3500 * c-common.c (warn_logical_not_parentheses): Don't warn for
3501 !x == 0 or !x != 0.
3502
04fd785e
MP
35032015-03-07 Marek Polacek <polacek@redhat.com>
3504
3505 PR sanitizer/65280
3506 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3507 before trying to figure out whether we have a flexible array member.
3508
a4e26206 35092015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3510 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
3511
3512 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3513
0d2489f4
EB
35142015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3515
3516 PR ada/65319
3517 * c-ada-spec.c (print_destructor): Remove obsolete code.
3518
83ed54d7
EB
35192015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3520
3521 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3522 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3523 DECL_TEMPLATE_RESULT emulations.
3524 (dump_ada_template)): Add guard for TYPE_METHODS.
3525
7631f0e2
MP
35262015-02-27 Marek Polacek <polacek@redhat.com>
3527
3528 PR c/65040
3529 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3530
d1783ae5
KT
35312015-02-27 Kai Tietz <ktietz@redhat.com>
3532
3533 PR c/35330
3534 * c-pragma.c (handle_pragma_weak): Do not try to create
3535 weak/alias of declarations not being function, or variable
3536 declarations.
3537
56a9f6bc
TS
35382015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3539
3540 PR libgomp/64625
3541 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3542 Remove macros.
3543 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3544
3d5cb23d
MP
35452015-02-16 Marek Polacek <polacek@redhat.com>
3546
3547 PR c/65066
3548 * c-format.c (check_format_types): Handle null param.
3549
fa008882
MP
35502015-02-13 Marek Polacek <polacek@redhat.com>
3551
3552 PR c/65040
3553 * c-format.c (check_format_types): Don't warn about different
3554 signedness if the original value is in the range of WANTED_TYPE.
3555
785f21af
JM
35562015-02-12 Jason Merrill <jason@redhat.com>
3557
3558 PR c++/64956
3559 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3560 to the current highest version.
3561 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3562
4886ec8e
JJ
35632015-02-04 Jakub Jelinek <jakub@redhat.com>
3564
3565 PR c/64824
3566 PR c/64868
3567 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3568 instead of RDIV_EXPR. Use build_binary_op instead of
3569 build2_loc.
3570
40fecdd6
JM
35712015-01-30 Joseph Myers <joseph@codesourcery.com>
3572
3573 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3574 to pass input_location as first argument.
3575
a0c88d06
TV
35762015-01-23 Tom de Vries <tom@codesourcery.com>
3577
3578 PR libgomp/64672
3579 * c.opt (fopenacc): Mark as LTO option.
3580
1506ae0e
TV
35812015-01-23 Tom de Vries <tom@codesourcery.com>
3582
3583 PR libgomp/64707
3584 * c.opt (fopenmp): Mark as LTO option.
3585
31be63ab
JJ
35862015-01-21 Jakub Jelinek <jakub@redhat.com>
3587
3588 PR c/63307
b1726d6c 3589 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
3590 (compare_decls): Fix up formatting.
3591
35922015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3593
3594 PR c/63307
3595 * cilk.c: Include vec.h.
3596 (struct cilk_decls): New structure.
3597 (wrapper_parm_cb): Split this function to...
3598 (fill_decls_vec): ...this...
3599 (create_parm_list): ...and this.
3600 (compare_decls): New function.
3601 (for_local_cb): Remove.
3602 (wrapper_local_cb): Ditto.
3603 (build_wrapper_type): For now first traverse and fill vector of
3604 declarations then sort it and then deal with sorted vector.
3605 (cilk_outline): Ditto.
3606 (declare_one_free_variable): Ditto.
3607
6875457f
JM
36082015-01-21 Jason Merrill <jason@redhat.com>
3609
3610 PR c++/64629
3611 * c-format.c (check_format_arg): Call decl_constant_value.
3612
185c9e56
ML
36132015-01-19 Martin Liska <mliska@suse.cz>
3614
3615 * c-common.c (handle_noicf_attribute): New function.
3616
41dbbb37
TS
36172015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3618 Bernd Schmidt <bernds@codesourcery.com>
3619 James Norris <jnorris@codesourcery.com>
3620 Cesar Philippidis <cesar@codesourcery.com>
3621 Ilmir Usmanov <i.usmanov@samsung.com>
3622 Jakub Jelinek <jakub@redhat.com>
3623
3624 * c.opt (fopenacc): New option.
3625 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3626 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3627 New macros.
3628 * c-common.h (c_finish_oacc_wait): New prototype.
3629 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3630 (c_finish_oacc_wait): New function.
3631 * c-pragma.c (oacc_pragmas): New variable.
3632 (c_pp_lookup_pragma, init_pragma): Handle it.
3633 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3634 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3635 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3636 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3637 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3638 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3639 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3640 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3641 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3642 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3643 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3644 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3645 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3646 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3647 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3648 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3649 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3650 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3651 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3652 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3653 PRAGMA_OACC_CLAUSE_WORKER.
3654
3f8257db 36552015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
3656
3657 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3658 for the new option fstack-protector_explicit.
3659 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3660 (handle_stack_protect_attribute): New function.
3661
3f8257db 36622015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
3663
3664 * c.opt: New option -Warray-bounds=.
3665
adfac8df
JJ
36662015-01-09 Michael Collison <michael.collison@linaro.org>
3667
3668 * array-notation-common.c: Include hash-set.h, machmode.h,
3669 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3670 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3671 * c-ada-spec.c: Ditto.
3672 * c-cilkplus.c: Ditto.
3673 * c-common.c: Include input.h due to flattening of tree.h.
3674 Define macro GCC_C_COMMON_C.
3675 * c-common.h: Flatten tree.h header files into c-common.h.
3676 Remove include of tree-core.h.
3677 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3678 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3679 fold-const.h, wide-int.h, and inchash.h due to
3680 flattening of tree.h.
3681 * c-dump.c: Ditto.
3682 * c-format.c: Flatten tree.h header files into c-common.h.
3683 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3684 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3685 fold-const.h, wide-int.h, and inchash.h due to
3686 flattening of tree.h.
3687 * c-dump.c: Include hash-set.h, machmode.h,
3688 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3689 fold-const.h, wide-int.h, and inchash.h due to
3690 flattening of tree.h.
3691 * c-format.c: Include hash-set.h, machmode.h,
3692 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3693 fold-const.h, wide-int.h, inchash.h and real.h due to
3694 flattening of tree.h.
3695 * c-gimplify.c: Include hash-set.h, machmode.h,
3696 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3697 fold-const.h, wide-int.h, and inchash.h due to
3698 flattening of tree.h.
3699 * cilk.c: Ditto.
3700 * c-lex.c: Ditto.
3701 * c-omp.c: Ditto.
3702 * c-opts.c: Ditto.
3703 * c-pch.c: Ditto.
3704 * c-ppoutput.c: Ditto.
3705 * c-pragma.c: Ditto.
3706 * c-pretty-print.c: Ditto.
3707 * c-semantics.c: Ditto.
3708 * c-ubsan.c: Ditto.
3709 * stub-objc.c: Ditto.
3710
f5481fc4
JM
37112015-01-08 Jason Merrill <jason@redhat.com>
3712
3713 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3714 do_ubsan_in_current_function.
3715 (ubsan_maybe_instrument_reference_or_call): Likewise.
3716 * c-ubsan.h: Declare it.
3717
de35aa66
MS
37182015-01-08 Mike Stump <mikestump@comcast.net>
3719
3720 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3721
4a9a42ab
MP
37222015-01-07 Marek Polacek <polacek@redhat.com>
3723
3724 PR c/64440
3725 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3726 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3727
2f42e5de
TS
37282015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3729
3730 PR c++/31397
3731 * c.opt (Wsuggest-override): New option.
3732
5624e564
JJ
37332015-01-05 Jakub Jelinek <jakub@redhat.com>
3734
3735 Update copyright years.
3736
5bd012f8
MP
37372015-01-05 Marek Polacek <polacek@redhat.com>
3738
3739 PR c/64423
3740 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3741 parameter. Use it.
3742 * c-common.h (warn_array_subscript_with_type_char): Update
3743 declaration.
3744
a7fa8d18
ESR
37452014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3746
3747 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3748 Control macro with flag_sized_deallocation.
3749
3f8257db 37502014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
3751
3752 * c.opt (Wdiscarded-array-qualifiers): New option.
3753
1f8d3e84
JJ
37542014-12-19 Jakub Jelinek <jakub@redhat.com>
3755
3756 PR preprocessor/63831
3757 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3758 and __has_cpp_attribute here.
3759 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3760 c_common_has_attribute.
3761 * c-common.h (c_common_has_attribute): New prototype.
3762 * c-lex.c (init_c_lex): Set cb->has_attribute to
3763 c_common_has_attribute instead of cb_has_attribute.
3764 (get_token_no_padding): New function.
3765 (cb_has_attribute): Renamed to ...
3766 (c_common_has_attribute): ... this. No longer static. Use
3767 get_token_no_padding, require ()s, don't build TREE_LIST
3768 unnecessarily, fix up formatting, adjust diagnostics, call
3769 init_attributes.
3770
20b06add
JM
37712014-12-15 Jason Merrill <jason@redhat.com>
3772
3773 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3774 (-Wsized-deallocation): New.
3775 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3776 to on in C++14 and up.
3777
94a073b2
JM
37782014-12-11 Jason Merrill <jason@redhat.com>
3779
acaa5911
JM
3780 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3781
94a073b2
JM
3782 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3783 we aren't complaining about VLAs.
3784
7fb66c15
MP
37852014-12-06 Marek Polacek <polacek@redhat.com>
3786
3787 PR tree-optimization/64183
3788 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3789 shift-expression if it is integer_type_node. Use types_compatible_p.
3790
b731b390
JJ
37912014-11-29 Jakub Jelinek <jakub@redhat.com>
3792
3793 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3794 last argument from create_tmp_var_raw and create_tmp_var calls.
3795 * cilk.c (gimplify_cilk_spawn): Likewise.
3796 * c-omp.c (c_finish_omp_atomic): Likewise.
3797
6a4da643
MP
37982014-11-28 Marek Polacek <polacek@redhat.com>
3799
3800 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3801 instead of unsigned_type_node.
3802
541e35a6
MP
38032014-11-28 Marek Polacek <polacek@redhat.com>
3804
3805 PR c/63862
3806 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3807 to op1_utype.
3808 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3809 expression to unsigned_type_node.
3810
dcc97066
MW
38112014-11-20 Mark Wielaard <mjw@redhat.com>
3812
3813 PR debug/38757
3814 * c-opts.c (set_std_c89): Set lang_hooks.name.
3815 (set_std_c99): Likewise.
3816 (set_std_c11): Likewise.
3817 (set_std_cxx98): Likewise.
3818 (set_std_cxx11): Likewise.
3819 (set_std_cxx14): Likewise.
3820 (set_std_cxx1z): Likewise.
3821
aa7da51a
JJ
38222014-11-21 Jakub Jelinek <jakub@redhat.com>
3823
3824 PR target/63764
3825 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3826 return type to bool.
009a3480 3827 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
3828 (convert_vector_to_pointer_for_subscript): Change return type to
3829 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3830 and copy it into a TARGET_EXPR and use that instead of *vecp
3831 directly.
3832
538dd0b7
DM
38332014-11-19 David Malcolm <dmalcolm@redhat.com>
3834
3835 Merger of git branch "gimple-classes-v2-option-3".
3836 * ChangeLog.gimple-classes: New.
3837 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3838 from being just a vec<gimple> to a vec<gbind *>.
3839
c39a5e99
JJ
38402014-11-18 Jakub Jelinek <jakub@redhat.com>
3841
3842 PR sanitizer/63813
3843 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3844 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3845 get_pointer_alignment for non-pointers. Use ptype, or if it is
3846 reference type, corresponding pointer type, as type of kind
3847 argument.
3848 (ubsan_maybe_instrument_reference,
3849 ubsan_maybe_instrument_member_call): Adjust callers.
3850
8537a4a9
MP
38512014-11-15 Marek Polacek <polacek@redhat.com>
3852
3853 PR middle-end/63884
3854 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3855 for NULL fndecl.
3856 (extract_array_notation_exprs): Return for NULL node.
3857
2079956a
JM
38582014-11-12 Joseph Myers <joseph@codesourcery.com>
3859
3860 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3861 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3862
1304953e
JJ
38632014-11-12 Jakub Jelinek <jakub@redhat.com>
3864
3865 PR c/59708
3866 * c-common.c (check_builtin_function_arguments): Handle
3867 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3868
e5e44252
AK
38692014-11-10 Andi Kleen <ak@linux.intel.com>
3870
3871 PR c/60804
3872 * c-common.h (check_no_cilk): Declare.
3873 * cilk.c (get_error_location): New function.
3874 (check_no_cilk): Dito.
3875
e64b984d
AK
38762014-11-10 Andi Kleen <ak@linux.intel.com>
3877
3878 * cilk.c (recognize_spawn): Use expression location
3879 for error message.
3880
13c21655
PC
38812014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3882
3883 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3884
42fd12b1
ESR
38852014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3886
3887 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3888 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3889 (__cpp_range_based_for, __cpp_initializer_lists,
3890 __cpp_delegating_constructors, __cpp_nsdmi,
3891 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3892 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3893 __has_cpp_attribute.
3894 * c-lex.c (cb_has_attribute): New callback CPP function;
3895 (init_c_lex): Set has_attribute callback.
3896
6f450181
RB
38972014-11-04 Richard Biener <rguenther@suse.de>
3898
3899 * c-common.c (shorten_compare): Do not shorten mixed
3900 DFP and non-DFP compares.
3901
26f0e1d6
ESR
39022014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3903
3904 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3905 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3906 Commentary and rearrangement of tests.
3907 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3908 Commentary and rearrangement of tests.
3909 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3910 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3911
ef4bddc2
RS
39122014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3913
3914 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3915 enum from machine_mode.
3916
c582198b
AM
39172014-10-28 Andrew MacLeod <amacleod@redhat.com>
3918
adfac8df
JJ
3919 * c-common.c: Adjust include files.
3920 * c-gimplify.c: Ditto.
3921 * cilk.c: Ditto.
3922 * c-pragma.c: Ditto.
3923 * c-ubsan.c: Ditto.
c582198b 3924
60393bbc
AM
39252014-10-27 Andrew MacLeod <amacleod@redhat.com>
3926
3927 * c-gimplify.c: Adjust include files.
3928
d723bb7c
MLI
39292014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3930
3931 PR c++/53061
3932 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3933 c_common_initialize_diagnostics.
3934 * c-common.h: Likewise.
3935
90f3520e
MP
39362014-10-24 Marek Polacek <polacek@redhat.com>
3937
3938 PR c/56980
3939 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3940 print "struct"/"union"/"enum" for typedefed names.
3941
59d7607a
MP
39422014-10-23 Marek Polacek <polacek@redhat.com>
3943
3944 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3945 in unsigned type.
3946
d95a2703
JJ
39472014-10-22 Jakub Jelinek <jakub@redhat.com>
3948 Yury Gribov <y.gribov@samsung.com>
3949
3950 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3951 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3952 instead of flag_sanitize_recover as bool flag.
3953
8e6ef852
KY
39542014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3955
3956 * cilk.c: Revert previous change.
3957
948cf550
IZ
39582014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3959
3960 PR c/63307
3961 * cilk.c: Include vec.h.
3962 (struct cilk_decls): New structure.
3963 (wrapper_parm_cb): Split this function to...
3964 (fill_decls_vec): ...this...
3965 (create_parm_list): ...and this.
3966 (compare_decls): New function.
3967 (for_local_cb): Remove.
3968 (wrapper_local_cb): Ditto.
3969 (build_wrapper_type): For now first traverse and fill vector of
3970 declarations then sort it and then deal with sorted vector.
3971 (cilk_outline): Ditto.
3972 (declare_one_free_variable): Ditto.
3973
92574c7c
MP
39742014-10-17 Marek Polacek <polacek@redhat.com>
3975
3976 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3977 * c.opt (Wimplicit-int): Initialize to -1.
3978
83685514
AM
39792014-10-16 Andrew MacLeod <amacleod@redhat.com>
3980
3981 * c-pragma.c: Adjust include files.
3982 * c-semantics.c: Likewise.
3983
5b8300ea
DD
39842014-10-16 DJ Delorie <dj@redhat.com>
3985
3986 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3987 multiples of bytes.
3988
5f83e90b
JM
39892014-10-14 Jason Merrill <jason@redhat.com>
3990
3991 PR c++/63455
3992 * c-common.h (CPP_PREPARSED_EXPR): New.
3993 (N_CP_TTYPES): Adjust.
3994
d73326ca
MP
39952014-10-15 Marek Polacek <polacek@redhat.com>
3996
3997 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3998
78a7c317
DD
39992014-10-14 DJ Delorie <dj@redhat.com>
4000
4001 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
4002 types, not just __int128.
4003 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
4004 types, not just __int128.
4005 (cpp_atomic_builtins): Round pointer sizes up.
4006 (type_suffix): Use type precision, not specific types.
4007 * c-common.c (c_common_reswords): Remove __int128 special case.
4008 (c_common_type_for_size): Check for all __intN types, not just
4009 __int128.
4010 (c_common_type_for_mode): Likewise.
4011 (c_common_signed_or_unsigned_type): Likewise.
4012 (c_build_bitfield_integer_type): Likewise.
4013 (c_common_nodes_and_builtins): Likewise.
4014 (keyword_begins_type_specifier): Likewise.
4015 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
4016 __intN variants.
4017
2a22f99c
TS
40182014-10-12 Trevor Saunders <tsaunders@mozilla.com>
4019
4020 * c-common.c: Use hash_table instead of hashtab.
4021
2a8ef767
ESR
40222014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4023
adfac8df 4024 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
4025 C++11 section.
4026
3c9aabbd
MG
40272014-10-03 Marc Glisse <marc.glisse@inria.fr>
4028
4029 PR c++/54427
4030 PR c++/57198
4031 PR c++/58845
4032 * c-common.c (warn_logical_operator): Punt for vectors.
4033
a15f7cb8
ESR
40342014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4035
4036 Implement SD-6: SG10 Feature Test Recommendations
4037 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
4038 macros and the __has_header macro.
4039
8d0cf15e
JM
40402014-09-30 Jason Merrill <jason@redhat.com>
4041
dd5d5481
JM
4042 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
4043 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
4044 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4045
b752325e
JM
4046 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
4047 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4048
8d0cf15e
JM
4049 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
4050 * c-common.c (c_common_reswords): Remove __is_convertible_to.
4051
083e891e
MP
40522014-09-24 Marek Polacek <polacek@redhat.com>
4053
4054 PR c/61405
4055 PR c/53874
4056 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
4057
7861b648
AK
40582014-09-23 Andi Kleen <ak@linux.intel.com>
4059
4060 * c-common.c (handle_no_reorder_attribute): New function.
4061 (c_common_attribute_table): Add no_reorder attribute.
4062
9a79452d
JM
40632014-09-22 Joseph Myers <joseph@codesourcery.com>
4064
4065 * c-cppbuiltin.c (c_cpp_builtins): Define
4066 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
4067 modes.
4068
dd69f047
JM
40692014-09-18 Joseph Myers <joseph@codesourcery.com>
4070
4071 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
4072 for supported floating-point modes.
4073
737a4826
MLI
40742014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4075
4076 * c.opt (Wpsabi): Use LangEnabledBy.
4077 * c-opts.c (c_common_handle_option): Do not handle here.
4078
8cc4b7a2
JM
40792014-09-12 Joseph Myers <joseph@codesourcery.com>
4080
4081 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
4082 macros for floating-point modes.
4083
179b5a55
MG
40842014-09-11 Marc Glisse <marc.glisse@inria.fr>
4085
4086 PR target/58757
4087 * c-cppbuiltin.c (builtin_define_float_constants): Correct
4088 __*_DENORM_MIN__ without denormals.
4089
570a11fe
JJ
40902014-09-10 Jakub Jelinek <jakub@redhat.com>
4091
4092 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4093 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4094 ubsan_create_data callers.
4095 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
4096 index is constant or BIT_AND_EXPR with constant mask and is
4097 small enough for the bound.
4098 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
4099 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
4100
b559c810
MLI
41012014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4102
4103 * c.opt: Add CppReason to various flags.
4104 (Wdate-time): Re-sort.
4105 * c-common.c: Include c-common.h earlier.
4106 (struct reason_option_codes_t): Delete.
4107 (c_option_controlling_cpp_error): Prefix global type and struct
4108 with cpp_.
4109
1ef33fd4
MLI
41102014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4111
4112 * c.opt (Wnormalized): New.
4113 (Wnormalized=): Use Enum and Reject Negative.
4114 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
4115
66bb34c0
JM
41162014-09-08 Joseph Myers <joseph@codesourcery.com>
4117
4118 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
4119 digits of floating-point modes if -fbuilding-libgcc.
4120
53d68b9f
JM
41212014-09-05 Joseph Myers <joseph@codesourcery.com>
4122
4123 * c-cppbuiltin.c (c_cpp_builtins): Also define
4124 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
4125 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
4126 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
4127 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
4128 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
4129 __LIBGCC_STACK_GROWS_DOWNWARD__,
4130 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
4131 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
4132 __LIBGCC_DWARF_FRAME_REGISTERS__,
4133 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
4134 __LIBGCC_STACK_POINTER_REGNUM__ and
4135 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
4136 (builtin_define_with_value): Handle backslash-escaping in string
4137 macro values.
4138
f65586dc
RB
41392014-09-05 Richard Biener <rguenther@suse.de>
4140
4141 PR middle-end/63148
4142 * c-format.c (check_format_arg): Properly handle
4143 effectively signed POINTER_PLUS_EXPR offset.
4144
2b71f4a4
MLI
41452014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4146
4147 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
4148 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
4149 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
4150 and Init.
4151 * c-opts.c (c_common_handle_option): Do not handle here.
4152 (sanitize_cpp_opts): Likewise.
4153 * c-common.c (struct reason_option_codes_t): Handle
4154 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
4155
d2e4feca
MP
41562014-09-03 Marek Polacek <polacek@redhat.com>
4157
4158 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
4159
9a771876
JJ
41602014-09-02 Jakub Jelinek <jakub@redhat.com>
4161 Balaji V. Iyer <balaji.v.iyer@intel.com>
4162 Igor Zamyatin <igor.zamyatin@intel.com>
4163
4164 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
4165 * c-common.c (c_common_reswords): Added _Cilk_for.
4166 * c-common.h (enum rid): Added RID_CILK_FOR.
4167 (cilk_for_number_of_iterations): Add declaration.
4168 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
4169 CILK_FOR.
4170 * c-pragma.c (init_pragma): Register "grainsize" pragma.
4171 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
4172
81b5d104
MLI
41732014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4174
4175 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
4176 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
4177 Wundef): Use CPP, Var and Init.
4178 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
4179
b753b37b
MLI
41802014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4181
4182 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
4183 * c-opts.c (c_common_handle_option): Do not handle here.
4184
028aee17
JM
41852014-08-25 Jason Merrill <jason@redhat.com>
4186
4187 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
4188 -std=c++14 and -std=gnu++14, rather than the reverse.
4189 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
4190 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
4191 * c-common.h (cxx_dialect): Remove cxx1y.
4192
e4276ba5
ESR
41932014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
4194
4195 * c-common.h (enum cxx_dialect): Add cxx14.
4196 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
4197 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
4198 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
4199
a545cacd
JM
42002014-08-22 Jason Merrill <jason@redhat.com>
4201
4202 * c.opt (std=gnu++17): Fix alias.
4203
59ea0364
MP
42042014-08-22 Marek Polacek <polacek@redhat.com>
4205
4206 PR c++/62199
4207 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
4208 check for vector types. Drop LHS argument.
4209 * c-common.h (warn_logical_not_parentheses): Adjust.
4210
596e808c
MLI
42112014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4212
4213 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
4214 (Wmultichar): Likewise.
4215 (Wdate-time): Use C-family languages instead of Common. Use CPP
4216 and Var.
4217 * c-opts.c (c_common_handle_option): Do not handle the above
4218 options here.
4219 (sanitize_cpp_opts): Likewise.
4220
18767f65
MLI
42212014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
4222
4223 PR fortran/44054
4224 * c-opts.c: Include tree-diagnostics.h.
4225 (c_diagnostic_finalizer): New.
4226 (c_common_initialize_diagnostics): Use it.
4227
b4413594
MLI
42282014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4229
4230 PR preprocessor/51303
4231 * c-common.c (struct reason_option_codes_t option_codes):
4232 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
4233
43f9a13c
MLI
42342014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4235
4236 PR c/60975
4237 PR c/53063
4238 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
4239 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
4240 (c_common_post_options): Call init_global_opts_from_cpp.
4241 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
4242
04159acf
MP
42432014-08-19 Marek Polacek <polacek@redhat.com>
4244
4245 PR c++/62153
4246 * c-common.c (maybe_warn_bool_compare): New function.
4247 * c-common.h (maybe_warn_bool_compare): Declare.
4248 * c.opt (Wbool-compare): New option.
4249
35aff4fb
MP
42502014-08-19 Marek Polacek <polacek@redhat.com>
4251
4252 * c.opt (Wc99-c11-compat): New option.
4253
177cce46
MP
42542014-08-19 Marek Polacek <polacek@redhat.com>
4255
4256 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
4257 to warn_c90_c99_compat.
4258 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
4259 to -1.
4260
6ae9194f
MLI
42612014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
4262 Steven Bosscher <steven@gcc.gnu.org>
4263
4264 PR c/52952
4265 * c-format.c: Add extra_arg_loc and format_string_loc to struct
4266 format_check_results.
4267 (check_function_format): Use true and add comment for boolean
4268 argument.
4269 (finish_dollar_format_checking): Use explicit location when warning.
4270 (check_format_info): Likewise.
4271 (check_format_arg): Set extra_arg_loc and format_string_loc.
4272 (check_format_info_main): Use explicit location when warning.
4273 (check_format_types): Pass explicit location.
4274 (format_type_warning): Likewise.
4275
8e54f6d3
MLI
42762014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4277
4278 PR fortran/44054
4279 * c-format.c: Handle Fortran flags.
4280
cd4e76fc
IZ
42812014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
4282
4283 PR other/61962
4284 * array-notation-common.c (find_rank): Added handling for other
4285 types of references.
4286
f3bede71
MP
42872014-08-10 Marek Polacek <polacek@redhat.com>
4288
4289 PR c/51849
4290 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
4291 * c.opt (Wc90-c99-compat): Add option.
4292
9f25a338
TS
42932014-08-07 Trevor Saunders <tsaunders@mozilla.com>
4294
4295 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
4296
62e4eb35
MP
42972014-08-03 Marek Polacek <polacek@redhat.com>
4298
4299 * c-common.c (check_case_value): Add location_t parameter. Use it.
4300 (c_add_case_label): Pass loc to check_case_value.
4301
b787e7a2
TS
43022014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4303
4304 * cilk.c: Use hash_map instead of pointer_map.
4305
6e2830c3
TS
43062014-08-02 Trevor Saunders <tsaunders@mozilla.com>
4307
4308 * c-gimplify.c: Use hash_set instead of pointer_set.
4309
a7ee52fb
IZ
43102014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
4311
4312 PR middle-end/61455
4313 * array-notation-common.c (extract_array_notation_exprs): Handling
4314 of DECL_EXPR added.
4315
944fa280
JJ
43162014-08-01 Jakub Jelinek <jakub@redhat.com>
4317
4318 * c-common.h (min_align_of_type): Removed prototype.
4319 * c-common.c (min_align_of_type): Removed.
4320 * c-ubsan.h (ubsan_maybe_instrument_reference,
4321 ubsan_maybe_instrument_member_call): New prototypes.
4322 * c-ubsan.c: Include stor-layout.h and builtins.h.
4323 (ubsan_maybe_instrument_reference_or_call,
4324 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
4325 functions.
4326
b4dfdc11
MG
43272014-07-31 Marc Glisse <marc.glisse@inria.fr>
4328
4329 PR c++/60517
4330 * c.opt (-Wreturn-local-addr): Move to common.opt.
4331
a41844e5
JM
43322014-07-30 Jason Merrill <jason@redhat.com>
4333
4334 PR c++/61659
4335 PR c++/61687
4336 Revert:
4337 * c.opt (-fuse-all-virtuals): New.
4338
976d5a22
TT
43392014-07-30 Tom Tromey <tromey@redhat.com>
4340
4341 PR c/59855
4342 * c.opt (Wdesignated-init): New option.
4343 * c-common.c (c_common_attribute_table): Add "designated_init".
4344 (handle_designated_init): New function.
4345
cdc94aca
MP
43462014-07-24 Marek Polacek <polacek@redhat.com>
4347
4348 PR c/57653
4349 * c-opts.c (c_finish_options): If -imacros is in effect, return.
4350
f41373b6
DS
43512014-07-16 Dodji Seketeli <dodji@redhat.com>
4352
4353 PR preprocessor/60723 - missing system-ness marks for macro tokens
4354 * c-ppoutput.c (struct print::prev_was_system_token): New data
4355 member.
4356 (init_pp_output): Initialize it.
4357 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
4358 (do_line_change): Return a flag saying if a line marker was
4359 emitted or not.
4360 (scan_translation_unit): Detect if the system-ness of the token we
4361 are about to emit is different from the one of the previously
4362 emitted token. If so, emit a line marker. Avoid emitting useless
4363 adjacent line markers. Avoid emitting line markers for tokens
4364 originating from the expansion of built-in macros.
4365 (scan_translation_unit_directives_only): Adjust.
4366
4d661eaa
MP
43672014-07-15 Marek Polacek <polacek@redhat.com>
4368
4369 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
4370 TYPE_MAX_VALUE is NULL.
4371
b108f48f
JJ
43722014-07-14 Jakub Jelinek <jakub@redhat.com>
4373
4374 PR middle-end/61294
4375 * c.opt (Wmemset-transposed-args): New warning.
4376
c0221884
JM
43772014-07-10 Jason Merrill <jason@redhat.com>
4378
4379 PR c++/61659
4380 PR c++/61687
4381 * c.opt (-fuse-all-virtuals): New.
4382
63dfbb95
RB
43832014-07-09 Richard Biener <rguenther@suse.de>
4384
4385 PR c-family/61741
4386 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4387 using unsigned arithmetic if overflow does not wrap instead of
4388 if overflow is undefined.
4389
773ec47f
MP
43902014-07-06 Marek Polacek <polacek@redhat.com>
4391
4392 PR c/6940
4393 * c.opt (Wsizeof-array-argument): New option.
4394
00a7ba58
JJ
43952014-07-03 Jakub Jelinek <jakub@redhat.com>
4396
b1726d6c 4397 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
4398 comments->count <= 1, as comments->entries might be NULL.
4399
52ec0ea3
MP
44002014-07-01 Marek Polacek <polacek@redhat.com>
4401
4402 * c.opt (Wint-conversion): New option.
4403
d5c3d343
MP
44042014-07-01 Marek Polacek <polacek@redhat.com>
4405
4406 PR c/58286
4407 * c.opt (Wincompatible-pointer-types): New option.
4408
6e7ceb17
PC
44092014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
4410
4411 PR c++/51400
4412 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
4413 Do not discard TYPE_QUALS of type.
4414
da73100b
JM
44152014-06-26 Jason Merrill <jason@redhat.com>
4416
4417 * c-common.h (enum cxx_dialect): Add cxx1z.
4418 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
4419 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
4420
08eedf75
TJ
44212014-06-26 Teresa Johnson <tejohnson@google.com>
4422
4423 * c-common.h (get_dump_info): Declare.
4424 * c-gimplify.c (c_genericize): Use saved dump files.
4425 * c-opts.c (c_common_parse_file): Begin and end dumps
4426 once around parsing invocation.
4427 (get_dump_info): New function.
4428
7b56b2f8
MP
44292014-06-23 Marek Polacek <polacek@redhat.com>
4430 Andrew MacLeod <amacleod@redhat.com>
4431
4432 PR c/61553
4433 * c-common.c (get_atomic_generic_size): Don't segfault if the
4434 type doesn't have a size.
4435
0e37a2f3
MP
44362014-06-20 Marek Polacek <polacek@redhat.com>
4437
4438 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
4439 (ubsan_walk_array_refs_r): New function.
4440 (c_genericize): Instrument array bounds.
4441 * c-ubsan.c: Include "internal-fn.h".
4442 (ubsan_instrument_division): Mark instrumented arrays as having
4443 side effects. Adjust ubsan_type_descriptor call.
4444 (ubsan_instrument_shift): Likewise.
4445 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
4446 (ubsan_instrument_bounds): New function.
4447 (ubsan_array_ref_instrumented_p): New function.
4448 (ubsan_maybe_instrument_array_ref): New function.
4449 * c-ubsan.h (ubsan_instrument_bounds): Declare.
4450 (ubsan_array_ref_instrumented_p): Declare.
4451 (ubsan_maybe_instrument_array_ref): Declare.
4452
44532014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
4454
4455 PR lto/61123
4456 * c.opt (fshort-enums): Add to LTO.
4457 * c.opt (fshort-wchar): Likewise.
4458
5c3d09f7
MP
44592014-06-16 Marek Polacek <polacek@redhat.com>
4460
4461 PR c/60439
4462 * c.opt (Wswitch-bool): Add Var.
4463
9cf32741
JJ
44642014-06-12 Jakub Jelinek <jakub@redhat.com>
4465
4466 PR middle-end/61486
4467 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
4468 #pragma omp target teams or
4469 #pragma omp {,target }teams distribute simd.
4470
62984918
JM
44712014-06-12 Jason Merrill <jason@redhat.com>
4472
4473 * c.opt (Wabi=, fabi-compat-version): New.
4474 * c-opts.c (c_common_handle_option): Handle -Wabi=.
4475 (c_common_post_options): Handle flag_abi_compat_version default.
4476 Disallow -fabi-compat-version=1.
4477 * c-common.h (abi_version_crosses): New.
4478
f961457f
JH
44792014-06-11 Jan Hubicka <hubicka@ucw.cz>
4480
adfac8df 4481 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
4482 section names that are no longer trees.
4483
92d28cbb
JJ
44842014-06-10 Jakub Jelinek <jakub@redhat.com>
4485
4486 PR fortran/60928
4487 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4488 (omp_pragmas): ... back here.
4489
742938c9
MP
44902014-06-05 Marek Polacek <polacek@redhat.com>
4491
4492 PR c/49706
4493 * c-common.c (warn_logical_not_parentheses): New function.
4494 * c-common.h (warn_logical_not_parentheses): Declare.
4495 * c.opt (Wlogical-not-parentheses): New option.
4496
9d548dfb
MP
44972014-06-04 Marek Polacek <polacek@redhat.com>
4498
4499 PR c/30020
4500 * c-common.c (check_case_bounds): Add location parameter.
4501 Use it.
4502 (c_add_case_label): Pass loc to check_case_bounds.
4503
fedfecef
MP
45042014-06-03 Marek Polacek <polacek@redhat.com>
4505
4506 PR c/60439
4507 * c.opt (Wswitch-bool): New option.
4508
f6a7cffc
TS
45092014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4510
040d18b6
TS
4511 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4512 Remove prototypes.
4513 (record_types_used_by_current_var_decl): Move prototype to where
4514 it belongs.
4515
f6a7cffc
TS
4516 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4517 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4518 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4519
632f2871
RS
45202014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4521
4522 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4523 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4524 void_zero_node.
4525 * c-pretty-print.c (pp_c_void_constant): New function.
4526 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4527 (c_pretty_printer::expression): Handle VOID_CST.
4528 * cilk.c (extract_free_variables): Likewise.
4529 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4530 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4531
766090c2
TS
45322014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4533
4534 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4535 * c-pragma.c (push_alignment): Adjust.
4536 (handle_pragma_push_options): Likewise.
4537
661a0813
MP
45382014-05-09 Marek Polacek <polacek@redhat.com>
4539
4540 PR c/50459
4541 * c-common.c (check_user_alignment): Return -1 if alignment is error
4542 node.
4543 (handle_aligned_attribute): Don't call default_conversion on
4544 FUNCTION_DECLs.
4545 (handle_vector_size_attribute): Likewise.
4546 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4547 (handle_sentinel_attribute): Call default_conversion and allow even
4548 integral types as an argument.
4549
2793eeab
MP
45502014-05-08 Marek Polacek <polacek@redhat.com>
4551
4552 PR c/61053
4553 * c-common.c (min_align_of_type): New function factored out from...
4554 (c_sizeof_or_alignof_type): ...here.
4555 * c-common.h (min_align_of_type): Declare.
4556
f827930a
MP
45572014-05-08 Marek Polacek <polacek@redhat.com>
4558
4559 PR c/61077
4560 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4561 parameter type of main.
4562
ca49b74e
DD
45632014-05-07 DJ Delorie <dj@redhat.com>
4564
4565 * c-cppbuiltin.c (print_bits_of_hex): New.
4566 (builtin_define_type_minmax): Print values using hex so as not to
4567 require a pre-computed list of string values.
4568
1d60af08
KZ
45692014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4570 Mike Stump <mikestump@comcast.net>
4571 Richard Sandiford <rdsandiford@googlemail.com>
4572
4573 * c-ada-spec.c: Include wide-int.h.
4574 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4575 (dump_generic_ada_node): Use wide-int interfaces.
4576 * c-common.c: Include wide-int-print.h.
4577 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4578 (pointer_int_sum): Use wide-int interfaces.
4579 (c_common_nodes_and_builtins): Use make_int_cst.
4580 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4581 (handle_alloc_size_attribute): Use wide-int interfaces.
4582 (get_nonnull_operand): Likewise.
4583 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4584 * c-lex.c: Include wide-int.h.
4585 (narrowest_unsigned_type): Take a widest_int rather than two
4586 HOST_WIDE_INTs.
4587 (narrowest_signed_type): Likewise.
4588 (interpret_integer): Update accordingly. Use wide-int interfaces.
4589 (lex_charconst): Use wide-int interfaces.
4590 * c-pretty-print.c: Include wide-int.h.
4591 (pp_c_integer_constant): Use wide-int interfaces.
4592 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4593 INT_CST_LT_UNSIGNED.
4594
b15458be
RB
45952014-05-06 Richard Biener <rguenther@suse.de>
4596
4597 * c-opts.c (c_common_post_options): For -freestanding,
4598 -fno-hosted and -fno-builtin disable pattern recognition
4599 if not enabled explicitely.
4600
6577374e
MP
46012014-05-02 Marek Polacek <polacek@redhat.com>
4602
4603 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4604
d00887e8
MP
46052014-05-01 Marek Polacek <polacek@redhat.com>
4606
4607 PR c/43245
4608 * c.opt (Wdiscarded-qualifiers): Add.
4609
f8ed5150
MP
46102014-04-30 Marek Polacek <polacek@redhat.com>
4611
4612 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4613 INT_MIN / -1 sanitization only for integer types.
4614
45484dcf
MP
46152014-04-25 Marek Polacek <polacek@redhat.com>
4616
4617 PR c/18079
4618 * c-common.c (handle_noinline_attribute): Warn if the attribute
4619 conflicts with always_inline attribute.
4620 (handle_always_inline_attribute): Warn if the attribute conflicts
4621 with noinline attribute.
4622
38e514c0
MP
46232014-04-25 Marek Polacek <polacek@redhat.com>
4624
4625 PR c/60156
4626 * c-common.c (check_main_parameter_types): Warn about variadic main.
4627
44875f92
MS
46282014-04-24 Mike Stump <mikestump@comcast.net>
4629
4630 * c.opt (Wshadow-ivar): Default to on.
4631
dcaaa5a0
DP
46322014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4633
4634 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4635
c07d7c02
MP
46362014-04-23 Marek Polacek <polacek@redhat.com>
4637
4638 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4639
1c33c9b7
JJ
46402014-04-22 Jakub Jelinek <jakub@redhat.com>
4641
4642 PR sanitizer/60275
4643 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4644 if flag_sanitize_undefined_trap_on_error.
4645 (ubsan_instrument_division, ubsan_instrument_shift,
4646 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4647 if !flag_sanitize_recover.
4648
793c625f
MG
46492014-04-22 Marc Glisse <marc.glisse@inria.fr>
4650
4651 PR libstdc++/43622
4652 * c-common.c (registered_builtin_types): Make non-static.
4653 * c-common.h (registered_builtin_types): Declare.
4654
b0f1bf36
RB
46552014-04-14 Richard Biener <rguenther@suse.de>
4656 Marc Glisse <marc.glisse@inria.fr>
4657
4658 PR c/60819
4659 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4660 apply may-alias the scalar pointer type when applicable.
4661
3b07fa4a
IZ
46622014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4663
4664 PR middle-end/60467
4665 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4666 as possible argument for Cilk_spawn.
4667
cbbd2b1c
TB
46682014-04-11 Tobias Burnus <burnus@net-b.de>
4669
4670 PR c/60194
4671 * c.opt (Wformat-signedness): Add
4672 * c-format.c(check_format_types): Use it.
4673
6415bd5d
JM
46742014-04-11 Jason Merrill <jason@redhat.com>
4675
4676 PR c++/57926
4677 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4678 default_conversion for an array argument.
4679
6525783a
MP
46802014-04-08 Marek Polacek <polacek@redhat.com>
4681
4682 PR sanitizer/60745
4683 * c-ubsan.c: Include asan.h.
4684 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4685
880a467b
NS
46862014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4687
4688 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4689
7b59ff2d
MP
46902014-04-02 Marek Polacek <polacek@redhat.com>
4691
4692 * c-common.h (c_expand_expr): Remove declaration.
4693
8edbfaa6
JJ
46942014-03-28 Jakub Jelinek <jakub@redhat.com>
4695
4696 PR c++/60689
4697 * c-common.c (add_atomic_size_parameter): When creating new
4698 params vector, push the size argument first.
4699
07d72e1d
JJ
47002014-03-26 Jakub Jelinek <jakub@redhat.com>
4701
4702 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4703 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4704 ubsan_create_data callers.
4705
b35e0fa0
JJ
47062014-03-22 Jakub Jelinek <jakub@redhat.com>
4707
4708 PR debug/60603
4709 * c-opts.c (c_finish_options): Restore cb_file_change call to
4710 <built-in>.
4711
39a1ebb3
JJ
47122014-03-13 Jakub Jelinek <jakub@redhat.com>
4713
4714 PR middle-end/36282
4715 * c-pragma.c (apply_pragma_weak): Only look at
4716 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4717 DECL_ASSEMBLER_NAME_SET_P (decl).
4718 (maybe_apply_pending_pragma_weaks): Exit early if
4719 vec_safe_is_empty (pending_weaks) rather than only when
4720 !pending_weaks.
4721 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4722 set assembler name back to NULL afterwards.
4723
a07f6ed2
JM
47242014-03-11 Jason Merrill <jason@redhat.com>
4725
4726 * c.opt: Add -std=gnu++14.
4727
75b107f5
IB
47282014-03-11 Ian Bolton <ian.bolton@arm.com>
4729
4730 * c-opts.c (c_common_post_options): Don't override
4731 -ffp-contract=fast if unsafe-math-optimizations is on.
4732
f42c637e
PM
47332014-03-08 Paulo Matos <paulo@matos-sorge.com>
4734
22b15758 4735 * c.opt: Enable LTO FE for fshort-double.
f42c637e 4736
70e24808
JM
47372014-03-07 Jason Merrill <jason@redhat.com>
4738
4739 * c.opt: Add -std=c++14.
4740
3af9c5e9
MP
47412014-03-06 Marek Polacek <polacek@redhat.com>
4742
4743 PR c/60197
4744 * cilk.c (contains_cilk_spawn_stmt): New function.
4745 (contains_cilk_spawn_stmt_walker): Likewise.
4746 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4747 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4748
b3bdf019
JJ
47492014-03-03 Jakub Jelinek <jakub@redhat.com>
4750
4751 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4752 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4753 even when flag_preprocess_only.
4754
ca7e759d
JM
47552014-02-26 Jason Merrill <jason@redhat.com>
4756
4757 PR c++/59231
4758 PR c++/11586
4759 * c-common.c (shorten_compare): Don't check
4760 c_inhibit_evaluation_warnings.
4761
28e41874
JJ
47622014-02-19 Jakub Jelinek <jakub@redhat.com>
4763
cca615af
JJ
4764 PR c/37743
4765 * c-common.c (c_common_nodes_and_builtins): When initializing
4766 c_uint{16,32,64}_type_node, also set corresponding
4767 uint{16,32,64}_type_node to the same value.
4768
28e41874
JJ
4769 PR c++/60267
4770 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4771 for PRAGMA_IVDEP if flag_preprocess_only.
4772
c2bf53a1
JJ
47732014-02-12 Jakub Jelinek <jakub@redhat.com>
4774
4775 PR c/60101
4776 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4777 if false, add ADD itself, rather than vice versa.
4778 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4779 copy. For SAVE_EXPR, only call merge_tlist once.
4780
8fcbce72
JJ
47812014-02-08 Jakub Jelinek <jakub@redhat.com>
4782
4783 PR middle-end/60092
4784 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4785 and tree_to_uhwi.
4786 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4787 functions.
4788 (c_common_attribute_table): Add alloc_align and assume_aligned
4789 attributes.
4790
0a756a3f
MP
47912014-02-06 Marek Polacek <polacek@redhat.com>
4792
4793 PR c/60087
4794 * c-common.c (warn_for_sign_compare): Call warning_at with location
4795 instead of warning.
4796
7ec4847a
MP
47972014-02-05 Marek Polacek <polacek@redhat.com>
4798
4799 PR c/53123
4800 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4801 statement.
4802
66f20604
MP
48032014-02-04 Marek Polacek <polacek@redhat.com>
4804
4805 PR c/60036
4806 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4807 SAVE_EXPR.
4808
5d77fb19
MG
48092014-02-03 Marc Glisse <marc.glisse@inria.fr>
4810
4811 PR c++/53017
4812 PR c++/59211
4813 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4814 handle_vector_size_attribute, handle_nonnull_attribute): Call
4815 default_conversion on the attribute argument.
4816 (handle_nonnull_attribute): Increment the argument number.
4817
81e5eca8
MP
48182014-01-31 Marek Polacek <polacek@redhat.com>
4819
4820 PR c/59963
4821 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4822 build_function_call_vec.
4823 (resolve_overloaded_builtin): Likewise.
4824 * c-common.h (build_function_call_vec): Adjust declaration.
4825
68fca595
MP
48262014-01-30 Marek Polacek <polacek@redhat.com>
4827
4828 PR c/59940
4829 * c-common.h (unsafe_conversion_p): Adjust declaration.
4830 (warnings_for_convert_and_check): Likewise.
4831 (convert_and_check): Likewise.
4832 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4833 expansion_point_location_if_in_system_header on it.
4834 (warnings_for_convert_and_check): Add location parameter. Call
4835 expansion_point_location_if_in_system_header on it. Use it.
4836 (convert_and_check): Add location parameter. Use it.
4837 (conversion_warning): Likewise.
4838 (c_add_case_label): Adjust convert_and_check calls.
4839 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4840
b72271b9
BI
48412014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4842
4843 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4844 flag_cilkplus.
4845 * c-pragma.c (init_pragma): Likewise.
4846 * c.opt: Likewise.
4847
393e8e8b
MP
48482014-01-23 Marek Polacek <polacek@redhat.com>
4849
4850 PR c/59846
4851 * c-common.c (shorten_compare): Add location_t parameter.
4852 * c-common.h (shorten_binary_op): Adjust declaration.
4853
f04dda30
MP
48542014-01-23 Marek Polacek <polacek@redhat.com>
4855
4856 PR c/58346
4857 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4858 * c-common.h: Declare it.
4859
621955cb
EB
48602014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4861
4862 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4863 * c-ada-spec.c (dump_ads): Likewise.
4864 (cpp_check): Likewise.
4865 (dump_ada_specs): Likewise.
4866
48672014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
4868
4869 PR c++/49718
4870 * c-common.c (handle_no_instrument_function_attribute): Allow
4871 no_instrument_function attribute in class member
4872 definition/declaration.
4873
241f845a
JJ
48742014-01-15 Jakub Jelinek <jakub@redhat.com>
4875
4876 PR c/58943
4877 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4878 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4879 being COMPOUND_EXPR.
4880 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4881 operand a SAVE_EXPR and second MODIFY_EXPR.
4882
e83b8e2e
JJ
48832014-01-09 Jakub Jelinek <jakub@redhat.com>
4884
4885 PR target/58115
4886 * c-pch.c (c_common_write_pch): Call
4887 prepare_target_option_nodes_for_pch.
4888
23a5b65a
RS
48892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4890
4891 Update copyright years
4892
f9030485
RS
48932014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4894
4895 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4896 the copyright notice.
4897
f2aa696b
EB
48982013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4899
4900 * c-ada-spec.c (print_constructor): New function.
4901 (print_destructor): Retrieve the origin of the destructor.
4902 (print_ada_declaration): Revamp handling of constructors/destructors.
4903
3f8257db 49042013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
4905 Bill Maddox <maddox@google.com>
4906 Jason Merrill <jason@redhat.com>
4907
4908 * c.opt: Add -fdeclone-ctor-dtor.
4909 * c-opts.c (c_common_post_options): Default to on iff -Os.
4910
41958c28
BI
49112013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4912
4913 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4914 attribute.
4915 * c-pragma.h (enum pragma_cilk_clause): Remove.
4916 (enum pragma_omp_clause): Added the following fields:
4917 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4918 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4919 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4920 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4921 PRAGMA_CILK_CLAUSE_UNIFORM.
4922
b1726d6c 4923
12893402
BI
49242013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4925
4926 * cilk.c (cilk_outline): Made this function non-static.
4927 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4928 (create_cilk_wrapper): Added a new parameter: a function pointer.
4929 (c_install_body_w_frame_cleanup): Remove
4930 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4931 * c-common.h (cilk_outline): New prototype.
4932 (gimplify_cilk_spawn): Removed two parameters.
4933 (cilk_install_body_with_frame_cleanup): New prototype.
4934 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4935 CILK_SPAWN_STMT case.
4936
085b42ed
BS
49372013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4938
2ce064c3
BS
4939 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4940
085b42ed
BS
4941 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4942 (int_array_type_node): Remove.
4943 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4944
9e36c9ed
MP
49452013-12-05 Marek Polacek <polacek@redhat.com>
4946
4947 PR c/52023
4948 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4949 [ADJUST_FIELD_ALIGN].
4950
296674db
JM
49512013-12-04 Joseph Myers <joseph@codesourcery.com>
4952
4953 PR c/52023
4954 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4955 and check field alignment if set.
4956 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4957 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4958
b1726d6c 49592013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
4960 Marek Polacek <polacek@redhat.com>
4961
4962 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4963 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4964
d7947e19
L
49652013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4966
4967 PR c/59309
4968 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4969 arguments.
4970
fad7652e
JJ
49712013-11-29 Jakub Jelinek <jakub@redhat.com>
4972
4973 PR c/59280
4974 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4975 goto invalid. If it is error_mark_node, don't issue further
4976 diagnostics.
4977
8b5e1202
SO
49782013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4979
4980 * c.opt (Wopenmp-simd): New.
4981
0a508bb6
JJ
49822013-11-22 Jakub Jelinek <jakub@redhat.com>
4983
4984 * c-ubsan.h (ubsan_instrument_return): New prototype.
4985 * c-ubsan.c (ubsan_instrument_return): New function.
4986
2fb9a547
AM
49872013-11-22 Andrew MacLeod <amacleod@redhat.com>
4988
4989 * c-common.c: Add required include files from gimple.h.
4990 * c-gimplify.c: Likewise
4991 * cilk.c: Likewise
4992
8400e75e
DM
49932013-11-22 David Malcolm <dmalcolm@redhat.com>
4994
4995 * c-common.c (unsafe_conversion_p): Remove use of
4996 EXPR_LOC_OR_HERE macro.
4997 (conversion_warning): Likewise.
4998 (warnings_for_convert_and_check): Likewise.
4999 (warn_for_collisions_1): Likewise.
5000 (shorten_compare): Likewise, and remove use of in_system_header
5001 macro, using the location from the former.
5002 * c-lex.c (dump_one_header): Remove use of input_filename macro.
5003 (cb_def_pragma): Remove use of in_system_header macro.
5004 (lex_string): Likewise.
5005 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5006
eb1ce453
KZ
50072013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5008 Mike Stump <mikestump@comcast.net>
5009 Richard Sandiford <rdsandiford@googlemail.com>
5010
5011 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
5012 instead of TREE_INT_CST_LOW, in cases where there is a protecting
5013 tree_fits_shwi_p or tree_fits_uhwi_p.
5014 (dump_generic_ada_node): Likewise.
5015 * c-format.c (check_format_arg): Likewise.
5016 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5017
6b3b8c27
KZ
50182013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5019
5020 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
5021
49b0aa18
JC
50222013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
5023
5024 PR c/53001
5025 * c-common.c (unsafe_conversion_p): Make this function
5026 return an enumeration with more detail.
5027 (conversion_warning): Use the new return type of
5028 unsafe_conversion_p to separately warn either about conversions
5029 that lower floating point number precision or about the other
5030 kinds of conversions.
5031 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
5032 (unsafe_conversion_p): switching return type to
5033 conversion_safety enumeration.
49b0aa18
JC
5034 * c.opt: Adding new warning -Wfloat-conversion and
5035 enabling it with -Wconversion.
5036
b826515a
BS
50372013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
5038
8e745a17
JJ
5039 * c-opts.c: Include plugin.h.
5040 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 5041
b9a55b13
MP
50422013-11-19 Marek Polacek <polacek@redhat.com>
5043
5044 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
5045 call.
5046 (ubsan_instrument_shift): Likewise.
5047 (ubsan_instrument_vla): Likewise.
5048
7d362f6c
RS
50492013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5050
5051 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
5052 cast to unsigned type.
5053
386b1f1f
RS
50542013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5055
5056 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
5057 tree_low_cst.
5058 (complete_array_type): Update comment to refer to tree_to_[su]hwi
5059 rather than tree_low_cst.
5060
ae7e9ddd
RS
50612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5062
5063 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
5064 tree_to_uhwi throughout.
5065
9439e9a1
RS
50662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5067
5068 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
5069 tree_low_cst (..., 0) with tree_to_shwi throughout.
5070
cc269bb6
RS
50712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5072
5073 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
5074 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
5075
9541ffee
RS
50762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5077
5078 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
5079 host_integerp (..., 0) with tree_fits_shwi_p throughout.
5080
c02065fc
AH
50812013-11-15 Aldy Hernandez <aldyh@redhat.com>
5082
5083 * c-cilkplus.c: New file.
5084 * c-common.c (readonly_error): Add location argument.
5085 * c-common.h (readonly_error): Same.
5086 (c_finish_cilk_clauses): Protoize.
5087 (c_check_cilk_loop): Same.
5088 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
5089 Do not fail on error_mark_node.
5090 Abstract increment canonicalization to here...
5091 (c_omp_for_incr_canonicalize_ptr): New.
5092 c-pragma.c (init_pragma): Register "simd" pragma.
5093 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
5094 (enum pragma_cilk_clause): New.
5095
9cc65f15
RS
50962013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
5097
5098 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
5099 wchar_type and host_integerp checks.
5100
18f429e2
AM
51012013-11-14 Andrew MacLeod <amacleod@redhat.com>
5102
5103 * c-common.c: Likewise.
5104 * c-gimplify.c: Likewise.
5105 * cilk.c: Likewise.
5106
d8a2d370
DN
51072013-11-14 Diego Novillo <dnovillo@google.com>
5108
5109 * c-common.c: Include fold-const.h.
5110 Include stor-layout.h.
5111 Include calls.h.
5112 Include stringpool.h.
5113 Include attribs.h.
5114 Include varasm.h.
5115 Include trans-mem.h.
5116 * c-cppbuiltin.c: Include stor-layout.h.
5117 Include stringpool.h.
5118 * c-format.c: Include stringpool.h.
5119 * c-lex.c: Include stringpool.h.
5120 Include stor-layout.h.
5121 * c-pragma.c: Include stringpool.h.
5122 Include attribs.h.
5123 Include varasm.h.
5124 Include gcc-symtab.h.
5125 * c-pretty-print.c: Include stor-layout.h.
5126 Include attribs.h.
5127 * cilk.c: Include stringpool.h.
5128 Include calls.h.
5129
38b7bc7f
JM
51302013-11-13 Joseph Myers <joseph@codesourcery.com>
5131
5132 * c-common.h (enum rid): Add RID_AUTO_TYPE.
5133 * c-common.c (c_common_reswords): Add __auto_type.
5134 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
5135
45b0be94
AM
51362013-11-12 Andrew MacLeod <amacleod@redhat.com>
5137
18f429e2
AM
5138 * c-common.c: Include gimplify.h.
5139 * c-gimplify.c: Likewise.
5140 * cilk.c: Likewise.
5141 * c-omp.c: Include gimple-expr.h instead of gimple.h.
5142 * c-ubsan.c: Don't include gimple.h.
45b0be94 5143
582d9b50
JM
51442013-11-12 Joseph Myers <joseph@codesourcery.com>
5145
5146 * c-common.c (c_common_reswords): Add _Thread_local.
5147
6b28e197
JM
51482013-11-09 Joseph Myers <joseph@codesourcery.com>
5149
5150 * c-common.c (atomic_size_supported_p): New function.
5151 (resolve_overloaded_atomic_exchange)
5152 (resolve_overloaded_atomic_compare_exchange)
5153 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
5154 Use it instead of comparing size with a local list of sizes.
5155
267bac10
JM
51562013-11-07 Andrew MacLeod <amacleod@redhat.com>
5157 Joseph Myers <joseph@codesourcery.com>
5158
5159 * c-common.h (enum rid): Add RID_ATOMIC.
5160 * c-common.c (c_common_reswords): Add _Atomic.
5161 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
5162 (keyword_is_type_qualifier): Accept RID_ATOMIC.
5163 * c-format.c (check_format_types): Check for extra _Atomic
5164 qualifiers in format argument.
5165 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
5166 (pp_c_type_qualifier_list): Mention _Atomic in comment.
5167
5157b91e
TB
51682013-11-06 Tobias Burnus <burnus@net-b.de>
5169
5170 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
5171
6dbe0958
JM
51722013-11-06 Joseph Myers <joseph@codesourcery.com>
5173
5174 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
5175 standards modes.
5176 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
5177 to mean lack of IEEE 754 support.
5178
e8ff5196
TB
51792013-11-05 Tobias Burnus <burnus@net-b.de>
5180
5181 * c.opt (-Wdate-time): New option
5182 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
5183
254a0760
JM
51842013-11-05 Joseph Myers <joseph@codesourcery.com>
5185
5186 * c-cppbuiltin.c (cpp_iec_559_value): Test
5187 flag_excess_precision_cmdline not flag_excess_precision.
5188
6d7f7e0a
TB
51892013-11-05 Tobias Burnus <burnus@net-b.de>
5190
5191 * c.opt (fopenmp-simd): New option.
5192 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
5193 (omp_pragmas): ... this new struct.
5194 (c_pp_lookup_pragma): Also walk omp_pragmas.
5195 (init_pragma): Init pragmas for -fopenmp-simd.
5196
55a7f02f
MP
51972013-11-04 Marek Polacek <polacek@redhat.com>
5198
5199 PR c++/58979
5200 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
5201
9193fb05
JM
52022013-11-04 Joseph Myers <joseph@codesourcery.com>
5203
5204 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
5205 New functions.
5206 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
5207
94159ecf
EB
52082013-11-04 Eric Botcazou <ebotcazou@adacore.com>
5209
5210 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
5211 (dump_ada_specs): Adjust prototype of second callback.
5212 * c-ada-spec.c (cpp_check): New global variable.
5213 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
5214 (print_generic_ada_decl): Likewise.
5215 (has_static_fields): Change return type to bool and add guard.
5216 (has_nontrivial_methods): New predicate.
5217 (is_tagged_type): Change return type to bool.
5218 (separate_class_package): Call has_nontrivial_methods.
5219 (pp_ada_tree_identifier): Minor tweaks.
5220 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
5221 (dump_ada_array_domains): Likewise.
5222 (dump_ada_array_type): Likewise.
5223 (dump_template_types): Remove cpp_check parameter and do not pass it to
5224 dump_generic_ada_node.
5225 (dump_ada_template): Likewise.
5226 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
5227 recursively.
5228 (print_ada_methods): Change return type to integer. Remove cpp_check
5229 parameter and do not pass it down.
5230 (dump_nested_types): Remove cpp_check parameter and do not pass it to
5231 dump_generic_ada_node.
5232 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
5233 accessing methods.
5234 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
5235 down. Use has_nontrivial_methods to recognize C++ classes. Use return
5236 value of print_ada_methods.
5237 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
5238 Set cpp_check to it before invoking dump_ada_nodes.
5239 (dump_ada_specs): Likewise.
5240
b906f4ca
MP
52412013-11-03 Marek Polacek <polacek@redhat.com>
5242
5243 * c-ubsan.c: Don't include hash-table.h.
5244 (ubsan_instrument_vla): New function.
5245 * c-ubsan.h: Declare it.
5246
5e20cdc9
DM
52472013-10-31 David Malcolm <dmalcolm@redhat.com>
5248
5249 Automated part of renaming of symtab_node_base to symtab_node.
5250
5251 Patch autogenerated by rename_symtab.py from
5252 https://github.com/davidmalcolm/gcc-refactoring-scripts
5253 revision 58bb219cc090b2f4516a9297d868c245495ee622
5254
5255 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
5256 symtab_node_base to symtab_node.
5257
7057e645
ESR
52582013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
5259
8e745a17 5260 Implement C++14 digit separators.
7057e645
ESR
5261 * c-lex.c (interpret_float): Remove digit separators from scratch string
5262 before building real literal.
5263
193ea7bc
JJ
52642013-10-30 Jakub Jelinek <jakub@redhat.com>
5265
5266 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
5267
939b37da
BI
52682013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
5269
5270 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
5271 fields.
5272 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
5273 enabled.
5274 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
5275 (insert_cilk_frame): New prototype.
5276 (cilk_init_builtins): Likewise.
5277 (gimplify_cilk_spawn): Likewise.
5278 (c_cilk_install_body_w_frame_cleanup): Likewise.
5279 (cilk_detect_spawn_and_unwrap): Likewise.
5280 (cilk_set_spawn_marker): Likewise.
5281 (build_cilk_sync): Likewise.
5282 (build_cilk_spawn): Likewise.
5283 * cilk.c: New file.
5284
67348ccc
DM
52852013-10-29 David Malcolm <dmalcolm@redhat.com>
5286
5287 Patch autogenerated by refactor_symtab.py from
5288 https://github.com/davidmalcolm/gcc-refactoring-scripts
5289 revision 58bb219cc090b2f4516a9297d868c245495ee622
5290
5291 * c-gimplify.c (c_genericize): Update for conversion of symtab types
5292 to a true class hierarchy.
5293 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
5294
d570872d
RS
52952013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
5296
5297 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
5298
98906124
JL
52992013-10-26 Jeff Law <law@redhat.com>
5300
adfac8df
JJ
5301 * c-common.c (c_define_builtins): Remove mudflap support.
5302 * c.opt: Ignore and warn for mudflap options.
98906124 5303
d73749df 53042013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
5305
5306 PR other/33426
5307 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
5308 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
5309
3f04b1bb
JM
53102013-10-23 Jason Merrill <jason@redhat.com>
5311
5312 * c-format.c (gcc_cxxdiag_char_table): Add %X.
5313
acf0174b
JJ
53142013-10-11 Jakub Jelinek <jakub@redhat.com>
5315
acd15a28
JJ
5316 * c-common.h (omp_clause_mask::operator !=): New method.
5317 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
5318 instead of if (mask & something) tests everywhere.
5319
acf0174b
JJ
5320 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
5321 201307 instead of 201107.
5322 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
5323 (c_common_attribute_table): Add "omp declare target" and
5324 "omp declare simd" attributes.
5325 (handle_omp_declare_target_attribute,
5326 handle_omp_declare_simd_attribute): New functions.
5327 * c-omp.c: Include c-pragma.h.
5328 (c_finish_omp_taskgroup): New function.
5329 (c_finish_omp_atomic): Add swapped argument, if true,
5330 build the operation first with rhs, lhs arguments and use NOP_EXPR
5331 build_modify_expr.
5332 (c_finish_omp_for): Add code argument, pass it down to make_code.
5333 (c_omp_split_clauses): New function.
5334 (c_split_parallel_clauses): Removed.
5335 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
5336 c_omp_declare_simd_clauses_to_decls): New functions.
5337 * c-common.h (omp_clause_mask): New type.
5338 (OMP_CLAUSE_MASK_1): Define.
5339 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
5340 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
5341 omp_clause_mask::operator |, omp_clause_mask::operator &,
5342 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
5343 omp_clause_mask::operator ==): New methods.
5344 (enum c_omp_clause_split): New.
5345 (c_finish_omp_taskgroup): New prototype.
5346 (c_finish_omp_atomic): Add swapped argument.
5347 (c_finish_omp_for): Add code argument.
5348 (c_omp_split_clauses): New prototype.
5349 (c_split_parallel_clauses): Removed.
5350 (c_omp_declare_simd_clauses_to_numbers,
5351 c_omp_declare_simd_clauses_to_decls): New prototypes.
5352 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
5353 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
5354 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
5355 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
5356 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
5357 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
5358 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
5359 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
5360 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
5361 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
5362 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
5363 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
5364 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
5365 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
5366 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
5367 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
5368 PRAGMA_OMP_CLAUSE_UNIFORM.
5369
826cacfe
MG
53702013-10-09 Marc Glisse <marc.glisse@inria.fr>
5371
5372 PR tree-optimization/20318
5373 * c-common.c (handle_returns_nonnull_attribute): New function.
5374 (c_common_attribute_table): Add returns_nonnull.
5375
2284b034
MG
53762013-10-03 Marc Glisse <marc.glisse@inria.fr>
5377
5378 PR c++/19476
5379 * c.opt (fcheck-new): Move to common.opt.
5380
b56e9788
MP
53812013-09-25 Marek Polacek <polacek@redhat.com>
5382 Jakub Jelinek <jakub@redhat.com>
5383
5384 PR sanitizer/58413
5385 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
5386 an expression if we can prove it is correct.
5387 (ubsan_instrument_division): Likewise. Remove unnecessary
5388 check.
5389
ce6923c5
MP
53902013-09-18 Marek Polacek <polacek@redhat.com>
5391
5392 PR sanitizer/58411
5393 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
5394 Declare it.
5395 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
5396
fb5610fb
IS
53972013-09-14 Iain Sandoe <iain@codesourcery.com>
5398
5399 PR target/48094
5400 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
5401 fobjc-gc, freplace-objc-classes): Accept for LTO.
5402
88b0e79e
JC
54032013-09-13 Jacek Caban <jacek@codeweavers.com>
5404
5405 * c-target.def: New hook
5406
c9b0866a
PC
54072013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5408
5409 PR c++/43452
5410 * c.opt (Wdelete-incomplete): Add.
5411
0af94e6f
JR
54122013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
5413
5414 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
5415 (vector_types_compatible_elements_p): New function.
5416 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
5417 declaration.
5418 (vector_types_compatible_elements_p): Declare.
5419
7c26172c
GDR
54202013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5421
5422 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
5423 a virtual member function.
5424 (pp_simple_type_specifier): Remove.
5425 (pp_c_type_specifier): Likewise.
5426 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
5427 Rename from pp_c_type_specifier. Adjust.
5428 (c_pretty_printer::c_pretty_printer): Do not assign to
5429 simple_type_specifier.
5430
20059c8b
GDR
54312013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5432
5433 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
5434 member function.
5435 (c_pretty_printer::storage_class_specifier): Likewise.
5436 (c_pretty_printer::initializer): Likewise.
5437 (pp_declaration): Remove.
5438 (pp_declaration_specifiers): Likewise.
5439 (pp_abstract_declarator): Likewise.
5440 (pp_declarator): Likewise.
5441 (pp_type_id): Likewise.
5442 (pp_statement): Likewise.
5443 (pp_constant): Likewise.
5444 (pp_id_expression): Likewise.
5445 (pp_primary_expression): Likewise.
5446 (pp_unary_expression): Likewise.
5447 (pp_multiplicative_expression): Likewise.
5448 (pp_conditional_expression): Likewise.
5449 (pp_assignment_expression): Likewise.
5450 (pp_expression): Likewise.
5451 (pp_c_type_id): Likewise.
5452 (pp_c_storage_class_specifier): Likewise.
5453 * c-pretty-print.c (pp_c_type_cast): Tidy.
5454 (pp_c_pointer): Likewise.
5455 (pp_c_type_specifier): Likewise.
5456 (pp_c_parameter_type_list): Likewise.
5457 (pp_c_function_definition): Likewise.
5458 (pp_c_init_declarator): Likewise.
5459 (pp_c_initializer_list): Likewise.
5460 (pp_c_constructor_elts): Likewise.
5461 (c_pretty_printer::direct_abstract_declarator): Likewise.
5462 (c_pretty_printer::declaration_specifiers): Likewise.
5463 (c_pretty_printer::primary_expression): Likewise.
5464 (c_pretty_printer::postfix_expression): Likewise.
5465 (c_pretty_printer::type_id): Rename from pp_c_type_id.
5466 (c_pretty_printer::storage_class_specifier): Rename from
5467 pp_c_storage_class_specifier.
5468 (c_pretty_printer::initializer): Rename from pp_c_initializer.
5469 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
5470 storage_class_specifier, initializer, offset_list, flags.
5471
de5a5fa1
MP
54722013-08-30 Marek Polacek <polacek@redhat.com>
5473
5474 * c-ubsan.c: New file.
5475 * c-ubsan.h: New file.
5476
8f0e4d72
GDR
54772013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5478
5479 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
5480 member function.
5481 (c_pretty_printer::declaration_specifiers): Likewise.
5482 (c_pretty_printer::declarator): Likewise.
5483 (c_pretty_printer::abstract_declarator): Likewise.
5484 (c_pretty_printer::direct_abstract_declarator): Likewise.
5485 (c_pretty_printer::direct_declarator): Likewise.
5486 (c_pretty_printer::function_specifier): Likewise.
5487 (pp_declaration): Adjust.
5488 (pp_declaration_specifiers): Likewise.
5489 (pp_abstract_declarator): Likewise.
5490 (pp_direct_declarator): Likewise.
5491 (pp_function_specifier): Likewise.
5492 (pp_direct_abstract_declarator): Remove as unused.
5493 (pp_c_declaration): Remove.
5494 (pp_c_declaration_specifiers): Likewise.
5495 (pp_c_declarator): Likewise.
5496 (pp_c_direct_declarator): Likewise.
5497 (pp_c_function_specifier): Likewise.
5498 (pp_c_direct_abstract_declarator): Likewise.
5499 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5500 from pp_c_abstract_declarator. Adjust.
5501 (c_pretty_printer::direct_abstract_declarator): Rename from
5502 pp_c_direct_abstract_declarator. Adjust.
5503 (c_pretty_printer::function_specifier): Rename from
5504 pp_c_function_specifier. Adjust.
5505 (c_pretty_printer::declaration_specifiers): Rename from
5506 pp_c_declaration_specifiers. Adjust.
5507 (c_pretty_printer::direct_declarator): Rename from
5508 pp_c_direct_declarator. Adjust.
5509 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5510 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5511 (c_pretty_printer::c_pretty_printer): Do not assign to
5512 declaration, declaration_specifiers, declarator,
5513 direct_declarator, direct_abstract_declarator, function_specifier.
5514
00d34d3a
GDR
55152013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5516
5517 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5518 virtual member function.
5519 (c_pretty_printer::multiplicative_expression): Likewise.
5520 (c_pretty_printer::conditional_expression): Likewise.
5521 (c_pretty_printer::assignment_expression): Likewise.
5522 (c_pretty_printer::expression): Likewise.
5523 (pp_unary_expression): Adjust.
5524 (pp_multiplicative_expression): Likewise.
5525 (pp_assignment_expression): Likewise.
5526 (pp_conditional_expression): Likewise.
5527 (pp_expression): Likewise.
5528 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5529 from pp_c_unary_expression. Adjust.
5530 (c_pretty_printer::multiplicative_expression): Rename from
5531 pp_c_multiplicative_expression. Adjust.
5532 (c_pretty_printer::conditional_expression): Rename from
5533 pp_c_conditional_expression. Adjust.
5534 (c_pretty_printer::assignment_expression): Rename from
5535 pp_c_assignment_expression. Adjust.
5536 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5537 (c_pretty_printer::c_pretty_printer): Do not assign to
5538 unary_expression, multiplicative_expression,
5539 conditional_expression, expression.
5540
fb22178f
GDR
55412013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5542
5543 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5544 virtual member function.
5545 (pp_postfix_expression): Adjust.
5546 (pp_c_postfix_expression): Remove.
5547 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5548 from pp_c_postfix_expression. Adjust.
5549 (c_pretty_printer::c_pretty_printer): Do not assign to
5550 postfix_expression.
5551
7ecc2600
GDR
55522013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5553
5554 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5555 virtua member function.
5556 (pp_primary_expression): Adjust.
5557 (pp_c_primary_expression): Remove.
5558 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5559 from pp_c_primary_expression. Adjust.
5560 (pp_c_initializer_list): Use pp_primary_expression.
5561 (c_pretty_printer::c_pretty_printer): Do not assign to
5562 primary_expression.
5563
0691175f
GDR
55642013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5565
5566 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5567 * c-pretty-print.c (M_): Remove.
5568 (c_pretty_printer::translate_string): Define.
5569 (pp_c_type_specifier): Use it.
5570 (pp_c_primary_expression): Likewise.
5571 (pp_c_expression): Likewise.
5572
66dfe4c4
GDR
55732013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5574
5575 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5576 virtual function.
5577 (pp_c_id_expression): Remove.
5578 (pp_id_expression): Adjust.
5579 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5580 pp_c_id_expression. Adjust.
5581 (pp_c_postfix_expression): Use pp_id_expression.
5582 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5583
ca43e9d5
GDR
55842013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5585
5586 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5587 member function.
5588 (pp_constant): Adjust.
5589 (pp_c_constant): Remove.
5590 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5591 pp_c_constant. Adjust.
5592 (pp_c_constant)
5593 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5594 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5595
da6ca2b5
GDR
55962013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5597
5598 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5599 (c_pretty_printer::c_pretty_printer): Declare.
5600 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5601 c_pretty_printer_init. Adjust.
5602 (print_c_tree): Do not call c_pretty_printer_init.
5603 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5604
65a372f4
AC
56052013-08-09 Arnaud Charlet <charlet@adacore.com>
5606
5607 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5608
fd9b0f32
PC
56092013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5610
5611 PR c++/58080
5612 * c-common.c (pointer_int_sum): Add bool parameter.
5613 * c-common.h (pointer_int_sum): Adjust declaration.
5614
e0aec1e9
GDR
56152013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5616
5617 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5618 c_pretty_printer variable.
5619
b066401f
GDR
56202013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5621
5622 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5623 (pp_base): Remove.
5624 (pp_c_base): Likewise. Adjust users.
5625 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5626 (pp_c_whitespace): Do not call pp_base.
5627 (pp_c_left_paren): Likewise.
5628 (pp_c_right_paren): Likewise.
5629 (pp_c_left_brace): Likewise.
5630 (pp_c_right_brace): Likewise.
5631 (pp_c_left_bracket): Likewise.
5632 (pp_c_right_bracket): Likewise.
5633 (pp_c_dot): Likewise.
5634 (pp_c_ampersand): Likewise.
5635 (pp_c_star): Likewise.
5636 (pp_c_arrow): Likewise.
5637 (pp_c_semicolon): Likewise.
5638 (pp_c_complement): Likewise.
5639 (pp_c_exclamation): Likewise.
5640 (pp_c_direct_declarator): Likewise.
5641 (pp_c_ws_string): Likewise.
5642 (pp_c_identifier): Likewise.
5643 (pp_c_statement): Likewise.
5644 (print_c_tree): Likewise.
5645
65e5a578
ESR
56462013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5647
5648 PR c++/58072
5649 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5650 provide useful error strings.
5651
137a1a27
GDR
56522013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5653
5654 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5655 printer functions instead of pp_string or operators and punctuators.
5656 (dump_generic_ada_node): Likewise.
5657 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5658 (pp_c_relational_expression): Likewise.
5659 (pp_c_logical_or_expression): Likewise.
5660
07838b13
GDR
56612013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5662
5663 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5664 functions instead of pp_character.
5665 (pp_ada_tree_identifier): Likewise.
5666 (dump_ada_double_name): Likewise.
5667 (dump_ada_function_declaration): Likewise.
5668 (dump_ada_array_domains): Likewise.
5669 (dump_template_types): Likewise.
5670 (dump_generic_ada_node): Likewise.
5671 (print_ada_declaration): Likewise.
5672 (print_ada_struct_decl): Likewise.
5673 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5674
433cc7b0
TT
56752013-07-23 Tom Tromey <tromey@redhat.com>
5676
5677 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5678 * c-common.c (c_common_reswords): Add _Generic.
5679
688010ba
OB
56802013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5681
5682 * c-common.c: Fix typos.
5683 * c-common.h: Likewise.
5684
2a99e5e6
LL
56852013-07-13 Lubos Lunak <l.lunak@suse.cz>
5686
5687 PR c++/55203
5688 * c-common.c (c_common_attribute_table): Add warn_unused.
5689 (handle_warn_unused_attribute): New.
5690
c26302d5
JJ
56912013-07-10 Jakub Jelinek <jakub@redhat.com>
5692
5693 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5694 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5695
dfeadaa0
PC
56962013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5697
5698 PR c++/57869
5699 * c.opt: Add Wconditionally-supported.
5700
6a2fa4b2
GS
57012013-07-08 Graham Stott <graham.stott@btinternet.com>
5702
adfac8df 5703 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
5704 unused variables l_length and l_node.
5705
ecdbd01a 57062013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
5707
5708 PR c/57821
5709 * c-common.c (complete_array_type): Delay folding first index
5710 like other indices. When folding, check for index overflow.
5711
bedc293e
MG
57122013-06-27 Marc Glisse <marc.glisse@inria.fr>
5713
5714 PR c++/57509
5715 * c-common.h (c_build_vec_perm_expr): New complain argument.
5716 * c-common.c (c_build_vec_perm_expr): Likewise.
5717 Use save_expr also in C++.
5718
604b2bfc
GDR
57192013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5720
5721 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5722 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5723 * c-opts.c (c_common_post_options): Likewise.
5724
dfeadaa0 57252013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
5726
5727 * array-notation-common.c (length_mismatch_in_expr): Changed the
5728 parameter type's from a dynamic array to a vec_tree. Also removed
5729 the size parameters.
5730 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5731 the change above.
5732
2ce86d2e
BI
57332013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5734
5735 * c-common.h (struct cilkplus_an_parts): New structure.
5736 (struct cilkplus_an_loop_parts): Likewise.
5737 (cilkplus_extract_an_triplets): New prototype.
5738 (fix_sec_implicit_args): Likewise.
5739 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5740 (fix_sec_implicit_args): Likewise.
604b2bfc 5741
07a6825b
BI
57422013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5743
5744 * array-notation-common.c (find_inv_trees): Removed an unwanted
5745 typecasting.
5746 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5747 enum rid to enum tree_code.
5748
08346abd
JH
57492013-06-11 Jan Hubicka <jh@suse.cz>
5750
5751 * c-common.c (handle_alias_ifunc_attribute): Do not set
5752 DECL_EXTERNAL for weakref variables.
5753 * c-pragma.c (handle_pragma_weak): Make sure aliases
5754 are not declared as external.
5755
d60f1706
BI
57562013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5757
5758 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5759 function from c/c-array-notation.c.
5760 (is_cilkplus_reduce_builtin): Likewise.
5761 (find_rank): Likewise.
5762 (extract_array_notation_exprs): Likewise.
5763 (replace_array_notations): Likewise.
5764 (find_inv_trees): Likewise.
5765 (replace_inv_trees): Likewise.
5766 (contains_array_notation_expr): Likewise.
5767 (find_correct_array_notation_type): Likewise.
5768 * c-common.h (struct inv_list): Moved this struct from the file
5769 c/c-array-notation.c and added a new field called additional tcodes.
5770 (length_mismatch_in_expr_p): New prototype.
5771 (is_cilkplus_reduce_builtin): Likewise.
5772 (find_rank): Likewise.
5773 (extract_array_notation_exprs): Likewise.
5774 (replace_array_notation): Likewise.
5775 (find_inv_trees): Likewise.
5776 (replace_inv_trees): Likewise.
5777 (find_correct_array_notation_type): Likewise.
dfeadaa0 5778
36536d79
BI
57792013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5780
5781 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5782 function array_notation_init_builtins is called.
5783 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5784 * c-common.def (ARRAY_NOTATION_REF): New tree.
5785 * c-common.h (build_array_notation_expr): New function declaration.
5786 (build_array_notation_ref): Likewise.
5787 (extract_sec_implicit_index_arg): New extern declaration.
5788 (is_sec_implicit_index_fn): Likewise.
5789 (ARRAY_NOTATION_CHECK): New define.
5790 (ARRAY_NOTATION_ARRAY): Likewise.
5791 (ARRAY_NOTATION_START): Likewise.
5792 (ARRAY_NOTATION_LENGTH): Likewise.
5793 (ARRAY_NOTATION_STRIDE): Likewise.
5794 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5795 ARRAY_NOTATION_REF.
5796 (pp_c_expression): Likewise.
5797 * c.opt (flag_enable_cilkplus): New flag.
5798 * array-notation-common.c: New file.
5799
f7716d57
JJ
58002013-05-14 Jakub Jelinek <jakub@redhat.com>
5801
5802 PR c++/57274
5803 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5804
a5e0cd1d
MG
58052013-05-10 Marc Glisse <marc.glisse@inria.fr>
5806
5807 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5808 vectors.
5809
f6bc1c4a
HS
58102013-05-07 Han Shen <shenhan@google.com>
5811
5812 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5813
3f12f6e9
SKS
58142013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5815
5816 * c-common.c (check_user_alignment): Emit error for negative values.
5817
61949153
PC
58182013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5819
5820 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5821
e93e18e9
PC
58222013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5823
5824 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5825 __GXX_EXPERIMENTAL_CXX1Y__.
5826
44d90fe1 58272013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 5828 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
5829
5830 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5831 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5832 to simply use OPT_Wpointer_arith.
5833 (c_sizeof_or_alignof_type): Likewise.
5834
13f39b2e
PC
58352013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5836
5837 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5838
4b84d650
JJ
58392013-04-12 Jakub Jelinek <jakub@redhat.com>
5840
5841 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5842 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5843 specifiers.
5844
fb037b5d
SB
58452013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5846
5847 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5848
4e856798
PC
58492013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5850
5851 * c-common.c (pointer_int_sum): Remove dead code.
5852
4b1baac8
RS
58532013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5854
5855 PR middle-end/56524
5856 * c-common.c (handle_optimize_attribute): Don't call
5857 save_optabs_if_changed.
5858
0b50e654
JJ
58592013-03-05 Jakub Jelinek <jakub@redhat.com>
5860
5861 PR middle-end/56461
5862 * c-pch.c (pch_init): Free target_validity at the end.
5863
48c41403
JJ
58642013-03-04 Jakub Jelinek <jakub@redhat.com>
5865
5866 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5867
e664c61c
KS
58682013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5869 Jakub Jelinek <jakub@redhat.com>
5870
5871 PR sanitizer/56454
5872 * c-common.c (handle_no_sanitize_address_attribute): New function.
5873 (c_common_attribute_table): Add no_sanitize_address attribute.
5874 (handle_no_address_safety_analysis_attribute): Add
5875 no_sanitize_address attribute, not no_address_safety_analysis
5876 attribute.
5877
a475fd3d 58782013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
5879
5880 PR target/52555
5881 * c-common.c (handle_optimize_attribute): Call
5882 save_optabs_if_changed.
5883
f6007d99
JJ
58842013-02-18 Jakub Jelinek <jakub@redhat.com>
5885 Steven Bosscher <steven@gcc.gnu.org>
5886
5887 PR pch/54117
5888 * c-opts.c (c_common_post_options): If debug info is enabled
5889 and non-dwarf*, refuse to load PCH files and when writing PCH
5890 file warn.
5891
cf35e2b1
JJ
58922013-02-05 Jakub Jelinek <jakub@redhat.com>
5893
5894 PR middle-end/56167
5895 * c-common.c (handle_error_attribute): Fix condition.
5896
32887460
JJ
58972013-01-30 Jakub Jelinek <jakub@redhat.com>
5898
5899 PR c++/55742
5900 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5901
5af057d8
JM
59022013-01-18 Jason Merrill <jason@redhat.com>
5903
5904 PR target/54908
5905 * c.opt (-fextern-tls-init): New.
5906 * c-opts.c (c_common_post_options): Handle it.
5907
cc83c823
JJ
59082013-01-09 Jakub Jelinek <jakub@redhat.com>
5909
5910 PR c/48418
5911 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5912 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5913 and is either negative or bigger or equal to type precision
5914 of the first operand.
5915
a859517f
MP
59162012-12-03 Marek Polacek <polacek@redhat.com>
5917
5918 PR c/55570
5919 * c-common.c (check_user_alignment): Swap order of tests,
5920 check TREE_CODE first.
5921
2d7aa578
ESR
59222012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5923
5924 PR c++/52654
5925 * c-common.h (overflow_type): New enum.
5926 (build_userdef_literal): Add overflow_type argument.
5927 (tree_userdef_literal): Add overflow_type.
5928 (USERDEF_LITERAL_OVERFLOW): New access macro.
5929 * c-common.c (build_userdef_literal): Add overflow_type
5930 argument.
5931 * c-lex.c (c_lex_with_flags): Add overflow_type to
5932 build_userdef_literal calls.
5933 (interpret_integer, interpret_float): Add overflow_type argument.
5934
cc3c4f62
RB
59352012-11-28 Richard Biener <rguenther@suse.de>
5936
5937 PR c/35634
5938 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5939 here and use a type with proper overflow behavior for types that would
5940 need to be promoted for the arithmetic.
5941
77bc5132
JJ
59422012-11-23 Jakub Jelinek <jakub@redhat.com>
5943
5944 PR sanitizer/55435
5945 * c-common.c (handle_no_address_safety_analysis_attribute): New
5946 function.
5947 (c_common_attribute_table): Add no_address_safety_analysis.
5948
5dc99c46
SB
59492012-11-16 Simon Baldwin <simonb@google.com>
5950
5951 * c.opt: Add f[no-]canonical-system-headers.
5952 * c-opts.c (c_common_handle_option): Handle
5953 OPT_fcanonical_system_headers.
5954
a4a0016d
ESR
59552012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5956
5957 PR c++/54413
5958 * c-opts.c (c_common_handle_option): Set new flags.
5959 * c.opt: Describe new flags.
5960
7dbb85a7
JM
59612012-11-09 Jason Merrill <jason@redhat.com>
5962
5963 * c.opt (Wabi-tag): New.
5964
ad7bac31
AK
59652012-11-09 Andi Kleen <ak@linux.intel.com>
5966
5967 PR 55139
5968 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 5969 MEMMODEL_MASK
ad7bac31 5970
7332899a
MLI
59712012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5972
5973 PR c/53063
5974 * c.opt (Wformat): Make it Alias Wformat=1.
5975 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5976 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5977 LangEnabledBy.
5978 (Wformat=): RejectNegative. Use LangEnabledBy.
5979 (Wnonnull): Use LangEnabledBy.
5980 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5981 * c-format.c (set_Wformat): Delete.
5982 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
5983 (maybe_read_dollar_number): Likewise.
5984 (avoid_dollar_number): Likewise.
5985 (finish_dollar_format_checking): Likewise.
5986 (check_format_info): Likewise.
5987 (check_format_info_main): Likewise.
5988 (check_format_types): Likewise.
5989 (format_type_warning): Likewise.
5990 * c-common.c (int): Likewise.
5991 (check_function_sentinel): Likewise.
5992 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 5993
34a180a6
MLI
59942012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5995
5996 PR c/53063
5997 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5998 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5999 Use LangEnabledBy.
6000 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
6001 common.opt.
6002 (Wvariadic-macros): Init(1).
6003 * c-opts.c (c_common_handle_option): Do not handle them
6004 explicitly.
6005 (c_common_post_options): Likewise.
6006 (sanitize_cpp_opts): warn_unused_macros is now
6007 cpp_warn_unused_macros.
6008 (push_command_line_include): Likewise.
6009 * c-common.c (warn_unknown_pragmas): Do not define.
6010 * c-common.h (warn_unknown_pragmas): Do not declare.
6011
3f46d6a5
MLI
60122012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6013
6014 PR c/51294
6015 * c-common.c (conversion_warning): Handle conditional expressions.
6016
880661a4
JW
60172012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6018
6019 PR c++/54930
6020 * c.opt (Wreturn_local_addr): Define new option.
6021
4514a96b
JM
60222012-10-25 Jason Merrill <jason@redhat.com>
6023
f14edc1a
JM
6024 * c.opt (Wvirtual-move-assign): New.
6025
4514a96b
JM
6026 * c.opt (Winherited-variadic-ctor): New.
6027
93100c6b
MG
60282012-10-25 Marc Glisse <marc.glisse@inria.fr>
6029
6030 PR c++/54427
6031 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
6032
1efcb8c6
JM
60332012-10-23 Joseph Myers <joseph@codesourcery.com>
6034
6035 * c-common.h (pch_cpp_save_state): Declare.
6036 * c-target.def (c_preinclude): New hook.
6037 * c-opts.c (done_preinclude): New.
6038 (push_command_line_include): Handle default preincluded header.
6039 (cb_file_change): Call pch_cpp_save_state when calling
6040 push_command_line_include.
6041 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
6042 (pch_cpp_save_state): New.
6043 (pch_init): Call pch_cpp_save_state conditionally, instead of
6044 calling cpp_save_state.
6045
4a0ae68e
MLI
60462012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6047
6048 PR c/53063
6049 PR c/40989
6050 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
6051 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
6052 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
6053 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
6054 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
6055 * c-opts.c (c_common_handle_option): Remove explicit handling from
6056 here.
6057 (c_common_post_options): Likewise.
6058
67e4210b
EB
60592012-10-18 Eric Botcazou <ebotcazou@adacore.com>
6060
6061 * c-ada-spec.c (LOCATION_COL): Delete.
6062 (compare_location): New function.
6063 (compare_node): Use it.
6064 (compare_comment): Likewise.
6065
65d4f2cd
MLI
60662012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6067
6068 PR c/53063
6069 PR c/40989
6070 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
6071 * c-opts.c (c_common_handle_option): Do not set them here. Add
6072 comment.
6073 (c_common_post_options): Likewise.
6074
909881cb
EB
60752012-10-16 Eric Botcazou <ebotcazou@adacore.com>
6076
6077 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
6078 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
6079 Remove POINTER_TYPE handling, add large unsigned handling and use
6080 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
6081
3a785c97
JJ
60822012-10-12 Jakub Jelinek <jakub@redhat.com>
6083
6084 PR c/54381
6085 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
6086 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
6087 locs and array of 3 trees instead of just single loc and single
6088 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
6089 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
6090 For *cmp* builtins that take two sources strings report warnings
6091 about first and second source, not about destination and source.
6092
5e54f81d
MG
60932012-10-12 Marc Glisse <marc.glisse@inria.fr>
6094
6095 PR c++/53055
6096 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
6097
f5b02f1e
EB
60982012-10-11 Eric Botcazou <ebotcazou@adacore.com>
6099
6100 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
6101 declaring something coming from another file.
6102
b46dbc6c
AC
61032012-10-10 Arnaud Charlet <charlet@adacore.com>
6104
f5b02f1e 6105 PR ada/54845
b46dbc6c
AC
6106 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
6107
5d9de0d0
PC
61082012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
6109
6110 PR c++/54194
6111 * c-common.c (warn_about_parentheses): Add location_t parameter;
6112 use EXPR_LOC_OR_LOC.
6113 * c-common.h: Update declaration.
6114
a212e43f
MG
61152012-10-09 Marc Glisse <marc.glisse@inria.fr>
6116
6117 PR c++/54427
6118 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
6119 more operations. Make error messages optional.
6120 * c-common.h (enum stv_conv): Moved from c-typeck.c.
6121 (scalar_to_vector): Declare.
6122
b1db7f91
JM
61232012-10-08 Jason Merrill <jason@redhat.com>
6124
6125 * c-common.c (c_common_reswords): Add thread_local.
6126
e28d52cf
DS
61272012-10-08 Dodji Seketeli <dodji@redhat.com>
6128
6129 PR c++/53528 C++11 attribute support
6130 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
6131 new functions.
6132 * c-common.c (check_cxx_fundamental_alignment_constraints): New
6133 static function.
6134 (handle_aligned_attribute): In choose strictest alignment
6135 among many. Use new check_cxx_fundamental_alignment_constraints.
6136 (handle_transparent_union_attribute): In c++11 attribute syntax,
6137 don't look through typedefs.
6138
3b78de56
AC
61392012-10-04 Arnaud Charlet <charlet@adacore.com>
6140
6141 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
6142 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
6143 out of dumpfile.h.
6144
6040bb5f
DC
61452012-09-25 Dehao Chen <dehao@google.com>
6146
6147 PR middle-end/54645
3b78de56 6148 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
6149 map when read in the pch.
6150
3f8257db 61512012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
6152
6153 * c-ada-spec.c: Style fixes.
6154
3f8257db 61552012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
6156
6157 * c.opt (-fada-spec-parent): Define new command line switch.
6158 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
6159 is specified, generate binding spec as a child of the specified unit.
6160
0ccb505d
PC
61612012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
6162 Manuel López-Ibáñez <manu@gcc.gnu.org>
6163
6164 PR c++/53210
6165 * c.opt ([Winit-self]): Enabled by -Wall in C++.
6166
c583af79
AC
61672012-08-23 Arnaud Charlet <charlet@adacore.com>
6168
6169 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
6170 for pointers, and add missing Convention C pragma.
6171 (print_ada_struct_decl): Add missing aliased keyword.
6172 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
6173
1a4049e7
JJ
61742012-08-17 Jakub Jelinek <jakub@redhat.com>
6175
6176 * c-common.c (sizeof_pointer_memaccess_warning): New function.
6177 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
6178 * c-opts.c (c_common_handle_option): Enable it for -Wall.
6179 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
6180 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
6181
70b5e7dc
RG
61822012-08-10 Richard Guenther <rguenther@suse.de>
6183
6184 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
6185
f8923f7e
SB
61862012-08-07 Steven Bosscher <steven@gcc.gnu.org>
6187
6188 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
6189 instead of separate pp_newline and pp_flush.
6190 (print_c_tree): Likewise.
6191
e45abe1f
RH
61922012-07-26 Richard Henderson <rth@redhat.com>
6193
6194 * c-common.c (handle_hot_attribute): Allow labels.
6195 (handle_cold_attribute): Likewise.
6196
332f1d24
JJ
61972012-07-20 Jakub Jelinek <jakub@redhat.com>
6198
6199 PR c++/28656
6200 * c-common.c (check_function_nonnull): Handle multiple nonnull
6201 attributes properly.
6202
7ee2468b
SB
62032012-07-16 Steven Bosscher <steven@gcc.gnu.org>
6204
6205 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
6206 * c-ada-spec.c: Likewise.
6207 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
6208
ee7b28eb
SB
62092012-07-14 Steven Bosscher <steven@gcc.gnu.org>
6210
6211 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
6212 Remove code conditional on it.
6213
6bdf3519
SB
62142012-07-11 Steven Bosscher <steven@gcc.gnu.org>
6215
6216 * c-gimplify.c: Do not include basic-block.h.
6217 * c-common.c: Do not include linfuncs.h.
6218
532aafad
SB
62192012-07-08 Steven Bosscher <steven@gcc.gnu.org>
6220
6221 * c-common.h: Include tree.h.
6222
8d0d1915
JM
62232012-07-02 Jason Merrill <jason@redhat.com>
6224
6225 PR c++/53524
6226 * c-common.c (get_priority): Call default_conversion.
6227
fbc873ad
UB
62282012-07-01 Uros Bizjak <ubizjak@gmail.com>
6229
6230 * c-pch.c (c_common_write_pch): Remove unused variables.
6231
d4a10d0a
SB
62322012-06-29 Steven Bosscher <steven@gcc.gnu.org>
6233
6234 * cppspec.c: Moved from gcc/ to here.
6235
6f3a2e23
KT
62362012-06-27 Kai Tietz <ktietz@redhat.com>
6237
6238 PR preprocessor/37215
6239 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6240
8ca92d04
SB
62412012-06-21 Steven Bosscher <steven@gcc.gnu.org>
6242
6243 * c-common.h (c_common_print_pch_checksum): Remove.
6244 * c-pch.c: Do not include output.h.
6245 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
6246 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
6247 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
6248 (struct c_pch_header): Remove.
6249 (get_ident): Update gpch version.
6250 (pch_init): Do not print executable_checksum to asm_out_file.
6251 Do not fail if there is no asm_out_file to read back from. Set
6252 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
6253 (c_common_write_pch): Verify that nothing was written to asm_out_file
6254 since pch_init was called. Do not write a c_pch_header, and do not
6255 copy from asm_out_file to the PCH.
6256 (c_common_read_pch): Do not read a c_pch_header, and do not restore
6257 the content of asm_out_file from the PCH.
6258 (c_common_print_pch_checksum): Remove.
6259 * c-opts.c (c_common_init): Print out executable_checksum directly.
6260
70f42967
SB
62612012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6262
6263 * c-target.def (objc_declare_unresolved_class_reference,
6264 objc_declare_class_definition): Add new hooks.
6265
a8781821
SB
62662012-06-19 Steven Bosscher <steven@gcc.gnu.org>
6267
6268 * c-lex.c: Do not include output.h.
6269 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
6270 Remove uses of ASM_OUTPUT_IDENT.
6271
9e1a8dd1
RR
62722012-06-15 Marc Glisse <marc.glisse@inria.fr>
6273
6274 PR c++/51033
6275 * c-common.h (c_build_vec_perm_expr): Move decl here.
6276 * c-common.c (c_build_vec_perm_expr): Move definition
6277 here.
6278
6f07a821
SB
62792012-06-06 Steven Bosscher <steven@gcc.gnu.org>
6280
6281 * c.opt (fconserve-space): Turn into a no-op.
6282
9faeb493 62832012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
6284
6285 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
6286 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
6287 both the start and end of the function.
6288
a4b7d13c
SB
62892012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6290
6291 * c-common.c: Do not include output.h.
6292 * c-pragma.c: Likewise.
6293
c265f413
SA
62942012-06-04 Steven Bosscher <steven@gcc.gnu.org>
6295
6296 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
6297 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
6298 (lang_decl_name): Handle namespace decls.
6299
be7a421e
SB
63002012-05-31 Steven Bosscher <steven@gcc.gnu.org>
6301
6302 * c-ada-spec.c: Do not include output.h.
6303 * c-semantics.c: Likewise.
6304
65de6659
JM
63052012-05-29 Joseph Myers <joseph@codesourcery.com>
6306
6307 * c-common.c: Fix typo.
6308
ca5f4331
MM
63092012-05-29 Michael Matz <matz@suse.de>
6310
6311 * c-common.h (c_expand_decl): Remove prototype.
6312
4f7f7aca
MLI
63132012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6314
6315 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
6316 * c-opts.c (c_common_handle_option): Remove code handling
6317 warn_missing_braces.
6318
4a792f9b
PC
63192012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
6320
6321 PR c++/25137
6322 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
6323 -Wmissing_braces.
6324
650dc14a
DS
63252012-05-22 Dodji Seketeli <dodji@redhat.com>
6326
6327 PR c++/53322
6328 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
6329
9b095bf1
MLI
63302012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
6331
6332 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
6333 * c-opts.c (c_common_handle_option): Do not handle explicitly
6334 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
6335
0b2c4be5
DS
63362012-05-16 Dodji Seketeli <dodji@redhat.com>
6337
6338 PR preprocessor/7263
6339 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
6340 to cpp_classify_number. For diagnostics, use the precise location
6341 instead of the global input_location.
6342
a1bde5af
PC
63432012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6344
d02924ef 6345 PR c++/11856
a1bde5af
PC
6346 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
6347
d1ede5f4
BS
63482012-05-14 Bernd Schmidt <bernds@codesourcery.com>
6349
a1bde5af 6350 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 6351
f2bc201f
MLI
63522012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
6353
6354 PR 53063
6355 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
6356 Wreorder): Use LangEnabledBy.
6357 * c-opts.c (c_common_handle_option): Do not enable them
6358 explicitly. Call lang-specific generated functions.
6359 (c_common_post_options): Do not set them here.
6360
95744782
MLI
63612012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
6362
6363 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
6364 Wmissing-field-initializers,Wmissing-parameter-type,
6365 Wold-style-declaration,Woverride-init): Use EnabledBy.
6366 * c-opts.c (c_common_post_options): Do not set here explicitly.
6367
7d5a5747
MLI
63682012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6369
6370 PR 53063
6371 * c-opts.c (c_common_handle_option): Use handle_generated_option
6372 to enable sub-options.
6373
5a3c9cf2
PC
63742012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
6375
6376 PR c++/53158
6377 * c-common.c (warnings_for_convert_and_check): Use warning_at.
6378
3ac8781c
RG
63792012-05-10 Richard Guenther <rguenther@suse.de>
6380
6381 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
6382 adjust commentary about TYPE_IS_SIZETYPE types.
6383
1e537948
MLI
63842012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6385
6386 PR c++/53261
6387 * c-common.c (warn_logical_operator): Check that argument of
6388 integer_zerop is not NULL.
6389
f2c4a785
MLI
63902012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6391
6392 PR c/43772
6393 * c-common.c (warn_logical_operator): Do not warn if either side
6394 is already true or false.
6395
50f305ca
MLI
63962012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6397
6398 PR c/51712
6399 * c-common.c (expr_original_type): New.
6400 (shorten_compare): Do not warn for enumeration types.
6401
0c3641b0
MLI
64022012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6403
6404 * c.opt (fpermissive): Add Var(flag_permissive).
6405
7edaa4d2
MG
64062012-04-30 Marc Glisse <marc.glisse@inria.fr>
6407
6408 PR c++/51033
6409 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
6410 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
6411
b9c8da34
DS
64122012-04-30 Dodji Seketeli <dodji@redhat.com>
6413
6414 Add -Wvarargs option
6415 * c.opt (Wvarargs): Define new option.
6416
e6c69da0
MLI
64172012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6418
6419 * c-common.c (check_function_arguments): Replace
6420 Wmissing-format-attribute with Wsuggest-attribute=format.
6421
90137d8f
MLI
64222012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6423
6424 * c.opt (Wsuggest-attribute=format): New. Alias of
6425 Wmissing-format-attribute.
6426 * c-format.c (decode_format_type): Replace
6427 Wmissing-format-attribute with Wsuggest-attribute=format.
6428 (check_function_format): Likewise.
6429
9faeb493 64302012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
6431
6432 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
6433 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
6434 * c.opt: Add Wliteral-suffix.
6435
c1771a20
MLI
64362012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6437
6438 PR c/44774
6439 * c.opt (Wpedantic): New.
6440 (pedantic): Alias Wpedantic.
6441 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
6442 (c_common_post_options): Likewise.
6443 (sanitize_cpp_opts): Likewise.
6444 * c-lex.c (interpret_float): Likewise.
6445 * c-format.c (check_format_types): Likewise.
6446 * c-common.c (pointer_int_sum): Likewise.
6447 (c_sizeof_or_alignof_type): Likewise.
6448 (c_add_case_label): Likewise.
6449 (c_do_switch_warnings): Likewise.
6450 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6451
04b391c1
JM
64522012-04-15 Jason Merrill <jason@redhat.com>
6453
6454 PR c++/52818
6455 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
6456 (C_STD_NAME): Distinguish between C++98 and C++11.
6457
ac868f29
EB
64582012-04-11 Eric Botcazou <ebotcazou@adacore.com>
6459
6460 PR target/52624
6461 * c-common.h (uint16_type_node): Rename into...
6462 (c_uint16_type_node): ...this.
6463 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
6464 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
6465
fd4116f4
MLI
64662012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
6467
6468 * c-common.c (warn_if_unused_value): Move definition to here.
6469 * c-common.h (warn_if_unused_value): Move declaration to here.
6470
573ac65e
WB
64712012-03-23 William Bader <williambader@hotmail.com>
6472
6473 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
6474
552b8185
JM
64752012-03-20 Jason Merrill <jason@redhat.com>
6476
6477 * c-common.h (enum cxx_dialect): Add cxx1y.
6478 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
6479 test.
6480 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6481 * c-opts.c (c_common_post_options): Likewise.
6482 (set_std_cxx1y): New.
6483 (c_common_handle_option): Call it.
6484 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
6485
04398fa8
PC
64862012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6487
6488 PR c++/14710
6489 * c.opt ([Wuseless-cast]): Add.
6490
d2a12ae7
RG
64912012-03-16 Richard Guenther <rguenther@suse.de>
6492
6493 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6494
a12bf402
MLI
64952012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6496
6497 PR c++/44783
6498 * c.opt (ftemplate-backtrace-limit) Add.
6499
5c30094f
RO
65002012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6501
6502 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6503 handling.
6504 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6505 (init_pragma): Don't register extern_prefix.
6506
21fa2faf
RG
65072012-03-12 Richard Guenther <rguenther@suse.de>
6508
6509 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6510 (builtin_type_for_size): Likewise.
6511
e3793c6f
JJ
65122012-02-13 Jakub Jelinek <jakub@redhat.com>
6513
6514 PR c++/52215
6515 * c-common.c (sync_resolve_params): Don't decide whether to convert
6516 or not based on TYPE_SIZE comparison, convert whenever arg_type
6517 is unsigned INTEGER_TYPE.
6518
93286335
PC
65192012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6520
6521 PR c/52118
6522 * c.opt ([Wunused-local-typedefs]): Fix description.
6523
7a421706
MS
65242012-01-24 Mike Stump <mikestump@comcast.net>
6525
6526 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6527 exactly.
6528
ba9b1f11
RG
65292012-01-18 Richard Guenther <rguenther@suse.de>
6530
6531 * c-opts.c (c_common_post_options): Reset LTO flags if
6532 we are about to generate a PCH.
6533
465406be
PC
65342012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6535
6536 PR c++/51777
6537 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6538 use pp_unsigned_wide_integer.
6539
aee15221
RG
65402012-01-10 Richard Guenther <rguenther@suse.de>
6541
6542 PR middle-end/51806
6543 * c-opts.c (c_common_handle_option): Move -Werror handling
6544 to language independent code.
6545
5720c0dc
RG
65462012-01-05 Richard Guenther <rguenther@suse.de>
6547
6548 PR middle-end/51764
6549 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6550 from common.opt.
6551
73ac190a
PC
65522011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6553
6554 PR c++/51316
6555 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6556 of array types with an unknown bound.
6557
48b0b196
JM
65582011-12-20 Joseph Myers <joseph@codesourcery.com>
6559
6560 * c-common.c (flag_isoc99): Update comment to refer to C11.
6561 (flag_isoc1x): Change to flag_isoc11.
6562 * c-common.h (flag_isoc99): Update comment to refer to C11.
6563 (flag_isoc1x): Change to flag_isoc11.
6564 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6565 C11.
6566 * c-opts.c (set_std_c1x): Change to set_std_c11.
6567 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6568 Call set_std_c11.
6569 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6570 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6571 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6572 standard.
6573 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6574 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6575 (std=gnu1x): Make alias of std=gnu11.
6576
d58d6eb5
JM
65772011-12-19 Jason Merrill <jason@redhat.com>
6578
6579 PR c++/51228
6580 * c-common.c (handle_transparent_union_attribute): Check the first
6581 field if the type is complete.
6582
b3908fcc
JW
65832011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6584
6585 PR libstdc++/51365
6586 * c-common.c (RID_IS_FINAL): Add.
6587 * c-common.h (RID_IS_FINAL): Add.
6588
fea3ca91
IS
65892011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6590
6591 * c.opt (fgnu-runtime): Provide full description.
6592 (fnext-runtime): Likewise.
6593 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6594
62bad7cd
AM
65952011-11-28 Andrew MacLeod <amacleod@redhat.com>
6596
6597 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6598 predefines in one place. Add LOCK_FREE predefines.
6599 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6600 new func.
6601
c466c4ff
AM
66022011-11-24 Andrew MacLeod <amacleod@redhat.com>
6603
6604 PR c/51256
9faeb493 6605 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 6606 conditions
9faeb493
UB
6607 (resolve_overloaded_atomic_exchange,
6608 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
6609 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6610 error_mark_node for error conditions.
9faeb493 6611
a5952633
RG
66122011-11-08 Richard Guenther <rguenther@suse.de>
6613
6614 PR middle-end/51010
6615 c-family/
6616
0a35513e
AH
66172011-11-07 Richard Henderson <rth@redhat.com>
6618 Aldy Hernandez <aldyh@redhat.com>
6619 Torvald Riegel <triegel@redhat.com>
6620
6621 Merged from transactional-memory.
6622
6623 * c-common.c (handle_tm_wrap_attribute,
6624 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6625 (struct c_common_reswords): Added __transaction* keywords.
6626 (struct c_common_attribute_table): Added transaction* and tm_regparm
6627 attributes.
6628 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6629 masks.
6630 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6631 find_tm_attribute): Declare.
6632
6d87092d
JM
66332011-11-07 Jason Merrill <jason@redhat.com>
6634
6635 PR c++/35688
6636 * c-common.c, c-common.h: Revert yesterday's changes.
6637
8e7860a1
JM
66382011-11-06 Jason Merrill <jason@redhat.com>
6639
6640 PR c++/35688
6641 * c-common.c (decl_has_visibility_attr): Split out from...
6642 (c_determine_visibility): ...here.
6643 * c-common.h: Declare it.
6644
d19fa6b5
JM
66452011-11-06 Joseph Myers <joseph@codesourcery.com>
6646
6647 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6648 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6649 type.
6650 (check_user_alignment): New. Split out of
6651 handle_aligned_attribute. Disallow integer constants with
6652 noninteger types. Conditionally allow zero.
6653 (handle_aligned_attribute): Use check_user_alignment.
6654 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6655
86951993
AM
66562011-11-06 Andrew MacLeod <amacleod@redhat.com>
6657 Richard Henderson <rth@redhat.com>
6658
6659 Merged from cxx-mem-model.
6660
6661 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 6662 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
6663 parameters that are the same type size.
6664 (get_atomic_generic_size): New. Find size of generic
6665 atomic function parameters and do typechecking.
6666 (add_atomic_size_parameter): New. Insert size into parameter list.
6667 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6668 either __atomic_exchange_n or external library call.
9faeb493 6669 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 6670 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 6671 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
6672 __atomic_load_n or an external library call.
6673 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6674 __atomic_store_n or an external library call.
6675 (resolve_overloaded_builtin): Handle new __atomic builtins.
6676
cf9e9959
EB
66772011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6678
6679 PR c++/50608
6680 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6681 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6682 <INDIRECT_REF>: Return the argument.
6683 <ARRAY_REF>: Remove special code for negative offset.
6684 Call fold_build_pointer_plus instead of size_binop.
6685 (fold_offsetof): Remove STOP_REF argument and adjust.
6686 * c-common.h (fold_offsetof_1): Declare.
6687 (fold_offsetof): Remove STOP_REF argument.
6688
25339f10
JM
66892011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6690
6691 PR c++/50810
6692 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6693 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6694 Wnarrowing for C++0x and C++98.
6695 * c.opt ([Wnarrowing]): Update.
6696
89401152
PC
66972011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6698
6699 PR c++/44277
6700 * c.opt: Add Wzero-as-null-pointer-constant.
6701
97e3ad20
JM
67022011-10-31 Jason Merrill <jason@redhat.com>
6703
15694fdd
JM
6704 * c.opt (-fdeduce-init-list): Off by default.
6705
97e3ad20
JM
6706 PR c++/50920
6707 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6708 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6709 and -Wc++11-compat.
6710 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6711
fb9120e3
RAV
67122011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6713
6714 PR c++/30066
6715 * c.opt (fvisibility-inlines-hidden): Description change.
6716
3ce4f9e4
ESR
67172011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6718
6719 Implement C++11 user-defined literals.
6720 * c-common.c (build_userdef_literal): New.
6721 * c-common.def: New tree code.
6722 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6723 * c-lex.c (interpret_float): Add suffix parm.
6724 (c_lex_with_flags): Build literal tokens.
6725
5f53c243
PC
67262011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6727
6728 PR c++/50841
6729 Revert:
6730 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6731
6732 PR c++/50810
6733 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6734 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6735 Wnarrowing for C++0x and C++98.
6736 * c.opt ([Wnarrowing]): Update.
6737
263734e1
PC
67382011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6739
6740 PR c++/50810
6741 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6742 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6743 Wnarrowing for C++0x and C++98.
6744 * c.opt ([Wnarrowing]): Update.
6745
d2e312d7
PC
67462011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6747
6748 PR c++/45385
6749 * c-common.c (conversion_warning): Remove code looking for
6750 artificial operands.
6751
d17687f6
DS
67522011-10-18 Dodji Seketeli <dodji@redhat.com>
6753
6754 PR bootstrap/50760
6755 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 6756 !NO_IMPLICIT_EXTERN_C.
d17687f6 6757
fc8396e9
PC
67582011-10-17 Michael Spertus <mike_spertus@symantec.com>
6759
6760 * c-common.c (c_common_reswords): Add __bases,
6761 __direct_bases.
6762 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6763
67642011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6765
6766 PR c++/50757
6767 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6768
847e697a
TT
67692011-10-15 Tom Tromey <tromey@redhat.com>
6770 Dodji Seketeli <dodji@redhat.com>
6771
6772 * c.opt (fdebug-cpp): New option.
6773 * c-opts.c (c_common_handle_option): Handle the option.
6774 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6775 output stream in parameter. Factorized from ...
6776 (maybe_print_line): ... this. Dump location debug information when
6777 -fdebug-cpp is in effect.
6778 (print_line_1): New static function. Takes an output stream in
6779 parameter. Factorized from ...
6780 (print_line): ... here. Dump location information when -fdebug-cpp
6781 is in effect.
6782 (scan_translation_unit): Dump location information when
6783 -fdebug-cpp is in effect.
6784
92582b75
TT
67852011-10-15 Tom Tromey <tromey@redhat.com>
6786 Dodji Seketeli <dodji@redhat.com>
6787
6788 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6789 without argument.
6790 * c-opts.c (c_common_handle_option)<case
6791 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6792 cases. Handle -ftrack-macro-expansion with and without argument.
6793
46427374
TT
67942011-10-15 Tom Tromey <tromey@redhat.com>
6795 Dodji Seketeli <dodji@redhat.com>
6796
6797 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6798 (print_line, cb_define, do_line_change): Adjust to avoid touching
6799 the internals of struct line_map. Use the public API instead.
6800 * c-pch.c (c_common_read_pch): Likewise.
6801 * c-lex.c (fe_file_change): Likewise.
6802
fc8396e9
PC
68032011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6804
6805 PR c++/17212
6806 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6807
68082011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6809
6810 PR c++/33067
6811 * c-pretty-print.c (pp_c_floating_constant): Output
6812 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6813
e79983f4
MM
68142011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6815
6816 * c-common.c (def_builtin_1): Delete old interface with two
6817 parallel arrays to hold standard builtin declarations, and replace
6818 it with a function based interface that can support creating
6819 builtins on the fly in the future. Change all uses, and poison
6820 the old names. Make sure 0 is not a legitimate builtin index.
6821 * c-omp.c (c_finish_omp_barrier): Ditto.
6822 (c_finish_omp_taskwait): Ditto.
6823 (c_finish_omp_flush): Ditto.
6824
6637388f
TG
68252011-10-11 Tristan Gingold <gingold@adacore.com>
6826
6827 * c.opt: (fallow-parameterless-variadic-functions): New.
6828
3797cb21
DS
68292011-09-08 Dodji Seketeli <dodji@redhat.com>
6830
6831 PR c++/33255 - Support -Wunused-local-typedefs warning
6832 * c-common.h (struct c_language_function::local_typedefs): New
6833 field.
9faeb493
UB
6834 (record_locally_defined_typedef, maybe_record_typedef_use)
6835 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 6836 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
6837 (maybe_record_typedef_use)
6838 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
6839 * c.opt: Declare new -Wunused-local-typedefs flag.
6840
693ddb1b
EB
68412011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6842
6843 PR middle-end/50266
6844 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6845 computations.
6846
830c740f
RG
68472011-09-05 Richard Guenther <rguenther@suse.de>
6848
6849 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6850 of integer_minus_one_node for empty array upper bounds.
6851
892a371f
DS
68522011-08-28 Dodji Seketeli <dodji@redhat.com>
6853
6854 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6855 it's the first time it's being called on this main TU.
6856
0e3fdb48
RB
68572011-08-24 Richard Guenther <rguenther@suse.de>
6858
6859 PR c/49396
6860 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6861
68622011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
6863
6864 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6865 defined in cpp_init_builtins and c_cpp_builtins.
6866
d4a83c10
JM
68672011-08-19 Joseph Myers <joseph@codesourcery.com>
6868
6869 * c-common.c (c_common_reswords): Add __builtin_complex.
6870 * c-common.h (RID_BUILTIN_COMPLEX): New.
6871
bbceee64
JM
68722011-08-18 Joseph Myers <joseph@codesourcery.com>
6873
6874 * c-common.c (c_common_reswords): Add _Noreturn.
6875 (keyword_is_function_specifier): Handle RID_NORETURN.
6876 * c-common.h (RID_NORETURN): New.
6877
3f8257db 68782011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
6879
6880 * c-common.c (unsafe_conversion_p): New function. Check if it is
6881 unsafe to convert an expression to the type.
6882 (conversion_warning): Adjust, use unsafe_conversion_p.
6883 * c-common.h (unsafe_conversion_p): New function declaration.
6884
20906c66
JJ
68852011-08-02 Jakub Jelinek <jakub@redhat.com>
6886
6887 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6888 (c_finish_omp_taskyield): New prototype.
6889 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6890 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6891 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6892 or RHS1 have side-effects, evaluate those too in the right spot,
6893 if it is a decl and LHS is also a decl, error out if they
6894 aren't the same.
6895 (c_finish_omp_taskyield): New function.
6896 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6897 * c-pragma.c (omp_pragmas): Add taskyield.
6898 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6899 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6900 PRAGMA_OMP_CLAUSE_MERGEABLE.
6901
770e5a2e
DS
69022011-07-25 Dodji Seketeli <dodji@redhat.com>
6903
6904 * c-common.h (set_underlying_type): Remove parm name from
6905 declaration.
6906
1baae426
RG
69072011-07-25 Romain Geissler <romain.geissler@gmail.com>
6908
6909 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 6910
fcb21722
JM
69112011-07-22 Jason Merrill <jason@redhat.com>
6912
76f86d00
JM
6913 PR c++/49793
6914 * c.opt (Wnarrowing): New.
6915
3a636414
JM
6916 PR c++/30112
6917 * c-common.h: Declare c_linkage_bindings.
6918 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6919
fcb21722
JM
6920 PR c++/49813
6921 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6922 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6923 as flag_isoc99 for 'restrict'.
6924 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6925
02614448
ILT
69262011-07-21 Ian Lance Taylor <iant@google.com>
6927
6928 PR middle-end/49705
6929 * c-common.c (c_disable_warnings): New static function.
6930 (c_enable_warnings): New static function.
6931 (c_fully_fold_internal): Change local unused_p to bool. Call
6932 c_disable_warnings and c_enable_warnings rather than change
6933 c_inhibit_evaluation_warnings.
6934
34429675
JM
69352011-07-20 Jason Merrill <jason@redhat.com>
6936
6937 PR c++/6709 (DR 743)
6938 PR c++/42603 (DR 950)
6939 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6940 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6941 (CPP_DECLTYPE): New.
6942 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6943
5d49b6a7
RG
69442011-07-19 Richard Guenther <rguenther@suse.de>
6945
6946 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6947 * c-omp.c (c_finish_omp_for): Likewise.
6948
e84a58ff
EB
69492011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6950
6951 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6952 body on the next line.
6953
329af3c7
JM
69542011-07-08 Jason Merrill <jason@redhat.com>
6955
4063e61b
JM
6956 PR c++/45437
6957 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6958
329af3c7
JM
6959 PR c++/49673
6960 * c-common.c (c_apply_type_quals_to_decl): Don't check
6961 TYPE_NEEDS_CONSTRUCTING.
6962
1a072294
RG
69632011-07-06 Richard Guenther <rguenther@suse.de>
6964
6965 * c-common.c (c_common_nodes_and_builtins):
6966 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6967
fce5dddd
RG
69682011-07-05 Richard Guenther <rguenther@suse.de>
6969
6970 * c-common.c (c_common_nodes_and_builtins): Build all common
6971 tree nodes first.
6972
45d439ac
JJ
69732011-06-27 Jakub Jelinek <jakub@redhat.com>
6974
56300785
JJ
6975 * c-common.h (c_tree_chain_next): New static inline function.
6976
45d439ac
JJ
6977 * c-common.c (check_builtin_function_arguments): Handle
6978 BUILT_IN_ASSUME_ALIGNED.
6979
e0a8ecf2
AM
69802011-06-21 Andrew MacLeod <amacleod@redhat.com>
6981
6982 * c-common.c: Add sync_ or SYNC__ to builtin names.
6983 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
6984
69852011-06-20 Pierre Vittet <piervit@pvittet.com>
6986
6987 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6988 handler.
6989 (gen_pragma_handler): New union.
6990 (internal_pragma_handler): New type.
6991 (c_register_pragma_with_data)
6992 (c_register_pragma_with_expansion_and_data): New functions.
6993
6994 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6995 (c_register_pragma, c_register_pragma_with_expansion)
6996 (c_invoke_pragma_handler): Changed to work with
6997 internal_pragma_handler.
6998 (c_register_pragma_with_data)
6999 (c_register_pragma_with_expansion_and_data): New functions.
7000
677f3fa8
JM
70012011-06-14 Joseph Myers <joseph@codesourcery.com>
7002
7003 * c-common.c: Include common/common-target.h.
7004 (handle_section_attribute): Use
7005 targetm_common.have_named_sections.
7006 * c-cppbuiltin.c: Include common/common-target.h.
7007 (c_cpp_builtins): Use targetm_common.except_unwind_info.
7008
d7fc8c14
RG
70092011-06-10 Richard Guenther <rguenther@suse.de>
7010
7011 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
7012 to print a IDENTIFIER_NODE.
7013
10e48e39
RO
70142011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7015 Joseph Myers <joseph@codesourcery.com>
7016
7017 * c.opt (fbuilding-libgcc): New option.
7018 * c-cppbuiltin.c (c_cpp_builtins): Define
7019 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
7020
6976ae51
JM
70212011-06-07 Jason Merrill <jason@redhat.com>
7022
3ff60975
JM
7023 * c-common.c (max_tinst_depth): Lower default to 900.
7024
6976ae51
JM
7025 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
7026
009db074
RG
70272011-06-07 Richard Guenther <rguenther@suse.de>
7028
7029 * c-common.c (c_common_nodes_and_builtins): Do not set
7030 size_type_node or call set_sizetype.
7031
b4592b92
DS
70322011-06-07 Dodji Seketeli <dodji@redhat.com>
7033
7034 PR debug/49130
7035 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 7036 type when using pointer comparison to compare types.
b4592b92 7037
014ab419
JW
70382011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
7039
7040 * c.opt: Add -Wdelete-non-virtual-dtor.
7041 * c-opts.c (c_common_handle_option): Include it in -Wall.
7042
4f60111f
NF
70432011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
7044
7045 PR bootstrap/49190
7046
7047 Revert:
7048 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7049
7050 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7051 not tree_common.
7052
4cc4f2f4
JJ
70532011-05-27 Jakub Jelinek <jakub@redhat.com>
7054
7055 PR c++/49165
7056 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
7057 C++ don't call c_common_truthvalue_conversion on void type arms.
7058
38e01f9e
NF
70592011-05-27 Nathan Froyd <froydnj@codesourcery.com>
7060
7061 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
7062 (stmt_list_stack): Define.
7063 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
7064 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
7065
92e948a8
NF
70662011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7067
7068 * c-common.c (warning_candidate_p): Check for BLOCKs.
7069
a2fc3e63
NF
70702011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7071
7072 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7073 not tree_common.
7074
0957c029
JJ
70752011-05-25 Jakub Jelinek <jakub@redhat.com>
7076
7077 * c-common.c (def_fn_type): Remove extra va_end.
7078
828fb3ba
JM
70792011-05-23 Jason Merrill <jason@redhat.com>
7080
7081 PR c++/48106
7082 * c-common.c (c_common_get_narrower): New.
7083 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
7084
dde05067
NF
70852011-05-23 Nathan Froyd <froydnj@codesourcery.com>
7086
7087 * c-common.h (check_function_arguments): Tweak prototype of
7088 check_function_arguments.
7089 * c-common.c (check_function_arguments): Likewise. Adjust
7090 calls to check_function_nonnull, check_function_format, and
7091 check_function_sentinel.
7092 (check_function_sentinel): Take a FUNCTION_TYPE rather than
7093 separate attributes and typelist arguments. Use
7094 FOREACH_FUNCTION_ARGS to iterate over argument types.
7095
3c0d13bf
PC
70962011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7097
7098 * c-common.c (c_common_reswords): Reorder.
7099 * c-common.h (rid): Likewise.
7100
8242dd04
NF
71012011-05-10 Nathan Froyd <froydnj@codesourcery.com>
7102
7103 * c-common.c (def_fn_type): Don't call build_function_type, call
7104 build_function_type_array or build_varargs_function_type_array
7105 instead.
7106 (c_common_nodes_and_builtins): Likewise.
7107
3d528853
NF
71082011-05-05 Nathan Froyd <froydnj@codesourcery.com>
7109
7110 * c-common.c (c_add_case_label): Omit the loc argument to
7111 build_case_label.
7112 * c-common.h (build_case_label): Remove.
7113 * c-semantics.c (build_case_label): Remove.
7114
a04a722b
JM
71152011-05-05 Joseph Myers <joseph@codesourcery.com>
7116
7117 * c-objc.h (objc_start_method_definition): Update prototype.
7118 * stub-objc.c (objc_start_method_definition): Add extra parameter.
7119
e19a18d4
NF
71202011-05-04 Nathan Froyd <froydnj@codesourcery.com>
7121
7122 * c-common.c (check_main_parameter_types): Reindent. Don't use
7123 TYPE_ARG_TYPES directly.
7124 (handle_nonnull_attribute): Likewise.
7125 (sync_resolve_params): Likewise.
7126 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
7127 to check_format_string.
7128 (handle_format_attribute): Likewise.
7129 (check_format_string): Take a function type to examine instead of
7130 a type list. Use a function_arg_iterator to step through argument
7131 types.
7132
c62c040f
RG
71332011-05-04 Richard Guenther <rguenther@suse.de>
7134
7135 * c-common.c (fix_string_type): Use size_int for index type bounds.
7136 (start_fname_decls): Do not pass NULL to build_int_cst.
7137 (c_init_attributes): Likewise.
7138 * c-lex.c (c_lex_with_flags): Likewise.
7139
c12ff9d8
JM
71402011-04-27 Jason Merrill <jason@redhat.com>
7141
7142 * c-common.c (make_tree_vector_from_list): New.
7143 * c-common.h: Declare it.
7144
304dfbe3
RG
71452011-04-26 Richard Guenther <rguenther@suse.de>
7146
7147 PR preprocessor/48248
7148 * c-ppoutput.c (maybe_print_line): Always optimize newlines
7149 for output size with -P.
7150
3c0d13bf
PC
71512011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
7152
7153 * c-common.c (struct c_common_resword): Add __underlying_type.
7154 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
7155
04695783
JM
71562011-04-20 Jim Meyering <meyering@redhat.com>
7157
7158 * c-format.c (init_dollar_format_checking): Remove useless
7159 if-before-free.
7160
0dc33c3c
NP
71612011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
7162
7163 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 7164 (objc_detect_field_duplicates): New.
0dc33c3c 7165 * stub-objc.c: Likewise.
3c0d13bf 7166
c59633d9
NP
71672011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7168
7169 * stub-objc.c (objc_declare_protocols): Renamed to
7170 objc_declare_protocol.
7171 * c-objc.h: Likewise.
3c0d13bf 7172
32dabdaf
NP
71732011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
7174
7175 * stub-objc.c (objc_declare_class): Updated argument name.
7176
81f653d6
NF
71772011-04-12 Nathan Froyd <froydnj@codesourcery.com>
7178
7179 * c-common.h (c_common_init_ts): Declare.
7180 * c-common.c (c_common_init_ts): Define.
7181
eb345401
NP
71822011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
7183
7184 * c-objc.h (objc_build_message_expr): Updated prototype.
7185 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 7186
a358e188
MJ
71872011-04-12 Martin Jambor <mjambor@suse.cz>
7188
7189 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
7190 of cgraph_node.
7191
e6313a78
RG
71922011-04-11 Richard Guenther <rguenther@suse.de>
7193
7194 * c-common.c (complete_array_type): Build a range type of
7195 proper type.
7196
dcf0c47e
NF
71972011-04-08 Nathan Froyd <froydnj@codesourcery.com>
7198
7199 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
7200 (handle_type_generic_attribute): Likewise.
7201
1ee44b26
JM
72022011-04-07 Jason Merrill <jason@redhat.com>
7203
7204 PR c++/48450
7205 * c-common.c (c_common_truthvalue_conversion): Don't ignore
7206 conversion from C++0x scoped enum.
7207
acce4e77
JM
72082011-04-06 Joseph Myers <joseph@codesourcery.com>
7209
7210 * c-target-def.h: New file.
7211 * c-target.def: New file.
7212 * c-target.h: New file.
7213 * c-common.c (targetcm): Don't define here.
7214 * c-common.h (default_handle_c_option): Declare.
7215 * c-format.c: Include c-target.h instead of target.h.
7216 * c-opts.c: Include c-target.h instead of target.h. Explicitly
7217 include tm.h.
7218 (default_handle_c_option): Move from targhooks.c.
7219
e2eefb55
JJ
72202011-03-29 Jakub Jelinek <jakub@redhat.com>
7221
7222 PR preprocessor/48248
7223 * c-ppoutput.c (print): Add src_file field.
7224 (init_pp_output): Initialize it.
7225 (maybe_print_line): Don't optimize by adding up to 8 newlines
7226 if map->to_file and print.src_file are different file.
7227 (print_line): Update print.src_file.
7228
ba78087b
KT
72292011-03-25 Kai Tietz <ktietz@redhat.com>
7230
7231 * c-ada-spec.c (compare_comment): Use filename_cmp
7232 instead of strcmp for filename.
7233
0edf1bb2
JL
72342011-03-25 Jeff Law <law@redhat.com>
7235
adfac8df 7236 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 7237
c7dc8804
JM
72382011-03-25 Jason Merrill <jason@redhat.com>
7239
7240 * c.opt: Add -std=c++03.
7241
d1d879b1
EB
72422011-03-22 Eric Botcazou <ebotcazou@adacore.com>
7243
7244 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
7245
3f8257db 72462011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
7247
7248 PR target/12171
5050afdf
KT
7249 * c-pretty-print.c (pp_c_specifier_qualifier_list):
7250 Display allowed attributes for function pointer types.
7251 (pp_c_attributes_display): New function to display
7252 attributes having affects_type_identity flag set to true.
7253 * c-pretty-print.h (pp_c_attributes_display): New prototype.
7254
62d784f7
KT
7255 * c-common.c (c_common_attribute_table):
7256 Add new element.
7257 (c_common_format_attribute_table): Likewise.
7258
82d37118
JM
72592011-03-18 Jason Merrill <jason@redhat.com>
7260
49a000c3
JM
7261 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
7262 * c-common.h: Don't declare it here.
7263 * c-common.c: Or define it here.
7264 * c-opts.c (c_common_handle_option): Or set it here.
7265
82d37118
JM
7266 PR c++/35315
7267 * c-common.c (handle_transparent_union_attribute): Don't
7268 make a duplicate type in C++.
7269
17bc631c
JM
72702011-03-15 Jason Merrill <jason@redhat.com>
7271
7272 * c-common.c (max_constexpr_depth): New.
7273 * c-common.h: Declare it.
7274 * c-opts.c (c_common_handle_option): Set it.
7275 * c.opt (fconstexpr-depth): New option.
7276
1b9b91a6
JM
72772011-03-11 Jason Merrill <jason@redhat.com>
7278
f231b5ff
JM
7279 * c-common.c (attribute_takes_identifier_p): Add missing const.
7280
1b9b91a6
JM
7281 PR c++/46803
7282 * c-common.c (attribute_takes_identifier_p): Assume that an
7283 unknown attribute takes an identifier.
7284
a19e4d44
NF
72852011-03-07 Nathan Froyd <froydnj@codesourcery.com>
7286
7287 PR c/47786
7288 * c-common.c (c_type_hash): Call list_length instead of iterating
7289 through DECL_CHAIN. Rename 'i' to 'n_elements'.
7290
982d62f6
JJ
72912011-02-19 Jakub Jelinek <jakub@redhat.com>
7292
7293 PR c/47809
7294 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
7295
0a256240
NP
72962011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7297
7298 * c.opt (fobjc-abi-version=) New.
7299 (fobjc-nilcheck): New.
7300
ba9e6dd5
NF
73012011-02-03 Nathan Froyd <froydnj@codesourcery.com>
7302
7303 PR c++/46890
7304 * c-common.h (keyword_is_decl_specifier): Declare.
7305 * c-common.c (keyword_is_decl_specifier): Define.
7306 (keyword_is_function_specifier): New function.
7307
7273813a
JJ
73082011-01-26 Jakub Jelinek <jakub@redhat.com>
7309
7310 PR c/47473
7311 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
7312 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
7313 REAL_TYPE.
7314
908ef79b
AC
73152011-01-26 Arnaud Charlet <charlet@adacore.com>
7316
7317 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
7318
237e9384
JJ
73192011-01-26 Jakub Jelinek <jakub@redhat.com>
7320
7321 PR pch/47430
7322 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
7323 after init_c_lex if pch_file is set.
7324
47ea1edf
DK
73252011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
7326
d4dba752 7327 PR c++/43601
47ea1edf
DK
7328 * c.opt (-fkeep-inline-dllexport): New switch.
7329
2aa9c6ae
RG
73302011-01-12 Richard Guenther <rguenther@suse.de>
7331
7332 PR middle-end/32511
7333 * c-common.c (handle_weak_attribute): Warn instead of error
7334 on declaring an inline function weak.
7335
7bd11157
TT
73362011-01-05 Tom Tromey <tromey@redhat.com>
7337
7338 * c-common.h (lvalue_error): Update.
7339 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
7340 not error.
7341
0e66e494 73422010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 7343
b4f588c4
NP
7344 PR objc/47075
7345 * c-objc.h (objc_finish_message_expr): Added argument to
7346 prototype.
7347
f4da8dce
NF
73482010-12-22 Nathan Froyd <froydnj@codesourcery.com>
7349
7350 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
7351 Use prototype_p.
7352
46270f14
NP
73532010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
7354
7355 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 7356 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 7357
4816c593
NF
73582010-12-10 Nathan Froyd <froydnj@codesourcery.com>
7359
7360 * c-common.h (readonly_error): Declare.
7361 * c-common.c (readonly_error): Define.
7362
7a6daeb0
NF
73632010-12-09 Nathan Froyd <froydnj@codesourcery.com>
7364
7365 * c-common.h (invalid_indirection_error): Declare.
7366 * c-common.c (invalid_indirection_error): Define.
7367
892f6119
RG
73682010-12-03 Richard Guenther <rguenther@suse.de>
7369
7370 PR c/46745
7371 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
7372 (pp_c_unary_expression): Likewise.
7373 (pp_c_expression): Likewise.
7374
6c39e757
NP
73752010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
7376
7377 * c-common.h (objc_finish_function): New.
7378 (objc_non_volatilized_type): Removed.
7379 (objc_type_quals_match): Removed.
7380 * stub-objc.c (objc_finish_function): New.
7381 (objc_non_volatilized_type): Removed.
7382 (objc_type_quals_match): Removed.
9faeb493 7383
7c475d11
JM
73842010-11-30 Joseph Myers <joseph@codesourcery.com>
7385
7386 * c-common.h (parse_optimize_options): Declare.
7387 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
7388 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
7389
71f3e391
JM
73902010-11-29 Joseph Myers <joseph@codesourcery.com>
7391
7392 * c-opts.c (check_deps_environment_vars): Use getenv instead of
7393 GET_ENVIRONMENT.
7394 * c-pch.c (O_BINARY): Don't define here.
7395 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
7396
d5fabb58
JM
73972010-11-25 Joseph Myers <joseph@codesourcery.com>
7398
7399 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
7400 targetm.except_unwind_info.
7401
299404a1
JM
74022010-11-23 Joseph Myers <joseph@codesourcery.com>
7403
7404 * c-opts.c (c_common_handle_option): Pass location to
7405 set_struct_debug_option.
7406
c98cd5bf
JM
74072010-11-23 Joseph Myers <joseph@codesourcery.com>
7408
7409 * c-common.c (visibility_options): Move from ../opts.c.
7410 * c-common.h (struct visibility_flags, visibility_options):
7411 Declare here.
7412 * c-opts.c (finish_options): Rename to c_finish_options.
7413 (c_common_init): Update call to finish_options.
7414
a9546771
NP
74152010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
7416
7417 PR objc/34033
7418 * c-lex.c (lex_string): Check that each string in an Objective-C
7419 string concat sequence starts with either one or zero '@', and
7420 that there are no spurious '@' signs at the end.
7421
24a57808
JM
74222010-11-20 Joseph Myers <joseph@codesourcery.com>
7423
7424 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
7425 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
7426 HANDLE_PRAGMA_VISIBILITY.
7427 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
7428 HANDLE_PRAGMA_VISIBILITY): Don't define.
7429 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
7430
a9aa2c3a
NF
74312010-11-20 Nathan Froyd <froydnj@codesourcery.com>
7432
7433 PR c++/16189
7434 PR c++/36888
7435 PR c++/45331
7436 * c-common.h (keyword_begins_type_specifier): Declare.
7437 (keyword_is_storage_class_specifier): Declare.
7438 (keyword_is_type_qualifier): Declare.
7439 * c-common.c (keyword_begins_type_specifier): New function.
7440 (keyword_is_storage_class_specifier): New function.
7441 (keyword_is_type_qualifier): Declare.
7442
5386338c
JM
74432010-11-19 Joseph Myers <joseph@codesourcery.com>
7444
7445 PR c/46547
7446 * c-common.c (in_late_binary_op): Define.
7447 (c_common_truthvalue_conversion): Check in_late_binary_op before
7448 calling c_save_expr.
7449 * c-common.h (in_late_binary_op): Declare.
7450
69ccdddb
JM
74512010-11-19 Joseph Myers <joseph@codesourcery.com>
7452
7453 * c-opts.c (c_common_handle_option): Update calls to
7454 set_struct_debug_option.
7455
6b192a09
NP
74562010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
7457
7458 * c-common.h (objc_declare_protocols): Added additional argument.
7459 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 7460
fb52b50a
NF
74612010-11-18 Nathan Froyd <froydnj@codesourcery.com>
7462
7463 PR c/33193
7464 * c-common.h (build_real_imag_expr): Declare.
7465 * c-semantics.c (build_real_imag_expr): Define.
7466
b37421c6
JM
74672010-11-17 Joseph Myers <joseph@codesourcery.com>
7468
7469 * c-opts.c (c_common_parse_file): Take no arguments.
7470 * c-common.h (c_common_parse_file): Update prototype.
7471
07078664
JJ
74722010-11-16 Jakub Jelinek <jakub@redhat.com>
7473
7474 PR c++/46401
7475 * c-common.c (warning_candidate_p): Don't track non-const calls
7476 or STRING_CSTs.
7477
c6a13190
ILT
74782010-11-15 Ian Lance Taylor <iant@google.com>
7479
7480 * c-lex.c (init_c_lex): Set macro debug callbacks if
7481 flag_dump_go_spec is set.
7482
925e8657
NP
74832010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
7484
7485 * c-common.h (objc_build_incr_expr_for_property_ref): New.
7486 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7487
bb0a9581
NF
74882010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7489
7490 PR preprocessor/45038
7491 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7492 dialects.
7493
c5fa0890
JM
74942010-11-12 Joseph Myers <joseph@codesourcery.com>
7495
7496 * c-common.h (c_family_lang_mask): Declare.
7497 * c-opts.c (c_family_lang_mask): Make extern.
7498 * c-pragma.c (handle_pragma_diagnostic): Use
7499 control_warning_option.
7500
a4d8c676
JM
75012010-11-12 Joseph Myers <joseph@codesourcery.com>
7502
7503 * c-common.c (parse_optimize_options): Update call to
7504 decode_options.
7505 * c-common.h (c_common_handle_option): Update prototype.
7506 * c-opts.c (c_common_handle_option): Take location_t parameter and
7507 pass it to other functions.
7508
f954bd2c
JM
75092010-11-11 Joseph Myers <joseph@codesourcery.com>
7510
7511 * c-opts.c (warning_as_error_callback): Remove.
7512 (c_common_initialize_diagnostics): Don't call
7513 register_warning_as_error_callback.
7514 (c_common_handle_option): Handle -Werror=normalized= here.
7515
d8a07487
JM
75162010-11-10 Joseph Myers <joseph@codesourcery.com>
7517
7518 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7519 in diagnostic.
7520 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7521 letter.
7522 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7523 Remove trailing '.' from diagnostics.
7524 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7525
d5478783
JM
75262010-11-10 Joseph Myers <joseph@codesourcery.com>
7527
7528 * c-common.c (parse_optimize_options): Pass global_dc to
7529 decode_options.
7530 * c-opts.c (c_common_handle_option): Pass &global_options to
7531 set_Wstrict_aliasing.
7532 * c.opt (v): Don't mark Common or document here.
7533
91ebb981
IS
75342010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7535
7536 PR target/44981
7537 * c-format.c (format_type): New type gcc_objc_string_format_type.
7538 (valid_stringptr_type_p): New.
7539 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 7540 (check_format_string): Pass expected type, use
91ebb981
IS
7541 valid_stringptr_type_p (), check that the format string types are
7542 consistent with the format specification.
7543 (decode_format_attr): Warn if NSString is used outside objective-c.
7544 (format_types_orig): Add NSString.
7545 (format_name): New.
7546 (format_flags): New.
7547 (check_format_arg): Handle format strings requiring an external parser.
7548 first_target_format_type: New variable.
7549 (handle_format_attribute): Set up first_target_format_type, pass the
7550 expected format arg string type to check_format_string().
7551 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7552 * stub-objc.c (objc_string_ref_type_p): New.
7553 (objc_check_format_arg): New.
7554
bede2adc
NP
75552010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7556
9faeb493 7557 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
7558 * c-common.h (objc_build_class_component_ref): New.
7559 * stub-objc.c (objc_build_class_component_ref): New.
7560
9a179d01
NP
75612010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7562
7563 * c.opt (Wproperty-assign-default): New option.
7564
22d8d616
NP
75652010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7566
7567 Implemented -fobjc-std=objc1 flag.
7568 * c.opt (fobjc-std=objc1): New option.
7569
2debdb4f
NP
75702010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7571
7572 Implemented format and noreturn attributes for Objective-C methods.
7573 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7574 attribute for Objective-C methods.
7575
ec52b111
JM
75762010-10-31 Jason Merrill <jason@redhat.com>
7577
7578 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7579 EXPR_LOC_OR_HERE.
7580
46a88c12
NP
75812010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7582
7583 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7584 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7585 (objc_add_property_declaration): Removed arguments for copies and
7586 ivar.
7587 (objc_build_getter_call): Renamed to
7588 objc_maybe_build_component_ref.
7589 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7590 (objc_is_property_ref): New.
7591 * c-common.c (c_common_reswords): Removed copies and ivar.
7592 * stub-objc.c (objc_add_property_declaration): Removed arguments
7593 for copies and ivar.
7594 (objc_build_getter_call): Renamed to
7595 objc_maybe_build_component_ref.
7596 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7597 (objc_is_property_ref): New.
9faeb493 7598
1e4bf85b
AC
75992010-10-29 Arnaud Charlet <charlet@adacore.com>
7600 Matthew Gingell <gingell@adacore.com>
7601
7602 * c-ada-spec.c (separate_class_package): New function.
7603 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7604 name of their enclosing package.
7605 (print_ada_declaration): Use separate_class_package.
7606
81f0bab2
JM
76072010-10-27 Jason Merrill <jason@redhat.com>
7608
2b08f2c5
JM
7609 * c-common.c (c_common_reswords): Add __is_literal_type.
7610 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7611
81f0bab2
JM
7612 * c-common.c (check_case_value): Remove special C++ code.
7613
200290f2
NP
76142010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7615
7616 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7617 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7618 and RID_LAST_PATTR.
7619 (objc_add_property_declaration): Added additional arguments.
7620 (objc_property_attribute_kind): Removed.
7621 (objc_set_property_attr): Removed.
7622 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7623 copy and nonatomic.
7624 * stub-objc.c (objc_add_property_declaration): Added additional
7625 arguments.
7626 (objc_set_property_attr): Removed.
9faeb493 7627
f614132b
NP
76282010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7629
7630 * c-common.h (objc_add_property_variable): Renamed to
7631 objc_add_property_declaration. Added location argument.
7632 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 7633
b8a18805
NP
76342010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7635
7636 * c-common.h (objc_maybe_printable_name): New.
7637 * stub-objc.c (objc_maybe_printable_name): New.
7638
3f8257db
JJ
76392010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7640 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
7641
7642 * c-common.h (c_common_mark_addressable_vec): Declare.
7643 * c-common.c (c_common_mark_addressable_vec): New function.
7644
249a82c4
NP
76452010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7646
7647 * c-common.h (objc_set_method_type): Removed.
7648 (objc_add_method_declaration): Added boolean argument.
7649 (objc_start_method_definition): Same change.
7650 (objc_build_method_signature): Same change.
7651 * stub-objc.c (objc_set_method_type): Removed.
7652 (objc_add_method_declaration): Added boolean argument.
7653 (objc_start_method_definition): Same change.
7654 (objc_build_method_signature): Same change.
7655
977e30bc
NP
76562010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7657
7658 * c-common.h (finish_file): Removed.
7659 (objc_write_global_declarations): New.
7660 * c-opts.c (c_common_parse_file): Do not call finish_file.
7661 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 7662
da57d1b9
NP
76632010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7664
7665 Implemented parsing @synthesize and @dynamic for
7666 Objective-C/Objective-C++.
7667 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7668 (objc_add_synthesize_declaration): New.
7669 (objc_add_dynamic_declaration): New.
7670 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7671 * stub-objc.c (objc_add_synthesize_declaration): New.
7672 (objc_add_dynamic_declaration): New.
9faeb493 7673
0069111f
MM
76742010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7675
7676 PR target/46041
7677 * c-cppbuiltin.c (mode_has_fma): Move function here from
7678 builtins.c. Don't use the fma optab, instead just use the
7679 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7680 using -save-temps.
7681
e426b47b
NP
76822010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7683
7684 Merge from 'apple/trunk' branch on FSF servers.
0069111f 7685
3f8257db 7686 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 7687
9faeb493 7688 Radar 4330422
e426b47b
NP
7689 * c-common.h (objc_non_volatilized_type): New declaration
7690 * stub-objc.c (objc_non_volatilized_type): New stub.
7691
90fbfdc3
NP
76922010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7693
e426b47b 7694 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 7695
3f8257db 7696 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 7697
9faeb493 7698 Radar 4133425
90fbfdc3 7699 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 7700 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 7701
c37d8c30
IS
77022010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7703
7704 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7705 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7706 (objc_ivar_visibility_kind): New enum.
7707 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 7708 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
7709 visibility enum.
7710
1b1562a5
MM
77112010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7712
7713 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7714 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7715 has the appropriate fma builtins.
7716 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7717
668ea4b1
IS
77182010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7719
1b1562a5 7720 merge from FSF apple 'trunk' branch.
3f8257db 7721 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 7722
668ea4b1
IS
7723 Radars 4436866, 4505126, 4506903, 4517826
7724 * c-common.c (c_common_resword): Define @property and its attributes.
7725 * c-common.h: Define property attribute enum entries.
7726 (OBJC_IS_PATTR_KEYWORD): New.
7727 (objc_property_attribute_kind): New enum.
7728 Declare objc_set_property_attr (), objc_add_property_variable (),
7729 objc_build_getter_call () and objc_build_setter_call ().
7730 * stub-objc.c (objc_set_property_attr): New stub.
7731 (objc_add_property_variable): Likewise.
7732 (objc_build_getter_call): Likewise.
7733 (objc_build_setter_call) Likewise.
1b1562a5 7734
a1178b30
IS
77352010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7736
1b1562a5 7737 merge from FSF apple 'trunk' branch.
3f8257db 7738 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
7739
7740 Radar 3803157 (method attributes)
7741 * c-common.c (handle_deprecated_attribute): Recognize
7742 objc methods as valid declarations.
7743 * c-common.h: Declare objc_method_decl ().
1b1562a5 7744 * stub-objc.c (objc_method_decl): New stub.
a1178b30 7745
a75bfaa6
JM
77462010-10-08 Joseph Myers <joseph@codesourcery.com>
7747
7748 * c-common.c (parse_optimize_options): Call
7749 decode_cmdline_options_to_array_default_mask before
7750 decode_options. Update arguments to decode_options.
7751 * c-common.h (c_common_init_options_struct): Declare.
7752 * c-opts.c (c_common_init_options_struct): New. Split out from
7753 c_common_init_options.
7754
f05b9d93
NP
77552010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7756
7757 Implemented fast enumeration for Objective-C.
7758 * c-common.h (objc_finish_foreach_loop): New.
7759 * stub-objc.c (objc_finish_foreach_loop): New.
7760
1ebe4b4f
JM
77612010-10-05 Joseph Myers <joseph@codesourcery.com>
7762
7763 * c-common.h (struct diagnostic_context): Don't declare here.
7764 (c_common_initialize_diagnostics): Declare using
7765 diagnostic_context typedef.
7766 * c-opts.c (c_common_handle_option): Pass global_dc to
7767 handle_generated_option.
7768
d4d24ba4
JM
77692010-10-04 Joseph Myers <joseph@codesourcery.com>
7770
7771 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7772 handle_generated_option.
7773
478a1c5b
ILT
77742010-10-03 Ian Lance Taylor <iant@google.com>
7775
7776 * c.opt (-fplan9-extensions): New option.
7777
82a1c2fe
FXC
77782010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7779
7780 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7781 Remove.
7782 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7783 of duplicating code.
7784
92902b1b
IS
77852010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7786
7787 * c-common.c: Add two new entries for @optional
7788 and @required keywords.
7789
7790 merge from FSF 'apple/trunk' branch.
3f8257db 7791 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
7792
7793 Radar 4386773
7794 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7795 objective-c keywords.
7796 (objc_set_method_opt): New declaration.
7797 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 7798
46625112
JM
77992010-09-30 Joseph Myers <joseph@codesourcery.com>
7800
7801 * c-common.c (handle_optimize_attribute): Pass &global_options to
7802 cl_optimization_save and cl_optimization_restore.
7803 * c-opts.c (c_common_handle_option): Pass &global_options to
7804 handle_generated_option.
7805 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7806 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7807 &global_options to cl_optimization_restore.
7808
49b91f05
NP
78092010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7810
7811 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7812 Objective-C/Objective-C++ keywords.
7813
13ed556f 78142010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 7815
9faeb493
UB
7816 Merge from 'apple/trunk' branch on FSF servers.
7817
3f8257db 7818 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
7819
7820 Radar 4281748
7821 * c-common.h (objc_check_global_decl): New declaration.
7822 * stub-objc.c (objc_check_global_decl): New stub.
7823
f0036cca
JM
78242010-09-29 Joseph Myers <joseph@codesourcery.com>
7825
7826 * c.opt: Don't use VarExists.
7827
e3339d0f
JM
78282010-09-29 Joseph Myers <joseph@codesourcery.com>
7829
7830 * c-common.c (c_cpp_error): Update names of diagnostic_context
7831 members.
7832 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7833 cl_optimization members.
7834 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7835 sanitize_cpp_opts, finish_options): Update names of cpp_options
7836 members.
7837
1973201f
NP
78382010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7839
7840 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7841 (objc_is_reserved_word): Removed.
7842 * c-common.c: Updated comments.
7843 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7844 objc_is_reserved_word.
7845 * stub-objc.c (objc_is_reserved_word): Removed.
7846
f7e71da5
IS
78472010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7848
9faeb493 7849 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
7850 include attributes.
7851 (objc_start_method_definition): Likewise.
7852 (objc_build_keyword_decl): Likewise.
7853 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7854 (objc_start_method_definition): Likewise.
7855 (objc_build_keyword_decl): Likewise.
7856
c165dca7
IS
78572010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7858
7859 * c-common.h (objc_start_class_interface): Adjust prototype.
7860 (objc_start_category_interface): Likewise.
7861 (objc_start_protocol): Likewise.
7862 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7863 (objc_start_class_interface): Likewise.
7864 (objc_start_category_interface): Likewise.
7865
7458026b
ILT
78662010-09-27 Ian Lance Taylor <iant@google.com>
7867
7868 * c-common.c (c_common_attribute_table): Add no_split_stack.
7869 (handle_no_split_stack_attribute): New static function.
7870
b581b85b
NP
78712010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7872
9faeb493 7873 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 7874
3f8257db 7875 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 7876
9faeb493 7877 Radar 4229905
b581b85b
NP
7878 * c-common.h (objc_have_common_type): New declaration.
7879 * stub-objc.c (objc_have_common_type): New stub.
7880
7881 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7882
7883 Radar 4154928
7884 * c-common.h (objc_common_type): New prototype.
9faeb493 7885 * stub-objc.c (objc_common_type): New stub.
b581b85b 7886
46a4da10
JH
78872010-09-24 Jan Hubicka <jh@suse.cz>
7888
7889 * c-common.c (handle_leaf_attribute): New function.
7890 (struct attribute_spec c_common_att): Add leaf.
7891
e200444e
JM
78922010-09-22 Joseph Myers <joseph@codesourcery.com>
7893
7894 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7895 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7896 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7897 -include-barrier, -include-directory, -include-directory=,
7898 -include-directory-after, -include-directory-after=,
7899 -include-prefix, -include-prefix=, -include-with-prefix,
7900 -include-with-prefix=, -include-with-prefix-after,
7901 -include-with-prefix-after=, -include-with-prefix-before,
7902 -include-with-prefix-before=, -no-integrated-cpp,
7903 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7904 -output=, -pedantic, -pedantic-errors, -preprocess,
7905 -print-missing-file-dependencies, -trace-includes, -traditional,
7906 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7907 -user-dependencies, -verbose, -write-dependencies,
7908 -write-user-dependencies, no-integrated-cpp, traditional): New.
7909
29a80ea6
NP
79102010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7911
7912 PR objc/23710
ac1fc2fc
NP
7913 * c-common.h (objc_start_method_definition): Return bool instead
7914 of void.
7915 * stub-objc.c (objc_start_method_definition): Return bool instead
7916 of void.
7917
79182010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7919
7920 PR objc/25965
7921 * c-common.h (objc_get_interface_ivars): New declaration.
7922 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 7923
de621752
ILT
79242010-09-15 Ian Lance Taylor <iant@google.com>
7925
7926 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 7927 messages. Remove period at end of warning message.
de621752 7928
ba885ec5
NS
79292010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7930
7931 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7932 (handle_alias_attribute): ... here.
7933 (handle_ifunc_attribute): New.
7934
c5ee1358
MM
79352010-09-06 Mark Mitchell <mark@codesourcery.com>
7936
7937 * c-common.h (do_warn_double_promotion): Declare.
7938 * c-common.c (do_warn_double_promotion): Define.
7939
0a0b3574
MM
79402010-09-05 Mark Mitchell <mark@codesourcery.com>
7941
7942 * c.opt (Wdouble-promotion): New.
7943
d1779886
JM
79442010-09-02 Joseph Myers <joseph@codesourcery.com>
7945
7946 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7947 fvtable-thunks, fxref): Mark no longer supported in help text.
7948
2d2bd949
JM
79492010-09-02 Joseph Myers <joseph@codesourcery.com>
7950
7951 * c.opt (Wimport, fall-virtual, falt-external-templates,
7952 fdefault-inline, fenum-int-equiv, fexternal-templates,
7953 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7954 fname-mangling-version-, fnew-abi, fnonnull-objects,
7955 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7956 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7957 applicable.
7958 (fhandle-exceptions): Mark with Alias and Warn.
7959 * c-opts.c (c_common_handle_option): Don't handle options marked
7960 as ignored.
7961
5de8299c
JM
79622010-09-02 Joseph Myers <joseph@codesourcery.com>
7963
7964 * c.opt (Wcomments, Werror-implicit-function-declaration,
7965 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7966 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7967 aliases.
7968 * c-common.c (option_codes): Use OPT_Wcomment instead of
7969 OPT_Wcomments.
7970 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7971 Don't handle options marked as aliases.
7972
0ceb0201
RG
79732010-08-25 Richard Guenther <rguenther@suse.de>
7974
7975 * c-common.c (c_common_get_alias_set): Remove special
7976 handling for pointers.
7977
ac47786e
NF
79782010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7979
7980 * c-common.c: Use FOR_EACH_VEC_ELT.
7981 * c-gimplify.c: Likewise.
7982 * c-pragma.c: Likewise.
7983
c878765b
JM
79842010-08-16 Joseph Myers <joseph@codesourcery.com>
7985
7986 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7987 RejectDriver.
7988 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7989 RejectDriver.
7990 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7991 instead of OPT_MDX and OPT_MMDX.
7992
603349bf
JM
79932010-08-16 Joseph Myers <joseph@codesourcery.com>
7994
7995 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7996
644fa7ac
JM
79972010-08-12 Joseph Myers <joseph@codesourcery.com>
7998
7999 * c.opt (MD, MMD): Change to MDX and MMDX.
8000 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
8001
481e1176
JM
80022010-08-11 Joseph Myers <joseph@codesourcery.com>
8003
8004 * c-opts.c (c_common_handle_option): Call handle_generated_option
8005 instead of handle_option.
8006
ac8dc9f7
NF
80072010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8008
8009 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
8010 (maybe_apply_renaming_pragma): Delete unneeded declarations.
8011
4f8c876d
NF
80122010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8013
8014 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
8015 (pending_redefine_extname): Change type to a VEC.
8016 (add_to_renaming_pragma_list): Update for new type of
8017 pending_redefine_extname.
ac8dc9f7 8018 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 8019
3b0c690e
AC
80202010-08-04 Arnaud Charlet <charlet@adacore.com>
8021
8022 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
8023 visited.
8024 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
8025 decide whether a type has already been declared/seen.
8026 Do not go to the original type.
8027 (dump_nested_types): New parameter forward.
8028 Generate forward declaration if needed and mark type as visited.
8029 (print_ada_declaration): Call dump_nested_types if not already done.
8030 Mark types as visited.
8031
1890bccc
JM
80322010-08-03 Joseph Myers <joseph@codesourcery.com>
8033
8034 * c.opt (-print-pch-checksum): Remove option.
8035 * c-opts.c (c_common_handle_option): Don't handle
8036 OPT_print_pch_checksum.
8037
5f20c657
JM
80382010-07-27 Joseph Myers <joseph@codesourcery.com>
8039
8040 * c-common.h (c_common_handle_option): Update prototype and return
8041 value type.
8042 * c-opts.c (c_common_handle_option): Update prototype and return
8043 value type. Update calls to handle_option and
8044 enable_warning_as_error.
8045
f551f80c
JJ
80462010-07-27 Jakub Jelinek <jakub@redhat.com>
8047
8048 PR c/45079
8049 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
8050
61ff2bdc
JM
80512010-07-27 Joseph Myers <joseph@codesourcery.com>
8052
8053 * c-common.h (c_common_missing_argument): Remove.
8054 * c-opts.c (c_common_missing_argument): Remove.
8055 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
8056 idirafter, imacros, include, isysroot, isystem, iquote): Add
8057 MissingArgError.
8058 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
8059
7a9bf9a4
JM
80602010-07-27 Joseph Myers <joseph@codesourcery.com>
8061
8062 * c-common.h (c_common_option_lang_mask,
8063 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
8064 New.
8065 (c_common_init_options): Update prototype.
8066 * c-opts.c (c_common_option_lang_mask): New.
8067 (c_common_initialize_diagnostics): Split out of
8068 c_common_init_options.
8069 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
8070 New.
8071 (c_common_init_options): Update prototype. Use decoded options in
8072 search for -lang-asm.
8073
910ad8de
NF
80742010-07-15 Nathan Froyd <froydnj@codesourcery.com>
8075
8076 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
8077 * c-format.c: Likewise.
8078
718f9c0f
MLI
80792010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
8080
8081 * c-common.h: Include diagnostic-core.h. Error if already
8082 included.
8083 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
8084
4d451982
MLI
80852010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8086
adfac8df 8087 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
8088 Do not include expr.h
8089 (vector_mode_valid_p): Move here.
8090
119fe915
SB
80912010-06-21 DJ Delorie <dj@redhat.com>
8092
8093 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
8094 allow these pragmas anywhere.
8095
80962010-06-14 Jakub Jelinek <jakub@redhat.com>
8097
8098 PR bootstrap/44509
8099 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
8100 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
8101 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
8102 ggc_strdup instead of xstrdup.
8103
81042010-06-10 Jakub Jelinek <jakub@redhat.com>
8105
8106 * c-cppbuiltin.c: Include cpp-id-data.h.
8107 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
8108 (lazy_hex_fp_value): New function.
8109 (builtin_define_with_hex_fp_value): Provide definitions lazily.
8110
6662d794
MLI
81112010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8112
8113 * c-gimplify.c: Do not include tree-flow.h
8114
38f8b050
JR
81152010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
8116
8117 PR other/44034
8118 * c-common.c: Rename targetm member:
8119 targetm.enum_va_list -> targetm.enum_va_list_p
8120
9589f23e
AS
81212010-06-28 Anatoly Sokolov <aesok@post.ru>
8122
8123 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
8124
3b06d379
SB
81252010-06-28 Steven Bosscher <steven@gcc.gnu.org>
8126
8127 * c-cppbuiltin.c: Do not include except.h.
8128
d166d4c3
AK
81292010-06-24 Andi Kleen <ak@linux.intel.com>
8130
9faeb493
UB
8131 * c-common.c (warn_for_omitted_condop): New.
8132 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 8133
70cb8be6
JM
81342010-06-21 Joseph Myers <joseph@codesourcery.com>
8135
8136 * c.opt (lang-objc): Remove.
8137 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
8138
a4c97feb
JR
81392010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
8140
8141 * c-opts.c: Include "tm_p.h".
8142
6e2f1956
JM
81432010-06-20 Joseph Myers <joseph@codesourcery.com>
8144
8145 * c-common.c (parse_optimize_options): Update call to
8146 decode_options.
8147
bc87224e
NF
81482010-06-18 Nathan Froyd <froydnj@codesourcery.com>
8149
8150 * c-common.c (record_types_used_by_current_var_decl): Adjust for
8151 new type of types_used_by_cur_var_decl.
8152
b49cf425
JR
81532010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
8154
8155 PR bootstrap/44512
8156 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
8157 for C++ standard compliance.
8158
59f9c2ed
JM
81592010-06-16 Jason Merrill <jason@redhat.com>
8160
8161 * c.opt: Add -Wnoexcept.
8162
33766b66
RG
81632010-06-16 Richard Guenther <rguenther@suse.de>
8164
8165 PR c/44555
8166 * c-common.c (c_common_truthvalue_conversion): Remove
8167 premature and wrong optimization concering ADDR_EXPRs.
8168
eff7e30c
AC
81692010-06-15 Arnaud Charlet <charlet@adacore.com>
8170
8171 * c-ada-spec.c (dump_sloc): Remove column info.
8172 (is_simple_enum): New function.
8173 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
8174 enum types when relevant.
8175
6312e84d
MLI
81762010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8177
9faeb493 8178 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
8179 location.
8180
1cb42611
JM
81812010-06-10 Joseph Myers <joseph@codesourcery.com>
8182
8183 * c-opts.c (c_common_handle_option): Don't handle
8184 OPT_fshow_column.
8185
a9429e29
LB
81862010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
8187
8188 * c-pragma.c (push_alignment): Use typed GC allocation.
8189 (handle_pragma_push_options): Likewise.
8190
8191 * c-common.c (parse_optimize_options): Likewise.
8192
8193 * c-common.h (struct sorted_fields_type): Add variable_size GTY
8194 option.
8195
5498f011
JM
81962010-06-07 Joseph Myers <joseph@codesourcery.com>
8197
8198 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
8199 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8200 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8201 flag_signed_bitfields, warn_strict_null_sentinel,
8202 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
8203 flag_gen_declaration, flag_no_gnu_keywords,
8204 flag_implement_inlines, flag_implicit_templates,
8205 flag_implicit_inline_templates, flag_optional_diags,
8206 flag_elide_constructors, flag_default_inline, flag_rtti,
8207 flag_conserve_space, flag_access_control, flag_check_new,
8208 flag_new_for_scope, flag_weak, flag_working_directory,
8209 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
8210 flag_enforce_eh_specs, flag_threadsafe_statics,
8211 flag_pretty_templates): Remove.
8212 * c-common.h (flag_preprocess_only, flag_nil_receivers,
8213 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
8214 flag_replace_objc_classes, flag_undef, flag_no_builtin,
8215 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
8216 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
8217 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
8218 flag_no_gnu_keywords, flag_implement_inlines,
8219 flag_implicit_templates, flag_implicit_inline_templates,
8220 flag_optional_diags, flag_elide_constructors, flag_default_inline,
8221 flag_rtti, flag_conserve_space, flag_access_control,
8222 flag_check_new, flag_new_for_scope, flag_weak,
8223 flag_working_directory, flag_use_cxa_atexit,
8224 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
8225 flag_threadsafe_statics, flag_pretty_templates,
8226 warn_strict_null_sentinel): Remove.
8227 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
8228 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
8229 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
8230 fimplicit-inline-templates, fimplicit-templates,
8231 flax-vector-conversions, fms-extensions, fnil-receivers,
8232 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
8233 frtti, fshort-double, fshort-enums, fshort-wchar,
8234 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
8235 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
8236 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
8237 gen-decls, undef): Use Var.
8238 (fdefault-inline, foptional-diags): Document as doing nothing.
8239 * c-opts.c (c_common_handle_option): Remove cases for options now
8240 using Var. Mark ignored options as such.
8241
39dabefd
SB
82422010-06-05 Steven Bosscher <steven@gcc.gnu.org>
8243
9faeb493 8244 * c-common.c: Moved to here from parent directory.
39dabefd
SB
8245 * c-common.def: Likewise.
8246 * c-common.h: Likewise.
8247 * c-cppbuiltin.c: Likewise.
8248 * c-dump.c: Likewise.
8249 * c-format.c: Likewise.
8250 * c-format.h : Likewise.
8251 * c-gimplify.c: Likewise.
8252 * c-lex.c: Likewise.
8253 * c-omp.c: Likewise.
8254 * c.opt: Likewise.
8255 * c-opts.c: Likewise.
8256 * c-pch.c: Likewise.
8257 * c-ppoutput.c: Likewise.
8258 * c-pragma.c: Likewise.
8259 * c-pragma.h: Likewise.
8260 * c-pretty-print.c: Likewise.
8261 * c-pretty-print.h: Likewise.
8262 * c-semantics.c: Likewise.
8263 * stub-objc.c: Likewise.
8264
8265 * c-common.c: Include gt-c-family-c-common.h.
8266 * c-pragma.c: Include gt-c-family-c-pragma.h.
8267\f
cbe34bb5 8268Copyright (C) 2010-2017 Free Software Foundation, Inc.
39dabefd
SB
8269
8270Copying and distribution of this file, with or without modification,
8271are permitted in any medium without royalty provided the copyright
8272notice and this notice are preserved.
This page took 2.885778 seconds and 5 git commands to generate.