]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
[Darwin, PPC, testsuite] Skip tests for unimplemented functionality.
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
da9e9b57
MB
12019-06-21 Matthew Beliveau <mbelivea@redhat.com>
2
3 PR c++/90875 - added -Wswitch-outside-range option
4 * c.opt (Wswitch-outside-range): Added new option.
5 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
6
3f3d6a6f
MP
72019-06-21 Marek Polacek <polacek@redhat.com>
8
9 PR c++/90953 - ICE with -Wmissing-format-attribute.
10 * c-common.c (check_function_arguments_recurse): Use
11 get_attribute_name.
12 (check_missing_format_attribute): Likewise.
13
1bf32c11
MP
142019-06-19 Marek Polacek <polacek@redhat.com>
15
16 PR c++/60364 - noreturn after first decl not diagnosed.
17 * c-attribs.c (handle_noreturn_attribute): No longer static.
18 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
19 Declare.
20 * c-format.c (check_function_format): Use get_attribute_name.
21
a04c0734
MS
222019-06-19 Martin Sebor <msebor@redhat.com>
23
24 PR translation/90156
25 * c-format.c (function_format_info::format_type): Adjust type.
26 (function_format_info::is_raw): New member.
27 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
28 (decode_format_attr): Adjust call to decode_format_type.
29 Avoid a redundant call to convert_format_name_to_system_name.
30 Avoid abbreviating the word "arguments" in a diagnostic.
31 (format_warning_substr): New function.
32 (avoid_dollar_number): Quote dollar sign in a diagnostic.
33 (finish_dollar_format_checking): Same.
34 (check_format_info): Same.
35 (struct baltoks_t): New.
36 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
37 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
38 functions.
39 (check_format_info_main): Call check_plain. Use baltoks_t. Call
40 maybe_diag_unbalanced_tokens.
41 (handle_format_attribute): Spell out the word "arguments" in
42 a diagnostic.
43
d3786ebb
MB
442019-06-11 Matthew Beliveau <mbelivea@redhat.com>
45
46 PR c++/90449 - add -Winaccessible-base option.
47 * c.opt (Winaccessible-base): New option.
48
bf38f7e9
JJ
492019-06-10 Jakub Jelinek <jakub@redhat.com>
50
51 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
52 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
53 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
54 combined/composite constructs where it is not allowed. Copy over
55 OMP_CLAUSE_REDUCTION_INSCAN.
56
0ecf545c
MS
572019-06-05 Martin Sebor <msebor@redhat.com>
58
59 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
60 (handle_alias_ifunc_attribute): Same.
61 (handle_copy_attribute): Same.
62 (handle_weakref_attribute): Same.
63 (handle_nonnull_attribute): Same.
64 * c-warn.c (warn_for_sign_compare): Same.
65 (warn_for_restrict): Same.
66 * c.opt: Same.
67
36b34127
MS
682019-06-05 Martin Sebor <msebor@redhat.com>
69
70 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
71 * c.opt (-Wformat-diag): Remove a spurious period.
72
357a352f
JJ
732019-05-29 Jakub Jelinek <jakub@redhat.com>
74
75 PR c/90628
76 * c-common.c (check_builtin_function_arguments)
77 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
78 as last argument.
79
2b8235ea
EB
802019-05-23 Eric Botcazou <ebotcazou@adacore.com>
81
82 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
83
6d86ddc4
ML
842019-05-22 Martin Liska <mliska@suse.cz>
85
86 PR lto/90500
87 * c-attribs.c (handle_copy_attribute): Do not copy
88 target_clones attribute.
89
419ba5b9
EB
902019-05-21 Eric Botcazou <ebotcazou@adacore.com>
91
92 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
93 * c-ada-spec.c (print_assignment_operator): New function.
94 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
95 assignment operators declared as methods and filter out the others.
96
e03436e7
TS
972019-05-17 Thomas Schwinge <thomas@codesourcery.com>
98
99 PR c/89433
100 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
101 "omp declare target".
102
a9c697b8
MS
1032019-05-16 Martin Sebor <msebor@redhat.com>
104
105 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
106 keywords, operators, and types in diagnostics.
107 (handle_scalar_storage_order_attribute): Same.
108 (handle_mode_attribute): Same.
109 (handle_visibility_attribute): Same.
110 (handle_assume_aligned_attribute): Same.
111 (handle_no_split_stack_attribute): Same.
112 * c-common.c (shorten_compare): Same.
113 (c_common_truthvalue_conversion): Same.
114 (cb_get_source_date_epoch): Same.
115 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
116 in diagnostics.
117 (interpret_float): Same.
118 * c-omp.c (c_finish_omp_for): Same.
119 * c-opts.c (c_common_post_options): Same.
120 * c-pch.c (c_common_pch_pragma): Same.
121 * c-pragma.c (pop_alignment): Same.
122 (handle_pragma_pack): Same.
123 (apply_pragma_weak): Same.
124 (handle_pragma_weak): Same.
125 (handle_pragma_scalar_storage_order): Same.
126 (handle_pragma_redefine_extname): Same.
127 (add_to_renaming_pragma_list): Same.
128 (maybe_apply_renaming_pragma): Same.
129 (push_visibility): Same.
130 (handle_pragma_visibility): Same.
131 (handle_pragma_optimize): Same.
132 (handle_pragma_message): Same.
133 * c-warn.c (warn_for_omitted_condop): Same.
134 (lvalue_error): Same.
135
6b943512
RB
1362019-05-15 Richard Biener <rguenther@suse.de>
137
138 PR c/90474
139 * c-common.c (c_common_mark_addressable_vec): Also mark
140 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
141 c_mark_addressable.
142
b744fc85
NS
1432019-05-06 Nathan Sidwell <nathan@acm.org>
144
145 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
146
598f50d7
NS
1472019-04-30 Nathan Sidwell <nathan@acm.org>
148
149 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
150
5bcc5a3b
ML
1512019-04-30 Martin Liska <mliska@suse.cz>
152
153 * c-pragma.c (handle_pragma_diagnostic): Provide hints
154 for unknown options.
155
e78a87f7
RS
1562019-04-26 Richard Sandiford <richard.sandiford@arm.com>
157
158 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
159 the pointer target rather than the pointer itself.
160
c280b7ee
JJ
1612019-04-19 Jakub Jelinek <jakub@redhat.com>
162
163 PR c/89888
164 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
165 arguments.
166 (c_do_switch_warnings): Remove outside_range_p argument.
167 * c-common.c (check_case_bounds): Removed.
168 (c_add_case_label): Remove orig_type and outside_range_p arguments.
169 Don't call check_case_bounds. Fold low_value as well as high_value.
170 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
171 Check for case labels outside of range of original type here and
172 adjust them.
173
8e8225e6
JJ
1742019-04-12 Jakub Jelinek <jakub@redhat.com>
175
63b8a166
JJ
176 PR translation/90041
177 * c.opt (-fhandle-exceptions): Use %< and %> around option names
178 in the Warn diagnostics.
179
8e8225e6
JJ
180 PR c/89946
181 * c-attribs.c (handle_patchable_function_entry_attribute): Add
182 function comment. Warn if arguments of the attribute are not positive
183 integer constants.
184
53a3f614
EB
1852019-04-09 Eric Botcazou <ebotcazou@adacore.com>
186
187 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
188 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
189
22be5873
EB
1902019-04-07 Eric Botcazou <ebotcazou@adacore.com>
191
192 * c-ada-spec.c (is_float128): New predicate extracted from...
193 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
194 <REAL_TYPE>: ...here. Call it.
195
34facf20
DM
1962019-04-05 David Malcolm <dmalcolm@redhat.com>
197
198 PR c/89985
199 * c-warn.c (check_address_or_pointer_of_packed_member): Add
200 auto_diagnostic_group. Guard inform calls by result of
201 warning_at call.
202
05564120
MP
2032019-04-05 Marek Polacek <polacek@redhat.com>
204
205 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
206 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
207 of RHS.
208
7a506c3c
JM
2092019-04-03 Jason Merrill <jason@redhat.com>
210
211 PR c++/86586 - -fcompare-debug=-Wsign-compare.
212 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
213
ddeae8c8
MS
2142019-04-01 Martin Sebor <msebor@redhat.com>
215
216 PR c/89685
217 * c-attribs.c (handle_copy_attribute): Handle references and
218 non-constant expressions.
219
a15ffa22
JJ
2202019-03-22 Jakub Jelinek <jakub@redhat.com>
221
222 PR c++/87481
223 * c.opt (-fconstexpr-ops-limit=): New option.
224
36a3a7a3
JJ
2252019-03-21 Jakub Jelinek <jakub@redhat.com>
226
227 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
228 template param.
229
bec1da64
MS
2302019-03-19 Martin Sebor <msebor@redhat.com>
231
232 PR tree-optimization/89688
233 * c-common.c (braced_list_to_string): Make static.
234 (braced_lists_to_strings): Define new function.
235 * c-common.h (braced_list_to_string): Remove.
236 (braced_lists_to_strings): Declare.
237
1fe61adf
ML
2382019-03-12 Martin Liska <mliska@suse.cz>
239
240 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
241
93964ebd
ML
2422019-03-11 Martin Liska <mliska@suse.cz>
243
244 * c-opts.c (c_common_post_options): Wrap apostrophes
245 in gcc internal format with %'.
246
a3f9f006
ML
2472019-03-11 Martin Liska <mliska@suse.cz>
248
249 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
250 in a string format message and fix GNU coding style.
251 * c-common.c (vector_types_convertible_p): Likewise.
252 (c_build_vec_perm_expr): Likewise.
253 * c-indentation.c (get_visual_column): Likewise.
254 * c-opts.c (c_common_handle_option): Likewise.
255 (c_common_post_options): Likewise.
256 (sanitize_cpp_opts): Likewise.
257 * c-pch.c (c_common_pch_pragma): Likewise.
258 * c-pragma.c (handle_pragma_pack): Likewise.
259
1db01ff9
JJ
2602019-03-08 Jakub Jelinek <jakub@redhat.com>
261
262 PR tree-optimization/89550
263 * c-common.c (c_common_truthvalue_conversion): Only set
264 TREE_NO_WARNING if warning_at returned true.
265 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
266
ba790e6f
JJ
2672019-02-25 Sandra Loosemore <sandra@codesourcery.com>
268 Martin Sebor <msebor@gmail.com>
269
270 * c.opt (Wmissing-attributes): Clean up doc string.
271
7da73ba7
JJ
2722019-02-25 Jakub Jelinek <jakub@redhat.com>
273
274 PR c/89495
275 * c-format.c (maybe_read_dollar_number): Compute nargnum in
276 HOST_WIDE_INT type to avoid overflows and change overflow_flag
277 checking.
278
921bb9d1
RB
2792019-02-22 Richard Biener <rguenther@suse.de>
280
281 * c-pch.c (no_checksum): Remove.
282 (pch_init): Remove assertion that executable_checksum is not
283 all zero.
284 (c_common_valid_pch): Likewise.
285
e2ebb05c
MS
2862019-02-18 Martin Sebor <msebor@redhat.com>
287
288 PR middle-end/89294
289 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
290
3fe53000
DM
2912019-02-16 David Malcolm <dmalcolm@redhat.com>
292
293 PR c++/88680
294 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
295 implementing -Wtype-limits.
296
28a8cef1
MS
2972019-02-11 Martin Sebor <msebor@redhat.com>
298
299 PR c++/87996
300 * c-common.c (invalid_array_size_error): New function.
301 (valid_array_size_p): Call it. Handle size as well as type.
302 * c-common.h (valid_constant_size_p): New function.
303 (enum cst_size_error): New type.
304
ec2be203
DM
3052019-01-31 David Malcolm <dmalcolm@redhat.com>
306
307 PR c/89122
308 * known-headers.cc (get_stdlib_header_for_name): Add
309 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
310
8936f047
JJ
3112019-01-31 Jakub Jelinek <jakub@redhat.com>
312
313 PR libstdc++/88170
314 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
315 a C cast in pp_c_flag_gnu_v3 mode.
316
6a335b96
JJ
3172019-01-29 Jakub Jelinek <jakub@redhat.com>
318
319 PR c/86125
320 * c-common.c (c_common_nodes_and_builtins): Build type variants for
321 builtin_structptr_types types even for C.
322
2a06eba5
BE
3232019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
324
325 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
326 when rhs is of array type correctly. Fix handling of nested structures.
327 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
328 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
329 type casts within nested compound expressions.
330
18a23298
JJ
3312019-01-22 Jakub Jelinek <jakub@redhat.com>
332
333 PR middle-end/88968
334 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
335 variable after using BIT_FIELD_REF.
336
420183d9
L
3372019-01-18 H.J. Lu <hongjiu.lu@intel.com>
338
339 PR c/51628
340 PR c/88664
341 * c-common.h (warn_for_address_or_pointer_of_packed_member):
342 Remove the boolean argument.
343 * c-warn.c (check_address_of_packed_member): Renamed to ...
344 (check_address_or_pointer_of_packed_member): This. Also
345 warn pointer conversion.
346 (check_and_warn_address_of_packed_member): Renamed to ...
347 (check_and_warn_address_or_pointer_of_packed_member): This.
348 Also warn pointer conversion.
349 (warn_for_address_or_pointer_of_packed_member): Remove the
350 boolean argument. Don't check pointer conversion here.
351
99063eee
RS
3522019-01-15 Richard Sandiford <richard.sandiford@arm.com>
353
354 PR inline-asm/52813
355 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
356
a30d0196
JJ
3572019-01-14 Jakub Jelinek <jakub@redhat.com>
358
359 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
360 and __cpp_nontype_template_parameter_auto. Add a comment that
361 __cpp_template_auto is deprecated.
362
2d91f79d
TH
3632019-01-14 Tom Honermann <tom@honermann.net>
364
365 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
366 * c-common.c (c_common_reswords): Add char8_t.
367 (fix_string_type): Use char8_t for the type of u8 string literals.
368 (c_common_get_alias_set): char8_t doesn't alias.
369 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
370 C++.
371 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
372 (keyword_begins_type_specifier): Add RID_CHAR8.
373 * c-common.h (rid): Add RID_CHAR8.
374 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
375 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
376 Define char8_type_node and char8_array_type_node.
377 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
378 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
379 (c_cpp_builtins): Predefine __cpp_char8_t.
380 * c-lex.c (lex_string): Use char8_array_type_node as the type of
381 CPP_UTF8STRING.
382 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
383 * c-opts.c: If not otherwise specified, enable -fchar8_t when
384 targeting C++2a.
385 * c.opt: Add the -fchar8_t command line option.
386
23db6ced
MS
3872019-01-14 Martin Sebor <msebor@redhat.com>
388
389 PR target/88638
390 * c-attribs.c (positional_argument): Call valid_format_string_type_p
391 and issue errors if it fails.
392 * c-common.h (valid_format_string_type_p): Declare.
393 * c-format.c (valid_stringptr_type_p): Rename...
394 (valid_format_string_type_p): ...to this and make extern.
395 (handle_format_arg_attribute): Adjust to new name.
396 (check_format_string): Same.
397
234c3818
L
3982019-01-13 H.J. Lu <hongjiu.lu@intel.com>
399
400 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
401 Replace "may may" with "may" in warning message.
402
d8fcab68
JJ
4032019-01-07 Jakub Jelinek <jakub@redhat.com>
404
405 PR c++/85052
406 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
407 (c_build_vec_convert): Declare.
408 * c-common.c (c_build_vec_convert): New function.
409
29d24852
MS
4102019-01-04 Martin Sebor <msebor@redhat.com>
411
412 PR c/88546
413 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
414 Handle C++ empty throw specification and C11 _Noreturn.
415 (has_attribute): Also handle C11 _Noreturn.
416
9069a4c9
MS
4172019-01-04 Martin Sebor <msebor@redhat.com>
418
419 PR c/88363
420 * c-attribs.c (positional_argument): Also accept enumerated types.
421
a5544970
JJ
4222019-01-01 Jakub Jelinek <jakub@redhat.com>
423
424 Update copyright years.
425
da77eace
L
4262018-12-20 H.J. Lu <hongjiu.lu@intel.com>
427
428 PR c/51628
429 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
430 * c-warn.c (check_alignment_of_packed_member): New function.
431 (check_address_of_packed_member): Likewise.
432 (check_and_warn_address_of_packed_member): Likewise.
433 (warn_for_address_or_pointer_of_packed_member): Likewise.
434 * c.opt: Add -Wno-address-of-packed-member.
435
573767d4
DM
4362018-12-20 David Malcolm <dmalcolm@redhat.com>
437
438 PR c++/87504
439 * c-warn.c (get_outermost_macro_expansion): New function.
440 (spelled_the_same_p): Use it to unwind the macro expansions, and
441 compare the outermost macro in each nested expansion, rather than
442 the innermost.
443
a14feb3c
DM
4442018-12-19 David Malcolm <dmalcolm@redhat.com>
445
446 PR c++/87504
447 * c-common.h (warn_tautological_cmp): Convert 1st param from
448 location_t to const op_location_t &.
449 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
450 when testing for INTEGER_CST.
451 (warn_tautological_bitwise_comparison): Convert 1st param from
452 location_t to const op_location_t &; use it to build a
453 binary_op_rich_location, and use this.
454 (spelled_the_same_p): New function.
455 (warn_tautological_cmp): Convert 1st param from location_t to
456 const op_location_t &. Warn for macro expansions if
457 spelled_the_same_p. Use binary_op_rich_location.
458
dfd7fdca
DM
4592018-12-19 David Malcolm <dmalcolm@redhat.com>
460
461 PR c++/43064
462 PR c++/43486
463 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
464 (verify_tree): Handle location wrappers.
465 (c_common_truthvalue_conversion): Strip any location wrapper.
466 Handle CONST_DECL.
467 (fold_offsetof): Strip any location wrapper.
468 (complete_array_type): Likewise for initial_value.
469 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
470 index before checking for INTEGER_CST.
471 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
472 print parentheses around location wrappers.
473 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
474 before checking for INTEGER_CST.
475 (warn_tautological_bitwise_comparison): Call
476 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
477 before checking for INTEGER_CST.
478 (readonly_error): Strip any location wrapper.
479 (warn_array_subscript_with_type_char): Strip location wrappers
480 before checking for INTEGER_CST. Use the location of the index if
481 available.
482
5c8b3702
JM
4832018-12-06 Jason Merrill <jason@redhat.com>
484
485 PR c++/88136 - -Wdeprecated-copy false positives
486 * c.opt (Wdeprecated-copy-dtor): New.
487 (Wdeprecated-copy): Move to -Wextra.
488
673670da
MS
4892018-11-29 Martin Sebor <msebor@redhat.com>
490
491 PR c/88172
492 PR testsuite/88208
493 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
494 alignments to values less than the target requires.
495 (has_attribute): For attribute aligned consider both the attribute
496 and the alignment bits.
497 * c-common.c (c_init_attributes): Optionally issue a warning for
498 zero alignment.
499
04864ec8
MS
5002018-11-28 Martin Sebor <msebor@redhat.com>
501
502 PR c/88065
503 PR c/87297
504 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
505 or destination is an error.
506
ace83db0
JJ
5072018-11-28 Jakub Jelinek <jakub@redhat.com>
508
509 PR c++/88215
510 * c-ubsan.c: Include langhooks.h.
511 (ubsan_instrument_division): Change gcc_assert that main variants
512 of op0 and op1 types are equal to gcc_checking_assert that the
513 main variants are compatible types.
514
da193a27
EB
5152018-11-27 Eric Botcazou <ebotcazou@adacore.com>
516
517 * c-ada-spec.c: Include stringpool.h.
518 (has_static_fields): Return false for incomplete types.
519 (is_tagged_type): Likewise.
520 (has_nontrivial_methods): Likewise.
521 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
522 (struct overloaded_name_hash): New structure.
523 (struct overloaded_name_hasher): Likewise.
524 (overloaded_names): New global variable.
525 (init_overloaded_names): New static function.
526 (overloaded_name_p): New predicate.
527 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
528 on the TYPE_STUB_DECL of the original type of a typedef, if any.
529 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
530 Remove always-true condition and dump forward types.
531 (dump_ada_specs): Delete overloaded_names.
532
98f08eb8
MS
5332018-11-20 Martin Sebor <msebor@redhat.com>
534
535 * c-attribs.c (type_for_vector_size): New function.
536 (type_valid_for_vector_size): Same.
537 (handle_vector_size_attribute): Move code to the functions above
538 and call them.
539 (validate_attribute, has_attribute): New functions.
540 * c-common.h (has_attribute): Declare.
541 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
542 * c-common.c (c_common_resword): Same.
543
2674fa47
JM
5442018-11-16 Jason Merrill <jason@redhat.com>
545
546 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
547 * c-attribs.c (attr_cold_hot_exclusions): Make public.
548
258b3854
JJ
5492018-11-16 Jakub Jelinek <jakub@redhat.com>
550
551 PR middle-end/87854
552 * c-common.c (fix_string_type): Reject string literals larger than
553 TYPE_MAX_VALUE (ssizetype) bytes.
554
1d249509
MS
5552018-11-15 Martin Sebor <msebor@redhat.com>
556
557 PR c++/87541
558 PR c++/87542
559 * c-attribs.c (positional_argument): New function.
560 (handle_alloc_size_attribute): Use it and simplify.
561 (handle_alloc_align_attribute): Same.
562 (handle_assume_aligned_attribute): Same.
563 (handle_nonnull_attribute): Same.
564 * c-common.c (check_function_arguments): Pass fntype to
565 check_function_format.
566 * c-common.h (check_function_format): Add an argument.
567 (PosArgFlags, positional_argument): Declare new type and function.
568 * c-format.c (decode_format_attr): Add arguments.
569 (check_format_string, get_constant): Same.
570 (convert_format_name_to_system_name): Adjust.
571
478dd60d
DM
5722018-11-15 David Malcolm <dmalcolm@redhat.com>
573
574 PR other/19165
575 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
576
8cca0163
JJ
5772018-11-14 Jakub Jelinek <jakub@redhat.com>
578
8ee09943
JJ
579 P1236R1 - Signed integers are two's complement
580 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
581 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
582 with in-range second operand well defined for -std=c++2a.
583
8cca0163
JJ
584 PR other/88007
585 * c-common.c (parse_optimize_options): Allocate option string from
586 opts_obstack rather than as GC memory. Move the allocation after
587 warning for invalid option.
588
620e594b
DM
5892018-11-13 David Malcolm <dmalcolm@redhat.com>
590
591 * c-common.c (c_get_substring_location): Update for renaming of
592 get_source_location_for_substring to get_location_within_string.
593 * c-lex.c: Replace "source_location" with "location_t".
594 * c-opts.c: Likewise.
595 * c-ppoutput.c: Likewise.
596
f9731de3
MS
5972018-11-13 Martin Sebor <msebor@redhat.com>
598
599 PR middle-end/81824
600 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
601 (handle_tls_model_attribute): Improve diagnostics.
602
e4bd6d5e
JM
6032018-11-12 Jason Merrill <jason@redhat.com>
604
a6bb6b07
JM
605 * c-cppbuiltin.c (c_cpp_builtins): Define
606 __cpp_impl_destroying_delete.
607
e4bd6d5e
JM
608 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
609 __cpp_conditional_explicit.
610
79a2c428
MS
6112018-11-09 Martin Sebor <msebor@redhat.com>
612
613 PR middle-end/81824
614 * c-attribs.c (handle_copy_attribute): New function.
615
4c7bd361
MS
6162018-11-09 Martin Sebor <msebor@redhat.com>
617
618 PR c/87795
619 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
620
28567c40
JJ
6212018-11-08 Jakub Jelinek <jakub@redhat.com>
622
623 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
624 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
625 enum omp_memory_order MEMORY_ORDER.
626 (c_finish_omp_flush): Add MO argument.
627 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
628 (c_finish_omp_for): Add FINAL_P argument.
629 * c-omp.c: Include memmodel.h.
630 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
631 OMP_TASKGROUP_CLAUSES to it.
632 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
633 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
634 instead of OMP_ATOMIC_SEQ_CST.
635 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
636 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
637 __atomic_thread_fence call with the given value.
638 (check_omp_for_incr_expr): Formatting fixes.
639 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
640 even in OpenMP loops, diagnose if NE_EXPR and incr expression
641 is not constant expression 1 or -1. Transform NE_EXPR loops
642 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
643 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
644 loops too.
645 (c_omp_split_clauses): Add support for combined
646 #pragma omp parallel master and
647 #pragma omp {,parallel }master taskloop{, simd} constructs.
648 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
649 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
650 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
651 (c_omp_predetermined_sharing): Don't return
652 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
653 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
654 PRAGMA_OMP_REQUIRES.
655 * c-pragma.h (enum pragma_kind): Likewise.
656 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
657 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
658
204839e7
DM
6592018-11-08 David Malcolm <dmalcolm@redhat.com>
660
661 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
662
d8010ee4
DM
6632018-11-08 David Malcolm <dmalcolm@redhat.com>
664
665 * c-format.c (local_cgraph_node_ptr_node): New variable.
666 (gcc_dump_printf_char_table): Add entry for %C.
667 (get_pointer_to_named_type): New function, taken from the handling
668 code for "gimple *" from...
669 (init_dynamic_diag_info): ...here. Add handling for
670 "cgraph_node *".
671 * c-format.h (T_CGRAPH_NODE): New.
672
4be5c72c
JM
6732018-10-19 Jason Merrill <jason@redhat.com>
674
675 * c-cppbuiltin.c (c_cpp_builtins): Add
676 __cpp_nontype_template_parameter_class.
677
f3f6029d
NS
6782018-10-31 Nathan Sidwell <nathan@acm.org>
679
ab5324fb
NS
680 * c-opts.c (c_finish_options): Force command line macro
681 location. Refactor to avoid repeating main debug hook.
682 (push_command_line_include): Clarify comment.
683
f3f6029d
NS
684 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
685
91e3ec29
MS
6862018-10-30 Martin Sebor <msebor@redhat.com>
687
688 PR middle-end/87041
689 * c-format.c (check_format_types): Avoid diagnosing null pointer
690 arguments to printf-family of functions.
691
b5ff4f5c
MP
6922018-10-30 Marek Polacek <polacek@redhat.com>
693
694 Implement P0892R2, explicit(bool).
695 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
696
7e2de6df
DM
6972018-10-29 David Malcolm <dmalcolm@redhat.com>
698
699 * name-hint.h (name_hint::take_deferred): New member function.
700
b2bf438c
DM
7012018-10-29 David Malcolm <dmalcolm@redhat.com>
702
703 PR c++/56856
704 * c-common.c (check_function_sentinel): Call fold_for_warn on the
705 argument.
706 (check_function_restrict): Rename param "argarray" to
707 "unfolded_argarray", and make a copy named "argarray", calling
708 fold_for_warn on each argument.
709 (check_function_arguments): Add note about responsibility for
710 folding the arguments.
711
9f936c86
JM
7122018-10-17 Joseph Myers <joseph@codesourcery.com>
713
714 * c-common.c (flag_isoc2x): New variable.
715 * c-common.h (clk_c): Update comment to reference C2X.
716 (flag_isoc99, flag_isoc11): Update comments to reference future
717 standard versions in general.
718 (flag_isoc2x): Declare.
719 * c-opts.c (set_std_c2x): New function.
720 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
721 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
722 flag_isoc2x to 0.
723 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
724
7a8a92c4
JM
7252018-10-17 Joseph Myers <joseph@codesourcery.com>
726
727 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
728 (std=iso9899:2018): Document C17 as published in 2018.
729
4dc003ff
CL
7302018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
731
732 PR c++/87364
733 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
734
79371671
WW
7352018-10-11 Will Wray <wjwray@gmail.com>
736
737 PR c++/87364
738 * c-pretty-print.h (pp_c_type_cast): Prototype.
739 (pp_c_integer_constant): Likewise.
740 * c-pretty-print.c (pp_c_type_cast): No longer static.
741 (pp_c_integer_constant): Likewise.
742 (pp_c_enumeration_constant): Fix loop termination when finding
743 name of constant. No longer returns a value. Call
744 pp_c_integer_constant.
745 (c_pretty_printer::constant): Update for changes to
746 pp_c_enumeration_constant.
747
46c62690
JJ
7482018-10-11 Jakub Jelinek <jakub@redhat.com>
749
750 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
751 for no_unique_address.
752
c24300ba
DM
7532018-10-09 David Malcolm <dmalcolm@redhat.com>
754
755 * c-common.c (c_option_controlling_cpp_error): Rename to...
756 (c_option_controlling_cpp_diagnostic): ...this, and convert
757 "reason" from int to enum.
758 (c_cpp_error): Rename to...
759 (c_cpp_diagnostic): ...this, converting level and reason to enums.
760 * c-common.h (c_cpp_error): Rename to...
761 (c_cpp_diagnostic): ...this, converting level and reason to enums.
762 * c-opts.c (c_common_init_options): Update for renaming.
763
8656dafa
RS
7642018-10-08 Richard Sandiford <richard.sandiford@arm.com>
765
766 PR c/87286
767 * c-common.c (vector_types_compatible_elements_p): Use
768 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
769
8cff0652
VK
7702018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
771
772 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
773 to generate constructor destructor priority warning.
774 * c.opt (-Wprio-ctor-dtor): New option.
775
bedf03a2
JM
7762018-10-01 Jason Merrill <jason@redhat.com>
777
778 * c-lex.c (c_common_has_attribute): Add no_unique_address.
779
6cc430c1
EB
7802018-10-01 Eric Botcazou <ebotcazou@adacore.com>
781
782 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
783 (dump_ada_node): Add const keyword.
784
87677ac7
ML
7852018-09-25 Martin Liska <mliska@suse.cz>
786
787 * c-common.c (c_common_truthvalue_conversion):
788 Remove Pascal from documentation.
789
518196cb
EB
7902018-09-21 Eric Botcazou <ebotcazou@adacore.com>
791
792 * c-ada-spec.c: Include diagnostic.h.
793 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
794
a599af84
MP
7952018-09-19 Marek Polacek <polacek@redhat.com>
796
797 * c.opt (Wclass-conversion): New.
798
9c4a4b3c
DM
7992018-09-17 David Malcolm <dmalcolm@redhat.com>
800
801 * c-format.c (range_label_for_format_type_mismatch::get_text):
802 Update for new param.
803
c896ecfe
DM
8042018-09-17 David Malcolm <dmalcolm@redhat.com>
805
806 * c-format.c (format_warning_at_char): Update for introduction of
807 format_string_diagnostic_t.
808 (format_type_warning): Likewise.
809
80c6d1f4
MJ
8102018-09-17 Martin Jambor <mjambor@suse.cz>
811
812 PR c/63886
813 * c.opt (Wabsolute-value): New.
814
6d900107
BE
8152018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
816
817 * c-common.c (complete_flexible_array_elts): New helper function.
818 * c-common.h (complete_flexible_array_elts): Declare.
819
b5764229
BE
8202018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
821
822 * c-common.c (braced_list_to_string): Remove eval parameter.
823 Add some more checks. Always create zero-terminated STRING_CST.
824 * c-common.h (braced_list_to_string): Adjust prototype.
825
85204e23
DM
8262018-08-27 David Malcolm <dmalcolm@redhat.com>
827
828 PR 87091
829 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
830 to a tri-state.
831 (maybe_suggest_missing_token_insertion): Likewise.
832 (maybe_add_include_fixit): Add param "override_location". If set,
833 and source-printing is enabled, then override the rich_location's
834 primary location with that of the insertion point for the fix-it
835 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
836 * c-common.h (extern void maybe_add_include_fixit): Add bool
837 param.
838 * c-format.c (selftest::test_type_mismatch_range_labels): Update
839 for conversion of show_caret_p to a tri-state.
840 * c-warn.c (warn_for_restrict): Likewise.
841 * known-headers.cc
842 (suggest_missing_header::~suggest_missing_header): Update call to
843 maybe_add_include_fixit to suggest overriding the location, as it
844 is for a note.
845
3d78e008
ML
8462018-08-27 Martin Liska <mliska@suse.cz>
847
848 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
849 fndecl_built_in_p and remove check for FUNCTION_DECL if
850 possible.
3d78e008
ML
851 (check_builtin_function_arguments): Likewise.
852 (reject_gcc_builtin): Likewise.
853 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
854
b5be6d0c
MP
8552018-08-26 Marek Polacek <polacek@redhat.com>
856
857 PR c++/87029, Implement -Wredundant-move.
858 * c.opt (Wredundant-move): New option.
859
79ca9c35
MP
8602018-08-21 Marek Polacek <polacek@redhat.com>
861
862 PR c++/86981, Implement -Wpessimizing-move.
863 * c.opt (Wpessimizing-move): New option.
864
097f82ec
DM
8652018-08-20 David Malcolm <dmalcolm@redhat.com>
866
867 PR other/84889
868 * c-attribs.c (common_handle_aligned_attribute): Add
869 auto_diagnostic_group instance.
870 * c-indentation.c (warn_for_misleading_indentation): Likewise.
871 * c-opts.c (c_common_post_options): Likewise.
872 * c-warn.c (warn_logical_not_parentheses): Likewise.
873 (warn_duplicated_cond_add_or_warn): Likewise.
874 (warn_for_multistatement_macros): Likewise.
875
3fb558b1
NS
8762018-08-20 Nathan Sidwell <nathan@acm.org>
877
878 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
879 access.
880
800c0e98
NS
8812018-08-17 Nathan Sidwell <nathan@acm.org>
882
883 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
884 field.
885 (laxy_hex_fp_value_count): Make unsigned.
886 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
887 manipulate the macro.
888 (builtin_defin_with_hex_fp_value): Adjust callback name, use
889 cpp_define_lazily.
890
6f795a92
DM
8912018-08-17 David Malcolm <dmalcolm@redhat.com>
892
893 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
894 (gcc_dump_printf_length_specs): New.
895 (gcc_dump_printf_flag_pairs): New.
896 (gcc_dump_printf_flag_specs): New.
897 (gcc_dump_printf_char_table): New.
898 (format_types_orig): Add entry for "gcc_dump_printf".
899 (init_dynamic_diag_info): Set up length_char_specs and
900 conversion_specs for gcc_dump_printf_format_type.
901 (handle_format_attribute): Handle gcc_dump_printf_format_type.
902
c5d725c0
NS
9032018-08-17 Nathan Sidwell <nathan@acm.org>
904
10f04917
NS
905 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
906
c5d725c0
NS
907 * c-ada-spec.c: Don't #include "cpp-id-data.h"
908 * c-cppbuiltin.c: Likewise.
909
c0c12356
ML
9102018-08-17 Martin Liska <mliska@suse.cz>
911
912 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
913 Ignore/Deprecated flag. Warning is done automatically for
914 Deprecated flags.
c0c12356 915
10fcc142
DM
9162018-08-16 David Malcolm <dmalcolm@redhat.com>
917
918 PR c++/70693
919 * c-common.c (selftest::c_family_tests): Call
920 selftest::c_indentation_c_tests.
921 * c-common.h (selftest::c_indentation_c_tests): New decl.
922 * c-indentation.c: Include "selftest.h".
923 (next_tab_stop): Add "tab_width" param, rather than accessing
924 cpp_opts.
925 (get_visual_column): Likewise. Clarify comment. Bulletproof
926 against reading past the end of the line.
927 (get_first_nws_vis_column): Add "tab_width" param.
928 (detect_intervening_unindent): Likewise.
929 (should_warn_for_misleading_indentation): Read tab width from
930 cpp_opts and pass around.
931 (selftest::test_next_tab_stop): New test.
932 (selftest::assert_get_visual_column_succeeds): New function.
933 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
934 (selftest::assert_get_visual_column_fails): New function.
935 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
936 (selftest::test_get_visual_column): New test.
937 (selftest::c_indentation_c_tests): New function.
938
3f6677f4
NS
9392018-08-16 Nathan Sidwell <nathan@acm.org>
940
941 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
942 (store_ada_macro): Likewise.
943 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
944 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
945
96e6ae57
DM
9462018-08-15 David Malcolm <dmalcolm@redhat.com>
947
948 * c-format.c: Include "selftest-diagnostic.h" and
949 "gcc-rich-location.h".
950 (format_warning_at_char): Pass NULL for new label params of
951 format_warning_va.
952 (class indirection_suffix): New class.
953 (class range_label_for_format_type_mismatch): New class.
954 (format_type_warning): Move logic for generating "*" suffix to
955 class indirection_suffix. Create "fmt_label" and "param_label"
956 to show their types, and pass them to the
957 format_warning_at_substring calls.
958 (selftest::test_type_mismatch_range_labels): New test.
959 (selftest::c_format_c_tests): Call it.
960
23aa9f7c
MS
9612018-08-13 Martin Sebor <msebor@redhat.com>
962
963 PR tree-optimization/71625
964 * c-common.c (braced_list_to_string): New function.
965 * c-common.h (braced_list_to_string): Declare it.
966
f10a9135
NS
9672018-08-08 Nathan Sidwell <nathan@acm.org>
968
969 * c-common.c (try_to_locate_new_include_inertion_point): Use
970 linemap_included_from_linemap.
971 * c-lex.c (fe_file_change): Use linemap_included_from.
972 * c-ppoutput.c (pp_file_change): Likewise.
973
8a45b051
MS
9742018-08-01 Martin Sebor <msebor@redhat.com>
975
976 PR tree-optimization/86650
977 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
978 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
979 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
980 * c-format.h (T89_G): Update to be "gimple *" rather than
981 "gcall *".
982 (local_gcall_ptr_node): Rename...
983 (local_gimple_ptr_node): ...to this.
984
e540ccc0
DM
9852018-07-31 David Malcolm <dmalcolm@redhat.com>
986
987 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
988 table entries for gcc_diag_char_table, and the 'Z' entry from
989 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
990 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
991 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
992 adding missing "Z" for this table. Remove erroneous "G" and "K"
993 entries.
994 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
995 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
996 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
997
425fc685
RE
9982018-07-31 Richard Earnshaw <rearnsha@arm.com>
999
1000 * c-common.c (speculation_safe_resolve_call): New function.
1001 (speculation_safe_resolve_params): New function.
1002 (speculation_safe_resolve_return): New function.
1003 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1004 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1005 __HAVE_SPECULATION_SAFE_VALUE.
1006
181463c2
DM
10072018-07-20 David Malcolm <dmalcolm@redhat.com>
1008
1009 * c-common.c (c_cpp_error): Remove redundant "line_table"
1010 parameter from call to rich_location::set_range.
1011 (maybe_suggest_missing_token_insertion): Likewise.
1012
0d7f9065
MS
10132018-07-20 Martin Sebor <msebor@redhat.com>
1014
1015 PR middle-end/82063
1016 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
1017
00abf86c
MS
10182018-07-20 Martin Sebor <msebor@redhat.com>
1019
1020 PR middle-end/82063
1021 * c-common.h (c_common_handle_option): Change function argument
1022 to HOST_WIDE_INT.
1023 * c-opts.c (c_common_init_options): Same.
1024 (c_common_handle_option): Same. Remove special handling of
1025 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1026 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1027 options to take a HOST_WIDE_INT argument and accept a byte-size
1028 suffix. Initialize.
1029 (-Wvla-larger-than): Same.
1030 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1031 (-Wno-vla-larger-than): Same.
1032
9b452033
JJ
10332018-07-12 Jakub Jelinek <jakub@redhat.com>
1034
1035 * c-attribs.c (c_common_attribute_table): Add
1036 "omp declare target implicit" attribute.
1037
cd0762f3
RB
10382018-07-12 Richard Biener <rguenther@suse.de>
1039
1040 PR c/86453
1041 * c-attribs.c (handle_packed_attribute): Do not build a variant
1042 type with TYPE_PACKED, instead ignore the attribute if we may
1043 not apply to the original type.
1044
0b27c3ed
JJ
10452018-07-10 Jakub Jelinek <jakub@redhat.com>
1046
1047 PR c++/86443
1048 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1049 to contain TREE_LIST for both the original class iterator and the
1050 "last" helper var.
1051
e730a0ef
EB
10522018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1053
1054 * c-ada-spec.c (to_ada_name): Remove index parameter.
1055 (pp_ada_tree_identifier): Likewise.
1056 (dump_ada_macros): Adjust call to to_ada_name.
1057 (struct overloaded_name_hash): Delete.
1058 (struct overloaded_name_hasher): Likewise.
1059 (overloaded_names): Likewise.
1060 (compute_overloading_index): Likewise.
1061 (dump_ada_decl_name): Do not call compute_overloading_index and
1062 adjust calls to pp_ada_tree_identifier.
1063 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1064 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1065 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1066 (dump_ada_enum_type): Remove type and display_convention parameters.
1067 Adjust calls to pp_ada_tree_identifier.
1068 (dump_ada_node): Likewise and for dump_ada_structure.
1069 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1070 and tidy up.
1071 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1072 syntax.
1073 (print_constructor): Adjust call to pp_ada_tree_identifier.
1074 (print_destructor): Likewise.
1075 (dump_ada_declaration): Switch to aspect syntax.
1076 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1077 parameter with nested parameter.
1078 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1079 (dump_ada_specs): Do not delete overloaded_names table.
1080
8de583fc
PB
10812018-07-06 Peter Bergner <bergner@linux.ibm.com>
1082
1083 PR target/86324
e730a0ef 1084 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1085 target hook.
1086
09cff37b
NS
10872018-07-05 Nathan Sidwell <nathan@acm.org>
1088
1089 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1090 NO_IMPLICIT_EXTERN_C.
1091
98086b2b
ML
10922018-06-28 Martin Liska <mliska@suse.cz>
1093
1094 * cppspec.c: Include opt-suggestions.h.
1095
829c6349
CLT
10962018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1097 Thomas Schwinge <thomas@codesourcery.com>
1098 Cesar Philippidis <cesar@codesourcery.com>
1099
1100 * c-pragma.h (enum pragma_omp_clause): Add
1101 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1102 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1103
f41b7612
JJ
11042018-06-20 Jakub Jelinek <jakub@redhat.com>
1105
1106 PR c++/86210
1107 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1108 comment.
1109
4252ccd7
MS
11102018-06-18 Martin Sebor <msebor@redhat.com>
1111
1112 PR middle-end/85602
1113 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1114 nonstring.
1115
e197e64e
KV
11162018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1117
1118 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1119
34a7a230
JM
11202018-06-13 Jason Merrill <jason@redhat.com>
1121
5cef3733
JM
1122 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1123 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1124 handling.
1125
34a7a230
JM
1126 PR c++/86094 - wrong code with defaulted move ctor.
1127 * c-opts.c (c_common_post_options): Bump the current ABI version to
1128 13. Set warn_abi_version and flag_abi_compat_version to the current
1129 version rather than 0. Fix defaulting flag_abi_compat_version from
1130 warn_abi_version.
1131
bb0f14ae
MS
11322018-06-12 Martin Sebor <msebor@redhat.com>
1133
1134 PR c/85931
1135 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1136 sizeof source and destination yields the same value.
1137
3713f2e2
ML
11382018-06-12 Martin Liska <mliska@suse.cz>
1139
1140 * c.opt: Make MPX-related options as Deprecated.
1141
4af78ef8
DM
11422018-06-08 David Malcolm <dmalcolm@redhat.com>
1143
1144 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1145 rather than 0.
1146
31db0fe0
ML
11472018-06-08 Martin Liska <mliska@suse.cz>
1148
1149 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1150 for MPX (macros, related functions, fields in cgraph_node, ...).
1151 (handle_bnd_legacy): Likewise.
1152 (handle_bnd_instrument): Likewise.
1153 * c.opt: Likewise.
1154
fe16acf2
JJ
11552018-06-06 Jakub Jelinek <jakub@redhat.com>
1156
1157 PR c++/86068
1158 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1159 __cpp_transactional_memory to 201500 instead of 210500.
1160
4dbdb49b
JM
11612018-06-06 Jason Merrill <jason@redhat.com>
1162
1163 PR c++/85710 - ICE with -Wmemset-elt-size.
1164 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1165
f8ad043f
JM
11662018-06-01 Jason Merrill <jason@redhat.com>
1167
1168 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1169 201703.
1170
abc24d93
EB
11712018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1172
1173 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1174 declaration for a typedef independently of whether the declaration of
1175 the subtype is generated.
1176
d258f4aa
MS
11772018-05-31 Martin Sebor <msebor@redhat.com>
1178
1179 PR c/82063
1180 * c.opt (-Wno-alloc-size-larger-than): New option.
1181
b67b9225
DP
11822018-04-22 David Pagan <dave.pagan@oracle.com>
1183
1184 PR c/55976
1185 * c-opts.c (c_common_post_options): Set default for warn_return_type
1186 for C++/C++ with ObjC extensions only. For C, makes it possible to
1187 differentiate between default (no option), -Wreturn-type, and
1188 -Wno-return-type.
1189
04eb9c55
JM
11902018-05-29 Jason Merrill <jason@redhat.com>
1191
1192 * c.opt (Winit-list-lifetime): New flag.
1193
b0c31bc6
BE
11942018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1195
1196 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1197 splay_tree_delete_pointers.
1198
44284983
JJ
11992018-05-26 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR bootstrap/85921
1202 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1203 noinline variable to workaround broken kernel headers.
1204
b46b715d
JM
12052018-05-18 Jason Merrill <jason@redhat.com>
1206
1207 * c.opt (Wdeprecated-copy): New flag.
1208
40659769
ML
12092018-05-17 Martin Liska <mliska@suse.cz>
1210
1211 * c-warn.c (overflow_warning): Do not use
1212 space in between 'G_' and '('.
1213
403962ea
JM
12142018-05-09 Jason Merrill <jason@redhat.com>
1215
1216 * c-common.c (valid_array_size_p): Add complain parameter.
1217 * c-common.h: ...which defaults to true.
1218
1c9ee609
JJ
12192018-05-11 Jakub Jelinek <jakub@redhat.com>
1220
1221 PR c/85696
1222 * c-omp.c (c_omp_predetermined_sharing): Return
1223 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1224
19916065
ML
12252018-05-11 Martin Liska <mliska@suse.cz>
1226
92a285c1 1227 PR sanitizer/85556
19916065
ML
1228 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1229 TREE_LIST values.
1230
79e7b1fe
JJ
12312018-05-10 Jakub Jelinek <jakub@redhat.com>
1232
1233 PR c++/85662
1234 * c-common.h (fold_offsetof_1): Removed.
1235 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1236 CTX argument defaulted to ERROR_MARK.
1237 * c-common.c (fold_offsetof_1): Renamed to ...
1238 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1239 argument, convert the pointer constant to TYPE and use size_binop
1240 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1241 a pointer type. Adjust recursive calls.
1242
86c12f76
EB
12432018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1244
1245 PR c++/85400
1246 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1247
ee336e84
NS
12482018-05-07 Nathan Sidwell <nathan@acm.org>
1249
1250 * c.opt (ffor-scope): Remove functionality, issue warning.
1251
6c072e21
NS
12522018-05-03 Nathan Sidwell <nathan@acm.org>
1253
1254 * c.opt (ffriend-injection): Remove functionality, issue warning.
1255
2cc7d3a7
DM
12562018-05-01 David Malcolm <dmalcolm@redhat.com>
1257
1258 PR c/84258
1259 * c-format.c (struct format_check_results): Add field
1260 "number_non_char".
1261 (check_format_info): Initialize it, and warn if encountered.
1262 (check_format_arg): Distinguish between wide char and
1263 everything else when detecting arrays of non-char.
1264
7761dfbe
DM
12652018-04-30 David Malcolm <dmalcolm@redhat.com>
1266
1267 * c-format.c (get_corrected_substring): Update for
1268 location_get_source_line returning a char_span. Use a char_span
1269 when handling the prefix of the correction.
1270 * c-indentation.c (get_visual_column): Update for
1271 location_get_source_line returning a char_span.
1272 (get_first_nws_vis_column): Likewise.
1273
62e98ef1
DM
12742018-03-29 David Malcolm <dmalcolm@redhat.com>
1275
1276 PR c++/84269
1277 * known-headers.cc (get_stdlib_header_for_name): Add various names
1278 from <assert.h>, <string.h>, and <memory.h>; add more names from
1279 <stdio.h>.
1280
a7dea617
JJ
12812018-03-27 Jakub Jelinek <jakub@redhat.com>
1282
1283 PR c++/85061
1284 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1285 get_base_address of the second operand is a VAR_P, rather than the
1286 operand itself, and use gcc_checking_assert instead of gcc_assert.
1287
889a3a30
MP
12882018-03-23 Marek Polacek <polacek@redhat.com>
1289
1290 PR c++/85045
1291 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1292 <case RDIV_EXPR>: Tweak condition.
1293
452154b9
EB
12942018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1295
1296 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1297
63ecb626
JJ
12982018-03-16 Jakub Jelinek <jakub@redhat.com>
1299
ce811fc4
JJ
1300 PR c/84909
1301 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1302 diagnostics.
1303
63ecb626
JJ
1304 PR c/84910
1305 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1306 diagnostics.
1307
a1295eec
RB
13082018-03-16 Richard Biener <rguenther@suse.de>
1309
1310 PR c/84873
1311 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1312 unshare the possibly folded expression.
1313
919674fb
RB
13142018-03-15 Richard Biener <rguenther@suse.de>
1315
1316 PR c/84873
1317 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1318
f99309b2
MS
13192018-03-13 Martin Sebor <msebor@redhat.com>
1320
1321 PR tree-optimization/84725
1322 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1323 with all three narrow character types, including their qualified forms.
1324
e9b9fa4c
MS
13252018-03-12 Martin Sebor <msebor@redhat.com>
1326
1327 PR tree-optimization/83456
1328 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1329 Restore checking of bounded built-in functions.
1330 (check_function_arguments): Also return the result
1331 of warn_for_restrict.
1332 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1333 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
1334
0805d020
MP
13352018-03-02 Marek Polacek <polacek@redhat.com>
1336
1337 PR c++/84171
1338 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1339 is erroneous.
1340
ed2a2f08
TS
13412018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1342
1343 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1344 function".
1345
90abdde0
MP
13462018-03-01 Marek Polacek <polacek@redhat.com>
1347
1348 PR c++/84639
1349 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1350 alignment in computation.
1351
c6db43fa
EB
13522018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1353
1354 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1355 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1356
9e25c7ed
EB
13572018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1358
1359 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1360 (is_char_array): Take a type instead of a declaration.
1361 (dump_ada_array_type): Likewise.
1362 (is_simple_enum): Minor tweak.
1363 (dump_ada_enum_type): New function extracted from...
1364 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1365 <INTEGER_TYPE>: Remove unreachable code.
1366 <RECORD_TYPE>: Likewise. Minor tweaks.
1367 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1368 <ENUMERAL_TYPE>: New case.
1369 <RECORD_TYPE>: Factor out common code.
1370 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1371 Minor tweaks. Deal with enumeral types.
1372 (dump_ada_structure): Minor tweaks.
1373
09de3550
EB
13742018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1375
1376 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1377 address for incomplete structures.
1378 (dump_forward_type): Do not bail out for incomplete structures.
1379 (dump_ada_declaration): Do not special-case incomplete structures
1380 for subtypes. Dump them as null records for types.
1381
095d8d4b
EB
13822018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1383
1384 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1385 (is_char_array): Fix formatting.
1386 (dump_template_types): Likewise.
1387 (dump_generic_ada_node): Rename into...
1388 (dump_ada_node): ...this.
1389 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1390 incomplete structures and not for empty structures. Do not use it
1391 when forward declarations are needed.
1392 (dump_forward_type): New function.
1393 (dump_nested_types): Remove FORWARD parameter. Do not consider
1394 TREE_VISITED and do not generate a forward declaration. Only dump
1395 original nested types for nested declaration.
1396 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1397 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1398 <RECORD_TYPE>: Do not consider TREE_VISITED.
1399 (dump_ada_declaration): Use booleans and fix formatting throughout.
1400 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1401 Call dump_forward_type instead of dump_nested_types for a typedef.
1402 Remove superfluous check and adjust call to dump_nested_types.
1403 <POINTER_TYPE>: Call dump_forward_type and fall through.
1404 (dump_ada_struct_decl): Rename into...
1405 (dump_ada_structure): ...this. Do not special-case empty structures.
1406
d4cfd486
MS
14072018-02-27 Martin Sebor <msebor@redhat.com>
1408
1409 PR c++/83871
1410 * c.opt (-Wmissing-attributes): New option.
1411
b22dbd03
ML
14122018-02-21 Martin Liska <mliska@suse.cz>
1413
1414 * c.opt (Wcatch-value=): Add IntegerRange.
1415
883dfe2a
JM
14162018-02-15 Jason Merrill <jason@redhat.com>
1417
1418 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1419
0444aa9c
NS
14202018-02-09 Nathan Sidwell <nathan@acm.org>
1421
1422 PR c/84293
1423 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1424 arg.
1425 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1426 arg. Adjust.
1427
cea71f0a
MS
14282018-02-09 Martin Sebor <msebor@redhat.com>
1429
1430 PR lto/84212
1431 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1432 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1433 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1434 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1435 (-Wuninitialized): Same.
1436
8c8b7be5
EB
14372018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1438
1439 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1440 keyword for components.
1441
7c30b12a
PC
14422018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1443
1444 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1445
eece7fe5
JK
14462018-02-02 Julia Koval <julia.koval@intel.com>
1447
1448 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1449
7d07a93a
MP
14502018-01-29 Marek Polacek <polacek@redhat.com>
1451
1452 PR c/83966
1453 * c-format.c (check_function_format): Check current_function_decl.
1454
53723269
JJ
14552018-01-27 Jakub Jelinek <jakub@redhat.com>
1456
1457 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1458 argument.
1459 (LAZY_HEX_FP_VALUES_CNT): Define.
1460 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1461 values rather than just 12.
1462 (builtin_define_with_hex_fp_value): Likewise.
1463
7365279f
BK
14642018-01-18 Boris Kolpackov <boris@codesynthesis.com>
1465
92a285c1
ML
1466 PR other/70268
1467 * c.opt (-fmacro-prefix-map): New option.
1468 * c-opts.c (c_common_handle_option): Handle it.
1469 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
1470 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 1471
bb9869d5
DM
14722018-01-17 David Malcolm <dmalcolm@redhat.com>
1473
1474 PR c++/83814
1475 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1476
68dc87c3
EB
14772018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1478
1479 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1480 Skip 'f' and 'F' characters if it is true.
1481 (store_ada_macro): Minor tweak.
1482 (dump_ada_macros) <CPP_COMMENT>: Likewise.
1483 <CPP_WSTRING>: Likewise.
1484 <CPP_STRING>: Output '&' in the buffer if not the first string.
1485 <CPP_NUMBER>: Adjust calls to dump_number.
1486
9a004410
DM
14872018-01-10 David Malcolm <dmalcolm@redhat.com>
1488
1489 PR c++/43486
1490 * c-common.c: Include "selftest.h".
1491 (get_atomic_generic_size): Perform the test for integral type
1492 before the range test for any integer constant, fixing indentation
1493 of braces. Call fold_for_warn before testing for an INTEGER_CST.
1494 (reject_gcc_builtin): Strip any location wrapper from EXPR.
1495 (selftest::test_fold_for_warn): New function.
1496 (selftest::c_common_c_tests): New function.
1497 (selftest::c_family_tests): Call it, and
1498 selftest::c_pretty_print_c_tests.
1499 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
1500 * c-format.c (check_format_arg): Convert VAR_P check to a
1501 fold_for_warn.
1502 * c-pretty-print.c: Include "selftest.h".
1503 (pp_c_cast_expression): Don't print casts for location wrappers.
1504 (selftest::assert_c_pretty_printer_output): New function.
1505 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1506 (selftest::test_location_wrappers): New function.
1507 (selftest::c_pretty_print_c_tests): New function.
1508 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1509
5c0caeb3
RS
15102018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1511 Alan Hayward <alan.hayward@arm.com>
1512 David Sherwood <david.sherwood@arm.com>
1513
1514 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1515
73a699ae
RS
15162018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1517 Alan Hayward <alan.hayward@arm.com>
1518 David Sherwood <david.sherwood@arm.com>
1519
1520 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1521 as polynomial.
1522
928686b1
RS
15232018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1524 Alan Hayward <alan.hayward@arm.com>
1525 David Sherwood <david.sherwood@arm.com>
1526
1527 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1528 (convert_vector_to_array_for_subscript): Handle polynomial
1529 TYPE_VECTOR_SUBPARTS.
1530 (c_common_type_for_mode): Check valid_vector_subparts_p.
1531 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1532 VECTOR_CST_NELTS.
1533
85ec4feb
JJ
15342018-01-03 Jakub Jelinek <jakub@redhat.com>
1535
1536 Update copyright years.
1537
170a8bd6 15382017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1539 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1540
1541 * c-pragma.c (init_pragma): Register pragma GCC unroll.
1542 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1543
18408e96
AO
15442017-12-22 Alexandre Oliva <aoliva@redhat.com>
1545
1546 PR debug/83527
1547 PR debug/83419
1548 * c-semantics.c (only_debug_stmts_after_p): New.
1549 (pop_stmt_list): Clear side effects in debug-only stmt list.
1550 Check for single nondebug stmt followed by debug stmts only.
1551
c12d20d4
AO
15522017-12-21 Alexandre Oliva <aoliva@redhat.com>
1553
1554 PR debug/83419
1555 * c-semantics.c (pop_stmt_list): Propagate side effects from
1556 single nondebug stmt to container list.
1557
01512446
JJ
15582017-12-19 Jakub Jelinek <jakub@redhat.com>
1559
1560 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1561 conditions with typical order conditions.
1562
82cfbd01
MP
15632017-12-18 Marek Polacek <polacek@redhat.com>
1564
1565 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1566 not in effect.
1567
99da11ec
MS
15682017-12-17 Martin Sebor <msebor@redhat.com>
1569
1570 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1571 an error for attribute warn_if_not_aligned.
1572
cc8bea0a
MS
15732017-12-16 Martin Sebor <msebor@redhat.com>
1574
1575 PR tree-optimization/78918
1576 * c-common.c (check_function_restrict): Avoid checking built-ins.
1577 * c.opt (-Wrestrict): Include in -Wall.
1578
4849deb1
JJ
15792017-12-15 Jakub Jelinek <jakub@redhat.com>
1580
1581 * c-attribs.c (c_common_attribute_table,
1582 c_common_format_attribute_table): Swap affects_type_identity
1583 and handler fields, adjust comments.
1584
c65e18d3
BE
15852017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1586
1587 * c.opt (Wcast-function-type): New warning option.
1588 * c-lex.c (get_fileinfo): Avoid warning.
1589 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1590
2004617a
QZ
15912017-12-14 Qing Zhao <qing.zhao@oracle.com>
1592
7365279f 1593 PR middle_end/79538
2004617a
QZ
1594 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1595 Adjust the size of buf1 and buf2, add a new buf to avoid
1596 format-overflow warning.
1597
96a95ac1
AO
15982017-12-12 Alexandre Oliva <aoliva@redhat.com>
1599
1600 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
1601 subsequent statement list.
1602
5d9ae53d
MS
16032017-12-07 Martin Sebor <msebor@redhat.com>
1604
1605 PR c/81544
1606 PR c/81566
1607 * c-attribs.c (attr_aligned_exclusions): New array.
1608 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
1609 (attr_common_exclusions, attr_const_pure_exclusions): Same.
1610 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
1611 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
1612 (attr_warn_unused_result_exclusions): Same.
1613 (handle_hot_attribute, handle_cold_attribute): Simplify.
1614 (handle_const_attribute): Warn on function returning void.
1615 (handle_pure_attribute): Same.
1616 (handle_aligned_attribute): Diagnose conflicting attribute
1617 specifications.
1618 * c-warn.c (diagnose_mismatched_attributes): Simplify.
1619
c79144f8
DM
16202017-12-06 David Malcolm <dmalcolm@redhat.com>
1621
1622 PR c/83236
1623 * c-common.c (selftest::c_family_tests): Call
1624 selftest::c_spellcheck_cc_tests.
1625 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
1626 * c-spellcheck.cc: Include "selftest.h".
1627 (name_reserved_for_implementation_p): New function.
1628 (should_suggest_as_macro_p): New function.
1629 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
1630 should_suggest_as_macro_p and call it.
1631 (selftest::test_name_reserved_for_implementation_p): New function.
1632 (selftest::c_spellcheck_cc_tests): New function.
1633 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
1634
613bc14f
DM
16352017-12-06 David Malcolm <dmalcolm@redhat.com>
1636
1637 * c-spellcheck.cc: New file, taken from macro-handling code in
1638 spellcheck-tree.c.
1639 * c-spellcheck.h: New file, taken from macro-handling code in
1640 spellcheck-tree.h.
1641
e76c7157
JJ
16422017-12-01 Jakub Jelinek <jakub@redhat.com>
1643
1644 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
1645 attribute.
1646 (handle_simd_attribute): Don't check for "cilk simd function"
1647 attribute. Reindent, formatting changes.
1648
b0da4034
JK
16492017-11-30 Julia Koval <julia.koval@intel.com>
1650
1651 * c-common.h (inv_list): Remove.
1652
058f0b9e
JJ
16532017-11-28 Jakub Jelinek <jakub@redhat.com>
1654
1655 PR sanitizer/81275
1656 * c-common.c (c_switch_covers_all_cases_p_1,
1657 c_switch_covers_all_cases_p): New functions.
1658 * c-common.h (c_switch_covers_all_cases_p): Declare.
1659
5e9d6aa4 16602017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 1661 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
1662
1663 * array-notation-common.c: Delete.
1664 * c-cilkplus.c: Ditto.
1665 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
1666 * c-common.def (ARRAY_NOTATION_REF): Remove.
1667 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
1668 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
1669 c_validate_cilk_plus_loop, cilkplus_an_parts,
1670 cilk_ignorable_spawn_rhs_op,
1671 cilk_recognize_spawn): Remove.
1672 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
1673 * c-omp.c: Remove CILK_SIMD check.
1674 * c-pragma.c: Ditto.
1675 * c-pragma.h: Remove CILK related pragmas.
1676 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
1677 ARRAY_NOTATION_REF condition.
1678 (c_pretty_printer::expression): Ditto.
1679 * c.opt (fcilkplus): Remove.
1680 * cilk.c: Delete.
1681
1af4ebf5
MG
16822017-11-21 Marc Glisse <marc.glisse@inria.fr>
1683
1684 * c-pretty-print.c (pp_c_additive_expression,
1685 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
1686
d44ed508
JJ
16872017-11-21 Jakub Jelinek <jakub@redhat.com>
1688
7d2f0f9b
JJ
1689 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
1690
d44ed508
JJ
1691 PR c++/83059
1692 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
1693 instead of tree_to_uhwi, formatting fix.
1694
26edace6
DM
16952017-11-20 David Malcolm <dmalcolm@redhat.com>
1696
1697 PR c/81404
1698 * known-headers.cc: New file, based on material from c/c-decl.c.
1699 (suggest_missing_header): Copied as-is.
1700 (get_stdlib_header_for_name): New, based on get_c_name_hint but
1701 heavily edited to add C++ support. Add some knowledge about
1702 <limits.h>, <stdint.h>, and <wchar.h>.
1703 * known-headers.h: Likewise.
1704
6c7a259b
DM
17052017-11-20 David Malcolm <dmalcolm@redhat.com>
1706
1707 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
1708 (lookup_name_fuzzy): Likewise. Convert return type from
1709 const char * to name_hint. Add location_t param.
1710 * name-hint.h: New header.
1711
f9c59f7e
JJ
17122017-11-19 Jakub Jelinek <jakub@redhat.com>
1713
1714 PR c/66618
1715 PR c/69960
1716 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
1717
1e39313a
JM
17182017-11-16 Joseph Myers <joseph@codesourcery.com>
1719
1720 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
1721 expected publication date of C17.
1722 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
1723
3ca0dc60
JM
17242017-11-15 Joseph Myers <joseph@codesourcery.com>
1725
1726 PR c/81156
1727 * c-common.c (c_common_reswords): Add __builtin_tgmath.
1728 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
1729
025d57f0
MS
17302017-11-10 Martin Sebor <msebor@redhat.com>
1731
1732 PR c/81117
1733 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
1734 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
1735 * c.opt (-Wstringop-truncation): New option.
1736
1b6fa695
ML
17372017-11-06 Martin Liska <mliska@suse.cz>
1738
1739 PR middle-end/82404
1740 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
1741 FE.
1742 * c.opt: Set default value of warn_return_type.
1743
64a5912c
DM
17442017-10-31 David Malcolm <dmalcolm@redhat.com>
1745
1746 * c-common.c (binary_op_error): Update for renaming of
1747 error_at_rich_loc.
1748 (c_parse_error): Likewise.
1749 * c-warn.c (warn_logical_not_parentheses): Likewise for
1750 renaming of inform_at_rich_loc.
1751 (warn_for_restrict): Likewise for renaming of
1752 warning_at_rich_loc_n.
1753
c76dc9c3
JM
17542017-10-30 Joseph Myers <joseph@codesourcery.com>
1755
1756 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
1757 * c-opts.c (set_std_c17): New function.
1758 (c_common_init_options): Use gnu17 as default C version.
1759 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
1760
ee5fd23a
MM
17612017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1762
1763 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
1764 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
1765 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
1766 __FP_FAST_FMA<N>X.
1767
d1047465
MP
17682017-10-23 Marek Polacek <polacek@redhat.com>
1769
1770 PR c/82681
1771 * c-warn.c (warnings_for_convert_and_check): Fix typos.
1772
9e878cf1
EB
17732017-10-19 Eric Botcazou <ebotcazou@adacore.com>
1774
1775 * c-common.c (check_builtin_function_arguments): Also check arguments
1776 of __builtin_alloca_with_align_and_max.
1777
89b6abbb
DM
17782017-10-17 David Malcolm <dmalcolm@redhat.com>
1779
1780 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
1781 rather than NULL to format_warning_va.
1782 (check_format_types): Likewise when calling format_type_warning.
1783 Remove code to extract source_ranges and source_range * in favor
1784 of just a location_t.
1785 (format_type_warning): Convert source_range * param to a
1786 location_t.
1787
39382c09
JJ
17882017-10-13 Jakub Jelinek <jakub@redhat.com>
1789
1790 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
1791 [LR]SHIFT_EXPR.
1792
62e1c678
DM
17932017-10-12 David Malcolm <dmalcolm@redhat.com>
1794
1795 * c-common.c (enum missing_token_insertion_kind): New enum.
1796 (get_missing_token_insertion_kind): New function.
1797 (maybe_suggest_missing_token_insertion): New function.
1798 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
1799
b90c9338
NS
18002017-10-11 Nathan Sidwell <nathan@acm.org>
1801
1802 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1803 (c_common_handle_option): Update incpath_kind names.
1804
3a266bcd
ML
18052017-10-11 Martin Liska <mliska@suse.cz>
1806
1807 PR sanitizer/82490
1808 * c-attribs.c (handle_no_sanitize_attribute): Report directly
1809 Wattributes warning.
1810
8e6cdc90
RS
18112017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1812
1813 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1814 operating on trees as wide_ints.
1815 * c-common.c (pointer_int_sum): Likewise.
1816 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1817 * c-warn.c (match_case_to_enum_1): Likewise.
1818 (c_do_switch_warnings): Likewise.
1819 (maybe_warn_shift_overflow): Likewise.
1820
802b38c9
JJ
18212017-10-10 Jakub Jelinek <jakub@redhat.com>
1822
1823 PR c/82437
1824 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1825 instead of wide_int::from.
1826
4e34b338
JJ
18272017-10-06 Jakub Jelinek <jakub@redhat.com>
1828
1829 PR c/82437
1830 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1831 using to_widest use wide_int with the larger of the two precisions.
1832
4bc4b2b4
BE
18332017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1834
1835 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1836 functions.
1837
a1488398
RS
18382017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1839
1840 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1841 when combining the original unconverted comparison operands.
1842
01c9fb68
JJ
18432017-09-29 Jakub Jelinek <jakub@redhat.com>
1844
1845 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1846 attribute.
1847
6e3e8419
EB
18482017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1849
1850 * c-ada-spec.c (to_ada_name): Add index parameter.
1851 (pp_ada_tree_identifier): Likewise.
1852 (dump_ada_macros): Adjust call to to_ada_name.
1853 (struct overloaded_name_hash): New type.
1854 (struct overloaded_name_hasher): Likewise.
1855 (overloaded_names): New hash table.
1856 (compute_overloading_index): New function.
1857 (dump_ada_decl_name): Call it and pass the result to
1858 pp_ada_tree_identifier.
1859 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1860 (dump_ada_function_declaration): Likewise.
1861 (dump_generic_ada_node): Likewise.
1862 (print_constructor): Likewise.
1863 (print_destructor): Likewise.
1864 (dump_ada_specs): Delete overloaded_names table.
1865
79310774
EB
18662017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1867
1868 * c-ada-spec.c (max_ada_macros): Move around.
1869 (store_ada_macro_index): Likewise.
1870 (source_file): Rename into...
1871 (macro_source_file): ...this.
1872 (count_ada_macro): Move around.
1873 (store_ada_macro): Likewise.
1874 (compare_macro): Likewise.
1875 (print_ada_macros): Merge in...
1876 (dump_ada_macros): ...this.
1877 (source_file_base): Rename into...
1878 (current_source_file): ...this.
1879 (print_comment): Move around.
1880 (dump_ada_nodes): Call dump_ada_declaration directly.
1881 (struct with): Change type of limited field to bool.
1882 (append_withs): Change type of limited_access parameter to bool.
1883 (pp_ada_tree_identifie): Likewise.
1884 (dump_ada_decl_nam): Likewise.
1885 (dump_generic_ada_node): Likewise. Do not print the return type.
1886 (to_ada_name): Change type of space_found parameter to bool.
1887 (dump_ada_function_declaration): Return void and change type of
1888 parameters to bool. Also print the return type for a function.
1889 (print_ada_methods): Rename into...
1890 (dump_ada_methods): ...this.
1891 (print_ada_declaration): Rename into ...
1892 (dump_ada_declaration): ...this. Do not print the return type.
1893 (print_ada_struct_decl): Rename into...
1894 (dump_ada_struct_decl): ...this.
1895
7d386d45
JJ
18962017-09-29 Jakub Jelinek <jakub@redhat.com>
1897
1898 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1899 rather than DECL_INITIAL.
1900 (common_handle_aligned_attribute): Likewise.
1901
9ed32e27
AO
19022017-09-20 Alexandre Oliva <aoliva@redhat.com>
1903
1904 * c.opt (gen-decls): Add RejectNegative.
1905
026a79f7
AS
19062017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1907 Jakub Jelinek <jakub@redhat.com>
1908
1909 Add support for -std=c++2a.
1910 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1911 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1912 * c-opts.c (set_std_cxx2a): New.
1913 (c_common_handle_option): Set options when -std=c++2a is enabled.
1914 (c_common_post_options): Adjust comments.
1915 (set_std_cxx14, set_std_cxx17): Likewise.
1916
4a8ca690
EB
19172017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1918
1919 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1920 message for non-uniform endianness and issue a warning in C++.
1921
7b936140
JJ
19222017-09-15 Jakub Jelinek <jakub@redhat.com>
1923
1924 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1925 (Wc++17-compat): Change from undocumented alias to option.
1926 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1927 change C++1z to C++17 in description.
1928 (std=c++1z, std=gnu++1z): Change from option to undocumented
1929 deprecated alias.
1930 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1931 Adjust description.
1932 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1933 * c-opts.c (set_std_cxx1z): Rename to ...
1934 (set_std_cxx17): ... this.
1935 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1936 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1937 caller.
7b936140
JJ
1938 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1939 comments.
1940
12263f13
L
19412017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1942
1943 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1944 function alignment if warn_if_not_aligned_p is true.
1945
6836632e
NS
19462017-09-12 Nathan Sidwell <nathan@acm.org>
1947
1948 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1949 resort_sorted_fields): Move to c/c-decl.c.
1950 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1951 (struct sorted_fields_type): Move to c/c-lang.h.
1952
019bf9ad
JW
19532017-09-09 Jonathan Wakely <jwakely@redhat.com>
1954
1955 PR c++/81852
1956 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1957
bc7fe952
MP
19582017-09-04 Marek Polacek <polacek@redhat.com>
1959
1960 PR c/81783
1961 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1962 (warn_tautological_cmp): Call it.
1963
de7c2c6a
BK
19642017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1965
1966 * c-opts.c (c_common_finish): Write dependency information even if
1967 there are errors.
1968
d2e05fcb
JJ
19692017-09-01 Jakub Jelinek <jakub@redhat.com>
1970
1971 PR c/81887
1972 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1973 (omp_pragmas_simd): ... here.
1974 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1975 create new clauses list containing just simd clause.
1976
18e2a8b8
RS
19772017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1978 Alan Hayward <alan.hayward@arm.com>
1979 David Sherwood <david.sherwood@arm.com>
1980
1981 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1982 into scalar_mode_supported_p call.
1983 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1984
16d22000
RS
19852017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1986 Alan Hayward <alan.hayward@arm.com>
1987 David Sherwood <david.sherwood@arm.com>
1988
1989 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1990 for the mode iterator.
1991
b397965c
RS
19922017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1993 Alan Hayward <alan.hayward@arm.com>
1994 David Sherwood <david.sherwood@arm.com>
1995
1996 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1997 * c-common.c (c_build_vec_perm_expr): Likewise.
1998
357b7604
RS
19992017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2000 Alan Hayward <alan.hayward@arm.com>
2001 David Sherwood <david.sherwood@arm.com>
2002
2003 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2004
e05c94ba
RS
20052017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2006 Alan Hayward <alan.hayward@arm.com>
2007 David Sherwood <david.sherwood@arm.com>
2008
2009 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2010 before calling targetm.addr_space.valid_pointer_mode.
2011
5c20c4af
RS
20122017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2013 Alan Hayward <alan.hayward@arm.com>
2014 David Sherwood <david.sherwood@arm.com>
2015
2016 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2017
c94843d2 20182017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
2019 Alan Hayward <alan.hayward@arm.com>
2020 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
2021
2022 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2023 iterators.
2024 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2025
4e10a5a7
RS
20262017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2027 Alan Hayward <alan.hayward@arm.com>
2028 David Sherwood <david.sherwood@arm.com>
2029
2030 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2031 case statements.
2032
130fcab0
ML
20332017-08-29 Martin Liska <mliska@suse.cz>
2034
2035 PR other/39851
2036 * c-common.c (parse_optimize_options): Add argument to function
2037 call.
2038 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2039
14e18d71
DM
20402017-08-24 David Malcolm <dmalcolm@redhat.com>
2041
2042 * c-lex.c (interpret_float): Use token location
2043 when building an EXCESS_PRECISION_EXPR.
2044
2f687306
DM
20452017-08-21 David Malcolm <dmalcolm@redhat.com>
2046
2047 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2048 it to check_function_format.
2049 * c-common.h (check_function_arguments): Add vec<location_t> *
2050 param.
2051 (check_function_format): Likewise.
2052 * c-format.c (struct format_check_context): Add field "arglocs".
2053 (check_function_format): Add param "arglocs"; pass it to
2054 check_format_info.
2055 (check_format_info): Add param "arglocs"; use it to initialize
2056 new field of format_ctx.
2057 (check_format_arg): Pass format_ctx->arglocs to new param of
2058 check_format_info_main.
2059 (class argument_parser): New field "arglocs".
2060 (argument_parser::argument_parser): Add "arglocs_" param and use
2061 it to initialize new field.
2062 (argument_parser::check_argument_type): Pass new arglocs field to
2063 check_format_types.
2064 (check_format_info_main): Add param "arglocs", and use it when
2065 constructing arg_parser.
2066 (check_format_types): Add param "arglocs"; use it if non-NULL when
2067 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2068
00aa1fa2
L
20692017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2070
2071 PR c/53037
2072 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2073 (c_common_attribute_table): Add warn_if_not_aligned.
2074 (handle_aligned_attribute): Renamed to ...
2075 (common_handle_aligned_attribute): Remove argument, name, and add
2076 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2077 (handle_aligned_attribute): New.
2078 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2079
27be025d
MS
20802017-08-14 Martin Sebor <msebor@redhat.com>
2081
2082 PR c/81117
2083 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2084 (handle_nonstring_attribute): New function.
2085
da67acb9
MS
20862017-08-14 Martin Sebor <msebor@redhat.com>
2087
2088 PR c/81117
2089 * c-format.h (T89_G): New macro.
2090 * c-format.c (local_gcall_ptr_node): New variable.
2091 (init_dynamic_diag_info): Initialize it.
2092
a8b522b4
ML
20932017-08-11 Martin Liska <mliska@suse.cz>
2094
2095 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2096 TARGET_SUPPORTS_ALIASES.
2097
32129a17
DM
20982017-08-10 David Malcolm <dmalcolm@redhat.com>
2099
2100 * c-common.c (c_parse_error): Add rich_location * param, using it
2101 rather implicitly using input_location.
2102 * c-common.h (c_parse_error): Add rich_location * param.
2103
30af3a2b
MP
21042017-08-09 Marek Polacek <polacek@redhat.com>
2105
2106 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2107 (c_common_truthvalue_conversion): Likewise.
2108 * c-omp.c (c_finish_omp_atomic): Likewise.
2109 * c-common.h (build_binary_op): Update declaration.
2110
314e6352
ML
21112017-08-08 Martin Liska <mliska@suse.cz>
2112
2113 * c-ada-spec.c: Include header files.
2114 * c-ubsan.c: Likewise.
2115 * c-warn.c: Likewise.
2116
56b5041c
JJ
21172017-08-07 Jakub Jelinek <jakub@redhat.com>
2118
2119 PR c/69389
2120 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2121
db440138
EB
21222017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2123
2124 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2125 (print_ada_methods): Likewise.
2126 (print_ada_declaration): Likewise.
2127
577eec56
ML
21282017-08-07 Martin Liska <mliska@suse.cz>
2129
2130 * array-notation-common.c: Add new includes.
2131 * c-format.c( handle_format_attribute): Canonicalize a format
2132 function name.
2133 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2134 attribute.
2135 * c-pretty-print.c: Add new include.
2136
b854df3c
EB
21372017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2138
2139 * c-ada-spec.c (has_static_fields): Look only into variables.
2140 (print_constructor): Add TYPE parameter and use it for the name.
2141 (print_destructor): Likewise.
2142 (print_ada_declaration): Adjust to new constructor/destructor names.
2143 Adjust calls to print_constructor and print_destructor.
2144 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2145 Look only into variables in the final loop.
2146
9f2cb25e
EB
21472017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2148
2149 * c-ada-spec.c (has_static_fields): Look only into fields.
2150 (dump_generic_ada_node): Small tweak.
2151 (dump_nested_types): Look only into fields.
2152 (print_ada_declaration): Look only into methods. Small tweak.
2153 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2154
f4bcd9eb
EB
21552017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2156
2157 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2158 (dump_ada_function_declaration): Likewise.
2159 (dump_generic_ada_node): Likewise.
2160 (print_ada_declaration): Add support for const-qualified variables.
2161
f34ebeb2
ML
21622017-07-31 Martin Liska <mliska@suse.cz>
2163
2164 PR sanitize/81530
2165 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2166 Guard condition with flag_sanitize_p also with current_function_decl
2167 non-null equality.
2168 (ubsan_maybe_instrument_reference_or_call): Likewise.
2169
218e5d04
UB
21702017-07-30 Uros Bizjak <ubizjak@gmail.com>
2171
2172 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2173
942047f2
EB
21742017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2175
2176 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2177 for enumeral types.
2178 (print_ada_declaration): Add missing guard for record types.
2179
a40ff0ae
JJ
21802017-07-27 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR c/45784
2183 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2184 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2185 new COMPOUND_EXPRs around the rhs of the comparison.
2186
06bd22f6
MP
21872017-07-27 Marek Polacek <polacek@redhat.com>
2188
2189 PR c/81417
2190 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2191 the types.
2192
036ea399
JJ
21932017-07-27 Jakub Jelinek <jakub@redhat.com>
2194
2195 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2196 (handle_noipa_attribute): New function.
2197
417ca011
TD
21982017-07-07 Torsten Duwe <duwe@suse.de>
2199
2200 * c-attribs.c (c_common_attribute_table): Add entry for
2201 "patchable_function_entry".
2202
5aaa8fb4
NS
22032017-07-20 Nathan Sidwell <nathan@acm.org>
2204
2205 Remove TYPE_METHODS.
2206 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2207 dump_ada_template, print_ada_methods,
2208 print_ada_declaration): Member fns are on TYPE_FIELDS.
2209
ff22eb12
NS
22102017-07-18 Nathan Sidwell <nathan@acm.org>
2211
2212 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2213
eea77d1f
DM
22142017-07-14 David Malcolm <dmalcolm@redhat.com>
2215
2216 * c-common.c (try_to_locate_new_include_insertion_point): New
2217 function.
2218 (per_file_includes_t): New typedef.
2219 (added_includes_t): New typedef.
2220 (added_includes): New variable.
2221 (maybe_add_include_fixit): New function.
2222 * c-common.h (maybe_add_include_fixit): New decl.
2223
281ac396
MS
22242017-07-10 Martin Sebor <msebor@redhat.com>
2225
2226 PR other/81345
2227 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2228
b6f43128
DM
22292017-07-06 David Malcolm <dmalcolm@redhat.com>
2230
2231 * c-common.c (selftest::c_family_tests): New.
2232 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2233 (selftest::c_family_tests): New decl.
2234
efbf55b0
MP
22352017-07-04 Marek Polacek <polacek@redhat.com>
2236
2237 PR c/81231
2238 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2239 types.
2240
6c86bd88
MP
22412017-07-04 Marek Polacek <polacek@redhat.com>
2242
2243 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2244
17a7218b
ML
22452017-06-28 Martin Liska <mliska@suse.cz>
2246
2247 PR ipa/81128
2248 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2249 to a function declaration.
2250
63010089
ML
22512017-06-28 Martin Liska <mliska@suse.cz>
2252
2253 PR driver/79659
2254 * c.opt: Add IntegerRange to various options.
2255
3e2becc4
MP
22562017-06-26 Marek Polacek <polacek@redhat.com>
2257
2258 PR c/80116
2259 * c-common.h (warn_for_multistatement_macros): Declare.
2260 * c-warn.c: Include "c-family/c-indentation.h".
2261 (warn_for_multistatement_macros): New function.
2262 * c.opt (Wmultistatement-macros): New option.
2263 * c-indentation.c (guard_tinfo_to_string): No longer static.
2264 Change the parameter type to "enum rid". Handle RID_SWITCH.
2265 * c-indentation.h (guard_tinfo_to_string): Declare.
2266
2db9b7cd
MG
22672017-06-23 Marc Glisse <marc.glisse@inria.fr>
2268
2269 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2270
c3684b7b
MS
22712017-06-15 Martin Sebor <msebor@redhat.com>
2272
2273 PR c++/80560
2274 * c.opt (-Wclass-memaccess): New option.
2275
e72c4afd
BK
22762017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2277
2278 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2279
8a516588
MP
22802017-06-13 Marek Polacek <polacek@redhat.com>
2281
2282 PR objc/80949
2283 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2284 branches is null.
2285
45b2222a
ML
22862017-06-13 Martin Liska <mliska@suse.cz>
2287
2288 PR sanitize/78204
2289 * c-attribs.c (add_no_sanitize_value): New function.
2290 (handle_no_sanitize_attribute): Likewise.
2291 (handle_no_sanitize_address_attribute): Use the function.
2292 (handle_no_sanitize_thread_attribute): New function.
2293 (handle_no_address_safety_analysis_attribute): Use
2294 add_no_sanitize_value.
2295 (handle_no_sanitize_undefined_attribute): Likewise.
2296 * c-common.h: Declare new functions.
2297 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2298 (ubsan_instrument_shift): Likewise.
2299 (ubsan_instrument_bounds): Likewise.
2300 (ubsan_maybe_instrument_array_ref): Likewise.
2301 (ubsan_maybe_instrument_reference_or_call): Likewise.
2302
a01f151f
JM
23032017-06-11 Jason Merrill <jason@redhat.com>
2304
2305 * c-ada-spec.c, c-pragma.c: Use id_equal.
2306
3de4ac6d
MP
23072017-06-04 Marek Polacek <polacek@redhat.com>
2308
2309 PR c/80919
2310 * c-format.c (matching_type_p): Return false if any of the types
2311 requires structural equality.
2312
2474f48f
MS
23132017-06-02 Martin Sebor <msebor@redhat.com>
2314
2315 PR c/80892
2316 * c-warn.c (conversion_warning): Use -Wconversion for integer
2317 conversion and -Wfloat-conversion for floating one.
2318
40ffd95f
BE
23192017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2320
2321 * c.opt (Wsizeof-pointer-div): New warning option.
2322
3fa4634c
VR
23232017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2324
2325 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2326 (Wcatch-value=1): Enable by -Wall.
2327
f012c8ef
DM
23282017-05-30 David Malcolm <dmalcolm@redhat.com>
2329
2330 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2331 format_chars.
2332 * c.opt (fdiagnostics-show-template-tree): New option.
2333 (felide-type): New option.
2334
63dbcd13
VR
23352017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2336
2337 * c.opt (Wcatch-value=): New C++ warning flag.
2338
be136b5c
NS
23392017-05-24 Nathan Sidwell <nathan@acm.org>
2340
2341 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2342 const casts to avoid warning.
2343
3cd211af
MS
23442017-05-24 Martin Sebor <msebor@redhat.com>
2345
2346 PR c/80731
2347 * c-common.h (unsafe_conversion_p): Add a function argument.
2348 * c-common.c (unsafe_conversion_p): Same.
2349 Add type names and values to diagnostics.
2350 (scalar_to_vector): Adjust.
2351 * c-warn.c (constant_expression_error): Add a function argument.
2352 Add type names and values to diagnostics.
2353 (conversion_warning): Add a function argument.
2354 Add type names and values to diagnostics.
2355 (warnings_for_convert_and_check): Same.
2356
1ff7be5a
JM
23572017-05-19 Jason Merrill <jason@redhat.com>
2358
2359 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2360 enumerators.
2361
ff502317
BE
23622017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2363
2364 * c-format.c (locus): Move out of function scope,
2365 add GTY attribute.
2366
2a8a8d7b
NS
23672017-05-19 Nathan Sidwell <nathan@acm.org>
2368
2369 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2370 (c_common_parse_file): Remove class dump handling.
2371 (get_dump_info): Likewise.
2372
39aac208
RB
23732017-05-19 Richard Biener <rguenther@suse.de>
2374
2375 PR c++/80593
2376 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2377 to alias-set zero memory.
2378
6ecd2339
BE
23792017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2380
2381 * c-format.c (local_tree_type_node): Add GTY attribute.
2382
6574d78e
MP
23832017-05-18 Marek Polacek <polacek@redhat.com>
2384
2385 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2386 (c_common_fixed_point_type_for_size): Likewise.
2387 (c_common_type_for_mode): Likewise.
2388 (shorten_compare): Likewise.
2389 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2390 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2391
e3455240
MP
23922017-05-18 Marek Polacek <polacek@redhat.com>
2393
2394 * c-common.c (self_promoting_args_p): Change the return type to bool.
2395 Use false/true instead of 0/1.
2396 * c-common.h (self_promoting_args_p): Update.
2397
3fa8871b
MP
23982017-05-17 Marek Polacek <polacek@redhat.com>
2399
2400 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2401 * c-warn.c: Likewise.
2402
b42cc3ca
VV
24032017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2404
2405 Implement new C++ intrinsics __is_assignable and __is_constructible.
2406 * c-common.c (__is_assignable, __is_constructible): New.
2407 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2408
1a817418
ML
24092017-05-17 Martin Liska <mliska@suse.cz>
2410
2411 * c-common.h: Introduce dump_flags_t type and
2412 use it instead of int type.
2413 * c-gimplify.c (c_genericize): Likewise.
2414 * c-opts.c: Likewise.
2415
b2fa0a8b
MP
24162017-05-17 Marek Polacek <polacek@redhat.com>
2417
2418 * c-common.c (c_save_expr): Remove.
2419 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
2420 * c-common.h (c_save_expr): Remove declaration.
2421
31c2d57d
VR
24222017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
2423
2424 PR c/35441
2425 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2426 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2427 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2428 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2429 RDIV_EXPR.
2430 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2431
684f84de
MP
24322017-05-09 Marek Polacek <polacek@redhat.com>
2433
2434 PR c/80525
2435 * c-warn.c (unwrap_c_maybe_const): New.
2436 (warn_logical_operator): Call it.
2437
641da50a
NS
24382017-05-09 Nathan Sidwell <nathan@acm.org>
2439
2440 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2441 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2442
631238ac
MS
24432017-05-08 Martin Sebor <msebor@redhat.com>
2444
2445 PR translation/80280
2446 * c-format.h (struct format_flag_spec): Add new member.
2447 (T89_T): New macro.
2448 * c-format.c (local_tree_type_node): New global.
2449 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2450 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2451 (strfmon_flag_specs): Likewise.
2452 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2453 with distinct quoting properties.
2454 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2455 (flag_chars_t::validate): Add argument and handle bad quoting.
2456 (check_format_info_main): Handle quoting problems.
2457 (init_dynamic_diag_info): Simplify.
2458
49f0c04c
JM
24592017-05-08 Jason Merrill <jason@redhat.com>
2460
2461 * c-opts.c (c_common_post_options): Update defaults for
2462 flag_abi_version and flag_abi_compat_version.
2463
56d35585
DM
24642017-05-05 David Malcolm <dmalcolm@redhat.com>
2465
2466 * c-common.c (c_cpp_error): Replace report_diagnostic
2467 with diagnostic_report_diagnostic.
2468
0f2c4a8f
MS
24692017-05-04 Martin Sebor <msebor@redhat.com>
2470
2471 PR translation/80280
2472 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2473 (handle_weakref_attribute): Same.
2474
6fe63fb4
NS
24752017-05-03 Nathan Sidwell <nathan@acm.org>
2476
2477 Canonicalize canonical type hashing
2478 * c-common.c (complete_array_type): Use type_hash_canon.
2479
815d9cc6
XR
24802017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2481
92a285c1 2482 PR c++/80038
815d9cc6
XR
2483 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2484 prototype.
2485 (cilk_install_body_pedigree_operations): Likewise.
2486 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
2487 detatched.
2488 (cilk_gimplify_call_params_in_spawned_fn): Remove.
2489 (cilk_install_body_pedigree_operations): Likewise.
2490 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2491 unwrapping.
2492
f8a36447
JJ
24932017-04-27 Jakub Jelinek <jakub@redhat.com>
2494
2495 PR c++/80534
2496 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2497 flag on non-aggregate element types.
2498
7c145456
BE
24992017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2500
2501 * c-common.c (c_type_hasher, type_hash_table): Remove.
2502 (c_common_get_alias_set): Remove unreachable code.
2503 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2504
c3cbcd45
VR
25052017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
2506
2507 * c.opt (Wextra-semi): New C++ warning flag.
2508
8a59d466
JJ
25092017-04-20 Jakub Jelinek <jakub@redhat.com>
2510
2511 PR middle-end/80423
2512 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2513
8487c9a5
JJ
25142017-04-18 Jakub Jelinek <jakub@redhat.com>
2515
2516 PR middle-end/79788
2517 PR middle-end/80375
2518 * c-common.c (c_common_type_for_mode): Don't handle
2519 widest_*_literal_type_node here.
2520 c_common_signed_or_unsigned_type): Likewise.
2521 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
2522 to *intTI_type_node or *intDI_type_node depending on whether
2523 TImode is supported by the target or not.
2524
3ee0fb02
ML
25252017-04-10 Martin Liska <mliska@suse.cz>
2526
2527 PR sanitizer/80350
2528 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2529 doing an UBSAN check.
2530
5764ee3c
JW
25312017-04-03 Jonathan Wakely <jwakely@redhat.com>
2532
2533 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
2534
6f3af356
JJ
25352017-03-31 Jakub Jelinek <jakub@redhat.com>
2536
2537 PR c++/79572
2538 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2539 tree *.
2540 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
2541 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2542 REFERENCE_TYPE.
2543
f6a7a9d5
DM
25442017-03-31 David Malcolm <dmalcolm@redhat.com>
2545
2546 PR documentation/78732
2547 * c.opt (Wendif-labels): Fix description to refer to
2548 #else rather than #elif.
2549
af88f557
JJ
25502017-03-31 Jakub Jelinek <jakub@redhat.com>
2551
2552 PR libstdc++/80251
2553 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
2554 * c-common.c (c_common_reswords): Add __is_aggregate trait.
2555
a9e4a1a5
JJ
25562017-03-27 Jakub Jelinek <jakub@redhat.com>
2557
2558 PR middle-end/80162
2559 * c-common.c (c_common_mark_addressable_vec): Don't set
2560 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2561
3f01b620
MS
25622017-03-21 Martin Sebor <msebor@redhat.com>
2563
2564 PR c++/79548
2565 * c-common.c (set_underlying_type): Mark type used only when
2566 original del is declared unused.
2567
2f6f187a
DM
25682017-03-10 David Malcolm <dmalcolm@redhat.com>
2569
2570 PR translation/79848
2571 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2572 "%qs".
2573
a02fa805
DM
25742017-03-10 David Malcolm <dmalcolm@redhat.com>
2575
2576 PR c/79921
2577 * c-indentation.c (warn_for_misleading_indentation): Remove parens
2578 from inform's message, so that xgettext can locate it.
2579
822a132c
MP
25802017-03-09 Marek Polacek <polacek@redhat.com>
2581
2582 PR c++/79962
2583 PR c++/79984
2584 * c-attribs.c (handle_nonnull_attribute): Save the result of default
2585 conversion to the attribute list.
2586
bba81f1c
ML
25872017-03-09 Martin Liska <mliska@suse.cz>
2588
2589 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
2590
108154ff
JM
25912017-03-03 Jason Merrill <jason@redhat.com>
2592
2593 * c.opt (Wnoexcept-type): New.
2594
eb0e7c34
RB
25952017-03-02 Richard Biener <rguenther@suse.de>
2596
2597 PR c/79756
2598 * c-common.c (c_common_mark_addressable_vec): Look through
2599 C_MAYBE_CONST_EXPR.
2600
9453ba0a
ML
26012017-02-28 Martin Liska <mliska@suse.cz>
2602
2603 * c.opt: Replace space with tabular for options of <number>
2604 type.
2605
6a825afe
ML
26062017-02-28 Martin Liska <mliska@suse.cz>
2607
2608 * c.opt: Fix --help=option -Q for options which are of
2609 an enum type.
2610
4227c9ad
JJ
26112017-02-24 Jakub Jelinek <jakub@redhat.com>
2612
2613 PR c++/79588
2614 * c-common.c (check_function_restrict): New function.
2615 (check_function_arguments): Add FNDECL argument. Call
2616 check_function_restrict if -Wrestrict.
2617 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
2618 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
2619 * c-common.h (check_function_arguments): Add FNDECL argument.
2620 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
2621
59909673
EB
26222017-02-24 Eric Botcazou <ebotcazou@adacore.com>
2623
2624 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
2625 treatment of parameters with pointer-to-tagged type and tidy up.
2626 (print_ada_methods): Remove the special treatment of C++ static member
2627 functions.
2628
54dcd526
ML
26292017-02-22 Martin Liska <mliska@suse.cz>
2630
2631 * c.opt: Replace inequality signs with square brackets
2632 for -Wnornalized.
2633
00bc9de3
JJ
26342017-02-21 Jakub Jelinek <jakub@redhat.com>
2635
2636 PR c++/79641
2637 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
2638 preserve quals.
2639
97fcf744
JM
26402017-02-17 Joseph Myers <joseph@codesourcery.com>
2641
2642 * c-cppbuiltin.c (builtin_define_float_constants): Define
2643 __DECIMAL_DIG__ to the value for long double.
2644
c7545f1c
MP
26452017-02-15 Marek Polacek <polacek@redhat.com>
2646
2647 PR c/79515
2648 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
2649 conversion has occured.
2650
c2e84327
DM
26512017-01-24 David Malcolm <dmalcolm@redhat.com>
2652
2653 * c-common.c (c_common_reswords): Add "__RTL".
2654 * c-common.h (enum rid): Add RID_RTL.
2655
2ebd93e1
MP
26562017-01-20 Marek Polacek <polacek@redhat.com>
2657
2658 PR c/64279
2659 * c-common.h (do_warn_duplicated_branches_r): Declare.
2660 * c-gimplify.c (c_genericize): Walk the function tree calling
2661 do_warn_duplicated_branches_r.
2662 * c-warn.c (expr_from_macro_expansion_r): New.
2663 (do_warn_duplicated_branches): New.
2664 (do_warn_duplicated_branches_r): New.
2665 * c.opt (Wduplicated-branches): New option.
2666
0d80ab91
DM
26672017-01-17 David Malcolm <dmalcolm@redhat.com>
2668
2669 PR c++/71497
2670 * c-indentation.c (warn_for_misleading_indentation): Use the past
2671 subjunctive in the note.
2672
7f991c36
AH
26732017-01-17 Aldy Hernandez <aldyh@redhat.com>
2674
2675 PR c/79116
2676 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
2677 start type to integer_type.
2678
1c70261c
JJ
26792017-01-16 Jakub Jelinek <jakub@redhat.com>
2680
2681 PR driver/49726
2682 * c.opt (gen-decls): Add Driver flag.
2683
1ddca3f3
PC
26842017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2685
2686 Revert:
2687 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2688
2689 PR c++/71737
2690 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2691
7d2f3f1d
PC
26922017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2693
2694 PR c++/71737
2695 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2696
bce6f760
MS
26972017-01-12 Martin Sebor <msebor@redhat.com>
2698
2699 (-Wformat-overflow): ...to this.
2700
bf5fbf46
MS
27012017-01-11 Martin Sebor <msebor@redhat.com>
2702
2703 PR c/78768
2704 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
2705 Also enable for LTO.
2706
e363df3f
JM
27072017-01-10 Jason Merrill <jason@redhat.com>
2708
2709 Implement P0195R2, C++17 variadic using.
2710 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
2711
bd2c6270
JJ
27122017-01-09 Jakub Jelinek <jakub@redhat.com>
2713
2714 PR translation/79019
2715 PR translation/79020
2716 * c.opt (Wnormalized=): Fix typo in description.
2717
efcc8d38
MS
27182017-01-08 Martin Sebor <msebor@redhat.com>
2719
2720 PR middle-end/77708
2721 * c.opt (-Wformat-truncation): New option.
2722
435f3f7a
AO
27232017-01-06 Alexandre Oliva <aoliva@redhat.com>
2724
2725 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
2726 value to unsigned short to fit in 4 hex digits without
2727 warnings.
2728
4e89adf9
EB
27292017-01-05 Eric Botcazou <ebotcazou@adacore.com>
2730
2731 * c.opt (fsso-struct): Add 'native' value.
2732
cd445b54
ML
27332017-01-05 Martin Liska <mliska@suse.cz>
2734
2735 PR pch/78970
2736 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
2737 header.
2738
a9342885
MP
27392017-01-04 Marek Polacek <polacek@redhat.com>
2740
2741 PR c++/64767
2742 * c.opt (Wpointer-compare): New option.
2743
fc73e60c
JJ
27442017-01-04 Jakub Jelinek <jakub@redhat.com>
2745
2746 PR driver/78957
2747 * c.opt (fsso-struct=): Add RejectNegative.
2748
cbe34bb5
JJ
27492017-01-01 Jakub Jelinek <jakub@redhat.com>
2750
2751 Update copyright years.
2752
d4a6c0ea
ML
27532016-12-29 Martin Liska <mliska@suse.cz>
2754
2755 PR c/78933
2756 * c.opt (strong-eval-order): Add RejectNegative keyword.
2757
67a5ad7c
JM
27582016-12-22 Jason Merrill <jason@redhat.com>
2759
2760 Implement P0522R0, matching of template template arguments.
2761 * c-cppbuiltin.c (c_cpp_builtins): Define
2762 __cpp_template_template_args.
2763
0dba7960
JJ
27642016-12-21 Jakub Jelinek <jakub@redhat.com>
2765
2766 PR bootstrap/78817
2767 * c-common.c (struct nonnull_arg_ctx): New type.
2768 (check_function_nonnull): Return bool instead of void. Use
2769 nonnull_arg_ctx as context rather than just location_t.
2770 (check_nonnull_arg): Adjust for the new context type, set
2771 warned_p to true if a warning has been diagnosed.
2772 (check_function_arguments): Return bool instead of void.
2773 * c-common.h (check_function_arguments): Adjust prototype.
2774
31bfc9b9
JM
27752016-12-21 Jason Merrill <jason@redhat.com>
2776
2777 * c.opt (-fnew-ttp-matching): New flag.
2778 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
2779
629b3d75
MJ
27802016-12-14 Martin Jambor <mjambor@suse.cz>
2781
2782 * c-omp.c: Include omp-general.h instead of omp-low.h.
2783 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
2784 name.
2785
474da67e
MS
27862016-12-14 Martin Sebor <msebor@redhat.com>
2787
2788 PR c/17308
2789 * c-common.c (check_nonnull_arg): Disable when optimization
2790 is enabled.
2791
fe366b87
MP
27922016-12-12 Marek Polacek <polacek@redhat.com>
2793
2794 PR c++/78647
2795 * c-common.c (attribute_fallthrough_p): Return false for
2796 error_mark_node.
2797
8bd9f164
MS
27982016-12-08 Martin Sebor <msebor@redhat.com>
2799
2800 PR c/78284
2801 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2802
060162e0
MS
28032016-12-08 Martin Sebor <msebor@redhat.com>
2804
2805 PR c/78165
92a285c1
ML
2806 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
2807 suffix.
060162e0 2808
ee92e7ba
MS
28092016-12-07 Martin Sebor <msebor@redhat.com>
2810
2811 PR c/53562
2812 PR middle-end/77784
2813 PR middle-end/78149
2814 PR middle-end/78138
2815 * c.opt (-Wstringop-overflow): New option.
2816
84b0769e
MO
28172016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2818
2819 * c-attribs.c (asan odr indicator): New attribute.
2820 (handle_asan_odr_indicator_attribute): New function.
2821
7fa6a965
PK
28222016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2823
2824 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2825 ptrdiff_type_node;
2826
56d8ffc1
JG
28272016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2828
2829 * c-common.c (excess_precision_mode_join): New.
2830 (c_ts18661_flt_eval_method): New.
2831 (c_c11_flt_eval_method): Likewise.
2832 (c_flt_eval_method): Likewise.
2833 * c-common.h (excess_precision_mode_join): New.
2834 (c_flt_eval_method): Likewise.
2835 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2836 (cpp_iec_559_value): Call it.
2837 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2838 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2839 __FLT_EVAL_METHOD_TS_18661_3__.
2840
04f0fcf7
JG
28412016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2842
2843 * c-opts.c (c_common_post_options): Add logic to handle the default
2844 case for -fpermitted-flt-eval-methods.
2845
fb2675cb
PB
28462016-11-23 Paolo Bonzini <bonzini@gnu.org>
2847
2848 * c.opt (Wexpansion-to-defined): New.
2849
ec1c5694
JJ
28502016-11-23 Jakub Jelinek <jakub@redhat.com>
2851
2852 PR target/78451
2853 * c-pragma.c (handle_pragma_target): Don't replace
2854 current_target_pragma, but chainon the new args to the current one.
2855
730c9e75
NS
28562016-11-22 Nathan Sidwell <nathan@acm.org>
2857
2858 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2859 indentation and formatting.
730c9e75 2860
89990732
MS
28612016-11-21 Martin Sebor <msebor@redhat.com>
2862
2863 * c.opt (-fprintf-return-value): Enable by default.
2864
48330c93
BE
28652016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2866
2867 PR c++/71973
2868 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2869 * c-common.c (c_common_nodes_and_builtins): Initialize
2870 const_tm_ptr_type_node.
2871
0d939c95
MP
28722016-11-16 Marek Polacek <polacek@redhat.com>
2873
2874 PR c/78285
2875 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2876
8e745a17
JJ
28772016-11-14 Jakub Jelinek <jakub@redhat.com>
2878
2879 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2880
1ee62b92 28812016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2882 Richard Biener <rguenther@suse.de>
2883
2884 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2885 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2886 * c.opt (fgimple): New option.
1ee62b92 2887
22b15758
UB
28882016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2889
2890 PR c/35503
2891 * c-common.h (warn_for_restrict): Declare.
2892 * c-warn.c: Include gcc-rich-location.h.
2893 (warn_for_restrict): New function.
2894 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2895 (gcc_cdiag_char_table): Likewise.
2896 (gcc_cxxdiag_char_table): Likewise.
2897 * c.opt (Wrestrict): New option.
2898
4be719cd
EB
28992016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2900
2901 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2902 for nested types only if the type is a record or union and dump SLOC.
2903
4a826ca6
JM
29042016-11-09 Jason Merrill <jason@redhat.com>
2905
2906 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2907
2e955d50
JJ
29082016-11-09 Jakub Jelinek <jakub@redhat.com>
2909
2910 * c-ubsan.c (ubsan_instrument_shift): Handle split
2911 -fsanitize=shift-base and -fsanitize=shift-exponent.
2912
51dc6603
JM
29132016-11-07 Jason Merrill <jason@redhat.com>
2914
2915 * c.opt (Wc++1z-compat): New.
2916 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2917
6dc4a604
ML
29182016-11-07 Martin Liska <mliska@suse.cz>
2919
2920 * c-warn.c (warn_for_unused_label): Save all labels used
2921 in goto or in &label.
2922
b302001e
JM
29232016-11-03 Jason Merrill <jason@redhat.com>
2924
2925 * c-cppbuiltin.c (c_cpp_builtins): Correct
2926 __cpp_inheriting_constructors.
2927
31f7f784
JM
29282016-11-01 Jason Merrill <jason@redhat.com>
2929
2bc78e3c
JM
2930 * c-cppbuiltin.c (c_cpp_builtins): Update
2931 __cpp_inheriting_constructors.
2932
31f7f784
JM
2933 * c.opt (-fnew-inheriting-ctors): New.
2934 * c-opts.c: Default to on for ABI 11+.
2935
dcb466ec
JJ
29362016-10-31 Jakub Jelinek <jakub@redhat.com>
2937
2938 PR c++/77948
2939 * c.opt (fext-numeric-literals): Add Var and Init.
2940 * c-opts.c (c_common_handle_option): Don't clear
2941 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2942 (c_common_post_options): Clear it here if not set
2943 explicitly.
2944
52e1b91e
AH
29452016-10-28 Aldy Hernandez <aldyh@redhat.com>
2946
2947 PR debug/77773
2948 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2949 if NULL.
2950
e16f1cc7
JJ
29512016-10-25 Jakub Jelinek <jakub@redhat.com>
2952
2953 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2954 * c-common.c (c_common_reswords): Add __builtin_launder.
2955
f8348061
BE
29562016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2957
2958 * c-common.c (c_common_truthvalue_conversion): Warn for
2959 multiplications in boolean context. Fix the quoting of '<<' and '<'
2960 in the shift warning.
2961
eff89e01
BE
29622016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2963
2964 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2965
24bc7bf4
JM
29662016-10-20 Jason Merrill <jason@redhat.com>
2967
2968 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2969
4c712374
BE
29702016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2971
2972 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2973 integer shift ops in boolean context.
2974
29752016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2976
2977 * c.opt (Walloca): New.
2978 (Walloca-larger-than=): New.
2979 (Wvla-larger-than=): New.
2980
8fa18c06
MP
29812016-10-17 Marek Polacek <polacek@redhat.com>
2982
2983 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2984 Return immediately when finding a match.
2985 (warn_tautological_cmp): Remove a boolean variable that is no longer
2986 needed.
2987
b12b1915
MP
29882016-10-17 Marek Polacek <polacek@redhat.com>
2989
2990 * c-attribs.c: New file.
2991 * c-common.c: Move attributes handling to c-attribs.c.
2992 (get_nonnull_operand): No longer static.
2993 * c-common.h: Move the declarations from c-attribs.c to its own section.
2994
2045acd9
JM
29952016-10-14 Jason Merrill <jason@redhat.com>
2996
2997 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2998 and __cpp_deduction_guides.
2999
14a2c9aa
JM
30002016-10-13 Jason Merrill <jason@redhat.com>
3001
3002 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3003
4d0cdd0c
TP
30042016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3005
3006 * c-cppbuiltin.c: Include memmodel.h.
3007 * c-opts.c: Likewise.
3008 * c-pragma.c: Likewise.
3009 * c-warn.c: Likewise.
3010
70f6d5e1
JJ
30112016-10-12 Jakub Jelinek <jakub@redhat.com>
3012
3013 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3014 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3015 * c-opts.c (sanitize_cpp_opts): Initialize
3016 cpp_opts->cpp_warn_implicit_fallthrough.
3017
78f61294
MP
30182016-10-11 Marek Polacek <polacek@redhat.com>
3019
3020 * c-common.c (warning_candidate_p): Change the return type to bool
3021 and return true/false instead of 1/0.
3022 (vector_mode_valid_p): Likewise.
3023
038b5cc0
MP
30242016-10-11 Marek Polacek <polacek@redhat.com>
3025
3026 * c-common.c (fold_for_warn): No longer static.
3027 (bool_promoted_to_int_p): Likewise.
3028 (c_common_get_narrower): Likewise.
3029 (constant_expression_warning): Move to c-warn.c.
3030 (constant_expression_error): Likewise.
3031 (overflow_warning): Likewise.
3032 (warn_logical_operator): Likewise.
3033 (find_array_ref_with_const_idx_r): Likewise.
3034 (warn_tautological_cmp): Likewise.
3035 (expr_has_boolean_operands_p): Likewise.
3036 (warn_logical_not_parentheses): Likewise.
3037 (warn_if_unused_value): Likewise.
3038 (strict_aliasing_warning): Likewise.
3039 (sizeof_pointer_memaccess_warning): Likewise.
3040 (check_main_parameter_types): Likewise.
3041 (conversion_warning): Likewise.
3042 (warnings_for_convert_and_check): Likewise.
3043 (match_case_to_enum_1): Likewise.
3044 (match_case_to_enum): Likewise.
3045 (c_do_switch_warnings): Likewise.
3046 (warn_for_omitted_condop): Likewise.
3047 (readonly_error): Likewise.
3048 (lvalue_error): Likewise.
3049 (invalid_indirection_error): Likewise.
3050 (warn_array_subscript_with_type_char): Likewise.
3051 (warn_about_parentheses): Likewise.
3052 (warn_for_unused_label): Likewise.
3053 (warn_for_div_by_zero): Likewise.
3054 (warn_for_memset): Likewise.
3055 (warn_for_sign_compare): Likewise.
3056 (do_warn_double_promotion): Likewise.
3057 (do_warn_unused_parameter): Likewise.
3058 (record_locally_defined_typedef): Likewise.
3059 (maybe_record_typedef_use): Likewise.
3060 (maybe_warn_unused_local_typedefs): Likewise.
3061 (maybe_warn_bool_compare): Likewise.
3062 (maybe_warn_shift_overflow): Likewise.
3063 (warn_duplicated_cond_add_or_warn): Likewise.
3064 (diagnose_mismatched_attributes): Likewise.
3065 * c-common.h: Move the declarations from c-warn.c to its own section.
3066 * c-warn.c: New file.
3067
627be19f
JM
30682016-10-08 Jason Merrill <jason@redhat.com>
3069
3070 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3071 into COND_EXPR in C++.
3072
7bad794a
JJ
30732016-10-08 Jakub Jelinek <jakub@redhat.com>
3074
3075 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3076 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3077 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3078
be845b04
JJ
30792016-10-07 Jakub Jelinek <jakub@redhat.com>
3080
3081 Implement LWG2296 helper intrinsic
3082 * c-common.h (enum rid): Add RID_ADDRESSOF.
3083 * c-common.c (c_common_reswords): Add __builtin_addressof.
3084
c09c4992
BE
30852016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3086
3087 PR c++/77700
3088 * c-common.c (c_common_truthvalue_conversion): Warn also for
3089 suspicious enum values in boolean context.
3090
342cfb3e
JJ
30912016-10-06 Jakub Jelinek <jakub@redhat.com>
3092
3093 Implement P0258R2 - helper for C++17
3094 std::has_unique_object_representations trait
3095 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3096 * c-common.c (c_common_reswords): Add
3097 __has_unique_object_representations.
3098
2e69f143
JJ
30992016-10-05 Jakub Jelinek <jakub@redhat.com>
3100
3101 PR sanitizer/66343
3102 * c-ubsan.c (ubsan_instrument_return): Don't call
3103 initialize_sanitizer_builtins here.
3104
700fff34
BE
31052016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3106
3107 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3108 conditional expression in boolean context when only one arm is
3109 non-boolean.
3110
9563bfcd
JJ
31112016-10-05 Jakub Jelinek <jakub@redhat.com>
3112
04a32443
JJ
3113 PR sanitizer/77823
3114 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3115 is not integral.
3116
9563bfcd
JJ
3117 * c-common.c (c_common_reswords): Update comment for C++11.
3118
f1644724
JM
31192016-10-04 Jason Merrill <jason@redhat.com>
3120
3121 * c-common.c (make_tree_vector_from_ctor): New.
3122 * c-common.h: Declare it.
3123
5a79befb
JJ
31242016-10-04 Jakub Jelinek <jakub@redhat.com>
3125
3126 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3127 __LIBGCC_JCR_SECTION_NAME__.
3128
1633d3b9
BE
31292016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3130
3131 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3132 left shift in boolean context.
3133
a2c6e7f2
JJ
31342016-09-29 Jakub Jelinek <jakub@redhat.com>
3135
3136 Implement P0001R1 - C++17 removal of register storage class specifier
3137 * c.opt (Wregister): New warning.
3138 * c-opts.c (c_common_post_options): Enable -Wregister by
3139 default for C++17.
3140
75304c87
JG
31412016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3142
3143 * c-opts.c (c_common_post_options): Remove special case for
3144 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3145 in C++.
3146
bbfac6da
JJ
31472016-09-27 Jakub Jelinek <jakub@redhat.com>
3148
6e39060a
JJ
3149 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3150 -std=c++1z.
3151
bbfac6da
JJ
3152 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3153
e73cf9a2
TP
31542016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3155
3156 * c-common.c: Include memmodel.h.
3157
c6147dc4
MP
31582016-09-26 Marek Polacek <polacek@redhat.com>
3159
3160 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3161
81fea426
MP
31622016-09-26 Marek Polacek <polacek@redhat.com>
3163
3164 PR c/7652
3165 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3166 (handle_fallthrough_attribute): New function.
3167 (attribute_fallthrough_p): New function.
3168 * c-common.h (attribute_fallthrough_p): Declare.
3169
9a2300e9
MP
31702016-09-24 Marek Polacek <polacek@redhat.com>
3171
3172 PR c/77490
3173 * c.opt (Wbool-operation): New.
3174
a09e9e35
BE
31752016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3176
3177 * c-common.c (c_common_truthvalue_conversion): Inhibit
3178 Wint-in-bool-context warning with from_macro_definition_at.
3179 Mention the expression will always evaluate to true.
3180
d43b4ccc
MS
31812016-09-21 Martin Sebor <msebor@redhat.com>
3182
3183 PR bootstrap/77676
3184 * c.opt (fprintf-return-value): Temporarily initialize to zero
3185 to unblock bootstrap failures.
3186
2e1c20b1
JJ
31872016-09-21 Jakub Jelinek <jakub@redhat.com>
3188
3189 PR c++/77651
3190 * c.opt (Waligned-new=): Add RejectNegative.
3191 (faligned-new=): Likewise. Spelling fix - change
3192 aligned_new_threshhold to aligned_new_threshold.
3193 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3194 to aligned_new_threshold.
3195
88d0c3f0
MS
31962016-09-20 Martin Sebor <msebor@redhat.com>
3197
3198 PR middle-end/49905
3199 * c.opt: Add -Wformat-length and -fprintf-return-value.
3200
144a96e4
BE
32012016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3202
3203 PR c++/77434
3204 * c.opt (Wint-in-bool-context): New warning.
3205 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3206 constants in boolean context.
3207
63012d9a
JM
32082016-09-19 Joseph Myers <joseph@codesourcery.com>
3209
3210 * c-common.c (max_align_t_align): Also consider alignment of
3211 float128_type_node.
3212
931388ce
JM
32132016-09-15 Jason Merrill <jason@redhat.com>
3214
3215 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3216 DECL_EXTERNAL.
3217
38711381
JM
32182016-09-14 Jason Merrill <jason@redhat.com>
3219
3220 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3221 limit FIELD_DECL, either.
3222
e51fbec3
MP
32232016-09-14 Marek Polacek <polacek@redhat.com>
3224
3225 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3226 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3227 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3228
254830ba
DM
32292016-09-13 David Malcolm <dmalcolm@redhat.com>
3230
3231 * c-common.c (warn_logical_not_parentheses): Replace
3232 rich_location::add_fixit_insert calls with add_fixit_insert_before
3233 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3234
42763690
JM
32352016-09-13 Jason Merrill <jason@redhat.com>
3236 Tom de Vries <tom@codesourcery.com>
3237
3238 PR c++/77427
3239 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3240
9453eee9
JM
32412016-09-13 Jason Merrill <jason@redhat.com>
3242
3243 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3244 limit types at all.
3245
e96809e3
JM
32462016-09-12 Jason Merrill <jason@redhat.com>
3247
3248 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3249 bit/byte confusion, allow large alignment for types.
3250
54dcdb88
BE
32512016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3252
3253 PR c++/77496
3254 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3255
d1463eb9
DM
32562016-09-12 David Malcolm <dmalcolm@redhat.com>
3257
3258 PR c/72858
3259 * c-format.c (argument_parser::check_argument_type): Add params
3260 "type_start" and "conversion_char". Use the former to generate
3261 offset_to_type_start and pass it and conversion_char to
3262 check_format_types.
3263 (check_format_info_main): Capture the start of the type
3264 information as "type_start", and pass it an format_char
3265 to arg_parser.check_argument_type.
3266 (check_format_types): Provide an example in the leading comment.
3267 Add params "offset_to_type_start" and "conversion_char"; pass
3268 them to format_type_warning calls.
3269 (test_get_modifier_for_format_len): Likewise.
3270 (matching_type_p): New function.
3271 (get_format_for_type): Add param "conversion_char" and move
3272 implementation into...
3273 (get_format_for_type_1): ...new function, called twice.
3274 Use new function matching_type_p rather than checking for
3275 TYPE_CANONICAL equality.
3276 (get_corrected_substring): New function.
3277 (format_type_warning): Provide an example in the leading comment.
3278 Add params "offset_to_type_start" and "conversion_char". Replace
3279 call to get_format_for_type with call to get_corrected_substring
3280 and move rejection of hints for widths/precisions there.
3281 (assert_format_for_type_streq): Add param "conversion_char".
3282 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3283 (test_get_format_for_type_printf): Add conversion chars to the
3284 tests, adding coverage for various combinations of integer
3285 vs double conversions, and for preserving octal and hexadecimal
3286 conversions.
3287 (test_get_format_for_type_scanf): Add conversion chars to the
3288 tests.
3289
5b28efbb
TV
32902016-09-10 Tom de Vries <tom@codesourcery.com>
3291
3292 PR C/71602
3293 * c-common.c (build_va_arg): Handle more strict
3294 targetm.canonical_va_list_type. Replace first argument type error with
3295 assert.
3296
3f0177e7
MS
32972016-09-09 Martin Sebor <msebor@redhat.com>
3298
3299 PR c/77520
3300 PR c/77521
3301 * c-format.c (argument_parser::find_format_char_info): Use %qc
3302 format directive unconditionally.
3303
af63ba4b
JM
33042016-09-09 Jason Merrill <jason@redhat.com>
3305
3306 Implement C++17 new of over-aligned types.
3307 * c.opt: Add -faligned-new and -Waligned-new.
3308 * c-common.c (max_align_t_align): Split out from...
3309 (cxx_fundamental_alignment_p): ...here.
3310 * c-common.h: Declare it.
3311 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3312
c65248cb
JM
33132016-09-09 Joseph Myers <joseph@codesourcery.com>
3314
3315 * c-cppbuiltin.c (builtin_define_type_width): New function.
3316 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3317 macros.
3318
e5106e27
DM
33192016-09-07 David Malcolm <dmalcolm@redhat.com>
3320
3321 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3322 a POINTER_TYPE.
3323 (substring_loc::get_location): Move to substring-locations.c,
3324 keeping implementation as...
3325 (c_get_substring_location): New function, from the above, reworked
3326 to use accessors rather than member lookup.
3327 * c-common.h (class substring_loc): Move to substring-locations.h,
3328 replacing with a forward decl.
3329 (c_get_substring_location): New decl.
3330 * c-format.c: Include "substring-locations.h".
3331 (format_warning_va): Move to substring-locations.c.
3332 (format_warning_at_substring): Likewise.
3333
a42e7952
MS
33342016-09-06 Martin Sebor <msebor@redhat.com>
3335
3336 PR c/77336
3337 * c-format.c (check_function_format): Avoid issuing warnings for
3338 functions unless they call format functions with non-constant
3339 format strings.
3340
b772a565
RB
33412016-09-06 Richard Biener <rguenther@suse.de>
3342
3343 PR c/77450
3344 * c-common.c (c_common_mark_addressable_vec): Handle
3345 COMPOUND_LITERAL_EXPR.
3346
25ff5dd3
MP
33472016-09-05 Marek Polacek <polacek@redhat.com>
3348
3349 PR c/77423
3350 * c-common.c (bool_promoted_to_int_p): New function.
3351 (expr_has_boolean_operands_p): New function.
3352 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3353 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3354
21234eb5
TV
33552016-09-04 Tom de Vries <tom@codesourcery.com>
3356
3357 revert:
3358 2016-08-29 Tom de Vries <tom@codesourcery.com>
3359
3360 * c-common.c (build_va_arg): Replace first argument type error
3361 with assert.
3362
9dc5773f
JJ
33632016-09-02 Jakub Jelinek <jakub@redhat.com>
3364
3365 PR c/65467
3366 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3367 (c_finish_omp_for): Reject _Atomic qualified iterators.
3368
33692016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
3370
3371 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3372 size to guarantee it fits the output of the formatted function
3373 regardless of its arguments.
3374
295844f6
MP
33752016-09-01 Marek Polacek <polacek@redhat.com>
3376
3377 PR c/7652
3378 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3379 FALLTHRU comments.
3380
3d06b6f2
MP
33812016-08-29 Marek Polacek <polacek@redhat.com>
3382
3383 PR c/77292
3384 * c-common.c (warn_logical_not_parentheses): Don't warn for
3385 a comparison or a logical operator.
3386
34cedad5
TV
33872016-08-29 Tom de Vries <tom@codesourcery.com>
3388
3389 * c-common.c (build_va_arg): Fix type comparison assert.
3390
f162d717
TV
33912016-08-29 Tom de Vries <tom@codesourcery.com>
3392
3393 * c-common.c (build_va_arg): Replace first argument type error
3394 with assert.
3395
ba9bbd6f
TV
33962016-08-29 Tom de Vries <tom@codesourcery.com>
3397
3398 PR c/77398
3399 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3400 with error_mark_node as va_list instead of with illegal va_list.
3401
ebef225f
MP
34022016-08-25 Marek Polacek <polacek@redhat.com>
3403 David Malcolm <dmalcolm@redhat.com>
3404
3405 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3406 * c-common.h (warn_logical_not_parentheses): Update declaration.
3407
b00e6e75
MP
34082016-08-22 Marek Polacek <polacek@redhat.com>
3409
3410 PR c++/77321
3411 * c-common.c (warn_for_memset): Check type for null.
3412
6dc198e3
JM
34132016-08-22 Joseph Myers <joseph@codesourcery.com>
3414
14ec014e 3415 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
3416 _FloatNx types for suffixes for built-in functions.
3417
c65699ef
JM
34182016-08-19 Joseph Myers <joseph@codesourcery.com>
3419
3420 PR c/32187
3421 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3422 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3423 (RID_FLOAT128X): New enum rid values.
3424 (CASE_RID_FLOATN_NX): New macro.
3425 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3426 keywords.
3427 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3428 corresponding complex types.
3429 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3430 _FloatNx and corresponding complex types.
3431 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3432 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3433 and _FloatNx types for the widest type for determining
3434 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3435 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3436 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3437 and _FloatNx types.
3438 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3439 constants.
3440 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3441 _FloatNx types.
3442
cc015f3a
DM
34432016-08-18 David Malcolm <dmalcolm@redhat.com>
3444
3445 * c-opts.c (c_diagnostic_finalizer): Update for change to
3446 diagnostic_show_locus.
3447
cb18fd07
DM
34482016-08-18 David Malcolm <dmalcolm@redhat.com>
3449
3450 * c-common.c: Include "spellcheck.h".
3451 (cb_get_suggestion): New function.
3452 * c-common.h (cb_get_suggestion): New decl.
3453 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3454 cb_get_suggestion.
3455
a76989dc
MP
34562016-08-18 Marek Polacek <polacek@redhat.com>
3457
3458 PR c/71514
3459 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3460 and pointer-to-VLA.
3461
65e736c0
DM
34622016-08-16 David Malcolm <dmalcolm@redhat.com>
3463
3464 PR c/72857
3465 * c-common.c (substring_loc::get_range): Rename to...
3466 (substring_loc::get_location): ...this, converting param from a
3467 source_range * to a location_t *. Call
3468 get_source_location_for_substring rather than
3469 get_source_range_for_substring, and pass in m_caret_idx.
3470 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3471 (substring_loc::get_range): Replace with...
3472 (substring_loc::get_location): ...this.
3473 (substring_loc::set_caret_index): New method.
3474 (substring_loc): Add field m_caret_idx.
3475 * c-format.c (format_warning_va): Update for above changes.
3476 Rename local "substring_loc" to "fmt_substring_loc" to avoid
3477 clashing with type name.
3478 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
3479 (check_argument_type): Likewise.
3480 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3481 Use a copy when emitting warnings, setting the caret index from TYPE.
3482
7e1dde14 34832016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3484 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
3485
3486 * c-ada-spec.c (dump_number): New function.
3487 (handle_escape_character): Likewise.
3488 (print_ada_macros): Add handling of constant integers and strings.
3489
191816a3
MP
34902016-08-12 Marek Polacek <polacek@redhat.com>
3491
3492 PR c/7652
3493 * c-common.c (scalar_to_vector): Adjust fall through comment.
3494 * c-opts.c (c_common_handle_option): Likewise.
3495 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3496 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3497 fall through comment.
3498 * cilk.c (extract_free_variables): Add FALLTHRU.
3499
452df4a4
JM
35002016-08-10 Jason Merrill <jason@redhat.com>
3501
3502 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3503
f3365c12
JM
35042016-08-09 Jason Merrill <jason@redhat.com>
3505
3506 * c-common.c (c_common_attribute_table): vector_size affects type
3507 identity.
3508
f0bc3323
MP
35092016-08-09 Marek Polacek <polacek@redhat.com>
3510
3511 PR c/7652
3512 * c-ada-spec.c (dump_generic_ada_node): Add return.
3513
98e5a19a
JM
35142016-08-09 Jason Merrill <jason@redhat.com>
3515
3516 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3517 C++17 constexpr lambdas.
3518
895aa8e1
DM
35192016-08-08 David Malcolm <dmalcolm@redhat.com>
3520
3521 PR c/64955
3522 * c-common.h (selftest::c_format_c_tests): New declaration.
3523 (selftest::run_c_tests): New declaration.
3524 * c-format.c: Include "selftest.h.
3525 (format_warning_va): Add param "corrected_substring" and use
3526 it to add a replacement fix-it hint.
3527 (format_warning_at_substring): Likewise.
3528 (format_warning_at_char): Update for new param of
3529 format_warning_va.
3530 (argument_parser::check_argument_type): Pass "fki" to
3531 check_format_types.
3532 (check_format_types): Add param "fki" and pass it to
3533 format_type_warning.
3534 (deref_n_times): New function.
3535 (get_modifier_for_format_len): New function.
3536 (selftest::test_get_modifier_for_format_len): New function.
3537 (get_format_for_type): New function.
3538 (format_type_warning): Add param "fki" and use it to attempt
3539 to provide hints for argument types when calling
3540 format_warning_at_substring.
3541 (selftest::get_info): New function.
3542 (selftest::assert_format_for_type_streq): New function.
3543 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3544 (selftest::test_get_format_for_type_printf): New function.
3545 (selftest::test_get_format_for_type_scanf): New function.
3546 (selftest::c_format_c_tests): New function.
3547
e52ed3fe
DM
35482016-08-08 David Malcolm <dmalcolm@redhat.com>
3549
3550 PR c/52952
3551 * c-format.c: Include "diagnostic.h".
3552 (location_column_from_byte_offset): Delete.
3553 (location_from_offset): Delete.
3554 (format_warning_va): New function.
3555 (format_warning_at_substring): New function.
3556 (format_warning_at_char): New function.
3557 (check_format_arg): Capture location of format_tree and pass to
3558 check_format_info_main.
3559 (argument_parser): Add fields "start_of_this_format" and
3560 "format_string_cst".
3561 (flag_chars_t::validate): Add param "format_string_cst". Convert
3562 warning_at call using location_from_offset to call to
3563 format_warning_at_char.
3564 (argument_parser::argument_parser): Add param "format_string_cst_"
3565 and use use it to initialize field "format_string_cst".
3566 Initialize new field "start_of_this_format".
3567 (argument_parser::read_format_flags): Convert warning_at call
3568 using location_from_offset to a call to format_warning_at_char.
3569 (argument_parser::read_any_format_left_precision): Likewise.
3570 (argument_parser::read_any_format_precision): Likewise.
3571 (argument_parser::read_any_other_modifier): Likewise.
3572 (argument_parser::find_format_char_info): Likewise, in three places.
3573 (argument_parser::parse_any_scan_set): Likewise, in one place.
3574 (argument_parser::handle_conversions): Likewise, in two places.
3575 (argument_parser::check_argument_type): Add param "fmt_param_loc"
3576 and use it to make a substring_loc. Pass the latter to
3577 check_format_types.
3578 (check_format_info_main): Add params "fmt_param_loc" and
3579 "format_string_cst". Convert warning_at calls using
3580 location_from_offset to calls to format_warning_at_char. Pass the
3581 new params to the arg_parser ctor. Pass "format_string_cst" to
3582 flag_chars.validate. Pass "fmt_param_loc" to
3583 arg_parser.check_argument_type.
3584 (check_format_types): Convert first param from a location_t
3585 to a const substring_loc & and rename to "fmt_loc". Attempt
3586 to extract the range of the relevant parameter and pass it
3587 to format_type_warning.
3588 (format_type_warning): Convert first param from a location_t
3589 to a const substring_loc & and rename to "fmt_loc". Add
3590 params "param_range" and "type". Replace calls to warning_at
3591 with calls to format_warning_at_substring.
3592
1c4d457e
DM
35932016-08-08 David Malcolm <dmalcolm@redhat.com>
3594
3595 * c-format.c (class flag_chars_t): New class.
3596 (struct length_modifier): New struct.
3597 (class argument_parser): New class.
3598 (flag_chars_t::flag_chars_t): New ctor.
3599 (flag_chars_t::has_char_p): New method.
3600 (flag_chars_t::add_char): New method.
3601 (flag_chars_t::validate): New method.
3602 (flag_chars_t::get_alloc_flag): New method.
3603 (flag_chars_t::assignment_suppression_p): New method.
3604 (argument_parser::argument_parser): New ctor.
3605 (argument_parser::read_any_dollar): New method.
3606 (argument_parser::read_format_flags): New method.
3607 (argument_parser::read_any_format_width): New method.
3608 (argument_parser::read_any_format_left_precision): New method.
3609 (argument_parser::read_any_format_precision): New method.
3610 (argument_parser::handle_alloc_chars): New method.
3611 (argument_parser::read_any_length_modifier): New method.
3612 (argument_parser::read_any_other_modifier): New method.
3613 (argument_parser::find_format_char_info): New method.
3614 (argument_parser::validate_flag_pairs): New method.
3615 (argument_parser::give_y2k_warnings): New method.
3616 (argument_parser::parse_any_scan_set): New method.
3617 (argument_parser::handle_conversions): New method.
3618 (argument_parser::check_argument_type): New method.
3619 (check_format_info_main): Introduce classes argument_parser
3620 and flag_chars_t, moving the code within the loop into methods
3621 of these classes. Make various locals "const".
3622
88fa5555
DM
36232016-08-05 David Malcolm <dmalcolm@redhat.com>
3624
3625 * c-common.c: Include "substring-locations.h".
3626 (get_cpp_ttype_from_string_type): New function.
3627 (g_string_concat_db): New global.
3628 (substring_loc::get_range): New method.
3629 * c-common.h (g_string_concat_db): New declaration.
3630 (class substring_loc): New class.
3631 * c-lex.c (lex_string): When concatenating strings, capture the
3632 locations of all tokens using a new obstack, and record the
3633 concatenation locations within g_string_concat_db.
3634 * c-opts.c (c_common_init_options): Construct g_string_concat_db
3635 on the ggc-heap.
3636
78169471
MP
36372016-07-29 Marek Polacek <polacek@redhat.com>
3638
638fc14f
MP
3639 PR c/71926
3640 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
3641 parentheses warning.
3642
78169471
MP
3643 PR c/71574
3644 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
3645
1225d6b1
ML
36462016-07-28 Martin Liska <mliska@suse.cz>
3647
3648 PR gcov-profile/68025
3649 * c-common.c (handle_no_profile_instrument_function_attribute):
3650
ec1e2a40
BE
36512016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
3652
3653 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
3654 BITS_PER_UNIT_LOG.
3655
5ec2cd9f
JM
36562016-07-25 Jason Merrill <jason@redhat.com>
3657
3658 PR c++/65970
3659 * c.opt (fconstexpr-loop-limit): New.
3660
9dc5773f 36612016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
3662
3663 PR c++/71675
3664 * c-common.c (resolve_overloaded_builtin): Avoid converting
3665 __atomic_compare_exchange_n return type to that of what its
3666 first argument points to.
3667
e3fe09c1
UB
36682016-07-22 Uros Bizjak <ubizjak@gmail.com>
3669
3670 * c-common.c: Use HOST_WIDE_INT_M1U instead of
3671 ~(unsigned HOST_WIDE_INT) 0.
3672
bc91c436
ML
36732016-07-22 Martin Liska <mliska@suse.cz>
3674
3675 PR gcov-profile/69028
3676 PR gcov-profile/62047
3677 * cilk.c (create_cilk_helper_decl): Set location of a new decl
3678 to the current_function_decl.
3679
451dcc66
JM
36802016-07-21 Jason Merrill <jason@redhat.com>
3681
3682 PR c++/65168
3683 * c-common.c (c_common_truthvalue_conversion): Check
3684 c_inhibit_evaluation_warnings for warning about address of
3685 reference.
3686
de6a69ee
DM
36872016-07-20 David Malcolm <dmalcolm@redhat.com>
3688
3689 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
3690 const char *.
3691
d022c55a
JM
36922016-07-15 Jason Merrill <jason@redhat.com>
3693
3694 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
3695
ddbbcb19
JJ
36962016-07-15 Jakub Jelinek <jakub@redhat.com>
3697
3698 PR c/71858
3699 * c-common.h (enum lookup_name_fuzzy_kind): Add
3700 FUZZY_LOOKUP_FUNCTION_NAME.
3701
d0cf395a
JM
37022016-07-08 Jason Merrill <jason@redhat.com>
3703
3704 P0145: Refining Expression Order for C++.
3705 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
3706 * c-opts.c: Adjust.
3707
98d44e93
MT
37082016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
3709
3710 PR c++/71214
3711 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
3712
f9d8d994
TS
37132016-06-29 Thomas Schwinge <thomas@codesourcery.com>
3714
3715 * c-pragma.h (enum pragma_kind): Rename
3716 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
3717 users.
3718
4aa83879
RB
37192016-06-29 Richard Biener <rguenther@suse.de>
3720
3721 PR middle-end/71002
3722 * c-common.c (c_common_get_alias_set): Remove union type punning case.
3723
a25bd9e6
JM
37242016-06-24 Jason Merrill <jason@redhat.com>
3725
3726 P0145R2: Refining Expression Order for C++.
3727 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
3728 MODIFY_EXPR.
3729
a86451b9
JJ
37302016-06-24 Jakub Jelinek <jakub@redhat.com>
3731
3732 * c-common.c (check_builtin_function_arguments): Require last
3733 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
3734 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
3735 if the last argument is pointer to enumerated or boolean type.
3736
1a4f11c8
DM
37372016-06-22 David Malcolm <dmalcolm@redhat.com>
3738
3739 PR c/70339
3740 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
3741 (lookup_name_fuzzy): New prototype.
3742
fe55692c
JDA
37432016-06-21 John David Anglin <danglin@gcc.gnu.org>
3744
3745 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
3746
4eb24e01
JM
37472016-06-14 Jason Merrill <jason@redhat.com>
3748
3749 P0145R2: Refining Expression Order for C++.
3750 * c.opt (fargs-in-order): New.
3751 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
3752
ef7cf206
JJ
37532016-06-13 Jakub Jelinek <jakub@redhat.com>
3754
0dda258b
JJ
3755 PR sanitizer/71498
3756 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
3757 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
3758
ef7cf206
JJ
3759 PR preprocessor/71183
3760 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
3761 to cb_get_source_date_epoch.
3762
50b15873
JJ
37632016-06-10 Jakub Jelinek <jakub@redhat.com>
3764
3765 PR c/68657
3766 * c.opt (Wpsabi): Add Warning flag.
3767
4d926e34
MS
37682016-06-10 Martin Sebor <msebor@redhat.com>
3769
3770 PR c/71392
14ec014e 3771 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
3772 the nonnull attribute in type-generic builtins.
3773
e01b4e16
MS
37742016-06-09 Martin Sebor <msebor@redhat.com>
3775
3776 PR c/70883
3777 * c-common.c (builtin_function_validate_nargs): Make text of error
3778 message consistent with others like it.
3779
44a845ca
MS
37802016-06-08 Martin Sebor <msebor@redhat.com>
3781 Jakub Jelinek <jakub@redhat.com>
3782
3783 PR c++/70507
3784 PR c/68120
3785 * c-common.c (check_builtin_function_arguments): Handle
3786 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3787
a80a7051
RB
37882016-06-08 Richard Biener <rguenther@suse.de>
3789
3790 * c-common.c (parse_optimize_options): Improve diagnostic messages.
3791
bfd67b47
RB
37922016-06-07 Richard Biener <rguenther@suse.de>
3793
3794 PR c/61564
3795 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3796 options and warn about others.
3797
15c98b2e
ES
37982016-06-01 Eduard Sanou <dhole@openmailbox.org>
3799
3800 * c-common.c (get_source_date_epoch): Rename to
3801 cb_get_source_date_epoch.
3802 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3803 message when the parsing fails. Use error_at instead of fatal_error.
3804 * c-common.h (get_source_date_epoch): Rename to
3805 cb_get_source_date_epoch.
3806 * c-common.h (cb_get_source_date_epoch): Prototype.
3807 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3808 * c-common.h (c_omp_region_type): Remove trailing comma.
3809 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3810 * c-lex.c (c_lex_with_flags): Remove initialization of
3811 pfile->source_date_epoch.
3812
00631022
JJ
38132016-05-30 Jakub Jelinek <jakub@redhat.com>
3814
3815 PR c++/71349
3816 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3817 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
3818 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3819 instead of C_OMP_CLAUSE_SPLIT_FOR.
3820
f17a223d
RB
38212016-05-24 Richard Biener <rguenther@suse.de>
3822
3823 PR middle-end/70434
3824 PR c/69504
3825 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3826 (convert_vector_to_array_for_subscript): ... this.
3827 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3828 VIEW_CONVERT_EXPR to an array type. Rename to ...
3829 (convert_vector_to_array_for_subscript): ... this.
3830
4f2e1536
MP
38312016-05-12 Marek Polacek <polacek@redhat.com>
3832
3833 PR c/70756
3834 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3835 size_in_bytes and pass LOC to it.
3836
d6e83a8d
MM
38372016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3838
3839 PR c/43651
3840 * c.opt (Wduplicate-decl-specifier): New option.
3841
5c3a10fb
MP
38422016-05-11 Marek Polacek <polacek@redhat.com>
3843
3844 PR c++/71024
3845 * c-common.c (diagnose_mismatched_attributes): New function.
3846 * c-common.h (diagnose_mismatched_attributes): Declare.
3847
deef7113
MP
38482016-05-04 Marek Polacek <polacek@redhat.com>
3849
3850 * c.opt (Wdangling-else): New option.
3851
79ce98bc
MP
38522016-05-03 Marek Polacek <polacek@redhat.com>
3853
3854 PR c/70859
3855 * c-common.c (builtin_function_validate_nargs): Add location
3856 parameter. Use it.
3857 (check_builtin_function_arguments): Add location and arguments
3858 parameters. Use them.
3859 * c-common.h (check_builtin_function_arguments): Update declaration.
3860
381cdae4
RB
38612016-05-03 Richard Biener <rguenther@suse.de>
3862
3863 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3864 allow call args to gimplify to SSA names.
3865
1d793c34
MP
38662016-05-03 Marek Polacek <polacek@redhat.com>
3867
3868 * c-common.h (enum c_omp_region_type): Remove stray comma.
3869
77886428
CP
38702016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3871
3872 * c-common.h (enum c_omp_region_type): Define.
3873
697e0b28
RS
38742016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3875
3876 * c-common.c (shorten_compare): Use wi::to_wide.
3877
e7ff0319
CP
38782016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3879
3880 PR middle-end/70626
3881 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3882 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3883 reduction clauses in acc parallel loops.
3884
2fff3db8
MP
38852016-04-29 Marek Polacek <polacek@redhat.com>
3886
3887 PR c/70852
3888 * c-common.c (warn_for_memset): Check domain before accessing it.
3889
509063eb
DV
38902016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3891
3892 PR/69089
3893 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3894 "aligned" attribute.
3895
b632761d
JM
38962016-04-28 Jason Merrill <jason@redhat.com>
3897
3898 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3899
174f6622
ES
39002016-04-28 Eduard Sanou <dhole@openmailbox.org>
3901 Matthias Klose <doko@debian.org>
3902
3903 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3904 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3905 handling.
3906 * c-common.h (get_source_date_epoch): Prototype.
3907 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3908
6bc2bb18
RB
39092015-04-27 Ryan Burn <contact@rnburn.com>
3910
3911 PR c++/69024
3912 PR c++/68997
3913 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3914 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3915 external linkage.
3916 (cilk_detect_and_unwrap): Corresponding changes.
3917 (extract_free_variables): Don't extract free variables from
3918 AGGR_INIT_EXPR slot.
3919 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3920 (cilk_recognize_spawn): Likewise.
3921
c1e1f433
BS
39222016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3923
3924 * c.opt (Wmemset-elt-size): New option.
3925 * c-common.c (warn_for_memset): New function.
3926 * c-common.h (warn_for_memset): Declare.
3927
d067e05f
JM
39282016-04-25 Jason Merrill <jason@redhat.com>
3929
3930 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3931 No longer static.
3932 * c-common.h: Declare it.
3933 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3934
9aa36ae5
JM
39352016-04-22 Jason Merrill <jason@redhat.com>
3936
3937 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3938
477d4906
IV
39392016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3940
3941 PR c++/69363
3942 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3943 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3944
fe37c7af
MM
39452016-04-18 Michael Matz <matz@suse.de>
3946
3947 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3948 and SET_DECL_ALIGN.
3949
23f2660f
EB
39502016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3951
3952 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3953 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3954 to incomplete types.
3955 (dump_nested_type): Remove redundant tests and tidy up.
3956 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3957 a type which is the typedef of an original type.
3958
1e77281b
MP
39592016-04-15 Marek Polacek <polacek@redhat.com>
3960
3961 PR c/70651
3962 * c-common.c (build_va_arg): Change two asserts into errors and return
3963 error_mark_node.
3964
b3a77f21
MP
39652016-04-13 Marek Polacek <polacek@redhat.com>
3966
3967 PR c++/70639
3968 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3969 for switch statements, too.
3970
322b8466
JM
39712016-03-28 Jason Merrill <jason@redhat.com>
3972
3973 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3974
fbdb6baf
MP
39752016-03-23 Marek Polacek <polacek@redhat.com>
3976
3977 PR c++/69884
3978 * c.opt (Wignored-attributes): New option.
3979
5c240f4d
DM
39802016-03-22 David Malcolm <dmalcolm@redhat.com>
3981
3982 PR c/69993
3983 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3984 diagnostic text, reversing the order of the warning and note so
3985 that they appear in source order.
3986
14ba7b28
MP
39872016-03-17 Marek Polacek <polacek@redhat.com>
3988
3989 PR c/69407
3990 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3991 operations.
3992
08a1cadc
JM
39932016-03-14 Jason Merrill <jason@redhat.com>
3994
2aaeea19
JM
3995 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3996
08a1cadc
JM
3997 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3998
c06d25bb
RB
39992016-03-09 Richard Biener <rguenther@suse.de>
4000
4001 PR c/70143
4002 * c-common.c (strict_aliasing_warning): Add back
4003 alias_sets_conflict_p check.
4004
80aac5c8
JM
40052016-03-08 Jason Merrill <jason@redhat.com>
4006
4007 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4008
64b23c13
DM
40092016-03-04 David Malcolm <dmalcolm@redhat.com>
4010
4011 PR c/68187
4012 * c-indentation.c (get_visual_column): Move code to determine next
4013 tab stop to...
4014 (next_tab_stop): ...this new function.
4015 (line_contains_hash_if): Delete function.
4016 (detect_preprocessor_logic): Delete function.
4017 (get_first_nws_vis_column): New function.
4018 (detect_intervening_unindent): New function.
4019 (should_warn_for_misleading_indentation): Replace call to
4020 detect_preprocessor_logic with a call to
4021 detect_intervening_unindent.
4022
729526f5
DM
40232016-03-04 David Malcolm <dmalcolm@redhat.com>
4024
4025 PR c/68187
4026 * c-indentation.c (should_warn_for_misleading_indentation): When
4027 suppressing warnings about cases where the guard and body are on
4028 the same column, only use the first non-whitespace column in place
4029 of the guard token column when dealing with "else" clauses.
4030 When rejecting aligned BODY and NEXT, loosen the requirement
4031 from equality with the first non-whitespace of guard to simply
4032 that they not be indented relative to it.
4033
e9a35493
RB
40342016-03-04 Richard Biener <rguenther@suse.de>
4035
4036 PR c++/70054
4037 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4038 instead of alias_sets_conflict_p.
4039
1be56bc5
MP
40402016-03-01 Marek Polacek <polacek@redhat.com>
4041
4042 PR c++/69795
4043 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4044 any DECL.
4045
35886f0b
MS
40462016-02-22 Martin Sebor <msebor@redhat.com>
4047
4048 PR middle-end/69780
4049 * c-common.c (check_builtin_function_arguments): Validate and
4050 reject invalid arguments to __builtin_alloca_with_align.
4051
4246c8da
MW
40522016-02-20 Mark Wielaard <mjw@redhat.com>
4053
4054 PR c/28901
4055 * c.opt (Wunused-const-variable): Turn into Alias for...
4056 (Wunused-const-variable=): New option.
4057
268be88c
BE
40582016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4059
4060 PR c++/69865
4061 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4062 here...
4063 (c_common_init_options): ...to here.
4064 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4065
871b3f47
JJ
40662016-02-19 Jakub Jelinek <jakub@redhat.com>
4067
4068 PR c++/69826
4069 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4070 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4071 flag_preprocess_only.
4072
bf14eba2
JJ
40732016-02-16 Jakub Jelinek <jakub@redhat.com>
4074
4075 PR c/69835
4076 * c.opt (Wnonnull-compare): Enable for -Wall.
4077
ba6b3795
JJ
40782016-02-15 Jakub Jelinek <jakub@redhat.com>
4079
4080 PR c++/69797
4081 * c-common.c (sync_resolve_size): Diagnose too few arguments
4082 even when params is non-NULL empty vector.
4083
a011cd92
BS
40842016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4085
4086 PR target/60410
4087 * c.opt (fshort-double): Remove.
4088
46cb9332
MS
40892016-02-05 Martin Sebor <msebor@redhat.com>
4090
4091 PR c++/69662
4092 * c.opt (Warning options): Update -Wplacement-new to take
4093 an optional argument.
4094
e1b81f2b
JJ
40952016-02-01 Jakub Jelinek <jakub@redhat.com>
4096
4097 PR preprocessor/69543
4098 PR c/69558
4099 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4100 instead of loc to control_warning_option.
4101
b6adbb9f
NS
41022016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4103
4104 * c.opt (fopenacc-dim=): New option.
4105
5d70666e
RB
41062016-01-27 Ryan Burn <contact@rnburn.com>
4107
4108 PR cilkplus/69267
4109 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4110 gimplify_arg. Removed superfluous post_p argument.
4111 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4112 superfluous post_p argument.
4113 * c-gimplify.c (c_gimplify_expr): Likewise.
4114
01e1dea3
DM
41152016-01-26 David Malcolm <dmalcolm@redhat.com>
4116
4117 PR other/69006
4118 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4119 pp_newline_and_flush with pp_flush.
4120
9f04a53e
MS
41212016-01-20 Martin Sebor <msebor@redhat.com>
4122
4123 PR c/69405
4124 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4125 an incompatible argument when the argument isn't a valid tree node.
4126
7f26f7df
JM
41272016-01-18 Jason Merrill <jason@redhat.com>
4128
4129 PR c++/68767
4130 * c-common.c (check_function_arguments_recurse): Fold the whole
4131 COND_EXPR, not just the condition.
4132
f62bf092
TV
41332016-01-18 Tom de Vries <tom@codesourcery.com>
4134
4135 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4136 classify as loop clause.
4137
e0a575ff
JJ
41382016-01-15 Jakub Jelinek <jakub@redhat.com>
4139
4140 PR bootstrap/68271
4141 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4142 C++ FE no longer has limit on number of pragmas.
4143
41442015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4145
4146 PR c++/69048
4147 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4148 to add missing cleanup point.
b6e3db06 4149
c7df95d8
DM
41502016-01-14 David Malcolm <dmalcolm@redhat.com>
4151
4152 PR c++/68819
4153 * c-indentation.c (get_visual_column): Add location_t param.
4154 Handle the column number being zero by effectively disabling the
4155 warning, with an "inform".
4156 (should_warn_for_misleading_indentation): Add location_t argument
4157 for all uses of get_visual_column.
4158
21efdd80
PP
41592016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4160
4161 PR c++/69029
4162 * c-indentation.c (should_warn_for_misleading_indentation):
4163 Don't warn about do-while statements.
4164
7a127fa7
MS
41652016-01-07 Martin Sebor <msebor@redhat.com>
4166
4167 PR c/68966
4168 * c-common.c (sync_resolve_size): Reject first argument when it's
4169 a pointer to _Bool.
4170
c589e975
DM
41712016-01-05 David Malcolm <dmalcolm@redhat.com>
4172
4173 PR c/69122
4174 * c-indentation.c (get_visual_column): Remove default argument.
4175 (should_warn_for_misleading_indentation): For the multiline case,
4176 update call to get_visual_column for next_stmt_exploc so that it
4177 captures the location of the first non-whitespace character in the
4178 relevant line. Don't issue warnings if there is non-whitespace
4179 before the next statement.
4180
818ab71a
JJ
41812016-01-04 Jakub Jelinek <jakub@redhat.com>
4182
4183 Update copyright years.
4184
745e411d
DM
41852015-12-21 David Malcolm <dmalcolm@redhat.com>
4186
4187 * c-common.c (binary_op_error): Convert first param from
4188 location_t to rich_location * and use it when emitting an error.
4189 * c-common.h (binary_op_error): Convert first param from
4190 location_t to rich_location *.
4191
de67c4c3
DM
41922015-12-16 David Malcolm <dmalcolm@redhat.com>
4193
4194 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4195 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4196
4a38b02b
IV
41972015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4198
4199 * c-common.c (c_common_attribute_table): Handle "omp declare target
4200 link" attribute.
4201
54d62f51
JJ
42022015-12-14 Jakub Jelinek <jakub@redhat.com>
4203
4204 PR c/68833
4205 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4206
8d4227c8
TB
42072014-12-12 Tobias Burnus <burnus@net-b.de>
4208
4209 PR fortran/68815
4210 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4211 specifiers (%d, %i,%u and %c).
4212
f6069ccc
DM
42132015-12-10 David Malcolm <dmalcolm@redhat.com>
4214
4215 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4216
63bbf46d
JJ
42172015-12-08 Jakub Jelinek <jakub@redhat.com>
4218
4219 PR c/48088
4220 PR c/68657
4221 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4222 * c-pragma.c (handle_pragma_diagnostic): Adjust
4223 control_warning_option caller.
4224
f79520bb
DM
42252015-12-07 David Malcolm <dmalcolm@redhat.com>
4226
4227 * c-common.c (c_cpp_error): Update for change to
4228 rich_location::set_range.
4229
b3d5bc62
JJ
42302015-12-04 Paolo Bonzini <bonzini@gnu.org>
4231
4232 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4233 shifting 1 out of the sign bit.
4234
42352015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4236
4237 * c-common.c (c_common_attribute_table[]): Update max arguments
4238 count for "simd" attribute.
4239 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4240
6eb4a537
JJ
42412015-12-03 Jakub Jelinek <jakub@redhat.com>
4242
4243 PR preprocessor/57580
4244 * c-ppoutput.c (print): Change printed field to bool.
4245 Move src_file last for smaller padding.
4246 (init_pp_output): Set print.printed to false instead of 0.
4247 (scan_translation_unit): Fix up formatting. Set print.printed
4248 to true after printing something other than newline.
4249 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4250 (maybe_print_line_1): Set print.printed to false instead of 0.
4251 (print_line_1): Likewise.
4252 (do_line_change): Set print.printed to true instead of 1.
4253 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4254 dump_macro): Set print.printed to false after printing newline.
4255
4250754e
JM
42562015-12-02 Jason Merrill <jason@redhat.com>
4257
f479b43d
JM
4258 * c-common.c (fold_for_warn): New.
4259 (warn_logical_operator, warn_tautological_cmp)
4260 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4261
4250754e
JM
4262 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4263 (c_fully_fold_internal, decl_constant_value_for_optimization):
4264 Move to c/c-fold.c.
4265 * c-common.h: Don't declare decl_constant_value_for_optimization.
4266
e9e32ee6
JM
42672015-12-02 Joseph Myers <joseph@codesourcery.com>
4268
4269 PR c/68162
4270 * c-common.h (c_build_qualified_type): Add extra default
4271 arguments.
4272
37d5ad46
JB
42732015-12-01 Julian Brown <julian@codesourcery.com>
4274 Cesar Philippidis <cesar@codesourcery.com>
4275 James Norris <James_Norris@mentor.com>
4276
4277 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4278 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4279 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4280
f07862c7
EB
42812015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4282
4283 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4284 (decl_sloc_common): Delete and move bulk of processing to...
4285 (decl_sloc): ...here.
4286 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4287 (dump_ada_double_name): Remove S parameter and compute the suffix.
4288 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4289 element type and deal with an anonymous one.
4290 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4291 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4292 and remove reference to QUAL_UNION_TYPE.
4293 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4294 (dump_nested_type): ...here. New function extracted from above.
4295 Generate a full declaration for anonymous element type of arrays.
4296 (print_ada_declaration): Really skip anonymous declarations. Remove
4297 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4298 Clean up processing of declarations of array types and objects.
4299 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4300 Remove obsolete code and tidy up.
4301
75c8aac3
JH
43022015-11-29 Jan Hubicka <hubicka@ucw.cz>
4303
4304 PR c/67581
4305 * c-common.c (handle_transparent_union_attribute): Update
4306 also type variants.
4307
b58d3df2
ML
43082015-11-27 Martin Liska <mliska@suse.cz>
4309
4310 PR c++/68312
4311 * array-notation-common.c (cilkplus_extract_an_triplets):
4312 Release vector of vectors.
4313 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4314
89a01fcf
EB
43152015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4316
4317 PR c++/68527
4318 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4319 (print_ada_struct_decl): Likewise.
4320
cc5c5226
IZ
43212015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4322
4323 PR c++/68001
4324 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4325 * cilk.c (recognize_spawn): Determine location in a more precise
4326 way.
4327
269adb9d
JM
43282015-11-19 Jason Merrill <jason@redhat.com>
4329
4330 * c-common.c (shorten_compare): But look through macros from
4331 system headers.
4332
d0eccfcd
JM
43332015-11-18 Jason Merrill <jason@redhat.com>
4334
4335 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4336 non-constant operand comes from a macro.
4337
3e44547c
JM
43382015-11-17 Jason Merrill <jason@redhat.com>
4339
4340 PR bootstrap/68346
4341 * c-common.c (warn_tautological_cmp): Fold before checking for
4342 constants.
4343
0f62c7a0
MP
43442015-11-16 Marek Polacek <polacek@redhat.com>
4345
4346 PR c++/68362
4347 * c-common.c (check_case_bounds): Fold low and high cases.
4348
a868811e
MP
43492015-11-16 Marek Polacek <polacek@redhat.com>
4350
4351 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4352 * c-common.c (c_common_get_alias_set): Likewise.
4353 (handle_visibility_attribute): Likewise.
4354
fff77217
KY
43552015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4356
4357 * c-common.c (handle_simd_attribute): New.
4358 (struct attribute_spec): Add entry for "simd".
4359 (handle_simd_attribute): New.
4360
269e63b7
KT
43612015-11-13 Kai Tietz <ktietz70@googlemail.com>
4362
4363 * c-lex.c (interpret_float): Use fold_convert.
4364
ebedc9a3
DM
43652015-11-13 David Malcolm <dmalcolm@redhat.com>
4366
4367 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4368 and store it on the result.
4369 * c-opts.c (c_common_init_options): Set
4370 global_dc->colorize_source_p.
4371
6e232ba4
JN
43722015-11-12 James Norris <jnorris@codesourcery.com>
4373 Joseph Myers <joseph@codesourcery.com>
4374
7365279f 4375 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
4376 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4377 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4378 PRAGMA_OACC_CLAUSE_LINK.
4379
e78bede6
MP
43802015-11-11 Marek Polacek <polacek@redhat.com>
4381
4382 PR c/68107
4383 PR c++/68266
4384 * c-common.c (valid_array_size_p): New function.
4385 * c-common.h (valid_array_size_p): Declare.
4386
3f8257db 43872015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
4388
4389 PR bootstrap/68271
4390 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4391
69f293c9
AM
43922015-11-11 Andrew MacLeod <amacleod@redhat.com>
4393
4394 * array-notation-common.c: Remove unused header files.
4395 * c-ada-spec.c: Likewise.
4396 * c-cilkplus.c: Likewise.
4397 * c-common.c: Likewise.
4398 * c-cppbuiltin.c: Likewise.
4399 * c-dump.c: Likewise.
4400 * c-format.c: Likewise.
4401 * c-gimplify.c: Likewise.
4402 * c-indentation.c: Likewise.
4403 * c-lex.c: Likewise.
4404 * c-omp.c: Likewise.
4405 * c-opts.c: Likewise.
4406 * c-pch.c: Likewise.
4407 * c-ppoutput.c: Likewise.
4408 * c-pragma.c: Likewise.
4409 * c-pretty-print.c: Likewise.
4410 * c-semantics.c: Likewise.
4411 * c-ubsan.c: Likewise.
4412 * cilk.c: Likewise.
4413 * stub-objc.c: Likewise.
4414
3a40d81d
NS
44152015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4416 Cesar Philippidis <cesar@codesourcery.com>
4417 James Norris <jnorris@codesourcery.com>
4418 Julian Brown <julian@codesourcery.com>
4419 Nathan Sidwell <nathan@codesourcery.com>
4420
4421 * c-pragma.c (oacc_pragmas): Add "routine".
4422 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4423
ee45a32d
EB
44242015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4425
4426 * c-common.c (c_common_attributes): Add scalar_storage_order.
4427 (handle_scalar_storage_order_attribute): New function.
4428 * c-pragma.c (global_sso): New variable.
4429 (maybe_apply_pragma_scalar_storage_order): New function.
4430 (handle_pragma_scalar_storage_order): Likewise.
4431 (init_pragma): Register scalar_storage_order.
4432 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4433 * c.opt (Wscalar-storage-order): New warning.
4434 (fsso-struct=): New option.
4435
eb11eb15
MS
44362015-11-08 Martin Sebor <msebor@redhat.com>
4437
4438 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4439
0aad0198
RS
44402015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4441
4442 * c-common.c: Don't undef DEF_BUILTIN.
4443
8a645150
DM
44442015-11-06 David Malcolm <dmalcolm@redhat.com>
4445
4446 * c-common.c (c_cpp_error): Convert parameter from location_t to
4447 rich_location *. Eliminate the "column_override" parameter and
4448 the call to diagnostic_override_column.
4449 Update the "done_lexing" clause to set range 0
4450 on the rich_location, rather than overwriting a location_t.
4451 * c-common.h (c_cpp_error): Convert parameter from location_t to
4452 rich_location *. Eliminate the "column_override" parameter.
4453
7a5e4956
CP
44542015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4455 Thomas Schwinge <thomas@codesourcery.com>
4456 James Norris <jnorris@codesourcery.com>
4457
4458 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4459 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
4460 clauses with parallel and kernels and loops.
4461 * c-pragma.h (enum pragma_omp_clause): Add entries for
4462 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4463 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4464 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4465 INDEPENDENT,SEQ}.
4466 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4467
e2f5cc96
MS
44682015-11-05 Martin Sebor <msebor@redhat.com>
4469
4470 PR c++/67942
4471 * c.opt (-Wplacement-new): New option.
4472
e01d41e5
JJ
44732015-11-05 Jakub Jelinek <jakub@redhat.com>
4474
4475 * c-common.h (c_finish_omp_atomic): Add TEST argument.
4476 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4477 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
4478 save_expr or create_tmp_var* if TEST is true.
4479 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4480 Don't call add_stmt here.
4481 (struct c_omp_check_loop_iv_data): New type.
4482 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4483 c_omp_check_loop_iv_exprs): New functions.
4484 (c_omp_split_clauses): Adjust for lastprivate being allowed on
4485 distribute.
4486 (c_omp_declare_simd_clauses_to_numbers): Change
4487 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4488 (c_omp_declare_simd_clauses_to_decls): Similarly change those
4489 from numbers to PARM_DECLs.
4490
595278be
MM
44912015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
4492
4493 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4494 flag_checking.
4495
3f8257db 44962015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
4497
4498 PR c++-common/67882
b3d5bc62
JJ
4499 * c-common.h (fold_offsetof_1): Add argument.
4500 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
4501 offsetof expressions that reference elements past the end of
4502 an array.
4503
4bf9e5a8
TS
45042015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4505 Chung-Lin Tang <cltang@codesourcery.com>
4506
4507 * c-pragma.c (oacc_pragmas): Add "atomic".
4508 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4509
3b1661a9
ES
45102015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
4511
4512 * c-common.c (handle_target_clones_attribute): New.
4513 (c_common_attribute_table): Add handle_target_clones_attribute.
4514 (handle_always_inline_attribute): Add check on target_clones attribute.
4515 (handle_target_attribute): Ditto.
4516
2adfab87
AM
45172015-10-29 Andrew MacLeod <amacleod@redhat.com>
4518
4519 * array-notation-common.c: Reorder #include's and remove duplicates.
4520 * c-ada-spec.c: Likewise.
4521 * c-cilkplus.c: Likewise.
4522 * c-common.c: Likewise.
4523 * c-cppbuiltin.c: Likewise.
4524 * c-dump.c: Likewise.
4525 * c-format.c: Likewise.
4526 * c-gimplify.c: Likewise.
4527 * c-indentation.c: Likewise.
4528 * c-lex.c: Likewise.
4529 * c-omp.c: Likewise.
4530 * c-opts.c: Likewise.
4531 * c-pch.c: Likewise.
4532 * c-ppoutput.c: Likewise.
4533 * c-pragma.c: Likewise.
4534 * c-pretty-print.c: Likewise.
4535 * c-semantics.c: Likewise.
4536 * c-ubsan.c: Likewise.
4537 * cilk.c: Likewise.
4538 * stub-objc.c: Likewise.
4539
d90ec4f2
JM
45402015-10-28 Jason Merrill <jason@redhat.com>
4541
4542 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4543
88bae6f4
TS
45442015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4545 James Norris <jnorris@codesourcery.com>
4546 Cesar Philippidis <cesar@codesourcery.com>
4547
4548 PR c/64765
4549 PR c/64880
4550 * c-common.h (c_oacc_split_loop_clauses): Declare function.
4551 * c-omp.c (c_oacc_split_loop_clauses): New function.
4552
b1726d6c
MS
45532015-10-21 Martin Sebor <msebor@redhat.com>
4554
4555 PR driver/68043
4556 * c.opt: End each sentence that describes an option with a period.
4557
fa60eeb9
MP
45582015-10-20 Marek Polacek <polacek@redhat.com>
4559
4560 * array-notation-common.c (is_cilkplus_vector_p): Define.
4561 * c-common.h (is_cilkplus_vector_p): Declare.
4562
95979049
MP
45632015-10-20 Marek Polacek <polacek@redhat.com>
4564
4565 * c.opt (std=gnu++11): Do not describe as experimental.
4566 (std=gnu++14): Likewise.
4567
2a9fb712
JM
45682015-10-19 Jason Merrill <jason@redhat.com>
4569
4570 * c-cppbuiltin.c (c_cpp_builtins): Define
4571 __cpp_nontype_template_args.
4572
13b380a3
JM
45732015-10-19 Jason Merrill <jason@redhat.com>
4574
4575 * c-cppbuiltin.c (c_cpp_builtins): Define
4576 __cpp_enumerator_attributes, __cpp_fold_expressions,
4577 __cpp_unicode_characters.
4578
d9a6bd32
JJ
45792015-10-13 Jakub Jelinek <jakub@redhat.com>
4580 Aldy Hernandez <aldyh@redhat.com>
4581
4582 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4583 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4584 (c_define_builtins): Likewise.
4585 * c-common.h (enum c_omp_clause_split): Add
4586 C_OMP_CLAUSE_SPLIT_TASKLOOP.
4587 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4588 (c_finish_omp_for): Add ORIG_DECLV argument.
4589 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4590 201511 instead of 201307.
4591 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4592 OMP_CRITICAL_CLAUSES to it.
4593 (c_finish_omp_ordered): Add CLAUSES argument, set
4594 OMP_ORDERED_CLAUSES to it.
4595 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4596 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
4597 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4598 constructs and new OpenMP 4.5 clauses. Clear
4599 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
4600 verification code.
4601 * c-pragma.c (omp_pragmas_simd): Add taskloop.
4602 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4603 (enum pragma_omp_clause): Add
4604 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4605 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
4606
624d31fe
RS
46072015-10-05 Richard Sandiford <richard.sandiford@arm.com>
4608
4609 * c-lex.c (interpret_float): Use real_equal instead of
4610 REAL_VALUES_EQUAL.
4611
b8fd7909
JM
46122015-10-04 Jason Merrill <jason@redhat.com>
4613
4614 Implement N4514, C++ Extensions for Transactional Memory.
4615 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
4616 (c_common_attribute_table): Add transaction_safe_dynamic.
4617 transaction_safe now affects type identity.
4618 (handle_tm_attribute): Handle transaction_safe_dynamic.
4619 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
4620 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
4621 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
4622 (D_TRANSMEM): New.
4623 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
4624 * c-pretty-print.c (pp_c_attributes_display): Don't print
4625 transaction_safe in C++.
4626
12651878
MP
46272015-10-02 Marek Polacek <polacek@redhat.com>
4628
4629 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
4630
3e3b8d63
MP
46312015-10-02 Marek Polacek <polacek@redhat.com>
4632
4633 PR c/64249
4634 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
4635 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
4636 * c.opt (Wduplicated-cond): New option.
4637
0d1a8f75
JM
46382015-10-01 Joseph Myers <joseph@codesourcery.com>
4639
4640 * c.opt (std=c11): Do not describe as experimental.
4641 (std=gnu11): Likewise.
4642 (std=iso9899:2011): Likewise.
4643
3e32ee19
NS
46442015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4645
4646 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
4647 (DEF_FUNCTION_TYPE_VAR_11): Delete.
4648
974348ee
MP
46492015-09-25 Marek Polacek <polacek@redhat.com>
4650
4651 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
4652 (ubsan_instrument_shift): Likewise.
4653
15dbc1a6
MP
46542015-09-25 Marek Polacek <polacek@redhat.com>
4655
4656 PR sanitizer/64906
4657 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
4658
6b95d7cc
PP
46592015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
4660
4661 * c-indentation.c (should_warn_for_misleading_indentation):
4662 Compare next_stmt_vis_column with guard_line_first_nws instead
4663 of with guard_line_vis_column.
4664
c1822f9c
MLI
46652015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4666
4667 PR c/49654
4668 PR c/49655
4669 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
4670 options and options not valid for the current language.
4671
d5398058
PP
46722015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
4673
4674 * c-indentation.c (should_warn_for_misleading_indentation):
4675 Float out and consolidate the calls to get_visual_column that
4676 are passed guard_exploc as an argument. Compare
4677 next_stmt_vis_column with guard_line_first_nws instead of with
4678 body_line_first_nws.
4679
6b333269
NS
46802015-09-22 Nathan Sidwell <nathan@codesourcery.com>
4681
4682 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
4683 Wnamespaces): New C++ warnings.
4684
a75f1574
JM
46852015-09-22 Jason Merrill <jason@redhat.com>
4686
4687 * c-common.h (abi_compat_version_crosses): New.
4688 (warn_abi_version): Declare.
4689 * c-common.c: Define it.
4690 * c-opts.c (c_common_post_options): Handle it.
4691 flag_abi_compat_version defaults to 8.
4692
bdaaa8b7
VV
46932015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
4694
4695 Complete the implementation of N4230, Nested namespace definition.
4696 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
4697 __cpp_nested_namespace_definitions.
4698
eaa797e8
MLI
46992015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4700
4701 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
4702
c4914de6
MLI
47032015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4704
4705 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
4706 when warning.
4707 * c-pragma.h (pragma_lex): Add optional loc argument.
4708
fcb87c50
MM
47092015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
4710
4711 * c-format.c (check_format_arg): Adjust to use common block size in all
4712 object pools.
4713
31bdd08a
DM
47142015-09-15 David Malcolm <dmalcolm@redhat.com>
4715
4716 * c-format.c (location_from_offset): Update for change in
4717 signature of location_get_source_line.
4718 * c-indentation.c (get_visual_column): Likewise.
4719 (line_contains_hash_if): Likewise.
4720
aa9f4b4c
MP
47212015-09-14 Marek Polacek <polacek@redhat.com>
4722
4723 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
4724 setting various warnings.
4725
aa256c4a
MP
47262015-09-14 Marek Polacek <polacek@redhat.com>
4727
4728 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
4729 a negative value.
4730
0f876f22
MW
47312015-09-11 Mark Wielaard <mjw@redhat.com>
4732
4733 PR c/28901
4734 * c.opt (Wunused-variable): Option from common.opt.
4735 (Wunused-const-variable): New option.
4736
273aa49e
PC
47372015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4738
4739 PR c++/53184
4740 * c.opt ([Wsubobject-linkage]): Add.
4741
1807ffc1
MS
47422015-09-03 Martin Sebor <msebor@redhat.com>
4743
4744 PR c/66516
4745 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
4746 functions.
4747 * c-common.c (reject_gcc_builtin): Define.
4748
38942840
BI
47492015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
4750
4751 PR middle-end/60586
4752 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
4753 prototype.
4754 * c-gimplify.c (c_gimplify_expr): Added a call to the function
4755 cilk_gimplify_call_params_in_spawned_fn.
4756 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
4757 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
4758 unwrapping.
4759
c316b5e4
MP
47602015-08-25 Marek Polacek <polacek@redhat.com>
4761
4762 PR middle-end/67330
4763 * c-common.c (handle_weak_attribute): Don't check whether the
4764 visibility can be changed here.
4765
584a7c46
MLI
47662015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4767
4768 * c-lex.c (c_lex_with_flags): Use explicit locations.
4769
a79683d5
TS
47702015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
4771
4772 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
4773 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
4774
61717a45
FXC
47752015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4776
4777 PR middle-end/36757
4778 * c-common.c (check_builtin_function_arguments): Add check
4779 for BUILT_IN_SIGNBIT argument.
4780
329524f5
PC
47812015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
4782
4783 PR c++/67160
4784 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
4785 in c++1z mode.
4786
4ee55665
MP
47872015-08-17 Marek Polacek <polacek@redhat.com>
4788
4789 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
4790 with whitespaces before qualifier names.
4791
b893e375
MP
47922015-08-12 Marek Polacek <polacek@redhat.com>
4793
4794 PR c++/55095
4795 * c-common.c (maybe_warn_shift_overflow): Properly handle
4796 left-shifting 1 into the sign bit.
4797
c2d89095
MLI
47982015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4799
4800 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4801
971e17ff
AS
48022015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
4803 Braden Obrzut <admin@maniacsvault.net>
4804 Jason Merrill <jason@redhat.com>
4805
4806 Add C++ Concepts TS support.
4807 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4808 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4809 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4810 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4811 * c-opts.c (set_std_cxx1z): Set flag_concepts.
4812 * c.opt (fconcepts): New.
4813
b3d5bc62
JJ
48142015-08-02 Martin Sebor <msebor@redhat.com>
4815
4816 * c.opt (-Wframe-address): New warning option.
4817
8ebca419
PP
48182015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4819
4820 * c-indentation.c (should_warn_for_misleading_indentation):
4821 Improve heuristics.
4822
1a1e101f
PP
48232015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4824
4825 * c-indentation.c (get_visual_column): Add parameter first_nws,
4826 use it. Update comment documenting the function.
4827 (is_first_nonwhitespace_on_line): Remove.
4828 (should_warn_for_misleading_indentation): Replace usage of
4829 of is_first_nonwhitespace_on_line with get_visual_column.
4830
992118a1
PP
48312015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4832
4833 * c-indentation.h (struct token_indent_info): Define.
4834 (get_token_indent_info): Define.
4835 (warn_for_misleading_information): Declare.
4836 * c-common.h (warn_for_misleading_information): Remove.
4837 * c-identation.c (warn_for_misleading_indentation):
4838 Change declaration to take three token_indent_infos. Adjust
4839 accordingly.
4840 * c-identation.c (should_warn_for_misleading_indentation):
4841 Likewise. Bail out early if the body is a compound statement.
4842 (guard_tinfo_to_string): Define.
4843
e8fa3817
JM
48442015-07-30 Jason Merrill <jason@redhat.com>
4845
4846 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4847 '*' for reference decay.
4848
173864e8
MP
48492015-07-30 Marek Polacek <polacek@redhat.com>
4850
4851 * c-common.c (warn_tautological_cmp): Bail for float types.
4852
f2afe6dd
MP
48532015-07-27 Marek Polacek <polacek@redhat.com>
4854
4855 PR bootstrap/67030
4856 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4857
05b28fd6
MP
48582015-07-27 Marek Polacek <polacek@redhat.com>
4859
4860 PR c++/66555
4861 PR c/54979
4862 * c-common.c (find_array_ref_with_const_idx_r): New function.
4863 (warn_tautological_cmp): New function.
4864 * c-common.h (warn_tautological_cmp): Declare.
4865 * c.opt (Wtautological-compare): New option.
4866
5a5062b8
MP
48672015-07-23 Marek Polacek <polacek@redhat.com>
4868
4869 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4870 (ubsan_instrument_shift): Likewise.
4871
dc891fe7
MP
48722015-07-23 Marek Polacek <polacek@redhat.com>
4873
4874 PR sanitizer/66908
4875 * c-ubsan.c: Include gimplify.h.
4876 (ubsan_instrument_division): Unshare OP0 and OP1.
4877 (ubsan_instrument_shift): Likewise.
4878
451b5e48
MP
48792015-07-20 Marek Polacek <polacek@redhat.com>
4880 Richard Sandiford <richard.sandiford@arm.com>
4881
4882 PR c++/55095
4883 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4884 Use EXPR_LOC_OR_LOC.
4885 (maybe_warn_shift_overflow): New function.
4886 * c-common.h (maybe_warn_shift_overflow): Declare.
4887 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4888 * c.opt (Wshift-overflow): New option.
4889
fb0b2914
ML
48902015-07-16 Martin Liska <mliska@suse.cz>
4891
4892 * c-format.c (static void check_format_info_main): Use
4893 object_allocator instead of pool_allocator.
4894 (check_format_arg): Likewise.
4895 (check_format_info_main): Likewise.
4896
903f5c23
AM
48972015-07-15 Andrew MacLeod <amacleod@redhat.com>
4898
4899 * c-opts.c: Remove multiline #include comment.
4900
026c3cfd
AH
49012015-07-12 Aldy Hernandez <aldyh@redhat.com>
4902
4903 * c-common.c: Fix double word typos.
4904
bb49ee66
EB
49052015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4906
4907 * c-ada-spec.h (cpp_operation): Revert latest change.
4908 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4909 constructors and destructors.
4910
1916bcb5
AM
49112015-07-09 Andrew MacLeod <amacleod@redhat.com>
4912
4913 * c-common.h: Adjust includes for flags.h changes.
4914 * stub-objc.c: Likewise.
026c3cfd 4915
a9dcd529
EB
49162015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4917
4918 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4919 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4920
b03b462f
JJ
49212015-07-08 Jakub Jelinek <jakub@redhat.com>
4922
4923 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4924 are to be removed, return NULL rather than original clauses list.
4925
c7131fb2
AM
49262015-07-07 Andrew MacLeod <amacleod@redhat.com>
4927
4928 * array-notation-common.c: Adjust includes.
4929 * c-ada-spec.c: Likewise.
4930 * c-cilkplus.c: Likewise.
4931 * c-common.h: Likewise.
4932 * c-cppbuiltin.c: Likewise.
4933 * c-dump.c: Likewise.
4934 * c-format.c: Likewise.
4935 * c-gimplify.c: Likewise.
4936 * c-indentation.c: Likewise.
4937 * c-lex.c: Likewise.
4938 * c-omp.c: Likewise.
4939 * c-opts.c: Likewise.
4940 * c-pch.c: Likewise.
4941 * c-ppoutput.c: Likewise.
4942 * c-pragma.c: Likewise.
4943 * c-pretty-print.c: Likewise.
4944 * c-semantics.c: Likewise.
4945 * c-ubsan.c: Likewise.
4946 * cilk.c: Likewise.
4947 * stub-objc.c: Likewise.
4948
2a7fb83f
EB
49492015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4950
4951 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4952 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4953
a03c9bf1
JM
49542015-07-01 Jason Merrill <jason@redhat.com>
4955
36a85135
JM
4956 * c-common.h (D_CXX11): Rename from D_CXX0X.
4957 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4958 * c-common.c: Adjust.
4959
e7fa68d5
JM
4960 * c-opts.c (c_common_post_options): Default to C++14.
4961
a03c9bf1
JM
4962 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4963
fe95b036
ESR
49642015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4965
4966 Implement N4197 - Adding u8 character literals
b3d5bc62 4967 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4968 CPP_CHAR.
b3d5bc62 4969 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4970 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4971 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4972 and CPP_UTF8CHAR tokens.
4973 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4974
da2e71c9
MLI
49752015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4976
4977 PR fortran/66605
4978 * c-common.c (do_warn_unused_parameter): Move here.
4979 * c-common.h (do_warn_unused_parameter): Declare.
4980
b155cfd9
MP
49812015-06-29 Marek Polacek <polacek@redhat.com>
4982
4983 PR c/66322
4984 * c-common.c (check_case_bounds): Add bool * parameter. Set
4985 OUTSIDE_RANGE_P.
4986 (c_add_case_label): Add bool * parameter. Pass it down to
4987 check_case_bounds.
4988 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4989 warning here.
4990 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4991 declarations.
4992
31521951
MP
49932015-06-27 Marek Polacek <polacek@redhat.com>
4994
4995 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4996 or VECTOR_INTEGER_TYPE_P throughout.
4997 * c-gimplify.c: Likewise.
4998
22d03525
MP
49992015-06-26 Marek Polacek <polacek@redhat.com>
5000
5001 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5002 * c-common.c (c_fully_fold_internal): Likewise.
5003 (c_alignof_expr): Likewise.
5004 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5005 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 5006 * cilk.c (create_parm_list): Likewise.
22d03525 5007
af05e6e5
MP
50082015-06-26 Marek Polacek <polacek@redhat.com>
5009
5010 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5011
f0889939
AM
50122015-06-25 Andrew MacLeod <amacleod@redhat.com>
5013
5014 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5015 * c-gimplify.c: Likewise.
5016 * c-pragma.c: Likewise.
5017 * c-ubsan.c: Likewise.
5018 * cilk.c: Likewise.
5019
ca752f39
RS
50202015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5021
5022 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5023 ggc_hasher.
5024
16a16ec7
AM
50252015-06-25 Andrew MacLeod <amacleod@redhat.com>
5026
5027 * cilk.c: Move calls.h after tm.h in the include chain.
5028
0ae9bd27
MP
50292015-06-25 Marek Polacek <polacek@redhat.com>
5030
5031 * array-notation-common.c: Use VAR_P throughout.
5032 * c-ada-spec.c: Likewise.
5033 * c-common.c: Likewise.
5034 * c-format.c: Likewise.
5035 * c-gimplify.c: Likewise.
5036 * c-omp.c: Likewise.
5037 * c-pragma.c: Likewise.
5038 * c-pretty-print.c: Likewise.
5039 * cilk.c: Likewise.
5040
62f9079a
MP
50412015-06-25 Marek Polacek <polacek@redhat.com>
5042
5043 * cilk.c (extract_free_variables): Use is_global_var.
5044
0fa16060
RS
50452015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5046
5047 * c-common.c: Don't include target-def.h.
5048
a68ae2e1
MP
50492015-06-23 Marek Polacek <polacek@redhat.com>
5050
5051 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5052 when comparing INTEGER_CSTs.
5053
c6a2f2d9
PMR
50542015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5055
5056 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5057 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5058 (dump_ada_template): Skip partially specialized types.
5059
6b4db501
MM
50602015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5061
5062 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5063 swapping.
5064
abb226c9
AM
50652015-06-17 Andrew MacLeod <amacleod@redhat.com>
5066
5067 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5068 * c-ada-spec.c: Likewise.
5069 * c-cilkplus.c: Likewise.
5070 * c-common.c: Likewise.
5071 * c-common.h: Likewise.
5072 * c-cppbuiltin.c: Likewise.
5073 * c-dump.c: Likewise.
5074 * c-format.c: Likewise.
5075 * c-gimplify.c: Likewise.
5076 * c-indentation.c: Likewise.
5077 * c-lex.c: Likewise.
5078 * c-omp.c: Likewise.
5079 * c-opts.c: Likewise.
5080 * c-pch.c: Likewise.
5081 * c-ppoutput.c: Likewise.
5082 * c-pragma.c: Likewise.
5083 * c-pretty-print.c: Likewise.
5084 * c-semantics.c: Likewise.
5085 * c-ubsan.c: Likewise.
5086 * cilk.c: Likewise.
5087 * stub-objc.c: Likewise.
5088
076fecad
PP
50892015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5090
5091 PR c++/65168
5092 * c-common.c (c_common_truthvalue_conversion): Warn when
5093 converting an address of a reference to a truth value.
5094
13fdf2e2
AM
50952015-06-08 Andrew MacLeod <amacleod@redhat.com>
5096
5097 * array-notation-common.c : Adjust include files.
5098 * c-ada-spec.c : Likewise.
5099 * c-cilkplus.c : Likewise.
5100 * c-common.c : Likewise.
5101 * c-common.h : Likewise.
5102 * c-cppbuiltin.c : Likewise.
5103 * c-dump.c : Likewise.
5104 * c-format.c : Likewise.
5105 * c-gimplify.c : Likewise.
5106 * c-indentation.c : Likewise.
5107 * c-lex.c : Likewise.
5108 * c-omp.c : Likewise.
5109 * c-opts.c : Likewise.
5110 * c-pch.c : Likewise.
5111 * c-ppoutput.c : Likewise.
5112 * c-pragma.c : Likewise.
5113 * c-pretty-print.c : Likewise.
5114 * c-semantics.c : Likewise.
5115 * c-ubsan.c : Likewise.
5116 * cilk.c : Likewise.
5117 * stub-objc.c : Likewise.
5118
a1661b90
MP
51192015-06-08 Marek Polacek <polacek@redhat.com>
5120
5121 PR c/66415
5122 * c-format.c (location_from_offset): Return LOC if LINE is null.
5123
d7438551
AH
51242015-06-05 Aldy Hernandez <aldyh@redhat.com>
5125
5126 * c-common.h (c_parse_final_cleanups): New prototype.
5127 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5128
b3d5bc62
JJ
51292015-06-04 Sriraman Tallam <tmsriram@google.com>
5130
5131 * c-common.c (noplt): New attribute.
5132 (handle_noplt_attribute): New handler.
5133
ecb9f223
AM
51342015-06-04 Andrew MacLeod <amacleod@redhat.com>
5135
5136 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5137 * c-ada-spec.c: Likewise.
5138 * c-cilkplus.c: Likewise.
5139 * c-common.c: Likewise.
5140 * c-common.h: Likewise.
5141 * c-cppbuiltin.c: Likewise.
5142 * c-dump.c: Likewise.
5143 * c-format.c: Likewise.
5144 * c-gimplify.c: Likewise.
5145 * c-indentation.c: Likewise.
5146 * c-lex.c: Likewise.
5147 * c-omp.c: Likewise.
5148 * c-opts.c: Likewise.
5149 * c-pch.c: Likewise.
5150 * c-ppoutput.c: Likewise.
5151 * c-pragma.c: Likewise.
5152 * c-pretty-print.c: Likewise.
5153 * c-semantics.c: Likewise.
5154 * c-ubsan.c: Likewise.
5155 * cilk.c: Likewise.
5156 * stub-objc.c: Likewise.
5157
6ac48155
DM
51582015-06-02 David Malcolm <dmalcolm@redhat.com>
5159
5160 PR c/66220:
5161 * c-indentation.c (should_warn_for_misleading_indentation): Use
5162 expand_location rather than expand_location_to_spelling_point.
5163 Don't warn if the guarding statement is more indented than the
5164 next/body stmts.
5165
773ce42e
DM
51662015-06-02 David Malcolm <dmalcolm@redhat.com>
5167
5168 * c-indentation.c (warn_for_misleading_indentation): Bail out
5169 immediately if -Wmisleading-indentation isn't enabled.
5170
4fef8379
ML
51712015-06-01 Martin Liska <mliska@suse.cz>
5172
5173 * c-format.c (check_format_arg):Use new type-based pool allocator.
5174 (check_format_info_main) Likewise.
5175
1edfb384
EB
51762015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5177
5178 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5179 (has_nontrivial_methods): Likewise.
5180
9677ef52
MP
51812015-05-25 Marek Polacek <polacek@redhat.com>
5182
5183 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5184
fd5c817a
MP
51852015-05-22 Marek Polacek <polacek@redhat.com>
5186
5187 PR c/47043
5188 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5189
a2f45fe6 51902015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5191
5192 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5193 STACK_GROWS_DOWNWARD.
5194
a2f45fe6 51952015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5196
5197 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5198 STACK_GROWS_DOWNWARD rather than if it is defined.
5199
0fee2ac2 52002015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5201
0fee2ac2
MLI
5202 PR c/52952
5203 * c-format.c (location_column_from_byte_offset): New.
5204 (location_from_offset): New.
5205 (struct format_wanted_type): Add offset_loc field.
5206 (check_format_info): Move handling of location for extra arguments
5207 closer to the point of warning.
5208 (check_format_info_main): Pass the result of location_from_offset
5209 to warning_at.
5210 (format_type_warning): Pass the result of location_from_offset
5211 to warning_at.
5212
cf4ef6f7
MP
52132015-05-20 Marek Polacek <polacek@redhat.com>
5214
5215 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5216
3a65ee74
MP
52172015-05-20 Marek Polacek <polacek@redhat.com>
5218
5219 * c-ada-spec.c (dump_sloc): Use DECL_P.
5220
21b634ae
MP
52212015-05-20 Marek Polacek <polacek@redhat.com>
5222
5223 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5224 * c-common.c: Likewise.
5225
0e50b624
DM
52262015-05-19 David Malcolm <dmalcolm@redhat.com>
5227
5228 * c-common.h (fe_file_change): Strengthen param from
5229 const line_map * to const line_map_ordinary *.
5230 (pp_file_change): Likewise.
5231 * c-lex.c (fe_file_change): Likewise.
5232 (cb_define): Use linemap_check_ordinary when invoking
5233 SOURCE_LINE.
5234 (cb_undef): Likewise.
5235 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5236 invoking cb_file_change.
5237 (c_finish_options): Likewise.
5238 (push_command_line_include): Likewise.
5239 (cb_file_change): Strengthen param "new_map" from
5240 const line_map * to const line_map_ordinary *.
5241 * c-ppoutput.c (cb_define): Likewise for local "map".
5242 (pp_file_change): Likewise for param "map" and local "from".
5243
fab27f52
MM
52442015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5245
5246 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5247
2fe1d762
TV
52482015-05-18 Tom de Vries <tom@codesourcery.com>
5249
5250 * c-common.c (build_va_arg_1): New function.
5251 (build_va_arg): Add address operator to va_list operand if necessary.
5252
7a37fa90
MM
52532015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5254
5255 PR c/48956
5256 * c-common.c (int_safely_convertible_to_real_p): Define.
5257 (unsafe_conversion_p): Check conversions involving complex types.
5258 (conversion_warning): Add new warning message for conversions which
5259 discard imaginary component.
5260 * c-common.h: (enum conversion_safety): Add new enumerator for such
5261 conversions.
5262
3aa3c9fc
MP
52632015-05-14 Marek Polacek <polacek@redhat.com>
5264
5265 PR c/66066
5266 PR c/66127
5267 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5268 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5269 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5270 use it. If FOR_INT_CONST, require that all evaluated operands be
5271 INTEGER_CSTs.
5272
c3388e62
DM
52732015-05-12 David Malcolm <dmalcolm@redhat.com>
5274
5275 * c-common.h (warn_for_misleading_indentation): New prototype.
5276 * c-indentation.c: New file.
5277 * c.opt (Wmisleading-indentation): New option.
5278
c7b38fd5
TV
52792015-05-12 Tom de Vries <tom@codesourcery.com>
5280
5281 PR tree-optimization/66010
5282 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5283
381bf11e
JM
52842015-05-09 Jason Merrill <jason@redhat.com>
5285
edff0c06
JM
5286 * c-opts.c (c_common_post_options): Also clear
5287 cpp_opts->cpp_warn_cxx11_compat.
5288
129211bc
JM
5289 * c-common.h (enum cxx_dialect): Add cxx_unset.
5290 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5291 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5292
381bf11e
JM
5293 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5294 (std=gnu++0x): Mark as Undocumented.
5295 (std=gnu++1y): Add deprecated message.
5296
fe191308
JM
52972015-05-08 Jason Merrill <jason@redhat.com>
5298
765189ff
JM
5299 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5300 * c-opts.c: Adjust.
5301
fe191308
JM
5302 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5303
755e528f
MP
53042015-05-08 Marek Polacek <polacek@redhat.com>
5305
5306 PR c/64918
5307 * c.opt (Woverride-init-side-effects): New option.
5308
0173bd2a
MP
53092015-05-07 Marek Polacek <polacek@redhat.com>
5310
5311 PR c/65179
5312 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5313 negative value.
5314 * c.opt (Wshift-negative-value): New option.
5315 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5316 when -Wextra and C99/C++11 mode.
5317
e0f0d3b9
MP
53182015-05-07 Marek Polacek <polacek@redhat.com>
5319 Martin Uecker <uecker@eecs.berkeley.edu>
5320
5321 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5322 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5323
8243e2a9
JM
53242015-05-05 Jason Merrill <jason@redhat.com>
5325
5326 * c.opt (Wterminate): New.
5327
577cd070
MP
53282015-04-30 Marek Polacek <polacek@redhat.com>
5329
5330 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5331 require that the non-constant be of a boolean type.
5332
0373796b
JT
53332015-04-29 Josh Triplett <josh@joshtriplett.org>
5334
e0f0d3b9
MP
5335 * c-common.c (handle_section_attribute): Refactor to reduce
5336 nesting and distinguish between error cases.
0373796b 5337
716c0ba6
MP
53382015-04-29 Marek Polacek <polacek@redhat.com>
5339
5340 PR c/64610
5341 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5342 with 0/1.
5343
8848828b
JJ
53442015-04-29 Jakub Jelinek <jakub@redhat.com>
5345
5346 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5347 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5348 HOST_BITS_PER_WIDE_INT.
5349
ecd0e562
TV
53502015-04-28 Tom de Vries <tom@codesourcery.com>
5351
5352 PR tree-optimization/65887
5353 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5354
2a877204 53552015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 5356 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
5357
5358 * c-ada-spec.c (in_function): Delete.
5359 (dump_generic_ada_node): Do not change in_function and remove the
5360 redundant code dealing with it.
5361 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5362 (print_ada_methods): Output the static member functions in a nested
5363 package after the regular methods as well as associated renamings.
5364
4853031e
MP
53652015-04-24 Marek Polacek <polacek@redhat.com>
5366
5367 PR c/65830
5368 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5369 and OPT_Wshift_count_overflow.
5370
8c2b7f79
MP
5371 PR c/63357
5372 * c-common.c (warn_logical_operator): Warn if the operands have the
5373 same expressions.
5374
b8787813
MP
53752015-04-24 Marek Polacek <polacek@redhat.com>
5376
5377 PR c/61534
5378 * c-common.c (warn_logical_operator): Bail if either operand comes
5379 from a macro expansion.
5380
8fba1830
BRF
53812015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5382
5383 PR target/55143
5384 * c-common.c (c_default_pointer_mode): Add definition.
5385 * c-common.h (c_default_pointer_mode): Add declaration.
5386
17958621
JJ
53872015-03-11 Jakub Jelinek <jakub@redhat.com>
5388
5389 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5390 on record_builtin_type argument.
5391
7ccb1a11
JJ
53922015-03-10 Jakub Jelinek <jakub@redhat.com>
5393
5394 PR c/65120
5395 * c-common.c (warn_logical_not_parentheses): Don't warn for
5396 !x == 0 or !x != 0.
5397
04fd785e
MP
53982015-03-07 Marek Polacek <polacek@redhat.com>
5399
5400 PR sanitizer/65280
5401 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5402 before trying to figure out whether we have a flexible array member.
5403
a4e26206 54042015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5405 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
5406
5407 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5408
0d2489f4
EB
54092015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5410
5411 PR ada/65319
5412 * c-ada-spec.c (print_destructor): Remove obsolete code.
5413
83ed54d7
EB
54142015-03-01 Eric Botcazou <ebotcazou@adacore.com>
5415
5416 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5417 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5418 DECL_TEMPLATE_RESULT emulations.
5419 (dump_ada_template)): Add guard for TYPE_METHODS.
5420
7631f0e2
MP
54212015-02-27 Marek Polacek <polacek@redhat.com>
5422
5423 PR c/65040
5424 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5425
d1783ae5
KT
54262015-02-27 Kai Tietz <ktietz@redhat.com>
5427
5428 PR c/35330
5429 * c-pragma.c (handle_pragma_weak): Do not try to create
5430 weak/alias of declarations not being function, or variable
5431 declarations.
5432
56a9f6bc
TS
54332015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5434
5435 PR libgomp/64625
5436 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5437 Remove macros.
5438 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5439
3d5cb23d
MP
54402015-02-16 Marek Polacek <polacek@redhat.com>
5441
5442 PR c/65066
5443 * c-format.c (check_format_types): Handle null param.
5444
fa008882
MP
54452015-02-13 Marek Polacek <polacek@redhat.com>
5446
5447 PR c/65040
5448 * c-format.c (check_format_types): Don't warn about different
5449 signedness if the original value is in the range of WANTED_TYPE.
5450
785f21af
JM
54512015-02-12 Jason Merrill <jason@redhat.com>
5452
5453 PR c++/64956
5454 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
5455 to the current highest version.
5456 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5457
4886ec8e
JJ
54582015-02-04 Jakub Jelinek <jakub@redhat.com>
5459
5460 PR c/64824
5461 PR c/64868
5462 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5463 instead of RDIV_EXPR. Use build_binary_op instead of
5464 build2_loc.
5465
40fecdd6
JM
54662015-01-30 Joseph Myers <joseph@codesourcery.com>
5467
5468 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5469 to pass input_location as first argument.
5470
a0c88d06
TV
54712015-01-23 Tom de Vries <tom@codesourcery.com>
5472
5473 PR libgomp/64672
5474 * c.opt (fopenacc): Mark as LTO option.
5475
1506ae0e
TV
54762015-01-23 Tom de Vries <tom@codesourcery.com>
5477
5478 PR libgomp/64707
5479 * c.opt (fopenmp): Mark as LTO option.
5480
31be63ab
JJ
54812015-01-21 Jakub Jelinek <jakub@redhat.com>
5482
5483 PR c/63307
b1726d6c 5484 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
5485 (compare_decls): Fix up formatting.
5486
54872015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
5488
5489 PR c/63307
5490 * cilk.c: Include vec.h.
5491 (struct cilk_decls): New structure.
5492 (wrapper_parm_cb): Split this function to...
5493 (fill_decls_vec): ...this...
5494 (create_parm_list): ...and this.
5495 (compare_decls): New function.
5496 (for_local_cb): Remove.
5497 (wrapper_local_cb): Ditto.
5498 (build_wrapper_type): For now first traverse and fill vector of
5499 declarations then sort it and then deal with sorted vector.
5500 (cilk_outline): Ditto.
5501 (declare_one_free_variable): Ditto.
5502
6875457f
JM
55032015-01-21 Jason Merrill <jason@redhat.com>
5504
5505 PR c++/64629
5506 * c-format.c (check_format_arg): Call decl_constant_value.
5507
185c9e56
ML
55082015-01-19 Martin Liska <mliska@suse.cz>
5509
5510 * c-common.c (handle_noicf_attribute): New function.
5511
41dbbb37
TS
55122015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5513 Bernd Schmidt <bernds@codesourcery.com>
5514 James Norris <jnorris@codesourcery.com>
5515 Cesar Philippidis <cesar@codesourcery.com>
5516 Ilmir Usmanov <i.usmanov@samsung.com>
5517 Jakub Jelinek <jakub@redhat.com>
5518
5519 * c.opt (fopenacc): New option.
5520 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5521 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5522 New macros.
5523 * c-common.h (c_finish_oacc_wait): New prototype.
5524 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5525 (c_finish_oacc_wait): New function.
5526 * c-pragma.c (oacc_pragmas): New variable.
5527 (c_pp_lookup_pragma, init_pragma): Handle it.
5528 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5529 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5530 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5531 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5532 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5533 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5534 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5535 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5536 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5537 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5538 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5539 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5540 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5541 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5542 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5543 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5544 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5545 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5546 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5547 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5548 PRAGMA_OACC_CLAUSE_WORKER.
5549
3f8257db 55502015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
5551
5552 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5553 for the new option fstack-protector_explicit.
5554 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
5555 (handle_stack_protect_attribute): New function.
5556
3f8257db 55572015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5558
5559 * c.opt: New option -Warray-bounds=.
5560
adfac8df
JJ
55612015-01-09 Michael Collison <michael.collison@linaro.org>
5562
5563 * array-notation-common.c: Include hash-set.h, machmode.h,
5564 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5565 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5566 * c-ada-spec.c: Ditto.
5567 * c-cilkplus.c: Ditto.
5568 * c-common.c: Include input.h due to flattening of tree.h.
5569 Define macro GCC_C_COMMON_C.
5570 * c-common.h: Flatten tree.h header files into c-common.h.
5571 Remove include of tree-core.h.
5572 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5573 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5574 fold-const.h, wide-int.h, and inchash.h due to
5575 flattening of tree.h.
5576 * c-dump.c: Ditto.
5577 * c-format.c: Flatten tree.h header files into c-common.h.
5578 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5579 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5580 fold-const.h, wide-int.h, and inchash.h due to
5581 flattening of tree.h.
5582 * c-dump.c: Include hash-set.h, machmode.h,
5583 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5584 fold-const.h, wide-int.h, and inchash.h due to
5585 flattening of tree.h.
5586 * c-format.c: Include hash-set.h, machmode.h,
5587 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5588 fold-const.h, wide-int.h, inchash.h and real.h due to
5589 flattening of tree.h.
5590 * c-gimplify.c: Include hash-set.h, machmode.h,
5591 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5592 fold-const.h, wide-int.h, and inchash.h due to
5593 flattening of tree.h.
5594 * cilk.c: Ditto.
5595 * c-lex.c: Ditto.
5596 * c-omp.c: Ditto.
5597 * c-opts.c: Ditto.
5598 * c-pch.c: Ditto.
5599 * c-ppoutput.c: Ditto.
5600 * c-pragma.c: Ditto.
5601 * c-pretty-print.c: Ditto.
5602 * c-semantics.c: Ditto.
5603 * c-ubsan.c: Ditto.
5604 * stub-objc.c: Ditto.
5605
f5481fc4
JM
56062015-01-08 Jason Merrill <jason@redhat.com>
5607
5608 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
5609 do_ubsan_in_current_function.
5610 (ubsan_maybe_instrument_reference_or_call): Likewise.
5611 * c-ubsan.h: Declare it.
5612
de35aa66
MS
56132015-01-08 Mike Stump <mikestump@comcast.net>
5614
5615 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
5616
4a9a42ab
MP
56172015-01-07 Marek Polacek <polacek@redhat.com>
5618
5619 PR c/64440
5620 * c-common.c (c_fully_fold_internal): Warn for division and modulo
5621 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
5622
2f42e5de
TS
56232015-01-05 Trevor Saunders <tsaunders@mozilla.com>
5624
5625 PR c++/31397
5626 * c.opt (Wsuggest-override): New option.
5627
5624e564
JJ
56282015-01-05 Jakub Jelinek <jakub@redhat.com>
5629
5630 Update copyright years.
5631
5bd012f8
MP
56322015-01-05 Marek Polacek <polacek@redhat.com>
5633
5634 PR c/64423
5635 * c-common.c (warn_array_subscript_with_type_char): Add location_t
5636 parameter. Use it.
5637 * c-common.h (warn_array_subscript_with_type_char): Update
5638 declaration.
5639
a7fa8d18
ESR
56402014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
5641
5642 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
5643 Control macro with flag_sized_deallocation.
5644
3f8257db 56452014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
5646
5647 * c.opt (Wdiscarded-array-qualifiers): New option.
5648
1f8d3e84
JJ
56492014-12-19 Jakub Jelinek <jakub@redhat.com>
5650
5651 PR preprocessor/63831
5652 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
5653 and __has_cpp_attribute here.
5654 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
5655 c_common_has_attribute.
5656 * c-common.h (c_common_has_attribute): New prototype.
5657 * c-lex.c (init_c_lex): Set cb->has_attribute to
5658 c_common_has_attribute instead of cb_has_attribute.
5659 (get_token_no_padding): New function.
5660 (cb_has_attribute): Renamed to ...
5661 (c_common_has_attribute): ... this. No longer static. Use
5662 get_token_no_padding, require ()s, don't build TREE_LIST
5663 unnecessarily, fix up formatting, adjust diagnostics, call
5664 init_attributes.
5665
20b06add
JM
56662014-12-15 Jason Merrill <jason@redhat.com>
5667
5668 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
5669 (-Wsized-deallocation): New.
5670 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
5671 to on in C++14 and up.
5672
94a073b2
JM
56732014-12-11 Jason Merrill <jason@redhat.com>
5674
acaa5911
JM
5675 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
5676
94a073b2
JM
5677 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
5678 we aren't complaining about VLAs.
5679
7fb66c15
MP
56802014-12-06 Marek Polacek <polacek@redhat.com>
5681
5682 PR tree-optimization/64183
5683 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
5684 shift-expression if it is integer_type_node. Use types_compatible_p.
5685
b731b390
JJ
56862014-11-29 Jakub Jelinek <jakub@redhat.com>
5687
5688 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
5689 last argument from create_tmp_var_raw and create_tmp_var calls.
5690 * cilk.c (gimplify_cilk_spawn): Likewise.
5691 * c-omp.c (c_finish_omp_atomic): Likewise.
5692
6a4da643
MP
56932014-11-28 Marek Polacek <polacek@redhat.com>
5694
5695 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
5696 instead of unsigned_type_node.
5697
541e35a6
MP
56982014-11-28 Marek Polacek <polacek@redhat.com>
5699
5700 PR c/63862
5701 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
5702 to op1_utype.
5703 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
5704 expression to unsigned_type_node.
5705
dcc97066
MW
57062014-11-20 Mark Wielaard <mjw@redhat.com>
5707
5708 PR debug/38757
5709 * c-opts.c (set_std_c89): Set lang_hooks.name.
5710 (set_std_c99): Likewise.
5711 (set_std_c11): Likewise.
5712 (set_std_cxx98): Likewise.
5713 (set_std_cxx11): Likewise.
5714 (set_std_cxx14): Likewise.
5715 (set_std_cxx1z): Likewise.
5716
aa7da51a
JJ
57172014-11-21 Jakub Jelinek <jakub@redhat.com>
5718
5719 PR target/63764
5720 * c-common.h (convert_vector_to_pointer_for_subscript): Change
5721 return type to bool.
009a3480 5722 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
5723 (convert_vector_to_pointer_for_subscript): Change return type to
5724 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
5725 and copy it into a TARGET_EXPR and use that instead of *vecp
5726 directly.
5727
538dd0b7
DM
57282014-11-19 David Malcolm <dmalcolm@redhat.com>
5729
5730 Merger of git branch "gimple-classes-v2-option-3".
5731 * ChangeLog.gimple-classes: New.
5732 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
5733 from being just a vec<gimple> to a vec<gbind *>.
5734
c39a5e99
JJ
57352014-11-18 Jakub Jelinek <jakub@redhat.com>
5736
5737 PR sanitizer/63813
5738 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
5739 argument to ptype, set type to TREE_TYPE (ptype). Don't call
5740 get_pointer_alignment for non-pointers. Use ptype, or if it is
5741 reference type, corresponding pointer type, as type of kind
5742 argument.
5743 (ubsan_maybe_instrument_reference,
5744 ubsan_maybe_instrument_member_call): Adjust callers.
5745
8537a4a9
MP
57462014-11-15 Marek Polacek <polacek@redhat.com>
5747
5748 PR middle-end/63884
5749 * array-notation-common.c (is_sec_implicit_index_fn): Return false
5750 for NULL fndecl.
5751 (extract_array_notation_exprs): Return for NULL node.
5752
2079956a
JM
57532014-11-12 Joseph Myers <joseph@codesourcery.com>
5754
5755 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
5756 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
5757
1304953e
JJ
57582014-11-12 Jakub Jelinek <jakub@redhat.com>
5759
5760 PR c/59708
5761 * c-common.c (check_builtin_function_arguments): Handle
5762 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
5763
e5e44252
AK
57642014-11-10 Andi Kleen <ak@linux.intel.com>
5765
5766 PR c/60804
5767 * c-common.h (check_no_cilk): Declare.
5768 * cilk.c (get_error_location): New function.
5769 (check_no_cilk): Dito.
5770
e64b984d
AK
57712014-11-10 Andi Kleen <ak@linux.intel.com>
5772
5773 * cilk.c (recognize_spawn): Use expression location
5774 for error message.
5775
13c21655
PC
57762014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
5777
5778 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
5779
42fd12b1
ESR
57802014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
5781
5782 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
5783 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
5784 (__cpp_range_based_for, __cpp_initializer_lists,
5785 __cpp_delegating_constructors, __cpp_nsdmi,
5786 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
5787 for C++11; (__cpp_attribute_deprecated): Remove in favor of
5788 __has_cpp_attribute.
5789 * c-lex.c (cb_has_attribute): New callback CPP function;
5790 (init_c_lex): Set has_attribute callback.
5791
6f450181
RB
57922014-11-04 Richard Biener <rguenther@suse.de>
5793
5794 * c-common.c (shorten_compare): Do not shorten mixed
5795 DFP and non-DFP compares.
5796
26f0e1d6
ESR
57972014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5798
5799 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5800 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5801 Commentary and rearrangement of tests.
5802 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5803 Commentary and rearrangement of tests.
5804 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5805 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
5806
ef4bddc2
RS
58072014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5808
5809 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5810 enum from machine_mode.
5811
c582198b
AM
58122014-10-28 Andrew MacLeod <amacleod@redhat.com>
5813
adfac8df
JJ
5814 * c-common.c: Adjust include files.
5815 * c-gimplify.c: Ditto.
5816 * cilk.c: Ditto.
5817 * c-pragma.c: Ditto.
5818 * c-ubsan.c: Ditto.
c582198b 5819
60393bbc
AM
58202014-10-27 Andrew MacLeod <amacleod@redhat.com>
5821
5822 * c-gimplify.c: Adjust include files.
5823
d723bb7c
MLI
58242014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5825
5826 PR c++/53061
5827 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5828 c_common_initialize_diagnostics.
5829 * c-common.h: Likewise.
5830
90f3520e
MP
58312014-10-24 Marek Polacek <polacek@redhat.com>
5832
5833 PR c/56980
5834 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5835 print "struct"/"union"/"enum" for typedefed names.
5836
59d7607a
MP
58372014-10-23 Marek Polacek <polacek@redhat.com>
5838
5839 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5840 in unsigned type.
5841
d95a2703
JJ
58422014-10-22 Jakub Jelinek <jakub@redhat.com>
5843 Yury Gribov <y.gribov@samsung.com>
5844
5845 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5846 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5847 instead of flag_sanitize_recover as bool flag.
5848
8e6ef852
KY
58492014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5850
5851 * cilk.c: Revert previous change.
5852
948cf550
IZ
58532014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5854
5855 PR c/63307
5856 * cilk.c: Include vec.h.
5857 (struct cilk_decls): New structure.
5858 (wrapper_parm_cb): Split this function to...
5859 (fill_decls_vec): ...this...
5860 (create_parm_list): ...and this.
5861 (compare_decls): New function.
5862 (for_local_cb): Remove.
5863 (wrapper_local_cb): Ditto.
5864 (build_wrapper_type): For now first traverse and fill vector of
5865 declarations then sort it and then deal with sorted vector.
5866 (cilk_outline): Ditto.
5867 (declare_one_free_variable): Ditto.
5868
92574c7c
MP
58692014-10-17 Marek Polacek <polacek@redhat.com>
5870
5871 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5872 * c.opt (Wimplicit-int): Initialize to -1.
5873
83685514
AM
58742014-10-16 Andrew MacLeod <amacleod@redhat.com>
5875
5876 * c-pragma.c: Adjust include files.
5877 * c-semantics.c: Likewise.
5878
5b8300ea
DD
58792014-10-16 DJ Delorie <dj@redhat.com>
5880
5881 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5882 multiples of bytes.
5883
5f83e90b
JM
58842014-10-14 Jason Merrill <jason@redhat.com>
5885
5886 PR c++/63455
5887 * c-common.h (CPP_PREPARSED_EXPR): New.
5888 (N_CP_TTYPES): Adjust.
5889
d73326ca
MP
58902014-10-15 Marek Polacek <polacek@redhat.com>
5891
5892 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5893
78a7c317
DD
58942014-10-14 DJ Delorie <dj@redhat.com>
5895
5896 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5897 types, not just __int128.
5898 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5899 types, not just __int128.
5900 (cpp_atomic_builtins): Round pointer sizes up.
5901 (type_suffix): Use type precision, not specific types.
5902 * c-common.c (c_common_reswords): Remove __int128 special case.
5903 (c_common_type_for_size): Check for all __intN types, not just
5904 __int128.
5905 (c_common_type_for_mode): Likewise.
5906 (c_common_signed_or_unsigned_type): Likewise.
5907 (c_build_bitfield_integer_type): Likewise.
5908 (c_common_nodes_and_builtins): Likewise.
5909 (keyword_begins_type_specifier): Likewise.
5910 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5911 __intN variants.
5912
2a22f99c
TS
59132014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5914
5915 * c-common.c: Use hash_table instead of hashtab.
5916
2a8ef767
ESR
59172014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5918
adfac8df 5919 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5920 C++11 section.
5921
3c9aabbd
MG
59222014-10-03 Marc Glisse <marc.glisse@inria.fr>
5923
5924 PR c++/54427
5925 PR c++/57198
5926 PR c++/58845
5927 * c-common.c (warn_logical_operator): Punt for vectors.
5928
a15f7cb8
ESR
59292014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5930
5931 Implement SD-6: SG10 Feature Test Recommendations
5932 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5933 macros and the __has_header macro.
5934
8d0cf15e
JM
59352014-09-30 Jason Merrill <jason@redhat.com>
5936
dd5d5481
JM
5937 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5938 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5939 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5940
b752325e
JM
5941 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5942 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5943
8d0cf15e
JM
5944 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5945 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5946
083e891e
MP
59472014-09-24 Marek Polacek <polacek@redhat.com>
5948
5949 PR c/61405
5950 PR c/53874
5951 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5952
7861b648
AK
59532014-09-23 Andi Kleen <ak@linux.intel.com>
5954
5955 * c-common.c (handle_no_reorder_attribute): New function.
5956 (c_common_attribute_table): Add no_reorder attribute.
5957
9a79452d
JM
59582014-09-22 Joseph Myers <joseph@codesourcery.com>
5959
5960 * c-cppbuiltin.c (c_cpp_builtins): Define
5961 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5962 modes.
5963
dd69f047
JM
59642014-09-18 Joseph Myers <joseph@codesourcery.com>
5965
5966 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5967 for supported floating-point modes.
5968
737a4826
MLI
59692014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5970
5971 * c.opt (Wpsabi): Use LangEnabledBy.
5972 * c-opts.c (c_common_handle_option): Do not handle here.
5973
8cc4b7a2
JM
59742014-09-12 Joseph Myers <joseph@codesourcery.com>
5975
5976 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5977 macros for floating-point modes.
5978
179b5a55
MG
59792014-09-11 Marc Glisse <marc.glisse@inria.fr>
5980
5981 PR target/58757
5982 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5983 __*_DENORM_MIN__ without denormals.
5984
570a11fe
JJ
59852014-09-10 Jakub Jelinek <jakub@redhat.com>
5986
5987 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5988 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5989 ubsan_create_data callers.
5990 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5991 index is constant or BIT_AND_EXPR with constant mask and is
5992 small enough for the bound.
5993 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5994 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5995
b559c810
MLI
59962014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5997
5998 * c.opt: Add CppReason to various flags.
5999 (Wdate-time): Re-sort.
6000 * c-common.c: Include c-common.h earlier.
6001 (struct reason_option_codes_t): Delete.
6002 (c_option_controlling_cpp_error): Prefix global type and struct
6003 with cpp_.
6004
1ef33fd4
MLI
60052014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6006
6007 * c.opt (Wnormalized): New.
6008 (Wnormalized=): Use Enum and Reject Negative.
6009 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6010
66bb34c0
JM
60112014-09-08 Joseph Myers <joseph@codesourcery.com>
6012
6013 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6014 digits of floating-point modes if -fbuilding-libgcc.
6015
53d68b9f
JM
60162014-09-05 Joseph Myers <joseph@codesourcery.com>
6017
6018 * c-cppbuiltin.c (c_cpp_builtins): Also define
6019 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6020 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6021 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6022 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6023 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6024 __LIBGCC_STACK_GROWS_DOWNWARD__,
6025 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6026 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6027 __LIBGCC_DWARF_FRAME_REGISTERS__,
6028 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6029 __LIBGCC_STACK_POINTER_REGNUM__ and
6030 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6031 (builtin_define_with_value): Handle backslash-escaping in string
6032 macro values.
6033
f65586dc
RB
60342014-09-05 Richard Biener <rguenther@suse.de>
6035
6036 PR middle-end/63148
6037 * c-format.c (check_format_arg): Properly handle
6038 effectively signed POINTER_PLUS_EXPR offset.
6039
2b71f4a4
MLI
60402014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6041
6042 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6043 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6044 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6045 and Init.
6046 * c-opts.c (c_common_handle_option): Do not handle here.
6047 (sanitize_cpp_opts): Likewise.
6048 * c-common.c (struct reason_option_codes_t): Handle
6049 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6050
d2e4feca
MP
60512014-09-03 Marek Polacek <polacek@redhat.com>
6052
6053 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6054
9a771876
JJ
60552014-09-02 Jakub Jelinek <jakub@redhat.com>
6056 Balaji V. Iyer <balaji.v.iyer@intel.com>
6057 Igor Zamyatin <igor.zamyatin@intel.com>
6058
6059 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6060 * c-common.c (c_common_reswords): Added _Cilk_for.
6061 * c-common.h (enum rid): Added RID_CILK_FOR.
6062 (cilk_for_number_of_iterations): Add declaration.
6063 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6064 CILK_FOR.
6065 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6066 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6067
81b5d104
MLI
60682014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6069
6070 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6071 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6072 Wundef): Use CPP, Var and Init.
6073 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6074
b753b37b
MLI
60752014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6076
6077 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6078 * c-opts.c (c_common_handle_option): Do not handle here.
6079
028aee17
JM
60802014-08-25 Jason Merrill <jason@redhat.com>
6081
6082 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6083 -std=c++14 and -std=gnu++14, rather than the reverse.
6084 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6085 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6086 * c-common.h (cxx_dialect): Remove cxx1y.
6087
e4276ba5
ESR
60882014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6089
6090 * c-common.h (enum cxx_dialect): Add cxx14.
6091 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6092 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6093 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6094
a545cacd
JM
60952014-08-22 Jason Merrill <jason@redhat.com>
6096
6097 * c.opt (std=gnu++17): Fix alias.
6098
59ea0364
MP
60992014-08-22 Marek Polacek <polacek@redhat.com>
6100
6101 PR c++/62199
6102 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6103 check for vector types. Drop LHS argument.
6104 * c-common.h (warn_logical_not_parentheses): Adjust.
6105
596e808c
MLI
61062014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6107
6108 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6109 (Wmultichar): Likewise.
6110 (Wdate-time): Use C-family languages instead of Common. Use CPP
6111 and Var.
6112 * c-opts.c (c_common_handle_option): Do not handle the above
6113 options here.
6114 (sanitize_cpp_opts): Likewise.
6115
18767f65
MLI
61162014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6117
6118 PR fortran/44054
6119 * c-opts.c: Include tree-diagnostics.h.
6120 (c_diagnostic_finalizer): New.
6121 (c_common_initialize_diagnostics): Use it.
6122
b4413594
MLI
61232014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6124
6125 PR preprocessor/51303
6126 * c-common.c (struct reason_option_codes_t option_codes):
6127 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6128
43f9a13c
MLI
61292014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6130
6131 PR c/60975
6132 PR c/53063
6133 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6134 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6135 (c_common_post_options): Call init_global_opts_from_cpp.
6136 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6137
04159acf
MP
61382014-08-19 Marek Polacek <polacek@redhat.com>
6139
6140 PR c++/62153
6141 * c-common.c (maybe_warn_bool_compare): New function.
6142 * c-common.h (maybe_warn_bool_compare): Declare.
6143 * c.opt (Wbool-compare): New option.
6144
35aff4fb
MP
61452014-08-19 Marek Polacek <polacek@redhat.com>
6146
6147 * c.opt (Wc99-c11-compat): New option.
6148
177cce46
MP
61492014-08-19 Marek Polacek <polacek@redhat.com>
6150
6151 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6152 to warn_c90_c99_compat.
6153 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6154 to -1.
6155
6ae9194f
MLI
61562014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6157 Steven Bosscher <steven@gcc.gnu.org>
6158
6159 PR c/52952
6160 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6161 format_check_results.
6162 (check_function_format): Use true and add comment for boolean
6163 argument.
6164 (finish_dollar_format_checking): Use explicit location when warning.
6165 (check_format_info): Likewise.
6166 (check_format_arg): Set extra_arg_loc and format_string_loc.
6167 (check_format_info_main): Use explicit location when warning.
6168 (check_format_types): Pass explicit location.
6169 (format_type_warning): Likewise.
6170
8e54f6d3
MLI
61712014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6172
6173 PR fortran/44054
6174 * c-format.c: Handle Fortran flags.
6175
cd4e76fc
IZ
61762014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6177
6178 PR other/61962
6179 * array-notation-common.c (find_rank): Added handling for other
6180 types of references.
6181
f3bede71
MP
61822014-08-10 Marek Polacek <polacek@redhat.com>
6183
6184 PR c/51849
6185 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6186 * c.opt (Wc90-c99-compat): Add option.
6187
9f25a338
TS
61882014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6189
6190 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6191
62e4eb35
MP
61922014-08-03 Marek Polacek <polacek@redhat.com>
6193
6194 * c-common.c (check_case_value): Add location_t parameter. Use it.
6195 (c_add_case_label): Pass loc to check_case_value.
6196
b787e7a2
TS
61972014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6198
6199 * cilk.c: Use hash_map instead of pointer_map.
6200
6e2830c3
TS
62012014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6202
6203 * c-gimplify.c: Use hash_set instead of pointer_set.
6204
a7ee52fb
IZ
62052014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6206
6207 PR middle-end/61455
6208 * array-notation-common.c (extract_array_notation_exprs): Handling
6209 of DECL_EXPR added.
6210
944fa280
JJ
62112014-08-01 Jakub Jelinek <jakub@redhat.com>
6212
6213 * c-common.h (min_align_of_type): Removed prototype.
6214 * c-common.c (min_align_of_type): Removed.
6215 * c-ubsan.h (ubsan_maybe_instrument_reference,
6216 ubsan_maybe_instrument_member_call): New prototypes.
6217 * c-ubsan.c: Include stor-layout.h and builtins.h.
6218 (ubsan_maybe_instrument_reference_or_call,
6219 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6220 functions.
6221
b4dfdc11
MG
62222014-07-31 Marc Glisse <marc.glisse@inria.fr>
6223
6224 PR c++/60517
6225 * c.opt (-Wreturn-local-addr): Move to common.opt.
6226
a41844e5
JM
62272014-07-30 Jason Merrill <jason@redhat.com>
6228
6229 PR c++/61659
6230 PR c++/61687
6231 Revert:
6232 * c.opt (-fuse-all-virtuals): New.
6233
976d5a22
TT
62342014-07-30 Tom Tromey <tromey@redhat.com>
6235
6236 PR c/59855
6237 * c.opt (Wdesignated-init): New option.
6238 * c-common.c (c_common_attribute_table): Add "designated_init".
6239 (handle_designated_init): New function.
6240
cdc94aca
MP
62412014-07-24 Marek Polacek <polacek@redhat.com>
6242
6243 PR c/57653
6244 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6245
f41373b6
DS
62462014-07-16 Dodji Seketeli <dodji@redhat.com>
6247
6248 PR preprocessor/60723 - missing system-ness marks for macro tokens
6249 * c-ppoutput.c (struct print::prev_was_system_token): New data
6250 member.
6251 (init_pp_output): Initialize it.
6252 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6253 (do_line_change): Return a flag saying if a line marker was
6254 emitted or not.
6255 (scan_translation_unit): Detect if the system-ness of the token we
6256 are about to emit is different from the one of the previously
6257 emitted token. If so, emit a line marker. Avoid emitting useless
6258 adjacent line markers. Avoid emitting line markers for tokens
6259 originating from the expansion of built-in macros.
6260 (scan_translation_unit_directives_only): Adjust.
6261
4d661eaa
MP
62622014-07-15 Marek Polacek <polacek@redhat.com>
6263
6264 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6265 TYPE_MAX_VALUE is NULL.
6266
b108f48f
JJ
62672014-07-14 Jakub Jelinek <jakub@redhat.com>
6268
6269 PR middle-end/61294
6270 * c.opt (Wmemset-transposed-args): New warning.
6271
c0221884
JM
62722014-07-10 Jason Merrill <jason@redhat.com>
6273
6274 PR c++/61659
6275 PR c++/61687
6276 * c.opt (-fuse-all-virtuals): New.
6277
63dfbb95
RB
62782014-07-09 Richard Biener <rguenther@suse.de>
6279
6280 PR c-family/61741
6281 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6282 using unsigned arithmetic if overflow does not wrap instead of
6283 if overflow is undefined.
6284
773ec47f
MP
62852014-07-06 Marek Polacek <polacek@redhat.com>
6286
6287 PR c/6940
6288 * c.opt (Wsizeof-array-argument): New option.
6289
00a7ba58
JJ
62902014-07-03 Jakub Jelinek <jakub@redhat.com>
6291
b1726d6c 6292 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6293 comments->count <= 1, as comments->entries might be NULL.
6294
52ec0ea3
MP
62952014-07-01 Marek Polacek <polacek@redhat.com>
6296
6297 * c.opt (Wint-conversion): New option.
6298
d5c3d343
MP
62992014-07-01 Marek Polacek <polacek@redhat.com>
6300
6301 PR c/58286
6302 * c.opt (Wincompatible-pointer-types): New option.
6303
6e7ceb17
PC
63042014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6305
6306 PR c++/51400
6307 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6308 Do not discard TYPE_QUALS of type.
6309
da73100b
JM
63102014-06-26 Jason Merrill <jason@redhat.com>
6311
6312 * c-common.h (enum cxx_dialect): Add cxx1z.
6313 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6314 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6315
08eedf75
TJ
63162014-06-26 Teresa Johnson <tejohnson@google.com>
6317
6318 * c-common.h (get_dump_info): Declare.
6319 * c-gimplify.c (c_genericize): Use saved dump files.
6320 * c-opts.c (c_common_parse_file): Begin and end dumps
6321 once around parsing invocation.
6322 (get_dump_info): New function.
6323
7b56b2f8
MP
63242014-06-23 Marek Polacek <polacek@redhat.com>
6325 Andrew MacLeod <amacleod@redhat.com>
6326
6327 PR c/61553
6328 * c-common.c (get_atomic_generic_size): Don't segfault if the
6329 type doesn't have a size.
6330
0e37a2f3
MP
63312014-06-20 Marek Polacek <polacek@redhat.com>
6332
6333 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6334 (ubsan_walk_array_refs_r): New function.
6335 (c_genericize): Instrument array bounds.
6336 * c-ubsan.c: Include "internal-fn.h".
6337 (ubsan_instrument_division): Mark instrumented arrays as having
6338 side effects. Adjust ubsan_type_descriptor call.
6339 (ubsan_instrument_shift): Likewise.
6340 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6341 (ubsan_instrument_bounds): New function.
6342 (ubsan_array_ref_instrumented_p): New function.
6343 (ubsan_maybe_instrument_array_ref): New function.
6344 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6345 (ubsan_array_ref_instrumented_p): Declare.
6346 (ubsan_maybe_instrument_array_ref): Declare.
6347
63482014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6349
6350 PR lto/61123
6351 * c.opt (fshort-enums): Add to LTO.
6352 * c.opt (fshort-wchar): Likewise.
6353
5c3d09f7
MP
63542014-06-16 Marek Polacek <polacek@redhat.com>
6355
6356 PR c/60439
6357 * c.opt (Wswitch-bool): Add Var.
6358
9cf32741
JJ
63592014-06-12 Jakub Jelinek <jakub@redhat.com>
6360
6361 PR middle-end/61486
6362 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6363 #pragma omp target teams or
6364 #pragma omp {,target }teams distribute simd.
6365
62984918
JM
63662014-06-12 Jason Merrill <jason@redhat.com>
6367
6368 * c.opt (Wabi=, fabi-compat-version): New.
6369 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6370 (c_common_post_options): Handle flag_abi_compat_version default.
6371 Disallow -fabi-compat-version=1.
6372 * c-common.h (abi_version_crosses): New.
6373
f961457f
JH
63742014-06-11 Jan Hubicka <hubicka@ucw.cz>
6375
adfac8df 6376 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
6377 section names that are no longer trees.
6378
92d28cbb
JJ
63792014-06-10 Jakub Jelinek <jakub@redhat.com>
6380
6381 PR fortran/60928
6382 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6383 (omp_pragmas): ... back here.
6384
742938c9
MP
63852014-06-05 Marek Polacek <polacek@redhat.com>
6386
6387 PR c/49706
6388 * c-common.c (warn_logical_not_parentheses): New function.
6389 * c-common.h (warn_logical_not_parentheses): Declare.
6390 * c.opt (Wlogical-not-parentheses): New option.
6391
9d548dfb
MP
63922014-06-04 Marek Polacek <polacek@redhat.com>
6393
6394 PR c/30020
6395 * c-common.c (check_case_bounds): Add location parameter.
6396 Use it.
6397 (c_add_case_label): Pass loc to check_case_bounds.
6398
fedfecef
MP
63992014-06-03 Marek Polacek <polacek@redhat.com>
6400
6401 PR c/60439
6402 * c.opt (Wswitch-bool): New option.
6403
f6a7cffc
TS
64042014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6405
040d18b6
TS
6406 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6407 Remove prototypes.
6408 (record_types_used_by_current_var_decl): Move prototype to where
6409 it belongs.
6410
f6a7cffc
TS
6411 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6412 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6413 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6414
632f2871
RS
64152014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6416
6417 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6418 * c-common.c (c_common_nodes_and_builtins): Don't initialize
6419 void_zero_node.
6420 * c-pretty-print.c (pp_c_void_constant): New function.
6421 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
6422 (c_pretty_printer::expression): Handle VOID_CST.
6423 * cilk.c (extract_free_variables): Likewise.
6424 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6425 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6426
766090c2
TS
64272014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6428
6429 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6430 * c-pragma.c (push_alignment): Adjust.
6431 (handle_pragma_push_options): Likewise.
6432
661a0813
MP
64332014-05-09 Marek Polacek <polacek@redhat.com>
6434
6435 PR c/50459
6436 * c-common.c (check_user_alignment): Return -1 if alignment is error
6437 node.
6438 (handle_aligned_attribute): Don't call default_conversion on
6439 FUNCTION_DECLs.
6440 (handle_vector_size_attribute): Likewise.
6441 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6442 (handle_sentinel_attribute): Call default_conversion and allow even
6443 integral types as an argument.
6444
2793eeab
MP
64452014-05-08 Marek Polacek <polacek@redhat.com>
6446
6447 PR c/61053
6448 * c-common.c (min_align_of_type): New function factored out from...
6449 (c_sizeof_or_alignof_type): ...here.
6450 * c-common.h (min_align_of_type): Declare.
6451
f827930a
MP
64522014-05-08 Marek Polacek <polacek@redhat.com>
6453
6454 PR c/61077
6455 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6456 parameter type of main.
6457
ca49b74e
DD
64582014-05-07 DJ Delorie <dj@redhat.com>
6459
6460 * c-cppbuiltin.c (print_bits_of_hex): New.
6461 (builtin_define_type_minmax): Print values using hex so as not to
6462 require a pre-computed list of string values.
6463
1d60af08
KZ
64642014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6465 Mike Stump <mikestump@comcast.net>
6466 Richard Sandiford <rdsandiford@googlemail.com>
6467
6468 * c-ada-spec.c: Include wide-int.h.
6469 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6470 (dump_generic_ada_node): Use wide-int interfaces.
6471 * c-common.c: Include wide-int-print.h.
6472 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6473 (pointer_int_sum): Use wide-int interfaces.
6474 (c_common_nodes_and_builtins): Use make_int_cst.
6475 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6476 (handle_alloc_size_attribute): Use wide-int interfaces.
6477 (get_nonnull_operand): Likewise.
6478 * c-format.c (get_constant): Use tree_fits_uhwi_p.
6479 * c-lex.c: Include wide-int.h.
6480 (narrowest_unsigned_type): Take a widest_int rather than two
6481 HOST_WIDE_INTs.
6482 (narrowest_signed_type): Likewise.
6483 (interpret_integer): Update accordingly. Use wide-int interfaces.
6484 (lex_charconst): Use wide-int interfaces.
6485 * c-pretty-print.c: Include wide-int.h.
6486 (pp_c_integer_constant): Use wide-int interfaces.
6487 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6488 INT_CST_LT_UNSIGNED.
6489
b15458be
RB
64902014-05-06 Richard Biener <rguenther@suse.de>
6491
6492 * c-opts.c (c_common_post_options): For -freestanding,
6493 -fno-hosted and -fno-builtin disable pattern recognition
6494 if not enabled explicitely.
6495
6577374e
MP
64962014-05-02 Marek Polacek <polacek@redhat.com>
6497
6498 * c.opt (Wsizeof-pointer-memaccess): Describe option.
6499
d00887e8
MP
65002014-05-01 Marek Polacek <polacek@redhat.com>
6501
6502 PR c/43245
6503 * c.opt (Wdiscarded-qualifiers): Add.
6504
f8ed5150
MP
65052014-04-30 Marek Polacek <polacek@redhat.com>
6506
6507 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
6508 INT_MIN / -1 sanitization only for integer types.
6509
45484dcf
MP
65102014-04-25 Marek Polacek <polacek@redhat.com>
6511
6512 PR c/18079
6513 * c-common.c (handle_noinline_attribute): Warn if the attribute
6514 conflicts with always_inline attribute.
6515 (handle_always_inline_attribute): Warn if the attribute conflicts
6516 with noinline attribute.
6517
38e514c0
MP
65182014-04-25 Marek Polacek <polacek@redhat.com>
6519
6520 PR c/60156
6521 * c-common.c (check_main_parameter_types): Warn about variadic main.
6522
44875f92
MS
65232014-04-24 Mike Stump <mikestump@comcast.net>
6524
6525 * c.opt (Wshadow-ivar): Default to on.
6526
dcaaa5a0
DP
65272014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6528
6529 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6530
c07d7c02
MP
65312014-04-23 Marek Polacek <polacek@redhat.com>
6532
6533 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
6534
1c33c9b7
JJ
65352014-04-22 Jakub Jelinek <jakub@redhat.com>
6536
6537 PR sanitizer/60275
6538 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6539 if flag_sanitize_undefined_trap_on_error.
6540 (ubsan_instrument_division, ubsan_instrument_shift,
6541 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
6542 if !flag_sanitize_recover.
6543
793c625f
MG
65442014-04-22 Marc Glisse <marc.glisse@inria.fr>
6545
6546 PR libstdc++/43622
6547 * c-common.c (registered_builtin_types): Make non-static.
6548 * c-common.h (registered_builtin_types): Declare.
6549
b0f1bf36
RB
65502014-04-14 Richard Biener <rguenther@suse.de>
6551 Marc Glisse <marc.glisse@inria.fr>
6552
6553 PR c/60819
6554 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
6555 apply may-alias the scalar pointer type when applicable.
6556
3b07fa4a
IZ
65572014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
6558
6559 PR middle-end/60467
6560 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6561 as possible argument for Cilk_spawn.
6562
cbbd2b1c
TB
65632014-04-11 Tobias Burnus <burnus@net-b.de>
6564
6565 PR c/60194
6566 * c.opt (Wformat-signedness): Add
6567 * c-format.c(check_format_types): Use it.
6568
6415bd5d
JM
65692014-04-11 Jason Merrill <jason@redhat.com>
6570
6571 PR c++/57926
6572 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6573 default_conversion for an array argument.
6574
6525783a
MP
65752014-04-08 Marek Polacek <polacek@redhat.com>
6576
6577 PR sanitizer/60745
6578 * c-ubsan.c: Include asan.h.
6579 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
6580
880a467b
NS
65812014-04-03 Nathan Sidwell <nathan@codesourcery.com>
6582
6583 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6584
7b59ff2d
MP
65852014-04-02 Marek Polacek <polacek@redhat.com>
6586
6587 * c-common.h (c_expand_expr): Remove declaration.
6588
8edbfaa6
JJ
65892014-03-28 Jakub Jelinek <jakub@redhat.com>
6590
6591 PR c++/60689
6592 * c-common.c (add_atomic_size_parameter): When creating new
6593 params vector, push the size argument first.
6594
07d72e1d
JJ
65952014-03-26 Jakub Jelinek <jakub@redhat.com>
6596
6597 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6598 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6599 ubsan_create_data callers.
6600
b35e0fa0
JJ
66012014-03-22 Jakub Jelinek <jakub@redhat.com>
6602
6603 PR debug/60603
6604 * c-opts.c (c_finish_options): Restore cb_file_change call to
6605 <built-in>.
6606
39a1ebb3
JJ
66072014-03-13 Jakub Jelinek <jakub@redhat.com>
6608
6609 PR middle-end/36282
6610 * c-pragma.c (apply_pragma_weak): Only look at
6611 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
6612 DECL_ASSEMBLER_NAME_SET_P (decl).
6613 (maybe_apply_pending_pragma_weaks): Exit early if
6614 vec_safe_is_empty (pending_weaks) rather than only when
6615 !pending_weaks.
6616 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
6617 set assembler name back to NULL afterwards.
6618
a07f6ed2
JM
66192014-03-11 Jason Merrill <jason@redhat.com>
6620
6621 * c.opt: Add -std=gnu++14.
6622
75b107f5
IB
66232014-03-11 Ian Bolton <ian.bolton@arm.com>
6624
6625 * c-opts.c (c_common_post_options): Don't override
6626 -ffp-contract=fast if unsafe-math-optimizations is on.
6627
f42c637e
PM
66282014-03-08 Paulo Matos <paulo@matos-sorge.com>
6629
22b15758 6630 * c.opt: Enable LTO FE for fshort-double.
f42c637e 6631
70e24808
JM
66322014-03-07 Jason Merrill <jason@redhat.com>
6633
6634 * c.opt: Add -std=c++14.
6635
3af9c5e9
MP
66362014-03-06 Marek Polacek <polacek@redhat.com>
6637
6638 PR c/60197
6639 * cilk.c (contains_cilk_spawn_stmt): New function.
6640 (contains_cilk_spawn_stmt_walker): Likewise.
6641 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
6642 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
6643
b3bdf019
JJ
66442014-03-03 Jakub Jelinek <jakub@redhat.com>
6645
6646 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
6647 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
6648 even when flag_preprocess_only.
6649
ca7e759d
JM
66502014-02-26 Jason Merrill <jason@redhat.com>
6651
6652 PR c++/59231
6653 PR c++/11586
6654 * c-common.c (shorten_compare): Don't check
6655 c_inhibit_evaluation_warnings.
6656
28e41874
JJ
66572014-02-19 Jakub Jelinek <jakub@redhat.com>
6658
cca615af
JJ
6659 PR c/37743
6660 * c-common.c (c_common_nodes_and_builtins): When initializing
6661 c_uint{16,32,64}_type_node, also set corresponding
6662 uint{16,32,64}_type_node to the same value.
6663
28e41874
JJ
6664 PR c++/60267
6665 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
6666 for PRAGMA_IVDEP if flag_preprocess_only.
6667
c2bf53a1
JJ
66682014-02-12 Jakub Jelinek <jakub@redhat.com>
6669
6670 PR c/60101
6671 * c-common.c (merge_tlist): If copy is true, call new_tlist,
6672 if false, add ADD itself, rather than vice versa.
6673 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
6674 copy. For SAVE_EXPR, only call merge_tlist once.
6675
8fcbce72
JJ
66762014-02-08 Jakub Jelinek <jakub@redhat.com>
6677
6678 PR middle-end/60092
6679 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
6680 and tree_to_uhwi.
6681 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
6682 functions.
6683 (c_common_attribute_table): Add alloc_align and assume_aligned
6684 attributes.
6685
0a756a3f
MP
66862014-02-06 Marek Polacek <polacek@redhat.com>
6687
6688 PR c/60087
6689 * c-common.c (warn_for_sign_compare): Call warning_at with location
6690 instead of warning.
6691
7ec4847a
MP
66922014-02-05 Marek Polacek <polacek@redhat.com>
6693
6694 PR c/53123
6695 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
6696 statement.
6697
66f20604
MP
66982014-02-04 Marek Polacek <polacek@redhat.com>
6699
6700 PR c/60036
6701 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
6702 SAVE_EXPR.
6703
5d77fb19
MG
67042014-02-03 Marc Glisse <marc.glisse@inria.fr>
6705
6706 PR c++/53017
6707 PR c++/59211
6708 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6709 handle_vector_size_attribute, handle_nonnull_attribute): Call
6710 default_conversion on the attribute argument.
6711 (handle_nonnull_attribute): Increment the argument number.
6712
81e5eca8
MP
67132014-01-31 Marek Polacek <polacek@redhat.com>
6714
6715 PR c/59963
6716 * c-common.c (add_atomic_size_parameter): Pass vNULL to
6717 build_function_call_vec.
6718 (resolve_overloaded_builtin): Likewise.
6719 * c-common.h (build_function_call_vec): Adjust declaration.
6720
68fca595
MP
67212014-01-30 Marek Polacek <polacek@redhat.com>
6722
6723 PR c/59940
6724 * c-common.h (unsafe_conversion_p): Adjust declaration.
6725 (warnings_for_convert_and_check): Likewise.
6726 (convert_and_check): Likewise.
6727 * c-common.c (unsafe_conversion_p): Add location parameter. Call
6728 expansion_point_location_if_in_system_header on it.
6729 (warnings_for_convert_and_check): Add location parameter. Call
6730 expansion_point_location_if_in_system_header on it. Use it.
6731 (convert_and_check): Add location parameter. Use it.
6732 (conversion_warning): Likewise.
6733 (c_add_case_label): Adjust convert_and_check calls.
6734 (scalar_to_vector): Adjust unsafe_conversion_p calls.
6735
b72271b9
BI
67362014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
6737
6738 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
6739 flag_cilkplus.
6740 * c-pragma.c (init_pragma): Likewise.
6741 * c.opt: Likewise.
6742
393e8e8b
MP
67432014-01-23 Marek Polacek <polacek@redhat.com>
6744
6745 PR c/59846
6746 * c-common.c (shorten_compare): Add location_t parameter.
6747 * c-common.h (shorten_binary_op): Adjust declaration.
6748
f04dda30
MP
67492014-01-23 Marek Polacek <polacek@redhat.com>
6750
6751 PR c/58346
6752 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
6753 * c-common.h: Declare it.
6754
621955cb
EB
67552014-01-20 Eric Botcazou <ebotcazou@adacore.com>
6756
6757 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
6758 * c-ada-spec.c (dump_ads): Likewise.
6759 (cpp_check): Likewise.
6760 (dump_ada_specs): Likewise.
6761
67622014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
6763
6764 PR c++/49718
6765 * c-common.c (handle_no_instrument_function_attribute): Allow
6766 no_instrument_function attribute in class member
6767 definition/declaration.
6768
241f845a
JJ
67692014-01-15 Jakub Jelinek <jakub@redhat.com>
6770
6771 PR c/58943
6772 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
6773 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
6774 being COMPOUND_EXPR.
6775 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
6776 operand a SAVE_EXPR and second MODIFY_EXPR.
6777
e83b8e2e
JJ
67782014-01-09 Jakub Jelinek <jakub@redhat.com>
6779
6780 PR target/58115
6781 * c-pch.c (c_common_write_pch): Call
6782 prepare_target_option_nodes_for_pch.
6783
23a5b65a
RS
67842014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6785
6786 Update copyright years
6787
f9030485
RS
67882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6789
6790 * array-notation-common.c, c-cilkplus.c: Use the standard form for
6791 the copyright notice.
6792
f2aa696b
EB
67932013-12-28 Eric Botcazou <ebotcazou@adacore.com>
6794
6795 * c-ada-spec.c (print_constructor): New function.
6796 (print_destructor): Retrieve the origin of the destructor.
6797 (print_ada_declaration): Revamp handling of constructors/destructors.
6798
3f8257db 67992013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
6800 Bill Maddox <maddox@google.com>
6801 Jason Merrill <jason@redhat.com>
6802
6803 * c.opt: Add -fdeclone-ctor-dtor.
6804 * c-opts.c (c_common_post_options): Default to on iff -Os.
6805
41958c28
BI
68062013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
6807
6808 * c-common.c (c_common_attribute_table): Added "cilk simd function"
6809 attribute.
6810 * c-pragma.h (enum pragma_cilk_clause): Remove.
6811 (enum pragma_omp_clause): Added the following fields:
6812 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6813 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6814 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6815 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6816 PRAGMA_CILK_CLAUSE_UNIFORM.
6817
b1726d6c 6818
12893402
BI
68192013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6820
6821 * cilk.c (cilk_outline): Made this function non-static.
6822 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6823 (create_cilk_wrapper): Added a new parameter: a function pointer.
6824 (c_install_body_w_frame_cleanup): Remove
6825 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6826 * c-common.h (cilk_outline): New prototype.
6827 (gimplify_cilk_spawn): Removed two parameters.
6828 (cilk_install_body_with_frame_cleanup): New prototype.
6829 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6830 CILK_SPAWN_STMT case.
6831
085b42ed
BS
68322013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6833
2ce064c3
BS
6834 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6835
085b42ed
BS
6836 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6837 (int_array_type_node): Remove.
6838 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6839
9e36c9ed
MP
68402013-12-05 Marek Polacek <polacek@redhat.com>
6841
6842 PR c/52023
6843 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6844 [ADJUST_FIELD_ALIGN].
6845
296674db
JM
68462013-12-04 Joseph Myers <joseph@codesourcery.com>
6847
6848 PR c/52023
6849 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6850 and check field alignment if set.
6851 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6852 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6853
b1726d6c 68542013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6855 Marek Polacek <polacek@redhat.com>
6856
6857 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6858 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6859
d7947e19
L
68602013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6861
6862 PR c/59309
6863 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6864 arguments.
6865
fad7652e
JJ
68662013-11-29 Jakub Jelinek <jakub@redhat.com>
6867
6868 PR c/59280
6869 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6870 goto invalid. If it is error_mark_node, don't issue further
6871 diagnostics.
6872
8b5e1202
SO
68732013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6874
6875 * c.opt (Wopenmp-simd): New.
6876
0a508bb6
JJ
68772013-11-22 Jakub Jelinek <jakub@redhat.com>
6878
6879 * c-ubsan.h (ubsan_instrument_return): New prototype.
6880 * c-ubsan.c (ubsan_instrument_return): New function.
6881
2fb9a547
AM
68822013-11-22 Andrew MacLeod <amacleod@redhat.com>
6883
6884 * c-common.c: Add required include files from gimple.h.
6885 * c-gimplify.c: Likewise
6886 * cilk.c: Likewise
6887
8400e75e
DM
68882013-11-22 David Malcolm <dmalcolm@redhat.com>
6889
6890 * c-common.c (unsafe_conversion_p): Remove use of
6891 EXPR_LOC_OR_HERE macro.
6892 (conversion_warning): Likewise.
6893 (warnings_for_convert_and_check): Likewise.
6894 (warn_for_collisions_1): Likewise.
6895 (shorten_compare): Likewise, and remove use of in_system_header
6896 macro, using the location from the former.
6897 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6898 (cb_def_pragma): Remove use of in_system_header macro.
6899 (lex_string): Likewise.
6900 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6901
eb1ce453
KZ
69022013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6903 Mike Stump <mikestump@comcast.net>
6904 Richard Sandiford <rdsandiford@googlemail.com>
6905
6906 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6907 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6908 tree_fits_shwi_p or tree_fits_uhwi_p.
6909 (dump_generic_ada_node): Likewise.
6910 * c-format.c (check_format_arg): Likewise.
6911 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6912
6b3b8c27
KZ
69132013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6914
6915 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6916
49b0aa18
JC
69172013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6918
6919 PR c/53001
6920 * c-common.c (unsafe_conversion_p): Make this function
6921 return an enumeration with more detail.
6922 (conversion_warning): Use the new return type of
6923 unsafe_conversion_p to separately warn either about conversions
6924 that lower floating point number precision or about the other
6925 kinds of conversions.
6926 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6927 (unsafe_conversion_p): switching return type to
6928 conversion_safety enumeration.
49b0aa18
JC
6929 * c.opt: Adding new warning -Wfloat-conversion and
6930 enabling it with -Wconversion.
6931
b826515a
BS
69322013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6933
8e745a17
JJ
6934 * c-opts.c: Include plugin.h.
6935 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6936
b9a55b13
MP
69372013-11-19 Marek Polacek <polacek@redhat.com>
6938
6939 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6940 call.
6941 (ubsan_instrument_shift): Likewise.
6942 (ubsan_instrument_vla): Likewise.
6943
7d362f6c
RS
69442013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6945
6946 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6947 cast to unsigned type.
6948
386b1f1f
RS
69492013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6950
6951 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6952 tree_low_cst.
6953 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6954 rather than tree_low_cst.
6955
ae7e9ddd
RS
69562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6957
6958 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6959 tree_to_uhwi throughout.
6960
9439e9a1
RS
69612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6962
6963 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6964 tree_low_cst (..., 0) with tree_to_shwi throughout.
6965
cc269bb6
RS
69662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6967
6968 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6969 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6970
9541ffee
RS
69712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6972
6973 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6974 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6975
c02065fc
AH
69762013-11-15 Aldy Hernandez <aldyh@redhat.com>
6977
6978 * c-cilkplus.c: New file.
6979 * c-common.c (readonly_error): Add location argument.
6980 * c-common.h (readonly_error): Same.
6981 (c_finish_cilk_clauses): Protoize.
6982 (c_check_cilk_loop): Same.
6983 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6984 Do not fail on error_mark_node.
6985 Abstract increment canonicalization to here...
6986 (c_omp_for_incr_canonicalize_ptr): New.
6987 c-pragma.c (init_pragma): Register "simd" pragma.
6988 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6989 (enum pragma_cilk_clause): New.
6990
9cc65f15
RS
69912013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6992
6993 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6994 wchar_type and host_integerp checks.
6995
18f429e2
AM
69962013-11-14 Andrew MacLeod <amacleod@redhat.com>
6997
6998 * c-common.c: Likewise.
6999 * c-gimplify.c: Likewise.
7000 * cilk.c: Likewise.
7001
d8a2d370
DN
70022013-11-14 Diego Novillo <dnovillo@google.com>
7003
7004 * c-common.c: Include fold-const.h.
7005 Include stor-layout.h.
7006 Include calls.h.
7007 Include stringpool.h.
7008 Include attribs.h.
7009 Include varasm.h.
7010 Include trans-mem.h.
7011 * c-cppbuiltin.c: Include stor-layout.h.
7012 Include stringpool.h.
7013 * c-format.c: Include stringpool.h.
7014 * c-lex.c: Include stringpool.h.
7015 Include stor-layout.h.
7016 * c-pragma.c: Include stringpool.h.
7017 Include attribs.h.
7018 Include varasm.h.
7019 Include gcc-symtab.h.
7020 * c-pretty-print.c: Include stor-layout.h.
7021 Include attribs.h.
7022 * cilk.c: Include stringpool.h.
7023 Include calls.h.
7024
38b7bc7f
JM
70252013-11-13 Joseph Myers <joseph@codesourcery.com>
7026
7027 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7028 * c-common.c (c_common_reswords): Add __auto_type.
7029 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7030
45b0be94
AM
70312013-11-12 Andrew MacLeod <amacleod@redhat.com>
7032
18f429e2
AM
7033 * c-common.c: Include gimplify.h.
7034 * c-gimplify.c: Likewise.
7035 * cilk.c: Likewise.
7036 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7037 * c-ubsan.c: Don't include gimple.h.
45b0be94 7038
582d9b50
JM
70392013-11-12 Joseph Myers <joseph@codesourcery.com>
7040
7041 * c-common.c (c_common_reswords): Add _Thread_local.
7042
6b28e197
JM
70432013-11-09 Joseph Myers <joseph@codesourcery.com>
7044
7045 * c-common.c (atomic_size_supported_p): New function.
7046 (resolve_overloaded_atomic_exchange)
7047 (resolve_overloaded_atomic_compare_exchange)
7048 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7049 Use it instead of comparing size with a local list of sizes.
7050
267bac10
JM
70512013-11-07 Andrew MacLeod <amacleod@redhat.com>
7052 Joseph Myers <joseph@codesourcery.com>
7053
7054 * c-common.h (enum rid): Add RID_ATOMIC.
7055 * c-common.c (c_common_reswords): Add _Atomic.
7056 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7057 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7058 * c-format.c (check_format_types): Check for extra _Atomic
7059 qualifiers in format argument.
7060 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7061 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7062
5157b91e
TB
70632013-11-06 Tobias Burnus <burnus@net-b.de>
7064
7065 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7066
6dbe0958
JM
70672013-11-06 Joseph Myers <joseph@codesourcery.com>
7068
7069 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7070 standards modes.
7071 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7072 to mean lack of IEEE 754 support.
7073
e8ff5196
TB
70742013-11-05 Tobias Burnus <burnus@net-b.de>
7075
7076 * c.opt (-Wdate-time): New option
7077 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7078
254a0760
JM
70792013-11-05 Joseph Myers <joseph@codesourcery.com>
7080
7081 * c-cppbuiltin.c (cpp_iec_559_value): Test
7082 flag_excess_precision_cmdline not flag_excess_precision.
7083
6d7f7e0a
TB
70842013-11-05 Tobias Burnus <burnus@net-b.de>
7085
7086 * c.opt (fopenmp-simd): New option.
7087 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7088 (omp_pragmas): ... this new struct.
7089 (c_pp_lookup_pragma): Also walk omp_pragmas.
7090 (init_pragma): Init pragmas for -fopenmp-simd.
7091
55a7f02f
MP
70922013-11-04 Marek Polacek <polacek@redhat.com>
7093
7094 PR c++/58979
7095 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7096
9193fb05
JM
70972013-11-04 Joseph Myers <joseph@codesourcery.com>
7098
7099 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7100 New functions.
7101 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7102
94159ecf
EB
71032013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7104
7105 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7106 (dump_ada_specs): Adjust prototype of second callback.
7107 * c-ada-spec.c (cpp_check): New global variable.
7108 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7109 (print_generic_ada_decl): Likewise.
7110 (has_static_fields): Change return type to bool and add guard.
7111 (has_nontrivial_methods): New predicate.
7112 (is_tagged_type): Change return type to bool.
7113 (separate_class_package): Call has_nontrivial_methods.
7114 (pp_ada_tree_identifier): Minor tweaks.
7115 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7116 (dump_ada_array_domains): Likewise.
7117 (dump_ada_array_type): Likewise.
7118 (dump_template_types): Remove cpp_check parameter and do not pass it to
7119 dump_generic_ada_node.
7120 (dump_ada_template): Likewise.
7121 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7122 recursively.
7123 (print_ada_methods): Change return type to integer. Remove cpp_check
7124 parameter and do not pass it down.
7125 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7126 dump_generic_ada_node.
7127 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7128 accessing methods.
7129 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7130 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7131 value of print_ada_methods.
7132 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7133 Set cpp_check to it before invoking dump_ada_nodes.
7134 (dump_ada_specs): Likewise.
7135
b906f4ca
MP
71362013-11-03 Marek Polacek <polacek@redhat.com>
7137
7138 * c-ubsan.c: Don't include hash-table.h.
7139 (ubsan_instrument_vla): New function.
7140 * c-ubsan.h: Declare it.
7141
5e20cdc9
DM
71422013-10-31 David Malcolm <dmalcolm@redhat.com>
7143
7144 Automated part of renaming of symtab_node_base to symtab_node.
7145
7146 Patch autogenerated by rename_symtab.py from
7147 https://github.com/davidmalcolm/gcc-refactoring-scripts
7148 revision 58bb219cc090b2f4516a9297d868c245495ee622
7149
7150 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7151 symtab_node_base to symtab_node.
7152
7057e645
ESR
71532013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7154
8e745a17 7155 Implement C++14 digit separators.
7057e645
ESR
7156 * c-lex.c (interpret_float): Remove digit separators from scratch string
7157 before building real literal.
7158
193ea7bc
JJ
71592013-10-30 Jakub Jelinek <jakub@redhat.com>
7160
7161 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7162
939b37da
BI
71632013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7164
7165 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7166 fields.
7167 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7168 enabled.
7169 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7170 (insert_cilk_frame): New prototype.
7171 (cilk_init_builtins): Likewise.
7172 (gimplify_cilk_spawn): Likewise.
7173 (c_cilk_install_body_w_frame_cleanup): Likewise.
7174 (cilk_detect_spawn_and_unwrap): Likewise.
7175 (cilk_set_spawn_marker): Likewise.
7176 (build_cilk_sync): Likewise.
7177 (build_cilk_spawn): Likewise.
7178 * cilk.c: New file.
7179
67348ccc
DM
71802013-10-29 David Malcolm <dmalcolm@redhat.com>
7181
7182 Patch autogenerated by refactor_symtab.py from
7183 https://github.com/davidmalcolm/gcc-refactoring-scripts
7184 revision 58bb219cc090b2f4516a9297d868c245495ee622
7185
7186 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7187 to a true class hierarchy.
7188 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7189
d570872d
RS
71902013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7191
7192 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7193
98906124
JL
71942013-10-26 Jeff Law <law@redhat.com>
7195
adfac8df
JJ
7196 * c-common.c (c_define_builtins): Remove mudflap support.
7197 * c.opt: Ignore and warn for mudflap options.
98906124 7198
d73749df 71992013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7200
7201 PR other/33426
7202 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7203 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7204
3f04b1bb
JM
72052013-10-23 Jason Merrill <jason@redhat.com>
7206
7207 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7208
acf0174b
JJ
72092013-10-11 Jakub Jelinek <jakub@redhat.com>
7210
acd15a28
JJ
7211 * c-common.h (omp_clause_mask::operator !=): New method.
7212 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7213 instead of if (mask & something) tests everywhere.
7214
acf0174b
JJ
7215 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7216 201307 instead of 201107.
7217 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7218 (c_common_attribute_table): Add "omp declare target" and
7219 "omp declare simd" attributes.
7220 (handle_omp_declare_target_attribute,
7221 handle_omp_declare_simd_attribute): New functions.
7222 * c-omp.c: Include c-pragma.h.
7223 (c_finish_omp_taskgroup): New function.
7224 (c_finish_omp_atomic): Add swapped argument, if true,
7225 build the operation first with rhs, lhs arguments and use NOP_EXPR
7226 build_modify_expr.
7227 (c_finish_omp_for): Add code argument, pass it down to make_code.
7228 (c_omp_split_clauses): New function.
7229 (c_split_parallel_clauses): Removed.
7230 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7231 c_omp_declare_simd_clauses_to_decls): New functions.
7232 * c-common.h (omp_clause_mask): New type.
7233 (OMP_CLAUSE_MASK_1): Define.
7234 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7235 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7236 omp_clause_mask::operator |, omp_clause_mask::operator &,
7237 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7238 omp_clause_mask::operator ==): New methods.
7239 (enum c_omp_clause_split): New.
7240 (c_finish_omp_taskgroup): New prototype.
7241 (c_finish_omp_atomic): Add swapped argument.
7242 (c_finish_omp_for): Add code argument.
7243 (c_omp_split_clauses): New prototype.
7244 (c_split_parallel_clauses): Removed.
7245 (c_omp_declare_simd_clauses_to_numbers,
7246 c_omp_declare_simd_clauses_to_decls): New prototypes.
7247 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7248 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7249 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7250 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7251 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7252 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7253 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7254 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7255 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7256 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7257 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7258 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7259 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7260 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7261 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7262 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7263 PRAGMA_OMP_CLAUSE_UNIFORM.
7264
826cacfe
MG
72652013-10-09 Marc Glisse <marc.glisse@inria.fr>
7266
7267 PR tree-optimization/20318
7268 * c-common.c (handle_returns_nonnull_attribute): New function.
7269 (c_common_attribute_table): Add returns_nonnull.
7270
2284b034
MG
72712013-10-03 Marc Glisse <marc.glisse@inria.fr>
7272
7273 PR c++/19476
7274 * c.opt (fcheck-new): Move to common.opt.
7275
b56e9788
MP
72762013-09-25 Marek Polacek <polacek@redhat.com>
7277 Jakub Jelinek <jakub@redhat.com>
7278
7279 PR sanitizer/58413
7280 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7281 an expression if we can prove it is correct.
7282 (ubsan_instrument_division): Likewise. Remove unnecessary
7283 check.
7284
ce6923c5
MP
72852013-09-18 Marek Polacek <polacek@redhat.com>
7286
7287 PR sanitizer/58411
7288 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7289 Declare it.
7290 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7291
fb5610fb
IS
72922013-09-14 Iain Sandoe <iain@codesourcery.com>
7293
7294 PR target/48094
7295 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7296 fobjc-gc, freplace-objc-classes): Accept for LTO.
7297
88b0e79e
JC
72982013-09-13 Jacek Caban <jacek@codeweavers.com>
7299
7300 * c-target.def: New hook
7301
c9b0866a
PC
73022013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7303
7304 PR c++/43452
7305 * c.opt (Wdelete-incomplete): Add.
7306
0af94e6f
JR
73072013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7308
7309 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7310 (vector_types_compatible_elements_p): New function.
7311 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7312 declaration.
7313 (vector_types_compatible_elements_p): Declare.
7314
7c26172c
GDR
73152013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7316
7317 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7318 a virtual member function.
7319 (pp_simple_type_specifier): Remove.
7320 (pp_c_type_specifier): Likewise.
7321 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7322 Rename from pp_c_type_specifier. Adjust.
7323 (c_pretty_printer::c_pretty_printer): Do not assign to
7324 simple_type_specifier.
7325
20059c8b
GDR
73262013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7327
7328 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7329 member function.
7330 (c_pretty_printer::storage_class_specifier): Likewise.
7331 (c_pretty_printer::initializer): Likewise.
7332 (pp_declaration): Remove.
7333 (pp_declaration_specifiers): Likewise.
7334 (pp_abstract_declarator): Likewise.
7335 (pp_declarator): Likewise.
7336 (pp_type_id): Likewise.
7337 (pp_statement): Likewise.
7338 (pp_constant): Likewise.
7339 (pp_id_expression): Likewise.
7340 (pp_primary_expression): Likewise.
7341 (pp_unary_expression): Likewise.
7342 (pp_multiplicative_expression): Likewise.
7343 (pp_conditional_expression): Likewise.
7344 (pp_assignment_expression): Likewise.
7345 (pp_expression): Likewise.
7346 (pp_c_type_id): Likewise.
7347 (pp_c_storage_class_specifier): Likewise.
7348 * c-pretty-print.c (pp_c_type_cast): Tidy.
7349 (pp_c_pointer): Likewise.
7350 (pp_c_type_specifier): Likewise.
7351 (pp_c_parameter_type_list): Likewise.
7352 (pp_c_function_definition): Likewise.
7353 (pp_c_init_declarator): Likewise.
7354 (pp_c_initializer_list): Likewise.
7355 (pp_c_constructor_elts): Likewise.
7356 (c_pretty_printer::direct_abstract_declarator): Likewise.
7357 (c_pretty_printer::declaration_specifiers): Likewise.
7358 (c_pretty_printer::primary_expression): Likewise.
7359 (c_pretty_printer::postfix_expression): Likewise.
7360 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7361 (c_pretty_printer::storage_class_specifier): Rename from
7362 pp_c_storage_class_specifier.
7363 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7364 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7365 storage_class_specifier, initializer, offset_list, flags.
7366
de5a5fa1
MP
73672013-08-30 Marek Polacek <polacek@redhat.com>
7368
7369 * c-ubsan.c: New file.
7370 * c-ubsan.h: New file.
7371
8f0e4d72
GDR
73722013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7373
7374 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7375 member function.
7376 (c_pretty_printer::declaration_specifiers): Likewise.
7377 (c_pretty_printer::declarator): Likewise.
7378 (c_pretty_printer::abstract_declarator): Likewise.
7379 (c_pretty_printer::direct_abstract_declarator): Likewise.
7380 (c_pretty_printer::direct_declarator): Likewise.
7381 (c_pretty_printer::function_specifier): Likewise.
7382 (pp_declaration): Adjust.
7383 (pp_declaration_specifiers): Likewise.
7384 (pp_abstract_declarator): Likewise.
7385 (pp_direct_declarator): Likewise.
7386 (pp_function_specifier): Likewise.
7387 (pp_direct_abstract_declarator): Remove as unused.
7388 (pp_c_declaration): Remove.
7389 (pp_c_declaration_specifiers): Likewise.
7390 (pp_c_declarator): Likewise.
7391 (pp_c_direct_declarator): Likewise.
7392 (pp_c_function_specifier): Likewise.
7393 (pp_c_direct_abstract_declarator): Likewise.
7394 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7395 from pp_c_abstract_declarator. Adjust.
7396 (c_pretty_printer::direct_abstract_declarator): Rename from
7397 pp_c_direct_abstract_declarator. Adjust.
7398 (c_pretty_printer::function_specifier): Rename from
7399 pp_c_function_specifier. Adjust.
7400 (c_pretty_printer::declaration_specifiers): Rename from
7401 pp_c_declaration_specifiers. Adjust.
7402 (c_pretty_printer::direct_declarator): Rename from
7403 pp_c_direct_declarator. Adjust.
7404 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7405 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7406 (c_pretty_printer::c_pretty_printer): Do not assign to
7407 declaration, declaration_specifiers, declarator,
7408 direct_declarator, direct_abstract_declarator, function_specifier.
7409
00d34d3a
GDR
74102013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7411
7412 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7413 virtual member function.
7414 (c_pretty_printer::multiplicative_expression): Likewise.
7415 (c_pretty_printer::conditional_expression): Likewise.
7416 (c_pretty_printer::assignment_expression): Likewise.
7417 (c_pretty_printer::expression): Likewise.
7418 (pp_unary_expression): Adjust.
7419 (pp_multiplicative_expression): Likewise.
7420 (pp_assignment_expression): Likewise.
7421 (pp_conditional_expression): Likewise.
7422 (pp_expression): Likewise.
7423 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7424 from pp_c_unary_expression. Adjust.
7425 (c_pretty_printer::multiplicative_expression): Rename from
7426 pp_c_multiplicative_expression. Adjust.
7427 (c_pretty_printer::conditional_expression): Rename from
7428 pp_c_conditional_expression. Adjust.
7429 (c_pretty_printer::assignment_expression): Rename from
7430 pp_c_assignment_expression. Adjust.
7431 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7432 (c_pretty_printer::c_pretty_printer): Do not assign to
7433 unary_expression, multiplicative_expression,
7434 conditional_expression, expression.
7435
fb22178f
GDR
74362013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7437
7438 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7439 virtual member function.
7440 (pp_postfix_expression): Adjust.
7441 (pp_c_postfix_expression): Remove.
7442 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7443 from pp_c_postfix_expression. Adjust.
7444 (c_pretty_printer::c_pretty_printer): Do not assign to
7445 postfix_expression.
7446
7ecc2600
GDR
74472013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7448
7449 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7450 virtua member function.
7451 (pp_primary_expression): Adjust.
7452 (pp_c_primary_expression): Remove.
7453 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7454 from pp_c_primary_expression. Adjust.
7455 (pp_c_initializer_list): Use pp_primary_expression.
7456 (c_pretty_printer::c_pretty_printer): Do not assign to
7457 primary_expression.
7458
0691175f
GDR
74592013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7460
7461 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7462 * c-pretty-print.c (M_): Remove.
7463 (c_pretty_printer::translate_string): Define.
7464 (pp_c_type_specifier): Use it.
7465 (pp_c_primary_expression): Likewise.
7466 (pp_c_expression): Likewise.
7467
66dfe4c4
GDR
74682013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7469
7470 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
7471 virtual function.
7472 (pp_c_id_expression): Remove.
7473 (pp_id_expression): Adjust.
7474 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7475 pp_c_id_expression. Adjust.
7476 (pp_c_postfix_expression): Use pp_id_expression.
7477 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7478
ca43e9d5
GDR
74792013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7480
7481 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7482 member function.
7483 (pp_constant): Adjust.
7484 (pp_c_constant): Remove.
7485 * c-pretty-print.c (c_pretty_printer::constant): Rename from
7486 pp_c_constant. Adjust.
7487 (pp_c_constant)
7488 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7489 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7490
da6ca2b5
GDR
74912013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7492
7493 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7494 (c_pretty_printer::c_pretty_printer): Declare.
7495 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7496 c_pretty_printer_init. Adjust.
7497 (print_c_tree): Do not call c_pretty_printer_init.
7498 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
7499
65a372f4
AC
75002013-08-09 Arnaud Charlet <charlet@adacore.com>
7501
7502 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7503
fd9b0f32
PC
75042013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
7505
7506 PR c++/58080
7507 * c-common.c (pointer_int_sum): Add bool parameter.
7508 * c-common.h (pointer_int_sum): Adjust declaration.
7509
e0aec1e9
GDR
75102013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
7511
7512 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
7513 c_pretty_printer variable.
7514
b066401f
GDR
75152013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7516
7517 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7518 (pp_base): Remove.
7519 (pp_c_base): Likewise. Adjust users.
7520 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7521 (pp_c_whitespace): Do not call pp_base.
7522 (pp_c_left_paren): Likewise.
7523 (pp_c_right_paren): Likewise.
7524 (pp_c_left_brace): Likewise.
7525 (pp_c_right_brace): Likewise.
7526 (pp_c_left_bracket): Likewise.
7527 (pp_c_right_bracket): Likewise.
7528 (pp_c_dot): Likewise.
7529 (pp_c_ampersand): Likewise.
7530 (pp_c_star): Likewise.
7531 (pp_c_arrow): Likewise.
7532 (pp_c_semicolon): Likewise.
7533 (pp_c_complement): Likewise.
7534 (pp_c_exclamation): Likewise.
7535 (pp_c_direct_declarator): Likewise.
7536 (pp_c_ws_string): Likewise.
7537 (pp_c_identifier): Likewise.
7538 (pp_c_statement): Likewise.
7539 (print_c_tree): Likewise.
7540
65e5a578
ESR
75412013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
7542
7543 PR c++/58072
7544 * c-common.c (c_parse_error): Catch user-defined literal tokens and
7545 provide useful error strings.
7546
137a1a27
GDR
75472013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7548
7549 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7550 printer functions instead of pp_string or operators and punctuators.
7551 (dump_generic_ada_node): Likewise.
7552 * c-pretty-print.c (pp_c_type_specifier): Likewise.
7553 (pp_c_relational_expression): Likewise.
7554 (pp_c_logical_or_expression): Likewise.
7555
07838b13
GDR
75562013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7557
7558 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7559 functions instead of pp_character.
7560 (pp_ada_tree_identifier): Likewise.
7561 (dump_ada_double_name): Likewise.
7562 (dump_ada_function_declaration): Likewise.
7563 (dump_ada_array_domains): Likewise.
7564 (dump_template_types): Likewise.
7565 (dump_generic_ada_node): Likewise.
7566 (print_ada_declaration): Likewise.
7567 (print_ada_struct_decl): Likewise.
7568 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7569
433cc7b0
TT
75702013-07-23 Tom Tromey <tromey@redhat.com>
7571
7572 * c-common.h (enum rid) <RID_GENERIC>: New constant.
7573 * c-common.c (c_common_reswords): Add _Generic.
7574
688010ba
OB
75752013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
7576
7577 * c-common.c: Fix typos.
7578 * c-common.h: Likewise.
7579
2a99e5e6
LL
75802013-07-13 Lubos Lunak <l.lunak@suse.cz>
7581
7582 PR c++/55203
7583 * c-common.c (c_common_attribute_table): Add warn_unused.
7584 (handle_warn_unused_attribute): New.
7585
c26302d5
JJ
75862013-07-10 Jakub Jelinek <jakub@redhat.com>
7587
7588 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7589 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7590
dfeadaa0
PC
75912013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
7592
7593 PR c++/57869
7594 * c.opt: Add Wconditionally-supported.
7595
6a2fa4b2
GS
75962013-07-08 Graham Stott <graham.stott@btinternet.com>
7597
adfac8df 7598 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
7599 unused variables l_length and l_node.
7600
ecdbd01a 76012013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
7602
7603 PR c/57821
7604 * c-common.c (complete_array_type): Delay folding first index
7605 like other indices. When folding, check for index overflow.
7606
bedc293e
MG
76072013-06-27 Marc Glisse <marc.glisse@inria.fr>
7608
7609 PR c++/57509
7610 * c-common.h (c_build_vec_perm_expr): New complain argument.
7611 * c-common.c (c_build_vec_perm_expr): Likewise.
7612 Use save_expr also in C++.
7613
604b2bfc
GDR
76142013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7615
7616 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
7617 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7618 * c-opts.c (c_common_post_options): Likewise.
7619
dfeadaa0 76202013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
7621
7622 * array-notation-common.c (length_mismatch_in_expr): Changed the
7623 parameter type's from a dynamic array to a vec_tree. Also removed
7624 the size parameters.
7625 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
7626 the change above.
7627
2ce86d2e
BI
76282013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
7629
7630 * c-common.h (struct cilkplus_an_parts): New structure.
7631 (struct cilkplus_an_loop_parts): Likewise.
7632 (cilkplus_extract_an_triplets): New prototype.
7633 (fix_sec_implicit_args): Likewise.
7634 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
7635 (fix_sec_implicit_args): Likewise.
604b2bfc 7636
07a6825b
BI
76372013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
7638
7639 * array-notation-common.c (find_inv_trees): Removed an unwanted
7640 typecasting.
7641 * c-common.h (struct inv_list::additional_tcodes): Changed type from
7642 enum rid to enum tree_code.
7643
08346abd
JH
76442013-06-11 Jan Hubicka <jh@suse.cz>
7645
7646 * c-common.c (handle_alias_ifunc_attribute): Do not set
7647 DECL_EXTERNAL for weakref variables.
7648 * c-pragma.c (handle_pragma_weak): Make sure aliases
7649 are not declared as external.
7650
d60f1706
BI
76512013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
7652
7653 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
7654 function from c/c-array-notation.c.
7655 (is_cilkplus_reduce_builtin): Likewise.
7656 (find_rank): Likewise.
7657 (extract_array_notation_exprs): Likewise.
7658 (replace_array_notations): Likewise.
7659 (find_inv_trees): Likewise.
7660 (replace_inv_trees): Likewise.
7661 (contains_array_notation_expr): Likewise.
7662 (find_correct_array_notation_type): Likewise.
7663 * c-common.h (struct inv_list): Moved this struct from the file
7664 c/c-array-notation.c and added a new field called additional tcodes.
7665 (length_mismatch_in_expr_p): New prototype.
7666 (is_cilkplus_reduce_builtin): Likewise.
7667 (find_rank): Likewise.
7668 (extract_array_notation_exprs): Likewise.
7669 (replace_array_notation): Likewise.
7670 (find_inv_trees): Likewise.
7671 (replace_inv_trees): Likewise.
7672 (find_correct_array_notation_type): Likewise.
dfeadaa0 7673
36536d79
BI
76742013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
7675
7676 * c-common.c (c_define_builtins): When cilkplus is enabled, the
7677 function array_notation_init_builtins is called.
7678 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
7679 * c-common.def (ARRAY_NOTATION_REF): New tree.
7680 * c-common.h (build_array_notation_expr): New function declaration.
7681 (build_array_notation_ref): Likewise.
7682 (extract_sec_implicit_index_arg): New extern declaration.
7683 (is_sec_implicit_index_fn): Likewise.
7684 (ARRAY_NOTATION_CHECK): New define.
7685 (ARRAY_NOTATION_ARRAY): Likewise.
7686 (ARRAY_NOTATION_START): Likewise.
7687 (ARRAY_NOTATION_LENGTH): Likewise.
7688 (ARRAY_NOTATION_STRIDE): Likewise.
7689 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
7690 ARRAY_NOTATION_REF.
7691 (pp_c_expression): Likewise.
7692 * c.opt (flag_enable_cilkplus): New flag.
7693 * array-notation-common.c: New file.
7694
f7716d57
JJ
76952013-05-14 Jakub Jelinek <jakub@redhat.com>
7696
7697 PR c++/57274
7698 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
7699
a5e0cd1d
MG
77002013-05-10 Marc Glisse <marc.glisse@inria.fr>
7701
7702 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
7703 vectors.
7704
f6bc1c4a
HS
77052013-05-07 Han Shen <shenhan@google.com>
7706
7707 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
7708
3f12f6e9
SKS
77092013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7710
7711 * c-common.c (check_user_alignment): Emit error for negative values.
7712
61949153
PC
77132013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7714
7715 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
7716
e93e18e9
PC
77172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7718
7719 * c-cppbuiltin.c (c_cpp_builtins): Do not define
7720 __GXX_EXPERIMENTAL_CXX1Y__.
7721
44d90fe1 77222013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 7723 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
7724
7725 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
7726 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
7727 to simply use OPT_Wpointer_arith.
7728 (c_sizeof_or_alignof_type): Likewise.
7729
13f39b2e
PC
77302013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7731
7732 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
7733
4b84d650
JJ
77342013-04-12 Jakub Jelinek <jakub@redhat.com>
7735
7736 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
7737 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
7738 specifiers.
7739
fb037b5d
SB
77402013-04-07 Steven Bosscher <steven@gcc.gnu.org>
7741
7742 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
7743
4e856798
PC
77442013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
7745
7746 * c-common.c (pointer_int_sum): Remove dead code.
7747
4b1baac8
RS
77482013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
7749
7750 PR middle-end/56524
7751 * c-common.c (handle_optimize_attribute): Don't call
7752 save_optabs_if_changed.
7753
0b50e654
JJ
77542013-03-05 Jakub Jelinek <jakub@redhat.com>
7755
7756 PR middle-end/56461
7757 * c-pch.c (pch_init): Free target_validity at the end.
7758
48c41403
JJ
77592013-03-04 Jakub Jelinek <jakub@redhat.com>
7760
7761 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
7762
e664c61c
KS
77632013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
7764 Jakub Jelinek <jakub@redhat.com>
7765
7766 PR sanitizer/56454
7767 * c-common.c (handle_no_sanitize_address_attribute): New function.
7768 (c_common_attribute_table): Add no_sanitize_address attribute.
7769 (handle_no_address_safety_analysis_attribute): Add
7770 no_sanitize_address attribute, not no_address_safety_analysis
7771 attribute.
7772
a475fd3d 77732013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
7774
7775 PR target/52555
7776 * c-common.c (handle_optimize_attribute): Call
7777 save_optabs_if_changed.
7778
f6007d99
JJ
77792013-02-18 Jakub Jelinek <jakub@redhat.com>
7780 Steven Bosscher <steven@gcc.gnu.org>
7781
7782 PR pch/54117
7783 * c-opts.c (c_common_post_options): If debug info is enabled
7784 and non-dwarf*, refuse to load PCH files and when writing PCH
7785 file warn.
7786
cf35e2b1
JJ
77872013-02-05 Jakub Jelinek <jakub@redhat.com>
7788
7789 PR middle-end/56167
7790 * c-common.c (handle_error_attribute): Fix condition.
7791
32887460
JJ
77922013-01-30 Jakub Jelinek <jakub@redhat.com>
7793
7794 PR c++/55742
7795 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7796
5af057d8
JM
77972013-01-18 Jason Merrill <jason@redhat.com>
7798
7799 PR target/54908
7800 * c.opt (-fextern-tls-init): New.
7801 * c-opts.c (c_common_post_options): Handle it.
7802
cc83c823
JJ
78032013-01-09 Jakub Jelinek <jakub@redhat.com>
7804
7805 PR c/48418
7806 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7807 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7808 and is either negative or bigger or equal to type precision
7809 of the first operand.
7810
a859517f
MP
78112012-12-03 Marek Polacek <polacek@redhat.com>
7812
7813 PR c/55570
7814 * c-common.c (check_user_alignment): Swap order of tests,
7815 check TREE_CODE first.
7816
2d7aa578
ESR
78172012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
7818
7819 PR c++/52654
7820 * c-common.h (overflow_type): New enum.
7821 (build_userdef_literal): Add overflow_type argument.
7822 (tree_userdef_literal): Add overflow_type.
7823 (USERDEF_LITERAL_OVERFLOW): New access macro.
7824 * c-common.c (build_userdef_literal): Add overflow_type
7825 argument.
7826 * c-lex.c (c_lex_with_flags): Add overflow_type to
7827 build_userdef_literal calls.
7828 (interpret_integer, interpret_float): Add overflow_type argument.
7829
cc3c4f62
RB
78302012-11-28 Richard Biener <rguenther@suse.de>
7831
7832 PR c/35634
7833 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7834 here and use a type with proper overflow behavior for types that would
7835 need to be promoted for the arithmetic.
7836
77bc5132
JJ
78372012-11-23 Jakub Jelinek <jakub@redhat.com>
7838
7839 PR sanitizer/55435
7840 * c-common.c (handle_no_address_safety_analysis_attribute): New
7841 function.
7842 (c_common_attribute_table): Add no_address_safety_analysis.
7843
5dc99c46
SB
78442012-11-16 Simon Baldwin <simonb@google.com>
7845
7846 * c.opt: Add f[no-]canonical-system-headers.
7847 * c-opts.c (c_common_handle_option): Handle
7848 OPT_fcanonical_system_headers.
7849
a4a0016d
ESR
78502012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7851
7852 PR c++/54413
7853 * c-opts.c (c_common_handle_option): Set new flags.
7854 * c.opt: Describe new flags.
7855
7dbb85a7
JM
78562012-11-09 Jason Merrill <jason@redhat.com>
7857
7858 * c.opt (Wabi-tag): New.
7859
ad7bac31
AK
78602012-11-09 Andi Kleen <ak@linux.intel.com>
7861
7862 PR 55139
7863 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7864 MEMMODEL_MASK
ad7bac31 7865
7332899a
MLI
78662012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7867
7868 PR c/53063
7869 * c.opt (Wformat): Make it Alias Wformat=1.
7870 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7871 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7872 LangEnabledBy.
7873 (Wformat=): RejectNegative. Use LangEnabledBy.
7874 (Wnonnull): Use LangEnabledBy.
7875 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7876 * c-format.c (set_Wformat): Delete.
7877 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7878 (maybe_read_dollar_number): Likewise.
7879 (avoid_dollar_number): Likewise.
7880 (finish_dollar_format_checking): Likewise.
7881 (check_format_info): Likewise.
7882 (check_format_info_main): Likewise.
7883 (check_format_types): Likewise.
7884 (format_type_warning): Likewise.
7885 * c-common.c (int): Likewise.
7886 (check_function_sentinel): Likewise.
7887 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7888
34a180a6
MLI
78892012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7890
7891 PR c/53063
7892 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7893 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7894 Use LangEnabledBy.
7895 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7896 common.opt.
7897 (Wvariadic-macros): Init(1).
7898 * c-opts.c (c_common_handle_option): Do not handle them
7899 explicitly.
7900 (c_common_post_options): Likewise.
7901 (sanitize_cpp_opts): warn_unused_macros is now
7902 cpp_warn_unused_macros.
7903 (push_command_line_include): Likewise.
7904 * c-common.c (warn_unknown_pragmas): Do not define.
7905 * c-common.h (warn_unknown_pragmas): Do not declare.
7906
3f46d6a5
MLI
79072012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7908
7909 PR c/51294
7910 * c-common.c (conversion_warning): Handle conditional expressions.
7911
880661a4
JW
79122012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7913
7914 PR c++/54930
7915 * c.opt (Wreturn_local_addr): Define new option.
7916
4514a96b
JM
79172012-10-25 Jason Merrill <jason@redhat.com>
7918
f14edc1a
JM
7919 * c.opt (Wvirtual-move-assign): New.
7920
4514a96b
JM
7921 * c.opt (Winherited-variadic-ctor): New.
7922
93100c6b
MG
79232012-10-25 Marc Glisse <marc.glisse@inria.fr>
7924
7925 PR c++/54427
7926 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7927
1efcb8c6
JM
79282012-10-23 Joseph Myers <joseph@codesourcery.com>
7929
7930 * c-common.h (pch_cpp_save_state): Declare.
7931 * c-target.def (c_preinclude): New hook.
7932 * c-opts.c (done_preinclude): New.
7933 (push_command_line_include): Handle default preincluded header.
7934 (cb_file_change): Call pch_cpp_save_state when calling
7935 push_command_line_include.
7936 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7937 (pch_cpp_save_state): New.
7938 (pch_init): Call pch_cpp_save_state conditionally, instead of
7939 calling cpp_save_state.
7940
4a0ae68e
MLI
79412012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7942
7943 PR c/53063
7944 PR c/40989
7945 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7946 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7947 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7948 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7949 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7950 * c-opts.c (c_common_handle_option): Remove explicit handling from
7951 here.
7952 (c_common_post_options): Likewise.
7953
67e4210b
EB
79542012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7955
7956 * c-ada-spec.c (LOCATION_COL): Delete.
7957 (compare_location): New function.
7958 (compare_node): Use it.
7959 (compare_comment): Likewise.
7960
65d4f2cd
MLI
79612012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7962
7963 PR c/53063
7964 PR c/40989
7965 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7966 * c-opts.c (c_common_handle_option): Do not set them here. Add
7967 comment.
7968 (c_common_post_options): Likewise.
7969
909881cb
EB
79702012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7971
7972 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7973 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7974 Remove POINTER_TYPE handling, add large unsigned handling and use
7975 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7976
3a785c97
JJ
79772012-10-12 Jakub Jelinek <jakub@redhat.com>
7978
7979 PR c/54381
7980 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7981 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7982 locs and array of 3 trees instead of just single loc and single
7983 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7984 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7985 For *cmp* builtins that take two sources strings report warnings
7986 about first and second source, not about destination and source.
7987
5e54f81d
MG
79882012-10-12 Marc Glisse <marc.glisse@inria.fr>
7989
7990 PR c++/53055
7991 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7992
f5b02f1e
EB
79932012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7994
7995 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7996 declaring something coming from another file.
7997
b46dbc6c
AC
79982012-10-10 Arnaud Charlet <charlet@adacore.com>
7999
f5b02f1e 8000 PR ada/54845
b46dbc6c
AC
8001 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8002
5d9de0d0
PC
80032012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8004
8005 PR c++/54194
8006 * c-common.c (warn_about_parentheses): Add location_t parameter;
8007 use EXPR_LOC_OR_LOC.
8008 * c-common.h: Update declaration.
8009
a212e43f
MG
80102012-10-09 Marc Glisse <marc.glisse@inria.fr>
8011
8012 PR c++/54427
8013 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8014 more operations. Make error messages optional.
8015 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8016 (scalar_to_vector): Declare.
8017
b1db7f91
JM
80182012-10-08 Jason Merrill <jason@redhat.com>
8019
8020 * c-common.c (c_common_reswords): Add thread_local.
8021
e28d52cf
DS
80222012-10-08 Dodji Seketeli <dodji@redhat.com>
8023
8024 PR c++/53528 C++11 attribute support
8025 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8026 new functions.
8027 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8028 static function.
8029 (handle_aligned_attribute): In choose strictest alignment
8030 among many. Use new check_cxx_fundamental_alignment_constraints.
8031 (handle_transparent_union_attribute): In c++11 attribute syntax,
8032 don't look through typedefs.
8033
3b78de56
AC
80342012-10-04 Arnaud Charlet <charlet@adacore.com>
8035
8036 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8037 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8038 out of dumpfile.h.
8039
6040bb5f
DC
80402012-09-25 Dehao Chen <dehao@google.com>
8041
8042 PR middle-end/54645
3b78de56 8043 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
8044 map when read in the pch.
8045
3f8257db 80462012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
8047
8048 * c-ada-spec.c: Style fixes.
8049
3f8257db 80502012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
8051
8052 * c.opt (-fada-spec-parent): Define new command line switch.
8053 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8054 is specified, generate binding spec as a child of the specified unit.
8055
0ccb505d
PC
80562012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8057 Manuel López-Ibáñez <manu@gcc.gnu.org>
8058
8059 PR c++/53210
8060 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8061
c583af79
AC
80622012-08-23 Arnaud Charlet <charlet@adacore.com>
8063
8064 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8065 for pointers, and add missing Convention C pragma.
8066 (print_ada_struct_decl): Add missing aliased keyword.
8067 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8068
1a4049e7
JJ
80692012-08-17 Jakub Jelinek <jakub@redhat.com>
8070
8071 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8072 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8073 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8074 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8075 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8076
70b5e7dc
RG
80772012-08-10 Richard Guenther <rguenther@suse.de>
8078
8079 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8080
f8923f7e
SB
80812012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8082
8083 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8084 instead of separate pp_newline and pp_flush.
8085 (print_c_tree): Likewise.
8086
e45abe1f
RH
80872012-07-26 Richard Henderson <rth@redhat.com>
8088
8089 * c-common.c (handle_hot_attribute): Allow labels.
8090 (handle_cold_attribute): Likewise.
8091
332f1d24
JJ
80922012-07-20 Jakub Jelinek <jakub@redhat.com>
8093
8094 PR c++/28656
8095 * c-common.c (check_function_nonnull): Handle multiple nonnull
8096 attributes properly.
8097
7ee2468b
SB
80982012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8099
8100 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8101 * c-ada-spec.c: Likewise.
8102 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8103
ee7b28eb
SB
81042012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8105
8106 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8107 Remove code conditional on it.
8108
6bdf3519
SB
81092012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8110
8111 * c-gimplify.c: Do not include basic-block.h.
8112 * c-common.c: Do not include linfuncs.h.
8113
532aafad
SB
81142012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8115
8116 * c-common.h: Include tree.h.
8117
8d0d1915
JM
81182012-07-02 Jason Merrill <jason@redhat.com>
8119
8120 PR c++/53524
8121 * c-common.c (get_priority): Call default_conversion.
8122
fbc873ad
UB
81232012-07-01 Uros Bizjak <ubizjak@gmail.com>
8124
8125 * c-pch.c (c_common_write_pch): Remove unused variables.
8126
d4a10d0a
SB
81272012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8128
8129 * cppspec.c: Moved from gcc/ to here.
8130
6f3a2e23
KT
81312012-06-27 Kai Tietz <ktietz@redhat.com>
8132
8133 PR preprocessor/37215
8134 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8135
8ca92d04
SB
81362012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8137
8138 * c-common.h (c_common_print_pch_checksum): Remove.
8139 * c-pch.c: Do not include output.h.
8140 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8141 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8142 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8143 (struct c_pch_header): Remove.
8144 (get_ident): Update gpch version.
8145 (pch_init): Do not print executable_checksum to asm_out_file.
8146 Do not fail if there is no asm_out_file to read back from. Set
8147 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8148 (c_common_write_pch): Verify that nothing was written to asm_out_file
8149 since pch_init was called. Do not write a c_pch_header, and do not
8150 copy from asm_out_file to the PCH.
8151 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8152 the content of asm_out_file from the PCH.
8153 (c_common_print_pch_checksum): Remove.
8154 * c-opts.c (c_common_init): Print out executable_checksum directly.
8155
70f42967
SB
81562012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8157
8158 * c-target.def (objc_declare_unresolved_class_reference,
8159 objc_declare_class_definition): Add new hooks.
8160
a8781821
SB
81612012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8162
8163 * c-lex.c: Do not include output.h.
8164 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8165 Remove uses of ASM_OUTPUT_IDENT.
8166
9e1a8dd1
RR
81672012-06-15 Marc Glisse <marc.glisse@inria.fr>
8168
8169 PR c++/51033
8170 * c-common.h (c_build_vec_perm_expr): Move decl here.
8171 * c-common.c (c_build_vec_perm_expr): Move definition
8172 here.
8173
6f07a821
SB
81742012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8175
8176 * c.opt (fconserve-space): Turn into a no-op.
8177
9faeb493 81782012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8179
8180 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8181 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8182 both the start and end of the function.
8183
a4b7d13c
SB
81842012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8185
8186 * c-common.c: Do not include output.h.
8187 * c-pragma.c: Likewise.
8188
c265f413
SA
81892012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8190
8191 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8192 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8193 (lang_decl_name): Handle namespace decls.
8194
be7a421e
SB
81952012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8196
8197 * c-ada-spec.c: Do not include output.h.
8198 * c-semantics.c: Likewise.
8199
65de6659
JM
82002012-05-29 Joseph Myers <joseph@codesourcery.com>
8201
8202 * c-common.c: Fix typo.
8203
ca5f4331
MM
82042012-05-29 Michael Matz <matz@suse.de>
8205
8206 * c-common.h (c_expand_decl): Remove prototype.
8207
4f7f7aca
MLI
82082012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8209
8210 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8211 * c-opts.c (c_common_handle_option): Remove code handling
8212 warn_missing_braces.
8213
4a792f9b
PC
82142012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8215
8216 PR c++/25137
8217 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8218 -Wmissing_braces.
8219
650dc14a
DS
82202012-05-22 Dodji Seketeli <dodji@redhat.com>
8221
8222 PR c++/53322
8223 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8224
9b095bf1
MLI
82252012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8226
8227 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8228 * c-opts.c (c_common_handle_option): Do not handle explicitly
8229 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8230
0b2c4be5
DS
82312012-05-16 Dodji Seketeli <dodji@redhat.com>
8232
8233 PR preprocessor/7263
8234 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
8235 to cpp_classify_number. For diagnostics, use the precise location
8236 instead of the global input_location.
8237
a1bde5af
PC
82382012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8239
d02924ef 8240 PR c++/11856
a1bde5af
PC
8241 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8242
d1ede5f4
BS
82432012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8244
a1bde5af 8245 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8246
f2bc201f
MLI
82472012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8248
8249 PR 53063
8250 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8251 Wreorder): Use LangEnabledBy.
8252 * c-opts.c (c_common_handle_option): Do not enable them
8253 explicitly. Call lang-specific generated functions.
8254 (c_common_post_options): Do not set them here.
8255
95744782
MLI
82562012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8257
8258 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8259 Wmissing-field-initializers,Wmissing-parameter-type,
8260 Wold-style-declaration,Woverride-init): Use EnabledBy.
8261 * c-opts.c (c_common_post_options): Do not set here explicitly.
8262
7d5a5747
MLI
82632012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8264
8265 PR 53063
8266 * c-opts.c (c_common_handle_option): Use handle_generated_option
8267 to enable sub-options.
8268
5a3c9cf2
PC
82692012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8270
8271 PR c++/53158
8272 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8273
3ac8781c
RG
82742012-05-10 Richard Guenther <rguenther@suse.de>
8275
8276 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8277 adjust commentary about TYPE_IS_SIZETYPE types.
8278
1e537948
MLI
82792012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8280
8281 PR c++/53261
8282 * c-common.c (warn_logical_operator): Check that argument of
8283 integer_zerop is not NULL.
8284
f2c4a785
MLI
82852012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8286
8287 PR c/43772
8288 * c-common.c (warn_logical_operator): Do not warn if either side
8289 is already true or false.
8290
50f305ca
MLI
82912012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8292
8293 PR c/51712
8294 * c-common.c (expr_original_type): New.
8295 (shorten_compare): Do not warn for enumeration types.
8296
0c3641b0
MLI
82972012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8298
8299 * c.opt (fpermissive): Add Var(flag_permissive).
8300
7edaa4d2
MG
83012012-04-30 Marc Glisse <marc.glisse@inria.fr>
8302
8303 PR c++/51033
8304 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8305 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8306
b9c8da34
DS
83072012-04-30 Dodji Seketeli <dodji@redhat.com>
8308
8309 Add -Wvarargs option
8310 * c.opt (Wvarargs): Define new option.
8311
e6c69da0
MLI
83122012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8313
8314 * c-common.c (check_function_arguments): Replace
8315 Wmissing-format-attribute with Wsuggest-attribute=format.
8316
90137d8f
MLI
83172012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8318
8319 * c.opt (Wsuggest-attribute=format): New. Alias of
8320 Wmissing-format-attribute.
8321 * c-format.c (decode_format_type): Replace
8322 Wmissing-format-attribute with Wsuggest-attribute=format.
8323 (check_function_format): Likewise.
8324
9faeb493 83252012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8326
8327 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8328 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8329 * c.opt: Add Wliteral-suffix.
8330
c1771a20
MLI
83312012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8332
8333 PR c/44774
8334 * c.opt (Wpedantic): New.
8335 (pedantic): Alias Wpedantic.
8336 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8337 (c_common_post_options): Likewise.
8338 (sanitize_cpp_opts): Likewise.
8339 * c-lex.c (interpret_float): Likewise.
8340 * c-format.c (check_format_types): Likewise.
8341 * c-common.c (pointer_int_sum): Likewise.
8342 (c_sizeof_or_alignof_type): Likewise.
8343 (c_add_case_label): Likewise.
8344 (c_do_switch_warnings): Likewise.
8345 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8346
04b391c1
JM
83472012-04-15 Jason Merrill <jason@redhat.com>
8348
8349 PR c++/52818
8350 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8351 (C_STD_NAME): Distinguish between C++98 and C++11.
8352
ac868f29
EB
83532012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8354
8355 PR target/52624
8356 * c-common.h (uint16_type_node): Rename into...
8357 (c_uint16_type_node): ...this.
8358 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8359 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8360
fd4116f4
MLI
83612012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8362
8363 * c-common.c (warn_if_unused_value): Move definition to here.
8364 * c-common.h (warn_if_unused_value): Move declaration to here.
8365
573ac65e
WB
83662012-03-23 William Bader <williambader@hotmail.com>
8367
8368 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8369
552b8185
JM
83702012-03-20 Jason Merrill <jason@redhat.com>
8371
8372 * c-common.h (enum cxx_dialect): Add cxx1y.
8373 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8374 test.
8375 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8376 * c-opts.c (c_common_post_options): Likewise.
8377 (set_std_cxx1y): New.
8378 (c_common_handle_option): Call it.
8379 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8380
04398fa8
PC
83812012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8382
8383 PR c++/14710
8384 * c.opt ([Wuseless-cast]): Add.
8385
d2a12ae7
RG
83862012-03-16 Richard Guenther <rguenther@suse.de>
8387
8388 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8389
a12bf402
MLI
83902012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8391
8392 PR c++/44783
8393 * c.opt (ftemplate-backtrace-limit) Add.
8394
5c30094f
RO
83952012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8396
8397 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8398 handling.
8399 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8400 (init_pragma): Don't register extern_prefix.
8401
21fa2faf
RG
84022012-03-12 Richard Guenther <rguenther@suse.de>
8403
8404 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8405 (builtin_type_for_size): Likewise.
8406
e3793c6f
JJ
84072012-02-13 Jakub Jelinek <jakub@redhat.com>
8408
8409 PR c++/52215
8410 * c-common.c (sync_resolve_params): Don't decide whether to convert
8411 or not based on TYPE_SIZE comparison, convert whenever arg_type
8412 is unsigned INTEGER_TYPE.
8413
93286335
PC
84142012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
8415
8416 PR c/52118
8417 * c.opt ([Wunused-local-typedefs]): Fix description.
8418
7a421706
MS
84192012-01-24 Mike Stump <mikestump@comcast.net>
8420
8421 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
8422 exactly.
8423
ba9b1f11
RG
84242012-01-18 Richard Guenther <rguenther@suse.de>
8425
8426 * c-opts.c (c_common_post_options): Reset LTO flags if
8427 we are about to generate a PCH.
8428
465406be
PC
84292012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8430
8431 PR c++/51777
8432 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8433 use pp_unsigned_wide_integer.
8434
aee15221
RG
84352012-01-10 Richard Guenther <rguenther@suse.de>
8436
8437 PR middle-end/51806
8438 * c-opts.c (c_common_handle_option): Move -Werror handling
8439 to language independent code.
8440
5720c0dc
RG
84412012-01-05 Richard Guenther <rguenther@suse.de>
8442
8443 PR middle-end/51764
8444 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8445 from common.opt.
8446
73ac190a
PC
84472011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
8448
8449 PR c++/51316
8450 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8451 of array types with an unknown bound.
8452
48b0b196
JM
84532011-12-20 Joseph Myers <joseph@codesourcery.com>
8454
8455 * c-common.c (flag_isoc99): Update comment to refer to C11.
8456 (flag_isoc1x): Change to flag_isoc11.
8457 * c-common.h (flag_isoc99): Update comment to refer to C11.
8458 (flag_isoc1x): Change to flag_isoc11.
8459 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8460 C11.
8461 * c-opts.c (set_std_c1x): Change to set_std_c11.
8462 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8463 Call set_std_c11.
8464 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8465 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8466 * c.opt (std=c1x): Change to std=c11. Document as non-draft
8467 standard.
8468 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8469 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
8470 (std=gnu1x): Make alias of std=gnu11.
8471
d58d6eb5
JM
84722011-12-19 Jason Merrill <jason@redhat.com>
8473
8474 PR c++/51228
8475 * c-common.c (handle_transparent_union_attribute): Check the first
8476 field if the type is complete.
8477
b3908fcc
JW
84782011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
8479
8480 PR libstdc++/51365
8481 * c-common.c (RID_IS_FINAL): Add.
8482 * c-common.h (RID_IS_FINAL): Add.
8483
fea3ca91
IS
84842011-11-30 Iain Sandoe <iains@gcc.gnu.org>
8485
8486 * c.opt (fgnu-runtime): Provide full description.
8487 (fnext-runtime): Likewise.
8488 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8489
62bad7cd
AM
84902011-11-28 Andrew MacLeod <amacleod@redhat.com>
8491
8492 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
8493 predefines in one place. Add LOCK_FREE predefines.
8494 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8495 new func.
8496
c466c4ff
AM
84972011-11-24 Andrew MacLeod <amacleod@redhat.com>
8498
8499 PR c/51256
9faeb493 8500 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 8501 conditions
9faeb493
UB
8502 (resolve_overloaded_atomic_exchange,
8503 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
8504 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8505 error_mark_node for error conditions.
9faeb493 8506
a5952633
RG
85072011-11-08 Richard Guenther <rguenther@suse.de>
8508
8509 PR middle-end/51010
8510 c-family/
8511
0a35513e
AH
85122011-11-07 Richard Henderson <rth@redhat.com>
8513 Aldy Hernandez <aldyh@redhat.com>
8514 Torvald Riegel <triegel@redhat.com>
8515
8516 Merged from transactional-memory.
8517
8518 * c-common.c (handle_tm_wrap_attribute,
8519 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8520 (struct c_common_reswords): Added __transaction* keywords.
8521 (struct c_common_attribute_table): Added transaction* and tm_regparm
8522 attributes.
8523 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8524 masks.
8525 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8526 find_tm_attribute): Declare.
8527
6d87092d
JM
85282011-11-07 Jason Merrill <jason@redhat.com>
8529
8530 PR c++/35688
8531 * c-common.c, c-common.h: Revert yesterday's changes.
8532
8e7860a1
JM
85332011-11-06 Jason Merrill <jason@redhat.com>
8534
8535 PR c++/35688
8536 * c-common.c (decl_has_visibility_attr): Split out from...
8537 (c_determine_visibility): ...here.
8538 * c-common.h: Declare it.
8539
d19fa6b5
JM
85402011-11-06 Joseph Myers <joseph@codesourcery.com>
8541
8542 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8543 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8544 type.
8545 (check_user_alignment): New. Split out of
8546 handle_aligned_attribute. Disallow integer constants with
8547 noninteger types. Conditionally allow zero.
8548 (handle_aligned_attribute): Use check_user_alignment.
8549 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
8550
86951993
AM
85512011-11-06 Andrew MacLeod <amacleod@redhat.com>
8552 Richard Henderson <rth@redhat.com>
8553
8554 Merged from cxx-mem-model.
8555
8556 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 8557 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
8558 parameters that are the same type size.
8559 (get_atomic_generic_size): New. Find size of generic
8560 atomic function parameters and do typechecking.
8561 (add_atomic_size_parameter): New. Insert size into parameter list.
8562 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8563 either __atomic_exchange_n or external library call.
9faeb493 8564 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 8565 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 8566 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
8567 __atomic_load_n or an external library call.
8568 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
8569 __atomic_store_n or an external library call.
8570 (resolve_overloaded_builtin): Handle new __atomic builtins.
8571
cf9e9959
EB
85722011-11-04 Eric Botcazou <ebotcazou@adacore.com>
8573
8574 PR c++/50608
8575 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8576 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
8577 <INDIRECT_REF>: Return the argument.
8578 <ARRAY_REF>: Remove special code for negative offset.
8579 Call fold_build_pointer_plus instead of size_binop.
8580 (fold_offsetof): Remove STOP_REF argument and adjust.
8581 * c-common.h (fold_offsetof_1): Declare.
8582 (fold_offsetof): Remove STOP_REF argument.
8583
25339f10
JM
85842011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
8585
8586 PR c++/50810
8587 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8588 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8589 Wnarrowing for C++0x and C++98.
8590 * c.opt ([Wnarrowing]): Update.
8591
89401152
PC
85922011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
8593
8594 PR c++/44277
8595 * c.opt: Add Wzero-as-null-pointer-constant.
8596
97e3ad20
JM
85972011-10-31 Jason Merrill <jason@redhat.com>
8598
15694fdd
JM
8599 * c.opt (-fdeduce-init-list): Off by default.
8600
97e3ad20
JM
8601 PR c++/50920
8602 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
8603 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8604 and -Wc++11-compat.
8605 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
8606
fb9120e3
RAV
86072011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
8608
8609 PR c++/30066
8610 * c.opt (fvisibility-inlines-hidden): Description change.
8611
3ce4f9e4
ESR
86122011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
8613
8614 Implement C++11 user-defined literals.
8615 * c-common.c (build_userdef_literal): New.
8616 * c-common.def: New tree code.
8617 * c-common.h (tree_userdef_literal): New tree struct and accessors.
8618 * c-lex.c (interpret_float): Add suffix parm.
8619 (c_lex_with_flags): Build literal tokens.
8620
5f53c243
PC
86212011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8622
8623 PR c++/50841
8624 Revert:
8625 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8626
8627 PR c++/50810
8628 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8629 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8630 Wnarrowing for C++0x and C++98.
8631 * c.opt ([Wnarrowing]): Update.
8632
263734e1
PC
86332011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8634
8635 PR c++/50810
8636 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8637 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8638 Wnarrowing for C++0x and C++98.
8639 * c.opt ([Wnarrowing]): Update.
8640
d2e312d7
PC
86412011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
8642
8643 PR c++/45385
8644 * c-common.c (conversion_warning): Remove code looking for
8645 artificial operands.
8646
d17687f6
DS
86472011-10-18 Dodji Seketeli <dodji@redhat.com>
8648
8649 PR bootstrap/50760
8650 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 8651 !NO_IMPLICIT_EXTERN_C.
d17687f6 8652
fc8396e9
PC
86532011-10-17 Michael Spertus <mike_spertus@symantec.com>
8654
8655 * c-common.c (c_common_reswords): Add __bases,
8656 __direct_bases.
8657 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
8658
86592011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
8660
8661 PR c++/50757
8662 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
8663
847e697a
TT
86642011-10-15 Tom Tromey <tromey@redhat.com>
8665 Dodji Seketeli <dodji@redhat.com>
8666
8667 * c.opt (fdebug-cpp): New option.
8668 * c-opts.c (c_common_handle_option): Handle the option.
8669 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
8670 output stream in parameter. Factorized from ...
8671 (maybe_print_line): ... this. Dump location debug information when
8672 -fdebug-cpp is in effect.
8673 (print_line_1): New static function. Takes an output stream in
8674 parameter. Factorized from ...
8675 (print_line): ... here. Dump location information when -fdebug-cpp
8676 is in effect.
8677 (scan_translation_unit): Dump location information when
8678 -fdebug-cpp is in effect.
8679
92582b75
TT
86802011-10-15 Tom Tromey <tromey@redhat.com>
8681 Dodji Seketeli <dodji@redhat.com>
8682
8683 * c.opt (ftrack-macro-expansion): New option. Handle it with and
8684 without argument.
8685 * c-opts.c (c_common_handle_option)<case
8686 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
8687 cases. Handle -ftrack-macro-expansion with and without argument.
8688
46427374
TT
86892011-10-15 Tom Tromey <tromey@redhat.com>
8690 Dodji Seketeli <dodji@redhat.com>
8691
8692 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
8693 (print_line, cb_define, do_line_change): Adjust to avoid touching
8694 the internals of struct line_map. Use the public API instead.
8695 * c-pch.c (c_common_read_pch): Likewise.
8696 * c-lex.c (fe_file_change): Likewise.
8697
fc8396e9
PC
86982011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
8699
8700 PR c++/17212
8701 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
8702
87032011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
8704
8705 PR c++/33067
8706 * c-pretty-print.c (pp_c_floating_constant): Output
8707 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
8708
e79983f4
MM
87092011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8710
8711 * c-common.c (def_builtin_1): Delete old interface with two
8712 parallel arrays to hold standard builtin declarations, and replace
8713 it with a function based interface that can support creating
8714 builtins on the fly in the future. Change all uses, and poison
8715 the old names. Make sure 0 is not a legitimate builtin index.
8716 * c-omp.c (c_finish_omp_barrier): Ditto.
8717 (c_finish_omp_taskwait): Ditto.
8718 (c_finish_omp_flush): Ditto.
8719
6637388f
TG
87202011-10-11 Tristan Gingold <gingold@adacore.com>
8721
8722 * c.opt: (fallow-parameterless-variadic-functions): New.
8723
3797cb21
DS
87242011-09-08 Dodji Seketeli <dodji@redhat.com>
8725
8726 PR c++/33255 - Support -Wunused-local-typedefs warning
8727 * c-common.h (struct c_language_function::local_typedefs): New
8728 field.
9faeb493
UB
8729 (record_locally_defined_typedef, maybe_record_typedef_use)
8730 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 8731 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
8732 (maybe_record_typedef_use)
8733 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
8734 * c.opt: Declare new -Wunused-local-typedefs flag.
8735
693ddb1b
EB
87362011-09-06 Eric Botcazou <ebotcazou@adacore.com>
8737
8738 PR middle-end/50266
8739 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
8740 computations.
8741
830c740f
RG
87422011-09-05 Richard Guenther <rguenther@suse.de>
8743
8744 * c-common.c (complete_array_type): Use ssize_int (-1) instead
8745 of integer_minus_one_node for empty array upper bounds.
8746
892a371f
DS
87472011-08-28 Dodji Seketeli <dodji@redhat.com>
8748
8749 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
8750 it's the first time it's being called on this main TU.
8751
0e3fdb48
RB
87522011-08-24 Richard Guenther <rguenther@suse.de>
8753
8754 PR c/49396
8755 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
8756
87572011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
8758
8759 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
8760 defined in cpp_init_builtins and c_cpp_builtins.
8761
d4a83c10
JM
87622011-08-19 Joseph Myers <joseph@codesourcery.com>
8763
8764 * c-common.c (c_common_reswords): Add __builtin_complex.
8765 * c-common.h (RID_BUILTIN_COMPLEX): New.
8766
bbceee64
JM
87672011-08-18 Joseph Myers <joseph@codesourcery.com>
8768
8769 * c-common.c (c_common_reswords): Add _Noreturn.
8770 (keyword_is_function_specifier): Handle RID_NORETURN.
8771 * c-common.h (RID_NORETURN): New.
8772
3f8257db 87732011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
8774
8775 * c-common.c (unsafe_conversion_p): New function. Check if it is
8776 unsafe to convert an expression to the type.
8777 (conversion_warning): Adjust, use unsafe_conversion_p.
8778 * c-common.h (unsafe_conversion_p): New function declaration.
8779
20906c66
JJ
87802011-08-02 Jakub Jelinek <jakub@redhat.com>
8781
8782 * c-common.h (c_finish_omp_atomic): Adjust prototype.
8783 (c_finish_omp_taskyield): New prototype.
8784 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
8785 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
8786 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
8787 or RHS1 have side-effects, evaluate those too in the right spot,
8788 if it is a decl and LHS is also a decl, error out if they
8789 aren't the same.
8790 (c_finish_omp_taskyield): New function.
8791 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
8792 * c-pragma.c (omp_pragmas): Add taskyield.
8793 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8794 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8795 PRAGMA_OMP_CLAUSE_MERGEABLE.
8796
770e5a2e
DS
87972011-07-25 Dodji Seketeli <dodji@redhat.com>
8798
8799 * c-common.h (set_underlying_type): Remove parm name from
8800 declaration.
8801
1baae426
RG
88022011-07-25 Romain Geissler <romain.geissler@gmail.com>
8803
8804 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 8805
fcb21722
JM
88062011-07-22 Jason Merrill <jason@redhat.com>
8807
76f86d00
JM
8808 PR c++/49793
8809 * c.opt (Wnarrowing): New.
8810
3a636414
JM
8811 PR c++/30112
8812 * c-common.h: Declare c_linkage_bindings.
8813 * c-pragma.c (handle_pragma_redefine_extname): Use it.
8814
fcb21722
JM
8815 PR c++/49813
8816 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8817 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8818 as flag_isoc99 for 'restrict'.
8819 (pp_c_specifier_qualifier_list): Likewise for _Complex.
8820
02614448
ILT
88212011-07-21 Ian Lance Taylor <iant@google.com>
8822
8823 PR middle-end/49705
8824 * c-common.c (c_disable_warnings): New static function.
8825 (c_enable_warnings): New static function.
8826 (c_fully_fold_internal): Change local unused_p to bool. Call
8827 c_disable_warnings and c_enable_warnings rather than change
8828 c_inhibit_evaluation_warnings.
8829
34429675
JM
88302011-07-20 Jason Merrill <jason@redhat.com>
8831
8832 PR c++/6709 (DR 743)
8833 PR c++/42603 (DR 950)
8834 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8835 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8836 (CPP_DECLTYPE): New.
8837 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8838
5d49b6a7
RG
88392011-07-19 Richard Guenther <rguenther@suse.de>
8840
8841 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8842 * c-omp.c (c_finish_omp_for): Likewise.
8843
e84a58ff
EB
88442011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8845
8846 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8847 body on the next line.
8848
329af3c7
JM
88492011-07-08 Jason Merrill <jason@redhat.com>
8850
4063e61b
JM
8851 PR c++/45437
8852 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8853
329af3c7
JM
8854 PR c++/49673
8855 * c-common.c (c_apply_type_quals_to_decl): Don't check
8856 TYPE_NEEDS_CONSTRUCTING.
8857
1a072294
RG
88582011-07-06 Richard Guenther <rguenther@suse.de>
8859
8860 * c-common.c (c_common_nodes_and_builtins):
8861 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8862
fce5dddd
RG
88632011-07-05 Richard Guenther <rguenther@suse.de>
8864
8865 * c-common.c (c_common_nodes_and_builtins): Build all common
8866 tree nodes first.
8867
45d439ac
JJ
88682011-06-27 Jakub Jelinek <jakub@redhat.com>
8869
56300785
JJ
8870 * c-common.h (c_tree_chain_next): New static inline function.
8871
45d439ac
JJ
8872 * c-common.c (check_builtin_function_arguments): Handle
8873 BUILT_IN_ASSUME_ALIGNED.
8874
e0a8ecf2
AM
88752011-06-21 Andrew MacLeod <amacleod@redhat.com>
8876
8877 * c-common.c: Add sync_ or SYNC__ to builtin names.
8878 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8879
88802011-06-20 Pierre Vittet <piervit@pvittet.com>
8881
8882 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8883 handler.
8884 (gen_pragma_handler): New union.
8885 (internal_pragma_handler): New type.
8886 (c_register_pragma_with_data)
8887 (c_register_pragma_with_expansion_and_data): New functions.
8888
8889 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8890 (c_register_pragma, c_register_pragma_with_expansion)
8891 (c_invoke_pragma_handler): Changed to work with
8892 internal_pragma_handler.
8893 (c_register_pragma_with_data)
8894 (c_register_pragma_with_expansion_and_data): New functions.
8895
677f3fa8
JM
88962011-06-14 Joseph Myers <joseph@codesourcery.com>
8897
8898 * c-common.c: Include common/common-target.h.
8899 (handle_section_attribute): Use
8900 targetm_common.have_named_sections.
8901 * c-cppbuiltin.c: Include common/common-target.h.
8902 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8903
d7fc8c14
RG
89042011-06-10 Richard Guenther <rguenther@suse.de>
8905
8906 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8907 to print a IDENTIFIER_NODE.
8908
10e48e39
RO
89092011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8910 Joseph Myers <joseph@codesourcery.com>
8911
8912 * c.opt (fbuilding-libgcc): New option.
8913 * c-cppbuiltin.c (c_cpp_builtins): Define
8914 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8915
6976ae51
JM
89162011-06-07 Jason Merrill <jason@redhat.com>
8917
3ff60975
JM
8918 * c-common.c (max_tinst_depth): Lower default to 900.
8919
6976ae51
JM
8920 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8921
009db074
RG
89222011-06-07 Richard Guenther <rguenther@suse.de>
8923
8924 * c-common.c (c_common_nodes_and_builtins): Do not set
8925 size_type_node or call set_sizetype.
8926
b4592b92
DS
89272011-06-07 Dodji Seketeli <dodji@redhat.com>
8928
8929 PR debug/49130
8930 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8931 type when using pointer comparison to compare types.
b4592b92 8932
014ab419
JW
89332011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8934
8935 * c.opt: Add -Wdelete-non-virtual-dtor.
8936 * c-opts.c (c_common_handle_option): Include it in -Wall.
8937
4f60111f
NF
89382011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8939
8940 PR bootstrap/49190
8941
8942 Revert:
8943 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8944
8945 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8946 not tree_common.
8947
4cc4f2f4
JJ
89482011-05-27 Jakub Jelinek <jakub@redhat.com>
8949
8950 PR c++/49165
8951 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8952 C++ don't call c_common_truthvalue_conversion on void type arms.
8953
38e01f9e
NF
89542011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8955
8956 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8957 (stmt_list_stack): Define.
8958 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8959 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8960
92e948a8
NF
89612011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8962
8963 * c-common.c (warning_candidate_p): Check for BLOCKs.
8964
a2fc3e63
NF
89652011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8966
8967 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8968 not tree_common.
8969
0957c029
JJ
89702011-05-25 Jakub Jelinek <jakub@redhat.com>
8971
8972 * c-common.c (def_fn_type): Remove extra va_end.
8973
828fb3ba
JM
89742011-05-23 Jason Merrill <jason@redhat.com>
8975
8976 PR c++/48106
8977 * c-common.c (c_common_get_narrower): New.
8978 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8979
dde05067
NF
89802011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8981
8982 * c-common.h (check_function_arguments): Tweak prototype of
8983 check_function_arguments.
8984 * c-common.c (check_function_arguments): Likewise. Adjust
8985 calls to check_function_nonnull, check_function_format, and
8986 check_function_sentinel.
8987 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8988 separate attributes and typelist arguments. Use
8989 FOREACH_FUNCTION_ARGS to iterate over argument types.
8990
3c0d13bf
PC
89912011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8992
8993 * c-common.c (c_common_reswords): Reorder.
8994 * c-common.h (rid): Likewise.
8995
8242dd04
NF
89962011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8997
8998 * c-common.c (def_fn_type): Don't call build_function_type, call
8999 build_function_type_array or build_varargs_function_type_array
9000 instead.
9001 (c_common_nodes_and_builtins): Likewise.
9002
3d528853
NF
90032011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9004
9005 * c-common.c (c_add_case_label): Omit the loc argument to
9006 build_case_label.
9007 * c-common.h (build_case_label): Remove.
9008 * c-semantics.c (build_case_label): Remove.
9009
a04a722b
JM
90102011-05-05 Joseph Myers <joseph@codesourcery.com>
9011
9012 * c-objc.h (objc_start_method_definition): Update prototype.
9013 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9014
e19a18d4
NF
90152011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9016
9017 * c-common.c (check_main_parameter_types): Reindent. Don't use
9018 TYPE_ARG_TYPES directly.
9019 (handle_nonnull_attribute): Likewise.
9020 (sync_resolve_params): Likewise.
9021 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9022 to check_format_string.
9023 (handle_format_attribute): Likewise.
9024 (check_format_string): Take a function type to examine instead of
9025 a type list. Use a function_arg_iterator to step through argument
9026 types.
9027
c62c040f
RG
90282011-05-04 Richard Guenther <rguenther@suse.de>
9029
9030 * c-common.c (fix_string_type): Use size_int for index type bounds.
9031 (start_fname_decls): Do not pass NULL to build_int_cst.
9032 (c_init_attributes): Likewise.
9033 * c-lex.c (c_lex_with_flags): Likewise.
9034
c12ff9d8
JM
90352011-04-27 Jason Merrill <jason@redhat.com>
9036
9037 * c-common.c (make_tree_vector_from_list): New.
9038 * c-common.h: Declare it.
9039
304dfbe3
RG
90402011-04-26 Richard Guenther <rguenther@suse.de>
9041
9042 PR preprocessor/48248
9043 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9044 for output size with -P.
9045
3c0d13bf
PC
90462011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9047
9048 * c-common.c (struct c_common_resword): Add __underlying_type.
9049 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9050
04695783
JM
90512011-04-20 Jim Meyering <meyering@redhat.com>
9052
9053 * c-format.c (init_dollar_format_checking): Remove useless
9054 if-before-free.
9055
0dc33c3c
NP
90562011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9057
9058 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 9059 (objc_detect_field_duplicates): New.
0dc33c3c 9060 * stub-objc.c: Likewise.
3c0d13bf 9061
c59633d9
NP
90622011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9063
9064 * stub-objc.c (objc_declare_protocols): Renamed to
9065 objc_declare_protocol.
9066 * c-objc.h: Likewise.
3c0d13bf 9067
32dabdaf
NP
90682011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9069
9070 * stub-objc.c (objc_declare_class): Updated argument name.
9071
81f653d6
NF
90722011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9073
9074 * c-common.h (c_common_init_ts): Declare.
9075 * c-common.c (c_common_init_ts): Define.
9076
eb345401
NP
90772011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9078
9079 * c-objc.h (objc_build_message_expr): Updated prototype.
9080 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 9081
a358e188
MJ
90822011-04-12 Martin Jambor <mjambor@suse.cz>
9083
9084 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9085 of cgraph_node.
9086
e6313a78
RG
90872011-04-11 Richard Guenther <rguenther@suse.de>
9088
9089 * c-common.c (complete_array_type): Build a range type of
9090 proper type.
9091
dcf0c47e
NF
90922011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9093
9094 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9095 (handle_type_generic_attribute): Likewise.
9096
1ee44b26
JM
90972011-04-07 Jason Merrill <jason@redhat.com>
9098
9099 PR c++/48450
9100 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9101 conversion from C++0x scoped enum.
9102
acce4e77
JM
91032011-04-06 Joseph Myers <joseph@codesourcery.com>
9104
9105 * c-target-def.h: New file.
9106 * c-target.def: New file.
9107 * c-target.h: New file.
9108 * c-common.c (targetcm): Don't define here.
9109 * c-common.h (default_handle_c_option): Declare.
9110 * c-format.c: Include c-target.h instead of target.h.
9111 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9112 include tm.h.
9113 (default_handle_c_option): Move from targhooks.c.
9114
e2eefb55
JJ
91152011-03-29 Jakub Jelinek <jakub@redhat.com>
9116
9117 PR preprocessor/48248
9118 * c-ppoutput.c (print): Add src_file field.
9119 (init_pp_output): Initialize it.
9120 (maybe_print_line): Don't optimize by adding up to 8 newlines
9121 if map->to_file and print.src_file are different file.
9122 (print_line): Update print.src_file.
9123
ba78087b
KT
91242011-03-25 Kai Tietz <ktietz@redhat.com>
9125
9126 * c-ada-spec.c (compare_comment): Use filename_cmp
9127 instead of strcmp for filename.
9128
0edf1bb2
JL
91292011-03-25 Jeff Law <law@redhat.com>
9130
adfac8df 9131 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9132
c7dc8804
JM
91332011-03-25 Jason Merrill <jason@redhat.com>
9134
9135 * c.opt: Add -std=c++03.
9136
d1d879b1
EB
91372011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9138
9139 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9140
3f8257db 91412011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9142
9143 PR target/12171
5050afdf
KT
9144 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9145 Display allowed attributes for function pointer types.
9146 (pp_c_attributes_display): New function to display
9147 attributes having affects_type_identity flag set to true.
9148 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9149
62d784f7
KT
9150 * c-common.c (c_common_attribute_table):
9151 Add new element.
9152 (c_common_format_attribute_table): Likewise.
9153
82d37118
JM
91542011-03-18 Jason Merrill <jason@redhat.com>
9155
49a000c3
JM
9156 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9157 * c-common.h: Don't declare it here.
9158 * c-common.c: Or define it here.
9159 * c-opts.c (c_common_handle_option): Or set it here.
9160
82d37118
JM
9161 PR c++/35315
9162 * c-common.c (handle_transparent_union_attribute): Don't
9163 make a duplicate type in C++.
9164
17bc631c
JM
91652011-03-15 Jason Merrill <jason@redhat.com>
9166
9167 * c-common.c (max_constexpr_depth): New.
9168 * c-common.h: Declare it.
9169 * c-opts.c (c_common_handle_option): Set it.
9170 * c.opt (fconstexpr-depth): New option.
9171
1b9b91a6
JM
91722011-03-11 Jason Merrill <jason@redhat.com>
9173
f231b5ff
JM
9174 * c-common.c (attribute_takes_identifier_p): Add missing const.
9175
1b9b91a6
JM
9176 PR c++/46803
9177 * c-common.c (attribute_takes_identifier_p): Assume that an
9178 unknown attribute takes an identifier.
9179
a19e4d44
NF
91802011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9181
9182 PR c/47786
9183 * c-common.c (c_type_hash): Call list_length instead of iterating
9184 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9185
982d62f6
JJ
91862011-02-19 Jakub Jelinek <jakub@redhat.com>
9187
9188 PR c/47809
9189 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9190
0a256240
NP
91912011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9192
9193 * c.opt (fobjc-abi-version=) New.
9194 (fobjc-nilcheck): New.
9195
ba9e6dd5
NF
91962011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9197
9198 PR c++/46890
9199 * c-common.h (keyword_is_decl_specifier): Declare.
9200 * c-common.c (keyword_is_decl_specifier): Define.
9201 (keyword_is_function_specifier): New function.
9202
7273813a
JJ
92032011-01-26 Jakub Jelinek <jakub@redhat.com>
9204
9205 PR c/47473
9206 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9207 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9208 REAL_TYPE.
9209
908ef79b
AC
92102011-01-26 Arnaud Charlet <charlet@adacore.com>
9211
9212 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9213
237e9384
JJ
92142011-01-26 Jakub Jelinek <jakub@redhat.com>
9215
9216 PR pch/47430
9217 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9218 after init_c_lex if pch_file is set.
9219
47ea1edf
DK
92202011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9221
d4dba752 9222 PR c++/43601
47ea1edf
DK
9223 * c.opt (-fkeep-inline-dllexport): New switch.
9224
2aa9c6ae
RG
92252011-01-12 Richard Guenther <rguenther@suse.de>
9226
9227 PR middle-end/32511
9228 * c-common.c (handle_weak_attribute): Warn instead of error
9229 on declaring an inline function weak.
9230
7bd11157
TT
92312011-01-05 Tom Tromey <tromey@redhat.com>
9232
9233 * c-common.h (lvalue_error): Update.
9234 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9235 not error.
9236
0e66e494 92372010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9238
b4f588c4
NP
9239 PR objc/47075
9240 * c-objc.h (objc_finish_message_expr): Added argument to
9241 prototype.
9242
f4da8dce
NF
92432010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9244
9245 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9246 Use prototype_p.
9247
46270f14
NP
92482010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9249
9250 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9251 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9252
4816c593
NF
92532010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9254
9255 * c-common.h (readonly_error): Declare.
9256 * c-common.c (readonly_error): Define.
9257
7a6daeb0
NF
92582010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9259
9260 * c-common.h (invalid_indirection_error): Declare.
9261 * c-common.c (invalid_indirection_error): Define.
9262
892f6119
RG
92632010-12-03 Richard Guenther <rguenther@suse.de>
9264
9265 PR c/46745
9266 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9267 (pp_c_unary_expression): Likewise.
9268 (pp_c_expression): Likewise.
9269
6c39e757
NP
92702010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9271
9272 * c-common.h (objc_finish_function): New.
9273 (objc_non_volatilized_type): Removed.
9274 (objc_type_quals_match): Removed.
9275 * stub-objc.c (objc_finish_function): New.
9276 (objc_non_volatilized_type): Removed.
9277 (objc_type_quals_match): Removed.
9faeb493 9278
7c475d11
JM
92792010-11-30 Joseph Myers <joseph@codesourcery.com>
9280
9281 * c-common.h (parse_optimize_options): Declare.
9282 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9283 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9284
71f3e391
JM
92852010-11-29 Joseph Myers <joseph@codesourcery.com>
9286
9287 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9288 GET_ENVIRONMENT.
9289 * c-pch.c (O_BINARY): Don't define here.
9290 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9291
d5fabb58
JM
92922010-11-25 Joseph Myers <joseph@codesourcery.com>
9293
9294 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9295 targetm.except_unwind_info.
9296
299404a1
JM
92972010-11-23 Joseph Myers <joseph@codesourcery.com>
9298
9299 * c-opts.c (c_common_handle_option): Pass location to
9300 set_struct_debug_option.
9301
c98cd5bf
JM
93022010-11-23 Joseph Myers <joseph@codesourcery.com>
9303
9304 * c-common.c (visibility_options): Move from ../opts.c.
9305 * c-common.h (struct visibility_flags, visibility_options):
9306 Declare here.
9307 * c-opts.c (finish_options): Rename to c_finish_options.
9308 (c_common_init): Update call to finish_options.
9309
a9546771
NP
93102010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9311
9312 PR objc/34033
9313 * c-lex.c (lex_string): Check that each string in an Objective-C
9314 string concat sequence starts with either one or zero '@', and
9315 that there are no spurious '@' signs at the end.
9316
24a57808
JM
93172010-11-20 Joseph Myers <joseph@codesourcery.com>
9318
9319 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9320 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9321 HANDLE_PRAGMA_VISIBILITY.
9322 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9323 HANDLE_PRAGMA_VISIBILITY): Don't define.
9324 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9325
a9aa2c3a
NF
93262010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9327
9328 PR c++/16189
9329 PR c++/36888
9330 PR c++/45331
9331 * c-common.h (keyword_begins_type_specifier): Declare.
9332 (keyword_is_storage_class_specifier): Declare.
9333 (keyword_is_type_qualifier): Declare.
9334 * c-common.c (keyword_begins_type_specifier): New function.
9335 (keyword_is_storage_class_specifier): New function.
9336 (keyword_is_type_qualifier): Declare.
9337
5386338c
JM
93382010-11-19 Joseph Myers <joseph@codesourcery.com>
9339
9340 PR c/46547
9341 * c-common.c (in_late_binary_op): Define.
9342 (c_common_truthvalue_conversion): Check in_late_binary_op before
9343 calling c_save_expr.
9344 * c-common.h (in_late_binary_op): Declare.
9345
69ccdddb
JM
93462010-11-19 Joseph Myers <joseph@codesourcery.com>
9347
9348 * c-opts.c (c_common_handle_option): Update calls to
9349 set_struct_debug_option.
9350
6b192a09
NP
93512010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9352
9353 * c-common.h (objc_declare_protocols): Added additional argument.
9354 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 9355
fb52b50a
NF
93562010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9357
9358 PR c/33193
9359 * c-common.h (build_real_imag_expr): Declare.
9360 * c-semantics.c (build_real_imag_expr): Define.
9361
b37421c6
JM
93622010-11-17 Joseph Myers <joseph@codesourcery.com>
9363
9364 * c-opts.c (c_common_parse_file): Take no arguments.
9365 * c-common.h (c_common_parse_file): Update prototype.
9366
07078664
JJ
93672010-11-16 Jakub Jelinek <jakub@redhat.com>
9368
9369 PR c++/46401
9370 * c-common.c (warning_candidate_p): Don't track non-const calls
9371 or STRING_CSTs.
9372
c6a13190
ILT
93732010-11-15 Ian Lance Taylor <iant@google.com>
9374
9375 * c-lex.c (init_c_lex): Set macro debug callbacks if
9376 flag_dump_go_spec is set.
9377
925e8657
NP
93782010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9379
9380 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9381 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9382
bb0a9581
NF
93832010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9384
9385 PR preprocessor/45038
9386 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9387 dialects.
9388
c5fa0890
JM
93892010-11-12 Joseph Myers <joseph@codesourcery.com>
9390
9391 * c-common.h (c_family_lang_mask): Declare.
9392 * c-opts.c (c_family_lang_mask): Make extern.
9393 * c-pragma.c (handle_pragma_diagnostic): Use
9394 control_warning_option.
9395
a4d8c676
JM
93962010-11-12 Joseph Myers <joseph@codesourcery.com>
9397
9398 * c-common.c (parse_optimize_options): Update call to
9399 decode_options.
9400 * c-common.h (c_common_handle_option): Update prototype.
9401 * c-opts.c (c_common_handle_option): Take location_t parameter and
9402 pass it to other functions.
9403
f954bd2c
JM
94042010-11-11 Joseph Myers <joseph@codesourcery.com>
9405
9406 * c-opts.c (warning_as_error_callback): Remove.
9407 (c_common_initialize_diagnostics): Don't call
9408 register_warning_as_error_callback.
9409 (c_common_handle_option): Handle -Werror=normalized= here.
9410
d8a07487
JM
94112010-11-10 Joseph Myers <joseph@codesourcery.com>
9412
9413 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
9414 in diagnostic.
9415 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9416 letter.
9417 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9418 Remove trailing '.' from diagnostics.
9419 * c.opt (Wwrite-strings_: Avoid '`' in help text.
9420
d5478783
JM
94212010-11-10 Joseph Myers <joseph@codesourcery.com>
9422
9423 * c-common.c (parse_optimize_options): Pass global_dc to
9424 decode_options.
9425 * c-opts.c (c_common_handle_option): Pass &global_options to
9426 set_Wstrict_aliasing.
9427 * c.opt (v): Don't mark Common or document here.
9428
91ebb981
IS
94292010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9430
9431 PR target/44981
9432 * c-format.c (format_type): New type gcc_objc_string_format_type.
9433 (valid_stringptr_type_p): New.
9434 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9435 (check_format_string): Pass expected type, use
91ebb981
IS
9436 valid_stringptr_type_p (), check that the format string types are
9437 consistent with the format specification.
9438 (decode_format_attr): Warn if NSString is used outside objective-c.
9439 (format_types_orig): Add NSString.
9440 (format_name): New.
9441 (format_flags): New.
9442 (check_format_arg): Handle format strings requiring an external parser.
9443 first_target_format_type: New variable.
9444 (handle_format_attribute): Set up first_target_format_type, pass the
9445 expected format arg string type to check_format_string().
9446 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
9447 * stub-objc.c (objc_string_ref_type_p): New.
9448 (objc_check_format_arg): New.
9449
bede2adc
NP
94502010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
9451
9faeb493 9452 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
9453 * c-common.h (objc_build_class_component_ref): New.
9454 * stub-objc.c (objc_build_class_component_ref): New.
9455
9a179d01
NP
94562010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9457
9458 * c.opt (Wproperty-assign-default): New option.
9459
22d8d616
NP
94602010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9461
9462 Implemented -fobjc-std=objc1 flag.
9463 * c.opt (fobjc-std=objc1): New option.
9464
2debdb4f
NP
94652010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
9466
9467 Implemented format and noreturn attributes for Objective-C methods.
9468 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9469 attribute for Objective-C methods.
9470
ec52b111
JM
94712010-10-31 Jason Merrill <jason@redhat.com>
9472
9473 * c-common.c (conversion_warning, warn_for_collisions_1): Use
9474 EXPR_LOC_OR_HERE.
9475
46a88c12
NP
94762010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
9477
9478 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9479 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9480 (objc_add_property_declaration): Removed arguments for copies and
9481 ivar.
9482 (objc_build_getter_call): Renamed to
9483 objc_maybe_build_component_ref.
9484 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9485 (objc_is_property_ref): New.
9486 * c-common.c (c_common_reswords): Removed copies and ivar.
9487 * stub-objc.c (objc_add_property_declaration): Removed arguments
9488 for copies and ivar.
9489 (objc_build_getter_call): Renamed to
9490 objc_maybe_build_component_ref.
9491 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9492 (objc_is_property_ref): New.
9faeb493 9493
1e4bf85b
AC
94942010-10-29 Arnaud Charlet <charlet@adacore.com>
9495 Matthew Gingell <gingell@adacore.com>
9496
9497 * c-ada-spec.c (separate_class_package): New function.
9498 (pp_ada_tree_identifier): Prefix references to C++ classes with the
9499 name of their enclosing package.
9500 (print_ada_declaration): Use separate_class_package.
9501
81f0bab2
JM
95022010-10-27 Jason Merrill <jason@redhat.com>
9503
2b08f2c5
JM
9504 * c-common.c (c_common_reswords): Add __is_literal_type.
9505 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9506
81f0bab2
JM
9507 * c-common.c (check_case_value): Remove special C++ code.
9508
200290f2
NP
95092010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9510
9511 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9512 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
9513 and RID_LAST_PATTR.
9514 (objc_add_property_declaration): Added additional arguments.
9515 (objc_property_attribute_kind): Removed.
9516 (objc_set_property_attr): Removed.
9517 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
9518 copy and nonatomic.
9519 * stub-objc.c (objc_add_property_declaration): Added additional
9520 arguments.
9521 (objc_set_property_attr): Removed.
9faeb493 9522
f614132b
NP
95232010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9524
9525 * c-common.h (objc_add_property_variable): Renamed to
9526 objc_add_property_declaration. Added location argument.
9527 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 9528
b8a18805
NP
95292010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
9530
9531 * c-common.h (objc_maybe_printable_name): New.
9532 * stub-objc.c (objc_maybe_printable_name): New.
9533
3f8257db
JJ
95342010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9535 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
9536
9537 * c-common.h (c_common_mark_addressable_vec): Declare.
9538 * c-common.c (c_common_mark_addressable_vec): New function.
9539
249a82c4
NP
95402010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9541
9542 * c-common.h (objc_set_method_type): Removed.
9543 (objc_add_method_declaration): Added boolean argument.
9544 (objc_start_method_definition): Same change.
9545 (objc_build_method_signature): Same change.
9546 * stub-objc.c (objc_set_method_type): Removed.
9547 (objc_add_method_declaration): Added boolean argument.
9548 (objc_start_method_definition): Same change.
9549 (objc_build_method_signature): Same change.
9550
977e30bc
NP
95512010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9552
9553 * c-common.h (finish_file): Removed.
9554 (objc_write_global_declarations): New.
9555 * c-opts.c (c_common_parse_file): Do not call finish_file.
9556 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 9557
da57d1b9
NP
95582010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9559
9560 Implemented parsing @synthesize and @dynamic for
9561 Objective-C/Objective-C++.
9562 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9563 (objc_add_synthesize_declaration): New.
9564 (objc_add_dynamic_declaration): New.
9565 * c-common.c (c_common_reswords): Add synthesize and dynamic.
9566 * stub-objc.c (objc_add_synthesize_declaration): New.
9567 (objc_add_dynamic_declaration): New.
9faeb493 9568
0069111f
MM
95692010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9570
9571 PR target/46041
9572 * c-cppbuiltin.c (mode_has_fma): Move function here from
9573 builtins.c. Don't use the fma optab, instead just use the
9574 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9575 using -save-temps.
9576
e426b47b
NP
95772010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9578
9579 Merge from 'apple/trunk' branch on FSF servers.
0069111f 9580
3f8257db 9581 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 9582
9faeb493 9583 Radar 4330422
e426b47b
NP
9584 * c-common.h (objc_non_volatilized_type): New declaration
9585 * stub-objc.c (objc_non_volatilized_type): New stub.
9586
90fbfdc3
NP
95872010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
9588
e426b47b 9589 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 9590
3f8257db 9591 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 9592
9faeb493 9593 Radar 4133425
90fbfdc3 9594 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 9595 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 9596
c37d8c30
IS
95972010-10-17 Iain Sandoe <iains@gcc.gnu.org>
9598
9599 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9600 * c-common.h (enum rid): Add RID_AT_PACKAGE.
9601 (objc_ivar_visibility_kind): New enum.
9602 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 9603 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
9604 visibility enum.
9605
1b1562a5
MM
96062010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9607
9608 * c-cppbuiltin.c (builtin_define_float_constants): Emit
9609 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
9610 has the appropriate fma builtins.
9611 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
9612
668ea4b1
IS
96132010-10-14 Iain Sandoe <iains@gcc.gnu.org>
9614
1b1562a5 9615 merge from FSF apple 'trunk' branch.
3f8257db 9616 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 9617
668ea4b1
IS
9618 Radars 4436866, 4505126, 4506903, 4517826
9619 * c-common.c (c_common_resword): Define @property and its attributes.
9620 * c-common.h: Define property attribute enum entries.
9621 (OBJC_IS_PATTR_KEYWORD): New.
9622 (objc_property_attribute_kind): New enum.
9623 Declare objc_set_property_attr (), objc_add_property_variable (),
9624 objc_build_getter_call () and objc_build_setter_call ().
9625 * stub-objc.c (objc_set_property_attr): New stub.
9626 (objc_add_property_variable): Likewise.
9627 (objc_build_getter_call): Likewise.
9628 (objc_build_setter_call) Likewise.
1b1562a5 9629
a1178b30
IS
96302010-10-13 Iain Sandoe <iains@gcc.gnu.org>
9631
1b1562a5 9632 merge from FSF apple 'trunk' branch.
3f8257db 9633 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
9634
9635 Radar 3803157 (method attributes)
9636 * c-common.c (handle_deprecated_attribute): Recognize
9637 objc methods as valid declarations.
9638 * c-common.h: Declare objc_method_decl ().
1b1562a5 9639 * stub-objc.c (objc_method_decl): New stub.
a1178b30 9640
a75bfaa6
JM
96412010-10-08 Joseph Myers <joseph@codesourcery.com>
9642
9643 * c-common.c (parse_optimize_options): Call
9644 decode_cmdline_options_to_array_default_mask before
9645 decode_options. Update arguments to decode_options.
9646 * c-common.h (c_common_init_options_struct): Declare.
9647 * c-opts.c (c_common_init_options_struct): New. Split out from
9648 c_common_init_options.
9649
f05b9d93
NP
96502010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
9651
9652 Implemented fast enumeration for Objective-C.
9653 * c-common.h (objc_finish_foreach_loop): New.
9654 * stub-objc.c (objc_finish_foreach_loop): New.
9655
1ebe4b4f
JM
96562010-10-05 Joseph Myers <joseph@codesourcery.com>
9657
9658 * c-common.h (struct diagnostic_context): Don't declare here.
9659 (c_common_initialize_diagnostics): Declare using
9660 diagnostic_context typedef.
9661 * c-opts.c (c_common_handle_option): Pass global_dc to
9662 handle_generated_option.
9663
d4d24ba4
JM
96642010-10-04 Joseph Myers <joseph@codesourcery.com>
9665
9666 * c-opts.c (c_common_handle_option): Pass &global_options_set to
9667 handle_generated_option.
9668
478a1c5b
ILT
96692010-10-03 Ian Lance Taylor <iant@google.com>
9670
9671 * c.opt (-fplan9-extensions): New option.
9672
82a1c2fe
FXC
96732010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9674
9675 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
9676 Remove.
9677 (c_cpp_builtins): Call functions from cppbuiltin.c instead
9678 of duplicating code.
9679
92902b1b
IS
96802010-09-30 Iain Sandoe <iains@gcc.gnu.org>
9681
9682 * c-common.c: Add two new entries for @optional
9683 and @required keywords.
9684
9685 merge from FSF 'apple/trunk' branch.
3f8257db 9686 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
9687
9688 Radar 4386773
9689 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
9690 objective-c keywords.
9691 (objc_set_method_opt): New declaration.
9692 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 9693
46625112
JM
96942010-09-30 Joseph Myers <joseph@codesourcery.com>
9695
9696 * c-common.c (handle_optimize_attribute): Pass &global_options to
9697 cl_optimization_save and cl_optimization_restore.
9698 * c-opts.c (c_common_handle_option): Pass &global_options to
9699 handle_generated_option.
9700 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
9701 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
9702 &global_options to cl_optimization_restore.
9703
49b91f05
NP
97042010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
9705
9706 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
9707 Objective-C/Objective-C++ keywords.
9708
13ed556f 97092010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 9710
9faeb493
UB
9711 Merge from 'apple/trunk' branch on FSF servers.
9712
3f8257db 9713 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
9714
9715 Radar 4281748
9716 * c-common.h (objc_check_global_decl): New declaration.
9717 * stub-objc.c (objc_check_global_decl): New stub.
9718
f0036cca
JM
97192010-09-29 Joseph Myers <joseph@codesourcery.com>
9720
9721 * c.opt: Don't use VarExists.
9722
e3339d0f
JM
97232010-09-29 Joseph Myers <joseph@codesourcery.com>
9724
9725 * c-common.c (c_cpp_error): Update names of diagnostic_context
9726 members.
9727 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
9728 cl_optimization members.
9729 * c-opts.c (warning_as_error_callback, c_common_handle_option,
9730 sanitize_cpp_opts, finish_options): Update names of cpp_options
9731 members.
9732
1973201f
NP
97332010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
9734
9735 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
9736 (objc_is_reserved_word): Removed.
9737 * c-common.c: Updated comments.
9738 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
9739 objc_is_reserved_word.
9740 * stub-objc.c (objc_is_reserved_word): Removed.
9741
f7e71da5
IS
97422010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9743
9faeb493 9744 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
9745 include attributes.
9746 (objc_start_method_definition): Likewise.
9747 (objc_build_keyword_decl): Likewise.
9748 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
9749 (objc_start_method_definition): Likewise.
9750 (objc_build_keyword_decl): Likewise.
9751
c165dca7
IS
97522010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9753
9754 * c-common.h (objc_start_class_interface): Adjust prototype.
9755 (objc_start_category_interface): Likewise.
9756 (objc_start_protocol): Likewise.
9757 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
9758 (objc_start_class_interface): Likewise.
9759 (objc_start_category_interface): Likewise.
9760
7458026b
ILT
97612010-09-27 Ian Lance Taylor <iant@google.com>
9762
9763 * c-common.c (c_common_attribute_table): Add no_split_stack.
9764 (handle_no_split_stack_attribute): New static function.
9765
b581b85b
NP
97662010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
9767
9faeb493 9768 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 9769
3f8257db 9770 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 9771
9faeb493 9772 Radar 4229905
b581b85b
NP
9773 * c-common.h (objc_have_common_type): New declaration.
9774 * stub-objc.c (objc_have_common_type): New stub.
9775
9776 2005-06-22 Ziemowit Laski <zlaski@apple.com>
9777
9778 Radar 4154928
9779 * c-common.h (objc_common_type): New prototype.
9faeb493 9780 * stub-objc.c (objc_common_type): New stub.
b581b85b 9781
46a4da10
JH
97822010-09-24 Jan Hubicka <jh@suse.cz>
9783
9784 * c-common.c (handle_leaf_attribute): New function.
9785 (struct attribute_spec c_common_att): Add leaf.
9786
e200444e
JM
97872010-09-22 Joseph Myers <joseph@codesourcery.com>
9788
9789 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
9790 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
9791 -dump, -dump=, -imacros, -imacros=, -include, -include=,
9792 -include-barrier, -include-directory, -include-directory=,
9793 -include-directory-after, -include-directory-after=,
9794 -include-prefix, -include-prefix=, -include-with-prefix,
9795 -include-with-prefix=, -include-with-prefix-after,
9796 -include-with-prefix-after=, -include-with-prefix-before,
9797 -include-with-prefix-before=, -no-integrated-cpp,
9798 -no-line-commands, -no-standard-includes, -no-warnings, -output,
9799 -output=, -pedantic, -pedantic-errors, -preprocess,
9800 -print-missing-file-dependencies, -trace-includes, -traditional,
9801 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9802 -user-dependencies, -verbose, -write-dependencies,
9803 -write-user-dependencies, no-integrated-cpp, traditional): New.
9804
29a80ea6
NP
98052010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9806
9807 PR objc/23710
ac1fc2fc
NP
9808 * c-common.h (objc_start_method_definition): Return bool instead
9809 of void.
9810 * stub-objc.c (objc_start_method_definition): Return bool instead
9811 of void.
9812
98132010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9814
9815 PR objc/25965
9816 * c-common.h (objc_get_interface_ivars): New declaration.
9817 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 9818
de621752
ILT
98192010-09-15 Ian Lance Taylor <iant@google.com>
9820
9821 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 9822 messages. Remove period at end of warning message.
de621752 9823
ba885ec5
NS
98242010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9825
9826 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9827 (handle_alias_attribute): ... here.
9828 (handle_ifunc_attribute): New.
9829
c5ee1358
MM
98302010-09-06 Mark Mitchell <mark@codesourcery.com>
9831
9832 * c-common.h (do_warn_double_promotion): Declare.
9833 * c-common.c (do_warn_double_promotion): Define.
9834
0a0b3574
MM
98352010-09-05 Mark Mitchell <mark@codesourcery.com>
9836
9837 * c.opt (Wdouble-promotion): New.
9838
d1779886
JM
98392010-09-02 Joseph Myers <joseph@codesourcery.com>
9840
9841 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9842 fvtable-thunks, fxref): Mark no longer supported in help text.
9843
2d2bd949
JM
98442010-09-02 Joseph Myers <joseph@codesourcery.com>
9845
9846 * c.opt (Wimport, fall-virtual, falt-external-templates,
9847 fdefault-inline, fenum-int-equiv, fexternal-templates,
9848 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9849 fname-mangling-version-, fnew-abi, fnonnull-objects,
9850 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9851 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9852 applicable.
9853 (fhandle-exceptions): Mark with Alias and Warn.
9854 * c-opts.c (c_common_handle_option): Don't handle options marked
9855 as ignored.
9856
5de8299c
JM
98572010-09-02 Joseph Myers <joseph@codesourcery.com>
9858
9859 * c.opt (Wcomments, Werror-implicit-function-declaration,
9860 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9861 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9862 aliases.
9863 * c-common.c (option_codes): Use OPT_Wcomment instead of
9864 OPT_Wcomments.
9865 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9866 Don't handle options marked as aliases.
9867
0ceb0201
RG
98682010-08-25 Richard Guenther <rguenther@suse.de>
9869
9870 * c-common.c (c_common_get_alias_set): Remove special
9871 handling for pointers.
9872
ac47786e
NF
98732010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9874
9875 * c-common.c: Use FOR_EACH_VEC_ELT.
9876 * c-gimplify.c: Likewise.
9877 * c-pragma.c: Likewise.
9878
c878765b
JM
98792010-08-16 Joseph Myers <joseph@codesourcery.com>
9880
9881 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9882 RejectDriver.
9883 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9884 RejectDriver.
9885 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9886 instead of OPT_MDX and OPT_MMDX.
9887
603349bf
JM
98882010-08-16 Joseph Myers <joseph@codesourcery.com>
9889
9890 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9891
644fa7ac
JM
98922010-08-12 Joseph Myers <joseph@codesourcery.com>
9893
9894 * c.opt (MD, MMD): Change to MDX and MMDX.
9895 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9896
481e1176
JM
98972010-08-11 Joseph Myers <joseph@codesourcery.com>
9898
9899 * c-opts.c (c_common_handle_option): Call handle_generated_option
9900 instead of handle_option.
9901
ac8dc9f7
NF
99022010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9903
9904 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9905 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9906
4f8c876d
NF
99072010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9908
9909 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9910 (pending_redefine_extname): Change type to a VEC.
9911 (add_to_renaming_pragma_list): Update for new type of
9912 pending_redefine_extname.
ac8dc9f7 9913 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9914
3b0c690e
AC
99152010-08-04 Arnaud Charlet <charlet@adacore.com>
9916
9917 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9918 visited.
9919 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9920 decide whether a type has already been declared/seen.
9921 Do not go to the original type.
9922 (dump_nested_types): New parameter forward.
9923 Generate forward declaration if needed and mark type as visited.
9924 (print_ada_declaration): Call dump_nested_types if not already done.
9925 Mark types as visited.
9926
1890bccc
JM
99272010-08-03 Joseph Myers <joseph@codesourcery.com>
9928
9929 * c.opt (-print-pch-checksum): Remove option.
9930 * c-opts.c (c_common_handle_option): Don't handle
9931 OPT_print_pch_checksum.
9932
5f20c657
JM
99332010-07-27 Joseph Myers <joseph@codesourcery.com>
9934
9935 * c-common.h (c_common_handle_option): Update prototype and return
9936 value type.
9937 * c-opts.c (c_common_handle_option): Update prototype and return
9938 value type. Update calls to handle_option and
9939 enable_warning_as_error.
9940
f551f80c
JJ
99412010-07-27 Jakub Jelinek <jakub@redhat.com>
9942
9943 PR c/45079
9944 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9945
61ff2bdc
JM
99462010-07-27 Joseph Myers <joseph@codesourcery.com>
9947
9948 * c-common.h (c_common_missing_argument): Remove.
9949 * c-opts.c (c_common_missing_argument): Remove.
9950 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9951 idirafter, imacros, include, isysroot, isystem, iquote): Add
9952 MissingArgError.
9953 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9954
7a9bf9a4
JM
99552010-07-27 Joseph Myers <joseph@codesourcery.com>
9956
9957 * c-common.h (c_common_option_lang_mask,
9958 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9959 New.
9960 (c_common_init_options): Update prototype.
9961 * c-opts.c (c_common_option_lang_mask): New.
9962 (c_common_initialize_diagnostics): Split out of
9963 c_common_init_options.
9964 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9965 New.
9966 (c_common_init_options): Update prototype. Use decoded options in
9967 search for -lang-asm.
9968
910ad8de
NF
99692010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9970
9971 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9972 * c-format.c: Likewise.
9973
718f9c0f
MLI
99742010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9975
9976 * c-common.h: Include diagnostic-core.h. Error if already
9977 included.
9978 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9979
4d451982
MLI
99802010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9981
adfac8df 9982 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9983 Do not include expr.h
9984 (vector_mode_valid_p): Move here.
9985
119fe915
SB
99862010-06-21 DJ Delorie <dj@redhat.com>
9987
9988 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9989 allow these pragmas anywhere.
9990
99912010-06-14 Jakub Jelinek <jakub@redhat.com>
9992
9993 PR bootstrap/44509
9994 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9995 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9996 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9997 ggc_strdup instead of xstrdup.
9998
99992010-06-10 Jakub Jelinek <jakub@redhat.com>
10000
10001 * c-cppbuiltin.c: Include cpp-id-data.h.
10002 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10003 (lazy_hex_fp_value): New function.
10004 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10005
6662d794
MLI
100062010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10007
10008 * c-gimplify.c: Do not include tree-flow.h
10009
38f8b050
JR
100102010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10011
10012 PR other/44034
10013 * c-common.c: Rename targetm member:
10014 targetm.enum_va_list -> targetm.enum_va_list_p
10015
9589f23e
AS
100162010-06-28 Anatoly Sokolov <aesok@post.ru>
10017
10018 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10019
3b06d379
SB
100202010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10021
10022 * c-cppbuiltin.c: Do not include except.h.
10023
d166d4c3
AK
100242010-06-24 Andi Kleen <ak@linux.intel.com>
10025
9faeb493
UB
10026 * c-common.c (warn_for_omitted_condop): New.
10027 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 10028
70cb8be6
JM
100292010-06-21 Joseph Myers <joseph@codesourcery.com>
10030
10031 * c.opt (lang-objc): Remove.
10032 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10033
a4c97feb
JR
100342010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10035
10036 * c-opts.c: Include "tm_p.h".
10037
6e2f1956
JM
100382010-06-20 Joseph Myers <joseph@codesourcery.com>
10039
10040 * c-common.c (parse_optimize_options): Update call to
10041 decode_options.
10042
bc87224e
NF
100432010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10044
10045 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10046 new type of types_used_by_cur_var_decl.
10047
b49cf425
JR
100482010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10049
10050 PR bootstrap/44512
10051 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10052 for C++ standard compliance.
10053
59f9c2ed
JM
100542010-06-16 Jason Merrill <jason@redhat.com>
10055
10056 * c.opt: Add -Wnoexcept.
10057
33766b66
RG
100582010-06-16 Richard Guenther <rguenther@suse.de>
10059
10060 PR c/44555
10061 * c-common.c (c_common_truthvalue_conversion): Remove
10062 premature and wrong optimization concering ADDR_EXPRs.
10063
eff7e30c
AC
100642010-06-15 Arnaud Charlet <charlet@adacore.com>
10065
10066 * c-ada-spec.c (dump_sloc): Remove column info.
10067 (is_simple_enum): New function.
10068 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10069 enum types when relevant.
10070
6312e84d
MLI
100712010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10072
9faeb493 10073 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
10074 location.
10075
1cb42611
JM
100762010-06-10 Joseph Myers <joseph@codesourcery.com>
10077
10078 * c-opts.c (c_common_handle_option): Don't handle
10079 OPT_fshow_column.
10080
a9429e29
LB
100812010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10082
10083 * c-pragma.c (push_alignment): Use typed GC allocation.
10084 (handle_pragma_push_options): Likewise.
10085
10086 * c-common.c (parse_optimize_options): Likewise.
10087
10088 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10089 option.
10090
5498f011
JM
100912010-06-07 Joseph Myers <joseph@codesourcery.com>
10092
10093 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10094 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10095 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10096 flag_signed_bitfields, warn_strict_null_sentinel,
10097 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10098 flag_gen_declaration, flag_no_gnu_keywords,
10099 flag_implement_inlines, flag_implicit_templates,
10100 flag_implicit_inline_templates, flag_optional_diags,
10101 flag_elide_constructors, flag_default_inline, flag_rtti,
10102 flag_conserve_space, flag_access_control, flag_check_new,
10103 flag_new_for_scope, flag_weak, flag_working_directory,
10104 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10105 flag_enforce_eh_specs, flag_threadsafe_statics,
10106 flag_pretty_templates): Remove.
10107 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10108 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10109 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10110 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10111 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10112 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10113 flag_no_gnu_keywords, flag_implement_inlines,
10114 flag_implicit_templates, flag_implicit_inline_templates,
10115 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10116 flag_rtti, flag_conserve_space, flag_access_control,
10117 flag_check_new, flag_new_for_scope, flag_weak,
10118 flag_working_directory, flag_use_cxa_atexit,
10119 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10120 flag_threadsafe_statics, flag_pretty_templates,
10121 warn_strict_null_sentinel): Remove.
10122 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10123 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10124 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10125 fimplicit-inline-templates, fimplicit-templates,
10126 flax-vector-conversions, fms-extensions, fnil-receivers,
10127 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10128 frtti, fshort-double, fshort-enums, fshort-wchar,
10129 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10130 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10131 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10132 gen-decls, undef): Use Var.
10133 (fdefault-inline, foptional-diags): Document as doing nothing.
10134 * c-opts.c (c_common_handle_option): Remove cases for options now
10135 using Var. Mark ignored options as such.
10136
39dabefd
SB
101372010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10138
9faeb493 10139 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10140 * c-common.def: Likewise.
10141 * c-common.h: Likewise.
10142 * c-cppbuiltin.c: Likewise.
10143 * c-dump.c: Likewise.
10144 * c-format.c: Likewise.
10145 * c-format.h : Likewise.
10146 * c-gimplify.c: Likewise.
10147 * c-lex.c: Likewise.
10148 * c-omp.c: Likewise.
10149 * c.opt: Likewise.
10150 * c-opts.c: Likewise.
10151 * c-pch.c: Likewise.
10152 * c-ppoutput.c: Likewise.
10153 * c-pragma.c: Likewise.
10154 * c-pragma.h: Likewise.
10155 * c-pretty-print.c: Likewise.
10156 * c-pretty-print.h: Likewise.
10157 * c-semantics.c: Likewise.
10158 * stub-objc.c: Likewise.
10159
10160 * c-common.c: Include gt-c-family-c-common.h.
10161 * c-pragma.c: Include gt-c-family-c-pragma.h.
10162\f
a5544970 10163Copyright (C) 2010-2019 Free Software Foundation, Inc.
39dabefd
SB
10164
10165Copying and distribution of this file, with or without modification,
10166are permitted in any medium without royalty provided the copyright
10167notice and this notice are preserved.
This page took 3.839618 seconds and 5 git commands to generate.