]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
PR92090: Fix part of testcase failures by r276469
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
0df65305
JM
12019-11-05 Jason Merrill <jason@redhat.com>
2
3 * c-opts.c (c_common_post_options): -fconcepts-ts implies
4 -fconcepts.
5
e0c866dd
KK
62019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
7
8 * c-opts.c (c_common_post_options): Update
9 latest_abi_version.
10
f968ef9b
JJ
112019-11-02 Jakub Jelinek <jakub@redhat.com>
12
d0c464d2
JJ
13 * c-common.h (c_omp_get_context_selector): Remove.
14 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
15 and renamed to omp_get_context_selector.
16
917dd789
JJ
17 * c-omp.c (c_omp_mark_declare_variant): Use
18 omp_context_selector_set_compare.
19
f968ef9b
JJ
20 PR c++/88335 - Implement P1073R3: Immediate functions
21 * c-common.h (enum rid): Add RID_CONSTEVAL.
22 * c-common.c (c_common_reswords): Add consteval.
23
43f1814c
NS
242019-10-30 Nathan Sidwell <nathan@acm.org>
25
26 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
27 macros.
28
ad1539d5
MS
292019-10-28 Martin Sebor <msebor@redhat.com>
30
31 PR c/66970
32 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
33 even when only preprocessing.
34 * c-common.h (names_builtin_p): Declare new function.
35 * c-lex.c (init_c_lex): Set has_builtin.
36 (c_common_has_builtin): Define a new function.
37 * c-ppoutput.c (init_pp_output): Set has_builtin.
38
135df52c
JJ
392019-10-24 Jakub Jelinek <jakub@redhat.com>
40
41 * c-common.h (c_omp_context_selector_matches): Remove.
42 * c-omp.c (c_omp_context_selector_matches): Remove.
43 * c-attribs.c (c_common_attribute_table): Add
44 "omp declare target {host,nohost,block}" attributes.
45
8ad0c477
JM
462019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
47
48 * c-lex.c (c_common_has_attribute): Update nodiscard value.
49
56898e43
RS
502019-10-14 Richard Sandiford <richard.sandiford@arm.com>
51
52 * c-common.h (user_facing_original_type_p): Declare.
53 * c-common.c: Include c-spellcheck.h.
54 (user_facing_original_type_p): New function.
55
20de9568
JJ
562019-10-12 Jakub Jelinek <jakub@redhat.com>
57
58 * c-common.h (c_omp_mark_declare_variant,
59 c_omp_context_selector_matches): Declare.
60 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
61 and hsa-common.h.
62 (c_omp_get_context_selector): Support second argument NULL.
63 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
64 functions.
65 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
66 attribute, add "omp declare variant base" and
67 "omp declare variant variant" attributes.
68
175a85b2
JM
692019-10-11 Joseph Myers <joseph@codesourcery.com>
70
71 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
72 CppReason(CPP_W_C11_C2X_COMPAT).
73
fe2bc27c
JM
742019-10-11 Joseph Myers <joseph@codesourcery.com>
75
76 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
77 _Decimal64 and _Decimal128.
78
27dfdc0f
JM
792019-10-10 Joseph Myers <joseph@codesourcery.com>
80
81 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
82 types if DFP not supported.
83
94e7f906
JJ
842019-10-10 Jakub Jelinek <jakub@redhat.com>
85
86 * c-common.h (c_omp_check_context_selector,
87 c_omp_get_context_selector): Declare.
88 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
89 in diagnostic message.
90 (c_omp_check_context_selector, c_omp_get_context_selector): New
91 functions.
92 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
93 attribute.
94 (handle_omp_declare_variant_attribute): New function.
95
a7160771
MS
962019-10-09 Martin Sebor <msebor@redhat.com>
97
98 PR tree-optimization/90879
99 * c.opt (-Wstring-compare): New option.
100
cb57504a
JM
1012019-10-08 Andrew Sutton <asutton@lock3software.com>
102 Jason Merrill <jason@redhat.com>
103
104 Update the concepts implementation to conform to the C++20
105 specification, improve compile times, and generally clean up
106 the implementation.
107
108 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
109 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
110 * c.opt: Add -Wconcepts-ts.
111 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
112 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
113 (set_std_cxx2a): Enable concepts by default.
114
fbb2a6dc
JM
1152019-10-08 Joseph Myers <joseph@codesourcery.com>
116
117 * c-opts.c (c_common_post_options): Set
118 -fno-fp-int-builtin-inexact for C2X.
119
8e007055
JJ
1202019-10-05 Jakub Jelinek <jakub@redhat.com>
121
122 PR c++/91369 - Implement P0784R7: constexpr new
123 * c-cppbuiltin.c (c_cpp_builtins): Predefine
124 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
125
843f104d
JM
1262019-10-04 Joseph Myers <joseph@codesourcery.com>
127
128 PR c/82752
129 * c-format.c (C_STD_VER): Handle C2x.
130 (C_STD_NAME): Likewise.
131 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
132 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
133 modifier allowed and 'p' flag.
134 * c-format.h (enum format_std_version): Add STD_C2X.
135 (struct format_char_info): Mention 'p' in comment on flags2.
136
e9c9a142
DM
1372019-10-01 David Malcolm <dmalcolm@redhat.com>
138
139 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
140 calling diagnostic_show_locus, rather than destroying it afterwards.
141
7552c36a
JJ
1422019-10-01 Jakub Jelinek <jakub@redhat.com>
143
144 PR c++/91925
145 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
146 with NULL DECL_FIELD_OFFSET.
147
8209db25
RS
1482019-10-01 Richard Sandiford <richard.sandiford@arm.com>
149
150 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
151 has a type name, use it in preference to the __vector syntax.
152
9343bf99
RS
1532019-09-30 Richard Sandiford <richard.sandiford@arm.com>
154
155 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
156 two spaces between a comma and "...".
157
59bc434a
JJ
1582019-09-27 Jakub Jelinek <jakub@redhat.com>
159
160 PR c++/88203
161 * c-common.h (c_omp_predefined_variable): Declare.
162 * c-omp.c (c_omp_predefined_variable): New function.
163 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
164 for predefined variables.
165
c6447c20
RS
1662019-09-27 Richard Sandiford <richard.sandiford@arm.com>
167
168 * c-common.h (build_function_call_vec): Take the original
169 function decl as an optional final parameter.
170 (check_builtin_function_arguments): Take the original function decl.
171 * c-common.c (check_builtin_function_arguments): Likewise.
172 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
173 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
174
c4438114
JM
1752019-09-15 Jason Merrill <jason@redhat.com>
176
177 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
178 fold_for_warn in "|| mask" warning.
179
68a57628
ML
1802019-09-10 Martin Liska <mliska@suse.cz>
181
182 * c.opt: Use newly added WarnRemoved.
183
f48ef52e
ML
1842019-09-09 Martin Liska <mliska@suse.cz>
185
186 * c.opt: Update comment of removed
187 options that are preserved only for backward
188 compatibility.
189
67f6e649
ML
1902019-09-06 Martin Liska <mliska@suse.cz>
191
192 PR c++/91125
193 * c-common.c: Remove definition of flag_use_repository.
194 * c-common.h: Likewise.
195 * c-opts.c (c_common_handle_option):
196 Do not handle OPT_frepo option.
197 * c.opt: Mark the option with Deprecated.
198
db9d2274
MP
1992019-09-04 Marek Polacek <polacek@redhat.com>
200
201 * c.opt (fdeduce-init-list): Ignored.
202
68e2c199
PK
2032019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
204
205 PR c/78736
206 * c.opt (Wenum-conversion): New option.
207
7a4418a5
JL
2082019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
209
210 * c-attribs.c (handle_section_attribute): Call the
211 handle_generic_attribute target hook after performing target
212 independent processing.
213 (handle_noinit_attribute): Likewise.
214
5f76ab15
ILT
2152019-09-03 Ian Lance Taylor <iant@golang.org>
216
217 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
218 when using -fgo-dump-spec.
219
ae0d3f6a
ML
2202019-09-02 Martin Liska <mliska@suse.cz>
221
222 PR c++/91155
223 * c-common.c (fname_as_string): Use cxx_printable_name for
224 __PRETTY_FUNCTION__ same as was used before r265711.
225
8a902edb
MP
2262019-08-28 Marek Polacek <polacek@redhat.com>
227
228 Implement P1152R4: Deprecating some uses of volatile.
229 PR c++/91361
230 * c-opts.c (c_common_post_options): Enable -Wvolatile by
231 default for C++2a, unless -Wno-deprecated.
232 * c.opt (Wvolatile): New warning.
233
4742dbe7
MP
2342019-08-28 Marek Polacek <polacek@redhat.com>
235
236 PR c++/91360 - Implement C++20 P1143R2: constinit.
237 * c-common.c (c_common_reswords): Add constinit and __constinit.
238 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
239 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
240 RID_LAST_CXX20.
241 (D_CXX20): Define.
242 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
243 * c-format.c (cxx_keywords): Add "constinit".
244 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
245
6a074892
JJ
2462019-08-27 Jakub Jelinek <jakub@redhat.com>
247
248 PR c++/91415
249 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
250 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
251 like COMPOUND_EXPR rather than normal expression.
252
22f8849d
IS
2532019-08-23 Iain Sandoe <iain@sandoe.co.uk>
254
255 PR pch/61250
256 * c-lex.c (c_lex_with_flags): Don't call
257 c_common_no_more_pch () from here.
258
df375b03
JJ
2592019-08-23 Jakub Jelinek <jakub@redhat.com>
260
261 PR middle-end/91283
262 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
263 instead of flag_excess_precision_cmdline.
264 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
265 * c-opts.c (c_common_post_options): Likewise.
266
14b7950f
MS
2672019-08-22 Martin Sebor <msebor@redhat.com>
268
269 PR middle-end/91490
270 * c-common.c (braced_list_to_string): Add argument and overload.
271 Handle flexible length arrays and unions.
272
8bb2ee59
EB
2732019-08-21 Eric Botcazou <ebotcazou@adacore.com>
274
275 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
276 function declarations where arguments are missing. Rename variables.
277
21c1e205
RB
2782019-08-15 Richard Biener <rguenther@suse.de>
279
280 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
281 enabled, define __SIZETYPE__.
282
f0033821
CL
2832019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
284
285 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
286 exclusion with "section" attribute.
287 (attr_noinit_exclusions): New table.
288 (handle_noinit_attribute): New function.
289
4d732405
RS
2902019-08-13 Richard Sandiford <richard.sandiford@arm.com>
291
292 PR middle-end/91421
293 * c-common.c (resolve_overloaded_builtin): Use
294 copy_decl_built_in_function.
295
51ad8481
MS
2962019-08-13 Martin Sebor <msebor@redhat.com>
297
298 PR c/80619
299 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
300 (asm_fprintf_length_spec): Same.
301 * c-format.h (format_lengths): Add FMT_LEN_w.
302
77eb117f
JJ
3032019-08-10 Jakub Jelinek <jakub@redhat.com>
304
305 * c-pragma.h (enum pragma_omp_clause): Add
306 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
307
398e3feb
JJ
3082019-08-07 Jakub Jelinek <jakub@redhat.com>
309
310 * c-pragma.h (enum pragma_omp_clause): Add
311 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
312 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
313 enumeration value.
314
ab574db6
MP
3152019-08-05 Marek Polacek <polacek@redhat.com>
316
317 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
318 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
319 default for C++2a, unless -Wno-deprecated.
320 * c.opt (Wcomma-subscript): New warning.
321
554a530f
JJ
3222019-07-20 Jakub Jelinek <jakub@redhat.com>
323
324 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
325 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
326 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
327 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
328 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
329 constructs with the loop construct.
330
1a888209
JJ
3312019-07-13 Jakub Jelinek <jakub@redhat.com>
332
333 PR c/91149
334 * c-omp.c (c_omp_split_clauses): Fix a pasto in
335 OMP_CLAUSE_REDUCTION_TASK handling.
336
1fdd6f04
JJ
3372019-07-12 Jakub Jelinek <jakub@redhat.com>
338
339 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
340 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
341
99b1c316
MS
3422019-07-09 Martin Sebor <msebor@redhat.com>
343
344 PR c++/61339
1fdd6f04 345 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
346 and others to class.
347 * c-pretty-print.h: Same.
348
6c1dae73
MS
3492019-07-09 Martin Sebor <msebor@redhat.com>
350
351 PR c++/61339
352 * c-format.c (check_argument_type): Change class-key from class to
353 struct and vice versa to match convention and avoid -Wclass-is-pod
354 and -Wstruct-no-pod.
355 * c-pretty-print.h: Same.
356
8ba6ea87
ML
3572019-07-03 Martin Liska <mliska@suse.cz>
358
359 * c-common.c (try_to_locate_new_include_insertion_point): Remove
360 dead assignemts.
361
83eb9522
JJ
3622019-07-03 Jakub Jelinek <jakub@redhat.com>
363
364 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
365 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
366 with OMP_PARALLEL.
367
1c6ffbab
QZ
3682019-07-02 qing zhao <qing.zhao@oracle.com>
369
370 PR preprocessor/90581
371 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
372 * c.opt: Add new option -fmax-include-depth.
373
7ffc7de5
JM
3742019-06-26 Jason Merrill <jason@redhat.com>
375
376 PR c++/55442 - memory-hog with highly recursive constexpr.
377 * c.opt (fconstexpr-loop-limit): New.
378
361af3e4
JJ
3792019-06-25 Jakub Jelinek <jakub@redhat.com>
380
381 PR sanitizer/90954
382 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
383 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
384
ab20d992
JJ
3852019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
386
387 * c-common.c (c_common_nodes_and_builtins): Define
388 alternate "__intN__" name for "__intN" types.
389
f4af4019
JH
3902019-06-24 Jan Hubicka <jh@suse.cz>
391
392 * c-common.c (braced_lists_to_strings): Check that
393 type is array or integer prior checking string flag.
394
da9e9b57
MB
3952019-06-21 Matthew Beliveau <mbelivea@redhat.com>
396
397 PR c++/90875 - added -Wswitch-outside-range option
398 * c.opt (Wswitch-outside-range): Added new option.
399 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
400
3f3d6a6f
MP
4012019-06-21 Marek Polacek <polacek@redhat.com>
402
403 PR c++/90953 - ICE with -Wmissing-format-attribute.
404 * c-common.c (check_function_arguments_recurse): Use
405 get_attribute_name.
406 (check_missing_format_attribute): Likewise.
407
1bf32c11
MP
4082019-06-19 Marek Polacek <polacek@redhat.com>
409
410 PR c++/60364 - noreturn after first decl not diagnosed.
411 * c-attribs.c (handle_noreturn_attribute): No longer static.
412 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
413 Declare.
414 * c-format.c (check_function_format): Use get_attribute_name.
415
a04c0734
MS
4162019-06-19 Martin Sebor <msebor@redhat.com>
417
418 PR translation/90156
419 * c-format.c (function_format_info::format_type): Adjust type.
420 (function_format_info::is_raw): New member.
421 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
422 (decode_format_attr): Adjust call to decode_format_type.
423 Avoid a redundant call to convert_format_name_to_system_name.
424 Avoid abbreviating the word "arguments" in a diagnostic.
425 (format_warning_substr): New function.
426 (avoid_dollar_number): Quote dollar sign in a diagnostic.
427 (finish_dollar_format_checking): Same.
428 (check_format_info): Same.
429 (struct baltoks_t): New.
430 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
431 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
432 functions.
433 (check_format_info_main): Call check_plain. Use baltoks_t. Call
434 maybe_diag_unbalanced_tokens.
435 (handle_format_attribute): Spell out the word "arguments" in
436 a diagnostic.
437
d3786ebb
MB
4382019-06-11 Matthew Beliveau <mbelivea@redhat.com>
439
440 PR c++/90449 - add -Winaccessible-base option.
441 * c.opt (Winaccessible-base): New option.
442
bf38f7e9
JJ
4432019-06-10 Jakub Jelinek <jakub@redhat.com>
444
445 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
446 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
447 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
448 combined/composite constructs where it is not allowed. Copy over
449 OMP_CLAUSE_REDUCTION_INSCAN.
450
0ecf545c
MS
4512019-06-05 Martin Sebor <msebor@redhat.com>
452
453 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
454 (handle_alias_ifunc_attribute): Same.
455 (handle_copy_attribute): Same.
456 (handle_weakref_attribute): Same.
457 (handle_nonnull_attribute): Same.
458 * c-warn.c (warn_for_sign_compare): Same.
459 (warn_for_restrict): Same.
460 * c.opt: Same.
461
36b34127
MS
4622019-06-05 Martin Sebor <msebor@redhat.com>
463
464 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
465 * c.opt (-Wformat-diag): Remove a spurious period.
466
357a352f
JJ
4672019-05-29 Jakub Jelinek <jakub@redhat.com>
468
469 PR c/90628
470 * c-common.c (check_builtin_function_arguments)
471 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
472 as last argument.
473
2b8235ea
EB
4742019-05-23 Eric Botcazou <ebotcazou@adacore.com>
475
476 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
477
6d86ddc4
ML
4782019-05-22 Martin Liska <mliska@suse.cz>
479
480 PR lto/90500
481 * c-attribs.c (handle_copy_attribute): Do not copy
482 target_clones attribute.
483
419ba5b9
EB
4842019-05-21 Eric Botcazou <ebotcazou@adacore.com>
485
486 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
487 * c-ada-spec.c (print_assignment_operator): New function.
488 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
489 assignment operators declared as methods and filter out the others.
490
e03436e7
TS
4912019-05-17 Thomas Schwinge <thomas@codesourcery.com>
492
493 PR c/89433
494 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
495 "omp declare target".
496
a9c697b8
MS
4972019-05-16 Martin Sebor <msebor@redhat.com>
498
ab20d992
JJ
499 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
500 keywords, operators, and types in diagnostics.
501 (handle_scalar_storage_order_attribute): Same.
502 (handle_mode_attribute): Same.
503 (handle_visibility_attribute): Same.
504 (handle_assume_aligned_attribute): Same.
505 (handle_no_split_stack_attribute): Same.
506 * c-common.c (shorten_compare): Same.
507 (c_common_truthvalue_conversion): Same.
508 (cb_get_source_date_epoch): Same.
509 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
510 in diagnostics.
511 (interpret_float): Same.
512 * c-omp.c (c_finish_omp_for): Same.
513 * c-opts.c (c_common_post_options): Same.
514 * c-pch.c (c_common_pch_pragma): Same.
515 * c-pragma.c (pop_alignment): Same.
516 (handle_pragma_pack): Same.
517 (apply_pragma_weak): Same.
518 (handle_pragma_weak): Same.
519 (handle_pragma_scalar_storage_order): Same.
520 (handle_pragma_redefine_extname): Same.
521 (add_to_renaming_pragma_list): Same.
522 (maybe_apply_renaming_pragma): Same.
523 (push_visibility): Same.
524 (handle_pragma_visibility): Same.
525 (handle_pragma_optimize): Same.
526 (handle_pragma_message): Same.
527 * c-warn.c (warn_for_omitted_condop): Same.
528 (lvalue_error): Same.
a9c697b8 529
6b943512
RB
5302019-05-15 Richard Biener <rguenther@suse.de>
531
532 PR c/90474
533 * c-common.c (c_common_mark_addressable_vec): Also mark
534 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
535 c_mark_addressable.
ab20d992 536
b744fc85
NS
5372019-05-06 Nathan Sidwell <nathan@acm.org>
538
539 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
540
598f50d7
NS
5412019-04-30 Nathan Sidwell <nathan@acm.org>
542
543 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
544
5bcc5a3b
ML
5452019-04-30 Martin Liska <mliska@suse.cz>
546
547 * c-pragma.c (handle_pragma_diagnostic): Provide hints
548 for unknown options.
549
e78a87f7
RS
5502019-04-26 Richard Sandiford <richard.sandiford@arm.com>
551
552 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
553 the pointer target rather than the pointer itself.
554
c280b7ee
JJ
5552019-04-19 Jakub Jelinek <jakub@redhat.com>
556
557 PR c/89888
558 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
559 arguments.
560 (c_do_switch_warnings): Remove outside_range_p argument.
561 * c-common.c (check_case_bounds): Removed.
562 (c_add_case_label): Remove orig_type and outside_range_p arguments.
563 Don't call check_case_bounds. Fold low_value as well as high_value.
564 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
565 Check for case labels outside of range of original type here and
566 adjust them.
567
8e8225e6
JJ
5682019-04-12 Jakub Jelinek <jakub@redhat.com>
569
63b8a166
JJ
570 PR translation/90041
571 * c.opt (-fhandle-exceptions): Use %< and %> around option names
572 in the Warn diagnostics.
573
8e8225e6
JJ
574 PR c/89946
575 * c-attribs.c (handle_patchable_function_entry_attribute): Add
576 function comment. Warn if arguments of the attribute are not positive
577 integer constants.
578
53a3f614
EB
5792019-04-09 Eric Botcazou <ebotcazou@adacore.com>
580
581 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
582 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
583
22be5873
EB
5842019-04-07 Eric Botcazou <ebotcazou@adacore.com>
585
586 * c-ada-spec.c (is_float128): New predicate extracted from...
587 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
588 <REAL_TYPE>: ...here. Call it.
589
34facf20
DM
5902019-04-05 David Malcolm <dmalcolm@redhat.com>
591
592 PR c/89985
593 * c-warn.c (check_address_or_pointer_of_packed_member): Add
594 auto_diagnostic_group. Guard inform calls by result of
595 warning_at call.
596
05564120
MP
5972019-04-05 Marek Polacek <polacek@redhat.com>
598
ab20d992 599 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
600 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
601 of RHS.
602
7a506c3c
JM
6032019-04-03 Jason Merrill <jason@redhat.com>
604
605 PR c++/86586 - -fcompare-debug=-Wsign-compare.
606 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
607
ddeae8c8
MS
6082019-04-01 Martin Sebor <msebor@redhat.com>
609
610 PR c/89685
611 * c-attribs.c (handle_copy_attribute): Handle references and
612 non-constant expressions.
613
a15ffa22
JJ
6142019-03-22 Jakub Jelinek <jakub@redhat.com>
615
616 PR c++/87481
617 * c.opt (-fconstexpr-ops-limit=): New option.
618
36a3a7a3
JJ
6192019-03-21 Jakub Jelinek <jakub@redhat.com>
620
621 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
622 template param.
623
bec1da64
MS
6242019-03-19 Martin Sebor <msebor@redhat.com>
625
626 PR tree-optimization/89688
627 * c-common.c (braced_list_to_string): Make static.
628 (braced_lists_to_strings): Define new function.
629 * c-common.h (braced_list_to_string): Remove.
630 (braced_lists_to_strings): Declare.
631
1fe61adf
ML
6322019-03-12 Martin Liska <mliska@suse.cz>
633
634 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
635
93964ebd
ML
6362019-03-11 Martin Liska <mliska@suse.cz>
637
638 * c-opts.c (c_common_post_options): Wrap apostrophes
639 in gcc internal format with %'.
640
a3f9f006
ML
6412019-03-11 Martin Liska <mliska@suse.cz>
642
643 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
644 in a string format message and fix GNU coding style.
645 * c-common.c (vector_types_convertible_p): Likewise.
646 (c_build_vec_perm_expr): Likewise.
647 * c-indentation.c (get_visual_column): Likewise.
648 * c-opts.c (c_common_handle_option): Likewise.
649 (c_common_post_options): Likewise.
650 (sanitize_cpp_opts): Likewise.
651 * c-pch.c (c_common_pch_pragma): Likewise.
652 * c-pragma.c (handle_pragma_pack): Likewise.
653
1db01ff9
JJ
6542019-03-08 Jakub Jelinek <jakub@redhat.com>
655
656 PR tree-optimization/89550
657 * c-common.c (c_common_truthvalue_conversion): Only set
658 TREE_NO_WARNING if warning_at returned true.
659 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
660
ba790e6f
JJ
6612019-02-25 Sandra Loosemore <sandra@codesourcery.com>
662 Martin Sebor <msebor@gmail.com>
663
664 * c.opt (Wmissing-attributes): Clean up doc string.
665
7da73ba7
JJ
6662019-02-25 Jakub Jelinek <jakub@redhat.com>
667
668 PR c/89495
669 * c-format.c (maybe_read_dollar_number): Compute nargnum in
670 HOST_WIDE_INT type to avoid overflows and change overflow_flag
671 checking.
672
921bb9d1
RB
6732019-02-22 Richard Biener <rguenther@suse.de>
674
675 * c-pch.c (no_checksum): Remove.
676 (pch_init): Remove assertion that executable_checksum is not
677 all zero.
678 (c_common_valid_pch): Likewise.
679
e2ebb05c
MS
6802019-02-18 Martin Sebor <msebor@redhat.com>
681
682 PR middle-end/89294
683 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
684
3fe53000
DM
6852019-02-16 David Malcolm <dmalcolm@redhat.com>
686
687 PR c++/88680
688 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
689 implementing -Wtype-limits.
690
28a8cef1
MS
6912019-02-11 Martin Sebor <msebor@redhat.com>
692
693 PR c++/87996
694 * c-common.c (invalid_array_size_error): New function.
695 (valid_array_size_p): Call it. Handle size as well as type.
696 * c-common.h (valid_constant_size_p): New function.
697 (enum cst_size_error): New type.
698
ec2be203
DM
6992019-01-31 David Malcolm <dmalcolm@redhat.com>
700
701 PR c/89122
702 * known-headers.cc (get_stdlib_header_for_name): Add
703 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
704
8936f047
JJ
7052019-01-31 Jakub Jelinek <jakub@redhat.com>
706
707 PR libstdc++/88170
708 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
709 a C cast in pp_c_flag_gnu_v3 mode.
710
6a335b96
JJ
7112019-01-29 Jakub Jelinek <jakub@redhat.com>
712
713 PR c/86125
714 * c-common.c (c_common_nodes_and_builtins): Build type variants for
715 builtin_structptr_types types even for C.
716
2a06eba5
BE
7172019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
718
719 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
720 when rhs is of array type correctly. Fix handling of nested structures.
721 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
722 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
723 type casts within nested compound expressions.
724
18a23298
JJ
7252019-01-22 Jakub Jelinek <jakub@redhat.com>
726
727 PR middle-end/88968
728 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
729 variable after using BIT_FIELD_REF.
730
420183d9
L
7312019-01-18 H.J. Lu <hongjiu.lu@intel.com>
732
733 PR c/51628
734 PR c/88664
735 * c-common.h (warn_for_address_or_pointer_of_packed_member):
736 Remove the boolean argument.
737 * c-warn.c (check_address_of_packed_member): Renamed to ...
738 (check_address_or_pointer_of_packed_member): This. Also
739 warn pointer conversion.
740 (check_and_warn_address_of_packed_member): Renamed to ...
741 (check_and_warn_address_or_pointer_of_packed_member): This.
742 Also warn pointer conversion.
743 (warn_for_address_or_pointer_of_packed_member): Remove the
744 boolean argument. Don't check pointer conversion here.
745
99063eee
RS
7462019-01-15 Richard Sandiford <richard.sandiford@arm.com>
747
748 PR inline-asm/52813
749 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
750
a30d0196
JJ
7512019-01-14 Jakub Jelinek <jakub@redhat.com>
752
753 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
754 and __cpp_nontype_template_parameter_auto. Add a comment that
755 __cpp_template_auto is deprecated.
756
2d91f79d
TH
7572019-01-14 Tom Honermann <tom@honermann.net>
758
759 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
760 * c-common.c (c_common_reswords): Add char8_t.
761 (fix_string_type): Use char8_t for the type of u8 string literals.
762 (c_common_get_alias_set): char8_t doesn't alias.
763 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
764 C++.
765 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
766 (keyword_begins_type_specifier): Add RID_CHAR8.
767 * c-common.h (rid): Add RID_CHAR8.
768 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
769 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
770 Define char8_type_node and char8_array_type_node.
771 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
772 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
773 (c_cpp_builtins): Predefine __cpp_char8_t.
774 * c-lex.c (lex_string): Use char8_array_type_node as the type of
775 CPP_UTF8STRING.
776 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
777 * c-opts.c: If not otherwise specified, enable -fchar8_t when
778 targeting C++2a.
779 * c.opt: Add the -fchar8_t command line option.
780
23db6ced
MS
7812019-01-14 Martin Sebor <msebor@redhat.com>
782
783 PR target/88638
784 * c-attribs.c (positional_argument): Call valid_format_string_type_p
785 and issue errors if it fails.
786 * c-common.h (valid_format_string_type_p): Declare.
787 * c-format.c (valid_stringptr_type_p): Rename...
788 (valid_format_string_type_p): ...to this and make extern.
789 (handle_format_arg_attribute): Adjust to new name.
790 (check_format_string): Same.
791
234c3818
L
7922019-01-13 H.J. Lu <hongjiu.lu@intel.com>
793
794 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
795 Replace "may may" with "may" in warning message.
796
d8fcab68
JJ
7972019-01-07 Jakub Jelinek <jakub@redhat.com>
798
799 PR c++/85052
800 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
801 (c_build_vec_convert): Declare.
802 * c-common.c (c_build_vec_convert): New function.
803
29d24852
MS
8042019-01-04 Martin Sebor <msebor@redhat.com>
805
806 PR c/88546
807 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
808 Handle C++ empty throw specification and C11 _Noreturn.
809 (has_attribute): Also handle C11 _Noreturn.
810
9069a4c9
MS
8112019-01-04 Martin Sebor <msebor@redhat.com>
812
813 PR c/88363
814 * c-attribs.c (positional_argument): Also accept enumerated types.
815
a5544970
JJ
8162019-01-01 Jakub Jelinek <jakub@redhat.com>
817
818 Update copyright years.
819
da77eace
L
8202018-12-20 H.J. Lu <hongjiu.lu@intel.com>
821
822 PR c/51628
823 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
824 * c-warn.c (check_alignment_of_packed_member): New function.
825 (check_address_of_packed_member): Likewise.
826 (check_and_warn_address_of_packed_member): Likewise.
827 (warn_for_address_or_pointer_of_packed_member): Likewise.
828 * c.opt: Add -Wno-address-of-packed-member.
829
573767d4
DM
8302018-12-20 David Malcolm <dmalcolm@redhat.com>
831
832 PR c++/87504
833 * c-warn.c (get_outermost_macro_expansion): New function.
834 (spelled_the_same_p): Use it to unwind the macro expansions, and
835 compare the outermost macro in each nested expansion, rather than
836 the innermost.
837
a14feb3c
DM
8382018-12-19 David Malcolm <dmalcolm@redhat.com>
839
840 PR c++/87504
841 * c-common.h (warn_tautological_cmp): Convert 1st param from
842 location_t to const op_location_t &.
843 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
844 when testing for INTEGER_CST.
845 (warn_tautological_bitwise_comparison): Convert 1st param from
846 location_t to const op_location_t &; use it to build a
847 binary_op_rich_location, and use this.
848 (spelled_the_same_p): New function.
849 (warn_tautological_cmp): Convert 1st param from location_t to
850 const op_location_t &. Warn for macro expansions if
851 spelled_the_same_p. Use binary_op_rich_location.
852
dfd7fdca
DM
8532018-12-19 David Malcolm <dmalcolm@redhat.com>
854
855 PR c++/43064
856 PR c++/43486
857 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
858 (verify_tree): Handle location wrappers.
859 (c_common_truthvalue_conversion): Strip any location wrapper.
860 Handle CONST_DECL.
861 (fold_offsetof): Strip any location wrapper.
862 (complete_array_type): Likewise for initial_value.
863 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
864 index before checking for INTEGER_CST.
865 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
866 print parentheses around location wrappers.
867 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
868 before checking for INTEGER_CST.
869 (warn_tautological_bitwise_comparison): Call
870 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
871 before checking for INTEGER_CST.
872 (readonly_error): Strip any location wrapper.
873 (warn_array_subscript_with_type_char): Strip location wrappers
874 before checking for INTEGER_CST. Use the location of the index if
875 available.
876
5c8b3702
JM
8772018-12-06 Jason Merrill <jason@redhat.com>
878
879 PR c++/88136 - -Wdeprecated-copy false positives
880 * c.opt (Wdeprecated-copy-dtor): New.
881 (Wdeprecated-copy): Move to -Wextra.
882
673670da
MS
8832018-11-29 Martin Sebor <msebor@redhat.com>
884
885 PR c/88172
886 PR testsuite/88208
887 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
888 alignments to values less than the target requires.
889 (has_attribute): For attribute aligned consider both the attribute
890 and the alignment bits.
891 * c-common.c (c_init_attributes): Optionally issue a warning for
892 zero alignment.
893
04864ec8
MS
8942018-11-28 Martin Sebor <msebor@redhat.com>
895
896 PR c/88065
897 PR c/87297
898 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
899 or destination is an error.
900
ace83db0
JJ
9012018-11-28 Jakub Jelinek <jakub@redhat.com>
902
903 PR c++/88215
904 * c-ubsan.c: Include langhooks.h.
905 (ubsan_instrument_division): Change gcc_assert that main variants
906 of op0 and op1 types are equal to gcc_checking_assert that the
907 main variants are compatible types.
908
da193a27
EB
9092018-11-27 Eric Botcazou <ebotcazou@adacore.com>
910
911 * c-ada-spec.c: Include stringpool.h.
912 (has_static_fields): Return false for incomplete types.
913 (is_tagged_type): Likewise.
914 (has_nontrivial_methods): Likewise.
915 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
916 (struct overloaded_name_hash): New structure.
917 (struct overloaded_name_hasher): Likewise.
918 (overloaded_names): New global variable.
919 (init_overloaded_names): New static function.
920 (overloaded_name_p): New predicate.
921 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
922 on the TYPE_STUB_DECL of the original type of a typedef, if any.
923 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
924 Remove always-true condition and dump forward types.
925 (dump_ada_specs): Delete overloaded_names.
926
98f08eb8
MS
9272018-11-20 Martin Sebor <msebor@redhat.com>
928
929 * c-attribs.c (type_for_vector_size): New function.
930 (type_valid_for_vector_size): Same.
931 (handle_vector_size_attribute): Move code to the functions above
932 and call them.
933 (validate_attribute, has_attribute): New functions.
934 * c-common.h (has_attribute): Declare.
935 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
936 * c-common.c (c_common_resword): Same.
937
2674fa47
JM
9382018-11-16 Jason Merrill <jason@redhat.com>
939
940 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
941 * c-attribs.c (attr_cold_hot_exclusions): Make public.
942
258b3854
JJ
9432018-11-16 Jakub Jelinek <jakub@redhat.com>
944
945 PR middle-end/87854
946 * c-common.c (fix_string_type): Reject string literals larger than
947 TYPE_MAX_VALUE (ssizetype) bytes.
948
1d249509
MS
9492018-11-15 Martin Sebor <msebor@redhat.com>
950
951 PR c++/87541
952 PR c++/87542
953 * c-attribs.c (positional_argument): New function.
954 (handle_alloc_size_attribute): Use it and simplify.
955 (handle_alloc_align_attribute): Same.
956 (handle_assume_aligned_attribute): Same.
957 (handle_nonnull_attribute): Same.
958 * c-common.c (check_function_arguments): Pass fntype to
959 check_function_format.
960 * c-common.h (check_function_format): Add an argument.
961 (PosArgFlags, positional_argument): Declare new type and function.
962 * c-format.c (decode_format_attr): Add arguments.
963 (check_format_string, get_constant): Same.
964 (convert_format_name_to_system_name): Adjust.
965
478dd60d
DM
9662018-11-15 David Malcolm <dmalcolm@redhat.com>
967
968 PR other/19165
969 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
970
8cca0163
JJ
9712018-11-14 Jakub Jelinek <jakub@redhat.com>
972
8ee09943
JJ
973 P1236R1 - Signed integers are two's complement
974 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
975 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
976 with in-range second operand well defined for -std=c++2a.
977
8cca0163
JJ
978 PR other/88007
979 * c-common.c (parse_optimize_options): Allocate option string from
980 opts_obstack rather than as GC memory. Move the allocation after
981 warning for invalid option.
982
620e594b
DM
9832018-11-13 David Malcolm <dmalcolm@redhat.com>
984
985 * c-common.c (c_get_substring_location): Update for renaming of
986 get_source_location_for_substring to get_location_within_string.
987 * c-lex.c: Replace "source_location" with "location_t".
988 * c-opts.c: Likewise.
989 * c-ppoutput.c: Likewise.
990
f9731de3
MS
9912018-11-13 Martin Sebor <msebor@redhat.com>
992
993 PR middle-end/81824
994 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
995 (handle_tls_model_attribute): Improve diagnostics.
996
e4bd6d5e
JM
9972018-11-12 Jason Merrill <jason@redhat.com>
998
a6bb6b07
JM
999 * c-cppbuiltin.c (c_cpp_builtins): Define
1000 __cpp_impl_destroying_delete.
1001
e4bd6d5e
JM
1002 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1003 __cpp_conditional_explicit.
1004
79a2c428
MS
10052018-11-09 Martin Sebor <msebor@redhat.com>
1006
1007 PR middle-end/81824
1008 * c-attribs.c (handle_copy_attribute): New function.
1009
4c7bd361
MS
10102018-11-09 Martin Sebor <msebor@redhat.com>
1011
1012 PR c/87795
1013 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1014
28567c40
JJ
10152018-11-08 Jakub Jelinek <jakub@redhat.com>
1016
1017 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1018 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1019 enum omp_memory_order MEMORY_ORDER.
1020 (c_finish_omp_flush): Add MO argument.
1021 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1022 (c_finish_omp_for): Add FINAL_P argument.
1023 * c-omp.c: Include memmodel.h.
1024 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1025 OMP_TASKGROUP_CLAUSES to it.
1026 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1027 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1028 instead of OMP_ATOMIC_SEQ_CST.
1029 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1030 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1031 __atomic_thread_fence call with the given value.
1032 (check_omp_for_incr_expr): Formatting fixes.
1033 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1034 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1035 is not constant expression 1 or -1. Transform NE_EXPR loops
1036 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1037 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1038 loops too.
1039 (c_omp_split_clauses): Add support for combined
1040 #pragma omp parallel master and
1041 #pragma omp {,parallel }master taskloop{, simd} constructs.
1042 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1043 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1044 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1045 (c_omp_predetermined_sharing): Don't return
1046 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1047 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1048 PRAGMA_OMP_REQUIRES.
1049 * c-pragma.h (enum pragma_kind): Likewise.
1050 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1051 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1052
204839e7
DM
10532018-11-08 David Malcolm <dmalcolm@redhat.com>
1054
1055 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1056
d8010ee4
DM
10572018-11-08 David Malcolm <dmalcolm@redhat.com>
1058
1059 * c-format.c (local_cgraph_node_ptr_node): New variable.
1060 (gcc_dump_printf_char_table): Add entry for %C.
1061 (get_pointer_to_named_type): New function, taken from the handling
1062 code for "gimple *" from...
1063 (init_dynamic_diag_info): ...here. Add handling for
1064 "cgraph_node *".
1065 * c-format.h (T_CGRAPH_NODE): New.
1066
4be5c72c
JM
10672018-10-19 Jason Merrill <jason@redhat.com>
1068
1069 * c-cppbuiltin.c (c_cpp_builtins): Add
1070 __cpp_nontype_template_parameter_class.
1071
f3f6029d
NS
10722018-10-31 Nathan Sidwell <nathan@acm.org>
1073
ab5324fb
NS
1074 * c-opts.c (c_finish_options): Force command line macro
1075 location. Refactor to avoid repeating main debug hook.
1076 (push_command_line_include): Clarify comment.
1077
f3f6029d
NS
1078 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1079
91e3ec29
MS
10802018-10-30 Martin Sebor <msebor@redhat.com>
1081
1082 PR middle-end/87041
1083 * c-format.c (check_format_types): Avoid diagnosing null pointer
1084 arguments to printf-family of functions.
1085
b5ff4f5c
MP
10862018-10-30 Marek Polacek <polacek@redhat.com>
1087
1088 Implement P0892R2, explicit(bool).
1089 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1090
7e2de6df
DM
10912018-10-29 David Malcolm <dmalcolm@redhat.com>
1092
1093 * name-hint.h (name_hint::take_deferred): New member function.
1094
b2bf438c
DM
10952018-10-29 David Malcolm <dmalcolm@redhat.com>
1096
1097 PR c++/56856
1098 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1099 argument.
1100 (check_function_restrict): Rename param "argarray" to
1101 "unfolded_argarray", and make a copy named "argarray", calling
1102 fold_for_warn on each argument.
1103 (check_function_arguments): Add note about responsibility for
1104 folding the arguments.
1105
9f936c86
JM
11062018-10-17 Joseph Myers <joseph@codesourcery.com>
1107
1108 * c-common.c (flag_isoc2x): New variable.
1109 * c-common.h (clk_c): Update comment to reference C2X.
1110 (flag_isoc99, flag_isoc11): Update comments to reference future
1111 standard versions in general.
1112 (flag_isoc2x): Declare.
1113 * c-opts.c (set_std_c2x): New function.
1114 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1115 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1116 flag_isoc2x to 0.
1117 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1118
7a8a92c4
JM
11192018-10-17 Joseph Myers <joseph@codesourcery.com>
1120
1121 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1122 (std=iso9899:2018): Document C17 as published in 2018.
1123
4dc003ff
CL
11242018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1125
1126 PR c++/87364
1127 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1128
79371671
WW
11292018-10-11 Will Wray <wjwray@gmail.com>
1130
1131 PR c++/87364
1132 * c-pretty-print.h (pp_c_type_cast): Prototype.
1133 (pp_c_integer_constant): Likewise.
1134 * c-pretty-print.c (pp_c_type_cast): No longer static.
1135 (pp_c_integer_constant): Likewise.
1136 (pp_c_enumeration_constant): Fix loop termination when finding
1137 name of constant. No longer returns a value. Call
1138 pp_c_integer_constant.
1139 (c_pretty_printer::constant): Update for changes to
1140 pp_c_enumeration_constant.
1141
46c62690
JJ
11422018-10-11 Jakub Jelinek <jakub@redhat.com>
1143
1144 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1145 for no_unique_address.
1146
c24300ba
DM
11472018-10-09 David Malcolm <dmalcolm@redhat.com>
1148
1149 * c-common.c (c_option_controlling_cpp_error): Rename to...
1150 (c_option_controlling_cpp_diagnostic): ...this, and convert
1151 "reason" from int to enum.
1152 (c_cpp_error): Rename to...
1153 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1154 * c-common.h (c_cpp_error): Rename to...
1155 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1156 * c-opts.c (c_common_init_options): Update for renaming.
1157
8656dafa
RS
11582018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1159
1160 PR c/87286
1161 * c-common.c (vector_types_compatible_elements_p): Use
1162 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1163
8cff0652
VK
11642018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1165
1166 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1167 to generate constructor destructor priority warning.
1168 * c.opt (-Wprio-ctor-dtor): New option.
1169
bedf03a2
JM
11702018-10-01 Jason Merrill <jason@redhat.com>
1171
1172 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1173
6cc430c1
EB
11742018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1175
1176 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1177 (dump_ada_node): Add const keyword.
1178
87677ac7
ML
11792018-09-25 Martin Liska <mliska@suse.cz>
1180
1181 * c-common.c (c_common_truthvalue_conversion):
1182 Remove Pascal from documentation.
1183
518196cb
EB
11842018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1185
1186 * c-ada-spec.c: Include diagnostic.h.
1187 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1188
a599af84
MP
11892018-09-19 Marek Polacek <polacek@redhat.com>
1190
1191 * c.opt (Wclass-conversion): New.
1192
9c4a4b3c
DM
11932018-09-17 David Malcolm <dmalcolm@redhat.com>
1194
1195 * c-format.c (range_label_for_format_type_mismatch::get_text):
1196 Update for new param.
1197
c896ecfe
DM
11982018-09-17 David Malcolm <dmalcolm@redhat.com>
1199
1200 * c-format.c (format_warning_at_char): Update for introduction of
1201 format_string_diagnostic_t.
1202 (format_type_warning): Likewise.
1203
80c6d1f4
MJ
12042018-09-17 Martin Jambor <mjambor@suse.cz>
1205
1206 PR c/63886
1207 * c.opt (Wabsolute-value): New.
1208
6d900107
BE
12092018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1210
1211 * c-common.c (complete_flexible_array_elts): New helper function.
1212 * c-common.h (complete_flexible_array_elts): Declare.
1213
b5764229
BE
12142018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1215
1216 * c-common.c (braced_list_to_string): Remove eval parameter.
1217 Add some more checks. Always create zero-terminated STRING_CST.
1218 * c-common.h (braced_list_to_string): Adjust prototype.
1219
85204e23
DM
12202018-08-27 David Malcolm <dmalcolm@redhat.com>
1221
1222 PR 87091
1223 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1224 to a tri-state.
1225 (maybe_suggest_missing_token_insertion): Likewise.
1226 (maybe_add_include_fixit): Add param "override_location". If set,
1227 and source-printing is enabled, then override the rich_location's
1228 primary location with that of the insertion point for the fix-it
1229 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1230 * c-common.h (extern void maybe_add_include_fixit): Add bool
1231 param.
1232 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1233 for conversion of show_caret_p to a tri-state.
1234 * c-warn.c (warn_for_restrict): Likewise.
1235 * known-headers.cc
1236 (suggest_missing_header::~suggest_missing_header): Update call to
1237 maybe_add_include_fixit to suggest overriding the location, as it
1238 is for a note.
1239
3d78e008
ML
12402018-08-27 Martin Liska <mliska@suse.cz>
1241
1242 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
1243 fndecl_built_in_p and remove check for FUNCTION_DECL if
1244 possible.
3d78e008
ML
1245 (check_builtin_function_arguments): Likewise.
1246 (reject_gcc_builtin): Likewise.
1247 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1248
b5be6d0c
MP
12492018-08-26 Marek Polacek <polacek@redhat.com>
1250
1251 PR c++/87029, Implement -Wredundant-move.
1252 * c.opt (Wredundant-move): New option.
1253
79ca9c35
MP
12542018-08-21 Marek Polacek <polacek@redhat.com>
1255
1256 PR c++/86981, Implement -Wpessimizing-move.
1257 * c.opt (Wpessimizing-move): New option.
1258
097f82ec
DM
12592018-08-20 David Malcolm <dmalcolm@redhat.com>
1260
1261 PR other/84889
1262 * c-attribs.c (common_handle_aligned_attribute): Add
1263 auto_diagnostic_group instance.
1264 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1265 * c-opts.c (c_common_post_options): Likewise.
1266 * c-warn.c (warn_logical_not_parentheses): Likewise.
1267 (warn_duplicated_cond_add_or_warn): Likewise.
1268 (warn_for_multistatement_macros): Likewise.
1269
3fb558b1
NS
12702018-08-20 Nathan Sidwell <nathan@acm.org>
1271
1272 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1273 access.
1274
800c0e98
NS
12752018-08-17 Nathan Sidwell <nathan@acm.org>
1276
1277 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1278 field.
1279 (laxy_hex_fp_value_count): Make unsigned.
1280 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1281 manipulate the macro.
1282 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1283 cpp_define_lazily.
1284
6f795a92
DM
12852018-08-17 David Malcolm <dmalcolm@redhat.com>
1286
1287 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1288 (gcc_dump_printf_length_specs): New.
1289 (gcc_dump_printf_flag_pairs): New.
1290 (gcc_dump_printf_flag_specs): New.
1291 (gcc_dump_printf_char_table): New.
1292 (format_types_orig): Add entry for "gcc_dump_printf".
1293 (init_dynamic_diag_info): Set up length_char_specs and
1294 conversion_specs for gcc_dump_printf_format_type.
1295 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1296
c5d725c0
NS
12972018-08-17 Nathan Sidwell <nathan@acm.org>
1298
10f04917
NS
1299 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1300
c5d725c0
NS
1301 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1302 * c-cppbuiltin.c: Likewise.
1303
c0c12356
ML
13042018-08-17 Martin Liska <mliska@suse.cz>
1305
1306 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
1307 Ignore/Deprecated flag. Warning is done automatically for
1308 Deprecated flags.
c0c12356 1309
10fcc142
DM
13102018-08-16 David Malcolm <dmalcolm@redhat.com>
1311
1312 PR c++/70693
1313 * c-common.c (selftest::c_family_tests): Call
1314 selftest::c_indentation_c_tests.
1315 * c-common.h (selftest::c_indentation_c_tests): New decl.
1316 * c-indentation.c: Include "selftest.h".
1317 (next_tab_stop): Add "tab_width" param, rather than accessing
1318 cpp_opts.
1319 (get_visual_column): Likewise. Clarify comment. Bulletproof
1320 against reading past the end of the line.
1321 (get_first_nws_vis_column): Add "tab_width" param.
1322 (detect_intervening_unindent): Likewise.
1323 (should_warn_for_misleading_indentation): Read tab width from
1324 cpp_opts and pass around.
1325 (selftest::test_next_tab_stop): New test.
1326 (selftest::assert_get_visual_column_succeeds): New function.
1327 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1328 (selftest::assert_get_visual_column_fails): New function.
1329 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1330 (selftest::test_get_visual_column): New test.
1331 (selftest::c_indentation_c_tests): New function.
1332
3f6677f4
NS
13332018-08-16 Nathan Sidwell <nathan@acm.org>
1334
1335 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1336 (store_ada_macro): Likewise.
1337 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1338 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1339
96e6ae57
DM
13402018-08-15 David Malcolm <dmalcolm@redhat.com>
1341
1342 * c-format.c: Include "selftest-diagnostic.h" and
1343 "gcc-rich-location.h".
1344 (format_warning_at_char): Pass NULL for new label params of
1345 format_warning_va.
1346 (class indirection_suffix): New class.
1347 (class range_label_for_format_type_mismatch): New class.
1348 (format_type_warning): Move logic for generating "*" suffix to
1349 class indirection_suffix. Create "fmt_label" and "param_label"
1350 to show their types, and pass them to the
1351 format_warning_at_substring calls.
1352 (selftest::test_type_mismatch_range_labels): New test.
1353 (selftest::c_format_c_tests): Call it.
1354
23aa9f7c
MS
13552018-08-13 Martin Sebor <msebor@redhat.com>
1356
1357 PR tree-optimization/71625
1358 * c-common.c (braced_list_to_string): New function.
1359 * c-common.h (braced_list_to_string): Declare it.
1360
f10a9135
NS
13612018-08-08 Nathan Sidwell <nathan@acm.org>
1362
1363 * c-common.c (try_to_locate_new_include_inertion_point): Use
1364 linemap_included_from_linemap.
1365 * c-lex.c (fe_file_change): Use linemap_included_from.
1366 * c-ppoutput.c (pp_file_change): Likewise.
1367
8a45b051
MS
13682018-08-01 Martin Sebor <msebor@redhat.com>
1369
1370 PR tree-optimization/86650
ab20d992 1371 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
1372 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1373 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1374 * c-format.h (T89_G): Update to be "gimple *" rather than
1375 "gcall *".
1376 (local_gcall_ptr_node): Rename...
1377 (local_gimple_ptr_node): ...to this.
1378
e540ccc0
DM
13792018-07-31 David Malcolm <dmalcolm@redhat.com>
1380
1381 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1382 table entries for gcc_diag_char_table, and the 'Z' entry from
1383 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1384 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1385 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1386 adding missing "Z" for this table. Remove erroneous "G" and "K"
1387 entries.
1388 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1389 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1390 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1391
425fc685
RE
13922018-07-31 Richard Earnshaw <rearnsha@arm.com>
1393
1394 * c-common.c (speculation_safe_resolve_call): New function.
1395 (speculation_safe_resolve_params): New function.
1396 (speculation_safe_resolve_return): New function.
1397 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1398 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1399 __HAVE_SPECULATION_SAFE_VALUE.
1400
181463c2
DM
14012018-07-20 David Malcolm <dmalcolm@redhat.com>
1402
1403 * c-common.c (c_cpp_error): Remove redundant "line_table"
1404 parameter from call to rich_location::set_range.
1405 (maybe_suggest_missing_token_insertion): Likewise.
1406
0d7f9065
MS
14072018-07-20 Martin Sebor <msebor@redhat.com>
1408
1409 PR middle-end/82063
ab20d992 1410 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 1411
00abf86c
MS
14122018-07-20 Martin Sebor <msebor@redhat.com>
1413
1414 PR middle-end/82063
1415 * c-common.h (c_common_handle_option): Change function argument
1416 to HOST_WIDE_INT.
1417 * c-opts.c (c_common_init_options): Same.
1418 (c_common_handle_option): Same. Remove special handling of
1419 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1420 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1421 options to take a HOST_WIDE_INT argument and accept a byte-size
1422 suffix. Initialize.
1423 (-Wvla-larger-than): Same.
1424 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1425 (-Wno-vla-larger-than): Same.
1426
9b452033
JJ
14272018-07-12 Jakub Jelinek <jakub@redhat.com>
1428
1429 * c-attribs.c (c_common_attribute_table): Add
1430 "omp declare target implicit" attribute.
1431
cd0762f3
RB
14322018-07-12 Richard Biener <rguenther@suse.de>
1433
1434 PR c/86453
1435 * c-attribs.c (handle_packed_attribute): Do not build a variant
1436 type with TYPE_PACKED, instead ignore the attribute if we may
1437 not apply to the original type.
1438
0b27c3ed
JJ
14392018-07-10 Jakub Jelinek <jakub@redhat.com>
1440
1441 PR c++/86443
1442 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1443 to contain TREE_LIST for both the original class iterator and the
1444 "last" helper var.
1445
e730a0ef
EB
14462018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1447
1448 * c-ada-spec.c (to_ada_name): Remove index parameter.
1449 (pp_ada_tree_identifier): Likewise.
1450 (dump_ada_macros): Adjust call to to_ada_name.
1451 (struct overloaded_name_hash): Delete.
1452 (struct overloaded_name_hasher): Likewise.
1453 (overloaded_names): Likewise.
1454 (compute_overloading_index): Likewise.
1455 (dump_ada_decl_name): Do not call compute_overloading_index and
1456 adjust calls to pp_ada_tree_identifier.
1457 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1458 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1459 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1460 (dump_ada_enum_type): Remove type and display_convention parameters.
1461 Adjust calls to pp_ada_tree_identifier.
1462 (dump_ada_node): Likewise and for dump_ada_structure.
1463 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1464 and tidy up.
1465 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1466 syntax.
1467 (print_constructor): Adjust call to pp_ada_tree_identifier.
1468 (print_destructor): Likewise.
1469 (dump_ada_declaration): Switch to aspect syntax.
1470 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1471 parameter with nested parameter.
1472 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1473 (dump_ada_specs): Do not delete overloaded_names table.
1474
8de583fc
PB
14752018-07-06 Peter Bergner <bergner@linux.ibm.com>
1476
1477 PR target/86324
e730a0ef 1478 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1479 target hook.
1480
09cff37b
NS
14812018-07-05 Nathan Sidwell <nathan@acm.org>
1482
1483 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1484 NO_IMPLICIT_EXTERN_C.
1485
98086b2b
ML
14862018-06-28 Martin Liska <mliska@suse.cz>
1487
1488 * cppspec.c: Include opt-suggestions.h.
1489
ab20d992
JJ
14902018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1491 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
1492 Cesar Philippidis <cesar@codesourcery.com>
1493
1494 * c-pragma.h (enum pragma_omp_clause): Add
1495 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1496 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1497
f41b7612
JJ
14982018-06-20 Jakub Jelinek <jakub@redhat.com>
1499
1500 PR c++/86210
1501 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1502 comment.
1503
4252ccd7
MS
15042018-06-18 Martin Sebor <msebor@redhat.com>
1505
1506 PR middle-end/85602
1507 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1508 nonstring.
1509
e197e64e
KV
15102018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1511
1512 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1513
34a7a230
JM
15142018-06-13 Jason Merrill <jason@redhat.com>
1515
5cef3733
JM
1516 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1517 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1518 handling.
1519
34a7a230
JM
1520 PR c++/86094 - wrong code with defaulted move ctor.
1521 * c-opts.c (c_common_post_options): Bump the current ABI version to
1522 13. Set warn_abi_version and flag_abi_compat_version to the current
1523 version rather than 0. Fix defaulting flag_abi_compat_version from
1524 warn_abi_version.
1525
bb0f14ae
MS
15262018-06-12 Martin Sebor <msebor@redhat.com>
1527
1528 PR c/85931
1529 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1530 sizeof source and destination yields the same value.
1531
3713f2e2
ML
15322018-06-12 Martin Liska <mliska@suse.cz>
1533
1534 * c.opt: Make MPX-related options as Deprecated.
1535
4af78ef8
DM
15362018-06-08 David Malcolm <dmalcolm@redhat.com>
1537
1538 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1539 rather than 0.
1540
31db0fe0
ML
15412018-06-08 Martin Liska <mliska@suse.cz>
1542
1543 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1544 for MPX (macros, related functions, fields in cgraph_node, ...).
1545 (handle_bnd_legacy): Likewise.
1546 (handle_bnd_instrument): Likewise.
1547 * c.opt: Likewise.
1548
fe16acf2
JJ
15492018-06-06 Jakub Jelinek <jakub@redhat.com>
1550
1551 PR c++/86068
1552 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1553 __cpp_transactional_memory to 201500 instead of 210500.
1554
4dbdb49b
JM
15552018-06-06 Jason Merrill <jason@redhat.com>
1556
1557 PR c++/85710 - ICE with -Wmemset-elt-size.
1558 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1559
f8ad043f
JM
15602018-06-01 Jason Merrill <jason@redhat.com>
1561
1562 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1563 201703.
1564
abc24d93
EB
15652018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1566
1567 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1568 declaration for a typedef independently of whether the declaration of
1569 the subtype is generated.
1570
d258f4aa
MS
15712018-05-31 Martin Sebor <msebor@redhat.com>
1572
1573 PR c/82063
1574 * c.opt (-Wno-alloc-size-larger-than): New option.
1575
b67b9225
DP
15762018-04-22 David Pagan <dave.pagan@oracle.com>
1577
1578 PR c/55976
1579 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 1580 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
1581 differentiate between default (no option), -Wreturn-type, and
1582 -Wno-return-type.
1583
04eb9c55
JM
15842018-05-29 Jason Merrill <jason@redhat.com>
1585
1586 * c.opt (Winit-list-lifetime): New flag.
1587
b0c31bc6
BE
15882018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1589
1590 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1591 splay_tree_delete_pointers.
1592
44284983
JJ
15932018-05-26 Jakub Jelinek <jakub@redhat.com>
1594
1595 PR bootstrap/85921
1596 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1597 noinline variable to workaround broken kernel headers.
1598
b46b715d
JM
15992018-05-18 Jason Merrill <jason@redhat.com>
1600
1601 * c.opt (Wdeprecated-copy): New flag.
1602
40659769
ML
16032018-05-17 Martin Liska <mliska@suse.cz>
1604
1605 * c-warn.c (overflow_warning): Do not use
1606 space in between 'G_' and '('.
1607
403962ea
JM
16082018-05-09 Jason Merrill <jason@redhat.com>
1609
1610 * c-common.c (valid_array_size_p): Add complain parameter.
1611 * c-common.h: ...which defaults to true.
1612
1c9ee609
JJ
16132018-05-11 Jakub Jelinek <jakub@redhat.com>
1614
1615 PR c/85696
1616 * c-omp.c (c_omp_predetermined_sharing): Return
1617 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1618
19916065
ML
16192018-05-11 Martin Liska <mliska@suse.cz>
1620
92a285c1 1621 PR sanitizer/85556
19916065
ML
1622 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1623 TREE_LIST values.
1624
79e7b1fe
JJ
16252018-05-10 Jakub Jelinek <jakub@redhat.com>
1626
1627 PR c++/85662
1628 * c-common.h (fold_offsetof_1): Removed.
1629 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1630 CTX argument defaulted to ERROR_MARK.
1631 * c-common.c (fold_offsetof_1): Renamed to ...
1632 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1633 argument, convert the pointer constant to TYPE and use size_binop
1634 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1635 a pointer type. Adjust recursive calls.
1636
86c12f76
EB
16372018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1638
1639 PR c++/85400
1640 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1641
ee336e84
NS
16422018-05-07 Nathan Sidwell <nathan@acm.org>
1643
1644 * c.opt (ffor-scope): Remove functionality, issue warning.
1645
6c072e21
NS
16462018-05-03 Nathan Sidwell <nathan@acm.org>
1647
1648 * c.opt (ffriend-injection): Remove functionality, issue warning.
1649
2cc7d3a7
DM
16502018-05-01 David Malcolm <dmalcolm@redhat.com>
1651
1652 PR c/84258
1653 * c-format.c (struct format_check_results): Add field
1654 "number_non_char".
1655 (check_format_info): Initialize it, and warn if encountered.
1656 (check_format_arg): Distinguish between wide char and
1657 everything else when detecting arrays of non-char.
1658
7761dfbe
DM
16592018-04-30 David Malcolm <dmalcolm@redhat.com>
1660
1661 * c-format.c (get_corrected_substring): Update for
1662 location_get_source_line returning a char_span. Use a char_span
1663 when handling the prefix of the correction.
1664 * c-indentation.c (get_visual_column): Update for
1665 location_get_source_line returning a char_span.
1666 (get_first_nws_vis_column): Likewise.
1667
62e98ef1
DM
16682018-03-29 David Malcolm <dmalcolm@redhat.com>
1669
1670 PR c++/84269
1671 * known-headers.cc (get_stdlib_header_for_name): Add various names
1672 from <assert.h>, <string.h>, and <memory.h>; add more names from
1673 <stdio.h>.
1674
a7dea617
JJ
16752018-03-27 Jakub Jelinek <jakub@redhat.com>
1676
1677 PR c++/85061
1678 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1679 get_base_address of the second operand is a VAR_P, rather than the
1680 operand itself, and use gcc_checking_assert instead of gcc_assert.
1681
889a3a30
MP
16822018-03-23 Marek Polacek <polacek@redhat.com>
1683
1684 PR c++/85045
1685 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1686 <case RDIV_EXPR>: Tweak condition.
1687
452154b9
EB
16882018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1689
1690 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1691
63ecb626
JJ
16922018-03-16 Jakub Jelinek <jakub@redhat.com>
1693
ce811fc4
JJ
1694 PR c/84909
1695 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1696 diagnostics.
1697
63ecb626
JJ
1698 PR c/84910
1699 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1700 diagnostics.
1701
a1295eec
RB
17022018-03-16 Richard Biener <rguenther@suse.de>
1703
1704 PR c/84873
1705 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1706 unshare the possibly folded expression.
1707
919674fb
RB
17082018-03-15 Richard Biener <rguenther@suse.de>
1709
1710 PR c/84873
1711 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1712
f99309b2
MS
17132018-03-13 Martin Sebor <msebor@redhat.com>
1714
1715 PR tree-optimization/84725
1716 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1717 with all three narrow character types, including their qualified forms.
1718
e9b9fa4c
MS
17192018-03-12 Martin Sebor <msebor@redhat.com>
1720
1721 PR tree-optimization/83456
ab20d992 1722 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
1723 Restore checking of bounded built-in functions.
1724 (check_function_arguments): Also return the result
1725 of warn_for_restrict.
ab20d992
JJ
1726 * c-common.c (check_function_restrict): Return bool.
1727 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 1728
0805d020
MP
17292018-03-02 Marek Polacek <polacek@redhat.com>
1730
1731 PR c++/84171
1732 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1733 is erroneous.
1734
ed2a2f08
TS
17352018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1736
1737 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1738 function".
1739
90abdde0
MP
17402018-03-01 Marek Polacek <polacek@redhat.com>
1741
1742 PR c++/84639
1743 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1744 alignment in computation.
1745
c6db43fa
EB
17462018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1747
1748 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1749 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1750
9e25c7ed
EB
17512018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1752
1753 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1754 (is_char_array): Take a type instead of a declaration.
1755 (dump_ada_array_type): Likewise.
1756 (is_simple_enum): Minor tweak.
1757 (dump_ada_enum_type): New function extracted from...
1758 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1759 <INTEGER_TYPE>: Remove unreachable code.
1760 <RECORD_TYPE>: Likewise. Minor tweaks.
1761 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1762 <ENUMERAL_TYPE>: New case.
1763 <RECORD_TYPE>: Factor out common code.
1764 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1765 Minor tweaks. Deal with enumeral types.
1766 (dump_ada_structure): Minor tweaks.
1767
09de3550
EB
17682018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1769
1770 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1771 address for incomplete structures.
1772 (dump_forward_type): Do not bail out for incomplete structures.
1773 (dump_ada_declaration): Do not special-case incomplete structures
1774 for subtypes. Dump them as null records for types.
1775
095d8d4b
EB
17762018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1777
1778 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1779 (is_char_array): Fix formatting.
1780 (dump_template_types): Likewise.
1781 (dump_generic_ada_node): Rename into...
1782 (dump_ada_node): ...this.
1783 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1784 incomplete structures and not for empty structures. Do not use it
1785 when forward declarations are needed.
1786 (dump_forward_type): New function.
1787 (dump_nested_types): Remove FORWARD parameter. Do not consider
1788 TREE_VISITED and do not generate a forward declaration. Only dump
1789 original nested types for nested declaration.
1790 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1791 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1792 <RECORD_TYPE>: Do not consider TREE_VISITED.
1793 (dump_ada_declaration): Use booleans and fix formatting throughout.
1794 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1795 Call dump_forward_type instead of dump_nested_types for a typedef.
1796 Remove superfluous check and adjust call to dump_nested_types.
1797 <POINTER_TYPE>: Call dump_forward_type and fall through.
1798 (dump_ada_struct_decl): Rename into...
1799 (dump_ada_structure): ...this. Do not special-case empty structures.
1800
d4cfd486
MS
18012018-02-27 Martin Sebor <msebor@redhat.com>
1802
1803 PR c++/83871
1804 * c.opt (-Wmissing-attributes): New option.
1805
b22dbd03
ML
18062018-02-21 Martin Liska <mliska@suse.cz>
1807
1808 * c.opt (Wcatch-value=): Add IntegerRange.
1809
883dfe2a
JM
18102018-02-15 Jason Merrill <jason@redhat.com>
1811
1812 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1813
0444aa9c
NS
18142018-02-09 Nathan Sidwell <nathan@acm.org>
1815
1816 PR c/84293
1817 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1818 arg.
1819 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1820 arg. Adjust.
1821
cea71f0a
MS
18222018-02-09 Martin Sebor <msebor@redhat.com>
1823
1824 PR lto/84212
1825 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1826 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1827 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1828 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1829 (-Wuninitialized): Same.
1830
8c8b7be5
EB
18312018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1832
1833 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1834 keyword for components.
1835
7c30b12a
PC
18362018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1837
1838 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1839
eece7fe5
JK
18402018-02-02 Julia Koval <julia.koval@intel.com>
1841
1842 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1843
7d07a93a
MP
18442018-01-29 Marek Polacek <polacek@redhat.com>
1845
1846 PR c/83966
1847 * c-format.c (check_function_format): Check current_function_decl.
1848
53723269
JJ
18492018-01-27 Jakub Jelinek <jakub@redhat.com>
1850
1851 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1852 argument.
1853 (LAZY_HEX_FP_VALUES_CNT): Define.
1854 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1855 values rather than just 12.
1856 (builtin_define_with_hex_fp_value): Likewise.
1857
7365279f
BK
18582018-01-18 Boris Kolpackov <boris@codesynthesis.com>
1859
92a285c1
ML
1860 PR other/70268
1861 * c.opt (-fmacro-prefix-map): New option.
1862 * c-opts.c (c_common_handle_option): Handle it.
1863 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
1864 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 1865
bb9869d5
DM
18662018-01-17 David Malcolm <dmalcolm@redhat.com>
1867
1868 PR c++/83814
1869 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1870
68dc87c3
EB
18712018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1872
1873 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1874 Skip 'f' and 'F' characters if it is true.
1875 (store_ada_macro): Minor tweak.
1876 (dump_ada_macros) <CPP_COMMENT>: Likewise.
1877 <CPP_WSTRING>: Likewise.
1878 <CPP_STRING>: Output '&' in the buffer if not the first string.
1879 <CPP_NUMBER>: Adjust calls to dump_number.
1880
9a004410
DM
18812018-01-10 David Malcolm <dmalcolm@redhat.com>
1882
1883 PR c++/43486
1884 * c-common.c: Include "selftest.h".
1885 (get_atomic_generic_size): Perform the test for integral type
1886 before the range test for any integer constant, fixing indentation
1887 of braces. Call fold_for_warn before testing for an INTEGER_CST.
1888 (reject_gcc_builtin): Strip any location wrapper from EXPR.
1889 (selftest::test_fold_for_warn): New function.
1890 (selftest::c_common_c_tests): New function.
1891 (selftest::c_family_tests): Call it, and
1892 selftest::c_pretty_print_c_tests.
1893 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
1894 * c-format.c (check_format_arg): Convert VAR_P check to a
1895 fold_for_warn.
1896 * c-pretty-print.c: Include "selftest.h".
1897 (pp_c_cast_expression): Don't print casts for location wrappers.
1898 (selftest::assert_c_pretty_printer_output): New function.
1899 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1900 (selftest::test_location_wrappers): New function.
1901 (selftest::c_pretty_print_c_tests): New function.
1902 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1903
5c0caeb3
RS
19042018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1905 Alan Hayward <alan.hayward@arm.com>
1906 David Sherwood <david.sherwood@arm.com>
1907
1908 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1909
73a699ae
RS
19102018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1911 Alan Hayward <alan.hayward@arm.com>
1912 David Sherwood <david.sherwood@arm.com>
1913
1914 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1915 as polynomial.
1916
928686b1
RS
19172018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1918 Alan Hayward <alan.hayward@arm.com>
1919 David Sherwood <david.sherwood@arm.com>
1920
1921 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1922 (convert_vector_to_array_for_subscript): Handle polynomial
1923 TYPE_VECTOR_SUBPARTS.
1924 (c_common_type_for_mode): Check valid_vector_subparts_p.
1925 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1926 VECTOR_CST_NELTS.
1927
85ec4feb
JJ
19282018-01-03 Jakub Jelinek <jakub@redhat.com>
1929
1930 Update copyright years.
1931
170a8bd6 19322017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1933 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1934
1935 * c-pragma.c (init_pragma): Register pragma GCC unroll.
1936 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1937
ab20d992 19382017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
1939
1940 PR debug/83527
1941 PR debug/83419
1942 * c-semantics.c (only_debug_stmts_after_p): New.
1943 (pop_stmt_list): Clear side effects in debug-only stmt list.
1944 Check for single nondebug stmt followed by debug stmts only.
1945
c12d20d4
AO
19462017-12-21 Alexandre Oliva <aoliva@redhat.com>
1947
1948 PR debug/83419
1949 * c-semantics.c (pop_stmt_list): Propagate side effects from
1950 single nondebug stmt to container list.
1951
01512446
JJ
19522017-12-19 Jakub Jelinek <jakub@redhat.com>
1953
1954 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1955 conditions with typical order conditions.
1956
82cfbd01
MP
19572017-12-18 Marek Polacek <polacek@redhat.com>
1958
1959 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1960 not in effect.
1961
99da11ec
MS
19622017-12-17 Martin Sebor <msebor@redhat.com>
1963
1964 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1965 an error for attribute warn_if_not_aligned.
1966
cc8bea0a
MS
19672017-12-16 Martin Sebor <msebor@redhat.com>
1968
1969 PR tree-optimization/78918
1970 * c-common.c (check_function_restrict): Avoid checking built-ins.
1971 * c.opt (-Wrestrict): Include in -Wall.
1972
4849deb1
JJ
19732017-12-15 Jakub Jelinek <jakub@redhat.com>
1974
1975 * c-attribs.c (c_common_attribute_table,
1976 c_common_format_attribute_table): Swap affects_type_identity
1977 and handler fields, adjust comments.
1978
c65e18d3
BE
19792017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1980
1981 * c.opt (Wcast-function-type): New warning option.
1982 * c-lex.c (get_fileinfo): Avoid warning.
1983 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1984
2004617a
QZ
19852017-12-14 Qing Zhao <qing.zhao@oracle.com>
1986
7365279f 1987 PR middle_end/79538
2004617a
QZ
1988 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1989 Adjust the size of buf1 and buf2, add a new buf to avoid
1990 format-overflow warning.
1991
ab20d992 19922017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
1993
1994 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
1995 subsequent statement list.
1996
5d9ae53d
MS
19972017-12-07 Martin Sebor <msebor@redhat.com>
1998
1999 PR c/81544
2000 PR c/81566
2001 * c-attribs.c (attr_aligned_exclusions): New array.
2002 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2003 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2004 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2005 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2006 (attr_warn_unused_result_exclusions): Same.
2007 (handle_hot_attribute, handle_cold_attribute): Simplify.
2008 (handle_const_attribute): Warn on function returning void.
2009 (handle_pure_attribute): Same.
2010 (handle_aligned_attribute): Diagnose conflicting attribute
2011 specifications.
2012 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2013
c79144f8
DM
20142017-12-06 David Malcolm <dmalcolm@redhat.com>
2015
2016 PR c/83236
2017 * c-common.c (selftest::c_family_tests): Call
2018 selftest::c_spellcheck_cc_tests.
2019 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2020 * c-spellcheck.cc: Include "selftest.h".
2021 (name_reserved_for_implementation_p): New function.
2022 (should_suggest_as_macro_p): New function.
2023 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2024 should_suggest_as_macro_p and call it.
2025 (selftest::test_name_reserved_for_implementation_p): New function.
2026 (selftest::c_spellcheck_cc_tests): New function.
2027 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2028
613bc14f
DM
20292017-12-06 David Malcolm <dmalcolm@redhat.com>
2030
2031 * c-spellcheck.cc: New file, taken from macro-handling code in
2032 spellcheck-tree.c.
2033 * c-spellcheck.h: New file, taken from macro-handling code in
2034 spellcheck-tree.h.
2035
e76c7157
JJ
20362017-12-01 Jakub Jelinek <jakub@redhat.com>
2037
2038 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2039 attribute.
2040 (handle_simd_attribute): Don't check for "cilk simd function"
2041 attribute. Reindent, formatting changes.
2042
b0da4034
JK
20432017-11-30 Julia Koval <julia.koval@intel.com>
2044
2045 * c-common.h (inv_list): Remove.
2046
058f0b9e
JJ
20472017-11-28 Jakub Jelinek <jakub@redhat.com>
2048
2049 PR sanitizer/81275
2050 * c-common.c (c_switch_covers_all_cases_p_1,
2051 c_switch_covers_all_cases_p): New functions.
2052 * c-common.h (c_switch_covers_all_cases_p): Declare.
2053
5e9d6aa4 20542017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 2055 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
2056
2057 * array-notation-common.c: Delete.
2058 * c-cilkplus.c: Ditto.
2059 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2060 * c-common.def (ARRAY_NOTATION_REF): Remove.
2061 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2062 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2063 c_validate_cilk_plus_loop, cilkplus_an_parts,
2064 cilk_ignorable_spawn_rhs_op,
2065 cilk_recognize_spawn): Remove.
2066 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2067 * c-omp.c: Remove CILK_SIMD check.
2068 * c-pragma.c: Ditto.
2069 * c-pragma.h: Remove CILK related pragmas.
2070 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2071 ARRAY_NOTATION_REF condition.
2072 (c_pretty_printer::expression): Ditto.
2073 * c.opt (fcilkplus): Remove.
2074 * cilk.c: Delete.
2075
1af4ebf5
MG
20762017-11-21 Marc Glisse <marc.glisse@inria.fr>
2077
2078 * c-pretty-print.c (pp_c_additive_expression,
2079 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2080
d44ed508
JJ
20812017-11-21 Jakub Jelinek <jakub@redhat.com>
2082
7d2f0f9b
JJ
2083 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2084
d44ed508
JJ
2085 PR c++/83059
2086 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2087 instead of tree_to_uhwi, formatting fix.
2088
26edace6
DM
20892017-11-20 David Malcolm <dmalcolm@redhat.com>
2090
2091 PR c/81404
2092 * known-headers.cc: New file, based on material from c/c-decl.c.
2093 (suggest_missing_header): Copied as-is.
2094 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2095 heavily edited to add C++ support. Add some knowledge about
2096 <limits.h>, <stdint.h>, and <wchar.h>.
2097 * known-headers.h: Likewise.
2098
6c7a259b
DM
20992017-11-20 David Malcolm <dmalcolm@redhat.com>
2100
2101 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2102 (lookup_name_fuzzy): Likewise. Convert return type from
2103 const char * to name_hint. Add location_t param.
2104 * name-hint.h: New header.
2105
f9c59f7e
JJ
21062017-11-19 Jakub Jelinek <jakub@redhat.com>
2107
2108 PR c/66618
2109 PR c/69960
2110 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2111
1e39313a
JM
21122017-11-16 Joseph Myers <joseph@codesourcery.com>
2113
2114 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2115 expected publication date of C17.
2116 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2117
3ca0dc60
JM
21182017-11-15 Joseph Myers <joseph@codesourcery.com>
2119
2120 PR c/81156
2121 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2122 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2123
025d57f0
MS
21242017-11-10 Martin Sebor <msebor@redhat.com>
2125
2126 PR c/81117
2127 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2128 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2129 * c.opt (-Wstringop-truncation): New option.
2130
1b6fa695
ML
21312017-11-06 Martin Liska <mliska@suse.cz>
2132
2133 PR middle-end/82404
2134 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2135 FE.
2136 * c.opt: Set default value of warn_return_type.
2137
64a5912c
DM
21382017-10-31 David Malcolm <dmalcolm@redhat.com>
2139
2140 * c-common.c (binary_op_error): Update for renaming of
2141 error_at_rich_loc.
2142 (c_parse_error): Likewise.
2143 * c-warn.c (warn_logical_not_parentheses): Likewise for
2144 renaming of inform_at_rich_loc.
2145 (warn_for_restrict): Likewise for renaming of
2146 warning_at_rich_loc_n.
2147
c76dc9c3
JM
21482017-10-30 Joseph Myers <joseph@codesourcery.com>
2149
2150 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2151 * c-opts.c (set_std_c17): New function.
2152 (c_common_init_options): Use gnu17 as default C version.
2153 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2154
ee5fd23a
MM
21552017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2156
2157 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2158 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2159 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2160 __FP_FAST_FMA<N>X.
2161
d1047465
MP
21622017-10-23 Marek Polacek <polacek@redhat.com>
2163
2164 PR c/82681
2165 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2166
9e878cf1
EB
21672017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2168
2169 * c-common.c (check_builtin_function_arguments): Also check arguments
2170 of __builtin_alloca_with_align_and_max.
2171
89b6abbb
DM
21722017-10-17 David Malcolm <dmalcolm@redhat.com>
2173
2174 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2175 rather than NULL to format_warning_va.
2176 (check_format_types): Likewise when calling format_type_warning.
2177 Remove code to extract source_ranges and source_range * in favor
2178 of just a location_t.
2179 (format_type_warning): Convert source_range * param to a
2180 location_t.
2181
39382c09
JJ
21822017-10-13 Jakub Jelinek <jakub@redhat.com>
2183
2184 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2185 [LR]SHIFT_EXPR.
2186
62e1c678
DM
21872017-10-12 David Malcolm <dmalcolm@redhat.com>
2188
2189 * c-common.c (enum missing_token_insertion_kind): New enum.
2190 (get_missing_token_insertion_kind): New function.
2191 (maybe_suggest_missing_token_insertion): New function.
2192 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2193
b90c9338
NS
21942017-10-11 Nathan Sidwell <nathan@acm.org>
2195
2196 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2197 (c_common_handle_option): Update incpath_kind names.
2198
3a266bcd
ML
21992017-10-11 Martin Liska <mliska@suse.cz>
2200
2201 PR sanitizer/82490
2202 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2203 Wattributes warning.
2204
8e6cdc90
RS
22052017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2206
2207 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2208 operating on trees as wide_ints.
2209 * c-common.c (pointer_int_sum): Likewise.
2210 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2211 * c-warn.c (match_case_to_enum_1): Likewise.
2212 (c_do_switch_warnings): Likewise.
2213 (maybe_warn_shift_overflow): Likewise.
2214
802b38c9
JJ
22152017-10-10 Jakub Jelinek <jakub@redhat.com>
2216
2217 PR c/82437
2218 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2219 instead of wide_int::from.
2220
4e34b338
JJ
22212017-10-06 Jakub Jelinek <jakub@redhat.com>
2222
2223 PR c/82437
2224 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2225 using to_widest use wide_int with the larger of the two precisions.
2226
4bc4b2b4
BE
22272017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2228
2229 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2230 functions.
2231
a1488398
RS
22322017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2233
2234 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2235 when combining the original unconverted comparison operands.
2236
01c9fb68
JJ
22372017-09-29 Jakub Jelinek <jakub@redhat.com>
2238
2239 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2240 attribute.
2241
6e3e8419
EB
22422017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2243
2244 * c-ada-spec.c (to_ada_name): Add index parameter.
2245 (pp_ada_tree_identifier): Likewise.
2246 (dump_ada_macros): Adjust call to to_ada_name.
2247 (struct overloaded_name_hash): New type.
2248 (struct overloaded_name_hasher): Likewise.
2249 (overloaded_names): New hash table.
2250 (compute_overloading_index): New function.
2251 (dump_ada_decl_name): Call it and pass the result to
2252 pp_ada_tree_identifier.
2253 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2254 (dump_ada_function_declaration): Likewise.
2255 (dump_generic_ada_node): Likewise.
2256 (print_constructor): Likewise.
2257 (print_destructor): Likewise.
2258 (dump_ada_specs): Delete overloaded_names table.
2259
79310774
EB
22602017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2261
2262 * c-ada-spec.c (max_ada_macros): Move around.
2263 (store_ada_macro_index): Likewise.
2264 (source_file): Rename into...
2265 (macro_source_file): ...this.
2266 (count_ada_macro): Move around.
2267 (store_ada_macro): Likewise.
2268 (compare_macro): Likewise.
2269 (print_ada_macros): Merge in...
2270 (dump_ada_macros): ...this.
2271 (source_file_base): Rename into...
2272 (current_source_file): ...this.
2273 (print_comment): Move around.
2274 (dump_ada_nodes): Call dump_ada_declaration directly.
2275 (struct with): Change type of limited field to bool.
2276 (append_withs): Change type of limited_access parameter to bool.
2277 (pp_ada_tree_identifie): Likewise.
2278 (dump_ada_decl_nam): Likewise.
2279 (dump_generic_ada_node): Likewise. Do not print the return type.
2280 (to_ada_name): Change type of space_found parameter to bool.
2281 (dump_ada_function_declaration): Return void and change type of
2282 parameters to bool. Also print the return type for a function.
2283 (print_ada_methods): Rename into...
2284 (dump_ada_methods): ...this.
2285 (print_ada_declaration): Rename into ...
2286 (dump_ada_declaration): ...this. Do not print the return type.
2287 (print_ada_struct_decl): Rename into...
2288 (dump_ada_struct_decl): ...this.
2289
7d386d45
JJ
22902017-09-29 Jakub Jelinek <jakub@redhat.com>
2291
2292 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2293 rather than DECL_INITIAL.
2294 (common_handle_aligned_attribute): Likewise.
2295
ab20d992 22962017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
2297
2298 * c.opt (gen-decls): Add RejectNegative.
2299
026a79f7
AS
23002017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2301 Jakub Jelinek <jakub@redhat.com>
2302
2303 Add support for -std=c++2a.
2304 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2305 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2306 * c-opts.c (set_std_cxx2a): New.
2307 (c_common_handle_option): Set options when -std=c++2a is enabled.
2308 (c_common_post_options): Adjust comments.
2309 (set_std_cxx14, set_std_cxx17): Likewise.
2310
4a8ca690
EB
23112017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2312
2313 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2314 message for non-uniform endianness and issue a warning in C++.
2315
7b936140
JJ
23162017-09-15 Jakub Jelinek <jakub@redhat.com>
2317
2318 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2319 (Wc++17-compat): Change from undocumented alias to option.
2320 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2321 change C++1z to C++17 in description.
2322 (std=c++1z, std=gnu++1z): Change from option to undocumented
2323 deprecated alias.
2324 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2325 Adjust description.
2326 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2327 * c-opts.c (set_std_cxx1z): Rename to ...
2328 (set_std_cxx17): ... this.
2329 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2330 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 2331 caller.
7b936140
JJ
2332 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2333 comments.
2334
12263f13
L
23352017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2336
2337 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2338 function alignment if warn_if_not_aligned_p is true.
2339
6836632e
NS
23402017-09-12 Nathan Sidwell <nathan@acm.org>
2341
2342 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2343 resort_sorted_fields): Move to c/c-decl.c.
2344 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2345 (struct sorted_fields_type): Move to c/c-lang.h.
2346
019bf9ad
JW
23472017-09-09 Jonathan Wakely <jwakely@redhat.com>
2348
2349 PR c++/81852
2350 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2351
bc7fe952
MP
23522017-09-04 Marek Polacek <polacek@redhat.com>
2353
2354 PR c/81783
2355 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2356 (warn_tautological_cmp): Call it.
2357
ab20d992 23582017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
2359
2360 * c-opts.c (c_common_finish): Write dependency information even if
2361 there are errors.
2362
d2e05fcb
JJ
23632017-09-01 Jakub Jelinek <jakub@redhat.com>
2364
2365 PR c/81887
2366 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2367 (omp_pragmas_simd): ... here.
2368 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2369 create new clauses list containing just simd clause.
2370
18e2a8b8
RS
23712017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2372 Alan Hayward <alan.hayward@arm.com>
2373 David Sherwood <david.sherwood@arm.com>
2374
2375 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2376 into scalar_mode_supported_p call.
2377 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2378
16d22000
RS
23792017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2380 Alan Hayward <alan.hayward@arm.com>
2381 David Sherwood <david.sherwood@arm.com>
2382
2383 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2384 for the mode iterator.
2385
b397965c
RS
23862017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2387 Alan Hayward <alan.hayward@arm.com>
2388 David Sherwood <david.sherwood@arm.com>
2389
2390 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2391 * c-common.c (c_build_vec_perm_expr): Likewise.
2392
357b7604
RS
23932017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2394 Alan Hayward <alan.hayward@arm.com>
2395 David Sherwood <david.sherwood@arm.com>
2396
2397 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2398
e05c94ba
RS
23992017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2400 Alan Hayward <alan.hayward@arm.com>
2401 David Sherwood <david.sherwood@arm.com>
2402
2403 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2404 before calling targetm.addr_space.valid_pointer_mode.
2405
5c20c4af
RS
24062017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2407 Alan Hayward <alan.hayward@arm.com>
2408 David Sherwood <david.sherwood@arm.com>
2409
2410 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2411
c94843d2 24122017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
2413 Alan Hayward <alan.hayward@arm.com>
2414 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
2415
2416 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2417 iterators.
2418 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2419
4e10a5a7
RS
24202017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2421 Alan Hayward <alan.hayward@arm.com>
2422 David Sherwood <david.sherwood@arm.com>
2423
2424 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2425 case statements.
2426
130fcab0
ML
24272017-08-29 Martin Liska <mliska@suse.cz>
2428
2429 PR other/39851
2430 * c-common.c (parse_optimize_options): Add argument to function
2431 call.
2432 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2433
14e18d71
DM
24342017-08-24 David Malcolm <dmalcolm@redhat.com>
2435
2436 * c-lex.c (interpret_float): Use token location
2437 when building an EXCESS_PRECISION_EXPR.
2438
2f687306
DM
24392017-08-21 David Malcolm <dmalcolm@redhat.com>
2440
2441 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2442 it to check_function_format.
2443 * c-common.h (check_function_arguments): Add vec<location_t> *
2444 param.
2445 (check_function_format): Likewise.
2446 * c-format.c (struct format_check_context): Add field "arglocs".
2447 (check_function_format): Add param "arglocs"; pass it to
2448 check_format_info.
ab20d992 2449 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
2450 new field of format_ctx.
2451 (check_format_arg): Pass format_ctx->arglocs to new param of
2452 check_format_info_main.
2453 (class argument_parser): New field "arglocs".
2454 (argument_parser::argument_parser): Add "arglocs_" param and use
2455 it to initialize new field.
2456 (argument_parser::check_argument_type): Pass new arglocs field to
2457 check_format_types.
2458 (check_format_info_main): Add param "arglocs", and use it when
2459 constructing arg_parser.
2460 (check_format_types): Add param "arglocs"; use it if non-NULL when
2461 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2462
00aa1fa2
L
24632017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2464
2465 PR c/53037
2466 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2467 (c_common_attribute_table): Add warn_if_not_aligned.
2468 (handle_aligned_attribute): Renamed to ...
2469 (common_handle_aligned_attribute): Remove argument, name, and add
2470 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2471 (handle_aligned_attribute): New.
2472 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2473
27be025d
MS
24742017-08-14 Martin Sebor <msebor@redhat.com>
2475
2476 PR c/81117
2477 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2478 (handle_nonstring_attribute): New function.
2479
da67acb9
MS
24802017-08-14 Martin Sebor <msebor@redhat.com>
2481
2482 PR c/81117
2483 * c-format.h (T89_G): New macro.
2484 * c-format.c (local_gcall_ptr_node): New variable.
2485 (init_dynamic_diag_info): Initialize it.
2486
a8b522b4
ML
24872017-08-11 Martin Liska <mliska@suse.cz>
2488
2489 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2490 TARGET_SUPPORTS_ALIASES.
2491
32129a17
DM
24922017-08-10 David Malcolm <dmalcolm@redhat.com>
2493
2494 * c-common.c (c_parse_error): Add rich_location * param, using it
2495 rather implicitly using input_location.
2496 * c-common.h (c_parse_error): Add rich_location * param.
2497
30af3a2b
MP
24982017-08-09 Marek Polacek <polacek@redhat.com>
2499
2500 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2501 (c_common_truthvalue_conversion): Likewise.
2502 * c-omp.c (c_finish_omp_atomic): Likewise.
2503 * c-common.h (build_binary_op): Update declaration.
2504
314e6352
ML
25052017-08-08 Martin Liska <mliska@suse.cz>
2506
2507 * c-ada-spec.c: Include header files.
2508 * c-ubsan.c: Likewise.
2509 * c-warn.c: Likewise.
2510
56b5041c
JJ
25112017-08-07 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR c/69389
2514 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2515
db440138
EB
25162017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2517
2518 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2519 (print_ada_methods): Likewise.
2520 (print_ada_declaration): Likewise.
2521
577eec56
ML
25222017-08-07 Martin Liska <mliska@suse.cz>
2523
2524 * array-notation-common.c: Add new includes.
2525 * c-format.c( handle_format_attribute): Canonicalize a format
2526 function name.
2527 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2528 attribute.
2529 * c-pretty-print.c: Add new include.
2530
b854df3c
EB
25312017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2532
2533 * c-ada-spec.c (has_static_fields): Look only into variables.
2534 (print_constructor): Add TYPE parameter and use it for the name.
2535 (print_destructor): Likewise.
2536 (print_ada_declaration): Adjust to new constructor/destructor names.
2537 Adjust calls to print_constructor and print_destructor.
2538 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2539 Look only into variables in the final loop.
2540
9f2cb25e
EB
25412017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2542
2543 * c-ada-spec.c (has_static_fields): Look only into fields.
2544 (dump_generic_ada_node): Small tweak.
2545 (dump_nested_types): Look only into fields.
2546 (print_ada_declaration): Look only into methods. Small tweak.
2547 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2548
f4bcd9eb
EB
25492017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2550
2551 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2552 (dump_ada_function_declaration): Likewise.
2553 (dump_generic_ada_node): Likewise.
2554 (print_ada_declaration): Add support for const-qualified variables.
2555
f34ebeb2
ML
25562017-07-31 Martin Liska <mliska@suse.cz>
2557
2558 PR sanitize/81530
2559 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2560 Guard condition with flag_sanitize_p also with current_function_decl
2561 non-null equality.
2562 (ubsan_maybe_instrument_reference_or_call): Likewise.
2563
218e5d04
UB
25642017-07-30 Uros Bizjak <ubizjak@gmail.com>
2565
2566 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2567
942047f2
EB
25682017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2569
2570 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2571 for enumeral types.
2572 (print_ada_declaration): Add missing guard for record types.
2573
a40ff0ae
JJ
25742017-07-27 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR c/45784
2577 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2578 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2579 new COMPOUND_EXPRs around the rhs of the comparison.
2580
06bd22f6
MP
25812017-07-27 Marek Polacek <polacek@redhat.com>
2582
2583 PR c/81417
2584 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2585 the types.
2586
036ea399
JJ
25872017-07-27 Jakub Jelinek <jakub@redhat.com>
2588
2589 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2590 (handle_noipa_attribute): New function.
2591
417ca011
TD
25922017-07-07 Torsten Duwe <duwe@suse.de>
2593
2594 * c-attribs.c (c_common_attribute_table): Add entry for
2595 "patchable_function_entry".
2596
5aaa8fb4
NS
25972017-07-20 Nathan Sidwell <nathan@acm.org>
2598
2599 Remove TYPE_METHODS.
2600 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2601 dump_ada_template, print_ada_methods,
2602 print_ada_declaration): Member fns are on TYPE_FIELDS.
2603
ff22eb12
NS
26042017-07-18 Nathan Sidwell <nathan@acm.org>
2605
2606 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2607
eea77d1f
DM
26082017-07-14 David Malcolm <dmalcolm@redhat.com>
2609
2610 * c-common.c (try_to_locate_new_include_insertion_point): New
2611 function.
2612 (per_file_includes_t): New typedef.
2613 (added_includes_t): New typedef.
2614 (added_includes): New variable.
2615 (maybe_add_include_fixit): New function.
2616 * c-common.h (maybe_add_include_fixit): New decl.
2617
281ac396
MS
26182017-07-10 Martin Sebor <msebor@redhat.com>
2619
2620 PR other/81345
2621 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2622
b6f43128
DM
26232017-07-06 David Malcolm <dmalcolm@redhat.com>
2624
2625 * c-common.c (selftest::c_family_tests): New.
2626 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2627 (selftest::c_family_tests): New decl.
2628
efbf55b0
MP
26292017-07-04 Marek Polacek <polacek@redhat.com>
2630
2631 PR c/81231
2632 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2633 types.
2634
6c86bd88
MP
26352017-07-04 Marek Polacek <polacek@redhat.com>
2636
2637 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2638
17a7218b
ML
26392017-06-28 Martin Liska <mliska@suse.cz>
2640
2641 PR ipa/81128
2642 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2643 to a function declaration.
2644
63010089
ML
26452017-06-28 Martin Liska <mliska@suse.cz>
2646
2647 PR driver/79659
2648 * c.opt: Add IntegerRange to various options.
2649
3e2becc4
MP
26502017-06-26 Marek Polacek <polacek@redhat.com>
2651
2652 PR c/80116
2653 * c-common.h (warn_for_multistatement_macros): Declare.
2654 * c-warn.c: Include "c-family/c-indentation.h".
2655 (warn_for_multistatement_macros): New function.
2656 * c.opt (Wmultistatement-macros): New option.
2657 * c-indentation.c (guard_tinfo_to_string): No longer static.
2658 Change the parameter type to "enum rid". Handle RID_SWITCH.
2659 * c-indentation.h (guard_tinfo_to_string): Declare.
2660
2db9b7cd
MG
26612017-06-23 Marc Glisse <marc.glisse@inria.fr>
2662
2663 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2664
c3684b7b
MS
26652017-06-15 Martin Sebor <msebor@redhat.com>
2666
2667 PR c++/80560
2668 * c.opt (-Wclass-memaccess): New option.
2669
e72c4afd
BK
26702017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2671
2672 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2673
8a516588
MP
26742017-06-13 Marek Polacek <polacek@redhat.com>
2675
2676 PR objc/80949
2677 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2678 branches is null.
2679
45b2222a
ML
26802017-06-13 Martin Liska <mliska@suse.cz>
2681
2682 PR sanitize/78204
2683 * c-attribs.c (add_no_sanitize_value): New function.
2684 (handle_no_sanitize_attribute): Likewise.
2685 (handle_no_sanitize_address_attribute): Use the function.
2686 (handle_no_sanitize_thread_attribute): New function.
2687 (handle_no_address_safety_analysis_attribute): Use
2688 add_no_sanitize_value.
2689 (handle_no_sanitize_undefined_attribute): Likewise.
2690 * c-common.h: Declare new functions.
2691 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2692 (ubsan_instrument_shift): Likewise.
2693 (ubsan_instrument_bounds): Likewise.
2694 (ubsan_maybe_instrument_array_ref): Likewise.
2695 (ubsan_maybe_instrument_reference_or_call): Likewise.
2696
a01f151f
JM
26972017-06-11 Jason Merrill <jason@redhat.com>
2698
2699 * c-ada-spec.c, c-pragma.c: Use id_equal.
2700
3de4ac6d
MP
27012017-06-04 Marek Polacek <polacek@redhat.com>
2702
2703 PR c/80919
2704 * c-format.c (matching_type_p): Return false if any of the types
2705 requires structural equality.
2706
2474f48f
MS
27072017-06-02 Martin Sebor <msebor@redhat.com>
2708
2709 PR c/80892
2710 * c-warn.c (conversion_warning): Use -Wconversion for integer
2711 conversion and -Wfloat-conversion for floating one.
2712
40ffd95f
BE
27132017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2714
2715 * c.opt (Wsizeof-pointer-div): New warning option.
2716
3fa4634c
VR
27172017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2718
2719 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2720 (Wcatch-value=1): Enable by -Wall.
2721
f012c8ef
DM
27222017-05-30 David Malcolm <dmalcolm@redhat.com>
2723
2724 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2725 format_chars.
2726 * c.opt (fdiagnostics-show-template-tree): New option.
2727 (felide-type): New option.
2728
63dbcd13
VR
27292017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2730
2731 * c.opt (Wcatch-value=): New C++ warning flag.
2732
be136b5c
NS
27332017-05-24 Nathan Sidwell <nathan@acm.org>
2734
2735 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2736 const casts to avoid warning.
2737
3cd211af
MS
27382017-05-24 Martin Sebor <msebor@redhat.com>
2739
2740 PR c/80731
2741 * c-common.h (unsafe_conversion_p): Add a function argument.
2742 * c-common.c (unsafe_conversion_p): Same.
2743 Add type names and values to diagnostics.
2744 (scalar_to_vector): Adjust.
2745 * c-warn.c (constant_expression_error): Add a function argument.
2746 Add type names and values to diagnostics.
2747 (conversion_warning): Add a function argument.
2748 Add type names and values to diagnostics.
2749 (warnings_for_convert_and_check): Same.
2750
1ff7be5a
JM
27512017-05-19 Jason Merrill <jason@redhat.com>
2752
2753 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2754 enumerators.
2755
ff502317
BE
27562017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2757
2758 * c-format.c (locus): Move out of function scope,
2759 add GTY attribute.
2760
2a8a8d7b
NS
27612017-05-19 Nathan Sidwell <nathan@acm.org>
2762
2763 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2764 (c_common_parse_file): Remove class dump handling.
2765 (get_dump_info): Likewise.
2766
39aac208
RB
27672017-05-19 Richard Biener <rguenther@suse.de>
2768
2769 PR c++/80593
2770 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2771 to alias-set zero memory.
2772
6ecd2339
BE
27732017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2774
2775 * c-format.c (local_tree_type_node): Add GTY attribute.
2776
6574d78e
MP
27772017-05-18 Marek Polacek <polacek@redhat.com>
2778
2779 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2780 (c_common_fixed_point_type_for_size): Likewise.
2781 (c_common_type_for_mode): Likewise.
2782 (shorten_compare): Likewise.
2783 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2784 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2785
e3455240
MP
27862017-05-18 Marek Polacek <polacek@redhat.com>
2787
2788 * c-common.c (self_promoting_args_p): Change the return type to bool.
2789 Use false/true instead of 0/1.
2790 * c-common.h (self_promoting_args_p): Update.
2791
3fa8871b
MP
27922017-05-17 Marek Polacek <polacek@redhat.com>
2793
2794 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2795 * c-warn.c: Likewise.
2796
b42cc3ca
VV
27972017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2798
2799 Implement new C++ intrinsics __is_assignable and __is_constructible.
2800 * c-common.c (__is_assignable, __is_constructible): New.
2801 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2802
1a817418
ML
28032017-05-17 Martin Liska <mliska@suse.cz>
2804
2805 * c-common.h: Introduce dump_flags_t type and
2806 use it instead of int type.
2807 * c-gimplify.c (c_genericize): Likewise.
2808 * c-opts.c: Likewise.
2809
b2fa0a8b
MP
28102017-05-17 Marek Polacek <polacek@redhat.com>
2811
2812 * c-common.c (c_save_expr): Remove.
2813 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
2814 * c-common.h (c_save_expr): Remove declaration.
2815
31c2d57d
VR
28162017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
2817
2818 PR c/35441
2819 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2820 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2821 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2822 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2823 RDIV_EXPR.
2824 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2825
684f84de
MP
28262017-05-09 Marek Polacek <polacek@redhat.com>
2827
2828 PR c/80525
2829 * c-warn.c (unwrap_c_maybe_const): New.
2830 (warn_logical_operator): Call it.
2831
641da50a
NS
28322017-05-09 Nathan Sidwell <nathan@acm.org>
2833
2834 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2835 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2836
631238ac
MS
28372017-05-08 Martin Sebor <msebor@redhat.com>
2838
2839 PR translation/80280
2840 * c-format.h (struct format_flag_spec): Add new member.
2841 (T89_T): New macro.
2842 * c-format.c (local_tree_type_node): New global.
2843 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2844 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2845 (strfmon_flag_specs): Likewise.
2846 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2847 with distinct quoting properties.
2848 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2849 (flag_chars_t::validate): Add argument and handle bad quoting.
2850 (check_format_info_main): Handle quoting problems.
2851 (init_dynamic_diag_info): Simplify.
2852
49f0c04c
JM
28532017-05-08 Jason Merrill <jason@redhat.com>
2854
2855 * c-opts.c (c_common_post_options): Update defaults for
2856 flag_abi_version and flag_abi_compat_version.
2857
56d35585
DM
28582017-05-05 David Malcolm <dmalcolm@redhat.com>
2859
2860 * c-common.c (c_cpp_error): Replace report_diagnostic
2861 with diagnostic_report_diagnostic.
2862
0f2c4a8f
MS
28632017-05-04 Martin Sebor <msebor@redhat.com>
2864
2865 PR translation/80280
2866 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2867 (handle_weakref_attribute): Same.
2868
6fe63fb4
NS
28692017-05-03 Nathan Sidwell <nathan@acm.org>
2870
2871 Canonicalize canonical type hashing
2872 * c-common.c (complete_array_type): Use type_hash_canon.
2873
815d9cc6
XR
28742017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2875
92a285c1 2876 PR c++/80038
815d9cc6
XR
2877 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2878 prototype.
2879 (cilk_install_body_pedigree_operations): Likewise.
2880 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
2881 detatched.
2882 (cilk_gimplify_call_params_in_spawned_fn): Remove.
2883 (cilk_install_body_pedigree_operations): Likewise.
2884 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2885 unwrapping.
2886
f8a36447
JJ
28872017-04-27 Jakub Jelinek <jakub@redhat.com>
2888
2889 PR c++/80534
2890 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2891 flag on non-aggregate element types.
2892
7c145456
BE
28932017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2894
2895 * c-common.c (c_type_hasher, type_hash_table): Remove.
2896 (c_common_get_alias_set): Remove unreachable code.
2897 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2898
c3cbcd45
VR
28992017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
2900
2901 * c.opt (Wextra-semi): New C++ warning flag.
2902
8a59d466
JJ
29032017-04-20 Jakub Jelinek <jakub@redhat.com>
2904
2905 PR middle-end/80423
2906 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2907
8487c9a5
JJ
29082017-04-18 Jakub Jelinek <jakub@redhat.com>
2909
2910 PR middle-end/79788
2911 PR middle-end/80375
2912 * c-common.c (c_common_type_for_mode): Don't handle
2913 widest_*_literal_type_node here.
2914 c_common_signed_or_unsigned_type): Likewise.
2915 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
2916 to *intTI_type_node or *intDI_type_node depending on whether
2917 TImode is supported by the target or not.
2918
3ee0fb02
ML
29192017-04-10 Martin Liska <mliska@suse.cz>
2920
2921 PR sanitizer/80350
2922 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2923 doing an UBSAN check.
2924
5764ee3c
JW
29252017-04-03 Jonathan Wakely <jwakely@redhat.com>
2926
2927 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
2928
6f3af356
JJ
29292017-03-31 Jakub Jelinek <jakub@redhat.com>
2930
2931 PR c++/79572
2932 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2933 tree *.
2934 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
2935 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2936 REFERENCE_TYPE.
2937
f6a7a9d5
DM
29382017-03-31 David Malcolm <dmalcolm@redhat.com>
2939
2940 PR documentation/78732
2941 * c.opt (Wendif-labels): Fix description to refer to
2942 #else rather than #elif.
2943
af88f557
JJ
29442017-03-31 Jakub Jelinek <jakub@redhat.com>
2945
2946 PR libstdc++/80251
2947 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
2948 * c-common.c (c_common_reswords): Add __is_aggregate trait.
2949
a9e4a1a5
JJ
29502017-03-27 Jakub Jelinek <jakub@redhat.com>
2951
2952 PR middle-end/80162
2953 * c-common.c (c_common_mark_addressable_vec): Don't set
2954 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2955
3f01b620
MS
29562017-03-21 Martin Sebor <msebor@redhat.com>
2957
2958 PR c++/79548
2959 * c-common.c (set_underlying_type): Mark type used only when
2960 original del is declared unused.
2961
2f6f187a
DM
29622017-03-10 David Malcolm <dmalcolm@redhat.com>
2963
2964 PR translation/79848
2965 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2966 "%qs".
2967
a02fa805
DM
29682017-03-10 David Malcolm <dmalcolm@redhat.com>
2969
2970 PR c/79921
2971 * c-indentation.c (warn_for_misleading_indentation): Remove parens
2972 from inform's message, so that xgettext can locate it.
2973
822a132c
MP
29742017-03-09 Marek Polacek <polacek@redhat.com>
2975
2976 PR c++/79962
2977 PR c++/79984
2978 * c-attribs.c (handle_nonnull_attribute): Save the result of default
2979 conversion to the attribute list.
2980
bba81f1c
ML
29812017-03-09 Martin Liska <mliska@suse.cz>
2982
2983 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
2984
108154ff
JM
29852017-03-03 Jason Merrill <jason@redhat.com>
2986
2987 * c.opt (Wnoexcept-type): New.
2988
eb0e7c34
RB
29892017-03-02 Richard Biener <rguenther@suse.de>
2990
2991 PR c/79756
2992 * c-common.c (c_common_mark_addressable_vec): Look through
2993 C_MAYBE_CONST_EXPR.
2994
9453ba0a
ML
29952017-02-28 Martin Liska <mliska@suse.cz>
2996
2997 * c.opt: Replace space with tabular for options of <number>
2998 type.
2999
6a825afe
ML
30002017-02-28 Martin Liska <mliska@suse.cz>
3001
3002 * c.opt: Fix --help=option -Q for options which are of
3003 an enum type.
3004
4227c9ad
JJ
30052017-02-24 Jakub Jelinek <jakub@redhat.com>
3006
3007 PR c++/79588
3008 * c-common.c (check_function_restrict): New function.
3009 (check_function_arguments): Add FNDECL argument. Call
3010 check_function_restrict if -Wrestrict.
3011 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3012 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3013 * c-common.h (check_function_arguments): Add FNDECL argument.
3014 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3015
59909673
EB
30162017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3017
3018 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3019 treatment of parameters with pointer-to-tagged type and tidy up.
3020 (print_ada_methods): Remove the special treatment of C++ static member
3021 functions.
3022
54dcd526
ML
30232017-02-22 Martin Liska <mliska@suse.cz>
3024
3025 * c.opt: Replace inequality signs with square brackets
3026 for -Wnornalized.
3027
00bc9de3
JJ
30282017-02-21 Jakub Jelinek <jakub@redhat.com>
3029
3030 PR c++/79641
3031 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3032 preserve quals.
3033
97fcf744
JM
30342017-02-17 Joseph Myers <joseph@codesourcery.com>
3035
3036 * c-cppbuiltin.c (builtin_define_float_constants): Define
3037 __DECIMAL_DIG__ to the value for long double.
3038
c7545f1c
MP
30392017-02-15 Marek Polacek <polacek@redhat.com>
3040
3041 PR c/79515
3042 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3043 conversion has occured.
3044
c2e84327
DM
30452017-01-24 David Malcolm <dmalcolm@redhat.com>
3046
3047 * c-common.c (c_common_reswords): Add "__RTL".
3048 * c-common.h (enum rid): Add RID_RTL.
3049
2ebd93e1
MP
30502017-01-20 Marek Polacek <polacek@redhat.com>
3051
3052 PR c/64279
3053 * c-common.h (do_warn_duplicated_branches_r): Declare.
3054 * c-gimplify.c (c_genericize): Walk the function tree calling
3055 do_warn_duplicated_branches_r.
3056 * c-warn.c (expr_from_macro_expansion_r): New.
3057 (do_warn_duplicated_branches): New.
3058 (do_warn_duplicated_branches_r): New.
3059 * c.opt (Wduplicated-branches): New option.
3060
0d80ab91
DM
30612017-01-17 David Malcolm <dmalcolm@redhat.com>
3062
3063 PR c++/71497
3064 * c-indentation.c (warn_for_misleading_indentation): Use the past
3065 subjunctive in the note.
3066
7f991c36
AH
30672017-01-17 Aldy Hernandez <aldyh@redhat.com>
3068
3069 PR c/79116
3070 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3071 start type to integer_type.
3072
1c70261c
JJ
30732017-01-16 Jakub Jelinek <jakub@redhat.com>
3074
3075 PR driver/49726
3076 * c.opt (gen-decls): Add Driver flag.
3077
1ddca3f3
PC
30782017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3079
3080 Revert:
3081 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3082
3083 PR c++/71737
3084 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3085
7d2f3f1d
PC
30862017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3087
3088 PR c++/71737
3089 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3090
bce6f760
MS
30912017-01-12 Martin Sebor <msebor@redhat.com>
3092
3093 (-Wformat-overflow): ...to this.
3094
bf5fbf46
MS
30952017-01-11 Martin Sebor <msebor@redhat.com>
3096
3097 PR c/78768
3098 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3099 Also enable for LTO.
3100
e363df3f
JM
31012017-01-10 Jason Merrill <jason@redhat.com>
3102
3103 Implement P0195R2, C++17 variadic using.
3104 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3105
bd2c6270
JJ
31062017-01-09 Jakub Jelinek <jakub@redhat.com>
3107
3108 PR translation/79019
3109 PR translation/79020
3110 * c.opt (Wnormalized=): Fix typo in description.
3111
efcc8d38
MS
31122017-01-08 Martin Sebor <msebor@redhat.com>
3113
3114 PR middle-end/77708
3115 * c.opt (-Wformat-truncation): New option.
3116
ab20d992 31172017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
3118
3119 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3120 value to unsigned short to fit in 4 hex digits without
3121 warnings.
3122
4e89adf9
EB
31232017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3124
3125 * c.opt (fsso-struct): Add 'native' value.
3126
cd445b54
ML
31272017-01-05 Martin Liska <mliska@suse.cz>
3128
3129 PR pch/78970
3130 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3131 header.
3132
a9342885
MP
31332017-01-04 Marek Polacek <polacek@redhat.com>
3134
3135 PR c++/64767
3136 * c.opt (Wpointer-compare): New option.
3137
fc73e60c
JJ
31382017-01-04 Jakub Jelinek <jakub@redhat.com>
3139
3140 PR driver/78957
3141 * c.opt (fsso-struct=): Add RejectNegative.
3142
cbe34bb5
JJ
31432017-01-01 Jakub Jelinek <jakub@redhat.com>
3144
3145 Update copyright years.
3146
d4a6c0ea
ML
31472016-12-29 Martin Liska <mliska@suse.cz>
3148
3149 PR c/78933
3150 * c.opt (strong-eval-order): Add RejectNegative keyword.
3151
67a5ad7c
JM
31522016-12-22 Jason Merrill <jason@redhat.com>
3153
3154 Implement P0522R0, matching of template template arguments.
3155 * c-cppbuiltin.c (c_cpp_builtins): Define
3156 __cpp_template_template_args.
3157
0dba7960
JJ
31582016-12-21 Jakub Jelinek <jakub@redhat.com>
3159
3160 PR bootstrap/78817
3161 * c-common.c (struct nonnull_arg_ctx): New type.
3162 (check_function_nonnull): Return bool instead of void. Use
3163 nonnull_arg_ctx as context rather than just location_t.
3164 (check_nonnull_arg): Adjust for the new context type, set
3165 warned_p to true if a warning has been diagnosed.
3166 (check_function_arguments): Return bool instead of void.
3167 * c-common.h (check_function_arguments): Adjust prototype.
3168
31bfc9b9
JM
31692016-12-21 Jason Merrill <jason@redhat.com>
3170
3171 * c.opt (-fnew-ttp-matching): New flag.
3172 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3173
629b3d75
MJ
31742016-12-14 Martin Jambor <mjambor@suse.cz>
3175
3176 * c-omp.c: Include omp-general.h instead of omp-low.h.
3177 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3178 name.
3179
474da67e
MS
31802016-12-14 Martin Sebor <msebor@redhat.com>
3181
3182 PR c/17308
3183 * c-common.c (check_nonnull_arg): Disable when optimization
3184 is enabled.
3185
fe366b87
MP
31862016-12-12 Marek Polacek <polacek@redhat.com>
3187
3188 PR c++/78647
3189 * c-common.c (attribute_fallthrough_p): Return false for
3190 error_mark_node.
3191
8bd9f164
MS
31922016-12-08 Martin Sebor <msebor@redhat.com>
3193
3194 PR c/78284
3195 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3196
060162e0
MS
31972016-12-08 Martin Sebor <msebor@redhat.com>
3198
3199 PR c/78165
92a285c1
ML
3200 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3201 suffix.
060162e0 3202
ee92e7ba
MS
32032016-12-07 Martin Sebor <msebor@redhat.com>
3204
3205 PR c/53562
3206 PR middle-end/77784
3207 PR middle-end/78149
3208 PR middle-end/78138
3209 * c.opt (-Wstringop-overflow): New option.
3210
84b0769e
MO
32112016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3212
3213 * c-attribs.c (asan odr indicator): New attribute.
3214 (handle_asan_odr_indicator_attribute): New function.
3215
7fa6a965
PK
32162016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3217
3218 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3219 ptrdiff_type_node;
3220
56d8ffc1
JG
32212016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3222
3223 * c-common.c (excess_precision_mode_join): New.
3224 (c_ts18661_flt_eval_method): New.
3225 (c_c11_flt_eval_method): Likewise.
3226 (c_flt_eval_method): Likewise.
3227 * c-common.h (excess_precision_mode_join): New.
3228 (c_flt_eval_method): Likewise.
3229 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3230 (cpp_iec_559_value): Call it.
3231 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3232 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3233 __FLT_EVAL_METHOD_TS_18661_3__.
3234
04f0fcf7
JG
32352016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3236
3237 * c-opts.c (c_common_post_options): Add logic to handle the default
3238 case for -fpermitted-flt-eval-methods.
3239
fb2675cb
PB
32402016-11-23 Paolo Bonzini <bonzini@gnu.org>
3241
3242 * c.opt (Wexpansion-to-defined): New.
3243
ec1c5694
JJ
32442016-11-23 Jakub Jelinek <jakub@redhat.com>
3245
3246 PR target/78451
3247 * c-pragma.c (handle_pragma_target): Don't replace
3248 current_target_pragma, but chainon the new args to the current one.
3249
730c9e75
NS
32502016-11-22 Nathan Sidwell <nathan@acm.org>
3251
3252 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 3253 indentation and formatting.
730c9e75 3254
89990732
MS
32552016-11-21 Martin Sebor <msebor@redhat.com>
3256
3257 * c.opt (-fprintf-return-value): Enable by default.
3258
48330c93
BE
32592016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3260
3261 PR c++/71973
3262 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3263 * c-common.c (c_common_nodes_and_builtins): Initialize
3264 const_tm_ptr_type_node.
3265
0d939c95
MP
32662016-11-16 Marek Polacek <polacek@redhat.com>
3267
3268 PR c/78285
3269 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3270
8e745a17
JJ
32712016-11-14 Jakub Jelinek <jakub@redhat.com>
3272
3273 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3274
1ee62b92 32752016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
3276 Richard Biener <rguenther@suse.de>
3277
3278 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3279 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3280 * c.opt (fgimple): New option.
1ee62b92 3281
22b15758
UB
32822016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3283
3284 PR c/35503
3285 * c-common.h (warn_for_restrict): Declare.
3286 * c-warn.c: Include gcc-rich-location.h.
3287 (warn_for_restrict): New function.
3288 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3289 (gcc_cdiag_char_table): Likewise.
3290 (gcc_cxxdiag_char_table): Likewise.
3291 * c.opt (Wrestrict): New option.
3292
4be719cd
EB
32932016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3294
3295 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3296 for nested types only if the type is a record or union and dump SLOC.
3297
4a826ca6
JM
32982016-11-09 Jason Merrill <jason@redhat.com>
3299
3300 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3301
2e955d50
JJ
33022016-11-09 Jakub Jelinek <jakub@redhat.com>
3303
3304 * c-ubsan.c (ubsan_instrument_shift): Handle split
3305 -fsanitize=shift-base and -fsanitize=shift-exponent.
3306
51dc6603
JM
33072016-11-07 Jason Merrill <jason@redhat.com>
3308
3309 * c.opt (Wc++1z-compat): New.
3310 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3311
6dc4a604
ML
33122016-11-07 Martin Liska <mliska@suse.cz>
3313
3314 * c-warn.c (warn_for_unused_label): Save all labels used
3315 in goto or in &label.
3316
b302001e
JM
33172016-11-03 Jason Merrill <jason@redhat.com>
3318
3319 * c-cppbuiltin.c (c_cpp_builtins): Correct
3320 __cpp_inheriting_constructors.
3321
31f7f784
JM
33222016-11-01 Jason Merrill <jason@redhat.com>
3323
2bc78e3c
JM
3324 * c-cppbuiltin.c (c_cpp_builtins): Update
3325 __cpp_inheriting_constructors.
3326
31f7f784
JM
3327 * c.opt (-fnew-inheriting-ctors): New.
3328 * c-opts.c: Default to on for ABI 11+.
3329
dcb466ec
JJ
33302016-10-31 Jakub Jelinek <jakub@redhat.com>
3331
3332 PR c++/77948
3333 * c.opt (fext-numeric-literals): Add Var and Init.
3334 * c-opts.c (c_common_handle_option): Don't clear
3335 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3336 (c_common_post_options): Clear it here if not set
3337 explicitly.
3338
52e1b91e
AH
33392016-10-28 Aldy Hernandez <aldyh@redhat.com>
3340
3341 PR debug/77773
3342 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3343 if NULL.
3344
e16f1cc7
JJ
33452016-10-25 Jakub Jelinek <jakub@redhat.com>
3346
3347 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3348 * c-common.c (c_common_reswords): Add __builtin_launder.
3349
f8348061
BE
33502016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3351
3352 * c-common.c (c_common_truthvalue_conversion): Warn for
3353 multiplications in boolean context. Fix the quoting of '<<' and '<'
3354 in the shift warning.
3355
eff89e01
BE
33562016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3357
3358 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3359
24bc7bf4
JM
33602016-10-20 Jason Merrill <jason@redhat.com>
3361
3362 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3363
4c712374
BE
33642016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3365
3366 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3367 integer shift ops in boolean context.
3368
33692016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
3370
3371 * c.opt (Walloca): New.
3372 (Walloca-larger-than=): New.
3373 (Wvla-larger-than=): New.
3374
8fa18c06
MP
33752016-10-17 Marek Polacek <polacek@redhat.com>
3376
3377 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3378 Return immediately when finding a match.
3379 (warn_tautological_cmp): Remove a boolean variable that is no longer
3380 needed.
3381
b12b1915
MP
33822016-10-17 Marek Polacek <polacek@redhat.com>
3383
3384 * c-attribs.c: New file.
3385 * c-common.c: Move attributes handling to c-attribs.c.
3386 (get_nonnull_operand): No longer static.
3387 * c-common.h: Move the declarations from c-attribs.c to its own section.
3388
2045acd9
JM
33892016-10-14 Jason Merrill <jason@redhat.com>
3390
3391 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3392 and __cpp_deduction_guides.
3393
14a2c9aa
JM
33942016-10-13 Jason Merrill <jason@redhat.com>
3395
3396 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3397
4d0cdd0c
TP
33982016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3399
3400 * c-cppbuiltin.c: Include memmodel.h.
3401 * c-opts.c: Likewise.
3402 * c-pragma.c: Likewise.
3403 * c-warn.c: Likewise.
3404
70f6d5e1
JJ
34052016-10-12 Jakub Jelinek <jakub@redhat.com>
3406
3407 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3408 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3409 * c-opts.c (sanitize_cpp_opts): Initialize
3410 cpp_opts->cpp_warn_implicit_fallthrough.
3411
78f61294
MP
34122016-10-11 Marek Polacek <polacek@redhat.com>
3413
3414 * c-common.c (warning_candidate_p): Change the return type to bool
3415 and return true/false instead of 1/0.
3416 (vector_mode_valid_p): Likewise.
3417
038b5cc0
MP
34182016-10-11 Marek Polacek <polacek@redhat.com>
3419
3420 * c-common.c (fold_for_warn): No longer static.
3421 (bool_promoted_to_int_p): Likewise.
3422 (c_common_get_narrower): Likewise.
3423 (constant_expression_warning): Move to c-warn.c.
3424 (constant_expression_error): Likewise.
3425 (overflow_warning): Likewise.
3426 (warn_logical_operator): Likewise.
3427 (find_array_ref_with_const_idx_r): Likewise.
3428 (warn_tautological_cmp): Likewise.
3429 (expr_has_boolean_operands_p): Likewise.
3430 (warn_logical_not_parentheses): Likewise.
3431 (warn_if_unused_value): Likewise.
3432 (strict_aliasing_warning): Likewise.
3433 (sizeof_pointer_memaccess_warning): Likewise.
3434 (check_main_parameter_types): Likewise.
3435 (conversion_warning): Likewise.
3436 (warnings_for_convert_and_check): Likewise.
3437 (match_case_to_enum_1): Likewise.
3438 (match_case_to_enum): Likewise.
3439 (c_do_switch_warnings): Likewise.
3440 (warn_for_omitted_condop): Likewise.
3441 (readonly_error): Likewise.
3442 (lvalue_error): Likewise.
3443 (invalid_indirection_error): Likewise.
3444 (warn_array_subscript_with_type_char): Likewise.
3445 (warn_about_parentheses): Likewise.
3446 (warn_for_unused_label): Likewise.
3447 (warn_for_div_by_zero): Likewise.
3448 (warn_for_memset): Likewise.
3449 (warn_for_sign_compare): Likewise.
3450 (do_warn_double_promotion): Likewise.
3451 (do_warn_unused_parameter): Likewise.
3452 (record_locally_defined_typedef): Likewise.
3453 (maybe_record_typedef_use): Likewise.
3454 (maybe_warn_unused_local_typedefs): Likewise.
3455 (maybe_warn_bool_compare): Likewise.
3456 (maybe_warn_shift_overflow): Likewise.
3457 (warn_duplicated_cond_add_or_warn): Likewise.
3458 (diagnose_mismatched_attributes): Likewise.
3459 * c-common.h: Move the declarations from c-warn.c to its own section.
3460 * c-warn.c: New file.
3461
627be19f
JM
34622016-10-08 Jason Merrill <jason@redhat.com>
3463
3464 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3465 into COND_EXPR in C++.
3466
7bad794a
JJ
34672016-10-08 Jakub Jelinek <jakub@redhat.com>
3468
3469 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3470 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3471 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3472
be845b04
JJ
34732016-10-07 Jakub Jelinek <jakub@redhat.com>
3474
3475 Implement LWG2296 helper intrinsic
3476 * c-common.h (enum rid): Add RID_ADDRESSOF.
3477 * c-common.c (c_common_reswords): Add __builtin_addressof.
3478
c09c4992
BE
34792016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3480
3481 PR c++/77700
3482 * c-common.c (c_common_truthvalue_conversion): Warn also for
3483 suspicious enum values in boolean context.
3484
342cfb3e
JJ
34852016-10-06 Jakub Jelinek <jakub@redhat.com>
3486
3487 Implement P0258R2 - helper for C++17
3488 std::has_unique_object_representations trait
3489 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3490 * c-common.c (c_common_reswords): Add
3491 __has_unique_object_representations.
3492
2e69f143
JJ
34932016-10-05 Jakub Jelinek <jakub@redhat.com>
3494
3495 PR sanitizer/66343
3496 * c-ubsan.c (ubsan_instrument_return): Don't call
3497 initialize_sanitizer_builtins here.
3498
700fff34
BE
34992016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3500
3501 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3502 conditional expression in boolean context when only one arm is
3503 non-boolean.
3504
9563bfcd
JJ
35052016-10-05 Jakub Jelinek <jakub@redhat.com>
3506
04a32443
JJ
3507 PR sanitizer/77823
3508 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3509 is not integral.
3510
9563bfcd
JJ
3511 * c-common.c (c_common_reswords): Update comment for C++11.
3512
f1644724
JM
35132016-10-04 Jason Merrill <jason@redhat.com>
3514
3515 * c-common.c (make_tree_vector_from_ctor): New.
3516 * c-common.h: Declare it.
3517
5a79befb
JJ
35182016-10-04 Jakub Jelinek <jakub@redhat.com>
3519
3520 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3521 __LIBGCC_JCR_SECTION_NAME__.
3522
1633d3b9
BE
35232016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3524
3525 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3526 left shift in boolean context.
3527
a2c6e7f2
JJ
35282016-09-29 Jakub Jelinek <jakub@redhat.com>
3529
3530 Implement P0001R1 - C++17 removal of register storage class specifier
3531 * c.opt (Wregister): New warning.
3532 * c-opts.c (c_common_post_options): Enable -Wregister by
3533 default for C++17.
3534
75304c87
JG
35352016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3536
3537 * c-opts.c (c_common_post_options): Remove special case for
3538 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3539 in C++.
3540
bbfac6da
JJ
35412016-09-27 Jakub Jelinek <jakub@redhat.com>
3542
6e39060a
JJ
3543 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3544 -std=c++1z.
3545
bbfac6da
JJ
3546 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3547
e73cf9a2
TP
35482016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3549
3550 * c-common.c: Include memmodel.h.
3551
c6147dc4
MP
35522016-09-26 Marek Polacek <polacek@redhat.com>
3553
3554 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3555
81fea426
MP
35562016-09-26 Marek Polacek <polacek@redhat.com>
3557
3558 PR c/7652
3559 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3560 (handle_fallthrough_attribute): New function.
3561 (attribute_fallthrough_p): New function.
3562 * c-common.h (attribute_fallthrough_p): Declare.
3563
9a2300e9
MP
35642016-09-24 Marek Polacek <polacek@redhat.com>
3565
3566 PR c/77490
3567 * c.opt (Wbool-operation): New.
3568
a09e9e35
BE
35692016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3570
3571 * c-common.c (c_common_truthvalue_conversion): Inhibit
3572 Wint-in-bool-context warning with from_macro_definition_at.
3573 Mention the expression will always evaluate to true.
3574
d43b4ccc
MS
35752016-09-21 Martin Sebor <msebor@redhat.com>
3576
3577 PR bootstrap/77676
3578 * c.opt (fprintf-return-value): Temporarily initialize to zero
3579 to unblock bootstrap failures.
3580
2e1c20b1
JJ
35812016-09-21 Jakub Jelinek <jakub@redhat.com>
3582
3583 PR c++/77651
3584 * c.opt (Waligned-new=): Add RejectNegative.
3585 (faligned-new=): Likewise. Spelling fix - change
3586 aligned_new_threshhold to aligned_new_threshold.
3587 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3588 to aligned_new_threshold.
3589
88d0c3f0
MS
35902016-09-20 Martin Sebor <msebor@redhat.com>
3591
3592 PR middle-end/49905
3593 * c.opt: Add -Wformat-length and -fprintf-return-value.
3594
144a96e4
BE
35952016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3596
3597 PR c++/77434
3598 * c.opt (Wint-in-bool-context): New warning.
3599 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3600 constants in boolean context.
3601
63012d9a
JM
36022016-09-19 Joseph Myers <joseph@codesourcery.com>
3603
3604 * c-common.c (max_align_t_align): Also consider alignment of
3605 float128_type_node.
3606
931388ce
JM
36072016-09-15 Jason Merrill <jason@redhat.com>
3608
3609 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3610 DECL_EXTERNAL.
3611
38711381
JM
36122016-09-14 Jason Merrill <jason@redhat.com>
3613
3614 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3615 limit FIELD_DECL, either.
3616
e51fbec3
MP
36172016-09-14 Marek Polacek <polacek@redhat.com>
3618
3619 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3620 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3621 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3622
254830ba
DM
36232016-09-13 David Malcolm <dmalcolm@redhat.com>
3624
3625 * c-common.c (warn_logical_not_parentheses): Replace
3626 rich_location::add_fixit_insert calls with add_fixit_insert_before
3627 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3628
42763690
JM
36292016-09-13 Jason Merrill <jason@redhat.com>
3630 Tom de Vries <tom@codesourcery.com>
3631
3632 PR c++/77427
3633 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3634
9453eee9
JM
36352016-09-13 Jason Merrill <jason@redhat.com>
3636
3637 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3638 limit types at all.
3639
e96809e3
JM
36402016-09-12 Jason Merrill <jason@redhat.com>
3641
3642 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3643 bit/byte confusion, allow large alignment for types.
3644
54dcdb88
BE
36452016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3646
3647 PR c++/77496
3648 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3649
d1463eb9
DM
36502016-09-12 David Malcolm <dmalcolm@redhat.com>
3651
3652 PR c/72858
3653 * c-format.c (argument_parser::check_argument_type): Add params
3654 "type_start" and "conversion_char". Use the former to generate
3655 offset_to_type_start and pass it and conversion_char to
3656 check_format_types.
3657 (check_format_info_main): Capture the start of the type
3658 information as "type_start", and pass it an format_char
3659 to arg_parser.check_argument_type.
3660 (check_format_types): Provide an example in the leading comment.
3661 Add params "offset_to_type_start" and "conversion_char"; pass
3662 them to format_type_warning calls.
3663 (test_get_modifier_for_format_len): Likewise.
3664 (matching_type_p): New function.
3665 (get_format_for_type): Add param "conversion_char" and move
3666 implementation into...
3667 (get_format_for_type_1): ...new function, called twice.
3668 Use new function matching_type_p rather than checking for
3669 TYPE_CANONICAL equality.
3670 (get_corrected_substring): New function.
3671 (format_type_warning): Provide an example in the leading comment.
3672 Add params "offset_to_type_start" and "conversion_char". Replace
3673 call to get_format_for_type with call to get_corrected_substring
3674 and move rejection of hints for widths/precisions there.
3675 (assert_format_for_type_streq): Add param "conversion_char".
3676 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3677 (test_get_format_for_type_printf): Add conversion chars to the
3678 tests, adding coverage for various combinations of integer
3679 vs double conversions, and for preserving octal and hexadecimal
3680 conversions.
3681 (test_get_format_for_type_scanf): Add conversion chars to the
3682 tests.
3683
5b28efbb
TV
36842016-09-10 Tom de Vries <tom@codesourcery.com>
3685
3686 PR C/71602
3687 * c-common.c (build_va_arg): Handle more strict
3688 targetm.canonical_va_list_type. Replace first argument type error with
3689 assert.
3690
3f0177e7
MS
36912016-09-09 Martin Sebor <msebor@redhat.com>
3692
3693 PR c/77520
3694 PR c/77521
3695 * c-format.c (argument_parser::find_format_char_info): Use %qc
3696 format directive unconditionally.
3697
af63ba4b
JM
36982016-09-09 Jason Merrill <jason@redhat.com>
3699
3700 Implement C++17 new of over-aligned types.
3701 * c.opt: Add -faligned-new and -Waligned-new.
3702 * c-common.c (max_align_t_align): Split out from...
3703 (cxx_fundamental_alignment_p): ...here.
3704 * c-common.h: Declare it.
3705 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3706
c65248cb
JM
37072016-09-09 Joseph Myers <joseph@codesourcery.com>
3708
3709 * c-cppbuiltin.c (builtin_define_type_width): New function.
3710 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3711 macros.
3712
e5106e27
DM
37132016-09-07 David Malcolm <dmalcolm@redhat.com>
3714
3715 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3716 a POINTER_TYPE.
3717 (substring_loc::get_location): Move to substring-locations.c,
3718 keeping implementation as...
3719 (c_get_substring_location): New function, from the above, reworked
3720 to use accessors rather than member lookup.
3721 * c-common.h (class substring_loc): Move to substring-locations.h,
3722 replacing with a forward decl.
3723 (c_get_substring_location): New decl.
3724 * c-format.c: Include "substring-locations.h".
3725 (format_warning_va): Move to substring-locations.c.
3726 (format_warning_at_substring): Likewise.
3727
ab20d992 37282016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
3729
3730 PR c/77336
3731 * c-format.c (check_function_format): Avoid issuing warnings for
3732 functions unless they call format functions with non-constant
3733 format strings.
3734
b772a565
RB
37352016-09-06 Richard Biener <rguenther@suse.de>
3736
3737 PR c/77450
3738 * c-common.c (c_common_mark_addressable_vec): Handle
3739 COMPOUND_LITERAL_EXPR.
3740
25ff5dd3
MP
37412016-09-05 Marek Polacek <polacek@redhat.com>
3742
3743 PR c/77423
3744 * c-common.c (bool_promoted_to_int_p): New function.
3745 (expr_has_boolean_operands_p): New function.
3746 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3747 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3748
21234eb5
TV
37492016-09-04 Tom de Vries <tom@codesourcery.com>
3750
3751 revert:
3752 2016-08-29 Tom de Vries <tom@codesourcery.com>
3753
3754 * c-common.c (build_va_arg): Replace first argument type error
3755 with assert.
3756
9dc5773f
JJ
37572016-09-02 Jakub Jelinek <jakub@redhat.com>
3758
3759 PR c/65467
3760 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3761 (c_finish_omp_for): Reject _Atomic qualified iterators.
3762
37632016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
3764
3765 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3766 size to guarantee it fits the output of the formatted function
3767 regardless of its arguments.
3768
295844f6
MP
37692016-09-01 Marek Polacek <polacek@redhat.com>
3770
3771 PR c/7652
3772 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3773 FALLTHRU comments.
3774
3d06b6f2
MP
37752016-08-29 Marek Polacek <polacek@redhat.com>
3776
3777 PR c/77292
3778 * c-common.c (warn_logical_not_parentheses): Don't warn for
3779 a comparison or a logical operator.
3780
34cedad5
TV
37812016-08-29 Tom de Vries <tom@codesourcery.com>
3782
3783 * c-common.c (build_va_arg): Fix type comparison assert.
3784
f162d717
TV
37852016-08-29 Tom de Vries <tom@codesourcery.com>
3786
3787 * c-common.c (build_va_arg): Replace first argument type error
3788 with assert.
3789
ba9bbd6f
TV
37902016-08-29 Tom de Vries <tom@codesourcery.com>
3791
3792 PR c/77398
3793 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3794 with error_mark_node as va_list instead of with illegal va_list.
3795
ebef225f
MP
37962016-08-25 Marek Polacek <polacek@redhat.com>
3797 David Malcolm <dmalcolm@redhat.com>
3798
3799 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3800 * c-common.h (warn_logical_not_parentheses): Update declaration.
3801
b00e6e75
MP
38022016-08-22 Marek Polacek <polacek@redhat.com>
3803
3804 PR c++/77321
3805 * c-common.c (warn_for_memset): Check type for null.
3806
6dc198e3
JM
38072016-08-22 Joseph Myers <joseph@codesourcery.com>
3808
14ec014e 3809 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
3810 _FloatNx types for suffixes for built-in functions.
3811
c65699ef
JM
38122016-08-19 Joseph Myers <joseph@codesourcery.com>
3813
3814 PR c/32187
3815 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3816 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3817 (RID_FLOAT128X): New enum rid values.
3818 (CASE_RID_FLOATN_NX): New macro.
3819 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3820 keywords.
3821 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3822 corresponding complex types.
3823 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3824 _FloatNx and corresponding complex types.
3825 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3826 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3827 and _FloatNx types for the widest type for determining
3828 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3829 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3830 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3831 and _FloatNx types.
3832 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3833 constants.
3834 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3835 _FloatNx types.
3836
cc015f3a
DM
38372016-08-18 David Malcolm <dmalcolm@redhat.com>
3838
3839 * c-opts.c (c_diagnostic_finalizer): Update for change to
3840 diagnostic_show_locus.
3841
cb18fd07
DM
38422016-08-18 David Malcolm <dmalcolm@redhat.com>
3843
3844 * c-common.c: Include "spellcheck.h".
3845 (cb_get_suggestion): New function.
3846 * c-common.h (cb_get_suggestion): New decl.
3847 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3848 cb_get_suggestion.
3849
a76989dc
MP
38502016-08-18 Marek Polacek <polacek@redhat.com>
3851
3852 PR c/71514
3853 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3854 and pointer-to-VLA.
3855
65e736c0
DM
38562016-08-16 David Malcolm <dmalcolm@redhat.com>
3857
3858 PR c/72857
3859 * c-common.c (substring_loc::get_range): Rename to...
3860 (substring_loc::get_location): ...this, converting param from a
3861 source_range * to a location_t *. Call
3862 get_source_location_for_substring rather than
3863 get_source_range_for_substring, and pass in m_caret_idx.
3864 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3865 (substring_loc::get_range): Replace with...
3866 (substring_loc::get_location): ...this.
3867 (substring_loc::set_caret_index): New method.
3868 (substring_loc): Add field m_caret_idx.
3869 * c-format.c (format_warning_va): Update for above changes.
3870 Rename local "substring_loc" to "fmt_substring_loc" to avoid
3871 clashing with type name.
3872 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
3873 (check_argument_type): Likewise.
3874 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3875 Use a copy when emitting warnings, setting the caret index from TYPE.
3876
7e1dde14 38772016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3878 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
3879
3880 * c-ada-spec.c (dump_number): New function.
3881 (handle_escape_character): Likewise.
3882 (print_ada_macros): Add handling of constant integers and strings.
3883
191816a3
MP
38842016-08-12 Marek Polacek <polacek@redhat.com>
3885
3886 PR c/7652
3887 * c-common.c (scalar_to_vector): Adjust fall through comment.
3888 * c-opts.c (c_common_handle_option): Likewise.
3889 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3890 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3891 fall through comment.
3892 * cilk.c (extract_free_variables): Add FALLTHRU.
3893
452df4a4
JM
38942016-08-10 Jason Merrill <jason@redhat.com>
3895
3896 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3897
f3365c12
JM
38982016-08-09 Jason Merrill <jason@redhat.com>
3899
3900 * c-common.c (c_common_attribute_table): vector_size affects type
3901 identity.
3902
f0bc3323
MP
39032016-08-09 Marek Polacek <polacek@redhat.com>
3904
3905 PR c/7652
3906 * c-ada-spec.c (dump_generic_ada_node): Add return.
3907
98e5a19a
JM
39082016-08-09 Jason Merrill <jason@redhat.com>
3909
3910 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3911 C++17 constexpr lambdas.
3912
895aa8e1
DM
39132016-08-08 David Malcolm <dmalcolm@redhat.com>
3914
3915 PR c/64955
3916 * c-common.h (selftest::c_format_c_tests): New declaration.
3917 (selftest::run_c_tests): New declaration.
3918 * c-format.c: Include "selftest.h.
3919 (format_warning_va): Add param "corrected_substring" and use
3920 it to add a replacement fix-it hint.
3921 (format_warning_at_substring): Likewise.
3922 (format_warning_at_char): Update for new param of
3923 format_warning_va.
3924 (argument_parser::check_argument_type): Pass "fki" to
3925 check_format_types.
3926 (check_format_types): Add param "fki" and pass it to
3927 format_type_warning.
3928 (deref_n_times): New function.
3929 (get_modifier_for_format_len): New function.
3930 (selftest::test_get_modifier_for_format_len): New function.
3931 (get_format_for_type): New function.
3932 (format_type_warning): Add param "fki" and use it to attempt
3933 to provide hints for argument types when calling
3934 format_warning_at_substring.
3935 (selftest::get_info): New function.
3936 (selftest::assert_format_for_type_streq): New function.
3937 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3938 (selftest::test_get_format_for_type_printf): New function.
3939 (selftest::test_get_format_for_type_scanf): New function.
3940 (selftest::c_format_c_tests): New function.
3941
e52ed3fe
DM
39422016-08-08 David Malcolm <dmalcolm@redhat.com>
3943
3944 PR c/52952
3945 * c-format.c: Include "diagnostic.h".
3946 (location_column_from_byte_offset): Delete.
3947 (location_from_offset): Delete.
3948 (format_warning_va): New function.
3949 (format_warning_at_substring): New function.
3950 (format_warning_at_char): New function.
3951 (check_format_arg): Capture location of format_tree and pass to
3952 check_format_info_main.
3953 (argument_parser): Add fields "start_of_this_format" and
3954 "format_string_cst".
3955 (flag_chars_t::validate): Add param "format_string_cst". Convert
3956 warning_at call using location_from_offset to call to
3957 format_warning_at_char.
3958 (argument_parser::argument_parser): Add param "format_string_cst_"
3959 and use use it to initialize field "format_string_cst".
3960 Initialize new field "start_of_this_format".
3961 (argument_parser::read_format_flags): Convert warning_at call
3962 using location_from_offset to a call to format_warning_at_char.
3963 (argument_parser::read_any_format_left_precision): Likewise.
3964 (argument_parser::read_any_format_precision): Likewise.
3965 (argument_parser::read_any_other_modifier): Likewise.
3966 (argument_parser::find_format_char_info): Likewise, in three places.
3967 (argument_parser::parse_any_scan_set): Likewise, in one place.
3968 (argument_parser::handle_conversions): Likewise, in two places.
3969 (argument_parser::check_argument_type): Add param "fmt_param_loc"
3970 and use it to make a substring_loc. Pass the latter to
3971 check_format_types.
3972 (check_format_info_main): Add params "fmt_param_loc" and
3973 "format_string_cst". Convert warning_at calls using
3974 location_from_offset to calls to format_warning_at_char. Pass the
3975 new params to the arg_parser ctor. Pass "format_string_cst" to
3976 flag_chars.validate. Pass "fmt_param_loc" to
3977 arg_parser.check_argument_type.
3978 (check_format_types): Convert first param from a location_t
3979 to a const substring_loc & and rename to "fmt_loc". Attempt
3980 to extract the range of the relevant parameter and pass it
3981 to format_type_warning.
3982 (format_type_warning): Convert first param from a location_t
3983 to a const substring_loc & and rename to "fmt_loc". Add
3984 params "param_range" and "type". Replace calls to warning_at
3985 with calls to format_warning_at_substring.
3986
1c4d457e
DM
39872016-08-08 David Malcolm <dmalcolm@redhat.com>
3988
3989 * c-format.c (class flag_chars_t): New class.
3990 (struct length_modifier): New struct.
3991 (class argument_parser): New class.
3992 (flag_chars_t::flag_chars_t): New ctor.
3993 (flag_chars_t::has_char_p): New method.
3994 (flag_chars_t::add_char): New method.
3995 (flag_chars_t::validate): New method.
3996 (flag_chars_t::get_alloc_flag): New method.
3997 (flag_chars_t::assignment_suppression_p): New method.
3998 (argument_parser::argument_parser): New ctor.
3999 (argument_parser::read_any_dollar): New method.
4000 (argument_parser::read_format_flags): New method.
4001 (argument_parser::read_any_format_width): New method.
4002 (argument_parser::read_any_format_left_precision): New method.
4003 (argument_parser::read_any_format_precision): New method.
4004 (argument_parser::handle_alloc_chars): New method.
4005 (argument_parser::read_any_length_modifier): New method.
4006 (argument_parser::read_any_other_modifier): New method.
4007 (argument_parser::find_format_char_info): New method.
4008 (argument_parser::validate_flag_pairs): New method.
4009 (argument_parser::give_y2k_warnings): New method.
4010 (argument_parser::parse_any_scan_set): New method.
4011 (argument_parser::handle_conversions): New method.
4012 (argument_parser::check_argument_type): New method.
4013 (check_format_info_main): Introduce classes argument_parser
4014 and flag_chars_t, moving the code within the loop into methods
4015 of these classes. Make various locals "const".
4016
88fa5555
DM
40172016-08-05 David Malcolm <dmalcolm@redhat.com>
4018
4019 * c-common.c: Include "substring-locations.h".
4020 (get_cpp_ttype_from_string_type): New function.
4021 (g_string_concat_db): New global.
4022 (substring_loc::get_range): New method.
4023 * c-common.h (g_string_concat_db): New declaration.
4024 (class substring_loc): New class.
4025 * c-lex.c (lex_string): When concatenating strings, capture the
4026 locations of all tokens using a new obstack, and record the
4027 concatenation locations within g_string_concat_db.
4028 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4029 on the ggc-heap.
4030
78169471
MP
40312016-07-29 Marek Polacek <polacek@redhat.com>
4032
638fc14f
MP
4033 PR c/71926
4034 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4035 parentheses warning.
4036
78169471
MP
4037 PR c/71574
4038 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4039
1225d6b1
ML
40402016-07-28 Martin Liska <mliska@suse.cz>
4041
4042 PR gcov-profile/68025
4043 * c-common.c (handle_no_profile_instrument_function_attribute):
4044
ec1e2a40
BE
40452016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4046
4047 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4048 BITS_PER_UNIT_LOG.
4049
5ec2cd9f
JM
40502016-07-25 Jason Merrill <jason@redhat.com>
4051
4052 PR c++/65970
4053 * c.opt (fconstexpr-loop-limit): New.
4054
9dc5773f 40552016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
4056
4057 PR c++/71675
4058 * c-common.c (resolve_overloaded_builtin): Avoid converting
4059 __atomic_compare_exchange_n return type to that of what its
4060 first argument points to.
4061
e3fe09c1
UB
40622016-07-22 Uros Bizjak <ubizjak@gmail.com>
4063
4064 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4065 ~(unsigned HOST_WIDE_INT) 0.
4066
bc91c436
ML
40672016-07-22 Martin Liska <mliska@suse.cz>
4068
4069 PR gcov-profile/69028
4070 PR gcov-profile/62047
4071 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4072 to the current_function_decl.
4073
451dcc66
JM
40742016-07-21 Jason Merrill <jason@redhat.com>
4075
4076 PR c++/65168
4077 * c-common.c (c_common_truthvalue_conversion): Check
4078 c_inhibit_evaluation_warnings for warning about address of
4079 reference.
4080
de6a69ee
DM
40812016-07-20 David Malcolm <dmalcolm@redhat.com>
4082
4083 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4084 const char *.
4085
d022c55a
JM
40862016-07-15 Jason Merrill <jason@redhat.com>
4087
4088 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4089
ddbbcb19
JJ
40902016-07-15 Jakub Jelinek <jakub@redhat.com>
4091
4092 PR c/71858
4093 * c-common.h (enum lookup_name_fuzzy_kind): Add
4094 FUZZY_LOOKUP_FUNCTION_NAME.
4095
d0cf395a
JM
40962016-07-08 Jason Merrill <jason@redhat.com>
4097
4098 P0145: Refining Expression Order for C++.
4099 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4100 * c-opts.c: Adjust.
4101
98d44e93
MT
41022016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4103
4104 PR c++/71214
4105 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4106
f9d8d994
TS
41072016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4108
4109 * c-pragma.h (enum pragma_kind): Rename
4110 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4111 users.
4112
4aa83879
RB
41132016-06-29 Richard Biener <rguenther@suse.de>
4114
4115 PR middle-end/71002
4116 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4117
a25bd9e6
JM
41182016-06-24 Jason Merrill <jason@redhat.com>
4119
4120 P0145R2: Refining Expression Order for C++.
4121 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4122 MODIFY_EXPR.
4123
a86451b9
JJ
41242016-06-24 Jakub Jelinek <jakub@redhat.com>
4125
4126 * c-common.c (check_builtin_function_arguments): Require last
4127 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4128 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4129 if the last argument is pointer to enumerated or boolean type.
4130
1a4f11c8
DM
41312016-06-22 David Malcolm <dmalcolm@redhat.com>
4132
4133 PR c/70339
4134 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4135 (lookup_name_fuzzy): New prototype.
4136
fe55692c
JDA
41372016-06-21 John David Anglin <danglin@gcc.gnu.org>
4138
4139 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4140
4eb24e01
JM
41412016-06-14 Jason Merrill <jason@redhat.com>
4142
4143 P0145R2: Refining Expression Order for C++.
4144 * c.opt (fargs-in-order): New.
4145 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4146
ef7cf206
JJ
41472016-06-13 Jakub Jelinek <jakub@redhat.com>
4148
0dda258b
JJ
4149 PR sanitizer/71498
4150 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4151 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4152
ef7cf206
JJ
4153 PR preprocessor/71183
4154 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4155 to cb_get_source_date_epoch.
4156
50b15873
JJ
41572016-06-10 Jakub Jelinek <jakub@redhat.com>
4158
4159 PR c/68657
4160 * c.opt (Wpsabi): Add Warning flag.
4161
4d926e34
MS
41622016-06-10 Martin Sebor <msebor@redhat.com>
4163
4164 PR c/71392
14ec014e 4165 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
4166 the nonnull attribute in type-generic builtins.
4167
e01b4e16
MS
41682016-06-09 Martin Sebor <msebor@redhat.com>
4169
4170 PR c/70883
4171 * c-common.c (builtin_function_validate_nargs): Make text of error
4172 message consistent with others like it.
4173
44a845ca
MS
41742016-06-08 Martin Sebor <msebor@redhat.com>
4175 Jakub Jelinek <jakub@redhat.com>
4176
4177 PR c++/70507
4178 PR c/68120
4179 * c-common.c (check_builtin_function_arguments): Handle
4180 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4181
a80a7051
RB
41822016-06-08 Richard Biener <rguenther@suse.de>
4183
4184 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4185
bfd67b47
RB
41862016-06-07 Richard Biener <rguenther@suse.de>
4187
4188 PR c/61564
4189 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4190 options and warn about others.
4191
15c98b2e
ES
41922016-06-01 Eduard Sanou <dhole@openmailbox.org>
4193
4194 * c-common.c (get_source_date_epoch): Rename to
4195 cb_get_source_date_epoch.
4196 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4197 message when the parsing fails. Use error_at instead of fatal_error.
4198 * c-common.h (get_source_date_epoch): Rename to
4199 cb_get_source_date_epoch.
4200 * c-common.h (cb_get_source_date_epoch): Prototype.
4201 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4202 * c-common.h (c_omp_region_type): Remove trailing comma.
4203 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4204 * c-lex.c (c_lex_with_flags): Remove initialization of
4205 pfile->source_date_epoch.
4206
00631022
JJ
42072016-05-30 Jakub Jelinek <jakub@redhat.com>
4208
4209 PR c++/71349
4210 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4211 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4212 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4213 instead of C_OMP_CLAUSE_SPLIT_FOR.
4214
f17a223d
RB
42152016-05-24 Richard Biener <rguenther@suse.de>
4216
4217 PR middle-end/70434
4218 PR c/69504
4219 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4220 (convert_vector_to_array_for_subscript): ... this.
4221 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4222 VIEW_CONVERT_EXPR to an array type. Rename to ...
4223 (convert_vector_to_array_for_subscript): ... this.
4224
4f2e1536
MP
42252016-05-12 Marek Polacek <polacek@redhat.com>
4226
4227 PR c/70756
4228 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4229 size_in_bytes and pass LOC to it.
4230
d6e83a8d
MM
42312016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4232
4233 PR c/43651
4234 * c.opt (Wduplicate-decl-specifier): New option.
4235
5c3a10fb
MP
42362016-05-11 Marek Polacek <polacek@redhat.com>
4237
4238 PR c++/71024
4239 * c-common.c (diagnose_mismatched_attributes): New function.
4240 * c-common.h (diagnose_mismatched_attributes): Declare.
4241
deef7113
MP
42422016-05-04 Marek Polacek <polacek@redhat.com>
4243
4244 * c.opt (Wdangling-else): New option.
4245
79ce98bc
MP
42462016-05-03 Marek Polacek <polacek@redhat.com>
4247
4248 PR c/70859
4249 * c-common.c (builtin_function_validate_nargs): Add location
4250 parameter. Use it.
4251 (check_builtin_function_arguments): Add location and arguments
4252 parameters. Use them.
4253 * c-common.h (check_builtin_function_arguments): Update declaration.
4254
381cdae4
RB
42552016-05-03 Richard Biener <rguenther@suse.de>
4256
4257 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4258 allow call args to gimplify to SSA names.
4259
1d793c34
MP
42602016-05-03 Marek Polacek <polacek@redhat.com>
4261
4262 * c-common.h (enum c_omp_region_type): Remove stray comma.
4263
77886428
CP
42642016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4265
4266 * c-common.h (enum c_omp_region_type): Define.
4267
697e0b28
RS
42682016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4269
4270 * c-common.c (shorten_compare): Use wi::to_wide.
4271
e7ff0319
CP
42722016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4273
4274 PR middle-end/70626
4275 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4276 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4277 reduction clauses in acc parallel loops.
4278
2fff3db8
MP
42792016-04-29 Marek Polacek <polacek@redhat.com>
4280
4281 PR c/70852
4282 * c-common.c (warn_for_memset): Check domain before accessing it.
4283
509063eb
DV
42842016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4285
4286 PR/69089
4287 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4288 "aligned" attribute.
4289
b632761d
JM
42902016-04-28 Jason Merrill <jason@redhat.com>
4291
4292 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4293
174f6622
ES
42942016-04-28 Eduard Sanou <dhole@openmailbox.org>
4295 Matthias Klose <doko@debian.org>
4296
4297 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 4298 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
4299 handling.
4300 * c-common.h (get_source_date_epoch): Prototype.
4301 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4302
6bc2bb18
RB
43032015-04-27 Ryan Burn <contact@rnburn.com>
4304
4305 PR c++/69024
4306 PR c++/68997
4307 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4308 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4309 external linkage.
4310 (cilk_detect_and_unwrap): Corresponding changes.
4311 (extract_free_variables): Don't extract free variables from
4312 AGGR_INIT_EXPR slot.
4313 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4314 (cilk_recognize_spawn): Likewise.
4315
c1e1f433
BS
43162016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4317
4318 * c.opt (Wmemset-elt-size): New option.
4319 * c-common.c (warn_for_memset): New function.
4320 * c-common.h (warn_for_memset): Declare.
4321
d067e05f
JM
43222016-04-25 Jason Merrill <jason@redhat.com>
4323
4324 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4325 No longer static.
4326 * c-common.h: Declare it.
4327 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4328
9aa36ae5
JM
43292016-04-22 Jason Merrill <jason@redhat.com>
4330
4331 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4332
477d4906
IV
43332016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4334
4335 PR c++/69363
4336 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4337 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4338
fe37c7af
MM
43392016-04-18 Michael Matz <matz@suse.de>
4340
4341 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4342 and SET_DECL_ALIGN.
4343
23f2660f
EB
43442016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4345
4346 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4347 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4348 to incomplete types.
4349 (dump_nested_type): Remove redundant tests and tidy up.
4350 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4351 a type which is the typedef of an original type.
4352
1e77281b
MP
43532016-04-15 Marek Polacek <polacek@redhat.com>
4354
4355 PR c/70651
4356 * c-common.c (build_va_arg): Change two asserts into errors and return
4357 error_mark_node.
4358
b3a77f21
MP
43592016-04-13 Marek Polacek <polacek@redhat.com>
4360
4361 PR c++/70639
4362 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4363 for switch statements, too.
4364
322b8466
JM
43652016-03-28 Jason Merrill <jason@redhat.com>
4366
4367 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4368
fbdb6baf
MP
43692016-03-23 Marek Polacek <polacek@redhat.com>
4370
4371 PR c++/69884
4372 * c.opt (Wignored-attributes): New option.
4373
5c240f4d
DM
43742016-03-22 David Malcolm <dmalcolm@redhat.com>
4375
4376 PR c/69993
4377 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4378 diagnostic text, reversing the order of the warning and note so
4379 that they appear in source order.
4380
14ba7b28
MP
43812016-03-17 Marek Polacek <polacek@redhat.com>
4382
4383 PR c/69407
4384 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4385 operations.
4386
08a1cadc
JM
43872016-03-14 Jason Merrill <jason@redhat.com>
4388
2aaeea19
JM
4389 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4390
08a1cadc
JM
4391 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4392
c06d25bb
RB
43932016-03-09 Richard Biener <rguenther@suse.de>
4394
4395 PR c/70143
4396 * c-common.c (strict_aliasing_warning): Add back
4397 alias_sets_conflict_p check.
4398
80aac5c8
JM
43992016-03-08 Jason Merrill <jason@redhat.com>
4400
4401 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4402
64b23c13
DM
44032016-03-04 David Malcolm <dmalcolm@redhat.com>
4404
4405 PR c/68187
4406 * c-indentation.c (get_visual_column): Move code to determine next
4407 tab stop to...
4408 (next_tab_stop): ...this new function.
4409 (line_contains_hash_if): Delete function.
4410 (detect_preprocessor_logic): Delete function.
4411 (get_first_nws_vis_column): New function.
4412 (detect_intervening_unindent): New function.
4413 (should_warn_for_misleading_indentation): Replace call to
4414 detect_preprocessor_logic with a call to
4415 detect_intervening_unindent.
4416
729526f5
DM
44172016-03-04 David Malcolm <dmalcolm@redhat.com>
4418
4419 PR c/68187
4420 * c-indentation.c (should_warn_for_misleading_indentation): When
4421 suppressing warnings about cases where the guard and body are on
4422 the same column, only use the first non-whitespace column in place
4423 of the guard token column when dealing with "else" clauses.
4424 When rejecting aligned BODY and NEXT, loosen the requirement
4425 from equality with the first non-whitespace of guard to simply
4426 that they not be indented relative to it.
4427
e9a35493
RB
44282016-03-04 Richard Biener <rguenther@suse.de>
4429
4430 PR c++/70054
4431 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4432 instead of alias_sets_conflict_p.
4433
1be56bc5
MP
44342016-03-01 Marek Polacek <polacek@redhat.com>
4435
4436 PR c++/69795
4437 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4438 any DECL.
4439
35886f0b
MS
44402016-02-22 Martin Sebor <msebor@redhat.com>
4441
4442 PR middle-end/69780
4443 * c-common.c (check_builtin_function_arguments): Validate and
4444 reject invalid arguments to __builtin_alloca_with_align.
4445
4246c8da
MW
44462016-02-20 Mark Wielaard <mjw@redhat.com>
4447
4448 PR c/28901
4449 * c.opt (Wunused-const-variable): Turn into Alias for...
4450 (Wunused-const-variable=): New option.
4451
268be88c
BE
44522016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4453
4454 PR c++/69865
4455 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4456 here...
4457 (c_common_init_options): ...to here.
4458 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4459
871b3f47
JJ
44602016-02-19 Jakub Jelinek <jakub@redhat.com>
4461
4462 PR c++/69826
4463 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4464 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4465 flag_preprocess_only.
4466
bf14eba2
JJ
44672016-02-16 Jakub Jelinek <jakub@redhat.com>
4468
4469 PR c/69835
4470 * c.opt (Wnonnull-compare): Enable for -Wall.
4471
ba6b3795
JJ
44722016-02-15 Jakub Jelinek <jakub@redhat.com>
4473
4474 PR c++/69797
4475 * c-common.c (sync_resolve_size): Diagnose too few arguments
4476 even when params is non-NULL empty vector.
4477
a011cd92
BS
44782016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4479
4480 PR target/60410
4481 * c.opt (fshort-double): Remove.
4482
46cb9332
MS
44832016-02-05 Martin Sebor <msebor@redhat.com>
4484
4485 PR c++/69662
4486 * c.opt (Warning options): Update -Wplacement-new to take
4487 an optional argument.
4488
e1b81f2b
JJ
44892016-02-01 Jakub Jelinek <jakub@redhat.com>
4490
4491 PR preprocessor/69543
4492 PR c/69558
4493 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4494 instead of loc to control_warning_option.
4495
b6adbb9f
NS
44962016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4497
4498 * c.opt (fopenacc-dim=): New option.
4499
5d70666e
RB
45002016-01-27 Ryan Burn <contact@rnburn.com>
4501
4502 PR cilkplus/69267
4503 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4504 gimplify_arg. Removed superfluous post_p argument.
4505 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4506 superfluous post_p argument.
4507 * c-gimplify.c (c_gimplify_expr): Likewise.
4508
01e1dea3
DM
45092016-01-26 David Malcolm <dmalcolm@redhat.com>
4510
4511 PR other/69006
4512 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4513 pp_newline_and_flush with pp_flush.
4514
9f04a53e
MS
45152016-01-20 Martin Sebor <msebor@redhat.com>
4516
4517 PR c/69405
4518 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4519 an incompatible argument when the argument isn't a valid tree node.
4520
7f26f7df
JM
45212016-01-18 Jason Merrill <jason@redhat.com>
4522
4523 PR c++/68767
4524 * c-common.c (check_function_arguments_recurse): Fold the whole
4525 COND_EXPR, not just the condition.
4526
f62bf092
TV
45272016-01-18 Tom de Vries <tom@codesourcery.com>
4528
4529 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4530 classify as loop clause.
4531
e0a575ff
JJ
45322016-01-15 Jakub Jelinek <jakub@redhat.com>
4533
4534 PR bootstrap/68271
4535 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4536 C++ FE no longer has limit on number of pragmas.
4537
45382015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4539
4540 PR c++/69048
4541 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4542 to add missing cleanup point.
b6e3db06 4543
c7df95d8
DM
45442016-01-14 David Malcolm <dmalcolm@redhat.com>
4545
4546 PR c++/68819
4547 * c-indentation.c (get_visual_column): Add location_t param.
4548 Handle the column number being zero by effectively disabling the
4549 warning, with an "inform".
4550 (should_warn_for_misleading_indentation): Add location_t argument
4551 for all uses of get_visual_column.
4552
21efdd80
PP
45532016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4554
4555 PR c++/69029
4556 * c-indentation.c (should_warn_for_misleading_indentation):
4557 Don't warn about do-while statements.
4558
7a127fa7
MS
45592016-01-07 Martin Sebor <msebor@redhat.com>
4560
4561 PR c/68966
4562 * c-common.c (sync_resolve_size): Reject first argument when it's
4563 a pointer to _Bool.
4564
c589e975
DM
45652016-01-05 David Malcolm <dmalcolm@redhat.com>
4566
4567 PR c/69122
4568 * c-indentation.c (get_visual_column): Remove default argument.
4569 (should_warn_for_misleading_indentation): For the multiline case,
4570 update call to get_visual_column for next_stmt_exploc so that it
4571 captures the location of the first non-whitespace character in the
4572 relevant line. Don't issue warnings if there is non-whitespace
4573 before the next statement.
4574
818ab71a
JJ
45752016-01-04 Jakub Jelinek <jakub@redhat.com>
4576
4577 Update copyright years.
4578
745e411d
DM
45792015-12-21 David Malcolm <dmalcolm@redhat.com>
4580
4581 * c-common.c (binary_op_error): Convert first param from
4582 location_t to rich_location * and use it when emitting an error.
4583 * c-common.h (binary_op_error): Convert first param from
4584 location_t to rich_location *.
4585
de67c4c3
DM
45862015-12-16 David Malcolm <dmalcolm@redhat.com>
4587
4588 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4589 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4590
4a38b02b
IV
45912015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4592
4593 * c-common.c (c_common_attribute_table): Handle "omp declare target
4594 link" attribute.
4595
54d62f51
JJ
45962015-12-14 Jakub Jelinek <jakub@redhat.com>
4597
4598 PR c/68833
4599 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4600
8d4227c8
TB
46012014-12-12 Tobias Burnus <burnus@net-b.de>
4602
4603 PR fortran/68815
4604 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4605 specifiers (%d, %i,%u and %c).
4606
f6069ccc
DM
46072015-12-10 David Malcolm <dmalcolm@redhat.com>
4608
4609 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4610
63bbf46d
JJ
46112015-12-08 Jakub Jelinek <jakub@redhat.com>
4612
4613 PR c/48088
4614 PR c/68657
4615 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4616 * c-pragma.c (handle_pragma_diagnostic): Adjust
4617 control_warning_option caller.
4618
f79520bb
DM
46192015-12-07 David Malcolm <dmalcolm@redhat.com>
4620
4621 * c-common.c (c_cpp_error): Update for change to
4622 rich_location::set_range.
4623
b3d5bc62
JJ
46242015-12-04 Paolo Bonzini <bonzini@gnu.org>
4625
4626 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4627 shifting 1 out of the sign bit.
4628
46292015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4630
4631 * c-common.c (c_common_attribute_table[]): Update max arguments
4632 count for "simd" attribute.
4633 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4634
6eb4a537
JJ
46352015-12-03 Jakub Jelinek <jakub@redhat.com>
4636
4637 PR preprocessor/57580
4638 * c-ppoutput.c (print): Change printed field to bool.
4639 Move src_file last for smaller padding.
4640 (init_pp_output): Set print.printed to false instead of 0.
4641 (scan_translation_unit): Fix up formatting. Set print.printed
4642 to true after printing something other than newline.
4643 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4644 (maybe_print_line_1): Set print.printed to false instead of 0.
4645 (print_line_1): Likewise.
4646 (do_line_change): Set print.printed to true instead of 1.
4647 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4648 dump_macro): Set print.printed to false after printing newline.
4649
4250754e
JM
46502015-12-02 Jason Merrill <jason@redhat.com>
4651
f479b43d
JM
4652 * c-common.c (fold_for_warn): New.
4653 (warn_logical_operator, warn_tautological_cmp)
4654 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4655
4250754e
JM
4656 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4657 (c_fully_fold_internal, decl_constant_value_for_optimization):
4658 Move to c/c-fold.c.
4659 * c-common.h: Don't declare decl_constant_value_for_optimization.
4660
e9e32ee6
JM
46612015-12-02 Joseph Myers <joseph@codesourcery.com>
4662
4663 PR c/68162
4664 * c-common.h (c_build_qualified_type): Add extra default
4665 arguments.
4666
37d5ad46
JB
46672015-12-01 Julian Brown <julian@codesourcery.com>
4668 Cesar Philippidis <cesar@codesourcery.com>
4669 James Norris <James_Norris@mentor.com>
4670
4671 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4672 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4673 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4674
f07862c7
EB
46752015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4676
4677 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4678 (decl_sloc_common): Delete and move bulk of processing to...
4679 (decl_sloc): ...here.
4680 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4681 (dump_ada_double_name): Remove S parameter and compute the suffix.
4682 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4683 element type and deal with an anonymous one.
4684 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4685 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4686 and remove reference to QUAL_UNION_TYPE.
4687 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4688 (dump_nested_type): ...here. New function extracted from above.
4689 Generate a full declaration for anonymous element type of arrays.
4690 (print_ada_declaration): Really skip anonymous declarations. Remove
4691 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4692 Clean up processing of declarations of array types and objects.
4693 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4694 Remove obsolete code and tidy up.
4695
75c8aac3
JH
46962015-11-29 Jan Hubicka <hubicka@ucw.cz>
4697
4698 PR c/67581
4699 * c-common.c (handle_transparent_union_attribute): Update
4700 also type variants.
4701
b58d3df2
ML
47022015-11-27 Martin Liska <mliska@suse.cz>
4703
4704 PR c++/68312
4705 * array-notation-common.c (cilkplus_extract_an_triplets):
4706 Release vector of vectors.
4707 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4708
89a01fcf
EB
47092015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4710
4711 PR c++/68527
4712 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4713 (print_ada_struct_decl): Likewise.
4714
cc5c5226
IZ
47152015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4716
4717 PR c++/68001
4718 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4719 * cilk.c (recognize_spawn): Determine location in a more precise
4720 way.
4721
269adb9d
JM
47222015-11-19 Jason Merrill <jason@redhat.com>
4723
4724 * c-common.c (shorten_compare): But look through macros from
4725 system headers.
4726
d0eccfcd
JM
47272015-11-18 Jason Merrill <jason@redhat.com>
4728
4729 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4730 non-constant operand comes from a macro.
4731
3e44547c
JM
47322015-11-17 Jason Merrill <jason@redhat.com>
4733
4734 PR bootstrap/68346
4735 * c-common.c (warn_tautological_cmp): Fold before checking for
4736 constants.
4737
0f62c7a0
MP
47382015-11-16 Marek Polacek <polacek@redhat.com>
4739
4740 PR c++/68362
4741 * c-common.c (check_case_bounds): Fold low and high cases.
4742
a868811e
MP
47432015-11-16 Marek Polacek <polacek@redhat.com>
4744
4745 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4746 * c-common.c (c_common_get_alias_set): Likewise.
4747 (handle_visibility_attribute): Likewise.
4748
fff77217
KY
47492015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4750
4751 * c-common.c (handle_simd_attribute): New.
4752 (struct attribute_spec): Add entry for "simd".
4753 (handle_simd_attribute): New.
4754
269e63b7
KT
47552015-11-13 Kai Tietz <ktietz70@googlemail.com>
4756
4757 * c-lex.c (interpret_float): Use fold_convert.
4758
ebedc9a3
DM
47592015-11-13 David Malcolm <dmalcolm@redhat.com>
4760
4761 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4762 and store it on the result.
4763 * c-opts.c (c_common_init_options): Set
4764 global_dc->colorize_source_p.
4765
6e232ba4
JN
47662015-11-12 James Norris <jnorris@codesourcery.com>
4767 Joseph Myers <joseph@codesourcery.com>
4768
7365279f 4769 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
4770 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4771 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4772 PRAGMA_OACC_CLAUSE_LINK.
4773
e78bede6
MP
47742015-11-11 Marek Polacek <polacek@redhat.com>
4775
4776 PR c/68107
4777 PR c++/68266
4778 * c-common.c (valid_array_size_p): New function.
4779 * c-common.h (valid_array_size_p): Declare.
4780
3f8257db 47812015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
4782
4783 PR bootstrap/68271
4784 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4785
69f293c9
AM
47862015-11-11 Andrew MacLeod <amacleod@redhat.com>
4787
4788 * array-notation-common.c: Remove unused header files.
4789 * c-ada-spec.c: Likewise.
4790 * c-cilkplus.c: Likewise.
4791 * c-common.c: Likewise.
4792 * c-cppbuiltin.c: Likewise.
4793 * c-dump.c: Likewise.
4794 * c-format.c: Likewise.
4795 * c-gimplify.c: Likewise.
4796 * c-indentation.c: Likewise.
4797 * c-lex.c: Likewise.
4798 * c-omp.c: Likewise.
4799 * c-opts.c: Likewise.
4800 * c-pch.c: Likewise.
4801 * c-ppoutput.c: Likewise.
4802 * c-pragma.c: Likewise.
4803 * c-pretty-print.c: Likewise.
4804 * c-semantics.c: Likewise.
4805 * c-ubsan.c: Likewise.
4806 * cilk.c: Likewise.
4807 * stub-objc.c: Likewise.
4808
3a40d81d
NS
48092015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4810 Cesar Philippidis <cesar@codesourcery.com>
4811 James Norris <jnorris@codesourcery.com>
4812 Julian Brown <julian@codesourcery.com>
4813 Nathan Sidwell <nathan@codesourcery.com>
4814
4815 * c-pragma.c (oacc_pragmas): Add "routine".
4816 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4817
ee45a32d
EB
48182015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4819
4820 * c-common.c (c_common_attributes): Add scalar_storage_order.
4821 (handle_scalar_storage_order_attribute): New function.
4822 * c-pragma.c (global_sso): New variable.
4823 (maybe_apply_pragma_scalar_storage_order): New function.
4824 (handle_pragma_scalar_storage_order): Likewise.
4825 (init_pragma): Register scalar_storage_order.
4826 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4827 * c.opt (Wscalar-storage-order): New warning.
4828 (fsso-struct=): New option.
4829
eb11eb15
MS
48302015-11-08 Martin Sebor <msebor@redhat.com>
4831
4832 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4833
0aad0198
RS
48342015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4835
4836 * c-common.c: Don't undef DEF_BUILTIN.
4837
8a645150
DM
48382015-11-06 David Malcolm <dmalcolm@redhat.com>
4839
4840 * c-common.c (c_cpp_error): Convert parameter from location_t to
4841 rich_location *. Eliminate the "column_override" parameter and
4842 the call to diagnostic_override_column.
4843 Update the "done_lexing" clause to set range 0
4844 on the rich_location, rather than overwriting a location_t.
4845 * c-common.h (c_cpp_error): Convert parameter from location_t to
4846 rich_location *. Eliminate the "column_override" parameter.
4847
7a5e4956
CP
48482015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4849 Thomas Schwinge <thomas@codesourcery.com>
4850 James Norris <jnorris@codesourcery.com>
4851
4852 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4853 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
4854 clauses with parallel and kernels and loops.
4855 * c-pragma.h (enum pragma_omp_clause): Add entries for
4856 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4857 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4858 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4859 INDEPENDENT,SEQ}.
4860 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4861
e2f5cc96
MS
48622015-11-05 Martin Sebor <msebor@redhat.com>
4863
4864 PR c++/67942
4865 * c.opt (-Wplacement-new): New option.
4866
e01d41e5
JJ
48672015-11-05 Jakub Jelinek <jakub@redhat.com>
4868
4869 * c-common.h (c_finish_omp_atomic): Add TEST argument.
4870 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4871 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
4872 save_expr or create_tmp_var* if TEST is true.
4873 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4874 Don't call add_stmt here.
4875 (struct c_omp_check_loop_iv_data): New type.
4876 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4877 c_omp_check_loop_iv_exprs): New functions.
4878 (c_omp_split_clauses): Adjust for lastprivate being allowed on
4879 distribute.
4880 (c_omp_declare_simd_clauses_to_numbers): Change
4881 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4882 (c_omp_declare_simd_clauses_to_decls): Similarly change those
4883 from numbers to PARM_DECLs.
4884
595278be
MM
48852015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
4886
4887 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4888 flag_checking.
4889
3f8257db 48902015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
4891
4892 PR c++-common/67882
b3d5bc62
JJ
4893 * c-common.h (fold_offsetof_1): Add argument.
4894 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
4895 offsetof expressions that reference elements past the end of
4896 an array.
4897
4bf9e5a8
TS
48982015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4899 Chung-Lin Tang <cltang@codesourcery.com>
4900
4901 * c-pragma.c (oacc_pragmas): Add "atomic".
4902 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4903
3b1661a9
ES
49042015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
4905
4906 * c-common.c (handle_target_clones_attribute): New.
4907 (c_common_attribute_table): Add handle_target_clones_attribute.
4908 (handle_always_inline_attribute): Add check on target_clones attribute.
4909 (handle_target_attribute): Ditto.
4910
2adfab87
AM
49112015-10-29 Andrew MacLeod <amacleod@redhat.com>
4912
4913 * array-notation-common.c: Reorder #include's and remove duplicates.
4914 * c-ada-spec.c: Likewise.
4915 * c-cilkplus.c: Likewise.
4916 * c-common.c: Likewise.
4917 * c-cppbuiltin.c: Likewise.
4918 * c-dump.c: Likewise.
4919 * c-format.c: Likewise.
4920 * c-gimplify.c: Likewise.
4921 * c-indentation.c: Likewise.
4922 * c-lex.c: Likewise.
4923 * c-omp.c: Likewise.
4924 * c-opts.c: Likewise.
4925 * c-pch.c: Likewise.
4926 * c-ppoutput.c: Likewise.
4927 * c-pragma.c: Likewise.
4928 * c-pretty-print.c: Likewise.
4929 * c-semantics.c: Likewise.
4930 * c-ubsan.c: Likewise.
4931 * cilk.c: Likewise.
4932 * stub-objc.c: Likewise.
4933
d90ec4f2
JM
49342015-10-28 Jason Merrill <jason@redhat.com>
4935
4936 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4937
88bae6f4
TS
49382015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4939 James Norris <jnorris@codesourcery.com>
4940 Cesar Philippidis <cesar@codesourcery.com>
4941
4942 PR c/64765
4943 PR c/64880
4944 * c-common.h (c_oacc_split_loop_clauses): Declare function.
4945 * c-omp.c (c_oacc_split_loop_clauses): New function.
4946
b1726d6c
MS
49472015-10-21 Martin Sebor <msebor@redhat.com>
4948
4949 PR driver/68043
4950 * c.opt: End each sentence that describes an option with a period.
4951
fa60eeb9
MP
49522015-10-20 Marek Polacek <polacek@redhat.com>
4953
4954 * array-notation-common.c (is_cilkplus_vector_p): Define.
4955 * c-common.h (is_cilkplus_vector_p): Declare.
4956
95979049
MP
49572015-10-20 Marek Polacek <polacek@redhat.com>
4958
4959 * c.opt (std=gnu++11): Do not describe as experimental.
4960 (std=gnu++14): Likewise.
4961
2a9fb712
JM
49622015-10-19 Jason Merrill <jason@redhat.com>
4963
4964 * c-cppbuiltin.c (c_cpp_builtins): Define
4965 __cpp_nontype_template_args.
4966
13b380a3
JM
49672015-10-19 Jason Merrill <jason@redhat.com>
4968
4969 * c-cppbuiltin.c (c_cpp_builtins): Define
4970 __cpp_enumerator_attributes, __cpp_fold_expressions,
4971 __cpp_unicode_characters.
4972
d9a6bd32
JJ
49732015-10-13 Jakub Jelinek <jakub@redhat.com>
4974 Aldy Hernandez <aldyh@redhat.com>
4975
4976 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4977 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4978 (c_define_builtins): Likewise.
4979 * c-common.h (enum c_omp_clause_split): Add
4980 C_OMP_CLAUSE_SPLIT_TASKLOOP.
4981 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4982 (c_finish_omp_for): Add ORIG_DECLV argument.
4983 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4984 201511 instead of 201307.
4985 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4986 OMP_CRITICAL_CLAUSES to it.
4987 (c_finish_omp_ordered): Add CLAUSES argument, set
4988 OMP_ORDERED_CLAUSES to it.
4989 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4990 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
4991 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4992 constructs and new OpenMP 4.5 clauses. Clear
4993 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
4994 verification code.
4995 * c-pragma.c (omp_pragmas_simd): Add taskloop.
4996 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4997 (enum pragma_omp_clause): Add
4998 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4999 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5000
624d31fe
RS
50012015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5002
5003 * c-lex.c (interpret_float): Use real_equal instead of
5004 REAL_VALUES_EQUAL.
5005
b8fd7909
JM
50062015-10-04 Jason Merrill <jason@redhat.com>
5007
5008 Implement N4514, C++ Extensions for Transactional Memory.
5009 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5010 (c_common_attribute_table): Add transaction_safe_dynamic.
5011 transaction_safe now affects type identity.
5012 (handle_tm_attribute): Handle transaction_safe_dynamic.
5013 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5014 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5015 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5016 (D_TRANSMEM): New.
5017 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5018 * c-pretty-print.c (pp_c_attributes_display): Don't print
5019 transaction_safe in C++.
5020
12651878
MP
50212015-10-02 Marek Polacek <polacek@redhat.com>
5022
5023 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5024
3e3b8d63
MP
50252015-10-02 Marek Polacek <polacek@redhat.com>
5026
5027 PR c/64249
5028 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5029 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5030 * c.opt (Wduplicated-cond): New option.
5031
0d1a8f75
JM
50322015-10-01 Joseph Myers <joseph@codesourcery.com>
5033
5034 * c.opt (std=c11): Do not describe as experimental.
5035 (std=gnu11): Likewise.
5036 (std=iso9899:2011): Likewise.
5037
3e32ee19
NS
50382015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5039
5040 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5041 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5042
974348ee
MP
50432015-09-25 Marek Polacek <polacek@redhat.com>
5044
5045 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5046 (ubsan_instrument_shift): Likewise.
5047
15dbc1a6
MP
50482015-09-25 Marek Polacek <polacek@redhat.com>
5049
5050 PR sanitizer/64906
5051 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5052
6b95d7cc
PP
50532015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5054
5055 * c-indentation.c (should_warn_for_misleading_indentation):
5056 Compare next_stmt_vis_column with guard_line_first_nws instead
5057 of with guard_line_vis_column.
5058
c1822f9c
MLI
50592015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5060
5061 PR c/49654
5062 PR c/49655
5063 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5064 options and options not valid for the current language.
5065
d5398058
PP
50662015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5067
5068 * c-indentation.c (should_warn_for_misleading_indentation):
5069 Float out and consolidate the calls to get_visual_column that
5070 are passed guard_exploc as an argument. Compare
5071 next_stmt_vis_column with guard_line_first_nws instead of with
5072 body_line_first_nws.
5073
6b333269
NS
50742015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5075
5076 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5077 Wnamespaces): New C++ warnings.
5078
a75f1574
JM
50792015-09-22 Jason Merrill <jason@redhat.com>
5080
5081 * c-common.h (abi_compat_version_crosses): New.
5082 (warn_abi_version): Declare.
5083 * c-common.c: Define it.
5084 * c-opts.c (c_common_post_options): Handle it.
5085 flag_abi_compat_version defaults to 8.
5086
bdaaa8b7
VV
50872015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5088
5089 Complete the implementation of N4230, Nested namespace definition.
5090 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5091 __cpp_nested_namespace_definitions.
5092
eaa797e8
MLI
50932015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5094
5095 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5096
c4914de6
MLI
50972015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5098
5099 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5100 when warning.
5101 * c-pragma.h (pragma_lex): Add optional loc argument.
5102
fcb87c50
MM
51032015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5104
5105 * c-format.c (check_format_arg): Adjust to use common block size in all
5106 object pools.
5107
31bdd08a
DM
51082015-09-15 David Malcolm <dmalcolm@redhat.com>
5109
5110 * c-format.c (location_from_offset): Update for change in
5111 signature of location_get_source_line.
5112 * c-indentation.c (get_visual_column): Likewise.
5113 (line_contains_hash_if): Likewise.
5114
aa9f4b4c
MP
51152015-09-14 Marek Polacek <polacek@redhat.com>
5116
5117 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5118 setting various warnings.
5119
aa256c4a
MP
51202015-09-14 Marek Polacek <polacek@redhat.com>
5121
5122 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5123 a negative value.
5124
0f876f22
MW
51252015-09-11 Mark Wielaard <mjw@redhat.com>
5126
5127 PR c/28901
5128 * c.opt (Wunused-variable): Option from common.opt.
5129 (Wunused-const-variable): New option.
5130
273aa49e
PC
51312015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5132
5133 PR c++/53184
5134 * c.opt ([Wsubobject-linkage]): Add.
5135
1807ffc1
MS
51362015-09-03 Martin Sebor <msebor@redhat.com>
5137
5138 PR c/66516
5139 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5140 functions.
5141 * c-common.c (reject_gcc_builtin): Define.
5142
38942840
BI
51432015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5144
5145 PR middle-end/60586
5146 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5147 prototype.
5148 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5149 cilk_gimplify_call_params_in_spawned_fn.
5150 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5151 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5152 unwrapping.
5153
c316b5e4
MP
51542015-08-25 Marek Polacek <polacek@redhat.com>
5155
5156 PR middle-end/67330
5157 * c-common.c (handle_weak_attribute): Don't check whether the
5158 visibility can be changed here.
5159
584a7c46
MLI
51602015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5161
5162 * c-lex.c (c_lex_with_flags): Use explicit locations.
5163
a79683d5
TS
51642015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5165
5166 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5167 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5168
61717a45
FXC
51692015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5170
5171 PR middle-end/36757
5172 * c-common.c (check_builtin_function_arguments): Add check
5173 for BUILT_IN_SIGNBIT argument.
5174
329524f5
PC
51752015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5176
5177 PR c++/67160
5178 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5179 in c++1z mode.
5180
4ee55665
MP
51812015-08-17 Marek Polacek <polacek@redhat.com>
5182
5183 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5184 with whitespaces before qualifier names.
5185
b893e375
MP
51862015-08-12 Marek Polacek <polacek@redhat.com>
5187
5188 PR c++/55095
5189 * c-common.c (maybe_warn_shift_overflow): Properly handle
5190 left-shifting 1 into the sign bit.
5191
c2d89095
MLI
51922015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5193
5194 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5195
971e17ff
AS
51962015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5197 Braden Obrzut <admin@maniacsvault.net>
5198 Jason Merrill <jason@redhat.com>
5199
5200 Add C++ Concepts TS support.
5201 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5202 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5203 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5204 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5205 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5206 * c.opt (fconcepts): New.
5207
b3d5bc62
JJ
52082015-08-02 Martin Sebor <msebor@redhat.com>
5209
5210 * c.opt (-Wframe-address): New warning option.
5211
8ebca419
PP
52122015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5213
5214 * c-indentation.c (should_warn_for_misleading_indentation):
5215 Improve heuristics.
5216
1a1e101f
PP
52172015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5218
5219 * c-indentation.c (get_visual_column): Add parameter first_nws,
5220 use it. Update comment documenting the function.
5221 (is_first_nonwhitespace_on_line): Remove.
5222 (should_warn_for_misleading_indentation): Replace usage of
5223 of is_first_nonwhitespace_on_line with get_visual_column.
5224
992118a1
PP
52252015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5226
5227 * c-indentation.h (struct token_indent_info): Define.
5228 (get_token_indent_info): Define.
5229 (warn_for_misleading_information): Declare.
5230 * c-common.h (warn_for_misleading_information): Remove.
5231 * c-identation.c (warn_for_misleading_indentation):
5232 Change declaration to take three token_indent_infos. Adjust
5233 accordingly.
5234 * c-identation.c (should_warn_for_misleading_indentation):
5235 Likewise. Bail out early if the body is a compound statement.
5236 (guard_tinfo_to_string): Define.
5237
e8fa3817
JM
52382015-07-30 Jason Merrill <jason@redhat.com>
5239
5240 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5241 '*' for reference decay.
5242
173864e8
MP
52432015-07-30 Marek Polacek <polacek@redhat.com>
5244
5245 * c-common.c (warn_tautological_cmp): Bail for float types.
5246
f2afe6dd
MP
52472015-07-27 Marek Polacek <polacek@redhat.com>
5248
5249 PR bootstrap/67030
5250 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5251
05b28fd6
MP
52522015-07-27 Marek Polacek <polacek@redhat.com>
5253
5254 PR c++/66555
5255 PR c/54979
5256 * c-common.c (find_array_ref_with_const_idx_r): New function.
5257 (warn_tautological_cmp): New function.
5258 * c-common.h (warn_tautological_cmp): Declare.
5259 * c.opt (Wtautological-compare): New option.
5260
5a5062b8
MP
52612015-07-23 Marek Polacek <polacek@redhat.com>
5262
5263 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5264 (ubsan_instrument_shift): Likewise.
5265
dc891fe7
MP
52662015-07-23 Marek Polacek <polacek@redhat.com>
5267
5268 PR sanitizer/66908
5269 * c-ubsan.c: Include gimplify.h.
5270 (ubsan_instrument_division): Unshare OP0 and OP1.
5271 (ubsan_instrument_shift): Likewise.
5272
451b5e48
MP
52732015-07-20 Marek Polacek <polacek@redhat.com>
5274 Richard Sandiford <richard.sandiford@arm.com>
5275
5276 PR c++/55095
5277 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5278 Use EXPR_LOC_OR_LOC.
5279 (maybe_warn_shift_overflow): New function.
5280 * c-common.h (maybe_warn_shift_overflow): Declare.
5281 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5282 * c.opt (Wshift-overflow): New option.
5283
fb0b2914
ML
52842015-07-16 Martin Liska <mliska@suse.cz>
5285
5286 * c-format.c (static void check_format_info_main): Use
5287 object_allocator instead of pool_allocator.
5288 (check_format_arg): Likewise.
5289 (check_format_info_main): Likewise.
5290
903f5c23
AM
52912015-07-15 Andrew MacLeod <amacleod@redhat.com>
5292
5293 * c-opts.c: Remove multiline #include comment.
5294
026c3cfd
AH
52952015-07-12 Aldy Hernandez <aldyh@redhat.com>
5296
5297 * c-common.c: Fix double word typos.
5298
bb49ee66
EB
52992015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5300
5301 * c-ada-spec.h (cpp_operation): Revert latest change.
5302 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5303 constructors and destructors.
5304
1916bcb5
AM
53052015-07-09 Andrew MacLeod <amacleod@redhat.com>
5306
5307 * c-common.h: Adjust includes for flags.h changes.
5308 * stub-objc.c: Likewise.
026c3cfd 5309
a9dcd529
EB
53102015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5311
5312 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5313 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5314
b03b462f
JJ
53152015-07-08 Jakub Jelinek <jakub@redhat.com>
5316
5317 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5318 are to be removed, return NULL rather than original clauses list.
5319
c7131fb2
AM
53202015-07-07 Andrew MacLeod <amacleod@redhat.com>
5321
5322 * array-notation-common.c: Adjust includes.
5323 * c-ada-spec.c: Likewise.
5324 * c-cilkplus.c: Likewise.
5325 * c-common.h: Likewise.
5326 * c-cppbuiltin.c: Likewise.
5327 * c-dump.c: Likewise.
5328 * c-format.c: Likewise.
5329 * c-gimplify.c: Likewise.
5330 * c-indentation.c: Likewise.
5331 * c-lex.c: Likewise.
5332 * c-omp.c: Likewise.
5333 * c-opts.c: Likewise.
5334 * c-pch.c: Likewise.
5335 * c-ppoutput.c: Likewise.
5336 * c-pragma.c: Likewise.
5337 * c-pretty-print.c: Likewise.
5338 * c-semantics.c: Likewise.
5339 * c-ubsan.c: Likewise.
5340 * cilk.c: Likewise.
5341 * stub-objc.c: Likewise.
5342
2a7fb83f
EB
53432015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5344
5345 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5346 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5347
a03c9bf1
JM
53482015-07-01 Jason Merrill <jason@redhat.com>
5349
36a85135
JM
5350 * c-common.h (D_CXX11): Rename from D_CXX0X.
5351 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5352 * c-common.c: Adjust.
5353
e7fa68d5
JM
5354 * c-opts.c (c_common_post_options): Default to C++14.
5355
a03c9bf1
JM
5356 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5357
fe95b036
ESR
53582015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5359
5360 Implement N4197 - Adding u8 character literals
b3d5bc62 5361 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 5362 CPP_CHAR.
b3d5bc62 5363 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 5364 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 5365 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
5366 and CPP_UTF8CHAR tokens.
5367 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 5368
da2e71c9
MLI
53692015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5370
5371 PR fortran/66605
5372 * c-common.c (do_warn_unused_parameter): Move here.
5373 * c-common.h (do_warn_unused_parameter): Declare.
5374
b155cfd9
MP
53752015-06-29 Marek Polacek <polacek@redhat.com>
5376
5377 PR c/66322
5378 * c-common.c (check_case_bounds): Add bool * parameter. Set
5379 OUTSIDE_RANGE_P.
5380 (c_add_case_label): Add bool * parameter. Pass it down to
5381 check_case_bounds.
5382 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5383 warning here.
5384 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5385 declarations.
5386
31521951
MP
53872015-06-27 Marek Polacek <polacek@redhat.com>
5388
5389 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5390 or VECTOR_INTEGER_TYPE_P throughout.
5391 * c-gimplify.c: Likewise.
5392
22d03525
MP
53932015-06-26 Marek Polacek <polacek@redhat.com>
5394
5395 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5396 * c-common.c (c_fully_fold_internal): Likewise.
5397 (c_alignof_expr): Likewise.
5398 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5399 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 5400 * cilk.c (create_parm_list): Likewise.
22d03525 5401
af05e6e5
MP
54022015-06-26 Marek Polacek <polacek@redhat.com>
5403
5404 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5405
f0889939
AM
54062015-06-25 Andrew MacLeod <amacleod@redhat.com>
5407
5408 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5409 * c-gimplify.c: Likewise.
5410 * c-pragma.c: Likewise.
5411 * c-ubsan.c: Likewise.
5412 * cilk.c: Likewise.
5413
ca752f39
RS
54142015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5415
5416 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5417 ggc_hasher.
5418
16a16ec7
AM
54192015-06-25 Andrew MacLeod <amacleod@redhat.com>
5420
5421 * cilk.c: Move calls.h after tm.h in the include chain.
5422
0ae9bd27
MP
54232015-06-25 Marek Polacek <polacek@redhat.com>
5424
5425 * array-notation-common.c: Use VAR_P throughout.
5426 * c-ada-spec.c: Likewise.
5427 * c-common.c: Likewise.
5428 * c-format.c: Likewise.
5429 * c-gimplify.c: Likewise.
5430 * c-omp.c: Likewise.
5431 * c-pragma.c: Likewise.
5432 * c-pretty-print.c: Likewise.
5433 * cilk.c: Likewise.
5434
62f9079a
MP
54352015-06-25 Marek Polacek <polacek@redhat.com>
5436
5437 * cilk.c (extract_free_variables): Use is_global_var.
5438
0fa16060
RS
54392015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5440
5441 * c-common.c: Don't include target-def.h.
5442
a68ae2e1
MP
54432015-06-23 Marek Polacek <polacek@redhat.com>
5444
5445 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5446 when comparing INTEGER_CSTs.
5447
c6a2f2d9
PMR
54482015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5449
5450 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5451 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5452 (dump_ada_template): Skip partially specialized types.
5453
6b4db501
MM
54542015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5455
5456 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5457 swapping.
5458
abb226c9
AM
54592015-06-17 Andrew MacLeod <amacleod@redhat.com>
5460
5461 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5462 * c-ada-spec.c: Likewise.
5463 * c-cilkplus.c: Likewise.
5464 * c-common.c: Likewise.
5465 * c-common.h: Likewise.
5466 * c-cppbuiltin.c: Likewise.
5467 * c-dump.c: Likewise.
5468 * c-format.c: Likewise.
5469 * c-gimplify.c: Likewise.
5470 * c-indentation.c: Likewise.
5471 * c-lex.c: Likewise.
5472 * c-omp.c: Likewise.
5473 * c-opts.c: Likewise.
5474 * c-pch.c: Likewise.
5475 * c-ppoutput.c: Likewise.
5476 * c-pragma.c: Likewise.
5477 * c-pretty-print.c: Likewise.
5478 * c-semantics.c: Likewise.
5479 * c-ubsan.c: Likewise.
5480 * cilk.c: Likewise.
5481 * stub-objc.c: Likewise.
5482
076fecad
PP
54832015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5484
5485 PR c++/65168
5486 * c-common.c (c_common_truthvalue_conversion): Warn when
5487 converting an address of a reference to a truth value.
5488
13fdf2e2
AM
54892015-06-08 Andrew MacLeod <amacleod@redhat.com>
5490
5491 * array-notation-common.c : Adjust include files.
5492 * c-ada-spec.c : Likewise.
5493 * c-cilkplus.c : Likewise.
5494 * c-common.c : Likewise.
5495 * c-common.h : Likewise.
5496 * c-cppbuiltin.c : Likewise.
5497 * c-dump.c : Likewise.
5498 * c-format.c : Likewise.
5499 * c-gimplify.c : Likewise.
5500 * c-indentation.c : Likewise.
5501 * c-lex.c : Likewise.
5502 * c-omp.c : Likewise.
5503 * c-opts.c : Likewise.
5504 * c-pch.c : Likewise.
5505 * c-ppoutput.c : Likewise.
5506 * c-pragma.c : Likewise.
5507 * c-pretty-print.c : Likewise.
5508 * c-semantics.c : Likewise.
5509 * c-ubsan.c : Likewise.
5510 * cilk.c : Likewise.
5511 * stub-objc.c : Likewise.
5512
a1661b90
MP
55132015-06-08 Marek Polacek <polacek@redhat.com>
5514
5515 PR c/66415
5516 * c-format.c (location_from_offset): Return LOC if LINE is null.
5517
d7438551
AH
55182015-06-05 Aldy Hernandez <aldyh@redhat.com>
5519
5520 * c-common.h (c_parse_final_cleanups): New prototype.
5521 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5522
b3d5bc62
JJ
55232015-06-04 Sriraman Tallam <tmsriram@google.com>
5524
5525 * c-common.c (noplt): New attribute.
5526 (handle_noplt_attribute): New handler.
5527
ecb9f223
AM
55282015-06-04 Andrew MacLeod <amacleod@redhat.com>
5529
5530 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5531 * c-ada-spec.c: Likewise.
5532 * c-cilkplus.c: Likewise.
5533 * c-common.c: Likewise.
5534 * c-common.h: Likewise.
5535 * c-cppbuiltin.c: Likewise.
5536 * c-dump.c: Likewise.
5537 * c-format.c: Likewise.
5538 * c-gimplify.c: Likewise.
5539 * c-indentation.c: Likewise.
5540 * c-lex.c: Likewise.
5541 * c-omp.c: Likewise.
5542 * c-opts.c: Likewise.
5543 * c-pch.c: Likewise.
5544 * c-ppoutput.c: Likewise.
5545 * c-pragma.c: Likewise.
5546 * c-pretty-print.c: Likewise.
5547 * c-semantics.c: Likewise.
5548 * c-ubsan.c: Likewise.
5549 * cilk.c: Likewise.
5550 * stub-objc.c: Likewise.
5551
6ac48155
DM
55522015-06-02 David Malcolm <dmalcolm@redhat.com>
5553
5554 PR c/66220:
5555 * c-indentation.c (should_warn_for_misleading_indentation): Use
5556 expand_location rather than expand_location_to_spelling_point.
5557 Don't warn if the guarding statement is more indented than the
5558 next/body stmts.
5559
773ce42e
DM
55602015-06-02 David Malcolm <dmalcolm@redhat.com>
5561
5562 * c-indentation.c (warn_for_misleading_indentation): Bail out
5563 immediately if -Wmisleading-indentation isn't enabled.
5564
4fef8379
ML
55652015-06-01 Martin Liska <mliska@suse.cz>
5566
5567 * c-format.c (check_format_arg):Use new type-based pool allocator.
5568 (check_format_info_main) Likewise.
5569
1edfb384
EB
55702015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5571
5572 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5573 (has_nontrivial_methods): Likewise.
5574
9677ef52
MP
55752015-05-25 Marek Polacek <polacek@redhat.com>
5576
5577 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5578
fd5c817a
MP
55792015-05-22 Marek Polacek <polacek@redhat.com>
5580
5581 PR c/47043
5582 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5583
a2f45fe6 55842015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5585
5586 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5587 STACK_GROWS_DOWNWARD.
5588
a2f45fe6 55892015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5590
5591 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5592 STACK_GROWS_DOWNWARD rather than if it is defined.
5593
0fee2ac2 55942015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5595
0fee2ac2
MLI
5596 PR c/52952
5597 * c-format.c (location_column_from_byte_offset): New.
5598 (location_from_offset): New.
5599 (struct format_wanted_type): Add offset_loc field.
5600 (check_format_info): Move handling of location for extra arguments
5601 closer to the point of warning.
5602 (check_format_info_main): Pass the result of location_from_offset
5603 to warning_at.
5604 (format_type_warning): Pass the result of location_from_offset
5605 to warning_at.
5606
cf4ef6f7
MP
56072015-05-20 Marek Polacek <polacek@redhat.com>
5608
5609 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5610
3a65ee74
MP
56112015-05-20 Marek Polacek <polacek@redhat.com>
5612
5613 * c-ada-spec.c (dump_sloc): Use DECL_P.
5614
21b634ae
MP
56152015-05-20 Marek Polacek <polacek@redhat.com>
5616
5617 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5618 * c-common.c: Likewise.
5619
0e50b624
DM
56202015-05-19 David Malcolm <dmalcolm@redhat.com>
5621
5622 * c-common.h (fe_file_change): Strengthen param from
5623 const line_map * to const line_map_ordinary *.
5624 (pp_file_change): Likewise.
5625 * c-lex.c (fe_file_change): Likewise.
5626 (cb_define): Use linemap_check_ordinary when invoking
5627 SOURCE_LINE.
5628 (cb_undef): Likewise.
5629 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5630 invoking cb_file_change.
5631 (c_finish_options): Likewise.
5632 (push_command_line_include): Likewise.
5633 (cb_file_change): Strengthen param "new_map" from
5634 const line_map * to const line_map_ordinary *.
5635 * c-ppoutput.c (cb_define): Likewise for local "map".
5636 (pp_file_change): Likewise for param "map" and local "from".
5637
fab27f52
MM
56382015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5639
5640 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5641
2fe1d762
TV
56422015-05-18 Tom de Vries <tom@codesourcery.com>
5643
5644 * c-common.c (build_va_arg_1): New function.
5645 (build_va_arg): Add address operator to va_list operand if necessary.
5646
7a37fa90
MM
56472015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5648
5649 PR c/48956
5650 * c-common.c (int_safely_convertible_to_real_p): Define.
5651 (unsafe_conversion_p): Check conversions involving complex types.
5652 (conversion_warning): Add new warning message for conversions which
5653 discard imaginary component.
5654 * c-common.h: (enum conversion_safety): Add new enumerator for such
5655 conversions.
5656
3aa3c9fc
MP
56572015-05-14 Marek Polacek <polacek@redhat.com>
5658
5659 PR c/66066
5660 PR c/66127
5661 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5662 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5663 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5664 use it. If FOR_INT_CONST, require that all evaluated operands be
5665 INTEGER_CSTs.
5666
c3388e62
DM
56672015-05-12 David Malcolm <dmalcolm@redhat.com>
5668
5669 * c-common.h (warn_for_misleading_indentation): New prototype.
5670 * c-indentation.c: New file.
5671 * c.opt (Wmisleading-indentation): New option.
5672
c7b38fd5
TV
56732015-05-12 Tom de Vries <tom@codesourcery.com>
5674
5675 PR tree-optimization/66010
5676 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5677
381bf11e
JM
56782015-05-09 Jason Merrill <jason@redhat.com>
5679
edff0c06
JM
5680 * c-opts.c (c_common_post_options): Also clear
5681 cpp_opts->cpp_warn_cxx11_compat.
5682
129211bc
JM
5683 * c-common.h (enum cxx_dialect): Add cxx_unset.
5684 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5685 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5686
381bf11e
JM
5687 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5688 (std=gnu++0x): Mark as Undocumented.
5689 (std=gnu++1y): Add deprecated message.
5690
fe191308
JM
56912015-05-08 Jason Merrill <jason@redhat.com>
5692
765189ff
JM
5693 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5694 * c-opts.c: Adjust.
5695
fe191308
JM
5696 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5697
755e528f
MP
56982015-05-08 Marek Polacek <polacek@redhat.com>
5699
5700 PR c/64918
5701 * c.opt (Woverride-init-side-effects): New option.
5702
0173bd2a
MP
57032015-05-07 Marek Polacek <polacek@redhat.com>
5704
5705 PR c/65179
5706 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5707 negative value.
5708 * c.opt (Wshift-negative-value): New option.
5709 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5710 when -Wextra and C99/C++11 mode.
5711
e0f0d3b9
MP
57122015-05-07 Marek Polacek <polacek@redhat.com>
5713 Martin Uecker <uecker@eecs.berkeley.edu>
5714
5715 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5716 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5717
8243e2a9
JM
57182015-05-05 Jason Merrill <jason@redhat.com>
5719
5720 * c.opt (Wterminate): New.
5721
577cd070
MP
57222015-04-30 Marek Polacek <polacek@redhat.com>
5723
5724 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5725 require that the non-constant be of a boolean type.
5726
0373796b
JT
57272015-04-29 Josh Triplett <josh@joshtriplett.org>
5728
e0f0d3b9
MP
5729 * c-common.c (handle_section_attribute): Refactor to reduce
5730 nesting and distinguish between error cases.
0373796b 5731
716c0ba6
MP
57322015-04-29 Marek Polacek <polacek@redhat.com>
5733
5734 PR c/64610
5735 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5736 with 0/1.
5737
8848828b
JJ
57382015-04-29 Jakub Jelinek <jakub@redhat.com>
5739
5740 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5741 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5742 HOST_BITS_PER_WIDE_INT.
5743
ecd0e562
TV
57442015-04-28 Tom de Vries <tom@codesourcery.com>
5745
5746 PR tree-optimization/65887
5747 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5748
2a877204 57492015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 5750 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
5751
5752 * c-ada-spec.c (in_function): Delete.
5753 (dump_generic_ada_node): Do not change in_function and remove the
5754 redundant code dealing with it.
5755 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5756 (print_ada_methods): Output the static member functions in a nested
5757 package after the regular methods as well as associated renamings.
5758
4853031e
MP
57592015-04-24 Marek Polacek <polacek@redhat.com>
5760
5761 PR c/65830
5762 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5763 and OPT_Wshift_count_overflow.
5764
8c2b7f79
MP
5765 PR c/63357
5766 * c-common.c (warn_logical_operator): Warn if the operands have the
5767 same expressions.
5768
b8787813
MP
57692015-04-24 Marek Polacek <polacek@redhat.com>
5770
5771 PR c/61534
5772 * c-common.c (warn_logical_operator): Bail if either operand comes
5773 from a macro expansion.
5774
8fba1830
BRF
57752015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5776
5777 PR target/55143
5778 * c-common.c (c_default_pointer_mode): Add definition.
5779 * c-common.h (c_default_pointer_mode): Add declaration.
5780
17958621
JJ
57812015-03-11 Jakub Jelinek <jakub@redhat.com>
5782
5783 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5784 on record_builtin_type argument.
5785
7ccb1a11
JJ
57862015-03-10 Jakub Jelinek <jakub@redhat.com>
5787
5788 PR c/65120
5789 * c-common.c (warn_logical_not_parentheses): Don't warn for
5790 !x == 0 or !x != 0.
5791
04fd785e
MP
57922015-03-07 Marek Polacek <polacek@redhat.com>
5793
5794 PR sanitizer/65280
5795 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5796 before trying to figure out whether we have a flexible array member.
5797
a4e26206 57982015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5799 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
5800
5801 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5802
0d2489f4
EB
58032015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5804
5805 PR ada/65319
5806 * c-ada-spec.c (print_destructor): Remove obsolete code.
5807
83ed54d7
EB
58082015-03-01 Eric Botcazou <ebotcazou@adacore.com>
5809
5810 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5811 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5812 DECL_TEMPLATE_RESULT emulations.
5813 (dump_ada_template)): Add guard for TYPE_METHODS.
5814
7631f0e2
MP
58152015-02-27 Marek Polacek <polacek@redhat.com>
5816
5817 PR c/65040
5818 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5819
d1783ae5
KT
58202015-02-27 Kai Tietz <ktietz@redhat.com>
5821
5822 PR c/35330
5823 * c-pragma.c (handle_pragma_weak): Do not try to create
5824 weak/alias of declarations not being function, or variable
5825 declarations.
5826
56a9f6bc
TS
58272015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5828
5829 PR libgomp/64625
5830 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5831 Remove macros.
5832 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5833
3d5cb23d
MP
58342015-02-16 Marek Polacek <polacek@redhat.com>
5835
5836 PR c/65066
5837 * c-format.c (check_format_types): Handle null param.
5838
fa008882
MP
58392015-02-13 Marek Polacek <polacek@redhat.com>
5840
5841 PR c/65040
5842 * c-format.c (check_format_types): Don't warn about different
5843 signedness if the original value is in the range of WANTED_TYPE.
5844
785f21af
JM
58452015-02-12 Jason Merrill <jason@redhat.com>
5846
5847 PR c++/64956
5848 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
5849 to the current highest version.
5850 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5851
4886ec8e
JJ
58522015-02-04 Jakub Jelinek <jakub@redhat.com>
5853
5854 PR c/64824
5855 PR c/64868
5856 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5857 instead of RDIV_EXPR. Use build_binary_op instead of
5858 build2_loc.
5859
40fecdd6
JM
58602015-01-30 Joseph Myers <joseph@codesourcery.com>
5861
5862 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5863 to pass input_location as first argument.
5864
a0c88d06
TV
58652015-01-23 Tom de Vries <tom@codesourcery.com>
5866
5867 PR libgomp/64672
5868 * c.opt (fopenacc): Mark as LTO option.
5869
1506ae0e
TV
58702015-01-23 Tom de Vries <tom@codesourcery.com>
5871
5872 PR libgomp/64707
5873 * c.opt (fopenmp): Mark as LTO option.
5874
31be63ab
JJ
58752015-01-21 Jakub Jelinek <jakub@redhat.com>
5876
5877 PR c/63307
b1726d6c 5878 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
5879 (compare_decls): Fix up formatting.
5880
58812015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
5882
5883 PR c/63307
5884 * cilk.c: Include vec.h.
5885 (struct cilk_decls): New structure.
5886 (wrapper_parm_cb): Split this function to...
5887 (fill_decls_vec): ...this...
5888 (create_parm_list): ...and this.
5889 (compare_decls): New function.
5890 (for_local_cb): Remove.
5891 (wrapper_local_cb): Ditto.
5892 (build_wrapper_type): For now first traverse and fill vector of
5893 declarations then sort it and then deal with sorted vector.
5894 (cilk_outline): Ditto.
5895 (declare_one_free_variable): Ditto.
5896
6875457f
JM
58972015-01-21 Jason Merrill <jason@redhat.com>
5898
5899 PR c++/64629
5900 * c-format.c (check_format_arg): Call decl_constant_value.
5901
185c9e56
ML
59022015-01-19 Martin Liska <mliska@suse.cz>
5903
5904 * c-common.c (handle_noicf_attribute): New function.
5905
41dbbb37
TS
59062015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5907 Bernd Schmidt <bernds@codesourcery.com>
5908 James Norris <jnorris@codesourcery.com>
5909 Cesar Philippidis <cesar@codesourcery.com>
5910 Ilmir Usmanov <i.usmanov@samsung.com>
5911 Jakub Jelinek <jakub@redhat.com>
5912
5913 * c.opt (fopenacc): New option.
5914 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5915 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5916 New macros.
5917 * c-common.h (c_finish_oacc_wait): New prototype.
5918 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5919 (c_finish_oacc_wait): New function.
5920 * c-pragma.c (oacc_pragmas): New variable.
5921 (c_pp_lookup_pragma, init_pragma): Handle it.
5922 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5923 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5924 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5925 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5926 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5927 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5928 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5929 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5930 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5931 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5932 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5933 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5934 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5935 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5936 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5937 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5938 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5939 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5940 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5941 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5942 PRAGMA_OACC_CLAUSE_WORKER.
5943
3f8257db 59442015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
5945
5946 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5947 for the new option fstack-protector_explicit.
5948 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
5949 (handle_stack_protect_attribute): New function.
5950
3f8257db 59512015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5952
5953 * c.opt: New option -Warray-bounds=.
5954
adfac8df
JJ
59552015-01-09 Michael Collison <michael.collison@linaro.org>
5956
5957 * array-notation-common.c: Include hash-set.h, machmode.h,
5958 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5959 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5960 * c-ada-spec.c: Ditto.
5961 * c-cilkplus.c: Ditto.
5962 * c-common.c: Include input.h due to flattening of tree.h.
5963 Define macro GCC_C_COMMON_C.
5964 * c-common.h: Flatten tree.h header files into c-common.h.
5965 Remove include of tree-core.h.
5966 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5967 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5968 fold-const.h, wide-int.h, and inchash.h due to
5969 flattening of tree.h.
5970 * c-dump.c: Ditto.
5971 * c-format.c: Flatten tree.h header files into c-common.h.
5972 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5973 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5974 fold-const.h, wide-int.h, and inchash.h due to
5975 flattening of tree.h.
5976 * c-dump.c: Include hash-set.h, machmode.h,
5977 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5978 fold-const.h, wide-int.h, and inchash.h due to
5979 flattening of tree.h.
5980 * c-format.c: Include hash-set.h, machmode.h,
5981 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5982 fold-const.h, wide-int.h, inchash.h and real.h due to
5983 flattening of tree.h.
5984 * c-gimplify.c: Include hash-set.h, machmode.h,
5985 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5986 fold-const.h, wide-int.h, and inchash.h due to
5987 flattening of tree.h.
5988 * cilk.c: Ditto.
5989 * c-lex.c: Ditto.
5990 * c-omp.c: Ditto.
5991 * c-opts.c: Ditto.
5992 * c-pch.c: Ditto.
5993 * c-ppoutput.c: Ditto.
5994 * c-pragma.c: Ditto.
5995 * c-pretty-print.c: Ditto.
5996 * c-semantics.c: Ditto.
5997 * c-ubsan.c: Ditto.
5998 * stub-objc.c: Ditto.
5999
f5481fc4
JM
60002015-01-08 Jason Merrill <jason@redhat.com>
6001
6002 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6003 do_ubsan_in_current_function.
6004 (ubsan_maybe_instrument_reference_or_call): Likewise.
6005 * c-ubsan.h: Declare it.
6006
de35aa66
MS
60072015-01-08 Mike Stump <mikestump@comcast.net>
6008
6009 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6010
4a9a42ab
MP
60112015-01-07 Marek Polacek <polacek@redhat.com>
6012
6013 PR c/64440
6014 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6015 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6016
2f42e5de
TS
60172015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6018
6019 PR c++/31397
6020 * c.opt (Wsuggest-override): New option.
6021
5624e564
JJ
60222015-01-05 Jakub Jelinek <jakub@redhat.com>
6023
6024 Update copyright years.
6025
5bd012f8
MP
60262015-01-05 Marek Polacek <polacek@redhat.com>
6027
6028 PR c/64423
6029 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6030 parameter. Use it.
6031 * c-common.h (warn_array_subscript_with_type_char): Update
6032 declaration.
6033
a7fa8d18
ESR
60342014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6035
6036 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6037 Control macro with flag_sized_deallocation.
6038
3f8257db 60392014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
6040
6041 * c.opt (Wdiscarded-array-qualifiers): New option.
6042
1f8d3e84
JJ
60432014-12-19 Jakub Jelinek <jakub@redhat.com>
6044
6045 PR preprocessor/63831
6046 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6047 and __has_cpp_attribute here.
6048 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6049 c_common_has_attribute.
6050 * c-common.h (c_common_has_attribute): New prototype.
6051 * c-lex.c (init_c_lex): Set cb->has_attribute to
6052 c_common_has_attribute instead of cb_has_attribute.
6053 (get_token_no_padding): New function.
6054 (cb_has_attribute): Renamed to ...
6055 (c_common_has_attribute): ... this. No longer static. Use
6056 get_token_no_padding, require ()s, don't build TREE_LIST
6057 unnecessarily, fix up formatting, adjust diagnostics, call
6058 init_attributes.
6059
20b06add
JM
60602014-12-15 Jason Merrill <jason@redhat.com>
6061
6062 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6063 (-Wsized-deallocation): New.
6064 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6065 to on in C++14 and up.
6066
94a073b2
JM
60672014-12-11 Jason Merrill <jason@redhat.com>
6068
acaa5911
JM
6069 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6070
94a073b2
JM
6071 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6072 we aren't complaining about VLAs.
6073
7fb66c15
MP
60742014-12-06 Marek Polacek <polacek@redhat.com>
6075
6076 PR tree-optimization/64183
6077 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6078 shift-expression if it is integer_type_node. Use types_compatible_p.
6079
b731b390
JJ
60802014-11-29 Jakub Jelinek <jakub@redhat.com>
6081
6082 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6083 last argument from create_tmp_var_raw and create_tmp_var calls.
6084 * cilk.c (gimplify_cilk_spawn): Likewise.
6085 * c-omp.c (c_finish_omp_atomic): Likewise.
6086
6a4da643
MP
60872014-11-28 Marek Polacek <polacek@redhat.com>
6088
6089 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6090 instead of unsigned_type_node.
6091
541e35a6
MP
60922014-11-28 Marek Polacek <polacek@redhat.com>
6093
6094 PR c/63862
6095 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6096 to op1_utype.
6097 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6098 expression to unsigned_type_node.
6099
dcc97066
MW
61002014-11-20 Mark Wielaard <mjw@redhat.com>
6101
6102 PR debug/38757
6103 * c-opts.c (set_std_c89): Set lang_hooks.name.
6104 (set_std_c99): Likewise.
6105 (set_std_c11): Likewise.
6106 (set_std_cxx98): Likewise.
6107 (set_std_cxx11): Likewise.
6108 (set_std_cxx14): Likewise.
6109 (set_std_cxx1z): Likewise.
6110
aa7da51a
JJ
61112014-11-21 Jakub Jelinek <jakub@redhat.com>
6112
6113 PR target/63764
6114 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6115 return type to bool.
009a3480 6116 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
6117 (convert_vector_to_pointer_for_subscript): Change return type to
6118 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6119 and copy it into a TARGET_EXPR and use that instead of *vecp
6120 directly.
6121
538dd0b7
DM
61222014-11-19 David Malcolm <dmalcolm@redhat.com>
6123
6124 Merger of git branch "gimple-classes-v2-option-3".
6125 * ChangeLog.gimple-classes: New.
6126 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6127 from being just a vec<gimple> to a vec<gbind *>.
6128
c39a5e99
JJ
61292014-11-18 Jakub Jelinek <jakub@redhat.com>
6130
6131 PR sanitizer/63813
6132 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6133 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6134 get_pointer_alignment for non-pointers. Use ptype, or if it is
6135 reference type, corresponding pointer type, as type of kind
6136 argument.
6137 (ubsan_maybe_instrument_reference,
6138 ubsan_maybe_instrument_member_call): Adjust callers.
6139
8537a4a9
MP
61402014-11-15 Marek Polacek <polacek@redhat.com>
6141
6142 PR middle-end/63884
6143 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6144 for NULL fndecl.
6145 (extract_array_notation_exprs): Return for NULL node.
6146
2079956a
JM
61472014-11-12 Joseph Myers <joseph@codesourcery.com>
6148
6149 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6150 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6151
1304953e
JJ
61522014-11-12 Jakub Jelinek <jakub@redhat.com>
6153
6154 PR c/59708
6155 * c-common.c (check_builtin_function_arguments): Handle
6156 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6157
e5e44252
AK
61582014-11-10 Andi Kleen <ak@linux.intel.com>
6159
6160 PR c/60804
6161 * c-common.h (check_no_cilk): Declare.
6162 * cilk.c (get_error_location): New function.
6163 (check_no_cilk): Dito.
6164
e64b984d
AK
61652014-11-10 Andi Kleen <ak@linux.intel.com>
6166
6167 * cilk.c (recognize_spawn): Use expression location
6168 for error message.
6169
13c21655
PC
61702014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6171
6172 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6173
42fd12b1
ESR
61742014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6175
6176 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6177 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6178 (__cpp_range_based_for, __cpp_initializer_lists,
6179 __cpp_delegating_constructors, __cpp_nsdmi,
6180 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6181 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6182 __has_cpp_attribute.
6183 * c-lex.c (cb_has_attribute): New callback CPP function;
6184 (init_c_lex): Set has_attribute callback.
6185
6f450181
RB
61862014-11-04 Richard Biener <rguenther@suse.de>
6187
6188 * c-common.c (shorten_compare): Do not shorten mixed
6189 DFP and non-DFP compares.
6190
26f0e1d6
ESR
61912014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6192
6193 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6194 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6195 Commentary and rearrangement of tests.
6196 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6197 Commentary and rearrangement of tests.
ab20d992 6198 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
6199 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6200
ef4bddc2
RS
62012014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6202
6203 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6204 enum from machine_mode.
6205
c582198b
AM
62062014-10-28 Andrew MacLeod <amacleod@redhat.com>
6207
adfac8df
JJ
6208 * c-common.c: Adjust include files.
6209 * c-gimplify.c: Ditto.
6210 * cilk.c: Ditto.
6211 * c-pragma.c: Ditto.
6212 * c-ubsan.c: Ditto.
c582198b 6213
60393bbc
AM
62142014-10-27 Andrew MacLeod <amacleod@redhat.com>
6215
6216 * c-gimplify.c: Adjust include files.
6217
d723bb7c
MLI
62182014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6219
6220 PR c++/53061
6221 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6222 c_common_initialize_diagnostics.
6223 * c-common.h: Likewise.
6224
90f3520e
MP
62252014-10-24 Marek Polacek <polacek@redhat.com>
6226
6227 PR c/56980
6228 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6229 print "struct"/"union"/"enum" for typedefed names.
6230
59d7607a
MP
62312014-10-23 Marek Polacek <polacek@redhat.com>
6232
6233 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6234 in unsigned type.
6235
d95a2703
JJ
62362014-10-22 Jakub Jelinek <jakub@redhat.com>
6237 Yury Gribov <y.gribov@samsung.com>
6238
6239 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6240 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6241 instead of flag_sanitize_recover as bool flag.
6242
8e6ef852
KY
62432014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6244
6245 * cilk.c: Revert previous change.
6246
948cf550
IZ
62472014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6248
6249 PR c/63307
6250 * cilk.c: Include vec.h.
6251 (struct cilk_decls): New structure.
6252 (wrapper_parm_cb): Split this function to...
6253 (fill_decls_vec): ...this...
6254 (create_parm_list): ...and this.
6255 (compare_decls): New function.
6256 (for_local_cb): Remove.
6257 (wrapper_local_cb): Ditto.
6258 (build_wrapper_type): For now first traverse and fill vector of
6259 declarations then sort it and then deal with sorted vector.
6260 (cilk_outline): Ditto.
6261 (declare_one_free_variable): Ditto.
6262
92574c7c
MP
62632014-10-17 Marek Polacek <polacek@redhat.com>
6264
6265 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6266 * c.opt (Wimplicit-int): Initialize to -1.
6267
83685514
AM
62682014-10-16 Andrew MacLeod <amacleod@redhat.com>
6269
6270 * c-pragma.c: Adjust include files.
6271 * c-semantics.c: Likewise.
6272
5b8300ea
DD
62732014-10-16 DJ Delorie <dj@redhat.com>
6274
6275 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6276 multiples of bytes.
6277
5f83e90b
JM
62782014-10-14 Jason Merrill <jason@redhat.com>
6279
6280 PR c++/63455
6281 * c-common.h (CPP_PREPARSED_EXPR): New.
6282 (N_CP_TTYPES): Adjust.
6283
d73326ca
MP
62842014-10-15 Marek Polacek <polacek@redhat.com>
6285
6286 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6287
78a7c317
DD
62882014-10-14 DJ Delorie <dj@redhat.com>
6289
6290 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6291 types, not just __int128.
6292 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6293 types, not just __int128.
6294 (cpp_atomic_builtins): Round pointer sizes up.
6295 (type_suffix): Use type precision, not specific types.
6296 * c-common.c (c_common_reswords): Remove __int128 special case.
6297 (c_common_type_for_size): Check for all __intN types, not just
6298 __int128.
6299 (c_common_type_for_mode): Likewise.
6300 (c_common_signed_or_unsigned_type): Likewise.
6301 (c_build_bitfield_integer_type): Likewise.
6302 (c_common_nodes_and_builtins): Likewise.
6303 (keyword_begins_type_specifier): Likewise.
6304 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6305 __intN variants.
6306
2a22f99c
TS
63072014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6308
6309 * c-common.c: Use hash_table instead of hashtab.
6310
2a8ef767
ESR
63112014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6312
adfac8df 6313 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
6314 C++11 section.
6315
3c9aabbd
MG
63162014-10-03 Marc Glisse <marc.glisse@inria.fr>
6317
6318 PR c++/54427
6319 PR c++/57198
6320 PR c++/58845
6321 * c-common.c (warn_logical_operator): Punt for vectors.
6322
a15f7cb8
ESR
63232014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6324
6325 Implement SD-6: SG10 Feature Test Recommendations
6326 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6327 macros and the __has_header macro.
6328
8d0cf15e
JM
63292014-09-30 Jason Merrill <jason@redhat.com>
6330
dd5d5481
JM
6331 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6332 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6333 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6334
b752325e
JM
6335 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6336 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6337
8d0cf15e
JM
6338 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6339 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6340
083e891e
MP
63412014-09-24 Marek Polacek <polacek@redhat.com>
6342
6343 PR c/61405
6344 PR c/53874
6345 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6346
7861b648
AK
63472014-09-23 Andi Kleen <ak@linux.intel.com>
6348
6349 * c-common.c (handle_no_reorder_attribute): New function.
6350 (c_common_attribute_table): Add no_reorder attribute.
6351
9a79452d
JM
63522014-09-22 Joseph Myers <joseph@codesourcery.com>
6353
6354 * c-cppbuiltin.c (c_cpp_builtins): Define
6355 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6356 modes.
6357
dd69f047
JM
63582014-09-18 Joseph Myers <joseph@codesourcery.com>
6359
6360 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6361 for supported floating-point modes.
6362
737a4826
MLI
63632014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6364
6365 * c.opt (Wpsabi): Use LangEnabledBy.
6366 * c-opts.c (c_common_handle_option): Do not handle here.
6367
8cc4b7a2
JM
63682014-09-12 Joseph Myers <joseph@codesourcery.com>
6369
6370 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6371 macros for floating-point modes.
6372
179b5a55
MG
63732014-09-11 Marc Glisse <marc.glisse@inria.fr>
6374
6375 PR target/58757
6376 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6377 __*_DENORM_MIN__ without denormals.
6378
570a11fe
JJ
63792014-09-10 Jakub Jelinek <jakub@redhat.com>
6380
6381 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6382 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6383 ubsan_create_data callers.
6384 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6385 index is constant or BIT_AND_EXPR with constant mask and is
6386 small enough for the bound.
6387 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6388 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6389
b559c810
MLI
63902014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6391
6392 * c.opt: Add CppReason to various flags.
6393 (Wdate-time): Re-sort.
6394 * c-common.c: Include c-common.h earlier.
6395 (struct reason_option_codes_t): Delete.
6396 (c_option_controlling_cpp_error): Prefix global type and struct
6397 with cpp_.
6398
1ef33fd4
MLI
63992014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6400
6401 * c.opt (Wnormalized): New.
6402 (Wnormalized=): Use Enum and Reject Negative.
6403 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6404
66bb34c0
JM
64052014-09-08 Joseph Myers <joseph@codesourcery.com>
6406
6407 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6408 digits of floating-point modes if -fbuilding-libgcc.
6409
53d68b9f
JM
64102014-09-05 Joseph Myers <joseph@codesourcery.com>
6411
6412 * c-cppbuiltin.c (c_cpp_builtins): Also define
6413 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6414 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6415 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6416 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6417 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6418 __LIBGCC_STACK_GROWS_DOWNWARD__,
6419 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6420 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6421 __LIBGCC_DWARF_FRAME_REGISTERS__,
6422 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6423 __LIBGCC_STACK_POINTER_REGNUM__ and
6424 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6425 (builtin_define_with_value): Handle backslash-escaping in string
6426 macro values.
6427
f65586dc
RB
64282014-09-05 Richard Biener <rguenther@suse.de>
6429
6430 PR middle-end/63148
6431 * c-format.c (check_format_arg): Properly handle
6432 effectively signed POINTER_PLUS_EXPR offset.
6433
2b71f4a4
MLI
64342014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6435
6436 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6437 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6438 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6439 and Init.
6440 * c-opts.c (c_common_handle_option): Do not handle here.
6441 (sanitize_cpp_opts): Likewise.
6442 * c-common.c (struct reason_option_codes_t): Handle
6443 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6444
d2e4feca
MP
64452014-09-03 Marek Polacek <polacek@redhat.com>
6446
6447 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6448
9a771876
JJ
64492014-09-02 Jakub Jelinek <jakub@redhat.com>
6450 Balaji V. Iyer <balaji.v.iyer@intel.com>
6451 Igor Zamyatin <igor.zamyatin@intel.com>
6452
6453 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6454 * c-common.c (c_common_reswords): Added _Cilk_for.
6455 * c-common.h (enum rid): Added RID_CILK_FOR.
6456 (cilk_for_number_of_iterations): Add declaration.
6457 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6458 CILK_FOR.
6459 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6460 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6461
81b5d104
MLI
64622014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6463
6464 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6465 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6466 Wundef): Use CPP, Var and Init.
6467 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6468
b753b37b
MLI
64692014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6470
6471 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6472 * c-opts.c (c_common_handle_option): Do not handle here.
6473
028aee17
JM
64742014-08-25 Jason Merrill <jason@redhat.com>
6475
6476 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6477 -std=c++14 and -std=gnu++14, rather than the reverse.
6478 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6479 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6480 * c-common.h (cxx_dialect): Remove cxx1y.
6481
e4276ba5
ESR
64822014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6483
6484 * c-common.h (enum cxx_dialect): Add cxx14.
6485 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6486 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6487 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6488
a545cacd
JM
64892014-08-22 Jason Merrill <jason@redhat.com>
6490
6491 * c.opt (std=gnu++17): Fix alias.
6492
59ea0364
MP
64932014-08-22 Marek Polacek <polacek@redhat.com>
6494
6495 PR c++/62199
6496 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6497 check for vector types. Drop LHS argument.
6498 * c-common.h (warn_logical_not_parentheses): Adjust.
6499
596e808c
MLI
65002014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6501
6502 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6503 (Wmultichar): Likewise.
6504 (Wdate-time): Use C-family languages instead of Common. Use CPP
6505 and Var.
6506 * c-opts.c (c_common_handle_option): Do not handle the above
6507 options here.
6508 (sanitize_cpp_opts): Likewise.
6509
18767f65
MLI
65102014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6511
6512 PR fortran/44054
6513 * c-opts.c: Include tree-diagnostics.h.
6514 (c_diagnostic_finalizer): New.
6515 (c_common_initialize_diagnostics): Use it.
6516
b4413594
MLI
65172014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6518
6519 PR preprocessor/51303
6520 * c-common.c (struct reason_option_codes_t option_codes):
6521 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6522
43f9a13c
MLI
65232014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6524
6525 PR c/60975
6526 PR c/53063
6527 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6528 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6529 (c_common_post_options): Call init_global_opts_from_cpp.
6530 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6531
04159acf
MP
65322014-08-19 Marek Polacek <polacek@redhat.com>
6533
6534 PR c++/62153
6535 * c-common.c (maybe_warn_bool_compare): New function.
6536 * c-common.h (maybe_warn_bool_compare): Declare.
6537 * c.opt (Wbool-compare): New option.
6538
35aff4fb
MP
65392014-08-19 Marek Polacek <polacek@redhat.com>
6540
6541 * c.opt (Wc99-c11-compat): New option.
6542
177cce46
MP
65432014-08-19 Marek Polacek <polacek@redhat.com>
6544
6545 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6546 to warn_c90_c99_compat.
6547 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6548 to -1.
6549
6ae9194f
MLI
65502014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6551 Steven Bosscher <steven@gcc.gnu.org>
6552
6553 PR c/52952
6554 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6555 format_check_results.
6556 (check_function_format): Use true and add comment for boolean
6557 argument.
6558 (finish_dollar_format_checking): Use explicit location when warning.
6559 (check_format_info): Likewise.
6560 (check_format_arg): Set extra_arg_loc and format_string_loc.
6561 (check_format_info_main): Use explicit location when warning.
6562 (check_format_types): Pass explicit location.
6563 (format_type_warning): Likewise.
6564
8e54f6d3
MLI
65652014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6566
6567 PR fortran/44054
6568 * c-format.c: Handle Fortran flags.
6569
cd4e76fc
IZ
65702014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6571
6572 PR other/61962
6573 * array-notation-common.c (find_rank): Added handling for other
6574 types of references.
6575
f3bede71
MP
65762014-08-10 Marek Polacek <polacek@redhat.com>
6577
6578 PR c/51849
6579 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6580 * c.opt (Wc90-c99-compat): Add option.
6581
9f25a338
TS
65822014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6583
6584 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6585
62e4eb35
MP
65862014-08-03 Marek Polacek <polacek@redhat.com>
6587
ab20d992 6588 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
6589 (c_add_case_label): Pass loc to check_case_value.
6590
b787e7a2
TS
65912014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6592
6593 * cilk.c: Use hash_map instead of pointer_map.
6594
6e2830c3
TS
65952014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6596
6597 * c-gimplify.c: Use hash_set instead of pointer_set.
6598
a7ee52fb
IZ
65992014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6600
6601 PR middle-end/61455
6602 * array-notation-common.c (extract_array_notation_exprs): Handling
6603 of DECL_EXPR added.
6604
944fa280
JJ
66052014-08-01 Jakub Jelinek <jakub@redhat.com>
6606
6607 * c-common.h (min_align_of_type): Removed prototype.
6608 * c-common.c (min_align_of_type): Removed.
6609 * c-ubsan.h (ubsan_maybe_instrument_reference,
6610 ubsan_maybe_instrument_member_call): New prototypes.
6611 * c-ubsan.c: Include stor-layout.h and builtins.h.
6612 (ubsan_maybe_instrument_reference_or_call,
6613 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6614 functions.
6615
b4dfdc11
MG
66162014-07-31 Marc Glisse <marc.glisse@inria.fr>
6617
6618 PR c++/60517
6619 * c.opt (-Wreturn-local-addr): Move to common.opt.
6620
a41844e5
JM
66212014-07-30 Jason Merrill <jason@redhat.com>
6622
6623 PR c++/61659
6624 PR c++/61687
6625 Revert:
6626 * c.opt (-fuse-all-virtuals): New.
6627
976d5a22
TT
66282014-07-30 Tom Tromey <tromey@redhat.com>
6629
6630 PR c/59855
6631 * c.opt (Wdesignated-init): New option.
6632 * c-common.c (c_common_attribute_table): Add "designated_init".
6633 (handle_designated_init): New function.
6634
cdc94aca
MP
66352014-07-24 Marek Polacek <polacek@redhat.com>
6636
6637 PR c/57653
6638 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6639
f41373b6
DS
66402014-07-16 Dodji Seketeli <dodji@redhat.com>
6641
6642 PR preprocessor/60723 - missing system-ness marks for macro tokens
6643 * c-ppoutput.c (struct print::prev_was_system_token): New data
6644 member.
6645 (init_pp_output): Initialize it.
6646 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6647 (do_line_change): Return a flag saying if a line marker was
6648 emitted or not.
6649 (scan_translation_unit): Detect if the system-ness of the token we
6650 are about to emit is different from the one of the previously
6651 emitted token. If so, emit a line marker. Avoid emitting useless
6652 adjacent line markers. Avoid emitting line markers for tokens
6653 originating from the expansion of built-in macros.
6654 (scan_translation_unit_directives_only): Adjust.
6655
4d661eaa
MP
66562014-07-15 Marek Polacek <polacek@redhat.com>
6657
6658 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6659 TYPE_MAX_VALUE is NULL.
6660
b108f48f
JJ
66612014-07-14 Jakub Jelinek <jakub@redhat.com>
6662
6663 PR middle-end/61294
6664 * c.opt (Wmemset-transposed-args): New warning.
6665
c0221884
JM
66662014-07-10 Jason Merrill <jason@redhat.com>
6667
6668 PR c++/61659
6669 PR c++/61687
6670 * c.opt (-fuse-all-virtuals): New.
6671
63dfbb95
RB
66722014-07-09 Richard Biener <rguenther@suse.de>
6673
6674 PR c-family/61741
6675 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6676 using unsigned arithmetic if overflow does not wrap instead of
6677 if overflow is undefined.
6678
773ec47f
MP
66792014-07-06 Marek Polacek <polacek@redhat.com>
6680
6681 PR c/6940
6682 * c.opt (Wsizeof-array-argument): New option.
6683
00a7ba58
JJ
66842014-07-03 Jakub Jelinek <jakub@redhat.com>
6685
b1726d6c 6686 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6687 comments->count <= 1, as comments->entries might be NULL.
6688
52ec0ea3
MP
66892014-07-01 Marek Polacek <polacek@redhat.com>
6690
6691 * c.opt (Wint-conversion): New option.
6692
d5c3d343
MP
66932014-07-01 Marek Polacek <polacek@redhat.com>
6694
6695 PR c/58286
6696 * c.opt (Wincompatible-pointer-types): New option.
6697
6e7ceb17
PC
66982014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6699
6700 PR c++/51400
6701 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6702 Do not discard TYPE_QUALS of type.
6703
da73100b
JM
67042014-06-26 Jason Merrill <jason@redhat.com>
6705
6706 * c-common.h (enum cxx_dialect): Add cxx1z.
6707 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6708 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6709
08eedf75
TJ
67102014-06-26 Teresa Johnson <tejohnson@google.com>
6711
6712 * c-common.h (get_dump_info): Declare.
6713 * c-gimplify.c (c_genericize): Use saved dump files.
6714 * c-opts.c (c_common_parse_file): Begin and end dumps
6715 once around parsing invocation.
6716 (get_dump_info): New function.
6717
7b56b2f8
MP
67182014-06-23 Marek Polacek <polacek@redhat.com>
6719 Andrew MacLeod <amacleod@redhat.com>
6720
6721 PR c/61553
6722 * c-common.c (get_atomic_generic_size): Don't segfault if the
6723 type doesn't have a size.
6724
0e37a2f3
MP
67252014-06-20 Marek Polacek <polacek@redhat.com>
6726
6727 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6728 (ubsan_walk_array_refs_r): New function.
6729 (c_genericize): Instrument array bounds.
6730 * c-ubsan.c: Include "internal-fn.h".
6731 (ubsan_instrument_division): Mark instrumented arrays as having
6732 side effects. Adjust ubsan_type_descriptor call.
6733 (ubsan_instrument_shift): Likewise.
6734 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6735 (ubsan_instrument_bounds): New function.
6736 (ubsan_array_ref_instrumented_p): New function.
6737 (ubsan_maybe_instrument_array_ref): New function.
6738 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6739 (ubsan_array_ref_instrumented_p): Declare.
6740 (ubsan_maybe_instrument_array_ref): Declare.
6741
67422014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6743
6744 PR lto/61123
6745 * c.opt (fshort-enums): Add to LTO.
6746 * c.opt (fshort-wchar): Likewise.
6747
5c3d09f7
MP
67482014-06-16 Marek Polacek <polacek@redhat.com>
6749
6750 PR c/60439
6751 * c.opt (Wswitch-bool): Add Var.
6752
9cf32741
JJ
67532014-06-12 Jakub Jelinek <jakub@redhat.com>
6754
6755 PR middle-end/61486
6756 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6757 #pragma omp target teams or
6758 #pragma omp {,target }teams distribute simd.
6759
62984918
JM
67602014-06-12 Jason Merrill <jason@redhat.com>
6761
6762 * c.opt (Wabi=, fabi-compat-version): New.
6763 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6764 (c_common_post_options): Handle flag_abi_compat_version default.
6765 Disallow -fabi-compat-version=1.
6766 * c-common.h (abi_version_crosses): New.
6767
f961457f
JH
67682014-06-11 Jan Hubicka <hubicka@ucw.cz>
6769
adfac8df 6770 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
6771 section names that are no longer trees.
6772
92d28cbb
JJ
67732014-06-10 Jakub Jelinek <jakub@redhat.com>
6774
6775 PR fortran/60928
6776 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6777 (omp_pragmas): ... back here.
6778
742938c9
MP
67792014-06-05 Marek Polacek <polacek@redhat.com>
6780
6781 PR c/49706
6782 * c-common.c (warn_logical_not_parentheses): New function.
6783 * c-common.h (warn_logical_not_parentheses): Declare.
6784 * c.opt (Wlogical-not-parentheses): New option.
6785
9d548dfb
MP
67862014-06-04 Marek Polacek <polacek@redhat.com>
6787
6788 PR c/30020
6789 * c-common.c (check_case_bounds): Add location parameter.
6790 Use it.
6791 (c_add_case_label): Pass loc to check_case_bounds.
6792
fedfecef
MP
67932014-06-03 Marek Polacek <polacek@redhat.com>
6794
6795 PR c/60439
6796 * c.opt (Wswitch-bool): New option.
6797
f6a7cffc
TS
67982014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6799
040d18b6
TS
6800 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6801 Remove prototypes.
6802 (record_types_used_by_current_var_decl): Move prototype to where
6803 it belongs.
6804
f6a7cffc
TS
6805 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6806 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6807 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6808
632f2871
RS
68092014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6810
6811 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6812 * c-common.c (c_common_nodes_and_builtins): Don't initialize
6813 void_zero_node.
6814 * c-pretty-print.c (pp_c_void_constant): New function.
6815 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
6816 (c_pretty_printer::expression): Handle VOID_CST.
6817 * cilk.c (extract_free_variables): Likewise.
6818 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6819 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6820
766090c2
TS
68212014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6822
6823 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6824 * c-pragma.c (push_alignment): Adjust.
6825 (handle_pragma_push_options): Likewise.
6826
661a0813
MP
68272014-05-09 Marek Polacek <polacek@redhat.com>
6828
6829 PR c/50459
6830 * c-common.c (check_user_alignment): Return -1 if alignment is error
6831 node.
6832 (handle_aligned_attribute): Don't call default_conversion on
6833 FUNCTION_DECLs.
6834 (handle_vector_size_attribute): Likewise.
6835 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6836 (handle_sentinel_attribute): Call default_conversion and allow even
6837 integral types as an argument.
6838
2793eeab
MP
68392014-05-08 Marek Polacek <polacek@redhat.com>
6840
6841 PR c/61053
6842 * c-common.c (min_align_of_type): New function factored out from...
6843 (c_sizeof_or_alignof_type): ...here.
6844 * c-common.h (min_align_of_type): Declare.
6845
f827930a
MP
68462014-05-08 Marek Polacek <polacek@redhat.com>
6847
6848 PR c/61077
6849 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6850 parameter type of main.
6851
ca49b74e
DD
68522014-05-07 DJ Delorie <dj@redhat.com>
6853
6854 * c-cppbuiltin.c (print_bits_of_hex): New.
6855 (builtin_define_type_minmax): Print values using hex so as not to
6856 require a pre-computed list of string values.
6857
1d60af08
KZ
68582014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6859 Mike Stump <mikestump@comcast.net>
6860 Richard Sandiford <rdsandiford@googlemail.com>
6861
6862 * c-ada-spec.c: Include wide-int.h.
6863 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6864 (dump_generic_ada_node): Use wide-int interfaces.
6865 * c-common.c: Include wide-int-print.h.
6866 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6867 (pointer_int_sum): Use wide-int interfaces.
6868 (c_common_nodes_and_builtins): Use make_int_cst.
6869 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6870 (handle_alloc_size_attribute): Use wide-int interfaces.
6871 (get_nonnull_operand): Likewise.
6872 * c-format.c (get_constant): Use tree_fits_uhwi_p.
6873 * c-lex.c: Include wide-int.h.
6874 (narrowest_unsigned_type): Take a widest_int rather than two
6875 HOST_WIDE_INTs.
6876 (narrowest_signed_type): Likewise.
6877 (interpret_integer): Update accordingly. Use wide-int interfaces.
6878 (lex_charconst): Use wide-int interfaces.
6879 * c-pretty-print.c: Include wide-int.h.
6880 (pp_c_integer_constant): Use wide-int interfaces.
6881 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6882 INT_CST_LT_UNSIGNED.
6883
b15458be
RB
68842014-05-06 Richard Biener <rguenther@suse.de>
6885
6886 * c-opts.c (c_common_post_options): For -freestanding,
6887 -fno-hosted and -fno-builtin disable pattern recognition
6888 if not enabled explicitely.
6889
6577374e
MP
68902014-05-02 Marek Polacek <polacek@redhat.com>
6891
6892 * c.opt (Wsizeof-pointer-memaccess): Describe option.
6893
d00887e8
MP
68942014-05-01 Marek Polacek <polacek@redhat.com>
6895
6896 PR c/43245
6897 * c.opt (Wdiscarded-qualifiers): Add.
6898
f8ed5150
MP
68992014-04-30 Marek Polacek <polacek@redhat.com>
6900
6901 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
6902 INT_MIN / -1 sanitization only for integer types.
6903
45484dcf
MP
69042014-04-25 Marek Polacek <polacek@redhat.com>
6905
6906 PR c/18079
6907 * c-common.c (handle_noinline_attribute): Warn if the attribute
6908 conflicts with always_inline attribute.
6909 (handle_always_inline_attribute): Warn if the attribute conflicts
6910 with noinline attribute.
6911
38e514c0
MP
69122014-04-25 Marek Polacek <polacek@redhat.com>
6913
6914 PR c/60156
6915 * c-common.c (check_main_parameter_types): Warn about variadic main.
6916
44875f92
MS
69172014-04-24 Mike Stump <mikestump@comcast.net>
6918
6919 * c.opt (Wshadow-ivar): Default to on.
6920
dcaaa5a0
DP
69212014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6922
6923 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6924
c07d7c02
MP
69252014-04-23 Marek Polacek <polacek@redhat.com>
6926
6927 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
6928
1c33c9b7
JJ
69292014-04-22 Jakub Jelinek <jakub@redhat.com>
6930
6931 PR sanitizer/60275
6932 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6933 if flag_sanitize_undefined_trap_on_error.
6934 (ubsan_instrument_division, ubsan_instrument_shift,
6935 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
6936 if !flag_sanitize_recover.
6937
793c625f
MG
69382014-04-22 Marc Glisse <marc.glisse@inria.fr>
6939
6940 PR libstdc++/43622
6941 * c-common.c (registered_builtin_types): Make non-static.
6942 * c-common.h (registered_builtin_types): Declare.
6943
b0f1bf36 69442014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 6945 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
6946
6947 PR c/60819
6948 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
6949 apply may-alias the scalar pointer type when applicable.
6950
3b07fa4a
IZ
69512014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
6952
6953 PR middle-end/60467
6954 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6955 as possible argument for Cilk_spawn.
6956
cbbd2b1c
TB
69572014-04-11 Tobias Burnus <burnus@net-b.de>
6958
6959 PR c/60194
6960 * c.opt (Wformat-signedness): Add
6961 * c-format.c(check_format_types): Use it.
6962
6415bd5d
JM
69632014-04-11 Jason Merrill <jason@redhat.com>
6964
6965 PR c++/57926
6966 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6967 default_conversion for an array argument.
6968
6525783a
MP
69692014-04-08 Marek Polacek <polacek@redhat.com>
6970
6971 PR sanitizer/60745
6972 * c-ubsan.c: Include asan.h.
6973 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
6974
880a467b
NS
69752014-04-03 Nathan Sidwell <nathan@codesourcery.com>
6976
6977 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6978
7b59ff2d
MP
69792014-04-02 Marek Polacek <polacek@redhat.com>
6980
6981 * c-common.h (c_expand_expr): Remove declaration.
6982
8edbfaa6
JJ
69832014-03-28 Jakub Jelinek <jakub@redhat.com>
6984
6985 PR c++/60689
6986 * c-common.c (add_atomic_size_parameter): When creating new
6987 params vector, push the size argument first.
6988
07d72e1d
JJ
69892014-03-26 Jakub Jelinek <jakub@redhat.com>
6990
6991 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6992 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6993 ubsan_create_data callers.
6994
b35e0fa0
JJ
69952014-03-22 Jakub Jelinek <jakub@redhat.com>
6996
6997 PR debug/60603
6998 * c-opts.c (c_finish_options): Restore cb_file_change call to
6999 <built-in>.
7000
39a1ebb3
JJ
70012014-03-13 Jakub Jelinek <jakub@redhat.com>
7002
7003 PR middle-end/36282
7004 * c-pragma.c (apply_pragma_weak): Only look at
7005 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7006 DECL_ASSEMBLER_NAME_SET_P (decl).
7007 (maybe_apply_pending_pragma_weaks): Exit early if
7008 vec_safe_is_empty (pending_weaks) rather than only when
7009 !pending_weaks.
7010 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7011 set assembler name back to NULL afterwards.
7012
a07f6ed2
JM
70132014-03-11 Jason Merrill <jason@redhat.com>
7014
7015 * c.opt: Add -std=gnu++14.
7016
75b107f5
IB
70172014-03-11 Ian Bolton <ian.bolton@arm.com>
7018
7019 * c-opts.c (c_common_post_options): Don't override
7020 -ffp-contract=fast if unsafe-math-optimizations is on.
7021
f42c637e
PM
70222014-03-08 Paulo Matos <paulo@matos-sorge.com>
7023
22b15758 7024 * c.opt: Enable LTO FE for fshort-double.
f42c637e 7025
70e24808
JM
70262014-03-07 Jason Merrill <jason@redhat.com>
7027
7028 * c.opt: Add -std=c++14.
7029
3af9c5e9
MP
70302014-03-06 Marek Polacek <polacek@redhat.com>
7031
7032 PR c/60197
7033 * cilk.c (contains_cilk_spawn_stmt): New function.
7034 (contains_cilk_spawn_stmt_walker): Likewise.
7035 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7036 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7037
b3bdf019
JJ
70382014-03-03 Jakub Jelinek <jakub@redhat.com>
7039
7040 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7041 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7042 even when flag_preprocess_only.
7043
ca7e759d
JM
70442014-02-26 Jason Merrill <jason@redhat.com>
7045
7046 PR c++/59231
7047 PR c++/11586
7048 * c-common.c (shorten_compare): Don't check
7049 c_inhibit_evaluation_warnings.
7050
28e41874
JJ
70512014-02-19 Jakub Jelinek <jakub@redhat.com>
7052
cca615af
JJ
7053 PR c/37743
7054 * c-common.c (c_common_nodes_and_builtins): When initializing
7055 c_uint{16,32,64}_type_node, also set corresponding
7056 uint{16,32,64}_type_node to the same value.
7057
28e41874
JJ
7058 PR c++/60267
7059 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7060 for PRAGMA_IVDEP if flag_preprocess_only.
7061
c2bf53a1
JJ
70622014-02-12 Jakub Jelinek <jakub@redhat.com>
7063
7064 PR c/60101
7065 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7066 if false, add ADD itself, rather than vice versa.
7067 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7068 copy. For SAVE_EXPR, only call merge_tlist once.
7069
8fcbce72
JJ
70702014-02-08 Jakub Jelinek <jakub@redhat.com>
7071
7072 PR middle-end/60092
7073 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7074 and tree_to_uhwi.
7075 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7076 functions.
7077 (c_common_attribute_table): Add alloc_align and assume_aligned
7078 attributes.
7079
0a756a3f
MP
70802014-02-06 Marek Polacek <polacek@redhat.com>
7081
7082 PR c/60087
7083 * c-common.c (warn_for_sign_compare): Call warning_at with location
7084 instead of warning.
7085
7ec4847a
MP
70862014-02-05 Marek Polacek <polacek@redhat.com>
7087
7088 PR c/53123
7089 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7090 statement.
7091
66f20604
MP
70922014-02-04 Marek Polacek <polacek@redhat.com>
7093
7094 PR c/60036
7095 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7096 SAVE_EXPR.
7097
5d77fb19
MG
70982014-02-03 Marc Glisse <marc.glisse@inria.fr>
7099
7100 PR c++/53017
7101 PR c++/59211
7102 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7103 handle_vector_size_attribute, handle_nonnull_attribute): Call
7104 default_conversion on the attribute argument.
7105 (handle_nonnull_attribute): Increment the argument number.
7106
81e5eca8
MP
71072014-01-31 Marek Polacek <polacek@redhat.com>
7108
7109 PR c/59963
7110 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7111 build_function_call_vec.
7112 (resolve_overloaded_builtin): Likewise.
7113 * c-common.h (build_function_call_vec): Adjust declaration.
7114
68fca595
MP
71152014-01-30 Marek Polacek <polacek@redhat.com>
7116
7117 PR c/59940
7118 * c-common.h (unsafe_conversion_p): Adjust declaration.
7119 (warnings_for_convert_and_check): Likewise.
7120 (convert_and_check): Likewise.
7121 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7122 expansion_point_location_if_in_system_header on it.
7123 (warnings_for_convert_and_check): Add location parameter. Call
7124 expansion_point_location_if_in_system_header on it. Use it.
7125 (convert_and_check): Add location parameter. Use it.
7126 (conversion_warning): Likewise.
7127 (c_add_case_label): Adjust convert_and_check calls.
7128 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7129
b72271b9
BI
71302014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7131
7132 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7133 flag_cilkplus.
7134 * c-pragma.c (init_pragma): Likewise.
7135 * c.opt: Likewise.
7136
393e8e8b
MP
71372014-01-23 Marek Polacek <polacek@redhat.com>
7138
7139 PR c/59846
7140 * c-common.c (shorten_compare): Add location_t parameter.
7141 * c-common.h (shorten_binary_op): Adjust declaration.
7142
f04dda30
MP
71432014-01-23 Marek Polacek <polacek@redhat.com>
7144
7145 PR c/58346
7146 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7147 * c-common.h: Declare it.
7148
621955cb
EB
71492014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7150
7151 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7152 * c-ada-spec.c (dump_ads): Likewise.
7153 (cpp_check): Likewise.
7154 (dump_ada_specs): Likewise.
7155
71562014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
7157
7158 PR c++/49718
7159 * c-common.c (handle_no_instrument_function_attribute): Allow
7160 no_instrument_function attribute in class member
7161 definition/declaration.
7162
241f845a
JJ
71632014-01-15 Jakub Jelinek <jakub@redhat.com>
7164
7165 PR c/58943
7166 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7167 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7168 being COMPOUND_EXPR.
7169 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7170 operand a SAVE_EXPR and second MODIFY_EXPR.
7171
e83b8e2e
JJ
71722014-01-09 Jakub Jelinek <jakub@redhat.com>
7173
7174 PR target/58115
7175 * c-pch.c (c_common_write_pch): Call
7176 prepare_target_option_nodes_for_pch.
7177
23a5b65a
RS
71782014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7179
7180 Update copyright years
7181
f9030485
RS
71822014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7183
7184 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7185 the copyright notice.
7186
f2aa696b
EB
71872013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7188
7189 * c-ada-spec.c (print_constructor): New function.
7190 (print_destructor): Retrieve the origin of the destructor.
7191 (print_ada_declaration): Revamp handling of constructors/destructors.
7192
3f8257db 71932013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
7194 Bill Maddox <maddox@google.com>
7195 Jason Merrill <jason@redhat.com>
7196
7197 * c.opt: Add -fdeclone-ctor-dtor.
7198 * c-opts.c (c_common_post_options): Default to on iff -Os.
7199
41958c28
BI
72002013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7201
7202 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7203 attribute.
7204 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 7205 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
7206 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7207 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7208 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7209 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7210 PRAGMA_CILK_CLAUSE_UNIFORM.
7211
b1726d6c 7212
12893402
BI
72132013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7214
7215 * cilk.c (cilk_outline): Made this function non-static.
7216 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7217 (create_cilk_wrapper): Added a new parameter: a function pointer.
7218 (c_install_body_w_frame_cleanup): Remove
7219 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7220 * c-common.h (cilk_outline): New prototype.
7221 (gimplify_cilk_spawn): Removed two parameters.
7222 (cilk_install_body_with_frame_cleanup): New prototype.
7223 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7224 CILK_SPAWN_STMT case.
7225
085b42ed
BS
72262013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7227
2ce064c3
BS
7228 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7229
085b42ed
BS
7230 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7231 (int_array_type_node): Remove.
7232 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7233
9e36c9ed
MP
72342013-12-05 Marek Polacek <polacek@redhat.com>
7235
7236 PR c/52023
7237 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7238 [ADJUST_FIELD_ALIGN].
7239
296674db
JM
72402013-12-04 Joseph Myers <joseph@codesourcery.com>
7241
7242 PR c/52023
7243 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7244 and check field alignment if set.
7245 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7246 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7247
b1726d6c 72482013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
7249 Marek Polacek <polacek@redhat.com>
7250
7251 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7252 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7253
d7947e19
L
72542013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7255
7256 PR c/59309
7257 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7258 arguments.
7259
fad7652e
JJ
72602013-11-29 Jakub Jelinek <jakub@redhat.com>
7261
7262 PR c/59280
7263 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7264 goto invalid. If it is error_mark_node, don't issue further
7265 diagnostics.
7266
8b5e1202
SO
72672013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7268
7269 * c.opt (Wopenmp-simd): New.
7270
0a508bb6
JJ
72712013-11-22 Jakub Jelinek <jakub@redhat.com>
7272
7273 * c-ubsan.h (ubsan_instrument_return): New prototype.
7274 * c-ubsan.c (ubsan_instrument_return): New function.
7275
2fb9a547
AM
72762013-11-22 Andrew MacLeod <amacleod@redhat.com>
7277
7278 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
7279 * c-gimplify.c: Likewise.
7280 * cilk.c: Likewise.
2fb9a547 7281
8400e75e
DM
72822013-11-22 David Malcolm <dmalcolm@redhat.com>
7283
7284 * c-common.c (unsafe_conversion_p): Remove use of
7285 EXPR_LOC_OR_HERE macro.
7286 (conversion_warning): Likewise.
7287 (warnings_for_convert_and_check): Likewise.
7288 (warn_for_collisions_1): Likewise.
7289 (shorten_compare): Likewise, and remove use of in_system_header
7290 macro, using the location from the former.
7291 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7292 (cb_def_pragma): Remove use of in_system_header macro.
7293 (lex_string): Likewise.
7294 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7295
eb1ce453
KZ
72962013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7297 Mike Stump <mikestump@comcast.net>
7298 Richard Sandiford <rdsandiford@googlemail.com>
7299
7300 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7301 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7302 tree_fits_shwi_p or tree_fits_uhwi_p.
7303 (dump_generic_ada_node): Likewise.
7304 * c-format.c (check_format_arg): Likewise.
7305 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7306
6b3b8c27
KZ
73072013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7308
7309 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7310
49b0aa18
JC
73112013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7312
7313 PR c/53001
7314 * c-common.c (unsafe_conversion_p): Make this function
7315 return an enumeration with more detail.
7316 (conversion_warning): Use the new return type of
7317 unsafe_conversion_p to separately warn either about conversions
7318 that lower floating point number precision or about the other
7319 kinds of conversions.
7320 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
7321 (unsafe_conversion_p): switching return type to
7322 conversion_safety enumeration.
49b0aa18
JC
7323 * c.opt: Adding new warning -Wfloat-conversion and
7324 enabling it with -Wconversion.
7325
b826515a
BS
73262013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7327
8e745a17
JJ
7328 * c-opts.c: Include plugin.h.
7329 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 7330
b9a55b13
MP
73312013-11-19 Marek Polacek <polacek@redhat.com>
7332
7333 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7334 call.
7335 (ubsan_instrument_shift): Likewise.
7336 (ubsan_instrument_vla): Likewise.
7337
7d362f6c
RS
73382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7339
7340 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7341 cast to unsigned type.
7342
386b1f1f
RS
73432013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7344
7345 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7346 tree_low_cst.
7347 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7348 rather than tree_low_cst.
7349
ae7e9ddd
RS
73502013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7351
7352 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7353 tree_to_uhwi throughout.
7354
9439e9a1
RS
73552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7356
7357 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7358 tree_low_cst (..., 0) with tree_to_shwi throughout.
7359
cc269bb6
RS
73602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7361
7362 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7363 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7364
9541ffee
RS
73652013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7366
7367 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7368 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7369
c02065fc
AH
73702013-11-15 Aldy Hernandez <aldyh@redhat.com>
7371
7372 * c-cilkplus.c: New file.
7373 * c-common.c (readonly_error): Add location argument.
7374 * c-common.h (readonly_error): Same.
7375 (c_finish_cilk_clauses): Protoize.
7376 (c_check_cilk_loop): Same.
7377 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7378 Do not fail on error_mark_node.
7379 Abstract increment canonicalization to here...
7380 (c_omp_for_incr_canonicalize_ptr): New.
7381 c-pragma.c (init_pragma): Register "simd" pragma.
7382 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7383 (enum pragma_cilk_clause): New.
7384
9cc65f15
RS
73852013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7386
7387 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7388 wchar_type and host_integerp checks.
7389
18f429e2
AM
73902013-11-14 Andrew MacLeod <amacleod@redhat.com>
7391
7392 * c-common.c: Likewise.
7393 * c-gimplify.c: Likewise.
7394 * cilk.c: Likewise.
7395
d8a2d370
DN
73962013-11-14 Diego Novillo <dnovillo@google.com>
7397
7398 * c-common.c: Include fold-const.h.
7399 Include stor-layout.h.
7400 Include calls.h.
7401 Include stringpool.h.
7402 Include attribs.h.
7403 Include varasm.h.
7404 Include trans-mem.h.
7405 * c-cppbuiltin.c: Include stor-layout.h.
7406 Include stringpool.h.
7407 * c-format.c: Include stringpool.h.
7408 * c-lex.c: Include stringpool.h.
7409 Include stor-layout.h.
7410 * c-pragma.c: Include stringpool.h.
7411 Include attribs.h.
7412 Include varasm.h.
7413 Include gcc-symtab.h.
7414 * c-pretty-print.c: Include stor-layout.h.
7415 Include attribs.h.
7416 * cilk.c: Include stringpool.h.
7417 Include calls.h.
7418
38b7bc7f
JM
74192013-11-13 Joseph Myers <joseph@codesourcery.com>
7420
7421 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7422 * c-common.c (c_common_reswords): Add __auto_type.
7423 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7424
45b0be94
AM
74252013-11-12 Andrew MacLeod <amacleod@redhat.com>
7426
18f429e2
AM
7427 * c-common.c: Include gimplify.h.
7428 * c-gimplify.c: Likewise.
7429 * cilk.c: Likewise.
7430 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7431 * c-ubsan.c: Don't include gimple.h.
45b0be94 7432
582d9b50
JM
74332013-11-12 Joseph Myers <joseph@codesourcery.com>
7434
7435 * c-common.c (c_common_reswords): Add _Thread_local.
7436
6b28e197
JM
74372013-11-09 Joseph Myers <joseph@codesourcery.com>
7438
7439 * c-common.c (atomic_size_supported_p): New function.
7440 (resolve_overloaded_atomic_exchange)
7441 (resolve_overloaded_atomic_compare_exchange)
7442 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7443 Use it instead of comparing size with a local list of sizes.
7444
267bac10
JM
74452013-11-07 Andrew MacLeod <amacleod@redhat.com>
7446 Joseph Myers <joseph@codesourcery.com>
7447
7448 * c-common.h (enum rid): Add RID_ATOMIC.
7449 * c-common.c (c_common_reswords): Add _Atomic.
7450 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7451 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7452 * c-format.c (check_format_types): Check for extra _Atomic
7453 qualifiers in format argument.
7454 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7455 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7456
5157b91e
TB
74572013-11-06 Tobias Burnus <burnus@net-b.de>
7458
7459 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7460
6dbe0958
JM
74612013-11-06 Joseph Myers <joseph@codesourcery.com>
7462
7463 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7464 standards modes.
7465 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7466 to mean lack of IEEE 754 support.
7467
e8ff5196
TB
74682013-11-05 Tobias Burnus <burnus@net-b.de>
7469
7470 * c.opt (-Wdate-time): New option
7471 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7472
254a0760
JM
74732013-11-05 Joseph Myers <joseph@codesourcery.com>
7474
7475 * c-cppbuiltin.c (cpp_iec_559_value): Test
7476 flag_excess_precision_cmdline not flag_excess_precision.
7477
6d7f7e0a
TB
74782013-11-05 Tobias Burnus <burnus@net-b.de>
7479
7480 * c.opt (fopenmp-simd): New option.
7481 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7482 (omp_pragmas): ... this new struct.
7483 (c_pp_lookup_pragma): Also walk omp_pragmas.
7484 (init_pragma): Init pragmas for -fopenmp-simd.
7485
55a7f02f
MP
74862013-11-04 Marek Polacek <polacek@redhat.com>
7487
7488 PR c++/58979
7489 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7490
9193fb05
JM
74912013-11-04 Joseph Myers <joseph@codesourcery.com>
7492
7493 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7494 New functions.
7495 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7496
94159ecf
EB
74972013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7498
7499 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7500 (dump_ada_specs): Adjust prototype of second callback.
7501 * c-ada-spec.c (cpp_check): New global variable.
7502 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7503 (print_generic_ada_decl): Likewise.
7504 (has_static_fields): Change return type to bool and add guard.
7505 (has_nontrivial_methods): New predicate.
7506 (is_tagged_type): Change return type to bool.
7507 (separate_class_package): Call has_nontrivial_methods.
7508 (pp_ada_tree_identifier): Minor tweaks.
7509 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7510 (dump_ada_array_domains): Likewise.
7511 (dump_ada_array_type): Likewise.
7512 (dump_template_types): Remove cpp_check parameter and do not pass it to
7513 dump_generic_ada_node.
7514 (dump_ada_template): Likewise.
7515 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7516 recursively.
7517 (print_ada_methods): Change return type to integer. Remove cpp_check
7518 parameter and do not pass it down.
7519 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7520 dump_generic_ada_node.
7521 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7522 accessing methods.
7523 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7524 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7525 value of print_ada_methods.
7526 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7527 Set cpp_check to it before invoking dump_ada_nodes.
7528 (dump_ada_specs): Likewise.
7529
b906f4ca
MP
75302013-11-03 Marek Polacek <polacek@redhat.com>
7531
7532 * c-ubsan.c: Don't include hash-table.h.
7533 (ubsan_instrument_vla): New function.
7534 * c-ubsan.h: Declare it.
7535
5e20cdc9
DM
75362013-10-31 David Malcolm <dmalcolm@redhat.com>
7537
7538 Automated part of renaming of symtab_node_base to symtab_node.
7539
7540 Patch autogenerated by rename_symtab.py from
7541 https://github.com/davidmalcolm/gcc-refactoring-scripts
7542 revision 58bb219cc090b2f4516a9297d868c245495ee622
7543
7544 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7545 symtab_node_base to symtab_node.
7546
7057e645
ESR
75472013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7548
8e745a17 7549 Implement C++14 digit separators.
7057e645
ESR
7550 * c-lex.c (interpret_float): Remove digit separators from scratch string
7551 before building real literal.
7552
193ea7bc
JJ
75532013-10-30 Jakub Jelinek <jakub@redhat.com>
7554
7555 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7556
939b37da
BI
75572013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7558
7559 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7560 fields.
7561 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7562 enabled.
7563 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7564 (insert_cilk_frame): New prototype.
7565 (cilk_init_builtins): Likewise.
7566 (gimplify_cilk_spawn): Likewise.
7567 (c_cilk_install_body_w_frame_cleanup): Likewise.
7568 (cilk_detect_spawn_and_unwrap): Likewise.
7569 (cilk_set_spawn_marker): Likewise.
7570 (build_cilk_sync): Likewise.
7571 (build_cilk_spawn): Likewise.
7572 * cilk.c: New file.
7573
67348ccc
DM
75742013-10-29 David Malcolm <dmalcolm@redhat.com>
7575
7576 Patch autogenerated by refactor_symtab.py from
7577 https://github.com/davidmalcolm/gcc-refactoring-scripts
7578 revision 58bb219cc090b2f4516a9297d868c245495ee622
7579
7580 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7581 to a true class hierarchy.
7582 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7583
d570872d
RS
75842013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7585
7586 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7587
98906124
JL
75882013-10-26 Jeff Law <law@redhat.com>
7589
adfac8df
JJ
7590 * c-common.c (c_define_builtins): Remove mudflap support.
7591 * c.opt: Ignore and warn for mudflap options.
98906124 7592
d73749df 75932013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7594
7595 PR other/33426
7596 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7597 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7598
3f04b1bb
JM
75992013-10-23 Jason Merrill <jason@redhat.com>
7600
7601 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7602
acf0174b
JJ
76032013-10-11 Jakub Jelinek <jakub@redhat.com>
7604
acd15a28
JJ
7605 * c-common.h (omp_clause_mask::operator !=): New method.
7606 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7607 instead of if (mask & something) tests everywhere.
7608
acf0174b
JJ
7609 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7610 201307 instead of 201107.
7611 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7612 (c_common_attribute_table): Add "omp declare target" and
7613 "omp declare simd" attributes.
7614 (handle_omp_declare_target_attribute,
7615 handle_omp_declare_simd_attribute): New functions.
7616 * c-omp.c: Include c-pragma.h.
7617 (c_finish_omp_taskgroup): New function.
7618 (c_finish_omp_atomic): Add swapped argument, if true,
7619 build the operation first with rhs, lhs arguments and use NOP_EXPR
7620 build_modify_expr.
7621 (c_finish_omp_for): Add code argument, pass it down to make_code.
7622 (c_omp_split_clauses): New function.
7623 (c_split_parallel_clauses): Removed.
7624 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7625 c_omp_declare_simd_clauses_to_decls): New functions.
7626 * c-common.h (omp_clause_mask): New type.
7627 (OMP_CLAUSE_MASK_1): Define.
7628 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7629 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7630 omp_clause_mask::operator |, omp_clause_mask::operator &,
7631 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7632 omp_clause_mask::operator ==): New methods.
7633 (enum c_omp_clause_split): New.
7634 (c_finish_omp_taskgroup): New prototype.
7635 (c_finish_omp_atomic): Add swapped argument.
7636 (c_finish_omp_for): Add code argument.
7637 (c_omp_split_clauses): New prototype.
7638 (c_split_parallel_clauses): Removed.
7639 (c_omp_declare_simd_clauses_to_numbers,
7640 c_omp_declare_simd_clauses_to_decls): New prototypes.
7641 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7642 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7643 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7644 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7645 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7646 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7647 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7648 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7649 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7650 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7651 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7652 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7653 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7654 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7655 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7656 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7657 PRAGMA_OMP_CLAUSE_UNIFORM.
7658
826cacfe
MG
76592013-10-09 Marc Glisse <marc.glisse@inria.fr>
7660
7661 PR tree-optimization/20318
7662 * c-common.c (handle_returns_nonnull_attribute): New function.
7663 (c_common_attribute_table): Add returns_nonnull.
7664
2284b034
MG
76652013-10-03 Marc Glisse <marc.glisse@inria.fr>
7666
7667 PR c++/19476
7668 * c.opt (fcheck-new): Move to common.opt.
7669
b56e9788
MP
76702013-09-25 Marek Polacek <polacek@redhat.com>
7671 Jakub Jelinek <jakub@redhat.com>
7672
7673 PR sanitizer/58413
7674 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7675 an expression if we can prove it is correct.
7676 (ubsan_instrument_division): Likewise. Remove unnecessary
7677 check.
7678
ce6923c5
MP
76792013-09-18 Marek Polacek <polacek@redhat.com>
7680
7681 PR sanitizer/58411
7682 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7683 Declare it.
7684 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7685
fb5610fb
IS
76862013-09-14 Iain Sandoe <iain@codesourcery.com>
7687
7688 PR target/48094
7689 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7690 fobjc-gc, freplace-objc-classes): Accept for LTO.
7691
88b0e79e
JC
76922013-09-13 Jacek Caban <jacek@codeweavers.com>
7693
7694 * c-target.def: New hook
7695
c9b0866a
PC
76962013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7697
7698 PR c++/43452
7699 * c.opt (Wdelete-incomplete): Add.
7700
0af94e6f
JR
77012013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7702
7703 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7704 (vector_types_compatible_elements_p): New function.
7705 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7706 declaration.
7707 (vector_types_compatible_elements_p): Declare.
7708
7c26172c
GDR
77092013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7710
7711 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7712 a virtual member function.
7713 (pp_simple_type_specifier): Remove.
7714 (pp_c_type_specifier): Likewise.
7715 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7716 Rename from pp_c_type_specifier. Adjust.
7717 (c_pretty_printer::c_pretty_printer): Do not assign to
7718 simple_type_specifier.
7719
20059c8b
GDR
77202013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7721
7722 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7723 member function.
7724 (c_pretty_printer::storage_class_specifier): Likewise.
7725 (c_pretty_printer::initializer): Likewise.
7726 (pp_declaration): Remove.
7727 (pp_declaration_specifiers): Likewise.
7728 (pp_abstract_declarator): Likewise.
7729 (pp_declarator): Likewise.
7730 (pp_type_id): Likewise.
7731 (pp_statement): Likewise.
7732 (pp_constant): Likewise.
7733 (pp_id_expression): Likewise.
7734 (pp_primary_expression): Likewise.
7735 (pp_unary_expression): Likewise.
7736 (pp_multiplicative_expression): Likewise.
7737 (pp_conditional_expression): Likewise.
7738 (pp_assignment_expression): Likewise.
7739 (pp_expression): Likewise.
7740 (pp_c_type_id): Likewise.
7741 (pp_c_storage_class_specifier): Likewise.
7742 * c-pretty-print.c (pp_c_type_cast): Tidy.
7743 (pp_c_pointer): Likewise.
7744 (pp_c_type_specifier): Likewise.
7745 (pp_c_parameter_type_list): Likewise.
7746 (pp_c_function_definition): Likewise.
7747 (pp_c_init_declarator): Likewise.
7748 (pp_c_initializer_list): Likewise.
7749 (pp_c_constructor_elts): Likewise.
7750 (c_pretty_printer::direct_abstract_declarator): Likewise.
7751 (c_pretty_printer::declaration_specifiers): Likewise.
7752 (c_pretty_printer::primary_expression): Likewise.
7753 (c_pretty_printer::postfix_expression): Likewise.
7754 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7755 (c_pretty_printer::storage_class_specifier): Rename from
7756 pp_c_storage_class_specifier.
7757 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7758 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7759 storage_class_specifier, initializer, offset_list, flags.
7760
de5a5fa1
MP
77612013-08-30 Marek Polacek <polacek@redhat.com>
7762
7763 * c-ubsan.c: New file.
7764 * c-ubsan.h: New file.
7765
8f0e4d72
GDR
77662013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7767
7768 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7769 member function.
7770 (c_pretty_printer::declaration_specifiers): Likewise.
7771 (c_pretty_printer::declarator): Likewise.
7772 (c_pretty_printer::abstract_declarator): Likewise.
7773 (c_pretty_printer::direct_abstract_declarator): Likewise.
7774 (c_pretty_printer::direct_declarator): Likewise.
7775 (c_pretty_printer::function_specifier): Likewise.
7776 (pp_declaration): Adjust.
7777 (pp_declaration_specifiers): Likewise.
7778 (pp_abstract_declarator): Likewise.
7779 (pp_direct_declarator): Likewise.
7780 (pp_function_specifier): Likewise.
7781 (pp_direct_abstract_declarator): Remove as unused.
7782 (pp_c_declaration): Remove.
7783 (pp_c_declaration_specifiers): Likewise.
7784 (pp_c_declarator): Likewise.
7785 (pp_c_direct_declarator): Likewise.
7786 (pp_c_function_specifier): Likewise.
7787 (pp_c_direct_abstract_declarator): Likewise.
7788 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7789 from pp_c_abstract_declarator. Adjust.
ab20d992 7790 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
7791 pp_c_direct_abstract_declarator. Adjust.
7792 (c_pretty_printer::function_specifier): Rename from
7793 pp_c_function_specifier. Adjust.
7794 (c_pretty_printer::declaration_specifiers): Rename from
7795 pp_c_declaration_specifiers. Adjust.
7796 (c_pretty_printer::direct_declarator): Rename from
7797 pp_c_direct_declarator. Adjust.
7798 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7799 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7800 (c_pretty_printer::c_pretty_printer): Do not assign to
7801 declaration, declaration_specifiers, declarator,
7802 direct_declarator, direct_abstract_declarator, function_specifier.
7803
00d34d3a
GDR
78042013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7805
7806 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7807 virtual member function.
7808 (c_pretty_printer::multiplicative_expression): Likewise.
7809 (c_pretty_printer::conditional_expression): Likewise.
7810 (c_pretty_printer::assignment_expression): Likewise.
7811 (c_pretty_printer::expression): Likewise.
7812 (pp_unary_expression): Adjust.
7813 (pp_multiplicative_expression): Likewise.
7814 (pp_assignment_expression): Likewise.
7815 (pp_conditional_expression): Likewise.
7816 (pp_expression): Likewise.
7817 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7818 from pp_c_unary_expression. Adjust.
7819 (c_pretty_printer::multiplicative_expression): Rename from
7820 pp_c_multiplicative_expression. Adjust.
7821 (c_pretty_printer::conditional_expression): Rename from
7822 pp_c_conditional_expression. Adjust.
7823 (c_pretty_printer::assignment_expression): Rename from
7824 pp_c_assignment_expression. Adjust.
7825 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7826 (c_pretty_printer::c_pretty_printer): Do not assign to
7827 unary_expression, multiplicative_expression,
7828 conditional_expression, expression.
7829
fb22178f
GDR
78302013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7831
7832 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7833 virtual member function.
7834 (pp_postfix_expression): Adjust.
7835 (pp_c_postfix_expression): Remove.
7836 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7837 from pp_c_postfix_expression. Adjust.
7838 (c_pretty_printer::c_pretty_printer): Do not assign to
7839 postfix_expression.
7840
7ecc2600
GDR
78412013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7842
7843 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7844 virtua member function.
7845 (pp_primary_expression): Adjust.
7846 (pp_c_primary_expression): Remove.
7847 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7848 from pp_c_primary_expression. Adjust.
7849 (pp_c_initializer_list): Use pp_primary_expression.
7850 (c_pretty_printer::c_pretty_printer): Do not assign to
7851 primary_expression.
7852
0691175f
GDR
78532013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7854
7855 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7856 * c-pretty-print.c (M_): Remove.
7857 (c_pretty_printer::translate_string): Define.
7858 (pp_c_type_specifier): Use it.
7859 (pp_c_primary_expression): Likewise.
7860 (pp_c_expression): Likewise.
7861
66dfe4c4
GDR
78622013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7863
7864 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
7865 virtual function.
7866 (pp_c_id_expression): Remove.
7867 (pp_id_expression): Adjust.
7868 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7869 pp_c_id_expression. Adjust.
7870 (pp_c_postfix_expression): Use pp_id_expression.
7871 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7872
ca43e9d5
GDR
78732013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7874
7875 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7876 member function.
7877 (pp_constant): Adjust.
7878 (pp_c_constant): Remove.
7879 * c-pretty-print.c (c_pretty_printer::constant): Rename from
7880 pp_c_constant. Adjust.
7881 (pp_c_constant)
7882 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7883 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7884
da6ca2b5
GDR
78852013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7886
7887 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7888 (c_pretty_printer::c_pretty_printer): Declare.
7889 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7890 c_pretty_printer_init. Adjust.
7891 (print_c_tree): Do not call c_pretty_printer_init.
7892 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
7893
65a372f4
AC
78942013-08-09 Arnaud Charlet <charlet@adacore.com>
7895
7896 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7897
fd9b0f32
PC
78982013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
7899
7900 PR c++/58080
7901 * c-common.c (pointer_int_sum): Add bool parameter.
7902 * c-common.h (pointer_int_sum): Adjust declaration.
7903
e0aec1e9
GDR
79042013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
7905
7906 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
7907 c_pretty_printer variable.
7908
b066401f
GDR
79092013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7910
7911 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7912 (pp_base): Remove.
7913 (pp_c_base): Likewise. Adjust users.
7914 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7915 (pp_c_whitespace): Do not call pp_base.
7916 (pp_c_left_paren): Likewise.
7917 (pp_c_right_paren): Likewise.
7918 (pp_c_left_brace): Likewise.
7919 (pp_c_right_brace): Likewise.
7920 (pp_c_left_bracket): Likewise.
7921 (pp_c_right_bracket): Likewise.
7922 (pp_c_dot): Likewise.
7923 (pp_c_ampersand): Likewise.
7924 (pp_c_star): Likewise.
7925 (pp_c_arrow): Likewise.
7926 (pp_c_semicolon): Likewise.
7927 (pp_c_complement): Likewise.
7928 (pp_c_exclamation): Likewise.
7929 (pp_c_direct_declarator): Likewise.
7930 (pp_c_ws_string): Likewise.
7931 (pp_c_identifier): Likewise.
7932 (pp_c_statement): Likewise.
7933 (print_c_tree): Likewise.
7934
65e5a578
ESR
79352013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
7936
7937 PR c++/58072
7938 * c-common.c (c_parse_error): Catch user-defined literal tokens and
7939 provide useful error strings.
7940
137a1a27
GDR
79412013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7942
7943 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7944 printer functions instead of pp_string or operators and punctuators.
7945 (dump_generic_ada_node): Likewise.
7946 * c-pretty-print.c (pp_c_type_specifier): Likewise.
7947 (pp_c_relational_expression): Likewise.
7948 (pp_c_logical_or_expression): Likewise.
7949
07838b13
GDR
79502013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7951
7952 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7953 functions instead of pp_character.
7954 (pp_ada_tree_identifier): Likewise.
7955 (dump_ada_double_name): Likewise.
7956 (dump_ada_function_declaration): Likewise.
7957 (dump_ada_array_domains): Likewise.
7958 (dump_template_types): Likewise.
7959 (dump_generic_ada_node): Likewise.
7960 (print_ada_declaration): Likewise.
7961 (print_ada_struct_decl): Likewise.
7962 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7963
433cc7b0
TT
79642013-07-23 Tom Tromey <tromey@redhat.com>
7965
7966 * c-common.h (enum rid) <RID_GENERIC>: New constant.
7967 * c-common.c (c_common_reswords): Add _Generic.
7968
688010ba
OB
79692013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
7970
7971 * c-common.c: Fix typos.
7972 * c-common.h: Likewise.
7973
2a99e5e6
LL
79742013-07-13 Lubos Lunak <l.lunak@suse.cz>
7975
7976 PR c++/55203
7977 * c-common.c (c_common_attribute_table): Add warn_unused.
7978 (handle_warn_unused_attribute): New.
7979
c26302d5
JJ
79802013-07-10 Jakub Jelinek <jakub@redhat.com>
7981
7982 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7983 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7984
dfeadaa0
PC
79852013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
7986
7987 PR c++/57869
7988 * c.opt: Add Wconditionally-supported.
7989
6a2fa4b2
GS
79902013-07-08 Graham Stott <graham.stott@btinternet.com>
7991
adfac8df 7992 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
7993 unused variables l_length and l_node.
7994
ecdbd01a 79952013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
7996
7997 PR c/57821
7998 * c-common.c (complete_array_type): Delay folding first index
7999 like other indices. When folding, check for index overflow.
8000
bedc293e
MG
80012013-06-27 Marc Glisse <marc.glisse@inria.fr>
8002
8003 PR c++/57509
8004 * c-common.h (c_build_vec_perm_expr): New complain argument.
8005 * c-common.c (c_build_vec_perm_expr): Likewise.
8006 Use save_expr also in C++.
8007
604b2bfc
GDR
80082013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8009
8010 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8011 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8012 * c-opts.c (c_common_post_options): Likewise.
8013
dfeadaa0 80142013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
8015
8016 * array-notation-common.c (length_mismatch_in_expr): Changed the
8017 parameter type's from a dynamic array to a vec_tree. Also removed
8018 the size parameters.
8019 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8020 the change above.
8021
2ce86d2e
BI
80222013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8023
8024 * c-common.h (struct cilkplus_an_parts): New structure.
8025 (struct cilkplus_an_loop_parts): Likewise.
8026 (cilkplus_extract_an_triplets): New prototype.
8027 (fix_sec_implicit_args): Likewise.
8028 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8029 (fix_sec_implicit_args): Likewise.
604b2bfc 8030
07a6825b
BI
80312013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8032
8033 * array-notation-common.c (find_inv_trees): Removed an unwanted
8034 typecasting.
8035 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8036 enum rid to enum tree_code.
8037
08346abd
JH
80382013-06-11 Jan Hubicka <jh@suse.cz>
8039
8040 * c-common.c (handle_alias_ifunc_attribute): Do not set
8041 DECL_EXTERNAL for weakref variables.
8042 * c-pragma.c (handle_pragma_weak): Make sure aliases
8043 are not declared as external.
8044
d60f1706
BI
80452013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8046
8047 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8048 function from c/c-array-notation.c.
8049 (is_cilkplus_reduce_builtin): Likewise.
8050 (find_rank): Likewise.
8051 (extract_array_notation_exprs): Likewise.
8052 (replace_array_notations): Likewise.
8053 (find_inv_trees): Likewise.
8054 (replace_inv_trees): Likewise.
8055 (contains_array_notation_expr): Likewise.
8056 (find_correct_array_notation_type): Likewise.
8057 * c-common.h (struct inv_list): Moved this struct from the file
8058 c/c-array-notation.c and added a new field called additional tcodes.
8059 (length_mismatch_in_expr_p): New prototype.
8060 (is_cilkplus_reduce_builtin): Likewise.
8061 (find_rank): Likewise.
8062 (extract_array_notation_exprs): Likewise.
8063 (replace_array_notation): Likewise.
8064 (find_inv_trees): Likewise.
8065 (replace_inv_trees): Likewise.
8066 (find_correct_array_notation_type): Likewise.
dfeadaa0 8067
36536d79
BI
80682013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8069
8070 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8071 function array_notation_init_builtins is called.
8072 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8073 * c-common.def (ARRAY_NOTATION_REF): New tree.
8074 * c-common.h (build_array_notation_expr): New function declaration.
8075 (build_array_notation_ref): Likewise.
8076 (extract_sec_implicit_index_arg): New extern declaration.
8077 (is_sec_implicit_index_fn): Likewise.
8078 (ARRAY_NOTATION_CHECK): New define.
8079 (ARRAY_NOTATION_ARRAY): Likewise.
8080 (ARRAY_NOTATION_START): Likewise.
8081 (ARRAY_NOTATION_LENGTH): Likewise.
8082 (ARRAY_NOTATION_STRIDE): Likewise.
8083 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8084 ARRAY_NOTATION_REF.
8085 (pp_c_expression): Likewise.
8086 * c.opt (flag_enable_cilkplus): New flag.
8087 * array-notation-common.c: New file.
8088
f7716d57
JJ
80892013-05-14 Jakub Jelinek <jakub@redhat.com>
8090
8091 PR c++/57274
8092 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8093
a5e0cd1d
MG
80942013-05-10 Marc Glisse <marc.glisse@inria.fr>
8095
8096 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8097 vectors.
8098
f6bc1c4a
HS
80992013-05-07 Han Shen <shenhan@google.com>
8100
8101 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8102
3f12f6e9
SKS
81032013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8104
8105 * c-common.c (check_user_alignment): Emit error for negative values.
8106
61949153
PC
81072013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8108
8109 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8110
e93e18e9
PC
81112013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8112
8113 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8114 __GXX_EXPERIMENTAL_CXX1Y__.
8115
44d90fe1 81162013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 8117 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
8118
8119 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8120 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8121 to simply use OPT_Wpointer_arith.
8122 (c_sizeof_or_alignof_type): Likewise.
8123
13f39b2e
PC
81242013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8125
8126 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8127
4b84d650
JJ
81282013-04-12 Jakub Jelinek <jakub@redhat.com>
8129
8130 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8131 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8132 specifiers.
8133
fb037b5d
SB
81342013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8135
8136 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8137
4e856798
PC
81382013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8139
8140 * c-common.c (pointer_int_sum): Remove dead code.
8141
4b1baac8
RS
81422013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8143
8144 PR middle-end/56524
8145 * c-common.c (handle_optimize_attribute): Don't call
8146 save_optabs_if_changed.
8147
0b50e654
JJ
81482013-03-05 Jakub Jelinek <jakub@redhat.com>
8149
8150 PR middle-end/56461
8151 * c-pch.c (pch_init): Free target_validity at the end.
8152
48c41403
JJ
81532013-03-04 Jakub Jelinek <jakub@redhat.com>
8154
8155 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8156
e664c61c
KS
81572013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8158 Jakub Jelinek <jakub@redhat.com>
8159
8160 PR sanitizer/56454
8161 * c-common.c (handle_no_sanitize_address_attribute): New function.
8162 (c_common_attribute_table): Add no_sanitize_address attribute.
8163 (handle_no_address_safety_analysis_attribute): Add
8164 no_sanitize_address attribute, not no_address_safety_analysis
8165 attribute.
8166
a475fd3d 81672013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
8168
8169 PR target/52555
8170 * c-common.c (handle_optimize_attribute): Call
8171 save_optabs_if_changed.
8172
f6007d99
JJ
81732013-02-18 Jakub Jelinek <jakub@redhat.com>
8174 Steven Bosscher <steven@gcc.gnu.org>
8175
8176 PR pch/54117
8177 * c-opts.c (c_common_post_options): If debug info is enabled
8178 and non-dwarf*, refuse to load PCH files and when writing PCH
8179 file warn.
8180
cf35e2b1
JJ
81812013-02-05 Jakub Jelinek <jakub@redhat.com>
8182
8183 PR middle-end/56167
8184 * c-common.c (handle_error_attribute): Fix condition.
8185
32887460
JJ
81862013-01-30 Jakub Jelinek <jakub@redhat.com>
8187
8188 PR c++/55742
8189 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8190
5af057d8
JM
81912013-01-18 Jason Merrill <jason@redhat.com>
8192
8193 PR target/54908
8194 * c.opt (-fextern-tls-init): New.
8195 * c-opts.c (c_common_post_options): Handle it.
8196
cc83c823
JJ
81972013-01-09 Jakub Jelinek <jakub@redhat.com>
8198
8199 PR c/48418
8200 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8201 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8202 and is either negative or bigger or equal to type precision
8203 of the first operand.
8204
a859517f
MP
82052012-12-03 Marek Polacek <polacek@redhat.com>
8206
8207 PR c/55570
8208 * c-common.c (check_user_alignment): Swap order of tests,
8209 check TREE_CODE first.
8210
2d7aa578
ESR
82112012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8212
8213 PR c++/52654
8214 * c-common.h (overflow_type): New enum.
8215 (build_userdef_literal): Add overflow_type argument.
8216 (tree_userdef_literal): Add overflow_type.
8217 (USERDEF_LITERAL_OVERFLOW): New access macro.
8218 * c-common.c (build_userdef_literal): Add overflow_type
8219 argument.
8220 * c-lex.c (c_lex_with_flags): Add overflow_type to
8221 build_userdef_literal calls.
8222 (interpret_integer, interpret_float): Add overflow_type argument.
8223
cc3c4f62
RB
82242012-11-28 Richard Biener <rguenther@suse.de>
8225
8226 PR c/35634
8227 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8228 here and use a type with proper overflow behavior for types that would
8229 need to be promoted for the arithmetic.
8230
77bc5132
JJ
82312012-11-23 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR sanitizer/55435
8234 * c-common.c (handle_no_address_safety_analysis_attribute): New
8235 function.
8236 (c_common_attribute_table): Add no_address_safety_analysis.
8237
5dc99c46
SB
82382012-11-16 Simon Baldwin <simonb@google.com>
8239
8240 * c.opt: Add f[no-]canonical-system-headers.
8241 * c-opts.c (c_common_handle_option): Handle
8242 OPT_fcanonical_system_headers.
8243
a4a0016d
ESR
82442012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8245
8246 PR c++/54413
8247 * c-opts.c (c_common_handle_option): Set new flags.
8248 * c.opt: Describe new flags.
8249
7dbb85a7
JM
82502012-11-09 Jason Merrill <jason@redhat.com>
8251
8252 * c.opt (Wabi-tag): New.
8253
ad7bac31
AK
82542012-11-09 Andi Kleen <ak@linux.intel.com>
8255
8256 PR 55139
8257 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 8258 MEMMODEL_MASK
ad7bac31 8259
7332899a
MLI
82602012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8261
8262 PR c/53063
8263 * c.opt (Wformat): Make it Alias Wformat=1.
8264 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8265 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8266 LangEnabledBy.
8267 (Wformat=): RejectNegative. Use LangEnabledBy.
8268 (Wnonnull): Use LangEnabledBy.
8269 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8270 * c-format.c (set_Wformat): Delete.
8271 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
8272 (maybe_read_dollar_number): Likewise.
8273 (avoid_dollar_number): Likewise.
8274 (finish_dollar_format_checking): Likewise.
8275 (check_format_info): Likewise.
8276 (check_format_info_main): Likewise.
8277 (check_format_types): Likewise.
8278 (format_type_warning): Likewise.
8279 * c-common.c (int): Likewise.
8280 (check_function_sentinel): Likewise.
8e745a17 8281 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 8282
34a180a6
MLI
82832012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8284
8285 PR c/53063
8286 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8287 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8288 Use LangEnabledBy.
8289 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8290 common.opt.
8291 (Wvariadic-macros): Init(1).
8292 * c-opts.c (c_common_handle_option): Do not handle them
8293 explicitly.
8294 (c_common_post_options): Likewise.
8295 (sanitize_cpp_opts): warn_unused_macros is now
8296 cpp_warn_unused_macros.
8297 (push_command_line_include): Likewise.
8298 * c-common.c (warn_unknown_pragmas): Do not define.
8299 * c-common.h (warn_unknown_pragmas): Do not declare.
8300
3f46d6a5
MLI
83012012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8302
8303 PR c/51294
8304 * c-common.c (conversion_warning): Handle conditional expressions.
8305
880661a4
JW
83062012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8307
8308 PR c++/54930
8309 * c.opt (Wreturn_local_addr): Define new option.
8310
4514a96b
JM
83112012-10-25 Jason Merrill <jason@redhat.com>
8312
f14edc1a
JM
8313 * c.opt (Wvirtual-move-assign): New.
8314
4514a96b
JM
8315 * c.opt (Winherited-variadic-ctor): New.
8316
93100c6b
MG
83172012-10-25 Marc Glisse <marc.glisse@inria.fr>
8318
8319 PR c++/54427
8320 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8321
1efcb8c6
JM
83222012-10-23 Joseph Myers <joseph@codesourcery.com>
8323
8324 * c-common.h (pch_cpp_save_state): Declare.
8325 * c-target.def (c_preinclude): New hook.
8326 * c-opts.c (done_preinclude): New.
8327 (push_command_line_include): Handle default preincluded header.
8328 (cb_file_change): Call pch_cpp_save_state when calling
8329 push_command_line_include.
8330 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8331 (pch_cpp_save_state): New.
8332 (pch_init): Call pch_cpp_save_state conditionally, instead of
8333 calling cpp_save_state.
8334
4a0ae68e
MLI
83352012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8336
8337 PR c/53063
8338 PR c/40989
8339 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8340 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8341 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8342 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8343 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8344 * c-opts.c (c_common_handle_option): Remove explicit handling from
8345 here.
8346 (c_common_post_options): Likewise.
8347
67e4210b
EB
83482012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8349
8350 * c-ada-spec.c (LOCATION_COL): Delete.
8351 (compare_location): New function.
8352 (compare_node): Use it.
8353 (compare_comment): Likewise.
8354
65d4f2cd
MLI
83552012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8356
8357 PR c/53063
8358 PR c/40989
8359 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8360 * c-opts.c (c_common_handle_option): Do not set them here. Add
8361 comment.
8362 (c_common_post_options): Likewise.
8363
909881cb
EB
83642012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8365
8366 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8367 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8368 Remove POINTER_TYPE handling, add large unsigned handling and use
8369 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8370
3a785c97
JJ
83712012-10-12 Jakub Jelinek <jakub@redhat.com>
8372
8373 PR c/54381
8374 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8375 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8376 locs and array of 3 trees instead of just single loc and single
8377 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8378 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8379 For *cmp* builtins that take two sources strings report warnings
8380 about first and second source, not about destination and source.
8381
5e54f81d
MG
83822012-10-12 Marc Glisse <marc.glisse@inria.fr>
8383
8384 PR c++/53055
8385 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8386
f5b02f1e
EB
83872012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8388
8389 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8390 declaring something coming from another file.
8391
b46dbc6c
AC
83922012-10-10 Arnaud Charlet <charlet@adacore.com>
8393
f5b02f1e 8394 PR ada/54845
b46dbc6c
AC
8395 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8396
5d9de0d0
PC
83972012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8398
8399 PR c++/54194
8400 * c-common.c (warn_about_parentheses): Add location_t parameter;
8401 use EXPR_LOC_OR_LOC.
8402 * c-common.h: Update declaration.
8403
a212e43f
MG
84042012-10-09 Marc Glisse <marc.glisse@inria.fr>
8405
8406 PR c++/54427
8407 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8408 more operations. Make error messages optional.
8409 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8410 (scalar_to_vector): Declare.
8411
b1db7f91
JM
84122012-10-08 Jason Merrill <jason@redhat.com>
8413
8414 * c-common.c (c_common_reswords): Add thread_local.
8415
e28d52cf
DS
84162012-10-08 Dodji Seketeli <dodji@redhat.com>
8417
8418 PR c++/53528 C++11 attribute support
8419 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8420 new functions.
8421 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8422 static function.
8423 (handle_aligned_attribute): In choose strictest alignment
8424 among many. Use new check_cxx_fundamental_alignment_constraints.
8425 (handle_transparent_union_attribute): In c++11 attribute syntax,
8426 don't look through typedefs.
8427
3b78de56
AC
84282012-10-04 Arnaud Charlet <charlet@adacore.com>
8429
8430 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8431 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8432 out of dumpfile.h.
8433
6040bb5f
DC
84342012-09-25 Dehao Chen <dehao@google.com>
8435
8436 PR middle-end/54645
3b78de56 8437 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
8438 map when read in the pch.
8439
3f8257db 84402012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
8441
8442 * c-ada-spec.c: Style fixes.
8443
3f8257db 84442012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
8445
8446 * c.opt (-fada-spec-parent): Define new command line switch.
8447 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8448 is specified, generate binding spec as a child of the specified unit.
8449
0ccb505d
PC
84502012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8451 Manuel López-Ibáñez <manu@gcc.gnu.org>
8452
8453 PR c++/53210
8454 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8455
c583af79
AC
84562012-08-23 Arnaud Charlet <charlet@adacore.com>
8457
8458 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8459 for pointers, and add missing Convention C pragma.
8460 (print_ada_struct_decl): Add missing aliased keyword.
8461 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8462
1a4049e7
JJ
84632012-08-17 Jakub Jelinek <jakub@redhat.com>
8464
8465 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8466 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8467 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8468 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8469 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8470
70b5e7dc
RG
84712012-08-10 Richard Guenther <rguenther@suse.de>
8472
8473 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8474
f8923f7e
SB
84752012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8476
8477 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8478 instead of separate pp_newline and pp_flush.
8479 (print_c_tree): Likewise.
8480
e45abe1f
RH
84812012-07-26 Richard Henderson <rth@redhat.com>
8482
8483 * c-common.c (handle_hot_attribute): Allow labels.
8484 (handle_cold_attribute): Likewise.
8485
332f1d24
JJ
84862012-07-20 Jakub Jelinek <jakub@redhat.com>
8487
8488 PR c++/28656
8489 * c-common.c (check_function_nonnull): Handle multiple nonnull
8490 attributes properly.
8491
7ee2468b
SB
84922012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8493
8494 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8495 * c-ada-spec.c: Likewise.
8496 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8497
ee7b28eb
SB
84982012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8499
8500 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8501 Remove code conditional on it.
8502
6bdf3519
SB
85032012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8504
8505 * c-gimplify.c: Do not include basic-block.h.
8506 * c-common.c: Do not include linfuncs.h.
8507
532aafad
SB
85082012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8509
8510 * c-common.h: Include tree.h.
8511
8d0d1915
JM
85122012-07-02 Jason Merrill <jason@redhat.com>
8513
8514 PR c++/53524
8515 * c-common.c (get_priority): Call default_conversion.
8516
fbc873ad
UB
85172012-07-01 Uros Bizjak <ubizjak@gmail.com>
8518
8519 * c-pch.c (c_common_write_pch): Remove unused variables.
8520
d4a10d0a
SB
85212012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8522
8523 * cppspec.c: Moved from gcc/ to here.
8524
6f3a2e23
KT
85252012-06-27 Kai Tietz <ktietz@redhat.com>
8526
8527 PR preprocessor/37215
8528 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8529
8ca92d04
SB
85302012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8531
8532 * c-common.h (c_common_print_pch_checksum): Remove.
8533 * c-pch.c: Do not include output.h.
8534 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8535 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8536 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8537 (struct c_pch_header): Remove.
8538 (get_ident): Update gpch version.
8539 (pch_init): Do not print executable_checksum to asm_out_file.
8540 Do not fail if there is no asm_out_file to read back from. Set
8541 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8542 (c_common_write_pch): Verify that nothing was written to asm_out_file
8543 since pch_init was called. Do not write a c_pch_header, and do not
8544 copy from asm_out_file to the PCH.
8545 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8546 the content of asm_out_file from the PCH.
8547 (c_common_print_pch_checksum): Remove.
8548 * c-opts.c (c_common_init): Print out executable_checksum directly.
8549
70f42967
SB
85502012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8551
8552 * c-target.def (objc_declare_unresolved_class_reference,
8553 objc_declare_class_definition): Add new hooks.
8554
a8781821
SB
85552012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8556
8557 * c-lex.c: Do not include output.h.
8558 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8559 Remove uses of ASM_OUTPUT_IDENT.
8560
9e1a8dd1
RR
85612012-06-15 Marc Glisse <marc.glisse@inria.fr>
8562
8563 PR c++/51033
8564 * c-common.h (c_build_vec_perm_expr): Move decl here.
8565 * c-common.c (c_build_vec_perm_expr): Move definition
8566 here.
8567
6f07a821
SB
85682012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8569
8570 * c.opt (fconserve-space): Turn into a no-op.
8571
9faeb493 85722012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8573
8574 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8575 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8576 both the start and end of the function.
8577
a4b7d13c
SB
85782012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8579
8580 * c-common.c: Do not include output.h.
8581 * c-pragma.c: Likewise.
8582
c265f413
SA
85832012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8584
8585 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8586 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8587 (lang_decl_name): Handle namespace decls.
8588
be7a421e
SB
85892012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8590
8591 * c-ada-spec.c: Do not include output.h.
8592 * c-semantics.c: Likewise.
8593
65de6659
JM
85942012-05-29 Joseph Myers <joseph@codesourcery.com>
8595
8596 * c-common.c: Fix typo.
8597
ca5f4331
MM
85982012-05-29 Michael Matz <matz@suse.de>
8599
8600 * c-common.h (c_expand_decl): Remove prototype.
8601
4f7f7aca
MLI
86022012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8603
8604 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8605 * c-opts.c (c_common_handle_option): Remove code handling
8606 warn_missing_braces.
8607
4a792f9b
PC
86082012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8609
8610 PR c++/25137
8611 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8612 -Wmissing_braces.
8613
650dc14a
DS
86142012-05-22 Dodji Seketeli <dodji@redhat.com>
8615
8616 PR c++/53322
8617 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8618
9b095bf1
MLI
86192012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8620
8621 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8622 * c-opts.c (c_common_handle_option): Do not handle explicitly
8623 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8624
0b2c4be5
DS
86252012-05-16 Dodji Seketeli <dodji@redhat.com>
8626
8627 PR preprocessor/7263
ab20d992 8628 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
8629 to cpp_classify_number. For diagnostics, use the precise location
8630 instead of the global input_location.
8631
a1bde5af
PC
86322012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8633
d02924ef 8634 PR c++/11856
a1bde5af
PC
8635 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8636
d1ede5f4
BS
86372012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8638
a1bde5af 8639 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8640
f2bc201f
MLI
86412012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8642
8643 PR 53063
8644 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8645 Wreorder): Use LangEnabledBy.
8646 * c-opts.c (c_common_handle_option): Do not enable them
8647 explicitly. Call lang-specific generated functions.
8648 (c_common_post_options): Do not set them here.
8649
95744782
MLI
86502012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8651
8652 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8653 Wmissing-field-initializers,Wmissing-parameter-type,
8654 Wold-style-declaration,Woverride-init): Use EnabledBy.
8655 * c-opts.c (c_common_post_options): Do not set here explicitly.
8656
7d5a5747
MLI
86572012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8658
8659 PR 53063
8660 * c-opts.c (c_common_handle_option): Use handle_generated_option
8661 to enable sub-options.
8662
5a3c9cf2
PC
86632012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8664
8665 PR c++/53158
8666 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8667
3ac8781c
RG
86682012-05-10 Richard Guenther <rguenther@suse.de>
8669
8670 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8671 adjust commentary about TYPE_IS_SIZETYPE types.
8672
1e537948
MLI
86732012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8674
8675 PR c++/53261
8676 * c-common.c (warn_logical_operator): Check that argument of
8677 integer_zerop is not NULL.
8678
f2c4a785
MLI
86792012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8680
8681 PR c/43772
8682 * c-common.c (warn_logical_operator): Do not warn if either side
8683 is already true or false.
8684
50f305ca
MLI
86852012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8686
8687 PR c/51712
8688 * c-common.c (expr_original_type): New.
8689 (shorten_compare): Do not warn for enumeration types.
8690
0c3641b0
MLI
86912012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8692
8693 * c.opt (fpermissive): Add Var(flag_permissive).
8694
7edaa4d2
MG
86952012-04-30 Marc Glisse <marc.glisse@inria.fr>
8696
8697 PR c++/51033
8698 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8699 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8700
b9c8da34
DS
87012012-04-30 Dodji Seketeli <dodji@redhat.com>
8702
8703 Add -Wvarargs option
ab20d992 8704 * c.opt (Wvarargs): Define new option.
b9c8da34 8705
e6c69da0
MLI
87062012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8707
8708 * c-common.c (check_function_arguments): Replace
8709 Wmissing-format-attribute with Wsuggest-attribute=format.
8710
90137d8f
MLI
87112012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8712
8713 * c.opt (Wsuggest-attribute=format): New. Alias of
8714 Wmissing-format-attribute.
8715 * c-format.c (decode_format_type): Replace
8716 Wmissing-format-attribute with Wsuggest-attribute=format.
8717 (check_function_format): Likewise.
8718
9faeb493 87192012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8720
8721 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8722 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8723 * c.opt: Add Wliteral-suffix.
8724
c1771a20
MLI
87252012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8726
8727 PR c/44774
8728 * c.opt (Wpedantic): New.
8729 (pedantic): Alias Wpedantic.
8730 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8731 (c_common_post_options): Likewise.
8732 (sanitize_cpp_opts): Likewise.
8733 * c-lex.c (interpret_float): Likewise.
8734 * c-format.c (check_format_types): Likewise.
8735 * c-common.c (pointer_int_sum): Likewise.
8736 (c_sizeof_or_alignof_type): Likewise.
8737 (c_add_case_label): Likewise.
8738 (c_do_switch_warnings): Likewise.
8739 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8740
04b391c1
JM
87412012-04-15 Jason Merrill <jason@redhat.com>
8742
8743 PR c++/52818
8744 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8745 (C_STD_NAME): Distinguish between C++98 and C++11.
8746
ac868f29
EB
87472012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8748
8749 PR target/52624
8750 * c-common.h (uint16_type_node): Rename into...
8751 (c_uint16_type_node): ...this.
8752 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8753 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8754
fd4116f4
MLI
87552012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8756
8757 * c-common.c (warn_if_unused_value): Move definition to here.
8758 * c-common.h (warn_if_unused_value): Move declaration to here.
8759
573ac65e
WB
87602012-03-23 William Bader <williambader@hotmail.com>
8761
8762 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8763
552b8185
JM
87642012-03-20 Jason Merrill <jason@redhat.com>
8765
8766 * c-common.h (enum cxx_dialect): Add cxx1y.
8767 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8768 test.
8769 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8770 * c-opts.c (c_common_post_options): Likewise.
8771 (set_std_cxx1y): New.
8772 (c_common_handle_option): Call it.
8773 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8774
04398fa8
PC
87752012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8776
8777 PR c++/14710
8778 * c.opt ([Wuseless-cast]): Add.
8779
d2a12ae7
RG
87802012-03-16 Richard Guenther <rguenther@suse.de>
8781
8782 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8783
a12bf402
MLI
87842012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8785
8786 PR c++/44783
8787 * c.opt (ftemplate-backtrace-limit) Add.
8788
5c30094f
RO
87892012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8790
8791 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8792 handling.
8793 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8794 (init_pragma): Don't register extern_prefix.
8795
21fa2faf
RG
87962012-03-12 Richard Guenther <rguenther@suse.de>
8797
8798 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8799 (builtin_type_for_size): Likewise.
8800
e3793c6f
JJ
88012012-02-13 Jakub Jelinek <jakub@redhat.com>
8802
8803 PR c++/52215
8804 * c-common.c (sync_resolve_params): Don't decide whether to convert
8805 or not based on TYPE_SIZE comparison, convert whenever arg_type
8806 is unsigned INTEGER_TYPE.
8807
93286335
PC
88082012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
8809
8810 PR c/52118
8811 * c.opt ([Wunused-local-typedefs]): Fix description.
8812
7a421706
MS
88132012-01-24 Mike Stump <mikestump@comcast.net>
8814
8815 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
8816 exactly.
8817
ba9b1f11
RG
88182012-01-18 Richard Guenther <rguenther@suse.de>
8819
8820 * c-opts.c (c_common_post_options): Reset LTO flags if
8821 we are about to generate a PCH.
8822
465406be
PC
88232012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8824
8825 PR c++/51777
8826 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8827 use pp_unsigned_wide_integer.
8828
aee15221
RG
88292012-01-10 Richard Guenther <rguenther@suse.de>
8830
8831 PR middle-end/51806
8832 * c-opts.c (c_common_handle_option): Move -Werror handling
8833 to language independent code.
8834
5720c0dc
RG
88352012-01-05 Richard Guenther <rguenther@suse.de>
8836
8837 PR middle-end/51764
8838 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8839 from common.opt.
8840
73ac190a
PC
88412011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
8842
8843 PR c++/51316
8844 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8845 of array types with an unknown bound.
8846
48b0b196
JM
88472011-12-20 Joseph Myers <joseph@codesourcery.com>
8848
8849 * c-common.c (flag_isoc99): Update comment to refer to C11.
8850 (flag_isoc1x): Change to flag_isoc11.
8851 * c-common.h (flag_isoc99): Update comment to refer to C11.
8852 (flag_isoc1x): Change to flag_isoc11.
8853 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8854 C11.
8855 * c-opts.c (set_std_c1x): Change to set_std_c11.
8856 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8857 Call set_std_c11.
8858 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8859 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8860 * c.opt (std=c1x): Change to std=c11. Document as non-draft
8861 standard.
8862 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8863 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
8864 (std=gnu1x): Make alias of std=gnu11.
8865
d58d6eb5
JM
88662011-12-19 Jason Merrill <jason@redhat.com>
8867
8868 PR c++/51228
8869 * c-common.c (handle_transparent_union_attribute): Check the first
8870 field if the type is complete.
8871
b3908fcc
JW
88722011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
8873
8874 PR libstdc++/51365
8875 * c-common.c (RID_IS_FINAL): Add.
8876 * c-common.h (RID_IS_FINAL): Add.
8877
fea3ca91
IS
88782011-11-30 Iain Sandoe <iains@gcc.gnu.org>
8879
8880 * c.opt (fgnu-runtime): Provide full description.
8881 (fnext-runtime): Likewise.
8882 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8883
62bad7cd
AM
88842011-11-28 Andrew MacLeod <amacleod@redhat.com>
8885
8886 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
8887 predefines in one place. Add LOCK_FREE predefines.
8888 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8889 new func.
8890
c466c4ff
AM
88912011-11-24 Andrew MacLeod <amacleod@redhat.com>
8892
8893 PR c/51256
9faeb493 8894 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 8895 conditions
9faeb493
UB
8896 (resolve_overloaded_atomic_exchange,
8897 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
8898 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8899 error_mark_node for error conditions.
9faeb493 8900
a5952633
RG
89012011-11-08 Richard Guenther <rguenther@suse.de>
8902
8903 PR middle-end/51010
ab20d992 8904 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 8905
0a35513e
AH
89062011-11-07 Richard Henderson <rth@redhat.com>
8907 Aldy Hernandez <aldyh@redhat.com>
8908 Torvald Riegel <triegel@redhat.com>
8909
8910 Merged from transactional-memory.
8911
8912 * c-common.c (handle_tm_wrap_attribute,
8913 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8914 (struct c_common_reswords): Added __transaction* keywords.
8915 (struct c_common_attribute_table): Added transaction* and tm_regparm
8916 attributes.
8917 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8918 masks.
8919 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8920 find_tm_attribute): Declare.
8921
6d87092d
JM
89222011-11-07 Jason Merrill <jason@redhat.com>
8923
8924 PR c++/35688
8925 * c-common.c, c-common.h: Revert yesterday's changes.
8926
8e7860a1
JM
89272011-11-06 Jason Merrill <jason@redhat.com>
8928
8929 PR c++/35688
8930 * c-common.c (decl_has_visibility_attr): Split out from...
8931 (c_determine_visibility): ...here.
8932 * c-common.h: Declare it.
8933
d19fa6b5
JM
89342011-11-06 Joseph Myers <joseph@codesourcery.com>
8935
8936 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8937 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8938 type.
8939 (check_user_alignment): New. Split out of
8940 handle_aligned_attribute. Disallow integer constants with
8941 noninteger types. Conditionally allow zero.
8942 (handle_aligned_attribute): Use check_user_alignment.
8943 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
8944
86951993
AM
89452011-11-06 Andrew MacLeod <amacleod@redhat.com>
8946 Richard Henderson <rth@redhat.com>
8947
8948 Merged from cxx-mem-model.
8949
8950 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 8951 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
8952 parameters that are the same type size.
8953 (get_atomic_generic_size): New. Find size of generic
8954 atomic function parameters and do typechecking.
8955 (add_atomic_size_parameter): New. Insert size into parameter list.
8956 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8957 either __atomic_exchange_n or external library call.
9faeb493 8958 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 8959 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 8960 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
8961 __atomic_load_n or an external library call.
8962 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
8963 __atomic_store_n or an external library call.
8964 (resolve_overloaded_builtin): Handle new __atomic builtins.
8965
cf9e9959
EB
89662011-11-04 Eric Botcazou <ebotcazou@adacore.com>
8967
8968 PR c++/50608
8969 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8970 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
8971 <INDIRECT_REF>: Return the argument.
8972 <ARRAY_REF>: Remove special code for negative offset.
8973 Call fold_build_pointer_plus instead of size_binop.
8974 (fold_offsetof): Remove STOP_REF argument and adjust.
8975 * c-common.h (fold_offsetof_1): Declare.
8976 (fold_offsetof): Remove STOP_REF argument.
8977
25339f10
JM
89782011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
8979
8980 PR c++/50810
8981 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8982 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8983 Wnarrowing for C++0x and C++98.
8984 * c.opt ([Wnarrowing]): Update.
8985
89401152
PC
89862011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
8987
8988 PR c++/44277
8989 * c.opt: Add Wzero-as-null-pointer-constant.
8990
97e3ad20
JM
89912011-10-31 Jason Merrill <jason@redhat.com>
8992
15694fdd
JM
8993 * c.opt (-fdeduce-init-list): Off by default.
8994
97e3ad20
JM
8995 PR c++/50920
8996 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
8997 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8998 and -Wc++11-compat.
8999 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9000
fb9120e3
RAV
90012011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9002
9003 PR c++/30066
9004 * c.opt (fvisibility-inlines-hidden): Description change.
9005
3ce4f9e4
ESR
90062011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9007
9008 Implement C++11 user-defined literals.
9009 * c-common.c (build_userdef_literal): New.
9010 * c-common.def: New tree code.
9011 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9012 * c-lex.c (interpret_float): Add suffix parm.
9013 (c_lex_with_flags): Build literal tokens.
9014
5f53c243
PC
90152011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9016
9017 PR c++/50841
9018 Revert:
9019 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9020
9021 PR c++/50810
9022 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9023 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9024 Wnarrowing for C++0x and C++98.
9025 * c.opt ([Wnarrowing]): Update.
9026
263734e1
PC
90272011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9028
9029 PR c++/50810
9030 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9031 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9032 Wnarrowing for C++0x and C++98.
9033 * c.opt ([Wnarrowing]): Update.
9034
d2e312d7
PC
90352011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9036
9037 PR c++/45385
9038 * c-common.c (conversion_warning): Remove code looking for
9039 artificial operands.
9040
d17687f6
DS
90412011-10-18 Dodji Seketeli <dodji@redhat.com>
9042
9043 PR bootstrap/50760
9044 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 9045 !NO_IMPLICIT_EXTERN_C.
d17687f6 9046
fc8396e9
PC
90472011-10-17 Michael Spertus <mike_spertus@symantec.com>
9048
9049 * c-common.c (c_common_reswords): Add __bases,
9050 __direct_bases.
9051 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9052
90532011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9054
9055 PR c++/50757
9056 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9057
847e697a
TT
90582011-10-15 Tom Tromey <tromey@redhat.com>
9059 Dodji Seketeli <dodji@redhat.com>
9060
9061 * c.opt (fdebug-cpp): New option.
9062 * c-opts.c (c_common_handle_option): Handle the option.
9063 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9064 output stream in parameter. Factorized from ...
9065 (maybe_print_line): ... this. Dump location debug information when
9066 -fdebug-cpp is in effect.
9067 (print_line_1): New static function. Takes an output stream in
9068 parameter. Factorized from ...
9069 (print_line): ... here. Dump location information when -fdebug-cpp
9070 is in effect.
9071 (scan_translation_unit): Dump location information when
9072 -fdebug-cpp is in effect.
9073
92582b75
TT
90742011-10-15 Tom Tromey <tromey@redhat.com>
9075 Dodji Seketeli <dodji@redhat.com>
9076
9077 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9078 without argument.
9079 * c-opts.c (c_common_handle_option)<case
9080 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9081 cases. Handle -ftrack-macro-expansion with and without argument.
9082
46427374
TT
90832011-10-15 Tom Tromey <tromey@redhat.com>
9084 Dodji Seketeli <dodji@redhat.com>
9085
9086 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9087 (print_line, cb_define, do_line_change): Adjust to avoid touching
9088 the internals of struct line_map. Use the public API instead.
9089 * c-pch.c (c_common_read_pch): Likewise.
9090 * c-lex.c (fe_file_change): Likewise.
9091
fc8396e9
PC
90922011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9093
9094 PR c++/17212
9095 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9096
90972011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9098
9099 PR c++/33067
9100 * c-pretty-print.c (pp_c_floating_constant): Output
9101 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9102
e79983f4
MM
91032011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9104
9105 * c-common.c (def_builtin_1): Delete old interface with two
9106 parallel arrays to hold standard builtin declarations, and replace
9107 it with a function based interface that can support creating
9108 builtins on the fly in the future. Change all uses, and poison
9109 the old names. Make sure 0 is not a legitimate builtin index.
9110 * c-omp.c (c_finish_omp_barrier): Ditto.
9111 (c_finish_omp_taskwait): Ditto.
9112 (c_finish_omp_flush): Ditto.
9113
6637388f
TG
91142011-10-11 Tristan Gingold <gingold@adacore.com>
9115
9116 * c.opt: (fallow-parameterless-variadic-functions): New.
9117
3797cb21
DS
91182011-09-08 Dodji Seketeli <dodji@redhat.com>
9119
9120 PR c++/33255 - Support -Wunused-local-typedefs warning
9121 * c-common.h (struct c_language_function::local_typedefs): New
9122 field.
9faeb493
UB
9123 (record_locally_defined_typedef, maybe_record_typedef_use)
9124 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 9125 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
9126 (maybe_record_typedef_use)
9127 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
9128 * c.opt: Declare new -Wunused-local-typedefs flag.
9129
693ddb1b
EB
91302011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9131
9132 PR middle-end/50266
9133 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9134 computations.
9135
830c740f
RG
91362011-09-05 Richard Guenther <rguenther@suse.de>
9137
9138 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9139 of integer_minus_one_node for empty array upper bounds.
9140
892a371f
DS
91412011-08-28 Dodji Seketeli <dodji@redhat.com>
9142
9143 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9144 it's the first time it's being called on this main TU.
9145
0e3fdb48
RB
91462011-08-24 Richard Guenther <rguenther@suse.de>
9147
9148 PR c/49396
9149 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9150
91512011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
9152
9153 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9154 defined in cpp_init_builtins and c_cpp_builtins.
9155
d4a83c10
JM
91562011-08-19 Joseph Myers <joseph@codesourcery.com>
9157
9158 * c-common.c (c_common_reswords): Add __builtin_complex.
9159 * c-common.h (RID_BUILTIN_COMPLEX): New.
9160
bbceee64
JM
91612011-08-18 Joseph Myers <joseph@codesourcery.com>
9162
9163 * c-common.c (c_common_reswords): Add _Noreturn.
9164 (keyword_is_function_specifier): Handle RID_NORETURN.
9165 * c-common.h (RID_NORETURN): New.
9166
3f8257db 91672011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
9168
9169 * c-common.c (unsafe_conversion_p): New function. Check if it is
9170 unsafe to convert an expression to the type.
9171 (conversion_warning): Adjust, use unsafe_conversion_p.
9172 * c-common.h (unsafe_conversion_p): New function declaration.
9173
20906c66
JJ
91742011-08-02 Jakub Jelinek <jakub@redhat.com>
9175
9176 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9177 (c_finish_omp_taskyield): New prototype.
9178 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9179 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9180 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9181 or RHS1 have side-effects, evaluate those too in the right spot,
9182 if it is a decl and LHS is also a decl, error out if they
9183 aren't the same.
9184 (c_finish_omp_taskyield): New function.
9185 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9186 * c-pragma.c (omp_pragmas): Add taskyield.
9187 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9188 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9189 PRAGMA_OMP_CLAUSE_MERGEABLE.
9190
770e5a2e
DS
91912011-07-25 Dodji Seketeli <dodji@redhat.com>
9192
9193 * c-common.h (set_underlying_type): Remove parm name from
9194 declaration.
9195
1baae426
RG
91962011-07-25 Romain Geissler <romain.geissler@gmail.com>
9197
9198 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 9199
fcb21722
JM
92002011-07-22 Jason Merrill <jason@redhat.com>
9201
76f86d00
JM
9202 PR c++/49793
9203 * c.opt (Wnarrowing): New.
9204
3a636414
JM
9205 PR c++/30112
9206 * c-common.h: Declare c_linkage_bindings.
9207 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9208
fcb21722
JM
9209 PR c++/49813
9210 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9211 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9212 as flag_isoc99 for 'restrict'.
9213 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9214
02614448
ILT
92152011-07-21 Ian Lance Taylor <iant@google.com>
9216
9217 PR middle-end/49705
9218 * c-common.c (c_disable_warnings): New static function.
9219 (c_enable_warnings): New static function.
9220 (c_fully_fold_internal): Change local unused_p to bool. Call
9221 c_disable_warnings and c_enable_warnings rather than change
9222 c_inhibit_evaluation_warnings.
9223
34429675
JM
92242011-07-20 Jason Merrill <jason@redhat.com>
9225
9226 PR c++/6709 (DR 743)
9227 PR c++/42603 (DR 950)
9228 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9229 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9230 (CPP_DECLTYPE): New.
9231 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9232
5d49b6a7
RG
92332011-07-19 Richard Guenther <rguenther@suse.de>
9234
9235 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9236 * c-omp.c (c_finish_omp_for): Likewise.
9237
e84a58ff
EB
92382011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9239
9240 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9241 body on the next line.
9242
329af3c7
JM
92432011-07-08 Jason Merrill <jason@redhat.com>
9244
4063e61b
JM
9245 PR c++/45437
9246 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9247
329af3c7
JM
9248 PR c++/49673
9249 * c-common.c (c_apply_type_quals_to_decl): Don't check
9250 TYPE_NEEDS_CONSTRUCTING.
9251
1a072294
RG
92522011-07-06 Richard Guenther <rguenther@suse.de>
9253
9254 * c-common.c (c_common_nodes_and_builtins):
9255 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9256
fce5dddd
RG
92572011-07-05 Richard Guenther <rguenther@suse.de>
9258
9259 * c-common.c (c_common_nodes_and_builtins): Build all common
9260 tree nodes first.
9261
45d439ac
JJ
92622011-06-27 Jakub Jelinek <jakub@redhat.com>
9263
56300785
JJ
9264 * c-common.h (c_tree_chain_next): New static inline function.
9265
45d439ac
JJ
9266 * c-common.c (check_builtin_function_arguments): Handle
9267 BUILT_IN_ASSUME_ALIGNED.
9268
e0a8ecf2
AM
92692011-06-21 Andrew MacLeod <amacleod@redhat.com>
9270
9271 * c-common.c: Add sync_ or SYNC__ to builtin names.
9272 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
9273
92742011-06-20 Pierre Vittet <piervit@pvittet.com>
9275
9276 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9277 handler.
9278 (gen_pragma_handler): New union.
9279 (internal_pragma_handler): New type.
9280 (c_register_pragma_with_data)
9281 (c_register_pragma_with_expansion_and_data): New functions.
9282
9283 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9284 (c_register_pragma, c_register_pragma_with_expansion)
9285 (c_invoke_pragma_handler): Changed to work with
9286 internal_pragma_handler.
9287 (c_register_pragma_with_data)
9288 (c_register_pragma_with_expansion_and_data): New functions.
9289
677f3fa8
JM
92902011-06-14 Joseph Myers <joseph@codesourcery.com>
9291
9292 * c-common.c: Include common/common-target.h.
9293 (handle_section_attribute): Use
9294 targetm_common.have_named_sections.
9295 * c-cppbuiltin.c: Include common/common-target.h.
9296 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9297
d7fc8c14
RG
92982011-06-10 Richard Guenther <rguenther@suse.de>
9299
9300 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9301 to print a IDENTIFIER_NODE.
9302
10e48e39
RO
93032011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9304 Joseph Myers <joseph@codesourcery.com>
9305
9306 * c.opt (fbuilding-libgcc): New option.
9307 * c-cppbuiltin.c (c_cpp_builtins): Define
9308 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9309
6976ae51
JM
93102011-06-07 Jason Merrill <jason@redhat.com>
9311
3ff60975
JM
9312 * c-common.c (max_tinst_depth): Lower default to 900.
9313
6976ae51
JM
9314 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9315
009db074
RG
93162011-06-07 Richard Guenther <rguenther@suse.de>
9317
9318 * c-common.c (c_common_nodes_and_builtins): Do not set
9319 size_type_node or call set_sizetype.
9320
b4592b92
DS
93212011-06-07 Dodji Seketeli <dodji@redhat.com>
9322
9323 PR debug/49130
9324 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 9325 type when using pointer comparison to compare types.
b4592b92 9326
014ab419
JW
93272011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9328
9329 * c.opt: Add -Wdelete-non-virtual-dtor.
9330 * c-opts.c (c_common_handle_option): Include it in -Wall.
9331
4f60111f
NF
93322011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9333
9334 PR bootstrap/49190
9335
9336 Revert:
9337 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9338
9339 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9340 not tree_common.
9341
4cc4f2f4
JJ
93422011-05-27 Jakub Jelinek <jakub@redhat.com>
9343
9344 PR c++/49165
9345 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9346 C++ don't call c_common_truthvalue_conversion on void type arms.
9347
38e01f9e
NF
93482011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9349
9350 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9351 (stmt_list_stack): Define.
9352 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9353 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9354
92e948a8
NF
93552011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9356
9357 * c-common.c (warning_candidate_p): Check for BLOCKs.
9358
a2fc3e63
NF
93592011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9360
9361 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9362 not tree_common.
9363
0957c029
JJ
93642011-05-25 Jakub Jelinek <jakub@redhat.com>
9365
9366 * c-common.c (def_fn_type): Remove extra va_end.
9367
828fb3ba
JM
93682011-05-23 Jason Merrill <jason@redhat.com>
9369
9370 PR c++/48106
9371 * c-common.c (c_common_get_narrower): New.
9372 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9373
dde05067
NF
93742011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9375
9376 * c-common.h (check_function_arguments): Tweak prototype of
9377 check_function_arguments.
9378 * c-common.c (check_function_arguments): Likewise. Adjust
9379 calls to check_function_nonnull, check_function_format, and
9380 check_function_sentinel.
9381 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9382 separate attributes and typelist arguments. Use
9383 FOREACH_FUNCTION_ARGS to iterate over argument types.
9384
3c0d13bf
PC
93852011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9386
9387 * c-common.c (c_common_reswords): Reorder.
9388 * c-common.h (rid): Likewise.
9389
8242dd04
NF
93902011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9391
9392 * c-common.c (def_fn_type): Don't call build_function_type, call
9393 build_function_type_array or build_varargs_function_type_array
9394 instead.
9395 (c_common_nodes_and_builtins): Likewise.
9396
3d528853
NF
93972011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9398
9399 * c-common.c (c_add_case_label): Omit the loc argument to
9400 build_case_label.
9401 * c-common.h (build_case_label): Remove.
9402 * c-semantics.c (build_case_label): Remove.
9403
a04a722b
JM
94042011-05-05 Joseph Myers <joseph@codesourcery.com>
9405
9406 * c-objc.h (objc_start_method_definition): Update prototype.
9407 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9408
e19a18d4
NF
94092011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9410
9411 * c-common.c (check_main_parameter_types): Reindent. Don't use
9412 TYPE_ARG_TYPES directly.
9413 (handle_nonnull_attribute): Likewise.
9414 (sync_resolve_params): Likewise.
9415 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9416 to check_format_string.
9417 (handle_format_attribute): Likewise.
9418 (check_format_string): Take a function type to examine instead of
9419 a type list. Use a function_arg_iterator to step through argument
9420 types.
9421
c62c040f
RG
94222011-05-04 Richard Guenther <rguenther@suse.de>
9423
9424 * c-common.c (fix_string_type): Use size_int for index type bounds.
9425 (start_fname_decls): Do not pass NULL to build_int_cst.
9426 (c_init_attributes): Likewise.
9427 * c-lex.c (c_lex_with_flags): Likewise.
9428
c12ff9d8
JM
94292011-04-27 Jason Merrill <jason@redhat.com>
9430
9431 * c-common.c (make_tree_vector_from_list): New.
9432 * c-common.h: Declare it.
9433
304dfbe3
RG
94342011-04-26 Richard Guenther <rguenther@suse.de>
9435
9436 PR preprocessor/48248
9437 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9438 for output size with -P.
9439
3c0d13bf
PC
94402011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9441
9442 * c-common.c (struct c_common_resword): Add __underlying_type.
9443 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9444
04695783
JM
94452011-04-20 Jim Meyering <meyering@redhat.com>
9446
9447 * c-format.c (init_dollar_format_checking): Remove useless
9448 if-before-free.
9449
0dc33c3c
NP
94502011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9451
9452 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 9453 (objc_detect_field_duplicates): New.
0dc33c3c 9454 * stub-objc.c: Likewise.
3c0d13bf 9455
c59633d9
NP
94562011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9457
9458 * stub-objc.c (objc_declare_protocols): Renamed to
9459 objc_declare_protocol.
9460 * c-objc.h: Likewise.
3c0d13bf 9461
32dabdaf
NP
94622011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9463
9464 * stub-objc.c (objc_declare_class): Updated argument name.
9465
81f653d6
NF
94662011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9467
9468 * c-common.h (c_common_init_ts): Declare.
9469 * c-common.c (c_common_init_ts): Define.
9470
eb345401
NP
94712011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9472
9473 * c-objc.h (objc_build_message_expr): Updated prototype.
9474 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 9475
a358e188
MJ
94762011-04-12 Martin Jambor <mjambor@suse.cz>
9477
9478 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9479 of cgraph_node.
9480
e6313a78
RG
94812011-04-11 Richard Guenther <rguenther@suse.de>
9482
9483 * c-common.c (complete_array_type): Build a range type of
9484 proper type.
9485
dcf0c47e
NF
94862011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9487
9488 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9489 (handle_type_generic_attribute): Likewise.
9490
1ee44b26
JM
94912011-04-07 Jason Merrill <jason@redhat.com>
9492
9493 PR c++/48450
9494 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9495 conversion from C++0x scoped enum.
9496
acce4e77
JM
94972011-04-06 Joseph Myers <joseph@codesourcery.com>
9498
9499 * c-target-def.h: New file.
9500 * c-target.def: New file.
9501 * c-target.h: New file.
9502 * c-common.c (targetcm): Don't define here.
9503 * c-common.h (default_handle_c_option): Declare.
9504 * c-format.c: Include c-target.h instead of target.h.
9505 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9506 include tm.h.
9507 (default_handle_c_option): Move from targhooks.c.
9508
e2eefb55
JJ
95092011-03-29 Jakub Jelinek <jakub@redhat.com>
9510
9511 PR preprocessor/48248
9512 * c-ppoutput.c (print): Add src_file field.
9513 (init_pp_output): Initialize it.
9514 (maybe_print_line): Don't optimize by adding up to 8 newlines
9515 if map->to_file and print.src_file are different file.
9516 (print_line): Update print.src_file.
9517
ba78087b
KT
95182011-03-25 Kai Tietz <ktietz@redhat.com>
9519
9520 * c-ada-spec.c (compare_comment): Use filename_cmp
9521 instead of strcmp for filename.
9522
0edf1bb2
JL
95232011-03-25 Jeff Law <law@redhat.com>
9524
adfac8df 9525 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9526
c7dc8804
JM
95272011-03-25 Jason Merrill <jason@redhat.com>
9528
9529 * c.opt: Add -std=c++03.
9530
d1d879b1
EB
95312011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9532
9533 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9534
3f8257db 95352011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9536
9537 PR target/12171
5050afdf
KT
9538 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9539 Display allowed attributes for function pointer types.
9540 (pp_c_attributes_display): New function to display
9541 attributes having affects_type_identity flag set to true.
9542 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9543
62d784f7
KT
9544 * c-common.c (c_common_attribute_table):
9545 Add new element.
9546 (c_common_format_attribute_table): Likewise.
9547
82d37118
JM
95482011-03-18 Jason Merrill <jason@redhat.com>
9549
49a000c3
JM
9550 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9551 * c-common.h: Don't declare it here.
9552 * c-common.c: Or define it here.
9553 * c-opts.c (c_common_handle_option): Or set it here.
9554
82d37118
JM
9555 PR c++/35315
9556 * c-common.c (handle_transparent_union_attribute): Don't
9557 make a duplicate type in C++.
9558
17bc631c
JM
95592011-03-15 Jason Merrill <jason@redhat.com>
9560
9561 * c-common.c (max_constexpr_depth): New.
9562 * c-common.h: Declare it.
9563 * c-opts.c (c_common_handle_option): Set it.
9564 * c.opt (fconstexpr-depth): New option.
9565
1b9b91a6
JM
95662011-03-11 Jason Merrill <jason@redhat.com>
9567
f231b5ff
JM
9568 * c-common.c (attribute_takes_identifier_p): Add missing const.
9569
1b9b91a6
JM
9570 PR c++/46803
9571 * c-common.c (attribute_takes_identifier_p): Assume that an
9572 unknown attribute takes an identifier.
9573
a19e4d44
NF
95742011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9575
9576 PR c/47786
9577 * c-common.c (c_type_hash): Call list_length instead of iterating
9578 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9579
982d62f6
JJ
95802011-02-19 Jakub Jelinek <jakub@redhat.com>
9581
9582 PR c/47809
9583 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9584
0a256240
NP
95852011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9586
9587 * c.opt (fobjc-abi-version=) New.
9588 (fobjc-nilcheck): New.
9589
ba9e6dd5
NF
95902011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9591
9592 PR c++/46890
9593 * c-common.h (keyword_is_decl_specifier): Declare.
9594 * c-common.c (keyword_is_decl_specifier): Define.
9595 (keyword_is_function_specifier): New function.
9596
7273813a
JJ
95972011-01-26 Jakub Jelinek <jakub@redhat.com>
9598
9599 PR c/47473
9600 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9601 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9602 REAL_TYPE.
9603
908ef79b
AC
96042011-01-26 Arnaud Charlet <charlet@adacore.com>
9605
9606 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9607
237e9384
JJ
96082011-01-26 Jakub Jelinek <jakub@redhat.com>
9609
9610 PR pch/47430
9611 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9612 after init_c_lex if pch_file is set.
9613
47ea1edf
DK
96142011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9615
d4dba752 9616 PR c++/43601
47ea1edf
DK
9617 * c.opt (-fkeep-inline-dllexport): New switch.
9618
2aa9c6ae
RG
96192011-01-12 Richard Guenther <rguenther@suse.de>
9620
9621 PR middle-end/32511
9622 * c-common.c (handle_weak_attribute): Warn instead of error
9623 on declaring an inline function weak.
9624
7bd11157
TT
96252011-01-05 Tom Tromey <tromey@redhat.com>
9626
9627 * c-common.h (lvalue_error): Update.
9628 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9629 not error.
9630
0e66e494 96312010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9632
b4f588c4
NP
9633 PR objc/47075
9634 * c-objc.h (objc_finish_message_expr): Added argument to
9635 prototype.
9636
f4da8dce
NF
96372010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9638
9639 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9640 Use prototype_p.
9641
46270f14
NP
96422010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9643
9644 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9645 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9646
4816c593
NF
96472010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9648
9649 * c-common.h (readonly_error): Declare.
9650 * c-common.c (readonly_error): Define.
9651
7a6daeb0
NF
96522010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9653
9654 * c-common.h (invalid_indirection_error): Declare.
9655 * c-common.c (invalid_indirection_error): Define.
9656
892f6119
RG
96572010-12-03 Richard Guenther <rguenther@suse.de>
9658
9659 PR c/46745
9660 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9661 (pp_c_unary_expression): Likewise.
9662 (pp_c_expression): Likewise.
9663
6c39e757
NP
96642010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9665
9666 * c-common.h (objc_finish_function): New.
9667 (objc_non_volatilized_type): Removed.
9668 (objc_type_quals_match): Removed.
9669 * stub-objc.c (objc_finish_function): New.
9670 (objc_non_volatilized_type): Removed.
9671 (objc_type_quals_match): Removed.
9faeb493 9672
7c475d11
JM
96732010-11-30 Joseph Myers <joseph@codesourcery.com>
9674
9675 * c-common.h (parse_optimize_options): Declare.
9676 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9677 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9678
71f3e391
JM
96792010-11-29 Joseph Myers <joseph@codesourcery.com>
9680
9681 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9682 GET_ENVIRONMENT.
9683 * c-pch.c (O_BINARY): Don't define here.
9684 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9685
d5fabb58
JM
96862010-11-25 Joseph Myers <joseph@codesourcery.com>
9687
9688 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9689 targetm.except_unwind_info.
9690
299404a1
JM
96912010-11-23 Joseph Myers <joseph@codesourcery.com>
9692
9693 * c-opts.c (c_common_handle_option): Pass location to
9694 set_struct_debug_option.
9695
c98cd5bf
JM
96962010-11-23 Joseph Myers <joseph@codesourcery.com>
9697
9698 * c-common.c (visibility_options): Move from ../opts.c.
9699 * c-common.h (struct visibility_flags, visibility_options):
9700 Declare here.
9701 * c-opts.c (finish_options): Rename to c_finish_options.
9702 (c_common_init): Update call to finish_options.
9703
a9546771
NP
97042010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9705
9706 PR objc/34033
9707 * c-lex.c (lex_string): Check that each string in an Objective-C
9708 string concat sequence starts with either one or zero '@', and
9709 that there are no spurious '@' signs at the end.
9710
24a57808
JM
97112010-11-20 Joseph Myers <joseph@codesourcery.com>
9712
9713 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9714 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9715 HANDLE_PRAGMA_VISIBILITY.
9716 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9717 HANDLE_PRAGMA_VISIBILITY): Don't define.
9718 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9719
a9aa2c3a
NF
97202010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9721
9722 PR c++/16189
9723 PR c++/36888
9724 PR c++/45331
9725 * c-common.h (keyword_begins_type_specifier): Declare.
9726 (keyword_is_storage_class_specifier): Declare.
9727 (keyword_is_type_qualifier): Declare.
9728 * c-common.c (keyword_begins_type_specifier): New function.
9729 (keyword_is_storage_class_specifier): New function.
9730 (keyword_is_type_qualifier): Declare.
9731
5386338c
JM
97322010-11-19 Joseph Myers <joseph@codesourcery.com>
9733
9734 PR c/46547
9735 * c-common.c (in_late_binary_op): Define.
9736 (c_common_truthvalue_conversion): Check in_late_binary_op before
9737 calling c_save_expr.
9738 * c-common.h (in_late_binary_op): Declare.
9739
69ccdddb
JM
97402010-11-19 Joseph Myers <joseph@codesourcery.com>
9741
9742 * c-opts.c (c_common_handle_option): Update calls to
9743 set_struct_debug_option.
9744
6b192a09
NP
97452010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9746
9747 * c-common.h (objc_declare_protocols): Added additional argument.
9748 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 9749
fb52b50a
NF
97502010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9751
9752 PR c/33193
9753 * c-common.h (build_real_imag_expr): Declare.
9754 * c-semantics.c (build_real_imag_expr): Define.
9755
b37421c6
JM
97562010-11-17 Joseph Myers <joseph@codesourcery.com>
9757
9758 * c-opts.c (c_common_parse_file): Take no arguments.
9759 * c-common.h (c_common_parse_file): Update prototype.
9760
07078664
JJ
97612010-11-16 Jakub Jelinek <jakub@redhat.com>
9762
9763 PR c++/46401
9764 * c-common.c (warning_candidate_p): Don't track non-const calls
9765 or STRING_CSTs.
9766
c6a13190
ILT
97672010-11-15 Ian Lance Taylor <iant@google.com>
9768
9769 * c-lex.c (init_c_lex): Set macro debug callbacks if
9770 flag_dump_go_spec is set.
9771
925e8657
NP
97722010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9773
9774 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9775 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9776
bb0a9581
NF
97772010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9778
9779 PR preprocessor/45038
9780 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9781 dialects.
9782
c5fa0890
JM
97832010-11-12 Joseph Myers <joseph@codesourcery.com>
9784
9785 * c-common.h (c_family_lang_mask): Declare.
9786 * c-opts.c (c_family_lang_mask): Make extern.
9787 * c-pragma.c (handle_pragma_diagnostic): Use
9788 control_warning_option.
9789
a4d8c676
JM
97902010-11-12 Joseph Myers <joseph@codesourcery.com>
9791
9792 * c-common.c (parse_optimize_options): Update call to
9793 decode_options.
9794 * c-common.h (c_common_handle_option): Update prototype.
9795 * c-opts.c (c_common_handle_option): Take location_t parameter and
9796 pass it to other functions.
9797
f954bd2c
JM
97982010-11-11 Joseph Myers <joseph@codesourcery.com>
9799
9800 * c-opts.c (warning_as_error_callback): Remove.
9801 (c_common_initialize_diagnostics): Don't call
9802 register_warning_as_error_callback.
9803 (c_common_handle_option): Handle -Werror=normalized= here.
9804
d8a07487
JM
98052010-11-10 Joseph Myers <joseph@codesourcery.com>
9806
9807 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
9808 in diagnostic.
9809 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9810 letter.
9811 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9812 Remove trailing '.' from diagnostics.
9813 * c.opt (Wwrite-strings_: Avoid '`' in help text.
9814
d5478783
JM
98152010-11-10 Joseph Myers <joseph@codesourcery.com>
9816
9817 * c-common.c (parse_optimize_options): Pass global_dc to
9818 decode_options.
9819 * c-opts.c (c_common_handle_option): Pass &global_options to
9820 set_Wstrict_aliasing.
9821 * c.opt (v): Don't mark Common or document here.
9822
91ebb981
IS
98232010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9824
9825 PR target/44981
9826 * c-format.c (format_type): New type gcc_objc_string_format_type.
9827 (valid_stringptr_type_p): New.
9828 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9829 (check_format_string): Pass expected type, use
91ebb981
IS
9830 valid_stringptr_type_p (), check that the format string types are
9831 consistent with the format specification.
9832 (decode_format_attr): Warn if NSString is used outside objective-c.
9833 (format_types_orig): Add NSString.
9834 (format_name): New.
9835 (format_flags): New.
9836 (check_format_arg): Handle format strings requiring an external parser.
9837 first_target_format_type: New variable.
9838 (handle_format_attribute): Set up first_target_format_type, pass the
9839 expected format arg string type to check_format_string().
ab20d992 9840 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
9841 * stub-objc.c (objc_string_ref_type_p): New.
9842 (objc_check_format_arg): New.
9843
bede2adc
NP
98442010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
9845
9faeb493 9846 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
9847 * c-common.h (objc_build_class_component_ref): New.
9848 * stub-objc.c (objc_build_class_component_ref): New.
9849
9a179d01
NP
98502010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9851
9852 * c.opt (Wproperty-assign-default): New option.
9853
22d8d616
NP
98542010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9855
9856 Implemented -fobjc-std=objc1 flag.
9857 * c.opt (fobjc-std=objc1): New option.
9858
2debdb4f
NP
98592010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
9860
9861 Implemented format and noreturn attributes for Objective-C methods.
9862 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9863 attribute for Objective-C methods.
9864
ec52b111
JM
98652010-10-31 Jason Merrill <jason@redhat.com>
9866
9867 * c-common.c (conversion_warning, warn_for_collisions_1): Use
9868 EXPR_LOC_OR_HERE.
9869
46a88c12
NP
98702010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
9871
9872 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9873 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9874 (objc_add_property_declaration): Removed arguments for copies and
9875 ivar.
9876 (objc_build_getter_call): Renamed to
9877 objc_maybe_build_component_ref.
9878 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9879 (objc_is_property_ref): New.
9880 * c-common.c (c_common_reswords): Removed copies and ivar.
9881 * stub-objc.c (objc_add_property_declaration): Removed arguments
9882 for copies and ivar.
9883 (objc_build_getter_call): Renamed to
9884 objc_maybe_build_component_ref.
9885 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9886 (objc_is_property_ref): New.
9faeb493 9887
1e4bf85b
AC
98882010-10-29 Arnaud Charlet <charlet@adacore.com>
9889 Matthew Gingell <gingell@adacore.com>
9890
9891 * c-ada-spec.c (separate_class_package): New function.
9892 (pp_ada_tree_identifier): Prefix references to C++ classes with the
9893 name of their enclosing package.
9894 (print_ada_declaration): Use separate_class_package.
9895
81f0bab2
JM
98962010-10-27 Jason Merrill <jason@redhat.com>
9897
2b08f2c5
JM
9898 * c-common.c (c_common_reswords): Add __is_literal_type.
9899 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9900
81f0bab2
JM
9901 * c-common.c (check_case_value): Remove special C++ code.
9902
200290f2
NP
99032010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9904
9905 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9906 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
9907 and RID_LAST_PATTR.
9908 (objc_add_property_declaration): Added additional arguments.
9909 (objc_property_attribute_kind): Removed.
9910 (objc_set_property_attr): Removed.
9911 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
9912 copy and nonatomic.
9913 * stub-objc.c (objc_add_property_declaration): Added additional
9914 arguments.
9915 (objc_set_property_attr): Removed.
9faeb493 9916
f614132b
NP
99172010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9918
9919 * c-common.h (objc_add_property_variable): Renamed to
9920 objc_add_property_declaration. Added location argument.
9921 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 9922
b8a18805
NP
99232010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
9924
9925 * c-common.h (objc_maybe_printable_name): New.
9926 * stub-objc.c (objc_maybe_printable_name): New.
9927
3f8257db
JJ
99282010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9929 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
9930
9931 * c-common.h (c_common_mark_addressable_vec): Declare.
9932 * c-common.c (c_common_mark_addressable_vec): New function.
9933
249a82c4
NP
99342010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9935
9936 * c-common.h (objc_set_method_type): Removed.
9937 (objc_add_method_declaration): Added boolean argument.
9938 (objc_start_method_definition): Same change.
9939 (objc_build_method_signature): Same change.
9940 * stub-objc.c (objc_set_method_type): Removed.
9941 (objc_add_method_declaration): Added boolean argument.
9942 (objc_start_method_definition): Same change.
9943 (objc_build_method_signature): Same change.
9944
977e30bc
NP
99452010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9946
9947 * c-common.h (finish_file): Removed.
9948 (objc_write_global_declarations): New.
9949 * c-opts.c (c_common_parse_file): Do not call finish_file.
9950 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 9951
da57d1b9
NP
99522010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9953
9954 Implemented parsing @synthesize and @dynamic for
9955 Objective-C/Objective-C++.
9956 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9957 (objc_add_synthesize_declaration): New.
9958 (objc_add_dynamic_declaration): New.
9959 * c-common.c (c_common_reswords): Add synthesize and dynamic.
9960 * stub-objc.c (objc_add_synthesize_declaration): New.
9961 (objc_add_dynamic_declaration): New.
9faeb493 9962
0069111f
MM
99632010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9964
9965 PR target/46041
9966 * c-cppbuiltin.c (mode_has_fma): Move function here from
9967 builtins.c. Don't use the fma optab, instead just use the
9968 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9969 using -save-temps.
9970
e426b47b
NP
99712010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9972
9973 Merge from 'apple/trunk' branch on FSF servers.
0069111f 9974
3f8257db 9975 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 9976
9faeb493 9977 Radar 4330422
e426b47b
NP
9978 * c-common.h (objc_non_volatilized_type): New declaration
9979 * stub-objc.c (objc_non_volatilized_type): New stub.
9980
90fbfdc3
NP
99812010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
9982
e426b47b 9983 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 9984
ab20d992 9985 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 9986
9faeb493 9987 Radar 4133425
90fbfdc3 9988 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 9989 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 9990
c37d8c30
IS
99912010-10-17 Iain Sandoe <iains@gcc.gnu.org>
9992
9993 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9994 * c-common.h (enum rid): Add RID_AT_PACKAGE.
9995 (objc_ivar_visibility_kind): New enum.
9996 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 9997 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
9998 visibility enum.
9999
1b1562a5
MM
100002010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10001
10002 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10003 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10004 has the appropriate fma builtins.
10005 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10006
668ea4b1
IS
100072010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10008
1b1562a5 10009 merge from FSF apple 'trunk' branch.
3f8257db 10010 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 10011
668ea4b1
IS
10012 Radars 4436866, 4505126, 4506903, 4517826
10013 * c-common.c (c_common_resword): Define @property and its attributes.
10014 * c-common.h: Define property attribute enum entries.
10015 (OBJC_IS_PATTR_KEYWORD): New.
10016 (objc_property_attribute_kind): New enum.
10017 Declare objc_set_property_attr (), objc_add_property_variable (),
10018 objc_build_getter_call () and objc_build_setter_call ().
10019 * stub-objc.c (objc_set_property_attr): New stub.
10020 (objc_add_property_variable): Likewise.
10021 (objc_build_getter_call): Likewise.
10022 (objc_build_setter_call) Likewise.
1b1562a5 10023
a1178b30
IS
100242010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10025
1b1562a5 10026 merge from FSF apple 'trunk' branch.
ab20d992 10027 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
10028
10029 Radar 3803157 (method attributes)
10030 * c-common.c (handle_deprecated_attribute): Recognize
10031 objc methods as valid declarations.
10032 * c-common.h: Declare objc_method_decl ().
1b1562a5 10033 * stub-objc.c (objc_method_decl): New stub.
a1178b30 10034
a75bfaa6
JM
100352010-10-08 Joseph Myers <joseph@codesourcery.com>
10036
10037 * c-common.c (parse_optimize_options): Call
10038 decode_cmdline_options_to_array_default_mask before
10039 decode_options. Update arguments to decode_options.
10040 * c-common.h (c_common_init_options_struct): Declare.
10041 * c-opts.c (c_common_init_options_struct): New. Split out from
10042 c_common_init_options.
10043
f05b9d93
NP
100442010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10045
10046 Implemented fast enumeration for Objective-C.
10047 * c-common.h (objc_finish_foreach_loop): New.
10048 * stub-objc.c (objc_finish_foreach_loop): New.
10049
1ebe4b4f
JM
100502010-10-05 Joseph Myers <joseph@codesourcery.com>
10051
10052 * c-common.h (struct diagnostic_context): Don't declare here.
10053 (c_common_initialize_diagnostics): Declare using
10054 diagnostic_context typedef.
10055 * c-opts.c (c_common_handle_option): Pass global_dc to
10056 handle_generated_option.
10057
d4d24ba4
JM
100582010-10-04 Joseph Myers <joseph@codesourcery.com>
10059
10060 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10061 handle_generated_option.
10062
478a1c5b
ILT
100632010-10-03 Ian Lance Taylor <iant@google.com>
10064
10065 * c.opt (-fplan9-extensions): New option.
10066
82a1c2fe
FXC
100672010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10068
10069 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10070 Remove.
10071 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10072 of duplicating code.
10073
92902b1b
IS
100742010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10075
10076 * c-common.c: Add two new entries for @optional
10077 and @required keywords.
10078
10079 merge from FSF 'apple/trunk' branch.
3f8257db 10080 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
10081
10082 Radar 4386773
10083 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10084 objective-c keywords.
10085 (objc_set_method_opt): New declaration.
10086 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 10087
46625112
JM
100882010-09-30 Joseph Myers <joseph@codesourcery.com>
10089
10090 * c-common.c (handle_optimize_attribute): Pass &global_options to
10091 cl_optimization_save and cl_optimization_restore.
10092 * c-opts.c (c_common_handle_option): Pass &global_options to
10093 handle_generated_option.
10094 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10095 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10096 &global_options to cl_optimization_restore.
10097
49b91f05
NP
100982010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10099
10100 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10101 Objective-C/Objective-C++ keywords.
10102
13ed556f 101032010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 10104
9faeb493
UB
10105 Merge from 'apple/trunk' branch on FSF servers.
10106
3f8257db 10107 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
10108
10109 Radar 4281748
10110 * c-common.h (objc_check_global_decl): New declaration.
10111 * stub-objc.c (objc_check_global_decl): New stub.
10112
f0036cca
JM
101132010-09-29 Joseph Myers <joseph@codesourcery.com>
10114
10115 * c.opt: Don't use VarExists.
10116
e3339d0f
JM
101172010-09-29 Joseph Myers <joseph@codesourcery.com>
10118
10119 * c-common.c (c_cpp_error): Update names of diagnostic_context
10120 members.
10121 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10122 cl_optimization members.
10123 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10124 sanitize_cpp_opts, finish_options): Update names of cpp_options
10125 members.
10126
1973201f
NP
101272010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10128
10129 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10130 (objc_is_reserved_word): Removed.
10131 * c-common.c: Updated comments.
10132 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10133 objc_is_reserved_word.
10134 * stub-objc.c (objc_is_reserved_word): Removed.
10135
f7e71da5
IS
101362010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10137
9faeb493 10138 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
10139 include attributes.
10140 (objc_start_method_definition): Likewise.
10141 (objc_build_keyword_decl): Likewise.
10142 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10143 (objc_start_method_definition): Likewise.
10144 (objc_build_keyword_decl): Likewise.
10145
c165dca7
IS
101462010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10147
10148 * c-common.h (objc_start_class_interface): Adjust prototype.
10149 (objc_start_category_interface): Likewise.
10150 (objc_start_protocol): Likewise.
10151 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10152 (objc_start_class_interface): Likewise.
10153 (objc_start_category_interface): Likewise.
10154
7458026b
ILT
101552010-09-27 Ian Lance Taylor <iant@google.com>
10156
10157 * c-common.c (c_common_attribute_table): Add no_split_stack.
10158 (handle_no_split_stack_attribute): New static function.
10159
b581b85b
NP
101602010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10161
9faeb493 10162 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 10163
3f8257db 10164 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 10165
9faeb493 10166 Radar 4229905
b581b85b
NP
10167 * c-common.h (objc_have_common_type): New declaration.
10168 * stub-objc.c (objc_have_common_type): New stub.
10169
10170 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10171
10172 Radar 4154928
10173 * c-common.h (objc_common_type): New prototype.
9faeb493 10174 * stub-objc.c (objc_common_type): New stub.
b581b85b 10175
46a4da10
JH
101762010-09-24 Jan Hubicka <jh@suse.cz>
10177
10178 * c-common.c (handle_leaf_attribute): New function.
10179 (struct attribute_spec c_common_att): Add leaf.
10180
e200444e
JM
101812010-09-22 Joseph Myers <joseph@codesourcery.com>
10182
10183 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10184 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10185 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10186 -include-barrier, -include-directory, -include-directory=,
10187 -include-directory-after, -include-directory-after=,
10188 -include-prefix, -include-prefix=, -include-with-prefix,
10189 -include-with-prefix=, -include-with-prefix-after,
10190 -include-with-prefix-after=, -include-with-prefix-before,
10191 -include-with-prefix-before=, -no-integrated-cpp,
10192 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10193 -output=, -pedantic, -pedantic-errors, -preprocess,
10194 -print-missing-file-dependencies, -trace-includes, -traditional,
10195 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10196 -user-dependencies, -verbose, -write-dependencies,
10197 -write-user-dependencies, no-integrated-cpp, traditional): New.
10198
29a80ea6
NP
101992010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10200
10201 PR objc/23710
ac1fc2fc
NP
10202 * c-common.h (objc_start_method_definition): Return bool instead
10203 of void.
10204 * stub-objc.c (objc_start_method_definition): Return bool instead
10205 of void.
10206
102072010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10208
10209 PR objc/25965
10210 * c-common.h (objc_get_interface_ivars): New declaration.
10211 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 10212
de621752
ILT
102132010-09-15 Ian Lance Taylor <iant@google.com>
10214
10215 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 10216 messages. Remove period at end of warning message.
de621752 10217
ba885ec5
NS
102182010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10219
10220 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10221 (handle_alias_attribute): ... here.
10222 (handle_ifunc_attribute): New.
10223
c5ee1358
MM
102242010-09-06 Mark Mitchell <mark@codesourcery.com>
10225
10226 * c-common.h (do_warn_double_promotion): Declare.
10227 * c-common.c (do_warn_double_promotion): Define.
10228
0a0b3574
MM
102292010-09-05 Mark Mitchell <mark@codesourcery.com>
10230
10231 * c.opt (Wdouble-promotion): New.
10232
d1779886
JM
102332010-09-02 Joseph Myers <joseph@codesourcery.com>
10234
10235 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10236 fvtable-thunks, fxref): Mark no longer supported in help text.
10237
2d2bd949
JM
102382010-09-02 Joseph Myers <joseph@codesourcery.com>
10239
10240 * c.opt (Wimport, fall-virtual, falt-external-templates,
10241 fdefault-inline, fenum-int-equiv, fexternal-templates,
10242 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10243 fname-mangling-version-, fnew-abi, fnonnull-objects,
10244 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10245 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10246 applicable.
10247 (fhandle-exceptions): Mark with Alias and Warn.
10248 * c-opts.c (c_common_handle_option): Don't handle options marked
10249 as ignored.
10250
5de8299c
JM
102512010-09-02 Joseph Myers <joseph@codesourcery.com>
10252
10253 * c.opt (Wcomments, Werror-implicit-function-declaration,
10254 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10255 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10256 aliases.
10257 * c-common.c (option_codes): Use OPT_Wcomment instead of
10258 OPT_Wcomments.
10259 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10260 Don't handle options marked as aliases.
10261
0ceb0201
RG
102622010-08-25 Richard Guenther <rguenther@suse.de>
10263
10264 * c-common.c (c_common_get_alias_set): Remove special
10265 handling for pointers.
10266
ac47786e
NF
102672010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10268
10269 * c-common.c: Use FOR_EACH_VEC_ELT.
10270 * c-gimplify.c: Likewise.
10271 * c-pragma.c: Likewise.
10272
c878765b
JM
102732010-08-16 Joseph Myers <joseph@codesourcery.com>
10274
10275 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10276 RejectDriver.
10277 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10278 RejectDriver.
10279 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10280 instead of OPT_MDX and OPT_MMDX.
10281
603349bf
JM
102822010-08-16 Joseph Myers <joseph@codesourcery.com>
10283
10284 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10285
644fa7ac
JM
102862010-08-12 Joseph Myers <joseph@codesourcery.com>
10287
10288 * c.opt (MD, MMD): Change to MDX and MMDX.
10289 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10290
481e1176
JM
102912010-08-11 Joseph Myers <joseph@codesourcery.com>
10292
10293 * c-opts.c (c_common_handle_option): Call handle_generated_option
10294 instead of handle_option.
10295
ac8dc9f7
NF
102962010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10297
10298 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10299 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10300
4f8c876d
NF
103012010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10302
10303 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10304 (pending_redefine_extname): Change type to a VEC.
10305 (add_to_renaming_pragma_list): Update for new type of
10306 pending_redefine_extname.
ac8dc9f7 10307 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 10308
3b0c690e
AC
103092010-08-04 Arnaud Charlet <charlet@adacore.com>
10310
10311 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10312 visited.
10313 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10314 decide whether a type has already been declared/seen.
10315 Do not go to the original type.
10316 (dump_nested_types): New parameter forward.
10317 Generate forward declaration if needed and mark type as visited.
10318 (print_ada_declaration): Call dump_nested_types if not already done.
10319 Mark types as visited.
10320
1890bccc
JM
103212010-08-03 Joseph Myers <joseph@codesourcery.com>
10322
10323 * c.opt (-print-pch-checksum): Remove option.
10324 * c-opts.c (c_common_handle_option): Don't handle
10325 OPT_print_pch_checksum.
10326
5f20c657
JM
103272010-07-27 Joseph Myers <joseph@codesourcery.com>
10328
10329 * c-common.h (c_common_handle_option): Update prototype and return
10330 value type.
10331 * c-opts.c (c_common_handle_option): Update prototype and return
10332 value type. Update calls to handle_option and
10333 enable_warning_as_error.
10334
f551f80c
JJ
103352010-07-27 Jakub Jelinek <jakub@redhat.com>
10336
10337 PR c/45079
10338 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10339
61ff2bdc
JM
103402010-07-27 Joseph Myers <joseph@codesourcery.com>
10341
10342 * c-common.h (c_common_missing_argument): Remove.
10343 * c-opts.c (c_common_missing_argument): Remove.
10344 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10345 idirafter, imacros, include, isysroot, isystem, iquote): Add
10346 MissingArgError.
10347 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10348
7a9bf9a4
JM
103492010-07-27 Joseph Myers <joseph@codesourcery.com>
10350
10351 * c-common.h (c_common_option_lang_mask,
10352 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10353 New.
10354 (c_common_init_options): Update prototype.
10355 * c-opts.c (c_common_option_lang_mask): New.
10356 (c_common_initialize_diagnostics): Split out of
10357 c_common_init_options.
10358 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10359 New.
10360 (c_common_init_options): Update prototype. Use decoded options in
10361 search for -lang-asm.
10362
910ad8de
NF
103632010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10364
10365 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10366 * c-format.c: Likewise.
10367
718f9c0f
MLI
103682010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10369
10370 * c-common.h: Include diagnostic-core.h. Error if already
10371 included.
10372 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10373
4d451982
MLI
103742010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10375
adfac8df 10376 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
10377 Do not include expr.h
10378 (vector_mode_valid_p): Move here.
10379
119fe915
SB
103802010-06-21 DJ Delorie <dj@redhat.com>
10381
10382 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10383 allow these pragmas anywhere.
10384
103852010-06-14 Jakub Jelinek <jakub@redhat.com>
10386
10387 PR bootstrap/44509
10388 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10389 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10390 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10391 ggc_strdup instead of xstrdup.
10392
103932010-06-10 Jakub Jelinek <jakub@redhat.com>
10394
10395 * c-cppbuiltin.c: Include cpp-id-data.h.
10396 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10397 (lazy_hex_fp_value): New function.
10398 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10399
6662d794
MLI
104002010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10401
10402 * c-gimplify.c: Do not include tree-flow.h
10403
38f8b050
JR
104042010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10405
10406 PR other/44034
10407 * c-common.c: Rename targetm member:
10408 targetm.enum_va_list -> targetm.enum_va_list_p
10409
9589f23e
AS
104102010-06-28 Anatoly Sokolov <aesok@post.ru>
10411
10412 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10413
3b06d379
SB
104142010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10415
10416 * c-cppbuiltin.c: Do not include except.h.
10417
d166d4c3
AK
104182010-06-24 Andi Kleen <ak@linux.intel.com>
10419
9faeb493
UB
10420 * c-common.c (warn_for_omitted_condop): New.
10421 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 10422
70cb8be6
JM
104232010-06-21 Joseph Myers <joseph@codesourcery.com>
10424
10425 * c.opt (lang-objc): Remove.
10426 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10427
a4c97feb
JR
104282010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10429
10430 * c-opts.c: Include "tm_p.h".
10431
6e2f1956
JM
104322010-06-20 Joseph Myers <joseph@codesourcery.com>
10433
10434 * c-common.c (parse_optimize_options): Update call to
10435 decode_options.
10436
bc87224e
NF
104372010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10438
10439 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10440 new type of types_used_by_cur_var_decl.
10441
b49cf425
JR
104422010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10443
10444 PR bootstrap/44512
10445 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10446 for C++ standard compliance.
10447
59f9c2ed
JM
104482010-06-16 Jason Merrill <jason@redhat.com>
10449
10450 * c.opt: Add -Wnoexcept.
10451
33766b66
RG
104522010-06-16 Richard Guenther <rguenther@suse.de>
10453
10454 PR c/44555
10455 * c-common.c (c_common_truthvalue_conversion): Remove
10456 premature and wrong optimization concering ADDR_EXPRs.
10457
eff7e30c
AC
104582010-06-15 Arnaud Charlet <charlet@adacore.com>
10459
10460 * c-ada-spec.c (dump_sloc): Remove column info.
10461 (is_simple_enum): New function.
10462 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10463 enum types when relevant.
10464
6312e84d
MLI
104652010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10466
9faeb493 10467 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
10468 location.
10469
1cb42611
JM
104702010-06-10 Joseph Myers <joseph@codesourcery.com>
10471
10472 * c-opts.c (c_common_handle_option): Don't handle
10473 OPT_fshow_column.
10474
a9429e29
LB
104752010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10476
10477 * c-pragma.c (push_alignment): Use typed GC allocation.
10478 (handle_pragma_push_options): Likewise.
10479
10480 * c-common.c (parse_optimize_options): Likewise.
10481
10482 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10483 option.
10484
5498f011
JM
104852010-06-07 Joseph Myers <joseph@codesourcery.com>
10486
10487 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10488 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10489 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10490 flag_signed_bitfields, warn_strict_null_sentinel,
10491 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10492 flag_gen_declaration, flag_no_gnu_keywords,
10493 flag_implement_inlines, flag_implicit_templates,
10494 flag_implicit_inline_templates, flag_optional_diags,
10495 flag_elide_constructors, flag_default_inline, flag_rtti,
10496 flag_conserve_space, flag_access_control, flag_check_new,
10497 flag_new_for_scope, flag_weak, flag_working_directory,
10498 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10499 flag_enforce_eh_specs, flag_threadsafe_statics,
10500 flag_pretty_templates): Remove.
10501 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10502 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10503 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10504 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10505 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10506 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10507 flag_no_gnu_keywords, flag_implement_inlines,
10508 flag_implicit_templates, flag_implicit_inline_templates,
10509 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10510 flag_rtti, flag_conserve_space, flag_access_control,
10511 flag_check_new, flag_new_for_scope, flag_weak,
10512 flag_working_directory, flag_use_cxa_atexit,
10513 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10514 flag_threadsafe_statics, flag_pretty_templates,
10515 warn_strict_null_sentinel): Remove.
10516 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10517 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10518 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10519 fimplicit-inline-templates, fimplicit-templates,
10520 flax-vector-conversions, fms-extensions, fnil-receivers,
10521 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10522 frtti, fshort-double, fshort-enums, fshort-wchar,
10523 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10524 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10525 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10526 gen-decls, undef): Use Var.
10527 (fdefault-inline, foptional-diags): Document as doing nothing.
10528 * c-opts.c (c_common_handle_option): Remove cases for options now
10529 using Var. Mark ignored options as such.
10530
39dabefd
SB
105312010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10532
9faeb493 10533 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10534 * c-common.def: Likewise.
10535 * c-common.h: Likewise.
10536 * c-cppbuiltin.c: Likewise.
10537 * c-dump.c: Likewise.
10538 * c-format.c: Likewise.
10539 * c-format.h : Likewise.
10540 * c-gimplify.c: Likewise.
10541 * c-lex.c: Likewise.
10542 * c-omp.c: Likewise.
10543 * c.opt: Likewise.
10544 * c-opts.c: Likewise.
10545 * c-pch.c: Likewise.
10546 * c-ppoutput.c: Likewise.
10547 * c-pragma.c: Likewise.
10548 * c-pragma.h: Likewise.
10549 * c-pretty-print.c: Likewise.
10550 * c-pretty-print.h: Likewise.
10551 * c-semantics.c: Likewise.
10552 * stub-objc.c: Likewise.
10553
10554 * c-common.c: Include gt-c-family-c-common.h.
10555 * c-pragma.c: Include gt-c-family-c-pragma.h.
10556\f
a5544970 10557Copyright (C) 2010-2019 Free Software Foundation, Inc.
39dabefd
SB
10558
10559Copying and distribution of this file, with or without modification,
10560are permitted in any medium without royalty provided the copyright
10561notice and this notice are preserved.
This page took 4.130017 seconds and 5 git commands to generate.