]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
re PR tree-optimization/90450 (Hash function in gather_mem_refs_stmt does not match...
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
419ba5b9
EB
12019-05-21 Eric Botcazou <ebotcazou@adacore.com>
2
3 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
4 * c-ada-spec.c (print_assignment_operator): New function.
5 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
6 assignment operators declared as methods and filter out the others.
7
e03436e7
TS
82019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9
10 PR c/89433
11 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
12 "omp declare target".
13
a9c697b8
MS
142019-05-16 Martin Sebor <msebor@redhat.com>
15
16 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
17 keywords, operators, and types in diagnostics.
18 (handle_scalar_storage_order_attribute): Same.
19 (handle_mode_attribute): Same.
20 (handle_visibility_attribute): Same.
21 (handle_assume_aligned_attribute): Same.
22 (handle_no_split_stack_attribute): Same.
23 * c-common.c (shorten_compare): Same.
24 (c_common_truthvalue_conversion): Same.
25 (cb_get_source_date_epoch): Same.
26 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
27 in diagnostics.
28 (interpret_float): Same.
29 * c-omp.c (c_finish_omp_for): Same.
30 * c-opts.c (c_common_post_options): Same.
31 * c-pch.c (c_common_pch_pragma): Same.
32 * c-pragma.c (pop_alignment): Same.
33 (handle_pragma_pack): Same.
34 (apply_pragma_weak): Same.
35 (handle_pragma_weak): Same.
36 (handle_pragma_scalar_storage_order): Same.
37 (handle_pragma_redefine_extname): Same.
38 (add_to_renaming_pragma_list): Same.
39 (maybe_apply_renaming_pragma): Same.
40 (push_visibility): Same.
41 (handle_pragma_visibility): Same.
42 (handle_pragma_optimize): Same.
43 (handle_pragma_message): Same.
44 * c-warn.c (warn_for_omitted_condop): Same.
45 (lvalue_error): Same.
46
6b943512
RB
472019-05-15 Richard Biener <rguenther@suse.de>
48
49 PR c/90474
50 * c-common.c (c_common_mark_addressable_vec): Also mark
51 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
52 c_mark_addressable.
53
b744fc85
NS
542019-05-06 Nathan Sidwell <nathan@acm.org>
55
56 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
57
598f50d7
NS
582019-04-30 Nathan Sidwell <nathan@acm.org>
59
60 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
61
5bcc5a3b
ML
622019-04-30 Martin Liska <mliska@suse.cz>
63
64 * c-pragma.c (handle_pragma_diagnostic): Provide hints
65 for unknown options.
66
e78a87f7
RS
672019-04-26 Richard Sandiford <richard.sandiford@arm.com>
68
69 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
70 the pointer target rather than the pointer itself.
71
c280b7ee
JJ
722019-04-19 Jakub Jelinek <jakub@redhat.com>
73
74 PR c/89888
75 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
76 arguments.
77 (c_do_switch_warnings): Remove outside_range_p argument.
78 * c-common.c (check_case_bounds): Removed.
79 (c_add_case_label): Remove orig_type and outside_range_p arguments.
80 Don't call check_case_bounds. Fold low_value as well as high_value.
81 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
82 Check for case labels outside of range of original type here and
83 adjust them.
84
8e8225e6
JJ
852019-04-12 Jakub Jelinek <jakub@redhat.com>
86
63b8a166
JJ
87 PR translation/90041
88 * c.opt (-fhandle-exceptions): Use %< and %> around option names
89 in the Warn diagnostics.
90
8e8225e6
JJ
91 PR c/89946
92 * c-attribs.c (handle_patchable_function_entry_attribute): Add
93 function comment. Warn if arguments of the attribute are not positive
94 integer constants.
95
53a3f614
EB
962019-04-09 Eric Botcazou <ebotcazou@adacore.com>
97
98 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
99 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
100
22be5873
EB
1012019-04-07 Eric Botcazou <ebotcazou@adacore.com>
102
103 * c-ada-spec.c (is_float128): New predicate extracted from...
104 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
105 <REAL_TYPE>: ...here. Call it.
106
34facf20
DM
1072019-04-05 David Malcolm <dmalcolm@redhat.com>
108
109 PR c/89985
110 * c-warn.c (check_address_or_pointer_of_packed_member): Add
111 auto_diagnostic_group. Guard inform calls by result of
112 warning_at call.
113
05564120
MP
1142019-04-05 Marek Polacek <polacek@redhat.com>
115
116 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
117 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
118 of RHS.
119
7a506c3c
JM
1202019-04-03 Jason Merrill <jason@redhat.com>
121
122 PR c++/86586 - -fcompare-debug=-Wsign-compare.
123 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
124
ddeae8c8
MS
1252019-04-01 Martin Sebor <msebor@redhat.com>
126
127 PR c/89685
128 * c-attribs.c (handle_copy_attribute): Handle references and
129 non-constant expressions.
130
a15ffa22
JJ
1312019-03-22 Jakub Jelinek <jakub@redhat.com>
132
133 PR c++/87481
134 * c.opt (-fconstexpr-ops-limit=): New option.
135
36a3a7a3
JJ
1362019-03-21 Jakub Jelinek <jakub@redhat.com>
137
138 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
139 template param.
140
bec1da64
MS
1412019-03-19 Martin Sebor <msebor@redhat.com>
142
143 PR tree-optimization/89688
144 * c-common.c (braced_list_to_string): Make static.
145 (braced_lists_to_strings): Define new function.
146 * c-common.h (braced_list_to_string): Remove.
147 (braced_lists_to_strings): Declare.
148
1fe61adf
ML
1492019-03-12 Martin Liska <mliska@suse.cz>
150
151 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
152
93964ebd
ML
1532019-03-11 Martin Liska <mliska@suse.cz>
154
155 * c-opts.c (c_common_post_options): Wrap apostrophes
156 in gcc internal format with %'.
157
a3f9f006
ML
1582019-03-11 Martin Liska <mliska@suse.cz>
159
160 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
161 in a string format message and fix GNU coding style.
162 * c-common.c (vector_types_convertible_p): Likewise.
163 (c_build_vec_perm_expr): Likewise.
164 * c-indentation.c (get_visual_column): Likewise.
165 * c-opts.c (c_common_handle_option): Likewise.
166 (c_common_post_options): Likewise.
167 (sanitize_cpp_opts): Likewise.
168 * c-pch.c (c_common_pch_pragma): Likewise.
169 * c-pragma.c (handle_pragma_pack): Likewise.
170
1db01ff9
JJ
1712019-03-08 Jakub Jelinek <jakub@redhat.com>
172
173 PR tree-optimization/89550
174 * c-common.c (c_common_truthvalue_conversion): Only set
175 TREE_NO_WARNING if warning_at returned true.
176 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
177
ba790e6f
JJ
1782019-02-25 Sandra Loosemore <sandra@codesourcery.com>
179 Martin Sebor <msebor@gmail.com>
180
181 * c.opt (Wmissing-attributes): Clean up doc string.
182
7da73ba7
JJ
1832019-02-25 Jakub Jelinek <jakub@redhat.com>
184
185 PR c/89495
186 * c-format.c (maybe_read_dollar_number): Compute nargnum in
187 HOST_WIDE_INT type to avoid overflows and change overflow_flag
188 checking.
189
921bb9d1
RB
1902019-02-22 Richard Biener <rguenther@suse.de>
191
192 * c-pch.c (no_checksum): Remove.
193 (pch_init): Remove assertion that executable_checksum is not
194 all zero.
195 (c_common_valid_pch): Likewise.
196
e2ebb05c
MS
1972019-02-18 Martin Sebor <msebor@redhat.com>
198
199 PR middle-end/89294
200 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
201
3fe53000
DM
2022019-02-16 David Malcolm <dmalcolm@redhat.com>
203
204 PR c++/88680
205 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
206 implementing -Wtype-limits.
207
28a8cef1
MS
2082019-02-11 Martin Sebor <msebor@redhat.com>
209
210 PR c++/87996
211 * c-common.c (invalid_array_size_error): New function.
212 (valid_array_size_p): Call it. Handle size as well as type.
213 * c-common.h (valid_constant_size_p): New function.
214 (enum cst_size_error): New type.
215
ec2be203
DM
2162019-01-31 David Malcolm <dmalcolm@redhat.com>
217
218 PR c/89122
219 * known-headers.cc (get_stdlib_header_for_name): Add
220 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
221
8936f047
JJ
2222019-01-31 Jakub Jelinek <jakub@redhat.com>
223
224 PR libstdc++/88170
225 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
226 a C cast in pp_c_flag_gnu_v3 mode.
227
6a335b96
JJ
2282019-01-29 Jakub Jelinek <jakub@redhat.com>
229
230 PR c/86125
231 * c-common.c (c_common_nodes_and_builtins): Build type variants for
232 builtin_structptr_types types even for C.
233
2a06eba5
BE
2342019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
235
236 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
237 when rhs is of array type correctly. Fix handling of nested structures.
238 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
239 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
240 type casts within nested compound expressions.
241
18a23298
JJ
2422019-01-22 Jakub Jelinek <jakub@redhat.com>
243
244 PR middle-end/88968
245 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
246 variable after using BIT_FIELD_REF.
247
420183d9
L
2482019-01-18 H.J. Lu <hongjiu.lu@intel.com>
249
250 PR c/51628
251 PR c/88664
252 * c-common.h (warn_for_address_or_pointer_of_packed_member):
253 Remove the boolean argument.
254 * c-warn.c (check_address_of_packed_member): Renamed to ...
255 (check_address_or_pointer_of_packed_member): This. Also
256 warn pointer conversion.
257 (check_and_warn_address_of_packed_member): Renamed to ...
258 (check_and_warn_address_or_pointer_of_packed_member): This.
259 Also warn pointer conversion.
260 (warn_for_address_or_pointer_of_packed_member): Remove the
261 boolean argument. Don't check pointer conversion here.
262
99063eee
RS
2632019-01-15 Richard Sandiford <richard.sandiford@arm.com>
264
265 PR inline-asm/52813
266 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
267
a30d0196
JJ
2682019-01-14 Jakub Jelinek <jakub@redhat.com>
269
270 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
271 and __cpp_nontype_template_parameter_auto. Add a comment that
272 __cpp_template_auto is deprecated.
273
2d91f79d
TH
2742019-01-14 Tom Honermann <tom@honermann.net>
275
276 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
277 * c-common.c (c_common_reswords): Add char8_t.
278 (fix_string_type): Use char8_t for the type of u8 string literals.
279 (c_common_get_alias_set): char8_t doesn't alias.
280 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
281 C++.
282 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
283 (keyword_begins_type_specifier): Add RID_CHAR8.
284 * c-common.h (rid): Add RID_CHAR8.
285 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
286 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
287 Define char8_type_node and char8_array_type_node.
288 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
289 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
290 (c_cpp_builtins): Predefine __cpp_char8_t.
291 * c-lex.c (lex_string): Use char8_array_type_node as the type of
292 CPP_UTF8STRING.
293 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
294 * c-opts.c: If not otherwise specified, enable -fchar8_t when
295 targeting C++2a.
296 * c.opt: Add the -fchar8_t command line option.
297
23db6ced
MS
2982019-01-14 Martin Sebor <msebor@redhat.com>
299
300 PR target/88638
301 * c-attribs.c (positional_argument): Call valid_format_string_type_p
302 and issue errors if it fails.
303 * c-common.h (valid_format_string_type_p): Declare.
304 * c-format.c (valid_stringptr_type_p): Rename...
305 (valid_format_string_type_p): ...to this and make extern.
306 (handle_format_arg_attribute): Adjust to new name.
307 (check_format_string): Same.
308
234c3818
L
3092019-01-13 H.J. Lu <hongjiu.lu@intel.com>
310
311 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
312 Replace "may may" with "may" in warning message.
313
d8fcab68
JJ
3142019-01-07 Jakub Jelinek <jakub@redhat.com>
315
316 PR c++/85052
317 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
318 (c_build_vec_convert): Declare.
319 * c-common.c (c_build_vec_convert): New function.
320
29d24852
MS
3212019-01-04 Martin Sebor <msebor@redhat.com>
322
323 PR c/88546
324 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
325 Handle C++ empty throw specification and C11 _Noreturn.
326 (has_attribute): Also handle C11 _Noreturn.
327
9069a4c9
MS
3282019-01-04 Martin Sebor <msebor@redhat.com>
329
330 PR c/88363
331 * c-attribs.c (positional_argument): Also accept enumerated types.
332
a5544970
JJ
3332019-01-01 Jakub Jelinek <jakub@redhat.com>
334
335 Update copyright years.
336
da77eace
L
3372018-12-20 H.J. Lu <hongjiu.lu@intel.com>
338
339 PR c/51628
340 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
341 * c-warn.c (check_alignment_of_packed_member): New function.
342 (check_address_of_packed_member): Likewise.
343 (check_and_warn_address_of_packed_member): Likewise.
344 (warn_for_address_or_pointer_of_packed_member): Likewise.
345 * c.opt: Add -Wno-address-of-packed-member.
346
573767d4
DM
3472018-12-20 David Malcolm <dmalcolm@redhat.com>
348
349 PR c++/87504
350 * c-warn.c (get_outermost_macro_expansion): New function.
351 (spelled_the_same_p): Use it to unwind the macro expansions, and
352 compare the outermost macro in each nested expansion, rather than
353 the innermost.
354
a14feb3c
DM
3552018-12-19 David Malcolm <dmalcolm@redhat.com>
356
357 PR c++/87504
358 * c-common.h (warn_tautological_cmp): Convert 1st param from
359 location_t to const op_location_t &.
360 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
361 when testing for INTEGER_CST.
362 (warn_tautological_bitwise_comparison): Convert 1st param from
363 location_t to const op_location_t &; use it to build a
364 binary_op_rich_location, and use this.
365 (spelled_the_same_p): New function.
366 (warn_tautological_cmp): Convert 1st param from location_t to
367 const op_location_t &. Warn for macro expansions if
368 spelled_the_same_p. Use binary_op_rich_location.
369
dfd7fdca
DM
3702018-12-19 David Malcolm <dmalcolm@redhat.com>
371
372 PR c++/43064
373 PR c++/43486
374 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
375 (verify_tree): Handle location wrappers.
376 (c_common_truthvalue_conversion): Strip any location wrapper.
377 Handle CONST_DECL.
378 (fold_offsetof): Strip any location wrapper.
379 (complete_array_type): Likewise for initial_value.
380 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
381 index before checking for INTEGER_CST.
382 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
383 print parentheses around location wrappers.
384 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
385 before checking for INTEGER_CST.
386 (warn_tautological_bitwise_comparison): Call
387 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
388 before checking for INTEGER_CST.
389 (readonly_error): Strip any location wrapper.
390 (warn_array_subscript_with_type_char): Strip location wrappers
391 before checking for INTEGER_CST. Use the location of the index if
392 available.
393
5c8b3702
JM
3942018-12-06 Jason Merrill <jason@redhat.com>
395
396 PR c++/88136 - -Wdeprecated-copy false positives
397 * c.opt (Wdeprecated-copy-dtor): New.
398 (Wdeprecated-copy): Move to -Wextra.
399
673670da
MS
4002018-11-29 Martin Sebor <msebor@redhat.com>
401
402 PR c/88172
403 PR testsuite/88208
404 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
405 alignments to values less than the target requires.
406 (has_attribute): For attribute aligned consider both the attribute
407 and the alignment bits.
408 * c-common.c (c_init_attributes): Optionally issue a warning for
409 zero alignment.
410
04864ec8
MS
4112018-11-28 Martin Sebor <msebor@redhat.com>
412
413 PR c/88065
414 PR c/87297
415 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
416 or destination is an error.
417
ace83db0
JJ
4182018-11-28 Jakub Jelinek <jakub@redhat.com>
419
420 PR c++/88215
421 * c-ubsan.c: Include langhooks.h.
422 (ubsan_instrument_division): Change gcc_assert that main variants
423 of op0 and op1 types are equal to gcc_checking_assert that the
424 main variants are compatible types.
425
da193a27
EB
4262018-11-27 Eric Botcazou <ebotcazou@adacore.com>
427
428 * c-ada-spec.c: Include stringpool.h.
429 (has_static_fields): Return false for incomplete types.
430 (is_tagged_type): Likewise.
431 (has_nontrivial_methods): Likewise.
432 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
433 (struct overloaded_name_hash): New structure.
434 (struct overloaded_name_hasher): Likewise.
435 (overloaded_names): New global variable.
436 (init_overloaded_names): New static function.
437 (overloaded_name_p): New predicate.
438 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
439 on the TYPE_STUB_DECL of the original type of a typedef, if any.
440 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
441 Remove always-true condition and dump forward types.
442 (dump_ada_specs): Delete overloaded_names.
443
98f08eb8
MS
4442018-11-20 Martin Sebor <msebor@redhat.com>
445
446 * c-attribs.c (type_for_vector_size): New function.
447 (type_valid_for_vector_size): Same.
448 (handle_vector_size_attribute): Move code to the functions above
449 and call them.
450 (validate_attribute, has_attribute): New functions.
451 * c-common.h (has_attribute): Declare.
452 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
453 * c-common.c (c_common_resword): Same.
454
2674fa47
JM
4552018-11-16 Jason Merrill <jason@redhat.com>
456
457 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
458 * c-attribs.c (attr_cold_hot_exclusions): Make public.
459
258b3854
JJ
4602018-11-16 Jakub Jelinek <jakub@redhat.com>
461
462 PR middle-end/87854
463 * c-common.c (fix_string_type): Reject string literals larger than
464 TYPE_MAX_VALUE (ssizetype) bytes.
465
1d249509
MS
4662018-11-15 Martin Sebor <msebor@redhat.com>
467
468 PR c++/87541
469 PR c++/87542
470 * c-attribs.c (positional_argument): New function.
471 (handle_alloc_size_attribute): Use it and simplify.
472 (handle_alloc_align_attribute): Same.
473 (handle_assume_aligned_attribute): Same.
474 (handle_nonnull_attribute): Same.
475 * c-common.c (check_function_arguments): Pass fntype to
476 check_function_format.
477 * c-common.h (check_function_format): Add an argument.
478 (PosArgFlags, positional_argument): Declare new type and function.
479 * c-format.c (decode_format_attr): Add arguments.
480 (check_format_string, get_constant): Same.
481 (convert_format_name_to_system_name): Adjust.
482
478dd60d
DM
4832018-11-15 David Malcolm <dmalcolm@redhat.com>
484
485 PR other/19165
486 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
487
8cca0163
JJ
4882018-11-14 Jakub Jelinek <jakub@redhat.com>
489
8ee09943
JJ
490 P1236R1 - Signed integers are two's complement
491 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
492 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
493 with in-range second operand well defined for -std=c++2a.
494
8cca0163
JJ
495 PR other/88007
496 * c-common.c (parse_optimize_options): Allocate option string from
497 opts_obstack rather than as GC memory. Move the allocation after
498 warning for invalid option.
499
620e594b
DM
5002018-11-13 David Malcolm <dmalcolm@redhat.com>
501
502 * c-common.c (c_get_substring_location): Update for renaming of
503 get_source_location_for_substring to get_location_within_string.
504 * c-lex.c: Replace "source_location" with "location_t".
505 * c-opts.c: Likewise.
506 * c-ppoutput.c: Likewise.
507
f9731de3
MS
5082018-11-13 Martin Sebor <msebor@redhat.com>
509
510 PR middle-end/81824
511 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
512 (handle_tls_model_attribute): Improve diagnostics.
513
e4bd6d5e
JM
5142018-11-12 Jason Merrill <jason@redhat.com>
515
a6bb6b07
JM
516 * c-cppbuiltin.c (c_cpp_builtins): Define
517 __cpp_impl_destroying_delete.
518
e4bd6d5e
JM
519 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
520 __cpp_conditional_explicit.
521
79a2c428
MS
5222018-11-09 Martin Sebor <msebor@redhat.com>
523
524 PR middle-end/81824
525 * c-attribs.c (handle_copy_attribute): New function.
526
4c7bd361
MS
5272018-11-09 Martin Sebor <msebor@redhat.com>
528
529 PR c/87795
530 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
531
28567c40
JJ
5322018-11-08 Jakub Jelinek <jakub@redhat.com>
533
534 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
535 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
536 enum omp_memory_order MEMORY_ORDER.
537 (c_finish_omp_flush): Add MO argument.
538 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
539 (c_finish_omp_for): Add FINAL_P argument.
540 * c-omp.c: Include memmodel.h.
541 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
542 OMP_TASKGROUP_CLAUSES to it.
543 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
544 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
545 instead of OMP_ATOMIC_SEQ_CST.
546 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
547 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
548 __atomic_thread_fence call with the given value.
549 (check_omp_for_incr_expr): Formatting fixes.
550 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
551 even in OpenMP loops, diagnose if NE_EXPR and incr expression
552 is not constant expression 1 or -1. Transform NE_EXPR loops
553 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
554 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
555 loops too.
556 (c_omp_split_clauses): Add support for combined
557 #pragma omp parallel master and
558 #pragma omp {,parallel }master taskloop{, simd} constructs.
559 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
560 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
561 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
562 (c_omp_predetermined_sharing): Don't return
563 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
564 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
565 PRAGMA_OMP_REQUIRES.
566 * c-pragma.h (enum pragma_kind): Likewise.
567 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
568 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
569
204839e7
DM
5702018-11-08 David Malcolm <dmalcolm@redhat.com>
571
572 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
573
d8010ee4
DM
5742018-11-08 David Malcolm <dmalcolm@redhat.com>
575
576 * c-format.c (local_cgraph_node_ptr_node): New variable.
577 (gcc_dump_printf_char_table): Add entry for %C.
578 (get_pointer_to_named_type): New function, taken from the handling
579 code for "gimple *" from...
580 (init_dynamic_diag_info): ...here. Add handling for
581 "cgraph_node *".
582 * c-format.h (T_CGRAPH_NODE): New.
583
4be5c72c
JM
5842018-10-19 Jason Merrill <jason@redhat.com>
585
586 * c-cppbuiltin.c (c_cpp_builtins): Add
587 __cpp_nontype_template_parameter_class.
588
f3f6029d
NS
5892018-10-31 Nathan Sidwell <nathan@acm.org>
590
ab5324fb
NS
591 * c-opts.c (c_finish_options): Force command line macro
592 location. Refactor to avoid repeating main debug hook.
593 (push_command_line_include): Clarify comment.
594
f3f6029d
NS
595 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
596
91e3ec29
MS
5972018-10-30 Martin Sebor <msebor@redhat.com>
598
599 PR middle-end/87041
600 * c-format.c (check_format_types): Avoid diagnosing null pointer
601 arguments to printf-family of functions.
602
b5ff4f5c
MP
6032018-10-30 Marek Polacek <polacek@redhat.com>
604
605 Implement P0892R2, explicit(bool).
606 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
607
7e2de6df
DM
6082018-10-29 David Malcolm <dmalcolm@redhat.com>
609
610 * name-hint.h (name_hint::take_deferred): New member function.
611
b2bf438c
DM
6122018-10-29 David Malcolm <dmalcolm@redhat.com>
613
614 PR c++/56856
615 * c-common.c (check_function_sentinel): Call fold_for_warn on the
616 argument.
617 (check_function_restrict): Rename param "argarray" to
618 "unfolded_argarray", and make a copy named "argarray", calling
619 fold_for_warn on each argument.
620 (check_function_arguments): Add note about responsibility for
621 folding the arguments.
622
9f936c86
JM
6232018-10-17 Joseph Myers <joseph@codesourcery.com>
624
625 * c-common.c (flag_isoc2x): New variable.
626 * c-common.h (clk_c): Update comment to reference C2X.
627 (flag_isoc99, flag_isoc11): Update comments to reference future
628 standard versions in general.
629 (flag_isoc2x): Declare.
630 * c-opts.c (set_std_c2x): New function.
631 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
632 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
633 flag_isoc2x to 0.
634 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
635
7a8a92c4
JM
6362018-10-17 Joseph Myers <joseph@codesourcery.com>
637
638 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
639 (std=iso9899:2018): Document C17 as published in 2018.
640
4dc003ff
CL
6412018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
642
643 PR c++/87364
644 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
645
79371671
WW
6462018-10-11 Will Wray <wjwray@gmail.com>
647
648 PR c++/87364
649 * c-pretty-print.h (pp_c_type_cast): Prototype.
650 (pp_c_integer_constant): Likewise.
651 * c-pretty-print.c (pp_c_type_cast): No longer static.
652 (pp_c_integer_constant): Likewise.
653 (pp_c_enumeration_constant): Fix loop termination when finding
654 name of constant. No longer returns a value. Call
655 pp_c_integer_constant.
656 (c_pretty_printer::constant): Update for changes to
657 pp_c_enumeration_constant.
658
46c62690
JJ
6592018-10-11 Jakub Jelinek <jakub@redhat.com>
660
661 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
662 for no_unique_address.
663
c24300ba
DM
6642018-10-09 David Malcolm <dmalcolm@redhat.com>
665
666 * c-common.c (c_option_controlling_cpp_error): Rename to...
667 (c_option_controlling_cpp_diagnostic): ...this, and convert
668 "reason" from int to enum.
669 (c_cpp_error): Rename to...
670 (c_cpp_diagnostic): ...this, converting level and reason to enums.
671 * c-common.h (c_cpp_error): Rename to...
672 (c_cpp_diagnostic): ...this, converting level and reason to enums.
673 * c-opts.c (c_common_init_options): Update for renaming.
674
8656dafa
RS
6752018-10-08 Richard Sandiford <richard.sandiford@arm.com>
676
677 PR c/87286
678 * c-common.c (vector_types_compatible_elements_p): Use
679 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
680
8cff0652
VK
6812018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
682
683 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
684 to generate constructor destructor priority warning.
685 * c.opt (-Wprio-ctor-dtor): New option.
686
bedf03a2
JM
6872018-10-01 Jason Merrill <jason@redhat.com>
688
689 * c-lex.c (c_common_has_attribute): Add no_unique_address.
690
6cc430c1
EB
6912018-10-01 Eric Botcazou <ebotcazou@adacore.com>
692
693 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
694 (dump_ada_node): Add const keyword.
695
87677ac7
ML
6962018-09-25 Martin Liska <mliska@suse.cz>
697
698 * c-common.c (c_common_truthvalue_conversion):
699 Remove Pascal from documentation.
700
518196cb
EB
7012018-09-21 Eric Botcazou <ebotcazou@adacore.com>
702
703 * c-ada-spec.c: Include diagnostic.h.
704 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
705
a599af84
MP
7062018-09-19 Marek Polacek <polacek@redhat.com>
707
708 * c.opt (Wclass-conversion): New.
709
9c4a4b3c
DM
7102018-09-17 David Malcolm <dmalcolm@redhat.com>
711
712 * c-format.c (range_label_for_format_type_mismatch::get_text):
713 Update for new param.
714
c896ecfe
DM
7152018-09-17 David Malcolm <dmalcolm@redhat.com>
716
717 * c-format.c (format_warning_at_char): Update for introduction of
718 format_string_diagnostic_t.
719 (format_type_warning): Likewise.
720
80c6d1f4
MJ
7212018-09-17 Martin Jambor <mjambor@suse.cz>
722
723 PR c/63886
724 * c.opt (Wabsolute-value): New.
725
6d900107
BE
7262018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
727
728 * c-common.c (complete_flexible_array_elts): New helper function.
729 * c-common.h (complete_flexible_array_elts): Declare.
730
b5764229
BE
7312018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
732
733 * c-common.c (braced_list_to_string): Remove eval parameter.
734 Add some more checks. Always create zero-terminated STRING_CST.
735 * c-common.h (braced_list_to_string): Adjust prototype.
736
85204e23
DM
7372018-08-27 David Malcolm <dmalcolm@redhat.com>
738
739 PR 87091
740 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
741 to a tri-state.
742 (maybe_suggest_missing_token_insertion): Likewise.
743 (maybe_add_include_fixit): Add param "override_location". If set,
744 and source-printing is enabled, then override the rich_location's
745 primary location with that of the insertion point for the fix-it
746 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
747 * c-common.h (extern void maybe_add_include_fixit): Add bool
748 param.
749 * c-format.c (selftest::test_type_mismatch_range_labels): Update
750 for conversion of show_caret_p to a tri-state.
751 * c-warn.c (warn_for_restrict): Likewise.
752 * known-headers.cc
753 (suggest_missing_header::~suggest_missing_header): Update call to
754 maybe_add_include_fixit to suggest overriding the location, as it
755 is for a note.
756
3d78e008
ML
7572018-08-27 Martin Liska <mliska@suse.cz>
758
759 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
760 fndecl_built_in_p and remove check for FUNCTION_DECL if
761 possible.
3d78e008
ML
762 (check_builtin_function_arguments): Likewise.
763 (reject_gcc_builtin): Likewise.
764 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
765
b5be6d0c
MP
7662018-08-26 Marek Polacek <polacek@redhat.com>
767
768 PR c++/87029, Implement -Wredundant-move.
769 * c.opt (Wredundant-move): New option.
770
79ca9c35
MP
7712018-08-21 Marek Polacek <polacek@redhat.com>
772
773 PR c++/86981, Implement -Wpessimizing-move.
774 * c.opt (Wpessimizing-move): New option.
775
097f82ec
DM
7762018-08-20 David Malcolm <dmalcolm@redhat.com>
777
778 PR other/84889
779 * c-attribs.c (common_handle_aligned_attribute): Add
780 auto_diagnostic_group instance.
781 * c-indentation.c (warn_for_misleading_indentation): Likewise.
782 * c-opts.c (c_common_post_options): Likewise.
783 * c-warn.c (warn_logical_not_parentheses): Likewise.
784 (warn_duplicated_cond_add_or_warn): Likewise.
785 (warn_for_multistatement_macros): Likewise.
786
3fb558b1
NS
7872018-08-20 Nathan Sidwell <nathan@acm.org>
788
789 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
790 access.
791
800c0e98
NS
7922018-08-17 Nathan Sidwell <nathan@acm.org>
793
794 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
795 field.
796 (laxy_hex_fp_value_count): Make unsigned.
797 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
798 manipulate the macro.
799 (builtin_defin_with_hex_fp_value): Adjust callback name, use
800 cpp_define_lazily.
801
6f795a92
DM
8022018-08-17 David Malcolm <dmalcolm@redhat.com>
803
804 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
805 (gcc_dump_printf_length_specs): New.
806 (gcc_dump_printf_flag_pairs): New.
807 (gcc_dump_printf_flag_specs): New.
808 (gcc_dump_printf_char_table): New.
809 (format_types_orig): Add entry for "gcc_dump_printf".
810 (init_dynamic_diag_info): Set up length_char_specs and
811 conversion_specs for gcc_dump_printf_format_type.
812 (handle_format_attribute): Handle gcc_dump_printf_format_type.
813
c5d725c0
NS
8142018-08-17 Nathan Sidwell <nathan@acm.org>
815
10f04917
NS
816 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
817
c5d725c0
NS
818 * c-ada-spec.c: Don't #include "cpp-id-data.h"
819 * c-cppbuiltin.c: Likewise.
820
c0c12356
ML
8212018-08-17 Martin Liska <mliska@suse.cz>
822
823 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
824 Ignore/Deprecated flag. Warning is done automatically for
825 Deprecated flags.
c0c12356 826
10fcc142
DM
8272018-08-16 David Malcolm <dmalcolm@redhat.com>
828
829 PR c++/70693
830 * c-common.c (selftest::c_family_tests): Call
831 selftest::c_indentation_c_tests.
832 * c-common.h (selftest::c_indentation_c_tests): New decl.
833 * c-indentation.c: Include "selftest.h".
834 (next_tab_stop): Add "tab_width" param, rather than accessing
835 cpp_opts.
836 (get_visual_column): Likewise. Clarify comment. Bulletproof
837 against reading past the end of the line.
838 (get_first_nws_vis_column): Add "tab_width" param.
839 (detect_intervening_unindent): Likewise.
840 (should_warn_for_misleading_indentation): Read tab width from
841 cpp_opts and pass around.
842 (selftest::test_next_tab_stop): New test.
843 (selftest::assert_get_visual_column_succeeds): New function.
844 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
845 (selftest::assert_get_visual_column_fails): New function.
846 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
847 (selftest::test_get_visual_column): New test.
848 (selftest::c_indentation_c_tests): New function.
849
3f6677f4
NS
8502018-08-16 Nathan Sidwell <nathan@acm.org>
851
852 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
853 (store_ada_macro): Likewise.
854 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
855 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
856
96e6ae57
DM
8572018-08-15 David Malcolm <dmalcolm@redhat.com>
858
859 * c-format.c: Include "selftest-diagnostic.h" and
860 "gcc-rich-location.h".
861 (format_warning_at_char): Pass NULL for new label params of
862 format_warning_va.
863 (class indirection_suffix): New class.
864 (class range_label_for_format_type_mismatch): New class.
865 (format_type_warning): Move logic for generating "*" suffix to
866 class indirection_suffix. Create "fmt_label" and "param_label"
867 to show their types, and pass them to the
868 format_warning_at_substring calls.
869 (selftest::test_type_mismatch_range_labels): New test.
870 (selftest::c_format_c_tests): Call it.
871
23aa9f7c
MS
8722018-08-13 Martin Sebor <msebor@redhat.com>
873
874 PR tree-optimization/71625
875 * c-common.c (braced_list_to_string): New function.
876 * c-common.h (braced_list_to_string): Declare it.
877
f10a9135
NS
8782018-08-08 Nathan Sidwell <nathan@acm.org>
879
880 * c-common.c (try_to_locate_new_include_inertion_point): Use
881 linemap_included_from_linemap.
882 * c-lex.c (fe_file_change): Use linemap_included_from.
883 * c-ppoutput.c (pp_file_change): Likewise.
884
8a45b051
MS
8852018-08-01 Martin Sebor <msebor@redhat.com>
886
887 PR tree-optimization/86650
888 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
889 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
890 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
891 * c-format.h (T89_G): Update to be "gimple *" rather than
892 "gcall *".
893 (local_gcall_ptr_node): Rename...
894 (local_gimple_ptr_node): ...to this.
895
e540ccc0
DM
8962018-07-31 David Malcolm <dmalcolm@redhat.com>
897
898 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
899 table entries for gcc_diag_char_table, and the 'Z' entry from
900 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
901 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
902 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
903 adding missing "Z" for this table. Remove erroneous "G" and "K"
904 entries.
905 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
906 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
907 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
908
425fc685
RE
9092018-07-31 Richard Earnshaw <rearnsha@arm.com>
910
911 * c-common.c (speculation_safe_resolve_call): New function.
912 (speculation_safe_resolve_params): New function.
913 (speculation_safe_resolve_return): New function.
914 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
915 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
916 __HAVE_SPECULATION_SAFE_VALUE.
917
181463c2
DM
9182018-07-20 David Malcolm <dmalcolm@redhat.com>
919
920 * c-common.c (c_cpp_error): Remove redundant "line_table"
921 parameter from call to rich_location::set_range.
922 (maybe_suggest_missing_token_insertion): Likewise.
923
0d7f9065
MS
9242018-07-20 Martin Sebor <msebor@redhat.com>
925
926 PR middle-end/82063
927 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
928
00abf86c
MS
9292018-07-20 Martin Sebor <msebor@redhat.com>
930
931 PR middle-end/82063
932 * c-common.h (c_common_handle_option): Change function argument
933 to HOST_WIDE_INT.
934 * c-opts.c (c_common_init_options): Same.
935 (c_common_handle_option): Same. Remove special handling of
936 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
937 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
938 options to take a HOST_WIDE_INT argument and accept a byte-size
939 suffix. Initialize.
940 (-Wvla-larger-than): Same.
941 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
942 (-Wno-vla-larger-than): Same.
943
9b452033
JJ
9442018-07-12 Jakub Jelinek <jakub@redhat.com>
945
946 * c-attribs.c (c_common_attribute_table): Add
947 "omp declare target implicit" attribute.
948
cd0762f3
RB
9492018-07-12 Richard Biener <rguenther@suse.de>
950
951 PR c/86453
952 * c-attribs.c (handle_packed_attribute): Do not build a variant
953 type with TYPE_PACKED, instead ignore the attribute if we may
954 not apply to the original type.
955
0b27c3ed
JJ
9562018-07-10 Jakub Jelinek <jakub@redhat.com>
957
958 PR c++/86443
959 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
960 to contain TREE_LIST for both the original class iterator and the
961 "last" helper var.
962
e730a0ef
EB
9632018-07-07 Eric Botcazou <ebotcazou@adacore.com>
964
965 * c-ada-spec.c (to_ada_name): Remove index parameter.
966 (pp_ada_tree_identifier): Likewise.
967 (dump_ada_macros): Adjust call to to_ada_name.
968 (struct overloaded_name_hash): Delete.
969 (struct overloaded_name_hasher): Likewise.
970 (overloaded_names): Likewise.
971 (compute_overloading_index): Likewise.
972 (dump_ada_decl_name): Do not call compute_overloading_index and
973 adjust calls to pp_ada_tree_identifier.
974 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
975 (dump_ada_import): Add spc parameter and switch to aspect syntax.
976 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
977 (dump_ada_enum_type): Remove type and display_convention parameters.
978 Adjust calls to pp_ada_tree_identifier.
979 (dump_ada_node): Likewise and for dump_ada_structure.
980 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
981 and tidy up.
982 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
983 syntax.
984 (print_constructor): Adjust call to pp_ada_tree_identifier.
985 (print_destructor): Likewise.
986 (dump_ada_declaration): Switch to aspect syntax.
987 (dump_ada_structure): Likewise and tidy up. Replace display_convention
988 parameter with nested parameter.
989 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
990 (dump_ada_specs): Do not delete overloaded_names table.
991
8de583fc
PB
9922018-07-06 Peter Bergner <bergner@linux.ibm.com>
993
994 PR target/86324
e730a0ef 995 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
996 target hook.
997
09cff37b
NS
9982018-07-05 Nathan Sidwell <nathan@acm.org>
999
1000 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1001 NO_IMPLICIT_EXTERN_C.
1002
98086b2b
ML
10032018-06-28 Martin Liska <mliska@suse.cz>
1004
1005 * cppspec.c: Include opt-suggestions.h.
1006
829c6349
CLT
10072018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1008 Thomas Schwinge <thomas@codesourcery.com>
1009 Cesar Philippidis <cesar@codesourcery.com>
1010
1011 * c-pragma.h (enum pragma_omp_clause): Add
1012 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1013 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1014
f41b7612
JJ
10152018-06-20 Jakub Jelinek <jakub@redhat.com>
1016
1017 PR c++/86210
1018 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1019 comment.
1020
4252ccd7
MS
10212018-06-18 Martin Sebor <msebor@redhat.com>
1022
1023 PR middle-end/85602
1024 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1025 nonstring.
1026
e197e64e
KV
10272018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1028
1029 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1030
34a7a230
JM
10312018-06-13 Jason Merrill <jason@redhat.com>
1032
5cef3733
JM
1033 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1034 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1035 handling.
1036
34a7a230
JM
1037 PR c++/86094 - wrong code with defaulted move ctor.
1038 * c-opts.c (c_common_post_options): Bump the current ABI version to
1039 13. Set warn_abi_version and flag_abi_compat_version to the current
1040 version rather than 0. Fix defaulting flag_abi_compat_version from
1041 warn_abi_version.
1042
bb0f14ae
MS
10432018-06-12 Martin Sebor <msebor@redhat.com>
1044
1045 PR c/85931
1046 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1047 sizeof source and destination yields the same value.
1048
3713f2e2
ML
10492018-06-12 Martin Liska <mliska@suse.cz>
1050
1051 * c.opt: Make MPX-related options as Deprecated.
1052
4af78ef8
DM
10532018-06-08 David Malcolm <dmalcolm@redhat.com>
1054
1055 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1056 rather than 0.
1057
31db0fe0
ML
10582018-06-08 Martin Liska <mliska@suse.cz>
1059
1060 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1061 for MPX (macros, related functions, fields in cgraph_node, ...).
1062 (handle_bnd_legacy): Likewise.
1063 (handle_bnd_instrument): Likewise.
1064 * c.opt: Likewise.
1065
fe16acf2
JJ
10662018-06-06 Jakub Jelinek <jakub@redhat.com>
1067
1068 PR c++/86068
1069 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1070 __cpp_transactional_memory to 201500 instead of 210500.
1071
4dbdb49b
JM
10722018-06-06 Jason Merrill <jason@redhat.com>
1073
1074 PR c++/85710 - ICE with -Wmemset-elt-size.
1075 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1076
f8ad043f
JM
10772018-06-01 Jason Merrill <jason@redhat.com>
1078
1079 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1080 201703.
1081
abc24d93
EB
10822018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1083
1084 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1085 declaration for a typedef independently of whether the declaration of
1086 the subtype is generated.
1087
d258f4aa
MS
10882018-05-31 Martin Sebor <msebor@redhat.com>
1089
1090 PR c/82063
1091 * c.opt (-Wno-alloc-size-larger-than): New option.
1092
b67b9225
DP
10932018-04-22 David Pagan <dave.pagan@oracle.com>
1094
1095 PR c/55976
1096 * c-opts.c (c_common_post_options): Set default for warn_return_type
1097 for C++/C++ with ObjC extensions only. For C, makes it possible to
1098 differentiate between default (no option), -Wreturn-type, and
1099 -Wno-return-type.
1100
04eb9c55
JM
11012018-05-29 Jason Merrill <jason@redhat.com>
1102
1103 * c.opt (Winit-list-lifetime): New flag.
1104
b0c31bc6
BE
11052018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1106
1107 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1108 splay_tree_delete_pointers.
1109
44284983
JJ
11102018-05-26 Jakub Jelinek <jakub@redhat.com>
1111
1112 PR bootstrap/85921
1113 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1114 noinline variable to workaround broken kernel headers.
1115
b46b715d
JM
11162018-05-18 Jason Merrill <jason@redhat.com>
1117
1118 * c.opt (Wdeprecated-copy): New flag.
1119
40659769
ML
11202018-05-17 Martin Liska <mliska@suse.cz>
1121
1122 * c-warn.c (overflow_warning): Do not use
1123 space in between 'G_' and '('.
1124
403962ea
JM
11252018-05-09 Jason Merrill <jason@redhat.com>
1126
1127 * c-common.c (valid_array_size_p): Add complain parameter.
1128 * c-common.h: ...which defaults to true.
1129
1c9ee609
JJ
11302018-05-11 Jakub Jelinek <jakub@redhat.com>
1131
1132 PR c/85696
1133 * c-omp.c (c_omp_predetermined_sharing): Return
1134 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1135
19916065
ML
11362018-05-11 Martin Liska <mliska@suse.cz>
1137
92a285c1 1138 PR sanitizer/85556
19916065
ML
1139 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1140 TREE_LIST values.
1141
79e7b1fe
JJ
11422018-05-10 Jakub Jelinek <jakub@redhat.com>
1143
1144 PR c++/85662
1145 * c-common.h (fold_offsetof_1): Removed.
1146 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1147 CTX argument defaulted to ERROR_MARK.
1148 * c-common.c (fold_offsetof_1): Renamed to ...
1149 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1150 argument, convert the pointer constant to TYPE and use size_binop
1151 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1152 a pointer type. Adjust recursive calls.
1153
86c12f76
EB
11542018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1155
1156 PR c++/85400
1157 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1158
ee336e84
NS
11592018-05-07 Nathan Sidwell <nathan@acm.org>
1160
1161 * c.opt (ffor-scope): Remove functionality, issue warning.
1162
6c072e21
NS
11632018-05-03 Nathan Sidwell <nathan@acm.org>
1164
1165 * c.opt (ffriend-injection): Remove functionality, issue warning.
1166
2cc7d3a7
DM
11672018-05-01 David Malcolm <dmalcolm@redhat.com>
1168
1169 PR c/84258
1170 * c-format.c (struct format_check_results): Add field
1171 "number_non_char".
1172 (check_format_info): Initialize it, and warn if encountered.
1173 (check_format_arg): Distinguish between wide char and
1174 everything else when detecting arrays of non-char.
1175
7761dfbe
DM
11762018-04-30 David Malcolm <dmalcolm@redhat.com>
1177
1178 * c-format.c (get_corrected_substring): Update for
1179 location_get_source_line returning a char_span. Use a char_span
1180 when handling the prefix of the correction.
1181 * c-indentation.c (get_visual_column): Update for
1182 location_get_source_line returning a char_span.
1183 (get_first_nws_vis_column): Likewise.
1184
62e98ef1
DM
11852018-03-29 David Malcolm <dmalcolm@redhat.com>
1186
1187 PR c++/84269
1188 * known-headers.cc (get_stdlib_header_for_name): Add various names
1189 from <assert.h>, <string.h>, and <memory.h>; add more names from
1190 <stdio.h>.
1191
a7dea617
JJ
11922018-03-27 Jakub Jelinek <jakub@redhat.com>
1193
1194 PR c++/85061
1195 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1196 get_base_address of the second operand is a VAR_P, rather than the
1197 operand itself, and use gcc_checking_assert instead of gcc_assert.
1198
889a3a30
MP
11992018-03-23 Marek Polacek <polacek@redhat.com>
1200
1201 PR c++/85045
1202 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1203 <case RDIV_EXPR>: Tweak condition.
1204
452154b9
EB
12052018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1206
1207 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1208
63ecb626
JJ
12092018-03-16 Jakub Jelinek <jakub@redhat.com>
1210
ce811fc4
JJ
1211 PR c/84909
1212 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1213 diagnostics.
1214
63ecb626
JJ
1215 PR c/84910
1216 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1217 diagnostics.
1218
a1295eec
RB
12192018-03-16 Richard Biener <rguenther@suse.de>
1220
1221 PR c/84873
1222 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1223 unshare the possibly folded expression.
1224
919674fb
RB
12252018-03-15 Richard Biener <rguenther@suse.de>
1226
1227 PR c/84873
1228 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1229
f99309b2
MS
12302018-03-13 Martin Sebor <msebor@redhat.com>
1231
1232 PR tree-optimization/84725
1233 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1234 with all three narrow character types, including their qualified forms.
1235
e9b9fa4c
MS
12362018-03-12 Martin Sebor <msebor@redhat.com>
1237
1238 PR tree-optimization/83456
1239 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1240 Restore checking of bounded built-in functions.
1241 (check_function_arguments): Also return the result
1242 of warn_for_restrict.
1243 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1244 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
1245
0805d020
MP
12462018-03-02 Marek Polacek <polacek@redhat.com>
1247
1248 PR c++/84171
1249 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1250 is erroneous.
1251
ed2a2f08
TS
12522018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1253
1254 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1255 function".
1256
90abdde0
MP
12572018-03-01 Marek Polacek <polacek@redhat.com>
1258
1259 PR c++/84639
1260 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1261 alignment in computation.
1262
c6db43fa
EB
12632018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1264
1265 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1266 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1267
9e25c7ed
EB
12682018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1269
1270 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1271 (is_char_array): Take a type instead of a declaration.
1272 (dump_ada_array_type): Likewise.
1273 (is_simple_enum): Minor tweak.
1274 (dump_ada_enum_type): New function extracted from...
1275 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1276 <INTEGER_TYPE>: Remove unreachable code.
1277 <RECORD_TYPE>: Likewise. Minor tweaks.
1278 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1279 <ENUMERAL_TYPE>: New case.
1280 <RECORD_TYPE>: Factor out common code.
1281 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1282 Minor tweaks. Deal with enumeral types.
1283 (dump_ada_structure): Minor tweaks.
1284
09de3550
EB
12852018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1286
1287 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1288 address for incomplete structures.
1289 (dump_forward_type): Do not bail out for incomplete structures.
1290 (dump_ada_declaration): Do not special-case incomplete structures
1291 for subtypes. Dump them as null records for types.
1292
095d8d4b
EB
12932018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1294
1295 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1296 (is_char_array): Fix formatting.
1297 (dump_template_types): Likewise.
1298 (dump_generic_ada_node): Rename into...
1299 (dump_ada_node): ...this.
1300 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1301 incomplete structures and not for empty structures. Do not use it
1302 when forward declarations are needed.
1303 (dump_forward_type): New function.
1304 (dump_nested_types): Remove FORWARD parameter. Do not consider
1305 TREE_VISITED and do not generate a forward declaration. Only dump
1306 original nested types for nested declaration.
1307 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1308 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1309 <RECORD_TYPE>: Do not consider TREE_VISITED.
1310 (dump_ada_declaration): Use booleans and fix formatting throughout.
1311 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1312 Call dump_forward_type instead of dump_nested_types for a typedef.
1313 Remove superfluous check and adjust call to dump_nested_types.
1314 <POINTER_TYPE>: Call dump_forward_type and fall through.
1315 (dump_ada_struct_decl): Rename into...
1316 (dump_ada_structure): ...this. Do not special-case empty structures.
1317
d4cfd486
MS
13182018-02-27 Martin Sebor <msebor@redhat.com>
1319
1320 PR c++/83871
1321 * c.opt (-Wmissing-attributes): New option.
1322
b22dbd03
ML
13232018-02-21 Martin Liska <mliska@suse.cz>
1324
1325 * c.opt (Wcatch-value=): Add IntegerRange.
1326
883dfe2a
JM
13272018-02-15 Jason Merrill <jason@redhat.com>
1328
1329 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1330
0444aa9c
NS
13312018-02-09 Nathan Sidwell <nathan@acm.org>
1332
1333 PR c/84293
1334 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1335 arg.
1336 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1337 arg. Adjust.
1338
cea71f0a
MS
13392018-02-09 Martin Sebor <msebor@redhat.com>
1340
1341 PR lto/84212
1342 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1343 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1344 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1345 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1346 (-Wuninitialized): Same.
1347
8c8b7be5
EB
13482018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1349
1350 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1351 keyword for components.
1352
7c30b12a
PC
13532018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1354
1355 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1356
eece7fe5
JK
13572018-02-02 Julia Koval <julia.koval@intel.com>
1358
1359 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1360
7d07a93a
MP
13612018-01-29 Marek Polacek <polacek@redhat.com>
1362
1363 PR c/83966
1364 * c-format.c (check_function_format): Check current_function_decl.
1365
53723269
JJ
13662018-01-27 Jakub Jelinek <jakub@redhat.com>
1367
1368 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1369 argument.
1370 (LAZY_HEX_FP_VALUES_CNT): Define.
1371 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1372 values rather than just 12.
1373 (builtin_define_with_hex_fp_value): Likewise.
1374
7365279f
BK
13752018-01-18 Boris Kolpackov <boris@codesynthesis.com>
1376
92a285c1
ML
1377 PR other/70268
1378 * c.opt (-fmacro-prefix-map): New option.
1379 * c-opts.c (c_common_handle_option): Handle it.
1380 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
1381 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 1382
bb9869d5
DM
13832018-01-17 David Malcolm <dmalcolm@redhat.com>
1384
1385 PR c++/83814
1386 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1387
68dc87c3
EB
13882018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1389
1390 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1391 Skip 'f' and 'F' characters if it is true.
1392 (store_ada_macro): Minor tweak.
1393 (dump_ada_macros) <CPP_COMMENT>: Likewise.
1394 <CPP_WSTRING>: Likewise.
1395 <CPP_STRING>: Output '&' in the buffer if not the first string.
1396 <CPP_NUMBER>: Adjust calls to dump_number.
1397
9a004410
DM
13982018-01-10 David Malcolm <dmalcolm@redhat.com>
1399
1400 PR c++/43486
1401 * c-common.c: Include "selftest.h".
1402 (get_atomic_generic_size): Perform the test for integral type
1403 before the range test for any integer constant, fixing indentation
1404 of braces. Call fold_for_warn before testing for an INTEGER_CST.
1405 (reject_gcc_builtin): Strip any location wrapper from EXPR.
1406 (selftest::test_fold_for_warn): New function.
1407 (selftest::c_common_c_tests): New function.
1408 (selftest::c_family_tests): Call it, and
1409 selftest::c_pretty_print_c_tests.
1410 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
1411 * c-format.c (check_format_arg): Convert VAR_P check to a
1412 fold_for_warn.
1413 * c-pretty-print.c: Include "selftest.h".
1414 (pp_c_cast_expression): Don't print casts for location wrappers.
1415 (selftest::assert_c_pretty_printer_output): New function.
1416 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1417 (selftest::test_location_wrappers): New function.
1418 (selftest::c_pretty_print_c_tests): New function.
1419 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1420
5c0caeb3
RS
14212018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1422 Alan Hayward <alan.hayward@arm.com>
1423 David Sherwood <david.sherwood@arm.com>
1424
1425 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1426
73a699ae
RS
14272018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1428 Alan Hayward <alan.hayward@arm.com>
1429 David Sherwood <david.sherwood@arm.com>
1430
1431 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1432 as polynomial.
1433
928686b1
RS
14342018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1435 Alan Hayward <alan.hayward@arm.com>
1436 David Sherwood <david.sherwood@arm.com>
1437
1438 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1439 (convert_vector_to_array_for_subscript): Handle polynomial
1440 TYPE_VECTOR_SUBPARTS.
1441 (c_common_type_for_mode): Check valid_vector_subparts_p.
1442 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1443 VECTOR_CST_NELTS.
1444
85ec4feb
JJ
14452018-01-03 Jakub Jelinek <jakub@redhat.com>
1446
1447 Update copyright years.
1448
170a8bd6 14492017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1450 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1451
1452 * c-pragma.c (init_pragma): Register pragma GCC unroll.
1453 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1454
18408e96
AO
14552017-12-22 Alexandre Oliva <aoliva@redhat.com>
1456
1457 PR debug/83527
1458 PR debug/83419
1459 * c-semantics.c (only_debug_stmts_after_p): New.
1460 (pop_stmt_list): Clear side effects in debug-only stmt list.
1461 Check for single nondebug stmt followed by debug stmts only.
1462
c12d20d4
AO
14632017-12-21 Alexandre Oliva <aoliva@redhat.com>
1464
1465 PR debug/83419
1466 * c-semantics.c (pop_stmt_list): Propagate side effects from
1467 single nondebug stmt to container list.
1468
01512446
JJ
14692017-12-19 Jakub Jelinek <jakub@redhat.com>
1470
1471 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1472 conditions with typical order conditions.
1473
82cfbd01
MP
14742017-12-18 Marek Polacek <polacek@redhat.com>
1475
1476 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1477 not in effect.
1478
99da11ec
MS
14792017-12-17 Martin Sebor <msebor@redhat.com>
1480
1481 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1482 an error for attribute warn_if_not_aligned.
1483
cc8bea0a
MS
14842017-12-16 Martin Sebor <msebor@redhat.com>
1485
1486 PR tree-optimization/78918
1487 * c-common.c (check_function_restrict): Avoid checking built-ins.
1488 * c.opt (-Wrestrict): Include in -Wall.
1489
4849deb1
JJ
14902017-12-15 Jakub Jelinek <jakub@redhat.com>
1491
1492 * c-attribs.c (c_common_attribute_table,
1493 c_common_format_attribute_table): Swap affects_type_identity
1494 and handler fields, adjust comments.
1495
c65e18d3
BE
14962017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1497
1498 * c.opt (Wcast-function-type): New warning option.
1499 * c-lex.c (get_fileinfo): Avoid warning.
1500 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1501
2004617a
QZ
15022017-12-14 Qing Zhao <qing.zhao@oracle.com>
1503
7365279f 1504 PR middle_end/79538
2004617a
QZ
1505 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1506 Adjust the size of buf1 and buf2, add a new buf to avoid
1507 format-overflow warning.
1508
96a95ac1
AO
15092017-12-12 Alexandre Oliva <aoliva@redhat.com>
1510
1511 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
1512 subsequent statement list.
1513
5d9ae53d
MS
15142017-12-07 Martin Sebor <msebor@redhat.com>
1515
1516 PR c/81544
1517 PR c/81566
1518 * c-attribs.c (attr_aligned_exclusions): New array.
1519 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
1520 (attr_common_exclusions, attr_const_pure_exclusions): Same.
1521 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
1522 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
1523 (attr_warn_unused_result_exclusions): Same.
1524 (handle_hot_attribute, handle_cold_attribute): Simplify.
1525 (handle_const_attribute): Warn on function returning void.
1526 (handle_pure_attribute): Same.
1527 (handle_aligned_attribute): Diagnose conflicting attribute
1528 specifications.
1529 * c-warn.c (diagnose_mismatched_attributes): Simplify.
1530
c79144f8
DM
15312017-12-06 David Malcolm <dmalcolm@redhat.com>
1532
1533 PR c/83236
1534 * c-common.c (selftest::c_family_tests): Call
1535 selftest::c_spellcheck_cc_tests.
1536 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
1537 * c-spellcheck.cc: Include "selftest.h".
1538 (name_reserved_for_implementation_p): New function.
1539 (should_suggest_as_macro_p): New function.
1540 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
1541 should_suggest_as_macro_p and call it.
1542 (selftest::test_name_reserved_for_implementation_p): New function.
1543 (selftest::c_spellcheck_cc_tests): New function.
1544 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
1545
613bc14f
DM
15462017-12-06 David Malcolm <dmalcolm@redhat.com>
1547
1548 * c-spellcheck.cc: New file, taken from macro-handling code in
1549 spellcheck-tree.c.
1550 * c-spellcheck.h: New file, taken from macro-handling code in
1551 spellcheck-tree.h.
1552
e76c7157
JJ
15532017-12-01 Jakub Jelinek <jakub@redhat.com>
1554
1555 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
1556 attribute.
1557 (handle_simd_attribute): Don't check for "cilk simd function"
1558 attribute. Reindent, formatting changes.
1559
b0da4034
JK
15602017-11-30 Julia Koval <julia.koval@intel.com>
1561
1562 * c-common.h (inv_list): Remove.
1563
058f0b9e
JJ
15642017-11-28 Jakub Jelinek <jakub@redhat.com>
1565
1566 PR sanitizer/81275
1567 * c-common.c (c_switch_covers_all_cases_p_1,
1568 c_switch_covers_all_cases_p): New functions.
1569 * c-common.h (c_switch_covers_all_cases_p): Declare.
1570
5e9d6aa4 15712017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 1572 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
1573
1574 * array-notation-common.c: Delete.
1575 * c-cilkplus.c: Ditto.
1576 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
1577 * c-common.def (ARRAY_NOTATION_REF): Remove.
1578 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
1579 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
1580 c_validate_cilk_plus_loop, cilkplus_an_parts,
1581 cilk_ignorable_spawn_rhs_op,
1582 cilk_recognize_spawn): Remove.
1583 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
1584 * c-omp.c: Remove CILK_SIMD check.
1585 * c-pragma.c: Ditto.
1586 * c-pragma.h: Remove CILK related pragmas.
1587 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
1588 ARRAY_NOTATION_REF condition.
1589 (c_pretty_printer::expression): Ditto.
1590 * c.opt (fcilkplus): Remove.
1591 * cilk.c: Delete.
1592
1af4ebf5
MG
15932017-11-21 Marc Glisse <marc.glisse@inria.fr>
1594
1595 * c-pretty-print.c (pp_c_additive_expression,
1596 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
1597
d44ed508
JJ
15982017-11-21 Jakub Jelinek <jakub@redhat.com>
1599
7d2f0f9b
JJ
1600 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
1601
d44ed508
JJ
1602 PR c++/83059
1603 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
1604 instead of tree_to_uhwi, formatting fix.
1605
26edace6
DM
16062017-11-20 David Malcolm <dmalcolm@redhat.com>
1607
1608 PR c/81404
1609 * known-headers.cc: New file, based on material from c/c-decl.c.
1610 (suggest_missing_header): Copied as-is.
1611 (get_stdlib_header_for_name): New, based on get_c_name_hint but
1612 heavily edited to add C++ support. Add some knowledge about
1613 <limits.h>, <stdint.h>, and <wchar.h>.
1614 * known-headers.h: Likewise.
1615
6c7a259b
DM
16162017-11-20 David Malcolm <dmalcolm@redhat.com>
1617
1618 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
1619 (lookup_name_fuzzy): Likewise. Convert return type from
1620 const char * to name_hint. Add location_t param.
1621 * name-hint.h: New header.
1622
f9c59f7e
JJ
16232017-11-19 Jakub Jelinek <jakub@redhat.com>
1624
1625 PR c/66618
1626 PR c/69960
1627 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
1628
1e39313a
JM
16292017-11-16 Joseph Myers <joseph@codesourcery.com>
1630
1631 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
1632 expected publication date of C17.
1633 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
1634
3ca0dc60
JM
16352017-11-15 Joseph Myers <joseph@codesourcery.com>
1636
1637 PR c/81156
1638 * c-common.c (c_common_reswords): Add __builtin_tgmath.
1639 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
1640
025d57f0
MS
16412017-11-10 Martin Sebor <msebor@redhat.com>
1642
1643 PR c/81117
1644 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
1645 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
1646 * c.opt (-Wstringop-truncation): New option.
1647
1b6fa695
ML
16482017-11-06 Martin Liska <mliska@suse.cz>
1649
1650 PR middle-end/82404
1651 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
1652 FE.
1653 * c.opt: Set default value of warn_return_type.
1654
64a5912c
DM
16552017-10-31 David Malcolm <dmalcolm@redhat.com>
1656
1657 * c-common.c (binary_op_error): Update for renaming of
1658 error_at_rich_loc.
1659 (c_parse_error): Likewise.
1660 * c-warn.c (warn_logical_not_parentheses): Likewise for
1661 renaming of inform_at_rich_loc.
1662 (warn_for_restrict): Likewise for renaming of
1663 warning_at_rich_loc_n.
1664
c76dc9c3
JM
16652017-10-30 Joseph Myers <joseph@codesourcery.com>
1666
1667 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
1668 * c-opts.c (set_std_c17): New function.
1669 (c_common_init_options): Use gnu17 as default C version.
1670 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
1671
ee5fd23a
MM
16722017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1673
1674 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
1675 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
1676 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
1677 __FP_FAST_FMA<N>X.
1678
d1047465
MP
16792017-10-23 Marek Polacek <polacek@redhat.com>
1680
1681 PR c/82681
1682 * c-warn.c (warnings_for_convert_and_check): Fix typos.
1683
9e878cf1
EB
16842017-10-19 Eric Botcazou <ebotcazou@adacore.com>
1685
1686 * c-common.c (check_builtin_function_arguments): Also check arguments
1687 of __builtin_alloca_with_align_and_max.
1688
89b6abbb
DM
16892017-10-17 David Malcolm <dmalcolm@redhat.com>
1690
1691 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
1692 rather than NULL to format_warning_va.
1693 (check_format_types): Likewise when calling format_type_warning.
1694 Remove code to extract source_ranges and source_range * in favor
1695 of just a location_t.
1696 (format_type_warning): Convert source_range * param to a
1697 location_t.
1698
39382c09
JJ
16992017-10-13 Jakub Jelinek <jakub@redhat.com>
1700
1701 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
1702 [LR]SHIFT_EXPR.
1703
62e1c678
DM
17042017-10-12 David Malcolm <dmalcolm@redhat.com>
1705
1706 * c-common.c (enum missing_token_insertion_kind): New enum.
1707 (get_missing_token_insertion_kind): New function.
1708 (maybe_suggest_missing_token_insertion): New function.
1709 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
1710
b90c9338
NS
17112017-10-11 Nathan Sidwell <nathan@acm.org>
1712
1713 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1714 (c_common_handle_option): Update incpath_kind names.
1715
3a266bcd
ML
17162017-10-11 Martin Liska <mliska@suse.cz>
1717
1718 PR sanitizer/82490
1719 * c-attribs.c (handle_no_sanitize_attribute): Report directly
1720 Wattributes warning.
1721
8e6cdc90
RS
17222017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1723
1724 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1725 operating on trees as wide_ints.
1726 * c-common.c (pointer_int_sum): Likewise.
1727 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1728 * c-warn.c (match_case_to_enum_1): Likewise.
1729 (c_do_switch_warnings): Likewise.
1730 (maybe_warn_shift_overflow): Likewise.
1731
802b38c9
JJ
17322017-10-10 Jakub Jelinek <jakub@redhat.com>
1733
1734 PR c/82437
1735 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1736 instead of wide_int::from.
1737
4e34b338
JJ
17382017-10-06 Jakub Jelinek <jakub@redhat.com>
1739
1740 PR c/82437
1741 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1742 using to_widest use wide_int with the larger of the two precisions.
1743
4bc4b2b4
BE
17442017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1745
1746 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1747 functions.
1748
a1488398
RS
17492017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1750
1751 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1752 when combining the original unconverted comparison operands.
1753
01c9fb68
JJ
17542017-09-29 Jakub Jelinek <jakub@redhat.com>
1755
1756 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1757 attribute.
1758
6e3e8419
EB
17592017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1760
1761 * c-ada-spec.c (to_ada_name): Add index parameter.
1762 (pp_ada_tree_identifier): Likewise.
1763 (dump_ada_macros): Adjust call to to_ada_name.
1764 (struct overloaded_name_hash): New type.
1765 (struct overloaded_name_hasher): Likewise.
1766 (overloaded_names): New hash table.
1767 (compute_overloading_index): New function.
1768 (dump_ada_decl_name): Call it and pass the result to
1769 pp_ada_tree_identifier.
1770 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1771 (dump_ada_function_declaration): Likewise.
1772 (dump_generic_ada_node): Likewise.
1773 (print_constructor): Likewise.
1774 (print_destructor): Likewise.
1775 (dump_ada_specs): Delete overloaded_names table.
1776
79310774
EB
17772017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1778
1779 * c-ada-spec.c (max_ada_macros): Move around.
1780 (store_ada_macro_index): Likewise.
1781 (source_file): Rename into...
1782 (macro_source_file): ...this.
1783 (count_ada_macro): Move around.
1784 (store_ada_macro): Likewise.
1785 (compare_macro): Likewise.
1786 (print_ada_macros): Merge in...
1787 (dump_ada_macros): ...this.
1788 (source_file_base): Rename into...
1789 (current_source_file): ...this.
1790 (print_comment): Move around.
1791 (dump_ada_nodes): Call dump_ada_declaration directly.
1792 (struct with): Change type of limited field to bool.
1793 (append_withs): Change type of limited_access parameter to bool.
1794 (pp_ada_tree_identifie): Likewise.
1795 (dump_ada_decl_nam): Likewise.
1796 (dump_generic_ada_node): Likewise. Do not print the return type.
1797 (to_ada_name): Change type of space_found parameter to bool.
1798 (dump_ada_function_declaration): Return void and change type of
1799 parameters to bool. Also print the return type for a function.
1800 (print_ada_methods): Rename into...
1801 (dump_ada_methods): ...this.
1802 (print_ada_declaration): Rename into ...
1803 (dump_ada_declaration): ...this. Do not print the return type.
1804 (print_ada_struct_decl): Rename into...
1805 (dump_ada_struct_decl): ...this.
1806
7d386d45
JJ
18072017-09-29 Jakub Jelinek <jakub@redhat.com>
1808
1809 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1810 rather than DECL_INITIAL.
1811 (common_handle_aligned_attribute): Likewise.
1812
9ed32e27
AO
18132017-09-20 Alexandre Oliva <aoliva@redhat.com>
1814
1815 * c.opt (gen-decls): Add RejectNegative.
1816
026a79f7
AS
18172017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1818 Jakub Jelinek <jakub@redhat.com>
1819
1820 Add support for -std=c++2a.
1821 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1822 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1823 * c-opts.c (set_std_cxx2a): New.
1824 (c_common_handle_option): Set options when -std=c++2a is enabled.
1825 (c_common_post_options): Adjust comments.
1826 (set_std_cxx14, set_std_cxx17): Likewise.
1827
4a8ca690
EB
18282017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1829
1830 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1831 message for non-uniform endianness and issue a warning in C++.
1832
7b936140
JJ
18332017-09-15 Jakub Jelinek <jakub@redhat.com>
1834
1835 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1836 (Wc++17-compat): Change from undocumented alias to option.
1837 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1838 change C++1z to C++17 in description.
1839 (std=c++1z, std=gnu++1z): Change from option to undocumented
1840 deprecated alias.
1841 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1842 Adjust description.
1843 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1844 * c-opts.c (set_std_cxx1z): Rename to ...
1845 (set_std_cxx17): ... this.
1846 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1847 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1848 caller.
7b936140
JJ
1849 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1850 comments.
1851
12263f13
L
18522017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1853
1854 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1855 function alignment if warn_if_not_aligned_p is true.
1856
6836632e
NS
18572017-09-12 Nathan Sidwell <nathan@acm.org>
1858
1859 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1860 resort_sorted_fields): Move to c/c-decl.c.
1861 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1862 (struct sorted_fields_type): Move to c/c-lang.h.
1863
019bf9ad
JW
18642017-09-09 Jonathan Wakely <jwakely@redhat.com>
1865
1866 PR c++/81852
1867 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1868
bc7fe952
MP
18692017-09-04 Marek Polacek <polacek@redhat.com>
1870
1871 PR c/81783
1872 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1873 (warn_tautological_cmp): Call it.
1874
de7c2c6a
BK
18752017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1876
1877 * c-opts.c (c_common_finish): Write dependency information even if
1878 there are errors.
1879
d2e05fcb
JJ
18802017-09-01 Jakub Jelinek <jakub@redhat.com>
1881
1882 PR c/81887
1883 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1884 (omp_pragmas_simd): ... here.
1885 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1886 create new clauses list containing just simd clause.
1887
18e2a8b8
RS
18882017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1889 Alan Hayward <alan.hayward@arm.com>
1890 David Sherwood <david.sherwood@arm.com>
1891
1892 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1893 into scalar_mode_supported_p call.
1894 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1895
16d22000
RS
18962017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1897 Alan Hayward <alan.hayward@arm.com>
1898 David Sherwood <david.sherwood@arm.com>
1899
1900 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1901 for the mode iterator.
1902
b397965c
RS
19032017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1904 Alan Hayward <alan.hayward@arm.com>
1905 David Sherwood <david.sherwood@arm.com>
1906
1907 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1908 * c-common.c (c_build_vec_perm_expr): Likewise.
1909
357b7604
RS
19102017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1911 Alan Hayward <alan.hayward@arm.com>
1912 David Sherwood <david.sherwood@arm.com>
1913
1914 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1915
e05c94ba
RS
19162017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1917 Alan Hayward <alan.hayward@arm.com>
1918 David Sherwood <david.sherwood@arm.com>
1919
1920 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1921 before calling targetm.addr_space.valid_pointer_mode.
1922
5c20c4af
RS
19232017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1924 Alan Hayward <alan.hayward@arm.com>
1925 David Sherwood <david.sherwood@arm.com>
1926
1927 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1928
c94843d2 19292017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
1930 Alan Hayward <alan.hayward@arm.com>
1931 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
1932
1933 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1934 iterators.
1935 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1936
4e10a5a7
RS
19372017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1938 Alan Hayward <alan.hayward@arm.com>
1939 David Sherwood <david.sherwood@arm.com>
1940
1941 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1942 case statements.
1943
130fcab0
ML
19442017-08-29 Martin Liska <mliska@suse.cz>
1945
1946 PR other/39851
1947 * c-common.c (parse_optimize_options): Add argument to function
1948 call.
1949 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1950
14e18d71
DM
19512017-08-24 David Malcolm <dmalcolm@redhat.com>
1952
1953 * c-lex.c (interpret_float): Use token location
1954 when building an EXCESS_PRECISION_EXPR.
1955
2f687306
DM
19562017-08-21 David Malcolm <dmalcolm@redhat.com>
1957
1958 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1959 it to check_function_format.
1960 * c-common.h (check_function_arguments): Add vec<location_t> *
1961 param.
1962 (check_function_format): Likewise.
1963 * c-format.c (struct format_check_context): Add field "arglocs".
1964 (check_function_format): Add param "arglocs"; pass it to
1965 check_format_info.
1966 (check_format_info): Add param "arglocs"; use it to initialize
1967 new field of format_ctx.
1968 (check_format_arg): Pass format_ctx->arglocs to new param of
1969 check_format_info_main.
1970 (class argument_parser): New field "arglocs".
1971 (argument_parser::argument_parser): Add "arglocs_" param and use
1972 it to initialize new field.
1973 (argument_parser::check_argument_type): Pass new arglocs field to
1974 check_format_types.
1975 (check_format_info_main): Add param "arglocs", and use it when
1976 constructing arg_parser.
1977 (check_format_types): Add param "arglocs"; use it if non-NULL when
1978 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1979
00aa1fa2
L
19802017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1981
1982 PR c/53037
1983 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1984 (c_common_attribute_table): Add warn_if_not_aligned.
1985 (handle_aligned_attribute): Renamed to ...
1986 (common_handle_aligned_attribute): Remove argument, name, and add
1987 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1988 (handle_aligned_attribute): New.
1989 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1990
27be025d
MS
19912017-08-14 Martin Sebor <msebor@redhat.com>
1992
1993 PR c/81117
1994 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1995 (handle_nonstring_attribute): New function.
1996
da67acb9
MS
19972017-08-14 Martin Sebor <msebor@redhat.com>
1998
1999 PR c/81117
2000 * c-format.h (T89_G): New macro.
2001 * c-format.c (local_gcall_ptr_node): New variable.
2002 (init_dynamic_diag_info): Initialize it.
2003
a8b522b4
ML
20042017-08-11 Martin Liska <mliska@suse.cz>
2005
2006 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2007 TARGET_SUPPORTS_ALIASES.
2008
32129a17
DM
20092017-08-10 David Malcolm <dmalcolm@redhat.com>
2010
2011 * c-common.c (c_parse_error): Add rich_location * param, using it
2012 rather implicitly using input_location.
2013 * c-common.h (c_parse_error): Add rich_location * param.
2014
30af3a2b
MP
20152017-08-09 Marek Polacek <polacek@redhat.com>
2016
2017 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2018 (c_common_truthvalue_conversion): Likewise.
2019 * c-omp.c (c_finish_omp_atomic): Likewise.
2020 * c-common.h (build_binary_op): Update declaration.
2021
314e6352
ML
20222017-08-08 Martin Liska <mliska@suse.cz>
2023
2024 * c-ada-spec.c: Include header files.
2025 * c-ubsan.c: Likewise.
2026 * c-warn.c: Likewise.
2027
56b5041c
JJ
20282017-08-07 Jakub Jelinek <jakub@redhat.com>
2029
2030 PR c/69389
2031 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2032
db440138
EB
20332017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2034
2035 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2036 (print_ada_methods): Likewise.
2037 (print_ada_declaration): Likewise.
2038
577eec56
ML
20392017-08-07 Martin Liska <mliska@suse.cz>
2040
2041 * array-notation-common.c: Add new includes.
2042 * c-format.c( handle_format_attribute): Canonicalize a format
2043 function name.
2044 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2045 attribute.
2046 * c-pretty-print.c: Add new include.
2047
b854df3c
EB
20482017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2049
2050 * c-ada-spec.c (has_static_fields): Look only into variables.
2051 (print_constructor): Add TYPE parameter and use it for the name.
2052 (print_destructor): Likewise.
2053 (print_ada_declaration): Adjust to new constructor/destructor names.
2054 Adjust calls to print_constructor and print_destructor.
2055 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2056 Look only into variables in the final loop.
2057
9f2cb25e
EB
20582017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2059
2060 * c-ada-spec.c (has_static_fields): Look only into fields.
2061 (dump_generic_ada_node): Small tweak.
2062 (dump_nested_types): Look only into fields.
2063 (print_ada_declaration): Look only into methods. Small tweak.
2064 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2065
f4bcd9eb
EB
20662017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2067
2068 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2069 (dump_ada_function_declaration): Likewise.
2070 (dump_generic_ada_node): Likewise.
2071 (print_ada_declaration): Add support for const-qualified variables.
2072
f34ebeb2
ML
20732017-07-31 Martin Liska <mliska@suse.cz>
2074
2075 PR sanitize/81530
2076 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2077 Guard condition with flag_sanitize_p also with current_function_decl
2078 non-null equality.
2079 (ubsan_maybe_instrument_reference_or_call): Likewise.
2080
218e5d04
UB
20812017-07-30 Uros Bizjak <ubizjak@gmail.com>
2082
2083 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2084
942047f2
EB
20852017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2086
2087 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2088 for enumeral types.
2089 (print_ada_declaration): Add missing guard for record types.
2090
a40ff0ae
JJ
20912017-07-27 Jakub Jelinek <jakub@redhat.com>
2092
2093 PR c/45784
2094 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2095 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2096 new COMPOUND_EXPRs around the rhs of the comparison.
2097
06bd22f6
MP
20982017-07-27 Marek Polacek <polacek@redhat.com>
2099
2100 PR c/81417
2101 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2102 the types.
2103
036ea399
JJ
21042017-07-27 Jakub Jelinek <jakub@redhat.com>
2105
2106 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2107 (handle_noipa_attribute): New function.
2108
417ca011
TD
21092017-07-07 Torsten Duwe <duwe@suse.de>
2110
2111 * c-attribs.c (c_common_attribute_table): Add entry for
2112 "patchable_function_entry".
2113
5aaa8fb4
NS
21142017-07-20 Nathan Sidwell <nathan@acm.org>
2115
2116 Remove TYPE_METHODS.
2117 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2118 dump_ada_template, print_ada_methods,
2119 print_ada_declaration): Member fns are on TYPE_FIELDS.
2120
ff22eb12
NS
21212017-07-18 Nathan Sidwell <nathan@acm.org>
2122
2123 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2124
eea77d1f
DM
21252017-07-14 David Malcolm <dmalcolm@redhat.com>
2126
2127 * c-common.c (try_to_locate_new_include_insertion_point): New
2128 function.
2129 (per_file_includes_t): New typedef.
2130 (added_includes_t): New typedef.
2131 (added_includes): New variable.
2132 (maybe_add_include_fixit): New function.
2133 * c-common.h (maybe_add_include_fixit): New decl.
2134
281ac396
MS
21352017-07-10 Martin Sebor <msebor@redhat.com>
2136
2137 PR other/81345
2138 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2139
b6f43128
DM
21402017-07-06 David Malcolm <dmalcolm@redhat.com>
2141
2142 * c-common.c (selftest::c_family_tests): New.
2143 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2144 (selftest::c_family_tests): New decl.
2145
efbf55b0
MP
21462017-07-04 Marek Polacek <polacek@redhat.com>
2147
2148 PR c/81231
2149 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2150 types.
2151
6c86bd88
MP
21522017-07-04 Marek Polacek <polacek@redhat.com>
2153
2154 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2155
17a7218b
ML
21562017-06-28 Martin Liska <mliska@suse.cz>
2157
2158 PR ipa/81128
2159 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2160 to a function declaration.
2161
63010089
ML
21622017-06-28 Martin Liska <mliska@suse.cz>
2163
2164 PR driver/79659
2165 * c.opt: Add IntegerRange to various options.
2166
3e2becc4
MP
21672017-06-26 Marek Polacek <polacek@redhat.com>
2168
2169 PR c/80116
2170 * c-common.h (warn_for_multistatement_macros): Declare.
2171 * c-warn.c: Include "c-family/c-indentation.h".
2172 (warn_for_multistatement_macros): New function.
2173 * c.opt (Wmultistatement-macros): New option.
2174 * c-indentation.c (guard_tinfo_to_string): No longer static.
2175 Change the parameter type to "enum rid". Handle RID_SWITCH.
2176 * c-indentation.h (guard_tinfo_to_string): Declare.
2177
2db9b7cd
MG
21782017-06-23 Marc Glisse <marc.glisse@inria.fr>
2179
2180 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2181
c3684b7b
MS
21822017-06-15 Martin Sebor <msebor@redhat.com>
2183
2184 PR c++/80560
2185 * c.opt (-Wclass-memaccess): New option.
2186
e72c4afd
BK
21872017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2188
2189 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2190
8a516588
MP
21912017-06-13 Marek Polacek <polacek@redhat.com>
2192
2193 PR objc/80949
2194 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2195 branches is null.
2196
45b2222a
ML
21972017-06-13 Martin Liska <mliska@suse.cz>
2198
2199 PR sanitize/78204
2200 * c-attribs.c (add_no_sanitize_value): New function.
2201 (handle_no_sanitize_attribute): Likewise.
2202 (handle_no_sanitize_address_attribute): Use the function.
2203 (handle_no_sanitize_thread_attribute): New function.
2204 (handle_no_address_safety_analysis_attribute): Use
2205 add_no_sanitize_value.
2206 (handle_no_sanitize_undefined_attribute): Likewise.
2207 * c-common.h: Declare new functions.
2208 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2209 (ubsan_instrument_shift): Likewise.
2210 (ubsan_instrument_bounds): Likewise.
2211 (ubsan_maybe_instrument_array_ref): Likewise.
2212 (ubsan_maybe_instrument_reference_or_call): Likewise.
2213
a01f151f
JM
22142017-06-11 Jason Merrill <jason@redhat.com>
2215
2216 * c-ada-spec.c, c-pragma.c: Use id_equal.
2217
3de4ac6d
MP
22182017-06-04 Marek Polacek <polacek@redhat.com>
2219
2220 PR c/80919
2221 * c-format.c (matching_type_p): Return false if any of the types
2222 requires structural equality.
2223
2474f48f
MS
22242017-06-02 Martin Sebor <msebor@redhat.com>
2225
2226 PR c/80892
2227 * c-warn.c (conversion_warning): Use -Wconversion for integer
2228 conversion and -Wfloat-conversion for floating one.
2229
40ffd95f
BE
22302017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2231
2232 * c.opt (Wsizeof-pointer-div): New warning option.
2233
3fa4634c
VR
22342017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2235
2236 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2237 (Wcatch-value=1): Enable by -Wall.
2238
f012c8ef
DM
22392017-05-30 David Malcolm <dmalcolm@redhat.com>
2240
2241 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2242 format_chars.
2243 * c.opt (fdiagnostics-show-template-tree): New option.
2244 (felide-type): New option.
2245
63dbcd13
VR
22462017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2247
2248 * c.opt (Wcatch-value=): New C++ warning flag.
2249
be136b5c
NS
22502017-05-24 Nathan Sidwell <nathan@acm.org>
2251
2252 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2253 const casts to avoid warning.
2254
3cd211af
MS
22552017-05-24 Martin Sebor <msebor@redhat.com>
2256
2257 PR c/80731
2258 * c-common.h (unsafe_conversion_p): Add a function argument.
2259 * c-common.c (unsafe_conversion_p): Same.
2260 Add type names and values to diagnostics.
2261 (scalar_to_vector): Adjust.
2262 * c-warn.c (constant_expression_error): Add a function argument.
2263 Add type names and values to diagnostics.
2264 (conversion_warning): Add a function argument.
2265 Add type names and values to diagnostics.
2266 (warnings_for_convert_and_check): Same.
2267
1ff7be5a
JM
22682017-05-19 Jason Merrill <jason@redhat.com>
2269
2270 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2271 enumerators.
2272
ff502317
BE
22732017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2274
2275 * c-format.c (locus): Move out of function scope,
2276 add GTY attribute.
2277
2a8a8d7b
NS
22782017-05-19 Nathan Sidwell <nathan@acm.org>
2279
2280 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2281 (c_common_parse_file): Remove class dump handling.
2282 (get_dump_info): Likewise.
2283
39aac208
RB
22842017-05-19 Richard Biener <rguenther@suse.de>
2285
2286 PR c++/80593
2287 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2288 to alias-set zero memory.
2289
6ecd2339
BE
22902017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2291
2292 * c-format.c (local_tree_type_node): Add GTY attribute.
2293
6574d78e
MP
22942017-05-18 Marek Polacek <polacek@redhat.com>
2295
2296 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2297 (c_common_fixed_point_type_for_size): Likewise.
2298 (c_common_type_for_mode): Likewise.
2299 (shorten_compare): Likewise.
2300 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2301 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2302
e3455240
MP
23032017-05-18 Marek Polacek <polacek@redhat.com>
2304
2305 * c-common.c (self_promoting_args_p): Change the return type to bool.
2306 Use false/true instead of 0/1.
2307 * c-common.h (self_promoting_args_p): Update.
2308
3fa8871b
MP
23092017-05-17 Marek Polacek <polacek@redhat.com>
2310
2311 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2312 * c-warn.c: Likewise.
2313
b42cc3ca
VV
23142017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2315
2316 Implement new C++ intrinsics __is_assignable and __is_constructible.
2317 * c-common.c (__is_assignable, __is_constructible): New.
2318 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2319
1a817418
ML
23202017-05-17 Martin Liska <mliska@suse.cz>
2321
2322 * c-common.h: Introduce dump_flags_t type and
2323 use it instead of int type.
2324 * c-gimplify.c (c_genericize): Likewise.
2325 * c-opts.c: Likewise.
2326
b2fa0a8b
MP
23272017-05-17 Marek Polacek <polacek@redhat.com>
2328
2329 * c-common.c (c_save_expr): Remove.
2330 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
2331 * c-common.h (c_save_expr): Remove declaration.
2332
31c2d57d
VR
23332017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
2334
2335 PR c/35441
2336 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2337 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2338 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2339 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2340 RDIV_EXPR.
2341 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2342
684f84de
MP
23432017-05-09 Marek Polacek <polacek@redhat.com>
2344
2345 PR c/80525
2346 * c-warn.c (unwrap_c_maybe_const): New.
2347 (warn_logical_operator): Call it.
2348
641da50a
NS
23492017-05-09 Nathan Sidwell <nathan@acm.org>
2350
2351 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2352 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2353
631238ac
MS
23542017-05-08 Martin Sebor <msebor@redhat.com>
2355
2356 PR translation/80280
2357 * c-format.h (struct format_flag_spec): Add new member.
2358 (T89_T): New macro.
2359 * c-format.c (local_tree_type_node): New global.
2360 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2361 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2362 (strfmon_flag_specs): Likewise.
2363 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2364 with distinct quoting properties.
2365 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2366 (flag_chars_t::validate): Add argument and handle bad quoting.
2367 (check_format_info_main): Handle quoting problems.
2368 (init_dynamic_diag_info): Simplify.
2369
49f0c04c
JM
23702017-05-08 Jason Merrill <jason@redhat.com>
2371
2372 * c-opts.c (c_common_post_options): Update defaults for
2373 flag_abi_version and flag_abi_compat_version.
2374
56d35585
DM
23752017-05-05 David Malcolm <dmalcolm@redhat.com>
2376
2377 * c-common.c (c_cpp_error): Replace report_diagnostic
2378 with diagnostic_report_diagnostic.
2379
0f2c4a8f
MS
23802017-05-04 Martin Sebor <msebor@redhat.com>
2381
2382 PR translation/80280
2383 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2384 (handle_weakref_attribute): Same.
2385
6fe63fb4
NS
23862017-05-03 Nathan Sidwell <nathan@acm.org>
2387
2388 Canonicalize canonical type hashing
2389 * c-common.c (complete_array_type): Use type_hash_canon.
2390
815d9cc6
XR
23912017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2392
92a285c1 2393 PR c++/80038
815d9cc6
XR
2394 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2395 prototype.
2396 (cilk_install_body_pedigree_operations): Likewise.
2397 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
2398 detatched.
2399 (cilk_gimplify_call_params_in_spawned_fn): Remove.
2400 (cilk_install_body_pedigree_operations): Likewise.
2401 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2402 unwrapping.
2403
f8a36447
JJ
24042017-04-27 Jakub Jelinek <jakub@redhat.com>
2405
2406 PR c++/80534
2407 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2408 flag on non-aggregate element types.
2409
7c145456
BE
24102017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2411
2412 * c-common.c (c_type_hasher, type_hash_table): Remove.
2413 (c_common_get_alias_set): Remove unreachable code.
2414 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2415
c3cbcd45
VR
24162017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
2417
2418 * c.opt (Wextra-semi): New C++ warning flag.
2419
8a59d466
JJ
24202017-04-20 Jakub Jelinek <jakub@redhat.com>
2421
2422 PR middle-end/80423
2423 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2424
8487c9a5
JJ
24252017-04-18 Jakub Jelinek <jakub@redhat.com>
2426
2427 PR middle-end/79788
2428 PR middle-end/80375
2429 * c-common.c (c_common_type_for_mode): Don't handle
2430 widest_*_literal_type_node here.
2431 c_common_signed_or_unsigned_type): Likewise.
2432 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
2433 to *intTI_type_node or *intDI_type_node depending on whether
2434 TImode is supported by the target or not.
2435
3ee0fb02
ML
24362017-04-10 Martin Liska <mliska@suse.cz>
2437
2438 PR sanitizer/80350
2439 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2440 doing an UBSAN check.
2441
5764ee3c
JW
24422017-04-03 Jonathan Wakely <jwakely@redhat.com>
2443
2444 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
2445
6f3af356
JJ
24462017-03-31 Jakub Jelinek <jakub@redhat.com>
2447
2448 PR c++/79572
2449 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2450 tree *.
2451 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
2452 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2453 REFERENCE_TYPE.
2454
f6a7a9d5
DM
24552017-03-31 David Malcolm <dmalcolm@redhat.com>
2456
2457 PR documentation/78732
2458 * c.opt (Wendif-labels): Fix description to refer to
2459 #else rather than #elif.
2460
af88f557
JJ
24612017-03-31 Jakub Jelinek <jakub@redhat.com>
2462
2463 PR libstdc++/80251
2464 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
2465 * c-common.c (c_common_reswords): Add __is_aggregate trait.
2466
a9e4a1a5
JJ
24672017-03-27 Jakub Jelinek <jakub@redhat.com>
2468
2469 PR middle-end/80162
2470 * c-common.c (c_common_mark_addressable_vec): Don't set
2471 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2472
3f01b620
MS
24732017-03-21 Martin Sebor <msebor@redhat.com>
2474
2475 PR c++/79548
2476 * c-common.c (set_underlying_type): Mark type used only when
2477 original del is declared unused.
2478
2f6f187a
DM
24792017-03-10 David Malcolm <dmalcolm@redhat.com>
2480
2481 PR translation/79848
2482 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2483 "%qs".
2484
a02fa805
DM
24852017-03-10 David Malcolm <dmalcolm@redhat.com>
2486
2487 PR c/79921
2488 * c-indentation.c (warn_for_misleading_indentation): Remove parens
2489 from inform's message, so that xgettext can locate it.
2490
822a132c
MP
24912017-03-09 Marek Polacek <polacek@redhat.com>
2492
2493 PR c++/79962
2494 PR c++/79984
2495 * c-attribs.c (handle_nonnull_attribute): Save the result of default
2496 conversion to the attribute list.
2497
bba81f1c
ML
24982017-03-09 Martin Liska <mliska@suse.cz>
2499
2500 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
2501
108154ff
JM
25022017-03-03 Jason Merrill <jason@redhat.com>
2503
2504 * c.opt (Wnoexcept-type): New.
2505
eb0e7c34
RB
25062017-03-02 Richard Biener <rguenther@suse.de>
2507
2508 PR c/79756
2509 * c-common.c (c_common_mark_addressable_vec): Look through
2510 C_MAYBE_CONST_EXPR.
2511
9453ba0a
ML
25122017-02-28 Martin Liska <mliska@suse.cz>
2513
2514 * c.opt: Replace space with tabular for options of <number>
2515 type.
2516
6a825afe
ML
25172017-02-28 Martin Liska <mliska@suse.cz>
2518
2519 * c.opt: Fix --help=option -Q for options which are of
2520 an enum type.
2521
4227c9ad
JJ
25222017-02-24 Jakub Jelinek <jakub@redhat.com>
2523
2524 PR c++/79588
2525 * c-common.c (check_function_restrict): New function.
2526 (check_function_arguments): Add FNDECL argument. Call
2527 check_function_restrict if -Wrestrict.
2528 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
2529 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
2530 * c-common.h (check_function_arguments): Add FNDECL argument.
2531 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
2532
59909673
EB
25332017-02-24 Eric Botcazou <ebotcazou@adacore.com>
2534
2535 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
2536 treatment of parameters with pointer-to-tagged type and tidy up.
2537 (print_ada_methods): Remove the special treatment of C++ static member
2538 functions.
2539
54dcd526
ML
25402017-02-22 Martin Liska <mliska@suse.cz>
2541
2542 * c.opt: Replace inequality signs with square brackets
2543 for -Wnornalized.
2544
00bc9de3
JJ
25452017-02-21 Jakub Jelinek <jakub@redhat.com>
2546
2547 PR c++/79641
2548 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
2549 preserve quals.
2550
97fcf744
JM
25512017-02-17 Joseph Myers <joseph@codesourcery.com>
2552
2553 * c-cppbuiltin.c (builtin_define_float_constants): Define
2554 __DECIMAL_DIG__ to the value for long double.
2555
c7545f1c
MP
25562017-02-15 Marek Polacek <polacek@redhat.com>
2557
2558 PR c/79515
2559 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
2560 conversion has occured.
2561
c2e84327
DM
25622017-01-24 David Malcolm <dmalcolm@redhat.com>
2563
2564 * c-common.c (c_common_reswords): Add "__RTL".
2565 * c-common.h (enum rid): Add RID_RTL.
2566
2ebd93e1
MP
25672017-01-20 Marek Polacek <polacek@redhat.com>
2568
2569 PR c/64279
2570 * c-common.h (do_warn_duplicated_branches_r): Declare.
2571 * c-gimplify.c (c_genericize): Walk the function tree calling
2572 do_warn_duplicated_branches_r.
2573 * c-warn.c (expr_from_macro_expansion_r): New.
2574 (do_warn_duplicated_branches): New.
2575 (do_warn_duplicated_branches_r): New.
2576 * c.opt (Wduplicated-branches): New option.
2577
0d80ab91
DM
25782017-01-17 David Malcolm <dmalcolm@redhat.com>
2579
2580 PR c++/71497
2581 * c-indentation.c (warn_for_misleading_indentation): Use the past
2582 subjunctive in the note.
2583
7f991c36
AH
25842017-01-17 Aldy Hernandez <aldyh@redhat.com>
2585
2586 PR c/79116
2587 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
2588 start type to integer_type.
2589
1c70261c
JJ
25902017-01-16 Jakub Jelinek <jakub@redhat.com>
2591
2592 PR driver/49726
2593 * c.opt (gen-decls): Add Driver flag.
2594
1ddca3f3
PC
25952017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2596
2597 Revert:
2598 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2599
2600 PR c++/71737
2601 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2602
7d2f3f1d
PC
26032017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2604
2605 PR c++/71737
2606 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2607
bce6f760
MS
26082017-01-12 Martin Sebor <msebor@redhat.com>
2609
2610 (-Wformat-overflow): ...to this.
2611
bf5fbf46
MS
26122017-01-11 Martin Sebor <msebor@redhat.com>
2613
2614 PR c/78768
2615 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
2616 Also enable for LTO.
2617
e363df3f
JM
26182017-01-10 Jason Merrill <jason@redhat.com>
2619
2620 Implement P0195R2, C++17 variadic using.
2621 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
2622
bd2c6270
JJ
26232017-01-09 Jakub Jelinek <jakub@redhat.com>
2624
2625 PR translation/79019
2626 PR translation/79020
2627 * c.opt (Wnormalized=): Fix typo in description.
2628
efcc8d38
MS
26292017-01-08 Martin Sebor <msebor@redhat.com>
2630
2631 PR middle-end/77708
2632 * c.opt (-Wformat-truncation): New option.
2633
435f3f7a
AO
26342017-01-06 Alexandre Oliva <aoliva@redhat.com>
2635
2636 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
2637 value to unsigned short to fit in 4 hex digits without
2638 warnings.
2639
4e89adf9
EB
26402017-01-05 Eric Botcazou <ebotcazou@adacore.com>
2641
2642 * c.opt (fsso-struct): Add 'native' value.
2643
cd445b54
ML
26442017-01-05 Martin Liska <mliska@suse.cz>
2645
2646 PR pch/78970
2647 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
2648 header.
2649
a9342885
MP
26502017-01-04 Marek Polacek <polacek@redhat.com>
2651
2652 PR c++/64767
2653 * c.opt (Wpointer-compare): New option.
2654
fc73e60c
JJ
26552017-01-04 Jakub Jelinek <jakub@redhat.com>
2656
2657 PR driver/78957
2658 * c.opt (fsso-struct=): Add RejectNegative.
2659
cbe34bb5
JJ
26602017-01-01 Jakub Jelinek <jakub@redhat.com>
2661
2662 Update copyright years.
2663
d4a6c0ea
ML
26642016-12-29 Martin Liska <mliska@suse.cz>
2665
2666 PR c/78933
2667 * c.opt (strong-eval-order): Add RejectNegative keyword.
2668
67a5ad7c
JM
26692016-12-22 Jason Merrill <jason@redhat.com>
2670
2671 Implement P0522R0, matching of template template arguments.
2672 * c-cppbuiltin.c (c_cpp_builtins): Define
2673 __cpp_template_template_args.
2674
0dba7960
JJ
26752016-12-21 Jakub Jelinek <jakub@redhat.com>
2676
2677 PR bootstrap/78817
2678 * c-common.c (struct nonnull_arg_ctx): New type.
2679 (check_function_nonnull): Return bool instead of void. Use
2680 nonnull_arg_ctx as context rather than just location_t.
2681 (check_nonnull_arg): Adjust for the new context type, set
2682 warned_p to true if a warning has been diagnosed.
2683 (check_function_arguments): Return bool instead of void.
2684 * c-common.h (check_function_arguments): Adjust prototype.
2685
31bfc9b9
JM
26862016-12-21 Jason Merrill <jason@redhat.com>
2687
2688 * c.opt (-fnew-ttp-matching): New flag.
2689 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
2690
629b3d75
MJ
26912016-12-14 Martin Jambor <mjambor@suse.cz>
2692
2693 * c-omp.c: Include omp-general.h instead of omp-low.h.
2694 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
2695 name.
2696
474da67e
MS
26972016-12-14 Martin Sebor <msebor@redhat.com>
2698
2699 PR c/17308
2700 * c-common.c (check_nonnull_arg): Disable when optimization
2701 is enabled.
2702
fe366b87
MP
27032016-12-12 Marek Polacek <polacek@redhat.com>
2704
2705 PR c++/78647
2706 * c-common.c (attribute_fallthrough_p): Return false for
2707 error_mark_node.
2708
8bd9f164
MS
27092016-12-08 Martin Sebor <msebor@redhat.com>
2710
2711 PR c/78284
2712 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2713
060162e0
MS
27142016-12-08 Martin Sebor <msebor@redhat.com>
2715
2716 PR c/78165
92a285c1
ML
2717 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
2718 suffix.
060162e0 2719
ee92e7ba
MS
27202016-12-07 Martin Sebor <msebor@redhat.com>
2721
2722 PR c/53562
2723 PR middle-end/77784
2724 PR middle-end/78149
2725 PR middle-end/78138
2726 * c.opt (-Wstringop-overflow): New option.
2727
84b0769e
MO
27282016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2729
2730 * c-attribs.c (asan odr indicator): New attribute.
2731 (handle_asan_odr_indicator_attribute): New function.
2732
7fa6a965
PK
27332016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2734
2735 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2736 ptrdiff_type_node;
2737
56d8ffc1
JG
27382016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2739
2740 * c-common.c (excess_precision_mode_join): New.
2741 (c_ts18661_flt_eval_method): New.
2742 (c_c11_flt_eval_method): Likewise.
2743 (c_flt_eval_method): Likewise.
2744 * c-common.h (excess_precision_mode_join): New.
2745 (c_flt_eval_method): Likewise.
2746 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2747 (cpp_iec_559_value): Call it.
2748 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2749 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2750 __FLT_EVAL_METHOD_TS_18661_3__.
2751
04f0fcf7
JG
27522016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2753
2754 * c-opts.c (c_common_post_options): Add logic to handle the default
2755 case for -fpermitted-flt-eval-methods.
2756
fb2675cb
PB
27572016-11-23 Paolo Bonzini <bonzini@gnu.org>
2758
2759 * c.opt (Wexpansion-to-defined): New.
2760
ec1c5694
JJ
27612016-11-23 Jakub Jelinek <jakub@redhat.com>
2762
2763 PR target/78451
2764 * c-pragma.c (handle_pragma_target): Don't replace
2765 current_target_pragma, but chainon the new args to the current one.
2766
730c9e75
NS
27672016-11-22 Nathan Sidwell <nathan@acm.org>
2768
2769 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2770 indentation and formatting.
730c9e75 2771
89990732
MS
27722016-11-21 Martin Sebor <msebor@redhat.com>
2773
2774 * c.opt (-fprintf-return-value): Enable by default.
2775
48330c93
BE
27762016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2777
2778 PR c++/71973
2779 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2780 * c-common.c (c_common_nodes_and_builtins): Initialize
2781 const_tm_ptr_type_node.
2782
0d939c95
MP
27832016-11-16 Marek Polacek <polacek@redhat.com>
2784
2785 PR c/78285
2786 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2787
8e745a17
JJ
27882016-11-14 Jakub Jelinek <jakub@redhat.com>
2789
2790 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2791
1ee62b92 27922016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2793 Richard Biener <rguenther@suse.de>
2794
2795 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2796 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2797 * c.opt (fgimple): New option.
1ee62b92 2798
22b15758
UB
27992016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2800
2801 PR c/35503
2802 * c-common.h (warn_for_restrict): Declare.
2803 * c-warn.c: Include gcc-rich-location.h.
2804 (warn_for_restrict): New function.
2805 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2806 (gcc_cdiag_char_table): Likewise.
2807 (gcc_cxxdiag_char_table): Likewise.
2808 * c.opt (Wrestrict): New option.
2809
4be719cd
EB
28102016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2811
2812 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2813 for nested types only if the type is a record or union and dump SLOC.
2814
4a826ca6
JM
28152016-11-09 Jason Merrill <jason@redhat.com>
2816
2817 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2818
2e955d50
JJ
28192016-11-09 Jakub Jelinek <jakub@redhat.com>
2820
2821 * c-ubsan.c (ubsan_instrument_shift): Handle split
2822 -fsanitize=shift-base and -fsanitize=shift-exponent.
2823
51dc6603
JM
28242016-11-07 Jason Merrill <jason@redhat.com>
2825
2826 * c.opt (Wc++1z-compat): New.
2827 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2828
6dc4a604
ML
28292016-11-07 Martin Liska <mliska@suse.cz>
2830
2831 * c-warn.c (warn_for_unused_label): Save all labels used
2832 in goto or in &label.
2833
b302001e
JM
28342016-11-03 Jason Merrill <jason@redhat.com>
2835
2836 * c-cppbuiltin.c (c_cpp_builtins): Correct
2837 __cpp_inheriting_constructors.
2838
31f7f784
JM
28392016-11-01 Jason Merrill <jason@redhat.com>
2840
2bc78e3c
JM
2841 * c-cppbuiltin.c (c_cpp_builtins): Update
2842 __cpp_inheriting_constructors.
2843
31f7f784
JM
2844 * c.opt (-fnew-inheriting-ctors): New.
2845 * c-opts.c: Default to on for ABI 11+.
2846
dcb466ec
JJ
28472016-10-31 Jakub Jelinek <jakub@redhat.com>
2848
2849 PR c++/77948
2850 * c.opt (fext-numeric-literals): Add Var and Init.
2851 * c-opts.c (c_common_handle_option): Don't clear
2852 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2853 (c_common_post_options): Clear it here if not set
2854 explicitly.
2855
52e1b91e
AH
28562016-10-28 Aldy Hernandez <aldyh@redhat.com>
2857
2858 PR debug/77773
2859 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2860 if NULL.
2861
e16f1cc7
JJ
28622016-10-25 Jakub Jelinek <jakub@redhat.com>
2863
2864 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2865 * c-common.c (c_common_reswords): Add __builtin_launder.
2866
f8348061
BE
28672016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2868
2869 * c-common.c (c_common_truthvalue_conversion): Warn for
2870 multiplications in boolean context. Fix the quoting of '<<' and '<'
2871 in the shift warning.
2872
eff89e01
BE
28732016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2874
2875 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2876
24bc7bf4
JM
28772016-10-20 Jason Merrill <jason@redhat.com>
2878
2879 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2880
4c712374
BE
28812016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2882
2883 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2884 integer shift ops in boolean context.
2885
28862016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2887
2888 * c.opt (Walloca): New.
2889 (Walloca-larger-than=): New.
2890 (Wvla-larger-than=): New.
2891
8fa18c06
MP
28922016-10-17 Marek Polacek <polacek@redhat.com>
2893
2894 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2895 Return immediately when finding a match.
2896 (warn_tautological_cmp): Remove a boolean variable that is no longer
2897 needed.
2898
b12b1915
MP
28992016-10-17 Marek Polacek <polacek@redhat.com>
2900
2901 * c-attribs.c: New file.
2902 * c-common.c: Move attributes handling to c-attribs.c.
2903 (get_nonnull_operand): No longer static.
2904 * c-common.h: Move the declarations from c-attribs.c to its own section.
2905
2045acd9
JM
29062016-10-14 Jason Merrill <jason@redhat.com>
2907
2908 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2909 and __cpp_deduction_guides.
2910
14a2c9aa
JM
29112016-10-13 Jason Merrill <jason@redhat.com>
2912
2913 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2914
4d0cdd0c
TP
29152016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2916
2917 * c-cppbuiltin.c: Include memmodel.h.
2918 * c-opts.c: Likewise.
2919 * c-pragma.c: Likewise.
2920 * c-warn.c: Likewise.
2921
70f6d5e1
JJ
29222016-10-12 Jakub Jelinek <jakub@redhat.com>
2923
2924 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2925 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2926 * c-opts.c (sanitize_cpp_opts): Initialize
2927 cpp_opts->cpp_warn_implicit_fallthrough.
2928
78f61294
MP
29292016-10-11 Marek Polacek <polacek@redhat.com>
2930
2931 * c-common.c (warning_candidate_p): Change the return type to bool
2932 and return true/false instead of 1/0.
2933 (vector_mode_valid_p): Likewise.
2934
038b5cc0
MP
29352016-10-11 Marek Polacek <polacek@redhat.com>
2936
2937 * c-common.c (fold_for_warn): No longer static.
2938 (bool_promoted_to_int_p): Likewise.
2939 (c_common_get_narrower): Likewise.
2940 (constant_expression_warning): Move to c-warn.c.
2941 (constant_expression_error): Likewise.
2942 (overflow_warning): Likewise.
2943 (warn_logical_operator): Likewise.
2944 (find_array_ref_with_const_idx_r): Likewise.
2945 (warn_tautological_cmp): Likewise.
2946 (expr_has_boolean_operands_p): Likewise.
2947 (warn_logical_not_parentheses): Likewise.
2948 (warn_if_unused_value): Likewise.
2949 (strict_aliasing_warning): Likewise.
2950 (sizeof_pointer_memaccess_warning): Likewise.
2951 (check_main_parameter_types): Likewise.
2952 (conversion_warning): Likewise.
2953 (warnings_for_convert_and_check): Likewise.
2954 (match_case_to_enum_1): Likewise.
2955 (match_case_to_enum): Likewise.
2956 (c_do_switch_warnings): Likewise.
2957 (warn_for_omitted_condop): Likewise.
2958 (readonly_error): Likewise.
2959 (lvalue_error): Likewise.
2960 (invalid_indirection_error): Likewise.
2961 (warn_array_subscript_with_type_char): Likewise.
2962 (warn_about_parentheses): Likewise.
2963 (warn_for_unused_label): Likewise.
2964 (warn_for_div_by_zero): Likewise.
2965 (warn_for_memset): Likewise.
2966 (warn_for_sign_compare): Likewise.
2967 (do_warn_double_promotion): Likewise.
2968 (do_warn_unused_parameter): Likewise.
2969 (record_locally_defined_typedef): Likewise.
2970 (maybe_record_typedef_use): Likewise.
2971 (maybe_warn_unused_local_typedefs): Likewise.
2972 (maybe_warn_bool_compare): Likewise.
2973 (maybe_warn_shift_overflow): Likewise.
2974 (warn_duplicated_cond_add_or_warn): Likewise.
2975 (diagnose_mismatched_attributes): Likewise.
2976 * c-common.h: Move the declarations from c-warn.c to its own section.
2977 * c-warn.c: New file.
2978
627be19f
JM
29792016-10-08 Jason Merrill <jason@redhat.com>
2980
2981 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2982 into COND_EXPR in C++.
2983
7bad794a
JJ
29842016-10-08 Jakub Jelinek <jakub@redhat.com>
2985
2986 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2987 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2988 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2989
be845b04
JJ
29902016-10-07 Jakub Jelinek <jakub@redhat.com>
2991
2992 Implement LWG2296 helper intrinsic
2993 * c-common.h (enum rid): Add RID_ADDRESSOF.
2994 * c-common.c (c_common_reswords): Add __builtin_addressof.
2995
c09c4992
BE
29962016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2997
2998 PR c++/77700
2999 * c-common.c (c_common_truthvalue_conversion): Warn also for
3000 suspicious enum values in boolean context.
3001
342cfb3e
JJ
30022016-10-06 Jakub Jelinek <jakub@redhat.com>
3003
3004 Implement P0258R2 - helper for C++17
3005 std::has_unique_object_representations trait
3006 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3007 * c-common.c (c_common_reswords): Add
3008 __has_unique_object_representations.
3009
2e69f143
JJ
30102016-10-05 Jakub Jelinek <jakub@redhat.com>
3011
3012 PR sanitizer/66343
3013 * c-ubsan.c (ubsan_instrument_return): Don't call
3014 initialize_sanitizer_builtins here.
3015
700fff34
BE
30162016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3017
3018 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3019 conditional expression in boolean context when only one arm is
3020 non-boolean.
3021
9563bfcd
JJ
30222016-10-05 Jakub Jelinek <jakub@redhat.com>
3023
04a32443
JJ
3024 PR sanitizer/77823
3025 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3026 is not integral.
3027
9563bfcd
JJ
3028 * c-common.c (c_common_reswords): Update comment for C++11.
3029
f1644724
JM
30302016-10-04 Jason Merrill <jason@redhat.com>
3031
3032 * c-common.c (make_tree_vector_from_ctor): New.
3033 * c-common.h: Declare it.
3034
5a79befb
JJ
30352016-10-04 Jakub Jelinek <jakub@redhat.com>
3036
3037 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3038 __LIBGCC_JCR_SECTION_NAME__.
3039
1633d3b9
BE
30402016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3041
3042 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3043 left shift in boolean context.
3044
a2c6e7f2
JJ
30452016-09-29 Jakub Jelinek <jakub@redhat.com>
3046
3047 Implement P0001R1 - C++17 removal of register storage class specifier
3048 * c.opt (Wregister): New warning.
3049 * c-opts.c (c_common_post_options): Enable -Wregister by
3050 default for C++17.
3051
75304c87
JG
30522016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3053
3054 * c-opts.c (c_common_post_options): Remove special case for
3055 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3056 in C++.
3057
bbfac6da
JJ
30582016-09-27 Jakub Jelinek <jakub@redhat.com>
3059
6e39060a
JJ
3060 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3061 -std=c++1z.
3062
bbfac6da
JJ
3063 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3064
e73cf9a2
TP
30652016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3066
3067 * c-common.c: Include memmodel.h.
3068
c6147dc4
MP
30692016-09-26 Marek Polacek <polacek@redhat.com>
3070
3071 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3072
81fea426
MP
30732016-09-26 Marek Polacek <polacek@redhat.com>
3074
3075 PR c/7652
3076 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3077 (handle_fallthrough_attribute): New function.
3078 (attribute_fallthrough_p): New function.
3079 * c-common.h (attribute_fallthrough_p): Declare.
3080
9a2300e9
MP
30812016-09-24 Marek Polacek <polacek@redhat.com>
3082
3083 PR c/77490
3084 * c.opt (Wbool-operation): New.
3085
a09e9e35
BE
30862016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3087
3088 * c-common.c (c_common_truthvalue_conversion): Inhibit
3089 Wint-in-bool-context warning with from_macro_definition_at.
3090 Mention the expression will always evaluate to true.
3091
d43b4ccc
MS
30922016-09-21 Martin Sebor <msebor@redhat.com>
3093
3094 PR bootstrap/77676
3095 * c.opt (fprintf-return-value): Temporarily initialize to zero
3096 to unblock bootstrap failures.
3097
2e1c20b1
JJ
30982016-09-21 Jakub Jelinek <jakub@redhat.com>
3099
3100 PR c++/77651
3101 * c.opt (Waligned-new=): Add RejectNegative.
3102 (faligned-new=): Likewise. Spelling fix - change
3103 aligned_new_threshhold to aligned_new_threshold.
3104 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3105 to aligned_new_threshold.
3106
88d0c3f0
MS
31072016-09-20 Martin Sebor <msebor@redhat.com>
3108
3109 PR middle-end/49905
3110 * c.opt: Add -Wformat-length and -fprintf-return-value.
3111
144a96e4
BE
31122016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3113
3114 PR c++/77434
3115 * c.opt (Wint-in-bool-context): New warning.
3116 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3117 constants in boolean context.
3118
63012d9a
JM
31192016-09-19 Joseph Myers <joseph@codesourcery.com>
3120
3121 * c-common.c (max_align_t_align): Also consider alignment of
3122 float128_type_node.
3123
931388ce
JM
31242016-09-15 Jason Merrill <jason@redhat.com>
3125
3126 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3127 DECL_EXTERNAL.
3128
38711381
JM
31292016-09-14 Jason Merrill <jason@redhat.com>
3130
3131 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3132 limit FIELD_DECL, either.
3133
e51fbec3
MP
31342016-09-14 Marek Polacek <polacek@redhat.com>
3135
3136 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3137 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3138 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3139
254830ba
DM
31402016-09-13 David Malcolm <dmalcolm@redhat.com>
3141
3142 * c-common.c (warn_logical_not_parentheses): Replace
3143 rich_location::add_fixit_insert calls with add_fixit_insert_before
3144 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3145
42763690
JM
31462016-09-13 Jason Merrill <jason@redhat.com>
3147 Tom de Vries <tom@codesourcery.com>
3148
3149 PR c++/77427
3150 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3151
9453eee9
JM
31522016-09-13 Jason Merrill <jason@redhat.com>
3153
3154 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3155 limit types at all.
3156
e96809e3
JM
31572016-09-12 Jason Merrill <jason@redhat.com>
3158
3159 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3160 bit/byte confusion, allow large alignment for types.
3161
54dcdb88
BE
31622016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3163
3164 PR c++/77496
3165 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3166
d1463eb9
DM
31672016-09-12 David Malcolm <dmalcolm@redhat.com>
3168
3169 PR c/72858
3170 * c-format.c (argument_parser::check_argument_type): Add params
3171 "type_start" and "conversion_char". Use the former to generate
3172 offset_to_type_start and pass it and conversion_char to
3173 check_format_types.
3174 (check_format_info_main): Capture the start of the type
3175 information as "type_start", and pass it an format_char
3176 to arg_parser.check_argument_type.
3177 (check_format_types): Provide an example in the leading comment.
3178 Add params "offset_to_type_start" and "conversion_char"; pass
3179 them to format_type_warning calls.
3180 (test_get_modifier_for_format_len): Likewise.
3181 (matching_type_p): New function.
3182 (get_format_for_type): Add param "conversion_char" and move
3183 implementation into...
3184 (get_format_for_type_1): ...new function, called twice.
3185 Use new function matching_type_p rather than checking for
3186 TYPE_CANONICAL equality.
3187 (get_corrected_substring): New function.
3188 (format_type_warning): Provide an example in the leading comment.
3189 Add params "offset_to_type_start" and "conversion_char". Replace
3190 call to get_format_for_type with call to get_corrected_substring
3191 and move rejection of hints for widths/precisions there.
3192 (assert_format_for_type_streq): Add param "conversion_char".
3193 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3194 (test_get_format_for_type_printf): Add conversion chars to the
3195 tests, adding coverage for various combinations of integer
3196 vs double conversions, and for preserving octal and hexadecimal
3197 conversions.
3198 (test_get_format_for_type_scanf): Add conversion chars to the
3199 tests.
3200
5b28efbb
TV
32012016-09-10 Tom de Vries <tom@codesourcery.com>
3202
3203 PR C/71602
3204 * c-common.c (build_va_arg): Handle more strict
3205 targetm.canonical_va_list_type. Replace first argument type error with
3206 assert.
3207
3f0177e7
MS
32082016-09-09 Martin Sebor <msebor@redhat.com>
3209
3210 PR c/77520
3211 PR c/77521
3212 * c-format.c (argument_parser::find_format_char_info): Use %qc
3213 format directive unconditionally.
3214
af63ba4b
JM
32152016-09-09 Jason Merrill <jason@redhat.com>
3216
3217 Implement C++17 new of over-aligned types.
3218 * c.opt: Add -faligned-new and -Waligned-new.
3219 * c-common.c (max_align_t_align): Split out from...
3220 (cxx_fundamental_alignment_p): ...here.
3221 * c-common.h: Declare it.
3222 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3223
c65248cb
JM
32242016-09-09 Joseph Myers <joseph@codesourcery.com>
3225
3226 * c-cppbuiltin.c (builtin_define_type_width): New function.
3227 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3228 macros.
3229
e5106e27
DM
32302016-09-07 David Malcolm <dmalcolm@redhat.com>
3231
3232 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3233 a POINTER_TYPE.
3234 (substring_loc::get_location): Move to substring-locations.c,
3235 keeping implementation as...
3236 (c_get_substring_location): New function, from the above, reworked
3237 to use accessors rather than member lookup.
3238 * c-common.h (class substring_loc): Move to substring-locations.h,
3239 replacing with a forward decl.
3240 (c_get_substring_location): New decl.
3241 * c-format.c: Include "substring-locations.h".
3242 (format_warning_va): Move to substring-locations.c.
3243 (format_warning_at_substring): Likewise.
3244
a42e7952
MS
32452016-09-06 Martin Sebor <msebor@redhat.com>
3246
3247 PR c/77336
3248 * c-format.c (check_function_format): Avoid issuing warnings for
3249 functions unless they call format functions with non-constant
3250 format strings.
3251
b772a565
RB
32522016-09-06 Richard Biener <rguenther@suse.de>
3253
3254 PR c/77450
3255 * c-common.c (c_common_mark_addressable_vec): Handle
3256 COMPOUND_LITERAL_EXPR.
3257
25ff5dd3
MP
32582016-09-05 Marek Polacek <polacek@redhat.com>
3259
3260 PR c/77423
3261 * c-common.c (bool_promoted_to_int_p): New function.
3262 (expr_has_boolean_operands_p): New function.
3263 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3264 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3265
21234eb5
TV
32662016-09-04 Tom de Vries <tom@codesourcery.com>
3267
3268 revert:
3269 2016-08-29 Tom de Vries <tom@codesourcery.com>
3270
3271 * c-common.c (build_va_arg): Replace first argument type error
3272 with assert.
3273
9dc5773f
JJ
32742016-09-02 Jakub Jelinek <jakub@redhat.com>
3275
3276 PR c/65467
3277 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3278 (c_finish_omp_for): Reject _Atomic qualified iterators.
3279
32802016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
3281
3282 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3283 size to guarantee it fits the output of the formatted function
3284 regardless of its arguments.
3285
295844f6
MP
32862016-09-01 Marek Polacek <polacek@redhat.com>
3287
3288 PR c/7652
3289 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3290 FALLTHRU comments.
3291
3d06b6f2
MP
32922016-08-29 Marek Polacek <polacek@redhat.com>
3293
3294 PR c/77292
3295 * c-common.c (warn_logical_not_parentheses): Don't warn for
3296 a comparison or a logical operator.
3297
34cedad5
TV
32982016-08-29 Tom de Vries <tom@codesourcery.com>
3299
3300 * c-common.c (build_va_arg): Fix type comparison assert.
3301
f162d717
TV
33022016-08-29 Tom de Vries <tom@codesourcery.com>
3303
3304 * c-common.c (build_va_arg): Replace first argument type error
3305 with assert.
3306
ba9bbd6f
TV
33072016-08-29 Tom de Vries <tom@codesourcery.com>
3308
3309 PR c/77398
3310 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3311 with error_mark_node as va_list instead of with illegal va_list.
3312
ebef225f
MP
33132016-08-25 Marek Polacek <polacek@redhat.com>
3314 David Malcolm <dmalcolm@redhat.com>
3315
3316 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3317 * c-common.h (warn_logical_not_parentheses): Update declaration.
3318
b00e6e75
MP
33192016-08-22 Marek Polacek <polacek@redhat.com>
3320
3321 PR c++/77321
3322 * c-common.c (warn_for_memset): Check type for null.
3323
6dc198e3
JM
33242016-08-22 Joseph Myers <joseph@codesourcery.com>
3325
14ec014e 3326 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
3327 _FloatNx types for suffixes for built-in functions.
3328
c65699ef
JM
33292016-08-19 Joseph Myers <joseph@codesourcery.com>
3330
3331 PR c/32187
3332 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3333 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3334 (RID_FLOAT128X): New enum rid values.
3335 (CASE_RID_FLOATN_NX): New macro.
3336 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3337 keywords.
3338 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3339 corresponding complex types.
3340 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3341 _FloatNx and corresponding complex types.
3342 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3343 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3344 and _FloatNx types for the widest type for determining
3345 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3346 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3347 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3348 and _FloatNx types.
3349 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3350 constants.
3351 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3352 _FloatNx types.
3353
cc015f3a
DM
33542016-08-18 David Malcolm <dmalcolm@redhat.com>
3355
3356 * c-opts.c (c_diagnostic_finalizer): Update for change to
3357 diagnostic_show_locus.
3358
cb18fd07
DM
33592016-08-18 David Malcolm <dmalcolm@redhat.com>
3360
3361 * c-common.c: Include "spellcheck.h".
3362 (cb_get_suggestion): New function.
3363 * c-common.h (cb_get_suggestion): New decl.
3364 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3365 cb_get_suggestion.
3366
a76989dc
MP
33672016-08-18 Marek Polacek <polacek@redhat.com>
3368
3369 PR c/71514
3370 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3371 and pointer-to-VLA.
3372
65e736c0
DM
33732016-08-16 David Malcolm <dmalcolm@redhat.com>
3374
3375 PR c/72857
3376 * c-common.c (substring_loc::get_range): Rename to...
3377 (substring_loc::get_location): ...this, converting param from a
3378 source_range * to a location_t *. Call
3379 get_source_location_for_substring rather than
3380 get_source_range_for_substring, and pass in m_caret_idx.
3381 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3382 (substring_loc::get_range): Replace with...
3383 (substring_loc::get_location): ...this.
3384 (substring_loc::set_caret_index): New method.
3385 (substring_loc): Add field m_caret_idx.
3386 * c-format.c (format_warning_va): Update for above changes.
3387 Rename local "substring_loc" to "fmt_substring_loc" to avoid
3388 clashing with type name.
3389 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
3390 (check_argument_type): Likewise.
3391 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3392 Use a copy when emitting warnings, setting the caret index from TYPE.
3393
7e1dde14 33942016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3395 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
3396
3397 * c-ada-spec.c (dump_number): New function.
3398 (handle_escape_character): Likewise.
3399 (print_ada_macros): Add handling of constant integers and strings.
3400
191816a3
MP
34012016-08-12 Marek Polacek <polacek@redhat.com>
3402
3403 PR c/7652
3404 * c-common.c (scalar_to_vector): Adjust fall through comment.
3405 * c-opts.c (c_common_handle_option): Likewise.
3406 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3407 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3408 fall through comment.
3409 * cilk.c (extract_free_variables): Add FALLTHRU.
3410
452df4a4
JM
34112016-08-10 Jason Merrill <jason@redhat.com>
3412
3413 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3414
f3365c12
JM
34152016-08-09 Jason Merrill <jason@redhat.com>
3416
3417 * c-common.c (c_common_attribute_table): vector_size affects type
3418 identity.
3419
f0bc3323
MP
34202016-08-09 Marek Polacek <polacek@redhat.com>
3421
3422 PR c/7652
3423 * c-ada-spec.c (dump_generic_ada_node): Add return.
3424
98e5a19a
JM
34252016-08-09 Jason Merrill <jason@redhat.com>
3426
3427 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3428 C++17 constexpr lambdas.
3429
895aa8e1
DM
34302016-08-08 David Malcolm <dmalcolm@redhat.com>
3431
3432 PR c/64955
3433 * c-common.h (selftest::c_format_c_tests): New declaration.
3434 (selftest::run_c_tests): New declaration.
3435 * c-format.c: Include "selftest.h.
3436 (format_warning_va): Add param "corrected_substring" and use
3437 it to add a replacement fix-it hint.
3438 (format_warning_at_substring): Likewise.
3439 (format_warning_at_char): Update for new param of
3440 format_warning_va.
3441 (argument_parser::check_argument_type): Pass "fki" to
3442 check_format_types.
3443 (check_format_types): Add param "fki" and pass it to
3444 format_type_warning.
3445 (deref_n_times): New function.
3446 (get_modifier_for_format_len): New function.
3447 (selftest::test_get_modifier_for_format_len): New function.
3448 (get_format_for_type): New function.
3449 (format_type_warning): Add param "fki" and use it to attempt
3450 to provide hints for argument types when calling
3451 format_warning_at_substring.
3452 (selftest::get_info): New function.
3453 (selftest::assert_format_for_type_streq): New function.
3454 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3455 (selftest::test_get_format_for_type_printf): New function.
3456 (selftest::test_get_format_for_type_scanf): New function.
3457 (selftest::c_format_c_tests): New function.
3458
e52ed3fe
DM
34592016-08-08 David Malcolm <dmalcolm@redhat.com>
3460
3461 PR c/52952
3462 * c-format.c: Include "diagnostic.h".
3463 (location_column_from_byte_offset): Delete.
3464 (location_from_offset): Delete.
3465 (format_warning_va): New function.
3466 (format_warning_at_substring): New function.
3467 (format_warning_at_char): New function.
3468 (check_format_arg): Capture location of format_tree and pass to
3469 check_format_info_main.
3470 (argument_parser): Add fields "start_of_this_format" and
3471 "format_string_cst".
3472 (flag_chars_t::validate): Add param "format_string_cst". Convert
3473 warning_at call using location_from_offset to call to
3474 format_warning_at_char.
3475 (argument_parser::argument_parser): Add param "format_string_cst_"
3476 and use use it to initialize field "format_string_cst".
3477 Initialize new field "start_of_this_format".
3478 (argument_parser::read_format_flags): Convert warning_at call
3479 using location_from_offset to a call to format_warning_at_char.
3480 (argument_parser::read_any_format_left_precision): Likewise.
3481 (argument_parser::read_any_format_precision): Likewise.
3482 (argument_parser::read_any_other_modifier): Likewise.
3483 (argument_parser::find_format_char_info): Likewise, in three places.
3484 (argument_parser::parse_any_scan_set): Likewise, in one place.
3485 (argument_parser::handle_conversions): Likewise, in two places.
3486 (argument_parser::check_argument_type): Add param "fmt_param_loc"
3487 and use it to make a substring_loc. Pass the latter to
3488 check_format_types.
3489 (check_format_info_main): Add params "fmt_param_loc" and
3490 "format_string_cst". Convert warning_at calls using
3491 location_from_offset to calls to format_warning_at_char. Pass the
3492 new params to the arg_parser ctor. Pass "format_string_cst" to
3493 flag_chars.validate. Pass "fmt_param_loc" to
3494 arg_parser.check_argument_type.
3495 (check_format_types): Convert first param from a location_t
3496 to a const substring_loc & and rename to "fmt_loc". Attempt
3497 to extract the range of the relevant parameter and pass it
3498 to format_type_warning.
3499 (format_type_warning): Convert first param from a location_t
3500 to a const substring_loc & and rename to "fmt_loc". Add
3501 params "param_range" and "type". Replace calls to warning_at
3502 with calls to format_warning_at_substring.
3503
1c4d457e
DM
35042016-08-08 David Malcolm <dmalcolm@redhat.com>
3505
3506 * c-format.c (class flag_chars_t): New class.
3507 (struct length_modifier): New struct.
3508 (class argument_parser): New class.
3509 (flag_chars_t::flag_chars_t): New ctor.
3510 (flag_chars_t::has_char_p): New method.
3511 (flag_chars_t::add_char): New method.
3512 (flag_chars_t::validate): New method.
3513 (flag_chars_t::get_alloc_flag): New method.
3514 (flag_chars_t::assignment_suppression_p): New method.
3515 (argument_parser::argument_parser): New ctor.
3516 (argument_parser::read_any_dollar): New method.
3517 (argument_parser::read_format_flags): New method.
3518 (argument_parser::read_any_format_width): New method.
3519 (argument_parser::read_any_format_left_precision): New method.
3520 (argument_parser::read_any_format_precision): New method.
3521 (argument_parser::handle_alloc_chars): New method.
3522 (argument_parser::read_any_length_modifier): New method.
3523 (argument_parser::read_any_other_modifier): New method.
3524 (argument_parser::find_format_char_info): New method.
3525 (argument_parser::validate_flag_pairs): New method.
3526 (argument_parser::give_y2k_warnings): New method.
3527 (argument_parser::parse_any_scan_set): New method.
3528 (argument_parser::handle_conversions): New method.
3529 (argument_parser::check_argument_type): New method.
3530 (check_format_info_main): Introduce classes argument_parser
3531 and flag_chars_t, moving the code within the loop into methods
3532 of these classes. Make various locals "const".
3533
88fa5555
DM
35342016-08-05 David Malcolm <dmalcolm@redhat.com>
3535
3536 * c-common.c: Include "substring-locations.h".
3537 (get_cpp_ttype_from_string_type): New function.
3538 (g_string_concat_db): New global.
3539 (substring_loc::get_range): New method.
3540 * c-common.h (g_string_concat_db): New declaration.
3541 (class substring_loc): New class.
3542 * c-lex.c (lex_string): When concatenating strings, capture the
3543 locations of all tokens using a new obstack, and record the
3544 concatenation locations within g_string_concat_db.
3545 * c-opts.c (c_common_init_options): Construct g_string_concat_db
3546 on the ggc-heap.
3547
78169471
MP
35482016-07-29 Marek Polacek <polacek@redhat.com>
3549
638fc14f
MP
3550 PR c/71926
3551 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
3552 parentheses warning.
3553
78169471
MP
3554 PR c/71574
3555 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
3556
1225d6b1
ML
35572016-07-28 Martin Liska <mliska@suse.cz>
3558
3559 PR gcov-profile/68025
3560 * c-common.c (handle_no_profile_instrument_function_attribute):
3561
ec1e2a40
BE
35622016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
3563
3564 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
3565 BITS_PER_UNIT_LOG.
3566
5ec2cd9f
JM
35672016-07-25 Jason Merrill <jason@redhat.com>
3568
3569 PR c++/65970
3570 * c.opt (fconstexpr-loop-limit): New.
3571
9dc5773f 35722016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
3573
3574 PR c++/71675
3575 * c-common.c (resolve_overloaded_builtin): Avoid converting
3576 __atomic_compare_exchange_n return type to that of what its
3577 first argument points to.
3578
e3fe09c1
UB
35792016-07-22 Uros Bizjak <ubizjak@gmail.com>
3580
3581 * c-common.c: Use HOST_WIDE_INT_M1U instead of
3582 ~(unsigned HOST_WIDE_INT) 0.
3583
bc91c436
ML
35842016-07-22 Martin Liska <mliska@suse.cz>
3585
3586 PR gcov-profile/69028
3587 PR gcov-profile/62047
3588 * cilk.c (create_cilk_helper_decl): Set location of a new decl
3589 to the current_function_decl.
3590
451dcc66
JM
35912016-07-21 Jason Merrill <jason@redhat.com>
3592
3593 PR c++/65168
3594 * c-common.c (c_common_truthvalue_conversion): Check
3595 c_inhibit_evaluation_warnings for warning about address of
3596 reference.
3597
de6a69ee
DM
35982016-07-20 David Malcolm <dmalcolm@redhat.com>
3599
3600 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
3601 const char *.
3602
d022c55a
JM
36032016-07-15 Jason Merrill <jason@redhat.com>
3604
3605 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
3606
ddbbcb19
JJ
36072016-07-15 Jakub Jelinek <jakub@redhat.com>
3608
3609 PR c/71858
3610 * c-common.h (enum lookup_name_fuzzy_kind): Add
3611 FUZZY_LOOKUP_FUNCTION_NAME.
3612
d0cf395a
JM
36132016-07-08 Jason Merrill <jason@redhat.com>
3614
3615 P0145: Refining Expression Order for C++.
3616 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
3617 * c-opts.c: Adjust.
3618
98d44e93
MT
36192016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
3620
3621 PR c++/71214
3622 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
3623
f9d8d994
TS
36242016-06-29 Thomas Schwinge <thomas@codesourcery.com>
3625
3626 * c-pragma.h (enum pragma_kind): Rename
3627 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
3628 users.
3629
4aa83879
RB
36302016-06-29 Richard Biener <rguenther@suse.de>
3631
3632 PR middle-end/71002
3633 * c-common.c (c_common_get_alias_set): Remove union type punning case.
3634
a25bd9e6
JM
36352016-06-24 Jason Merrill <jason@redhat.com>
3636
3637 P0145R2: Refining Expression Order for C++.
3638 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
3639 MODIFY_EXPR.
3640
a86451b9
JJ
36412016-06-24 Jakub Jelinek <jakub@redhat.com>
3642
3643 * c-common.c (check_builtin_function_arguments): Require last
3644 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
3645 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
3646 if the last argument is pointer to enumerated or boolean type.
3647
1a4f11c8
DM
36482016-06-22 David Malcolm <dmalcolm@redhat.com>
3649
3650 PR c/70339
3651 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
3652 (lookup_name_fuzzy): New prototype.
3653
fe55692c
JDA
36542016-06-21 John David Anglin <danglin@gcc.gnu.org>
3655
3656 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
3657
4eb24e01
JM
36582016-06-14 Jason Merrill <jason@redhat.com>
3659
3660 P0145R2: Refining Expression Order for C++.
3661 * c.opt (fargs-in-order): New.
3662 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
3663
ef7cf206
JJ
36642016-06-13 Jakub Jelinek <jakub@redhat.com>
3665
0dda258b
JJ
3666 PR sanitizer/71498
3667 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
3668 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
3669
ef7cf206
JJ
3670 PR preprocessor/71183
3671 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
3672 to cb_get_source_date_epoch.
3673
50b15873
JJ
36742016-06-10 Jakub Jelinek <jakub@redhat.com>
3675
3676 PR c/68657
3677 * c.opt (Wpsabi): Add Warning flag.
3678
4d926e34
MS
36792016-06-10 Martin Sebor <msebor@redhat.com>
3680
3681 PR c/71392
14ec014e 3682 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
3683 the nonnull attribute in type-generic builtins.
3684
e01b4e16
MS
36852016-06-09 Martin Sebor <msebor@redhat.com>
3686
3687 PR c/70883
3688 * c-common.c (builtin_function_validate_nargs): Make text of error
3689 message consistent with others like it.
3690
44a845ca
MS
36912016-06-08 Martin Sebor <msebor@redhat.com>
3692 Jakub Jelinek <jakub@redhat.com>
3693
3694 PR c++/70507
3695 PR c/68120
3696 * c-common.c (check_builtin_function_arguments): Handle
3697 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3698
a80a7051
RB
36992016-06-08 Richard Biener <rguenther@suse.de>
3700
3701 * c-common.c (parse_optimize_options): Improve diagnostic messages.
3702
bfd67b47
RB
37032016-06-07 Richard Biener <rguenther@suse.de>
3704
3705 PR c/61564
3706 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3707 options and warn about others.
3708
15c98b2e
ES
37092016-06-01 Eduard Sanou <dhole@openmailbox.org>
3710
3711 * c-common.c (get_source_date_epoch): Rename to
3712 cb_get_source_date_epoch.
3713 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3714 message when the parsing fails. Use error_at instead of fatal_error.
3715 * c-common.h (get_source_date_epoch): Rename to
3716 cb_get_source_date_epoch.
3717 * c-common.h (cb_get_source_date_epoch): Prototype.
3718 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3719 * c-common.h (c_omp_region_type): Remove trailing comma.
3720 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3721 * c-lex.c (c_lex_with_flags): Remove initialization of
3722 pfile->source_date_epoch.
3723
00631022
JJ
37242016-05-30 Jakub Jelinek <jakub@redhat.com>
3725
3726 PR c++/71349
3727 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3728 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
3729 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3730 instead of C_OMP_CLAUSE_SPLIT_FOR.
3731
f17a223d
RB
37322016-05-24 Richard Biener <rguenther@suse.de>
3733
3734 PR middle-end/70434
3735 PR c/69504
3736 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3737 (convert_vector_to_array_for_subscript): ... this.
3738 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3739 VIEW_CONVERT_EXPR to an array type. Rename to ...
3740 (convert_vector_to_array_for_subscript): ... this.
3741
4f2e1536
MP
37422016-05-12 Marek Polacek <polacek@redhat.com>
3743
3744 PR c/70756
3745 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3746 size_in_bytes and pass LOC to it.
3747
d6e83a8d
MM
37482016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3749
3750 PR c/43651
3751 * c.opt (Wduplicate-decl-specifier): New option.
3752
5c3a10fb
MP
37532016-05-11 Marek Polacek <polacek@redhat.com>
3754
3755 PR c++/71024
3756 * c-common.c (diagnose_mismatched_attributes): New function.
3757 * c-common.h (diagnose_mismatched_attributes): Declare.
3758
deef7113
MP
37592016-05-04 Marek Polacek <polacek@redhat.com>
3760
3761 * c.opt (Wdangling-else): New option.
3762
79ce98bc
MP
37632016-05-03 Marek Polacek <polacek@redhat.com>
3764
3765 PR c/70859
3766 * c-common.c (builtin_function_validate_nargs): Add location
3767 parameter. Use it.
3768 (check_builtin_function_arguments): Add location and arguments
3769 parameters. Use them.
3770 * c-common.h (check_builtin_function_arguments): Update declaration.
3771
381cdae4
RB
37722016-05-03 Richard Biener <rguenther@suse.de>
3773
3774 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3775 allow call args to gimplify to SSA names.
3776
1d793c34
MP
37772016-05-03 Marek Polacek <polacek@redhat.com>
3778
3779 * c-common.h (enum c_omp_region_type): Remove stray comma.
3780
77886428
CP
37812016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3782
3783 * c-common.h (enum c_omp_region_type): Define.
3784
697e0b28
RS
37852016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3786
3787 * c-common.c (shorten_compare): Use wi::to_wide.
3788
e7ff0319
CP
37892016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3790
3791 PR middle-end/70626
3792 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3793 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3794 reduction clauses in acc parallel loops.
3795
2fff3db8
MP
37962016-04-29 Marek Polacek <polacek@redhat.com>
3797
3798 PR c/70852
3799 * c-common.c (warn_for_memset): Check domain before accessing it.
3800
509063eb
DV
38012016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3802
3803 PR/69089
3804 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3805 "aligned" attribute.
3806
b632761d
JM
38072016-04-28 Jason Merrill <jason@redhat.com>
3808
3809 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3810
174f6622
ES
38112016-04-28 Eduard Sanou <dhole@openmailbox.org>
3812 Matthias Klose <doko@debian.org>
3813
3814 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3815 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3816 handling.
3817 * c-common.h (get_source_date_epoch): Prototype.
3818 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3819
6bc2bb18
RB
38202015-04-27 Ryan Burn <contact@rnburn.com>
3821
3822 PR c++/69024
3823 PR c++/68997
3824 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3825 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3826 external linkage.
3827 (cilk_detect_and_unwrap): Corresponding changes.
3828 (extract_free_variables): Don't extract free variables from
3829 AGGR_INIT_EXPR slot.
3830 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3831 (cilk_recognize_spawn): Likewise.
3832
c1e1f433
BS
38332016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3834
3835 * c.opt (Wmemset-elt-size): New option.
3836 * c-common.c (warn_for_memset): New function.
3837 * c-common.h (warn_for_memset): Declare.
3838
d067e05f
JM
38392016-04-25 Jason Merrill <jason@redhat.com>
3840
3841 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3842 No longer static.
3843 * c-common.h: Declare it.
3844 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3845
9aa36ae5
JM
38462016-04-22 Jason Merrill <jason@redhat.com>
3847
3848 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3849
477d4906
IV
38502016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3851
3852 PR c++/69363
3853 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3854 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3855
fe37c7af
MM
38562016-04-18 Michael Matz <matz@suse.de>
3857
3858 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3859 and SET_DECL_ALIGN.
3860
23f2660f
EB
38612016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3862
3863 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3864 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3865 to incomplete types.
3866 (dump_nested_type): Remove redundant tests and tidy up.
3867 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3868 a type which is the typedef of an original type.
3869
1e77281b
MP
38702016-04-15 Marek Polacek <polacek@redhat.com>
3871
3872 PR c/70651
3873 * c-common.c (build_va_arg): Change two asserts into errors and return
3874 error_mark_node.
3875
b3a77f21
MP
38762016-04-13 Marek Polacek <polacek@redhat.com>
3877
3878 PR c++/70639
3879 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3880 for switch statements, too.
3881
322b8466
JM
38822016-03-28 Jason Merrill <jason@redhat.com>
3883
3884 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3885
fbdb6baf
MP
38862016-03-23 Marek Polacek <polacek@redhat.com>
3887
3888 PR c++/69884
3889 * c.opt (Wignored-attributes): New option.
3890
5c240f4d
DM
38912016-03-22 David Malcolm <dmalcolm@redhat.com>
3892
3893 PR c/69993
3894 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3895 diagnostic text, reversing the order of the warning and note so
3896 that they appear in source order.
3897
14ba7b28
MP
38982016-03-17 Marek Polacek <polacek@redhat.com>
3899
3900 PR c/69407
3901 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3902 operations.
3903
08a1cadc
JM
39042016-03-14 Jason Merrill <jason@redhat.com>
3905
2aaeea19
JM
3906 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3907
08a1cadc
JM
3908 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3909
c06d25bb
RB
39102016-03-09 Richard Biener <rguenther@suse.de>
3911
3912 PR c/70143
3913 * c-common.c (strict_aliasing_warning): Add back
3914 alias_sets_conflict_p check.
3915
80aac5c8
JM
39162016-03-08 Jason Merrill <jason@redhat.com>
3917
3918 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3919
64b23c13
DM
39202016-03-04 David Malcolm <dmalcolm@redhat.com>
3921
3922 PR c/68187
3923 * c-indentation.c (get_visual_column): Move code to determine next
3924 tab stop to...
3925 (next_tab_stop): ...this new function.
3926 (line_contains_hash_if): Delete function.
3927 (detect_preprocessor_logic): Delete function.
3928 (get_first_nws_vis_column): New function.
3929 (detect_intervening_unindent): New function.
3930 (should_warn_for_misleading_indentation): Replace call to
3931 detect_preprocessor_logic with a call to
3932 detect_intervening_unindent.
3933
729526f5
DM
39342016-03-04 David Malcolm <dmalcolm@redhat.com>
3935
3936 PR c/68187
3937 * c-indentation.c (should_warn_for_misleading_indentation): When
3938 suppressing warnings about cases where the guard and body are on
3939 the same column, only use the first non-whitespace column in place
3940 of the guard token column when dealing with "else" clauses.
3941 When rejecting aligned BODY and NEXT, loosen the requirement
3942 from equality with the first non-whitespace of guard to simply
3943 that they not be indented relative to it.
3944
e9a35493
RB
39452016-03-04 Richard Biener <rguenther@suse.de>
3946
3947 PR c++/70054
3948 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3949 instead of alias_sets_conflict_p.
3950
1be56bc5
MP
39512016-03-01 Marek Polacek <polacek@redhat.com>
3952
3953 PR c++/69795
3954 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3955 any DECL.
3956
35886f0b
MS
39572016-02-22 Martin Sebor <msebor@redhat.com>
3958
3959 PR middle-end/69780
3960 * c-common.c (check_builtin_function_arguments): Validate and
3961 reject invalid arguments to __builtin_alloca_with_align.
3962
4246c8da
MW
39632016-02-20 Mark Wielaard <mjw@redhat.com>
3964
3965 PR c/28901
3966 * c.opt (Wunused-const-variable): Turn into Alias for...
3967 (Wunused-const-variable=): New option.
3968
268be88c
BE
39692016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3970
3971 PR c++/69865
3972 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3973 here...
3974 (c_common_init_options): ...to here.
3975 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3976
871b3f47
JJ
39772016-02-19 Jakub Jelinek <jakub@redhat.com>
3978
3979 PR c++/69826
3980 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3981 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3982 flag_preprocess_only.
3983
bf14eba2
JJ
39842016-02-16 Jakub Jelinek <jakub@redhat.com>
3985
3986 PR c/69835
3987 * c.opt (Wnonnull-compare): Enable for -Wall.
3988
ba6b3795
JJ
39892016-02-15 Jakub Jelinek <jakub@redhat.com>
3990
3991 PR c++/69797
3992 * c-common.c (sync_resolve_size): Diagnose too few arguments
3993 even when params is non-NULL empty vector.
3994
a011cd92
BS
39952016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3996
3997 PR target/60410
3998 * c.opt (fshort-double): Remove.
3999
46cb9332
MS
40002016-02-05 Martin Sebor <msebor@redhat.com>
4001
4002 PR c++/69662
4003 * c.opt (Warning options): Update -Wplacement-new to take
4004 an optional argument.
4005
e1b81f2b
JJ
40062016-02-01 Jakub Jelinek <jakub@redhat.com>
4007
4008 PR preprocessor/69543
4009 PR c/69558
4010 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4011 instead of loc to control_warning_option.
4012
b6adbb9f
NS
40132016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4014
4015 * c.opt (fopenacc-dim=): New option.
4016
5d70666e
RB
40172016-01-27 Ryan Burn <contact@rnburn.com>
4018
4019 PR cilkplus/69267
4020 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4021 gimplify_arg. Removed superfluous post_p argument.
4022 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4023 superfluous post_p argument.
4024 * c-gimplify.c (c_gimplify_expr): Likewise.
4025
01e1dea3
DM
40262016-01-26 David Malcolm <dmalcolm@redhat.com>
4027
4028 PR other/69006
4029 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4030 pp_newline_and_flush with pp_flush.
4031
9f04a53e
MS
40322016-01-20 Martin Sebor <msebor@redhat.com>
4033
4034 PR c/69405
4035 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4036 an incompatible argument when the argument isn't a valid tree node.
4037
7f26f7df
JM
40382016-01-18 Jason Merrill <jason@redhat.com>
4039
4040 PR c++/68767
4041 * c-common.c (check_function_arguments_recurse): Fold the whole
4042 COND_EXPR, not just the condition.
4043
f62bf092
TV
40442016-01-18 Tom de Vries <tom@codesourcery.com>
4045
4046 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4047 classify as loop clause.
4048
e0a575ff
JJ
40492016-01-15 Jakub Jelinek <jakub@redhat.com>
4050
4051 PR bootstrap/68271
4052 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4053 C++ FE no longer has limit on number of pragmas.
4054
40552015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4056
4057 PR c++/69048
4058 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4059 to add missing cleanup point.
b6e3db06 4060
c7df95d8
DM
40612016-01-14 David Malcolm <dmalcolm@redhat.com>
4062
4063 PR c++/68819
4064 * c-indentation.c (get_visual_column): Add location_t param.
4065 Handle the column number being zero by effectively disabling the
4066 warning, with an "inform".
4067 (should_warn_for_misleading_indentation): Add location_t argument
4068 for all uses of get_visual_column.
4069
21efdd80
PP
40702016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4071
4072 PR c++/69029
4073 * c-indentation.c (should_warn_for_misleading_indentation):
4074 Don't warn about do-while statements.
4075
7a127fa7
MS
40762016-01-07 Martin Sebor <msebor@redhat.com>
4077
4078 PR c/68966
4079 * c-common.c (sync_resolve_size): Reject first argument when it's
4080 a pointer to _Bool.
4081
c589e975
DM
40822016-01-05 David Malcolm <dmalcolm@redhat.com>
4083
4084 PR c/69122
4085 * c-indentation.c (get_visual_column): Remove default argument.
4086 (should_warn_for_misleading_indentation): For the multiline case,
4087 update call to get_visual_column for next_stmt_exploc so that it
4088 captures the location of the first non-whitespace character in the
4089 relevant line. Don't issue warnings if there is non-whitespace
4090 before the next statement.
4091
818ab71a
JJ
40922016-01-04 Jakub Jelinek <jakub@redhat.com>
4093
4094 Update copyright years.
4095
745e411d
DM
40962015-12-21 David Malcolm <dmalcolm@redhat.com>
4097
4098 * c-common.c (binary_op_error): Convert first param from
4099 location_t to rich_location * and use it when emitting an error.
4100 * c-common.h (binary_op_error): Convert first param from
4101 location_t to rich_location *.
4102
de67c4c3
DM
41032015-12-16 David Malcolm <dmalcolm@redhat.com>
4104
4105 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4106 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4107
4a38b02b
IV
41082015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4109
4110 * c-common.c (c_common_attribute_table): Handle "omp declare target
4111 link" attribute.
4112
54d62f51
JJ
41132015-12-14 Jakub Jelinek <jakub@redhat.com>
4114
4115 PR c/68833
4116 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4117
8d4227c8
TB
41182014-12-12 Tobias Burnus <burnus@net-b.de>
4119
4120 PR fortran/68815
4121 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4122 specifiers (%d, %i,%u and %c).
4123
f6069ccc
DM
41242015-12-10 David Malcolm <dmalcolm@redhat.com>
4125
4126 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4127
63bbf46d
JJ
41282015-12-08 Jakub Jelinek <jakub@redhat.com>
4129
4130 PR c/48088
4131 PR c/68657
4132 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4133 * c-pragma.c (handle_pragma_diagnostic): Adjust
4134 control_warning_option caller.
4135
f79520bb
DM
41362015-12-07 David Malcolm <dmalcolm@redhat.com>
4137
4138 * c-common.c (c_cpp_error): Update for change to
4139 rich_location::set_range.
4140
b3d5bc62
JJ
41412015-12-04 Paolo Bonzini <bonzini@gnu.org>
4142
4143 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4144 shifting 1 out of the sign bit.
4145
41462015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4147
4148 * c-common.c (c_common_attribute_table[]): Update max arguments
4149 count for "simd" attribute.
4150 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4151
6eb4a537
JJ
41522015-12-03 Jakub Jelinek <jakub@redhat.com>
4153
4154 PR preprocessor/57580
4155 * c-ppoutput.c (print): Change printed field to bool.
4156 Move src_file last for smaller padding.
4157 (init_pp_output): Set print.printed to false instead of 0.
4158 (scan_translation_unit): Fix up formatting. Set print.printed
4159 to true after printing something other than newline.
4160 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4161 (maybe_print_line_1): Set print.printed to false instead of 0.
4162 (print_line_1): Likewise.
4163 (do_line_change): Set print.printed to true instead of 1.
4164 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4165 dump_macro): Set print.printed to false after printing newline.
4166
4250754e
JM
41672015-12-02 Jason Merrill <jason@redhat.com>
4168
f479b43d
JM
4169 * c-common.c (fold_for_warn): New.
4170 (warn_logical_operator, warn_tautological_cmp)
4171 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4172
4250754e
JM
4173 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4174 (c_fully_fold_internal, decl_constant_value_for_optimization):
4175 Move to c/c-fold.c.
4176 * c-common.h: Don't declare decl_constant_value_for_optimization.
4177
e9e32ee6
JM
41782015-12-02 Joseph Myers <joseph@codesourcery.com>
4179
4180 PR c/68162
4181 * c-common.h (c_build_qualified_type): Add extra default
4182 arguments.
4183
37d5ad46
JB
41842015-12-01 Julian Brown <julian@codesourcery.com>
4185 Cesar Philippidis <cesar@codesourcery.com>
4186 James Norris <James_Norris@mentor.com>
4187
4188 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4189 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4190 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4191
f07862c7
EB
41922015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4193
4194 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4195 (decl_sloc_common): Delete and move bulk of processing to...
4196 (decl_sloc): ...here.
4197 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4198 (dump_ada_double_name): Remove S parameter and compute the suffix.
4199 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4200 element type and deal with an anonymous one.
4201 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4202 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4203 and remove reference to QUAL_UNION_TYPE.
4204 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4205 (dump_nested_type): ...here. New function extracted from above.
4206 Generate a full declaration for anonymous element type of arrays.
4207 (print_ada_declaration): Really skip anonymous declarations. Remove
4208 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4209 Clean up processing of declarations of array types and objects.
4210 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4211 Remove obsolete code and tidy up.
4212
75c8aac3
JH
42132015-11-29 Jan Hubicka <hubicka@ucw.cz>
4214
4215 PR c/67581
4216 * c-common.c (handle_transparent_union_attribute): Update
4217 also type variants.
4218
b58d3df2
ML
42192015-11-27 Martin Liska <mliska@suse.cz>
4220
4221 PR c++/68312
4222 * array-notation-common.c (cilkplus_extract_an_triplets):
4223 Release vector of vectors.
4224 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4225
89a01fcf
EB
42262015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4227
4228 PR c++/68527
4229 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4230 (print_ada_struct_decl): Likewise.
4231
cc5c5226
IZ
42322015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4233
4234 PR c++/68001
4235 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4236 * cilk.c (recognize_spawn): Determine location in a more precise
4237 way.
4238
269adb9d
JM
42392015-11-19 Jason Merrill <jason@redhat.com>
4240
4241 * c-common.c (shorten_compare): But look through macros from
4242 system headers.
4243
d0eccfcd
JM
42442015-11-18 Jason Merrill <jason@redhat.com>
4245
4246 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4247 non-constant operand comes from a macro.
4248
3e44547c
JM
42492015-11-17 Jason Merrill <jason@redhat.com>
4250
4251 PR bootstrap/68346
4252 * c-common.c (warn_tautological_cmp): Fold before checking for
4253 constants.
4254
0f62c7a0
MP
42552015-11-16 Marek Polacek <polacek@redhat.com>
4256
4257 PR c++/68362
4258 * c-common.c (check_case_bounds): Fold low and high cases.
4259
a868811e
MP
42602015-11-16 Marek Polacek <polacek@redhat.com>
4261
4262 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4263 * c-common.c (c_common_get_alias_set): Likewise.
4264 (handle_visibility_attribute): Likewise.
4265
fff77217
KY
42662015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4267
4268 * c-common.c (handle_simd_attribute): New.
4269 (struct attribute_spec): Add entry for "simd".
4270 (handle_simd_attribute): New.
4271
269e63b7
KT
42722015-11-13 Kai Tietz <ktietz70@googlemail.com>
4273
4274 * c-lex.c (interpret_float): Use fold_convert.
4275
ebedc9a3
DM
42762015-11-13 David Malcolm <dmalcolm@redhat.com>
4277
4278 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4279 and store it on the result.
4280 * c-opts.c (c_common_init_options): Set
4281 global_dc->colorize_source_p.
4282
6e232ba4
JN
42832015-11-12 James Norris <jnorris@codesourcery.com>
4284 Joseph Myers <joseph@codesourcery.com>
4285
7365279f 4286 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
4287 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4288 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4289 PRAGMA_OACC_CLAUSE_LINK.
4290
e78bede6
MP
42912015-11-11 Marek Polacek <polacek@redhat.com>
4292
4293 PR c/68107
4294 PR c++/68266
4295 * c-common.c (valid_array_size_p): New function.
4296 * c-common.h (valid_array_size_p): Declare.
4297
3f8257db 42982015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
4299
4300 PR bootstrap/68271
4301 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4302
69f293c9
AM
43032015-11-11 Andrew MacLeod <amacleod@redhat.com>
4304
4305 * array-notation-common.c: Remove unused header files.
4306 * c-ada-spec.c: Likewise.
4307 * c-cilkplus.c: Likewise.
4308 * c-common.c: Likewise.
4309 * c-cppbuiltin.c: Likewise.
4310 * c-dump.c: Likewise.
4311 * c-format.c: Likewise.
4312 * c-gimplify.c: Likewise.
4313 * c-indentation.c: Likewise.
4314 * c-lex.c: Likewise.
4315 * c-omp.c: Likewise.
4316 * c-opts.c: Likewise.
4317 * c-pch.c: Likewise.
4318 * c-ppoutput.c: Likewise.
4319 * c-pragma.c: Likewise.
4320 * c-pretty-print.c: Likewise.
4321 * c-semantics.c: Likewise.
4322 * c-ubsan.c: Likewise.
4323 * cilk.c: Likewise.
4324 * stub-objc.c: Likewise.
4325
3a40d81d
NS
43262015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4327 Cesar Philippidis <cesar@codesourcery.com>
4328 James Norris <jnorris@codesourcery.com>
4329 Julian Brown <julian@codesourcery.com>
4330 Nathan Sidwell <nathan@codesourcery.com>
4331
4332 * c-pragma.c (oacc_pragmas): Add "routine".
4333 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4334
ee45a32d
EB
43352015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4336
4337 * c-common.c (c_common_attributes): Add scalar_storage_order.
4338 (handle_scalar_storage_order_attribute): New function.
4339 * c-pragma.c (global_sso): New variable.
4340 (maybe_apply_pragma_scalar_storage_order): New function.
4341 (handle_pragma_scalar_storage_order): Likewise.
4342 (init_pragma): Register scalar_storage_order.
4343 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4344 * c.opt (Wscalar-storage-order): New warning.
4345 (fsso-struct=): New option.
4346
eb11eb15
MS
43472015-11-08 Martin Sebor <msebor@redhat.com>
4348
4349 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4350
0aad0198
RS
43512015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4352
4353 * c-common.c: Don't undef DEF_BUILTIN.
4354
8a645150
DM
43552015-11-06 David Malcolm <dmalcolm@redhat.com>
4356
4357 * c-common.c (c_cpp_error): Convert parameter from location_t to
4358 rich_location *. Eliminate the "column_override" parameter and
4359 the call to diagnostic_override_column.
4360 Update the "done_lexing" clause to set range 0
4361 on the rich_location, rather than overwriting a location_t.
4362 * c-common.h (c_cpp_error): Convert parameter from location_t to
4363 rich_location *. Eliminate the "column_override" parameter.
4364
7a5e4956
CP
43652015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4366 Thomas Schwinge <thomas@codesourcery.com>
4367 James Norris <jnorris@codesourcery.com>
4368
4369 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4370 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
4371 clauses with parallel and kernels and loops.
4372 * c-pragma.h (enum pragma_omp_clause): Add entries for
4373 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4374 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4375 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4376 INDEPENDENT,SEQ}.
4377 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4378
e2f5cc96
MS
43792015-11-05 Martin Sebor <msebor@redhat.com>
4380
4381 PR c++/67942
4382 * c.opt (-Wplacement-new): New option.
4383
e01d41e5
JJ
43842015-11-05 Jakub Jelinek <jakub@redhat.com>
4385
4386 * c-common.h (c_finish_omp_atomic): Add TEST argument.
4387 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4388 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
4389 save_expr or create_tmp_var* if TEST is true.
4390 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4391 Don't call add_stmt here.
4392 (struct c_omp_check_loop_iv_data): New type.
4393 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4394 c_omp_check_loop_iv_exprs): New functions.
4395 (c_omp_split_clauses): Adjust for lastprivate being allowed on
4396 distribute.
4397 (c_omp_declare_simd_clauses_to_numbers): Change
4398 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4399 (c_omp_declare_simd_clauses_to_decls): Similarly change those
4400 from numbers to PARM_DECLs.
4401
595278be
MM
44022015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
4403
4404 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4405 flag_checking.
4406
3f8257db 44072015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
4408
4409 PR c++-common/67882
b3d5bc62
JJ
4410 * c-common.h (fold_offsetof_1): Add argument.
4411 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
4412 offsetof expressions that reference elements past the end of
4413 an array.
4414
4bf9e5a8
TS
44152015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4416 Chung-Lin Tang <cltang@codesourcery.com>
4417
4418 * c-pragma.c (oacc_pragmas): Add "atomic".
4419 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4420
3b1661a9
ES
44212015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
4422
4423 * c-common.c (handle_target_clones_attribute): New.
4424 (c_common_attribute_table): Add handle_target_clones_attribute.
4425 (handle_always_inline_attribute): Add check on target_clones attribute.
4426 (handle_target_attribute): Ditto.
4427
2adfab87
AM
44282015-10-29 Andrew MacLeod <amacleod@redhat.com>
4429
4430 * array-notation-common.c: Reorder #include's and remove duplicates.
4431 * c-ada-spec.c: Likewise.
4432 * c-cilkplus.c: Likewise.
4433 * c-common.c: Likewise.
4434 * c-cppbuiltin.c: Likewise.
4435 * c-dump.c: Likewise.
4436 * c-format.c: Likewise.
4437 * c-gimplify.c: Likewise.
4438 * c-indentation.c: Likewise.
4439 * c-lex.c: Likewise.
4440 * c-omp.c: Likewise.
4441 * c-opts.c: Likewise.
4442 * c-pch.c: Likewise.
4443 * c-ppoutput.c: Likewise.
4444 * c-pragma.c: Likewise.
4445 * c-pretty-print.c: Likewise.
4446 * c-semantics.c: Likewise.
4447 * c-ubsan.c: Likewise.
4448 * cilk.c: Likewise.
4449 * stub-objc.c: Likewise.
4450
d90ec4f2
JM
44512015-10-28 Jason Merrill <jason@redhat.com>
4452
4453 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4454
88bae6f4
TS
44552015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4456 James Norris <jnorris@codesourcery.com>
4457 Cesar Philippidis <cesar@codesourcery.com>
4458
4459 PR c/64765
4460 PR c/64880
4461 * c-common.h (c_oacc_split_loop_clauses): Declare function.
4462 * c-omp.c (c_oacc_split_loop_clauses): New function.
4463
b1726d6c
MS
44642015-10-21 Martin Sebor <msebor@redhat.com>
4465
4466 PR driver/68043
4467 * c.opt: End each sentence that describes an option with a period.
4468
fa60eeb9
MP
44692015-10-20 Marek Polacek <polacek@redhat.com>
4470
4471 * array-notation-common.c (is_cilkplus_vector_p): Define.
4472 * c-common.h (is_cilkplus_vector_p): Declare.
4473
95979049
MP
44742015-10-20 Marek Polacek <polacek@redhat.com>
4475
4476 * c.opt (std=gnu++11): Do not describe as experimental.
4477 (std=gnu++14): Likewise.
4478
2a9fb712
JM
44792015-10-19 Jason Merrill <jason@redhat.com>
4480
4481 * c-cppbuiltin.c (c_cpp_builtins): Define
4482 __cpp_nontype_template_args.
4483
13b380a3
JM
44842015-10-19 Jason Merrill <jason@redhat.com>
4485
4486 * c-cppbuiltin.c (c_cpp_builtins): Define
4487 __cpp_enumerator_attributes, __cpp_fold_expressions,
4488 __cpp_unicode_characters.
4489
d9a6bd32
JJ
44902015-10-13 Jakub Jelinek <jakub@redhat.com>
4491 Aldy Hernandez <aldyh@redhat.com>
4492
4493 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4494 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4495 (c_define_builtins): Likewise.
4496 * c-common.h (enum c_omp_clause_split): Add
4497 C_OMP_CLAUSE_SPLIT_TASKLOOP.
4498 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4499 (c_finish_omp_for): Add ORIG_DECLV argument.
4500 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4501 201511 instead of 201307.
4502 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4503 OMP_CRITICAL_CLAUSES to it.
4504 (c_finish_omp_ordered): Add CLAUSES argument, set
4505 OMP_ORDERED_CLAUSES to it.
4506 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4507 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
4508 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4509 constructs and new OpenMP 4.5 clauses. Clear
4510 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
4511 verification code.
4512 * c-pragma.c (omp_pragmas_simd): Add taskloop.
4513 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4514 (enum pragma_omp_clause): Add
4515 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4516 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
4517
624d31fe
RS
45182015-10-05 Richard Sandiford <richard.sandiford@arm.com>
4519
4520 * c-lex.c (interpret_float): Use real_equal instead of
4521 REAL_VALUES_EQUAL.
4522
b8fd7909
JM
45232015-10-04 Jason Merrill <jason@redhat.com>
4524
4525 Implement N4514, C++ Extensions for Transactional Memory.
4526 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
4527 (c_common_attribute_table): Add transaction_safe_dynamic.
4528 transaction_safe now affects type identity.
4529 (handle_tm_attribute): Handle transaction_safe_dynamic.
4530 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
4531 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
4532 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
4533 (D_TRANSMEM): New.
4534 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
4535 * c-pretty-print.c (pp_c_attributes_display): Don't print
4536 transaction_safe in C++.
4537
12651878
MP
45382015-10-02 Marek Polacek <polacek@redhat.com>
4539
4540 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
4541
3e3b8d63
MP
45422015-10-02 Marek Polacek <polacek@redhat.com>
4543
4544 PR c/64249
4545 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
4546 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
4547 * c.opt (Wduplicated-cond): New option.
4548
0d1a8f75
JM
45492015-10-01 Joseph Myers <joseph@codesourcery.com>
4550
4551 * c.opt (std=c11): Do not describe as experimental.
4552 (std=gnu11): Likewise.
4553 (std=iso9899:2011): Likewise.
4554
3e32ee19
NS
45552015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4556
4557 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
4558 (DEF_FUNCTION_TYPE_VAR_11): Delete.
4559
974348ee
MP
45602015-09-25 Marek Polacek <polacek@redhat.com>
4561
4562 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
4563 (ubsan_instrument_shift): Likewise.
4564
15dbc1a6
MP
45652015-09-25 Marek Polacek <polacek@redhat.com>
4566
4567 PR sanitizer/64906
4568 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
4569
6b95d7cc
PP
45702015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
4571
4572 * c-indentation.c (should_warn_for_misleading_indentation):
4573 Compare next_stmt_vis_column with guard_line_first_nws instead
4574 of with guard_line_vis_column.
4575
c1822f9c
MLI
45762015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4577
4578 PR c/49654
4579 PR c/49655
4580 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
4581 options and options not valid for the current language.
4582
d5398058
PP
45832015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
4584
4585 * c-indentation.c (should_warn_for_misleading_indentation):
4586 Float out and consolidate the calls to get_visual_column that
4587 are passed guard_exploc as an argument. Compare
4588 next_stmt_vis_column with guard_line_first_nws instead of with
4589 body_line_first_nws.
4590
6b333269
NS
45912015-09-22 Nathan Sidwell <nathan@codesourcery.com>
4592
4593 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
4594 Wnamespaces): New C++ warnings.
4595
a75f1574
JM
45962015-09-22 Jason Merrill <jason@redhat.com>
4597
4598 * c-common.h (abi_compat_version_crosses): New.
4599 (warn_abi_version): Declare.
4600 * c-common.c: Define it.
4601 * c-opts.c (c_common_post_options): Handle it.
4602 flag_abi_compat_version defaults to 8.
4603
bdaaa8b7
VV
46042015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
4605
4606 Complete the implementation of N4230, Nested namespace definition.
4607 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
4608 __cpp_nested_namespace_definitions.
4609
eaa797e8
MLI
46102015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4611
4612 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
4613
c4914de6
MLI
46142015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4615
4616 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
4617 when warning.
4618 * c-pragma.h (pragma_lex): Add optional loc argument.
4619
fcb87c50
MM
46202015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
4621
4622 * c-format.c (check_format_arg): Adjust to use common block size in all
4623 object pools.
4624
31bdd08a
DM
46252015-09-15 David Malcolm <dmalcolm@redhat.com>
4626
4627 * c-format.c (location_from_offset): Update for change in
4628 signature of location_get_source_line.
4629 * c-indentation.c (get_visual_column): Likewise.
4630 (line_contains_hash_if): Likewise.
4631
aa9f4b4c
MP
46322015-09-14 Marek Polacek <polacek@redhat.com>
4633
4634 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
4635 setting various warnings.
4636
aa256c4a
MP
46372015-09-14 Marek Polacek <polacek@redhat.com>
4638
4639 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
4640 a negative value.
4641
0f876f22
MW
46422015-09-11 Mark Wielaard <mjw@redhat.com>
4643
4644 PR c/28901
4645 * c.opt (Wunused-variable): Option from common.opt.
4646 (Wunused-const-variable): New option.
4647
273aa49e
PC
46482015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4649
4650 PR c++/53184
4651 * c.opt ([Wsubobject-linkage]): Add.
4652
1807ffc1
MS
46532015-09-03 Martin Sebor <msebor@redhat.com>
4654
4655 PR c/66516
4656 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
4657 functions.
4658 * c-common.c (reject_gcc_builtin): Define.
4659
38942840
BI
46602015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
4661
4662 PR middle-end/60586
4663 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
4664 prototype.
4665 * c-gimplify.c (c_gimplify_expr): Added a call to the function
4666 cilk_gimplify_call_params_in_spawned_fn.
4667 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
4668 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
4669 unwrapping.
4670
c316b5e4
MP
46712015-08-25 Marek Polacek <polacek@redhat.com>
4672
4673 PR middle-end/67330
4674 * c-common.c (handle_weak_attribute): Don't check whether the
4675 visibility can be changed here.
4676
584a7c46
MLI
46772015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4678
4679 * c-lex.c (c_lex_with_flags): Use explicit locations.
4680
a79683d5
TS
46812015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
4682
4683 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
4684 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
4685
61717a45
FXC
46862015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4687
4688 PR middle-end/36757
4689 * c-common.c (check_builtin_function_arguments): Add check
4690 for BUILT_IN_SIGNBIT argument.
4691
329524f5
PC
46922015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
4693
4694 PR c++/67160
4695 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
4696 in c++1z mode.
4697
4ee55665
MP
46982015-08-17 Marek Polacek <polacek@redhat.com>
4699
4700 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
4701 with whitespaces before qualifier names.
4702
b893e375
MP
47032015-08-12 Marek Polacek <polacek@redhat.com>
4704
4705 PR c++/55095
4706 * c-common.c (maybe_warn_shift_overflow): Properly handle
4707 left-shifting 1 into the sign bit.
4708
c2d89095
MLI
47092015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4710
4711 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4712
971e17ff
AS
47132015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
4714 Braden Obrzut <admin@maniacsvault.net>
4715 Jason Merrill <jason@redhat.com>
4716
4717 Add C++ Concepts TS support.
4718 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4719 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4720 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4721 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4722 * c-opts.c (set_std_cxx1z): Set flag_concepts.
4723 * c.opt (fconcepts): New.
4724
b3d5bc62
JJ
47252015-08-02 Martin Sebor <msebor@redhat.com>
4726
4727 * c.opt (-Wframe-address): New warning option.
4728
8ebca419
PP
47292015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4730
4731 * c-indentation.c (should_warn_for_misleading_indentation):
4732 Improve heuristics.
4733
1a1e101f
PP
47342015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4735
4736 * c-indentation.c (get_visual_column): Add parameter first_nws,
4737 use it. Update comment documenting the function.
4738 (is_first_nonwhitespace_on_line): Remove.
4739 (should_warn_for_misleading_indentation): Replace usage of
4740 of is_first_nonwhitespace_on_line with get_visual_column.
4741
992118a1
PP
47422015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4743
4744 * c-indentation.h (struct token_indent_info): Define.
4745 (get_token_indent_info): Define.
4746 (warn_for_misleading_information): Declare.
4747 * c-common.h (warn_for_misleading_information): Remove.
4748 * c-identation.c (warn_for_misleading_indentation):
4749 Change declaration to take three token_indent_infos. Adjust
4750 accordingly.
4751 * c-identation.c (should_warn_for_misleading_indentation):
4752 Likewise. Bail out early if the body is a compound statement.
4753 (guard_tinfo_to_string): Define.
4754
e8fa3817
JM
47552015-07-30 Jason Merrill <jason@redhat.com>
4756
4757 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4758 '*' for reference decay.
4759
173864e8
MP
47602015-07-30 Marek Polacek <polacek@redhat.com>
4761
4762 * c-common.c (warn_tautological_cmp): Bail for float types.
4763
f2afe6dd
MP
47642015-07-27 Marek Polacek <polacek@redhat.com>
4765
4766 PR bootstrap/67030
4767 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4768
05b28fd6
MP
47692015-07-27 Marek Polacek <polacek@redhat.com>
4770
4771 PR c++/66555
4772 PR c/54979
4773 * c-common.c (find_array_ref_with_const_idx_r): New function.
4774 (warn_tautological_cmp): New function.
4775 * c-common.h (warn_tautological_cmp): Declare.
4776 * c.opt (Wtautological-compare): New option.
4777
5a5062b8
MP
47782015-07-23 Marek Polacek <polacek@redhat.com>
4779
4780 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4781 (ubsan_instrument_shift): Likewise.
4782
dc891fe7
MP
47832015-07-23 Marek Polacek <polacek@redhat.com>
4784
4785 PR sanitizer/66908
4786 * c-ubsan.c: Include gimplify.h.
4787 (ubsan_instrument_division): Unshare OP0 and OP1.
4788 (ubsan_instrument_shift): Likewise.
4789
451b5e48
MP
47902015-07-20 Marek Polacek <polacek@redhat.com>
4791 Richard Sandiford <richard.sandiford@arm.com>
4792
4793 PR c++/55095
4794 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4795 Use EXPR_LOC_OR_LOC.
4796 (maybe_warn_shift_overflow): New function.
4797 * c-common.h (maybe_warn_shift_overflow): Declare.
4798 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4799 * c.opt (Wshift-overflow): New option.
4800
fb0b2914
ML
48012015-07-16 Martin Liska <mliska@suse.cz>
4802
4803 * c-format.c (static void check_format_info_main): Use
4804 object_allocator instead of pool_allocator.
4805 (check_format_arg): Likewise.
4806 (check_format_info_main): Likewise.
4807
903f5c23
AM
48082015-07-15 Andrew MacLeod <amacleod@redhat.com>
4809
4810 * c-opts.c: Remove multiline #include comment.
4811
026c3cfd
AH
48122015-07-12 Aldy Hernandez <aldyh@redhat.com>
4813
4814 * c-common.c: Fix double word typos.
4815
bb49ee66
EB
48162015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4817
4818 * c-ada-spec.h (cpp_operation): Revert latest change.
4819 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4820 constructors and destructors.
4821
1916bcb5
AM
48222015-07-09 Andrew MacLeod <amacleod@redhat.com>
4823
4824 * c-common.h: Adjust includes for flags.h changes.
4825 * stub-objc.c: Likewise.
026c3cfd 4826
a9dcd529
EB
48272015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4828
4829 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4830 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4831
b03b462f
JJ
48322015-07-08 Jakub Jelinek <jakub@redhat.com>
4833
4834 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4835 are to be removed, return NULL rather than original clauses list.
4836
c7131fb2
AM
48372015-07-07 Andrew MacLeod <amacleod@redhat.com>
4838
4839 * array-notation-common.c: Adjust includes.
4840 * c-ada-spec.c: Likewise.
4841 * c-cilkplus.c: Likewise.
4842 * c-common.h: Likewise.
4843 * c-cppbuiltin.c: Likewise.
4844 * c-dump.c: Likewise.
4845 * c-format.c: Likewise.
4846 * c-gimplify.c: Likewise.
4847 * c-indentation.c: Likewise.
4848 * c-lex.c: Likewise.
4849 * c-omp.c: Likewise.
4850 * c-opts.c: Likewise.
4851 * c-pch.c: Likewise.
4852 * c-ppoutput.c: Likewise.
4853 * c-pragma.c: Likewise.
4854 * c-pretty-print.c: Likewise.
4855 * c-semantics.c: Likewise.
4856 * c-ubsan.c: Likewise.
4857 * cilk.c: Likewise.
4858 * stub-objc.c: Likewise.
4859
2a7fb83f
EB
48602015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4861
4862 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4863 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4864
a03c9bf1
JM
48652015-07-01 Jason Merrill <jason@redhat.com>
4866
36a85135
JM
4867 * c-common.h (D_CXX11): Rename from D_CXX0X.
4868 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4869 * c-common.c: Adjust.
4870
e7fa68d5
JM
4871 * c-opts.c (c_common_post_options): Default to C++14.
4872
a03c9bf1
JM
4873 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4874
fe95b036
ESR
48752015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4876
4877 Implement N4197 - Adding u8 character literals
b3d5bc62 4878 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4879 CPP_CHAR.
b3d5bc62 4880 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4881 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4882 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4883 and CPP_UTF8CHAR tokens.
4884 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4885
da2e71c9
MLI
48862015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4887
4888 PR fortran/66605
4889 * c-common.c (do_warn_unused_parameter): Move here.
4890 * c-common.h (do_warn_unused_parameter): Declare.
4891
b155cfd9
MP
48922015-06-29 Marek Polacek <polacek@redhat.com>
4893
4894 PR c/66322
4895 * c-common.c (check_case_bounds): Add bool * parameter. Set
4896 OUTSIDE_RANGE_P.
4897 (c_add_case_label): Add bool * parameter. Pass it down to
4898 check_case_bounds.
4899 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4900 warning here.
4901 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4902 declarations.
4903
31521951
MP
49042015-06-27 Marek Polacek <polacek@redhat.com>
4905
4906 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4907 or VECTOR_INTEGER_TYPE_P throughout.
4908 * c-gimplify.c: Likewise.
4909
22d03525
MP
49102015-06-26 Marek Polacek <polacek@redhat.com>
4911
4912 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4913 * c-common.c (c_fully_fold_internal): Likewise.
4914 (c_alignof_expr): Likewise.
4915 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4916 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4917 * cilk.c (create_parm_list): Likewise.
22d03525 4918
af05e6e5
MP
49192015-06-26 Marek Polacek <polacek@redhat.com>
4920
4921 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4922
f0889939
AM
49232015-06-25 Andrew MacLeod <amacleod@redhat.com>
4924
4925 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4926 * c-gimplify.c: Likewise.
4927 * c-pragma.c: Likewise.
4928 * c-ubsan.c: Likewise.
4929 * cilk.c: Likewise.
4930
ca752f39
RS
49312015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4932
4933 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4934 ggc_hasher.
4935
16a16ec7
AM
49362015-06-25 Andrew MacLeod <amacleod@redhat.com>
4937
4938 * cilk.c: Move calls.h after tm.h in the include chain.
4939
0ae9bd27
MP
49402015-06-25 Marek Polacek <polacek@redhat.com>
4941
4942 * array-notation-common.c: Use VAR_P throughout.
4943 * c-ada-spec.c: Likewise.
4944 * c-common.c: Likewise.
4945 * c-format.c: Likewise.
4946 * c-gimplify.c: Likewise.
4947 * c-omp.c: Likewise.
4948 * c-pragma.c: Likewise.
4949 * c-pretty-print.c: Likewise.
4950 * cilk.c: Likewise.
4951
62f9079a
MP
49522015-06-25 Marek Polacek <polacek@redhat.com>
4953
4954 * cilk.c (extract_free_variables): Use is_global_var.
4955
0fa16060
RS
49562015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4957
4958 * c-common.c: Don't include target-def.h.
4959
a68ae2e1
MP
49602015-06-23 Marek Polacek <polacek@redhat.com>
4961
4962 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4963 when comparing INTEGER_CSTs.
4964
c6a2f2d9
PMR
49652015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4966
4967 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4968 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4969 (dump_ada_template): Skip partially specialized types.
4970
6b4db501
MM
49712015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4972
4973 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4974 swapping.
4975
abb226c9
AM
49762015-06-17 Andrew MacLeod <amacleod@redhat.com>
4977
4978 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4979 * c-ada-spec.c: Likewise.
4980 * c-cilkplus.c: Likewise.
4981 * c-common.c: Likewise.
4982 * c-common.h: Likewise.
4983 * c-cppbuiltin.c: Likewise.
4984 * c-dump.c: Likewise.
4985 * c-format.c: Likewise.
4986 * c-gimplify.c: Likewise.
4987 * c-indentation.c: Likewise.
4988 * c-lex.c: Likewise.
4989 * c-omp.c: Likewise.
4990 * c-opts.c: Likewise.
4991 * c-pch.c: Likewise.
4992 * c-ppoutput.c: Likewise.
4993 * c-pragma.c: Likewise.
4994 * c-pretty-print.c: Likewise.
4995 * c-semantics.c: Likewise.
4996 * c-ubsan.c: Likewise.
4997 * cilk.c: Likewise.
4998 * stub-objc.c: Likewise.
4999
076fecad
PP
50002015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5001
5002 PR c++/65168
5003 * c-common.c (c_common_truthvalue_conversion): Warn when
5004 converting an address of a reference to a truth value.
5005
13fdf2e2
AM
50062015-06-08 Andrew MacLeod <amacleod@redhat.com>
5007
5008 * array-notation-common.c : Adjust include files.
5009 * c-ada-spec.c : Likewise.
5010 * c-cilkplus.c : Likewise.
5011 * c-common.c : Likewise.
5012 * c-common.h : Likewise.
5013 * c-cppbuiltin.c : Likewise.
5014 * c-dump.c : Likewise.
5015 * c-format.c : Likewise.
5016 * c-gimplify.c : Likewise.
5017 * c-indentation.c : Likewise.
5018 * c-lex.c : Likewise.
5019 * c-omp.c : Likewise.
5020 * c-opts.c : Likewise.
5021 * c-pch.c : Likewise.
5022 * c-ppoutput.c : Likewise.
5023 * c-pragma.c : Likewise.
5024 * c-pretty-print.c : Likewise.
5025 * c-semantics.c : Likewise.
5026 * c-ubsan.c : Likewise.
5027 * cilk.c : Likewise.
5028 * stub-objc.c : Likewise.
5029
a1661b90
MP
50302015-06-08 Marek Polacek <polacek@redhat.com>
5031
5032 PR c/66415
5033 * c-format.c (location_from_offset): Return LOC if LINE is null.
5034
d7438551
AH
50352015-06-05 Aldy Hernandez <aldyh@redhat.com>
5036
5037 * c-common.h (c_parse_final_cleanups): New prototype.
5038 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5039
b3d5bc62
JJ
50402015-06-04 Sriraman Tallam <tmsriram@google.com>
5041
5042 * c-common.c (noplt): New attribute.
5043 (handle_noplt_attribute): New handler.
5044
ecb9f223
AM
50452015-06-04 Andrew MacLeod <amacleod@redhat.com>
5046
5047 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5048 * c-ada-spec.c: Likewise.
5049 * c-cilkplus.c: Likewise.
5050 * c-common.c: Likewise.
5051 * c-common.h: Likewise.
5052 * c-cppbuiltin.c: Likewise.
5053 * c-dump.c: Likewise.
5054 * c-format.c: Likewise.
5055 * c-gimplify.c: Likewise.
5056 * c-indentation.c: Likewise.
5057 * c-lex.c: Likewise.
5058 * c-omp.c: Likewise.
5059 * c-opts.c: Likewise.
5060 * c-pch.c: Likewise.
5061 * c-ppoutput.c: Likewise.
5062 * c-pragma.c: Likewise.
5063 * c-pretty-print.c: Likewise.
5064 * c-semantics.c: Likewise.
5065 * c-ubsan.c: Likewise.
5066 * cilk.c: Likewise.
5067 * stub-objc.c: Likewise.
5068
6ac48155
DM
50692015-06-02 David Malcolm <dmalcolm@redhat.com>
5070
5071 PR c/66220:
5072 * c-indentation.c (should_warn_for_misleading_indentation): Use
5073 expand_location rather than expand_location_to_spelling_point.
5074 Don't warn if the guarding statement is more indented than the
5075 next/body stmts.
5076
773ce42e
DM
50772015-06-02 David Malcolm <dmalcolm@redhat.com>
5078
5079 * c-indentation.c (warn_for_misleading_indentation): Bail out
5080 immediately if -Wmisleading-indentation isn't enabled.
5081
4fef8379
ML
50822015-06-01 Martin Liska <mliska@suse.cz>
5083
5084 * c-format.c (check_format_arg):Use new type-based pool allocator.
5085 (check_format_info_main) Likewise.
5086
1edfb384
EB
50872015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5088
5089 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5090 (has_nontrivial_methods): Likewise.
5091
9677ef52
MP
50922015-05-25 Marek Polacek <polacek@redhat.com>
5093
5094 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5095
fd5c817a
MP
50962015-05-22 Marek Polacek <polacek@redhat.com>
5097
5098 PR c/47043
5099 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5100
a2f45fe6 51012015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5102
5103 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5104 STACK_GROWS_DOWNWARD.
5105
a2f45fe6 51062015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5107
5108 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5109 STACK_GROWS_DOWNWARD rather than if it is defined.
5110
0fee2ac2 51112015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5112
0fee2ac2
MLI
5113 PR c/52952
5114 * c-format.c (location_column_from_byte_offset): New.
5115 (location_from_offset): New.
5116 (struct format_wanted_type): Add offset_loc field.
5117 (check_format_info): Move handling of location for extra arguments
5118 closer to the point of warning.
5119 (check_format_info_main): Pass the result of location_from_offset
5120 to warning_at.
5121 (format_type_warning): Pass the result of location_from_offset
5122 to warning_at.
5123
cf4ef6f7
MP
51242015-05-20 Marek Polacek <polacek@redhat.com>
5125
5126 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5127
3a65ee74
MP
51282015-05-20 Marek Polacek <polacek@redhat.com>
5129
5130 * c-ada-spec.c (dump_sloc): Use DECL_P.
5131
21b634ae
MP
51322015-05-20 Marek Polacek <polacek@redhat.com>
5133
5134 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5135 * c-common.c: Likewise.
5136
0e50b624
DM
51372015-05-19 David Malcolm <dmalcolm@redhat.com>
5138
5139 * c-common.h (fe_file_change): Strengthen param from
5140 const line_map * to const line_map_ordinary *.
5141 (pp_file_change): Likewise.
5142 * c-lex.c (fe_file_change): Likewise.
5143 (cb_define): Use linemap_check_ordinary when invoking
5144 SOURCE_LINE.
5145 (cb_undef): Likewise.
5146 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5147 invoking cb_file_change.
5148 (c_finish_options): Likewise.
5149 (push_command_line_include): Likewise.
5150 (cb_file_change): Strengthen param "new_map" from
5151 const line_map * to const line_map_ordinary *.
5152 * c-ppoutput.c (cb_define): Likewise for local "map".
5153 (pp_file_change): Likewise for param "map" and local "from".
5154
fab27f52
MM
51552015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5156
5157 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5158
2fe1d762
TV
51592015-05-18 Tom de Vries <tom@codesourcery.com>
5160
5161 * c-common.c (build_va_arg_1): New function.
5162 (build_va_arg): Add address operator to va_list operand if necessary.
5163
7a37fa90
MM
51642015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5165
5166 PR c/48956
5167 * c-common.c (int_safely_convertible_to_real_p): Define.
5168 (unsafe_conversion_p): Check conversions involving complex types.
5169 (conversion_warning): Add new warning message for conversions which
5170 discard imaginary component.
5171 * c-common.h: (enum conversion_safety): Add new enumerator for such
5172 conversions.
5173
3aa3c9fc
MP
51742015-05-14 Marek Polacek <polacek@redhat.com>
5175
5176 PR c/66066
5177 PR c/66127
5178 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5179 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5180 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5181 use it. If FOR_INT_CONST, require that all evaluated operands be
5182 INTEGER_CSTs.
5183
c3388e62
DM
51842015-05-12 David Malcolm <dmalcolm@redhat.com>
5185
5186 * c-common.h (warn_for_misleading_indentation): New prototype.
5187 * c-indentation.c: New file.
5188 * c.opt (Wmisleading-indentation): New option.
5189
c7b38fd5
TV
51902015-05-12 Tom de Vries <tom@codesourcery.com>
5191
5192 PR tree-optimization/66010
5193 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5194
381bf11e
JM
51952015-05-09 Jason Merrill <jason@redhat.com>
5196
edff0c06
JM
5197 * c-opts.c (c_common_post_options): Also clear
5198 cpp_opts->cpp_warn_cxx11_compat.
5199
129211bc
JM
5200 * c-common.h (enum cxx_dialect): Add cxx_unset.
5201 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5202 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5203
381bf11e
JM
5204 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5205 (std=gnu++0x): Mark as Undocumented.
5206 (std=gnu++1y): Add deprecated message.
5207
fe191308
JM
52082015-05-08 Jason Merrill <jason@redhat.com>
5209
765189ff
JM
5210 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5211 * c-opts.c: Adjust.
5212
fe191308
JM
5213 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5214
755e528f
MP
52152015-05-08 Marek Polacek <polacek@redhat.com>
5216
5217 PR c/64918
5218 * c.opt (Woverride-init-side-effects): New option.
5219
0173bd2a
MP
52202015-05-07 Marek Polacek <polacek@redhat.com>
5221
5222 PR c/65179
5223 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5224 negative value.
5225 * c.opt (Wshift-negative-value): New option.
5226 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5227 when -Wextra and C99/C++11 mode.
5228
e0f0d3b9
MP
52292015-05-07 Marek Polacek <polacek@redhat.com>
5230 Martin Uecker <uecker@eecs.berkeley.edu>
5231
5232 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5233 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5234
8243e2a9
JM
52352015-05-05 Jason Merrill <jason@redhat.com>
5236
5237 * c.opt (Wterminate): New.
5238
577cd070
MP
52392015-04-30 Marek Polacek <polacek@redhat.com>
5240
5241 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5242 require that the non-constant be of a boolean type.
5243
0373796b
JT
52442015-04-29 Josh Triplett <josh@joshtriplett.org>
5245
e0f0d3b9
MP
5246 * c-common.c (handle_section_attribute): Refactor to reduce
5247 nesting and distinguish between error cases.
0373796b 5248
716c0ba6
MP
52492015-04-29 Marek Polacek <polacek@redhat.com>
5250
5251 PR c/64610
5252 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5253 with 0/1.
5254
8848828b
JJ
52552015-04-29 Jakub Jelinek <jakub@redhat.com>
5256
5257 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5258 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5259 HOST_BITS_PER_WIDE_INT.
5260
ecd0e562
TV
52612015-04-28 Tom de Vries <tom@codesourcery.com>
5262
5263 PR tree-optimization/65887
5264 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5265
2a877204 52662015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 5267 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
5268
5269 * c-ada-spec.c (in_function): Delete.
5270 (dump_generic_ada_node): Do not change in_function and remove the
5271 redundant code dealing with it.
5272 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5273 (print_ada_methods): Output the static member functions in a nested
5274 package after the regular methods as well as associated renamings.
5275
4853031e
MP
52762015-04-24 Marek Polacek <polacek@redhat.com>
5277
5278 PR c/65830
5279 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5280 and OPT_Wshift_count_overflow.
5281
8c2b7f79
MP
5282 PR c/63357
5283 * c-common.c (warn_logical_operator): Warn if the operands have the
5284 same expressions.
5285
b8787813
MP
52862015-04-24 Marek Polacek <polacek@redhat.com>
5287
5288 PR c/61534
5289 * c-common.c (warn_logical_operator): Bail if either operand comes
5290 from a macro expansion.
5291
8fba1830
BRF
52922015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5293
5294 PR target/55143
5295 * c-common.c (c_default_pointer_mode): Add definition.
5296 * c-common.h (c_default_pointer_mode): Add declaration.
5297
17958621
JJ
52982015-03-11 Jakub Jelinek <jakub@redhat.com>
5299
5300 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5301 on record_builtin_type argument.
5302
7ccb1a11
JJ
53032015-03-10 Jakub Jelinek <jakub@redhat.com>
5304
5305 PR c/65120
5306 * c-common.c (warn_logical_not_parentheses): Don't warn for
5307 !x == 0 or !x != 0.
5308
04fd785e
MP
53092015-03-07 Marek Polacek <polacek@redhat.com>
5310
5311 PR sanitizer/65280
5312 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5313 before trying to figure out whether we have a flexible array member.
5314
a4e26206 53152015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5316 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
5317
5318 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5319
0d2489f4
EB
53202015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5321
5322 PR ada/65319
5323 * c-ada-spec.c (print_destructor): Remove obsolete code.
5324
83ed54d7
EB
53252015-03-01 Eric Botcazou <ebotcazou@adacore.com>
5326
5327 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5328 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5329 DECL_TEMPLATE_RESULT emulations.
5330 (dump_ada_template)): Add guard for TYPE_METHODS.
5331
7631f0e2
MP
53322015-02-27 Marek Polacek <polacek@redhat.com>
5333
5334 PR c/65040
5335 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5336
d1783ae5
KT
53372015-02-27 Kai Tietz <ktietz@redhat.com>
5338
5339 PR c/35330
5340 * c-pragma.c (handle_pragma_weak): Do not try to create
5341 weak/alias of declarations not being function, or variable
5342 declarations.
5343
56a9f6bc
TS
53442015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5345
5346 PR libgomp/64625
5347 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5348 Remove macros.
5349 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5350
3d5cb23d
MP
53512015-02-16 Marek Polacek <polacek@redhat.com>
5352
5353 PR c/65066
5354 * c-format.c (check_format_types): Handle null param.
5355
fa008882
MP
53562015-02-13 Marek Polacek <polacek@redhat.com>
5357
5358 PR c/65040
5359 * c-format.c (check_format_types): Don't warn about different
5360 signedness if the original value is in the range of WANTED_TYPE.
5361
785f21af
JM
53622015-02-12 Jason Merrill <jason@redhat.com>
5363
5364 PR c++/64956
5365 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
5366 to the current highest version.
5367 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5368
4886ec8e
JJ
53692015-02-04 Jakub Jelinek <jakub@redhat.com>
5370
5371 PR c/64824
5372 PR c/64868
5373 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5374 instead of RDIV_EXPR. Use build_binary_op instead of
5375 build2_loc.
5376
40fecdd6
JM
53772015-01-30 Joseph Myers <joseph@codesourcery.com>
5378
5379 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5380 to pass input_location as first argument.
5381
a0c88d06
TV
53822015-01-23 Tom de Vries <tom@codesourcery.com>
5383
5384 PR libgomp/64672
5385 * c.opt (fopenacc): Mark as LTO option.
5386
1506ae0e
TV
53872015-01-23 Tom de Vries <tom@codesourcery.com>
5388
5389 PR libgomp/64707
5390 * c.opt (fopenmp): Mark as LTO option.
5391
31be63ab
JJ
53922015-01-21 Jakub Jelinek <jakub@redhat.com>
5393
5394 PR c/63307
b1726d6c 5395 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
5396 (compare_decls): Fix up formatting.
5397
53982015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
5399
5400 PR c/63307
5401 * cilk.c: Include vec.h.
5402 (struct cilk_decls): New structure.
5403 (wrapper_parm_cb): Split this function to...
5404 (fill_decls_vec): ...this...
5405 (create_parm_list): ...and this.
5406 (compare_decls): New function.
5407 (for_local_cb): Remove.
5408 (wrapper_local_cb): Ditto.
5409 (build_wrapper_type): For now first traverse and fill vector of
5410 declarations then sort it and then deal with sorted vector.
5411 (cilk_outline): Ditto.
5412 (declare_one_free_variable): Ditto.
5413
6875457f
JM
54142015-01-21 Jason Merrill <jason@redhat.com>
5415
5416 PR c++/64629
5417 * c-format.c (check_format_arg): Call decl_constant_value.
5418
185c9e56
ML
54192015-01-19 Martin Liska <mliska@suse.cz>
5420
5421 * c-common.c (handle_noicf_attribute): New function.
5422
41dbbb37
TS
54232015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5424 Bernd Schmidt <bernds@codesourcery.com>
5425 James Norris <jnorris@codesourcery.com>
5426 Cesar Philippidis <cesar@codesourcery.com>
5427 Ilmir Usmanov <i.usmanov@samsung.com>
5428 Jakub Jelinek <jakub@redhat.com>
5429
5430 * c.opt (fopenacc): New option.
5431 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5432 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5433 New macros.
5434 * c-common.h (c_finish_oacc_wait): New prototype.
5435 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5436 (c_finish_oacc_wait): New function.
5437 * c-pragma.c (oacc_pragmas): New variable.
5438 (c_pp_lookup_pragma, init_pragma): Handle it.
5439 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5440 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5441 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5442 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5443 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5444 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5445 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5446 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5447 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5448 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5449 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5450 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5451 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5452 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5453 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5454 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5455 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5456 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5457 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5458 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5459 PRAGMA_OACC_CLAUSE_WORKER.
5460
3f8257db 54612015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
5462
5463 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5464 for the new option fstack-protector_explicit.
5465 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
5466 (handle_stack_protect_attribute): New function.
5467
3f8257db 54682015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5469
5470 * c.opt: New option -Warray-bounds=.
5471
adfac8df
JJ
54722015-01-09 Michael Collison <michael.collison@linaro.org>
5473
5474 * array-notation-common.c: Include hash-set.h, machmode.h,
5475 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5476 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5477 * c-ada-spec.c: Ditto.
5478 * c-cilkplus.c: Ditto.
5479 * c-common.c: Include input.h due to flattening of tree.h.
5480 Define macro GCC_C_COMMON_C.
5481 * c-common.h: Flatten tree.h header files into c-common.h.
5482 Remove include of tree-core.h.
5483 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5484 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5485 fold-const.h, wide-int.h, and inchash.h due to
5486 flattening of tree.h.
5487 * c-dump.c: Ditto.
5488 * c-format.c: Flatten tree.h header files into c-common.h.
5489 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5490 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5491 fold-const.h, wide-int.h, and inchash.h due to
5492 flattening of tree.h.
5493 * c-dump.c: Include hash-set.h, machmode.h,
5494 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5495 fold-const.h, wide-int.h, and inchash.h due to
5496 flattening of tree.h.
5497 * c-format.c: Include hash-set.h, machmode.h,
5498 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5499 fold-const.h, wide-int.h, inchash.h and real.h due to
5500 flattening of tree.h.
5501 * c-gimplify.c: Include hash-set.h, machmode.h,
5502 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5503 fold-const.h, wide-int.h, and inchash.h due to
5504 flattening of tree.h.
5505 * cilk.c: Ditto.
5506 * c-lex.c: Ditto.
5507 * c-omp.c: Ditto.
5508 * c-opts.c: Ditto.
5509 * c-pch.c: Ditto.
5510 * c-ppoutput.c: Ditto.
5511 * c-pragma.c: Ditto.
5512 * c-pretty-print.c: Ditto.
5513 * c-semantics.c: Ditto.
5514 * c-ubsan.c: Ditto.
5515 * stub-objc.c: Ditto.
5516
f5481fc4
JM
55172015-01-08 Jason Merrill <jason@redhat.com>
5518
5519 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
5520 do_ubsan_in_current_function.
5521 (ubsan_maybe_instrument_reference_or_call): Likewise.
5522 * c-ubsan.h: Declare it.
5523
de35aa66
MS
55242015-01-08 Mike Stump <mikestump@comcast.net>
5525
5526 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
5527
4a9a42ab
MP
55282015-01-07 Marek Polacek <polacek@redhat.com>
5529
5530 PR c/64440
5531 * c-common.c (c_fully_fold_internal): Warn for division and modulo
5532 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
5533
2f42e5de
TS
55342015-01-05 Trevor Saunders <tsaunders@mozilla.com>
5535
5536 PR c++/31397
5537 * c.opt (Wsuggest-override): New option.
5538
5624e564
JJ
55392015-01-05 Jakub Jelinek <jakub@redhat.com>
5540
5541 Update copyright years.
5542
5bd012f8
MP
55432015-01-05 Marek Polacek <polacek@redhat.com>
5544
5545 PR c/64423
5546 * c-common.c (warn_array_subscript_with_type_char): Add location_t
5547 parameter. Use it.
5548 * c-common.h (warn_array_subscript_with_type_char): Update
5549 declaration.
5550
a7fa8d18
ESR
55512014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
5552
5553 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
5554 Control macro with flag_sized_deallocation.
5555
3f8257db 55562014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
5557
5558 * c.opt (Wdiscarded-array-qualifiers): New option.
5559
1f8d3e84
JJ
55602014-12-19 Jakub Jelinek <jakub@redhat.com>
5561
5562 PR preprocessor/63831
5563 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
5564 and __has_cpp_attribute here.
5565 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
5566 c_common_has_attribute.
5567 * c-common.h (c_common_has_attribute): New prototype.
5568 * c-lex.c (init_c_lex): Set cb->has_attribute to
5569 c_common_has_attribute instead of cb_has_attribute.
5570 (get_token_no_padding): New function.
5571 (cb_has_attribute): Renamed to ...
5572 (c_common_has_attribute): ... this. No longer static. Use
5573 get_token_no_padding, require ()s, don't build TREE_LIST
5574 unnecessarily, fix up formatting, adjust diagnostics, call
5575 init_attributes.
5576
20b06add
JM
55772014-12-15 Jason Merrill <jason@redhat.com>
5578
5579 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
5580 (-Wsized-deallocation): New.
5581 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
5582 to on in C++14 and up.
5583
94a073b2
JM
55842014-12-11 Jason Merrill <jason@redhat.com>
5585
acaa5911
JM
5586 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
5587
94a073b2
JM
5588 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
5589 we aren't complaining about VLAs.
5590
7fb66c15
MP
55912014-12-06 Marek Polacek <polacek@redhat.com>
5592
5593 PR tree-optimization/64183
5594 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
5595 shift-expression if it is integer_type_node. Use types_compatible_p.
5596
b731b390
JJ
55972014-11-29 Jakub Jelinek <jakub@redhat.com>
5598
5599 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
5600 last argument from create_tmp_var_raw and create_tmp_var calls.
5601 * cilk.c (gimplify_cilk_spawn): Likewise.
5602 * c-omp.c (c_finish_omp_atomic): Likewise.
5603
6a4da643
MP
56042014-11-28 Marek Polacek <polacek@redhat.com>
5605
5606 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
5607 instead of unsigned_type_node.
5608
541e35a6
MP
56092014-11-28 Marek Polacek <polacek@redhat.com>
5610
5611 PR c/63862
5612 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
5613 to op1_utype.
5614 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
5615 expression to unsigned_type_node.
5616
dcc97066
MW
56172014-11-20 Mark Wielaard <mjw@redhat.com>
5618
5619 PR debug/38757
5620 * c-opts.c (set_std_c89): Set lang_hooks.name.
5621 (set_std_c99): Likewise.
5622 (set_std_c11): Likewise.
5623 (set_std_cxx98): Likewise.
5624 (set_std_cxx11): Likewise.
5625 (set_std_cxx14): Likewise.
5626 (set_std_cxx1z): Likewise.
5627
aa7da51a
JJ
56282014-11-21 Jakub Jelinek <jakub@redhat.com>
5629
5630 PR target/63764
5631 * c-common.h (convert_vector_to_pointer_for_subscript): Change
5632 return type to bool.
009a3480 5633 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
5634 (convert_vector_to_pointer_for_subscript): Change return type to
5635 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
5636 and copy it into a TARGET_EXPR and use that instead of *vecp
5637 directly.
5638
538dd0b7
DM
56392014-11-19 David Malcolm <dmalcolm@redhat.com>
5640
5641 Merger of git branch "gimple-classes-v2-option-3".
5642 * ChangeLog.gimple-classes: New.
5643 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
5644 from being just a vec<gimple> to a vec<gbind *>.
5645
c39a5e99
JJ
56462014-11-18 Jakub Jelinek <jakub@redhat.com>
5647
5648 PR sanitizer/63813
5649 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
5650 argument to ptype, set type to TREE_TYPE (ptype). Don't call
5651 get_pointer_alignment for non-pointers. Use ptype, or if it is
5652 reference type, corresponding pointer type, as type of kind
5653 argument.
5654 (ubsan_maybe_instrument_reference,
5655 ubsan_maybe_instrument_member_call): Adjust callers.
5656
8537a4a9
MP
56572014-11-15 Marek Polacek <polacek@redhat.com>
5658
5659 PR middle-end/63884
5660 * array-notation-common.c (is_sec_implicit_index_fn): Return false
5661 for NULL fndecl.
5662 (extract_array_notation_exprs): Return for NULL node.
5663
2079956a
JM
56642014-11-12 Joseph Myers <joseph@codesourcery.com>
5665
5666 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
5667 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
5668
1304953e
JJ
56692014-11-12 Jakub Jelinek <jakub@redhat.com>
5670
5671 PR c/59708
5672 * c-common.c (check_builtin_function_arguments): Handle
5673 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
5674
e5e44252
AK
56752014-11-10 Andi Kleen <ak@linux.intel.com>
5676
5677 PR c/60804
5678 * c-common.h (check_no_cilk): Declare.
5679 * cilk.c (get_error_location): New function.
5680 (check_no_cilk): Dito.
5681
e64b984d
AK
56822014-11-10 Andi Kleen <ak@linux.intel.com>
5683
5684 * cilk.c (recognize_spawn): Use expression location
5685 for error message.
5686
13c21655
PC
56872014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
5688
5689 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
5690
42fd12b1
ESR
56912014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
5692
5693 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
5694 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
5695 (__cpp_range_based_for, __cpp_initializer_lists,
5696 __cpp_delegating_constructors, __cpp_nsdmi,
5697 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
5698 for C++11; (__cpp_attribute_deprecated): Remove in favor of
5699 __has_cpp_attribute.
5700 * c-lex.c (cb_has_attribute): New callback CPP function;
5701 (init_c_lex): Set has_attribute callback.
5702
6f450181
RB
57032014-11-04 Richard Biener <rguenther@suse.de>
5704
5705 * c-common.c (shorten_compare): Do not shorten mixed
5706 DFP and non-DFP compares.
5707
26f0e1d6
ESR
57082014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5709
5710 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5711 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5712 Commentary and rearrangement of tests.
5713 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5714 Commentary and rearrangement of tests.
5715 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5716 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
5717
ef4bddc2
RS
57182014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5719
5720 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5721 enum from machine_mode.
5722
c582198b
AM
57232014-10-28 Andrew MacLeod <amacleod@redhat.com>
5724
adfac8df
JJ
5725 * c-common.c: Adjust include files.
5726 * c-gimplify.c: Ditto.
5727 * cilk.c: Ditto.
5728 * c-pragma.c: Ditto.
5729 * c-ubsan.c: Ditto.
c582198b 5730
60393bbc
AM
57312014-10-27 Andrew MacLeod <amacleod@redhat.com>
5732
5733 * c-gimplify.c: Adjust include files.
5734
d723bb7c
MLI
57352014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5736
5737 PR c++/53061
5738 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5739 c_common_initialize_diagnostics.
5740 * c-common.h: Likewise.
5741
90f3520e
MP
57422014-10-24 Marek Polacek <polacek@redhat.com>
5743
5744 PR c/56980
5745 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5746 print "struct"/"union"/"enum" for typedefed names.
5747
59d7607a
MP
57482014-10-23 Marek Polacek <polacek@redhat.com>
5749
5750 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5751 in unsigned type.
5752
d95a2703
JJ
57532014-10-22 Jakub Jelinek <jakub@redhat.com>
5754 Yury Gribov <y.gribov@samsung.com>
5755
5756 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5757 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5758 instead of flag_sanitize_recover as bool flag.
5759
8e6ef852
KY
57602014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5761
5762 * cilk.c: Revert previous change.
5763
948cf550
IZ
57642014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5765
5766 PR c/63307
5767 * cilk.c: Include vec.h.
5768 (struct cilk_decls): New structure.
5769 (wrapper_parm_cb): Split this function to...
5770 (fill_decls_vec): ...this...
5771 (create_parm_list): ...and this.
5772 (compare_decls): New function.
5773 (for_local_cb): Remove.
5774 (wrapper_local_cb): Ditto.
5775 (build_wrapper_type): For now first traverse and fill vector of
5776 declarations then sort it and then deal with sorted vector.
5777 (cilk_outline): Ditto.
5778 (declare_one_free_variable): Ditto.
5779
92574c7c
MP
57802014-10-17 Marek Polacek <polacek@redhat.com>
5781
5782 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5783 * c.opt (Wimplicit-int): Initialize to -1.
5784
83685514
AM
57852014-10-16 Andrew MacLeod <amacleod@redhat.com>
5786
5787 * c-pragma.c: Adjust include files.
5788 * c-semantics.c: Likewise.
5789
5b8300ea
DD
57902014-10-16 DJ Delorie <dj@redhat.com>
5791
5792 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5793 multiples of bytes.
5794
5f83e90b
JM
57952014-10-14 Jason Merrill <jason@redhat.com>
5796
5797 PR c++/63455
5798 * c-common.h (CPP_PREPARSED_EXPR): New.
5799 (N_CP_TTYPES): Adjust.
5800
d73326ca
MP
58012014-10-15 Marek Polacek <polacek@redhat.com>
5802
5803 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5804
78a7c317
DD
58052014-10-14 DJ Delorie <dj@redhat.com>
5806
5807 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5808 types, not just __int128.
5809 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5810 types, not just __int128.
5811 (cpp_atomic_builtins): Round pointer sizes up.
5812 (type_suffix): Use type precision, not specific types.
5813 * c-common.c (c_common_reswords): Remove __int128 special case.
5814 (c_common_type_for_size): Check for all __intN types, not just
5815 __int128.
5816 (c_common_type_for_mode): Likewise.
5817 (c_common_signed_or_unsigned_type): Likewise.
5818 (c_build_bitfield_integer_type): Likewise.
5819 (c_common_nodes_and_builtins): Likewise.
5820 (keyword_begins_type_specifier): Likewise.
5821 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5822 __intN variants.
5823
2a22f99c
TS
58242014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5825
5826 * c-common.c: Use hash_table instead of hashtab.
5827
2a8ef767
ESR
58282014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5829
adfac8df 5830 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5831 C++11 section.
5832
3c9aabbd
MG
58332014-10-03 Marc Glisse <marc.glisse@inria.fr>
5834
5835 PR c++/54427
5836 PR c++/57198
5837 PR c++/58845
5838 * c-common.c (warn_logical_operator): Punt for vectors.
5839
a15f7cb8
ESR
58402014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5841
5842 Implement SD-6: SG10 Feature Test Recommendations
5843 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5844 macros and the __has_header macro.
5845
8d0cf15e
JM
58462014-09-30 Jason Merrill <jason@redhat.com>
5847
dd5d5481
JM
5848 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5849 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5850 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5851
b752325e
JM
5852 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5853 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5854
8d0cf15e
JM
5855 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5856 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5857
083e891e
MP
58582014-09-24 Marek Polacek <polacek@redhat.com>
5859
5860 PR c/61405
5861 PR c/53874
5862 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5863
7861b648
AK
58642014-09-23 Andi Kleen <ak@linux.intel.com>
5865
5866 * c-common.c (handle_no_reorder_attribute): New function.
5867 (c_common_attribute_table): Add no_reorder attribute.
5868
9a79452d
JM
58692014-09-22 Joseph Myers <joseph@codesourcery.com>
5870
5871 * c-cppbuiltin.c (c_cpp_builtins): Define
5872 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5873 modes.
5874
dd69f047
JM
58752014-09-18 Joseph Myers <joseph@codesourcery.com>
5876
5877 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5878 for supported floating-point modes.
5879
737a4826
MLI
58802014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5881
5882 * c.opt (Wpsabi): Use LangEnabledBy.
5883 * c-opts.c (c_common_handle_option): Do not handle here.
5884
8cc4b7a2
JM
58852014-09-12 Joseph Myers <joseph@codesourcery.com>
5886
5887 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5888 macros for floating-point modes.
5889
179b5a55
MG
58902014-09-11 Marc Glisse <marc.glisse@inria.fr>
5891
5892 PR target/58757
5893 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5894 __*_DENORM_MIN__ without denormals.
5895
570a11fe
JJ
58962014-09-10 Jakub Jelinek <jakub@redhat.com>
5897
5898 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5899 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5900 ubsan_create_data callers.
5901 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5902 index is constant or BIT_AND_EXPR with constant mask and is
5903 small enough for the bound.
5904 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5905 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5906
b559c810
MLI
59072014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5908
5909 * c.opt: Add CppReason to various flags.
5910 (Wdate-time): Re-sort.
5911 * c-common.c: Include c-common.h earlier.
5912 (struct reason_option_codes_t): Delete.
5913 (c_option_controlling_cpp_error): Prefix global type and struct
5914 with cpp_.
5915
1ef33fd4
MLI
59162014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5917
5918 * c.opt (Wnormalized): New.
5919 (Wnormalized=): Use Enum and Reject Negative.
5920 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5921
66bb34c0
JM
59222014-09-08 Joseph Myers <joseph@codesourcery.com>
5923
5924 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5925 digits of floating-point modes if -fbuilding-libgcc.
5926
53d68b9f
JM
59272014-09-05 Joseph Myers <joseph@codesourcery.com>
5928
5929 * c-cppbuiltin.c (c_cpp_builtins): Also define
5930 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5931 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5932 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5933 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5934 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5935 __LIBGCC_STACK_GROWS_DOWNWARD__,
5936 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5937 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5938 __LIBGCC_DWARF_FRAME_REGISTERS__,
5939 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5940 __LIBGCC_STACK_POINTER_REGNUM__ and
5941 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5942 (builtin_define_with_value): Handle backslash-escaping in string
5943 macro values.
5944
f65586dc
RB
59452014-09-05 Richard Biener <rguenther@suse.de>
5946
5947 PR middle-end/63148
5948 * c-format.c (check_format_arg): Properly handle
5949 effectively signed POINTER_PLUS_EXPR offset.
5950
2b71f4a4
MLI
59512014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5952
5953 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5954 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5955 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5956 and Init.
5957 * c-opts.c (c_common_handle_option): Do not handle here.
5958 (sanitize_cpp_opts): Likewise.
5959 * c-common.c (struct reason_option_codes_t): Handle
5960 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5961
d2e4feca
MP
59622014-09-03 Marek Polacek <polacek@redhat.com>
5963
5964 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5965
9a771876
JJ
59662014-09-02 Jakub Jelinek <jakub@redhat.com>
5967 Balaji V. Iyer <balaji.v.iyer@intel.com>
5968 Igor Zamyatin <igor.zamyatin@intel.com>
5969
5970 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5971 * c-common.c (c_common_reswords): Added _Cilk_for.
5972 * c-common.h (enum rid): Added RID_CILK_FOR.
5973 (cilk_for_number_of_iterations): Add declaration.
5974 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5975 CILK_FOR.
5976 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5977 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5978
81b5d104
MLI
59792014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5980
5981 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5982 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5983 Wundef): Use CPP, Var and Init.
5984 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5985
b753b37b
MLI
59862014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5987
5988 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5989 * c-opts.c (c_common_handle_option): Do not handle here.
5990
028aee17
JM
59912014-08-25 Jason Merrill <jason@redhat.com>
5992
5993 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5994 -std=c++14 and -std=gnu++14, rather than the reverse.
5995 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5996 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5997 * c-common.h (cxx_dialect): Remove cxx1y.
5998
e4276ba5
ESR
59992014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6000
6001 * c-common.h (enum cxx_dialect): Add cxx14.
6002 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6003 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6004 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6005
a545cacd
JM
60062014-08-22 Jason Merrill <jason@redhat.com>
6007
6008 * c.opt (std=gnu++17): Fix alias.
6009
59ea0364
MP
60102014-08-22 Marek Polacek <polacek@redhat.com>
6011
6012 PR c++/62199
6013 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6014 check for vector types. Drop LHS argument.
6015 * c-common.h (warn_logical_not_parentheses): Adjust.
6016
596e808c
MLI
60172014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6018
6019 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6020 (Wmultichar): Likewise.
6021 (Wdate-time): Use C-family languages instead of Common. Use CPP
6022 and Var.
6023 * c-opts.c (c_common_handle_option): Do not handle the above
6024 options here.
6025 (sanitize_cpp_opts): Likewise.
6026
18767f65
MLI
60272014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6028
6029 PR fortran/44054
6030 * c-opts.c: Include tree-diagnostics.h.
6031 (c_diagnostic_finalizer): New.
6032 (c_common_initialize_diagnostics): Use it.
6033
b4413594
MLI
60342014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6035
6036 PR preprocessor/51303
6037 * c-common.c (struct reason_option_codes_t option_codes):
6038 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6039
43f9a13c
MLI
60402014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6041
6042 PR c/60975
6043 PR c/53063
6044 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6045 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6046 (c_common_post_options): Call init_global_opts_from_cpp.
6047 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6048
04159acf
MP
60492014-08-19 Marek Polacek <polacek@redhat.com>
6050
6051 PR c++/62153
6052 * c-common.c (maybe_warn_bool_compare): New function.
6053 * c-common.h (maybe_warn_bool_compare): Declare.
6054 * c.opt (Wbool-compare): New option.
6055
35aff4fb
MP
60562014-08-19 Marek Polacek <polacek@redhat.com>
6057
6058 * c.opt (Wc99-c11-compat): New option.
6059
177cce46
MP
60602014-08-19 Marek Polacek <polacek@redhat.com>
6061
6062 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6063 to warn_c90_c99_compat.
6064 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6065 to -1.
6066
6ae9194f
MLI
60672014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6068 Steven Bosscher <steven@gcc.gnu.org>
6069
6070 PR c/52952
6071 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6072 format_check_results.
6073 (check_function_format): Use true and add comment for boolean
6074 argument.
6075 (finish_dollar_format_checking): Use explicit location when warning.
6076 (check_format_info): Likewise.
6077 (check_format_arg): Set extra_arg_loc and format_string_loc.
6078 (check_format_info_main): Use explicit location when warning.
6079 (check_format_types): Pass explicit location.
6080 (format_type_warning): Likewise.
6081
8e54f6d3
MLI
60822014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6083
6084 PR fortran/44054
6085 * c-format.c: Handle Fortran flags.
6086
cd4e76fc
IZ
60872014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6088
6089 PR other/61962
6090 * array-notation-common.c (find_rank): Added handling for other
6091 types of references.
6092
f3bede71
MP
60932014-08-10 Marek Polacek <polacek@redhat.com>
6094
6095 PR c/51849
6096 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6097 * c.opt (Wc90-c99-compat): Add option.
6098
9f25a338
TS
60992014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6100
6101 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6102
62e4eb35
MP
61032014-08-03 Marek Polacek <polacek@redhat.com>
6104
6105 * c-common.c (check_case_value): Add location_t parameter. Use it.
6106 (c_add_case_label): Pass loc to check_case_value.
6107
b787e7a2
TS
61082014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6109
6110 * cilk.c: Use hash_map instead of pointer_map.
6111
6e2830c3
TS
61122014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6113
6114 * c-gimplify.c: Use hash_set instead of pointer_set.
6115
a7ee52fb
IZ
61162014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6117
6118 PR middle-end/61455
6119 * array-notation-common.c (extract_array_notation_exprs): Handling
6120 of DECL_EXPR added.
6121
944fa280
JJ
61222014-08-01 Jakub Jelinek <jakub@redhat.com>
6123
6124 * c-common.h (min_align_of_type): Removed prototype.
6125 * c-common.c (min_align_of_type): Removed.
6126 * c-ubsan.h (ubsan_maybe_instrument_reference,
6127 ubsan_maybe_instrument_member_call): New prototypes.
6128 * c-ubsan.c: Include stor-layout.h and builtins.h.
6129 (ubsan_maybe_instrument_reference_or_call,
6130 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6131 functions.
6132
b4dfdc11
MG
61332014-07-31 Marc Glisse <marc.glisse@inria.fr>
6134
6135 PR c++/60517
6136 * c.opt (-Wreturn-local-addr): Move to common.opt.
6137
a41844e5
JM
61382014-07-30 Jason Merrill <jason@redhat.com>
6139
6140 PR c++/61659
6141 PR c++/61687
6142 Revert:
6143 * c.opt (-fuse-all-virtuals): New.
6144
976d5a22
TT
61452014-07-30 Tom Tromey <tromey@redhat.com>
6146
6147 PR c/59855
6148 * c.opt (Wdesignated-init): New option.
6149 * c-common.c (c_common_attribute_table): Add "designated_init".
6150 (handle_designated_init): New function.
6151
cdc94aca
MP
61522014-07-24 Marek Polacek <polacek@redhat.com>
6153
6154 PR c/57653
6155 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6156
f41373b6
DS
61572014-07-16 Dodji Seketeli <dodji@redhat.com>
6158
6159 PR preprocessor/60723 - missing system-ness marks for macro tokens
6160 * c-ppoutput.c (struct print::prev_was_system_token): New data
6161 member.
6162 (init_pp_output): Initialize it.
6163 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6164 (do_line_change): Return a flag saying if a line marker was
6165 emitted or not.
6166 (scan_translation_unit): Detect if the system-ness of the token we
6167 are about to emit is different from the one of the previously
6168 emitted token. If so, emit a line marker. Avoid emitting useless
6169 adjacent line markers. Avoid emitting line markers for tokens
6170 originating from the expansion of built-in macros.
6171 (scan_translation_unit_directives_only): Adjust.
6172
4d661eaa
MP
61732014-07-15 Marek Polacek <polacek@redhat.com>
6174
6175 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6176 TYPE_MAX_VALUE is NULL.
6177
b108f48f
JJ
61782014-07-14 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR middle-end/61294
6181 * c.opt (Wmemset-transposed-args): New warning.
6182
c0221884
JM
61832014-07-10 Jason Merrill <jason@redhat.com>
6184
6185 PR c++/61659
6186 PR c++/61687
6187 * c.opt (-fuse-all-virtuals): New.
6188
63dfbb95
RB
61892014-07-09 Richard Biener <rguenther@suse.de>
6190
6191 PR c-family/61741
6192 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6193 using unsigned arithmetic if overflow does not wrap instead of
6194 if overflow is undefined.
6195
773ec47f
MP
61962014-07-06 Marek Polacek <polacek@redhat.com>
6197
6198 PR c/6940
6199 * c.opt (Wsizeof-array-argument): New option.
6200
00a7ba58
JJ
62012014-07-03 Jakub Jelinek <jakub@redhat.com>
6202
b1726d6c 6203 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6204 comments->count <= 1, as comments->entries might be NULL.
6205
52ec0ea3
MP
62062014-07-01 Marek Polacek <polacek@redhat.com>
6207
6208 * c.opt (Wint-conversion): New option.
6209
d5c3d343
MP
62102014-07-01 Marek Polacek <polacek@redhat.com>
6211
6212 PR c/58286
6213 * c.opt (Wincompatible-pointer-types): New option.
6214
6e7ceb17
PC
62152014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6216
6217 PR c++/51400
6218 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6219 Do not discard TYPE_QUALS of type.
6220
da73100b
JM
62212014-06-26 Jason Merrill <jason@redhat.com>
6222
6223 * c-common.h (enum cxx_dialect): Add cxx1z.
6224 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6225 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6226
08eedf75
TJ
62272014-06-26 Teresa Johnson <tejohnson@google.com>
6228
6229 * c-common.h (get_dump_info): Declare.
6230 * c-gimplify.c (c_genericize): Use saved dump files.
6231 * c-opts.c (c_common_parse_file): Begin and end dumps
6232 once around parsing invocation.
6233 (get_dump_info): New function.
6234
7b56b2f8
MP
62352014-06-23 Marek Polacek <polacek@redhat.com>
6236 Andrew MacLeod <amacleod@redhat.com>
6237
6238 PR c/61553
6239 * c-common.c (get_atomic_generic_size): Don't segfault if the
6240 type doesn't have a size.
6241
0e37a2f3
MP
62422014-06-20 Marek Polacek <polacek@redhat.com>
6243
6244 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6245 (ubsan_walk_array_refs_r): New function.
6246 (c_genericize): Instrument array bounds.
6247 * c-ubsan.c: Include "internal-fn.h".
6248 (ubsan_instrument_division): Mark instrumented arrays as having
6249 side effects. Adjust ubsan_type_descriptor call.
6250 (ubsan_instrument_shift): Likewise.
6251 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6252 (ubsan_instrument_bounds): New function.
6253 (ubsan_array_ref_instrumented_p): New function.
6254 (ubsan_maybe_instrument_array_ref): New function.
6255 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6256 (ubsan_array_ref_instrumented_p): Declare.
6257 (ubsan_maybe_instrument_array_ref): Declare.
6258
62592014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6260
6261 PR lto/61123
6262 * c.opt (fshort-enums): Add to LTO.
6263 * c.opt (fshort-wchar): Likewise.
6264
5c3d09f7
MP
62652014-06-16 Marek Polacek <polacek@redhat.com>
6266
6267 PR c/60439
6268 * c.opt (Wswitch-bool): Add Var.
6269
9cf32741
JJ
62702014-06-12 Jakub Jelinek <jakub@redhat.com>
6271
6272 PR middle-end/61486
6273 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6274 #pragma omp target teams or
6275 #pragma omp {,target }teams distribute simd.
6276
62984918
JM
62772014-06-12 Jason Merrill <jason@redhat.com>
6278
6279 * c.opt (Wabi=, fabi-compat-version): New.
6280 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6281 (c_common_post_options): Handle flag_abi_compat_version default.
6282 Disallow -fabi-compat-version=1.
6283 * c-common.h (abi_version_crosses): New.
6284
f961457f
JH
62852014-06-11 Jan Hubicka <hubicka@ucw.cz>
6286
adfac8df 6287 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
6288 section names that are no longer trees.
6289
92d28cbb
JJ
62902014-06-10 Jakub Jelinek <jakub@redhat.com>
6291
6292 PR fortran/60928
6293 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6294 (omp_pragmas): ... back here.
6295
742938c9
MP
62962014-06-05 Marek Polacek <polacek@redhat.com>
6297
6298 PR c/49706
6299 * c-common.c (warn_logical_not_parentheses): New function.
6300 * c-common.h (warn_logical_not_parentheses): Declare.
6301 * c.opt (Wlogical-not-parentheses): New option.
6302
9d548dfb
MP
63032014-06-04 Marek Polacek <polacek@redhat.com>
6304
6305 PR c/30020
6306 * c-common.c (check_case_bounds): Add location parameter.
6307 Use it.
6308 (c_add_case_label): Pass loc to check_case_bounds.
6309
fedfecef
MP
63102014-06-03 Marek Polacek <polacek@redhat.com>
6311
6312 PR c/60439
6313 * c.opt (Wswitch-bool): New option.
6314
f6a7cffc
TS
63152014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6316
040d18b6
TS
6317 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6318 Remove prototypes.
6319 (record_types_used_by_current_var_decl): Move prototype to where
6320 it belongs.
6321
f6a7cffc
TS
6322 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6323 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6324 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6325
632f2871
RS
63262014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6327
6328 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6329 * c-common.c (c_common_nodes_and_builtins): Don't initialize
6330 void_zero_node.
6331 * c-pretty-print.c (pp_c_void_constant): New function.
6332 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
6333 (c_pretty_printer::expression): Handle VOID_CST.
6334 * cilk.c (extract_free_variables): Likewise.
6335 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6336 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6337
766090c2
TS
63382014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6339
6340 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6341 * c-pragma.c (push_alignment): Adjust.
6342 (handle_pragma_push_options): Likewise.
6343
661a0813
MP
63442014-05-09 Marek Polacek <polacek@redhat.com>
6345
6346 PR c/50459
6347 * c-common.c (check_user_alignment): Return -1 if alignment is error
6348 node.
6349 (handle_aligned_attribute): Don't call default_conversion on
6350 FUNCTION_DECLs.
6351 (handle_vector_size_attribute): Likewise.
6352 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6353 (handle_sentinel_attribute): Call default_conversion and allow even
6354 integral types as an argument.
6355
2793eeab
MP
63562014-05-08 Marek Polacek <polacek@redhat.com>
6357
6358 PR c/61053
6359 * c-common.c (min_align_of_type): New function factored out from...
6360 (c_sizeof_or_alignof_type): ...here.
6361 * c-common.h (min_align_of_type): Declare.
6362
f827930a
MP
63632014-05-08 Marek Polacek <polacek@redhat.com>
6364
6365 PR c/61077
6366 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6367 parameter type of main.
6368
ca49b74e
DD
63692014-05-07 DJ Delorie <dj@redhat.com>
6370
6371 * c-cppbuiltin.c (print_bits_of_hex): New.
6372 (builtin_define_type_minmax): Print values using hex so as not to
6373 require a pre-computed list of string values.
6374
1d60af08
KZ
63752014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6376 Mike Stump <mikestump@comcast.net>
6377 Richard Sandiford <rdsandiford@googlemail.com>
6378
6379 * c-ada-spec.c: Include wide-int.h.
6380 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6381 (dump_generic_ada_node): Use wide-int interfaces.
6382 * c-common.c: Include wide-int-print.h.
6383 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6384 (pointer_int_sum): Use wide-int interfaces.
6385 (c_common_nodes_and_builtins): Use make_int_cst.
6386 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6387 (handle_alloc_size_attribute): Use wide-int interfaces.
6388 (get_nonnull_operand): Likewise.
6389 * c-format.c (get_constant): Use tree_fits_uhwi_p.
6390 * c-lex.c: Include wide-int.h.
6391 (narrowest_unsigned_type): Take a widest_int rather than two
6392 HOST_WIDE_INTs.
6393 (narrowest_signed_type): Likewise.
6394 (interpret_integer): Update accordingly. Use wide-int interfaces.
6395 (lex_charconst): Use wide-int interfaces.
6396 * c-pretty-print.c: Include wide-int.h.
6397 (pp_c_integer_constant): Use wide-int interfaces.
6398 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6399 INT_CST_LT_UNSIGNED.
6400
b15458be
RB
64012014-05-06 Richard Biener <rguenther@suse.de>
6402
6403 * c-opts.c (c_common_post_options): For -freestanding,
6404 -fno-hosted and -fno-builtin disable pattern recognition
6405 if not enabled explicitely.
6406
6577374e
MP
64072014-05-02 Marek Polacek <polacek@redhat.com>
6408
6409 * c.opt (Wsizeof-pointer-memaccess): Describe option.
6410
d00887e8
MP
64112014-05-01 Marek Polacek <polacek@redhat.com>
6412
6413 PR c/43245
6414 * c.opt (Wdiscarded-qualifiers): Add.
6415
f8ed5150
MP
64162014-04-30 Marek Polacek <polacek@redhat.com>
6417
6418 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
6419 INT_MIN / -1 sanitization only for integer types.
6420
45484dcf
MP
64212014-04-25 Marek Polacek <polacek@redhat.com>
6422
6423 PR c/18079
6424 * c-common.c (handle_noinline_attribute): Warn if the attribute
6425 conflicts with always_inline attribute.
6426 (handle_always_inline_attribute): Warn if the attribute conflicts
6427 with noinline attribute.
6428
38e514c0
MP
64292014-04-25 Marek Polacek <polacek@redhat.com>
6430
6431 PR c/60156
6432 * c-common.c (check_main_parameter_types): Warn about variadic main.
6433
44875f92
MS
64342014-04-24 Mike Stump <mikestump@comcast.net>
6435
6436 * c.opt (Wshadow-ivar): Default to on.
6437
dcaaa5a0
DP
64382014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6439
6440 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6441
c07d7c02
MP
64422014-04-23 Marek Polacek <polacek@redhat.com>
6443
6444 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
6445
1c33c9b7
JJ
64462014-04-22 Jakub Jelinek <jakub@redhat.com>
6447
6448 PR sanitizer/60275
6449 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6450 if flag_sanitize_undefined_trap_on_error.
6451 (ubsan_instrument_division, ubsan_instrument_shift,
6452 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
6453 if !flag_sanitize_recover.
6454
793c625f
MG
64552014-04-22 Marc Glisse <marc.glisse@inria.fr>
6456
6457 PR libstdc++/43622
6458 * c-common.c (registered_builtin_types): Make non-static.
6459 * c-common.h (registered_builtin_types): Declare.
6460
b0f1bf36
RB
64612014-04-14 Richard Biener <rguenther@suse.de>
6462 Marc Glisse <marc.glisse@inria.fr>
6463
6464 PR c/60819
6465 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
6466 apply may-alias the scalar pointer type when applicable.
6467
3b07fa4a
IZ
64682014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
6469
6470 PR middle-end/60467
6471 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6472 as possible argument for Cilk_spawn.
6473
cbbd2b1c
TB
64742014-04-11 Tobias Burnus <burnus@net-b.de>
6475
6476 PR c/60194
6477 * c.opt (Wformat-signedness): Add
6478 * c-format.c(check_format_types): Use it.
6479
6415bd5d
JM
64802014-04-11 Jason Merrill <jason@redhat.com>
6481
6482 PR c++/57926
6483 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6484 default_conversion for an array argument.
6485
6525783a
MP
64862014-04-08 Marek Polacek <polacek@redhat.com>
6487
6488 PR sanitizer/60745
6489 * c-ubsan.c: Include asan.h.
6490 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
6491
880a467b
NS
64922014-04-03 Nathan Sidwell <nathan@codesourcery.com>
6493
6494 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6495
7b59ff2d
MP
64962014-04-02 Marek Polacek <polacek@redhat.com>
6497
6498 * c-common.h (c_expand_expr): Remove declaration.
6499
8edbfaa6
JJ
65002014-03-28 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR c++/60689
6503 * c-common.c (add_atomic_size_parameter): When creating new
6504 params vector, push the size argument first.
6505
07d72e1d
JJ
65062014-03-26 Jakub Jelinek <jakub@redhat.com>
6507
6508 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6509 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6510 ubsan_create_data callers.
6511
b35e0fa0
JJ
65122014-03-22 Jakub Jelinek <jakub@redhat.com>
6513
6514 PR debug/60603
6515 * c-opts.c (c_finish_options): Restore cb_file_change call to
6516 <built-in>.
6517
39a1ebb3
JJ
65182014-03-13 Jakub Jelinek <jakub@redhat.com>
6519
6520 PR middle-end/36282
6521 * c-pragma.c (apply_pragma_weak): Only look at
6522 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
6523 DECL_ASSEMBLER_NAME_SET_P (decl).
6524 (maybe_apply_pending_pragma_weaks): Exit early if
6525 vec_safe_is_empty (pending_weaks) rather than only when
6526 !pending_weaks.
6527 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
6528 set assembler name back to NULL afterwards.
6529
a07f6ed2
JM
65302014-03-11 Jason Merrill <jason@redhat.com>
6531
6532 * c.opt: Add -std=gnu++14.
6533
75b107f5
IB
65342014-03-11 Ian Bolton <ian.bolton@arm.com>
6535
6536 * c-opts.c (c_common_post_options): Don't override
6537 -ffp-contract=fast if unsafe-math-optimizations is on.
6538
f42c637e
PM
65392014-03-08 Paulo Matos <paulo@matos-sorge.com>
6540
22b15758 6541 * c.opt: Enable LTO FE for fshort-double.
f42c637e 6542
70e24808
JM
65432014-03-07 Jason Merrill <jason@redhat.com>
6544
6545 * c.opt: Add -std=c++14.
6546
3af9c5e9
MP
65472014-03-06 Marek Polacek <polacek@redhat.com>
6548
6549 PR c/60197
6550 * cilk.c (contains_cilk_spawn_stmt): New function.
6551 (contains_cilk_spawn_stmt_walker): Likewise.
6552 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
6553 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
6554
b3bdf019
JJ
65552014-03-03 Jakub Jelinek <jakub@redhat.com>
6556
6557 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
6558 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
6559 even when flag_preprocess_only.
6560
ca7e759d
JM
65612014-02-26 Jason Merrill <jason@redhat.com>
6562
6563 PR c++/59231
6564 PR c++/11586
6565 * c-common.c (shorten_compare): Don't check
6566 c_inhibit_evaluation_warnings.
6567
28e41874
JJ
65682014-02-19 Jakub Jelinek <jakub@redhat.com>
6569
cca615af
JJ
6570 PR c/37743
6571 * c-common.c (c_common_nodes_and_builtins): When initializing
6572 c_uint{16,32,64}_type_node, also set corresponding
6573 uint{16,32,64}_type_node to the same value.
6574
28e41874
JJ
6575 PR c++/60267
6576 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
6577 for PRAGMA_IVDEP if flag_preprocess_only.
6578
c2bf53a1
JJ
65792014-02-12 Jakub Jelinek <jakub@redhat.com>
6580
6581 PR c/60101
6582 * c-common.c (merge_tlist): If copy is true, call new_tlist,
6583 if false, add ADD itself, rather than vice versa.
6584 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
6585 copy. For SAVE_EXPR, only call merge_tlist once.
6586
8fcbce72
JJ
65872014-02-08 Jakub Jelinek <jakub@redhat.com>
6588
6589 PR middle-end/60092
6590 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
6591 and tree_to_uhwi.
6592 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
6593 functions.
6594 (c_common_attribute_table): Add alloc_align and assume_aligned
6595 attributes.
6596
0a756a3f
MP
65972014-02-06 Marek Polacek <polacek@redhat.com>
6598
6599 PR c/60087
6600 * c-common.c (warn_for_sign_compare): Call warning_at with location
6601 instead of warning.
6602
7ec4847a
MP
66032014-02-05 Marek Polacek <polacek@redhat.com>
6604
6605 PR c/53123
6606 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
6607 statement.
6608
66f20604
MP
66092014-02-04 Marek Polacek <polacek@redhat.com>
6610
6611 PR c/60036
6612 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
6613 SAVE_EXPR.
6614
5d77fb19
MG
66152014-02-03 Marc Glisse <marc.glisse@inria.fr>
6616
6617 PR c++/53017
6618 PR c++/59211
6619 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6620 handle_vector_size_attribute, handle_nonnull_attribute): Call
6621 default_conversion on the attribute argument.
6622 (handle_nonnull_attribute): Increment the argument number.
6623
81e5eca8
MP
66242014-01-31 Marek Polacek <polacek@redhat.com>
6625
6626 PR c/59963
6627 * c-common.c (add_atomic_size_parameter): Pass vNULL to
6628 build_function_call_vec.
6629 (resolve_overloaded_builtin): Likewise.
6630 * c-common.h (build_function_call_vec): Adjust declaration.
6631
68fca595
MP
66322014-01-30 Marek Polacek <polacek@redhat.com>
6633
6634 PR c/59940
6635 * c-common.h (unsafe_conversion_p): Adjust declaration.
6636 (warnings_for_convert_and_check): Likewise.
6637 (convert_and_check): Likewise.
6638 * c-common.c (unsafe_conversion_p): Add location parameter. Call
6639 expansion_point_location_if_in_system_header on it.
6640 (warnings_for_convert_and_check): Add location parameter. Call
6641 expansion_point_location_if_in_system_header on it. Use it.
6642 (convert_and_check): Add location parameter. Use it.
6643 (conversion_warning): Likewise.
6644 (c_add_case_label): Adjust convert_and_check calls.
6645 (scalar_to_vector): Adjust unsafe_conversion_p calls.
6646
b72271b9
BI
66472014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
6648
6649 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
6650 flag_cilkplus.
6651 * c-pragma.c (init_pragma): Likewise.
6652 * c.opt: Likewise.
6653
393e8e8b
MP
66542014-01-23 Marek Polacek <polacek@redhat.com>
6655
6656 PR c/59846
6657 * c-common.c (shorten_compare): Add location_t parameter.
6658 * c-common.h (shorten_binary_op): Adjust declaration.
6659
f04dda30
MP
66602014-01-23 Marek Polacek <polacek@redhat.com>
6661
6662 PR c/58346
6663 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
6664 * c-common.h: Declare it.
6665
621955cb
EB
66662014-01-20 Eric Botcazou <ebotcazou@adacore.com>
6667
6668 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
6669 * c-ada-spec.c (dump_ads): Likewise.
6670 (cpp_check): Likewise.
6671 (dump_ada_specs): Likewise.
6672
66732014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
6674
6675 PR c++/49718
6676 * c-common.c (handle_no_instrument_function_attribute): Allow
6677 no_instrument_function attribute in class member
6678 definition/declaration.
6679
241f845a
JJ
66802014-01-15 Jakub Jelinek <jakub@redhat.com>
6681
6682 PR c/58943
6683 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
6684 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
6685 being COMPOUND_EXPR.
6686 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
6687 operand a SAVE_EXPR and second MODIFY_EXPR.
6688
e83b8e2e
JJ
66892014-01-09 Jakub Jelinek <jakub@redhat.com>
6690
6691 PR target/58115
6692 * c-pch.c (c_common_write_pch): Call
6693 prepare_target_option_nodes_for_pch.
6694
23a5b65a
RS
66952014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6696
6697 Update copyright years
6698
f9030485
RS
66992014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6700
6701 * array-notation-common.c, c-cilkplus.c: Use the standard form for
6702 the copyright notice.
6703
f2aa696b
EB
67042013-12-28 Eric Botcazou <ebotcazou@adacore.com>
6705
6706 * c-ada-spec.c (print_constructor): New function.
6707 (print_destructor): Retrieve the origin of the destructor.
6708 (print_ada_declaration): Revamp handling of constructors/destructors.
6709
3f8257db 67102013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
6711 Bill Maddox <maddox@google.com>
6712 Jason Merrill <jason@redhat.com>
6713
6714 * c.opt: Add -fdeclone-ctor-dtor.
6715 * c-opts.c (c_common_post_options): Default to on iff -Os.
6716
41958c28
BI
67172013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
6718
6719 * c-common.c (c_common_attribute_table): Added "cilk simd function"
6720 attribute.
6721 * c-pragma.h (enum pragma_cilk_clause): Remove.
6722 (enum pragma_omp_clause): Added the following fields:
6723 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6724 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6725 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6726 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6727 PRAGMA_CILK_CLAUSE_UNIFORM.
6728
b1726d6c 6729
12893402
BI
67302013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6731
6732 * cilk.c (cilk_outline): Made this function non-static.
6733 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6734 (create_cilk_wrapper): Added a new parameter: a function pointer.
6735 (c_install_body_w_frame_cleanup): Remove
6736 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6737 * c-common.h (cilk_outline): New prototype.
6738 (gimplify_cilk_spawn): Removed two parameters.
6739 (cilk_install_body_with_frame_cleanup): New prototype.
6740 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6741 CILK_SPAWN_STMT case.
6742
085b42ed
BS
67432013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6744
2ce064c3
BS
6745 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6746
085b42ed
BS
6747 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6748 (int_array_type_node): Remove.
6749 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6750
9e36c9ed
MP
67512013-12-05 Marek Polacek <polacek@redhat.com>
6752
6753 PR c/52023
6754 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6755 [ADJUST_FIELD_ALIGN].
6756
296674db
JM
67572013-12-04 Joseph Myers <joseph@codesourcery.com>
6758
6759 PR c/52023
6760 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6761 and check field alignment if set.
6762 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6763 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6764
b1726d6c 67652013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6766 Marek Polacek <polacek@redhat.com>
6767
6768 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6769 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6770
d7947e19
L
67712013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6772
6773 PR c/59309
6774 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6775 arguments.
6776
fad7652e
JJ
67772013-11-29 Jakub Jelinek <jakub@redhat.com>
6778
6779 PR c/59280
6780 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6781 goto invalid. If it is error_mark_node, don't issue further
6782 diagnostics.
6783
8b5e1202
SO
67842013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6785
6786 * c.opt (Wopenmp-simd): New.
6787
0a508bb6
JJ
67882013-11-22 Jakub Jelinek <jakub@redhat.com>
6789
6790 * c-ubsan.h (ubsan_instrument_return): New prototype.
6791 * c-ubsan.c (ubsan_instrument_return): New function.
6792
2fb9a547
AM
67932013-11-22 Andrew MacLeod <amacleod@redhat.com>
6794
6795 * c-common.c: Add required include files from gimple.h.
6796 * c-gimplify.c: Likewise
6797 * cilk.c: Likewise
6798
8400e75e
DM
67992013-11-22 David Malcolm <dmalcolm@redhat.com>
6800
6801 * c-common.c (unsafe_conversion_p): Remove use of
6802 EXPR_LOC_OR_HERE macro.
6803 (conversion_warning): Likewise.
6804 (warnings_for_convert_and_check): Likewise.
6805 (warn_for_collisions_1): Likewise.
6806 (shorten_compare): Likewise, and remove use of in_system_header
6807 macro, using the location from the former.
6808 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6809 (cb_def_pragma): Remove use of in_system_header macro.
6810 (lex_string): Likewise.
6811 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6812
eb1ce453
KZ
68132013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6814 Mike Stump <mikestump@comcast.net>
6815 Richard Sandiford <rdsandiford@googlemail.com>
6816
6817 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6818 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6819 tree_fits_shwi_p or tree_fits_uhwi_p.
6820 (dump_generic_ada_node): Likewise.
6821 * c-format.c (check_format_arg): Likewise.
6822 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6823
6b3b8c27
KZ
68242013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6825
6826 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6827
49b0aa18
JC
68282013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6829
6830 PR c/53001
6831 * c-common.c (unsafe_conversion_p): Make this function
6832 return an enumeration with more detail.
6833 (conversion_warning): Use the new return type of
6834 unsafe_conversion_p to separately warn either about conversions
6835 that lower floating point number precision or about the other
6836 kinds of conversions.
6837 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6838 (unsafe_conversion_p): switching return type to
6839 conversion_safety enumeration.
49b0aa18
JC
6840 * c.opt: Adding new warning -Wfloat-conversion and
6841 enabling it with -Wconversion.
6842
b826515a
BS
68432013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6844
8e745a17
JJ
6845 * c-opts.c: Include plugin.h.
6846 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6847
b9a55b13
MP
68482013-11-19 Marek Polacek <polacek@redhat.com>
6849
6850 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6851 call.
6852 (ubsan_instrument_shift): Likewise.
6853 (ubsan_instrument_vla): Likewise.
6854
7d362f6c
RS
68552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6856
6857 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6858 cast to unsigned type.
6859
386b1f1f
RS
68602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6861
6862 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6863 tree_low_cst.
6864 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6865 rather than tree_low_cst.
6866
ae7e9ddd
RS
68672013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6868
6869 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6870 tree_to_uhwi throughout.
6871
9439e9a1
RS
68722013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6873
6874 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6875 tree_low_cst (..., 0) with tree_to_shwi throughout.
6876
cc269bb6
RS
68772013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6878
6879 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6880 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6881
9541ffee
RS
68822013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6883
6884 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6885 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6886
c02065fc
AH
68872013-11-15 Aldy Hernandez <aldyh@redhat.com>
6888
6889 * c-cilkplus.c: New file.
6890 * c-common.c (readonly_error): Add location argument.
6891 * c-common.h (readonly_error): Same.
6892 (c_finish_cilk_clauses): Protoize.
6893 (c_check_cilk_loop): Same.
6894 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6895 Do not fail on error_mark_node.
6896 Abstract increment canonicalization to here...
6897 (c_omp_for_incr_canonicalize_ptr): New.
6898 c-pragma.c (init_pragma): Register "simd" pragma.
6899 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6900 (enum pragma_cilk_clause): New.
6901
9cc65f15
RS
69022013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6903
6904 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6905 wchar_type and host_integerp checks.
6906
18f429e2
AM
69072013-11-14 Andrew MacLeod <amacleod@redhat.com>
6908
6909 * c-common.c: Likewise.
6910 * c-gimplify.c: Likewise.
6911 * cilk.c: Likewise.
6912
d8a2d370
DN
69132013-11-14 Diego Novillo <dnovillo@google.com>
6914
6915 * c-common.c: Include fold-const.h.
6916 Include stor-layout.h.
6917 Include calls.h.
6918 Include stringpool.h.
6919 Include attribs.h.
6920 Include varasm.h.
6921 Include trans-mem.h.
6922 * c-cppbuiltin.c: Include stor-layout.h.
6923 Include stringpool.h.
6924 * c-format.c: Include stringpool.h.
6925 * c-lex.c: Include stringpool.h.
6926 Include stor-layout.h.
6927 * c-pragma.c: Include stringpool.h.
6928 Include attribs.h.
6929 Include varasm.h.
6930 Include gcc-symtab.h.
6931 * c-pretty-print.c: Include stor-layout.h.
6932 Include attribs.h.
6933 * cilk.c: Include stringpool.h.
6934 Include calls.h.
6935
38b7bc7f
JM
69362013-11-13 Joseph Myers <joseph@codesourcery.com>
6937
6938 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6939 * c-common.c (c_common_reswords): Add __auto_type.
6940 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6941
45b0be94
AM
69422013-11-12 Andrew MacLeod <amacleod@redhat.com>
6943
18f429e2
AM
6944 * c-common.c: Include gimplify.h.
6945 * c-gimplify.c: Likewise.
6946 * cilk.c: Likewise.
6947 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6948 * c-ubsan.c: Don't include gimple.h.
45b0be94 6949
582d9b50
JM
69502013-11-12 Joseph Myers <joseph@codesourcery.com>
6951
6952 * c-common.c (c_common_reswords): Add _Thread_local.
6953
6b28e197
JM
69542013-11-09 Joseph Myers <joseph@codesourcery.com>
6955
6956 * c-common.c (atomic_size_supported_p): New function.
6957 (resolve_overloaded_atomic_exchange)
6958 (resolve_overloaded_atomic_compare_exchange)
6959 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6960 Use it instead of comparing size with a local list of sizes.
6961
267bac10
JM
69622013-11-07 Andrew MacLeod <amacleod@redhat.com>
6963 Joseph Myers <joseph@codesourcery.com>
6964
6965 * c-common.h (enum rid): Add RID_ATOMIC.
6966 * c-common.c (c_common_reswords): Add _Atomic.
6967 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6968 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6969 * c-format.c (check_format_types): Check for extra _Atomic
6970 qualifiers in format argument.
6971 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6972 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6973
5157b91e
TB
69742013-11-06 Tobias Burnus <burnus@net-b.de>
6975
6976 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6977
6dbe0958
JM
69782013-11-06 Joseph Myers <joseph@codesourcery.com>
6979
6980 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6981 standards modes.
6982 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6983 to mean lack of IEEE 754 support.
6984
e8ff5196
TB
69852013-11-05 Tobias Burnus <burnus@net-b.de>
6986
6987 * c.opt (-Wdate-time): New option
6988 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6989
254a0760
JM
69902013-11-05 Joseph Myers <joseph@codesourcery.com>
6991
6992 * c-cppbuiltin.c (cpp_iec_559_value): Test
6993 flag_excess_precision_cmdline not flag_excess_precision.
6994
6d7f7e0a
TB
69952013-11-05 Tobias Burnus <burnus@net-b.de>
6996
6997 * c.opt (fopenmp-simd): New option.
6998 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6999 (omp_pragmas): ... this new struct.
7000 (c_pp_lookup_pragma): Also walk omp_pragmas.
7001 (init_pragma): Init pragmas for -fopenmp-simd.
7002
55a7f02f
MP
70032013-11-04 Marek Polacek <polacek@redhat.com>
7004
7005 PR c++/58979
7006 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7007
9193fb05
JM
70082013-11-04 Joseph Myers <joseph@codesourcery.com>
7009
7010 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7011 New functions.
7012 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7013
94159ecf
EB
70142013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7015
7016 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7017 (dump_ada_specs): Adjust prototype of second callback.
7018 * c-ada-spec.c (cpp_check): New global variable.
7019 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7020 (print_generic_ada_decl): Likewise.
7021 (has_static_fields): Change return type to bool and add guard.
7022 (has_nontrivial_methods): New predicate.
7023 (is_tagged_type): Change return type to bool.
7024 (separate_class_package): Call has_nontrivial_methods.
7025 (pp_ada_tree_identifier): Minor tweaks.
7026 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7027 (dump_ada_array_domains): Likewise.
7028 (dump_ada_array_type): Likewise.
7029 (dump_template_types): Remove cpp_check parameter and do not pass it to
7030 dump_generic_ada_node.
7031 (dump_ada_template): Likewise.
7032 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7033 recursively.
7034 (print_ada_methods): Change return type to integer. Remove cpp_check
7035 parameter and do not pass it down.
7036 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7037 dump_generic_ada_node.
7038 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7039 accessing methods.
7040 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7041 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7042 value of print_ada_methods.
7043 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7044 Set cpp_check to it before invoking dump_ada_nodes.
7045 (dump_ada_specs): Likewise.
7046
b906f4ca
MP
70472013-11-03 Marek Polacek <polacek@redhat.com>
7048
7049 * c-ubsan.c: Don't include hash-table.h.
7050 (ubsan_instrument_vla): New function.
7051 * c-ubsan.h: Declare it.
7052
5e20cdc9
DM
70532013-10-31 David Malcolm <dmalcolm@redhat.com>
7054
7055 Automated part of renaming of symtab_node_base to symtab_node.
7056
7057 Patch autogenerated by rename_symtab.py from
7058 https://github.com/davidmalcolm/gcc-refactoring-scripts
7059 revision 58bb219cc090b2f4516a9297d868c245495ee622
7060
7061 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7062 symtab_node_base to symtab_node.
7063
7057e645
ESR
70642013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7065
8e745a17 7066 Implement C++14 digit separators.
7057e645
ESR
7067 * c-lex.c (interpret_float): Remove digit separators from scratch string
7068 before building real literal.
7069
193ea7bc
JJ
70702013-10-30 Jakub Jelinek <jakub@redhat.com>
7071
7072 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7073
939b37da
BI
70742013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7075
7076 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7077 fields.
7078 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7079 enabled.
7080 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7081 (insert_cilk_frame): New prototype.
7082 (cilk_init_builtins): Likewise.
7083 (gimplify_cilk_spawn): Likewise.
7084 (c_cilk_install_body_w_frame_cleanup): Likewise.
7085 (cilk_detect_spawn_and_unwrap): Likewise.
7086 (cilk_set_spawn_marker): Likewise.
7087 (build_cilk_sync): Likewise.
7088 (build_cilk_spawn): Likewise.
7089 * cilk.c: New file.
7090
67348ccc
DM
70912013-10-29 David Malcolm <dmalcolm@redhat.com>
7092
7093 Patch autogenerated by refactor_symtab.py from
7094 https://github.com/davidmalcolm/gcc-refactoring-scripts
7095 revision 58bb219cc090b2f4516a9297d868c245495ee622
7096
7097 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7098 to a true class hierarchy.
7099 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7100
d570872d
RS
71012013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7102
7103 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7104
98906124
JL
71052013-10-26 Jeff Law <law@redhat.com>
7106
adfac8df
JJ
7107 * c-common.c (c_define_builtins): Remove mudflap support.
7108 * c.opt: Ignore and warn for mudflap options.
98906124 7109
d73749df 71102013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7111
7112 PR other/33426
7113 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7114 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7115
3f04b1bb
JM
71162013-10-23 Jason Merrill <jason@redhat.com>
7117
7118 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7119
acf0174b
JJ
71202013-10-11 Jakub Jelinek <jakub@redhat.com>
7121
acd15a28
JJ
7122 * c-common.h (omp_clause_mask::operator !=): New method.
7123 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7124 instead of if (mask & something) tests everywhere.
7125
acf0174b
JJ
7126 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7127 201307 instead of 201107.
7128 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7129 (c_common_attribute_table): Add "omp declare target" and
7130 "omp declare simd" attributes.
7131 (handle_omp_declare_target_attribute,
7132 handle_omp_declare_simd_attribute): New functions.
7133 * c-omp.c: Include c-pragma.h.
7134 (c_finish_omp_taskgroup): New function.
7135 (c_finish_omp_atomic): Add swapped argument, if true,
7136 build the operation first with rhs, lhs arguments and use NOP_EXPR
7137 build_modify_expr.
7138 (c_finish_omp_for): Add code argument, pass it down to make_code.
7139 (c_omp_split_clauses): New function.
7140 (c_split_parallel_clauses): Removed.
7141 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7142 c_omp_declare_simd_clauses_to_decls): New functions.
7143 * c-common.h (omp_clause_mask): New type.
7144 (OMP_CLAUSE_MASK_1): Define.
7145 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7146 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7147 omp_clause_mask::operator |, omp_clause_mask::operator &,
7148 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7149 omp_clause_mask::operator ==): New methods.
7150 (enum c_omp_clause_split): New.
7151 (c_finish_omp_taskgroup): New prototype.
7152 (c_finish_omp_atomic): Add swapped argument.
7153 (c_finish_omp_for): Add code argument.
7154 (c_omp_split_clauses): New prototype.
7155 (c_split_parallel_clauses): Removed.
7156 (c_omp_declare_simd_clauses_to_numbers,
7157 c_omp_declare_simd_clauses_to_decls): New prototypes.
7158 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7159 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7160 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7161 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7162 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7163 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7164 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7165 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7166 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7167 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7168 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7169 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7170 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7171 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7172 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7173 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7174 PRAGMA_OMP_CLAUSE_UNIFORM.
7175
826cacfe
MG
71762013-10-09 Marc Glisse <marc.glisse@inria.fr>
7177
7178 PR tree-optimization/20318
7179 * c-common.c (handle_returns_nonnull_attribute): New function.
7180 (c_common_attribute_table): Add returns_nonnull.
7181
2284b034
MG
71822013-10-03 Marc Glisse <marc.glisse@inria.fr>
7183
7184 PR c++/19476
7185 * c.opt (fcheck-new): Move to common.opt.
7186
b56e9788
MP
71872013-09-25 Marek Polacek <polacek@redhat.com>
7188 Jakub Jelinek <jakub@redhat.com>
7189
7190 PR sanitizer/58413
7191 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7192 an expression if we can prove it is correct.
7193 (ubsan_instrument_division): Likewise. Remove unnecessary
7194 check.
7195
ce6923c5
MP
71962013-09-18 Marek Polacek <polacek@redhat.com>
7197
7198 PR sanitizer/58411
7199 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7200 Declare it.
7201 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7202
fb5610fb
IS
72032013-09-14 Iain Sandoe <iain@codesourcery.com>
7204
7205 PR target/48094
7206 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7207 fobjc-gc, freplace-objc-classes): Accept for LTO.
7208
88b0e79e
JC
72092013-09-13 Jacek Caban <jacek@codeweavers.com>
7210
7211 * c-target.def: New hook
7212
c9b0866a
PC
72132013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7214
7215 PR c++/43452
7216 * c.opt (Wdelete-incomplete): Add.
7217
0af94e6f
JR
72182013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7219
7220 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7221 (vector_types_compatible_elements_p): New function.
7222 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7223 declaration.
7224 (vector_types_compatible_elements_p): Declare.
7225
7c26172c
GDR
72262013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7227
7228 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7229 a virtual member function.
7230 (pp_simple_type_specifier): Remove.
7231 (pp_c_type_specifier): Likewise.
7232 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7233 Rename from pp_c_type_specifier. Adjust.
7234 (c_pretty_printer::c_pretty_printer): Do not assign to
7235 simple_type_specifier.
7236
20059c8b
GDR
72372013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7238
7239 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7240 member function.
7241 (c_pretty_printer::storage_class_specifier): Likewise.
7242 (c_pretty_printer::initializer): Likewise.
7243 (pp_declaration): Remove.
7244 (pp_declaration_specifiers): Likewise.
7245 (pp_abstract_declarator): Likewise.
7246 (pp_declarator): Likewise.
7247 (pp_type_id): Likewise.
7248 (pp_statement): Likewise.
7249 (pp_constant): Likewise.
7250 (pp_id_expression): Likewise.
7251 (pp_primary_expression): Likewise.
7252 (pp_unary_expression): Likewise.
7253 (pp_multiplicative_expression): Likewise.
7254 (pp_conditional_expression): Likewise.
7255 (pp_assignment_expression): Likewise.
7256 (pp_expression): Likewise.
7257 (pp_c_type_id): Likewise.
7258 (pp_c_storage_class_specifier): Likewise.
7259 * c-pretty-print.c (pp_c_type_cast): Tidy.
7260 (pp_c_pointer): Likewise.
7261 (pp_c_type_specifier): Likewise.
7262 (pp_c_parameter_type_list): Likewise.
7263 (pp_c_function_definition): Likewise.
7264 (pp_c_init_declarator): Likewise.
7265 (pp_c_initializer_list): Likewise.
7266 (pp_c_constructor_elts): Likewise.
7267 (c_pretty_printer::direct_abstract_declarator): Likewise.
7268 (c_pretty_printer::declaration_specifiers): Likewise.
7269 (c_pretty_printer::primary_expression): Likewise.
7270 (c_pretty_printer::postfix_expression): Likewise.
7271 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7272 (c_pretty_printer::storage_class_specifier): Rename from
7273 pp_c_storage_class_specifier.
7274 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7275 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7276 storage_class_specifier, initializer, offset_list, flags.
7277
de5a5fa1
MP
72782013-08-30 Marek Polacek <polacek@redhat.com>
7279
7280 * c-ubsan.c: New file.
7281 * c-ubsan.h: New file.
7282
8f0e4d72
GDR
72832013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7284
7285 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7286 member function.
7287 (c_pretty_printer::declaration_specifiers): Likewise.
7288 (c_pretty_printer::declarator): Likewise.
7289 (c_pretty_printer::abstract_declarator): Likewise.
7290 (c_pretty_printer::direct_abstract_declarator): Likewise.
7291 (c_pretty_printer::direct_declarator): Likewise.
7292 (c_pretty_printer::function_specifier): Likewise.
7293 (pp_declaration): Adjust.
7294 (pp_declaration_specifiers): Likewise.
7295 (pp_abstract_declarator): Likewise.
7296 (pp_direct_declarator): Likewise.
7297 (pp_function_specifier): Likewise.
7298 (pp_direct_abstract_declarator): Remove as unused.
7299 (pp_c_declaration): Remove.
7300 (pp_c_declaration_specifiers): Likewise.
7301 (pp_c_declarator): Likewise.
7302 (pp_c_direct_declarator): Likewise.
7303 (pp_c_function_specifier): Likewise.
7304 (pp_c_direct_abstract_declarator): Likewise.
7305 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7306 from pp_c_abstract_declarator. Adjust.
7307 (c_pretty_printer::direct_abstract_declarator): Rename from
7308 pp_c_direct_abstract_declarator. Adjust.
7309 (c_pretty_printer::function_specifier): Rename from
7310 pp_c_function_specifier. Adjust.
7311 (c_pretty_printer::declaration_specifiers): Rename from
7312 pp_c_declaration_specifiers. Adjust.
7313 (c_pretty_printer::direct_declarator): Rename from
7314 pp_c_direct_declarator. Adjust.
7315 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7316 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7317 (c_pretty_printer::c_pretty_printer): Do not assign to
7318 declaration, declaration_specifiers, declarator,
7319 direct_declarator, direct_abstract_declarator, function_specifier.
7320
00d34d3a
GDR
73212013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7322
7323 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7324 virtual member function.
7325 (c_pretty_printer::multiplicative_expression): Likewise.
7326 (c_pretty_printer::conditional_expression): Likewise.
7327 (c_pretty_printer::assignment_expression): Likewise.
7328 (c_pretty_printer::expression): Likewise.
7329 (pp_unary_expression): Adjust.
7330 (pp_multiplicative_expression): Likewise.
7331 (pp_assignment_expression): Likewise.
7332 (pp_conditional_expression): Likewise.
7333 (pp_expression): Likewise.
7334 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7335 from pp_c_unary_expression. Adjust.
7336 (c_pretty_printer::multiplicative_expression): Rename from
7337 pp_c_multiplicative_expression. Adjust.
7338 (c_pretty_printer::conditional_expression): Rename from
7339 pp_c_conditional_expression. Adjust.
7340 (c_pretty_printer::assignment_expression): Rename from
7341 pp_c_assignment_expression. Adjust.
7342 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7343 (c_pretty_printer::c_pretty_printer): Do not assign to
7344 unary_expression, multiplicative_expression,
7345 conditional_expression, expression.
7346
fb22178f
GDR
73472013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7348
7349 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7350 virtual member function.
7351 (pp_postfix_expression): Adjust.
7352 (pp_c_postfix_expression): Remove.
7353 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7354 from pp_c_postfix_expression. Adjust.
7355 (c_pretty_printer::c_pretty_printer): Do not assign to
7356 postfix_expression.
7357
7ecc2600
GDR
73582013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7359
7360 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7361 virtua member function.
7362 (pp_primary_expression): Adjust.
7363 (pp_c_primary_expression): Remove.
7364 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7365 from pp_c_primary_expression. Adjust.
7366 (pp_c_initializer_list): Use pp_primary_expression.
7367 (c_pretty_printer::c_pretty_printer): Do not assign to
7368 primary_expression.
7369
0691175f
GDR
73702013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7371
7372 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7373 * c-pretty-print.c (M_): Remove.
7374 (c_pretty_printer::translate_string): Define.
7375 (pp_c_type_specifier): Use it.
7376 (pp_c_primary_expression): Likewise.
7377 (pp_c_expression): Likewise.
7378
66dfe4c4
GDR
73792013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7380
7381 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
7382 virtual function.
7383 (pp_c_id_expression): Remove.
7384 (pp_id_expression): Adjust.
7385 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7386 pp_c_id_expression. Adjust.
7387 (pp_c_postfix_expression): Use pp_id_expression.
7388 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7389
ca43e9d5
GDR
73902013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7391
7392 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7393 member function.
7394 (pp_constant): Adjust.
7395 (pp_c_constant): Remove.
7396 * c-pretty-print.c (c_pretty_printer::constant): Rename from
7397 pp_c_constant. Adjust.
7398 (pp_c_constant)
7399 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7400 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7401
da6ca2b5
GDR
74022013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7403
7404 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7405 (c_pretty_printer::c_pretty_printer): Declare.
7406 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7407 c_pretty_printer_init. Adjust.
7408 (print_c_tree): Do not call c_pretty_printer_init.
7409 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
7410
65a372f4
AC
74112013-08-09 Arnaud Charlet <charlet@adacore.com>
7412
7413 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7414
fd9b0f32
PC
74152013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
7416
7417 PR c++/58080
7418 * c-common.c (pointer_int_sum): Add bool parameter.
7419 * c-common.h (pointer_int_sum): Adjust declaration.
7420
e0aec1e9
GDR
74212013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
7422
7423 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
7424 c_pretty_printer variable.
7425
b066401f
GDR
74262013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7427
7428 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7429 (pp_base): Remove.
7430 (pp_c_base): Likewise. Adjust users.
7431 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7432 (pp_c_whitespace): Do not call pp_base.
7433 (pp_c_left_paren): Likewise.
7434 (pp_c_right_paren): Likewise.
7435 (pp_c_left_brace): Likewise.
7436 (pp_c_right_brace): Likewise.
7437 (pp_c_left_bracket): Likewise.
7438 (pp_c_right_bracket): Likewise.
7439 (pp_c_dot): Likewise.
7440 (pp_c_ampersand): Likewise.
7441 (pp_c_star): Likewise.
7442 (pp_c_arrow): Likewise.
7443 (pp_c_semicolon): Likewise.
7444 (pp_c_complement): Likewise.
7445 (pp_c_exclamation): Likewise.
7446 (pp_c_direct_declarator): Likewise.
7447 (pp_c_ws_string): Likewise.
7448 (pp_c_identifier): Likewise.
7449 (pp_c_statement): Likewise.
7450 (print_c_tree): Likewise.
7451
65e5a578
ESR
74522013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
7453
7454 PR c++/58072
7455 * c-common.c (c_parse_error): Catch user-defined literal tokens and
7456 provide useful error strings.
7457
137a1a27
GDR
74582013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7459
7460 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7461 printer functions instead of pp_string or operators and punctuators.
7462 (dump_generic_ada_node): Likewise.
7463 * c-pretty-print.c (pp_c_type_specifier): Likewise.
7464 (pp_c_relational_expression): Likewise.
7465 (pp_c_logical_or_expression): Likewise.
7466
07838b13
GDR
74672013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7468
7469 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7470 functions instead of pp_character.
7471 (pp_ada_tree_identifier): Likewise.
7472 (dump_ada_double_name): Likewise.
7473 (dump_ada_function_declaration): Likewise.
7474 (dump_ada_array_domains): Likewise.
7475 (dump_template_types): Likewise.
7476 (dump_generic_ada_node): Likewise.
7477 (print_ada_declaration): Likewise.
7478 (print_ada_struct_decl): Likewise.
7479 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7480
433cc7b0
TT
74812013-07-23 Tom Tromey <tromey@redhat.com>
7482
7483 * c-common.h (enum rid) <RID_GENERIC>: New constant.
7484 * c-common.c (c_common_reswords): Add _Generic.
7485
688010ba
OB
74862013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
7487
7488 * c-common.c: Fix typos.
7489 * c-common.h: Likewise.
7490
2a99e5e6
LL
74912013-07-13 Lubos Lunak <l.lunak@suse.cz>
7492
7493 PR c++/55203
7494 * c-common.c (c_common_attribute_table): Add warn_unused.
7495 (handle_warn_unused_attribute): New.
7496
c26302d5
JJ
74972013-07-10 Jakub Jelinek <jakub@redhat.com>
7498
7499 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7500 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7501
dfeadaa0
PC
75022013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
7503
7504 PR c++/57869
7505 * c.opt: Add Wconditionally-supported.
7506
6a2fa4b2
GS
75072013-07-08 Graham Stott <graham.stott@btinternet.com>
7508
adfac8df 7509 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
7510 unused variables l_length and l_node.
7511
ecdbd01a 75122013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
7513
7514 PR c/57821
7515 * c-common.c (complete_array_type): Delay folding first index
7516 like other indices. When folding, check for index overflow.
7517
bedc293e
MG
75182013-06-27 Marc Glisse <marc.glisse@inria.fr>
7519
7520 PR c++/57509
7521 * c-common.h (c_build_vec_perm_expr): New complain argument.
7522 * c-common.c (c_build_vec_perm_expr): Likewise.
7523 Use save_expr also in C++.
7524
604b2bfc
GDR
75252013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7526
7527 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
7528 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7529 * c-opts.c (c_common_post_options): Likewise.
7530
dfeadaa0 75312013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
7532
7533 * array-notation-common.c (length_mismatch_in_expr): Changed the
7534 parameter type's from a dynamic array to a vec_tree. Also removed
7535 the size parameters.
7536 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
7537 the change above.
7538
2ce86d2e
BI
75392013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
7540
7541 * c-common.h (struct cilkplus_an_parts): New structure.
7542 (struct cilkplus_an_loop_parts): Likewise.
7543 (cilkplus_extract_an_triplets): New prototype.
7544 (fix_sec_implicit_args): Likewise.
7545 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
7546 (fix_sec_implicit_args): Likewise.
604b2bfc 7547
07a6825b
BI
75482013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
7549
7550 * array-notation-common.c (find_inv_trees): Removed an unwanted
7551 typecasting.
7552 * c-common.h (struct inv_list::additional_tcodes): Changed type from
7553 enum rid to enum tree_code.
7554
08346abd
JH
75552013-06-11 Jan Hubicka <jh@suse.cz>
7556
7557 * c-common.c (handle_alias_ifunc_attribute): Do not set
7558 DECL_EXTERNAL for weakref variables.
7559 * c-pragma.c (handle_pragma_weak): Make sure aliases
7560 are not declared as external.
7561
d60f1706
BI
75622013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
7563
7564 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
7565 function from c/c-array-notation.c.
7566 (is_cilkplus_reduce_builtin): Likewise.
7567 (find_rank): Likewise.
7568 (extract_array_notation_exprs): Likewise.
7569 (replace_array_notations): Likewise.
7570 (find_inv_trees): Likewise.
7571 (replace_inv_trees): Likewise.
7572 (contains_array_notation_expr): Likewise.
7573 (find_correct_array_notation_type): Likewise.
7574 * c-common.h (struct inv_list): Moved this struct from the file
7575 c/c-array-notation.c and added a new field called additional tcodes.
7576 (length_mismatch_in_expr_p): New prototype.
7577 (is_cilkplus_reduce_builtin): Likewise.
7578 (find_rank): Likewise.
7579 (extract_array_notation_exprs): Likewise.
7580 (replace_array_notation): Likewise.
7581 (find_inv_trees): Likewise.
7582 (replace_inv_trees): Likewise.
7583 (find_correct_array_notation_type): Likewise.
dfeadaa0 7584
36536d79
BI
75852013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
7586
7587 * c-common.c (c_define_builtins): When cilkplus is enabled, the
7588 function array_notation_init_builtins is called.
7589 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
7590 * c-common.def (ARRAY_NOTATION_REF): New tree.
7591 * c-common.h (build_array_notation_expr): New function declaration.
7592 (build_array_notation_ref): Likewise.
7593 (extract_sec_implicit_index_arg): New extern declaration.
7594 (is_sec_implicit_index_fn): Likewise.
7595 (ARRAY_NOTATION_CHECK): New define.
7596 (ARRAY_NOTATION_ARRAY): Likewise.
7597 (ARRAY_NOTATION_START): Likewise.
7598 (ARRAY_NOTATION_LENGTH): Likewise.
7599 (ARRAY_NOTATION_STRIDE): Likewise.
7600 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
7601 ARRAY_NOTATION_REF.
7602 (pp_c_expression): Likewise.
7603 * c.opt (flag_enable_cilkplus): New flag.
7604 * array-notation-common.c: New file.
7605
f7716d57
JJ
76062013-05-14 Jakub Jelinek <jakub@redhat.com>
7607
7608 PR c++/57274
7609 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
7610
a5e0cd1d
MG
76112013-05-10 Marc Glisse <marc.glisse@inria.fr>
7612
7613 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
7614 vectors.
7615
f6bc1c4a
HS
76162013-05-07 Han Shen <shenhan@google.com>
7617
7618 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
7619
3f12f6e9
SKS
76202013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7621
7622 * c-common.c (check_user_alignment): Emit error for negative values.
7623
61949153
PC
76242013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7625
7626 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
7627
e93e18e9
PC
76282013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7629
7630 * c-cppbuiltin.c (c_cpp_builtins): Do not define
7631 __GXX_EXPERIMENTAL_CXX1Y__.
7632
44d90fe1 76332013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 7634 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
7635
7636 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
7637 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
7638 to simply use OPT_Wpointer_arith.
7639 (c_sizeof_or_alignof_type): Likewise.
7640
13f39b2e
PC
76412013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7642
7643 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
7644
4b84d650
JJ
76452013-04-12 Jakub Jelinek <jakub@redhat.com>
7646
7647 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
7648 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
7649 specifiers.
7650
fb037b5d
SB
76512013-04-07 Steven Bosscher <steven@gcc.gnu.org>
7652
7653 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
7654
4e856798
PC
76552013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
7656
7657 * c-common.c (pointer_int_sum): Remove dead code.
7658
4b1baac8
RS
76592013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
7660
7661 PR middle-end/56524
7662 * c-common.c (handle_optimize_attribute): Don't call
7663 save_optabs_if_changed.
7664
0b50e654
JJ
76652013-03-05 Jakub Jelinek <jakub@redhat.com>
7666
7667 PR middle-end/56461
7668 * c-pch.c (pch_init): Free target_validity at the end.
7669
48c41403
JJ
76702013-03-04 Jakub Jelinek <jakub@redhat.com>
7671
7672 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
7673
e664c61c
KS
76742013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
7675 Jakub Jelinek <jakub@redhat.com>
7676
7677 PR sanitizer/56454
7678 * c-common.c (handle_no_sanitize_address_attribute): New function.
7679 (c_common_attribute_table): Add no_sanitize_address attribute.
7680 (handle_no_address_safety_analysis_attribute): Add
7681 no_sanitize_address attribute, not no_address_safety_analysis
7682 attribute.
7683
a475fd3d 76842013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
7685
7686 PR target/52555
7687 * c-common.c (handle_optimize_attribute): Call
7688 save_optabs_if_changed.
7689
f6007d99
JJ
76902013-02-18 Jakub Jelinek <jakub@redhat.com>
7691 Steven Bosscher <steven@gcc.gnu.org>
7692
7693 PR pch/54117
7694 * c-opts.c (c_common_post_options): If debug info is enabled
7695 and non-dwarf*, refuse to load PCH files and when writing PCH
7696 file warn.
7697
cf35e2b1
JJ
76982013-02-05 Jakub Jelinek <jakub@redhat.com>
7699
7700 PR middle-end/56167
7701 * c-common.c (handle_error_attribute): Fix condition.
7702
32887460
JJ
77032013-01-30 Jakub Jelinek <jakub@redhat.com>
7704
7705 PR c++/55742
7706 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7707
5af057d8
JM
77082013-01-18 Jason Merrill <jason@redhat.com>
7709
7710 PR target/54908
7711 * c.opt (-fextern-tls-init): New.
7712 * c-opts.c (c_common_post_options): Handle it.
7713
cc83c823
JJ
77142013-01-09 Jakub Jelinek <jakub@redhat.com>
7715
7716 PR c/48418
7717 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7718 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7719 and is either negative or bigger or equal to type precision
7720 of the first operand.
7721
a859517f
MP
77222012-12-03 Marek Polacek <polacek@redhat.com>
7723
7724 PR c/55570
7725 * c-common.c (check_user_alignment): Swap order of tests,
7726 check TREE_CODE first.
7727
2d7aa578
ESR
77282012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
7729
7730 PR c++/52654
7731 * c-common.h (overflow_type): New enum.
7732 (build_userdef_literal): Add overflow_type argument.
7733 (tree_userdef_literal): Add overflow_type.
7734 (USERDEF_LITERAL_OVERFLOW): New access macro.
7735 * c-common.c (build_userdef_literal): Add overflow_type
7736 argument.
7737 * c-lex.c (c_lex_with_flags): Add overflow_type to
7738 build_userdef_literal calls.
7739 (interpret_integer, interpret_float): Add overflow_type argument.
7740
cc3c4f62
RB
77412012-11-28 Richard Biener <rguenther@suse.de>
7742
7743 PR c/35634
7744 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7745 here and use a type with proper overflow behavior for types that would
7746 need to be promoted for the arithmetic.
7747
77bc5132
JJ
77482012-11-23 Jakub Jelinek <jakub@redhat.com>
7749
7750 PR sanitizer/55435
7751 * c-common.c (handle_no_address_safety_analysis_attribute): New
7752 function.
7753 (c_common_attribute_table): Add no_address_safety_analysis.
7754
5dc99c46
SB
77552012-11-16 Simon Baldwin <simonb@google.com>
7756
7757 * c.opt: Add f[no-]canonical-system-headers.
7758 * c-opts.c (c_common_handle_option): Handle
7759 OPT_fcanonical_system_headers.
7760
a4a0016d
ESR
77612012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7762
7763 PR c++/54413
7764 * c-opts.c (c_common_handle_option): Set new flags.
7765 * c.opt: Describe new flags.
7766
7dbb85a7
JM
77672012-11-09 Jason Merrill <jason@redhat.com>
7768
7769 * c.opt (Wabi-tag): New.
7770
ad7bac31
AK
77712012-11-09 Andi Kleen <ak@linux.intel.com>
7772
7773 PR 55139
7774 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7775 MEMMODEL_MASK
ad7bac31 7776
7332899a
MLI
77772012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7778
7779 PR c/53063
7780 * c.opt (Wformat): Make it Alias Wformat=1.
7781 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7782 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7783 LangEnabledBy.
7784 (Wformat=): RejectNegative. Use LangEnabledBy.
7785 (Wnonnull): Use LangEnabledBy.
7786 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7787 * c-format.c (set_Wformat): Delete.
7788 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7789 (maybe_read_dollar_number): Likewise.
7790 (avoid_dollar_number): Likewise.
7791 (finish_dollar_format_checking): Likewise.
7792 (check_format_info): Likewise.
7793 (check_format_info_main): Likewise.
7794 (check_format_types): Likewise.
7795 (format_type_warning): Likewise.
7796 * c-common.c (int): Likewise.
7797 (check_function_sentinel): Likewise.
7798 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7799
34a180a6
MLI
78002012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7801
7802 PR c/53063
7803 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7804 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7805 Use LangEnabledBy.
7806 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7807 common.opt.
7808 (Wvariadic-macros): Init(1).
7809 * c-opts.c (c_common_handle_option): Do not handle them
7810 explicitly.
7811 (c_common_post_options): Likewise.
7812 (sanitize_cpp_opts): warn_unused_macros is now
7813 cpp_warn_unused_macros.
7814 (push_command_line_include): Likewise.
7815 * c-common.c (warn_unknown_pragmas): Do not define.
7816 * c-common.h (warn_unknown_pragmas): Do not declare.
7817
3f46d6a5
MLI
78182012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7819
7820 PR c/51294
7821 * c-common.c (conversion_warning): Handle conditional expressions.
7822
880661a4
JW
78232012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7824
7825 PR c++/54930
7826 * c.opt (Wreturn_local_addr): Define new option.
7827
4514a96b
JM
78282012-10-25 Jason Merrill <jason@redhat.com>
7829
f14edc1a
JM
7830 * c.opt (Wvirtual-move-assign): New.
7831
4514a96b
JM
7832 * c.opt (Winherited-variadic-ctor): New.
7833
93100c6b
MG
78342012-10-25 Marc Glisse <marc.glisse@inria.fr>
7835
7836 PR c++/54427
7837 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7838
1efcb8c6
JM
78392012-10-23 Joseph Myers <joseph@codesourcery.com>
7840
7841 * c-common.h (pch_cpp_save_state): Declare.
7842 * c-target.def (c_preinclude): New hook.
7843 * c-opts.c (done_preinclude): New.
7844 (push_command_line_include): Handle default preincluded header.
7845 (cb_file_change): Call pch_cpp_save_state when calling
7846 push_command_line_include.
7847 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7848 (pch_cpp_save_state): New.
7849 (pch_init): Call pch_cpp_save_state conditionally, instead of
7850 calling cpp_save_state.
7851
4a0ae68e
MLI
78522012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7853
7854 PR c/53063
7855 PR c/40989
7856 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7857 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7858 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7859 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7860 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7861 * c-opts.c (c_common_handle_option): Remove explicit handling from
7862 here.
7863 (c_common_post_options): Likewise.
7864
67e4210b
EB
78652012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7866
7867 * c-ada-spec.c (LOCATION_COL): Delete.
7868 (compare_location): New function.
7869 (compare_node): Use it.
7870 (compare_comment): Likewise.
7871
65d4f2cd
MLI
78722012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7873
7874 PR c/53063
7875 PR c/40989
7876 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7877 * c-opts.c (c_common_handle_option): Do not set them here. Add
7878 comment.
7879 (c_common_post_options): Likewise.
7880
909881cb
EB
78812012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7882
7883 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7884 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7885 Remove POINTER_TYPE handling, add large unsigned handling and use
7886 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7887
3a785c97
JJ
78882012-10-12 Jakub Jelinek <jakub@redhat.com>
7889
7890 PR c/54381
7891 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7892 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7893 locs and array of 3 trees instead of just single loc and single
7894 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7895 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7896 For *cmp* builtins that take two sources strings report warnings
7897 about first and second source, not about destination and source.
7898
5e54f81d
MG
78992012-10-12 Marc Glisse <marc.glisse@inria.fr>
7900
7901 PR c++/53055
7902 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7903
f5b02f1e
EB
79042012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7905
7906 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7907 declaring something coming from another file.
7908
b46dbc6c
AC
79092012-10-10 Arnaud Charlet <charlet@adacore.com>
7910
f5b02f1e 7911 PR ada/54845
b46dbc6c
AC
7912 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7913
5d9de0d0
PC
79142012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7915
7916 PR c++/54194
7917 * c-common.c (warn_about_parentheses): Add location_t parameter;
7918 use EXPR_LOC_OR_LOC.
7919 * c-common.h: Update declaration.
7920
a212e43f
MG
79212012-10-09 Marc Glisse <marc.glisse@inria.fr>
7922
7923 PR c++/54427
7924 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7925 more operations. Make error messages optional.
7926 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7927 (scalar_to_vector): Declare.
7928
b1db7f91
JM
79292012-10-08 Jason Merrill <jason@redhat.com>
7930
7931 * c-common.c (c_common_reswords): Add thread_local.
7932
e28d52cf
DS
79332012-10-08 Dodji Seketeli <dodji@redhat.com>
7934
7935 PR c++/53528 C++11 attribute support
7936 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7937 new functions.
7938 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7939 static function.
7940 (handle_aligned_attribute): In choose strictest alignment
7941 among many. Use new check_cxx_fundamental_alignment_constraints.
7942 (handle_transparent_union_attribute): In c++11 attribute syntax,
7943 don't look through typedefs.
7944
3b78de56
AC
79452012-10-04 Arnaud Charlet <charlet@adacore.com>
7946
7947 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7948 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7949 out of dumpfile.h.
7950
6040bb5f
DC
79512012-09-25 Dehao Chen <dehao@google.com>
7952
7953 PR middle-end/54645
3b78de56 7954 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7955 map when read in the pch.
7956
3f8257db 79572012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7958
7959 * c-ada-spec.c: Style fixes.
7960
3f8257db 79612012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7962
7963 * c.opt (-fada-spec-parent): Define new command line switch.
7964 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7965 is specified, generate binding spec as a child of the specified unit.
7966
0ccb505d
PC
79672012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7968 Manuel López-Ibáñez <manu@gcc.gnu.org>
7969
7970 PR c++/53210
7971 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7972
c583af79
AC
79732012-08-23 Arnaud Charlet <charlet@adacore.com>
7974
7975 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7976 for pointers, and add missing Convention C pragma.
7977 (print_ada_struct_decl): Add missing aliased keyword.
7978 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7979
1a4049e7
JJ
79802012-08-17 Jakub Jelinek <jakub@redhat.com>
7981
7982 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7983 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7984 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7985 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7986 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7987
70b5e7dc
RG
79882012-08-10 Richard Guenther <rguenther@suse.de>
7989
7990 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7991
f8923f7e
SB
79922012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7993
7994 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7995 instead of separate pp_newline and pp_flush.
7996 (print_c_tree): Likewise.
7997
e45abe1f
RH
79982012-07-26 Richard Henderson <rth@redhat.com>
7999
8000 * c-common.c (handle_hot_attribute): Allow labels.
8001 (handle_cold_attribute): Likewise.
8002
332f1d24
JJ
80032012-07-20 Jakub Jelinek <jakub@redhat.com>
8004
8005 PR c++/28656
8006 * c-common.c (check_function_nonnull): Handle multiple nonnull
8007 attributes properly.
8008
7ee2468b
SB
80092012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8010
8011 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8012 * c-ada-spec.c: Likewise.
8013 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8014
ee7b28eb
SB
80152012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8016
8017 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8018 Remove code conditional on it.
8019
6bdf3519
SB
80202012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8021
8022 * c-gimplify.c: Do not include basic-block.h.
8023 * c-common.c: Do not include linfuncs.h.
8024
532aafad
SB
80252012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8026
8027 * c-common.h: Include tree.h.
8028
8d0d1915
JM
80292012-07-02 Jason Merrill <jason@redhat.com>
8030
8031 PR c++/53524
8032 * c-common.c (get_priority): Call default_conversion.
8033
fbc873ad
UB
80342012-07-01 Uros Bizjak <ubizjak@gmail.com>
8035
8036 * c-pch.c (c_common_write_pch): Remove unused variables.
8037
d4a10d0a
SB
80382012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8039
8040 * cppspec.c: Moved from gcc/ to here.
8041
6f3a2e23
KT
80422012-06-27 Kai Tietz <ktietz@redhat.com>
8043
8044 PR preprocessor/37215
8045 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8046
8ca92d04
SB
80472012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8048
8049 * c-common.h (c_common_print_pch_checksum): Remove.
8050 * c-pch.c: Do not include output.h.
8051 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8052 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8053 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8054 (struct c_pch_header): Remove.
8055 (get_ident): Update gpch version.
8056 (pch_init): Do not print executable_checksum to asm_out_file.
8057 Do not fail if there is no asm_out_file to read back from. Set
8058 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8059 (c_common_write_pch): Verify that nothing was written to asm_out_file
8060 since pch_init was called. Do not write a c_pch_header, and do not
8061 copy from asm_out_file to the PCH.
8062 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8063 the content of asm_out_file from the PCH.
8064 (c_common_print_pch_checksum): Remove.
8065 * c-opts.c (c_common_init): Print out executable_checksum directly.
8066
70f42967
SB
80672012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8068
8069 * c-target.def (objc_declare_unresolved_class_reference,
8070 objc_declare_class_definition): Add new hooks.
8071
a8781821
SB
80722012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8073
8074 * c-lex.c: Do not include output.h.
8075 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8076 Remove uses of ASM_OUTPUT_IDENT.
8077
9e1a8dd1
RR
80782012-06-15 Marc Glisse <marc.glisse@inria.fr>
8079
8080 PR c++/51033
8081 * c-common.h (c_build_vec_perm_expr): Move decl here.
8082 * c-common.c (c_build_vec_perm_expr): Move definition
8083 here.
8084
6f07a821
SB
80852012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8086
8087 * c.opt (fconserve-space): Turn into a no-op.
8088
9faeb493 80892012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8090
8091 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8092 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8093 both the start and end of the function.
8094
a4b7d13c
SB
80952012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8096
8097 * c-common.c: Do not include output.h.
8098 * c-pragma.c: Likewise.
8099
c265f413
SA
81002012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8101
8102 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8103 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8104 (lang_decl_name): Handle namespace decls.
8105
be7a421e
SB
81062012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8107
8108 * c-ada-spec.c: Do not include output.h.
8109 * c-semantics.c: Likewise.
8110
65de6659
JM
81112012-05-29 Joseph Myers <joseph@codesourcery.com>
8112
8113 * c-common.c: Fix typo.
8114
ca5f4331
MM
81152012-05-29 Michael Matz <matz@suse.de>
8116
8117 * c-common.h (c_expand_decl): Remove prototype.
8118
4f7f7aca
MLI
81192012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8120
8121 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8122 * c-opts.c (c_common_handle_option): Remove code handling
8123 warn_missing_braces.
8124
4a792f9b
PC
81252012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8126
8127 PR c++/25137
8128 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8129 -Wmissing_braces.
8130
650dc14a
DS
81312012-05-22 Dodji Seketeli <dodji@redhat.com>
8132
8133 PR c++/53322
8134 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8135
9b095bf1
MLI
81362012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8137
8138 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8139 * c-opts.c (c_common_handle_option): Do not handle explicitly
8140 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8141
0b2c4be5
DS
81422012-05-16 Dodji Seketeli <dodji@redhat.com>
8143
8144 PR preprocessor/7263
8145 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
8146 to cpp_classify_number. For diagnostics, use the precise location
8147 instead of the global input_location.
8148
a1bde5af
PC
81492012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8150
d02924ef 8151 PR c++/11856
a1bde5af
PC
8152 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8153
d1ede5f4
BS
81542012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8155
a1bde5af 8156 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8157
f2bc201f
MLI
81582012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8159
8160 PR 53063
8161 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8162 Wreorder): Use LangEnabledBy.
8163 * c-opts.c (c_common_handle_option): Do not enable them
8164 explicitly. Call lang-specific generated functions.
8165 (c_common_post_options): Do not set them here.
8166
95744782
MLI
81672012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8168
8169 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8170 Wmissing-field-initializers,Wmissing-parameter-type,
8171 Wold-style-declaration,Woverride-init): Use EnabledBy.
8172 * c-opts.c (c_common_post_options): Do not set here explicitly.
8173
7d5a5747
MLI
81742012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8175
8176 PR 53063
8177 * c-opts.c (c_common_handle_option): Use handle_generated_option
8178 to enable sub-options.
8179
5a3c9cf2
PC
81802012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8181
8182 PR c++/53158
8183 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8184
3ac8781c
RG
81852012-05-10 Richard Guenther <rguenther@suse.de>
8186
8187 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8188 adjust commentary about TYPE_IS_SIZETYPE types.
8189
1e537948
MLI
81902012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8191
8192 PR c++/53261
8193 * c-common.c (warn_logical_operator): Check that argument of
8194 integer_zerop is not NULL.
8195
f2c4a785
MLI
81962012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8197
8198 PR c/43772
8199 * c-common.c (warn_logical_operator): Do not warn if either side
8200 is already true or false.
8201
50f305ca
MLI
82022012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8203
8204 PR c/51712
8205 * c-common.c (expr_original_type): New.
8206 (shorten_compare): Do not warn for enumeration types.
8207
0c3641b0
MLI
82082012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8209
8210 * c.opt (fpermissive): Add Var(flag_permissive).
8211
7edaa4d2
MG
82122012-04-30 Marc Glisse <marc.glisse@inria.fr>
8213
8214 PR c++/51033
8215 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8216 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8217
b9c8da34
DS
82182012-04-30 Dodji Seketeli <dodji@redhat.com>
8219
8220 Add -Wvarargs option
8221 * c.opt (Wvarargs): Define new option.
8222
e6c69da0
MLI
82232012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8224
8225 * c-common.c (check_function_arguments): Replace
8226 Wmissing-format-attribute with Wsuggest-attribute=format.
8227
90137d8f
MLI
82282012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8229
8230 * c.opt (Wsuggest-attribute=format): New. Alias of
8231 Wmissing-format-attribute.
8232 * c-format.c (decode_format_type): Replace
8233 Wmissing-format-attribute with Wsuggest-attribute=format.
8234 (check_function_format): Likewise.
8235
9faeb493 82362012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8237
8238 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8239 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8240 * c.opt: Add Wliteral-suffix.
8241
c1771a20
MLI
82422012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8243
8244 PR c/44774
8245 * c.opt (Wpedantic): New.
8246 (pedantic): Alias Wpedantic.
8247 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8248 (c_common_post_options): Likewise.
8249 (sanitize_cpp_opts): Likewise.
8250 * c-lex.c (interpret_float): Likewise.
8251 * c-format.c (check_format_types): Likewise.
8252 * c-common.c (pointer_int_sum): Likewise.
8253 (c_sizeof_or_alignof_type): Likewise.
8254 (c_add_case_label): Likewise.
8255 (c_do_switch_warnings): Likewise.
8256 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8257
04b391c1
JM
82582012-04-15 Jason Merrill <jason@redhat.com>
8259
8260 PR c++/52818
8261 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8262 (C_STD_NAME): Distinguish between C++98 and C++11.
8263
ac868f29
EB
82642012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8265
8266 PR target/52624
8267 * c-common.h (uint16_type_node): Rename into...
8268 (c_uint16_type_node): ...this.
8269 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8270 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8271
fd4116f4
MLI
82722012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8273
8274 * c-common.c (warn_if_unused_value): Move definition to here.
8275 * c-common.h (warn_if_unused_value): Move declaration to here.
8276
573ac65e
WB
82772012-03-23 William Bader <williambader@hotmail.com>
8278
8279 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8280
552b8185
JM
82812012-03-20 Jason Merrill <jason@redhat.com>
8282
8283 * c-common.h (enum cxx_dialect): Add cxx1y.
8284 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8285 test.
8286 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8287 * c-opts.c (c_common_post_options): Likewise.
8288 (set_std_cxx1y): New.
8289 (c_common_handle_option): Call it.
8290 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8291
04398fa8
PC
82922012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8293
8294 PR c++/14710
8295 * c.opt ([Wuseless-cast]): Add.
8296
d2a12ae7
RG
82972012-03-16 Richard Guenther <rguenther@suse.de>
8298
8299 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8300
a12bf402
MLI
83012012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8302
8303 PR c++/44783
8304 * c.opt (ftemplate-backtrace-limit) Add.
8305
5c30094f
RO
83062012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8307
8308 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8309 handling.
8310 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8311 (init_pragma): Don't register extern_prefix.
8312
21fa2faf
RG
83132012-03-12 Richard Guenther <rguenther@suse.de>
8314
8315 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8316 (builtin_type_for_size): Likewise.
8317
e3793c6f
JJ
83182012-02-13 Jakub Jelinek <jakub@redhat.com>
8319
8320 PR c++/52215
8321 * c-common.c (sync_resolve_params): Don't decide whether to convert
8322 or not based on TYPE_SIZE comparison, convert whenever arg_type
8323 is unsigned INTEGER_TYPE.
8324
93286335
PC
83252012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
8326
8327 PR c/52118
8328 * c.opt ([Wunused-local-typedefs]): Fix description.
8329
7a421706
MS
83302012-01-24 Mike Stump <mikestump@comcast.net>
8331
8332 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
8333 exactly.
8334
ba9b1f11
RG
83352012-01-18 Richard Guenther <rguenther@suse.de>
8336
8337 * c-opts.c (c_common_post_options): Reset LTO flags if
8338 we are about to generate a PCH.
8339
465406be
PC
83402012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8341
8342 PR c++/51777
8343 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8344 use pp_unsigned_wide_integer.
8345
aee15221
RG
83462012-01-10 Richard Guenther <rguenther@suse.de>
8347
8348 PR middle-end/51806
8349 * c-opts.c (c_common_handle_option): Move -Werror handling
8350 to language independent code.
8351
5720c0dc
RG
83522012-01-05 Richard Guenther <rguenther@suse.de>
8353
8354 PR middle-end/51764
8355 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8356 from common.opt.
8357
73ac190a
PC
83582011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
8359
8360 PR c++/51316
8361 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8362 of array types with an unknown bound.
8363
48b0b196
JM
83642011-12-20 Joseph Myers <joseph@codesourcery.com>
8365
8366 * c-common.c (flag_isoc99): Update comment to refer to C11.
8367 (flag_isoc1x): Change to flag_isoc11.
8368 * c-common.h (flag_isoc99): Update comment to refer to C11.
8369 (flag_isoc1x): Change to flag_isoc11.
8370 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8371 C11.
8372 * c-opts.c (set_std_c1x): Change to set_std_c11.
8373 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8374 Call set_std_c11.
8375 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8376 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8377 * c.opt (std=c1x): Change to std=c11. Document as non-draft
8378 standard.
8379 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8380 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
8381 (std=gnu1x): Make alias of std=gnu11.
8382
d58d6eb5
JM
83832011-12-19 Jason Merrill <jason@redhat.com>
8384
8385 PR c++/51228
8386 * c-common.c (handle_transparent_union_attribute): Check the first
8387 field if the type is complete.
8388
b3908fcc
JW
83892011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
8390
8391 PR libstdc++/51365
8392 * c-common.c (RID_IS_FINAL): Add.
8393 * c-common.h (RID_IS_FINAL): Add.
8394
fea3ca91
IS
83952011-11-30 Iain Sandoe <iains@gcc.gnu.org>
8396
8397 * c.opt (fgnu-runtime): Provide full description.
8398 (fnext-runtime): Likewise.
8399 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8400
62bad7cd
AM
84012011-11-28 Andrew MacLeod <amacleod@redhat.com>
8402
8403 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
8404 predefines in one place. Add LOCK_FREE predefines.
8405 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8406 new func.
8407
c466c4ff
AM
84082011-11-24 Andrew MacLeod <amacleod@redhat.com>
8409
8410 PR c/51256
9faeb493 8411 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 8412 conditions
9faeb493
UB
8413 (resolve_overloaded_atomic_exchange,
8414 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
8415 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8416 error_mark_node for error conditions.
9faeb493 8417
a5952633
RG
84182011-11-08 Richard Guenther <rguenther@suse.de>
8419
8420 PR middle-end/51010
8421 c-family/
8422
0a35513e
AH
84232011-11-07 Richard Henderson <rth@redhat.com>
8424 Aldy Hernandez <aldyh@redhat.com>
8425 Torvald Riegel <triegel@redhat.com>
8426
8427 Merged from transactional-memory.
8428
8429 * c-common.c (handle_tm_wrap_attribute,
8430 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8431 (struct c_common_reswords): Added __transaction* keywords.
8432 (struct c_common_attribute_table): Added transaction* and tm_regparm
8433 attributes.
8434 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8435 masks.
8436 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8437 find_tm_attribute): Declare.
8438
6d87092d
JM
84392011-11-07 Jason Merrill <jason@redhat.com>
8440
8441 PR c++/35688
8442 * c-common.c, c-common.h: Revert yesterday's changes.
8443
8e7860a1
JM
84442011-11-06 Jason Merrill <jason@redhat.com>
8445
8446 PR c++/35688
8447 * c-common.c (decl_has_visibility_attr): Split out from...
8448 (c_determine_visibility): ...here.
8449 * c-common.h: Declare it.
8450
d19fa6b5
JM
84512011-11-06 Joseph Myers <joseph@codesourcery.com>
8452
8453 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8454 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8455 type.
8456 (check_user_alignment): New. Split out of
8457 handle_aligned_attribute. Disallow integer constants with
8458 noninteger types. Conditionally allow zero.
8459 (handle_aligned_attribute): Use check_user_alignment.
8460 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
8461
86951993
AM
84622011-11-06 Andrew MacLeod <amacleod@redhat.com>
8463 Richard Henderson <rth@redhat.com>
8464
8465 Merged from cxx-mem-model.
8466
8467 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 8468 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
8469 parameters that are the same type size.
8470 (get_atomic_generic_size): New. Find size of generic
8471 atomic function parameters and do typechecking.
8472 (add_atomic_size_parameter): New. Insert size into parameter list.
8473 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8474 either __atomic_exchange_n or external library call.
9faeb493 8475 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 8476 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 8477 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
8478 __atomic_load_n or an external library call.
8479 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
8480 __atomic_store_n or an external library call.
8481 (resolve_overloaded_builtin): Handle new __atomic builtins.
8482
cf9e9959
EB
84832011-11-04 Eric Botcazou <ebotcazou@adacore.com>
8484
8485 PR c++/50608
8486 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8487 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
8488 <INDIRECT_REF>: Return the argument.
8489 <ARRAY_REF>: Remove special code for negative offset.
8490 Call fold_build_pointer_plus instead of size_binop.
8491 (fold_offsetof): Remove STOP_REF argument and adjust.
8492 * c-common.h (fold_offsetof_1): Declare.
8493 (fold_offsetof): Remove STOP_REF argument.
8494
25339f10
JM
84952011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
8496
8497 PR c++/50810
8498 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8499 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8500 Wnarrowing for C++0x and C++98.
8501 * c.opt ([Wnarrowing]): Update.
8502
89401152
PC
85032011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
8504
8505 PR c++/44277
8506 * c.opt: Add Wzero-as-null-pointer-constant.
8507
97e3ad20
JM
85082011-10-31 Jason Merrill <jason@redhat.com>
8509
15694fdd
JM
8510 * c.opt (-fdeduce-init-list): Off by default.
8511
97e3ad20
JM
8512 PR c++/50920
8513 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
8514 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8515 and -Wc++11-compat.
8516 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
8517
fb9120e3
RAV
85182011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
8519
8520 PR c++/30066
8521 * c.opt (fvisibility-inlines-hidden): Description change.
8522
3ce4f9e4
ESR
85232011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
8524
8525 Implement C++11 user-defined literals.
8526 * c-common.c (build_userdef_literal): New.
8527 * c-common.def: New tree code.
8528 * c-common.h (tree_userdef_literal): New tree struct and accessors.
8529 * c-lex.c (interpret_float): Add suffix parm.
8530 (c_lex_with_flags): Build literal tokens.
8531
5f53c243
PC
85322011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8533
8534 PR c++/50841
8535 Revert:
8536 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8537
8538 PR c++/50810
8539 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8540 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8541 Wnarrowing for C++0x and C++98.
8542 * c.opt ([Wnarrowing]): Update.
8543
263734e1
PC
85442011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8545
8546 PR c++/50810
8547 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8548 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8549 Wnarrowing for C++0x and C++98.
8550 * c.opt ([Wnarrowing]): Update.
8551
d2e312d7
PC
85522011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
8553
8554 PR c++/45385
8555 * c-common.c (conversion_warning): Remove code looking for
8556 artificial operands.
8557
d17687f6
DS
85582011-10-18 Dodji Seketeli <dodji@redhat.com>
8559
8560 PR bootstrap/50760
8561 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 8562 !NO_IMPLICIT_EXTERN_C.
d17687f6 8563
fc8396e9
PC
85642011-10-17 Michael Spertus <mike_spertus@symantec.com>
8565
8566 * c-common.c (c_common_reswords): Add __bases,
8567 __direct_bases.
8568 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
8569
85702011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
8571
8572 PR c++/50757
8573 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
8574
847e697a
TT
85752011-10-15 Tom Tromey <tromey@redhat.com>
8576 Dodji Seketeli <dodji@redhat.com>
8577
8578 * c.opt (fdebug-cpp): New option.
8579 * c-opts.c (c_common_handle_option): Handle the option.
8580 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
8581 output stream in parameter. Factorized from ...
8582 (maybe_print_line): ... this. Dump location debug information when
8583 -fdebug-cpp is in effect.
8584 (print_line_1): New static function. Takes an output stream in
8585 parameter. Factorized from ...
8586 (print_line): ... here. Dump location information when -fdebug-cpp
8587 is in effect.
8588 (scan_translation_unit): Dump location information when
8589 -fdebug-cpp is in effect.
8590
92582b75
TT
85912011-10-15 Tom Tromey <tromey@redhat.com>
8592 Dodji Seketeli <dodji@redhat.com>
8593
8594 * c.opt (ftrack-macro-expansion): New option. Handle it with and
8595 without argument.
8596 * c-opts.c (c_common_handle_option)<case
8597 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
8598 cases. Handle -ftrack-macro-expansion with and without argument.
8599
46427374
TT
86002011-10-15 Tom Tromey <tromey@redhat.com>
8601 Dodji Seketeli <dodji@redhat.com>
8602
8603 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
8604 (print_line, cb_define, do_line_change): Adjust to avoid touching
8605 the internals of struct line_map. Use the public API instead.
8606 * c-pch.c (c_common_read_pch): Likewise.
8607 * c-lex.c (fe_file_change): Likewise.
8608
fc8396e9
PC
86092011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
8610
8611 PR c++/17212
8612 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
8613
86142011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
8615
8616 PR c++/33067
8617 * c-pretty-print.c (pp_c_floating_constant): Output
8618 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
8619
e79983f4
MM
86202011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8621
8622 * c-common.c (def_builtin_1): Delete old interface with two
8623 parallel arrays to hold standard builtin declarations, and replace
8624 it with a function based interface that can support creating
8625 builtins on the fly in the future. Change all uses, and poison
8626 the old names. Make sure 0 is not a legitimate builtin index.
8627 * c-omp.c (c_finish_omp_barrier): Ditto.
8628 (c_finish_omp_taskwait): Ditto.
8629 (c_finish_omp_flush): Ditto.
8630
6637388f
TG
86312011-10-11 Tristan Gingold <gingold@adacore.com>
8632
8633 * c.opt: (fallow-parameterless-variadic-functions): New.
8634
3797cb21
DS
86352011-09-08 Dodji Seketeli <dodji@redhat.com>
8636
8637 PR c++/33255 - Support -Wunused-local-typedefs warning
8638 * c-common.h (struct c_language_function::local_typedefs): New
8639 field.
9faeb493
UB
8640 (record_locally_defined_typedef, maybe_record_typedef_use)
8641 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 8642 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
8643 (maybe_record_typedef_use)
8644 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
8645 * c.opt: Declare new -Wunused-local-typedefs flag.
8646
693ddb1b
EB
86472011-09-06 Eric Botcazou <ebotcazou@adacore.com>
8648
8649 PR middle-end/50266
8650 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
8651 computations.
8652
830c740f
RG
86532011-09-05 Richard Guenther <rguenther@suse.de>
8654
8655 * c-common.c (complete_array_type): Use ssize_int (-1) instead
8656 of integer_minus_one_node for empty array upper bounds.
8657
892a371f
DS
86582011-08-28 Dodji Seketeli <dodji@redhat.com>
8659
8660 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
8661 it's the first time it's being called on this main TU.
8662
0e3fdb48
RB
86632011-08-24 Richard Guenther <rguenther@suse.de>
8664
8665 PR c/49396
8666 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
8667
86682011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
8669
8670 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
8671 defined in cpp_init_builtins and c_cpp_builtins.
8672
d4a83c10
JM
86732011-08-19 Joseph Myers <joseph@codesourcery.com>
8674
8675 * c-common.c (c_common_reswords): Add __builtin_complex.
8676 * c-common.h (RID_BUILTIN_COMPLEX): New.
8677
bbceee64
JM
86782011-08-18 Joseph Myers <joseph@codesourcery.com>
8679
8680 * c-common.c (c_common_reswords): Add _Noreturn.
8681 (keyword_is_function_specifier): Handle RID_NORETURN.
8682 * c-common.h (RID_NORETURN): New.
8683
3f8257db 86842011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
8685
8686 * c-common.c (unsafe_conversion_p): New function. Check if it is
8687 unsafe to convert an expression to the type.
8688 (conversion_warning): Adjust, use unsafe_conversion_p.
8689 * c-common.h (unsafe_conversion_p): New function declaration.
8690
20906c66
JJ
86912011-08-02 Jakub Jelinek <jakub@redhat.com>
8692
8693 * c-common.h (c_finish_omp_atomic): Adjust prototype.
8694 (c_finish_omp_taskyield): New prototype.
8695 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
8696 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
8697 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
8698 or RHS1 have side-effects, evaluate those too in the right spot,
8699 if it is a decl and LHS is also a decl, error out if they
8700 aren't the same.
8701 (c_finish_omp_taskyield): New function.
8702 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
8703 * c-pragma.c (omp_pragmas): Add taskyield.
8704 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8705 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8706 PRAGMA_OMP_CLAUSE_MERGEABLE.
8707
770e5a2e
DS
87082011-07-25 Dodji Seketeli <dodji@redhat.com>
8709
8710 * c-common.h (set_underlying_type): Remove parm name from
8711 declaration.
8712
1baae426
RG
87132011-07-25 Romain Geissler <romain.geissler@gmail.com>
8714
8715 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 8716
fcb21722
JM
87172011-07-22 Jason Merrill <jason@redhat.com>
8718
76f86d00
JM
8719 PR c++/49793
8720 * c.opt (Wnarrowing): New.
8721
3a636414
JM
8722 PR c++/30112
8723 * c-common.h: Declare c_linkage_bindings.
8724 * c-pragma.c (handle_pragma_redefine_extname): Use it.
8725
fcb21722
JM
8726 PR c++/49813
8727 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8728 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8729 as flag_isoc99 for 'restrict'.
8730 (pp_c_specifier_qualifier_list): Likewise for _Complex.
8731
02614448
ILT
87322011-07-21 Ian Lance Taylor <iant@google.com>
8733
8734 PR middle-end/49705
8735 * c-common.c (c_disable_warnings): New static function.
8736 (c_enable_warnings): New static function.
8737 (c_fully_fold_internal): Change local unused_p to bool. Call
8738 c_disable_warnings and c_enable_warnings rather than change
8739 c_inhibit_evaluation_warnings.
8740
34429675
JM
87412011-07-20 Jason Merrill <jason@redhat.com>
8742
8743 PR c++/6709 (DR 743)
8744 PR c++/42603 (DR 950)
8745 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8746 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8747 (CPP_DECLTYPE): New.
8748 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8749
5d49b6a7
RG
87502011-07-19 Richard Guenther <rguenther@suse.de>
8751
8752 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8753 * c-omp.c (c_finish_omp_for): Likewise.
8754
e84a58ff
EB
87552011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8756
8757 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8758 body on the next line.
8759
329af3c7
JM
87602011-07-08 Jason Merrill <jason@redhat.com>
8761
4063e61b
JM
8762 PR c++/45437
8763 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8764
329af3c7
JM
8765 PR c++/49673
8766 * c-common.c (c_apply_type_quals_to_decl): Don't check
8767 TYPE_NEEDS_CONSTRUCTING.
8768
1a072294
RG
87692011-07-06 Richard Guenther <rguenther@suse.de>
8770
8771 * c-common.c (c_common_nodes_and_builtins):
8772 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8773
fce5dddd
RG
87742011-07-05 Richard Guenther <rguenther@suse.de>
8775
8776 * c-common.c (c_common_nodes_and_builtins): Build all common
8777 tree nodes first.
8778
45d439ac
JJ
87792011-06-27 Jakub Jelinek <jakub@redhat.com>
8780
56300785
JJ
8781 * c-common.h (c_tree_chain_next): New static inline function.
8782
45d439ac
JJ
8783 * c-common.c (check_builtin_function_arguments): Handle
8784 BUILT_IN_ASSUME_ALIGNED.
8785
e0a8ecf2
AM
87862011-06-21 Andrew MacLeod <amacleod@redhat.com>
8787
8788 * c-common.c: Add sync_ or SYNC__ to builtin names.
8789 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8790
87912011-06-20 Pierre Vittet <piervit@pvittet.com>
8792
8793 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8794 handler.
8795 (gen_pragma_handler): New union.
8796 (internal_pragma_handler): New type.
8797 (c_register_pragma_with_data)
8798 (c_register_pragma_with_expansion_and_data): New functions.
8799
8800 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8801 (c_register_pragma, c_register_pragma_with_expansion)
8802 (c_invoke_pragma_handler): Changed to work with
8803 internal_pragma_handler.
8804 (c_register_pragma_with_data)
8805 (c_register_pragma_with_expansion_and_data): New functions.
8806
677f3fa8
JM
88072011-06-14 Joseph Myers <joseph@codesourcery.com>
8808
8809 * c-common.c: Include common/common-target.h.
8810 (handle_section_attribute): Use
8811 targetm_common.have_named_sections.
8812 * c-cppbuiltin.c: Include common/common-target.h.
8813 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8814
d7fc8c14
RG
88152011-06-10 Richard Guenther <rguenther@suse.de>
8816
8817 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8818 to print a IDENTIFIER_NODE.
8819
10e48e39
RO
88202011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8821 Joseph Myers <joseph@codesourcery.com>
8822
8823 * c.opt (fbuilding-libgcc): New option.
8824 * c-cppbuiltin.c (c_cpp_builtins): Define
8825 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8826
6976ae51
JM
88272011-06-07 Jason Merrill <jason@redhat.com>
8828
3ff60975
JM
8829 * c-common.c (max_tinst_depth): Lower default to 900.
8830
6976ae51
JM
8831 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8832
009db074
RG
88332011-06-07 Richard Guenther <rguenther@suse.de>
8834
8835 * c-common.c (c_common_nodes_and_builtins): Do not set
8836 size_type_node or call set_sizetype.
8837
b4592b92
DS
88382011-06-07 Dodji Seketeli <dodji@redhat.com>
8839
8840 PR debug/49130
8841 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8842 type when using pointer comparison to compare types.
b4592b92 8843
014ab419
JW
88442011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8845
8846 * c.opt: Add -Wdelete-non-virtual-dtor.
8847 * c-opts.c (c_common_handle_option): Include it in -Wall.
8848
4f60111f
NF
88492011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8850
8851 PR bootstrap/49190
8852
8853 Revert:
8854 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8855
8856 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8857 not tree_common.
8858
4cc4f2f4
JJ
88592011-05-27 Jakub Jelinek <jakub@redhat.com>
8860
8861 PR c++/49165
8862 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8863 C++ don't call c_common_truthvalue_conversion on void type arms.
8864
38e01f9e
NF
88652011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8866
8867 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8868 (stmt_list_stack): Define.
8869 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8870 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8871
92e948a8
NF
88722011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8873
8874 * c-common.c (warning_candidate_p): Check for BLOCKs.
8875
a2fc3e63
NF
88762011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8877
8878 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8879 not tree_common.
8880
0957c029
JJ
88812011-05-25 Jakub Jelinek <jakub@redhat.com>
8882
8883 * c-common.c (def_fn_type): Remove extra va_end.
8884
828fb3ba
JM
88852011-05-23 Jason Merrill <jason@redhat.com>
8886
8887 PR c++/48106
8888 * c-common.c (c_common_get_narrower): New.
8889 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8890
dde05067
NF
88912011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8892
8893 * c-common.h (check_function_arguments): Tweak prototype of
8894 check_function_arguments.
8895 * c-common.c (check_function_arguments): Likewise. Adjust
8896 calls to check_function_nonnull, check_function_format, and
8897 check_function_sentinel.
8898 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8899 separate attributes and typelist arguments. Use
8900 FOREACH_FUNCTION_ARGS to iterate over argument types.
8901
3c0d13bf
PC
89022011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8903
8904 * c-common.c (c_common_reswords): Reorder.
8905 * c-common.h (rid): Likewise.
8906
8242dd04
NF
89072011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8908
8909 * c-common.c (def_fn_type): Don't call build_function_type, call
8910 build_function_type_array or build_varargs_function_type_array
8911 instead.
8912 (c_common_nodes_and_builtins): Likewise.
8913
3d528853
NF
89142011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8915
8916 * c-common.c (c_add_case_label): Omit the loc argument to
8917 build_case_label.
8918 * c-common.h (build_case_label): Remove.
8919 * c-semantics.c (build_case_label): Remove.
8920
a04a722b
JM
89212011-05-05 Joseph Myers <joseph@codesourcery.com>
8922
8923 * c-objc.h (objc_start_method_definition): Update prototype.
8924 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8925
e19a18d4
NF
89262011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8927
8928 * c-common.c (check_main_parameter_types): Reindent. Don't use
8929 TYPE_ARG_TYPES directly.
8930 (handle_nonnull_attribute): Likewise.
8931 (sync_resolve_params): Likewise.
8932 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8933 to check_format_string.
8934 (handle_format_attribute): Likewise.
8935 (check_format_string): Take a function type to examine instead of
8936 a type list. Use a function_arg_iterator to step through argument
8937 types.
8938
c62c040f
RG
89392011-05-04 Richard Guenther <rguenther@suse.de>
8940
8941 * c-common.c (fix_string_type): Use size_int for index type bounds.
8942 (start_fname_decls): Do not pass NULL to build_int_cst.
8943 (c_init_attributes): Likewise.
8944 * c-lex.c (c_lex_with_flags): Likewise.
8945
c12ff9d8
JM
89462011-04-27 Jason Merrill <jason@redhat.com>
8947
8948 * c-common.c (make_tree_vector_from_list): New.
8949 * c-common.h: Declare it.
8950
304dfbe3
RG
89512011-04-26 Richard Guenther <rguenther@suse.de>
8952
8953 PR preprocessor/48248
8954 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8955 for output size with -P.
8956
3c0d13bf
PC
89572011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8958
8959 * c-common.c (struct c_common_resword): Add __underlying_type.
8960 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8961
04695783
JM
89622011-04-20 Jim Meyering <meyering@redhat.com>
8963
8964 * c-format.c (init_dollar_format_checking): Remove useless
8965 if-before-free.
8966
0dc33c3c
NP
89672011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8968
8969 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8970 (objc_detect_field_duplicates): New.
0dc33c3c 8971 * stub-objc.c: Likewise.
3c0d13bf 8972
c59633d9
NP
89732011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8974
8975 * stub-objc.c (objc_declare_protocols): Renamed to
8976 objc_declare_protocol.
8977 * c-objc.h: Likewise.
3c0d13bf 8978
32dabdaf
NP
89792011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8980
8981 * stub-objc.c (objc_declare_class): Updated argument name.
8982
81f653d6
NF
89832011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8984
8985 * c-common.h (c_common_init_ts): Declare.
8986 * c-common.c (c_common_init_ts): Define.
8987
eb345401
NP
89882011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8989
8990 * c-objc.h (objc_build_message_expr): Updated prototype.
8991 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8992
a358e188
MJ
89932011-04-12 Martin Jambor <mjambor@suse.cz>
8994
8995 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8996 of cgraph_node.
8997
e6313a78
RG
89982011-04-11 Richard Guenther <rguenther@suse.de>
8999
9000 * c-common.c (complete_array_type): Build a range type of
9001 proper type.
9002
dcf0c47e
NF
90032011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9004
9005 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9006 (handle_type_generic_attribute): Likewise.
9007
1ee44b26
JM
90082011-04-07 Jason Merrill <jason@redhat.com>
9009
9010 PR c++/48450
9011 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9012 conversion from C++0x scoped enum.
9013
acce4e77
JM
90142011-04-06 Joseph Myers <joseph@codesourcery.com>
9015
9016 * c-target-def.h: New file.
9017 * c-target.def: New file.
9018 * c-target.h: New file.
9019 * c-common.c (targetcm): Don't define here.
9020 * c-common.h (default_handle_c_option): Declare.
9021 * c-format.c: Include c-target.h instead of target.h.
9022 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9023 include tm.h.
9024 (default_handle_c_option): Move from targhooks.c.
9025
e2eefb55
JJ
90262011-03-29 Jakub Jelinek <jakub@redhat.com>
9027
9028 PR preprocessor/48248
9029 * c-ppoutput.c (print): Add src_file field.
9030 (init_pp_output): Initialize it.
9031 (maybe_print_line): Don't optimize by adding up to 8 newlines
9032 if map->to_file and print.src_file are different file.
9033 (print_line): Update print.src_file.
9034
ba78087b
KT
90352011-03-25 Kai Tietz <ktietz@redhat.com>
9036
9037 * c-ada-spec.c (compare_comment): Use filename_cmp
9038 instead of strcmp for filename.
9039
0edf1bb2
JL
90402011-03-25 Jeff Law <law@redhat.com>
9041
adfac8df 9042 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9043
c7dc8804
JM
90442011-03-25 Jason Merrill <jason@redhat.com>
9045
9046 * c.opt: Add -std=c++03.
9047
d1d879b1
EB
90482011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9049
9050 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9051
3f8257db 90522011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9053
9054 PR target/12171
5050afdf
KT
9055 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9056 Display allowed attributes for function pointer types.
9057 (pp_c_attributes_display): New function to display
9058 attributes having affects_type_identity flag set to true.
9059 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9060
62d784f7
KT
9061 * c-common.c (c_common_attribute_table):
9062 Add new element.
9063 (c_common_format_attribute_table): Likewise.
9064
82d37118
JM
90652011-03-18 Jason Merrill <jason@redhat.com>
9066
49a000c3
JM
9067 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9068 * c-common.h: Don't declare it here.
9069 * c-common.c: Or define it here.
9070 * c-opts.c (c_common_handle_option): Or set it here.
9071
82d37118
JM
9072 PR c++/35315
9073 * c-common.c (handle_transparent_union_attribute): Don't
9074 make a duplicate type in C++.
9075
17bc631c
JM
90762011-03-15 Jason Merrill <jason@redhat.com>
9077
9078 * c-common.c (max_constexpr_depth): New.
9079 * c-common.h: Declare it.
9080 * c-opts.c (c_common_handle_option): Set it.
9081 * c.opt (fconstexpr-depth): New option.
9082
1b9b91a6
JM
90832011-03-11 Jason Merrill <jason@redhat.com>
9084
f231b5ff
JM
9085 * c-common.c (attribute_takes_identifier_p): Add missing const.
9086
1b9b91a6
JM
9087 PR c++/46803
9088 * c-common.c (attribute_takes_identifier_p): Assume that an
9089 unknown attribute takes an identifier.
9090
a19e4d44
NF
90912011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9092
9093 PR c/47786
9094 * c-common.c (c_type_hash): Call list_length instead of iterating
9095 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9096
982d62f6
JJ
90972011-02-19 Jakub Jelinek <jakub@redhat.com>
9098
9099 PR c/47809
9100 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9101
0a256240
NP
91022011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9103
9104 * c.opt (fobjc-abi-version=) New.
9105 (fobjc-nilcheck): New.
9106
ba9e6dd5
NF
91072011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9108
9109 PR c++/46890
9110 * c-common.h (keyword_is_decl_specifier): Declare.
9111 * c-common.c (keyword_is_decl_specifier): Define.
9112 (keyword_is_function_specifier): New function.
9113
7273813a
JJ
91142011-01-26 Jakub Jelinek <jakub@redhat.com>
9115
9116 PR c/47473
9117 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9118 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9119 REAL_TYPE.
9120
908ef79b
AC
91212011-01-26 Arnaud Charlet <charlet@adacore.com>
9122
9123 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9124
237e9384
JJ
91252011-01-26 Jakub Jelinek <jakub@redhat.com>
9126
9127 PR pch/47430
9128 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9129 after init_c_lex if pch_file is set.
9130
47ea1edf
DK
91312011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9132
d4dba752 9133 PR c++/43601
47ea1edf
DK
9134 * c.opt (-fkeep-inline-dllexport): New switch.
9135
2aa9c6ae
RG
91362011-01-12 Richard Guenther <rguenther@suse.de>
9137
9138 PR middle-end/32511
9139 * c-common.c (handle_weak_attribute): Warn instead of error
9140 on declaring an inline function weak.
9141
7bd11157
TT
91422011-01-05 Tom Tromey <tromey@redhat.com>
9143
9144 * c-common.h (lvalue_error): Update.
9145 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9146 not error.
9147
0e66e494 91482010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9149
b4f588c4
NP
9150 PR objc/47075
9151 * c-objc.h (objc_finish_message_expr): Added argument to
9152 prototype.
9153
f4da8dce
NF
91542010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9155
9156 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9157 Use prototype_p.
9158
46270f14
NP
91592010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9160
9161 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9162 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9163
4816c593
NF
91642010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9165
9166 * c-common.h (readonly_error): Declare.
9167 * c-common.c (readonly_error): Define.
9168
7a6daeb0
NF
91692010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9170
9171 * c-common.h (invalid_indirection_error): Declare.
9172 * c-common.c (invalid_indirection_error): Define.
9173
892f6119
RG
91742010-12-03 Richard Guenther <rguenther@suse.de>
9175
9176 PR c/46745
9177 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9178 (pp_c_unary_expression): Likewise.
9179 (pp_c_expression): Likewise.
9180
6c39e757
NP
91812010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9182
9183 * c-common.h (objc_finish_function): New.
9184 (objc_non_volatilized_type): Removed.
9185 (objc_type_quals_match): Removed.
9186 * stub-objc.c (objc_finish_function): New.
9187 (objc_non_volatilized_type): Removed.
9188 (objc_type_quals_match): Removed.
9faeb493 9189
7c475d11
JM
91902010-11-30 Joseph Myers <joseph@codesourcery.com>
9191
9192 * c-common.h (parse_optimize_options): Declare.
9193 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9194 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9195
71f3e391
JM
91962010-11-29 Joseph Myers <joseph@codesourcery.com>
9197
9198 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9199 GET_ENVIRONMENT.
9200 * c-pch.c (O_BINARY): Don't define here.
9201 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9202
d5fabb58
JM
92032010-11-25 Joseph Myers <joseph@codesourcery.com>
9204
9205 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9206 targetm.except_unwind_info.
9207
299404a1
JM
92082010-11-23 Joseph Myers <joseph@codesourcery.com>
9209
9210 * c-opts.c (c_common_handle_option): Pass location to
9211 set_struct_debug_option.
9212
c98cd5bf
JM
92132010-11-23 Joseph Myers <joseph@codesourcery.com>
9214
9215 * c-common.c (visibility_options): Move from ../opts.c.
9216 * c-common.h (struct visibility_flags, visibility_options):
9217 Declare here.
9218 * c-opts.c (finish_options): Rename to c_finish_options.
9219 (c_common_init): Update call to finish_options.
9220
a9546771
NP
92212010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9222
9223 PR objc/34033
9224 * c-lex.c (lex_string): Check that each string in an Objective-C
9225 string concat sequence starts with either one or zero '@', and
9226 that there are no spurious '@' signs at the end.
9227
24a57808
JM
92282010-11-20 Joseph Myers <joseph@codesourcery.com>
9229
9230 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9231 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9232 HANDLE_PRAGMA_VISIBILITY.
9233 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9234 HANDLE_PRAGMA_VISIBILITY): Don't define.
9235 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9236
a9aa2c3a
NF
92372010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9238
9239 PR c++/16189
9240 PR c++/36888
9241 PR c++/45331
9242 * c-common.h (keyword_begins_type_specifier): Declare.
9243 (keyword_is_storage_class_specifier): Declare.
9244 (keyword_is_type_qualifier): Declare.
9245 * c-common.c (keyword_begins_type_specifier): New function.
9246 (keyword_is_storage_class_specifier): New function.
9247 (keyword_is_type_qualifier): Declare.
9248
5386338c
JM
92492010-11-19 Joseph Myers <joseph@codesourcery.com>
9250
9251 PR c/46547
9252 * c-common.c (in_late_binary_op): Define.
9253 (c_common_truthvalue_conversion): Check in_late_binary_op before
9254 calling c_save_expr.
9255 * c-common.h (in_late_binary_op): Declare.
9256
69ccdddb
JM
92572010-11-19 Joseph Myers <joseph@codesourcery.com>
9258
9259 * c-opts.c (c_common_handle_option): Update calls to
9260 set_struct_debug_option.
9261
6b192a09
NP
92622010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9263
9264 * c-common.h (objc_declare_protocols): Added additional argument.
9265 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 9266
fb52b50a
NF
92672010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9268
9269 PR c/33193
9270 * c-common.h (build_real_imag_expr): Declare.
9271 * c-semantics.c (build_real_imag_expr): Define.
9272
b37421c6
JM
92732010-11-17 Joseph Myers <joseph@codesourcery.com>
9274
9275 * c-opts.c (c_common_parse_file): Take no arguments.
9276 * c-common.h (c_common_parse_file): Update prototype.
9277
07078664
JJ
92782010-11-16 Jakub Jelinek <jakub@redhat.com>
9279
9280 PR c++/46401
9281 * c-common.c (warning_candidate_p): Don't track non-const calls
9282 or STRING_CSTs.
9283
c6a13190
ILT
92842010-11-15 Ian Lance Taylor <iant@google.com>
9285
9286 * c-lex.c (init_c_lex): Set macro debug callbacks if
9287 flag_dump_go_spec is set.
9288
925e8657
NP
92892010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9290
9291 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9292 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9293
bb0a9581
NF
92942010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9295
9296 PR preprocessor/45038
9297 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9298 dialects.
9299
c5fa0890
JM
93002010-11-12 Joseph Myers <joseph@codesourcery.com>
9301
9302 * c-common.h (c_family_lang_mask): Declare.
9303 * c-opts.c (c_family_lang_mask): Make extern.
9304 * c-pragma.c (handle_pragma_diagnostic): Use
9305 control_warning_option.
9306
a4d8c676
JM
93072010-11-12 Joseph Myers <joseph@codesourcery.com>
9308
9309 * c-common.c (parse_optimize_options): Update call to
9310 decode_options.
9311 * c-common.h (c_common_handle_option): Update prototype.
9312 * c-opts.c (c_common_handle_option): Take location_t parameter and
9313 pass it to other functions.
9314
f954bd2c
JM
93152010-11-11 Joseph Myers <joseph@codesourcery.com>
9316
9317 * c-opts.c (warning_as_error_callback): Remove.
9318 (c_common_initialize_diagnostics): Don't call
9319 register_warning_as_error_callback.
9320 (c_common_handle_option): Handle -Werror=normalized= here.
9321
d8a07487
JM
93222010-11-10 Joseph Myers <joseph@codesourcery.com>
9323
9324 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
9325 in diagnostic.
9326 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9327 letter.
9328 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9329 Remove trailing '.' from diagnostics.
9330 * c.opt (Wwrite-strings_: Avoid '`' in help text.
9331
d5478783
JM
93322010-11-10 Joseph Myers <joseph@codesourcery.com>
9333
9334 * c-common.c (parse_optimize_options): Pass global_dc to
9335 decode_options.
9336 * c-opts.c (c_common_handle_option): Pass &global_options to
9337 set_Wstrict_aliasing.
9338 * c.opt (v): Don't mark Common or document here.
9339
91ebb981
IS
93402010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9341
9342 PR target/44981
9343 * c-format.c (format_type): New type gcc_objc_string_format_type.
9344 (valid_stringptr_type_p): New.
9345 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9346 (check_format_string): Pass expected type, use
91ebb981
IS
9347 valid_stringptr_type_p (), check that the format string types are
9348 consistent with the format specification.
9349 (decode_format_attr): Warn if NSString is used outside objective-c.
9350 (format_types_orig): Add NSString.
9351 (format_name): New.
9352 (format_flags): New.
9353 (check_format_arg): Handle format strings requiring an external parser.
9354 first_target_format_type: New variable.
9355 (handle_format_attribute): Set up first_target_format_type, pass the
9356 expected format arg string type to check_format_string().
9357 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
9358 * stub-objc.c (objc_string_ref_type_p): New.
9359 (objc_check_format_arg): New.
9360
bede2adc
NP
93612010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
9362
9faeb493 9363 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
9364 * c-common.h (objc_build_class_component_ref): New.
9365 * stub-objc.c (objc_build_class_component_ref): New.
9366
9a179d01
NP
93672010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9368
9369 * c.opt (Wproperty-assign-default): New option.
9370
22d8d616
NP
93712010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9372
9373 Implemented -fobjc-std=objc1 flag.
9374 * c.opt (fobjc-std=objc1): New option.
9375
2debdb4f
NP
93762010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
9377
9378 Implemented format and noreturn attributes for Objective-C methods.
9379 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9380 attribute for Objective-C methods.
9381
ec52b111
JM
93822010-10-31 Jason Merrill <jason@redhat.com>
9383
9384 * c-common.c (conversion_warning, warn_for_collisions_1): Use
9385 EXPR_LOC_OR_HERE.
9386
46a88c12
NP
93872010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
9388
9389 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9390 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9391 (objc_add_property_declaration): Removed arguments for copies and
9392 ivar.
9393 (objc_build_getter_call): Renamed to
9394 objc_maybe_build_component_ref.
9395 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9396 (objc_is_property_ref): New.
9397 * c-common.c (c_common_reswords): Removed copies and ivar.
9398 * stub-objc.c (objc_add_property_declaration): Removed arguments
9399 for copies and ivar.
9400 (objc_build_getter_call): Renamed to
9401 objc_maybe_build_component_ref.
9402 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9403 (objc_is_property_ref): New.
9faeb493 9404
1e4bf85b
AC
94052010-10-29 Arnaud Charlet <charlet@adacore.com>
9406 Matthew Gingell <gingell@adacore.com>
9407
9408 * c-ada-spec.c (separate_class_package): New function.
9409 (pp_ada_tree_identifier): Prefix references to C++ classes with the
9410 name of their enclosing package.
9411 (print_ada_declaration): Use separate_class_package.
9412
81f0bab2
JM
94132010-10-27 Jason Merrill <jason@redhat.com>
9414
2b08f2c5
JM
9415 * c-common.c (c_common_reswords): Add __is_literal_type.
9416 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9417
81f0bab2
JM
9418 * c-common.c (check_case_value): Remove special C++ code.
9419
200290f2
NP
94202010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9421
9422 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9423 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
9424 and RID_LAST_PATTR.
9425 (objc_add_property_declaration): Added additional arguments.
9426 (objc_property_attribute_kind): Removed.
9427 (objc_set_property_attr): Removed.
9428 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
9429 copy and nonatomic.
9430 * stub-objc.c (objc_add_property_declaration): Added additional
9431 arguments.
9432 (objc_set_property_attr): Removed.
9faeb493 9433
f614132b
NP
94342010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9435
9436 * c-common.h (objc_add_property_variable): Renamed to
9437 objc_add_property_declaration. Added location argument.
9438 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 9439
b8a18805
NP
94402010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
9441
9442 * c-common.h (objc_maybe_printable_name): New.
9443 * stub-objc.c (objc_maybe_printable_name): New.
9444
3f8257db
JJ
94452010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9446 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
9447
9448 * c-common.h (c_common_mark_addressable_vec): Declare.
9449 * c-common.c (c_common_mark_addressable_vec): New function.
9450
249a82c4
NP
94512010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9452
9453 * c-common.h (objc_set_method_type): Removed.
9454 (objc_add_method_declaration): Added boolean argument.
9455 (objc_start_method_definition): Same change.
9456 (objc_build_method_signature): Same change.
9457 * stub-objc.c (objc_set_method_type): Removed.
9458 (objc_add_method_declaration): Added boolean argument.
9459 (objc_start_method_definition): Same change.
9460 (objc_build_method_signature): Same change.
9461
977e30bc
NP
94622010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9463
9464 * c-common.h (finish_file): Removed.
9465 (objc_write_global_declarations): New.
9466 * c-opts.c (c_common_parse_file): Do not call finish_file.
9467 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 9468
da57d1b9
NP
94692010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9470
9471 Implemented parsing @synthesize and @dynamic for
9472 Objective-C/Objective-C++.
9473 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9474 (objc_add_synthesize_declaration): New.
9475 (objc_add_dynamic_declaration): New.
9476 * c-common.c (c_common_reswords): Add synthesize and dynamic.
9477 * stub-objc.c (objc_add_synthesize_declaration): New.
9478 (objc_add_dynamic_declaration): New.
9faeb493 9479
0069111f
MM
94802010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9481
9482 PR target/46041
9483 * c-cppbuiltin.c (mode_has_fma): Move function here from
9484 builtins.c. Don't use the fma optab, instead just use the
9485 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9486 using -save-temps.
9487
e426b47b
NP
94882010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9489
9490 Merge from 'apple/trunk' branch on FSF servers.
0069111f 9491
3f8257db 9492 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 9493
9faeb493 9494 Radar 4330422
e426b47b
NP
9495 * c-common.h (objc_non_volatilized_type): New declaration
9496 * stub-objc.c (objc_non_volatilized_type): New stub.
9497
90fbfdc3
NP
94982010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
9499
e426b47b 9500 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 9501
3f8257db 9502 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 9503
9faeb493 9504 Radar 4133425
90fbfdc3 9505 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 9506 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 9507
c37d8c30
IS
95082010-10-17 Iain Sandoe <iains@gcc.gnu.org>
9509
9510 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9511 * c-common.h (enum rid): Add RID_AT_PACKAGE.
9512 (objc_ivar_visibility_kind): New enum.
9513 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 9514 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
9515 visibility enum.
9516
1b1562a5
MM
95172010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9518
9519 * c-cppbuiltin.c (builtin_define_float_constants): Emit
9520 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
9521 has the appropriate fma builtins.
9522 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
9523
668ea4b1
IS
95242010-10-14 Iain Sandoe <iains@gcc.gnu.org>
9525
1b1562a5 9526 merge from FSF apple 'trunk' branch.
3f8257db 9527 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 9528
668ea4b1
IS
9529 Radars 4436866, 4505126, 4506903, 4517826
9530 * c-common.c (c_common_resword): Define @property and its attributes.
9531 * c-common.h: Define property attribute enum entries.
9532 (OBJC_IS_PATTR_KEYWORD): New.
9533 (objc_property_attribute_kind): New enum.
9534 Declare objc_set_property_attr (), objc_add_property_variable (),
9535 objc_build_getter_call () and objc_build_setter_call ().
9536 * stub-objc.c (objc_set_property_attr): New stub.
9537 (objc_add_property_variable): Likewise.
9538 (objc_build_getter_call): Likewise.
9539 (objc_build_setter_call) Likewise.
1b1562a5 9540
a1178b30
IS
95412010-10-13 Iain Sandoe <iains@gcc.gnu.org>
9542
1b1562a5 9543 merge from FSF apple 'trunk' branch.
3f8257db 9544 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
9545
9546 Radar 3803157 (method attributes)
9547 * c-common.c (handle_deprecated_attribute): Recognize
9548 objc methods as valid declarations.
9549 * c-common.h: Declare objc_method_decl ().
1b1562a5 9550 * stub-objc.c (objc_method_decl): New stub.
a1178b30 9551
a75bfaa6
JM
95522010-10-08 Joseph Myers <joseph@codesourcery.com>
9553
9554 * c-common.c (parse_optimize_options): Call
9555 decode_cmdline_options_to_array_default_mask before
9556 decode_options. Update arguments to decode_options.
9557 * c-common.h (c_common_init_options_struct): Declare.
9558 * c-opts.c (c_common_init_options_struct): New. Split out from
9559 c_common_init_options.
9560
f05b9d93
NP
95612010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
9562
9563 Implemented fast enumeration for Objective-C.
9564 * c-common.h (objc_finish_foreach_loop): New.
9565 * stub-objc.c (objc_finish_foreach_loop): New.
9566
1ebe4b4f
JM
95672010-10-05 Joseph Myers <joseph@codesourcery.com>
9568
9569 * c-common.h (struct diagnostic_context): Don't declare here.
9570 (c_common_initialize_diagnostics): Declare using
9571 diagnostic_context typedef.
9572 * c-opts.c (c_common_handle_option): Pass global_dc to
9573 handle_generated_option.
9574
d4d24ba4
JM
95752010-10-04 Joseph Myers <joseph@codesourcery.com>
9576
9577 * c-opts.c (c_common_handle_option): Pass &global_options_set to
9578 handle_generated_option.
9579
478a1c5b
ILT
95802010-10-03 Ian Lance Taylor <iant@google.com>
9581
9582 * c.opt (-fplan9-extensions): New option.
9583
82a1c2fe
FXC
95842010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9585
9586 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
9587 Remove.
9588 (c_cpp_builtins): Call functions from cppbuiltin.c instead
9589 of duplicating code.
9590
92902b1b
IS
95912010-09-30 Iain Sandoe <iains@gcc.gnu.org>
9592
9593 * c-common.c: Add two new entries for @optional
9594 and @required keywords.
9595
9596 merge from FSF 'apple/trunk' branch.
3f8257db 9597 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
9598
9599 Radar 4386773
9600 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
9601 objective-c keywords.
9602 (objc_set_method_opt): New declaration.
9603 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 9604
46625112
JM
96052010-09-30 Joseph Myers <joseph@codesourcery.com>
9606
9607 * c-common.c (handle_optimize_attribute): Pass &global_options to
9608 cl_optimization_save and cl_optimization_restore.
9609 * c-opts.c (c_common_handle_option): Pass &global_options to
9610 handle_generated_option.
9611 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
9612 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
9613 &global_options to cl_optimization_restore.
9614
49b91f05
NP
96152010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
9616
9617 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
9618 Objective-C/Objective-C++ keywords.
9619
13ed556f 96202010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 9621
9faeb493
UB
9622 Merge from 'apple/trunk' branch on FSF servers.
9623
3f8257db 9624 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
9625
9626 Radar 4281748
9627 * c-common.h (objc_check_global_decl): New declaration.
9628 * stub-objc.c (objc_check_global_decl): New stub.
9629
f0036cca
JM
96302010-09-29 Joseph Myers <joseph@codesourcery.com>
9631
9632 * c.opt: Don't use VarExists.
9633
e3339d0f
JM
96342010-09-29 Joseph Myers <joseph@codesourcery.com>
9635
9636 * c-common.c (c_cpp_error): Update names of diagnostic_context
9637 members.
9638 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
9639 cl_optimization members.
9640 * c-opts.c (warning_as_error_callback, c_common_handle_option,
9641 sanitize_cpp_opts, finish_options): Update names of cpp_options
9642 members.
9643
1973201f
NP
96442010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
9645
9646 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
9647 (objc_is_reserved_word): Removed.
9648 * c-common.c: Updated comments.
9649 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
9650 objc_is_reserved_word.
9651 * stub-objc.c (objc_is_reserved_word): Removed.
9652
f7e71da5
IS
96532010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9654
9faeb493 9655 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
9656 include attributes.
9657 (objc_start_method_definition): Likewise.
9658 (objc_build_keyword_decl): Likewise.
9659 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
9660 (objc_start_method_definition): Likewise.
9661 (objc_build_keyword_decl): Likewise.
9662
c165dca7
IS
96632010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9664
9665 * c-common.h (objc_start_class_interface): Adjust prototype.
9666 (objc_start_category_interface): Likewise.
9667 (objc_start_protocol): Likewise.
9668 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
9669 (objc_start_class_interface): Likewise.
9670 (objc_start_category_interface): Likewise.
9671
7458026b
ILT
96722010-09-27 Ian Lance Taylor <iant@google.com>
9673
9674 * c-common.c (c_common_attribute_table): Add no_split_stack.
9675 (handle_no_split_stack_attribute): New static function.
9676
b581b85b
NP
96772010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
9678
9faeb493 9679 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 9680
3f8257db 9681 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 9682
9faeb493 9683 Radar 4229905
b581b85b
NP
9684 * c-common.h (objc_have_common_type): New declaration.
9685 * stub-objc.c (objc_have_common_type): New stub.
9686
9687 2005-06-22 Ziemowit Laski <zlaski@apple.com>
9688
9689 Radar 4154928
9690 * c-common.h (objc_common_type): New prototype.
9faeb493 9691 * stub-objc.c (objc_common_type): New stub.
b581b85b 9692
46a4da10
JH
96932010-09-24 Jan Hubicka <jh@suse.cz>
9694
9695 * c-common.c (handle_leaf_attribute): New function.
9696 (struct attribute_spec c_common_att): Add leaf.
9697
e200444e
JM
96982010-09-22 Joseph Myers <joseph@codesourcery.com>
9699
9700 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
9701 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
9702 -dump, -dump=, -imacros, -imacros=, -include, -include=,
9703 -include-barrier, -include-directory, -include-directory=,
9704 -include-directory-after, -include-directory-after=,
9705 -include-prefix, -include-prefix=, -include-with-prefix,
9706 -include-with-prefix=, -include-with-prefix-after,
9707 -include-with-prefix-after=, -include-with-prefix-before,
9708 -include-with-prefix-before=, -no-integrated-cpp,
9709 -no-line-commands, -no-standard-includes, -no-warnings, -output,
9710 -output=, -pedantic, -pedantic-errors, -preprocess,
9711 -print-missing-file-dependencies, -trace-includes, -traditional,
9712 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9713 -user-dependencies, -verbose, -write-dependencies,
9714 -write-user-dependencies, no-integrated-cpp, traditional): New.
9715
29a80ea6
NP
97162010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9717
9718 PR objc/23710
ac1fc2fc
NP
9719 * c-common.h (objc_start_method_definition): Return bool instead
9720 of void.
9721 * stub-objc.c (objc_start_method_definition): Return bool instead
9722 of void.
9723
97242010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9725
9726 PR objc/25965
9727 * c-common.h (objc_get_interface_ivars): New declaration.
9728 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 9729
de621752
ILT
97302010-09-15 Ian Lance Taylor <iant@google.com>
9731
9732 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 9733 messages. Remove period at end of warning message.
de621752 9734
ba885ec5
NS
97352010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9736
9737 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9738 (handle_alias_attribute): ... here.
9739 (handle_ifunc_attribute): New.
9740
c5ee1358
MM
97412010-09-06 Mark Mitchell <mark@codesourcery.com>
9742
9743 * c-common.h (do_warn_double_promotion): Declare.
9744 * c-common.c (do_warn_double_promotion): Define.
9745
0a0b3574
MM
97462010-09-05 Mark Mitchell <mark@codesourcery.com>
9747
9748 * c.opt (Wdouble-promotion): New.
9749
d1779886
JM
97502010-09-02 Joseph Myers <joseph@codesourcery.com>
9751
9752 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9753 fvtable-thunks, fxref): Mark no longer supported in help text.
9754
2d2bd949
JM
97552010-09-02 Joseph Myers <joseph@codesourcery.com>
9756
9757 * c.opt (Wimport, fall-virtual, falt-external-templates,
9758 fdefault-inline, fenum-int-equiv, fexternal-templates,
9759 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9760 fname-mangling-version-, fnew-abi, fnonnull-objects,
9761 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9762 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9763 applicable.
9764 (fhandle-exceptions): Mark with Alias and Warn.
9765 * c-opts.c (c_common_handle_option): Don't handle options marked
9766 as ignored.
9767
5de8299c
JM
97682010-09-02 Joseph Myers <joseph@codesourcery.com>
9769
9770 * c.opt (Wcomments, Werror-implicit-function-declaration,
9771 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9772 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9773 aliases.
9774 * c-common.c (option_codes): Use OPT_Wcomment instead of
9775 OPT_Wcomments.
9776 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9777 Don't handle options marked as aliases.
9778
0ceb0201
RG
97792010-08-25 Richard Guenther <rguenther@suse.de>
9780
9781 * c-common.c (c_common_get_alias_set): Remove special
9782 handling for pointers.
9783
ac47786e
NF
97842010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9785
9786 * c-common.c: Use FOR_EACH_VEC_ELT.
9787 * c-gimplify.c: Likewise.
9788 * c-pragma.c: Likewise.
9789
c878765b
JM
97902010-08-16 Joseph Myers <joseph@codesourcery.com>
9791
9792 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9793 RejectDriver.
9794 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9795 RejectDriver.
9796 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9797 instead of OPT_MDX and OPT_MMDX.
9798
603349bf
JM
97992010-08-16 Joseph Myers <joseph@codesourcery.com>
9800
9801 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9802
644fa7ac
JM
98032010-08-12 Joseph Myers <joseph@codesourcery.com>
9804
9805 * c.opt (MD, MMD): Change to MDX and MMDX.
9806 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9807
481e1176
JM
98082010-08-11 Joseph Myers <joseph@codesourcery.com>
9809
9810 * c-opts.c (c_common_handle_option): Call handle_generated_option
9811 instead of handle_option.
9812
ac8dc9f7
NF
98132010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9814
9815 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9816 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9817
4f8c876d
NF
98182010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9819
9820 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9821 (pending_redefine_extname): Change type to a VEC.
9822 (add_to_renaming_pragma_list): Update for new type of
9823 pending_redefine_extname.
ac8dc9f7 9824 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9825
3b0c690e
AC
98262010-08-04 Arnaud Charlet <charlet@adacore.com>
9827
9828 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9829 visited.
9830 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9831 decide whether a type has already been declared/seen.
9832 Do not go to the original type.
9833 (dump_nested_types): New parameter forward.
9834 Generate forward declaration if needed and mark type as visited.
9835 (print_ada_declaration): Call dump_nested_types if not already done.
9836 Mark types as visited.
9837
1890bccc
JM
98382010-08-03 Joseph Myers <joseph@codesourcery.com>
9839
9840 * c.opt (-print-pch-checksum): Remove option.
9841 * c-opts.c (c_common_handle_option): Don't handle
9842 OPT_print_pch_checksum.
9843
5f20c657
JM
98442010-07-27 Joseph Myers <joseph@codesourcery.com>
9845
9846 * c-common.h (c_common_handle_option): Update prototype and return
9847 value type.
9848 * c-opts.c (c_common_handle_option): Update prototype and return
9849 value type. Update calls to handle_option and
9850 enable_warning_as_error.
9851
f551f80c
JJ
98522010-07-27 Jakub Jelinek <jakub@redhat.com>
9853
9854 PR c/45079
9855 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9856
61ff2bdc
JM
98572010-07-27 Joseph Myers <joseph@codesourcery.com>
9858
9859 * c-common.h (c_common_missing_argument): Remove.
9860 * c-opts.c (c_common_missing_argument): Remove.
9861 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9862 idirafter, imacros, include, isysroot, isystem, iquote): Add
9863 MissingArgError.
9864 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9865
7a9bf9a4
JM
98662010-07-27 Joseph Myers <joseph@codesourcery.com>
9867
9868 * c-common.h (c_common_option_lang_mask,
9869 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9870 New.
9871 (c_common_init_options): Update prototype.
9872 * c-opts.c (c_common_option_lang_mask): New.
9873 (c_common_initialize_diagnostics): Split out of
9874 c_common_init_options.
9875 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9876 New.
9877 (c_common_init_options): Update prototype. Use decoded options in
9878 search for -lang-asm.
9879
910ad8de
NF
98802010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9881
9882 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9883 * c-format.c: Likewise.
9884
718f9c0f
MLI
98852010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9886
9887 * c-common.h: Include diagnostic-core.h. Error if already
9888 included.
9889 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9890
4d451982
MLI
98912010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9892
adfac8df 9893 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9894 Do not include expr.h
9895 (vector_mode_valid_p): Move here.
9896
119fe915
SB
98972010-06-21 DJ Delorie <dj@redhat.com>
9898
9899 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9900 allow these pragmas anywhere.
9901
99022010-06-14 Jakub Jelinek <jakub@redhat.com>
9903
9904 PR bootstrap/44509
9905 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9906 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9907 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9908 ggc_strdup instead of xstrdup.
9909
99102010-06-10 Jakub Jelinek <jakub@redhat.com>
9911
9912 * c-cppbuiltin.c: Include cpp-id-data.h.
9913 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9914 (lazy_hex_fp_value): New function.
9915 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9916
6662d794
MLI
99172010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9918
9919 * c-gimplify.c: Do not include tree-flow.h
9920
38f8b050
JR
99212010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9922
9923 PR other/44034
9924 * c-common.c: Rename targetm member:
9925 targetm.enum_va_list -> targetm.enum_va_list_p
9926
9589f23e
AS
99272010-06-28 Anatoly Sokolov <aesok@post.ru>
9928
9929 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9930
3b06d379
SB
99312010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9932
9933 * c-cppbuiltin.c: Do not include except.h.
9934
d166d4c3
AK
99352010-06-24 Andi Kleen <ak@linux.intel.com>
9936
9faeb493
UB
9937 * c-common.c (warn_for_omitted_condop): New.
9938 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9939
70cb8be6
JM
99402010-06-21 Joseph Myers <joseph@codesourcery.com>
9941
9942 * c.opt (lang-objc): Remove.
9943 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9944
a4c97feb
JR
99452010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9946
9947 * c-opts.c: Include "tm_p.h".
9948
6e2f1956
JM
99492010-06-20 Joseph Myers <joseph@codesourcery.com>
9950
9951 * c-common.c (parse_optimize_options): Update call to
9952 decode_options.
9953
bc87224e
NF
99542010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9955
9956 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9957 new type of types_used_by_cur_var_decl.
9958
b49cf425
JR
99592010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9960
9961 PR bootstrap/44512
9962 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9963 for C++ standard compliance.
9964
59f9c2ed
JM
99652010-06-16 Jason Merrill <jason@redhat.com>
9966
9967 * c.opt: Add -Wnoexcept.
9968
33766b66
RG
99692010-06-16 Richard Guenther <rguenther@suse.de>
9970
9971 PR c/44555
9972 * c-common.c (c_common_truthvalue_conversion): Remove
9973 premature and wrong optimization concering ADDR_EXPRs.
9974
eff7e30c
AC
99752010-06-15 Arnaud Charlet <charlet@adacore.com>
9976
9977 * c-ada-spec.c (dump_sloc): Remove column info.
9978 (is_simple_enum): New function.
9979 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9980 enum types when relevant.
9981
6312e84d
MLI
99822010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9983
9faeb493 9984 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9985 location.
9986
1cb42611
JM
99872010-06-10 Joseph Myers <joseph@codesourcery.com>
9988
9989 * c-opts.c (c_common_handle_option): Don't handle
9990 OPT_fshow_column.
9991
a9429e29
LB
99922010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9993
9994 * c-pragma.c (push_alignment): Use typed GC allocation.
9995 (handle_pragma_push_options): Likewise.
9996
9997 * c-common.c (parse_optimize_options): Likewise.
9998
9999 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10000 option.
10001
5498f011
JM
100022010-06-07 Joseph Myers <joseph@codesourcery.com>
10003
10004 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10005 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10006 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10007 flag_signed_bitfields, warn_strict_null_sentinel,
10008 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10009 flag_gen_declaration, flag_no_gnu_keywords,
10010 flag_implement_inlines, flag_implicit_templates,
10011 flag_implicit_inline_templates, flag_optional_diags,
10012 flag_elide_constructors, flag_default_inline, flag_rtti,
10013 flag_conserve_space, flag_access_control, flag_check_new,
10014 flag_new_for_scope, flag_weak, flag_working_directory,
10015 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10016 flag_enforce_eh_specs, flag_threadsafe_statics,
10017 flag_pretty_templates): Remove.
10018 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10019 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10020 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10021 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10022 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10023 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10024 flag_no_gnu_keywords, flag_implement_inlines,
10025 flag_implicit_templates, flag_implicit_inline_templates,
10026 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10027 flag_rtti, flag_conserve_space, flag_access_control,
10028 flag_check_new, flag_new_for_scope, flag_weak,
10029 flag_working_directory, flag_use_cxa_atexit,
10030 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10031 flag_threadsafe_statics, flag_pretty_templates,
10032 warn_strict_null_sentinel): Remove.
10033 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10034 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10035 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10036 fimplicit-inline-templates, fimplicit-templates,
10037 flax-vector-conversions, fms-extensions, fnil-receivers,
10038 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10039 frtti, fshort-double, fshort-enums, fshort-wchar,
10040 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10041 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10042 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10043 gen-decls, undef): Use Var.
10044 (fdefault-inline, foptional-diags): Document as doing nothing.
10045 * c-opts.c (c_common_handle_option): Remove cases for options now
10046 using Var. Mark ignored options as such.
10047
39dabefd
SB
100482010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10049
9faeb493 10050 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10051 * c-common.def: Likewise.
10052 * c-common.h: Likewise.
10053 * c-cppbuiltin.c: Likewise.
10054 * c-dump.c: Likewise.
10055 * c-format.c: Likewise.
10056 * c-format.h : Likewise.
10057 * c-gimplify.c: Likewise.
10058 * c-lex.c: Likewise.
10059 * c-omp.c: Likewise.
10060 * c.opt: Likewise.
10061 * c-opts.c: Likewise.
10062 * c-pch.c: Likewise.
10063 * c-ppoutput.c: Likewise.
10064 * c-pragma.c: Likewise.
10065 * c-pragma.h: Likewise.
10066 * c-pretty-print.c: Likewise.
10067 * c-pretty-print.h: Likewise.
10068 * c-semantics.c: Likewise.
10069 * stub-objc.c: Likewise.
10070
10071 * c-common.c: Include gt-c-family-c-common.h.
10072 * c-pragma.c: Include gt-c-family-c-pragma.h.
10073\f
a5544970 10074Copyright (C) 2010-2019 Free Software Foundation, Inc.
39dabefd
SB
10075
10076Copying and distribution of this file, with or without modification,
10077are permitted in any medium without royalty provided the copyright
10078notice and this notice are preserved.