]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
[OpenMP] Add missing parameters to omp_lib documentation (PR fortran/93541)
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
e3b6c052
JM
12020-01-29 Jason Merrill <jason@redhat.com>
2
3 PR c++/89357
4 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
5
6d00f052
JM
62020-01-23 Jason Merrill <jason@redhat.com>
7
8 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
9
8a990ffa
MS
102020-01-23 Martin Sebor <msebor@redhat.com>
11
12 PR c/84919
13 * c-common.c (check_function_arguments): Avoid overlap checking
14 of sprintf functions.
15
55b7df8b
JM
162020-01-22 Jason Merrill <jason@redhat.com>
17
18 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
19 PR c++/40752
20 * c-warn.c (conversion_warning): Check operands only after checking
21 the whole expression. Don't check second operand of + for sign.
22
c77074d0
JM
232020-01-21 Jason Merrill <jason@redhat.com>
24 Manuel López-Ibáñez <manu@gcc.gnu.org>
25
26 PR c++/40752 - useless -Wconversion with short +=.
27 * c.opt (-Warith-conversion): New.
28 * c-warn.c (conversion_warning): Recurse for operands of
29 operators. Only warn about the whole expression with
30 -Warith-conversion.
31
731dbfc3
JM
322020-01-21 Jason Merrill <jason@redhat.com>
33
34 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
35 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
36
ad1a3914
NS
372020-01-20 Nathan Sidwell <nathan@acm.org>
38
39 PR preprocessor/80005
40 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
41
49789fd0
IS
422020-01-18 Iain Sandoe <iain@sandoe.co.uk>
43
44 * c-common.c (co_await, co_yield, co_return): New.
45 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
46 RID_CO_RETURN): New enumeration values.
47 (D_CXX_COROUTINES): Bit to identify coroutines are active.
48 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
49 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
50 * c.opt (fcoroutines): New command-line switch.
51
4bc1899b
DM
522020-01-10 David Malcolm <dmalcolm@redhat.com>
53
54 * c-format.c (local_event_ptr_node): New.
55 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
56 (init_dynamic_diag_info): Initialize local_event_ptr_node.
57 * c-format.h (T_EVENT_PTR): New define.
58
f25e33fa
MS
592020-01-10 Martin Sebor <msebor@redhat.com>
60
61 PR c/93132
62 * c-attribs.c (append_access_attrs): Validate against the translated
63 access string rather than the human-readable representation.
64
8d9254fc
JJ
652020-01-01 Jakub Jelinek <jakub@redhat.com>
66
67 Update copyright years.
68
39292e25
EB
692019-12-20 Eric Botcazou <ebotcazou@adacore.com>
70
71 * c-ada-spec.h (decl_sloc): Delete.
72 * c-ada-spec.c (decl_sloc): Make static.
73
519d7496
JB
742019-12-19 Julian Brown <julian@codesourcery.com>
75
76 * c-common.h (c_omp_map_clause_name): Add prototype.
77 * c-omp.c (c_omp_map_clause_name): New function.
78 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
79 PRAGMA_OACC_CLAUSE_DETACH.
80
a6163563
JB
812019-12-19 Julian Brown <julian@codesourcery.com>
82 Maciej W. Rozycki <macro@codesourcery.com>
83 Tobias Burnus <tobias@codesourcery.com>
84 Thomas Schwinge <thomas@codesourcery.com>
85
86 * c-pragma.h (pragma_omp_clause): Add
87 PRAGMA_OACC_CLAUSE_NO_CREATE.
88
e8f1ade2
MS
892019-12-17 Martin Sebor <msebor@redhat.com>
90
91 PR c++/61339
92 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
93
368877a1
DM
942019-12-11 David Malcolm <dmalcolm@redhat.com>
95
96 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
97 implementation.
98 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
99
d68f5d45
DM
1002019-12-09 David Malcolm <dmalcolm@redhat.com>
101
102 * c-format.c (range_label_for_format_type_mismatch::get_text):
103 Replace label_text ctor called with true with label_text::take.
104
d3e28653
DM
1052019-12-09 David Malcolm <dmalcolm@redhat.com>
106
107 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
108 initial newline from expected outputs.
109 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
110 call to diagnostic_show_locus.
111
abd6d8cc
JJ
1122019-12-06 Jakub Jelinek <jakub@redhat.com>
113
114 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
115 now.
116
7906797e
MP
1172019-12-05 Marek Polacek <polacek@redhat.com>
118 Jakub Jelinek <jakub@redhat.com>
119
120 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
121 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
122
5c04da88
MP
1232019-12-05 Marek Polacek <polacek@redhat.com>
124
125 PR c++/92271 - make __is_same alias for __is_same_as.
126 * c-common.c: Add __is_same, an alias for __is_same_as.
127
43aae289
MP
1282019-12-03 Marek Polacek <polacek@redhat.com>
129
130 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
131 * c-cppbuiltin.c (c_cpp_builtins): Predefine
132 __cpp_aggregate_paren_init=201902 for -std=c++2a.
133
d7ddfbcb
JH
1342019-11-30 Jan Hubicka <hubicka@ucw.cz>
135
136 * c-attribs.c (handle_symver_attribute): New function
137 (c_common_attributes): Add symver.
138
65ef05d0
RS
1392019-11-30 Richard Sandiford <richard.sandiford@arm.com>
140
141 * c-common.c (pointer_int_sum): Use verify_type_context to check
142 whether the target allows pointer arithmetic for the types involved.
143 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
144 to check whether the target allows sizeof and alignof operations
145 for the types involved.
146
1a291106
JM
1472019-11-27 Jason Merrill <jason@redhat.com>
148
149 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
150
05d6cb1a
JJ
1512019-11-26 Jakub Jelinek <jakub@redhat.com>
152
153 PR c++/61414
154 * c-attribs.c (handle_mode_attribute): Add mode attribute to
155 ENUMERAL_TYPEs.
156
5b8d9367
JM
1572019-11-25 Joseph Myers <joseph@codesourcery.com>
158
159 PR c/91985
160 * c-common.c (c_common_type_for_mode): Handle decimal
161 floating-point types being NULL_TREE.
162 * c-format.c (get_format_for_type_1): Handle specified types being
163 NULL_TREE.
164 * c-lex.c (interpret_float): Give an error for decimal
165 floating-point constants when decimal floating-point not
166 supported.
167
1fbf51cb
JJ
1682019-11-23 Jakub Jelinek <jakub@redhat.com>
169
170 PR middle-end/83859
171 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
172 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
173 group warning with inform together.
174 (handle_access_attribute): Formatting fix.
175
761df906
JJ
1762019-11-22 Jakub Jelinek <jakub@redhat.com>
177
bdaf8be1
JJ
178 PR c/90677
179 * c-common.h (identifier_global_tag): Declare.
180 * c-format.c (get_pointer_to_named_type): Renamed to ...
181 (get_named_type): ... this. Use identifier_global_tag instead of
182 identifier_global_value, handle the return value being a TYPE_P.
183 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
184 to call get_named_type instead. Formatting fixes.
185
c2ecce6d 186 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
187 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
188 and __cpp_generic_lambdas for -std=c++2a. Define
189 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
190 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
191 __cpp_concepts for -std=c++2a.
192
54aa6b58
MS
1932019-11-22 Martin Sebor <msebor@redhat.com>
194
195 PR middle-end/83859
196 * c-attribs.c (handle_access_attribute): New function.
197 (c_common_attribute_table): Add new attribute.
198 (get_argument_type): New function.
199 (append_access_attrs): New function.
200 (get_nonnull_operand): Rename...
201 (get_attribute_operand): ...to this.
202 * c-common.c (get_nonnull_operand): Rename...
203 (get_attribute_operand): ...to this.
204
6c80b1b5
JM
2052019-11-21 Joseph Myers <joseph@codesourcery.com>
206
207 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
208 of warning.
209
192961ff
JM
2102019-11-19 Joseph Myers <joseph@codesourcery.com>
211
212 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
213 warning for standard attributes mixed with fallthrough attributes.
214
f8aea5e3
JM
2152019-11-15 Joseph Myers <joseph@codesourcery.com>
216
217 * c-attribs.c (handle_fallthrough_attribute): Remove static.
218 * c-common.h (handle_fallthrough_attribute): Declare.
219
2cc94aa8
JM
2202019-11-15 Joseph Myers <joseph@codesourcery.com>
221
222 * c-attribs.c (handle_deprecated_attribute): Remove static.
223 * c-common.h (handle_deprecated_attribute): Declare.
224
7c5890cc
JM
2252019-11-14 Joseph Myers <joseph@codesourcery.com>
226
227 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
228 char for C.
229
b2417b59
JJ
2302019-11-14 Jakub Jelinek <jakub@redhat.com>
231
d0ec7c93
JJ
232 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
233 valid vendors.
234
b2417b59
JJ
235 * c-omp.c (c_omp_check_context_selector): Handle name lists
236 containing string literals. Don't diagnose atomic_default_mem_order
237 with multiple props.
238
00be2a5f
JM
2392019-11-13 Joseph Myers <joseph@codesourcery.com>
240
241 * c-cppbuiltin.c (builtin_define_float_constants): Also define
242 NORM_MAX constants. Update call to get_max_float.
243 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
244 constants.
245
2dbad62d
EB
2462019-11-13 Eric Botcazou <ebotcazou@adacore.com>
247
248 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
249 (dump_forward_type): Do not generate a declaration for function types.
250 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
251 of the component type if it is declared in another file.
252
6ed76044
ML
2532019-11-12 Martin Liska <mliska@suse.cz>
254
255 * c-opts.c (c_common_post_options):
256 Use SET_OPTION_IF_UNSET.
257
62aee289
MR
2582019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
259 Frederik Harwath <frederik@codesourcery.com>
260
261 gcc/c-family/
262 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
263 constant.
264 * c-pragma.c (oacc_pragmas): Add "serial" entry.
265
f486280c
RS
2662019-11-08 Richard Sandiford <richard.sandiford@arm.com>
267
268 * c-common.h (gnu_vector_type_p): New function.
269 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
270 vectors to satisfy gnu_vector_type_p.
271 (c_build_vec_convert): Likewise __builtin_convertvector.
272 (convert_vector_to_array_for_subscript): Likewise when applying
273 implicit vector to array conversion.
274 (scalar_to_vector): Likewise when converting vector-scalar
275 operations to vector-vector operations.
276
017c6491
JM
2772019-11-08 Joseph Myers <joseph@codesourcery.com>
278
279 * c.opt (Wold-style-definition): Initialize to -1.
280 * c-opts.c (c_common_post_options): Set warn_old_style_definition
281 to flag_isoc2x if not set explicitly.
282
c01bd174
JM
2832019-11-07 Joseph Myers <joseph@codesourcery.com>
284
285 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
286
0df65305
JM
2872019-11-05 Jason Merrill <jason@redhat.com>
288
289 * c-opts.c (c_common_post_options): -fconcepts-ts implies
290 -fconcepts.
291
e0c866dd
KK
2922019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
293
294 * c-opts.c (c_common_post_options): Update
295 latest_abi_version.
296
f968ef9b
JJ
2972019-11-02 Jakub Jelinek <jakub@redhat.com>
298
d0c464d2
JJ
299 * c-common.h (c_omp_get_context_selector): Remove.
300 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
301 and renamed to omp_get_context_selector.
302
917dd789
JJ
303 * c-omp.c (c_omp_mark_declare_variant): Use
304 omp_context_selector_set_compare.
305
f968ef9b
JJ
306 PR c++/88335 - Implement P1073R3: Immediate functions
307 * c-common.h (enum rid): Add RID_CONSTEVAL.
308 * c-common.c (c_common_reswords): Add consteval.
309
5f6705b7
JJ
3102019-11-01 Martin Sebor <msebor@redhat.com>
311
312 PR middle-end/91679
313 PR middle-end/91647
314 PR middle-end/91463
315 PR middle-end/92312
316 * c-pretty-print.c (direct_abstract_declarator): Print
317 bound in zero-length arrays.
318 * c.opt (-Wzero-length-bounds): New option.
319
43f1814c
NS
3202019-10-30 Nathan Sidwell <nathan@acm.org>
321
322 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
323 macros.
324
ad1539d5
MS
3252019-10-28 Martin Sebor <msebor@redhat.com>
326
327 PR c/66970
328 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
329 even when only preprocessing.
330 * c-common.h (names_builtin_p): Declare new function.
331 * c-lex.c (init_c_lex): Set has_builtin.
332 (c_common_has_builtin): Define a new function.
333 * c-ppoutput.c (init_pp_output): Set has_builtin.
334
135df52c
JJ
3352019-10-24 Jakub Jelinek <jakub@redhat.com>
336
337 * c-common.h (c_omp_context_selector_matches): Remove.
338 * c-omp.c (c_omp_context_selector_matches): Remove.
339 * c-attribs.c (c_common_attribute_table): Add
340 "omp declare target {host,nohost,block}" attributes.
341
8ad0c477
JM
3422019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
343
344 * c-lex.c (c_common_has_attribute): Update nodiscard value.
345
56898e43
RS
3462019-10-14 Richard Sandiford <richard.sandiford@arm.com>
347
348 * c-common.h (user_facing_original_type_p): Declare.
349 * c-common.c: Include c-spellcheck.h.
350 (user_facing_original_type_p): New function.
351
20de9568
JJ
3522019-10-12 Jakub Jelinek <jakub@redhat.com>
353
354 * c-common.h (c_omp_mark_declare_variant,
355 c_omp_context_selector_matches): Declare.
356 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
357 and hsa-common.h.
358 (c_omp_get_context_selector): Support second argument NULL.
359 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
360 functions.
361 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
362 attribute, add "omp declare variant base" and
363 "omp declare variant variant" attributes.
364
175a85b2
JM
3652019-10-11 Joseph Myers <joseph@codesourcery.com>
366
367 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
368 CppReason(CPP_W_C11_C2X_COMPAT).
369
fe2bc27c
JM
3702019-10-11 Joseph Myers <joseph@codesourcery.com>
371
372 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
373 _Decimal64 and _Decimal128.
374
27dfdc0f
JM
3752019-10-10 Joseph Myers <joseph@codesourcery.com>
376
377 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
378 types if DFP not supported.
379
94e7f906
JJ
3802019-10-10 Jakub Jelinek <jakub@redhat.com>
381
382 * c-common.h (c_omp_check_context_selector,
383 c_omp_get_context_selector): Declare.
384 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
385 in diagnostic message.
386 (c_omp_check_context_selector, c_omp_get_context_selector): New
387 functions.
388 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
389 attribute.
390 (handle_omp_declare_variant_attribute): New function.
391
a7160771
MS
3922019-10-09 Martin Sebor <msebor@redhat.com>
393
394 PR tree-optimization/90879
395 * c.opt (-Wstring-compare): New option.
396
cb57504a
JM
3972019-10-08 Andrew Sutton <asutton@lock3software.com>
398 Jason Merrill <jason@redhat.com>
399
400 Update the concepts implementation to conform to the C++20
401 specification, improve compile times, and generally clean up
402 the implementation.
403
404 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
405 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
406 * c.opt: Add -Wconcepts-ts.
407 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
408 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
409 (set_std_cxx2a): Enable concepts by default.
410
fbb2a6dc
JM
4112019-10-08 Joseph Myers <joseph@codesourcery.com>
412
413 * c-opts.c (c_common_post_options): Set
414 -fno-fp-int-builtin-inexact for C2X.
415
8e007055
JJ
4162019-10-05 Jakub Jelinek <jakub@redhat.com>
417
418 PR c++/91369 - Implement P0784R7: constexpr new
419 * c-cppbuiltin.c (c_cpp_builtins): Predefine
420 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
421
843f104d
JM
4222019-10-04 Joseph Myers <joseph@codesourcery.com>
423
424 PR c/82752
425 * c-format.c (C_STD_VER): Handle C2x.
426 (C_STD_NAME): Likewise.
427 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
428 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
429 modifier allowed and 'p' flag.
430 * c-format.h (enum format_std_version): Add STD_C2X.
431 (struct format_char_info): Mention 'p' in comment on flags2.
432
e9c9a142
DM
4332019-10-01 David Malcolm <dmalcolm@redhat.com>
434
435 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
436 calling diagnostic_show_locus, rather than destroying it afterwards.
437
7552c36a
JJ
4382019-10-01 Jakub Jelinek <jakub@redhat.com>
439
440 PR c++/91925
441 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
442 with NULL DECL_FIELD_OFFSET.
443
8209db25
RS
4442019-10-01 Richard Sandiford <richard.sandiford@arm.com>
445
446 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
447 has a type name, use it in preference to the __vector syntax.
448
9343bf99
RS
4492019-09-30 Richard Sandiford <richard.sandiford@arm.com>
450
451 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
452 two spaces between a comma and "...".
453
59bc434a
JJ
4542019-09-27 Jakub Jelinek <jakub@redhat.com>
455
456 PR c++/88203
457 * c-common.h (c_omp_predefined_variable): Declare.
458 * c-omp.c (c_omp_predefined_variable): New function.
459 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
460 for predefined variables.
461
c6447c20
RS
4622019-09-27 Richard Sandiford <richard.sandiford@arm.com>
463
464 * c-common.h (build_function_call_vec): Take the original
465 function decl as an optional final parameter.
466 (check_builtin_function_arguments): Take the original function decl.
467 * c-common.c (check_builtin_function_arguments): Likewise.
468 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
469 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
470
c4438114
JM
4712019-09-15 Jason Merrill <jason@redhat.com>
472
473 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
474 fold_for_warn in "|| mask" warning.
475
68a57628
ML
4762019-09-10 Martin Liska <mliska@suse.cz>
477
478 * c.opt: Use newly added WarnRemoved.
479
f48ef52e
ML
4802019-09-09 Martin Liska <mliska@suse.cz>
481
482 * c.opt: Update comment of removed
483 options that are preserved only for backward
484 compatibility.
485
67f6e649
ML
4862019-09-06 Martin Liska <mliska@suse.cz>
487
488 PR c++/91125
489 * c-common.c: Remove definition of flag_use_repository.
490 * c-common.h: Likewise.
491 * c-opts.c (c_common_handle_option):
492 Do not handle OPT_frepo option.
493 * c.opt: Mark the option with Deprecated.
494
db9d2274
MP
4952019-09-04 Marek Polacek <polacek@redhat.com>
496
497 * c.opt (fdeduce-init-list): Ignored.
498
68e2c199
PK
4992019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
500
501 PR c/78736
502 * c.opt (Wenum-conversion): New option.
503
7a4418a5
JL
5042019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
505
506 * c-attribs.c (handle_section_attribute): Call the
507 handle_generic_attribute target hook after performing target
508 independent processing.
509 (handle_noinit_attribute): Likewise.
510
5f76ab15
ILT
5112019-09-03 Ian Lance Taylor <iant@golang.org>
512
513 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
514 when using -fgo-dump-spec.
515
ae0d3f6a
ML
5162019-09-02 Martin Liska <mliska@suse.cz>
517
518 PR c++/91155
519 * c-common.c (fname_as_string): Use cxx_printable_name for
520 __PRETTY_FUNCTION__ same as was used before r265711.
521
8a902edb
MP
5222019-08-28 Marek Polacek <polacek@redhat.com>
523
524 Implement P1152R4: Deprecating some uses of volatile.
525 PR c++/91361
526 * c-opts.c (c_common_post_options): Enable -Wvolatile by
527 default for C++2a, unless -Wno-deprecated.
528 * c.opt (Wvolatile): New warning.
529
4742dbe7
MP
5302019-08-28 Marek Polacek <polacek@redhat.com>
531
532 PR c++/91360 - Implement C++20 P1143R2: constinit.
533 * c-common.c (c_common_reswords): Add constinit and __constinit.
534 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
535 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
536 RID_LAST_CXX20.
537 (D_CXX20): Define.
538 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
539 * c-format.c (cxx_keywords): Add "constinit".
540 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
541
6a074892
JJ
5422019-08-27 Jakub Jelinek <jakub@redhat.com>
543
544 PR c++/91415
545 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
546 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
547 like COMPOUND_EXPR rather than normal expression.
548
22f8849d
IS
5492019-08-23 Iain Sandoe <iain@sandoe.co.uk>
550
551 PR pch/61250
552 * c-lex.c (c_lex_with_flags): Don't call
553 c_common_no_more_pch () from here.
554
df375b03
JJ
5552019-08-23 Jakub Jelinek <jakub@redhat.com>
556
557 PR middle-end/91283
558 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
559 instead of flag_excess_precision_cmdline.
560 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
561 * c-opts.c (c_common_post_options): Likewise.
562
14b7950f
MS
5632019-08-22 Martin Sebor <msebor@redhat.com>
564
565 PR middle-end/91490
566 * c-common.c (braced_list_to_string): Add argument and overload.
567 Handle flexible length arrays and unions.
568
8bb2ee59
EB
5692019-08-21 Eric Botcazou <ebotcazou@adacore.com>
570
571 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
572 function declarations where arguments are missing. Rename variables.
573
21c1e205
RB
5742019-08-15 Richard Biener <rguenther@suse.de>
575
576 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
577 enabled, define __SIZETYPE__.
578
f0033821
CL
5792019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
580
581 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
582 exclusion with "section" attribute.
583 (attr_noinit_exclusions): New table.
584 (handle_noinit_attribute): New function.
585
4d732405
RS
5862019-08-13 Richard Sandiford <richard.sandiford@arm.com>
587
588 PR middle-end/91421
589 * c-common.c (resolve_overloaded_builtin): Use
590 copy_decl_built_in_function.
591
51ad8481
MS
5922019-08-13 Martin Sebor <msebor@redhat.com>
593
594 PR c/80619
595 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
596 (asm_fprintf_length_spec): Same.
597 * c-format.h (format_lengths): Add FMT_LEN_w.
598
77eb117f
JJ
5992019-08-10 Jakub Jelinek <jakub@redhat.com>
600
601 * c-pragma.h (enum pragma_omp_clause): Add
602 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
603
398e3feb
JJ
6042019-08-07 Jakub Jelinek <jakub@redhat.com>
605
606 * c-pragma.h (enum pragma_omp_clause): Add
607 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
608 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
609 enumeration value.
610
ab574db6
MP
6112019-08-05 Marek Polacek <polacek@redhat.com>
612
613 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
614 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
615 default for C++2a, unless -Wno-deprecated.
616 * c.opt (Wcomma-subscript): New warning.
617
554a530f
JJ
6182019-07-20 Jakub Jelinek <jakub@redhat.com>
619
620 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
621 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
622 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
623 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
624 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
625 constructs with the loop construct.
626
1a888209
JJ
6272019-07-13 Jakub Jelinek <jakub@redhat.com>
628
629 PR c/91149
630 * c-omp.c (c_omp_split_clauses): Fix a pasto in
631 OMP_CLAUSE_REDUCTION_TASK handling.
632
1fdd6f04
JJ
6332019-07-12 Jakub Jelinek <jakub@redhat.com>
634
635 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
636 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
637
99b1c316
MS
6382019-07-09 Martin Sebor <msebor@redhat.com>
639
640 PR c++/61339
1fdd6f04 641 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
642 and others to class.
643 * c-pretty-print.h: Same.
644
6c1dae73
MS
6452019-07-09 Martin Sebor <msebor@redhat.com>
646
647 PR c++/61339
648 * c-format.c (check_argument_type): Change class-key from class to
649 struct and vice versa to match convention and avoid -Wclass-is-pod
650 and -Wstruct-no-pod.
651 * c-pretty-print.h: Same.
652
8ba6ea87
ML
6532019-07-03 Martin Liska <mliska@suse.cz>
654
655 * c-common.c (try_to_locate_new_include_insertion_point): Remove
656 dead assignemts.
657
83eb9522
JJ
6582019-07-03 Jakub Jelinek <jakub@redhat.com>
659
660 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
661 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
662 with OMP_PARALLEL.
663
1c6ffbab
QZ
6642019-07-02 qing zhao <qing.zhao@oracle.com>
665
666 PR preprocessor/90581
667 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
668 * c.opt: Add new option -fmax-include-depth.
669
7ffc7de5
JM
6702019-06-26 Jason Merrill <jason@redhat.com>
671
672 PR c++/55442 - memory-hog with highly recursive constexpr.
673 * c.opt (fconstexpr-loop-limit): New.
674
361af3e4
JJ
6752019-06-25 Jakub Jelinek <jakub@redhat.com>
676
677 PR sanitizer/90954
678 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
679 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
680
ab20d992
JJ
6812019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
682
683 * c-common.c (c_common_nodes_and_builtins): Define
684 alternate "__intN__" name for "__intN" types.
685
f4af4019
JH
6862019-06-24 Jan Hubicka <jh@suse.cz>
687
688 * c-common.c (braced_lists_to_strings): Check that
689 type is array or integer prior checking string flag.
690
da9e9b57
MB
6912019-06-21 Matthew Beliveau <mbelivea@redhat.com>
692
693 PR c++/90875 - added -Wswitch-outside-range option
694 * c.opt (Wswitch-outside-range): Added new option.
695 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
696
3f3d6a6f
MP
6972019-06-21 Marek Polacek <polacek@redhat.com>
698
699 PR c++/90953 - ICE with -Wmissing-format-attribute.
700 * c-common.c (check_function_arguments_recurse): Use
701 get_attribute_name.
702 (check_missing_format_attribute): Likewise.
703
1bf32c11
MP
7042019-06-19 Marek Polacek <polacek@redhat.com>
705
706 PR c++/60364 - noreturn after first decl not diagnosed.
707 * c-attribs.c (handle_noreturn_attribute): No longer static.
708 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
709 Declare.
710 * c-format.c (check_function_format): Use get_attribute_name.
711
a04c0734
MS
7122019-06-19 Martin Sebor <msebor@redhat.com>
713
714 PR translation/90156
715 * c-format.c (function_format_info::format_type): Adjust type.
716 (function_format_info::is_raw): New member.
717 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
718 (decode_format_attr): Adjust call to decode_format_type.
719 Avoid a redundant call to convert_format_name_to_system_name.
720 Avoid abbreviating the word "arguments" in a diagnostic.
721 (format_warning_substr): New function.
722 (avoid_dollar_number): Quote dollar sign in a diagnostic.
723 (finish_dollar_format_checking): Same.
724 (check_format_info): Same.
725 (struct baltoks_t): New.
726 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
727 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
728 functions.
729 (check_format_info_main): Call check_plain. Use baltoks_t. Call
730 maybe_diag_unbalanced_tokens.
731 (handle_format_attribute): Spell out the word "arguments" in
732 a diagnostic.
733
d3786ebb
MB
7342019-06-11 Matthew Beliveau <mbelivea@redhat.com>
735
736 PR c++/90449 - add -Winaccessible-base option.
737 * c.opt (Winaccessible-base): New option.
738
bf38f7e9
JJ
7392019-06-10 Jakub Jelinek <jakub@redhat.com>
740
741 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
742 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
743 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
744 combined/composite constructs where it is not allowed. Copy over
745 OMP_CLAUSE_REDUCTION_INSCAN.
746
0ecf545c
MS
7472019-06-05 Martin Sebor <msebor@redhat.com>
748
749 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
750 (handle_alias_ifunc_attribute): Same.
751 (handle_copy_attribute): Same.
752 (handle_weakref_attribute): Same.
753 (handle_nonnull_attribute): Same.
754 * c-warn.c (warn_for_sign_compare): Same.
755 (warn_for_restrict): Same.
756 * c.opt: Same.
757
36b34127
MS
7582019-06-05 Martin Sebor <msebor@redhat.com>
759
760 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
761 * c.opt (-Wformat-diag): Remove a spurious period.
762
357a352f
JJ
7632019-05-29 Jakub Jelinek <jakub@redhat.com>
764
765 PR c/90628
766 * c-common.c (check_builtin_function_arguments)
767 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
768 as last argument.
769
2b8235ea
EB
7702019-05-23 Eric Botcazou <ebotcazou@adacore.com>
771
772 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
773
6d86ddc4
ML
7742019-05-22 Martin Liska <mliska@suse.cz>
775
776 PR lto/90500
777 * c-attribs.c (handle_copy_attribute): Do not copy
778 target_clones attribute.
779
419ba5b9
EB
7802019-05-21 Eric Botcazou <ebotcazou@adacore.com>
781
782 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
783 * c-ada-spec.c (print_assignment_operator): New function.
784 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
785 assignment operators declared as methods and filter out the others.
786
e03436e7
TS
7872019-05-17 Thomas Schwinge <thomas@codesourcery.com>
788
789 PR c/89433
790 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
791 "omp declare target".
792
a9c697b8
MS
7932019-05-16 Martin Sebor <msebor@redhat.com>
794
ab20d992
JJ
795 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
796 keywords, operators, and types in diagnostics.
797 (handle_scalar_storage_order_attribute): Same.
798 (handle_mode_attribute): Same.
799 (handle_visibility_attribute): Same.
800 (handle_assume_aligned_attribute): Same.
801 (handle_no_split_stack_attribute): Same.
802 * c-common.c (shorten_compare): Same.
803 (c_common_truthvalue_conversion): Same.
804 (cb_get_source_date_epoch): Same.
805 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
806 in diagnostics.
807 (interpret_float): Same.
808 * c-omp.c (c_finish_omp_for): Same.
809 * c-opts.c (c_common_post_options): Same.
810 * c-pch.c (c_common_pch_pragma): Same.
811 * c-pragma.c (pop_alignment): Same.
812 (handle_pragma_pack): Same.
813 (apply_pragma_weak): Same.
814 (handle_pragma_weak): Same.
815 (handle_pragma_scalar_storage_order): Same.
816 (handle_pragma_redefine_extname): Same.
817 (add_to_renaming_pragma_list): Same.
818 (maybe_apply_renaming_pragma): Same.
819 (push_visibility): Same.
820 (handle_pragma_visibility): Same.
821 (handle_pragma_optimize): Same.
822 (handle_pragma_message): Same.
823 * c-warn.c (warn_for_omitted_condop): Same.
824 (lvalue_error): Same.
a9c697b8 825
6b943512
RB
8262019-05-15 Richard Biener <rguenther@suse.de>
827
828 PR c/90474
829 * c-common.c (c_common_mark_addressable_vec): Also mark
830 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
831 c_mark_addressable.
ab20d992 832
b744fc85
NS
8332019-05-06 Nathan Sidwell <nathan@acm.org>
834
835 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
836
598f50d7
NS
8372019-04-30 Nathan Sidwell <nathan@acm.org>
838
839 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
840
5bcc5a3b
ML
8412019-04-30 Martin Liska <mliska@suse.cz>
842
843 * c-pragma.c (handle_pragma_diagnostic): Provide hints
844 for unknown options.
845
e78a87f7
RS
8462019-04-26 Richard Sandiford <richard.sandiford@arm.com>
847
848 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
849 the pointer target rather than the pointer itself.
850
c280b7ee
JJ
8512019-04-19 Jakub Jelinek <jakub@redhat.com>
852
853 PR c/89888
854 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
855 arguments.
856 (c_do_switch_warnings): Remove outside_range_p argument.
857 * c-common.c (check_case_bounds): Removed.
858 (c_add_case_label): Remove orig_type and outside_range_p arguments.
859 Don't call check_case_bounds. Fold low_value as well as high_value.
860 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
861 Check for case labels outside of range of original type here and
862 adjust them.
863
8e8225e6
JJ
8642019-04-12 Jakub Jelinek <jakub@redhat.com>
865
63b8a166
JJ
866 PR translation/90041
867 * c.opt (-fhandle-exceptions): Use %< and %> around option names
868 in the Warn diagnostics.
869
8e8225e6
JJ
870 PR c/89946
871 * c-attribs.c (handle_patchable_function_entry_attribute): Add
872 function comment. Warn if arguments of the attribute are not positive
873 integer constants.
874
53a3f614
EB
8752019-04-09 Eric Botcazou <ebotcazou@adacore.com>
876
877 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
878 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
879
22be5873
EB
8802019-04-07 Eric Botcazou <ebotcazou@adacore.com>
881
882 * c-ada-spec.c (is_float128): New predicate extracted from...
883 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
884 <REAL_TYPE>: ...here. Call it.
885
34facf20
DM
8862019-04-05 David Malcolm <dmalcolm@redhat.com>
887
888 PR c/89985
889 * c-warn.c (check_address_or_pointer_of_packed_member): Add
890 auto_diagnostic_group. Guard inform calls by result of
891 warning_at call.
892
05564120
MP
8932019-04-05 Marek Polacek <polacek@redhat.com>
894
ab20d992 895 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
896 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
897 of RHS.
898
7a506c3c
JM
8992019-04-03 Jason Merrill <jason@redhat.com>
900
901 PR c++/86586 - -fcompare-debug=-Wsign-compare.
902 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
903
ddeae8c8
MS
9042019-04-01 Martin Sebor <msebor@redhat.com>
905
906 PR c/89685
907 * c-attribs.c (handle_copy_attribute): Handle references and
908 non-constant expressions.
909
a15ffa22
JJ
9102019-03-22 Jakub Jelinek <jakub@redhat.com>
911
912 PR c++/87481
913 * c.opt (-fconstexpr-ops-limit=): New option.
914
36a3a7a3
JJ
9152019-03-21 Jakub Jelinek <jakub@redhat.com>
916
917 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
918 template param.
919
bec1da64
MS
9202019-03-19 Martin Sebor <msebor@redhat.com>
921
922 PR tree-optimization/89688
923 * c-common.c (braced_list_to_string): Make static.
924 (braced_lists_to_strings): Define new function.
925 * c-common.h (braced_list_to_string): Remove.
926 (braced_lists_to_strings): Declare.
927
1fe61adf
ML
9282019-03-12 Martin Liska <mliska@suse.cz>
929
930 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
931
93964ebd
ML
9322019-03-11 Martin Liska <mliska@suse.cz>
933
934 * c-opts.c (c_common_post_options): Wrap apostrophes
935 in gcc internal format with %'.
936
a3f9f006
ML
9372019-03-11 Martin Liska <mliska@suse.cz>
938
939 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
940 in a string format message and fix GNU coding style.
941 * c-common.c (vector_types_convertible_p): Likewise.
942 (c_build_vec_perm_expr): Likewise.
943 * c-indentation.c (get_visual_column): Likewise.
944 * c-opts.c (c_common_handle_option): Likewise.
945 (c_common_post_options): Likewise.
946 (sanitize_cpp_opts): Likewise.
947 * c-pch.c (c_common_pch_pragma): Likewise.
948 * c-pragma.c (handle_pragma_pack): Likewise.
949
1db01ff9
JJ
9502019-03-08 Jakub Jelinek <jakub@redhat.com>
951
952 PR tree-optimization/89550
953 * c-common.c (c_common_truthvalue_conversion): Only set
954 TREE_NO_WARNING if warning_at returned true.
955 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
956
ba790e6f
JJ
9572019-02-25 Sandra Loosemore <sandra@codesourcery.com>
958 Martin Sebor <msebor@gmail.com>
959
960 * c.opt (Wmissing-attributes): Clean up doc string.
961
7da73ba7
JJ
9622019-02-25 Jakub Jelinek <jakub@redhat.com>
963
964 PR c/89495
965 * c-format.c (maybe_read_dollar_number): Compute nargnum in
966 HOST_WIDE_INT type to avoid overflows and change overflow_flag
967 checking.
968
921bb9d1
RB
9692019-02-22 Richard Biener <rguenther@suse.de>
970
971 * c-pch.c (no_checksum): Remove.
972 (pch_init): Remove assertion that executable_checksum is not
973 all zero.
974 (c_common_valid_pch): Likewise.
975
e2ebb05c
MS
9762019-02-18 Martin Sebor <msebor@redhat.com>
977
978 PR middle-end/89294
979 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
980
3fe53000
DM
9812019-02-16 David Malcolm <dmalcolm@redhat.com>
982
983 PR c++/88680
984 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
985 implementing -Wtype-limits.
986
28a8cef1
MS
9872019-02-11 Martin Sebor <msebor@redhat.com>
988
989 PR c++/87996
990 * c-common.c (invalid_array_size_error): New function.
991 (valid_array_size_p): Call it. Handle size as well as type.
992 * c-common.h (valid_constant_size_p): New function.
993 (enum cst_size_error): New type.
994
ec2be203
DM
9952019-01-31 David Malcolm <dmalcolm@redhat.com>
996
997 PR c/89122
998 * known-headers.cc (get_stdlib_header_for_name): Add
999 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1000
8936f047
JJ
10012019-01-31 Jakub Jelinek <jakub@redhat.com>
1002
1003 PR libstdc++/88170
1004 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1005 a C cast in pp_c_flag_gnu_v3 mode.
1006
6a335b96
JJ
10072019-01-29 Jakub Jelinek <jakub@redhat.com>
1008
1009 PR c/86125
1010 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1011 builtin_structptr_types types even for C.
1012
2a06eba5
BE
10132019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1014
1015 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1016 when rhs is of array type correctly. Fix handling of nested structures.
1017 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1018 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1019 type casts within nested compound expressions.
1020
18a23298
JJ
10212019-01-22 Jakub Jelinek <jakub@redhat.com>
1022
1023 PR middle-end/88968
1024 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1025 variable after using BIT_FIELD_REF.
1026
420183d9
L
10272019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1028
1029 PR c/51628
1030 PR c/88664
1031 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1032 Remove the boolean argument.
1033 * c-warn.c (check_address_of_packed_member): Renamed to ...
1034 (check_address_or_pointer_of_packed_member): This. Also
1035 warn pointer conversion.
1036 (check_and_warn_address_of_packed_member): Renamed to ...
1037 (check_and_warn_address_or_pointer_of_packed_member): This.
1038 Also warn pointer conversion.
1039 (warn_for_address_or_pointer_of_packed_member): Remove the
1040 boolean argument. Don't check pointer conversion here.
1041
99063eee
RS
10422019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1043
1044 PR inline-asm/52813
1045 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1046
a30d0196
JJ
10472019-01-14 Jakub Jelinek <jakub@redhat.com>
1048
1049 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1050 and __cpp_nontype_template_parameter_auto. Add a comment that
1051 __cpp_template_auto is deprecated.
1052
2d91f79d
TH
10532019-01-14 Tom Honermann <tom@honermann.net>
1054
1055 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1056 * c-common.c (c_common_reswords): Add char8_t.
1057 (fix_string_type): Use char8_t for the type of u8 string literals.
1058 (c_common_get_alias_set): char8_t doesn't alias.
1059 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1060 C++.
1061 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1062 (keyword_begins_type_specifier): Add RID_CHAR8.
1063 * c-common.h (rid): Add RID_CHAR8.
1064 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1065 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1066 Define char8_type_node and char8_array_type_node.
1067 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1068 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1069 (c_cpp_builtins): Predefine __cpp_char8_t.
1070 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1071 CPP_UTF8STRING.
1072 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1073 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1074 targeting C++2a.
1075 * c.opt: Add the -fchar8_t command line option.
1076
23db6ced
MS
10772019-01-14 Martin Sebor <msebor@redhat.com>
1078
1079 PR target/88638
1080 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1081 and issue errors if it fails.
1082 * c-common.h (valid_format_string_type_p): Declare.
1083 * c-format.c (valid_stringptr_type_p): Rename...
1084 (valid_format_string_type_p): ...to this and make extern.
1085 (handle_format_arg_attribute): Adjust to new name.
1086 (check_format_string): Same.
1087
234c3818
L
10882019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1089
1090 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1091 Replace "may may" with "may" in warning message.
1092
d8fcab68
JJ
10932019-01-07 Jakub Jelinek <jakub@redhat.com>
1094
1095 PR c++/85052
1096 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1097 (c_build_vec_convert): Declare.
1098 * c-common.c (c_build_vec_convert): New function.
1099
29d24852
MS
11002019-01-04 Martin Sebor <msebor@redhat.com>
1101
1102 PR c/88546
1103 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1104 Handle C++ empty throw specification and C11 _Noreturn.
1105 (has_attribute): Also handle C11 _Noreturn.
1106
9069a4c9
MS
11072019-01-04 Martin Sebor <msebor@redhat.com>
1108
1109 PR c/88363
1110 * c-attribs.c (positional_argument): Also accept enumerated types.
1111
a5544970
JJ
11122019-01-01 Jakub Jelinek <jakub@redhat.com>
1113
1114 Update copyright years.
1115
da77eace
L
11162018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1117
1118 PR c/51628
1119 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1120 * c-warn.c (check_alignment_of_packed_member): New function.
1121 (check_address_of_packed_member): Likewise.
1122 (check_and_warn_address_of_packed_member): Likewise.
1123 (warn_for_address_or_pointer_of_packed_member): Likewise.
1124 * c.opt: Add -Wno-address-of-packed-member.
1125
573767d4
DM
11262018-12-20 David Malcolm <dmalcolm@redhat.com>
1127
1128 PR c++/87504
1129 * c-warn.c (get_outermost_macro_expansion): New function.
1130 (spelled_the_same_p): Use it to unwind the macro expansions, and
1131 compare the outermost macro in each nested expansion, rather than
1132 the innermost.
1133
a14feb3c
DM
11342018-12-19 David Malcolm <dmalcolm@redhat.com>
1135
1136 PR c++/87504
1137 * c-common.h (warn_tautological_cmp): Convert 1st param from
1138 location_t to const op_location_t &.
1139 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1140 when testing for INTEGER_CST.
1141 (warn_tautological_bitwise_comparison): Convert 1st param from
1142 location_t to const op_location_t &; use it to build a
1143 binary_op_rich_location, and use this.
1144 (spelled_the_same_p): New function.
1145 (warn_tautological_cmp): Convert 1st param from location_t to
1146 const op_location_t &. Warn for macro expansions if
1147 spelled_the_same_p. Use binary_op_rich_location.
1148
dfd7fdca
DM
11492018-12-19 David Malcolm <dmalcolm@redhat.com>
1150
1151 PR c++/43064
1152 PR c++/43486
1153 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1154 (verify_tree): Handle location wrappers.
1155 (c_common_truthvalue_conversion): Strip any location wrapper.
1156 Handle CONST_DECL.
1157 (fold_offsetof): Strip any location wrapper.
1158 (complete_array_type): Likewise for initial_value.
1159 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1160 index before checking for INTEGER_CST.
1161 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1162 print parentheses around location wrappers.
1163 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1164 before checking for INTEGER_CST.
1165 (warn_tautological_bitwise_comparison): Call
1166 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1167 before checking for INTEGER_CST.
1168 (readonly_error): Strip any location wrapper.
1169 (warn_array_subscript_with_type_char): Strip location wrappers
1170 before checking for INTEGER_CST. Use the location of the index if
1171 available.
1172
5c8b3702
JM
11732018-12-06 Jason Merrill <jason@redhat.com>
1174
1175 PR c++/88136 - -Wdeprecated-copy false positives
1176 * c.opt (Wdeprecated-copy-dtor): New.
1177 (Wdeprecated-copy): Move to -Wextra.
1178
673670da
MS
11792018-11-29 Martin Sebor <msebor@redhat.com>
1180
1181 PR c/88172
1182 PR testsuite/88208
1183 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1184 alignments to values less than the target requires.
1185 (has_attribute): For attribute aligned consider both the attribute
1186 and the alignment bits.
1187 * c-common.c (c_init_attributes): Optionally issue a warning for
1188 zero alignment.
1189
04864ec8
MS
11902018-11-28 Martin Sebor <msebor@redhat.com>
1191
1192 PR c/88065
1193 PR c/87297
1194 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1195 or destination is an error.
1196
ace83db0
JJ
11972018-11-28 Jakub Jelinek <jakub@redhat.com>
1198
1199 PR c++/88215
1200 * c-ubsan.c: Include langhooks.h.
1201 (ubsan_instrument_division): Change gcc_assert that main variants
1202 of op0 and op1 types are equal to gcc_checking_assert that the
1203 main variants are compatible types.
1204
da193a27
EB
12052018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1206
1207 * c-ada-spec.c: Include stringpool.h.
1208 (has_static_fields): Return false for incomplete types.
1209 (is_tagged_type): Likewise.
1210 (has_nontrivial_methods): Likewise.
1211 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1212 (struct overloaded_name_hash): New structure.
1213 (struct overloaded_name_hasher): Likewise.
1214 (overloaded_names): New global variable.
1215 (init_overloaded_names): New static function.
1216 (overloaded_name_p): New predicate.
1217 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1218 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1219 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1220 Remove always-true condition and dump forward types.
1221 (dump_ada_specs): Delete overloaded_names.
1222
98f08eb8
MS
12232018-11-20 Martin Sebor <msebor@redhat.com>
1224
1225 * c-attribs.c (type_for_vector_size): New function.
1226 (type_valid_for_vector_size): Same.
1227 (handle_vector_size_attribute): Move code to the functions above
1228 and call them.
1229 (validate_attribute, has_attribute): New functions.
1230 * c-common.h (has_attribute): Declare.
1231 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1232 * c-common.c (c_common_resword): Same.
1233
2674fa47
JM
12342018-11-16 Jason Merrill <jason@redhat.com>
1235
1236 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1237 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1238
258b3854
JJ
12392018-11-16 Jakub Jelinek <jakub@redhat.com>
1240
1241 PR middle-end/87854
1242 * c-common.c (fix_string_type): Reject string literals larger than
1243 TYPE_MAX_VALUE (ssizetype) bytes.
1244
1d249509
MS
12452018-11-15 Martin Sebor <msebor@redhat.com>
1246
1247 PR c++/87541
1248 PR c++/87542
1249 * c-attribs.c (positional_argument): New function.
1250 (handle_alloc_size_attribute): Use it and simplify.
1251 (handle_alloc_align_attribute): Same.
1252 (handle_assume_aligned_attribute): Same.
1253 (handle_nonnull_attribute): Same.
1254 * c-common.c (check_function_arguments): Pass fntype to
1255 check_function_format.
1256 * c-common.h (check_function_format): Add an argument.
1257 (PosArgFlags, positional_argument): Declare new type and function.
1258 * c-format.c (decode_format_attr): Add arguments.
1259 (check_format_string, get_constant): Same.
1260 (convert_format_name_to_system_name): Adjust.
1261
478dd60d
DM
12622018-11-15 David Malcolm <dmalcolm@redhat.com>
1263
1264 PR other/19165
1265 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1266
8cca0163
JJ
12672018-11-14 Jakub Jelinek <jakub@redhat.com>
1268
8ee09943
JJ
1269 P1236R1 - Signed integers are two's complement
1270 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1271 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1272 with in-range second operand well defined for -std=c++2a.
1273
8cca0163
JJ
1274 PR other/88007
1275 * c-common.c (parse_optimize_options): Allocate option string from
1276 opts_obstack rather than as GC memory. Move the allocation after
1277 warning for invalid option.
1278
620e594b
DM
12792018-11-13 David Malcolm <dmalcolm@redhat.com>
1280
1281 * c-common.c (c_get_substring_location): Update for renaming of
1282 get_source_location_for_substring to get_location_within_string.
1283 * c-lex.c: Replace "source_location" with "location_t".
1284 * c-opts.c: Likewise.
1285 * c-ppoutput.c: Likewise.
1286
f9731de3
MS
12872018-11-13 Martin Sebor <msebor@redhat.com>
1288
1289 PR middle-end/81824
1290 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1291 (handle_tls_model_attribute): Improve diagnostics.
1292
e4bd6d5e
JM
12932018-11-12 Jason Merrill <jason@redhat.com>
1294
a6bb6b07
JM
1295 * c-cppbuiltin.c (c_cpp_builtins): Define
1296 __cpp_impl_destroying_delete.
1297
e4bd6d5e
JM
1298 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1299 __cpp_conditional_explicit.
1300
79a2c428
MS
13012018-11-09 Martin Sebor <msebor@redhat.com>
1302
1303 PR middle-end/81824
1304 * c-attribs.c (handle_copy_attribute): New function.
1305
4c7bd361
MS
13062018-11-09 Martin Sebor <msebor@redhat.com>
1307
1308 PR c/87795
1309 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1310
28567c40
JJ
13112018-11-08 Jakub Jelinek <jakub@redhat.com>
1312
1313 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1314 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1315 enum omp_memory_order MEMORY_ORDER.
1316 (c_finish_omp_flush): Add MO argument.
1317 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1318 (c_finish_omp_for): Add FINAL_P argument.
1319 * c-omp.c: Include memmodel.h.
1320 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1321 OMP_TASKGROUP_CLAUSES to it.
1322 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1323 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1324 instead of OMP_ATOMIC_SEQ_CST.
1325 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1326 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1327 __atomic_thread_fence call with the given value.
1328 (check_omp_for_incr_expr): Formatting fixes.
1329 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1330 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1331 is not constant expression 1 or -1. Transform NE_EXPR loops
1332 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1333 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1334 loops too.
1335 (c_omp_split_clauses): Add support for combined
1336 #pragma omp parallel master and
1337 #pragma omp {,parallel }master taskloop{, simd} constructs.
1338 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1339 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1340 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1341 (c_omp_predetermined_sharing): Don't return
1342 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1343 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1344 PRAGMA_OMP_REQUIRES.
1345 * c-pragma.h (enum pragma_kind): Likewise.
1346 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1347 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1348
204839e7
DM
13492018-11-08 David Malcolm <dmalcolm@redhat.com>
1350
1351 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1352
d8010ee4
DM
13532018-11-08 David Malcolm <dmalcolm@redhat.com>
1354
1355 * c-format.c (local_cgraph_node_ptr_node): New variable.
1356 (gcc_dump_printf_char_table): Add entry for %C.
1357 (get_pointer_to_named_type): New function, taken from the handling
1358 code for "gimple *" from...
1359 (init_dynamic_diag_info): ...here. Add handling for
1360 "cgraph_node *".
1361 * c-format.h (T_CGRAPH_NODE): New.
1362
4be5c72c
JM
13632018-10-19 Jason Merrill <jason@redhat.com>
1364
1365 * c-cppbuiltin.c (c_cpp_builtins): Add
1366 __cpp_nontype_template_parameter_class.
1367
f3f6029d
NS
13682018-10-31 Nathan Sidwell <nathan@acm.org>
1369
ab5324fb
NS
1370 * c-opts.c (c_finish_options): Force command line macro
1371 location. Refactor to avoid repeating main debug hook.
1372 (push_command_line_include): Clarify comment.
1373
f3f6029d
NS
1374 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1375
91e3ec29
MS
13762018-10-30 Martin Sebor <msebor@redhat.com>
1377
1378 PR middle-end/87041
1379 * c-format.c (check_format_types): Avoid diagnosing null pointer
1380 arguments to printf-family of functions.
1381
b5ff4f5c
MP
13822018-10-30 Marek Polacek <polacek@redhat.com>
1383
1384 Implement P0892R2, explicit(bool).
1385 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1386
7e2de6df
DM
13872018-10-29 David Malcolm <dmalcolm@redhat.com>
1388
1389 * name-hint.h (name_hint::take_deferred): New member function.
1390
b2bf438c
DM
13912018-10-29 David Malcolm <dmalcolm@redhat.com>
1392
1393 PR c++/56856
1394 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1395 argument.
1396 (check_function_restrict): Rename param "argarray" to
1397 "unfolded_argarray", and make a copy named "argarray", calling
1398 fold_for_warn on each argument.
1399 (check_function_arguments): Add note about responsibility for
1400 folding the arguments.
1401
9f936c86
JM
14022018-10-17 Joseph Myers <joseph@codesourcery.com>
1403
1404 * c-common.c (flag_isoc2x): New variable.
1405 * c-common.h (clk_c): Update comment to reference C2X.
1406 (flag_isoc99, flag_isoc11): Update comments to reference future
1407 standard versions in general.
1408 (flag_isoc2x): Declare.
1409 * c-opts.c (set_std_c2x): New function.
1410 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1411 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1412 flag_isoc2x to 0.
1413 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1414
7a8a92c4
JM
14152018-10-17 Joseph Myers <joseph@codesourcery.com>
1416
1417 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1418 (std=iso9899:2018): Document C17 as published in 2018.
1419
4dc003ff
CL
14202018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1421
1422 PR c++/87364
1423 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1424
79371671
WW
14252018-10-11 Will Wray <wjwray@gmail.com>
1426
1427 PR c++/87364
1428 * c-pretty-print.h (pp_c_type_cast): Prototype.
1429 (pp_c_integer_constant): Likewise.
1430 * c-pretty-print.c (pp_c_type_cast): No longer static.
1431 (pp_c_integer_constant): Likewise.
1432 (pp_c_enumeration_constant): Fix loop termination when finding
1433 name of constant. No longer returns a value. Call
1434 pp_c_integer_constant.
1435 (c_pretty_printer::constant): Update for changes to
1436 pp_c_enumeration_constant.
1437
46c62690
JJ
14382018-10-11 Jakub Jelinek <jakub@redhat.com>
1439
1440 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1441 for no_unique_address.
1442
c24300ba
DM
14432018-10-09 David Malcolm <dmalcolm@redhat.com>
1444
1445 * c-common.c (c_option_controlling_cpp_error): Rename to...
1446 (c_option_controlling_cpp_diagnostic): ...this, and convert
1447 "reason" from int to enum.
1448 (c_cpp_error): Rename to...
1449 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1450 * c-common.h (c_cpp_error): Rename to...
1451 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1452 * c-opts.c (c_common_init_options): Update for renaming.
1453
8656dafa
RS
14542018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1455
1456 PR c/87286
1457 * c-common.c (vector_types_compatible_elements_p): Use
1458 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1459
8cff0652
VK
14602018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1461
1462 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1463 to generate constructor destructor priority warning.
1464 * c.opt (-Wprio-ctor-dtor): New option.
1465
bedf03a2
JM
14662018-10-01 Jason Merrill <jason@redhat.com>
1467
1468 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1469
6cc430c1
EB
14702018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1471
1472 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1473 (dump_ada_node): Add const keyword.
1474
87677ac7
ML
14752018-09-25 Martin Liska <mliska@suse.cz>
1476
1477 * c-common.c (c_common_truthvalue_conversion):
1478 Remove Pascal from documentation.
1479
518196cb
EB
14802018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1481
1482 * c-ada-spec.c: Include diagnostic.h.
1483 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1484
a599af84
MP
14852018-09-19 Marek Polacek <polacek@redhat.com>
1486
1487 * c.opt (Wclass-conversion): New.
1488
9c4a4b3c
DM
14892018-09-17 David Malcolm <dmalcolm@redhat.com>
1490
1491 * c-format.c (range_label_for_format_type_mismatch::get_text):
1492 Update for new param.
1493
c896ecfe
DM
14942018-09-17 David Malcolm <dmalcolm@redhat.com>
1495
1496 * c-format.c (format_warning_at_char): Update for introduction of
1497 format_string_diagnostic_t.
1498 (format_type_warning): Likewise.
1499
80c6d1f4
MJ
15002018-09-17 Martin Jambor <mjambor@suse.cz>
1501
1502 PR c/63886
1503 * c.opt (Wabsolute-value): New.
1504
6d900107
BE
15052018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1506
1507 * c-common.c (complete_flexible_array_elts): New helper function.
1508 * c-common.h (complete_flexible_array_elts): Declare.
1509
b5764229
BE
15102018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1511
1512 * c-common.c (braced_list_to_string): Remove eval parameter.
1513 Add some more checks. Always create zero-terminated STRING_CST.
1514 * c-common.h (braced_list_to_string): Adjust prototype.
1515
85204e23
DM
15162018-08-27 David Malcolm <dmalcolm@redhat.com>
1517
1518 PR 87091
1519 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1520 to a tri-state.
1521 (maybe_suggest_missing_token_insertion): Likewise.
1522 (maybe_add_include_fixit): Add param "override_location". If set,
1523 and source-printing is enabled, then override the rich_location's
1524 primary location with that of the insertion point for the fix-it
1525 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1526 * c-common.h (extern void maybe_add_include_fixit): Add bool
1527 param.
1528 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1529 for conversion of show_caret_p to a tri-state.
1530 * c-warn.c (warn_for_restrict): Likewise.
1531 * known-headers.cc
1532 (suggest_missing_header::~suggest_missing_header): Update call to
1533 maybe_add_include_fixit to suggest overriding the location, as it
1534 is for a note.
1535
3d78e008
ML
15362018-08-27 Martin Liska <mliska@suse.cz>
1537
1538 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
1539 fndecl_built_in_p and remove check for FUNCTION_DECL if
1540 possible.
3d78e008
ML
1541 (check_builtin_function_arguments): Likewise.
1542 (reject_gcc_builtin): Likewise.
1543 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1544
b5be6d0c
MP
15452018-08-26 Marek Polacek <polacek@redhat.com>
1546
1547 PR c++/87029, Implement -Wredundant-move.
1548 * c.opt (Wredundant-move): New option.
1549
79ca9c35
MP
15502018-08-21 Marek Polacek <polacek@redhat.com>
1551
1552 PR c++/86981, Implement -Wpessimizing-move.
1553 * c.opt (Wpessimizing-move): New option.
1554
097f82ec
DM
15552018-08-20 David Malcolm <dmalcolm@redhat.com>
1556
1557 PR other/84889
1558 * c-attribs.c (common_handle_aligned_attribute): Add
1559 auto_diagnostic_group instance.
1560 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1561 * c-opts.c (c_common_post_options): Likewise.
1562 * c-warn.c (warn_logical_not_parentheses): Likewise.
1563 (warn_duplicated_cond_add_or_warn): Likewise.
1564 (warn_for_multistatement_macros): Likewise.
1565
3fb558b1
NS
15662018-08-20 Nathan Sidwell <nathan@acm.org>
1567
1568 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1569 access.
1570
800c0e98
NS
15712018-08-17 Nathan Sidwell <nathan@acm.org>
1572
1573 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1574 field.
1575 (laxy_hex_fp_value_count): Make unsigned.
1576 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1577 manipulate the macro.
1578 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1579 cpp_define_lazily.
1580
6f795a92
DM
15812018-08-17 David Malcolm <dmalcolm@redhat.com>
1582
1583 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1584 (gcc_dump_printf_length_specs): New.
1585 (gcc_dump_printf_flag_pairs): New.
1586 (gcc_dump_printf_flag_specs): New.
1587 (gcc_dump_printf_char_table): New.
1588 (format_types_orig): Add entry for "gcc_dump_printf".
1589 (init_dynamic_diag_info): Set up length_char_specs and
1590 conversion_specs for gcc_dump_printf_format_type.
1591 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1592
c5d725c0
NS
15932018-08-17 Nathan Sidwell <nathan@acm.org>
1594
10f04917
NS
1595 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1596
c5d725c0
NS
1597 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1598 * c-cppbuiltin.c: Likewise.
1599
c0c12356
ML
16002018-08-17 Martin Liska <mliska@suse.cz>
1601
1602 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
1603 Ignore/Deprecated flag. Warning is done automatically for
1604 Deprecated flags.
c0c12356 1605
10fcc142
DM
16062018-08-16 David Malcolm <dmalcolm@redhat.com>
1607
1608 PR c++/70693
1609 * c-common.c (selftest::c_family_tests): Call
1610 selftest::c_indentation_c_tests.
1611 * c-common.h (selftest::c_indentation_c_tests): New decl.
1612 * c-indentation.c: Include "selftest.h".
1613 (next_tab_stop): Add "tab_width" param, rather than accessing
1614 cpp_opts.
1615 (get_visual_column): Likewise. Clarify comment. Bulletproof
1616 against reading past the end of the line.
1617 (get_first_nws_vis_column): Add "tab_width" param.
1618 (detect_intervening_unindent): Likewise.
1619 (should_warn_for_misleading_indentation): Read tab width from
1620 cpp_opts and pass around.
1621 (selftest::test_next_tab_stop): New test.
1622 (selftest::assert_get_visual_column_succeeds): New function.
1623 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1624 (selftest::assert_get_visual_column_fails): New function.
1625 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1626 (selftest::test_get_visual_column): New test.
1627 (selftest::c_indentation_c_tests): New function.
1628
3f6677f4
NS
16292018-08-16 Nathan Sidwell <nathan@acm.org>
1630
1631 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1632 (store_ada_macro): Likewise.
1633 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1634 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1635
96e6ae57
DM
16362018-08-15 David Malcolm <dmalcolm@redhat.com>
1637
1638 * c-format.c: Include "selftest-diagnostic.h" and
1639 "gcc-rich-location.h".
1640 (format_warning_at_char): Pass NULL for new label params of
1641 format_warning_va.
1642 (class indirection_suffix): New class.
1643 (class range_label_for_format_type_mismatch): New class.
1644 (format_type_warning): Move logic for generating "*" suffix to
1645 class indirection_suffix. Create "fmt_label" and "param_label"
1646 to show their types, and pass them to the
1647 format_warning_at_substring calls.
1648 (selftest::test_type_mismatch_range_labels): New test.
1649 (selftest::c_format_c_tests): Call it.
1650
23aa9f7c
MS
16512018-08-13 Martin Sebor <msebor@redhat.com>
1652
1653 PR tree-optimization/71625
1654 * c-common.c (braced_list_to_string): New function.
1655 * c-common.h (braced_list_to_string): Declare it.
1656
f10a9135
NS
16572018-08-08 Nathan Sidwell <nathan@acm.org>
1658
1659 * c-common.c (try_to_locate_new_include_inertion_point): Use
1660 linemap_included_from_linemap.
1661 * c-lex.c (fe_file_change): Use linemap_included_from.
1662 * c-ppoutput.c (pp_file_change): Likewise.
1663
8a45b051
MS
16642018-08-01 Martin Sebor <msebor@redhat.com>
1665
1666 PR tree-optimization/86650
ab20d992 1667 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
1668 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1669 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1670 * c-format.h (T89_G): Update to be "gimple *" rather than
1671 "gcall *".
1672 (local_gcall_ptr_node): Rename...
1673 (local_gimple_ptr_node): ...to this.
1674
e540ccc0
DM
16752018-07-31 David Malcolm <dmalcolm@redhat.com>
1676
1677 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1678 table entries for gcc_diag_char_table, and the 'Z' entry from
1679 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1680 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1681 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1682 adding missing "Z" for this table. Remove erroneous "G" and "K"
1683 entries.
1684 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1685 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1686 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1687
425fc685
RE
16882018-07-31 Richard Earnshaw <rearnsha@arm.com>
1689
1690 * c-common.c (speculation_safe_resolve_call): New function.
1691 (speculation_safe_resolve_params): New function.
1692 (speculation_safe_resolve_return): New function.
1693 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1694 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1695 __HAVE_SPECULATION_SAFE_VALUE.
1696
181463c2
DM
16972018-07-20 David Malcolm <dmalcolm@redhat.com>
1698
1699 * c-common.c (c_cpp_error): Remove redundant "line_table"
1700 parameter from call to rich_location::set_range.
1701 (maybe_suggest_missing_token_insertion): Likewise.
1702
0d7f9065
MS
17032018-07-20 Martin Sebor <msebor@redhat.com>
1704
1705 PR middle-end/82063
ab20d992 1706 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 1707
00abf86c
MS
17082018-07-20 Martin Sebor <msebor@redhat.com>
1709
1710 PR middle-end/82063
1711 * c-common.h (c_common_handle_option): Change function argument
1712 to HOST_WIDE_INT.
1713 * c-opts.c (c_common_init_options): Same.
1714 (c_common_handle_option): Same. Remove special handling of
1715 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1716 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1717 options to take a HOST_WIDE_INT argument and accept a byte-size
1718 suffix. Initialize.
1719 (-Wvla-larger-than): Same.
1720 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1721 (-Wno-vla-larger-than): Same.
1722
9b452033
JJ
17232018-07-12 Jakub Jelinek <jakub@redhat.com>
1724
1725 * c-attribs.c (c_common_attribute_table): Add
1726 "omp declare target implicit" attribute.
1727
cd0762f3
RB
17282018-07-12 Richard Biener <rguenther@suse.de>
1729
1730 PR c/86453
1731 * c-attribs.c (handle_packed_attribute): Do not build a variant
1732 type with TYPE_PACKED, instead ignore the attribute if we may
1733 not apply to the original type.
1734
0b27c3ed
JJ
17352018-07-10 Jakub Jelinek <jakub@redhat.com>
1736
1737 PR c++/86443
1738 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1739 to contain TREE_LIST for both the original class iterator and the
1740 "last" helper var.
1741
e730a0ef
EB
17422018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1743
1744 * c-ada-spec.c (to_ada_name): Remove index parameter.
1745 (pp_ada_tree_identifier): Likewise.
1746 (dump_ada_macros): Adjust call to to_ada_name.
1747 (struct overloaded_name_hash): Delete.
1748 (struct overloaded_name_hasher): Likewise.
1749 (overloaded_names): Likewise.
1750 (compute_overloading_index): Likewise.
1751 (dump_ada_decl_name): Do not call compute_overloading_index and
1752 adjust calls to pp_ada_tree_identifier.
1753 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1754 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1755 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1756 (dump_ada_enum_type): Remove type and display_convention parameters.
1757 Adjust calls to pp_ada_tree_identifier.
1758 (dump_ada_node): Likewise and for dump_ada_structure.
1759 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1760 and tidy up.
1761 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1762 syntax.
1763 (print_constructor): Adjust call to pp_ada_tree_identifier.
1764 (print_destructor): Likewise.
1765 (dump_ada_declaration): Switch to aspect syntax.
1766 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1767 parameter with nested parameter.
1768 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1769 (dump_ada_specs): Do not delete overloaded_names table.
1770
8de583fc
PB
17712018-07-06 Peter Bergner <bergner@linux.ibm.com>
1772
1773 PR target/86324
e730a0ef 1774 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1775 target hook.
1776
09cff37b
NS
17772018-07-05 Nathan Sidwell <nathan@acm.org>
1778
1779 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1780 NO_IMPLICIT_EXTERN_C.
1781
98086b2b
ML
17822018-06-28 Martin Liska <mliska@suse.cz>
1783
1784 * cppspec.c: Include opt-suggestions.h.
1785
ab20d992
JJ
17862018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1787 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
1788 Cesar Philippidis <cesar@codesourcery.com>
1789
1790 * c-pragma.h (enum pragma_omp_clause): Add
1791 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1792 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1793
f41b7612
JJ
17942018-06-20 Jakub Jelinek <jakub@redhat.com>
1795
1796 PR c++/86210
1797 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1798 comment.
1799
4252ccd7
MS
18002018-06-18 Martin Sebor <msebor@redhat.com>
1801
1802 PR middle-end/85602
1803 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1804 nonstring.
1805
e197e64e
KV
18062018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1807
1808 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1809
34a7a230
JM
18102018-06-13 Jason Merrill <jason@redhat.com>
1811
5cef3733
JM
1812 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1813 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1814 handling.
1815
34a7a230
JM
1816 PR c++/86094 - wrong code with defaulted move ctor.
1817 * c-opts.c (c_common_post_options): Bump the current ABI version to
1818 13. Set warn_abi_version and flag_abi_compat_version to the current
1819 version rather than 0. Fix defaulting flag_abi_compat_version from
1820 warn_abi_version.
1821
bb0f14ae
MS
18222018-06-12 Martin Sebor <msebor@redhat.com>
1823
1824 PR c/85931
1825 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1826 sizeof source and destination yields the same value.
1827
3713f2e2
ML
18282018-06-12 Martin Liska <mliska@suse.cz>
1829
1830 * c.opt: Make MPX-related options as Deprecated.
1831
4af78ef8
DM
18322018-06-08 David Malcolm <dmalcolm@redhat.com>
1833
1834 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1835 rather than 0.
1836
31db0fe0
ML
18372018-06-08 Martin Liska <mliska@suse.cz>
1838
1839 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1840 for MPX (macros, related functions, fields in cgraph_node, ...).
1841 (handle_bnd_legacy): Likewise.
1842 (handle_bnd_instrument): Likewise.
1843 * c.opt: Likewise.
1844
fe16acf2
JJ
18452018-06-06 Jakub Jelinek <jakub@redhat.com>
1846
1847 PR c++/86068
1848 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1849 __cpp_transactional_memory to 201500 instead of 210500.
1850
4dbdb49b
JM
18512018-06-06 Jason Merrill <jason@redhat.com>
1852
1853 PR c++/85710 - ICE with -Wmemset-elt-size.
1854 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1855
f8ad043f
JM
18562018-06-01 Jason Merrill <jason@redhat.com>
1857
1858 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1859 201703.
1860
abc24d93
EB
18612018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1862
1863 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1864 declaration for a typedef independently of whether the declaration of
1865 the subtype is generated.
1866
d258f4aa
MS
18672018-05-31 Martin Sebor <msebor@redhat.com>
1868
1869 PR c/82063
1870 * c.opt (-Wno-alloc-size-larger-than): New option.
1871
b67b9225
DP
18722018-04-22 David Pagan <dave.pagan@oracle.com>
1873
1874 PR c/55976
1875 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 1876 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
1877 differentiate between default (no option), -Wreturn-type, and
1878 -Wno-return-type.
1879
04eb9c55
JM
18802018-05-29 Jason Merrill <jason@redhat.com>
1881
1882 * c.opt (Winit-list-lifetime): New flag.
1883
b0c31bc6
BE
18842018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1885
1886 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1887 splay_tree_delete_pointers.
1888
44284983
JJ
18892018-05-26 Jakub Jelinek <jakub@redhat.com>
1890
1891 PR bootstrap/85921
1892 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1893 noinline variable to workaround broken kernel headers.
1894
b46b715d
JM
18952018-05-18 Jason Merrill <jason@redhat.com>
1896
1897 * c.opt (Wdeprecated-copy): New flag.
1898
40659769
ML
18992018-05-17 Martin Liska <mliska@suse.cz>
1900
1901 * c-warn.c (overflow_warning): Do not use
1902 space in between 'G_' and '('.
1903
403962ea
JM
19042018-05-09 Jason Merrill <jason@redhat.com>
1905
1906 * c-common.c (valid_array_size_p): Add complain parameter.
1907 * c-common.h: ...which defaults to true.
1908
1c9ee609
JJ
19092018-05-11 Jakub Jelinek <jakub@redhat.com>
1910
1911 PR c/85696
1912 * c-omp.c (c_omp_predetermined_sharing): Return
1913 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1914
19916065
ML
19152018-05-11 Martin Liska <mliska@suse.cz>
1916
92a285c1 1917 PR sanitizer/85556
19916065
ML
1918 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1919 TREE_LIST values.
1920
79e7b1fe
JJ
19212018-05-10 Jakub Jelinek <jakub@redhat.com>
1922
1923 PR c++/85662
1924 * c-common.h (fold_offsetof_1): Removed.
1925 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1926 CTX argument defaulted to ERROR_MARK.
1927 * c-common.c (fold_offsetof_1): Renamed to ...
1928 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1929 argument, convert the pointer constant to TYPE and use size_binop
1930 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1931 a pointer type. Adjust recursive calls.
1932
86c12f76
EB
19332018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1934
1935 PR c++/85400
1936 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1937
ee336e84
NS
19382018-05-07 Nathan Sidwell <nathan@acm.org>
1939
1940 * c.opt (ffor-scope): Remove functionality, issue warning.
1941
6c072e21
NS
19422018-05-03 Nathan Sidwell <nathan@acm.org>
1943
1944 * c.opt (ffriend-injection): Remove functionality, issue warning.
1945
2cc7d3a7
DM
19462018-05-01 David Malcolm <dmalcolm@redhat.com>
1947
1948 PR c/84258
1949 * c-format.c (struct format_check_results): Add field
1950 "number_non_char".
1951 (check_format_info): Initialize it, and warn if encountered.
1952 (check_format_arg): Distinguish between wide char and
1953 everything else when detecting arrays of non-char.
1954
7761dfbe
DM
19552018-04-30 David Malcolm <dmalcolm@redhat.com>
1956
1957 * c-format.c (get_corrected_substring): Update for
1958 location_get_source_line returning a char_span. Use a char_span
1959 when handling the prefix of the correction.
1960 * c-indentation.c (get_visual_column): Update for
1961 location_get_source_line returning a char_span.
1962 (get_first_nws_vis_column): Likewise.
1963
62e98ef1
DM
19642018-03-29 David Malcolm <dmalcolm@redhat.com>
1965
1966 PR c++/84269
1967 * known-headers.cc (get_stdlib_header_for_name): Add various names
1968 from <assert.h>, <string.h>, and <memory.h>; add more names from
1969 <stdio.h>.
1970
a7dea617
JJ
19712018-03-27 Jakub Jelinek <jakub@redhat.com>
1972
1973 PR c++/85061
1974 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1975 get_base_address of the second operand is a VAR_P, rather than the
1976 operand itself, and use gcc_checking_assert instead of gcc_assert.
1977
889a3a30
MP
19782018-03-23 Marek Polacek <polacek@redhat.com>
1979
1980 PR c++/85045
1981 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1982 <case RDIV_EXPR>: Tweak condition.
1983
452154b9
EB
19842018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1985
1986 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1987
63ecb626
JJ
19882018-03-16 Jakub Jelinek <jakub@redhat.com>
1989
ce811fc4
JJ
1990 PR c/84909
1991 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1992 diagnostics.
1993
63ecb626
JJ
1994 PR c/84910
1995 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1996 diagnostics.
1997
a1295eec
RB
19982018-03-16 Richard Biener <rguenther@suse.de>
1999
2000 PR c/84873
2001 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2002 unshare the possibly folded expression.
2003
919674fb
RB
20042018-03-15 Richard Biener <rguenther@suse.de>
2005
2006 PR c/84873
2007 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2008
f99309b2
MS
20092018-03-13 Martin Sebor <msebor@redhat.com>
2010
2011 PR tree-optimization/84725
2012 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2013 with all three narrow character types, including their qualified forms.
2014
e9b9fa4c
MS
20152018-03-12 Martin Sebor <msebor@redhat.com>
2016
2017 PR tree-optimization/83456
ab20d992 2018 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
2019 Restore checking of bounded built-in functions.
2020 (check_function_arguments): Also return the result
2021 of warn_for_restrict.
ab20d992
JJ
2022 * c-common.c (check_function_restrict): Return bool.
2023 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 2024
0805d020
MP
20252018-03-02 Marek Polacek <polacek@redhat.com>
2026
2027 PR c++/84171
2028 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2029 is erroneous.
2030
ed2a2f08
TS
20312018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2032
2033 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2034 function".
2035
90abdde0
MP
20362018-03-01 Marek Polacek <polacek@redhat.com>
2037
2038 PR c++/84639
2039 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2040 alignment in computation.
2041
c6db43fa
EB
20422018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2043
2044 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2045 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2046
9e25c7ed
EB
20472018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2048
2049 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2050 (is_char_array): Take a type instead of a declaration.
2051 (dump_ada_array_type): Likewise.
2052 (is_simple_enum): Minor tweak.
2053 (dump_ada_enum_type): New function extracted from...
2054 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2055 <INTEGER_TYPE>: Remove unreachable code.
2056 <RECORD_TYPE>: Likewise. Minor tweaks.
2057 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2058 <ENUMERAL_TYPE>: New case.
2059 <RECORD_TYPE>: Factor out common code.
2060 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2061 Minor tweaks. Deal with enumeral types.
2062 (dump_ada_structure): Minor tweaks.
2063
09de3550
EB
20642018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2065
2066 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2067 address for incomplete structures.
2068 (dump_forward_type): Do not bail out for incomplete structures.
2069 (dump_ada_declaration): Do not special-case incomplete structures
2070 for subtypes. Dump them as null records for types.
2071
095d8d4b
EB
20722018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2073
2074 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2075 (is_char_array): Fix formatting.
2076 (dump_template_types): Likewise.
2077 (dump_generic_ada_node): Rename into...
2078 (dump_ada_node): ...this.
2079 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2080 incomplete structures and not for empty structures. Do not use it
2081 when forward declarations are needed.
2082 (dump_forward_type): New function.
2083 (dump_nested_types): Remove FORWARD parameter. Do not consider
2084 TREE_VISITED and do not generate a forward declaration. Only dump
2085 original nested types for nested declaration.
2086 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2087 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2088 <RECORD_TYPE>: Do not consider TREE_VISITED.
2089 (dump_ada_declaration): Use booleans and fix formatting throughout.
2090 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2091 Call dump_forward_type instead of dump_nested_types for a typedef.
2092 Remove superfluous check and adjust call to dump_nested_types.
2093 <POINTER_TYPE>: Call dump_forward_type and fall through.
2094 (dump_ada_struct_decl): Rename into...
2095 (dump_ada_structure): ...this. Do not special-case empty structures.
2096
d4cfd486
MS
20972018-02-27 Martin Sebor <msebor@redhat.com>
2098
2099 PR c++/83871
2100 * c.opt (-Wmissing-attributes): New option.
2101
b22dbd03
ML
21022018-02-21 Martin Liska <mliska@suse.cz>
2103
2104 * c.opt (Wcatch-value=): Add IntegerRange.
2105
883dfe2a
JM
21062018-02-15 Jason Merrill <jason@redhat.com>
2107
2108 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2109
0444aa9c
NS
21102018-02-09 Nathan Sidwell <nathan@acm.org>
2111
2112 PR c/84293
2113 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2114 arg.
2115 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2116 arg. Adjust.
2117
cea71f0a
MS
21182018-02-09 Martin Sebor <msebor@redhat.com>
2119
2120 PR lto/84212
2121 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2122 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2123 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2124 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2125 (-Wuninitialized): Same.
2126
8c8b7be5
EB
21272018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2128
2129 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2130 keyword for components.
2131
7c30b12a
PC
21322018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2133
2134 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2135
eece7fe5
JK
21362018-02-02 Julia Koval <julia.koval@intel.com>
2137
2138 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2139
7d07a93a
MP
21402018-01-29 Marek Polacek <polacek@redhat.com>
2141
2142 PR c/83966
2143 * c-format.c (check_function_format): Check current_function_decl.
2144
53723269
JJ
21452018-01-27 Jakub Jelinek <jakub@redhat.com>
2146
2147 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2148 argument.
2149 (LAZY_HEX_FP_VALUES_CNT): Define.
2150 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2151 values rather than just 12.
2152 (builtin_define_with_hex_fp_value): Likewise.
2153
7365279f
BK
21542018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2155
92a285c1
ML
2156 PR other/70268
2157 * c.opt (-fmacro-prefix-map): New option.
2158 * c-opts.c (c_common_handle_option): Handle it.
2159 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2160 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 2161
bb9869d5
DM
21622018-01-17 David Malcolm <dmalcolm@redhat.com>
2163
2164 PR c++/83814
2165 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2166
68dc87c3
EB
21672018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2168
2169 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2170 Skip 'f' and 'F' characters if it is true.
2171 (store_ada_macro): Minor tweak.
2172 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2173 <CPP_WSTRING>: Likewise.
2174 <CPP_STRING>: Output '&' in the buffer if not the first string.
2175 <CPP_NUMBER>: Adjust calls to dump_number.
2176
9a004410
DM
21772018-01-10 David Malcolm <dmalcolm@redhat.com>
2178
2179 PR c++/43486
2180 * c-common.c: Include "selftest.h".
2181 (get_atomic_generic_size): Perform the test for integral type
2182 before the range test for any integer constant, fixing indentation
2183 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2184 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2185 (selftest::test_fold_for_warn): New function.
2186 (selftest::c_common_c_tests): New function.
2187 (selftest::c_family_tests): Call it, and
2188 selftest::c_pretty_print_c_tests.
2189 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2190 * c-format.c (check_format_arg): Convert VAR_P check to a
2191 fold_for_warn.
2192 * c-pretty-print.c: Include "selftest.h".
2193 (pp_c_cast_expression): Don't print casts for location wrappers.
2194 (selftest::assert_c_pretty_printer_output): New function.
2195 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2196 (selftest::test_location_wrappers): New function.
2197 (selftest::c_pretty_print_c_tests): New function.
2198 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2199
5c0caeb3
RS
22002018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2201 Alan Hayward <alan.hayward@arm.com>
2202 David Sherwood <david.sherwood@arm.com>
2203
2204 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2205
73a699ae
RS
22062018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2207 Alan Hayward <alan.hayward@arm.com>
2208 David Sherwood <david.sherwood@arm.com>
2209
2210 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2211 as polynomial.
2212
928686b1
RS
22132018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2214 Alan Hayward <alan.hayward@arm.com>
2215 David Sherwood <david.sherwood@arm.com>
2216
2217 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2218 (convert_vector_to_array_for_subscript): Handle polynomial
2219 TYPE_VECTOR_SUBPARTS.
2220 (c_common_type_for_mode): Check valid_vector_subparts_p.
2221 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2222 VECTOR_CST_NELTS.
2223
85ec4feb
JJ
22242018-01-03 Jakub Jelinek <jakub@redhat.com>
2225
2226 Update copyright years.
2227
170a8bd6 22282017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 2229 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
2230
2231 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2232 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2233
ab20d992 22342017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
2235
2236 PR debug/83527
2237 PR debug/83419
2238 * c-semantics.c (only_debug_stmts_after_p): New.
2239 (pop_stmt_list): Clear side effects in debug-only stmt list.
2240 Check for single nondebug stmt followed by debug stmts only.
2241
c12d20d4
AO
22422017-12-21 Alexandre Oliva <aoliva@redhat.com>
2243
2244 PR debug/83419
2245 * c-semantics.c (pop_stmt_list): Propagate side effects from
2246 single nondebug stmt to container list.
2247
01512446
JJ
22482017-12-19 Jakub Jelinek <jakub@redhat.com>
2249
2250 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2251 conditions with typical order conditions.
2252
82cfbd01
MP
22532017-12-18 Marek Polacek <polacek@redhat.com>
2254
2255 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2256 not in effect.
2257
99da11ec
MS
22582017-12-17 Martin Sebor <msebor@redhat.com>
2259
2260 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2261 an error for attribute warn_if_not_aligned.
2262
cc8bea0a
MS
22632017-12-16 Martin Sebor <msebor@redhat.com>
2264
2265 PR tree-optimization/78918
2266 * c-common.c (check_function_restrict): Avoid checking built-ins.
2267 * c.opt (-Wrestrict): Include in -Wall.
2268
4849deb1
JJ
22692017-12-15 Jakub Jelinek <jakub@redhat.com>
2270
2271 * c-attribs.c (c_common_attribute_table,
2272 c_common_format_attribute_table): Swap affects_type_identity
2273 and handler fields, adjust comments.
2274
c65e18d3
BE
22752017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2276
2277 * c.opt (Wcast-function-type): New warning option.
2278 * c-lex.c (get_fileinfo): Avoid warning.
2279 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2280
2004617a
QZ
22812017-12-14 Qing Zhao <qing.zhao@oracle.com>
2282
7365279f 2283 PR middle_end/79538
2004617a
QZ
2284 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2285 Adjust the size of buf1 and buf2, add a new buf to avoid
2286 format-overflow warning.
2287
ab20d992 22882017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
2289
2290 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2291 subsequent statement list.
2292
5d9ae53d
MS
22932017-12-07 Martin Sebor <msebor@redhat.com>
2294
2295 PR c/81544
2296 PR c/81566
2297 * c-attribs.c (attr_aligned_exclusions): New array.
2298 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2299 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2300 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2301 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2302 (attr_warn_unused_result_exclusions): Same.
2303 (handle_hot_attribute, handle_cold_attribute): Simplify.
2304 (handle_const_attribute): Warn on function returning void.
2305 (handle_pure_attribute): Same.
2306 (handle_aligned_attribute): Diagnose conflicting attribute
2307 specifications.
2308 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2309
c79144f8
DM
23102017-12-06 David Malcolm <dmalcolm@redhat.com>
2311
2312 PR c/83236
2313 * c-common.c (selftest::c_family_tests): Call
2314 selftest::c_spellcheck_cc_tests.
2315 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2316 * c-spellcheck.cc: Include "selftest.h".
2317 (name_reserved_for_implementation_p): New function.
2318 (should_suggest_as_macro_p): New function.
2319 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2320 should_suggest_as_macro_p and call it.
2321 (selftest::test_name_reserved_for_implementation_p): New function.
2322 (selftest::c_spellcheck_cc_tests): New function.
2323 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2324
613bc14f
DM
23252017-12-06 David Malcolm <dmalcolm@redhat.com>
2326
2327 * c-spellcheck.cc: New file, taken from macro-handling code in
2328 spellcheck-tree.c.
2329 * c-spellcheck.h: New file, taken from macro-handling code in
2330 spellcheck-tree.h.
2331
e76c7157
JJ
23322017-12-01 Jakub Jelinek <jakub@redhat.com>
2333
2334 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2335 attribute.
2336 (handle_simd_attribute): Don't check for "cilk simd function"
2337 attribute. Reindent, formatting changes.
2338
b0da4034
JK
23392017-11-30 Julia Koval <julia.koval@intel.com>
2340
2341 * c-common.h (inv_list): Remove.
2342
058f0b9e
JJ
23432017-11-28 Jakub Jelinek <jakub@redhat.com>
2344
2345 PR sanitizer/81275
2346 * c-common.c (c_switch_covers_all_cases_p_1,
2347 c_switch_covers_all_cases_p): New functions.
2348 * c-common.h (c_switch_covers_all_cases_p): Declare.
2349
5e9d6aa4 23502017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 2351 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
2352
2353 * array-notation-common.c: Delete.
2354 * c-cilkplus.c: Ditto.
2355 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2356 * c-common.def (ARRAY_NOTATION_REF): Remove.
2357 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2358 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2359 c_validate_cilk_plus_loop, cilkplus_an_parts,
2360 cilk_ignorable_spawn_rhs_op,
2361 cilk_recognize_spawn): Remove.
2362 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2363 * c-omp.c: Remove CILK_SIMD check.
2364 * c-pragma.c: Ditto.
2365 * c-pragma.h: Remove CILK related pragmas.
2366 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2367 ARRAY_NOTATION_REF condition.
2368 (c_pretty_printer::expression): Ditto.
2369 * c.opt (fcilkplus): Remove.
2370 * cilk.c: Delete.
2371
1af4ebf5
MG
23722017-11-21 Marc Glisse <marc.glisse@inria.fr>
2373
2374 * c-pretty-print.c (pp_c_additive_expression,
2375 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2376
d44ed508
JJ
23772017-11-21 Jakub Jelinek <jakub@redhat.com>
2378
7d2f0f9b
JJ
2379 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2380
d44ed508
JJ
2381 PR c++/83059
2382 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2383 instead of tree_to_uhwi, formatting fix.
2384
26edace6
DM
23852017-11-20 David Malcolm <dmalcolm@redhat.com>
2386
2387 PR c/81404
2388 * known-headers.cc: New file, based on material from c/c-decl.c.
2389 (suggest_missing_header): Copied as-is.
2390 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2391 heavily edited to add C++ support. Add some knowledge about
2392 <limits.h>, <stdint.h>, and <wchar.h>.
2393 * known-headers.h: Likewise.
2394
6c7a259b
DM
23952017-11-20 David Malcolm <dmalcolm@redhat.com>
2396
2397 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2398 (lookup_name_fuzzy): Likewise. Convert return type from
2399 const char * to name_hint. Add location_t param.
2400 * name-hint.h: New header.
2401
f9c59f7e
JJ
24022017-11-19 Jakub Jelinek <jakub@redhat.com>
2403
2404 PR c/66618
2405 PR c/69960
2406 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2407
1e39313a
JM
24082017-11-16 Joseph Myers <joseph@codesourcery.com>
2409
2410 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2411 expected publication date of C17.
2412 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2413
3ca0dc60
JM
24142017-11-15 Joseph Myers <joseph@codesourcery.com>
2415
2416 PR c/81156
2417 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2418 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2419
025d57f0
MS
24202017-11-10 Martin Sebor <msebor@redhat.com>
2421
2422 PR c/81117
2423 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2424 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2425 * c.opt (-Wstringop-truncation): New option.
2426
1b6fa695
ML
24272017-11-06 Martin Liska <mliska@suse.cz>
2428
2429 PR middle-end/82404
2430 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2431 FE.
2432 * c.opt: Set default value of warn_return_type.
2433
64a5912c
DM
24342017-10-31 David Malcolm <dmalcolm@redhat.com>
2435
2436 * c-common.c (binary_op_error): Update for renaming of
2437 error_at_rich_loc.
2438 (c_parse_error): Likewise.
2439 * c-warn.c (warn_logical_not_parentheses): Likewise for
2440 renaming of inform_at_rich_loc.
2441 (warn_for_restrict): Likewise for renaming of
2442 warning_at_rich_loc_n.
2443
c76dc9c3
JM
24442017-10-30 Joseph Myers <joseph@codesourcery.com>
2445
2446 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2447 * c-opts.c (set_std_c17): New function.
2448 (c_common_init_options): Use gnu17 as default C version.
2449 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2450
ee5fd23a
MM
24512017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2452
2453 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2454 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2455 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2456 __FP_FAST_FMA<N>X.
2457
d1047465
MP
24582017-10-23 Marek Polacek <polacek@redhat.com>
2459
2460 PR c/82681
2461 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2462
9e878cf1
EB
24632017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2464
2465 * c-common.c (check_builtin_function_arguments): Also check arguments
2466 of __builtin_alloca_with_align_and_max.
2467
89b6abbb
DM
24682017-10-17 David Malcolm <dmalcolm@redhat.com>
2469
2470 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2471 rather than NULL to format_warning_va.
2472 (check_format_types): Likewise when calling format_type_warning.
2473 Remove code to extract source_ranges and source_range * in favor
2474 of just a location_t.
2475 (format_type_warning): Convert source_range * param to a
2476 location_t.
2477
39382c09
JJ
24782017-10-13 Jakub Jelinek <jakub@redhat.com>
2479
2480 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2481 [LR]SHIFT_EXPR.
2482
62e1c678
DM
24832017-10-12 David Malcolm <dmalcolm@redhat.com>
2484
2485 * c-common.c (enum missing_token_insertion_kind): New enum.
2486 (get_missing_token_insertion_kind): New function.
2487 (maybe_suggest_missing_token_insertion): New function.
2488 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2489
b90c9338
NS
24902017-10-11 Nathan Sidwell <nathan@acm.org>
2491
2492 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2493 (c_common_handle_option): Update incpath_kind names.
2494
3a266bcd
ML
24952017-10-11 Martin Liska <mliska@suse.cz>
2496
2497 PR sanitizer/82490
2498 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2499 Wattributes warning.
2500
8e6cdc90
RS
25012017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2502
2503 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2504 operating on trees as wide_ints.
2505 * c-common.c (pointer_int_sum): Likewise.
2506 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2507 * c-warn.c (match_case_to_enum_1): Likewise.
2508 (c_do_switch_warnings): Likewise.
2509 (maybe_warn_shift_overflow): Likewise.
2510
802b38c9
JJ
25112017-10-10 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR c/82437
2514 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2515 instead of wide_int::from.
2516
4e34b338
JJ
25172017-10-06 Jakub Jelinek <jakub@redhat.com>
2518
2519 PR c/82437
2520 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2521 using to_widest use wide_int with the larger of the two precisions.
2522
4bc4b2b4
BE
25232017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2524
2525 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2526 functions.
2527
a1488398
RS
25282017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2529
2530 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2531 when combining the original unconverted comparison operands.
2532
01c9fb68
JJ
25332017-09-29 Jakub Jelinek <jakub@redhat.com>
2534
2535 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2536 attribute.
2537
6e3e8419
EB
25382017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2539
2540 * c-ada-spec.c (to_ada_name): Add index parameter.
2541 (pp_ada_tree_identifier): Likewise.
2542 (dump_ada_macros): Adjust call to to_ada_name.
2543 (struct overloaded_name_hash): New type.
2544 (struct overloaded_name_hasher): Likewise.
2545 (overloaded_names): New hash table.
2546 (compute_overloading_index): New function.
2547 (dump_ada_decl_name): Call it and pass the result to
2548 pp_ada_tree_identifier.
2549 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2550 (dump_ada_function_declaration): Likewise.
2551 (dump_generic_ada_node): Likewise.
2552 (print_constructor): Likewise.
2553 (print_destructor): Likewise.
2554 (dump_ada_specs): Delete overloaded_names table.
2555
79310774
EB
25562017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2557
2558 * c-ada-spec.c (max_ada_macros): Move around.
2559 (store_ada_macro_index): Likewise.
2560 (source_file): Rename into...
2561 (macro_source_file): ...this.
2562 (count_ada_macro): Move around.
2563 (store_ada_macro): Likewise.
2564 (compare_macro): Likewise.
2565 (print_ada_macros): Merge in...
2566 (dump_ada_macros): ...this.
2567 (source_file_base): Rename into...
2568 (current_source_file): ...this.
2569 (print_comment): Move around.
2570 (dump_ada_nodes): Call dump_ada_declaration directly.
2571 (struct with): Change type of limited field to bool.
2572 (append_withs): Change type of limited_access parameter to bool.
2573 (pp_ada_tree_identifie): Likewise.
2574 (dump_ada_decl_nam): Likewise.
2575 (dump_generic_ada_node): Likewise. Do not print the return type.
2576 (to_ada_name): Change type of space_found parameter to bool.
2577 (dump_ada_function_declaration): Return void and change type of
2578 parameters to bool. Also print the return type for a function.
2579 (print_ada_methods): Rename into...
2580 (dump_ada_methods): ...this.
2581 (print_ada_declaration): Rename into ...
2582 (dump_ada_declaration): ...this. Do not print the return type.
2583 (print_ada_struct_decl): Rename into...
2584 (dump_ada_struct_decl): ...this.
2585
7d386d45
JJ
25862017-09-29 Jakub Jelinek <jakub@redhat.com>
2587
2588 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2589 rather than DECL_INITIAL.
2590 (common_handle_aligned_attribute): Likewise.
2591
ab20d992 25922017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
2593
2594 * c.opt (gen-decls): Add RejectNegative.
2595
026a79f7
AS
25962017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2597 Jakub Jelinek <jakub@redhat.com>
2598
2599 Add support for -std=c++2a.
2600 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2601 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2602 * c-opts.c (set_std_cxx2a): New.
2603 (c_common_handle_option): Set options when -std=c++2a is enabled.
2604 (c_common_post_options): Adjust comments.
2605 (set_std_cxx14, set_std_cxx17): Likewise.
2606
4a8ca690
EB
26072017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2608
2609 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2610 message for non-uniform endianness and issue a warning in C++.
2611
7b936140
JJ
26122017-09-15 Jakub Jelinek <jakub@redhat.com>
2613
2614 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2615 (Wc++17-compat): Change from undocumented alias to option.
2616 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2617 change C++1z to C++17 in description.
2618 (std=c++1z, std=gnu++1z): Change from option to undocumented
2619 deprecated alias.
2620 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2621 Adjust description.
2622 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2623 * c-opts.c (set_std_cxx1z): Rename to ...
2624 (set_std_cxx17): ... this.
2625 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2626 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 2627 caller.
7b936140
JJ
2628 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2629 comments.
2630
12263f13
L
26312017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2632
2633 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2634 function alignment if warn_if_not_aligned_p is true.
2635
6836632e
NS
26362017-09-12 Nathan Sidwell <nathan@acm.org>
2637
2638 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2639 resort_sorted_fields): Move to c/c-decl.c.
2640 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2641 (struct sorted_fields_type): Move to c/c-lang.h.
2642
019bf9ad
JW
26432017-09-09 Jonathan Wakely <jwakely@redhat.com>
2644
2645 PR c++/81852
2646 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2647
bc7fe952
MP
26482017-09-04 Marek Polacek <polacek@redhat.com>
2649
2650 PR c/81783
2651 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2652 (warn_tautological_cmp): Call it.
2653
ab20d992 26542017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
2655
2656 * c-opts.c (c_common_finish): Write dependency information even if
2657 there are errors.
2658
d2e05fcb
JJ
26592017-09-01 Jakub Jelinek <jakub@redhat.com>
2660
2661 PR c/81887
2662 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2663 (omp_pragmas_simd): ... here.
2664 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2665 create new clauses list containing just simd clause.
2666
18e2a8b8
RS
26672017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2668 Alan Hayward <alan.hayward@arm.com>
2669 David Sherwood <david.sherwood@arm.com>
2670
2671 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2672 into scalar_mode_supported_p call.
2673 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2674
16d22000
RS
26752017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2676 Alan Hayward <alan.hayward@arm.com>
2677 David Sherwood <david.sherwood@arm.com>
2678
2679 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2680 for the mode iterator.
2681
b397965c
RS
26822017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2683 Alan Hayward <alan.hayward@arm.com>
2684 David Sherwood <david.sherwood@arm.com>
2685
2686 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2687 * c-common.c (c_build_vec_perm_expr): Likewise.
2688
357b7604
RS
26892017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2690 Alan Hayward <alan.hayward@arm.com>
2691 David Sherwood <david.sherwood@arm.com>
2692
2693 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2694
e05c94ba
RS
26952017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2696 Alan Hayward <alan.hayward@arm.com>
2697 David Sherwood <david.sherwood@arm.com>
2698
2699 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2700 before calling targetm.addr_space.valid_pointer_mode.
2701
5c20c4af
RS
27022017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2703 Alan Hayward <alan.hayward@arm.com>
2704 David Sherwood <david.sherwood@arm.com>
2705
2706 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2707
c94843d2 27082017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
2709 Alan Hayward <alan.hayward@arm.com>
2710 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
2711
2712 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2713 iterators.
2714 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2715
4e10a5a7
RS
27162017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2717 Alan Hayward <alan.hayward@arm.com>
2718 David Sherwood <david.sherwood@arm.com>
2719
2720 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2721 case statements.
2722
130fcab0
ML
27232017-08-29 Martin Liska <mliska@suse.cz>
2724
2725 PR other/39851
2726 * c-common.c (parse_optimize_options): Add argument to function
2727 call.
2728 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2729
14e18d71
DM
27302017-08-24 David Malcolm <dmalcolm@redhat.com>
2731
2732 * c-lex.c (interpret_float): Use token location
2733 when building an EXCESS_PRECISION_EXPR.
2734
2f687306
DM
27352017-08-21 David Malcolm <dmalcolm@redhat.com>
2736
2737 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2738 it to check_function_format.
2739 * c-common.h (check_function_arguments): Add vec<location_t> *
2740 param.
2741 (check_function_format): Likewise.
2742 * c-format.c (struct format_check_context): Add field "arglocs".
2743 (check_function_format): Add param "arglocs"; pass it to
2744 check_format_info.
ab20d992 2745 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
2746 new field of format_ctx.
2747 (check_format_arg): Pass format_ctx->arglocs to new param of
2748 check_format_info_main.
2749 (class argument_parser): New field "arglocs".
2750 (argument_parser::argument_parser): Add "arglocs_" param and use
2751 it to initialize new field.
2752 (argument_parser::check_argument_type): Pass new arglocs field to
2753 check_format_types.
2754 (check_format_info_main): Add param "arglocs", and use it when
2755 constructing arg_parser.
2756 (check_format_types): Add param "arglocs"; use it if non-NULL when
2757 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2758
00aa1fa2
L
27592017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2760
2761 PR c/53037
2762 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2763 (c_common_attribute_table): Add warn_if_not_aligned.
2764 (handle_aligned_attribute): Renamed to ...
2765 (common_handle_aligned_attribute): Remove argument, name, and add
2766 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2767 (handle_aligned_attribute): New.
2768 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2769
27be025d
MS
27702017-08-14 Martin Sebor <msebor@redhat.com>
2771
2772 PR c/81117
2773 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2774 (handle_nonstring_attribute): New function.
2775
da67acb9
MS
27762017-08-14 Martin Sebor <msebor@redhat.com>
2777
2778 PR c/81117
2779 * c-format.h (T89_G): New macro.
2780 * c-format.c (local_gcall_ptr_node): New variable.
2781 (init_dynamic_diag_info): Initialize it.
2782
a8b522b4
ML
27832017-08-11 Martin Liska <mliska@suse.cz>
2784
2785 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2786 TARGET_SUPPORTS_ALIASES.
2787
32129a17
DM
27882017-08-10 David Malcolm <dmalcolm@redhat.com>
2789
2790 * c-common.c (c_parse_error): Add rich_location * param, using it
2791 rather implicitly using input_location.
2792 * c-common.h (c_parse_error): Add rich_location * param.
2793
30af3a2b
MP
27942017-08-09 Marek Polacek <polacek@redhat.com>
2795
2796 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2797 (c_common_truthvalue_conversion): Likewise.
2798 * c-omp.c (c_finish_omp_atomic): Likewise.
2799 * c-common.h (build_binary_op): Update declaration.
2800
314e6352
ML
28012017-08-08 Martin Liska <mliska@suse.cz>
2802
2803 * c-ada-spec.c: Include header files.
2804 * c-ubsan.c: Likewise.
2805 * c-warn.c: Likewise.
2806
56b5041c
JJ
28072017-08-07 Jakub Jelinek <jakub@redhat.com>
2808
2809 PR c/69389
2810 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2811
db440138
EB
28122017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2813
2814 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2815 (print_ada_methods): Likewise.
2816 (print_ada_declaration): Likewise.
2817
577eec56
ML
28182017-08-07 Martin Liska <mliska@suse.cz>
2819
2820 * array-notation-common.c: Add new includes.
2821 * c-format.c( handle_format_attribute): Canonicalize a format
2822 function name.
2823 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2824 attribute.
2825 * c-pretty-print.c: Add new include.
2826
b854df3c
EB
28272017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2828
2829 * c-ada-spec.c (has_static_fields): Look only into variables.
2830 (print_constructor): Add TYPE parameter and use it for the name.
2831 (print_destructor): Likewise.
2832 (print_ada_declaration): Adjust to new constructor/destructor names.
2833 Adjust calls to print_constructor and print_destructor.
2834 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2835 Look only into variables in the final loop.
2836
9f2cb25e
EB
28372017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2838
2839 * c-ada-spec.c (has_static_fields): Look only into fields.
2840 (dump_generic_ada_node): Small tweak.
2841 (dump_nested_types): Look only into fields.
2842 (print_ada_declaration): Look only into methods. Small tweak.
2843 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2844
f4bcd9eb
EB
28452017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2846
2847 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2848 (dump_ada_function_declaration): Likewise.
2849 (dump_generic_ada_node): Likewise.
2850 (print_ada_declaration): Add support for const-qualified variables.
2851
f34ebeb2
ML
28522017-07-31 Martin Liska <mliska@suse.cz>
2853
2854 PR sanitize/81530
2855 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2856 Guard condition with flag_sanitize_p also with current_function_decl
2857 non-null equality.
2858 (ubsan_maybe_instrument_reference_or_call): Likewise.
2859
218e5d04
UB
28602017-07-30 Uros Bizjak <ubizjak@gmail.com>
2861
2862 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2863
942047f2
EB
28642017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2865
2866 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2867 for enumeral types.
2868 (print_ada_declaration): Add missing guard for record types.
2869
a40ff0ae
JJ
28702017-07-27 Jakub Jelinek <jakub@redhat.com>
2871
2872 PR c/45784
2873 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2874 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2875 new COMPOUND_EXPRs around the rhs of the comparison.
2876
06bd22f6
MP
28772017-07-27 Marek Polacek <polacek@redhat.com>
2878
2879 PR c/81417
2880 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2881 the types.
2882
036ea399
JJ
28832017-07-27 Jakub Jelinek <jakub@redhat.com>
2884
2885 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2886 (handle_noipa_attribute): New function.
2887
417ca011
TD
28882017-07-07 Torsten Duwe <duwe@suse.de>
2889
2890 * c-attribs.c (c_common_attribute_table): Add entry for
2891 "patchable_function_entry".
2892
5aaa8fb4
NS
28932017-07-20 Nathan Sidwell <nathan@acm.org>
2894
2895 Remove TYPE_METHODS.
2896 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2897 dump_ada_template, print_ada_methods,
2898 print_ada_declaration): Member fns are on TYPE_FIELDS.
2899
ff22eb12
NS
29002017-07-18 Nathan Sidwell <nathan@acm.org>
2901
2902 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2903
eea77d1f
DM
29042017-07-14 David Malcolm <dmalcolm@redhat.com>
2905
2906 * c-common.c (try_to_locate_new_include_insertion_point): New
2907 function.
2908 (per_file_includes_t): New typedef.
2909 (added_includes_t): New typedef.
2910 (added_includes): New variable.
2911 (maybe_add_include_fixit): New function.
2912 * c-common.h (maybe_add_include_fixit): New decl.
2913
281ac396
MS
29142017-07-10 Martin Sebor <msebor@redhat.com>
2915
2916 PR other/81345
2917 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2918
b6f43128
DM
29192017-07-06 David Malcolm <dmalcolm@redhat.com>
2920
2921 * c-common.c (selftest::c_family_tests): New.
2922 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2923 (selftest::c_family_tests): New decl.
2924
efbf55b0
MP
29252017-07-04 Marek Polacek <polacek@redhat.com>
2926
2927 PR c/81231
2928 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2929 types.
2930
6c86bd88
MP
29312017-07-04 Marek Polacek <polacek@redhat.com>
2932
2933 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2934
17a7218b
ML
29352017-06-28 Martin Liska <mliska@suse.cz>
2936
2937 PR ipa/81128
2938 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2939 to a function declaration.
2940
63010089
ML
29412017-06-28 Martin Liska <mliska@suse.cz>
2942
2943 PR driver/79659
2944 * c.opt: Add IntegerRange to various options.
2945
3e2becc4
MP
29462017-06-26 Marek Polacek <polacek@redhat.com>
2947
2948 PR c/80116
2949 * c-common.h (warn_for_multistatement_macros): Declare.
2950 * c-warn.c: Include "c-family/c-indentation.h".
2951 (warn_for_multistatement_macros): New function.
2952 * c.opt (Wmultistatement-macros): New option.
2953 * c-indentation.c (guard_tinfo_to_string): No longer static.
2954 Change the parameter type to "enum rid". Handle RID_SWITCH.
2955 * c-indentation.h (guard_tinfo_to_string): Declare.
2956
2db9b7cd
MG
29572017-06-23 Marc Glisse <marc.glisse@inria.fr>
2958
2959 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2960
c3684b7b
MS
29612017-06-15 Martin Sebor <msebor@redhat.com>
2962
2963 PR c++/80560
2964 * c.opt (-Wclass-memaccess): New option.
2965
e72c4afd
BK
29662017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2967
2968 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2969
8a516588
MP
29702017-06-13 Marek Polacek <polacek@redhat.com>
2971
2972 PR objc/80949
2973 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2974 branches is null.
2975
45b2222a
ML
29762017-06-13 Martin Liska <mliska@suse.cz>
2977
2978 PR sanitize/78204
2979 * c-attribs.c (add_no_sanitize_value): New function.
2980 (handle_no_sanitize_attribute): Likewise.
2981 (handle_no_sanitize_address_attribute): Use the function.
2982 (handle_no_sanitize_thread_attribute): New function.
2983 (handle_no_address_safety_analysis_attribute): Use
2984 add_no_sanitize_value.
2985 (handle_no_sanitize_undefined_attribute): Likewise.
2986 * c-common.h: Declare new functions.
2987 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2988 (ubsan_instrument_shift): Likewise.
2989 (ubsan_instrument_bounds): Likewise.
2990 (ubsan_maybe_instrument_array_ref): Likewise.
2991 (ubsan_maybe_instrument_reference_or_call): Likewise.
2992
a01f151f
JM
29932017-06-11 Jason Merrill <jason@redhat.com>
2994
2995 * c-ada-spec.c, c-pragma.c: Use id_equal.
2996
3de4ac6d
MP
29972017-06-04 Marek Polacek <polacek@redhat.com>
2998
2999 PR c/80919
3000 * c-format.c (matching_type_p): Return false if any of the types
3001 requires structural equality.
3002
2474f48f
MS
30032017-06-02 Martin Sebor <msebor@redhat.com>
3004
3005 PR c/80892
3006 * c-warn.c (conversion_warning): Use -Wconversion for integer
3007 conversion and -Wfloat-conversion for floating one.
3008
40ffd95f
BE
30092017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3010
3011 * c.opt (Wsizeof-pointer-div): New warning option.
3012
3fa4634c
VR
30132017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3014
3015 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3016 (Wcatch-value=1): Enable by -Wall.
3017
f012c8ef
DM
30182017-05-30 David Malcolm <dmalcolm@redhat.com>
3019
3020 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3021 format_chars.
3022 * c.opt (fdiagnostics-show-template-tree): New option.
3023 (felide-type): New option.
3024
63dbcd13
VR
30252017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3026
3027 * c.opt (Wcatch-value=): New C++ warning flag.
3028
be136b5c
NS
30292017-05-24 Nathan Sidwell <nathan@acm.org>
3030
3031 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3032 const casts to avoid warning.
3033
3cd211af
MS
30342017-05-24 Martin Sebor <msebor@redhat.com>
3035
3036 PR c/80731
3037 * c-common.h (unsafe_conversion_p): Add a function argument.
3038 * c-common.c (unsafe_conversion_p): Same.
3039 Add type names and values to diagnostics.
3040 (scalar_to_vector): Adjust.
3041 * c-warn.c (constant_expression_error): Add a function argument.
3042 Add type names and values to diagnostics.
3043 (conversion_warning): Add a function argument.
3044 Add type names and values to diagnostics.
3045 (warnings_for_convert_and_check): Same.
3046
1ff7be5a
JM
30472017-05-19 Jason Merrill <jason@redhat.com>
3048
3049 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3050 enumerators.
3051
ff502317
BE
30522017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3053
3054 * c-format.c (locus): Move out of function scope,
3055 add GTY attribute.
3056
2a8a8d7b
NS
30572017-05-19 Nathan Sidwell <nathan@acm.org>
3058
3059 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3060 (c_common_parse_file): Remove class dump handling.
3061 (get_dump_info): Likewise.
3062
39aac208
RB
30632017-05-19 Richard Biener <rguenther@suse.de>
3064
3065 PR c++/80593
3066 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3067 to alias-set zero memory.
3068
6ecd2339
BE
30692017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3070
3071 * c-format.c (local_tree_type_node): Add GTY attribute.
3072
6574d78e
MP
30732017-05-18 Marek Polacek <polacek@redhat.com>
3074
3075 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3076 (c_common_fixed_point_type_for_size): Likewise.
3077 (c_common_type_for_mode): Likewise.
3078 (shorten_compare): Likewise.
3079 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3080 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3081
e3455240
MP
30822017-05-18 Marek Polacek <polacek@redhat.com>
3083
3084 * c-common.c (self_promoting_args_p): Change the return type to bool.
3085 Use false/true instead of 0/1.
3086 * c-common.h (self_promoting_args_p): Update.
3087
3fa8871b
MP
30882017-05-17 Marek Polacek <polacek@redhat.com>
3089
3090 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3091 * c-warn.c: Likewise.
3092
b42cc3ca
VV
30932017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3094
3095 Implement new C++ intrinsics __is_assignable and __is_constructible.
3096 * c-common.c (__is_assignable, __is_constructible): New.
3097 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3098
1a817418
ML
30992017-05-17 Martin Liska <mliska@suse.cz>
3100
3101 * c-common.h: Introduce dump_flags_t type and
3102 use it instead of int type.
3103 * c-gimplify.c (c_genericize): Likewise.
3104 * c-opts.c: Likewise.
3105
b2fa0a8b
MP
31062017-05-17 Marek Polacek <polacek@redhat.com>
3107
3108 * c-common.c (c_save_expr): Remove.
3109 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3110 * c-common.h (c_save_expr): Remove declaration.
3111
31c2d57d
VR
31122017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3113
3114 PR c/35441
3115 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3116 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3117 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3118 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3119 RDIV_EXPR.
3120 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3121
684f84de
MP
31222017-05-09 Marek Polacek <polacek@redhat.com>
3123
3124 PR c/80525
3125 * c-warn.c (unwrap_c_maybe_const): New.
3126 (warn_logical_operator): Call it.
3127
641da50a
NS
31282017-05-09 Nathan Sidwell <nathan@acm.org>
3129
3130 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3131 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3132
631238ac
MS
31332017-05-08 Martin Sebor <msebor@redhat.com>
3134
3135 PR translation/80280
3136 * c-format.h (struct format_flag_spec): Add new member.
3137 (T89_T): New macro.
3138 * c-format.c (local_tree_type_node): New global.
3139 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3140 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3141 (strfmon_flag_specs): Likewise.
3142 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3143 with distinct quoting properties.
3144 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3145 (flag_chars_t::validate): Add argument and handle bad quoting.
3146 (check_format_info_main): Handle quoting problems.
3147 (init_dynamic_diag_info): Simplify.
3148
49f0c04c
JM
31492017-05-08 Jason Merrill <jason@redhat.com>
3150
3151 * c-opts.c (c_common_post_options): Update defaults for
3152 flag_abi_version and flag_abi_compat_version.
3153
56d35585
DM
31542017-05-05 David Malcolm <dmalcolm@redhat.com>
3155
3156 * c-common.c (c_cpp_error): Replace report_diagnostic
3157 with diagnostic_report_diagnostic.
3158
0f2c4a8f
MS
31592017-05-04 Martin Sebor <msebor@redhat.com>
3160
3161 PR translation/80280
3162 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3163 (handle_weakref_attribute): Same.
3164
6fe63fb4
NS
31652017-05-03 Nathan Sidwell <nathan@acm.org>
3166
3167 Canonicalize canonical type hashing
3168 * c-common.c (complete_array_type): Use type_hash_canon.
3169
815d9cc6
XR
31702017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3171
92a285c1 3172 PR c++/80038
815d9cc6
XR
3173 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3174 prototype.
3175 (cilk_install_body_pedigree_operations): Likewise.
3176 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3177 detatched.
3178 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3179 (cilk_install_body_pedigree_operations): Likewise.
3180 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3181 unwrapping.
3182
f8a36447
JJ
31832017-04-27 Jakub Jelinek <jakub@redhat.com>
3184
3185 PR c++/80534
3186 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3187 flag on non-aggregate element types.
3188
7c145456
BE
31892017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3190
3191 * c-common.c (c_type_hasher, type_hash_table): Remove.
3192 (c_common_get_alias_set): Remove unreachable code.
3193 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3194
c3cbcd45
VR
31952017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3196
3197 * c.opt (Wextra-semi): New C++ warning flag.
3198
8a59d466
JJ
31992017-04-20 Jakub Jelinek <jakub@redhat.com>
3200
3201 PR middle-end/80423
3202 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3203
8487c9a5
JJ
32042017-04-18 Jakub Jelinek <jakub@redhat.com>
3205
3206 PR middle-end/79788
3207 PR middle-end/80375
3208 * c-common.c (c_common_type_for_mode): Don't handle
3209 widest_*_literal_type_node here.
3210 c_common_signed_or_unsigned_type): Likewise.
3211 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3212 to *intTI_type_node or *intDI_type_node depending on whether
3213 TImode is supported by the target or not.
3214
3ee0fb02
ML
32152017-04-10 Martin Liska <mliska@suse.cz>
3216
3217 PR sanitizer/80350
3218 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3219 doing an UBSAN check.
3220
5764ee3c
JW
32212017-04-03 Jonathan Wakely <jwakely@redhat.com>
3222
3223 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3224
6f3af356
JJ
32252017-03-31 Jakub Jelinek <jakub@redhat.com>
3226
3227 PR c++/79572
3228 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3229 tree *.
3230 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3231 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3232 REFERENCE_TYPE.
3233
f6a7a9d5
DM
32342017-03-31 David Malcolm <dmalcolm@redhat.com>
3235
3236 PR documentation/78732
3237 * c.opt (Wendif-labels): Fix description to refer to
3238 #else rather than #elif.
3239
af88f557
JJ
32402017-03-31 Jakub Jelinek <jakub@redhat.com>
3241
3242 PR libstdc++/80251
3243 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3244 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3245
a9e4a1a5
JJ
32462017-03-27 Jakub Jelinek <jakub@redhat.com>
3247
3248 PR middle-end/80162
3249 * c-common.c (c_common_mark_addressable_vec): Don't set
3250 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3251
3f01b620
MS
32522017-03-21 Martin Sebor <msebor@redhat.com>
3253
3254 PR c++/79548
3255 * c-common.c (set_underlying_type): Mark type used only when
3256 original del is declared unused.
3257
2f6f187a
DM
32582017-03-10 David Malcolm <dmalcolm@redhat.com>
3259
3260 PR translation/79848
3261 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3262 "%qs".
3263
a02fa805
DM
32642017-03-10 David Malcolm <dmalcolm@redhat.com>
3265
3266 PR c/79921
3267 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3268 from inform's message, so that xgettext can locate it.
3269
822a132c
MP
32702017-03-09 Marek Polacek <polacek@redhat.com>
3271
3272 PR c++/79962
3273 PR c++/79984
3274 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3275 conversion to the attribute list.
3276
bba81f1c
ML
32772017-03-09 Martin Liska <mliska@suse.cz>
3278
3279 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3280
108154ff
JM
32812017-03-03 Jason Merrill <jason@redhat.com>
3282
3283 * c.opt (Wnoexcept-type): New.
3284
eb0e7c34
RB
32852017-03-02 Richard Biener <rguenther@suse.de>
3286
3287 PR c/79756
3288 * c-common.c (c_common_mark_addressable_vec): Look through
3289 C_MAYBE_CONST_EXPR.
3290
9453ba0a
ML
32912017-02-28 Martin Liska <mliska@suse.cz>
3292
3293 * c.opt: Replace space with tabular for options of <number>
3294 type.
3295
6a825afe
ML
32962017-02-28 Martin Liska <mliska@suse.cz>
3297
3298 * c.opt: Fix --help=option -Q for options which are of
3299 an enum type.
3300
4227c9ad
JJ
33012017-02-24 Jakub Jelinek <jakub@redhat.com>
3302
3303 PR c++/79588
3304 * c-common.c (check_function_restrict): New function.
3305 (check_function_arguments): Add FNDECL argument. Call
3306 check_function_restrict if -Wrestrict.
3307 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3308 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3309 * c-common.h (check_function_arguments): Add FNDECL argument.
3310 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3311
59909673
EB
33122017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3313
3314 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3315 treatment of parameters with pointer-to-tagged type and tidy up.
3316 (print_ada_methods): Remove the special treatment of C++ static member
3317 functions.
3318
54dcd526
ML
33192017-02-22 Martin Liska <mliska@suse.cz>
3320
3321 * c.opt: Replace inequality signs with square brackets
3322 for -Wnornalized.
3323
00bc9de3
JJ
33242017-02-21 Jakub Jelinek <jakub@redhat.com>
3325
3326 PR c++/79641
3327 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3328 preserve quals.
3329
97fcf744
JM
33302017-02-17 Joseph Myers <joseph@codesourcery.com>
3331
3332 * c-cppbuiltin.c (builtin_define_float_constants): Define
3333 __DECIMAL_DIG__ to the value for long double.
3334
c7545f1c
MP
33352017-02-15 Marek Polacek <polacek@redhat.com>
3336
3337 PR c/79515
3338 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3339 conversion has occured.
3340
c2e84327
DM
33412017-01-24 David Malcolm <dmalcolm@redhat.com>
3342
3343 * c-common.c (c_common_reswords): Add "__RTL".
3344 * c-common.h (enum rid): Add RID_RTL.
3345
2ebd93e1
MP
33462017-01-20 Marek Polacek <polacek@redhat.com>
3347
3348 PR c/64279
3349 * c-common.h (do_warn_duplicated_branches_r): Declare.
3350 * c-gimplify.c (c_genericize): Walk the function tree calling
3351 do_warn_duplicated_branches_r.
3352 * c-warn.c (expr_from_macro_expansion_r): New.
3353 (do_warn_duplicated_branches): New.
3354 (do_warn_duplicated_branches_r): New.
3355 * c.opt (Wduplicated-branches): New option.
3356
0d80ab91
DM
33572017-01-17 David Malcolm <dmalcolm@redhat.com>
3358
3359 PR c++/71497
3360 * c-indentation.c (warn_for_misleading_indentation): Use the past
3361 subjunctive in the note.
3362
7f991c36
AH
33632017-01-17 Aldy Hernandez <aldyh@redhat.com>
3364
3365 PR c/79116
3366 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3367 start type to integer_type.
3368
1c70261c
JJ
33692017-01-16 Jakub Jelinek <jakub@redhat.com>
3370
3371 PR driver/49726
3372 * c.opt (gen-decls): Add Driver flag.
3373
1ddca3f3
PC
33742017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3375
3376 Revert:
3377 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3378
3379 PR c++/71737
3380 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3381
7d2f3f1d
PC
33822017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3383
3384 PR c++/71737
3385 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3386
bce6f760
MS
33872017-01-12 Martin Sebor <msebor@redhat.com>
3388
3389 (-Wformat-overflow): ...to this.
3390
bf5fbf46
MS
33912017-01-11 Martin Sebor <msebor@redhat.com>
3392
3393 PR c/78768
3394 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3395 Also enable for LTO.
3396
e363df3f
JM
33972017-01-10 Jason Merrill <jason@redhat.com>
3398
3399 Implement P0195R2, C++17 variadic using.
3400 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3401
bd2c6270
JJ
34022017-01-09 Jakub Jelinek <jakub@redhat.com>
3403
3404 PR translation/79019
3405 PR translation/79020
3406 * c.opt (Wnormalized=): Fix typo in description.
3407
efcc8d38
MS
34082017-01-08 Martin Sebor <msebor@redhat.com>
3409
3410 PR middle-end/77708
3411 * c.opt (-Wformat-truncation): New option.
3412
ab20d992 34132017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
3414
3415 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3416 value to unsigned short to fit in 4 hex digits without
3417 warnings.
3418
4e89adf9
EB
34192017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3420
3421 * c.opt (fsso-struct): Add 'native' value.
3422
cd445b54
ML
34232017-01-05 Martin Liska <mliska@suse.cz>
3424
3425 PR pch/78970
3426 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3427 header.
3428
a9342885
MP
34292017-01-04 Marek Polacek <polacek@redhat.com>
3430
3431 PR c++/64767
3432 * c.opt (Wpointer-compare): New option.
3433
fc73e60c
JJ
34342017-01-04 Jakub Jelinek <jakub@redhat.com>
3435
3436 PR driver/78957
3437 * c.opt (fsso-struct=): Add RejectNegative.
3438
cbe34bb5
JJ
34392017-01-01 Jakub Jelinek <jakub@redhat.com>
3440
3441 Update copyright years.
3442
d4a6c0ea
ML
34432016-12-29 Martin Liska <mliska@suse.cz>
3444
3445 PR c/78933
3446 * c.opt (strong-eval-order): Add RejectNegative keyword.
3447
67a5ad7c
JM
34482016-12-22 Jason Merrill <jason@redhat.com>
3449
3450 Implement P0522R0, matching of template template arguments.
3451 * c-cppbuiltin.c (c_cpp_builtins): Define
3452 __cpp_template_template_args.
3453
0dba7960
JJ
34542016-12-21 Jakub Jelinek <jakub@redhat.com>
3455
3456 PR bootstrap/78817
3457 * c-common.c (struct nonnull_arg_ctx): New type.
3458 (check_function_nonnull): Return bool instead of void. Use
3459 nonnull_arg_ctx as context rather than just location_t.
3460 (check_nonnull_arg): Adjust for the new context type, set
3461 warned_p to true if a warning has been diagnosed.
3462 (check_function_arguments): Return bool instead of void.
3463 * c-common.h (check_function_arguments): Adjust prototype.
3464
31bfc9b9
JM
34652016-12-21 Jason Merrill <jason@redhat.com>
3466
3467 * c.opt (-fnew-ttp-matching): New flag.
3468 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3469
629b3d75
MJ
34702016-12-14 Martin Jambor <mjambor@suse.cz>
3471
3472 * c-omp.c: Include omp-general.h instead of omp-low.h.
3473 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3474 name.
3475
474da67e
MS
34762016-12-14 Martin Sebor <msebor@redhat.com>
3477
3478 PR c/17308
3479 * c-common.c (check_nonnull_arg): Disable when optimization
3480 is enabled.
3481
fe366b87
MP
34822016-12-12 Marek Polacek <polacek@redhat.com>
3483
3484 PR c++/78647
3485 * c-common.c (attribute_fallthrough_p): Return false for
3486 error_mark_node.
3487
8bd9f164
MS
34882016-12-08 Martin Sebor <msebor@redhat.com>
3489
3490 PR c/78284
3491 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3492
060162e0
MS
34932016-12-08 Martin Sebor <msebor@redhat.com>
3494
3495 PR c/78165
92a285c1
ML
3496 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3497 suffix.
060162e0 3498
ee92e7ba
MS
34992016-12-07 Martin Sebor <msebor@redhat.com>
3500
3501 PR c/53562
3502 PR middle-end/77784
3503 PR middle-end/78149
3504 PR middle-end/78138
3505 * c.opt (-Wstringop-overflow): New option.
3506
84b0769e
MO
35072016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3508
3509 * c-attribs.c (asan odr indicator): New attribute.
3510 (handle_asan_odr_indicator_attribute): New function.
3511
7fa6a965
PK
35122016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3513
3514 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3515 ptrdiff_type_node;
3516
56d8ffc1
JG
35172016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3518
3519 * c-common.c (excess_precision_mode_join): New.
3520 (c_ts18661_flt_eval_method): New.
3521 (c_c11_flt_eval_method): Likewise.
3522 (c_flt_eval_method): Likewise.
3523 * c-common.h (excess_precision_mode_join): New.
3524 (c_flt_eval_method): Likewise.
3525 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3526 (cpp_iec_559_value): Call it.
3527 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3528 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3529 __FLT_EVAL_METHOD_TS_18661_3__.
3530
04f0fcf7
JG
35312016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3532
3533 * c-opts.c (c_common_post_options): Add logic to handle the default
3534 case for -fpermitted-flt-eval-methods.
3535
fb2675cb
PB
35362016-11-23 Paolo Bonzini <bonzini@gnu.org>
3537
3538 * c.opt (Wexpansion-to-defined): New.
3539
ec1c5694
JJ
35402016-11-23 Jakub Jelinek <jakub@redhat.com>
3541
3542 PR target/78451
3543 * c-pragma.c (handle_pragma_target): Don't replace
3544 current_target_pragma, but chainon the new args to the current one.
3545
730c9e75
NS
35462016-11-22 Nathan Sidwell <nathan@acm.org>
3547
3548 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 3549 indentation and formatting.
730c9e75 3550
89990732
MS
35512016-11-21 Martin Sebor <msebor@redhat.com>
3552
3553 * c.opt (-fprintf-return-value): Enable by default.
3554
48330c93
BE
35552016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3556
3557 PR c++/71973
3558 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3559 * c-common.c (c_common_nodes_and_builtins): Initialize
3560 const_tm_ptr_type_node.
3561
0d939c95
MP
35622016-11-16 Marek Polacek <polacek@redhat.com>
3563
3564 PR c/78285
3565 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3566
8e745a17
JJ
35672016-11-14 Jakub Jelinek <jakub@redhat.com>
3568
3569 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3570
1ee62b92 35712016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
3572 Richard Biener <rguenther@suse.de>
3573
3574 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3575 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3576 * c.opt (fgimple): New option.
1ee62b92 3577
22b15758
UB
35782016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3579
3580 PR c/35503
3581 * c-common.h (warn_for_restrict): Declare.
3582 * c-warn.c: Include gcc-rich-location.h.
3583 (warn_for_restrict): New function.
3584 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3585 (gcc_cdiag_char_table): Likewise.
3586 (gcc_cxxdiag_char_table): Likewise.
3587 * c.opt (Wrestrict): New option.
3588
4be719cd
EB
35892016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3590
3591 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3592 for nested types only if the type is a record or union and dump SLOC.
3593
4a826ca6
JM
35942016-11-09 Jason Merrill <jason@redhat.com>
3595
3596 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3597
2e955d50
JJ
35982016-11-09 Jakub Jelinek <jakub@redhat.com>
3599
3600 * c-ubsan.c (ubsan_instrument_shift): Handle split
3601 -fsanitize=shift-base and -fsanitize=shift-exponent.
3602
51dc6603
JM
36032016-11-07 Jason Merrill <jason@redhat.com>
3604
3605 * c.opt (Wc++1z-compat): New.
3606 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3607
6dc4a604
ML
36082016-11-07 Martin Liska <mliska@suse.cz>
3609
3610 * c-warn.c (warn_for_unused_label): Save all labels used
3611 in goto or in &label.
3612
b302001e
JM
36132016-11-03 Jason Merrill <jason@redhat.com>
3614
3615 * c-cppbuiltin.c (c_cpp_builtins): Correct
3616 __cpp_inheriting_constructors.
3617
31f7f784
JM
36182016-11-01 Jason Merrill <jason@redhat.com>
3619
2bc78e3c
JM
3620 * c-cppbuiltin.c (c_cpp_builtins): Update
3621 __cpp_inheriting_constructors.
3622
31f7f784
JM
3623 * c.opt (-fnew-inheriting-ctors): New.
3624 * c-opts.c: Default to on for ABI 11+.
3625
dcb466ec
JJ
36262016-10-31 Jakub Jelinek <jakub@redhat.com>
3627
3628 PR c++/77948
3629 * c.opt (fext-numeric-literals): Add Var and Init.
3630 * c-opts.c (c_common_handle_option): Don't clear
3631 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3632 (c_common_post_options): Clear it here if not set
3633 explicitly.
3634
52e1b91e
AH
36352016-10-28 Aldy Hernandez <aldyh@redhat.com>
3636
3637 PR debug/77773
3638 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3639 if NULL.
3640
e16f1cc7
JJ
36412016-10-25 Jakub Jelinek <jakub@redhat.com>
3642
3643 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3644 * c-common.c (c_common_reswords): Add __builtin_launder.
3645
f8348061
BE
36462016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3647
3648 * c-common.c (c_common_truthvalue_conversion): Warn for
3649 multiplications in boolean context. Fix the quoting of '<<' and '<'
3650 in the shift warning.
3651
eff89e01
BE
36522016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3653
3654 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3655
24bc7bf4
JM
36562016-10-20 Jason Merrill <jason@redhat.com>
3657
3658 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3659
4c712374
BE
36602016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3661
3662 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3663 integer shift ops in boolean context.
3664
36652016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
3666
3667 * c.opt (Walloca): New.
3668 (Walloca-larger-than=): New.
3669 (Wvla-larger-than=): New.
3670
8fa18c06
MP
36712016-10-17 Marek Polacek <polacek@redhat.com>
3672
3673 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3674 Return immediately when finding a match.
3675 (warn_tautological_cmp): Remove a boolean variable that is no longer
3676 needed.
3677
b12b1915
MP
36782016-10-17 Marek Polacek <polacek@redhat.com>
3679
3680 * c-attribs.c: New file.
3681 * c-common.c: Move attributes handling to c-attribs.c.
3682 (get_nonnull_operand): No longer static.
3683 * c-common.h: Move the declarations from c-attribs.c to its own section.
3684
2045acd9
JM
36852016-10-14 Jason Merrill <jason@redhat.com>
3686
3687 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3688 and __cpp_deduction_guides.
3689
14a2c9aa
JM
36902016-10-13 Jason Merrill <jason@redhat.com>
3691
3692 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3693
4d0cdd0c
TP
36942016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3695
3696 * c-cppbuiltin.c: Include memmodel.h.
3697 * c-opts.c: Likewise.
3698 * c-pragma.c: Likewise.
3699 * c-warn.c: Likewise.
3700
70f6d5e1
JJ
37012016-10-12 Jakub Jelinek <jakub@redhat.com>
3702
3703 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3704 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3705 * c-opts.c (sanitize_cpp_opts): Initialize
3706 cpp_opts->cpp_warn_implicit_fallthrough.
3707
78f61294
MP
37082016-10-11 Marek Polacek <polacek@redhat.com>
3709
3710 * c-common.c (warning_candidate_p): Change the return type to bool
3711 and return true/false instead of 1/0.
3712 (vector_mode_valid_p): Likewise.
3713
038b5cc0
MP
37142016-10-11 Marek Polacek <polacek@redhat.com>
3715
3716 * c-common.c (fold_for_warn): No longer static.
3717 (bool_promoted_to_int_p): Likewise.
3718 (c_common_get_narrower): Likewise.
3719 (constant_expression_warning): Move to c-warn.c.
3720 (constant_expression_error): Likewise.
3721 (overflow_warning): Likewise.
3722 (warn_logical_operator): Likewise.
3723 (find_array_ref_with_const_idx_r): Likewise.
3724 (warn_tautological_cmp): Likewise.
3725 (expr_has_boolean_operands_p): Likewise.
3726 (warn_logical_not_parentheses): Likewise.
3727 (warn_if_unused_value): Likewise.
3728 (strict_aliasing_warning): Likewise.
3729 (sizeof_pointer_memaccess_warning): Likewise.
3730 (check_main_parameter_types): Likewise.
3731 (conversion_warning): Likewise.
3732 (warnings_for_convert_and_check): Likewise.
3733 (match_case_to_enum_1): Likewise.
3734 (match_case_to_enum): Likewise.
3735 (c_do_switch_warnings): Likewise.
3736 (warn_for_omitted_condop): Likewise.
3737 (readonly_error): Likewise.
3738 (lvalue_error): Likewise.
3739 (invalid_indirection_error): Likewise.
3740 (warn_array_subscript_with_type_char): Likewise.
3741 (warn_about_parentheses): Likewise.
3742 (warn_for_unused_label): Likewise.
3743 (warn_for_div_by_zero): Likewise.
3744 (warn_for_memset): Likewise.
3745 (warn_for_sign_compare): Likewise.
3746 (do_warn_double_promotion): Likewise.
3747 (do_warn_unused_parameter): Likewise.
3748 (record_locally_defined_typedef): Likewise.
3749 (maybe_record_typedef_use): Likewise.
3750 (maybe_warn_unused_local_typedefs): Likewise.
3751 (maybe_warn_bool_compare): Likewise.
3752 (maybe_warn_shift_overflow): Likewise.
3753 (warn_duplicated_cond_add_or_warn): Likewise.
3754 (diagnose_mismatched_attributes): Likewise.
3755 * c-common.h: Move the declarations from c-warn.c to its own section.
3756 * c-warn.c: New file.
3757
627be19f
JM
37582016-10-08 Jason Merrill <jason@redhat.com>
3759
3760 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3761 into COND_EXPR in C++.
3762
7bad794a
JJ
37632016-10-08 Jakub Jelinek <jakub@redhat.com>
3764
3765 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3766 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3767 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3768
be845b04
JJ
37692016-10-07 Jakub Jelinek <jakub@redhat.com>
3770
3771 Implement LWG2296 helper intrinsic
3772 * c-common.h (enum rid): Add RID_ADDRESSOF.
3773 * c-common.c (c_common_reswords): Add __builtin_addressof.
3774
c09c4992
BE
37752016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3776
3777 PR c++/77700
3778 * c-common.c (c_common_truthvalue_conversion): Warn also for
3779 suspicious enum values in boolean context.
3780
342cfb3e
JJ
37812016-10-06 Jakub Jelinek <jakub@redhat.com>
3782
3783 Implement P0258R2 - helper for C++17
3784 std::has_unique_object_representations trait
3785 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3786 * c-common.c (c_common_reswords): Add
3787 __has_unique_object_representations.
3788
2e69f143
JJ
37892016-10-05 Jakub Jelinek <jakub@redhat.com>
3790
3791 PR sanitizer/66343
3792 * c-ubsan.c (ubsan_instrument_return): Don't call
3793 initialize_sanitizer_builtins here.
3794
700fff34
BE
37952016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3796
3797 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3798 conditional expression in boolean context when only one arm is
3799 non-boolean.
3800
9563bfcd
JJ
38012016-10-05 Jakub Jelinek <jakub@redhat.com>
3802
04a32443
JJ
3803 PR sanitizer/77823
3804 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3805 is not integral.
3806
9563bfcd
JJ
3807 * c-common.c (c_common_reswords): Update comment for C++11.
3808
f1644724
JM
38092016-10-04 Jason Merrill <jason@redhat.com>
3810
3811 * c-common.c (make_tree_vector_from_ctor): New.
3812 * c-common.h: Declare it.
3813
5a79befb
JJ
38142016-10-04 Jakub Jelinek <jakub@redhat.com>
3815
3816 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3817 __LIBGCC_JCR_SECTION_NAME__.
3818
1633d3b9
BE
38192016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3820
3821 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3822 left shift in boolean context.
3823
a2c6e7f2
JJ
38242016-09-29 Jakub Jelinek <jakub@redhat.com>
3825
3826 Implement P0001R1 - C++17 removal of register storage class specifier
3827 * c.opt (Wregister): New warning.
3828 * c-opts.c (c_common_post_options): Enable -Wregister by
3829 default for C++17.
3830
75304c87
JG
38312016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3832
3833 * c-opts.c (c_common_post_options): Remove special case for
3834 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3835 in C++.
3836
bbfac6da
JJ
38372016-09-27 Jakub Jelinek <jakub@redhat.com>
3838
6e39060a
JJ
3839 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3840 -std=c++1z.
3841
bbfac6da
JJ
3842 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3843
e73cf9a2
TP
38442016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3845
3846 * c-common.c: Include memmodel.h.
3847
c6147dc4
MP
38482016-09-26 Marek Polacek <polacek@redhat.com>
3849
3850 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3851
81fea426
MP
38522016-09-26 Marek Polacek <polacek@redhat.com>
3853
3854 PR c/7652
3855 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3856 (handle_fallthrough_attribute): New function.
3857 (attribute_fallthrough_p): New function.
3858 * c-common.h (attribute_fallthrough_p): Declare.
3859
9a2300e9
MP
38602016-09-24 Marek Polacek <polacek@redhat.com>
3861
3862 PR c/77490
3863 * c.opt (Wbool-operation): New.
3864
a09e9e35
BE
38652016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3866
3867 * c-common.c (c_common_truthvalue_conversion): Inhibit
3868 Wint-in-bool-context warning with from_macro_definition_at.
3869 Mention the expression will always evaluate to true.
3870
d43b4ccc
MS
38712016-09-21 Martin Sebor <msebor@redhat.com>
3872
3873 PR bootstrap/77676
3874 * c.opt (fprintf-return-value): Temporarily initialize to zero
3875 to unblock bootstrap failures.
3876
2e1c20b1
JJ
38772016-09-21 Jakub Jelinek <jakub@redhat.com>
3878
3879 PR c++/77651
3880 * c.opt (Waligned-new=): Add RejectNegative.
3881 (faligned-new=): Likewise. Spelling fix - change
3882 aligned_new_threshhold to aligned_new_threshold.
3883 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3884 to aligned_new_threshold.
3885
88d0c3f0
MS
38862016-09-20 Martin Sebor <msebor@redhat.com>
3887
3888 PR middle-end/49905
3889 * c.opt: Add -Wformat-length and -fprintf-return-value.
3890
144a96e4
BE
38912016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3892
3893 PR c++/77434
3894 * c.opt (Wint-in-bool-context): New warning.
3895 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3896 constants in boolean context.
3897
63012d9a
JM
38982016-09-19 Joseph Myers <joseph@codesourcery.com>
3899
3900 * c-common.c (max_align_t_align): Also consider alignment of
3901 float128_type_node.
3902
931388ce
JM
39032016-09-15 Jason Merrill <jason@redhat.com>
3904
3905 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3906 DECL_EXTERNAL.
3907
38711381
JM
39082016-09-14 Jason Merrill <jason@redhat.com>
3909
3910 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3911 limit FIELD_DECL, either.
3912
e51fbec3
MP
39132016-09-14 Marek Polacek <polacek@redhat.com>
3914
3915 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3916 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3917 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3918
254830ba
DM
39192016-09-13 David Malcolm <dmalcolm@redhat.com>
3920
3921 * c-common.c (warn_logical_not_parentheses): Replace
3922 rich_location::add_fixit_insert calls with add_fixit_insert_before
3923 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3924
42763690
JM
39252016-09-13 Jason Merrill <jason@redhat.com>
3926 Tom de Vries <tom@codesourcery.com>
3927
3928 PR c++/77427
3929 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3930
9453eee9
JM
39312016-09-13 Jason Merrill <jason@redhat.com>
3932
3933 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3934 limit types at all.
3935
e96809e3
JM
39362016-09-12 Jason Merrill <jason@redhat.com>
3937
3938 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3939 bit/byte confusion, allow large alignment for types.
3940
54dcdb88
BE
39412016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3942
3943 PR c++/77496
3944 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3945
d1463eb9
DM
39462016-09-12 David Malcolm <dmalcolm@redhat.com>
3947
3948 PR c/72858
3949 * c-format.c (argument_parser::check_argument_type): Add params
3950 "type_start" and "conversion_char". Use the former to generate
3951 offset_to_type_start and pass it and conversion_char to
3952 check_format_types.
3953 (check_format_info_main): Capture the start of the type
3954 information as "type_start", and pass it an format_char
3955 to arg_parser.check_argument_type.
3956 (check_format_types): Provide an example in the leading comment.
3957 Add params "offset_to_type_start" and "conversion_char"; pass
3958 them to format_type_warning calls.
3959 (test_get_modifier_for_format_len): Likewise.
3960 (matching_type_p): New function.
3961 (get_format_for_type): Add param "conversion_char" and move
3962 implementation into...
3963 (get_format_for_type_1): ...new function, called twice.
3964 Use new function matching_type_p rather than checking for
3965 TYPE_CANONICAL equality.
3966 (get_corrected_substring): New function.
3967 (format_type_warning): Provide an example in the leading comment.
3968 Add params "offset_to_type_start" and "conversion_char". Replace
3969 call to get_format_for_type with call to get_corrected_substring
3970 and move rejection of hints for widths/precisions there.
3971 (assert_format_for_type_streq): Add param "conversion_char".
3972 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3973 (test_get_format_for_type_printf): Add conversion chars to the
3974 tests, adding coverage for various combinations of integer
3975 vs double conversions, and for preserving octal and hexadecimal
3976 conversions.
3977 (test_get_format_for_type_scanf): Add conversion chars to the
3978 tests.
3979
5b28efbb
TV
39802016-09-10 Tom de Vries <tom@codesourcery.com>
3981
3982 PR C/71602
3983 * c-common.c (build_va_arg): Handle more strict
3984 targetm.canonical_va_list_type. Replace first argument type error with
3985 assert.
3986
3f0177e7
MS
39872016-09-09 Martin Sebor <msebor@redhat.com>
3988
3989 PR c/77520
3990 PR c/77521
3991 * c-format.c (argument_parser::find_format_char_info): Use %qc
3992 format directive unconditionally.
3993
af63ba4b
JM
39942016-09-09 Jason Merrill <jason@redhat.com>
3995
3996 Implement C++17 new of over-aligned types.
3997 * c.opt: Add -faligned-new and -Waligned-new.
3998 * c-common.c (max_align_t_align): Split out from...
3999 (cxx_fundamental_alignment_p): ...here.
4000 * c-common.h: Declare it.
4001 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4002
c65248cb
JM
40032016-09-09 Joseph Myers <joseph@codesourcery.com>
4004
4005 * c-cppbuiltin.c (builtin_define_type_width): New function.
4006 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4007 macros.
4008
e5106e27
DM
40092016-09-07 David Malcolm <dmalcolm@redhat.com>
4010
4011 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4012 a POINTER_TYPE.
4013 (substring_loc::get_location): Move to substring-locations.c,
4014 keeping implementation as...
4015 (c_get_substring_location): New function, from the above, reworked
4016 to use accessors rather than member lookup.
4017 * c-common.h (class substring_loc): Move to substring-locations.h,
4018 replacing with a forward decl.
4019 (c_get_substring_location): New decl.
4020 * c-format.c: Include "substring-locations.h".
4021 (format_warning_va): Move to substring-locations.c.
4022 (format_warning_at_substring): Likewise.
4023
ab20d992 40242016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
4025
4026 PR c/77336
4027 * c-format.c (check_function_format): Avoid issuing warnings for
4028 functions unless they call format functions with non-constant
4029 format strings.
4030
b772a565
RB
40312016-09-06 Richard Biener <rguenther@suse.de>
4032
4033 PR c/77450
4034 * c-common.c (c_common_mark_addressable_vec): Handle
4035 COMPOUND_LITERAL_EXPR.
4036
25ff5dd3
MP
40372016-09-05 Marek Polacek <polacek@redhat.com>
4038
4039 PR c/77423
4040 * c-common.c (bool_promoted_to_int_p): New function.
4041 (expr_has_boolean_operands_p): New function.
4042 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4043 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4044
21234eb5
TV
40452016-09-04 Tom de Vries <tom@codesourcery.com>
4046
4047 revert:
4048 2016-08-29 Tom de Vries <tom@codesourcery.com>
4049
4050 * c-common.c (build_va_arg): Replace first argument type error
4051 with assert.
4052
9dc5773f
JJ
40532016-09-02 Jakub Jelinek <jakub@redhat.com>
4054
4055 PR c/65467
4056 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4057 (c_finish_omp_for): Reject _Atomic qualified iterators.
4058
40592016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
4060
4061 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4062 size to guarantee it fits the output of the formatted function
4063 regardless of its arguments.
4064
295844f6
MP
40652016-09-01 Marek Polacek <polacek@redhat.com>
4066
4067 PR c/7652
4068 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4069 FALLTHRU comments.
4070
3d06b6f2
MP
40712016-08-29 Marek Polacek <polacek@redhat.com>
4072
4073 PR c/77292
4074 * c-common.c (warn_logical_not_parentheses): Don't warn for
4075 a comparison or a logical operator.
4076
34cedad5
TV
40772016-08-29 Tom de Vries <tom@codesourcery.com>
4078
4079 * c-common.c (build_va_arg): Fix type comparison assert.
4080
f162d717
TV
40812016-08-29 Tom de Vries <tom@codesourcery.com>
4082
4083 * c-common.c (build_va_arg): Replace first argument type error
4084 with assert.
4085
ba9bbd6f
TV
40862016-08-29 Tom de Vries <tom@codesourcery.com>
4087
4088 PR c/77398
4089 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4090 with error_mark_node as va_list instead of with illegal va_list.
4091
ebef225f
MP
40922016-08-25 Marek Polacek <polacek@redhat.com>
4093 David Malcolm <dmalcolm@redhat.com>
4094
4095 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4096 * c-common.h (warn_logical_not_parentheses): Update declaration.
4097
b00e6e75
MP
40982016-08-22 Marek Polacek <polacek@redhat.com>
4099
4100 PR c++/77321
4101 * c-common.c (warn_for_memset): Check type for null.
4102
6dc198e3
JM
41032016-08-22 Joseph Myers <joseph@codesourcery.com>
4104
14ec014e 4105 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
4106 _FloatNx types for suffixes for built-in functions.
4107
c65699ef
JM
41082016-08-19 Joseph Myers <joseph@codesourcery.com>
4109
4110 PR c/32187
4111 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4112 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4113 (RID_FLOAT128X): New enum rid values.
4114 (CASE_RID_FLOATN_NX): New macro.
4115 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4116 keywords.
4117 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4118 corresponding complex types.
4119 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4120 _FloatNx and corresponding complex types.
4121 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4122 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4123 and _FloatNx types for the widest type for determining
4124 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4125 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4126 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4127 and _FloatNx types.
4128 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4129 constants.
4130 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4131 _FloatNx types.
4132
cc015f3a
DM
41332016-08-18 David Malcolm <dmalcolm@redhat.com>
4134
4135 * c-opts.c (c_diagnostic_finalizer): Update for change to
4136 diagnostic_show_locus.
4137
cb18fd07
DM
41382016-08-18 David Malcolm <dmalcolm@redhat.com>
4139
4140 * c-common.c: Include "spellcheck.h".
4141 (cb_get_suggestion): New function.
4142 * c-common.h (cb_get_suggestion): New decl.
4143 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4144 cb_get_suggestion.
4145
a76989dc
MP
41462016-08-18 Marek Polacek <polacek@redhat.com>
4147
4148 PR c/71514
4149 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4150 and pointer-to-VLA.
4151
65e736c0
DM
41522016-08-16 David Malcolm <dmalcolm@redhat.com>
4153
4154 PR c/72857
4155 * c-common.c (substring_loc::get_range): Rename to...
4156 (substring_loc::get_location): ...this, converting param from a
4157 source_range * to a location_t *. Call
4158 get_source_location_for_substring rather than
4159 get_source_range_for_substring, and pass in m_caret_idx.
4160 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4161 (substring_loc::get_range): Replace with...
4162 (substring_loc::get_location): ...this.
4163 (substring_loc::set_caret_index): New method.
4164 (substring_loc): Add field m_caret_idx.
4165 * c-format.c (format_warning_va): Update for above changes.
4166 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4167 clashing with type name.
4168 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4169 (check_argument_type): Likewise.
4170 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4171 Use a copy when emitting warnings, setting the caret index from TYPE.
4172
7e1dde14 41732016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4174 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
4175
4176 * c-ada-spec.c (dump_number): New function.
4177 (handle_escape_character): Likewise.
4178 (print_ada_macros): Add handling of constant integers and strings.
4179
191816a3
MP
41802016-08-12 Marek Polacek <polacek@redhat.com>
4181
4182 PR c/7652
4183 * c-common.c (scalar_to_vector): Adjust fall through comment.
4184 * c-opts.c (c_common_handle_option): Likewise.
4185 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4186 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4187 fall through comment.
4188 * cilk.c (extract_free_variables): Add FALLTHRU.
4189
452df4a4
JM
41902016-08-10 Jason Merrill <jason@redhat.com>
4191
4192 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4193
f3365c12
JM
41942016-08-09 Jason Merrill <jason@redhat.com>
4195
4196 * c-common.c (c_common_attribute_table): vector_size affects type
4197 identity.
4198
f0bc3323
MP
41992016-08-09 Marek Polacek <polacek@redhat.com>
4200
4201 PR c/7652
4202 * c-ada-spec.c (dump_generic_ada_node): Add return.
4203
98e5a19a
JM
42042016-08-09 Jason Merrill <jason@redhat.com>
4205
4206 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4207 C++17 constexpr lambdas.
4208
895aa8e1
DM
42092016-08-08 David Malcolm <dmalcolm@redhat.com>
4210
4211 PR c/64955
4212 * c-common.h (selftest::c_format_c_tests): New declaration.
4213 (selftest::run_c_tests): New declaration.
4214 * c-format.c: Include "selftest.h.
4215 (format_warning_va): Add param "corrected_substring" and use
4216 it to add a replacement fix-it hint.
4217 (format_warning_at_substring): Likewise.
4218 (format_warning_at_char): Update for new param of
4219 format_warning_va.
4220 (argument_parser::check_argument_type): Pass "fki" to
4221 check_format_types.
4222 (check_format_types): Add param "fki" and pass it to
4223 format_type_warning.
4224 (deref_n_times): New function.
4225 (get_modifier_for_format_len): New function.
4226 (selftest::test_get_modifier_for_format_len): New function.
4227 (get_format_for_type): New function.
4228 (format_type_warning): Add param "fki" and use it to attempt
4229 to provide hints for argument types when calling
4230 format_warning_at_substring.
4231 (selftest::get_info): New function.
4232 (selftest::assert_format_for_type_streq): New function.
4233 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4234 (selftest::test_get_format_for_type_printf): New function.
4235 (selftest::test_get_format_for_type_scanf): New function.
4236 (selftest::c_format_c_tests): New function.
4237
e52ed3fe
DM
42382016-08-08 David Malcolm <dmalcolm@redhat.com>
4239
4240 PR c/52952
4241 * c-format.c: Include "diagnostic.h".
4242 (location_column_from_byte_offset): Delete.
4243 (location_from_offset): Delete.
4244 (format_warning_va): New function.
4245 (format_warning_at_substring): New function.
4246 (format_warning_at_char): New function.
4247 (check_format_arg): Capture location of format_tree and pass to
4248 check_format_info_main.
4249 (argument_parser): Add fields "start_of_this_format" and
4250 "format_string_cst".
4251 (flag_chars_t::validate): Add param "format_string_cst". Convert
4252 warning_at call using location_from_offset to call to
4253 format_warning_at_char.
4254 (argument_parser::argument_parser): Add param "format_string_cst_"
4255 and use use it to initialize field "format_string_cst".
4256 Initialize new field "start_of_this_format".
4257 (argument_parser::read_format_flags): Convert warning_at call
4258 using location_from_offset to a call to format_warning_at_char.
4259 (argument_parser::read_any_format_left_precision): Likewise.
4260 (argument_parser::read_any_format_precision): Likewise.
4261 (argument_parser::read_any_other_modifier): Likewise.
4262 (argument_parser::find_format_char_info): Likewise, in three places.
4263 (argument_parser::parse_any_scan_set): Likewise, in one place.
4264 (argument_parser::handle_conversions): Likewise, in two places.
4265 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4266 and use it to make a substring_loc. Pass the latter to
4267 check_format_types.
4268 (check_format_info_main): Add params "fmt_param_loc" and
4269 "format_string_cst". Convert warning_at calls using
4270 location_from_offset to calls to format_warning_at_char. Pass the
4271 new params to the arg_parser ctor. Pass "format_string_cst" to
4272 flag_chars.validate. Pass "fmt_param_loc" to
4273 arg_parser.check_argument_type.
4274 (check_format_types): Convert first param from a location_t
4275 to a const substring_loc & and rename to "fmt_loc". Attempt
4276 to extract the range of the relevant parameter and pass it
4277 to format_type_warning.
4278 (format_type_warning): Convert first param from a location_t
4279 to a const substring_loc & and rename to "fmt_loc". Add
4280 params "param_range" and "type". Replace calls to warning_at
4281 with calls to format_warning_at_substring.
4282
1c4d457e
DM
42832016-08-08 David Malcolm <dmalcolm@redhat.com>
4284
4285 * c-format.c (class flag_chars_t): New class.
4286 (struct length_modifier): New struct.
4287 (class argument_parser): New class.
4288 (flag_chars_t::flag_chars_t): New ctor.
4289 (flag_chars_t::has_char_p): New method.
4290 (flag_chars_t::add_char): New method.
4291 (flag_chars_t::validate): New method.
4292 (flag_chars_t::get_alloc_flag): New method.
4293 (flag_chars_t::assignment_suppression_p): New method.
4294 (argument_parser::argument_parser): New ctor.
4295 (argument_parser::read_any_dollar): New method.
4296 (argument_parser::read_format_flags): New method.
4297 (argument_parser::read_any_format_width): New method.
4298 (argument_parser::read_any_format_left_precision): New method.
4299 (argument_parser::read_any_format_precision): New method.
4300 (argument_parser::handle_alloc_chars): New method.
4301 (argument_parser::read_any_length_modifier): New method.
4302 (argument_parser::read_any_other_modifier): New method.
4303 (argument_parser::find_format_char_info): New method.
4304 (argument_parser::validate_flag_pairs): New method.
4305 (argument_parser::give_y2k_warnings): New method.
4306 (argument_parser::parse_any_scan_set): New method.
4307 (argument_parser::handle_conversions): New method.
4308 (argument_parser::check_argument_type): New method.
4309 (check_format_info_main): Introduce classes argument_parser
4310 and flag_chars_t, moving the code within the loop into methods
4311 of these classes. Make various locals "const".
4312
88fa5555
DM
43132016-08-05 David Malcolm <dmalcolm@redhat.com>
4314
4315 * c-common.c: Include "substring-locations.h".
4316 (get_cpp_ttype_from_string_type): New function.
4317 (g_string_concat_db): New global.
4318 (substring_loc::get_range): New method.
4319 * c-common.h (g_string_concat_db): New declaration.
4320 (class substring_loc): New class.
4321 * c-lex.c (lex_string): When concatenating strings, capture the
4322 locations of all tokens using a new obstack, and record the
4323 concatenation locations within g_string_concat_db.
4324 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4325 on the ggc-heap.
4326
78169471
MP
43272016-07-29 Marek Polacek <polacek@redhat.com>
4328
638fc14f
MP
4329 PR c/71926
4330 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4331 parentheses warning.
4332
78169471
MP
4333 PR c/71574
4334 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4335
1225d6b1
ML
43362016-07-28 Martin Liska <mliska@suse.cz>
4337
4338 PR gcov-profile/68025
4339 * c-common.c (handle_no_profile_instrument_function_attribute):
4340
ec1e2a40
BE
43412016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4342
4343 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4344 BITS_PER_UNIT_LOG.
4345
5ec2cd9f
JM
43462016-07-25 Jason Merrill <jason@redhat.com>
4347
4348 PR c++/65970
4349 * c.opt (fconstexpr-loop-limit): New.
4350
9dc5773f 43512016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
4352
4353 PR c++/71675
4354 * c-common.c (resolve_overloaded_builtin): Avoid converting
4355 __atomic_compare_exchange_n return type to that of what its
4356 first argument points to.
4357
e3fe09c1
UB
43582016-07-22 Uros Bizjak <ubizjak@gmail.com>
4359
4360 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4361 ~(unsigned HOST_WIDE_INT) 0.
4362
bc91c436
ML
43632016-07-22 Martin Liska <mliska@suse.cz>
4364
4365 PR gcov-profile/69028
4366 PR gcov-profile/62047
4367 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4368 to the current_function_decl.
4369
451dcc66
JM
43702016-07-21 Jason Merrill <jason@redhat.com>
4371
4372 PR c++/65168
4373 * c-common.c (c_common_truthvalue_conversion): Check
4374 c_inhibit_evaluation_warnings for warning about address of
4375 reference.
4376
de6a69ee
DM
43772016-07-20 David Malcolm <dmalcolm@redhat.com>
4378
4379 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4380 const char *.
4381
d022c55a
JM
43822016-07-15 Jason Merrill <jason@redhat.com>
4383
4384 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4385
ddbbcb19
JJ
43862016-07-15 Jakub Jelinek <jakub@redhat.com>
4387
4388 PR c/71858
4389 * c-common.h (enum lookup_name_fuzzy_kind): Add
4390 FUZZY_LOOKUP_FUNCTION_NAME.
4391
d0cf395a
JM
43922016-07-08 Jason Merrill <jason@redhat.com>
4393
4394 P0145: Refining Expression Order for C++.
4395 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4396 * c-opts.c: Adjust.
4397
98d44e93
MT
43982016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4399
4400 PR c++/71214
4401 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4402
f9d8d994
TS
44032016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4404
4405 * c-pragma.h (enum pragma_kind): Rename
4406 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4407 users.
4408
4aa83879
RB
44092016-06-29 Richard Biener <rguenther@suse.de>
4410
4411 PR middle-end/71002
4412 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4413
a25bd9e6
JM
44142016-06-24 Jason Merrill <jason@redhat.com>
4415
4416 P0145R2: Refining Expression Order for C++.
4417 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4418 MODIFY_EXPR.
4419
a86451b9
JJ
44202016-06-24 Jakub Jelinek <jakub@redhat.com>
4421
4422 * c-common.c (check_builtin_function_arguments): Require last
4423 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4424 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4425 if the last argument is pointer to enumerated or boolean type.
4426
1a4f11c8
DM
44272016-06-22 David Malcolm <dmalcolm@redhat.com>
4428
4429 PR c/70339
4430 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4431 (lookup_name_fuzzy): New prototype.
4432
fe55692c
JDA
44332016-06-21 John David Anglin <danglin@gcc.gnu.org>
4434
4435 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4436
4eb24e01
JM
44372016-06-14 Jason Merrill <jason@redhat.com>
4438
4439 P0145R2: Refining Expression Order for C++.
4440 * c.opt (fargs-in-order): New.
4441 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4442
ef7cf206
JJ
44432016-06-13 Jakub Jelinek <jakub@redhat.com>
4444
0dda258b
JJ
4445 PR sanitizer/71498
4446 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4447 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4448
ef7cf206
JJ
4449 PR preprocessor/71183
4450 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4451 to cb_get_source_date_epoch.
4452
50b15873
JJ
44532016-06-10 Jakub Jelinek <jakub@redhat.com>
4454
4455 PR c/68657
4456 * c.opt (Wpsabi): Add Warning flag.
4457
4d926e34
MS
44582016-06-10 Martin Sebor <msebor@redhat.com>
4459
4460 PR c/71392
14ec014e 4461 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
4462 the nonnull attribute in type-generic builtins.
4463
e01b4e16
MS
44642016-06-09 Martin Sebor <msebor@redhat.com>
4465
4466 PR c/70883
4467 * c-common.c (builtin_function_validate_nargs): Make text of error
4468 message consistent with others like it.
4469
44a845ca
MS
44702016-06-08 Martin Sebor <msebor@redhat.com>
4471 Jakub Jelinek <jakub@redhat.com>
4472
4473 PR c++/70507
4474 PR c/68120
4475 * c-common.c (check_builtin_function_arguments): Handle
4476 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4477
a80a7051
RB
44782016-06-08 Richard Biener <rguenther@suse.de>
4479
4480 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4481
bfd67b47
RB
44822016-06-07 Richard Biener <rguenther@suse.de>
4483
4484 PR c/61564
4485 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4486 options and warn about others.
4487
15c98b2e
ES
44882016-06-01 Eduard Sanou <dhole@openmailbox.org>
4489
4490 * c-common.c (get_source_date_epoch): Rename to
4491 cb_get_source_date_epoch.
4492 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4493 message when the parsing fails. Use error_at instead of fatal_error.
4494 * c-common.h (get_source_date_epoch): Rename to
4495 cb_get_source_date_epoch.
4496 * c-common.h (cb_get_source_date_epoch): Prototype.
4497 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4498 * c-common.h (c_omp_region_type): Remove trailing comma.
4499 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4500 * c-lex.c (c_lex_with_flags): Remove initialization of
4501 pfile->source_date_epoch.
4502
00631022
JJ
45032016-05-30 Jakub Jelinek <jakub@redhat.com>
4504
4505 PR c++/71349
4506 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4507 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4508 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4509 instead of C_OMP_CLAUSE_SPLIT_FOR.
4510
f17a223d
RB
45112016-05-24 Richard Biener <rguenther@suse.de>
4512
4513 PR middle-end/70434
4514 PR c/69504
4515 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4516 (convert_vector_to_array_for_subscript): ... this.
4517 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4518 VIEW_CONVERT_EXPR to an array type. Rename to ...
4519 (convert_vector_to_array_for_subscript): ... this.
4520
4f2e1536
MP
45212016-05-12 Marek Polacek <polacek@redhat.com>
4522
4523 PR c/70756
4524 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4525 size_in_bytes and pass LOC to it.
4526
d6e83a8d
MM
45272016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4528
4529 PR c/43651
4530 * c.opt (Wduplicate-decl-specifier): New option.
4531
5c3a10fb
MP
45322016-05-11 Marek Polacek <polacek@redhat.com>
4533
4534 PR c++/71024
4535 * c-common.c (diagnose_mismatched_attributes): New function.
4536 * c-common.h (diagnose_mismatched_attributes): Declare.
4537
deef7113
MP
45382016-05-04 Marek Polacek <polacek@redhat.com>
4539
4540 * c.opt (Wdangling-else): New option.
4541
79ce98bc
MP
45422016-05-03 Marek Polacek <polacek@redhat.com>
4543
4544 PR c/70859
4545 * c-common.c (builtin_function_validate_nargs): Add location
4546 parameter. Use it.
4547 (check_builtin_function_arguments): Add location and arguments
4548 parameters. Use them.
4549 * c-common.h (check_builtin_function_arguments): Update declaration.
4550
381cdae4
RB
45512016-05-03 Richard Biener <rguenther@suse.de>
4552
4553 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4554 allow call args to gimplify to SSA names.
4555
1d793c34
MP
45562016-05-03 Marek Polacek <polacek@redhat.com>
4557
4558 * c-common.h (enum c_omp_region_type): Remove stray comma.
4559
77886428
CP
45602016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4561
4562 * c-common.h (enum c_omp_region_type): Define.
4563
697e0b28
RS
45642016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4565
4566 * c-common.c (shorten_compare): Use wi::to_wide.
4567
e7ff0319
CP
45682016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4569
4570 PR middle-end/70626
4571 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4572 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4573 reduction clauses in acc parallel loops.
4574
2fff3db8
MP
45752016-04-29 Marek Polacek <polacek@redhat.com>
4576
4577 PR c/70852
4578 * c-common.c (warn_for_memset): Check domain before accessing it.
4579
509063eb
DV
45802016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4581
4582 PR/69089
4583 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4584 "aligned" attribute.
4585
b632761d
JM
45862016-04-28 Jason Merrill <jason@redhat.com>
4587
4588 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4589
174f6622
ES
45902016-04-28 Eduard Sanou <dhole@openmailbox.org>
4591 Matthias Klose <doko@debian.org>
4592
4593 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 4594 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
4595 handling.
4596 * c-common.h (get_source_date_epoch): Prototype.
4597 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4598
6bc2bb18
RB
45992015-04-27 Ryan Burn <contact@rnburn.com>
4600
4601 PR c++/69024
4602 PR c++/68997
4603 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4604 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4605 external linkage.
4606 (cilk_detect_and_unwrap): Corresponding changes.
4607 (extract_free_variables): Don't extract free variables from
4608 AGGR_INIT_EXPR slot.
4609 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4610 (cilk_recognize_spawn): Likewise.
4611
c1e1f433
BS
46122016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4613
4614 * c.opt (Wmemset-elt-size): New option.
4615 * c-common.c (warn_for_memset): New function.
4616 * c-common.h (warn_for_memset): Declare.
4617
d067e05f
JM
46182016-04-25 Jason Merrill <jason@redhat.com>
4619
4620 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4621 No longer static.
4622 * c-common.h: Declare it.
4623 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4624
9aa36ae5
JM
46252016-04-22 Jason Merrill <jason@redhat.com>
4626
4627 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4628
477d4906
IV
46292016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4630
4631 PR c++/69363
4632 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4633 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4634
fe37c7af
MM
46352016-04-18 Michael Matz <matz@suse.de>
4636
4637 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4638 and SET_DECL_ALIGN.
4639
23f2660f
EB
46402016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4641
4642 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4643 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4644 to incomplete types.
4645 (dump_nested_type): Remove redundant tests and tidy up.
4646 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4647 a type which is the typedef of an original type.
4648
1e77281b
MP
46492016-04-15 Marek Polacek <polacek@redhat.com>
4650
4651 PR c/70651
4652 * c-common.c (build_va_arg): Change two asserts into errors and return
4653 error_mark_node.
4654
b3a77f21
MP
46552016-04-13 Marek Polacek <polacek@redhat.com>
4656
4657 PR c++/70639
4658 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4659 for switch statements, too.
4660
322b8466
JM
46612016-03-28 Jason Merrill <jason@redhat.com>
4662
4663 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4664
fbdb6baf
MP
46652016-03-23 Marek Polacek <polacek@redhat.com>
4666
4667 PR c++/69884
4668 * c.opt (Wignored-attributes): New option.
4669
5c240f4d
DM
46702016-03-22 David Malcolm <dmalcolm@redhat.com>
4671
4672 PR c/69993
4673 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4674 diagnostic text, reversing the order of the warning and note so
4675 that they appear in source order.
4676
14ba7b28
MP
46772016-03-17 Marek Polacek <polacek@redhat.com>
4678
4679 PR c/69407
4680 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4681 operations.
4682
08a1cadc
JM
46832016-03-14 Jason Merrill <jason@redhat.com>
4684
2aaeea19
JM
4685 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4686
08a1cadc
JM
4687 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4688
c06d25bb
RB
46892016-03-09 Richard Biener <rguenther@suse.de>
4690
4691 PR c/70143
4692 * c-common.c (strict_aliasing_warning): Add back
4693 alias_sets_conflict_p check.
4694
80aac5c8
JM
46952016-03-08 Jason Merrill <jason@redhat.com>
4696
4697 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4698
64b23c13
DM
46992016-03-04 David Malcolm <dmalcolm@redhat.com>
4700
4701 PR c/68187
4702 * c-indentation.c (get_visual_column): Move code to determine next
4703 tab stop to...
4704 (next_tab_stop): ...this new function.
4705 (line_contains_hash_if): Delete function.
4706 (detect_preprocessor_logic): Delete function.
4707 (get_first_nws_vis_column): New function.
4708 (detect_intervening_unindent): New function.
4709 (should_warn_for_misleading_indentation): Replace call to
4710 detect_preprocessor_logic with a call to
4711 detect_intervening_unindent.
4712
729526f5
DM
47132016-03-04 David Malcolm <dmalcolm@redhat.com>
4714
4715 PR c/68187
4716 * c-indentation.c (should_warn_for_misleading_indentation): When
4717 suppressing warnings about cases where the guard and body are on
4718 the same column, only use the first non-whitespace column in place
4719 of the guard token column when dealing with "else" clauses.
4720 When rejecting aligned BODY and NEXT, loosen the requirement
4721 from equality with the first non-whitespace of guard to simply
4722 that they not be indented relative to it.
4723
e9a35493
RB
47242016-03-04 Richard Biener <rguenther@suse.de>
4725
4726 PR c++/70054
4727 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4728 instead of alias_sets_conflict_p.
4729
1be56bc5
MP
47302016-03-01 Marek Polacek <polacek@redhat.com>
4731
4732 PR c++/69795
4733 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4734 any DECL.
4735
35886f0b
MS
47362016-02-22 Martin Sebor <msebor@redhat.com>
4737
4738 PR middle-end/69780
4739 * c-common.c (check_builtin_function_arguments): Validate and
4740 reject invalid arguments to __builtin_alloca_with_align.
4741
4246c8da
MW
47422016-02-20 Mark Wielaard <mjw@redhat.com>
4743
4744 PR c/28901
4745 * c.opt (Wunused-const-variable): Turn into Alias for...
4746 (Wunused-const-variable=): New option.
4747
268be88c
BE
47482016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4749
4750 PR c++/69865
4751 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4752 here...
4753 (c_common_init_options): ...to here.
4754 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4755
871b3f47
JJ
47562016-02-19 Jakub Jelinek <jakub@redhat.com>
4757
4758 PR c++/69826
4759 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4760 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4761 flag_preprocess_only.
4762
bf14eba2
JJ
47632016-02-16 Jakub Jelinek <jakub@redhat.com>
4764
4765 PR c/69835
4766 * c.opt (Wnonnull-compare): Enable for -Wall.
4767
ba6b3795
JJ
47682016-02-15 Jakub Jelinek <jakub@redhat.com>
4769
4770 PR c++/69797
4771 * c-common.c (sync_resolve_size): Diagnose too few arguments
4772 even when params is non-NULL empty vector.
4773
a011cd92
BS
47742016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4775
4776 PR target/60410
4777 * c.opt (fshort-double): Remove.
4778
46cb9332
MS
47792016-02-05 Martin Sebor <msebor@redhat.com>
4780
4781 PR c++/69662
4782 * c.opt (Warning options): Update -Wplacement-new to take
4783 an optional argument.
4784
e1b81f2b
JJ
47852016-02-01 Jakub Jelinek <jakub@redhat.com>
4786
4787 PR preprocessor/69543
4788 PR c/69558
4789 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4790 instead of loc to control_warning_option.
4791
b6adbb9f
NS
47922016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4793
4794 * c.opt (fopenacc-dim=): New option.
4795
5d70666e
RB
47962016-01-27 Ryan Burn <contact@rnburn.com>
4797
4798 PR cilkplus/69267
4799 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4800 gimplify_arg. Removed superfluous post_p argument.
4801 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4802 superfluous post_p argument.
4803 * c-gimplify.c (c_gimplify_expr): Likewise.
4804
01e1dea3
DM
48052016-01-26 David Malcolm <dmalcolm@redhat.com>
4806
4807 PR other/69006
4808 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4809 pp_newline_and_flush with pp_flush.
4810
9f04a53e
MS
48112016-01-20 Martin Sebor <msebor@redhat.com>
4812
4813 PR c/69405
4814 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4815 an incompatible argument when the argument isn't a valid tree node.
4816
7f26f7df
JM
48172016-01-18 Jason Merrill <jason@redhat.com>
4818
4819 PR c++/68767
4820 * c-common.c (check_function_arguments_recurse): Fold the whole
4821 COND_EXPR, not just the condition.
4822
f62bf092
TV
48232016-01-18 Tom de Vries <tom@codesourcery.com>
4824
4825 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4826 classify as loop clause.
4827
e0a575ff
JJ
48282016-01-15 Jakub Jelinek <jakub@redhat.com>
4829
4830 PR bootstrap/68271
4831 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4832 C++ FE no longer has limit on number of pragmas.
4833
48342015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4835
4836 PR c++/69048
4837 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4838 to add missing cleanup point.
b6e3db06 4839
c7df95d8
DM
48402016-01-14 David Malcolm <dmalcolm@redhat.com>
4841
4842 PR c++/68819
4843 * c-indentation.c (get_visual_column): Add location_t param.
4844 Handle the column number being zero by effectively disabling the
4845 warning, with an "inform".
4846 (should_warn_for_misleading_indentation): Add location_t argument
4847 for all uses of get_visual_column.
4848
21efdd80
PP
48492016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4850
4851 PR c++/69029
4852 * c-indentation.c (should_warn_for_misleading_indentation):
4853 Don't warn about do-while statements.
4854
7a127fa7
MS
48552016-01-07 Martin Sebor <msebor@redhat.com>
4856
4857 PR c/68966
4858 * c-common.c (sync_resolve_size): Reject first argument when it's
4859 a pointer to _Bool.
4860
c589e975
DM
48612016-01-05 David Malcolm <dmalcolm@redhat.com>
4862
4863 PR c/69122
4864 * c-indentation.c (get_visual_column): Remove default argument.
4865 (should_warn_for_misleading_indentation): For the multiline case,
4866 update call to get_visual_column for next_stmt_exploc so that it
4867 captures the location of the first non-whitespace character in the
4868 relevant line. Don't issue warnings if there is non-whitespace
4869 before the next statement.
4870
818ab71a
JJ
48712016-01-04 Jakub Jelinek <jakub@redhat.com>
4872
4873 Update copyright years.
4874
745e411d
DM
48752015-12-21 David Malcolm <dmalcolm@redhat.com>
4876
4877 * c-common.c (binary_op_error): Convert first param from
4878 location_t to rich_location * and use it when emitting an error.
4879 * c-common.h (binary_op_error): Convert first param from
4880 location_t to rich_location *.
4881
de67c4c3
DM
48822015-12-16 David Malcolm <dmalcolm@redhat.com>
4883
4884 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4885 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4886
4a38b02b
IV
48872015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4888
4889 * c-common.c (c_common_attribute_table): Handle "omp declare target
4890 link" attribute.
4891
54d62f51
JJ
48922015-12-14 Jakub Jelinek <jakub@redhat.com>
4893
4894 PR c/68833
4895 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4896
8d4227c8
TB
48972014-12-12 Tobias Burnus <burnus@net-b.de>
4898
4899 PR fortran/68815
4900 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4901 specifiers (%d, %i,%u and %c).
4902
f6069ccc
DM
49032015-12-10 David Malcolm <dmalcolm@redhat.com>
4904
4905 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4906
63bbf46d
JJ
49072015-12-08 Jakub Jelinek <jakub@redhat.com>
4908
4909 PR c/48088
4910 PR c/68657
4911 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4912 * c-pragma.c (handle_pragma_diagnostic): Adjust
4913 control_warning_option caller.
4914
f79520bb
DM
49152015-12-07 David Malcolm <dmalcolm@redhat.com>
4916
4917 * c-common.c (c_cpp_error): Update for change to
4918 rich_location::set_range.
4919
b3d5bc62
JJ
49202015-12-04 Paolo Bonzini <bonzini@gnu.org>
4921
4922 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4923 shifting 1 out of the sign bit.
4924
49252015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4926
4927 * c-common.c (c_common_attribute_table[]): Update max arguments
4928 count for "simd" attribute.
4929 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4930
6eb4a537
JJ
49312015-12-03 Jakub Jelinek <jakub@redhat.com>
4932
4933 PR preprocessor/57580
4934 * c-ppoutput.c (print): Change printed field to bool.
4935 Move src_file last for smaller padding.
4936 (init_pp_output): Set print.printed to false instead of 0.
4937 (scan_translation_unit): Fix up formatting. Set print.printed
4938 to true after printing something other than newline.
4939 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4940 (maybe_print_line_1): Set print.printed to false instead of 0.
4941 (print_line_1): Likewise.
4942 (do_line_change): Set print.printed to true instead of 1.
4943 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4944 dump_macro): Set print.printed to false after printing newline.
4945
4250754e
JM
49462015-12-02 Jason Merrill <jason@redhat.com>
4947
f479b43d
JM
4948 * c-common.c (fold_for_warn): New.
4949 (warn_logical_operator, warn_tautological_cmp)
4950 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4951
4250754e
JM
4952 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4953 (c_fully_fold_internal, decl_constant_value_for_optimization):
4954 Move to c/c-fold.c.
4955 * c-common.h: Don't declare decl_constant_value_for_optimization.
4956
e9e32ee6
JM
49572015-12-02 Joseph Myers <joseph@codesourcery.com>
4958
4959 PR c/68162
4960 * c-common.h (c_build_qualified_type): Add extra default
4961 arguments.
4962
37d5ad46
JB
49632015-12-01 Julian Brown <julian@codesourcery.com>
4964 Cesar Philippidis <cesar@codesourcery.com>
4965 James Norris <James_Norris@mentor.com>
4966
4967 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4968 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4969 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4970
f07862c7
EB
49712015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4972
4973 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4974 (decl_sloc_common): Delete and move bulk of processing to...
4975 (decl_sloc): ...here.
4976 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4977 (dump_ada_double_name): Remove S parameter and compute the suffix.
4978 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4979 element type and deal with an anonymous one.
4980 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4981 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4982 and remove reference to QUAL_UNION_TYPE.
4983 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4984 (dump_nested_type): ...here. New function extracted from above.
4985 Generate a full declaration for anonymous element type of arrays.
4986 (print_ada_declaration): Really skip anonymous declarations. Remove
4987 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4988 Clean up processing of declarations of array types and objects.
4989 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4990 Remove obsolete code and tidy up.
4991
75c8aac3
JH
49922015-11-29 Jan Hubicka <hubicka@ucw.cz>
4993
4994 PR c/67581
4995 * c-common.c (handle_transparent_union_attribute): Update
4996 also type variants.
4997
b58d3df2
ML
49982015-11-27 Martin Liska <mliska@suse.cz>
4999
5000 PR c++/68312
5001 * array-notation-common.c (cilkplus_extract_an_triplets):
5002 Release vector of vectors.
5003 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5004
89a01fcf
EB
50052015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5006
5007 PR c++/68527
5008 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5009 (print_ada_struct_decl): Likewise.
5010
cc5c5226
IZ
50112015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5012
5013 PR c++/68001
5014 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5015 * cilk.c (recognize_spawn): Determine location in a more precise
5016 way.
5017
269adb9d
JM
50182015-11-19 Jason Merrill <jason@redhat.com>
5019
5020 * c-common.c (shorten_compare): But look through macros from
5021 system headers.
5022
d0eccfcd
JM
50232015-11-18 Jason Merrill <jason@redhat.com>
5024
5025 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5026 non-constant operand comes from a macro.
5027
3e44547c
JM
50282015-11-17 Jason Merrill <jason@redhat.com>
5029
5030 PR bootstrap/68346
5031 * c-common.c (warn_tautological_cmp): Fold before checking for
5032 constants.
5033
0f62c7a0
MP
50342015-11-16 Marek Polacek <polacek@redhat.com>
5035
5036 PR c++/68362
5037 * c-common.c (check_case_bounds): Fold low and high cases.
5038
a868811e
MP
50392015-11-16 Marek Polacek <polacek@redhat.com>
5040
5041 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5042 * c-common.c (c_common_get_alias_set): Likewise.
5043 (handle_visibility_attribute): Likewise.
5044
fff77217
KY
50452015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5046
5047 * c-common.c (handle_simd_attribute): New.
5048 (struct attribute_spec): Add entry for "simd".
5049 (handle_simd_attribute): New.
5050
269e63b7
KT
50512015-11-13 Kai Tietz <ktietz70@googlemail.com>
5052
5053 * c-lex.c (interpret_float): Use fold_convert.
5054
ebedc9a3
DM
50552015-11-13 David Malcolm <dmalcolm@redhat.com>
5056
5057 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5058 and store it on the result.
5059 * c-opts.c (c_common_init_options): Set
5060 global_dc->colorize_source_p.
5061
6e232ba4
JN
50622015-11-12 James Norris <jnorris@codesourcery.com>
5063 Joseph Myers <joseph@codesourcery.com>
5064
7365279f 5065 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
5066 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5067 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5068 PRAGMA_OACC_CLAUSE_LINK.
5069
e78bede6
MP
50702015-11-11 Marek Polacek <polacek@redhat.com>
5071
5072 PR c/68107
5073 PR c++/68266
5074 * c-common.c (valid_array_size_p): New function.
5075 * c-common.h (valid_array_size_p): Declare.
5076
3f8257db 50772015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
5078
5079 PR bootstrap/68271
5080 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5081
69f293c9
AM
50822015-11-11 Andrew MacLeod <amacleod@redhat.com>
5083
5084 * array-notation-common.c: Remove unused header files.
5085 * c-ada-spec.c: Likewise.
5086 * c-cilkplus.c: Likewise.
5087 * c-common.c: Likewise.
5088 * c-cppbuiltin.c: Likewise.
5089 * c-dump.c: Likewise.
5090 * c-format.c: Likewise.
5091 * c-gimplify.c: Likewise.
5092 * c-indentation.c: Likewise.
5093 * c-lex.c: Likewise.
5094 * c-omp.c: Likewise.
5095 * c-opts.c: Likewise.
5096 * c-pch.c: Likewise.
5097 * c-ppoutput.c: Likewise.
5098 * c-pragma.c: Likewise.
5099 * c-pretty-print.c: Likewise.
5100 * c-semantics.c: Likewise.
5101 * c-ubsan.c: Likewise.
5102 * cilk.c: Likewise.
5103 * stub-objc.c: Likewise.
5104
3a40d81d
NS
51052015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5106 Cesar Philippidis <cesar@codesourcery.com>
5107 James Norris <jnorris@codesourcery.com>
5108 Julian Brown <julian@codesourcery.com>
5109 Nathan Sidwell <nathan@codesourcery.com>
5110
5111 * c-pragma.c (oacc_pragmas): Add "routine".
5112 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5113
ee45a32d
EB
51142015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5115
5116 * c-common.c (c_common_attributes): Add scalar_storage_order.
5117 (handle_scalar_storage_order_attribute): New function.
5118 * c-pragma.c (global_sso): New variable.
5119 (maybe_apply_pragma_scalar_storage_order): New function.
5120 (handle_pragma_scalar_storage_order): Likewise.
5121 (init_pragma): Register scalar_storage_order.
5122 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5123 * c.opt (Wscalar-storage-order): New warning.
5124 (fsso-struct=): New option.
5125
eb11eb15
MS
51262015-11-08 Martin Sebor <msebor@redhat.com>
5127
5128 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5129
0aad0198
RS
51302015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5131
5132 * c-common.c: Don't undef DEF_BUILTIN.
5133
8a645150
DM
51342015-11-06 David Malcolm <dmalcolm@redhat.com>
5135
5136 * c-common.c (c_cpp_error): Convert parameter from location_t to
5137 rich_location *. Eliminate the "column_override" parameter and
5138 the call to diagnostic_override_column.
5139 Update the "done_lexing" clause to set range 0
5140 on the rich_location, rather than overwriting a location_t.
5141 * c-common.h (c_cpp_error): Convert parameter from location_t to
5142 rich_location *. Eliminate the "column_override" parameter.
5143
7a5e4956
CP
51442015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5145 Thomas Schwinge <thomas@codesourcery.com>
5146 James Norris <jnorris@codesourcery.com>
5147
5148 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5149 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5150 clauses with parallel and kernels and loops.
5151 * c-pragma.h (enum pragma_omp_clause): Add entries for
5152 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5153 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5154 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5155 INDEPENDENT,SEQ}.
5156 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5157
e2f5cc96
MS
51582015-11-05 Martin Sebor <msebor@redhat.com>
5159
5160 PR c++/67942
5161 * c.opt (-Wplacement-new): New option.
5162
e01d41e5
JJ
51632015-11-05 Jakub Jelinek <jakub@redhat.com>
5164
5165 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5166 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5167 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5168 save_expr or create_tmp_var* if TEST is true.
5169 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5170 Don't call add_stmt here.
5171 (struct c_omp_check_loop_iv_data): New type.
5172 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5173 c_omp_check_loop_iv_exprs): New functions.
5174 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5175 distribute.
5176 (c_omp_declare_simd_clauses_to_numbers): Change
5177 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5178 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5179 from numbers to PARM_DECLs.
5180
595278be
MM
51812015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5182
5183 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5184 flag_checking.
5185
3f8257db 51862015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
5187
5188 PR c++-common/67882
b3d5bc62
JJ
5189 * c-common.h (fold_offsetof_1): Add argument.
5190 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
5191 offsetof expressions that reference elements past the end of
5192 an array.
5193
4bf9e5a8
TS
51942015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5195 Chung-Lin Tang <cltang@codesourcery.com>
5196
5197 * c-pragma.c (oacc_pragmas): Add "atomic".
5198 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5199
3b1661a9
ES
52002015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5201
5202 * c-common.c (handle_target_clones_attribute): New.
5203 (c_common_attribute_table): Add handle_target_clones_attribute.
5204 (handle_always_inline_attribute): Add check on target_clones attribute.
5205 (handle_target_attribute): Ditto.
5206
2adfab87
AM
52072015-10-29 Andrew MacLeod <amacleod@redhat.com>
5208
5209 * array-notation-common.c: Reorder #include's and remove duplicates.
5210 * c-ada-spec.c: Likewise.
5211 * c-cilkplus.c: Likewise.
5212 * c-common.c: Likewise.
5213 * c-cppbuiltin.c: Likewise.
5214 * c-dump.c: Likewise.
5215 * c-format.c: Likewise.
5216 * c-gimplify.c: Likewise.
5217 * c-indentation.c: Likewise.
5218 * c-lex.c: Likewise.
5219 * c-omp.c: Likewise.
5220 * c-opts.c: Likewise.
5221 * c-pch.c: Likewise.
5222 * c-ppoutput.c: Likewise.
5223 * c-pragma.c: Likewise.
5224 * c-pretty-print.c: Likewise.
5225 * c-semantics.c: Likewise.
5226 * c-ubsan.c: Likewise.
5227 * cilk.c: Likewise.
5228 * stub-objc.c: Likewise.
5229
d90ec4f2
JM
52302015-10-28 Jason Merrill <jason@redhat.com>
5231
5232 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5233
88bae6f4
TS
52342015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5235 James Norris <jnorris@codesourcery.com>
5236 Cesar Philippidis <cesar@codesourcery.com>
5237
5238 PR c/64765
5239 PR c/64880
5240 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5241 * c-omp.c (c_oacc_split_loop_clauses): New function.
5242
b1726d6c
MS
52432015-10-21 Martin Sebor <msebor@redhat.com>
5244
5245 PR driver/68043
5246 * c.opt: End each sentence that describes an option with a period.
5247
fa60eeb9
MP
52482015-10-20 Marek Polacek <polacek@redhat.com>
5249
5250 * array-notation-common.c (is_cilkplus_vector_p): Define.
5251 * c-common.h (is_cilkplus_vector_p): Declare.
5252
95979049
MP
52532015-10-20 Marek Polacek <polacek@redhat.com>
5254
5255 * c.opt (std=gnu++11): Do not describe as experimental.
5256 (std=gnu++14): Likewise.
5257
2a9fb712
JM
52582015-10-19 Jason Merrill <jason@redhat.com>
5259
5260 * c-cppbuiltin.c (c_cpp_builtins): Define
5261 __cpp_nontype_template_args.
5262
13b380a3
JM
52632015-10-19 Jason Merrill <jason@redhat.com>
5264
5265 * c-cppbuiltin.c (c_cpp_builtins): Define
5266 __cpp_enumerator_attributes, __cpp_fold_expressions,
5267 __cpp_unicode_characters.
5268
d9a6bd32
JJ
52692015-10-13 Jakub Jelinek <jakub@redhat.com>
5270 Aldy Hernandez <aldyh@redhat.com>
5271
5272 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5273 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5274 (c_define_builtins): Likewise.
5275 * c-common.h (enum c_omp_clause_split): Add
5276 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5277 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5278 (c_finish_omp_for): Add ORIG_DECLV argument.
5279 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5280 201511 instead of 201307.
5281 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5282 OMP_CRITICAL_CLAUSES to it.
5283 (c_finish_omp_ordered): Add CLAUSES argument, set
5284 OMP_ORDERED_CLAUSES to it.
5285 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5286 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5287 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5288 constructs and new OpenMP 4.5 clauses. Clear
5289 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5290 verification code.
5291 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5292 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5293 (enum pragma_omp_clause): Add
5294 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5295 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5296
624d31fe
RS
52972015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5298
5299 * c-lex.c (interpret_float): Use real_equal instead of
5300 REAL_VALUES_EQUAL.
5301
b8fd7909
JM
53022015-10-04 Jason Merrill <jason@redhat.com>
5303
5304 Implement N4514, C++ Extensions for Transactional Memory.
5305 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5306 (c_common_attribute_table): Add transaction_safe_dynamic.
5307 transaction_safe now affects type identity.
5308 (handle_tm_attribute): Handle transaction_safe_dynamic.
5309 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5310 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5311 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5312 (D_TRANSMEM): New.
5313 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5314 * c-pretty-print.c (pp_c_attributes_display): Don't print
5315 transaction_safe in C++.
5316
12651878
MP
53172015-10-02 Marek Polacek <polacek@redhat.com>
5318
5319 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5320
3e3b8d63
MP
53212015-10-02 Marek Polacek <polacek@redhat.com>
5322
5323 PR c/64249
5324 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5325 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5326 * c.opt (Wduplicated-cond): New option.
5327
0d1a8f75
JM
53282015-10-01 Joseph Myers <joseph@codesourcery.com>
5329
5330 * c.opt (std=c11): Do not describe as experimental.
5331 (std=gnu11): Likewise.
5332 (std=iso9899:2011): Likewise.
5333
3e32ee19
NS
53342015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5335
5336 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5337 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5338
974348ee
MP
53392015-09-25 Marek Polacek <polacek@redhat.com>
5340
5341 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5342 (ubsan_instrument_shift): Likewise.
5343
15dbc1a6
MP
53442015-09-25 Marek Polacek <polacek@redhat.com>
5345
5346 PR sanitizer/64906
5347 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5348
6b95d7cc
PP
53492015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5350
5351 * c-indentation.c (should_warn_for_misleading_indentation):
5352 Compare next_stmt_vis_column with guard_line_first_nws instead
5353 of with guard_line_vis_column.
5354
c1822f9c
MLI
53552015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5356
5357 PR c/49654
5358 PR c/49655
5359 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5360 options and options not valid for the current language.
5361
d5398058
PP
53622015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5363
5364 * c-indentation.c (should_warn_for_misleading_indentation):
5365 Float out and consolidate the calls to get_visual_column that
5366 are passed guard_exploc as an argument. Compare
5367 next_stmt_vis_column with guard_line_first_nws instead of with
5368 body_line_first_nws.
5369
6b333269
NS
53702015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5371
5372 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5373 Wnamespaces): New C++ warnings.
5374
a75f1574
JM
53752015-09-22 Jason Merrill <jason@redhat.com>
5376
5377 * c-common.h (abi_compat_version_crosses): New.
5378 (warn_abi_version): Declare.
5379 * c-common.c: Define it.
5380 * c-opts.c (c_common_post_options): Handle it.
5381 flag_abi_compat_version defaults to 8.
5382
bdaaa8b7
VV
53832015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5384
5385 Complete the implementation of N4230, Nested namespace definition.
5386 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5387 __cpp_nested_namespace_definitions.
5388
eaa797e8
MLI
53892015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5390
5391 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5392
c4914de6
MLI
53932015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5394
5395 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5396 when warning.
5397 * c-pragma.h (pragma_lex): Add optional loc argument.
5398
fcb87c50
MM
53992015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5400
5401 * c-format.c (check_format_arg): Adjust to use common block size in all
5402 object pools.
5403
31bdd08a
DM
54042015-09-15 David Malcolm <dmalcolm@redhat.com>
5405
5406 * c-format.c (location_from_offset): Update for change in
5407 signature of location_get_source_line.
5408 * c-indentation.c (get_visual_column): Likewise.
5409 (line_contains_hash_if): Likewise.
5410
aa9f4b4c
MP
54112015-09-14 Marek Polacek <polacek@redhat.com>
5412
5413 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5414 setting various warnings.
5415
aa256c4a
MP
54162015-09-14 Marek Polacek <polacek@redhat.com>
5417
5418 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5419 a negative value.
5420
0f876f22
MW
54212015-09-11 Mark Wielaard <mjw@redhat.com>
5422
5423 PR c/28901
5424 * c.opt (Wunused-variable): Option from common.opt.
5425 (Wunused-const-variable): New option.
5426
273aa49e
PC
54272015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5428
5429 PR c++/53184
5430 * c.opt ([Wsubobject-linkage]): Add.
5431
1807ffc1
MS
54322015-09-03 Martin Sebor <msebor@redhat.com>
5433
5434 PR c/66516
5435 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5436 functions.
5437 * c-common.c (reject_gcc_builtin): Define.
5438
38942840
BI
54392015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5440
5441 PR middle-end/60586
5442 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5443 prototype.
5444 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5445 cilk_gimplify_call_params_in_spawned_fn.
5446 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5447 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5448 unwrapping.
5449
c316b5e4
MP
54502015-08-25 Marek Polacek <polacek@redhat.com>
5451
5452 PR middle-end/67330
5453 * c-common.c (handle_weak_attribute): Don't check whether the
5454 visibility can be changed here.
5455
584a7c46
MLI
54562015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5457
5458 * c-lex.c (c_lex_with_flags): Use explicit locations.
5459
a79683d5
TS
54602015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5461
5462 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5463 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5464
61717a45
FXC
54652015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5466
5467 PR middle-end/36757
5468 * c-common.c (check_builtin_function_arguments): Add check
5469 for BUILT_IN_SIGNBIT argument.
5470
329524f5
PC
54712015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5472
5473 PR c++/67160
5474 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5475 in c++1z mode.
5476
4ee55665
MP
54772015-08-17 Marek Polacek <polacek@redhat.com>
5478
5479 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5480 with whitespaces before qualifier names.
5481
b893e375
MP
54822015-08-12 Marek Polacek <polacek@redhat.com>
5483
5484 PR c++/55095
5485 * c-common.c (maybe_warn_shift_overflow): Properly handle
5486 left-shifting 1 into the sign bit.
5487
c2d89095
MLI
54882015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5489
5490 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5491
971e17ff
AS
54922015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5493 Braden Obrzut <admin@maniacsvault.net>
5494 Jason Merrill <jason@redhat.com>
5495
5496 Add C++ Concepts TS support.
5497 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5498 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5499 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5500 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5501 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5502 * c.opt (fconcepts): New.
5503
b3d5bc62
JJ
55042015-08-02 Martin Sebor <msebor@redhat.com>
5505
5506 * c.opt (-Wframe-address): New warning option.
5507
8ebca419
PP
55082015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5509
5510 * c-indentation.c (should_warn_for_misleading_indentation):
5511 Improve heuristics.
5512
1a1e101f
PP
55132015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5514
5515 * c-indentation.c (get_visual_column): Add parameter first_nws,
5516 use it. Update comment documenting the function.
5517 (is_first_nonwhitespace_on_line): Remove.
5518 (should_warn_for_misleading_indentation): Replace usage of
5519 of is_first_nonwhitespace_on_line with get_visual_column.
5520
992118a1
PP
55212015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5522
5523 * c-indentation.h (struct token_indent_info): Define.
5524 (get_token_indent_info): Define.
5525 (warn_for_misleading_information): Declare.
5526 * c-common.h (warn_for_misleading_information): Remove.
5527 * c-identation.c (warn_for_misleading_indentation):
5528 Change declaration to take three token_indent_infos. Adjust
5529 accordingly.
5530 * c-identation.c (should_warn_for_misleading_indentation):
5531 Likewise. Bail out early if the body is a compound statement.
5532 (guard_tinfo_to_string): Define.
5533
e8fa3817
JM
55342015-07-30 Jason Merrill <jason@redhat.com>
5535
5536 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5537 '*' for reference decay.
5538
173864e8
MP
55392015-07-30 Marek Polacek <polacek@redhat.com>
5540
5541 * c-common.c (warn_tautological_cmp): Bail for float types.
5542
f2afe6dd
MP
55432015-07-27 Marek Polacek <polacek@redhat.com>
5544
5545 PR bootstrap/67030
5546 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5547
05b28fd6
MP
55482015-07-27 Marek Polacek <polacek@redhat.com>
5549
5550 PR c++/66555
5551 PR c/54979
5552 * c-common.c (find_array_ref_with_const_idx_r): New function.
5553 (warn_tautological_cmp): New function.
5554 * c-common.h (warn_tautological_cmp): Declare.
5555 * c.opt (Wtautological-compare): New option.
5556
5a5062b8
MP
55572015-07-23 Marek Polacek <polacek@redhat.com>
5558
5559 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5560 (ubsan_instrument_shift): Likewise.
5561
dc891fe7
MP
55622015-07-23 Marek Polacek <polacek@redhat.com>
5563
5564 PR sanitizer/66908
5565 * c-ubsan.c: Include gimplify.h.
5566 (ubsan_instrument_division): Unshare OP0 and OP1.
5567 (ubsan_instrument_shift): Likewise.
5568
451b5e48
MP
55692015-07-20 Marek Polacek <polacek@redhat.com>
5570 Richard Sandiford <richard.sandiford@arm.com>
5571
5572 PR c++/55095
5573 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5574 Use EXPR_LOC_OR_LOC.
5575 (maybe_warn_shift_overflow): New function.
5576 * c-common.h (maybe_warn_shift_overflow): Declare.
5577 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5578 * c.opt (Wshift-overflow): New option.
5579
fb0b2914
ML
55802015-07-16 Martin Liska <mliska@suse.cz>
5581
5582 * c-format.c (static void check_format_info_main): Use
5583 object_allocator instead of pool_allocator.
5584 (check_format_arg): Likewise.
5585 (check_format_info_main): Likewise.
5586
903f5c23
AM
55872015-07-15 Andrew MacLeod <amacleod@redhat.com>
5588
5589 * c-opts.c: Remove multiline #include comment.
5590
026c3cfd
AH
55912015-07-12 Aldy Hernandez <aldyh@redhat.com>
5592
5593 * c-common.c: Fix double word typos.
5594
bb49ee66
EB
55952015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5596
5597 * c-ada-spec.h (cpp_operation): Revert latest change.
5598 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5599 constructors and destructors.
5600
1916bcb5
AM
56012015-07-09 Andrew MacLeod <amacleod@redhat.com>
5602
5603 * c-common.h: Adjust includes for flags.h changes.
5604 * stub-objc.c: Likewise.
026c3cfd 5605
a9dcd529
EB
56062015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5607
5608 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5609 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5610
b03b462f
JJ
56112015-07-08 Jakub Jelinek <jakub@redhat.com>
5612
5613 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5614 are to be removed, return NULL rather than original clauses list.
5615
c7131fb2
AM
56162015-07-07 Andrew MacLeod <amacleod@redhat.com>
5617
5618 * array-notation-common.c: Adjust includes.
5619 * c-ada-spec.c: Likewise.
5620 * c-cilkplus.c: Likewise.
5621 * c-common.h: Likewise.
5622 * c-cppbuiltin.c: Likewise.
5623 * c-dump.c: Likewise.
5624 * c-format.c: Likewise.
5625 * c-gimplify.c: Likewise.
5626 * c-indentation.c: Likewise.
5627 * c-lex.c: Likewise.
5628 * c-omp.c: Likewise.
5629 * c-opts.c: Likewise.
5630 * c-pch.c: Likewise.
5631 * c-ppoutput.c: Likewise.
5632 * c-pragma.c: Likewise.
5633 * c-pretty-print.c: Likewise.
5634 * c-semantics.c: Likewise.
5635 * c-ubsan.c: Likewise.
5636 * cilk.c: Likewise.
5637 * stub-objc.c: Likewise.
5638
2a7fb83f
EB
56392015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5640
5641 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5642 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5643
a03c9bf1
JM
56442015-07-01 Jason Merrill <jason@redhat.com>
5645
36a85135
JM
5646 * c-common.h (D_CXX11): Rename from D_CXX0X.
5647 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5648 * c-common.c: Adjust.
5649
e7fa68d5
JM
5650 * c-opts.c (c_common_post_options): Default to C++14.
5651
a03c9bf1
JM
5652 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5653
fe95b036
ESR
56542015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5655
5656 Implement N4197 - Adding u8 character literals
b3d5bc62 5657 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 5658 CPP_CHAR.
b3d5bc62 5659 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 5660 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 5661 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
5662 and CPP_UTF8CHAR tokens.
5663 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 5664
da2e71c9
MLI
56652015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5666
5667 PR fortran/66605
5668 * c-common.c (do_warn_unused_parameter): Move here.
5669 * c-common.h (do_warn_unused_parameter): Declare.
5670
b155cfd9
MP
56712015-06-29 Marek Polacek <polacek@redhat.com>
5672
5673 PR c/66322
5674 * c-common.c (check_case_bounds): Add bool * parameter. Set
5675 OUTSIDE_RANGE_P.
5676 (c_add_case_label): Add bool * parameter. Pass it down to
5677 check_case_bounds.
5678 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5679 warning here.
5680 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5681 declarations.
5682
31521951
MP
56832015-06-27 Marek Polacek <polacek@redhat.com>
5684
5685 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5686 or VECTOR_INTEGER_TYPE_P throughout.
5687 * c-gimplify.c: Likewise.
5688
22d03525
MP
56892015-06-26 Marek Polacek <polacek@redhat.com>
5690
5691 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5692 * c-common.c (c_fully_fold_internal): Likewise.
5693 (c_alignof_expr): Likewise.
5694 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5695 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 5696 * cilk.c (create_parm_list): Likewise.
22d03525 5697
af05e6e5
MP
56982015-06-26 Marek Polacek <polacek@redhat.com>
5699
5700 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5701
f0889939
AM
57022015-06-25 Andrew MacLeod <amacleod@redhat.com>
5703
5704 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5705 * c-gimplify.c: Likewise.
5706 * c-pragma.c: Likewise.
5707 * c-ubsan.c: Likewise.
5708 * cilk.c: Likewise.
5709
ca752f39
RS
57102015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5711
5712 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5713 ggc_hasher.
5714
16a16ec7
AM
57152015-06-25 Andrew MacLeod <amacleod@redhat.com>
5716
5717 * cilk.c: Move calls.h after tm.h in the include chain.
5718
0ae9bd27
MP
57192015-06-25 Marek Polacek <polacek@redhat.com>
5720
5721 * array-notation-common.c: Use VAR_P throughout.
5722 * c-ada-spec.c: Likewise.
5723 * c-common.c: Likewise.
5724 * c-format.c: Likewise.
5725 * c-gimplify.c: Likewise.
5726 * c-omp.c: Likewise.
5727 * c-pragma.c: Likewise.
5728 * c-pretty-print.c: Likewise.
5729 * cilk.c: Likewise.
5730
62f9079a
MP
57312015-06-25 Marek Polacek <polacek@redhat.com>
5732
5733 * cilk.c (extract_free_variables): Use is_global_var.
5734
0fa16060
RS
57352015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5736
5737 * c-common.c: Don't include target-def.h.
5738
a68ae2e1
MP
57392015-06-23 Marek Polacek <polacek@redhat.com>
5740
5741 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5742 when comparing INTEGER_CSTs.
5743
c6a2f2d9
PMR
57442015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5745
5746 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5747 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5748 (dump_ada_template): Skip partially specialized types.
5749
6b4db501
MM
57502015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5751
5752 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5753 swapping.
5754
abb226c9
AM
57552015-06-17 Andrew MacLeod <amacleod@redhat.com>
5756
5757 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5758 * c-ada-spec.c: Likewise.
5759 * c-cilkplus.c: Likewise.
5760 * c-common.c: Likewise.
5761 * c-common.h: Likewise.
5762 * c-cppbuiltin.c: Likewise.
5763 * c-dump.c: Likewise.
5764 * c-format.c: Likewise.
5765 * c-gimplify.c: Likewise.
5766 * c-indentation.c: Likewise.
5767 * c-lex.c: Likewise.
5768 * c-omp.c: Likewise.
5769 * c-opts.c: Likewise.
5770 * c-pch.c: Likewise.
5771 * c-ppoutput.c: Likewise.
5772 * c-pragma.c: Likewise.
5773 * c-pretty-print.c: Likewise.
5774 * c-semantics.c: Likewise.
5775 * c-ubsan.c: Likewise.
5776 * cilk.c: Likewise.
5777 * stub-objc.c: Likewise.
5778
076fecad
PP
57792015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5780
5781 PR c++/65168
5782 * c-common.c (c_common_truthvalue_conversion): Warn when
5783 converting an address of a reference to a truth value.
5784
13fdf2e2
AM
57852015-06-08 Andrew MacLeod <amacleod@redhat.com>
5786
5787 * array-notation-common.c : Adjust include files.
5788 * c-ada-spec.c : Likewise.
5789 * c-cilkplus.c : Likewise.
5790 * c-common.c : Likewise.
5791 * c-common.h : Likewise.
5792 * c-cppbuiltin.c : Likewise.
5793 * c-dump.c : Likewise.
5794 * c-format.c : Likewise.
5795 * c-gimplify.c : Likewise.
5796 * c-indentation.c : Likewise.
5797 * c-lex.c : Likewise.
5798 * c-omp.c : Likewise.
5799 * c-opts.c : Likewise.
5800 * c-pch.c : Likewise.
5801 * c-ppoutput.c : Likewise.
5802 * c-pragma.c : Likewise.
5803 * c-pretty-print.c : Likewise.
5804 * c-semantics.c : Likewise.
5805 * c-ubsan.c : Likewise.
5806 * cilk.c : Likewise.
5807 * stub-objc.c : Likewise.
5808
a1661b90
MP
58092015-06-08 Marek Polacek <polacek@redhat.com>
5810
5811 PR c/66415
5812 * c-format.c (location_from_offset): Return LOC if LINE is null.
5813
d7438551
AH
58142015-06-05 Aldy Hernandez <aldyh@redhat.com>
5815
5816 * c-common.h (c_parse_final_cleanups): New prototype.
5817 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5818
b3d5bc62
JJ
58192015-06-04 Sriraman Tallam <tmsriram@google.com>
5820
5821 * c-common.c (noplt): New attribute.
5822 (handle_noplt_attribute): New handler.
5823
ecb9f223
AM
58242015-06-04 Andrew MacLeod <amacleod@redhat.com>
5825
5826 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5827 * c-ada-spec.c: Likewise.
5828 * c-cilkplus.c: Likewise.
5829 * c-common.c: Likewise.
5830 * c-common.h: Likewise.
5831 * c-cppbuiltin.c: Likewise.
5832 * c-dump.c: Likewise.
5833 * c-format.c: Likewise.
5834 * c-gimplify.c: Likewise.
5835 * c-indentation.c: Likewise.
5836 * c-lex.c: Likewise.
5837 * c-omp.c: Likewise.
5838 * c-opts.c: Likewise.
5839 * c-pch.c: Likewise.
5840 * c-ppoutput.c: Likewise.
5841 * c-pragma.c: Likewise.
5842 * c-pretty-print.c: Likewise.
5843 * c-semantics.c: Likewise.
5844 * c-ubsan.c: Likewise.
5845 * cilk.c: Likewise.
5846 * stub-objc.c: Likewise.
5847
6ac48155
DM
58482015-06-02 David Malcolm <dmalcolm@redhat.com>
5849
5850 PR c/66220:
5851 * c-indentation.c (should_warn_for_misleading_indentation): Use
5852 expand_location rather than expand_location_to_spelling_point.
5853 Don't warn if the guarding statement is more indented than the
5854 next/body stmts.
5855
773ce42e
DM
58562015-06-02 David Malcolm <dmalcolm@redhat.com>
5857
5858 * c-indentation.c (warn_for_misleading_indentation): Bail out
5859 immediately if -Wmisleading-indentation isn't enabled.
5860
4fef8379
ML
58612015-06-01 Martin Liska <mliska@suse.cz>
5862
5863 * c-format.c (check_format_arg):Use new type-based pool allocator.
5864 (check_format_info_main) Likewise.
5865
1edfb384
EB
58662015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5867
5868 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5869 (has_nontrivial_methods): Likewise.
5870
9677ef52
MP
58712015-05-25 Marek Polacek <polacek@redhat.com>
5872
5873 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5874
fd5c817a
MP
58752015-05-22 Marek Polacek <polacek@redhat.com>
5876
5877 PR c/47043
5878 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5879
a2f45fe6 58802015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5881
5882 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5883 STACK_GROWS_DOWNWARD.
5884
a2f45fe6 58852015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5886
5887 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5888 STACK_GROWS_DOWNWARD rather than if it is defined.
5889
0fee2ac2 58902015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5891
0fee2ac2
MLI
5892 PR c/52952
5893 * c-format.c (location_column_from_byte_offset): New.
5894 (location_from_offset): New.
5895 (struct format_wanted_type): Add offset_loc field.
5896 (check_format_info): Move handling of location for extra arguments
5897 closer to the point of warning.
5898 (check_format_info_main): Pass the result of location_from_offset
5899 to warning_at.
5900 (format_type_warning): Pass the result of location_from_offset
5901 to warning_at.
5902
cf4ef6f7
MP
59032015-05-20 Marek Polacek <polacek@redhat.com>
5904
5905 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5906
3a65ee74
MP
59072015-05-20 Marek Polacek <polacek@redhat.com>
5908
5909 * c-ada-spec.c (dump_sloc): Use DECL_P.
5910
21b634ae
MP
59112015-05-20 Marek Polacek <polacek@redhat.com>
5912
5913 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5914 * c-common.c: Likewise.
5915
0e50b624
DM
59162015-05-19 David Malcolm <dmalcolm@redhat.com>
5917
5918 * c-common.h (fe_file_change): Strengthen param from
5919 const line_map * to const line_map_ordinary *.
5920 (pp_file_change): Likewise.
5921 * c-lex.c (fe_file_change): Likewise.
5922 (cb_define): Use linemap_check_ordinary when invoking
5923 SOURCE_LINE.
5924 (cb_undef): Likewise.
5925 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5926 invoking cb_file_change.
5927 (c_finish_options): Likewise.
5928 (push_command_line_include): Likewise.
5929 (cb_file_change): Strengthen param "new_map" from
5930 const line_map * to const line_map_ordinary *.
5931 * c-ppoutput.c (cb_define): Likewise for local "map".
5932 (pp_file_change): Likewise for param "map" and local "from".
5933
fab27f52
MM
59342015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5935
5936 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5937
2fe1d762
TV
59382015-05-18 Tom de Vries <tom@codesourcery.com>
5939
5940 * c-common.c (build_va_arg_1): New function.
5941 (build_va_arg): Add address operator to va_list operand if necessary.
5942
7a37fa90
MM
59432015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5944
5945 PR c/48956
5946 * c-common.c (int_safely_convertible_to_real_p): Define.
5947 (unsafe_conversion_p): Check conversions involving complex types.
5948 (conversion_warning): Add new warning message for conversions which
5949 discard imaginary component.
5950 * c-common.h: (enum conversion_safety): Add new enumerator for such
5951 conversions.
5952
3aa3c9fc
MP
59532015-05-14 Marek Polacek <polacek@redhat.com>
5954
5955 PR c/66066
5956 PR c/66127
5957 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5958 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5959 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5960 use it. If FOR_INT_CONST, require that all evaluated operands be
5961 INTEGER_CSTs.
5962
c3388e62
DM
59632015-05-12 David Malcolm <dmalcolm@redhat.com>
5964
5965 * c-common.h (warn_for_misleading_indentation): New prototype.
5966 * c-indentation.c: New file.
5967 * c.opt (Wmisleading-indentation): New option.
5968
c7b38fd5
TV
59692015-05-12 Tom de Vries <tom@codesourcery.com>
5970
5971 PR tree-optimization/66010
5972 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5973
381bf11e
JM
59742015-05-09 Jason Merrill <jason@redhat.com>
5975
edff0c06
JM
5976 * c-opts.c (c_common_post_options): Also clear
5977 cpp_opts->cpp_warn_cxx11_compat.
5978
129211bc
JM
5979 * c-common.h (enum cxx_dialect): Add cxx_unset.
5980 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5981 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5982
381bf11e
JM
5983 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5984 (std=gnu++0x): Mark as Undocumented.
5985 (std=gnu++1y): Add deprecated message.
5986
fe191308
JM
59872015-05-08 Jason Merrill <jason@redhat.com>
5988
765189ff
JM
5989 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5990 * c-opts.c: Adjust.
5991
fe191308
JM
5992 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5993
755e528f
MP
59942015-05-08 Marek Polacek <polacek@redhat.com>
5995
5996 PR c/64918
5997 * c.opt (Woverride-init-side-effects): New option.
5998
0173bd2a
MP
59992015-05-07 Marek Polacek <polacek@redhat.com>
6000
6001 PR c/65179
6002 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6003 negative value.
6004 * c.opt (Wshift-negative-value): New option.
6005 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6006 when -Wextra and C99/C++11 mode.
6007
e0f0d3b9
MP
60082015-05-07 Marek Polacek <polacek@redhat.com>
6009 Martin Uecker <uecker@eecs.berkeley.edu>
6010
6011 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6012 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6013
8243e2a9
JM
60142015-05-05 Jason Merrill <jason@redhat.com>
6015
6016 * c.opt (Wterminate): New.
6017
577cd070
MP
60182015-04-30 Marek Polacek <polacek@redhat.com>
6019
6020 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6021 require that the non-constant be of a boolean type.
6022
0373796b
JT
60232015-04-29 Josh Triplett <josh@joshtriplett.org>
6024
e0f0d3b9
MP
6025 * c-common.c (handle_section_attribute): Refactor to reduce
6026 nesting and distinguish between error cases.
0373796b 6027
716c0ba6
MP
60282015-04-29 Marek Polacek <polacek@redhat.com>
6029
6030 PR c/64610
6031 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6032 with 0/1.
6033
8848828b
JJ
60342015-04-29 Jakub Jelinek <jakub@redhat.com>
6035
6036 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6037 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6038 HOST_BITS_PER_WIDE_INT.
6039
ecd0e562
TV
60402015-04-28 Tom de Vries <tom@codesourcery.com>
6041
6042 PR tree-optimization/65887
6043 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6044
2a877204 60452015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 6046 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
6047
6048 * c-ada-spec.c (in_function): Delete.
6049 (dump_generic_ada_node): Do not change in_function and remove the
6050 redundant code dealing with it.
6051 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6052 (print_ada_methods): Output the static member functions in a nested
6053 package after the regular methods as well as associated renamings.
6054
4853031e
MP
60552015-04-24 Marek Polacek <polacek@redhat.com>
6056
6057 PR c/65830
6058 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6059 and OPT_Wshift_count_overflow.
6060
8c2b7f79
MP
6061 PR c/63357
6062 * c-common.c (warn_logical_operator): Warn if the operands have the
6063 same expressions.
6064
b8787813
MP
60652015-04-24 Marek Polacek <polacek@redhat.com>
6066
6067 PR c/61534
6068 * c-common.c (warn_logical_operator): Bail if either operand comes
6069 from a macro expansion.
6070
8fba1830
BRF
60712015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6072
6073 PR target/55143
6074 * c-common.c (c_default_pointer_mode): Add definition.
6075 * c-common.h (c_default_pointer_mode): Add declaration.
6076
17958621
JJ
60772015-03-11 Jakub Jelinek <jakub@redhat.com>
6078
6079 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6080 on record_builtin_type argument.
6081
7ccb1a11
JJ
60822015-03-10 Jakub Jelinek <jakub@redhat.com>
6083
6084 PR c/65120
6085 * c-common.c (warn_logical_not_parentheses): Don't warn for
6086 !x == 0 or !x != 0.
6087
04fd785e
MP
60882015-03-07 Marek Polacek <polacek@redhat.com>
6089
6090 PR sanitizer/65280
6091 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6092 before trying to figure out whether we have a flexible array member.
6093
a4e26206 60942015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 6095 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
6096
6097 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6098
0d2489f4
EB
60992015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6100
6101 PR ada/65319
6102 * c-ada-spec.c (print_destructor): Remove obsolete code.
6103
83ed54d7
EB
61042015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6105
6106 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6107 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6108 DECL_TEMPLATE_RESULT emulations.
6109 (dump_ada_template)): Add guard for TYPE_METHODS.
6110
7631f0e2
MP
61112015-02-27 Marek Polacek <polacek@redhat.com>
6112
6113 PR c/65040
6114 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6115
d1783ae5
KT
61162015-02-27 Kai Tietz <ktietz@redhat.com>
6117
6118 PR c/35330
6119 * c-pragma.c (handle_pragma_weak): Do not try to create
6120 weak/alias of declarations not being function, or variable
6121 declarations.
6122
56a9f6bc
TS
61232015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6124
6125 PR libgomp/64625
6126 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6127 Remove macros.
6128 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6129
3d5cb23d
MP
61302015-02-16 Marek Polacek <polacek@redhat.com>
6131
6132 PR c/65066
6133 * c-format.c (check_format_types): Handle null param.
6134
fa008882
MP
61352015-02-13 Marek Polacek <polacek@redhat.com>
6136
6137 PR c/65040
6138 * c-format.c (check_format_types): Don't warn about different
6139 signedness if the original value is in the range of WANTED_TYPE.
6140
785f21af
JM
61412015-02-12 Jason Merrill <jason@redhat.com>
6142
6143 PR c++/64956
6144 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6145 to the current highest version.
6146 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6147
4886ec8e
JJ
61482015-02-04 Jakub Jelinek <jakub@redhat.com>
6149
6150 PR c/64824
6151 PR c/64868
6152 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6153 instead of RDIV_EXPR. Use build_binary_op instead of
6154 build2_loc.
6155
40fecdd6
JM
61562015-01-30 Joseph Myers <joseph@codesourcery.com>
6157
6158 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6159 to pass input_location as first argument.
6160
a0c88d06
TV
61612015-01-23 Tom de Vries <tom@codesourcery.com>
6162
6163 PR libgomp/64672
6164 * c.opt (fopenacc): Mark as LTO option.
6165
1506ae0e
TV
61662015-01-23 Tom de Vries <tom@codesourcery.com>
6167
6168 PR libgomp/64707
6169 * c.opt (fopenmp): Mark as LTO option.
6170
31be63ab
JJ
61712015-01-21 Jakub Jelinek <jakub@redhat.com>
6172
6173 PR c/63307
b1726d6c 6174 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
6175 (compare_decls): Fix up formatting.
6176
61772015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6178
6179 PR c/63307
6180 * cilk.c: Include vec.h.
6181 (struct cilk_decls): New structure.
6182 (wrapper_parm_cb): Split this function to...
6183 (fill_decls_vec): ...this...
6184 (create_parm_list): ...and this.
6185 (compare_decls): New function.
6186 (for_local_cb): Remove.
6187 (wrapper_local_cb): Ditto.
6188 (build_wrapper_type): For now first traverse and fill vector of
6189 declarations then sort it and then deal with sorted vector.
6190 (cilk_outline): Ditto.
6191 (declare_one_free_variable): Ditto.
6192
6875457f
JM
61932015-01-21 Jason Merrill <jason@redhat.com>
6194
6195 PR c++/64629
6196 * c-format.c (check_format_arg): Call decl_constant_value.
6197
185c9e56
ML
61982015-01-19 Martin Liska <mliska@suse.cz>
6199
6200 * c-common.c (handle_noicf_attribute): New function.
6201
41dbbb37
TS
62022015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6203 Bernd Schmidt <bernds@codesourcery.com>
6204 James Norris <jnorris@codesourcery.com>
6205 Cesar Philippidis <cesar@codesourcery.com>
6206 Ilmir Usmanov <i.usmanov@samsung.com>
6207 Jakub Jelinek <jakub@redhat.com>
6208
6209 * c.opt (fopenacc): New option.
6210 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6211 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6212 New macros.
6213 * c-common.h (c_finish_oacc_wait): New prototype.
6214 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6215 (c_finish_oacc_wait): New function.
6216 * c-pragma.c (oacc_pragmas): New variable.
6217 (c_pp_lookup_pragma, init_pragma): Handle it.
6218 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6219 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6220 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6221 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6222 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6223 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6224 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6225 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6226 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6227 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6228 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6229 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6230 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6231 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6232 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6233 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6234 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6235 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6236 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6237 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6238 PRAGMA_OACC_CLAUSE_WORKER.
6239
3f8257db 62402015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
6241
6242 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6243 for the new option fstack-protector_explicit.
6244 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6245 (handle_stack_protect_attribute): New function.
6246
3f8257db 62472015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
6248
6249 * c.opt: New option -Warray-bounds=.
6250
adfac8df
JJ
62512015-01-09 Michael Collison <michael.collison@linaro.org>
6252
6253 * array-notation-common.c: Include hash-set.h, machmode.h,
6254 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6255 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6256 * c-ada-spec.c: Ditto.
6257 * c-cilkplus.c: Ditto.
6258 * c-common.c: Include input.h due to flattening of tree.h.
6259 Define macro GCC_C_COMMON_C.
6260 * c-common.h: Flatten tree.h header files into c-common.h.
6261 Remove include of tree-core.h.
6262 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6263 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6264 fold-const.h, wide-int.h, and inchash.h due to
6265 flattening of tree.h.
6266 * c-dump.c: Ditto.
6267 * c-format.c: Flatten tree.h header files into c-common.h.
6268 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6269 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6270 fold-const.h, wide-int.h, and inchash.h due to
6271 flattening of tree.h.
6272 * c-dump.c: Include hash-set.h, machmode.h,
6273 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6274 fold-const.h, wide-int.h, and inchash.h due to
6275 flattening of tree.h.
6276 * c-format.c: Include hash-set.h, machmode.h,
6277 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6278 fold-const.h, wide-int.h, inchash.h and real.h due to
6279 flattening of tree.h.
6280 * c-gimplify.c: Include hash-set.h, machmode.h,
6281 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6282 fold-const.h, wide-int.h, and inchash.h due to
6283 flattening of tree.h.
6284 * cilk.c: Ditto.
6285 * c-lex.c: Ditto.
6286 * c-omp.c: Ditto.
6287 * c-opts.c: Ditto.
6288 * c-pch.c: Ditto.
6289 * c-ppoutput.c: Ditto.
6290 * c-pragma.c: Ditto.
6291 * c-pretty-print.c: Ditto.
6292 * c-semantics.c: Ditto.
6293 * c-ubsan.c: Ditto.
6294 * stub-objc.c: Ditto.
6295
f5481fc4
JM
62962015-01-08 Jason Merrill <jason@redhat.com>
6297
6298 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6299 do_ubsan_in_current_function.
6300 (ubsan_maybe_instrument_reference_or_call): Likewise.
6301 * c-ubsan.h: Declare it.
6302
de35aa66
MS
63032015-01-08 Mike Stump <mikestump@comcast.net>
6304
6305 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6306
4a9a42ab
MP
63072015-01-07 Marek Polacek <polacek@redhat.com>
6308
6309 PR c/64440
6310 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6311 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6312
2f42e5de
TS
63132015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6314
6315 PR c++/31397
6316 * c.opt (Wsuggest-override): New option.
6317
5624e564
JJ
63182015-01-05 Jakub Jelinek <jakub@redhat.com>
6319
6320 Update copyright years.
6321
5bd012f8
MP
63222015-01-05 Marek Polacek <polacek@redhat.com>
6323
6324 PR c/64423
6325 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6326 parameter. Use it.
6327 * c-common.h (warn_array_subscript_with_type_char): Update
6328 declaration.
6329
a7fa8d18
ESR
63302014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6331
6332 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6333 Control macro with flag_sized_deallocation.
6334
3f8257db 63352014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
6336
6337 * c.opt (Wdiscarded-array-qualifiers): New option.
6338
1f8d3e84
JJ
63392014-12-19 Jakub Jelinek <jakub@redhat.com>
6340
6341 PR preprocessor/63831
6342 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6343 and __has_cpp_attribute here.
6344 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6345 c_common_has_attribute.
6346 * c-common.h (c_common_has_attribute): New prototype.
6347 * c-lex.c (init_c_lex): Set cb->has_attribute to
6348 c_common_has_attribute instead of cb_has_attribute.
6349 (get_token_no_padding): New function.
6350 (cb_has_attribute): Renamed to ...
6351 (c_common_has_attribute): ... this. No longer static. Use
6352 get_token_no_padding, require ()s, don't build TREE_LIST
6353 unnecessarily, fix up formatting, adjust diagnostics, call
6354 init_attributes.
6355
20b06add
JM
63562014-12-15 Jason Merrill <jason@redhat.com>
6357
6358 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6359 (-Wsized-deallocation): New.
6360 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6361 to on in C++14 and up.
6362
94a073b2
JM
63632014-12-11 Jason Merrill <jason@redhat.com>
6364
acaa5911
JM
6365 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6366
94a073b2
JM
6367 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6368 we aren't complaining about VLAs.
6369
7fb66c15
MP
63702014-12-06 Marek Polacek <polacek@redhat.com>
6371
6372 PR tree-optimization/64183
6373 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6374 shift-expression if it is integer_type_node. Use types_compatible_p.
6375
b731b390
JJ
63762014-11-29 Jakub Jelinek <jakub@redhat.com>
6377
6378 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6379 last argument from create_tmp_var_raw and create_tmp_var calls.
6380 * cilk.c (gimplify_cilk_spawn): Likewise.
6381 * c-omp.c (c_finish_omp_atomic): Likewise.
6382
6a4da643
MP
63832014-11-28 Marek Polacek <polacek@redhat.com>
6384
6385 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6386 instead of unsigned_type_node.
6387
541e35a6
MP
63882014-11-28 Marek Polacek <polacek@redhat.com>
6389
6390 PR c/63862
6391 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6392 to op1_utype.
6393 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6394 expression to unsigned_type_node.
6395
dcc97066
MW
63962014-11-20 Mark Wielaard <mjw@redhat.com>
6397
6398 PR debug/38757
6399 * c-opts.c (set_std_c89): Set lang_hooks.name.
6400 (set_std_c99): Likewise.
6401 (set_std_c11): Likewise.
6402 (set_std_cxx98): Likewise.
6403 (set_std_cxx11): Likewise.
6404 (set_std_cxx14): Likewise.
6405 (set_std_cxx1z): Likewise.
6406
aa7da51a
JJ
64072014-11-21 Jakub Jelinek <jakub@redhat.com>
6408
6409 PR target/63764
6410 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6411 return type to bool.
009a3480 6412 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
6413 (convert_vector_to_pointer_for_subscript): Change return type to
6414 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6415 and copy it into a TARGET_EXPR and use that instead of *vecp
6416 directly.
6417
538dd0b7
DM
64182014-11-19 David Malcolm <dmalcolm@redhat.com>
6419
6420 Merger of git branch "gimple-classes-v2-option-3".
6421 * ChangeLog.gimple-classes: New.
6422 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6423 from being just a vec<gimple> to a vec<gbind *>.
6424
c39a5e99
JJ
64252014-11-18 Jakub Jelinek <jakub@redhat.com>
6426
6427 PR sanitizer/63813
6428 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6429 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6430 get_pointer_alignment for non-pointers. Use ptype, or if it is
6431 reference type, corresponding pointer type, as type of kind
6432 argument.
6433 (ubsan_maybe_instrument_reference,
6434 ubsan_maybe_instrument_member_call): Adjust callers.
6435
8537a4a9
MP
64362014-11-15 Marek Polacek <polacek@redhat.com>
6437
6438 PR middle-end/63884
6439 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6440 for NULL fndecl.
6441 (extract_array_notation_exprs): Return for NULL node.
6442
2079956a
JM
64432014-11-12 Joseph Myers <joseph@codesourcery.com>
6444
6445 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6446 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6447
1304953e
JJ
64482014-11-12 Jakub Jelinek <jakub@redhat.com>
6449
6450 PR c/59708
6451 * c-common.c (check_builtin_function_arguments): Handle
6452 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6453
e5e44252
AK
64542014-11-10 Andi Kleen <ak@linux.intel.com>
6455
6456 PR c/60804
6457 * c-common.h (check_no_cilk): Declare.
6458 * cilk.c (get_error_location): New function.
6459 (check_no_cilk): Dito.
6460
e64b984d
AK
64612014-11-10 Andi Kleen <ak@linux.intel.com>
6462
6463 * cilk.c (recognize_spawn): Use expression location
6464 for error message.
6465
13c21655
PC
64662014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6467
6468 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6469
42fd12b1
ESR
64702014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6471
6472 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6473 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6474 (__cpp_range_based_for, __cpp_initializer_lists,
6475 __cpp_delegating_constructors, __cpp_nsdmi,
6476 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6477 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6478 __has_cpp_attribute.
6479 * c-lex.c (cb_has_attribute): New callback CPP function;
6480 (init_c_lex): Set has_attribute callback.
6481
6f450181
RB
64822014-11-04 Richard Biener <rguenther@suse.de>
6483
6484 * c-common.c (shorten_compare): Do not shorten mixed
6485 DFP and non-DFP compares.
6486
26f0e1d6
ESR
64872014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6488
6489 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6490 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6491 Commentary and rearrangement of tests.
6492 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6493 Commentary and rearrangement of tests.
ab20d992 6494 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
6495 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6496
ef4bddc2
RS
64972014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6498
6499 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6500 enum from machine_mode.
6501
c582198b
AM
65022014-10-28 Andrew MacLeod <amacleod@redhat.com>
6503
adfac8df
JJ
6504 * c-common.c: Adjust include files.
6505 * c-gimplify.c: Ditto.
6506 * cilk.c: Ditto.
6507 * c-pragma.c: Ditto.
6508 * c-ubsan.c: Ditto.
c582198b 6509
60393bbc
AM
65102014-10-27 Andrew MacLeod <amacleod@redhat.com>
6511
6512 * c-gimplify.c: Adjust include files.
6513
d723bb7c
MLI
65142014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6515
6516 PR c++/53061
6517 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6518 c_common_initialize_diagnostics.
6519 * c-common.h: Likewise.
6520
90f3520e
MP
65212014-10-24 Marek Polacek <polacek@redhat.com>
6522
6523 PR c/56980
6524 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6525 print "struct"/"union"/"enum" for typedefed names.
6526
59d7607a
MP
65272014-10-23 Marek Polacek <polacek@redhat.com>
6528
6529 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6530 in unsigned type.
6531
d95a2703
JJ
65322014-10-22 Jakub Jelinek <jakub@redhat.com>
6533 Yury Gribov <y.gribov@samsung.com>
6534
6535 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6536 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6537 instead of flag_sanitize_recover as bool flag.
6538
8e6ef852
KY
65392014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6540
6541 * cilk.c: Revert previous change.
6542
948cf550
IZ
65432014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6544
6545 PR c/63307
6546 * cilk.c: Include vec.h.
6547 (struct cilk_decls): New structure.
6548 (wrapper_parm_cb): Split this function to...
6549 (fill_decls_vec): ...this...
6550 (create_parm_list): ...and this.
6551 (compare_decls): New function.
6552 (for_local_cb): Remove.
6553 (wrapper_local_cb): Ditto.
6554 (build_wrapper_type): For now first traverse and fill vector of
6555 declarations then sort it and then deal with sorted vector.
6556 (cilk_outline): Ditto.
6557 (declare_one_free_variable): Ditto.
6558
92574c7c
MP
65592014-10-17 Marek Polacek <polacek@redhat.com>
6560
6561 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6562 * c.opt (Wimplicit-int): Initialize to -1.
6563
83685514
AM
65642014-10-16 Andrew MacLeod <amacleod@redhat.com>
6565
6566 * c-pragma.c: Adjust include files.
6567 * c-semantics.c: Likewise.
6568
5b8300ea
DD
65692014-10-16 DJ Delorie <dj@redhat.com>
6570
6571 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6572 multiples of bytes.
6573
5f83e90b
JM
65742014-10-14 Jason Merrill <jason@redhat.com>
6575
6576 PR c++/63455
6577 * c-common.h (CPP_PREPARSED_EXPR): New.
6578 (N_CP_TTYPES): Adjust.
6579
d73326ca
MP
65802014-10-15 Marek Polacek <polacek@redhat.com>
6581
6582 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6583
78a7c317
DD
65842014-10-14 DJ Delorie <dj@redhat.com>
6585
6586 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6587 types, not just __int128.
6588 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6589 types, not just __int128.
6590 (cpp_atomic_builtins): Round pointer sizes up.
6591 (type_suffix): Use type precision, not specific types.
6592 * c-common.c (c_common_reswords): Remove __int128 special case.
6593 (c_common_type_for_size): Check for all __intN types, not just
6594 __int128.
6595 (c_common_type_for_mode): Likewise.
6596 (c_common_signed_or_unsigned_type): Likewise.
6597 (c_build_bitfield_integer_type): Likewise.
6598 (c_common_nodes_and_builtins): Likewise.
6599 (keyword_begins_type_specifier): Likewise.
6600 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6601 __intN variants.
6602
2a22f99c
TS
66032014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6604
6605 * c-common.c: Use hash_table instead of hashtab.
6606
2a8ef767
ESR
66072014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6608
adfac8df 6609 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
6610 C++11 section.
6611
3c9aabbd
MG
66122014-10-03 Marc Glisse <marc.glisse@inria.fr>
6613
6614 PR c++/54427
6615 PR c++/57198
6616 PR c++/58845
6617 * c-common.c (warn_logical_operator): Punt for vectors.
6618
a15f7cb8
ESR
66192014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6620
6621 Implement SD-6: SG10 Feature Test Recommendations
6622 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6623 macros and the __has_header macro.
6624
8d0cf15e
JM
66252014-09-30 Jason Merrill <jason@redhat.com>
6626
dd5d5481
JM
6627 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6628 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6629 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6630
b752325e
JM
6631 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6632 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6633
8d0cf15e
JM
6634 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6635 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6636
083e891e
MP
66372014-09-24 Marek Polacek <polacek@redhat.com>
6638
6639 PR c/61405
6640 PR c/53874
6641 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6642
7861b648
AK
66432014-09-23 Andi Kleen <ak@linux.intel.com>
6644
6645 * c-common.c (handle_no_reorder_attribute): New function.
6646 (c_common_attribute_table): Add no_reorder attribute.
6647
9a79452d
JM
66482014-09-22 Joseph Myers <joseph@codesourcery.com>
6649
6650 * c-cppbuiltin.c (c_cpp_builtins): Define
6651 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6652 modes.
6653
dd69f047
JM
66542014-09-18 Joseph Myers <joseph@codesourcery.com>
6655
6656 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6657 for supported floating-point modes.
6658
737a4826
MLI
66592014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6660
6661 * c.opt (Wpsabi): Use LangEnabledBy.
6662 * c-opts.c (c_common_handle_option): Do not handle here.
6663
8cc4b7a2
JM
66642014-09-12 Joseph Myers <joseph@codesourcery.com>
6665
6666 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6667 macros for floating-point modes.
6668
179b5a55
MG
66692014-09-11 Marc Glisse <marc.glisse@inria.fr>
6670
6671 PR target/58757
6672 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6673 __*_DENORM_MIN__ without denormals.
6674
570a11fe
JJ
66752014-09-10 Jakub Jelinek <jakub@redhat.com>
6676
6677 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6678 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6679 ubsan_create_data callers.
6680 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6681 index is constant or BIT_AND_EXPR with constant mask and is
6682 small enough for the bound.
6683 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6684 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6685
b559c810
MLI
66862014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6687
6688 * c.opt: Add CppReason to various flags.
6689 (Wdate-time): Re-sort.
6690 * c-common.c: Include c-common.h earlier.
6691 (struct reason_option_codes_t): Delete.
6692 (c_option_controlling_cpp_error): Prefix global type and struct
6693 with cpp_.
6694
1ef33fd4
MLI
66952014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6696
6697 * c.opt (Wnormalized): New.
6698 (Wnormalized=): Use Enum and Reject Negative.
6699 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6700
66bb34c0
JM
67012014-09-08 Joseph Myers <joseph@codesourcery.com>
6702
6703 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6704 digits of floating-point modes if -fbuilding-libgcc.
6705
53d68b9f
JM
67062014-09-05 Joseph Myers <joseph@codesourcery.com>
6707
6708 * c-cppbuiltin.c (c_cpp_builtins): Also define
6709 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6710 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6711 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6712 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6713 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6714 __LIBGCC_STACK_GROWS_DOWNWARD__,
6715 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6716 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6717 __LIBGCC_DWARF_FRAME_REGISTERS__,
6718 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6719 __LIBGCC_STACK_POINTER_REGNUM__ and
6720 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6721 (builtin_define_with_value): Handle backslash-escaping in string
6722 macro values.
6723
f65586dc
RB
67242014-09-05 Richard Biener <rguenther@suse.de>
6725
6726 PR middle-end/63148
6727 * c-format.c (check_format_arg): Properly handle
6728 effectively signed POINTER_PLUS_EXPR offset.
6729
2b71f4a4
MLI
67302014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6731
6732 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6733 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6734 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6735 and Init.
6736 * c-opts.c (c_common_handle_option): Do not handle here.
6737 (sanitize_cpp_opts): Likewise.
6738 * c-common.c (struct reason_option_codes_t): Handle
6739 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6740
d2e4feca
MP
67412014-09-03 Marek Polacek <polacek@redhat.com>
6742
6743 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6744
9a771876
JJ
67452014-09-02 Jakub Jelinek <jakub@redhat.com>
6746 Balaji V. Iyer <balaji.v.iyer@intel.com>
6747 Igor Zamyatin <igor.zamyatin@intel.com>
6748
6749 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6750 * c-common.c (c_common_reswords): Added _Cilk_for.
6751 * c-common.h (enum rid): Added RID_CILK_FOR.
6752 (cilk_for_number_of_iterations): Add declaration.
6753 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6754 CILK_FOR.
6755 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6756 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6757
81b5d104
MLI
67582014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6759
6760 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6761 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6762 Wundef): Use CPP, Var and Init.
6763 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6764
b753b37b
MLI
67652014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6766
6767 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6768 * c-opts.c (c_common_handle_option): Do not handle here.
6769
028aee17
JM
67702014-08-25 Jason Merrill <jason@redhat.com>
6771
6772 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6773 -std=c++14 and -std=gnu++14, rather than the reverse.
6774 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6775 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6776 * c-common.h (cxx_dialect): Remove cxx1y.
6777
e4276ba5
ESR
67782014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6779
6780 * c-common.h (enum cxx_dialect): Add cxx14.
6781 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6782 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6783 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6784
a545cacd
JM
67852014-08-22 Jason Merrill <jason@redhat.com>
6786
6787 * c.opt (std=gnu++17): Fix alias.
6788
59ea0364
MP
67892014-08-22 Marek Polacek <polacek@redhat.com>
6790
6791 PR c++/62199
6792 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6793 check for vector types. Drop LHS argument.
6794 * c-common.h (warn_logical_not_parentheses): Adjust.
6795
596e808c
MLI
67962014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6797
6798 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6799 (Wmultichar): Likewise.
6800 (Wdate-time): Use C-family languages instead of Common. Use CPP
6801 and Var.
6802 * c-opts.c (c_common_handle_option): Do not handle the above
6803 options here.
6804 (sanitize_cpp_opts): Likewise.
6805
18767f65
MLI
68062014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6807
6808 PR fortran/44054
6809 * c-opts.c: Include tree-diagnostics.h.
6810 (c_diagnostic_finalizer): New.
6811 (c_common_initialize_diagnostics): Use it.
6812
b4413594
MLI
68132014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6814
6815 PR preprocessor/51303
6816 * c-common.c (struct reason_option_codes_t option_codes):
6817 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6818
43f9a13c
MLI
68192014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6820
6821 PR c/60975
6822 PR c/53063
6823 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6824 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6825 (c_common_post_options): Call init_global_opts_from_cpp.
6826 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6827
04159acf
MP
68282014-08-19 Marek Polacek <polacek@redhat.com>
6829
6830 PR c++/62153
6831 * c-common.c (maybe_warn_bool_compare): New function.
6832 * c-common.h (maybe_warn_bool_compare): Declare.
6833 * c.opt (Wbool-compare): New option.
6834
35aff4fb
MP
68352014-08-19 Marek Polacek <polacek@redhat.com>
6836
6837 * c.opt (Wc99-c11-compat): New option.
6838
177cce46
MP
68392014-08-19 Marek Polacek <polacek@redhat.com>
6840
6841 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6842 to warn_c90_c99_compat.
6843 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6844 to -1.
6845
6ae9194f
MLI
68462014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6847 Steven Bosscher <steven@gcc.gnu.org>
6848
6849 PR c/52952
6850 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6851 format_check_results.
6852 (check_function_format): Use true and add comment for boolean
6853 argument.
6854 (finish_dollar_format_checking): Use explicit location when warning.
6855 (check_format_info): Likewise.
6856 (check_format_arg): Set extra_arg_loc and format_string_loc.
6857 (check_format_info_main): Use explicit location when warning.
6858 (check_format_types): Pass explicit location.
6859 (format_type_warning): Likewise.
6860
8e54f6d3
MLI
68612014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6862
6863 PR fortran/44054
6864 * c-format.c: Handle Fortran flags.
6865
cd4e76fc
IZ
68662014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6867
6868 PR other/61962
6869 * array-notation-common.c (find_rank): Added handling for other
6870 types of references.
6871
f3bede71
MP
68722014-08-10 Marek Polacek <polacek@redhat.com>
6873
6874 PR c/51849
6875 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6876 * c.opt (Wc90-c99-compat): Add option.
6877
9f25a338
TS
68782014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6879
6880 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6881
62e4eb35
MP
68822014-08-03 Marek Polacek <polacek@redhat.com>
6883
ab20d992 6884 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
6885 (c_add_case_label): Pass loc to check_case_value.
6886
b787e7a2
TS
68872014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6888
6889 * cilk.c: Use hash_map instead of pointer_map.
6890
6e2830c3
TS
68912014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6892
6893 * c-gimplify.c: Use hash_set instead of pointer_set.
6894
a7ee52fb
IZ
68952014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6896
6897 PR middle-end/61455
6898 * array-notation-common.c (extract_array_notation_exprs): Handling
6899 of DECL_EXPR added.
6900
944fa280
JJ
69012014-08-01 Jakub Jelinek <jakub@redhat.com>
6902
6903 * c-common.h (min_align_of_type): Removed prototype.
6904 * c-common.c (min_align_of_type): Removed.
6905 * c-ubsan.h (ubsan_maybe_instrument_reference,
6906 ubsan_maybe_instrument_member_call): New prototypes.
6907 * c-ubsan.c: Include stor-layout.h and builtins.h.
6908 (ubsan_maybe_instrument_reference_or_call,
6909 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6910 functions.
6911
b4dfdc11
MG
69122014-07-31 Marc Glisse <marc.glisse@inria.fr>
6913
6914 PR c++/60517
6915 * c.opt (-Wreturn-local-addr): Move to common.opt.
6916
a41844e5
JM
69172014-07-30 Jason Merrill <jason@redhat.com>
6918
6919 PR c++/61659
6920 PR c++/61687
6921 Revert:
6922 * c.opt (-fuse-all-virtuals): New.
6923
976d5a22
TT
69242014-07-30 Tom Tromey <tromey@redhat.com>
6925
6926 PR c/59855
6927 * c.opt (Wdesignated-init): New option.
6928 * c-common.c (c_common_attribute_table): Add "designated_init".
6929 (handle_designated_init): New function.
6930
cdc94aca
MP
69312014-07-24 Marek Polacek <polacek@redhat.com>
6932
6933 PR c/57653
6934 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6935
f41373b6
DS
69362014-07-16 Dodji Seketeli <dodji@redhat.com>
6937
6938 PR preprocessor/60723 - missing system-ness marks for macro tokens
6939 * c-ppoutput.c (struct print::prev_was_system_token): New data
6940 member.
6941 (init_pp_output): Initialize it.
6942 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6943 (do_line_change): Return a flag saying if a line marker was
6944 emitted or not.
6945 (scan_translation_unit): Detect if the system-ness of the token we
6946 are about to emit is different from the one of the previously
6947 emitted token. If so, emit a line marker. Avoid emitting useless
6948 adjacent line markers. Avoid emitting line markers for tokens
6949 originating from the expansion of built-in macros.
6950 (scan_translation_unit_directives_only): Adjust.
6951
4d661eaa
MP
69522014-07-15 Marek Polacek <polacek@redhat.com>
6953
6954 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6955 TYPE_MAX_VALUE is NULL.
6956
b108f48f
JJ
69572014-07-14 Jakub Jelinek <jakub@redhat.com>
6958
6959 PR middle-end/61294
6960 * c.opt (Wmemset-transposed-args): New warning.
6961
c0221884
JM
69622014-07-10 Jason Merrill <jason@redhat.com>
6963
6964 PR c++/61659
6965 PR c++/61687
6966 * c.opt (-fuse-all-virtuals): New.
6967
63dfbb95
RB
69682014-07-09 Richard Biener <rguenther@suse.de>
6969
6970 PR c-family/61741
6971 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6972 using unsigned arithmetic if overflow does not wrap instead of
6973 if overflow is undefined.
6974
773ec47f
MP
69752014-07-06 Marek Polacek <polacek@redhat.com>
6976
6977 PR c/6940
6978 * c.opt (Wsizeof-array-argument): New option.
6979
00a7ba58
JJ
69802014-07-03 Jakub Jelinek <jakub@redhat.com>
6981
b1726d6c 6982 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6983 comments->count <= 1, as comments->entries might be NULL.
6984
52ec0ea3
MP
69852014-07-01 Marek Polacek <polacek@redhat.com>
6986
6987 * c.opt (Wint-conversion): New option.
6988
d5c3d343
MP
69892014-07-01 Marek Polacek <polacek@redhat.com>
6990
6991 PR c/58286
6992 * c.opt (Wincompatible-pointer-types): New option.
6993
6e7ceb17
PC
69942014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6995
6996 PR c++/51400
6997 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6998 Do not discard TYPE_QUALS of type.
6999
da73100b
JM
70002014-06-26 Jason Merrill <jason@redhat.com>
7001
7002 * c-common.h (enum cxx_dialect): Add cxx1z.
7003 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7004 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7005
08eedf75
TJ
70062014-06-26 Teresa Johnson <tejohnson@google.com>
7007
7008 * c-common.h (get_dump_info): Declare.
7009 * c-gimplify.c (c_genericize): Use saved dump files.
7010 * c-opts.c (c_common_parse_file): Begin and end dumps
7011 once around parsing invocation.
7012 (get_dump_info): New function.
7013
7b56b2f8
MP
70142014-06-23 Marek Polacek <polacek@redhat.com>
7015 Andrew MacLeod <amacleod@redhat.com>
7016
7017 PR c/61553
7018 * c-common.c (get_atomic_generic_size): Don't segfault if the
7019 type doesn't have a size.
7020
0e37a2f3
MP
70212014-06-20 Marek Polacek <polacek@redhat.com>
7022
7023 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7024 (ubsan_walk_array_refs_r): New function.
7025 (c_genericize): Instrument array bounds.
7026 * c-ubsan.c: Include "internal-fn.h".
7027 (ubsan_instrument_division): Mark instrumented arrays as having
7028 side effects. Adjust ubsan_type_descriptor call.
7029 (ubsan_instrument_shift): Likewise.
7030 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7031 (ubsan_instrument_bounds): New function.
7032 (ubsan_array_ref_instrumented_p): New function.
7033 (ubsan_maybe_instrument_array_ref): New function.
7034 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7035 (ubsan_array_ref_instrumented_p): Declare.
7036 (ubsan_maybe_instrument_array_ref): Declare.
7037
70382014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
7039
7040 PR lto/61123
7041 * c.opt (fshort-enums): Add to LTO.
7042 * c.opt (fshort-wchar): Likewise.
7043
5c3d09f7
MP
70442014-06-16 Marek Polacek <polacek@redhat.com>
7045
7046 PR c/60439
7047 * c.opt (Wswitch-bool): Add Var.
7048
9cf32741
JJ
70492014-06-12 Jakub Jelinek <jakub@redhat.com>
7050
7051 PR middle-end/61486
7052 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7053 #pragma omp target teams or
7054 #pragma omp {,target }teams distribute simd.
7055
62984918
JM
70562014-06-12 Jason Merrill <jason@redhat.com>
7057
7058 * c.opt (Wabi=, fabi-compat-version): New.
7059 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7060 (c_common_post_options): Handle flag_abi_compat_version default.
7061 Disallow -fabi-compat-version=1.
7062 * c-common.h (abi_version_crosses): New.
7063
f961457f
JH
70642014-06-11 Jan Hubicka <hubicka@ucw.cz>
7065
adfac8df 7066 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
7067 section names that are no longer trees.
7068
92d28cbb
JJ
70692014-06-10 Jakub Jelinek <jakub@redhat.com>
7070
7071 PR fortran/60928
7072 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7073 (omp_pragmas): ... back here.
7074
742938c9
MP
70752014-06-05 Marek Polacek <polacek@redhat.com>
7076
7077 PR c/49706
7078 * c-common.c (warn_logical_not_parentheses): New function.
7079 * c-common.h (warn_logical_not_parentheses): Declare.
7080 * c.opt (Wlogical-not-parentheses): New option.
7081
9d548dfb
MP
70822014-06-04 Marek Polacek <polacek@redhat.com>
7083
7084 PR c/30020
7085 * c-common.c (check_case_bounds): Add location parameter.
7086 Use it.
7087 (c_add_case_label): Pass loc to check_case_bounds.
7088
fedfecef
MP
70892014-06-03 Marek Polacek <polacek@redhat.com>
7090
7091 PR c/60439
7092 * c.opt (Wswitch-bool): New option.
7093
f6a7cffc
TS
70942014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7095
040d18b6
TS
7096 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7097 Remove prototypes.
7098 (record_types_used_by_current_var_decl): Move prototype to where
7099 it belongs.
7100
f6a7cffc
TS
7101 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7102 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7103 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7104
632f2871
RS
71052014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7106
7107 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7108 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7109 void_zero_node.
7110 * c-pretty-print.c (pp_c_void_constant): New function.
7111 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7112 (c_pretty_printer::expression): Handle VOID_CST.
7113 * cilk.c (extract_free_variables): Likewise.
7114 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7115 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7116
766090c2
TS
71172014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7118
7119 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7120 * c-pragma.c (push_alignment): Adjust.
7121 (handle_pragma_push_options): Likewise.
7122
661a0813
MP
71232014-05-09 Marek Polacek <polacek@redhat.com>
7124
7125 PR c/50459
7126 * c-common.c (check_user_alignment): Return -1 if alignment is error
7127 node.
7128 (handle_aligned_attribute): Don't call default_conversion on
7129 FUNCTION_DECLs.
7130 (handle_vector_size_attribute): Likewise.
7131 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7132 (handle_sentinel_attribute): Call default_conversion and allow even
7133 integral types as an argument.
7134
2793eeab
MP
71352014-05-08 Marek Polacek <polacek@redhat.com>
7136
7137 PR c/61053
7138 * c-common.c (min_align_of_type): New function factored out from...
7139 (c_sizeof_or_alignof_type): ...here.
7140 * c-common.h (min_align_of_type): Declare.
7141
f827930a
MP
71422014-05-08 Marek Polacek <polacek@redhat.com>
7143
7144 PR c/61077
7145 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7146 parameter type of main.
7147
ca49b74e
DD
71482014-05-07 DJ Delorie <dj@redhat.com>
7149
7150 * c-cppbuiltin.c (print_bits_of_hex): New.
7151 (builtin_define_type_minmax): Print values using hex so as not to
7152 require a pre-computed list of string values.
7153
1d60af08
KZ
71542014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7155 Mike Stump <mikestump@comcast.net>
7156 Richard Sandiford <rdsandiford@googlemail.com>
7157
7158 * c-ada-spec.c: Include wide-int.h.
7159 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7160 (dump_generic_ada_node): Use wide-int interfaces.
7161 * c-common.c: Include wide-int-print.h.
7162 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7163 (pointer_int_sum): Use wide-int interfaces.
7164 (c_common_nodes_and_builtins): Use make_int_cst.
7165 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7166 (handle_alloc_size_attribute): Use wide-int interfaces.
7167 (get_nonnull_operand): Likewise.
7168 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7169 * c-lex.c: Include wide-int.h.
7170 (narrowest_unsigned_type): Take a widest_int rather than two
7171 HOST_WIDE_INTs.
7172 (narrowest_signed_type): Likewise.
7173 (interpret_integer): Update accordingly. Use wide-int interfaces.
7174 (lex_charconst): Use wide-int interfaces.
7175 * c-pretty-print.c: Include wide-int.h.
7176 (pp_c_integer_constant): Use wide-int interfaces.
7177 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7178 INT_CST_LT_UNSIGNED.
7179
b15458be
RB
71802014-05-06 Richard Biener <rguenther@suse.de>
7181
7182 * c-opts.c (c_common_post_options): For -freestanding,
7183 -fno-hosted and -fno-builtin disable pattern recognition
7184 if not enabled explicitely.
7185
6577374e
MP
71862014-05-02 Marek Polacek <polacek@redhat.com>
7187
7188 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7189
d00887e8
MP
71902014-05-01 Marek Polacek <polacek@redhat.com>
7191
7192 PR c/43245
7193 * c.opt (Wdiscarded-qualifiers): Add.
7194
f8ed5150
MP
71952014-04-30 Marek Polacek <polacek@redhat.com>
7196
7197 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7198 INT_MIN / -1 sanitization only for integer types.
7199
45484dcf
MP
72002014-04-25 Marek Polacek <polacek@redhat.com>
7201
7202 PR c/18079
7203 * c-common.c (handle_noinline_attribute): Warn if the attribute
7204 conflicts with always_inline attribute.
7205 (handle_always_inline_attribute): Warn if the attribute conflicts
7206 with noinline attribute.
7207
38e514c0
MP
72082014-04-25 Marek Polacek <polacek@redhat.com>
7209
7210 PR c/60156
7211 * c-common.c (check_main_parameter_types): Warn about variadic main.
7212
44875f92
MS
72132014-04-24 Mike Stump <mikestump@comcast.net>
7214
7215 * c.opt (Wshadow-ivar): Default to on.
7216
dcaaa5a0
DP
72172014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7218
7219 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7220
c07d7c02
MP
72212014-04-23 Marek Polacek <polacek@redhat.com>
7222
7223 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7224
1c33c9b7
JJ
72252014-04-22 Jakub Jelinek <jakub@redhat.com>
7226
7227 PR sanitizer/60275
7228 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7229 if flag_sanitize_undefined_trap_on_error.
7230 (ubsan_instrument_division, ubsan_instrument_shift,
7231 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7232 if !flag_sanitize_recover.
7233
793c625f
MG
72342014-04-22 Marc Glisse <marc.glisse@inria.fr>
7235
7236 PR libstdc++/43622
7237 * c-common.c (registered_builtin_types): Make non-static.
7238 * c-common.h (registered_builtin_types): Declare.
7239
b0f1bf36 72402014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 7241 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
7242
7243 PR c/60819
7244 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7245 apply may-alias the scalar pointer type when applicable.
7246
3b07fa4a
IZ
72472014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7248
7249 PR middle-end/60467
7250 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7251 as possible argument for Cilk_spawn.
7252
cbbd2b1c
TB
72532014-04-11 Tobias Burnus <burnus@net-b.de>
7254
7255 PR c/60194
7256 * c.opt (Wformat-signedness): Add
7257 * c-format.c(check_format_types): Use it.
7258
6415bd5d
JM
72592014-04-11 Jason Merrill <jason@redhat.com>
7260
7261 PR c++/57926
7262 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7263 default_conversion for an array argument.
7264
6525783a
MP
72652014-04-08 Marek Polacek <polacek@redhat.com>
7266
7267 PR sanitizer/60745
7268 * c-ubsan.c: Include asan.h.
7269 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7270
880a467b
NS
72712014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7272
7273 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7274
7b59ff2d
MP
72752014-04-02 Marek Polacek <polacek@redhat.com>
7276
7277 * c-common.h (c_expand_expr): Remove declaration.
7278
8edbfaa6
JJ
72792014-03-28 Jakub Jelinek <jakub@redhat.com>
7280
7281 PR c++/60689
7282 * c-common.c (add_atomic_size_parameter): When creating new
7283 params vector, push the size argument first.
7284
07d72e1d
JJ
72852014-03-26 Jakub Jelinek <jakub@redhat.com>
7286
7287 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7288 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7289 ubsan_create_data callers.
7290
b35e0fa0
JJ
72912014-03-22 Jakub Jelinek <jakub@redhat.com>
7292
7293 PR debug/60603
7294 * c-opts.c (c_finish_options): Restore cb_file_change call to
7295 <built-in>.
7296
39a1ebb3
JJ
72972014-03-13 Jakub Jelinek <jakub@redhat.com>
7298
7299 PR middle-end/36282
7300 * c-pragma.c (apply_pragma_weak): Only look at
7301 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7302 DECL_ASSEMBLER_NAME_SET_P (decl).
7303 (maybe_apply_pending_pragma_weaks): Exit early if
7304 vec_safe_is_empty (pending_weaks) rather than only when
7305 !pending_weaks.
7306 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7307 set assembler name back to NULL afterwards.
7308
a07f6ed2
JM
73092014-03-11 Jason Merrill <jason@redhat.com>
7310
7311 * c.opt: Add -std=gnu++14.
7312
75b107f5
IB
73132014-03-11 Ian Bolton <ian.bolton@arm.com>
7314
7315 * c-opts.c (c_common_post_options): Don't override
7316 -ffp-contract=fast if unsafe-math-optimizations is on.
7317
f42c637e
PM
73182014-03-08 Paulo Matos <paulo@matos-sorge.com>
7319
22b15758 7320 * c.opt: Enable LTO FE for fshort-double.
f42c637e 7321
70e24808
JM
73222014-03-07 Jason Merrill <jason@redhat.com>
7323
7324 * c.opt: Add -std=c++14.
7325
3af9c5e9
MP
73262014-03-06 Marek Polacek <polacek@redhat.com>
7327
7328 PR c/60197
7329 * cilk.c (contains_cilk_spawn_stmt): New function.
7330 (contains_cilk_spawn_stmt_walker): Likewise.
7331 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7332 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7333
b3bdf019
JJ
73342014-03-03 Jakub Jelinek <jakub@redhat.com>
7335
7336 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7337 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7338 even when flag_preprocess_only.
7339
ca7e759d
JM
73402014-02-26 Jason Merrill <jason@redhat.com>
7341
7342 PR c++/59231
7343 PR c++/11586
7344 * c-common.c (shorten_compare): Don't check
7345 c_inhibit_evaluation_warnings.
7346
28e41874
JJ
73472014-02-19 Jakub Jelinek <jakub@redhat.com>
7348
cca615af
JJ
7349 PR c/37743
7350 * c-common.c (c_common_nodes_and_builtins): When initializing
7351 c_uint{16,32,64}_type_node, also set corresponding
7352 uint{16,32,64}_type_node to the same value.
7353
28e41874
JJ
7354 PR c++/60267
7355 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7356 for PRAGMA_IVDEP if flag_preprocess_only.
7357
c2bf53a1
JJ
73582014-02-12 Jakub Jelinek <jakub@redhat.com>
7359
7360 PR c/60101
7361 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7362 if false, add ADD itself, rather than vice versa.
7363 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7364 copy. For SAVE_EXPR, only call merge_tlist once.
7365
8fcbce72
JJ
73662014-02-08 Jakub Jelinek <jakub@redhat.com>
7367
7368 PR middle-end/60092
7369 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7370 and tree_to_uhwi.
7371 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7372 functions.
7373 (c_common_attribute_table): Add alloc_align and assume_aligned
7374 attributes.
7375
0a756a3f
MP
73762014-02-06 Marek Polacek <polacek@redhat.com>
7377
7378 PR c/60087
7379 * c-common.c (warn_for_sign_compare): Call warning_at with location
7380 instead of warning.
7381
7ec4847a
MP
73822014-02-05 Marek Polacek <polacek@redhat.com>
7383
7384 PR c/53123
7385 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7386 statement.
7387
66f20604
MP
73882014-02-04 Marek Polacek <polacek@redhat.com>
7389
7390 PR c/60036
7391 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7392 SAVE_EXPR.
7393
5d77fb19
MG
73942014-02-03 Marc Glisse <marc.glisse@inria.fr>
7395
7396 PR c++/53017
7397 PR c++/59211
7398 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7399 handle_vector_size_attribute, handle_nonnull_attribute): Call
7400 default_conversion on the attribute argument.
7401 (handle_nonnull_attribute): Increment the argument number.
7402
81e5eca8
MP
74032014-01-31 Marek Polacek <polacek@redhat.com>
7404
7405 PR c/59963
7406 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7407 build_function_call_vec.
7408 (resolve_overloaded_builtin): Likewise.
7409 * c-common.h (build_function_call_vec): Adjust declaration.
7410
68fca595
MP
74112014-01-30 Marek Polacek <polacek@redhat.com>
7412
7413 PR c/59940
7414 * c-common.h (unsafe_conversion_p): Adjust declaration.
7415 (warnings_for_convert_and_check): Likewise.
7416 (convert_and_check): Likewise.
7417 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7418 expansion_point_location_if_in_system_header on it.
7419 (warnings_for_convert_and_check): Add location parameter. Call
7420 expansion_point_location_if_in_system_header on it. Use it.
7421 (convert_and_check): Add location parameter. Use it.
7422 (conversion_warning): Likewise.
7423 (c_add_case_label): Adjust convert_and_check calls.
7424 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7425
b72271b9
BI
74262014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7427
7428 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7429 flag_cilkplus.
7430 * c-pragma.c (init_pragma): Likewise.
7431 * c.opt: Likewise.
7432
393e8e8b
MP
74332014-01-23 Marek Polacek <polacek@redhat.com>
7434
7435 PR c/59846
7436 * c-common.c (shorten_compare): Add location_t parameter.
7437 * c-common.h (shorten_binary_op): Adjust declaration.
7438
f04dda30
MP
74392014-01-23 Marek Polacek <polacek@redhat.com>
7440
7441 PR c/58346
7442 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7443 * c-common.h: Declare it.
7444
621955cb
EB
74452014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7446
7447 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7448 * c-ada-spec.c (dump_ads): Likewise.
7449 (cpp_check): Likewise.
7450 (dump_ada_specs): Likewise.
7451
74522014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
7453
7454 PR c++/49718
7455 * c-common.c (handle_no_instrument_function_attribute): Allow
7456 no_instrument_function attribute in class member
7457 definition/declaration.
7458
241f845a
JJ
74592014-01-15 Jakub Jelinek <jakub@redhat.com>
7460
7461 PR c/58943
7462 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7463 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7464 being COMPOUND_EXPR.
7465 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7466 operand a SAVE_EXPR and second MODIFY_EXPR.
7467
e83b8e2e
JJ
74682014-01-09 Jakub Jelinek <jakub@redhat.com>
7469
7470 PR target/58115
7471 * c-pch.c (c_common_write_pch): Call
7472 prepare_target_option_nodes_for_pch.
7473
23a5b65a
RS
74742014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7475
7476 Update copyright years
7477
f9030485
RS
74782014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7479
7480 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7481 the copyright notice.
7482
f2aa696b
EB
74832013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7484
7485 * c-ada-spec.c (print_constructor): New function.
7486 (print_destructor): Retrieve the origin of the destructor.
7487 (print_ada_declaration): Revamp handling of constructors/destructors.
7488
3f8257db 74892013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
7490 Bill Maddox <maddox@google.com>
7491 Jason Merrill <jason@redhat.com>
7492
7493 * c.opt: Add -fdeclone-ctor-dtor.
7494 * c-opts.c (c_common_post_options): Default to on iff -Os.
7495
41958c28
BI
74962013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7497
7498 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7499 attribute.
7500 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 7501 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
7502 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7503 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7504 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7505 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7506 PRAGMA_CILK_CLAUSE_UNIFORM.
7507
b1726d6c 7508
12893402
BI
75092013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7510
7511 * cilk.c (cilk_outline): Made this function non-static.
7512 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7513 (create_cilk_wrapper): Added a new parameter: a function pointer.
7514 (c_install_body_w_frame_cleanup): Remove
7515 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7516 * c-common.h (cilk_outline): New prototype.
7517 (gimplify_cilk_spawn): Removed two parameters.
7518 (cilk_install_body_with_frame_cleanup): New prototype.
7519 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7520 CILK_SPAWN_STMT case.
7521
085b42ed
BS
75222013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7523
2ce064c3
BS
7524 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7525
085b42ed
BS
7526 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7527 (int_array_type_node): Remove.
7528 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7529
9e36c9ed
MP
75302013-12-05 Marek Polacek <polacek@redhat.com>
7531
7532 PR c/52023
7533 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7534 [ADJUST_FIELD_ALIGN].
7535
296674db
JM
75362013-12-04 Joseph Myers <joseph@codesourcery.com>
7537
7538 PR c/52023
7539 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7540 and check field alignment if set.
7541 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7542 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7543
b1726d6c 75442013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
7545 Marek Polacek <polacek@redhat.com>
7546
7547 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7548 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7549
d7947e19
L
75502013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7551
7552 PR c/59309
7553 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7554 arguments.
7555
fad7652e
JJ
75562013-11-29 Jakub Jelinek <jakub@redhat.com>
7557
7558 PR c/59280
7559 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7560 goto invalid. If it is error_mark_node, don't issue further
7561 diagnostics.
7562
8b5e1202
SO
75632013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7564
7565 * c.opt (Wopenmp-simd): New.
7566
0a508bb6
JJ
75672013-11-22 Jakub Jelinek <jakub@redhat.com>
7568
7569 * c-ubsan.h (ubsan_instrument_return): New prototype.
7570 * c-ubsan.c (ubsan_instrument_return): New function.
7571
2fb9a547
AM
75722013-11-22 Andrew MacLeod <amacleod@redhat.com>
7573
7574 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
7575 * c-gimplify.c: Likewise.
7576 * cilk.c: Likewise.
2fb9a547 7577
8400e75e
DM
75782013-11-22 David Malcolm <dmalcolm@redhat.com>
7579
7580 * c-common.c (unsafe_conversion_p): Remove use of
7581 EXPR_LOC_OR_HERE macro.
7582 (conversion_warning): Likewise.
7583 (warnings_for_convert_and_check): Likewise.
7584 (warn_for_collisions_1): Likewise.
7585 (shorten_compare): Likewise, and remove use of in_system_header
7586 macro, using the location from the former.
7587 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7588 (cb_def_pragma): Remove use of in_system_header macro.
7589 (lex_string): Likewise.
7590 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7591
eb1ce453
KZ
75922013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7593 Mike Stump <mikestump@comcast.net>
7594 Richard Sandiford <rdsandiford@googlemail.com>
7595
7596 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7597 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7598 tree_fits_shwi_p or tree_fits_uhwi_p.
7599 (dump_generic_ada_node): Likewise.
7600 * c-format.c (check_format_arg): Likewise.
7601 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7602
6b3b8c27
KZ
76032013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7604
7605 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7606
49b0aa18
JC
76072013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7608
7609 PR c/53001
7610 * c-common.c (unsafe_conversion_p): Make this function
7611 return an enumeration with more detail.
7612 (conversion_warning): Use the new return type of
7613 unsafe_conversion_p to separately warn either about conversions
7614 that lower floating point number precision or about the other
7615 kinds of conversions.
7616 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
7617 (unsafe_conversion_p): switching return type to
7618 conversion_safety enumeration.
49b0aa18
JC
7619 * c.opt: Adding new warning -Wfloat-conversion and
7620 enabling it with -Wconversion.
7621
b826515a
BS
76222013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7623
8e745a17
JJ
7624 * c-opts.c: Include plugin.h.
7625 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 7626
b9a55b13
MP
76272013-11-19 Marek Polacek <polacek@redhat.com>
7628
7629 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7630 call.
7631 (ubsan_instrument_shift): Likewise.
7632 (ubsan_instrument_vla): Likewise.
7633
7d362f6c
RS
76342013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7635
7636 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7637 cast to unsigned type.
7638
386b1f1f
RS
76392013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7640
7641 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7642 tree_low_cst.
7643 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7644 rather than tree_low_cst.
7645
ae7e9ddd
RS
76462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7647
7648 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7649 tree_to_uhwi throughout.
7650
9439e9a1
RS
76512013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7652
7653 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7654 tree_low_cst (..., 0) with tree_to_shwi throughout.
7655
cc269bb6
RS
76562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7657
7658 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7659 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7660
9541ffee
RS
76612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7662
7663 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7664 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7665
c02065fc
AH
76662013-11-15 Aldy Hernandez <aldyh@redhat.com>
7667
7668 * c-cilkplus.c: New file.
7669 * c-common.c (readonly_error): Add location argument.
7670 * c-common.h (readonly_error): Same.
7671 (c_finish_cilk_clauses): Protoize.
7672 (c_check_cilk_loop): Same.
7673 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7674 Do not fail on error_mark_node.
7675 Abstract increment canonicalization to here...
7676 (c_omp_for_incr_canonicalize_ptr): New.
7677 c-pragma.c (init_pragma): Register "simd" pragma.
7678 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7679 (enum pragma_cilk_clause): New.
7680
9cc65f15
RS
76812013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7682
7683 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7684 wchar_type and host_integerp checks.
7685
18f429e2
AM
76862013-11-14 Andrew MacLeod <amacleod@redhat.com>
7687
7688 * c-common.c: Likewise.
7689 * c-gimplify.c: Likewise.
7690 * cilk.c: Likewise.
7691
d8a2d370
DN
76922013-11-14 Diego Novillo <dnovillo@google.com>
7693
7694 * c-common.c: Include fold-const.h.
7695 Include stor-layout.h.
7696 Include calls.h.
7697 Include stringpool.h.
7698 Include attribs.h.
7699 Include varasm.h.
7700 Include trans-mem.h.
7701 * c-cppbuiltin.c: Include stor-layout.h.
7702 Include stringpool.h.
7703 * c-format.c: Include stringpool.h.
7704 * c-lex.c: Include stringpool.h.
7705 Include stor-layout.h.
7706 * c-pragma.c: Include stringpool.h.
7707 Include attribs.h.
7708 Include varasm.h.
7709 Include gcc-symtab.h.
7710 * c-pretty-print.c: Include stor-layout.h.
7711 Include attribs.h.
7712 * cilk.c: Include stringpool.h.
7713 Include calls.h.
7714
38b7bc7f
JM
77152013-11-13 Joseph Myers <joseph@codesourcery.com>
7716
7717 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7718 * c-common.c (c_common_reswords): Add __auto_type.
7719 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7720
45b0be94
AM
77212013-11-12 Andrew MacLeod <amacleod@redhat.com>
7722
18f429e2
AM
7723 * c-common.c: Include gimplify.h.
7724 * c-gimplify.c: Likewise.
7725 * cilk.c: Likewise.
7726 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7727 * c-ubsan.c: Don't include gimple.h.
45b0be94 7728
582d9b50
JM
77292013-11-12 Joseph Myers <joseph@codesourcery.com>
7730
7731 * c-common.c (c_common_reswords): Add _Thread_local.
7732
6b28e197
JM
77332013-11-09 Joseph Myers <joseph@codesourcery.com>
7734
7735 * c-common.c (atomic_size_supported_p): New function.
7736 (resolve_overloaded_atomic_exchange)
7737 (resolve_overloaded_atomic_compare_exchange)
7738 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7739 Use it instead of comparing size with a local list of sizes.
7740
267bac10
JM
77412013-11-07 Andrew MacLeod <amacleod@redhat.com>
7742 Joseph Myers <joseph@codesourcery.com>
7743
7744 * c-common.h (enum rid): Add RID_ATOMIC.
7745 * c-common.c (c_common_reswords): Add _Atomic.
7746 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7747 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7748 * c-format.c (check_format_types): Check for extra _Atomic
7749 qualifiers in format argument.
7750 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7751 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7752
5157b91e
TB
77532013-11-06 Tobias Burnus <burnus@net-b.de>
7754
7755 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7756
6dbe0958
JM
77572013-11-06 Joseph Myers <joseph@codesourcery.com>
7758
7759 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7760 standards modes.
7761 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7762 to mean lack of IEEE 754 support.
7763
e8ff5196
TB
77642013-11-05 Tobias Burnus <burnus@net-b.de>
7765
7766 * c.opt (-Wdate-time): New option
7767 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7768
254a0760
JM
77692013-11-05 Joseph Myers <joseph@codesourcery.com>
7770
7771 * c-cppbuiltin.c (cpp_iec_559_value): Test
7772 flag_excess_precision_cmdline not flag_excess_precision.
7773
6d7f7e0a
TB
77742013-11-05 Tobias Burnus <burnus@net-b.de>
7775
7776 * c.opt (fopenmp-simd): New option.
7777 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7778 (omp_pragmas): ... this new struct.
7779 (c_pp_lookup_pragma): Also walk omp_pragmas.
7780 (init_pragma): Init pragmas for -fopenmp-simd.
7781
55a7f02f
MP
77822013-11-04 Marek Polacek <polacek@redhat.com>
7783
7784 PR c++/58979
7785 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7786
9193fb05
JM
77872013-11-04 Joseph Myers <joseph@codesourcery.com>
7788
7789 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7790 New functions.
7791 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7792
94159ecf
EB
77932013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7794
7795 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7796 (dump_ada_specs): Adjust prototype of second callback.
7797 * c-ada-spec.c (cpp_check): New global variable.
7798 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7799 (print_generic_ada_decl): Likewise.
7800 (has_static_fields): Change return type to bool and add guard.
7801 (has_nontrivial_methods): New predicate.
7802 (is_tagged_type): Change return type to bool.
7803 (separate_class_package): Call has_nontrivial_methods.
7804 (pp_ada_tree_identifier): Minor tweaks.
7805 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7806 (dump_ada_array_domains): Likewise.
7807 (dump_ada_array_type): Likewise.
7808 (dump_template_types): Remove cpp_check parameter and do not pass it to
7809 dump_generic_ada_node.
7810 (dump_ada_template): Likewise.
7811 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7812 recursively.
7813 (print_ada_methods): Change return type to integer. Remove cpp_check
7814 parameter and do not pass it down.
7815 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7816 dump_generic_ada_node.
7817 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7818 accessing methods.
7819 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7820 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7821 value of print_ada_methods.
7822 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7823 Set cpp_check to it before invoking dump_ada_nodes.
7824 (dump_ada_specs): Likewise.
7825
b906f4ca
MP
78262013-11-03 Marek Polacek <polacek@redhat.com>
7827
7828 * c-ubsan.c: Don't include hash-table.h.
7829 (ubsan_instrument_vla): New function.
7830 * c-ubsan.h: Declare it.
7831
5e20cdc9
DM
78322013-10-31 David Malcolm <dmalcolm@redhat.com>
7833
7834 Automated part of renaming of symtab_node_base to symtab_node.
7835
7836 Patch autogenerated by rename_symtab.py from
7837 https://github.com/davidmalcolm/gcc-refactoring-scripts
7838 revision 58bb219cc090b2f4516a9297d868c245495ee622
7839
7840 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7841 symtab_node_base to symtab_node.
7842
7057e645
ESR
78432013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7844
8e745a17 7845 Implement C++14 digit separators.
7057e645
ESR
7846 * c-lex.c (interpret_float): Remove digit separators from scratch string
7847 before building real literal.
7848
193ea7bc
JJ
78492013-10-30 Jakub Jelinek <jakub@redhat.com>
7850
7851 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7852
939b37da
BI
78532013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7854
7855 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7856 fields.
7857 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7858 enabled.
7859 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7860 (insert_cilk_frame): New prototype.
7861 (cilk_init_builtins): Likewise.
7862 (gimplify_cilk_spawn): Likewise.
7863 (c_cilk_install_body_w_frame_cleanup): Likewise.
7864 (cilk_detect_spawn_and_unwrap): Likewise.
7865 (cilk_set_spawn_marker): Likewise.
7866 (build_cilk_sync): Likewise.
7867 (build_cilk_spawn): Likewise.
7868 * cilk.c: New file.
7869
67348ccc
DM
78702013-10-29 David Malcolm <dmalcolm@redhat.com>
7871
7872 Patch autogenerated by refactor_symtab.py from
7873 https://github.com/davidmalcolm/gcc-refactoring-scripts
7874 revision 58bb219cc090b2f4516a9297d868c245495ee622
7875
7876 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7877 to a true class hierarchy.
7878 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7879
d570872d
RS
78802013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7881
7882 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7883
98906124
JL
78842013-10-26 Jeff Law <law@redhat.com>
7885
adfac8df
JJ
7886 * c-common.c (c_define_builtins): Remove mudflap support.
7887 * c.opt: Ignore and warn for mudflap options.
98906124 7888
d73749df 78892013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7890
7891 PR other/33426
7892 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7893 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7894
3f04b1bb
JM
78952013-10-23 Jason Merrill <jason@redhat.com>
7896
7897 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7898
acf0174b
JJ
78992013-10-11 Jakub Jelinek <jakub@redhat.com>
7900
acd15a28
JJ
7901 * c-common.h (omp_clause_mask::operator !=): New method.
7902 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7903 instead of if (mask & something) tests everywhere.
7904
acf0174b
JJ
7905 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7906 201307 instead of 201107.
7907 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7908 (c_common_attribute_table): Add "omp declare target" and
7909 "omp declare simd" attributes.
7910 (handle_omp_declare_target_attribute,
7911 handle_omp_declare_simd_attribute): New functions.
7912 * c-omp.c: Include c-pragma.h.
7913 (c_finish_omp_taskgroup): New function.
7914 (c_finish_omp_atomic): Add swapped argument, if true,
7915 build the operation first with rhs, lhs arguments and use NOP_EXPR
7916 build_modify_expr.
7917 (c_finish_omp_for): Add code argument, pass it down to make_code.
7918 (c_omp_split_clauses): New function.
7919 (c_split_parallel_clauses): Removed.
7920 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7921 c_omp_declare_simd_clauses_to_decls): New functions.
7922 * c-common.h (omp_clause_mask): New type.
7923 (OMP_CLAUSE_MASK_1): Define.
7924 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7925 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7926 omp_clause_mask::operator |, omp_clause_mask::operator &,
7927 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7928 omp_clause_mask::operator ==): New methods.
7929 (enum c_omp_clause_split): New.
7930 (c_finish_omp_taskgroup): New prototype.
7931 (c_finish_omp_atomic): Add swapped argument.
7932 (c_finish_omp_for): Add code argument.
7933 (c_omp_split_clauses): New prototype.
7934 (c_split_parallel_clauses): Removed.
7935 (c_omp_declare_simd_clauses_to_numbers,
7936 c_omp_declare_simd_clauses_to_decls): New prototypes.
7937 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7938 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7939 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7940 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7941 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7942 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7943 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7944 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7945 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7946 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7947 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7948 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7949 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7950 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7951 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7952 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7953 PRAGMA_OMP_CLAUSE_UNIFORM.
7954
826cacfe
MG
79552013-10-09 Marc Glisse <marc.glisse@inria.fr>
7956
7957 PR tree-optimization/20318
7958 * c-common.c (handle_returns_nonnull_attribute): New function.
7959 (c_common_attribute_table): Add returns_nonnull.
7960
2284b034
MG
79612013-10-03 Marc Glisse <marc.glisse@inria.fr>
7962
7963 PR c++/19476
7964 * c.opt (fcheck-new): Move to common.opt.
7965
b56e9788
MP
79662013-09-25 Marek Polacek <polacek@redhat.com>
7967 Jakub Jelinek <jakub@redhat.com>
7968
7969 PR sanitizer/58413
7970 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7971 an expression if we can prove it is correct.
7972 (ubsan_instrument_division): Likewise. Remove unnecessary
7973 check.
7974
ce6923c5
MP
79752013-09-18 Marek Polacek <polacek@redhat.com>
7976
7977 PR sanitizer/58411
7978 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7979 Declare it.
7980 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7981
fb5610fb
IS
79822013-09-14 Iain Sandoe <iain@codesourcery.com>
7983
7984 PR target/48094
7985 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7986 fobjc-gc, freplace-objc-classes): Accept for LTO.
7987
88b0e79e
JC
79882013-09-13 Jacek Caban <jacek@codeweavers.com>
7989
7990 * c-target.def: New hook
7991
c9b0866a
PC
79922013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7993
7994 PR c++/43452
7995 * c.opt (Wdelete-incomplete): Add.
7996
0af94e6f
JR
79972013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7998
7999 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8000 (vector_types_compatible_elements_p): New function.
8001 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8002 declaration.
8003 (vector_types_compatible_elements_p): Declare.
8004
7c26172c
GDR
80052013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8006
8007 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8008 a virtual member function.
8009 (pp_simple_type_specifier): Remove.
8010 (pp_c_type_specifier): Likewise.
8011 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8012 Rename from pp_c_type_specifier. Adjust.
8013 (c_pretty_printer::c_pretty_printer): Do not assign to
8014 simple_type_specifier.
8015
20059c8b
GDR
80162013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8017
8018 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8019 member function.
8020 (c_pretty_printer::storage_class_specifier): Likewise.
8021 (c_pretty_printer::initializer): Likewise.
8022 (pp_declaration): Remove.
8023 (pp_declaration_specifiers): Likewise.
8024 (pp_abstract_declarator): Likewise.
8025 (pp_declarator): Likewise.
8026 (pp_type_id): Likewise.
8027 (pp_statement): Likewise.
8028 (pp_constant): Likewise.
8029 (pp_id_expression): Likewise.
8030 (pp_primary_expression): Likewise.
8031 (pp_unary_expression): Likewise.
8032 (pp_multiplicative_expression): Likewise.
8033 (pp_conditional_expression): Likewise.
8034 (pp_assignment_expression): Likewise.
8035 (pp_expression): Likewise.
8036 (pp_c_type_id): Likewise.
8037 (pp_c_storage_class_specifier): Likewise.
8038 * c-pretty-print.c (pp_c_type_cast): Tidy.
8039 (pp_c_pointer): Likewise.
8040 (pp_c_type_specifier): Likewise.
8041 (pp_c_parameter_type_list): Likewise.
8042 (pp_c_function_definition): Likewise.
8043 (pp_c_init_declarator): Likewise.
8044 (pp_c_initializer_list): Likewise.
8045 (pp_c_constructor_elts): Likewise.
8046 (c_pretty_printer::direct_abstract_declarator): Likewise.
8047 (c_pretty_printer::declaration_specifiers): Likewise.
8048 (c_pretty_printer::primary_expression): Likewise.
8049 (c_pretty_printer::postfix_expression): Likewise.
8050 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8051 (c_pretty_printer::storage_class_specifier): Rename from
8052 pp_c_storage_class_specifier.
8053 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8054 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8055 storage_class_specifier, initializer, offset_list, flags.
8056
de5a5fa1
MP
80572013-08-30 Marek Polacek <polacek@redhat.com>
8058
8059 * c-ubsan.c: New file.
8060 * c-ubsan.h: New file.
8061
8f0e4d72
GDR
80622013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8063
8064 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8065 member function.
8066 (c_pretty_printer::declaration_specifiers): Likewise.
8067 (c_pretty_printer::declarator): Likewise.
8068 (c_pretty_printer::abstract_declarator): Likewise.
8069 (c_pretty_printer::direct_abstract_declarator): Likewise.
8070 (c_pretty_printer::direct_declarator): Likewise.
8071 (c_pretty_printer::function_specifier): Likewise.
8072 (pp_declaration): Adjust.
8073 (pp_declaration_specifiers): Likewise.
8074 (pp_abstract_declarator): Likewise.
8075 (pp_direct_declarator): Likewise.
8076 (pp_function_specifier): Likewise.
8077 (pp_direct_abstract_declarator): Remove as unused.
8078 (pp_c_declaration): Remove.
8079 (pp_c_declaration_specifiers): Likewise.
8080 (pp_c_declarator): Likewise.
8081 (pp_c_direct_declarator): Likewise.
8082 (pp_c_function_specifier): Likewise.
8083 (pp_c_direct_abstract_declarator): Likewise.
8084 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8085 from pp_c_abstract_declarator. Adjust.
ab20d992 8086 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
8087 pp_c_direct_abstract_declarator. Adjust.
8088 (c_pretty_printer::function_specifier): Rename from
8089 pp_c_function_specifier. Adjust.
8090 (c_pretty_printer::declaration_specifiers): Rename from
8091 pp_c_declaration_specifiers. Adjust.
8092 (c_pretty_printer::direct_declarator): Rename from
8093 pp_c_direct_declarator. Adjust.
8094 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8095 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8096 (c_pretty_printer::c_pretty_printer): Do not assign to
8097 declaration, declaration_specifiers, declarator,
8098 direct_declarator, direct_abstract_declarator, function_specifier.
8099
00d34d3a
GDR
81002013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8101
8102 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8103 virtual member function.
8104 (c_pretty_printer::multiplicative_expression): Likewise.
8105 (c_pretty_printer::conditional_expression): Likewise.
8106 (c_pretty_printer::assignment_expression): Likewise.
8107 (c_pretty_printer::expression): Likewise.
8108 (pp_unary_expression): Adjust.
8109 (pp_multiplicative_expression): Likewise.
8110 (pp_assignment_expression): Likewise.
8111 (pp_conditional_expression): Likewise.
8112 (pp_expression): Likewise.
8113 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8114 from pp_c_unary_expression. Adjust.
8115 (c_pretty_printer::multiplicative_expression): Rename from
8116 pp_c_multiplicative_expression. Adjust.
8117 (c_pretty_printer::conditional_expression): Rename from
8118 pp_c_conditional_expression. Adjust.
8119 (c_pretty_printer::assignment_expression): Rename from
8120 pp_c_assignment_expression. Adjust.
8121 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8122 (c_pretty_printer::c_pretty_printer): Do not assign to
8123 unary_expression, multiplicative_expression,
8124 conditional_expression, expression.
8125
fb22178f
GDR
81262013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8127
8128 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8129 virtual member function.
8130 (pp_postfix_expression): Adjust.
8131 (pp_c_postfix_expression): Remove.
8132 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8133 from pp_c_postfix_expression. Adjust.
8134 (c_pretty_printer::c_pretty_printer): Do not assign to
8135 postfix_expression.
8136
7ecc2600
GDR
81372013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8138
8139 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8140 virtua member function.
8141 (pp_primary_expression): Adjust.
8142 (pp_c_primary_expression): Remove.
8143 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8144 from pp_c_primary_expression. Adjust.
8145 (pp_c_initializer_list): Use pp_primary_expression.
8146 (c_pretty_printer::c_pretty_printer): Do not assign to
8147 primary_expression.
8148
0691175f
GDR
81492013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8150
8151 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8152 * c-pretty-print.c (M_): Remove.
8153 (c_pretty_printer::translate_string): Define.
8154 (pp_c_type_specifier): Use it.
8155 (pp_c_primary_expression): Likewise.
8156 (pp_c_expression): Likewise.
8157
66dfe4c4
GDR
81582013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8159
8160 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8161 virtual function.
8162 (pp_c_id_expression): Remove.
8163 (pp_id_expression): Adjust.
8164 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8165 pp_c_id_expression. Adjust.
8166 (pp_c_postfix_expression): Use pp_id_expression.
8167 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8168
ca43e9d5
GDR
81692013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8170
8171 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8172 member function.
8173 (pp_constant): Adjust.
8174 (pp_c_constant): Remove.
8175 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8176 pp_c_constant. Adjust.
8177 (pp_c_constant)
8178 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8179 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8180
da6ca2b5
GDR
81812013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8182
8183 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8184 (c_pretty_printer::c_pretty_printer): Declare.
8185 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8186 c_pretty_printer_init. Adjust.
8187 (print_c_tree): Do not call c_pretty_printer_init.
8188 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8189
65a372f4
AC
81902013-08-09 Arnaud Charlet <charlet@adacore.com>
8191
8192 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8193
fd9b0f32
PC
81942013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8195
8196 PR c++/58080
8197 * c-common.c (pointer_int_sum): Add bool parameter.
8198 * c-common.h (pointer_int_sum): Adjust declaration.
8199
e0aec1e9
GDR
82002013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8201
8202 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8203 c_pretty_printer variable.
8204
b066401f
GDR
82052013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8206
8207 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8208 (pp_base): Remove.
8209 (pp_c_base): Likewise. Adjust users.
8210 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8211 (pp_c_whitespace): Do not call pp_base.
8212 (pp_c_left_paren): Likewise.
8213 (pp_c_right_paren): Likewise.
8214 (pp_c_left_brace): Likewise.
8215 (pp_c_right_brace): Likewise.
8216 (pp_c_left_bracket): Likewise.
8217 (pp_c_right_bracket): Likewise.
8218 (pp_c_dot): Likewise.
8219 (pp_c_ampersand): Likewise.
8220 (pp_c_star): Likewise.
8221 (pp_c_arrow): Likewise.
8222 (pp_c_semicolon): Likewise.
8223 (pp_c_complement): Likewise.
8224 (pp_c_exclamation): Likewise.
8225 (pp_c_direct_declarator): Likewise.
8226 (pp_c_ws_string): Likewise.
8227 (pp_c_identifier): Likewise.
8228 (pp_c_statement): Likewise.
8229 (print_c_tree): Likewise.
8230
65e5a578
ESR
82312013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8232
8233 PR c++/58072
8234 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8235 provide useful error strings.
8236
137a1a27
GDR
82372013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8238
8239 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8240 printer functions instead of pp_string or operators and punctuators.
8241 (dump_generic_ada_node): Likewise.
8242 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8243 (pp_c_relational_expression): Likewise.
8244 (pp_c_logical_or_expression): Likewise.
8245
07838b13
GDR
82462013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8247
8248 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8249 functions instead of pp_character.
8250 (pp_ada_tree_identifier): Likewise.
8251 (dump_ada_double_name): Likewise.
8252 (dump_ada_function_declaration): Likewise.
8253 (dump_ada_array_domains): Likewise.
8254 (dump_template_types): Likewise.
8255 (dump_generic_ada_node): Likewise.
8256 (print_ada_declaration): Likewise.
8257 (print_ada_struct_decl): Likewise.
8258 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8259
433cc7b0
TT
82602013-07-23 Tom Tromey <tromey@redhat.com>
8261
8262 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8263 * c-common.c (c_common_reswords): Add _Generic.
8264
688010ba
OB
82652013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8266
8267 * c-common.c: Fix typos.
8268 * c-common.h: Likewise.
8269
2a99e5e6
LL
82702013-07-13 Lubos Lunak <l.lunak@suse.cz>
8271
8272 PR c++/55203
8273 * c-common.c (c_common_attribute_table): Add warn_unused.
8274 (handle_warn_unused_attribute): New.
8275
c26302d5
JJ
82762013-07-10 Jakub Jelinek <jakub@redhat.com>
8277
8278 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8279 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8280
dfeadaa0
PC
82812013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8282
8283 PR c++/57869
8284 * c.opt: Add Wconditionally-supported.
8285
6a2fa4b2
GS
82862013-07-08 Graham Stott <graham.stott@btinternet.com>
8287
adfac8df 8288 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
8289 unused variables l_length and l_node.
8290
ecdbd01a 82912013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
8292
8293 PR c/57821
8294 * c-common.c (complete_array_type): Delay folding first index
8295 like other indices. When folding, check for index overflow.
8296
bedc293e
MG
82972013-06-27 Marc Glisse <marc.glisse@inria.fr>
8298
8299 PR c++/57509
8300 * c-common.h (c_build_vec_perm_expr): New complain argument.
8301 * c-common.c (c_build_vec_perm_expr): Likewise.
8302 Use save_expr also in C++.
8303
604b2bfc
GDR
83042013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8305
8306 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8307 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8308 * c-opts.c (c_common_post_options): Likewise.
8309
dfeadaa0 83102013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
8311
8312 * array-notation-common.c (length_mismatch_in_expr): Changed the
8313 parameter type's from a dynamic array to a vec_tree. Also removed
8314 the size parameters.
8315 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8316 the change above.
8317
2ce86d2e
BI
83182013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8319
8320 * c-common.h (struct cilkplus_an_parts): New structure.
8321 (struct cilkplus_an_loop_parts): Likewise.
8322 (cilkplus_extract_an_triplets): New prototype.
8323 (fix_sec_implicit_args): Likewise.
8324 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8325 (fix_sec_implicit_args): Likewise.
604b2bfc 8326
07a6825b
BI
83272013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8328
8329 * array-notation-common.c (find_inv_trees): Removed an unwanted
8330 typecasting.
8331 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8332 enum rid to enum tree_code.
8333
08346abd
JH
83342013-06-11 Jan Hubicka <jh@suse.cz>
8335
8336 * c-common.c (handle_alias_ifunc_attribute): Do not set
8337 DECL_EXTERNAL for weakref variables.
8338 * c-pragma.c (handle_pragma_weak): Make sure aliases
8339 are not declared as external.
8340
d60f1706
BI
83412013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8342
8343 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8344 function from c/c-array-notation.c.
8345 (is_cilkplus_reduce_builtin): Likewise.
8346 (find_rank): Likewise.
8347 (extract_array_notation_exprs): Likewise.
8348 (replace_array_notations): Likewise.
8349 (find_inv_trees): Likewise.
8350 (replace_inv_trees): Likewise.
8351 (contains_array_notation_expr): Likewise.
8352 (find_correct_array_notation_type): Likewise.
8353 * c-common.h (struct inv_list): Moved this struct from the file
8354 c/c-array-notation.c and added a new field called additional tcodes.
8355 (length_mismatch_in_expr_p): New prototype.
8356 (is_cilkplus_reduce_builtin): Likewise.
8357 (find_rank): Likewise.
8358 (extract_array_notation_exprs): Likewise.
8359 (replace_array_notation): Likewise.
8360 (find_inv_trees): Likewise.
8361 (replace_inv_trees): Likewise.
8362 (find_correct_array_notation_type): Likewise.
dfeadaa0 8363
36536d79
BI
83642013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8365
8366 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8367 function array_notation_init_builtins is called.
8368 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8369 * c-common.def (ARRAY_NOTATION_REF): New tree.
8370 * c-common.h (build_array_notation_expr): New function declaration.
8371 (build_array_notation_ref): Likewise.
8372 (extract_sec_implicit_index_arg): New extern declaration.
8373 (is_sec_implicit_index_fn): Likewise.
8374 (ARRAY_NOTATION_CHECK): New define.
8375 (ARRAY_NOTATION_ARRAY): Likewise.
8376 (ARRAY_NOTATION_START): Likewise.
8377 (ARRAY_NOTATION_LENGTH): Likewise.
8378 (ARRAY_NOTATION_STRIDE): Likewise.
8379 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8380 ARRAY_NOTATION_REF.
8381 (pp_c_expression): Likewise.
8382 * c.opt (flag_enable_cilkplus): New flag.
8383 * array-notation-common.c: New file.
8384
f7716d57
JJ
83852013-05-14 Jakub Jelinek <jakub@redhat.com>
8386
8387 PR c++/57274
8388 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8389
a5e0cd1d
MG
83902013-05-10 Marc Glisse <marc.glisse@inria.fr>
8391
8392 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8393 vectors.
8394
f6bc1c4a
HS
83952013-05-07 Han Shen <shenhan@google.com>
8396
8397 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8398
3f12f6e9
SKS
83992013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8400
8401 * c-common.c (check_user_alignment): Emit error for negative values.
8402
61949153
PC
84032013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8404
8405 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8406
e93e18e9
PC
84072013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8408
8409 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8410 __GXX_EXPERIMENTAL_CXX1Y__.
8411
44d90fe1 84122013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 8413 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
8414
8415 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8416 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8417 to simply use OPT_Wpointer_arith.
8418 (c_sizeof_or_alignof_type): Likewise.
8419
13f39b2e
PC
84202013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8421
8422 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8423
4b84d650
JJ
84242013-04-12 Jakub Jelinek <jakub@redhat.com>
8425
8426 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8427 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8428 specifiers.
8429
fb037b5d
SB
84302013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8431
8432 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8433
4e856798
PC
84342013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8435
8436 * c-common.c (pointer_int_sum): Remove dead code.
8437
4b1baac8
RS
84382013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8439
8440 PR middle-end/56524
8441 * c-common.c (handle_optimize_attribute): Don't call
8442 save_optabs_if_changed.
8443
0b50e654
JJ
84442013-03-05 Jakub Jelinek <jakub@redhat.com>
8445
8446 PR middle-end/56461
8447 * c-pch.c (pch_init): Free target_validity at the end.
8448
48c41403
JJ
84492013-03-04 Jakub Jelinek <jakub@redhat.com>
8450
8451 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8452
e664c61c
KS
84532013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8454 Jakub Jelinek <jakub@redhat.com>
8455
8456 PR sanitizer/56454
8457 * c-common.c (handle_no_sanitize_address_attribute): New function.
8458 (c_common_attribute_table): Add no_sanitize_address attribute.
8459 (handle_no_address_safety_analysis_attribute): Add
8460 no_sanitize_address attribute, not no_address_safety_analysis
8461 attribute.
8462
a475fd3d 84632013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
8464
8465 PR target/52555
8466 * c-common.c (handle_optimize_attribute): Call
8467 save_optabs_if_changed.
8468
f6007d99
JJ
84692013-02-18 Jakub Jelinek <jakub@redhat.com>
8470 Steven Bosscher <steven@gcc.gnu.org>
8471
8472 PR pch/54117
8473 * c-opts.c (c_common_post_options): If debug info is enabled
8474 and non-dwarf*, refuse to load PCH files and when writing PCH
8475 file warn.
8476
cf35e2b1
JJ
84772013-02-05 Jakub Jelinek <jakub@redhat.com>
8478
8479 PR middle-end/56167
8480 * c-common.c (handle_error_attribute): Fix condition.
8481
32887460
JJ
84822013-01-30 Jakub Jelinek <jakub@redhat.com>
8483
8484 PR c++/55742
8485 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8486
5af057d8
JM
84872013-01-18 Jason Merrill <jason@redhat.com>
8488
8489 PR target/54908
8490 * c.opt (-fextern-tls-init): New.
8491 * c-opts.c (c_common_post_options): Handle it.
8492
cc83c823
JJ
84932013-01-09 Jakub Jelinek <jakub@redhat.com>
8494
8495 PR c/48418
8496 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8497 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8498 and is either negative or bigger or equal to type precision
8499 of the first operand.
8500
a859517f
MP
85012012-12-03 Marek Polacek <polacek@redhat.com>
8502
8503 PR c/55570
8504 * c-common.c (check_user_alignment): Swap order of tests,
8505 check TREE_CODE first.
8506
2d7aa578
ESR
85072012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8508
8509 PR c++/52654
8510 * c-common.h (overflow_type): New enum.
8511 (build_userdef_literal): Add overflow_type argument.
8512 (tree_userdef_literal): Add overflow_type.
8513 (USERDEF_LITERAL_OVERFLOW): New access macro.
8514 * c-common.c (build_userdef_literal): Add overflow_type
8515 argument.
8516 * c-lex.c (c_lex_with_flags): Add overflow_type to
8517 build_userdef_literal calls.
8518 (interpret_integer, interpret_float): Add overflow_type argument.
8519
cc3c4f62
RB
85202012-11-28 Richard Biener <rguenther@suse.de>
8521
8522 PR c/35634
8523 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8524 here and use a type with proper overflow behavior for types that would
8525 need to be promoted for the arithmetic.
8526
77bc5132
JJ
85272012-11-23 Jakub Jelinek <jakub@redhat.com>
8528
8529 PR sanitizer/55435
8530 * c-common.c (handle_no_address_safety_analysis_attribute): New
8531 function.
8532 (c_common_attribute_table): Add no_address_safety_analysis.
8533
5dc99c46
SB
85342012-11-16 Simon Baldwin <simonb@google.com>
8535
8536 * c.opt: Add f[no-]canonical-system-headers.
8537 * c-opts.c (c_common_handle_option): Handle
8538 OPT_fcanonical_system_headers.
8539
a4a0016d
ESR
85402012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8541
8542 PR c++/54413
8543 * c-opts.c (c_common_handle_option): Set new flags.
8544 * c.opt: Describe new flags.
8545
7dbb85a7
JM
85462012-11-09 Jason Merrill <jason@redhat.com>
8547
8548 * c.opt (Wabi-tag): New.
8549
ad7bac31
AK
85502012-11-09 Andi Kleen <ak@linux.intel.com>
8551
8552 PR 55139
8553 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 8554 MEMMODEL_MASK
ad7bac31 8555
7332899a
MLI
85562012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8557
8558 PR c/53063
8559 * c.opt (Wformat): Make it Alias Wformat=1.
8560 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8561 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8562 LangEnabledBy.
8563 (Wformat=): RejectNegative. Use LangEnabledBy.
8564 (Wnonnull): Use LangEnabledBy.
8565 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8566 * c-format.c (set_Wformat): Delete.
8567 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
8568 (maybe_read_dollar_number): Likewise.
8569 (avoid_dollar_number): Likewise.
8570 (finish_dollar_format_checking): Likewise.
8571 (check_format_info): Likewise.
8572 (check_format_info_main): Likewise.
8573 (check_format_types): Likewise.
8574 (format_type_warning): Likewise.
8575 * c-common.c (int): Likewise.
8576 (check_function_sentinel): Likewise.
8e745a17 8577 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 8578
34a180a6
MLI
85792012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8580
8581 PR c/53063
8582 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8583 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8584 Use LangEnabledBy.
8585 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8586 common.opt.
8587 (Wvariadic-macros): Init(1).
8588 * c-opts.c (c_common_handle_option): Do not handle them
8589 explicitly.
8590 (c_common_post_options): Likewise.
8591 (sanitize_cpp_opts): warn_unused_macros is now
8592 cpp_warn_unused_macros.
8593 (push_command_line_include): Likewise.
8594 * c-common.c (warn_unknown_pragmas): Do not define.
8595 * c-common.h (warn_unknown_pragmas): Do not declare.
8596
3f46d6a5
MLI
85972012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8598
8599 PR c/51294
8600 * c-common.c (conversion_warning): Handle conditional expressions.
8601
880661a4
JW
86022012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8603
8604 PR c++/54930
8605 * c.opt (Wreturn_local_addr): Define new option.
8606
4514a96b
JM
86072012-10-25 Jason Merrill <jason@redhat.com>
8608
f14edc1a
JM
8609 * c.opt (Wvirtual-move-assign): New.
8610
4514a96b
JM
8611 * c.opt (Winherited-variadic-ctor): New.
8612
93100c6b
MG
86132012-10-25 Marc Glisse <marc.glisse@inria.fr>
8614
8615 PR c++/54427
8616 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8617
1efcb8c6
JM
86182012-10-23 Joseph Myers <joseph@codesourcery.com>
8619
8620 * c-common.h (pch_cpp_save_state): Declare.
8621 * c-target.def (c_preinclude): New hook.
8622 * c-opts.c (done_preinclude): New.
8623 (push_command_line_include): Handle default preincluded header.
8624 (cb_file_change): Call pch_cpp_save_state when calling
8625 push_command_line_include.
8626 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8627 (pch_cpp_save_state): New.
8628 (pch_init): Call pch_cpp_save_state conditionally, instead of
8629 calling cpp_save_state.
8630
4a0ae68e
MLI
86312012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8632
8633 PR c/53063
8634 PR c/40989
8635 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8636 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8637 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8638 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8639 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8640 * c-opts.c (c_common_handle_option): Remove explicit handling from
8641 here.
8642 (c_common_post_options): Likewise.
8643
67e4210b
EB
86442012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8645
8646 * c-ada-spec.c (LOCATION_COL): Delete.
8647 (compare_location): New function.
8648 (compare_node): Use it.
8649 (compare_comment): Likewise.
8650
65d4f2cd
MLI
86512012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8652
8653 PR c/53063
8654 PR c/40989
8655 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8656 * c-opts.c (c_common_handle_option): Do not set them here. Add
8657 comment.
8658 (c_common_post_options): Likewise.
8659
909881cb
EB
86602012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8661
8662 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8663 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8664 Remove POINTER_TYPE handling, add large unsigned handling and use
8665 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8666
3a785c97
JJ
86672012-10-12 Jakub Jelinek <jakub@redhat.com>
8668
8669 PR c/54381
8670 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8671 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8672 locs and array of 3 trees instead of just single loc and single
8673 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8674 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8675 For *cmp* builtins that take two sources strings report warnings
8676 about first and second source, not about destination and source.
8677
5e54f81d
MG
86782012-10-12 Marc Glisse <marc.glisse@inria.fr>
8679
8680 PR c++/53055
8681 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8682
f5b02f1e
EB
86832012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8684
8685 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8686 declaring something coming from another file.
8687
b46dbc6c
AC
86882012-10-10 Arnaud Charlet <charlet@adacore.com>
8689
f5b02f1e 8690 PR ada/54845
b46dbc6c
AC
8691 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8692
5d9de0d0
PC
86932012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8694
8695 PR c++/54194
8696 * c-common.c (warn_about_parentheses): Add location_t parameter;
8697 use EXPR_LOC_OR_LOC.
8698 * c-common.h: Update declaration.
8699
a212e43f
MG
87002012-10-09 Marc Glisse <marc.glisse@inria.fr>
8701
8702 PR c++/54427
8703 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8704 more operations. Make error messages optional.
8705 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8706 (scalar_to_vector): Declare.
8707
b1db7f91
JM
87082012-10-08 Jason Merrill <jason@redhat.com>
8709
8710 * c-common.c (c_common_reswords): Add thread_local.
8711
e28d52cf
DS
87122012-10-08 Dodji Seketeli <dodji@redhat.com>
8713
8714 PR c++/53528 C++11 attribute support
8715 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8716 new functions.
8717 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8718 static function.
8719 (handle_aligned_attribute): In choose strictest alignment
8720 among many. Use new check_cxx_fundamental_alignment_constraints.
8721 (handle_transparent_union_attribute): In c++11 attribute syntax,
8722 don't look through typedefs.
8723
3b78de56
AC
87242012-10-04 Arnaud Charlet <charlet@adacore.com>
8725
8726 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8727 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8728 out of dumpfile.h.
8729
6040bb5f
DC
87302012-09-25 Dehao Chen <dehao@google.com>
8731
8732 PR middle-end/54645
3b78de56 8733 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
8734 map when read in the pch.
8735
3f8257db 87362012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
8737
8738 * c-ada-spec.c: Style fixes.
8739
3f8257db 87402012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
8741
8742 * c.opt (-fada-spec-parent): Define new command line switch.
8743 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8744 is specified, generate binding spec as a child of the specified unit.
8745
0ccb505d
PC
87462012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8747 Manuel López-Ibáñez <manu@gcc.gnu.org>
8748
8749 PR c++/53210
8750 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8751
c583af79
AC
87522012-08-23 Arnaud Charlet <charlet@adacore.com>
8753
8754 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8755 for pointers, and add missing Convention C pragma.
8756 (print_ada_struct_decl): Add missing aliased keyword.
8757 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8758
1a4049e7
JJ
87592012-08-17 Jakub Jelinek <jakub@redhat.com>
8760
8761 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8762 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8763 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8764 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8765 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8766
70b5e7dc
RG
87672012-08-10 Richard Guenther <rguenther@suse.de>
8768
8769 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8770
f8923f7e
SB
87712012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8772
8773 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8774 instead of separate pp_newline and pp_flush.
8775 (print_c_tree): Likewise.
8776
e45abe1f
RH
87772012-07-26 Richard Henderson <rth@redhat.com>
8778
8779 * c-common.c (handle_hot_attribute): Allow labels.
8780 (handle_cold_attribute): Likewise.
8781
332f1d24
JJ
87822012-07-20 Jakub Jelinek <jakub@redhat.com>
8783
8784 PR c++/28656
8785 * c-common.c (check_function_nonnull): Handle multiple nonnull
8786 attributes properly.
8787
7ee2468b
SB
87882012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8789
8790 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8791 * c-ada-spec.c: Likewise.
8792 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8793
ee7b28eb
SB
87942012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8795
8796 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8797 Remove code conditional on it.
8798
6bdf3519
SB
87992012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8800
8801 * c-gimplify.c: Do not include basic-block.h.
8802 * c-common.c: Do not include linfuncs.h.
8803
532aafad
SB
88042012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8805
8806 * c-common.h: Include tree.h.
8807
8d0d1915
JM
88082012-07-02 Jason Merrill <jason@redhat.com>
8809
8810 PR c++/53524
8811 * c-common.c (get_priority): Call default_conversion.
8812
fbc873ad
UB
88132012-07-01 Uros Bizjak <ubizjak@gmail.com>
8814
8815 * c-pch.c (c_common_write_pch): Remove unused variables.
8816
d4a10d0a
SB
88172012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8818
8819 * cppspec.c: Moved from gcc/ to here.
8820
6f3a2e23
KT
88212012-06-27 Kai Tietz <ktietz@redhat.com>
8822
8823 PR preprocessor/37215
8824 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8825
8ca92d04
SB
88262012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8827
8828 * c-common.h (c_common_print_pch_checksum): Remove.
8829 * c-pch.c: Do not include output.h.
8830 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8831 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8832 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8833 (struct c_pch_header): Remove.
8834 (get_ident): Update gpch version.
8835 (pch_init): Do not print executable_checksum to asm_out_file.
8836 Do not fail if there is no asm_out_file to read back from. Set
8837 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8838 (c_common_write_pch): Verify that nothing was written to asm_out_file
8839 since pch_init was called. Do not write a c_pch_header, and do not
8840 copy from asm_out_file to the PCH.
8841 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8842 the content of asm_out_file from the PCH.
8843 (c_common_print_pch_checksum): Remove.
8844 * c-opts.c (c_common_init): Print out executable_checksum directly.
8845
70f42967
SB
88462012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8847
8848 * c-target.def (objc_declare_unresolved_class_reference,
8849 objc_declare_class_definition): Add new hooks.
8850
a8781821
SB
88512012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8852
8853 * c-lex.c: Do not include output.h.
8854 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8855 Remove uses of ASM_OUTPUT_IDENT.
8856
9e1a8dd1
RR
88572012-06-15 Marc Glisse <marc.glisse@inria.fr>
8858
8859 PR c++/51033
8860 * c-common.h (c_build_vec_perm_expr): Move decl here.
8861 * c-common.c (c_build_vec_perm_expr): Move definition
8862 here.
8863
6f07a821
SB
88642012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8865
8866 * c.opt (fconserve-space): Turn into a no-op.
8867
9faeb493 88682012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8869
8870 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8871 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8872 both the start and end of the function.
8873
a4b7d13c
SB
88742012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8875
8876 * c-common.c: Do not include output.h.
8877 * c-pragma.c: Likewise.
8878
c265f413
SA
88792012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8880
8881 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8882 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8883 (lang_decl_name): Handle namespace decls.
8884
be7a421e
SB
88852012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8886
8887 * c-ada-spec.c: Do not include output.h.
8888 * c-semantics.c: Likewise.
8889
65de6659
JM
88902012-05-29 Joseph Myers <joseph@codesourcery.com>
8891
8892 * c-common.c: Fix typo.
8893
ca5f4331
MM
88942012-05-29 Michael Matz <matz@suse.de>
8895
8896 * c-common.h (c_expand_decl): Remove prototype.
8897
4f7f7aca
MLI
88982012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8899
8900 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8901 * c-opts.c (c_common_handle_option): Remove code handling
8902 warn_missing_braces.
8903
4a792f9b
PC
89042012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8905
8906 PR c++/25137
8907 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8908 -Wmissing_braces.
8909
650dc14a
DS
89102012-05-22 Dodji Seketeli <dodji@redhat.com>
8911
8912 PR c++/53322
8913 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8914
9b095bf1
MLI
89152012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8916
8917 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8918 * c-opts.c (c_common_handle_option): Do not handle explicitly
8919 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8920
0b2c4be5
DS
89212012-05-16 Dodji Seketeli <dodji@redhat.com>
8922
8923 PR preprocessor/7263
ab20d992 8924 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
8925 to cpp_classify_number. For diagnostics, use the precise location
8926 instead of the global input_location.
8927
a1bde5af
PC
89282012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8929
d02924ef 8930 PR c++/11856
a1bde5af
PC
8931 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8932
d1ede5f4
BS
89332012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8934
a1bde5af 8935 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8936
f2bc201f
MLI
89372012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8938
8939 PR 53063
8940 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8941 Wreorder): Use LangEnabledBy.
8942 * c-opts.c (c_common_handle_option): Do not enable them
8943 explicitly. Call lang-specific generated functions.
8944 (c_common_post_options): Do not set them here.
8945
95744782
MLI
89462012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8947
8948 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8949 Wmissing-field-initializers,Wmissing-parameter-type,
8950 Wold-style-declaration,Woverride-init): Use EnabledBy.
8951 * c-opts.c (c_common_post_options): Do not set here explicitly.
8952
7d5a5747
MLI
89532012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8954
8955 PR 53063
8956 * c-opts.c (c_common_handle_option): Use handle_generated_option
8957 to enable sub-options.
8958
5a3c9cf2
PC
89592012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8960
8961 PR c++/53158
8962 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8963
3ac8781c
RG
89642012-05-10 Richard Guenther <rguenther@suse.de>
8965
8966 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8967 adjust commentary about TYPE_IS_SIZETYPE types.
8968
1e537948
MLI
89692012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8970
8971 PR c++/53261
8972 * c-common.c (warn_logical_operator): Check that argument of
8973 integer_zerop is not NULL.
8974
f2c4a785
MLI
89752012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8976
8977 PR c/43772
8978 * c-common.c (warn_logical_operator): Do not warn if either side
8979 is already true or false.
8980
50f305ca
MLI
89812012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8982
8983 PR c/51712
8984 * c-common.c (expr_original_type): New.
8985 (shorten_compare): Do not warn for enumeration types.
8986
0c3641b0
MLI
89872012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8988
8989 * c.opt (fpermissive): Add Var(flag_permissive).
8990
7edaa4d2
MG
89912012-04-30 Marc Glisse <marc.glisse@inria.fr>
8992
8993 PR c++/51033
8994 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8995 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8996
b9c8da34
DS
89972012-04-30 Dodji Seketeli <dodji@redhat.com>
8998
8999 Add -Wvarargs option
ab20d992 9000 * c.opt (Wvarargs): Define new option.
b9c8da34 9001
e6c69da0
MLI
90022012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9003
9004 * c-common.c (check_function_arguments): Replace
9005 Wmissing-format-attribute with Wsuggest-attribute=format.
9006
90137d8f
MLI
90072012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9008
9009 * c.opt (Wsuggest-attribute=format): New. Alias of
9010 Wmissing-format-attribute.
9011 * c-format.c (decode_format_type): Replace
9012 Wmissing-format-attribute with Wsuggest-attribute=format.
9013 (check_function_format): Likewise.
9014
9faeb493 90152012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
9016
9017 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9018 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9019 * c.opt: Add Wliteral-suffix.
9020
c1771a20
MLI
90212012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9022
9023 PR c/44774
9024 * c.opt (Wpedantic): New.
9025 (pedantic): Alias Wpedantic.
9026 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9027 (c_common_post_options): Likewise.
9028 (sanitize_cpp_opts): Likewise.
9029 * c-lex.c (interpret_float): Likewise.
9030 * c-format.c (check_format_types): Likewise.
9031 * c-common.c (pointer_int_sum): Likewise.
9032 (c_sizeof_or_alignof_type): Likewise.
9033 (c_add_case_label): Likewise.
9034 (c_do_switch_warnings): Likewise.
9035 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9036
04b391c1
JM
90372012-04-15 Jason Merrill <jason@redhat.com>
9038
9039 PR c++/52818
9040 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9041 (C_STD_NAME): Distinguish between C++98 and C++11.
9042
ac868f29
EB
90432012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9044
9045 PR target/52624
9046 * c-common.h (uint16_type_node): Rename into...
9047 (c_uint16_type_node): ...this.
9048 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9049 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9050
fd4116f4
MLI
90512012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9052
9053 * c-common.c (warn_if_unused_value): Move definition to here.
9054 * c-common.h (warn_if_unused_value): Move declaration to here.
9055
573ac65e
WB
90562012-03-23 William Bader <williambader@hotmail.com>
9057
9058 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9059
552b8185
JM
90602012-03-20 Jason Merrill <jason@redhat.com>
9061
9062 * c-common.h (enum cxx_dialect): Add cxx1y.
9063 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9064 test.
9065 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9066 * c-opts.c (c_common_post_options): Likewise.
9067 (set_std_cxx1y): New.
9068 (c_common_handle_option): Call it.
9069 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9070
04398fa8
PC
90712012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9072
9073 PR c++/14710
9074 * c.opt ([Wuseless-cast]): Add.
9075
d2a12ae7
RG
90762012-03-16 Richard Guenther <rguenther@suse.de>
9077
9078 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9079
a12bf402
MLI
90802012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9081
9082 PR c++/44783
9083 * c.opt (ftemplate-backtrace-limit) Add.
9084
5c30094f
RO
90852012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9086
9087 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9088 handling.
9089 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9090 (init_pragma): Don't register extern_prefix.
9091
21fa2faf
RG
90922012-03-12 Richard Guenther <rguenther@suse.de>
9093
9094 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9095 (builtin_type_for_size): Likewise.
9096
e3793c6f
JJ
90972012-02-13 Jakub Jelinek <jakub@redhat.com>
9098
9099 PR c++/52215
9100 * c-common.c (sync_resolve_params): Don't decide whether to convert
9101 or not based on TYPE_SIZE comparison, convert whenever arg_type
9102 is unsigned INTEGER_TYPE.
9103
93286335
PC
91042012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9105
9106 PR c/52118
9107 * c.opt ([Wunused-local-typedefs]): Fix description.
9108
7a421706
MS
91092012-01-24 Mike Stump <mikestump@comcast.net>
9110
9111 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9112 exactly.
9113
ba9b1f11
RG
91142012-01-18 Richard Guenther <rguenther@suse.de>
9115
9116 * c-opts.c (c_common_post_options): Reset LTO flags if
9117 we are about to generate a PCH.
9118
465406be
PC
91192012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9120
9121 PR c++/51777
9122 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9123 use pp_unsigned_wide_integer.
9124
aee15221
RG
91252012-01-10 Richard Guenther <rguenther@suse.de>
9126
9127 PR middle-end/51806
9128 * c-opts.c (c_common_handle_option): Move -Werror handling
9129 to language independent code.
9130
5720c0dc
RG
91312012-01-05 Richard Guenther <rguenther@suse.de>
9132
9133 PR middle-end/51764
9134 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9135 from common.opt.
9136
73ac190a
PC
91372011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9138
9139 PR c++/51316
9140 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9141 of array types with an unknown bound.
9142
48b0b196
JM
91432011-12-20 Joseph Myers <joseph@codesourcery.com>
9144
9145 * c-common.c (flag_isoc99): Update comment to refer to C11.
9146 (flag_isoc1x): Change to flag_isoc11.
9147 * c-common.h (flag_isoc99): Update comment to refer to C11.
9148 (flag_isoc1x): Change to flag_isoc11.
9149 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9150 C11.
9151 * c-opts.c (set_std_c1x): Change to set_std_c11.
9152 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9153 Call set_std_c11.
9154 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9155 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9156 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9157 standard.
9158 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9159 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9160 (std=gnu1x): Make alias of std=gnu11.
9161
d58d6eb5
JM
91622011-12-19 Jason Merrill <jason@redhat.com>
9163
9164 PR c++/51228
9165 * c-common.c (handle_transparent_union_attribute): Check the first
9166 field if the type is complete.
9167
b3908fcc
JW
91682011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9169
9170 PR libstdc++/51365
9171 * c-common.c (RID_IS_FINAL): Add.
9172 * c-common.h (RID_IS_FINAL): Add.
9173
fea3ca91
IS
91742011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9175
9176 * c.opt (fgnu-runtime): Provide full description.
9177 (fnext-runtime): Likewise.
9178 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9179
62bad7cd
AM
91802011-11-28 Andrew MacLeod <amacleod@redhat.com>
9181
9182 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9183 predefines in one place. Add LOCK_FREE predefines.
9184 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9185 new func.
9186
c466c4ff
AM
91872011-11-24 Andrew MacLeod <amacleod@redhat.com>
9188
9189 PR c/51256
9faeb493 9190 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 9191 conditions
9faeb493
UB
9192 (resolve_overloaded_atomic_exchange,
9193 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
9194 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9195 error_mark_node for error conditions.
9faeb493 9196
a5952633
RG
91972011-11-08 Richard Guenther <rguenther@suse.de>
9198
9199 PR middle-end/51010
ab20d992 9200 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 9201
0a35513e
AH
92022011-11-07 Richard Henderson <rth@redhat.com>
9203 Aldy Hernandez <aldyh@redhat.com>
9204 Torvald Riegel <triegel@redhat.com>
9205
9206 Merged from transactional-memory.
9207
9208 * c-common.c (handle_tm_wrap_attribute,
9209 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9210 (struct c_common_reswords): Added __transaction* keywords.
9211 (struct c_common_attribute_table): Added transaction* and tm_regparm
9212 attributes.
9213 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9214 masks.
9215 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9216 find_tm_attribute): Declare.
9217
6d87092d
JM
92182011-11-07 Jason Merrill <jason@redhat.com>
9219
9220 PR c++/35688
9221 * c-common.c, c-common.h: Revert yesterday's changes.
9222
8e7860a1
JM
92232011-11-06 Jason Merrill <jason@redhat.com>
9224
9225 PR c++/35688
9226 * c-common.c (decl_has_visibility_attr): Split out from...
9227 (c_determine_visibility): ...here.
9228 * c-common.h: Declare it.
9229
d19fa6b5
JM
92302011-11-06 Joseph Myers <joseph@codesourcery.com>
9231
9232 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9233 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9234 type.
9235 (check_user_alignment): New. Split out of
9236 handle_aligned_attribute. Disallow integer constants with
9237 noninteger types. Conditionally allow zero.
9238 (handle_aligned_attribute): Use check_user_alignment.
9239 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9240
86951993
AM
92412011-11-06 Andrew MacLeod <amacleod@redhat.com>
9242 Richard Henderson <rth@redhat.com>
9243
9244 Merged from cxx-mem-model.
9245
9246 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 9247 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
9248 parameters that are the same type size.
9249 (get_atomic_generic_size): New. Find size of generic
9250 atomic function parameters and do typechecking.
9251 (add_atomic_size_parameter): New. Insert size into parameter list.
9252 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9253 either __atomic_exchange_n or external library call.
9faeb493 9254 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 9255 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 9256 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
9257 __atomic_load_n or an external library call.
9258 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9259 __atomic_store_n or an external library call.
9260 (resolve_overloaded_builtin): Handle new __atomic builtins.
9261
cf9e9959
EB
92622011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9263
9264 PR c++/50608
9265 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9266 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9267 <INDIRECT_REF>: Return the argument.
9268 <ARRAY_REF>: Remove special code for negative offset.
9269 Call fold_build_pointer_plus instead of size_binop.
9270 (fold_offsetof): Remove STOP_REF argument and adjust.
9271 * c-common.h (fold_offsetof_1): Declare.
9272 (fold_offsetof): Remove STOP_REF argument.
9273
25339f10
JM
92742011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9275
9276 PR c++/50810
9277 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9278 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9279 Wnarrowing for C++0x and C++98.
9280 * c.opt ([Wnarrowing]): Update.
9281
89401152
PC
92822011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9283
9284 PR c++/44277
9285 * c.opt: Add Wzero-as-null-pointer-constant.
9286
97e3ad20
JM
92872011-10-31 Jason Merrill <jason@redhat.com>
9288
15694fdd
JM
9289 * c.opt (-fdeduce-init-list): Off by default.
9290
97e3ad20
JM
9291 PR c++/50920
9292 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9293 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9294 and -Wc++11-compat.
9295 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9296
fb9120e3
RAV
92972011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9298
9299 PR c++/30066
9300 * c.opt (fvisibility-inlines-hidden): Description change.
9301
3ce4f9e4
ESR
93022011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9303
9304 Implement C++11 user-defined literals.
9305 * c-common.c (build_userdef_literal): New.
9306 * c-common.def: New tree code.
9307 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9308 * c-lex.c (interpret_float): Add suffix parm.
9309 (c_lex_with_flags): Build literal tokens.
9310
5f53c243
PC
93112011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9312
9313 PR c++/50841
9314 Revert:
9315 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9316
9317 PR c++/50810
9318 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9319 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9320 Wnarrowing for C++0x and C++98.
9321 * c.opt ([Wnarrowing]): Update.
9322
263734e1
PC
93232011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9324
9325 PR c++/50810
9326 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9327 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9328 Wnarrowing for C++0x and C++98.
9329 * c.opt ([Wnarrowing]): Update.
9330
d2e312d7
PC
93312011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9332
9333 PR c++/45385
9334 * c-common.c (conversion_warning): Remove code looking for
9335 artificial operands.
9336
d17687f6
DS
93372011-10-18 Dodji Seketeli <dodji@redhat.com>
9338
9339 PR bootstrap/50760
9340 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 9341 !NO_IMPLICIT_EXTERN_C.
d17687f6 9342
fc8396e9
PC
93432011-10-17 Michael Spertus <mike_spertus@symantec.com>
9344
9345 * c-common.c (c_common_reswords): Add __bases,
9346 __direct_bases.
9347 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9348
93492011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9350
9351 PR c++/50757
9352 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9353
847e697a
TT
93542011-10-15 Tom Tromey <tromey@redhat.com>
9355 Dodji Seketeli <dodji@redhat.com>
9356
9357 * c.opt (fdebug-cpp): New option.
9358 * c-opts.c (c_common_handle_option): Handle the option.
9359 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9360 output stream in parameter. Factorized from ...
9361 (maybe_print_line): ... this. Dump location debug information when
9362 -fdebug-cpp is in effect.
9363 (print_line_1): New static function. Takes an output stream in
9364 parameter. Factorized from ...
9365 (print_line): ... here. Dump location information when -fdebug-cpp
9366 is in effect.
9367 (scan_translation_unit): Dump location information when
9368 -fdebug-cpp is in effect.
9369
92582b75
TT
93702011-10-15 Tom Tromey <tromey@redhat.com>
9371 Dodji Seketeli <dodji@redhat.com>
9372
9373 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9374 without argument.
9375 * c-opts.c (c_common_handle_option)<case
9376 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9377 cases. Handle -ftrack-macro-expansion with and without argument.
9378
46427374
TT
93792011-10-15 Tom Tromey <tromey@redhat.com>
9380 Dodji Seketeli <dodji@redhat.com>
9381
9382 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9383 (print_line, cb_define, do_line_change): Adjust to avoid touching
9384 the internals of struct line_map. Use the public API instead.
9385 * c-pch.c (c_common_read_pch): Likewise.
9386 * c-lex.c (fe_file_change): Likewise.
9387
fc8396e9
PC
93882011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9389
9390 PR c++/17212
9391 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9392
93932011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9394
9395 PR c++/33067
9396 * c-pretty-print.c (pp_c_floating_constant): Output
9397 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9398
e79983f4
MM
93992011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9400
9401 * c-common.c (def_builtin_1): Delete old interface with two
9402 parallel arrays to hold standard builtin declarations, and replace
9403 it with a function based interface that can support creating
9404 builtins on the fly in the future. Change all uses, and poison
9405 the old names. Make sure 0 is not a legitimate builtin index.
9406 * c-omp.c (c_finish_omp_barrier): Ditto.
9407 (c_finish_omp_taskwait): Ditto.
9408 (c_finish_omp_flush): Ditto.
9409
6637388f
TG
94102011-10-11 Tristan Gingold <gingold@adacore.com>
9411
9412 * c.opt: (fallow-parameterless-variadic-functions): New.
9413
3797cb21
DS
94142011-09-08 Dodji Seketeli <dodji@redhat.com>
9415
9416 PR c++/33255 - Support -Wunused-local-typedefs warning
9417 * c-common.h (struct c_language_function::local_typedefs): New
9418 field.
9faeb493
UB
9419 (record_locally_defined_typedef, maybe_record_typedef_use)
9420 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 9421 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
9422 (maybe_record_typedef_use)
9423 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
9424 * c.opt: Declare new -Wunused-local-typedefs flag.
9425
693ddb1b
EB
94262011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9427
9428 PR middle-end/50266
9429 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9430 computations.
9431
830c740f
RG
94322011-09-05 Richard Guenther <rguenther@suse.de>
9433
9434 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9435 of integer_minus_one_node for empty array upper bounds.
9436
892a371f
DS
94372011-08-28 Dodji Seketeli <dodji@redhat.com>
9438
9439 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9440 it's the first time it's being called on this main TU.
9441
0e3fdb48
RB
94422011-08-24 Richard Guenther <rguenther@suse.de>
9443
9444 PR c/49396
9445 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9446
94472011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
9448
9449 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9450 defined in cpp_init_builtins and c_cpp_builtins.
9451
d4a83c10
JM
94522011-08-19 Joseph Myers <joseph@codesourcery.com>
9453
9454 * c-common.c (c_common_reswords): Add __builtin_complex.
9455 * c-common.h (RID_BUILTIN_COMPLEX): New.
9456
bbceee64
JM
94572011-08-18 Joseph Myers <joseph@codesourcery.com>
9458
9459 * c-common.c (c_common_reswords): Add _Noreturn.
9460 (keyword_is_function_specifier): Handle RID_NORETURN.
9461 * c-common.h (RID_NORETURN): New.
9462
3f8257db 94632011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
9464
9465 * c-common.c (unsafe_conversion_p): New function. Check if it is
9466 unsafe to convert an expression to the type.
9467 (conversion_warning): Adjust, use unsafe_conversion_p.
9468 * c-common.h (unsafe_conversion_p): New function declaration.
9469
20906c66
JJ
94702011-08-02 Jakub Jelinek <jakub@redhat.com>
9471
9472 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9473 (c_finish_omp_taskyield): New prototype.
9474 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9475 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9476 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9477 or RHS1 have side-effects, evaluate those too in the right spot,
9478 if it is a decl and LHS is also a decl, error out if they
9479 aren't the same.
9480 (c_finish_omp_taskyield): New function.
9481 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9482 * c-pragma.c (omp_pragmas): Add taskyield.
9483 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9484 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9485 PRAGMA_OMP_CLAUSE_MERGEABLE.
9486
770e5a2e
DS
94872011-07-25 Dodji Seketeli <dodji@redhat.com>
9488
9489 * c-common.h (set_underlying_type): Remove parm name from
9490 declaration.
9491
1baae426
RG
94922011-07-25 Romain Geissler <romain.geissler@gmail.com>
9493
9494 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 9495
fcb21722
JM
94962011-07-22 Jason Merrill <jason@redhat.com>
9497
76f86d00
JM
9498 PR c++/49793
9499 * c.opt (Wnarrowing): New.
9500
3a636414
JM
9501 PR c++/30112
9502 * c-common.h: Declare c_linkage_bindings.
9503 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9504
fcb21722
JM
9505 PR c++/49813
9506 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9507 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9508 as flag_isoc99 for 'restrict'.
9509 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9510
02614448
ILT
95112011-07-21 Ian Lance Taylor <iant@google.com>
9512
9513 PR middle-end/49705
9514 * c-common.c (c_disable_warnings): New static function.
9515 (c_enable_warnings): New static function.
9516 (c_fully_fold_internal): Change local unused_p to bool. Call
9517 c_disable_warnings and c_enable_warnings rather than change
9518 c_inhibit_evaluation_warnings.
9519
34429675
JM
95202011-07-20 Jason Merrill <jason@redhat.com>
9521
9522 PR c++/6709 (DR 743)
9523 PR c++/42603 (DR 950)
9524 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9525 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9526 (CPP_DECLTYPE): New.
9527 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9528
5d49b6a7
RG
95292011-07-19 Richard Guenther <rguenther@suse.de>
9530
9531 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9532 * c-omp.c (c_finish_omp_for): Likewise.
9533
e84a58ff
EB
95342011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9535
9536 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9537 body on the next line.
9538
329af3c7
JM
95392011-07-08 Jason Merrill <jason@redhat.com>
9540
4063e61b
JM
9541 PR c++/45437
9542 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9543
329af3c7
JM
9544 PR c++/49673
9545 * c-common.c (c_apply_type_quals_to_decl): Don't check
9546 TYPE_NEEDS_CONSTRUCTING.
9547
1a072294
RG
95482011-07-06 Richard Guenther <rguenther@suse.de>
9549
9550 * c-common.c (c_common_nodes_and_builtins):
9551 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9552
fce5dddd
RG
95532011-07-05 Richard Guenther <rguenther@suse.de>
9554
9555 * c-common.c (c_common_nodes_and_builtins): Build all common
9556 tree nodes first.
9557
45d439ac
JJ
95582011-06-27 Jakub Jelinek <jakub@redhat.com>
9559
56300785
JJ
9560 * c-common.h (c_tree_chain_next): New static inline function.
9561
45d439ac
JJ
9562 * c-common.c (check_builtin_function_arguments): Handle
9563 BUILT_IN_ASSUME_ALIGNED.
9564
e0a8ecf2
AM
95652011-06-21 Andrew MacLeod <amacleod@redhat.com>
9566
9567 * c-common.c: Add sync_ or SYNC__ to builtin names.
9568 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
9569
95702011-06-20 Pierre Vittet <piervit@pvittet.com>
9571
9572 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9573 handler.
9574 (gen_pragma_handler): New union.
9575 (internal_pragma_handler): New type.
9576 (c_register_pragma_with_data)
9577 (c_register_pragma_with_expansion_and_data): New functions.
9578
9579 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9580 (c_register_pragma, c_register_pragma_with_expansion)
9581 (c_invoke_pragma_handler): Changed to work with
9582 internal_pragma_handler.
9583 (c_register_pragma_with_data)
9584 (c_register_pragma_with_expansion_and_data): New functions.
9585
677f3fa8
JM
95862011-06-14 Joseph Myers <joseph@codesourcery.com>
9587
9588 * c-common.c: Include common/common-target.h.
9589 (handle_section_attribute): Use
9590 targetm_common.have_named_sections.
9591 * c-cppbuiltin.c: Include common/common-target.h.
9592 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9593
d7fc8c14
RG
95942011-06-10 Richard Guenther <rguenther@suse.de>
9595
9596 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9597 to print a IDENTIFIER_NODE.
9598
10e48e39
RO
95992011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9600 Joseph Myers <joseph@codesourcery.com>
9601
9602 * c.opt (fbuilding-libgcc): New option.
9603 * c-cppbuiltin.c (c_cpp_builtins): Define
9604 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9605
6976ae51
JM
96062011-06-07 Jason Merrill <jason@redhat.com>
9607
3ff60975
JM
9608 * c-common.c (max_tinst_depth): Lower default to 900.
9609
6976ae51
JM
9610 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9611
009db074
RG
96122011-06-07 Richard Guenther <rguenther@suse.de>
9613
9614 * c-common.c (c_common_nodes_and_builtins): Do not set
9615 size_type_node or call set_sizetype.
9616
b4592b92
DS
96172011-06-07 Dodji Seketeli <dodji@redhat.com>
9618
9619 PR debug/49130
9620 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 9621 type when using pointer comparison to compare types.
b4592b92 9622
014ab419
JW
96232011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9624
9625 * c.opt: Add -Wdelete-non-virtual-dtor.
9626 * c-opts.c (c_common_handle_option): Include it in -Wall.
9627
4f60111f
NF
96282011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9629
9630 PR bootstrap/49190
9631
9632 Revert:
9633 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9634
9635 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9636 not tree_common.
9637
4cc4f2f4
JJ
96382011-05-27 Jakub Jelinek <jakub@redhat.com>
9639
9640 PR c++/49165
9641 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9642 C++ don't call c_common_truthvalue_conversion on void type arms.
9643
38e01f9e
NF
96442011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9645
9646 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9647 (stmt_list_stack): Define.
9648 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9649 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9650
92e948a8
NF
96512011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9652
9653 * c-common.c (warning_candidate_p): Check for BLOCKs.
9654
a2fc3e63
NF
96552011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9656
9657 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9658 not tree_common.
9659
0957c029
JJ
96602011-05-25 Jakub Jelinek <jakub@redhat.com>
9661
9662 * c-common.c (def_fn_type): Remove extra va_end.
9663
828fb3ba
JM
96642011-05-23 Jason Merrill <jason@redhat.com>
9665
9666 PR c++/48106
9667 * c-common.c (c_common_get_narrower): New.
9668 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9669
dde05067
NF
96702011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9671
9672 * c-common.h (check_function_arguments): Tweak prototype of
9673 check_function_arguments.
9674 * c-common.c (check_function_arguments): Likewise. Adjust
9675 calls to check_function_nonnull, check_function_format, and
9676 check_function_sentinel.
9677 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9678 separate attributes and typelist arguments. Use
9679 FOREACH_FUNCTION_ARGS to iterate over argument types.
9680
3c0d13bf
PC
96812011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9682
9683 * c-common.c (c_common_reswords): Reorder.
9684 * c-common.h (rid): Likewise.
9685
8242dd04
NF
96862011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9687
9688 * c-common.c (def_fn_type): Don't call build_function_type, call
9689 build_function_type_array or build_varargs_function_type_array
9690 instead.
9691 (c_common_nodes_and_builtins): Likewise.
9692
3d528853
NF
96932011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9694
9695 * c-common.c (c_add_case_label): Omit the loc argument to
9696 build_case_label.
9697 * c-common.h (build_case_label): Remove.
9698 * c-semantics.c (build_case_label): Remove.
9699
a04a722b
JM
97002011-05-05 Joseph Myers <joseph@codesourcery.com>
9701
9702 * c-objc.h (objc_start_method_definition): Update prototype.
9703 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9704
e19a18d4
NF
97052011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9706
9707 * c-common.c (check_main_parameter_types): Reindent. Don't use
9708 TYPE_ARG_TYPES directly.
9709 (handle_nonnull_attribute): Likewise.
9710 (sync_resolve_params): Likewise.
9711 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9712 to check_format_string.
9713 (handle_format_attribute): Likewise.
9714 (check_format_string): Take a function type to examine instead of
9715 a type list. Use a function_arg_iterator to step through argument
9716 types.
9717
c62c040f
RG
97182011-05-04 Richard Guenther <rguenther@suse.de>
9719
9720 * c-common.c (fix_string_type): Use size_int for index type bounds.
9721 (start_fname_decls): Do not pass NULL to build_int_cst.
9722 (c_init_attributes): Likewise.
9723 * c-lex.c (c_lex_with_flags): Likewise.
9724
c12ff9d8
JM
97252011-04-27 Jason Merrill <jason@redhat.com>
9726
9727 * c-common.c (make_tree_vector_from_list): New.
9728 * c-common.h: Declare it.
9729
304dfbe3
RG
97302011-04-26 Richard Guenther <rguenther@suse.de>
9731
9732 PR preprocessor/48248
9733 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9734 for output size with -P.
9735
3c0d13bf
PC
97362011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9737
9738 * c-common.c (struct c_common_resword): Add __underlying_type.
9739 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9740
04695783
JM
97412011-04-20 Jim Meyering <meyering@redhat.com>
9742
9743 * c-format.c (init_dollar_format_checking): Remove useless
9744 if-before-free.
9745
0dc33c3c
NP
97462011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9747
9748 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 9749 (objc_detect_field_duplicates): New.
0dc33c3c 9750 * stub-objc.c: Likewise.
3c0d13bf 9751
c59633d9
NP
97522011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9753
9754 * stub-objc.c (objc_declare_protocols): Renamed to
9755 objc_declare_protocol.
9756 * c-objc.h: Likewise.
3c0d13bf 9757
32dabdaf
NP
97582011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9759
9760 * stub-objc.c (objc_declare_class): Updated argument name.
9761
81f653d6
NF
97622011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9763
9764 * c-common.h (c_common_init_ts): Declare.
9765 * c-common.c (c_common_init_ts): Define.
9766
eb345401
NP
97672011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9768
9769 * c-objc.h (objc_build_message_expr): Updated prototype.
9770 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 9771
a358e188
MJ
97722011-04-12 Martin Jambor <mjambor@suse.cz>
9773
9774 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9775 of cgraph_node.
9776
e6313a78
RG
97772011-04-11 Richard Guenther <rguenther@suse.de>
9778
9779 * c-common.c (complete_array_type): Build a range type of
9780 proper type.
9781
dcf0c47e
NF
97822011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9783
9784 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9785 (handle_type_generic_attribute): Likewise.
9786
1ee44b26
JM
97872011-04-07 Jason Merrill <jason@redhat.com>
9788
9789 PR c++/48450
9790 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9791 conversion from C++0x scoped enum.
9792
acce4e77
JM
97932011-04-06 Joseph Myers <joseph@codesourcery.com>
9794
9795 * c-target-def.h: New file.
9796 * c-target.def: New file.
9797 * c-target.h: New file.
9798 * c-common.c (targetcm): Don't define here.
9799 * c-common.h (default_handle_c_option): Declare.
9800 * c-format.c: Include c-target.h instead of target.h.
9801 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9802 include tm.h.
9803 (default_handle_c_option): Move from targhooks.c.
9804
e2eefb55
JJ
98052011-03-29 Jakub Jelinek <jakub@redhat.com>
9806
9807 PR preprocessor/48248
9808 * c-ppoutput.c (print): Add src_file field.
9809 (init_pp_output): Initialize it.
9810 (maybe_print_line): Don't optimize by adding up to 8 newlines
9811 if map->to_file and print.src_file are different file.
9812 (print_line): Update print.src_file.
9813
ba78087b
KT
98142011-03-25 Kai Tietz <ktietz@redhat.com>
9815
9816 * c-ada-spec.c (compare_comment): Use filename_cmp
9817 instead of strcmp for filename.
9818
0edf1bb2
JL
98192011-03-25 Jeff Law <law@redhat.com>
9820
adfac8df 9821 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9822
c7dc8804
JM
98232011-03-25 Jason Merrill <jason@redhat.com>
9824
9825 * c.opt: Add -std=c++03.
9826
d1d879b1
EB
98272011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9828
9829 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9830
3f8257db 98312011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9832
9833 PR target/12171
5050afdf
KT
9834 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9835 Display allowed attributes for function pointer types.
9836 (pp_c_attributes_display): New function to display
9837 attributes having affects_type_identity flag set to true.
9838 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9839
62d784f7
KT
9840 * c-common.c (c_common_attribute_table):
9841 Add new element.
9842 (c_common_format_attribute_table): Likewise.
9843
82d37118
JM
98442011-03-18 Jason Merrill <jason@redhat.com>
9845
49a000c3
JM
9846 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9847 * c-common.h: Don't declare it here.
9848 * c-common.c: Or define it here.
9849 * c-opts.c (c_common_handle_option): Or set it here.
9850
82d37118
JM
9851 PR c++/35315
9852 * c-common.c (handle_transparent_union_attribute): Don't
9853 make a duplicate type in C++.
9854
17bc631c
JM
98552011-03-15 Jason Merrill <jason@redhat.com>
9856
9857 * c-common.c (max_constexpr_depth): New.
9858 * c-common.h: Declare it.
9859 * c-opts.c (c_common_handle_option): Set it.
9860 * c.opt (fconstexpr-depth): New option.
9861
1b9b91a6
JM
98622011-03-11 Jason Merrill <jason@redhat.com>
9863
f231b5ff
JM
9864 * c-common.c (attribute_takes_identifier_p): Add missing const.
9865
1b9b91a6
JM
9866 PR c++/46803
9867 * c-common.c (attribute_takes_identifier_p): Assume that an
9868 unknown attribute takes an identifier.
9869
a19e4d44
NF
98702011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9871
9872 PR c/47786
9873 * c-common.c (c_type_hash): Call list_length instead of iterating
9874 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9875
982d62f6
JJ
98762011-02-19 Jakub Jelinek <jakub@redhat.com>
9877
9878 PR c/47809
9879 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9880
0a256240
NP
98812011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9882
9883 * c.opt (fobjc-abi-version=) New.
9884 (fobjc-nilcheck): New.
9885
ba9e6dd5
NF
98862011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9887
9888 PR c++/46890
9889 * c-common.h (keyword_is_decl_specifier): Declare.
9890 * c-common.c (keyword_is_decl_specifier): Define.
9891 (keyword_is_function_specifier): New function.
9892
7273813a
JJ
98932011-01-26 Jakub Jelinek <jakub@redhat.com>
9894
9895 PR c/47473
9896 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9897 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9898 REAL_TYPE.
9899
908ef79b
AC
99002011-01-26 Arnaud Charlet <charlet@adacore.com>
9901
9902 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9903
237e9384
JJ
99042011-01-26 Jakub Jelinek <jakub@redhat.com>
9905
9906 PR pch/47430
9907 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9908 after init_c_lex if pch_file is set.
9909
47ea1edf
DK
99102011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9911
d4dba752 9912 PR c++/43601
47ea1edf
DK
9913 * c.opt (-fkeep-inline-dllexport): New switch.
9914
2aa9c6ae
RG
99152011-01-12 Richard Guenther <rguenther@suse.de>
9916
9917 PR middle-end/32511
9918 * c-common.c (handle_weak_attribute): Warn instead of error
9919 on declaring an inline function weak.
9920
7bd11157
TT
99212011-01-05 Tom Tromey <tromey@redhat.com>
9922
9923 * c-common.h (lvalue_error): Update.
9924 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9925 not error.
9926
0e66e494 99272010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9928
b4f588c4
NP
9929 PR objc/47075
9930 * c-objc.h (objc_finish_message_expr): Added argument to
9931 prototype.
9932
f4da8dce
NF
99332010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9934
9935 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9936 Use prototype_p.
9937
46270f14
NP
99382010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9939
9940 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9941 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9942
4816c593
NF
99432010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9944
9945 * c-common.h (readonly_error): Declare.
9946 * c-common.c (readonly_error): Define.
9947
7a6daeb0
NF
99482010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9949
9950 * c-common.h (invalid_indirection_error): Declare.
9951 * c-common.c (invalid_indirection_error): Define.
9952
892f6119
RG
99532010-12-03 Richard Guenther <rguenther@suse.de>
9954
9955 PR c/46745
9956 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9957 (pp_c_unary_expression): Likewise.
9958 (pp_c_expression): Likewise.
9959
6c39e757
NP
99602010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9961
9962 * c-common.h (objc_finish_function): New.
9963 (objc_non_volatilized_type): Removed.
9964 (objc_type_quals_match): Removed.
9965 * stub-objc.c (objc_finish_function): New.
9966 (objc_non_volatilized_type): Removed.
9967 (objc_type_quals_match): Removed.
9faeb493 9968
7c475d11
JM
99692010-11-30 Joseph Myers <joseph@codesourcery.com>
9970
9971 * c-common.h (parse_optimize_options): Declare.
9972 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9973 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9974
71f3e391
JM
99752010-11-29 Joseph Myers <joseph@codesourcery.com>
9976
9977 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9978 GET_ENVIRONMENT.
9979 * c-pch.c (O_BINARY): Don't define here.
9980 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9981
d5fabb58
JM
99822010-11-25 Joseph Myers <joseph@codesourcery.com>
9983
9984 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9985 targetm.except_unwind_info.
9986
299404a1
JM
99872010-11-23 Joseph Myers <joseph@codesourcery.com>
9988
9989 * c-opts.c (c_common_handle_option): Pass location to
9990 set_struct_debug_option.
9991
c98cd5bf
JM
99922010-11-23 Joseph Myers <joseph@codesourcery.com>
9993
9994 * c-common.c (visibility_options): Move from ../opts.c.
9995 * c-common.h (struct visibility_flags, visibility_options):
9996 Declare here.
9997 * c-opts.c (finish_options): Rename to c_finish_options.
9998 (c_common_init): Update call to finish_options.
9999
a9546771
NP
100002010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10001
10002 PR objc/34033
10003 * c-lex.c (lex_string): Check that each string in an Objective-C
10004 string concat sequence starts with either one or zero '@', and
10005 that there are no spurious '@' signs at the end.
10006
24a57808
JM
100072010-11-20 Joseph Myers <joseph@codesourcery.com>
10008
10009 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10010 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10011 HANDLE_PRAGMA_VISIBILITY.
10012 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10013 HANDLE_PRAGMA_VISIBILITY): Don't define.
10014 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10015
a9aa2c3a
NF
100162010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10017
10018 PR c++/16189
10019 PR c++/36888
10020 PR c++/45331
10021 * c-common.h (keyword_begins_type_specifier): Declare.
10022 (keyword_is_storage_class_specifier): Declare.
10023 (keyword_is_type_qualifier): Declare.
10024 * c-common.c (keyword_begins_type_specifier): New function.
10025 (keyword_is_storage_class_specifier): New function.
10026 (keyword_is_type_qualifier): Declare.
10027
5386338c
JM
100282010-11-19 Joseph Myers <joseph@codesourcery.com>
10029
10030 PR c/46547
10031 * c-common.c (in_late_binary_op): Define.
10032 (c_common_truthvalue_conversion): Check in_late_binary_op before
10033 calling c_save_expr.
10034 * c-common.h (in_late_binary_op): Declare.
10035
69ccdddb
JM
100362010-11-19 Joseph Myers <joseph@codesourcery.com>
10037
10038 * c-opts.c (c_common_handle_option): Update calls to
10039 set_struct_debug_option.
10040
6b192a09
NP
100412010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10042
10043 * c-common.h (objc_declare_protocols): Added additional argument.
10044 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 10045
fb52b50a
NF
100462010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10047
10048 PR c/33193
10049 * c-common.h (build_real_imag_expr): Declare.
10050 * c-semantics.c (build_real_imag_expr): Define.
10051
b37421c6
JM
100522010-11-17 Joseph Myers <joseph@codesourcery.com>
10053
10054 * c-opts.c (c_common_parse_file): Take no arguments.
10055 * c-common.h (c_common_parse_file): Update prototype.
10056
07078664
JJ
100572010-11-16 Jakub Jelinek <jakub@redhat.com>
10058
10059 PR c++/46401
10060 * c-common.c (warning_candidate_p): Don't track non-const calls
10061 or STRING_CSTs.
10062
c6a13190
ILT
100632010-11-15 Ian Lance Taylor <iant@google.com>
10064
10065 * c-lex.c (init_c_lex): Set macro debug callbacks if
10066 flag_dump_go_spec is set.
10067
925e8657
NP
100682010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10069
10070 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10071 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10072
bb0a9581
NF
100732010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10074
10075 PR preprocessor/45038
10076 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10077 dialects.
10078
c5fa0890
JM
100792010-11-12 Joseph Myers <joseph@codesourcery.com>
10080
10081 * c-common.h (c_family_lang_mask): Declare.
10082 * c-opts.c (c_family_lang_mask): Make extern.
10083 * c-pragma.c (handle_pragma_diagnostic): Use
10084 control_warning_option.
10085
a4d8c676
JM
100862010-11-12 Joseph Myers <joseph@codesourcery.com>
10087
10088 * c-common.c (parse_optimize_options): Update call to
10089 decode_options.
10090 * c-common.h (c_common_handle_option): Update prototype.
10091 * c-opts.c (c_common_handle_option): Take location_t parameter and
10092 pass it to other functions.
10093
f954bd2c
JM
100942010-11-11 Joseph Myers <joseph@codesourcery.com>
10095
10096 * c-opts.c (warning_as_error_callback): Remove.
10097 (c_common_initialize_diagnostics): Don't call
10098 register_warning_as_error_callback.
10099 (c_common_handle_option): Handle -Werror=normalized= here.
10100
d8a07487
JM
101012010-11-10 Joseph Myers <joseph@codesourcery.com>
10102
10103 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10104 in diagnostic.
10105 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10106 letter.
10107 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10108 Remove trailing '.' from diagnostics.
10109 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10110
d5478783
JM
101112010-11-10 Joseph Myers <joseph@codesourcery.com>
10112
10113 * c-common.c (parse_optimize_options): Pass global_dc to
10114 decode_options.
10115 * c-opts.c (c_common_handle_option): Pass &global_options to
10116 set_Wstrict_aliasing.
10117 * c.opt (v): Don't mark Common or document here.
10118
91ebb981
IS
101192010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10120
10121 PR target/44981
10122 * c-format.c (format_type): New type gcc_objc_string_format_type.
10123 (valid_stringptr_type_p): New.
10124 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 10125 (check_format_string): Pass expected type, use
91ebb981
IS
10126 valid_stringptr_type_p (), check that the format string types are
10127 consistent with the format specification.
10128 (decode_format_attr): Warn if NSString is used outside objective-c.
10129 (format_types_orig): Add NSString.
10130 (format_name): New.
10131 (format_flags): New.
10132 (check_format_arg): Handle format strings requiring an external parser.
10133 first_target_format_type: New variable.
10134 (handle_format_attribute): Set up first_target_format_type, pass the
10135 expected format arg string type to check_format_string().
ab20d992 10136 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
10137 * stub-objc.c (objc_string_ref_type_p): New.
10138 (objc_check_format_arg): New.
10139
bede2adc
NP
101402010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10141
9faeb493 10142 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
10143 * c-common.h (objc_build_class_component_ref): New.
10144 * stub-objc.c (objc_build_class_component_ref): New.
10145
9a179d01
NP
101462010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10147
10148 * c.opt (Wproperty-assign-default): New option.
10149
22d8d616
NP
101502010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10151
10152 Implemented -fobjc-std=objc1 flag.
10153 * c.opt (fobjc-std=objc1): New option.
10154
2debdb4f
NP
101552010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10156
10157 Implemented format and noreturn attributes for Objective-C methods.
10158 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10159 attribute for Objective-C methods.
10160
ec52b111
JM
101612010-10-31 Jason Merrill <jason@redhat.com>
10162
10163 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10164 EXPR_LOC_OR_HERE.
10165
46a88c12
NP
101662010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10167
10168 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10169 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10170 (objc_add_property_declaration): Removed arguments for copies and
10171 ivar.
10172 (objc_build_getter_call): Renamed to
10173 objc_maybe_build_component_ref.
10174 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10175 (objc_is_property_ref): New.
10176 * c-common.c (c_common_reswords): Removed copies and ivar.
10177 * stub-objc.c (objc_add_property_declaration): Removed arguments
10178 for copies and ivar.
10179 (objc_build_getter_call): Renamed to
10180 objc_maybe_build_component_ref.
10181 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10182 (objc_is_property_ref): New.
9faeb493 10183
1e4bf85b
AC
101842010-10-29 Arnaud Charlet <charlet@adacore.com>
10185 Matthew Gingell <gingell@adacore.com>
10186
10187 * c-ada-spec.c (separate_class_package): New function.
10188 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10189 name of their enclosing package.
10190 (print_ada_declaration): Use separate_class_package.
10191
81f0bab2
JM
101922010-10-27 Jason Merrill <jason@redhat.com>
10193
2b08f2c5
JM
10194 * c-common.c (c_common_reswords): Add __is_literal_type.
10195 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10196
81f0bab2
JM
10197 * c-common.c (check_case_value): Remove special C++ code.
10198
200290f2
NP
101992010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10200
10201 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10202 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10203 and RID_LAST_PATTR.
10204 (objc_add_property_declaration): Added additional arguments.
10205 (objc_property_attribute_kind): Removed.
10206 (objc_set_property_attr): Removed.
10207 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10208 copy and nonatomic.
10209 * stub-objc.c (objc_add_property_declaration): Added additional
10210 arguments.
10211 (objc_set_property_attr): Removed.
9faeb493 10212
f614132b
NP
102132010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10214
10215 * c-common.h (objc_add_property_variable): Renamed to
10216 objc_add_property_declaration. Added location argument.
10217 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 10218
b8a18805
NP
102192010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10220
10221 * c-common.h (objc_maybe_printable_name): New.
10222 * stub-objc.c (objc_maybe_printable_name): New.
10223
3f8257db
JJ
102242010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10225 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
10226
10227 * c-common.h (c_common_mark_addressable_vec): Declare.
10228 * c-common.c (c_common_mark_addressable_vec): New function.
10229
249a82c4
NP
102302010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10231
10232 * c-common.h (objc_set_method_type): Removed.
10233 (objc_add_method_declaration): Added boolean argument.
10234 (objc_start_method_definition): Same change.
10235 (objc_build_method_signature): Same change.
10236 * stub-objc.c (objc_set_method_type): Removed.
10237 (objc_add_method_declaration): Added boolean argument.
10238 (objc_start_method_definition): Same change.
10239 (objc_build_method_signature): Same change.
10240
977e30bc
NP
102412010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10242
10243 * c-common.h (finish_file): Removed.
10244 (objc_write_global_declarations): New.
10245 * c-opts.c (c_common_parse_file): Do not call finish_file.
10246 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 10247
da57d1b9
NP
102482010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10249
10250 Implemented parsing @synthesize and @dynamic for
10251 Objective-C/Objective-C++.
10252 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10253 (objc_add_synthesize_declaration): New.
10254 (objc_add_dynamic_declaration): New.
10255 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10256 * stub-objc.c (objc_add_synthesize_declaration): New.
10257 (objc_add_dynamic_declaration): New.
9faeb493 10258
0069111f
MM
102592010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10260
10261 PR target/46041
10262 * c-cppbuiltin.c (mode_has_fma): Move function here from
10263 builtins.c. Don't use the fma optab, instead just use the
10264 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10265 using -save-temps.
10266
e426b47b
NP
102672010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10268
10269 Merge from 'apple/trunk' branch on FSF servers.
0069111f 10270
3f8257db 10271 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 10272
9faeb493 10273 Radar 4330422
e426b47b
NP
10274 * c-common.h (objc_non_volatilized_type): New declaration
10275 * stub-objc.c (objc_non_volatilized_type): New stub.
10276
90fbfdc3
NP
102772010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10278
e426b47b 10279 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 10280
ab20d992 10281 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 10282
9faeb493 10283 Radar 4133425
90fbfdc3 10284 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 10285 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 10286
c37d8c30
IS
102872010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10288
10289 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10290 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10291 (objc_ivar_visibility_kind): New enum.
10292 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 10293 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
10294 visibility enum.
10295
1b1562a5
MM
102962010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10297
10298 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10299 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10300 has the appropriate fma builtins.
10301 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10302
668ea4b1
IS
103032010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10304
1b1562a5 10305 merge from FSF apple 'trunk' branch.
3f8257db 10306 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 10307
668ea4b1
IS
10308 Radars 4436866, 4505126, 4506903, 4517826
10309 * c-common.c (c_common_resword): Define @property and its attributes.
10310 * c-common.h: Define property attribute enum entries.
10311 (OBJC_IS_PATTR_KEYWORD): New.
10312 (objc_property_attribute_kind): New enum.
10313 Declare objc_set_property_attr (), objc_add_property_variable (),
10314 objc_build_getter_call () and objc_build_setter_call ().
10315 * stub-objc.c (objc_set_property_attr): New stub.
10316 (objc_add_property_variable): Likewise.
10317 (objc_build_getter_call): Likewise.
10318 (objc_build_setter_call) Likewise.
1b1562a5 10319
a1178b30
IS
103202010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10321
1b1562a5 10322 merge from FSF apple 'trunk' branch.
ab20d992 10323 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
10324
10325 Radar 3803157 (method attributes)
10326 * c-common.c (handle_deprecated_attribute): Recognize
10327 objc methods as valid declarations.
10328 * c-common.h: Declare objc_method_decl ().
1b1562a5 10329 * stub-objc.c (objc_method_decl): New stub.
a1178b30 10330
a75bfaa6
JM
103312010-10-08 Joseph Myers <joseph@codesourcery.com>
10332
10333 * c-common.c (parse_optimize_options): Call
10334 decode_cmdline_options_to_array_default_mask before
10335 decode_options. Update arguments to decode_options.
10336 * c-common.h (c_common_init_options_struct): Declare.
10337 * c-opts.c (c_common_init_options_struct): New. Split out from
10338 c_common_init_options.
10339
f05b9d93
NP
103402010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10341
10342 Implemented fast enumeration for Objective-C.
10343 * c-common.h (objc_finish_foreach_loop): New.
10344 * stub-objc.c (objc_finish_foreach_loop): New.
10345
1ebe4b4f
JM
103462010-10-05 Joseph Myers <joseph@codesourcery.com>
10347
10348 * c-common.h (struct diagnostic_context): Don't declare here.
10349 (c_common_initialize_diagnostics): Declare using
10350 diagnostic_context typedef.
10351 * c-opts.c (c_common_handle_option): Pass global_dc to
10352 handle_generated_option.
10353
d4d24ba4
JM
103542010-10-04 Joseph Myers <joseph@codesourcery.com>
10355
10356 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10357 handle_generated_option.
10358
478a1c5b
ILT
103592010-10-03 Ian Lance Taylor <iant@google.com>
10360
10361 * c.opt (-fplan9-extensions): New option.
10362
82a1c2fe
FXC
103632010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10364
10365 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10366 Remove.
10367 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10368 of duplicating code.
10369
92902b1b
IS
103702010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10371
10372 * c-common.c: Add two new entries for @optional
10373 and @required keywords.
10374
10375 merge from FSF 'apple/trunk' branch.
3f8257db 10376 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
10377
10378 Radar 4386773
10379 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10380 objective-c keywords.
10381 (objc_set_method_opt): New declaration.
10382 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 10383
46625112
JM
103842010-09-30 Joseph Myers <joseph@codesourcery.com>
10385
10386 * c-common.c (handle_optimize_attribute): Pass &global_options to
10387 cl_optimization_save and cl_optimization_restore.
10388 * c-opts.c (c_common_handle_option): Pass &global_options to
10389 handle_generated_option.
10390 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10391 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10392 &global_options to cl_optimization_restore.
10393
49b91f05
NP
103942010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10395
10396 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10397 Objective-C/Objective-C++ keywords.
10398
13ed556f 103992010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 10400
9faeb493
UB
10401 Merge from 'apple/trunk' branch on FSF servers.
10402
3f8257db 10403 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
10404
10405 Radar 4281748
10406 * c-common.h (objc_check_global_decl): New declaration.
10407 * stub-objc.c (objc_check_global_decl): New stub.
10408
f0036cca
JM
104092010-09-29 Joseph Myers <joseph@codesourcery.com>
10410
10411 * c.opt: Don't use VarExists.
10412
e3339d0f
JM
104132010-09-29 Joseph Myers <joseph@codesourcery.com>
10414
10415 * c-common.c (c_cpp_error): Update names of diagnostic_context
10416 members.
10417 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10418 cl_optimization members.
10419 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10420 sanitize_cpp_opts, finish_options): Update names of cpp_options
10421 members.
10422
1973201f
NP
104232010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10424
10425 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10426 (objc_is_reserved_word): Removed.
10427 * c-common.c: Updated comments.
10428 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10429 objc_is_reserved_word.
10430 * stub-objc.c (objc_is_reserved_word): Removed.
10431
f7e71da5
IS
104322010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10433
9faeb493 10434 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
10435 include attributes.
10436 (objc_start_method_definition): Likewise.
10437 (objc_build_keyword_decl): Likewise.
10438 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10439 (objc_start_method_definition): Likewise.
10440 (objc_build_keyword_decl): Likewise.
10441
c165dca7
IS
104422010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10443
10444 * c-common.h (objc_start_class_interface): Adjust prototype.
10445 (objc_start_category_interface): Likewise.
10446 (objc_start_protocol): Likewise.
10447 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10448 (objc_start_class_interface): Likewise.
10449 (objc_start_category_interface): Likewise.
10450
7458026b
ILT
104512010-09-27 Ian Lance Taylor <iant@google.com>
10452
10453 * c-common.c (c_common_attribute_table): Add no_split_stack.
10454 (handle_no_split_stack_attribute): New static function.
10455
b581b85b
NP
104562010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10457
9faeb493 10458 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 10459
3f8257db 10460 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 10461
9faeb493 10462 Radar 4229905
b581b85b
NP
10463 * c-common.h (objc_have_common_type): New declaration.
10464 * stub-objc.c (objc_have_common_type): New stub.
10465
10466 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10467
10468 Radar 4154928
10469 * c-common.h (objc_common_type): New prototype.
9faeb493 10470 * stub-objc.c (objc_common_type): New stub.
b581b85b 10471
46a4da10
JH
104722010-09-24 Jan Hubicka <jh@suse.cz>
10473
10474 * c-common.c (handle_leaf_attribute): New function.
10475 (struct attribute_spec c_common_att): Add leaf.
10476
e200444e
JM
104772010-09-22 Joseph Myers <joseph@codesourcery.com>
10478
10479 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10480 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10481 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10482 -include-barrier, -include-directory, -include-directory=,
10483 -include-directory-after, -include-directory-after=,
10484 -include-prefix, -include-prefix=, -include-with-prefix,
10485 -include-with-prefix=, -include-with-prefix-after,
10486 -include-with-prefix-after=, -include-with-prefix-before,
10487 -include-with-prefix-before=, -no-integrated-cpp,
10488 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10489 -output=, -pedantic, -pedantic-errors, -preprocess,
10490 -print-missing-file-dependencies, -trace-includes, -traditional,
10491 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10492 -user-dependencies, -verbose, -write-dependencies,
10493 -write-user-dependencies, no-integrated-cpp, traditional): New.
10494
29a80ea6
NP
104952010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10496
10497 PR objc/23710
ac1fc2fc
NP
10498 * c-common.h (objc_start_method_definition): Return bool instead
10499 of void.
10500 * stub-objc.c (objc_start_method_definition): Return bool instead
10501 of void.
10502
105032010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10504
10505 PR objc/25965
10506 * c-common.h (objc_get_interface_ivars): New declaration.
10507 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 10508
de621752
ILT
105092010-09-15 Ian Lance Taylor <iant@google.com>
10510
10511 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 10512 messages. Remove period at end of warning message.
de621752 10513
ba885ec5
NS
105142010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10515
10516 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10517 (handle_alias_attribute): ... here.
10518 (handle_ifunc_attribute): New.
10519
c5ee1358
MM
105202010-09-06 Mark Mitchell <mark@codesourcery.com>
10521
10522 * c-common.h (do_warn_double_promotion): Declare.
10523 * c-common.c (do_warn_double_promotion): Define.
10524
0a0b3574
MM
105252010-09-05 Mark Mitchell <mark@codesourcery.com>
10526
10527 * c.opt (Wdouble-promotion): New.
10528
d1779886
JM
105292010-09-02 Joseph Myers <joseph@codesourcery.com>
10530
10531 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10532 fvtable-thunks, fxref): Mark no longer supported in help text.
10533
2d2bd949
JM
105342010-09-02 Joseph Myers <joseph@codesourcery.com>
10535
10536 * c.opt (Wimport, fall-virtual, falt-external-templates,
10537 fdefault-inline, fenum-int-equiv, fexternal-templates,
10538 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10539 fname-mangling-version-, fnew-abi, fnonnull-objects,
10540 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10541 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10542 applicable.
10543 (fhandle-exceptions): Mark with Alias and Warn.
10544 * c-opts.c (c_common_handle_option): Don't handle options marked
10545 as ignored.
10546
5de8299c
JM
105472010-09-02 Joseph Myers <joseph@codesourcery.com>
10548
10549 * c.opt (Wcomments, Werror-implicit-function-declaration,
10550 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10551 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10552 aliases.
10553 * c-common.c (option_codes): Use OPT_Wcomment instead of
10554 OPT_Wcomments.
10555 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10556 Don't handle options marked as aliases.
10557
0ceb0201
RG
105582010-08-25 Richard Guenther <rguenther@suse.de>
10559
10560 * c-common.c (c_common_get_alias_set): Remove special
10561 handling for pointers.
10562
ac47786e
NF
105632010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10564
10565 * c-common.c: Use FOR_EACH_VEC_ELT.
10566 * c-gimplify.c: Likewise.
10567 * c-pragma.c: Likewise.
10568
c878765b
JM
105692010-08-16 Joseph Myers <joseph@codesourcery.com>
10570
10571 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10572 RejectDriver.
10573 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10574 RejectDriver.
10575 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10576 instead of OPT_MDX and OPT_MMDX.
10577
603349bf
JM
105782010-08-16 Joseph Myers <joseph@codesourcery.com>
10579
10580 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10581
644fa7ac
JM
105822010-08-12 Joseph Myers <joseph@codesourcery.com>
10583
10584 * c.opt (MD, MMD): Change to MDX and MMDX.
10585 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10586
481e1176
JM
105872010-08-11 Joseph Myers <joseph@codesourcery.com>
10588
10589 * c-opts.c (c_common_handle_option): Call handle_generated_option
10590 instead of handle_option.
10591
ac8dc9f7
NF
105922010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10593
10594 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10595 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10596
4f8c876d
NF
105972010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10598
10599 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10600 (pending_redefine_extname): Change type to a VEC.
10601 (add_to_renaming_pragma_list): Update for new type of
10602 pending_redefine_extname.
ac8dc9f7 10603 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 10604
3b0c690e
AC
106052010-08-04 Arnaud Charlet <charlet@adacore.com>
10606
10607 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10608 visited.
10609 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10610 decide whether a type has already been declared/seen.
10611 Do not go to the original type.
10612 (dump_nested_types): New parameter forward.
10613 Generate forward declaration if needed and mark type as visited.
10614 (print_ada_declaration): Call dump_nested_types if not already done.
10615 Mark types as visited.
10616
1890bccc
JM
106172010-08-03 Joseph Myers <joseph@codesourcery.com>
10618
10619 * c.opt (-print-pch-checksum): Remove option.
10620 * c-opts.c (c_common_handle_option): Don't handle
10621 OPT_print_pch_checksum.
10622
5f20c657
JM
106232010-07-27 Joseph Myers <joseph@codesourcery.com>
10624
10625 * c-common.h (c_common_handle_option): Update prototype and return
10626 value type.
10627 * c-opts.c (c_common_handle_option): Update prototype and return
10628 value type. Update calls to handle_option and
10629 enable_warning_as_error.
10630
f551f80c
JJ
106312010-07-27 Jakub Jelinek <jakub@redhat.com>
10632
10633 PR c/45079
10634 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10635
61ff2bdc
JM
106362010-07-27 Joseph Myers <joseph@codesourcery.com>
10637
10638 * c-common.h (c_common_missing_argument): Remove.
10639 * c-opts.c (c_common_missing_argument): Remove.
10640 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10641 idirafter, imacros, include, isysroot, isystem, iquote): Add
10642 MissingArgError.
10643 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10644
7a9bf9a4
JM
106452010-07-27 Joseph Myers <joseph@codesourcery.com>
10646
10647 * c-common.h (c_common_option_lang_mask,
10648 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10649 New.
10650 (c_common_init_options): Update prototype.
10651 * c-opts.c (c_common_option_lang_mask): New.
10652 (c_common_initialize_diagnostics): Split out of
10653 c_common_init_options.
10654 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10655 New.
10656 (c_common_init_options): Update prototype. Use decoded options in
10657 search for -lang-asm.
10658
910ad8de
NF
106592010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10660
10661 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10662 * c-format.c: Likewise.
10663
718f9c0f
MLI
106642010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10665
10666 * c-common.h: Include diagnostic-core.h. Error if already
10667 included.
10668 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10669
4d451982
MLI
106702010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10671
adfac8df 10672 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
10673 Do not include expr.h
10674 (vector_mode_valid_p): Move here.
10675
119fe915
SB
106762010-06-21 DJ Delorie <dj@redhat.com>
10677
10678 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10679 allow these pragmas anywhere.
10680
106812010-06-14 Jakub Jelinek <jakub@redhat.com>
10682
10683 PR bootstrap/44509
10684 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10685 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10686 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10687 ggc_strdup instead of xstrdup.
10688
106892010-06-10 Jakub Jelinek <jakub@redhat.com>
10690
10691 * c-cppbuiltin.c: Include cpp-id-data.h.
10692 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10693 (lazy_hex_fp_value): New function.
10694 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10695
6662d794
MLI
106962010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10697
10698 * c-gimplify.c: Do not include tree-flow.h
10699
38f8b050
JR
107002010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10701
10702 PR other/44034
10703 * c-common.c: Rename targetm member:
10704 targetm.enum_va_list -> targetm.enum_va_list_p
10705
9589f23e
AS
107062010-06-28 Anatoly Sokolov <aesok@post.ru>
10707
10708 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10709
3b06d379
SB
107102010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10711
10712 * c-cppbuiltin.c: Do not include except.h.
10713
d166d4c3
AK
107142010-06-24 Andi Kleen <ak@linux.intel.com>
10715
9faeb493
UB
10716 * c-common.c (warn_for_omitted_condop): New.
10717 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 10718
70cb8be6
JM
107192010-06-21 Joseph Myers <joseph@codesourcery.com>
10720
10721 * c.opt (lang-objc): Remove.
10722 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10723
a4c97feb
JR
107242010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10725
10726 * c-opts.c: Include "tm_p.h".
10727
6e2f1956
JM
107282010-06-20 Joseph Myers <joseph@codesourcery.com>
10729
10730 * c-common.c (parse_optimize_options): Update call to
10731 decode_options.
10732
bc87224e
NF
107332010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10734
10735 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10736 new type of types_used_by_cur_var_decl.
10737
b49cf425
JR
107382010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10739
10740 PR bootstrap/44512
10741 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10742 for C++ standard compliance.
10743
59f9c2ed
JM
107442010-06-16 Jason Merrill <jason@redhat.com>
10745
10746 * c.opt: Add -Wnoexcept.
10747
33766b66
RG
107482010-06-16 Richard Guenther <rguenther@suse.de>
10749
10750 PR c/44555
10751 * c-common.c (c_common_truthvalue_conversion): Remove
10752 premature and wrong optimization concering ADDR_EXPRs.
10753
eff7e30c
AC
107542010-06-15 Arnaud Charlet <charlet@adacore.com>
10755
10756 * c-ada-spec.c (dump_sloc): Remove column info.
10757 (is_simple_enum): New function.
10758 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10759 enum types when relevant.
10760
6312e84d
MLI
107612010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10762
9faeb493 10763 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
10764 location.
10765
1cb42611
JM
107662010-06-10 Joseph Myers <joseph@codesourcery.com>
10767
10768 * c-opts.c (c_common_handle_option): Don't handle
10769 OPT_fshow_column.
10770
a9429e29
LB
107712010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10772
10773 * c-pragma.c (push_alignment): Use typed GC allocation.
10774 (handle_pragma_push_options): Likewise.
10775
10776 * c-common.c (parse_optimize_options): Likewise.
10777
10778 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10779 option.
10780
5498f011
JM
107812010-06-07 Joseph Myers <joseph@codesourcery.com>
10782
10783 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10784 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10785 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10786 flag_signed_bitfields, warn_strict_null_sentinel,
10787 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10788 flag_gen_declaration, flag_no_gnu_keywords,
10789 flag_implement_inlines, flag_implicit_templates,
10790 flag_implicit_inline_templates, flag_optional_diags,
10791 flag_elide_constructors, flag_default_inline, flag_rtti,
10792 flag_conserve_space, flag_access_control, flag_check_new,
10793 flag_new_for_scope, flag_weak, flag_working_directory,
10794 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10795 flag_enforce_eh_specs, flag_threadsafe_statics,
10796 flag_pretty_templates): Remove.
10797 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10798 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10799 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10800 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10801 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10802 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10803 flag_no_gnu_keywords, flag_implement_inlines,
10804 flag_implicit_templates, flag_implicit_inline_templates,
10805 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10806 flag_rtti, flag_conserve_space, flag_access_control,
10807 flag_check_new, flag_new_for_scope, flag_weak,
10808 flag_working_directory, flag_use_cxa_atexit,
10809 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10810 flag_threadsafe_statics, flag_pretty_templates,
10811 warn_strict_null_sentinel): Remove.
10812 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10813 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10814 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10815 fimplicit-inline-templates, fimplicit-templates,
10816 flax-vector-conversions, fms-extensions, fnil-receivers,
10817 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10818 frtti, fshort-double, fshort-enums, fshort-wchar,
10819 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10820 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10821 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10822 gen-decls, undef): Use Var.
10823 (fdefault-inline, foptional-diags): Document as doing nothing.
10824 * c-opts.c (c_common_handle_option): Remove cases for options now
10825 using Var. Mark ignored options as such.
10826
39dabefd
SB
108272010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10828
9faeb493 10829 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10830 * c-common.def: Likewise.
10831 * c-common.h: Likewise.
10832 * c-cppbuiltin.c: Likewise.
10833 * c-dump.c: Likewise.
10834 * c-format.c: Likewise.
10835 * c-format.h : Likewise.
10836 * c-gimplify.c: Likewise.
10837 * c-lex.c: Likewise.
10838 * c-omp.c: Likewise.
10839 * c.opt: Likewise.
10840 * c-opts.c: Likewise.
10841 * c-pch.c: Likewise.
10842 * c-ppoutput.c: Likewise.
10843 * c-pragma.c: Likewise.
10844 * c-pragma.h: Likewise.
10845 * c-pretty-print.c: Likewise.
10846 * c-pretty-print.h: Likewise.
10847 * c-semantics.c: Likewise.
10848 * stub-objc.c: Likewise.
10849
10850 * c-common.c: Include gt-c-family-c-common.h.
10851 * c-pragma.c: Include gt-c-family-c-pragma.h.
10852\f
8d9254fc 10853Copyright (C) 2010-2020 Free Software Foundation, Inc.
39dabefd
SB
10854
10855Copying and distribution of this file, with or without modification,
10856are permitted in any medium without royalty provided the copyright
10857notice and this notice are preserved.
This page took 3.675234 seconds and 5 git commands to generate.