]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
Do not instrument static target_expr for use-after-scope (PR sanitizer/90570).
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
6d86ddc4
ML
12019-05-22 Martin Liska <mliska@suse.cz>
2
3 PR lto/90500
4 * c-attribs.c (handle_copy_attribute): Do not copy
5 target_clones attribute.
6
419ba5b9
EB
72019-05-21 Eric Botcazou <ebotcazou@adacore.com>
8
9 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
10 * c-ada-spec.c (print_assignment_operator): New function.
11 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
12 assignment operators declared as methods and filter out the others.
13
e03436e7
TS
142019-05-17 Thomas Schwinge <thomas@codesourcery.com>
15
16 PR c/89433
17 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
18 "omp declare target".
19
a9c697b8
MS
202019-05-16 Martin Sebor <msebor@redhat.com>
21
22 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
23 keywords, operators, and types in diagnostics.
24 (handle_scalar_storage_order_attribute): Same.
25 (handle_mode_attribute): Same.
26 (handle_visibility_attribute): Same.
27 (handle_assume_aligned_attribute): Same.
28 (handle_no_split_stack_attribute): Same.
29 * c-common.c (shorten_compare): Same.
30 (c_common_truthvalue_conversion): Same.
31 (cb_get_source_date_epoch): Same.
32 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
33 in diagnostics.
34 (interpret_float): Same.
35 * c-omp.c (c_finish_omp_for): Same.
36 * c-opts.c (c_common_post_options): Same.
37 * c-pch.c (c_common_pch_pragma): Same.
38 * c-pragma.c (pop_alignment): Same.
39 (handle_pragma_pack): Same.
40 (apply_pragma_weak): Same.
41 (handle_pragma_weak): Same.
42 (handle_pragma_scalar_storage_order): Same.
43 (handle_pragma_redefine_extname): Same.
44 (add_to_renaming_pragma_list): Same.
45 (maybe_apply_renaming_pragma): Same.
46 (push_visibility): Same.
47 (handle_pragma_visibility): Same.
48 (handle_pragma_optimize): Same.
49 (handle_pragma_message): Same.
50 * c-warn.c (warn_for_omitted_condop): Same.
51 (lvalue_error): Same.
52
6b943512
RB
532019-05-15 Richard Biener <rguenther@suse.de>
54
55 PR c/90474
56 * c-common.c (c_common_mark_addressable_vec): Also mark
57 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
58 c_mark_addressable.
59
b744fc85
NS
602019-05-06 Nathan Sidwell <nathan@acm.org>
61
62 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
63
598f50d7
NS
642019-04-30 Nathan Sidwell <nathan@acm.org>
65
66 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
67
5bcc5a3b
ML
682019-04-30 Martin Liska <mliska@suse.cz>
69
70 * c-pragma.c (handle_pragma_diagnostic): Provide hints
71 for unknown options.
72
e78a87f7
RS
732019-04-26 Richard Sandiford <richard.sandiford@arm.com>
74
75 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
76 the pointer target rather than the pointer itself.
77
c280b7ee
JJ
782019-04-19 Jakub Jelinek <jakub@redhat.com>
79
80 PR c/89888
81 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
82 arguments.
83 (c_do_switch_warnings): Remove outside_range_p argument.
84 * c-common.c (check_case_bounds): Removed.
85 (c_add_case_label): Remove orig_type and outside_range_p arguments.
86 Don't call check_case_bounds. Fold low_value as well as high_value.
87 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
88 Check for case labels outside of range of original type here and
89 adjust them.
90
8e8225e6
JJ
912019-04-12 Jakub Jelinek <jakub@redhat.com>
92
63b8a166
JJ
93 PR translation/90041
94 * c.opt (-fhandle-exceptions): Use %< and %> around option names
95 in the Warn diagnostics.
96
8e8225e6
JJ
97 PR c/89946
98 * c-attribs.c (handle_patchable_function_entry_attribute): Add
99 function comment. Warn if arguments of the attribute are not positive
100 integer constants.
101
53a3f614
EB
1022019-04-09 Eric Botcazou <ebotcazou@adacore.com>
103
104 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
105 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
106
22be5873
EB
1072019-04-07 Eric Botcazou <ebotcazou@adacore.com>
108
109 * c-ada-spec.c (is_float128): New predicate extracted from...
110 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
111 <REAL_TYPE>: ...here. Call it.
112
34facf20
DM
1132019-04-05 David Malcolm <dmalcolm@redhat.com>
114
115 PR c/89985
116 * c-warn.c (check_address_or_pointer_of_packed_member): Add
117 auto_diagnostic_group. Guard inform calls by result of
118 warning_at call.
119
05564120
MP
1202019-04-05 Marek Polacek <polacek@redhat.com>
121
122 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
123 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
124 of RHS.
125
7a506c3c
JM
1262019-04-03 Jason Merrill <jason@redhat.com>
127
128 PR c++/86586 - -fcompare-debug=-Wsign-compare.
129 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
130
ddeae8c8
MS
1312019-04-01 Martin Sebor <msebor@redhat.com>
132
133 PR c/89685
134 * c-attribs.c (handle_copy_attribute): Handle references and
135 non-constant expressions.
136
a15ffa22
JJ
1372019-03-22 Jakub Jelinek <jakub@redhat.com>
138
139 PR c++/87481
140 * c.opt (-fconstexpr-ops-limit=): New option.
141
36a3a7a3
JJ
1422019-03-21 Jakub Jelinek <jakub@redhat.com>
143
144 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
145 template param.
146
bec1da64
MS
1472019-03-19 Martin Sebor <msebor@redhat.com>
148
149 PR tree-optimization/89688
150 * c-common.c (braced_list_to_string): Make static.
151 (braced_lists_to_strings): Define new function.
152 * c-common.h (braced_list_to_string): Remove.
153 (braced_lists_to_strings): Declare.
154
1fe61adf
ML
1552019-03-12 Martin Liska <mliska@suse.cz>
156
157 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
158
93964ebd
ML
1592019-03-11 Martin Liska <mliska@suse.cz>
160
161 * c-opts.c (c_common_post_options): Wrap apostrophes
162 in gcc internal format with %'.
163
a3f9f006
ML
1642019-03-11 Martin Liska <mliska@suse.cz>
165
166 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
167 in a string format message and fix GNU coding style.
168 * c-common.c (vector_types_convertible_p): Likewise.
169 (c_build_vec_perm_expr): Likewise.
170 * c-indentation.c (get_visual_column): Likewise.
171 * c-opts.c (c_common_handle_option): Likewise.
172 (c_common_post_options): Likewise.
173 (sanitize_cpp_opts): Likewise.
174 * c-pch.c (c_common_pch_pragma): Likewise.
175 * c-pragma.c (handle_pragma_pack): Likewise.
176
1db01ff9
JJ
1772019-03-08 Jakub Jelinek <jakub@redhat.com>
178
179 PR tree-optimization/89550
180 * c-common.c (c_common_truthvalue_conversion): Only set
181 TREE_NO_WARNING if warning_at returned true.
182 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
183
ba790e6f
JJ
1842019-02-25 Sandra Loosemore <sandra@codesourcery.com>
185 Martin Sebor <msebor@gmail.com>
186
187 * c.opt (Wmissing-attributes): Clean up doc string.
188
7da73ba7
JJ
1892019-02-25 Jakub Jelinek <jakub@redhat.com>
190
191 PR c/89495
192 * c-format.c (maybe_read_dollar_number): Compute nargnum in
193 HOST_WIDE_INT type to avoid overflows and change overflow_flag
194 checking.
195
921bb9d1
RB
1962019-02-22 Richard Biener <rguenther@suse.de>
197
198 * c-pch.c (no_checksum): Remove.
199 (pch_init): Remove assertion that executable_checksum is not
200 all zero.
201 (c_common_valid_pch): Likewise.
202
e2ebb05c
MS
2032019-02-18 Martin Sebor <msebor@redhat.com>
204
205 PR middle-end/89294
206 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
207
3fe53000
DM
2082019-02-16 David Malcolm <dmalcolm@redhat.com>
209
210 PR c++/88680
211 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
212 implementing -Wtype-limits.
213
28a8cef1
MS
2142019-02-11 Martin Sebor <msebor@redhat.com>
215
216 PR c++/87996
217 * c-common.c (invalid_array_size_error): New function.
218 (valid_array_size_p): Call it. Handle size as well as type.
219 * c-common.h (valid_constant_size_p): New function.
220 (enum cst_size_error): New type.
221
ec2be203
DM
2222019-01-31 David Malcolm <dmalcolm@redhat.com>
223
224 PR c/89122
225 * known-headers.cc (get_stdlib_header_for_name): Add
226 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
227
8936f047
JJ
2282019-01-31 Jakub Jelinek <jakub@redhat.com>
229
230 PR libstdc++/88170
231 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
232 a C cast in pp_c_flag_gnu_v3 mode.
233
6a335b96
JJ
2342019-01-29 Jakub Jelinek <jakub@redhat.com>
235
236 PR c/86125
237 * c-common.c (c_common_nodes_and_builtins): Build type variants for
238 builtin_structptr_types types even for C.
239
2a06eba5
BE
2402019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
241
242 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
243 when rhs is of array type correctly. Fix handling of nested structures.
244 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
245 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
246 type casts within nested compound expressions.
247
18a23298
JJ
2482019-01-22 Jakub Jelinek <jakub@redhat.com>
249
250 PR middle-end/88968
251 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
252 variable after using BIT_FIELD_REF.
253
420183d9
L
2542019-01-18 H.J. Lu <hongjiu.lu@intel.com>
255
256 PR c/51628
257 PR c/88664
258 * c-common.h (warn_for_address_or_pointer_of_packed_member):
259 Remove the boolean argument.
260 * c-warn.c (check_address_of_packed_member): Renamed to ...
261 (check_address_or_pointer_of_packed_member): This. Also
262 warn pointer conversion.
263 (check_and_warn_address_of_packed_member): Renamed to ...
264 (check_and_warn_address_or_pointer_of_packed_member): This.
265 Also warn pointer conversion.
266 (warn_for_address_or_pointer_of_packed_member): Remove the
267 boolean argument. Don't check pointer conversion here.
268
99063eee
RS
2692019-01-15 Richard Sandiford <richard.sandiford@arm.com>
270
271 PR inline-asm/52813
272 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
273
a30d0196
JJ
2742019-01-14 Jakub Jelinek <jakub@redhat.com>
275
276 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
277 and __cpp_nontype_template_parameter_auto. Add a comment that
278 __cpp_template_auto is deprecated.
279
2d91f79d
TH
2802019-01-14 Tom Honermann <tom@honermann.net>
281
282 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
283 * c-common.c (c_common_reswords): Add char8_t.
284 (fix_string_type): Use char8_t for the type of u8 string literals.
285 (c_common_get_alias_set): char8_t doesn't alias.
286 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
287 C++.
288 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
289 (keyword_begins_type_specifier): Add RID_CHAR8.
290 * c-common.h (rid): Add RID_CHAR8.
291 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
292 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
293 Define char8_type_node and char8_array_type_node.
294 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
295 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
296 (c_cpp_builtins): Predefine __cpp_char8_t.
297 * c-lex.c (lex_string): Use char8_array_type_node as the type of
298 CPP_UTF8STRING.
299 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
300 * c-opts.c: If not otherwise specified, enable -fchar8_t when
301 targeting C++2a.
302 * c.opt: Add the -fchar8_t command line option.
303
23db6ced
MS
3042019-01-14 Martin Sebor <msebor@redhat.com>
305
306 PR target/88638
307 * c-attribs.c (positional_argument): Call valid_format_string_type_p
308 and issue errors if it fails.
309 * c-common.h (valid_format_string_type_p): Declare.
310 * c-format.c (valid_stringptr_type_p): Rename...
311 (valid_format_string_type_p): ...to this and make extern.
312 (handle_format_arg_attribute): Adjust to new name.
313 (check_format_string): Same.
314
234c3818
L
3152019-01-13 H.J. Lu <hongjiu.lu@intel.com>
316
317 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
318 Replace "may may" with "may" in warning message.
319
d8fcab68
JJ
3202019-01-07 Jakub Jelinek <jakub@redhat.com>
321
322 PR c++/85052
323 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
324 (c_build_vec_convert): Declare.
325 * c-common.c (c_build_vec_convert): New function.
326
29d24852
MS
3272019-01-04 Martin Sebor <msebor@redhat.com>
328
329 PR c/88546
330 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
331 Handle C++ empty throw specification and C11 _Noreturn.
332 (has_attribute): Also handle C11 _Noreturn.
333
9069a4c9
MS
3342019-01-04 Martin Sebor <msebor@redhat.com>
335
336 PR c/88363
337 * c-attribs.c (positional_argument): Also accept enumerated types.
338
a5544970
JJ
3392019-01-01 Jakub Jelinek <jakub@redhat.com>
340
341 Update copyright years.
342
da77eace
L
3432018-12-20 H.J. Lu <hongjiu.lu@intel.com>
344
345 PR c/51628
346 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
347 * c-warn.c (check_alignment_of_packed_member): New function.
348 (check_address_of_packed_member): Likewise.
349 (check_and_warn_address_of_packed_member): Likewise.
350 (warn_for_address_or_pointer_of_packed_member): Likewise.
351 * c.opt: Add -Wno-address-of-packed-member.
352
573767d4
DM
3532018-12-20 David Malcolm <dmalcolm@redhat.com>
354
355 PR c++/87504
356 * c-warn.c (get_outermost_macro_expansion): New function.
357 (spelled_the_same_p): Use it to unwind the macro expansions, and
358 compare the outermost macro in each nested expansion, rather than
359 the innermost.
360
a14feb3c
DM
3612018-12-19 David Malcolm <dmalcolm@redhat.com>
362
363 PR c++/87504
364 * c-common.h (warn_tautological_cmp): Convert 1st param from
365 location_t to const op_location_t &.
366 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
367 when testing for INTEGER_CST.
368 (warn_tautological_bitwise_comparison): Convert 1st param from
369 location_t to const op_location_t &; use it to build a
370 binary_op_rich_location, and use this.
371 (spelled_the_same_p): New function.
372 (warn_tautological_cmp): Convert 1st param from location_t to
373 const op_location_t &. Warn for macro expansions if
374 spelled_the_same_p. Use binary_op_rich_location.
375
dfd7fdca
DM
3762018-12-19 David Malcolm <dmalcolm@redhat.com>
377
378 PR c++/43064
379 PR c++/43486
380 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
381 (verify_tree): Handle location wrappers.
382 (c_common_truthvalue_conversion): Strip any location wrapper.
383 Handle CONST_DECL.
384 (fold_offsetof): Strip any location wrapper.
385 (complete_array_type): Likewise for initial_value.
386 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
387 index before checking for INTEGER_CST.
388 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
389 print parentheses around location wrappers.
390 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
391 before checking for INTEGER_CST.
392 (warn_tautological_bitwise_comparison): Call
393 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
394 before checking for INTEGER_CST.
395 (readonly_error): Strip any location wrapper.
396 (warn_array_subscript_with_type_char): Strip location wrappers
397 before checking for INTEGER_CST. Use the location of the index if
398 available.
399
5c8b3702
JM
4002018-12-06 Jason Merrill <jason@redhat.com>
401
402 PR c++/88136 - -Wdeprecated-copy false positives
403 * c.opt (Wdeprecated-copy-dtor): New.
404 (Wdeprecated-copy): Move to -Wextra.
405
673670da
MS
4062018-11-29 Martin Sebor <msebor@redhat.com>
407
408 PR c/88172
409 PR testsuite/88208
410 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
411 alignments to values less than the target requires.
412 (has_attribute): For attribute aligned consider both the attribute
413 and the alignment bits.
414 * c-common.c (c_init_attributes): Optionally issue a warning for
415 zero alignment.
416
04864ec8
MS
4172018-11-28 Martin Sebor <msebor@redhat.com>
418
419 PR c/88065
420 PR c/87297
421 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
422 or destination is an error.
423
ace83db0
JJ
4242018-11-28 Jakub Jelinek <jakub@redhat.com>
425
426 PR c++/88215
427 * c-ubsan.c: Include langhooks.h.
428 (ubsan_instrument_division): Change gcc_assert that main variants
429 of op0 and op1 types are equal to gcc_checking_assert that the
430 main variants are compatible types.
431
da193a27
EB
4322018-11-27 Eric Botcazou <ebotcazou@adacore.com>
433
434 * c-ada-spec.c: Include stringpool.h.
435 (has_static_fields): Return false for incomplete types.
436 (is_tagged_type): Likewise.
437 (has_nontrivial_methods): Likewise.
438 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
439 (struct overloaded_name_hash): New structure.
440 (struct overloaded_name_hasher): Likewise.
441 (overloaded_names): New global variable.
442 (init_overloaded_names): New static function.
443 (overloaded_name_p): New predicate.
444 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
445 on the TYPE_STUB_DECL of the original type of a typedef, if any.
446 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
447 Remove always-true condition and dump forward types.
448 (dump_ada_specs): Delete overloaded_names.
449
98f08eb8
MS
4502018-11-20 Martin Sebor <msebor@redhat.com>
451
452 * c-attribs.c (type_for_vector_size): New function.
453 (type_valid_for_vector_size): Same.
454 (handle_vector_size_attribute): Move code to the functions above
455 and call them.
456 (validate_attribute, has_attribute): New functions.
457 * c-common.h (has_attribute): Declare.
458 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
459 * c-common.c (c_common_resword): Same.
460
2674fa47
JM
4612018-11-16 Jason Merrill <jason@redhat.com>
462
463 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
464 * c-attribs.c (attr_cold_hot_exclusions): Make public.
465
258b3854
JJ
4662018-11-16 Jakub Jelinek <jakub@redhat.com>
467
468 PR middle-end/87854
469 * c-common.c (fix_string_type): Reject string literals larger than
470 TYPE_MAX_VALUE (ssizetype) bytes.
471
1d249509
MS
4722018-11-15 Martin Sebor <msebor@redhat.com>
473
474 PR c++/87541
475 PR c++/87542
476 * c-attribs.c (positional_argument): New function.
477 (handle_alloc_size_attribute): Use it and simplify.
478 (handle_alloc_align_attribute): Same.
479 (handle_assume_aligned_attribute): Same.
480 (handle_nonnull_attribute): Same.
481 * c-common.c (check_function_arguments): Pass fntype to
482 check_function_format.
483 * c-common.h (check_function_format): Add an argument.
484 (PosArgFlags, positional_argument): Declare new type and function.
485 * c-format.c (decode_format_attr): Add arguments.
486 (check_format_string, get_constant): Same.
487 (convert_format_name_to_system_name): Adjust.
488
478dd60d
DM
4892018-11-15 David Malcolm <dmalcolm@redhat.com>
490
491 PR other/19165
492 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
493
8cca0163
JJ
4942018-11-14 Jakub Jelinek <jakub@redhat.com>
495
8ee09943
JJ
496 P1236R1 - Signed integers are two's complement
497 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
498 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
499 with in-range second operand well defined for -std=c++2a.
500
8cca0163
JJ
501 PR other/88007
502 * c-common.c (parse_optimize_options): Allocate option string from
503 opts_obstack rather than as GC memory. Move the allocation after
504 warning for invalid option.
505
620e594b
DM
5062018-11-13 David Malcolm <dmalcolm@redhat.com>
507
508 * c-common.c (c_get_substring_location): Update for renaming of
509 get_source_location_for_substring to get_location_within_string.
510 * c-lex.c: Replace "source_location" with "location_t".
511 * c-opts.c: Likewise.
512 * c-ppoutput.c: Likewise.
513
f9731de3
MS
5142018-11-13 Martin Sebor <msebor@redhat.com>
515
516 PR middle-end/81824
517 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
518 (handle_tls_model_attribute): Improve diagnostics.
519
e4bd6d5e
JM
5202018-11-12 Jason Merrill <jason@redhat.com>
521
a6bb6b07
JM
522 * c-cppbuiltin.c (c_cpp_builtins): Define
523 __cpp_impl_destroying_delete.
524
e4bd6d5e
JM
525 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
526 __cpp_conditional_explicit.
527
79a2c428
MS
5282018-11-09 Martin Sebor <msebor@redhat.com>
529
530 PR middle-end/81824
531 * c-attribs.c (handle_copy_attribute): New function.
532
4c7bd361
MS
5332018-11-09 Martin Sebor <msebor@redhat.com>
534
535 PR c/87795
536 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
537
28567c40
JJ
5382018-11-08 Jakub Jelinek <jakub@redhat.com>
539
540 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
541 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
542 enum omp_memory_order MEMORY_ORDER.
543 (c_finish_omp_flush): Add MO argument.
544 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
545 (c_finish_omp_for): Add FINAL_P argument.
546 * c-omp.c: Include memmodel.h.
547 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
548 OMP_TASKGROUP_CLAUSES to it.
549 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
550 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
551 instead of OMP_ATOMIC_SEQ_CST.
552 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
553 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
554 __atomic_thread_fence call with the given value.
555 (check_omp_for_incr_expr): Formatting fixes.
556 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
557 even in OpenMP loops, diagnose if NE_EXPR and incr expression
558 is not constant expression 1 or -1. Transform NE_EXPR loops
559 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
560 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
561 loops too.
562 (c_omp_split_clauses): Add support for combined
563 #pragma omp parallel master and
564 #pragma omp {,parallel }master taskloop{, simd} constructs.
565 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
566 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
567 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
568 (c_omp_predetermined_sharing): Don't return
569 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
570 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
571 PRAGMA_OMP_REQUIRES.
572 * c-pragma.h (enum pragma_kind): Likewise.
573 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
574 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
575
204839e7
DM
5762018-11-08 David Malcolm <dmalcolm@redhat.com>
577
578 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
579
d8010ee4
DM
5802018-11-08 David Malcolm <dmalcolm@redhat.com>
581
582 * c-format.c (local_cgraph_node_ptr_node): New variable.
583 (gcc_dump_printf_char_table): Add entry for %C.
584 (get_pointer_to_named_type): New function, taken from the handling
585 code for "gimple *" from...
586 (init_dynamic_diag_info): ...here. Add handling for
587 "cgraph_node *".
588 * c-format.h (T_CGRAPH_NODE): New.
589
4be5c72c
JM
5902018-10-19 Jason Merrill <jason@redhat.com>
591
592 * c-cppbuiltin.c (c_cpp_builtins): Add
593 __cpp_nontype_template_parameter_class.
594
f3f6029d
NS
5952018-10-31 Nathan Sidwell <nathan@acm.org>
596
ab5324fb
NS
597 * c-opts.c (c_finish_options): Force command line macro
598 location. Refactor to avoid repeating main debug hook.
599 (push_command_line_include): Clarify comment.
600
f3f6029d
NS
601 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
602
91e3ec29
MS
6032018-10-30 Martin Sebor <msebor@redhat.com>
604
605 PR middle-end/87041
606 * c-format.c (check_format_types): Avoid diagnosing null pointer
607 arguments to printf-family of functions.
608
b5ff4f5c
MP
6092018-10-30 Marek Polacek <polacek@redhat.com>
610
611 Implement P0892R2, explicit(bool).
612 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
613
7e2de6df
DM
6142018-10-29 David Malcolm <dmalcolm@redhat.com>
615
616 * name-hint.h (name_hint::take_deferred): New member function.
617
b2bf438c
DM
6182018-10-29 David Malcolm <dmalcolm@redhat.com>
619
620 PR c++/56856
621 * c-common.c (check_function_sentinel): Call fold_for_warn on the
622 argument.
623 (check_function_restrict): Rename param "argarray" to
624 "unfolded_argarray", and make a copy named "argarray", calling
625 fold_for_warn on each argument.
626 (check_function_arguments): Add note about responsibility for
627 folding the arguments.
628
9f936c86
JM
6292018-10-17 Joseph Myers <joseph@codesourcery.com>
630
631 * c-common.c (flag_isoc2x): New variable.
632 * c-common.h (clk_c): Update comment to reference C2X.
633 (flag_isoc99, flag_isoc11): Update comments to reference future
634 standard versions in general.
635 (flag_isoc2x): Declare.
636 * c-opts.c (set_std_c2x): New function.
637 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
638 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
639 flag_isoc2x to 0.
640 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
641
7a8a92c4
JM
6422018-10-17 Joseph Myers <joseph@codesourcery.com>
643
644 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
645 (std=iso9899:2018): Document C17 as published in 2018.
646
4dc003ff
CL
6472018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
648
649 PR c++/87364
650 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
651
79371671
WW
6522018-10-11 Will Wray <wjwray@gmail.com>
653
654 PR c++/87364
655 * c-pretty-print.h (pp_c_type_cast): Prototype.
656 (pp_c_integer_constant): Likewise.
657 * c-pretty-print.c (pp_c_type_cast): No longer static.
658 (pp_c_integer_constant): Likewise.
659 (pp_c_enumeration_constant): Fix loop termination when finding
660 name of constant. No longer returns a value. Call
661 pp_c_integer_constant.
662 (c_pretty_printer::constant): Update for changes to
663 pp_c_enumeration_constant.
664
46c62690
JJ
6652018-10-11 Jakub Jelinek <jakub@redhat.com>
666
667 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
668 for no_unique_address.
669
c24300ba
DM
6702018-10-09 David Malcolm <dmalcolm@redhat.com>
671
672 * c-common.c (c_option_controlling_cpp_error): Rename to...
673 (c_option_controlling_cpp_diagnostic): ...this, and convert
674 "reason" from int to enum.
675 (c_cpp_error): Rename to...
676 (c_cpp_diagnostic): ...this, converting level and reason to enums.
677 * c-common.h (c_cpp_error): Rename to...
678 (c_cpp_diagnostic): ...this, converting level and reason to enums.
679 * c-opts.c (c_common_init_options): Update for renaming.
680
8656dafa
RS
6812018-10-08 Richard Sandiford <richard.sandiford@arm.com>
682
683 PR c/87286
684 * c-common.c (vector_types_compatible_elements_p): Use
685 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
686
8cff0652
VK
6872018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
688
689 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
690 to generate constructor destructor priority warning.
691 * c.opt (-Wprio-ctor-dtor): New option.
692
bedf03a2
JM
6932018-10-01 Jason Merrill <jason@redhat.com>
694
695 * c-lex.c (c_common_has_attribute): Add no_unique_address.
696
6cc430c1
EB
6972018-10-01 Eric Botcazou <ebotcazou@adacore.com>
698
699 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
700 (dump_ada_node): Add const keyword.
701
87677ac7
ML
7022018-09-25 Martin Liska <mliska@suse.cz>
703
704 * c-common.c (c_common_truthvalue_conversion):
705 Remove Pascal from documentation.
706
518196cb
EB
7072018-09-21 Eric Botcazou <ebotcazou@adacore.com>
708
709 * c-ada-spec.c: Include diagnostic.h.
710 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
711
a599af84
MP
7122018-09-19 Marek Polacek <polacek@redhat.com>
713
714 * c.opt (Wclass-conversion): New.
715
9c4a4b3c
DM
7162018-09-17 David Malcolm <dmalcolm@redhat.com>
717
718 * c-format.c (range_label_for_format_type_mismatch::get_text):
719 Update for new param.
720
c896ecfe
DM
7212018-09-17 David Malcolm <dmalcolm@redhat.com>
722
723 * c-format.c (format_warning_at_char): Update for introduction of
724 format_string_diagnostic_t.
725 (format_type_warning): Likewise.
726
80c6d1f4
MJ
7272018-09-17 Martin Jambor <mjambor@suse.cz>
728
729 PR c/63886
730 * c.opt (Wabsolute-value): New.
731
6d900107
BE
7322018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
733
734 * c-common.c (complete_flexible_array_elts): New helper function.
735 * c-common.h (complete_flexible_array_elts): Declare.
736
b5764229
BE
7372018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
738
739 * c-common.c (braced_list_to_string): Remove eval parameter.
740 Add some more checks. Always create zero-terminated STRING_CST.
741 * c-common.h (braced_list_to_string): Adjust prototype.
742
85204e23
DM
7432018-08-27 David Malcolm <dmalcolm@redhat.com>
744
745 PR 87091
746 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
747 to a tri-state.
748 (maybe_suggest_missing_token_insertion): Likewise.
749 (maybe_add_include_fixit): Add param "override_location". If set,
750 and source-printing is enabled, then override the rich_location's
751 primary location with that of the insertion point for the fix-it
752 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
753 * c-common.h (extern void maybe_add_include_fixit): Add bool
754 param.
755 * c-format.c (selftest::test_type_mismatch_range_labels): Update
756 for conversion of show_caret_p to a tri-state.
757 * c-warn.c (warn_for_restrict): Likewise.
758 * known-headers.cc
759 (suggest_missing_header::~suggest_missing_header): Update call to
760 maybe_add_include_fixit to suggest overriding the location, as it
761 is for a note.
762
3d78e008
ML
7632018-08-27 Martin Liska <mliska@suse.cz>
764
765 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
766 fndecl_built_in_p and remove check for FUNCTION_DECL if
767 possible.
3d78e008
ML
768 (check_builtin_function_arguments): Likewise.
769 (reject_gcc_builtin): Likewise.
770 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
771
b5be6d0c
MP
7722018-08-26 Marek Polacek <polacek@redhat.com>
773
774 PR c++/87029, Implement -Wredundant-move.
775 * c.opt (Wredundant-move): New option.
776
79ca9c35
MP
7772018-08-21 Marek Polacek <polacek@redhat.com>
778
779 PR c++/86981, Implement -Wpessimizing-move.
780 * c.opt (Wpessimizing-move): New option.
781
097f82ec
DM
7822018-08-20 David Malcolm <dmalcolm@redhat.com>
783
784 PR other/84889
785 * c-attribs.c (common_handle_aligned_attribute): Add
786 auto_diagnostic_group instance.
787 * c-indentation.c (warn_for_misleading_indentation): Likewise.
788 * c-opts.c (c_common_post_options): Likewise.
789 * c-warn.c (warn_logical_not_parentheses): Likewise.
790 (warn_duplicated_cond_add_or_warn): Likewise.
791 (warn_for_multistatement_macros): Likewise.
792
3fb558b1
NS
7932018-08-20 Nathan Sidwell <nathan@acm.org>
794
795 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
796 access.
797
800c0e98
NS
7982018-08-17 Nathan Sidwell <nathan@acm.org>
799
800 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
801 field.
802 (laxy_hex_fp_value_count): Make unsigned.
803 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
804 manipulate the macro.
805 (builtin_defin_with_hex_fp_value): Adjust callback name, use
806 cpp_define_lazily.
807
6f795a92
DM
8082018-08-17 David Malcolm <dmalcolm@redhat.com>
809
810 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
811 (gcc_dump_printf_length_specs): New.
812 (gcc_dump_printf_flag_pairs): New.
813 (gcc_dump_printf_flag_specs): New.
814 (gcc_dump_printf_char_table): New.
815 (format_types_orig): Add entry for "gcc_dump_printf".
816 (init_dynamic_diag_info): Set up length_char_specs and
817 conversion_specs for gcc_dump_printf_format_type.
818 (handle_format_attribute): Handle gcc_dump_printf_format_type.
819
c5d725c0
NS
8202018-08-17 Nathan Sidwell <nathan@acm.org>
821
10f04917
NS
822 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
823
c5d725c0
NS
824 * c-ada-spec.c: Don't #include "cpp-id-data.h"
825 * c-cppbuiltin.c: Likewise.
826
c0c12356
ML
8272018-08-17 Martin Liska <mliska@suse.cz>
828
829 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
830 Ignore/Deprecated flag. Warning is done automatically for
831 Deprecated flags.
c0c12356 832
10fcc142
DM
8332018-08-16 David Malcolm <dmalcolm@redhat.com>
834
835 PR c++/70693
836 * c-common.c (selftest::c_family_tests): Call
837 selftest::c_indentation_c_tests.
838 * c-common.h (selftest::c_indentation_c_tests): New decl.
839 * c-indentation.c: Include "selftest.h".
840 (next_tab_stop): Add "tab_width" param, rather than accessing
841 cpp_opts.
842 (get_visual_column): Likewise. Clarify comment. Bulletproof
843 against reading past the end of the line.
844 (get_first_nws_vis_column): Add "tab_width" param.
845 (detect_intervening_unindent): Likewise.
846 (should_warn_for_misleading_indentation): Read tab width from
847 cpp_opts and pass around.
848 (selftest::test_next_tab_stop): New test.
849 (selftest::assert_get_visual_column_succeeds): New function.
850 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
851 (selftest::assert_get_visual_column_fails): New function.
852 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
853 (selftest::test_get_visual_column): New test.
854 (selftest::c_indentation_c_tests): New function.
855
3f6677f4
NS
8562018-08-16 Nathan Sidwell <nathan@acm.org>
857
858 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
859 (store_ada_macro): Likewise.
860 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
861 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
862
96e6ae57
DM
8632018-08-15 David Malcolm <dmalcolm@redhat.com>
864
865 * c-format.c: Include "selftest-diagnostic.h" and
866 "gcc-rich-location.h".
867 (format_warning_at_char): Pass NULL for new label params of
868 format_warning_va.
869 (class indirection_suffix): New class.
870 (class range_label_for_format_type_mismatch): New class.
871 (format_type_warning): Move logic for generating "*" suffix to
872 class indirection_suffix. Create "fmt_label" and "param_label"
873 to show their types, and pass them to the
874 format_warning_at_substring calls.
875 (selftest::test_type_mismatch_range_labels): New test.
876 (selftest::c_format_c_tests): Call it.
877
23aa9f7c
MS
8782018-08-13 Martin Sebor <msebor@redhat.com>
879
880 PR tree-optimization/71625
881 * c-common.c (braced_list_to_string): New function.
882 * c-common.h (braced_list_to_string): Declare it.
883
f10a9135
NS
8842018-08-08 Nathan Sidwell <nathan@acm.org>
885
886 * c-common.c (try_to_locate_new_include_inertion_point): Use
887 linemap_included_from_linemap.
888 * c-lex.c (fe_file_change): Use linemap_included_from.
889 * c-ppoutput.c (pp_file_change): Likewise.
890
8a45b051
MS
8912018-08-01 Martin Sebor <msebor@redhat.com>
892
893 PR tree-optimization/86650
894 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
895 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
896 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
897 * c-format.h (T89_G): Update to be "gimple *" rather than
898 "gcall *".
899 (local_gcall_ptr_node): Rename...
900 (local_gimple_ptr_node): ...to this.
901
e540ccc0
DM
9022018-07-31 David Malcolm <dmalcolm@redhat.com>
903
904 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
905 table entries for gcc_diag_char_table, and the 'Z' entry from
906 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
907 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
908 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
909 adding missing "Z" for this table. Remove erroneous "G" and "K"
910 entries.
911 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
912 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
913 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
914
425fc685
RE
9152018-07-31 Richard Earnshaw <rearnsha@arm.com>
916
917 * c-common.c (speculation_safe_resolve_call): New function.
918 (speculation_safe_resolve_params): New function.
919 (speculation_safe_resolve_return): New function.
920 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
921 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
922 __HAVE_SPECULATION_SAFE_VALUE.
923
181463c2
DM
9242018-07-20 David Malcolm <dmalcolm@redhat.com>
925
926 * c-common.c (c_cpp_error): Remove redundant "line_table"
927 parameter from call to rich_location::set_range.
928 (maybe_suggest_missing_token_insertion): Likewise.
929
0d7f9065
MS
9302018-07-20 Martin Sebor <msebor@redhat.com>
931
932 PR middle-end/82063
933 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
934
00abf86c
MS
9352018-07-20 Martin Sebor <msebor@redhat.com>
936
937 PR middle-end/82063
938 * c-common.h (c_common_handle_option): Change function argument
939 to HOST_WIDE_INT.
940 * c-opts.c (c_common_init_options): Same.
941 (c_common_handle_option): Same. Remove special handling of
942 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
943 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
944 options to take a HOST_WIDE_INT argument and accept a byte-size
945 suffix. Initialize.
946 (-Wvla-larger-than): Same.
947 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
948 (-Wno-vla-larger-than): Same.
949
9b452033
JJ
9502018-07-12 Jakub Jelinek <jakub@redhat.com>
951
952 * c-attribs.c (c_common_attribute_table): Add
953 "omp declare target implicit" attribute.
954
cd0762f3
RB
9552018-07-12 Richard Biener <rguenther@suse.de>
956
957 PR c/86453
958 * c-attribs.c (handle_packed_attribute): Do not build a variant
959 type with TYPE_PACKED, instead ignore the attribute if we may
960 not apply to the original type.
961
0b27c3ed
JJ
9622018-07-10 Jakub Jelinek <jakub@redhat.com>
963
964 PR c++/86443
965 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
966 to contain TREE_LIST for both the original class iterator and the
967 "last" helper var.
968
e730a0ef
EB
9692018-07-07 Eric Botcazou <ebotcazou@adacore.com>
970
971 * c-ada-spec.c (to_ada_name): Remove index parameter.
972 (pp_ada_tree_identifier): Likewise.
973 (dump_ada_macros): Adjust call to to_ada_name.
974 (struct overloaded_name_hash): Delete.
975 (struct overloaded_name_hasher): Likewise.
976 (overloaded_names): Likewise.
977 (compute_overloading_index): Likewise.
978 (dump_ada_decl_name): Do not call compute_overloading_index and
979 adjust calls to pp_ada_tree_identifier.
980 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
981 (dump_ada_import): Add spc parameter and switch to aspect syntax.
982 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
983 (dump_ada_enum_type): Remove type and display_convention parameters.
984 Adjust calls to pp_ada_tree_identifier.
985 (dump_ada_node): Likewise and for dump_ada_structure.
986 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
987 and tidy up.
988 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
989 syntax.
990 (print_constructor): Adjust call to pp_ada_tree_identifier.
991 (print_destructor): Likewise.
992 (dump_ada_declaration): Switch to aspect syntax.
993 (dump_ada_structure): Likewise and tidy up. Replace display_convention
994 parameter with nested parameter.
995 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
996 (dump_ada_specs): Do not delete overloaded_names table.
997
8de583fc
PB
9982018-07-06 Peter Bergner <bergner@linux.ibm.com>
999
1000 PR target/86324
e730a0ef 1001 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1002 target hook.
1003
09cff37b
NS
10042018-07-05 Nathan Sidwell <nathan@acm.org>
1005
1006 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1007 NO_IMPLICIT_EXTERN_C.
1008
98086b2b
ML
10092018-06-28 Martin Liska <mliska@suse.cz>
1010
1011 * cppspec.c: Include opt-suggestions.h.
1012
829c6349
CLT
10132018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1014 Thomas Schwinge <thomas@codesourcery.com>
1015 Cesar Philippidis <cesar@codesourcery.com>
1016
1017 * c-pragma.h (enum pragma_omp_clause): Add
1018 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1019 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1020
f41b7612
JJ
10212018-06-20 Jakub Jelinek <jakub@redhat.com>
1022
1023 PR c++/86210
1024 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1025 comment.
1026
4252ccd7
MS
10272018-06-18 Martin Sebor <msebor@redhat.com>
1028
1029 PR middle-end/85602
1030 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1031 nonstring.
1032
e197e64e
KV
10332018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1034
1035 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1036
34a7a230
JM
10372018-06-13 Jason Merrill <jason@redhat.com>
1038
5cef3733
JM
1039 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1040 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1041 handling.
1042
34a7a230
JM
1043 PR c++/86094 - wrong code with defaulted move ctor.
1044 * c-opts.c (c_common_post_options): Bump the current ABI version to
1045 13. Set warn_abi_version and flag_abi_compat_version to the current
1046 version rather than 0. Fix defaulting flag_abi_compat_version from
1047 warn_abi_version.
1048
bb0f14ae
MS
10492018-06-12 Martin Sebor <msebor@redhat.com>
1050
1051 PR c/85931
1052 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1053 sizeof source and destination yields the same value.
1054
3713f2e2
ML
10552018-06-12 Martin Liska <mliska@suse.cz>
1056
1057 * c.opt: Make MPX-related options as Deprecated.
1058
4af78ef8
DM
10592018-06-08 David Malcolm <dmalcolm@redhat.com>
1060
1061 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1062 rather than 0.
1063
31db0fe0
ML
10642018-06-08 Martin Liska <mliska@suse.cz>
1065
1066 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1067 for MPX (macros, related functions, fields in cgraph_node, ...).
1068 (handle_bnd_legacy): Likewise.
1069 (handle_bnd_instrument): Likewise.
1070 * c.opt: Likewise.
1071
fe16acf2
JJ
10722018-06-06 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR c++/86068
1075 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1076 __cpp_transactional_memory to 201500 instead of 210500.
1077
4dbdb49b
JM
10782018-06-06 Jason Merrill <jason@redhat.com>
1079
1080 PR c++/85710 - ICE with -Wmemset-elt-size.
1081 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1082
f8ad043f
JM
10832018-06-01 Jason Merrill <jason@redhat.com>
1084
1085 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1086 201703.
1087
abc24d93
EB
10882018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1089
1090 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1091 declaration for a typedef independently of whether the declaration of
1092 the subtype is generated.
1093
d258f4aa
MS
10942018-05-31 Martin Sebor <msebor@redhat.com>
1095
1096 PR c/82063
1097 * c.opt (-Wno-alloc-size-larger-than): New option.
1098
b67b9225
DP
10992018-04-22 David Pagan <dave.pagan@oracle.com>
1100
1101 PR c/55976
1102 * c-opts.c (c_common_post_options): Set default for warn_return_type
1103 for C++/C++ with ObjC extensions only. For C, makes it possible to
1104 differentiate between default (no option), -Wreturn-type, and
1105 -Wno-return-type.
1106
04eb9c55
JM
11072018-05-29 Jason Merrill <jason@redhat.com>
1108
1109 * c.opt (Winit-list-lifetime): New flag.
1110
b0c31bc6
BE
11112018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1112
1113 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1114 splay_tree_delete_pointers.
1115
44284983
JJ
11162018-05-26 Jakub Jelinek <jakub@redhat.com>
1117
1118 PR bootstrap/85921
1119 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1120 noinline variable to workaround broken kernel headers.
1121
b46b715d
JM
11222018-05-18 Jason Merrill <jason@redhat.com>
1123
1124 * c.opt (Wdeprecated-copy): New flag.
1125
40659769
ML
11262018-05-17 Martin Liska <mliska@suse.cz>
1127
1128 * c-warn.c (overflow_warning): Do not use
1129 space in between 'G_' and '('.
1130
403962ea
JM
11312018-05-09 Jason Merrill <jason@redhat.com>
1132
1133 * c-common.c (valid_array_size_p): Add complain parameter.
1134 * c-common.h: ...which defaults to true.
1135
1c9ee609
JJ
11362018-05-11 Jakub Jelinek <jakub@redhat.com>
1137
1138 PR c/85696
1139 * c-omp.c (c_omp_predetermined_sharing): Return
1140 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1141
19916065
ML
11422018-05-11 Martin Liska <mliska@suse.cz>
1143
92a285c1 1144 PR sanitizer/85556
19916065
ML
1145 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1146 TREE_LIST values.
1147
79e7b1fe
JJ
11482018-05-10 Jakub Jelinek <jakub@redhat.com>
1149
1150 PR c++/85662
1151 * c-common.h (fold_offsetof_1): Removed.
1152 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1153 CTX argument defaulted to ERROR_MARK.
1154 * c-common.c (fold_offsetof_1): Renamed to ...
1155 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1156 argument, convert the pointer constant to TYPE and use size_binop
1157 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1158 a pointer type. Adjust recursive calls.
1159
86c12f76
EB
11602018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1161
1162 PR c++/85400
1163 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1164
ee336e84
NS
11652018-05-07 Nathan Sidwell <nathan@acm.org>
1166
1167 * c.opt (ffor-scope): Remove functionality, issue warning.
1168
6c072e21
NS
11692018-05-03 Nathan Sidwell <nathan@acm.org>
1170
1171 * c.opt (ffriend-injection): Remove functionality, issue warning.
1172
2cc7d3a7
DM
11732018-05-01 David Malcolm <dmalcolm@redhat.com>
1174
1175 PR c/84258
1176 * c-format.c (struct format_check_results): Add field
1177 "number_non_char".
1178 (check_format_info): Initialize it, and warn if encountered.
1179 (check_format_arg): Distinguish between wide char and
1180 everything else when detecting arrays of non-char.
1181
7761dfbe
DM
11822018-04-30 David Malcolm <dmalcolm@redhat.com>
1183
1184 * c-format.c (get_corrected_substring): Update for
1185 location_get_source_line returning a char_span. Use a char_span
1186 when handling the prefix of the correction.
1187 * c-indentation.c (get_visual_column): Update for
1188 location_get_source_line returning a char_span.
1189 (get_first_nws_vis_column): Likewise.
1190
62e98ef1
DM
11912018-03-29 David Malcolm <dmalcolm@redhat.com>
1192
1193 PR c++/84269
1194 * known-headers.cc (get_stdlib_header_for_name): Add various names
1195 from <assert.h>, <string.h>, and <memory.h>; add more names from
1196 <stdio.h>.
1197
a7dea617
JJ
11982018-03-27 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR c++/85061
1201 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1202 get_base_address of the second operand is a VAR_P, rather than the
1203 operand itself, and use gcc_checking_assert instead of gcc_assert.
1204
889a3a30
MP
12052018-03-23 Marek Polacek <polacek@redhat.com>
1206
1207 PR c++/85045
1208 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1209 <case RDIV_EXPR>: Tweak condition.
1210
452154b9
EB
12112018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1212
1213 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1214
63ecb626
JJ
12152018-03-16 Jakub Jelinek <jakub@redhat.com>
1216
ce811fc4
JJ
1217 PR c/84909
1218 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1219 diagnostics.
1220
63ecb626
JJ
1221 PR c/84910
1222 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1223 diagnostics.
1224
a1295eec
RB
12252018-03-16 Richard Biener <rguenther@suse.de>
1226
1227 PR c/84873
1228 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1229 unshare the possibly folded expression.
1230
919674fb
RB
12312018-03-15 Richard Biener <rguenther@suse.de>
1232
1233 PR c/84873
1234 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1235
f99309b2
MS
12362018-03-13 Martin Sebor <msebor@redhat.com>
1237
1238 PR tree-optimization/84725
1239 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1240 with all three narrow character types, including their qualified forms.
1241
e9b9fa4c
MS
12422018-03-12 Martin Sebor <msebor@redhat.com>
1243
1244 PR tree-optimization/83456
1245 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1246 Restore checking of bounded built-in functions.
1247 (check_function_arguments): Also return the result
1248 of warn_for_restrict.
1249 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
1250 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
1251
0805d020
MP
12522018-03-02 Marek Polacek <polacek@redhat.com>
1253
1254 PR c++/84171
1255 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1256 is erroneous.
1257
ed2a2f08
TS
12582018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1259
1260 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1261 function".
1262
90abdde0
MP
12632018-03-01 Marek Polacek <polacek@redhat.com>
1264
1265 PR c++/84639
1266 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1267 alignment in computation.
1268
c6db43fa
EB
12692018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1270
1271 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1272 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1273
9e25c7ed
EB
12742018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1275
1276 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1277 (is_char_array): Take a type instead of a declaration.
1278 (dump_ada_array_type): Likewise.
1279 (is_simple_enum): Minor tweak.
1280 (dump_ada_enum_type): New function extracted from...
1281 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1282 <INTEGER_TYPE>: Remove unreachable code.
1283 <RECORD_TYPE>: Likewise. Minor tweaks.
1284 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1285 <ENUMERAL_TYPE>: New case.
1286 <RECORD_TYPE>: Factor out common code.
1287 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1288 Minor tweaks. Deal with enumeral types.
1289 (dump_ada_structure): Minor tweaks.
1290
09de3550
EB
12912018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1292
1293 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1294 address for incomplete structures.
1295 (dump_forward_type): Do not bail out for incomplete structures.
1296 (dump_ada_declaration): Do not special-case incomplete structures
1297 for subtypes. Dump them as null records for types.
1298
095d8d4b
EB
12992018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1300
1301 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1302 (is_char_array): Fix formatting.
1303 (dump_template_types): Likewise.
1304 (dump_generic_ada_node): Rename into...
1305 (dump_ada_node): ...this.
1306 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1307 incomplete structures and not for empty structures. Do not use it
1308 when forward declarations are needed.
1309 (dump_forward_type): New function.
1310 (dump_nested_types): Remove FORWARD parameter. Do not consider
1311 TREE_VISITED and do not generate a forward declaration. Only dump
1312 original nested types for nested declaration.
1313 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1314 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1315 <RECORD_TYPE>: Do not consider TREE_VISITED.
1316 (dump_ada_declaration): Use booleans and fix formatting throughout.
1317 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1318 Call dump_forward_type instead of dump_nested_types for a typedef.
1319 Remove superfluous check and adjust call to dump_nested_types.
1320 <POINTER_TYPE>: Call dump_forward_type and fall through.
1321 (dump_ada_struct_decl): Rename into...
1322 (dump_ada_structure): ...this. Do not special-case empty structures.
1323
d4cfd486
MS
13242018-02-27 Martin Sebor <msebor@redhat.com>
1325
1326 PR c++/83871
1327 * c.opt (-Wmissing-attributes): New option.
1328
b22dbd03
ML
13292018-02-21 Martin Liska <mliska@suse.cz>
1330
1331 * c.opt (Wcatch-value=): Add IntegerRange.
1332
883dfe2a
JM
13332018-02-15 Jason Merrill <jason@redhat.com>
1334
1335 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1336
0444aa9c
NS
13372018-02-09 Nathan Sidwell <nathan@acm.org>
1338
1339 PR c/84293
1340 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1341 arg.
1342 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1343 arg. Adjust.
1344
cea71f0a
MS
13452018-02-09 Martin Sebor <msebor@redhat.com>
1346
1347 PR lto/84212
1348 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1349 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1350 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1351 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1352 (-Wuninitialized): Same.
1353
8c8b7be5
EB
13542018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1355
1356 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1357 keyword for components.
1358
7c30b12a
PC
13592018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1360
1361 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1362
eece7fe5
JK
13632018-02-02 Julia Koval <julia.koval@intel.com>
1364
1365 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1366
7d07a93a
MP
13672018-01-29 Marek Polacek <polacek@redhat.com>
1368
1369 PR c/83966
1370 * c-format.c (check_function_format): Check current_function_decl.
1371
53723269
JJ
13722018-01-27 Jakub Jelinek <jakub@redhat.com>
1373
1374 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1375 argument.
1376 (LAZY_HEX_FP_VALUES_CNT): Define.
1377 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1378 values rather than just 12.
1379 (builtin_define_with_hex_fp_value): Likewise.
1380
7365279f
BK
13812018-01-18 Boris Kolpackov <boris@codesynthesis.com>
1382
92a285c1
ML
1383 PR other/70268
1384 * c.opt (-fmacro-prefix-map): New option.
1385 * c-opts.c (c_common_handle_option): Handle it.
1386 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
1387 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 1388
bb9869d5
DM
13892018-01-17 David Malcolm <dmalcolm@redhat.com>
1390
1391 PR c++/83814
1392 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1393
68dc87c3
EB
13942018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1395
1396 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1397 Skip 'f' and 'F' characters if it is true.
1398 (store_ada_macro): Minor tweak.
1399 (dump_ada_macros) <CPP_COMMENT>: Likewise.
1400 <CPP_WSTRING>: Likewise.
1401 <CPP_STRING>: Output '&' in the buffer if not the first string.
1402 <CPP_NUMBER>: Adjust calls to dump_number.
1403
9a004410
DM
14042018-01-10 David Malcolm <dmalcolm@redhat.com>
1405
1406 PR c++/43486
1407 * c-common.c: Include "selftest.h".
1408 (get_atomic_generic_size): Perform the test for integral type
1409 before the range test for any integer constant, fixing indentation
1410 of braces. Call fold_for_warn before testing for an INTEGER_CST.
1411 (reject_gcc_builtin): Strip any location wrapper from EXPR.
1412 (selftest::test_fold_for_warn): New function.
1413 (selftest::c_common_c_tests): New function.
1414 (selftest::c_family_tests): Call it, and
1415 selftest::c_pretty_print_c_tests.
1416 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
1417 * c-format.c (check_format_arg): Convert VAR_P check to a
1418 fold_for_warn.
1419 * c-pretty-print.c: Include "selftest.h".
1420 (pp_c_cast_expression): Don't print casts for location wrappers.
1421 (selftest::assert_c_pretty_printer_output): New function.
1422 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1423 (selftest::test_location_wrappers): New function.
1424 (selftest::c_pretty_print_c_tests): New function.
1425 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1426
5c0caeb3
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-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1432
73a699ae
RS
14332018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1434 Alan Hayward <alan.hayward@arm.com>
1435 David Sherwood <david.sherwood@arm.com>
1436
1437 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1438 as polynomial.
1439
928686b1
RS
14402018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1441 Alan Hayward <alan.hayward@arm.com>
1442 David Sherwood <david.sherwood@arm.com>
1443
1444 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1445 (convert_vector_to_array_for_subscript): Handle polynomial
1446 TYPE_VECTOR_SUBPARTS.
1447 (c_common_type_for_mode): Check valid_vector_subparts_p.
1448 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1449 VECTOR_CST_NELTS.
1450
85ec4feb
JJ
14512018-01-03 Jakub Jelinek <jakub@redhat.com>
1452
1453 Update copyright years.
1454
170a8bd6 14552017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1456 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1457
1458 * c-pragma.c (init_pragma): Register pragma GCC unroll.
1459 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1460
18408e96
AO
14612017-12-22 Alexandre Oliva <aoliva@redhat.com>
1462
1463 PR debug/83527
1464 PR debug/83419
1465 * c-semantics.c (only_debug_stmts_after_p): New.
1466 (pop_stmt_list): Clear side effects in debug-only stmt list.
1467 Check for single nondebug stmt followed by debug stmts only.
1468
c12d20d4
AO
14692017-12-21 Alexandre Oliva <aoliva@redhat.com>
1470
1471 PR debug/83419
1472 * c-semantics.c (pop_stmt_list): Propagate side effects from
1473 single nondebug stmt to container list.
1474
01512446
JJ
14752017-12-19 Jakub Jelinek <jakub@redhat.com>
1476
1477 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1478 conditions with typical order conditions.
1479
82cfbd01
MP
14802017-12-18 Marek Polacek <polacek@redhat.com>
1481
1482 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1483 not in effect.
1484
99da11ec
MS
14852017-12-17 Martin Sebor <msebor@redhat.com>
1486
1487 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1488 an error for attribute warn_if_not_aligned.
1489
cc8bea0a
MS
14902017-12-16 Martin Sebor <msebor@redhat.com>
1491
1492 PR tree-optimization/78918
1493 * c-common.c (check_function_restrict): Avoid checking built-ins.
1494 * c.opt (-Wrestrict): Include in -Wall.
1495
4849deb1
JJ
14962017-12-15 Jakub Jelinek <jakub@redhat.com>
1497
1498 * c-attribs.c (c_common_attribute_table,
1499 c_common_format_attribute_table): Swap affects_type_identity
1500 and handler fields, adjust comments.
1501
c65e18d3
BE
15022017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1503
1504 * c.opt (Wcast-function-type): New warning option.
1505 * c-lex.c (get_fileinfo): Avoid warning.
1506 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1507
2004617a
QZ
15082017-12-14 Qing Zhao <qing.zhao@oracle.com>
1509
7365279f 1510 PR middle_end/79538
2004617a
QZ
1511 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1512 Adjust the size of buf1 and buf2, add a new buf to avoid
1513 format-overflow warning.
1514
96a95ac1
AO
15152017-12-12 Alexandre Oliva <aoliva@redhat.com>
1516
1517 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
1518 subsequent statement list.
1519
5d9ae53d
MS
15202017-12-07 Martin Sebor <msebor@redhat.com>
1521
1522 PR c/81544
1523 PR c/81566
1524 * c-attribs.c (attr_aligned_exclusions): New array.
1525 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
1526 (attr_common_exclusions, attr_const_pure_exclusions): Same.
1527 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
1528 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
1529 (attr_warn_unused_result_exclusions): Same.
1530 (handle_hot_attribute, handle_cold_attribute): Simplify.
1531 (handle_const_attribute): Warn on function returning void.
1532 (handle_pure_attribute): Same.
1533 (handle_aligned_attribute): Diagnose conflicting attribute
1534 specifications.
1535 * c-warn.c (diagnose_mismatched_attributes): Simplify.
1536
c79144f8
DM
15372017-12-06 David Malcolm <dmalcolm@redhat.com>
1538
1539 PR c/83236
1540 * c-common.c (selftest::c_family_tests): Call
1541 selftest::c_spellcheck_cc_tests.
1542 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
1543 * c-spellcheck.cc: Include "selftest.h".
1544 (name_reserved_for_implementation_p): New function.
1545 (should_suggest_as_macro_p): New function.
1546 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
1547 should_suggest_as_macro_p and call it.
1548 (selftest::test_name_reserved_for_implementation_p): New function.
1549 (selftest::c_spellcheck_cc_tests): New function.
1550 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
1551
613bc14f
DM
15522017-12-06 David Malcolm <dmalcolm@redhat.com>
1553
1554 * c-spellcheck.cc: New file, taken from macro-handling code in
1555 spellcheck-tree.c.
1556 * c-spellcheck.h: New file, taken from macro-handling code in
1557 spellcheck-tree.h.
1558
e76c7157
JJ
15592017-12-01 Jakub Jelinek <jakub@redhat.com>
1560
1561 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
1562 attribute.
1563 (handle_simd_attribute): Don't check for "cilk simd function"
1564 attribute. Reindent, formatting changes.
1565
b0da4034
JK
15662017-11-30 Julia Koval <julia.koval@intel.com>
1567
1568 * c-common.h (inv_list): Remove.
1569
058f0b9e
JJ
15702017-11-28 Jakub Jelinek <jakub@redhat.com>
1571
1572 PR sanitizer/81275
1573 * c-common.c (c_switch_covers_all_cases_p_1,
1574 c_switch_covers_all_cases_p): New functions.
1575 * c-common.h (c_switch_covers_all_cases_p): Declare.
1576
5e9d6aa4 15772017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 1578 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
1579
1580 * array-notation-common.c: Delete.
1581 * c-cilkplus.c: Ditto.
1582 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
1583 * c-common.def (ARRAY_NOTATION_REF): Remove.
1584 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
1585 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
1586 c_validate_cilk_plus_loop, cilkplus_an_parts,
1587 cilk_ignorable_spawn_rhs_op,
1588 cilk_recognize_spawn): Remove.
1589 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
1590 * c-omp.c: Remove CILK_SIMD check.
1591 * c-pragma.c: Ditto.
1592 * c-pragma.h: Remove CILK related pragmas.
1593 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
1594 ARRAY_NOTATION_REF condition.
1595 (c_pretty_printer::expression): Ditto.
1596 * c.opt (fcilkplus): Remove.
1597 * cilk.c: Delete.
1598
1af4ebf5
MG
15992017-11-21 Marc Glisse <marc.glisse@inria.fr>
1600
1601 * c-pretty-print.c (pp_c_additive_expression,
1602 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
1603
d44ed508
JJ
16042017-11-21 Jakub Jelinek <jakub@redhat.com>
1605
7d2f0f9b
JJ
1606 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
1607
d44ed508
JJ
1608 PR c++/83059
1609 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
1610 instead of tree_to_uhwi, formatting fix.
1611
26edace6
DM
16122017-11-20 David Malcolm <dmalcolm@redhat.com>
1613
1614 PR c/81404
1615 * known-headers.cc: New file, based on material from c/c-decl.c.
1616 (suggest_missing_header): Copied as-is.
1617 (get_stdlib_header_for_name): New, based on get_c_name_hint but
1618 heavily edited to add C++ support. Add some knowledge about
1619 <limits.h>, <stdint.h>, and <wchar.h>.
1620 * known-headers.h: Likewise.
1621
6c7a259b
DM
16222017-11-20 David Malcolm <dmalcolm@redhat.com>
1623
1624 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
1625 (lookup_name_fuzzy): Likewise. Convert return type from
1626 const char * to name_hint. Add location_t param.
1627 * name-hint.h: New header.
1628
f9c59f7e
JJ
16292017-11-19 Jakub Jelinek <jakub@redhat.com>
1630
1631 PR c/66618
1632 PR c/69960
1633 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
1634
1e39313a
JM
16352017-11-16 Joseph Myers <joseph@codesourcery.com>
1636
1637 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
1638 expected publication date of C17.
1639 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
1640
3ca0dc60
JM
16412017-11-15 Joseph Myers <joseph@codesourcery.com>
1642
1643 PR c/81156
1644 * c-common.c (c_common_reswords): Add __builtin_tgmath.
1645 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
1646
025d57f0
MS
16472017-11-10 Martin Sebor <msebor@redhat.com>
1648
1649 PR c/81117
1650 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
1651 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
1652 * c.opt (-Wstringop-truncation): New option.
1653
1b6fa695
ML
16542017-11-06 Martin Liska <mliska@suse.cz>
1655
1656 PR middle-end/82404
1657 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
1658 FE.
1659 * c.opt: Set default value of warn_return_type.
1660
64a5912c
DM
16612017-10-31 David Malcolm <dmalcolm@redhat.com>
1662
1663 * c-common.c (binary_op_error): Update for renaming of
1664 error_at_rich_loc.
1665 (c_parse_error): Likewise.
1666 * c-warn.c (warn_logical_not_parentheses): Likewise for
1667 renaming of inform_at_rich_loc.
1668 (warn_for_restrict): Likewise for renaming of
1669 warning_at_rich_loc_n.
1670
c76dc9c3
JM
16712017-10-30 Joseph Myers <joseph@codesourcery.com>
1672
1673 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
1674 * c-opts.c (set_std_c17): New function.
1675 (c_common_init_options): Use gnu17 as default C version.
1676 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
1677
ee5fd23a
MM
16782017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1679
1680 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
1681 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
1682 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
1683 __FP_FAST_FMA<N>X.
1684
d1047465
MP
16852017-10-23 Marek Polacek <polacek@redhat.com>
1686
1687 PR c/82681
1688 * c-warn.c (warnings_for_convert_and_check): Fix typos.
1689
9e878cf1
EB
16902017-10-19 Eric Botcazou <ebotcazou@adacore.com>
1691
1692 * c-common.c (check_builtin_function_arguments): Also check arguments
1693 of __builtin_alloca_with_align_and_max.
1694
89b6abbb
DM
16952017-10-17 David Malcolm <dmalcolm@redhat.com>
1696
1697 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
1698 rather than NULL to format_warning_va.
1699 (check_format_types): Likewise when calling format_type_warning.
1700 Remove code to extract source_ranges and source_range * in favor
1701 of just a location_t.
1702 (format_type_warning): Convert source_range * param to a
1703 location_t.
1704
39382c09
JJ
17052017-10-13 Jakub Jelinek <jakub@redhat.com>
1706
1707 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
1708 [LR]SHIFT_EXPR.
1709
62e1c678
DM
17102017-10-12 David Malcolm <dmalcolm@redhat.com>
1711
1712 * c-common.c (enum missing_token_insertion_kind): New enum.
1713 (get_missing_token_insertion_kind): New function.
1714 (maybe_suggest_missing_token_insertion): New function.
1715 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
1716
b90c9338
NS
17172017-10-11 Nathan Sidwell <nathan@acm.org>
1718
1719 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1720 (c_common_handle_option): Update incpath_kind names.
1721
3a266bcd
ML
17222017-10-11 Martin Liska <mliska@suse.cz>
1723
1724 PR sanitizer/82490
1725 * c-attribs.c (handle_no_sanitize_attribute): Report directly
1726 Wattributes warning.
1727
8e6cdc90
RS
17282017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1729
1730 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1731 operating on trees as wide_ints.
1732 * c-common.c (pointer_int_sum): Likewise.
1733 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1734 * c-warn.c (match_case_to_enum_1): Likewise.
1735 (c_do_switch_warnings): Likewise.
1736 (maybe_warn_shift_overflow): Likewise.
1737
802b38c9
JJ
17382017-10-10 Jakub Jelinek <jakub@redhat.com>
1739
1740 PR c/82437
1741 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1742 instead of wide_int::from.
1743
4e34b338
JJ
17442017-10-06 Jakub Jelinek <jakub@redhat.com>
1745
1746 PR c/82437
1747 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1748 using to_widest use wide_int with the larger of the two precisions.
1749
4bc4b2b4
BE
17502017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1751
1752 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1753 functions.
1754
a1488398
RS
17552017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1756
1757 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1758 when combining the original unconverted comparison operands.
1759
01c9fb68
JJ
17602017-09-29 Jakub Jelinek <jakub@redhat.com>
1761
1762 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1763 attribute.
1764
6e3e8419
EB
17652017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1766
1767 * c-ada-spec.c (to_ada_name): Add index parameter.
1768 (pp_ada_tree_identifier): Likewise.
1769 (dump_ada_macros): Adjust call to to_ada_name.
1770 (struct overloaded_name_hash): New type.
1771 (struct overloaded_name_hasher): Likewise.
1772 (overloaded_names): New hash table.
1773 (compute_overloading_index): New function.
1774 (dump_ada_decl_name): Call it and pass the result to
1775 pp_ada_tree_identifier.
1776 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1777 (dump_ada_function_declaration): Likewise.
1778 (dump_generic_ada_node): Likewise.
1779 (print_constructor): Likewise.
1780 (print_destructor): Likewise.
1781 (dump_ada_specs): Delete overloaded_names table.
1782
79310774
EB
17832017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1784
1785 * c-ada-spec.c (max_ada_macros): Move around.
1786 (store_ada_macro_index): Likewise.
1787 (source_file): Rename into...
1788 (macro_source_file): ...this.
1789 (count_ada_macro): Move around.
1790 (store_ada_macro): Likewise.
1791 (compare_macro): Likewise.
1792 (print_ada_macros): Merge in...
1793 (dump_ada_macros): ...this.
1794 (source_file_base): Rename into...
1795 (current_source_file): ...this.
1796 (print_comment): Move around.
1797 (dump_ada_nodes): Call dump_ada_declaration directly.
1798 (struct with): Change type of limited field to bool.
1799 (append_withs): Change type of limited_access parameter to bool.
1800 (pp_ada_tree_identifie): Likewise.
1801 (dump_ada_decl_nam): Likewise.
1802 (dump_generic_ada_node): Likewise. Do not print the return type.
1803 (to_ada_name): Change type of space_found parameter to bool.
1804 (dump_ada_function_declaration): Return void and change type of
1805 parameters to bool. Also print the return type for a function.
1806 (print_ada_methods): Rename into...
1807 (dump_ada_methods): ...this.
1808 (print_ada_declaration): Rename into ...
1809 (dump_ada_declaration): ...this. Do not print the return type.
1810 (print_ada_struct_decl): Rename into...
1811 (dump_ada_struct_decl): ...this.
1812
7d386d45
JJ
18132017-09-29 Jakub Jelinek <jakub@redhat.com>
1814
1815 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1816 rather than DECL_INITIAL.
1817 (common_handle_aligned_attribute): Likewise.
1818
9ed32e27
AO
18192017-09-20 Alexandre Oliva <aoliva@redhat.com>
1820
1821 * c.opt (gen-decls): Add RejectNegative.
1822
026a79f7
AS
18232017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1824 Jakub Jelinek <jakub@redhat.com>
1825
1826 Add support for -std=c++2a.
1827 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1828 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1829 * c-opts.c (set_std_cxx2a): New.
1830 (c_common_handle_option): Set options when -std=c++2a is enabled.
1831 (c_common_post_options): Adjust comments.
1832 (set_std_cxx14, set_std_cxx17): Likewise.
1833
4a8ca690
EB
18342017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1835
1836 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1837 message for non-uniform endianness and issue a warning in C++.
1838
7b936140
JJ
18392017-09-15 Jakub Jelinek <jakub@redhat.com>
1840
1841 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1842 (Wc++17-compat): Change from undocumented alias to option.
1843 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1844 change C++1z to C++17 in description.
1845 (std=c++1z, std=gnu++1z): Change from option to undocumented
1846 deprecated alias.
1847 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1848 Adjust description.
1849 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1850 * c-opts.c (set_std_cxx1z): Rename to ...
1851 (set_std_cxx17): ... this.
1852 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1853 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1854 caller.
7b936140
JJ
1855 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1856 comments.
1857
12263f13
L
18582017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1859
1860 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1861 function alignment if warn_if_not_aligned_p is true.
1862
6836632e
NS
18632017-09-12 Nathan Sidwell <nathan@acm.org>
1864
1865 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1866 resort_sorted_fields): Move to c/c-decl.c.
1867 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1868 (struct sorted_fields_type): Move to c/c-lang.h.
1869
019bf9ad
JW
18702017-09-09 Jonathan Wakely <jwakely@redhat.com>
1871
1872 PR c++/81852
1873 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1874
bc7fe952
MP
18752017-09-04 Marek Polacek <polacek@redhat.com>
1876
1877 PR c/81783
1878 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1879 (warn_tautological_cmp): Call it.
1880
de7c2c6a
BK
18812017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1882
1883 * c-opts.c (c_common_finish): Write dependency information even if
1884 there are errors.
1885
d2e05fcb
JJ
18862017-09-01 Jakub Jelinek <jakub@redhat.com>
1887
1888 PR c/81887
1889 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1890 (omp_pragmas_simd): ... here.
1891 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1892 create new clauses list containing just simd clause.
1893
18e2a8b8
RS
18942017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1895 Alan Hayward <alan.hayward@arm.com>
1896 David Sherwood <david.sherwood@arm.com>
1897
1898 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1899 into scalar_mode_supported_p call.
1900 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1901
16d22000
RS
19022017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1903 Alan Hayward <alan.hayward@arm.com>
1904 David Sherwood <david.sherwood@arm.com>
1905
1906 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1907 for the mode iterator.
1908
b397965c
RS
19092017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1910 Alan Hayward <alan.hayward@arm.com>
1911 David Sherwood <david.sherwood@arm.com>
1912
1913 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1914 * c-common.c (c_build_vec_perm_expr): Likewise.
1915
357b7604
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-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1921
e05c94ba
RS
19222017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1923 Alan Hayward <alan.hayward@arm.com>
1924 David Sherwood <david.sherwood@arm.com>
1925
1926 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1927 before calling targetm.addr_space.valid_pointer_mode.
1928
5c20c4af
RS
19292017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1930 Alan Hayward <alan.hayward@arm.com>
1931 David Sherwood <david.sherwood@arm.com>
1932
1933 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1934
c94843d2 19352017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
1936 Alan Hayward <alan.hayward@arm.com>
1937 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
1938
1939 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1940 iterators.
1941 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1942
4e10a5a7
RS
19432017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1944 Alan Hayward <alan.hayward@arm.com>
1945 David Sherwood <david.sherwood@arm.com>
1946
1947 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1948 case statements.
1949
130fcab0
ML
19502017-08-29 Martin Liska <mliska@suse.cz>
1951
1952 PR other/39851
1953 * c-common.c (parse_optimize_options): Add argument to function
1954 call.
1955 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1956
14e18d71
DM
19572017-08-24 David Malcolm <dmalcolm@redhat.com>
1958
1959 * c-lex.c (interpret_float): Use token location
1960 when building an EXCESS_PRECISION_EXPR.
1961
2f687306
DM
19622017-08-21 David Malcolm <dmalcolm@redhat.com>
1963
1964 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1965 it to check_function_format.
1966 * c-common.h (check_function_arguments): Add vec<location_t> *
1967 param.
1968 (check_function_format): Likewise.
1969 * c-format.c (struct format_check_context): Add field "arglocs".
1970 (check_function_format): Add param "arglocs"; pass it to
1971 check_format_info.
1972 (check_format_info): Add param "arglocs"; use it to initialize
1973 new field of format_ctx.
1974 (check_format_arg): Pass format_ctx->arglocs to new param of
1975 check_format_info_main.
1976 (class argument_parser): New field "arglocs".
1977 (argument_parser::argument_parser): Add "arglocs_" param and use
1978 it to initialize new field.
1979 (argument_parser::check_argument_type): Pass new arglocs field to
1980 check_format_types.
1981 (check_format_info_main): Add param "arglocs", and use it when
1982 constructing arg_parser.
1983 (check_format_types): Add param "arglocs"; use it if non-NULL when
1984 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1985
00aa1fa2
L
19862017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1987
1988 PR c/53037
1989 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1990 (c_common_attribute_table): Add warn_if_not_aligned.
1991 (handle_aligned_attribute): Renamed to ...
1992 (common_handle_aligned_attribute): Remove argument, name, and add
1993 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1994 (handle_aligned_attribute): New.
1995 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1996
27be025d
MS
19972017-08-14 Martin Sebor <msebor@redhat.com>
1998
1999 PR c/81117
2000 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2001 (handle_nonstring_attribute): New function.
2002
da67acb9
MS
20032017-08-14 Martin Sebor <msebor@redhat.com>
2004
2005 PR c/81117
2006 * c-format.h (T89_G): New macro.
2007 * c-format.c (local_gcall_ptr_node): New variable.
2008 (init_dynamic_diag_info): Initialize it.
2009
a8b522b4
ML
20102017-08-11 Martin Liska <mliska@suse.cz>
2011
2012 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2013 TARGET_SUPPORTS_ALIASES.
2014
32129a17
DM
20152017-08-10 David Malcolm <dmalcolm@redhat.com>
2016
2017 * c-common.c (c_parse_error): Add rich_location * param, using it
2018 rather implicitly using input_location.
2019 * c-common.h (c_parse_error): Add rich_location * param.
2020
30af3a2b
MP
20212017-08-09 Marek Polacek <polacek@redhat.com>
2022
2023 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2024 (c_common_truthvalue_conversion): Likewise.
2025 * c-omp.c (c_finish_omp_atomic): Likewise.
2026 * c-common.h (build_binary_op): Update declaration.
2027
314e6352
ML
20282017-08-08 Martin Liska <mliska@suse.cz>
2029
2030 * c-ada-spec.c: Include header files.
2031 * c-ubsan.c: Likewise.
2032 * c-warn.c: Likewise.
2033
56b5041c
JJ
20342017-08-07 Jakub Jelinek <jakub@redhat.com>
2035
2036 PR c/69389
2037 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2038
db440138
EB
20392017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2040
2041 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2042 (print_ada_methods): Likewise.
2043 (print_ada_declaration): Likewise.
2044
577eec56
ML
20452017-08-07 Martin Liska <mliska@suse.cz>
2046
2047 * array-notation-common.c: Add new includes.
2048 * c-format.c( handle_format_attribute): Canonicalize a format
2049 function name.
2050 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2051 attribute.
2052 * c-pretty-print.c: Add new include.
2053
b854df3c
EB
20542017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2055
2056 * c-ada-spec.c (has_static_fields): Look only into variables.
2057 (print_constructor): Add TYPE parameter and use it for the name.
2058 (print_destructor): Likewise.
2059 (print_ada_declaration): Adjust to new constructor/destructor names.
2060 Adjust calls to print_constructor and print_destructor.
2061 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2062 Look only into variables in the final loop.
2063
9f2cb25e
EB
20642017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2065
2066 * c-ada-spec.c (has_static_fields): Look only into fields.
2067 (dump_generic_ada_node): Small tweak.
2068 (dump_nested_types): Look only into fields.
2069 (print_ada_declaration): Look only into methods. Small tweak.
2070 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2071
f4bcd9eb
EB
20722017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2073
2074 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2075 (dump_ada_function_declaration): Likewise.
2076 (dump_generic_ada_node): Likewise.
2077 (print_ada_declaration): Add support for const-qualified variables.
2078
f34ebeb2
ML
20792017-07-31 Martin Liska <mliska@suse.cz>
2080
2081 PR sanitize/81530
2082 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2083 Guard condition with flag_sanitize_p also with current_function_decl
2084 non-null equality.
2085 (ubsan_maybe_instrument_reference_or_call): Likewise.
2086
218e5d04
UB
20872017-07-30 Uros Bizjak <ubizjak@gmail.com>
2088
2089 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2090
942047f2
EB
20912017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2092
2093 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2094 for enumeral types.
2095 (print_ada_declaration): Add missing guard for record types.
2096
a40ff0ae
JJ
20972017-07-27 Jakub Jelinek <jakub@redhat.com>
2098
2099 PR c/45784
2100 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2101 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2102 new COMPOUND_EXPRs around the rhs of the comparison.
2103
06bd22f6
MP
21042017-07-27 Marek Polacek <polacek@redhat.com>
2105
2106 PR c/81417
2107 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2108 the types.
2109
036ea399
JJ
21102017-07-27 Jakub Jelinek <jakub@redhat.com>
2111
2112 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2113 (handle_noipa_attribute): New function.
2114
417ca011
TD
21152017-07-07 Torsten Duwe <duwe@suse.de>
2116
2117 * c-attribs.c (c_common_attribute_table): Add entry for
2118 "patchable_function_entry".
2119
5aaa8fb4
NS
21202017-07-20 Nathan Sidwell <nathan@acm.org>
2121
2122 Remove TYPE_METHODS.
2123 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2124 dump_ada_template, print_ada_methods,
2125 print_ada_declaration): Member fns are on TYPE_FIELDS.
2126
ff22eb12
NS
21272017-07-18 Nathan Sidwell <nathan@acm.org>
2128
2129 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2130
eea77d1f
DM
21312017-07-14 David Malcolm <dmalcolm@redhat.com>
2132
2133 * c-common.c (try_to_locate_new_include_insertion_point): New
2134 function.
2135 (per_file_includes_t): New typedef.
2136 (added_includes_t): New typedef.
2137 (added_includes): New variable.
2138 (maybe_add_include_fixit): New function.
2139 * c-common.h (maybe_add_include_fixit): New decl.
2140
281ac396
MS
21412017-07-10 Martin Sebor <msebor@redhat.com>
2142
2143 PR other/81345
2144 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2145
b6f43128
DM
21462017-07-06 David Malcolm <dmalcolm@redhat.com>
2147
2148 * c-common.c (selftest::c_family_tests): New.
2149 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2150 (selftest::c_family_tests): New decl.
2151
efbf55b0
MP
21522017-07-04 Marek Polacek <polacek@redhat.com>
2153
2154 PR c/81231
2155 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2156 types.
2157
6c86bd88
MP
21582017-07-04 Marek Polacek <polacek@redhat.com>
2159
2160 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2161
17a7218b
ML
21622017-06-28 Martin Liska <mliska@suse.cz>
2163
2164 PR ipa/81128
2165 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2166 to a function declaration.
2167
63010089
ML
21682017-06-28 Martin Liska <mliska@suse.cz>
2169
2170 PR driver/79659
2171 * c.opt: Add IntegerRange to various options.
2172
3e2becc4
MP
21732017-06-26 Marek Polacek <polacek@redhat.com>
2174
2175 PR c/80116
2176 * c-common.h (warn_for_multistatement_macros): Declare.
2177 * c-warn.c: Include "c-family/c-indentation.h".
2178 (warn_for_multistatement_macros): New function.
2179 * c.opt (Wmultistatement-macros): New option.
2180 * c-indentation.c (guard_tinfo_to_string): No longer static.
2181 Change the parameter type to "enum rid". Handle RID_SWITCH.
2182 * c-indentation.h (guard_tinfo_to_string): Declare.
2183
2db9b7cd
MG
21842017-06-23 Marc Glisse <marc.glisse@inria.fr>
2185
2186 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2187
c3684b7b
MS
21882017-06-15 Martin Sebor <msebor@redhat.com>
2189
2190 PR c++/80560
2191 * c.opt (-Wclass-memaccess): New option.
2192
e72c4afd
BK
21932017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2194
2195 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2196
8a516588
MP
21972017-06-13 Marek Polacek <polacek@redhat.com>
2198
2199 PR objc/80949
2200 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2201 branches is null.
2202
45b2222a
ML
22032017-06-13 Martin Liska <mliska@suse.cz>
2204
2205 PR sanitize/78204
2206 * c-attribs.c (add_no_sanitize_value): New function.
2207 (handle_no_sanitize_attribute): Likewise.
2208 (handle_no_sanitize_address_attribute): Use the function.
2209 (handle_no_sanitize_thread_attribute): New function.
2210 (handle_no_address_safety_analysis_attribute): Use
2211 add_no_sanitize_value.
2212 (handle_no_sanitize_undefined_attribute): Likewise.
2213 * c-common.h: Declare new functions.
2214 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2215 (ubsan_instrument_shift): Likewise.
2216 (ubsan_instrument_bounds): Likewise.
2217 (ubsan_maybe_instrument_array_ref): Likewise.
2218 (ubsan_maybe_instrument_reference_or_call): Likewise.
2219
a01f151f
JM
22202017-06-11 Jason Merrill <jason@redhat.com>
2221
2222 * c-ada-spec.c, c-pragma.c: Use id_equal.
2223
3de4ac6d
MP
22242017-06-04 Marek Polacek <polacek@redhat.com>
2225
2226 PR c/80919
2227 * c-format.c (matching_type_p): Return false if any of the types
2228 requires structural equality.
2229
2474f48f
MS
22302017-06-02 Martin Sebor <msebor@redhat.com>
2231
2232 PR c/80892
2233 * c-warn.c (conversion_warning): Use -Wconversion for integer
2234 conversion and -Wfloat-conversion for floating one.
2235
40ffd95f
BE
22362017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2237
2238 * c.opt (Wsizeof-pointer-div): New warning option.
2239
3fa4634c
VR
22402017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2241
2242 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2243 (Wcatch-value=1): Enable by -Wall.
2244
f012c8ef
DM
22452017-05-30 David Malcolm <dmalcolm@redhat.com>
2246
2247 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2248 format_chars.
2249 * c.opt (fdiagnostics-show-template-tree): New option.
2250 (felide-type): New option.
2251
63dbcd13
VR
22522017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2253
2254 * c.opt (Wcatch-value=): New C++ warning flag.
2255
be136b5c
NS
22562017-05-24 Nathan Sidwell <nathan@acm.org>
2257
2258 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2259 const casts to avoid warning.
2260
3cd211af
MS
22612017-05-24 Martin Sebor <msebor@redhat.com>
2262
2263 PR c/80731
2264 * c-common.h (unsafe_conversion_p): Add a function argument.
2265 * c-common.c (unsafe_conversion_p): Same.
2266 Add type names and values to diagnostics.
2267 (scalar_to_vector): Adjust.
2268 * c-warn.c (constant_expression_error): Add a function argument.
2269 Add type names and values to diagnostics.
2270 (conversion_warning): Add a function argument.
2271 Add type names and values to diagnostics.
2272 (warnings_for_convert_and_check): Same.
2273
1ff7be5a
JM
22742017-05-19 Jason Merrill <jason@redhat.com>
2275
2276 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2277 enumerators.
2278
ff502317
BE
22792017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2280
2281 * c-format.c (locus): Move out of function scope,
2282 add GTY attribute.
2283
2a8a8d7b
NS
22842017-05-19 Nathan Sidwell <nathan@acm.org>
2285
2286 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2287 (c_common_parse_file): Remove class dump handling.
2288 (get_dump_info): Likewise.
2289
39aac208
RB
22902017-05-19 Richard Biener <rguenther@suse.de>
2291
2292 PR c++/80593
2293 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2294 to alias-set zero memory.
2295
6ecd2339
BE
22962017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2297
2298 * c-format.c (local_tree_type_node): Add GTY attribute.
2299
6574d78e
MP
23002017-05-18 Marek Polacek <polacek@redhat.com>
2301
2302 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2303 (c_common_fixed_point_type_for_size): Likewise.
2304 (c_common_type_for_mode): Likewise.
2305 (shorten_compare): Likewise.
2306 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2307 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2308
e3455240
MP
23092017-05-18 Marek Polacek <polacek@redhat.com>
2310
2311 * c-common.c (self_promoting_args_p): Change the return type to bool.
2312 Use false/true instead of 0/1.
2313 * c-common.h (self_promoting_args_p): Update.
2314
3fa8871b
MP
23152017-05-17 Marek Polacek <polacek@redhat.com>
2316
2317 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2318 * c-warn.c: Likewise.
2319
b42cc3ca
VV
23202017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2321
2322 Implement new C++ intrinsics __is_assignable and __is_constructible.
2323 * c-common.c (__is_assignable, __is_constructible): New.
2324 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2325
1a817418
ML
23262017-05-17 Martin Liska <mliska@suse.cz>
2327
2328 * c-common.h: Introduce dump_flags_t type and
2329 use it instead of int type.
2330 * c-gimplify.c (c_genericize): Likewise.
2331 * c-opts.c: Likewise.
2332
b2fa0a8b
MP
23332017-05-17 Marek Polacek <polacek@redhat.com>
2334
2335 * c-common.c (c_save_expr): Remove.
2336 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
2337 * c-common.h (c_save_expr): Remove declaration.
2338
31c2d57d
VR
23392017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
2340
2341 PR c/35441
2342 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2343 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2344 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2345 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2346 RDIV_EXPR.
2347 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2348
684f84de
MP
23492017-05-09 Marek Polacek <polacek@redhat.com>
2350
2351 PR c/80525
2352 * c-warn.c (unwrap_c_maybe_const): New.
2353 (warn_logical_operator): Call it.
2354
641da50a
NS
23552017-05-09 Nathan Sidwell <nathan@acm.org>
2356
2357 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2358 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2359
631238ac
MS
23602017-05-08 Martin Sebor <msebor@redhat.com>
2361
2362 PR translation/80280
2363 * c-format.h (struct format_flag_spec): Add new member.
2364 (T89_T): New macro.
2365 * c-format.c (local_tree_type_node): New global.
2366 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2367 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2368 (strfmon_flag_specs): Likewise.
2369 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2370 with distinct quoting properties.
2371 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2372 (flag_chars_t::validate): Add argument and handle bad quoting.
2373 (check_format_info_main): Handle quoting problems.
2374 (init_dynamic_diag_info): Simplify.
2375
49f0c04c
JM
23762017-05-08 Jason Merrill <jason@redhat.com>
2377
2378 * c-opts.c (c_common_post_options): Update defaults for
2379 flag_abi_version and flag_abi_compat_version.
2380
56d35585
DM
23812017-05-05 David Malcolm <dmalcolm@redhat.com>
2382
2383 * c-common.c (c_cpp_error): Replace report_diagnostic
2384 with diagnostic_report_diagnostic.
2385
0f2c4a8f
MS
23862017-05-04 Martin Sebor <msebor@redhat.com>
2387
2388 PR translation/80280
2389 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2390 (handle_weakref_attribute): Same.
2391
6fe63fb4
NS
23922017-05-03 Nathan Sidwell <nathan@acm.org>
2393
2394 Canonicalize canonical type hashing
2395 * c-common.c (complete_array_type): Use type_hash_canon.
2396
815d9cc6
XR
23972017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2398
92a285c1 2399 PR c++/80038
815d9cc6
XR
2400 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2401 prototype.
2402 (cilk_install_body_pedigree_operations): Likewise.
2403 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
2404 detatched.
2405 (cilk_gimplify_call_params_in_spawned_fn): Remove.
2406 (cilk_install_body_pedigree_operations): Likewise.
2407 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2408 unwrapping.
2409
f8a36447
JJ
24102017-04-27 Jakub Jelinek <jakub@redhat.com>
2411
2412 PR c++/80534
2413 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2414 flag on non-aggregate element types.
2415
7c145456
BE
24162017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2417
2418 * c-common.c (c_type_hasher, type_hash_table): Remove.
2419 (c_common_get_alias_set): Remove unreachable code.
2420 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2421
c3cbcd45
VR
24222017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
2423
2424 * c.opt (Wextra-semi): New C++ warning flag.
2425
8a59d466
JJ
24262017-04-20 Jakub Jelinek <jakub@redhat.com>
2427
2428 PR middle-end/80423
2429 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2430
8487c9a5
JJ
24312017-04-18 Jakub Jelinek <jakub@redhat.com>
2432
2433 PR middle-end/79788
2434 PR middle-end/80375
2435 * c-common.c (c_common_type_for_mode): Don't handle
2436 widest_*_literal_type_node here.
2437 c_common_signed_or_unsigned_type): Likewise.
2438 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
2439 to *intTI_type_node or *intDI_type_node depending on whether
2440 TImode is supported by the target or not.
2441
3ee0fb02
ML
24422017-04-10 Martin Liska <mliska@suse.cz>
2443
2444 PR sanitizer/80350
2445 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2446 doing an UBSAN check.
2447
5764ee3c
JW
24482017-04-03 Jonathan Wakely <jwakely@redhat.com>
2449
2450 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
2451
6f3af356
JJ
24522017-03-31 Jakub Jelinek <jakub@redhat.com>
2453
2454 PR c++/79572
2455 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2456 tree *.
2457 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
2458 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2459 REFERENCE_TYPE.
2460
f6a7a9d5
DM
24612017-03-31 David Malcolm <dmalcolm@redhat.com>
2462
2463 PR documentation/78732
2464 * c.opt (Wendif-labels): Fix description to refer to
2465 #else rather than #elif.
2466
af88f557
JJ
24672017-03-31 Jakub Jelinek <jakub@redhat.com>
2468
2469 PR libstdc++/80251
2470 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
2471 * c-common.c (c_common_reswords): Add __is_aggregate trait.
2472
a9e4a1a5
JJ
24732017-03-27 Jakub Jelinek <jakub@redhat.com>
2474
2475 PR middle-end/80162
2476 * c-common.c (c_common_mark_addressable_vec): Don't set
2477 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2478
3f01b620
MS
24792017-03-21 Martin Sebor <msebor@redhat.com>
2480
2481 PR c++/79548
2482 * c-common.c (set_underlying_type): Mark type used only when
2483 original del is declared unused.
2484
2f6f187a
DM
24852017-03-10 David Malcolm <dmalcolm@redhat.com>
2486
2487 PR translation/79848
2488 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2489 "%qs".
2490
a02fa805
DM
24912017-03-10 David Malcolm <dmalcolm@redhat.com>
2492
2493 PR c/79921
2494 * c-indentation.c (warn_for_misleading_indentation): Remove parens
2495 from inform's message, so that xgettext can locate it.
2496
822a132c
MP
24972017-03-09 Marek Polacek <polacek@redhat.com>
2498
2499 PR c++/79962
2500 PR c++/79984
2501 * c-attribs.c (handle_nonnull_attribute): Save the result of default
2502 conversion to the attribute list.
2503
bba81f1c
ML
25042017-03-09 Martin Liska <mliska@suse.cz>
2505
2506 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
2507
108154ff
JM
25082017-03-03 Jason Merrill <jason@redhat.com>
2509
2510 * c.opt (Wnoexcept-type): New.
2511
eb0e7c34
RB
25122017-03-02 Richard Biener <rguenther@suse.de>
2513
2514 PR c/79756
2515 * c-common.c (c_common_mark_addressable_vec): Look through
2516 C_MAYBE_CONST_EXPR.
2517
9453ba0a
ML
25182017-02-28 Martin Liska <mliska@suse.cz>
2519
2520 * c.opt: Replace space with tabular for options of <number>
2521 type.
2522
6a825afe
ML
25232017-02-28 Martin Liska <mliska@suse.cz>
2524
2525 * c.opt: Fix --help=option -Q for options which are of
2526 an enum type.
2527
4227c9ad
JJ
25282017-02-24 Jakub Jelinek <jakub@redhat.com>
2529
2530 PR c++/79588
2531 * c-common.c (check_function_restrict): New function.
2532 (check_function_arguments): Add FNDECL argument. Call
2533 check_function_restrict if -Wrestrict.
2534 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
2535 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
2536 * c-common.h (check_function_arguments): Add FNDECL argument.
2537 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
2538
59909673
EB
25392017-02-24 Eric Botcazou <ebotcazou@adacore.com>
2540
2541 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
2542 treatment of parameters with pointer-to-tagged type and tidy up.
2543 (print_ada_methods): Remove the special treatment of C++ static member
2544 functions.
2545
54dcd526
ML
25462017-02-22 Martin Liska <mliska@suse.cz>
2547
2548 * c.opt: Replace inequality signs with square brackets
2549 for -Wnornalized.
2550
00bc9de3
JJ
25512017-02-21 Jakub Jelinek <jakub@redhat.com>
2552
2553 PR c++/79641
2554 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
2555 preserve quals.
2556
97fcf744
JM
25572017-02-17 Joseph Myers <joseph@codesourcery.com>
2558
2559 * c-cppbuiltin.c (builtin_define_float_constants): Define
2560 __DECIMAL_DIG__ to the value for long double.
2561
c7545f1c
MP
25622017-02-15 Marek Polacek <polacek@redhat.com>
2563
2564 PR c/79515
2565 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
2566 conversion has occured.
2567
c2e84327
DM
25682017-01-24 David Malcolm <dmalcolm@redhat.com>
2569
2570 * c-common.c (c_common_reswords): Add "__RTL".
2571 * c-common.h (enum rid): Add RID_RTL.
2572
2ebd93e1
MP
25732017-01-20 Marek Polacek <polacek@redhat.com>
2574
2575 PR c/64279
2576 * c-common.h (do_warn_duplicated_branches_r): Declare.
2577 * c-gimplify.c (c_genericize): Walk the function tree calling
2578 do_warn_duplicated_branches_r.
2579 * c-warn.c (expr_from_macro_expansion_r): New.
2580 (do_warn_duplicated_branches): New.
2581 (do_warn_duplicated_branches_r): New.
2582 * c.opt (Wduplicated-branches): New option.
2583
0d80ab91
DM
25842017-01-17 David Malcolm <dmalcolm@redhat.com>
2585
2586 PR c++/71497
2587 * c-indentation.c (warn_for_misleading_indentation): Use the past
2588 subjunctive in the note.
2589
7f991c36
AH
25902017-01-17 Aldy Hernandez <aldyh@redhat.com>
2591
2592 PR c/79116
2593 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
2594 start type to integer_type.
2595
1c70261c
JJ
25962017-01-16 Jakub Jelinek <jakub@redhat.com>
2597
2598 PR driver/49726
2599 * c.opt (gen-decls): Add Driver flag.
2600
1ddca3f3
PC
26012017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2602
2603 Revert:
2604 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2605
2606 PR c++/71737
2607 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2608
7d2f3f1d
PC
26092017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2610
2611 PR c++/71737
2612 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2613
bce6f760
MS
26142017-01-12 Martin Sebor <msebor@redhat.com>
2615
2616 (-Wformat-overflow): ...to this.
2617
bf5fbf46
MS
26182017-01-11 Martin Sebor <msebor@redhat.com>
2619
2620 PR c/78768
2621 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
2622 Also enable for LTO.
2623
e363df3f
JM
26242017-01-10 Jason Merrill <jason@redhat.com>
2625
2626 Implement P0195R2, C++17 variadic using.
2627 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
2628
bd2c6270
JJ
26292017-01-09 Jakub Jelinek <jakub@redhat.com>
2630
2631 PR translation/79019
2632 PR translation/79020
2633 * c.opt (Wnormalized=): Fix typo in description.
2634
efcc8d38
MS
26352017-01-08 Martin Sebor <msebor@redhat.com>
2636
2637 PR middle-end/77708
2638 * c.opt (-Wformat-truncation): New option.
2639
435f3f7a
AO
26402017-01-06 Alexandre Oliva <aoliva@redhat.com>
2641
2642 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
2643 value to unsigned short to fit in 4 hex digits without
2644 warnings.
2645
4e89adf9
EB
26462017-01-05 Eric Botcazou <ebotcazou@adacore.com>
2647
2648 * c.opt (fsso-struct): Add 'native' value.
2649
cd445b54
ML
26502017-01-05 Martin Liska <mliska@suse.cz>
2651
2652 PR pch/78970
2653 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
2654 header.
2655
a9342885
MP
26562017-01-04 Marek Polacek <polacek@redhat.com>
2657
2658 PR c++/64767
2659 * c.opt (Wpointer-compare): New option.
2660
fc73e60c
JJ
26612017-01-04 Jakub Jelinek <jakub@redhat.com>
2662
2663 PR driver/78957
2664 * c.opt (fsso-struct=): Add RejectNegative.
2665
cbe34bb5
JJ
26662017-01-01 Jakub Jelinek <jakub@redhat.com>
2667
2668 Update copyright years.
2669
d4a6c0ea
ML
26702016-12-29 Martin Liska <mliska@suse.cz>
2671
2672 PR c/78933
2673 * c.opt (strong-eval-order): Add RejectNegative keyword.
2674
67a5ad7c
JM
26752016-12-22 Jason Merrill <jason@redhat.com>
2676
2677 Implement P0522R0, matching of template template arguments.
2678 * c-cppbuiltin.c (c_cpp_builtins): Define
2679 __cpp_template_template_args.
2680
0dba7960
JJ
26812016-12-21 Jakub Jelinek <jakub@redhat.com>
2682
2683 PR bootstrap/78817
2684 * c-common.c (struct nonnull_arg_ctx): New type.
2685 (check_function_nonnull): Return bool instead of void. Use
2686 nonnull_arg_ctx as context rather than just location_t.
2687 (check_nonnull_arg): Adjust for the new context type, set
2688 warned_p to true if a warning has been diagnosed.
2689 (check_function_arguments): Return bool instead of void.
2690 * c-common.h (check_function_arguments): Adjust prototype.
2691
31bfc9b9
JM
26922016-12-21 Jason Merrill <jason@redhat.com>
2693
2694 * c.opt (-fnew-ttp-matching): New flag.
2695 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
2696
629b3d75
MJ
26972016-12-14 Martin Jambor <mjambor@suse.cz>
2698
2699 * c-omp.c: Include omp-general.h instead of omp-low.h.
2700 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
2701 name.
2702
474da67e
MS
27032016-12-14 Martin Sebor <msebor@redhat.com>
2704
2705 PR c/17308
2706 * c-common.c (check_nonnull_arg): Disable when optimization
2707 is enabled.
2708
fe366b87
MP
27092016-12-12 Marek Polacek <polacek@redhat.com>
2710
2711 PR c++/78647
2712 * c-common.c (attribute_fallthrough_p): Return false for
2713 error_mark_node.
2714
8bd9f164
MS
27152016-12-08 Martin Sebor <msebor@redhat.com>
2716
2717 PR c/78284
2718 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2719
060162e0
MS
27202016-12-08 Martin Sebor <msebor@redhat.com>
2721
2722 PR c/78165
92a285c1
ML
2723 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
2724 suffix.
060162e0 2725
ee92e7ba
MS
27262016-12-07 Martin Sebor <msebor@redhat.com>
2727
2728 PR c/53562
2729 PR middle-end/77784
2730 PR middle-end/78149
2731 PR middle-end/78138
2732 * c.opt (-Wstringop-overflow): New option.
2733
84b0769e
MO
27342016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2735
2736 * c-attribs.c (asan odr indicator): New attribute.
2737 (handle_asan_odr_indicator_attribute): New function.
2738
7fa6a965
PK
27392016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2740
2741 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2742 ptrdiff_type_node;
2743
56d8ffc1
JG
27442016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2745
2746 * c-common.c (excess_precision_mode_join): New.
2747 (c_ts18661_flt_eval_method): New.
2748 (c_c11_flt_eval_method): Likewise.
2749 (c_flt_eval_method): Likewise.
2750 * c-common.h (excess_precision_mode_join): New.
2751 (c_flt_eval_method): Likewise.
2752 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2753 (cpp_iec_559_value): Call it.
2754 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2755 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2756 __FLT_EVAL_METHOD_TS_18661_3__.
2757
04f0fcf7
JG
27582016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2759
2760 * c-opts.c (c_common_post_options): Add logic to handle the default
2761 case for -fpermitted-flt-eval-methods.
2762
fb2675cb
PB
27632016-11-23 Paolo Bonzini <bonzini@gnu.org>
2764
2765 * c.opt (Wexpansion-to-defined): New.
2766
ec1c5694
JJ
27672016-11-23 Jakub Jelinek <jakub@redhat.com>
2768
2769 PR target/78451
2770 * c-pragma.c (handle_pragma_target): Don't replace
2771 current_target_pragma, but chainon the new args to the current one.
2772
730c9e75
NS
27732016-11-22 Nathan Sidwell <nathan@acm.org>
2774
2775 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2776 indentation and formatting.
730c9e75 2777
89990732
MS
27782016-11-21 Martin Sebor <msebor@redhat.com>
2779
2780 * c.opt (-fprintf-return-value): Enable by default.
2781
48330c93
BE
27822016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2783
2784 PR c++/71973
2785 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2786 * c-common.c (c_common_nodes_and_builtins): Initialize
2787 const_tm_ptr_type_node.
2788
0d939c95
MP
27892016-11-16 Marek Polacek <polacek@redhat.com>
2790
2791 PR c/78285
2792 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2793
8e745a17
JJ
27942016-11-14 Jakub Jelinek <jakub@redhat.com>
2795
2796 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2797
1ee62b92 27982016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2799 Richard Biener <rguenther@suse.de>
2800
2801 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2802 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2803 * c.opt (fgimple): New option.
1ee62b92 2804
22b15758
UB
28052016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2806
2807 PR c/35503
2808 * c-common.h (warn_for_restrict): Declare.
2809 * c-warn.c: Include gcc-rich-location.h.
2810 (warn_for_restrict): New function.
2811 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2812 (gcc_cdiag_char_table): Likewise.
2813 (gcc_cxxdiag_char_table): Likewise.
2814 * c.opt (Wrestrict): New option.
2815
4be719cd
EB
28162016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2817
2818 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2819 for nested types only if the type is a record or union and dump SLOC.
2820
4a826ca6
JM
28212016-11-09 Jason Merrill <jason@redhat.com>
2822
2823 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2824
2e955d50
JJ
28252016-11-09 Jakub Jelinek <jakub@redhat.com>
2826
2827 * c-ubsan.c (ubsan_instrument_shift): Handle split
2828 -fsanitize=shift-base and -fsanitize=shift-exponent.
2829
51dc6603
JM
28302016-11-07 Jason Merrill <jason@redhat.com>
2831
2832 * c.opt (Wc++1z-compat): New.
2833 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2834
6dc4a604
ML
28352016-11-07 Martin Liska <mliska@suse.cz>
2836
2837 * c-warn.c (warn_for_unused_label): Save all labels used
2838 in goto or in &label.
2839
b302001e
JM
28402016-11-03 Jason Merrill <jason@redhat.com>
2841
2842 * c-cppbuiltin.c (c_cpp_builtins): Correct
2843 __cpp_inheriting_constructors.
2844
31f7f784
JM
28452016-11-01 Jason Merrill <jason@redhat.com>
2846
2bc78e3c
JM
2847 * c-cppbuiltin.c (c_cpp_builtins): Update
2848 __cpp_inheriting_constructors.
2849
31f7f784
JM
2850 * c.opt (-fnew-inheriting-ctors): New.
2851 * c-opts.c: Default to on for ABI 11+.
2852
dcb466ec
JJ
28532016-10-31 Jakub Jelinek <jakub@redhat.com>
2854
2855 PR c++/77948
2856 * c.opt (fext-numeric-literals): Add Var and Init.
2857 * c-opts.c (c_common_handle_option): Don't clear
2858 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2859 (c_common_post_options): Clear it here if not set
2860 explicitly.
2861
52e1b91e
AH
28622016-10-28 Aldy Hernandez <aldyh@redhat.com>
2863
2864 PR debug/77773
2865 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2866 if NULL.
2867
e16f1cc7
JJ
28682016-10-25 Jakub Jelinek <jakub@redhat.com>
2869
2870 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2871 * c-common.c (c_common_reswords): Add __builtin_launder.
2872
f8348061
BE
28732016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2874
2875 * c-common.c (c_common_truthvalue_conversion): Warn for
2876 multiplications in boolean context. Fix the quoting of '<<' and '<'
2877 in the shift warning.
2878
eff89e01
BE
28792016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2880
2881 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2882
24bc7bf4
JM
28832016-10-20 Jason Merrill <jason@redhat.com>
2884
2885 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2886
4c712374
BE
28872016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2888
2889 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2890 integer shift ops in boolean context.
2891
28922016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2893
2894 * c.opt (Walloca): New.
2895 (Walloca-larger-than=): New.
2896 (Wvla-larger-than=): New.
2897
8fa18c06
MP
28982016-10-17 Marek Polacek <polacek@redhat.com>
2899
2900 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2901 Return immediately when finding a match.
2902 (warn_tautological_cmp): Remove a boolean variable that is no longer
2903 needed.
2904
b12b1915
MP
29052016-10-17 Marek Polacek <polacek@redhat.com>
2906
2907 * c-attribs.c: New file.
2908 * c-common.c: Move attributes handling to c-attribs.c.
2909 (get_nonnull_operand): No longer static.
2910 * c-common.h: Move the declarations from c-attribs.c to its own section.
2911
2045acd9
JM
29122016-10-14 Jason Merrill <jason@redhat.com>
2913
2914 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2915 and __cpp_deduction_guides.
2916
14a2c9aa
JM
29172016-10-13 Jason Merrill <jason@redhat.com>
2918
2919 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2920
4d0cdd0c
TP
29212016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2922
2923 * c-cppbuiltin.c: Include memmodel.h.
2924 * c-opts.c: Likewise.
2925 * c-pragma.c: Likewise.
2926 * c-warn.c: Likewise.
2927
70f6d5e1
JJ
29282016-10-12 Jakub Jelinek <jakub@redhat.com>
2929
2930 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2931 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2932 * c-opts.c (sanitize_cpp_opts): Initialize
2933 cpp_opts->cpp_warn_implicit_fallthrough.
2934
78f61294
MP
29352016-10-11 Marek Polacek <polacek@redhat.com>
2936
2937 * c-common.c (warning_candidate_p): Change the return type to bool
2938 and return true/false instead of 1/0.
2939 (vector_mode_valid_p): Likewise.
2940
038b5cc0
MP
29412016-10-11 Marek Polacek <polacek@redhat.com>
2942
2943 * c-common.c (fold_for_warn): No longer static.
2944 (bool_promoted_to_int_p): Likewise.
2945 (c_common_get_narrower): Likewise.
2946 (constant_expression_warning): Move to c-warn.c.
2947 (constant_expression_error): Likewise.
2948 (overflow_warning): Likewise.
2949 (warn_logical_operator): Likewise.
2950 (find_array_ref_with_const_idx_r): Likewise.
2951 (warn_tautological_cmp): Likewise.
2952 (expr_has_boolean_operands_p): Likewise.
2953 (warn_logical_not_parentheses): Likewise.
2954 (warn_if_unused_value): Likewise.
2955 (strict_aliasing_warning): Likewise.
2956 (sizeof_pointer_memaccess_warning): Likewise.
2957 (check_main_parameter_types): Likewise.
2958 (conversion_warning): Likewise.
2959 (warnings_for_convert_and_check): Likewise.
2960 (match_case_to_enum_1): Likewise.
2961 (match_case_to_enum): Likewise.
2962 (c_do_switch_warnings): Likewise.
2963 (warn_for_omitted_condop): Likewise.
2964 (readonly_error): Likewise.
2965 (lvalue_error): Likewise.
2966 (invalid_indirection_error): Likewise.
2967 (warn_array_subscript_with_type_char): Likewise.
2968 (warn_about_parentheses): Likewise.
2969 (warn_for_unused_label): Likewise.
2970 (warn_for_div_by_zero): Likewise.
2971 (warn_for_memset): Likewise.
2972 (warn_for_sign_compare): Likewise.
2973 (do_warn_double_promotion): Likewise.
2974 (do_warn_unused_parameter): Likewise.
2975 (record_locally_defined_typedef): Likewise.
2976 (maybe_record_typedef_use): Likewise.
2977 (maybe_warn_unused_local_typedefs): Likewise.
2978 (maybe_warn_bool_compare): Likewise.
2979 (maybe_warn_shift_overflow): Likewise.
2980 (warn_duplicated_cond_add_or_warn): Likewise.
2981 (diagnose_mismatched_attributes): Likewise.
2982 * c-common.h: Move the declarations from c-warn.c to its own section.
2983 * c-warn.c: New file.
2984
627be19f
JM
29852016-10-08 Jason Merrill <jason@redhat.com>
2986
2987 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2988 into COND_EXPR in C++.
2989
7bad794a
JJ
29902016-10-08 Jakub Jelinek <jakub@redhat.com>
2991
2992 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2993 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2994 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2995
be845b04
JJ
29962016-10-07 Jakub Jelinek <jakub@redhat.com>
2997
2998 Implement LWG2296 helper intrinsic
2999 * c-common.h (enum rid): Add RID_ADDRESSOF.
3000 * c-common.c (c_common_reswords): Add __builtin_addressof.
3001
c09c4992
BE
30022016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3003
3004 PR c++/77700
3005 * c-common.c (c_common_truthvalue_conversion): Warn also for
3006 suspicious enum values in boolean context.
3007
342cfb3e
JJ
30082016-10-06 Jakub Jelinek <jakub@redhat.com>
3009
3010 Implement P0258R2 - helper for C++17
3011 std::has_unique_object_representations trait
3012 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3013 * c-common.c (c_common_reswords): Add
3014 __has_unique_object_representations.
3015
2e69f143
JJ
30162016-10-05 Jakub Jelinek <jakub@redhat.com>
3017
3018 PR sanitizer/66343
3019 * c-ubsan.c (ubsan_instrument_return): Don't call
3020 initialize_sanitizer_builtins here.
3021
700fff34
BE
30222016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3023
3024 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3025 conditional expression in boolean context when only one arm is
3026 non-boolean.
3027
9563bfcd
JJ
30282016-10-05 Jakub Jelinek <jakub@redhat.com>
3029
04a32443
JJ
3030 PR sanitizer/77823
3031 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3032 is not integral.
3033
9563bfcd
JJ
3034 * c-common.c (c_common_reswords): Update comment for C++11.
3035
f1644724
JM
30362016-10-04 Jason Merrill <jason@redhat.com>
3037
3038 * c-common.c (make_tree_vector_from_ctor): New.
3039 * c-common.h: Declare it.
3040
5a79befb
JJ
30412016-10-04 Jakub Jelinek <jakub@redhat.com>
3042
3043 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3044 __LIBGCC_JCR_SECTION_NAME__.
3045
1633d3b9
BE
30462016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3047
3048 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3049 left shift in boolean context.
3050
a2c6e7f2
JJ
30512016-09-29 Jakub Jelinek <jakub@redhat.com>
3052
3053 Implement P0001R1 - C++17 removal of register storage class specifier
3054 * c.opt (Wregister): New warning.
3055 * c-opts.c (c_common_post_options): Enable -Wregister by
3056 default for C++17.
3057
75304c87
JG
30582016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3059
3060 * c-opts.c (c_common_post_options): Remove special case for
3061 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3062 in C++.
3063
bbfac6da
JJ
30642016-09-27 Jakub Jelinek <jakub@redhat.com>
3065
6e39060a
JJ
3066 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3067 -std=c++1z.
3068
bbfac6da
JJ
3069 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3070
e73cf9a2
TP
30712016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3072
3073 * c-common.c: Include memmodel.h.
3074
c6147dc4
MP
30752016-09-26 Marek Polacek <polacek@redhat.com>
3076
3077 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3078
81fea426
MP
30792016-09-26 Marek Polacek <polacek@redhat.com>
3080
3081 PR c/7652
3082 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3083 (handle_fallthrough_attribute): New function.
3084 (attribute_fallthrough_p): New function.
3085 * c-common.h (attribute_fallthrough_p): Declare.
3086
9a2300e9
MP
30872016-09-24 Marek Polacek <polacek@redhat.com>
3088
3089 PR c/77490
3090 * c.opt (Wbool-operation): New.
3091
a09e9e35
BE
30922016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3093
3094 * c-common.c (c_common_truthvalue_conversion): Inhibit
3095 Wint-in-bool-context warning with from_macro_definition_at.
3096 Mention the expression will always evaluate to true.
3097
d43b4ccc
MS
30982016-09-21 Martin Sebor <msebor@redhat.com>
3099
3100 PR bootstrap/77676
3101 * c.opt (fprintf-return-value): Temporarily initialize to zero
3102 to unblock bootstrap failures.
3103
2e1c20b1
JJ
31042016-09-21 Jakub Jelinek <jakub@redhat.com>
3105
3106 PR c++/77651
3107 * c.opt (Waligned-new=): Add RejectNegative.
3108 (faligned-new=): Likewise. Spelling fix - change
3109 aligned_new_threshhold to aligned_new_threshold.
3110 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3111 to aligned_new_threshold.
3112
88d0c3f0
MS
31132016-09-20 Martin Sebor <msebor@redhat.com>
3114
3115 PR middle-end/49905
3116 * c.opt: Add -Wformat-length and -fprintf-return-value.
3117
144a96e4
BE
31182016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3119
3120 PR c++/77434
3121 * c.opt (Wint-in-bool-context): New warning.
3122 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3123 constants in boolean context.
3124
63012d9a
JM
31252016-09-19 Joseph Myers <joseph@codesourcery.com>
3126
3127 * c-common.c (max_align_t_align): Also consider alignment of
3128 float128_type_node.
3129
931388ce
JM
31302016-09-15 Jason Merrill <jason@redhat.com>
3131
3132 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3133 DECL_EXTERNAL.
3134
38711381
JM
31352016-09-14 Jason Merrill <jason@redhat.com>
3136
3137 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3138 limit FIELD_DECL, either.
3139
e51fbec3
MP
31402016-09-14 Marek Polacek <polacek@redhat.com>
3141
3142 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3143 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3144 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3145
254830ba
DM
31462016-09-13 David Malcolm <dmalcolm@redhat.com>
3147
3148 * c-common.c (warn_logical_not_parentheses): Replace
3149 rich_location::add_fixit_insert calls with add_fixit_insert_before
3150 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3151
42763690
JM
31522016-09-13 Jason Merrill <jason@redhat.com>
3153 Tom de Vries <tom@codesourcery.com>
3154
3155 PR c++/77427
3156 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3157
9453eee9
JM
31582016-09-13 Jason Merrill <jason@redhat.com>
3159
3160 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3161 limit types at all.
3162
e96809e3
JM
31632016-09-12 Jason Merrill <jason@redhat.com>
3164
3165 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3166 bit/byte confusion, allow large alignment for types.
3167
54dcdb88
BE
31682016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3169
3170 PR c++/77496
3171 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3172
d1463eb9
DM
31732016-09-12 David Malcolm <dmalcolm@redhat.com>
3174
3175 PR c/72858
3176 * c-format.c (argument_parser::check_argument_type): Add params
3177 "type_start" and "conversion_char". Use the former to generate
3178 offset_to_type_start and pass it and conversion_char to
3179 check_format_types.
3180 (check_format_info_main): Capture the start of the type
3181 information as "type_start", and pass it an format_char
3182 to arg_parser.check_argument_type.
3183 (check_format_types): Provide an example in the leading comment.
3184 Add params "offset_to_type_start" and "conversion_char"; pass
3185 them to format_type_warning calls.
3186 (test_get_modifier_for_format_len): Likewise.
3187 (matching_type_p): New function.
3188 (get_format_for_type): Add param "conversion_char" and move
3189 implementation into...
3190 (get_format_for_type_1): ...new function, called twice.
3191 Use new function matching_type_p rather than checking for
3192 TYPE_CANONICAL equality.
3193 (get_corrected_substring): New function.
3194 (format_type_warning): Provide an example in the leading comment.
3195 Add params "offset_to_type_start" and "conversion_char". Replace
3196 call to get_format_for_type with call to get_corrected_substring
3197 and move rejection of hints for widths/precisions there.
3198 (assert_format_for_type_streq): Add param "conversion_char".
3199 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3200 (test_get_format_for_type_printf): Add conversion chars to the
3201 tests, adding coverage for various combinations of integer
3202 vs double conversions, and for preserving octal and hexadecimal
3203 conversions.
3204 (test_get_format_for_type_scanf): Add conversion chars to the
3205 tests.
3206
5b28efbb
TV
32072016-09-10 Tom de Vries <tom@codesourcery.com>
3208
3209 PR C/71602
3210 * c-common.c (build_va_arg): Handle more strict
3211 targetm.canonical_va_list_type. Replace first argument type error with
3212 assert.
3213
3f0177e7
MS
32142016-09-09 Martin Sebor <msebor@redhat.com>
3215
3216 PR c/77520
3217 PR c/77521
3218 * c-format.c (argument_parser::find_format_char_info): Use %qc
3219 format directive unconditionally.
3220
af63ba4b
JM
32212016-09-09 Jason Merrill <jason@redhat.com>
3222
3223 Implement C++17 new of over-aligned types.
3224 * c.opt: Add -faligned-new and -Waligned-new.
3225 * c-common.c (max_align_t_align): Split out from...
3226 (cxx_fundamental_alignment_p): ...here.
3227 * c-common.h: Declare it.
3228 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3229
c65248cb
JM
32302016-09-09 Joseph Myers <joseph@codesourcery.com>
3231
3232 * c-cppbuiltin.c (builtin_define_type_width): New function.
3233 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3234 macros.
3235
e5106e27
DM
32362016-09-07 David Malcolm <dmalcolm@redhat.com>
3237
3238 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3239 a POINTER_TYPE.
3240 (substring_loc::get_location): Move to substring-locations.c,
3241 keeping implementation as...
3242 (c_get_substring_location): New function, from the above, reworked
3243 to use accessors rather than member lookup.
3244 * c-common.h (class substring_loc): Move to substring-locations.h,
3245 replacing with a forward decl.
3246 (c_get_substring_location): New decl.
3247 * c-format.c: Include "substring-locations.h".
3248 (format_warning_va): Move to substring-locations.c.
3249 (format_warning_at_substring): Likewise.
3250
a42e7952
MS
32512016-09-06 Martin Sebor <msebor@redhat.com>
3252
3253 PR c/77336
3254 * c-format.c (check_function_format): Avoid issuing warnings for
3255 functions unless they call format functions with non-constant
3256 format strings.
3257
b772a565
RB
32582016-09-06 Richard Biener <rguenther@suse.de>
3259
3260 PR c/77450
3261 * c-common.c (c_common_mark_addressable_vec): Handle
3262 COMPOUND_LITERAL_EXPR.
3263
25ff5dd3
MP
32642016-09-05 Marek Polacek <polacek@redhat.com>
3265
3266 PR c/77423
3267 * c-common.c (bool_promoted_to_int_p): New function.
3268 (expr_has_boolean_operands_p): New function.
3269 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3270 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3271
21234eb5
TV
32722016-09-04 Tom de Vries <tom@codesourcery.com>
3273
3274 revert:
3275 2016-08-29 Tom de Vries <tom@codesourcery.com>
3276
3277 * c-common.c (build_va_arg): Replace first argument type error
3278 with assert.
3279
9dc5773f
JJ
32802016-09-02 Jakub Jelinek <jakub@redhat.com>
3281
3282 PR c/65467
3283 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3284 (c_finish_omp_for): Reject _Atomic qualified iterators.
3285
32862016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
3287
3288 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3289 size to guarantee it fits the output of the formatted function
3290 regardless of its arguments.
3291
295844f6
MP
32922016-09-01 Marek Polacek <polacek@redhat.com>
3293
3294 PR c/7652
3295 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3296 FALLTHRU comments.
3297
3d06b6f2
MP
32982016-08-29 Marek Polacek <polacek@redhat.com>
3299
3300 PR c/77292
3301 * c-common.c (warn_logical_not_parentheses): Don't warn for
3302 a comparison or a logical operator.
3303
34cedad5
TV
33042016-08-29 Tom de Vries <tom@codesourcery.com>
3305
3306 * c-common.c (build_va_arg): Fix type comparison assert.
3307
f162d717
TV
33082016-08-29 Tom de Vries <tom@codesourcery.com>
3309
3310 * c-common.c (build_va_arg): Replace first argument type error
3311 with assert.
3312
ba9bbd6f
TV
33132016-08-29 Tom de Vries <tom@codesourcery.com>
3314
3315 PR c/77398
3316 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3317 with error_mark_node as va_list instead of with illegal va_list.
3318
ebef225f
MP
33192016-08-25 Marek Polacek <polacek@redhat.com>
3320 David Malcolm <dmalcolm@redhat.com>
3321
3322 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3323 * c-common.h (warn_logical_not_parentheses): Update declaration.
3324
b00e6e75
MP
33252016-08-22 Marek Polacek <polacek@redhat.com>
3326
3327 PR c++/77321
3328 * c-common.c (warn_for_memset): Check type for null.
3329
6dc198e3
JM
33302016-08-22 Joseph Myers <joseph@codesourcery.com>
3331
14ec014e 3332 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
3333 _FloatNx types for suffixes for built-in functions.
3334
c65699ef
JM
33352016-08-19 Joseph Myers <joseph@codesourcery.com>
3336
3337 PR c/32187
3338 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3339 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3340 (RID_FLOAT128X): New enum rid values.
3341 (CASE_RID_FLOATN_NX): New macro.
3342 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3343 keywords.
3344 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3345 corresponding complex types.
3346 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3347 _FloatNx and corresponding complex types.
3348 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3349 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3350 and _FloatNx types for the widest type for determining
3351 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3352 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3353 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3354 and _FloatNx types.
3355 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3356 constants.
3357 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3358 _FloatNx types.
3359
cc015f3a
DM
33602016-08-18 David Malcolm <dmalcolm@redhat.com>
3361
3362 * c-opts.c (c_diagnostic_finalizer): Update for change to
3363 diagnostic_show_locus.
3364
cb18fd07
DM
33652016-08-18 David Malcolm <dmalcolm@redhat.com>
3366
3367 * c-common.c: Include "spellcheck.h".
3368 (cb_get_suggestion): New function.
3369 * c-common.h (cb_get_suggestion): New decl.
3370 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3371 cb_get_suggestion.
3372
a76989dc
MP
33732016-08-18 Marek Polacek <polacek@redhat.com>
3374
3375 PR c/71514
3376 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3377 and pointer-to-VLA.
3378
65e736c0
DM
33792016-08-16 David Malcolm <dmalcolm@redhat.com>
3380
3381 PR c/72857
3382 * c-common.c (substring_loc::get_range): Rename to...
3383 (substring_loc::get_location): ...this, converting param from a
3384 source_range * to a location_t *. Call
3385 get_source_location_for_substring rather than
3386 get_source_range_for_substring, and pass in m_caret_idx.
3387 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3388 (substring_loc::get_range): Replace with...
3389 (substring_loc::get_location): ...this.
3390 (substring_loc::set_caret_index): New method.
3391 (substring_loc): Add field m_caret_idx.
3392 * c-format.c (format_warning_va): Update for above changes.
3393 Rename local "substring_loc" to "fmt_substring_loc" to avoid
3394 clashing with type name.
3395 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
3396 (check_argument_type): Likewise.
3397 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3398 Use a copy when emitting warnings, setting the caret index from TYPE.
3399
7e1dde14 34002016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3401 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
3402
3403 * c-ada-spec.c (dump_number): New function.
3404 (handle_escape_character): Likewise.
3405 (print_ada_macros): Add handling of constant integers and strings.
3406
191816a3
MP
34072016-08-12 Marek Polacek <polacek@redhat.com>
3408
3409 PR c/7652
3410 * c-common.c (scalar_to_vector): Adjust fall through comment.
3411 * c-opts.c (c_common_handle_option): Likewise.
3412 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3413 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3414 fall through comment.
3415 * cilk.c (extract_free_variables): Add FALLTHRU.
3416
452df4a4
JM
34172016-08-10 Jason Merrill <jason@redhat.com>
3418
3419 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3420
f3365c12
JM
34212016-08-09 Jason Merrill <jason@redhat.com>
3422
3423 * c-common.c (c_common_attribute_table): vector_size affects type
3424 identity.
3425
f0bc3323
MP
34262016-08-09 Marek Polacek <polacek@redhat.com>
3427
3428 PR c/7652
3429 * c-ada-spec.c (dump_generic_ada_node): Add return.
3430
98e5a19a
JM
34312016-08-09 Jason Merrill <jason@redhat.com>
3432
3433 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3434 C++17 constexpr lambdas.
3435
895aa8e1
DM
34362016-08-08 David Malcolm <dmalcolm@redhat.com>
3437
3438 PR c/64955
3439 * c-common.h (selftest::c_format_c_tests): New declaration.
3440 (selftest::run_c_tests): New declaration.
3441 * c-format.c: Include "selftest.h.
3442 (format_warning_va): Add param "corrected_substring" and use
3443 it to add a replacement fix-it hint.
3444 (format_warning_at_substring): Likewise.
3445 (format_warning_at_char): Update for new param of
3446 format_warning_va.
3447 (argument_parser::check_argument_type): Pass "fki" to
3448 check_format_types.
3449 (check_format_types): Add param "fki" and pass it to
3450 format_type_warning.
3451 (deref_n_times): New function.
3452 (get_modifier_for_format_len): New function.
3453 (selftest::test_get_modifier_for_format_len): New function.
3454 (get_format_for_type): New function.
3455 (format_type_warning): Add param "fki" and use it to attempt
3456 to provide hints for argument types when calling
3457 format_warning_at_substring.
3458 (selftest::get_info): New function.
3459 (selftest::assert_format_for_type_streq): New function.
3460 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3461 (selftest::test_get_format_for_type_printf): New function.
3462 (selftest::test_get_format_for_type_scanf): New function.
3463 (selftest::c_format_c_tests): New function.
3464
e52ed3fe
DM
34652016-08-08 David Malcolm <dmalcolm@redhat.com>
3466
3467 PR c/52952
3468 * c-format.c: Include "diagnostic.h".
3469 (location_column_from_byte_offset): Delete.
3470 (location_from_offset): Delete.
3471 (format_warning_va): New function.
3472 (format_warning_at_substring): New function.
3473 (format_warning_at_char): New function.
3474 (check_format_arg): Capture location of format_tree and pass to
3475 check_format_info_main.
3476 (argument_parser): Add fields "start_of_this_format" and
3477 "format_string_cst".
3478 (flag_chars_t::validate): Add param "format_string_cst". Convert
3479 warning_at call using location_from_offset to call to
3480 format_warning_at_char.
3481 (argument_parser::argument_parser): Add param "format_string_cst_"
3482 and use use it to initialize field "format_string_cst".
3483 Initialize new field "start_of_this_format".
3484 (argument_parser::read_format_flags): Convert warning_at call
3485 using location_from_offset to a call to format_warning_at_char.
3486 (argument_parser::read_any_format_left_precision): Likewise.
3487 (argument_parser::read_any_format_precision): Likewise.
3488 (argument_parser::read_any_other_modifier): Likewise.
3489 (argument_parser::find_format_char_info): Likewise, in three places.
3490 (argument_parser::parse_any_scan_set): Likewise, in one place.
3491 (argument_parser::handle_conversions): Likewise, in two places.
3492 (argument_parser::check_argument_type): Add param "fmt_param_loc"
3493 and use it to make a substring_loc. Pass the latter to
3494 check_format_types.
3495 (check_format_info_main): Add params "fmt_param_loc" and
3496 "format_string_cst". Convert warning_at calls using
3497 location_from_offset to calls to format_warning_at_char. Pass the
3498 new params to the arg_parser ctor. Pass "format_string_cst" to
3499 flag_chars.validate. Pass "fmt_param_loc" to
3500 arg_parser.check_argument_type.
3501 (check_format_types): Convert first param from a location_t
3502 to a const substring_loc & and rename to "fmt_loc". Attempt
3503 to extract the range of the relevant parameter and pass it
3504 to format_type_warning.
3505 (format_type_warning): Convert first param from a location_t
3506 to a const substring_loc & and rename to "fmt_loc". Add
3507 params "param_range" and "type". Replace calls to warning_at
3508 with calls to format_warning_at_substring.
3509
1c4d457e
DM
35102016-08-08 David Malcolm <dmalcolm@redhat.com>
3511
3512 * c-format.c (class flag_chars_t): New class.
3513 (struct length_modifier): New struct.
3514 (class argument_parser): New class.
3515 (flag_chars_t::flag_chars_t): New ctor.
3516 (flag_chars_t::has_char_p): New method.
3517 (flag_chars_t::add_char): New method.
3518 (flag_chars_t::validate): New method.
3519 (flag_chars_t::get_alloc_flag): New method.
3520 (flag_chars_t::assignment_suppression_p): New method.
3521 (argument_parser::argument_parser): New ctor.
3522 (argument_parser::read_any_dollar): New method.
3523 (argument_parser::read_format_flags): New method.
3524 (argument_parser::read_any_format_width): New method.
3525 (argument_parser::read_any_format_left_precision): New method.
3526 (argument_parser::read_any_format_precision): New method.
3527 (argument_parser::handle_alloc_chars): New method.
3528 (argument_parser::read_any_length_modifier): New method.
3529 (argument_parser::read_any_other_modifier): New method.
3530 (argument_parser::find_format_char_info): New method.
3531 (argument_parser::validate_flag_pairs): New method.
3532 (argument_parser::give_y2k_warnings): New method.
3533 (argument_parser::parse_any_scan_set): New method.
3534 (argument_parser::handle_conversions): New method.
3535 (argument_parser::check_argument_type): New method.
3536 (check_format_info_main): Introduce classes argument_parser
3537 and flag_chars_t, moving the code within the loop into methods
3538 of these classes. Make various locals "const".
3539
88fa5555
DM
35402016-08-05 David Malcolm <dmalcolm@redhat.com>
3541
3542 * c-common.c: Include "substring-locations.h".
3543 (get_cpp_ttype_from_string_type): New function.
3544 (g_string_concat_db): New global.
3545 (substring_loc::get_range): New method.
3546 * c-common.h (g_string_concat_db): New declaration.
3547 (class substring_loc): New class.
3548 * c-lex.c (lex_string): When concatenating strings, capture the
3549 locations of all tokens using a new obstack, and record the
3550 concatenation locations within g_string_concat_db.
3551 * c-opts.c (c_common_init_options): Construct g_string_concat_db
3552 on the ggc-heap.
3553
78169471
MP
35542016-07-29 Marek Polacek <polacek@redhat.com>
3555
638fc14f
MP
3556 PR c/71926
3557 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
3558 parentheses warning.
3559
78169471
MP
3560 PR c/71574
3561 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
3562
1225d6b1
ML
35632016-07-28 Martin Liska <mliska@suse.cz>
3564
3565 PR gcov-profile/68025
3566 * c-common.c (handle_no_profile_instrument_function_attribute):
3567
ec1e2a40
BE
35682016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
3569
3570 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
3571 BITS_PER_UNIT_LOG.
3572
5ec2cd9f
JM
35732016-07-25 Jason Merrill <jason@redhat.com>
3574
3575 PR c++/65970
3576 * c.opt (fconstexpr-loop-limit): New.
3577
9dc5773f 35782016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
3579
3580 PR c++/71675
3581 * c-common.c (resolve_overloaded_builtin): Avoid converting
3582 __atomic_compare_exchange_n return type to that of what its
3583 first argument points to.
3584
e3fe09c1
UB
35852016-07-22 Uros Bizjak <ubizjak@gmail.com>
3586
3587 * c-common.c: Use HOST_WIDE_INT_M1U instead of
3588 ~(unsigned HOST_WIDE_INT) 0.
3589
bc91c436
ML
35902016-07-22 Martin Liska <mliska@suse.cz>
3591
3592 PR gcov-profile/69028
3593 PR gcov-profile/62047
3594 * cilk.c (create_cilk_helper_decl): Set location of a new decl
3595 to the current_function_decl.
3596
451dcc66
JM
35972016-07-21 Jason Merrill <jason@redhat.com>
3598
3599 PR c++/65168
3600 * c-common.c (c_common_truthvalue_conversion): Check
3601 c_inhibit_evaluation_warnings for warning about address of
3602 reference.
3603
de6a69ee
DM
36042016-07-20 David Malcolm <dmalcolm@redhat.com>
3605
3606 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
3607 const char *.
3608
d022c55a
JM
36092016-07-15 Jason Merrill <jason@redhat.com>
3610
3611 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
3612
ddbbcb19
JJ
36132016-07-15 Jakub Jelinek <jakub@redhat.com>
3614
3615 PR c/71858
3616 * c-common.h (enum lookup_name_fuzzy_kind): Add
3617 FUZZY_LOOKUP_FUNCTION_NAME.
3618
d0cf395a
JM
36192016-07-08 Jason Merrill <jason@redhat.com>
3620
3621 P0145: Refining Expression Order for C++.
3622 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
3623 * c-opts.c: Adjust.
3624
98d44e93
MT
36252016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
3626
3627 PR c++/71214
3628 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
3629
f9d8d994
TS
36302016-06-29 Thomas Schwinge <thomas@codesourcery.com>
3631
3632 * c-pragma.h (enum pragma_kind): Rename
3633 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
3634 users.
3635
4aa83879
RB
36362016-06-29 Richard Biener <rguenther@suse.de>
3637
3638 PR middle-end/71002
3639 * c-common.c (c_common_get_alias_set): Remove union type punning case.
3640
a25bd9e6
JM
36412016-06-24 Jason Merrill <jason@redhat.com>
3642
3643 P0145R2: Refining Expression Order for C++.
3644 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
3645 MODIFY_EXPR.
3646
a86451b9
JJ
36472016-06-24 Jakub Jelinek <jakub@redhat.com>
3648
3649 * c-common.c (check_builtin_function_arguments): Require last
3650 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
3651 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
3652 if the last argument is pointer to enumerated or boolean type.
3653
1a4f11c8
DM
36542016-06-22 David Malcolm <dmalcolm@redhat.com>
3655
3656 PR c/70339
3657 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
3658 (lookup_name_fuzzy): New prototype.
3659
fe55692c
JDA
36602016-06-21 John David Anglin <danglin@gcc.gnu.org>
3661
3662 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
3663
4eb24e01
JM
36642016-06-14 Jason Merrill <jason@redhat.com>
3665
3666 P0145R2: Refining Expression Order for C++.
3667 * c.opt (fargs-in-order): New.
3668 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
3669
ef7cf206
JJ
36702016-06-13 Jakub Jelinek <jakub@redhat.com>
3671
0dda258b
JJ
3672 PR sanitizer/71498
3673 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
3674 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
3675
ef7cf206
JJ
3676 PR preprocessor/71183
3677 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
3678 to cb_get_source_date_epoch.
3679
50b15873
JJ
36802016-06-10 Jakub Jelinek <jakub@redhat.com>
3681
3682 PR c/68657
3683 * c.opt (Wpsabi): Add Warning flag.
3684
4d926e34
MS
36852016-06-10 Martin Sebor <msebor@redhat.com>
3686
3687 PR c/71392
14ec014e 3688 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
3689 the nonnull attribute in type-generic builtins.
3690
e01b4e16
MS
36912016-06-09 Martin Sebor <msebor@redhat.com>
3692
3693 PR c/70883
3694 * c-common.c (builtin_function_validate_nargs): Make text of error
3695 message consistent with others like it.
3696
44a845ca
MS
36972016-06-08 Martin Sebor <msebor@redhat.com>
3698 Jakub Jelinek <jakub@redhat.com>
3699
3700 PR c++/70507
3701 PR c/68120
3702 * c-common.c (check_builtin_function_arguments): Handle
3703 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3704
a80a7051
RB
37052016-06-08 Richard Biener <rguenther@suse.de>
3706
3707 * c-common.c (parse_optimize_options): Improve diagnostic messages.
3708
bfd67b47
RB
37092016-06-07 Richard Biener <rguenther@suse.de>
3710
3711 PR c/61564
3712 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3713 options and warn about others.
3714
15c98b2e
ES
37152016-06-01 Eduard Sanou <dhole@openmailbox.org>
3716
3717 * c-common.c (get_source_date_epoch): Rename to
3718 cb_get_source_date_epoch.
3719 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3720 message when the parsing fails. Use error_at instead of fatal_error.
3721 * c-common.h (get_source_date_epoch): Rename to
3722 cb_get_source_date_epoch.
3723 * c-common.h (cb_get_source_date_epoch): Prototype.
3724 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3725 * c-common.h (c_omp_region_type): Remove trailing comma.
3726 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3727 * c-lex.c (c_lex_with_flags): Remove initialization of
3728 pfile->source_date_epoch.
3729
00631022
JJ
37302016-05-30 Jakub Jelinek <jakub@redhat.com>
3731
3732 PR c++/71349
3733 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3734 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
3735 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3736 instead of C_OMP_CLAUSE_SPLIT_FOR.
3737
f17a223d
RB
37382016-05-24 Richard Biener <rguenther@suse.de>
3739
3740 PR middle-end/70434
3741 PR c/69504
3742 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3743 (convert_vector_to_array_for_subscript): ... this.
3744 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3745 VIEW_CONVERT_EXPR to an array type. Rename to ...
3746 (convert_vector_to_array_for_subscript): ... this.
3747
4f2e1536
MP
37482016-05-12 Marek Polacek <polacek@redhat.com>
3749
3750 PR c/70756
3751 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3752 size_in_bytes and pass LOC to it.
3753
d6e83a8d
MM
37542016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3755
3756 PR c/43651
3757 * c.opt (Wduplicate-decl-specifier): New option.
3758
5c3a10fb
MP
37592016-05-11 Marek Polacek <polacek@redhat.com>
3760
3761 PR c++/71024
3762 * c-common.c (diagnose_mismatched_attributes): New function.
3763 * c-common.h (diagnose_mismatched_attributes): Declare.
3764
deef7113
MP
37652016-05-04 Marek Polacek <polacek@redhat.com>
3766
3767 * c.opt (Wdangling-else): New option.
3768
79ce98bc
MP
37692016-05-03 Marek Polacek <polacek@redhat.com>
3770
3771 PR c/70859
3772 * c-common.c (builtin_function_validate_nargs): Add location
3773 parameter. Use it.
3774 (check_builtin_function_arguments): Add location and arguments
3775 parameters. Use them.
3776 * c-common.h (check_builtin_function_arguments): Update declaration.
3777
381cdae4
RB
37782016-05-03 Richard Biener <rguenther@suse.de>
3779
3780 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3781 allow call args to gimplify to SSA names.
3782
1d793c34
MP
37832016-05-03 Marek Polacek <polacek@redhat.com>
3784
3785 * c-common.h (enum c_omp_region_type): Remove stray comma.
3786
77886428
CP
37872016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3788
3789 * c-common.h (enum c_omp_region_type): Define.
3790
697e0b28
RS
37912016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3792
3793 * c-common.c (shorten_compare): Use wi::to_wide.
3794
e7ff0319
CP
37952016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3796
3797 PR middle-end/70626
3798 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3799 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3800 reduction clauses in acc parallel loops.
3801
2fff3db8
MP
38022016-04-29 Marek Polacek <polacek@redhat.com>
3803
3804 PR c/70852
3805 * c-common.c (warn_for_memset): Check domain before accessing it.
3806
509063eb
DV
38072016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3808
3809 PR/69089
3810 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3811 "aligned" attribute.
3812
b632761d
JM
38132016-04-28 Jason Merrill <jason@redhat.com>
3814
3815 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3816
174f6622
ES
38172016-04-28 Eduard Sanou <dhole@openmailbox.org>
3818 Matthias Klose <doko@debian.org>
3819
3820 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3821 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3822 handling.
3823 * c-common.h (get_source_date_epoch): Prototype.
3824 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3825
6bc2bb18
RB
38262015-04-27 Ryan Burn <contact@rnburn.com>
3827
3828 PR c++/69024
3829 PR c++/68997
3830 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3831 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3832 external linkage.
3833 (cilk_detect_and_unwrap): Corresponding changes.
3834 (extract_free_variables): Don't extract free variables from
3835 AGGR_INIT_EXPR slot.
3836 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3837 (cilk_recognize_spawn): Likewise.
3838
c1e1f433
BS
38392016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3840
3841 * c.opt (Wmemset-elt-size): New option.
3842 * c-common.c (warn_for_memset): New function.
3843 * c-common.h (warn_for_memset): Declare.
3844
d067e05f
JM
38452016-04-25 Jason Merrill <jason@redhat.com>
3846
3847 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3848 No longer static.
3849 * c-common.h: Declare it.
3850 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3851
9aa36ae5
JM
38522016-04-22 Jason Merrill <jason@redhat.com>
3853
3854 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3855
477d4906
IV
38562016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3857
3858 PR c++/69363
3859 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3860 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3861
fe37c7af
MM
38622016-04-18 Michael Matz <matz@suse.de>
3863
3864 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3865 and SET_DECL_ALIGN.
3866
23f2660f
EB
38672016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3870 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3871 to incomplete types.
3872 (dump_nested_type): Remove redundant tests and tidy up.
3873 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3874 a type which is the typedef of an original type.
3875
1e77281b
MP
38762016-04-15 Marek Polacek <polacek@redhat.com>
3877
3878 PR c/70651
3879 * c-common.c (build_va_arg): Change two asserts into errors and return
3880 error_mark_node.
3881
b3a77f21
MP
38822016-04-13 Marek Polacek <polacek@redhat.com>
3883
3884 PR c++/70639
3885 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3886 for switch statements, too.
3887
322b8466
JM
38882016-03-28 Jason Merrill <jason@redhat.com>
3889
3890 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3891
fbdb6baf
MP
38922016-03-23 Marek Polacek <polacek@redhat.com>
3893
3894 PR c++/69884
3895 * c.opt (Wignored-attributes): New option.
3896
5c240f4d
DM
38972016-03-22 David Malcolm <dmalcolm@redhat.com>
3898
3899 PR c/69993
3900 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3901 diagnostic text, reversing the order of the warning and note so
3902 that they appear in source order.
3903
14ba7b28
MP
39042016-03-17 Marek Polacek <polacek@redhat.com>
3905
3906 PR c/69407
3907 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3908 operations.
3909
08a1cadc
JM
39102016-03-14 Jason Merrill <jason@redhat.com>
3911
2aaeea19
JM
3912 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3913
08a1cadc
JM
3914 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3915
c06d25bb
RB
39162016-03-09 Richard Biener <rguenther@suse.de>
3917
3918 PR c/70143
3919 * c-common.c (strict_aliasing_warning): Add back
3920 alias_sets_conflict_p check.
3921
80aac5c8
JM
39222016-03-08 Jason Merrill <jason@redhat.com>
3923
3924 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3925
64b23c13
DM
39262016-03-04 David Malcolm <dmalcolm@redhat.com>
3927
3928 PR c/68187
3929 * c-indentation.c (get_visual_column): Move code to determine next
3930 tab stop to...
3931 (next_tab_stop): ...this new function.
3932 (line_contains_hash_if): Delete function.
3933 (detect_preprocessor_logic): Delete function.
3934 (get_first_nws_vis_column): New function.
3935 (detect_intervening_unindent): New function.
3936 (should_warn_for_misleading_indentation): Replace call to
3937 detect_preprocessor_logic with a call to
3938 detect_intervening_unindent.
3939
729526f5
DM
39402016-03-04 David Malcolm <dmalcolm@redhat.com>
3941
3942 PR c/68187
3943 * c-indentation.c (should_warn_for_misleading_indentation): When
3944 suppressing warnings about cases where the guard and body are on
3945 the same column, only use the first non-whitespace column in place
3946 of the guard token column when dealing with "else" clauses.
3947 When rejecting aligned BODY and NEXT, loosen the requirement
3948 from equality with the first non-whitespace of guard to simply
3949 that they not be indented relative to it.
3950
e9a35493
RB
39512016-03-04 Richard Biener <rguenther@suse.de>
3952
3953 PR c++/70054
3954 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3955 instead of alias_sets_conflict_p.
3956
1be56bc5
MP
39572016-03-01 Marek Polacek <polacek@redhat.com>
3958
3959 PR c++/69795
3960 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3961 any DECL.
3962
35886f0b
MS
39632016-02-22 Martin Sebor <msebor@redhat.com>
3964
3965 PR middle-end/69780
3966 * c-common.c (check_builtin_function_arguments): Validate and
3967 reject invalid arguments to __builtin_alloca_with_align.
3968
4246c8da
MW
39692016-02-20 Mark Wielaard <mjw@redhat.com>
3970
3971 PR c/28901
3972 * c.opt (Wunused-const-variable): Turn into Alias for...
3973 (Wunused-const-variable=): New option.
3974
268be88c
BE
39752016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3976
3977 PR c++/69865
3978 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3979 here...
3980 (c_common_init_options): ...to here.
3981 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3982
871b3f47
JJ
39832016-02-19 Jakub Jelinek <jakub@redhat.com>
3984
3985 PR c++/69826
3986 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3987 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3988 flag_preprocess_only.
3989
bf14eba2
JJ
39902016-02-16 Jakub Jelinek <jakub@redhat.com>
3991
3992 PR c/69835
3993 * c.opt (Wnonnull-compare): Enable for -Wall.
3994
ba6b3795
JJ
39952016-02-15 Jakub Jelinek <jakub@redhat.com>
3996
3997 PR c++/69797
3998 * c-common.c (sync_resolve_size): Diagnose too few arguments
3999 even when params is non-NULL empty vector.
4000
a011cd92
BS
40012016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4002
4003 PR target/60410
4004 * c.opt (fshort-double): Remove.
4005
46cb9332
MS
40062016-02-05 Martin Sebor <msebor@redhat.com>
4007
4008 PR c++/69662
4009 * c.opt (Warning options): Update -Wplacement-new to take
4010 an optional argument.
4011
e1b81f2b
JJ
40122016-02-01 Jakub Jelinek <jakub@redhat.com>
4013
4014 PR preprocessor/69543
4015 PR c/69558
4016 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4017 instead of loc to control_warning_option.
4018
b6adbb9f
NS
40192016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4020
4021 * c.opt (fopenacc-dim=): New option.
4022
5d70666e
RB
40232016-01-27 Ryan Burn <contact@rnburn.com>
4024
4025 PR cilkplus/69267
4026 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4027 gimplify_arg. Removed superfluous post_p argument.
4028 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4029 superfluous post_p argument.
4030 * c-gimplify.c (c_gimplify_expr): Likewise.
4031
01e1dea3
DM
40322016-01-26 David Malcolm <dmalcolm@redhat.com>
4033
4034 PR other/69006
4035 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4036 pp_newline_and_flush with pp_flush.
4037
9f04a53e
MS
40382016-01-20 Martin Sebor <msebor@redhat.com>
4039
4040 PR c/69405
4041 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4042 an incompatible argument when the argument isn't a valid tree node.
4043
7f26f7df
JM
40442016-01-18 Jason Merrill <jason@redhat.com>
4045
4046 PR c++/68767
4047 * c-common.c (check_function_arguments_recurse): Fold the whole
4048 COND_EXPR, not just the condition.
4049
f62bf092
TV
40502016-01-18 Tom de Vries <tom@codesourcery.com>
4051
4052 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4053 classify as loop clause.
4054
e0a575ff
JJ
40552016-01-15 Jakub Jelinek <jakub@redhat.com>
4056
4057 PR bootstrap/68271
4058 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4059 C++ FE no longer has limit on number of pragmas.
4060
40612015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4062
4063 PR c++/69048
4064 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4065 to add missing cleanup point.
b6e3db06 4066
c7df95d8
DM
40672016-01-14 David Malcolm <dmalcolm@redhat.com>
4068
4069 PR c++/68819
4070 * c-indentation.c (get_visual_column): Add location_t param.
4071 Handle the column number being zero by effectively disabling the
4072 warning, with an "inform".
4073 (should_warn_for_misleading_indentation): Add location_t argument
4074 for all uses of get_visual_column.
4075
21efdd80
PP
40762016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4077
4078 PR c++/69029
4079 * c-indentation.c (should_warn_for_misleading_indentation):
4080 Don't warn about do-while statements.
4081
7a127fa7
MS
40822016-01-07 Martin Sebor <msebor@redhat.com>
4083
4084 PR c/68966
4085 * c-common.c (sync_resolve_size): Reject first argument when it's
4086 a pointer to _Bool.
4087
c589e975
DM
40882016-01-05 David Malcolm <dmalcolm@redhat.com>
4089
4090 PR c/69122
4091 * c-indentation.c (get_visual_column): Remove default argument.
4092 (should_warn_for_misleading_indentation): For the multiline case,
4093 update call to get_visual_column for next_stmt_exploc so that it
4094 captures the location of the first non-whitespace character in the
4095 relevant line. Don't issue warnings if there is non-whitespace
4096 before the next statement.
4097
818ab71a
JJ
40982016-01-04 Jakub Jelinek <jakub@redhat.com>
4099
4100 Update copyright years.
4101
745e411d
DM
41022015-12-21 David Malcolm <dmalcolm@redhat.com>
4103
4104 * c-common.c (binary_op_error): Convert first param from
4105 location_t to rich_location * and use it when emitting an error.
4106 * c-common.h (binary_op_error): Convert first param from
4107 location_t to rich_location *.
4108
de67c4c3
DM
41092015-12-16 David Malcolm <dmalcolm@redhat.com>
4110
4111 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4112 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4113
4a38b02b
IV
41142015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4115
4116 * c-common.c (c_common_attribute_table): Handle "omp declare target
4117 link" attribute.
4118
54d62f51
JJ
41192015-12-14 Jakub Jelinek <jakub@redhat.com>
4120
4121 PR c/68833
4122 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4123
8d4227c8
TB
41242014-12-12 Tobias Burnus <burnus@net-b.de>
4125
4126 PR fortran/68815
4127 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4128 specifiers (%d, %i,%u and %c).
4129
f6069ccc
DM
41302015-12-10 David Malcolm <dmalcolm@redhat.com>
4131
4132 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4133
63bbf46d
JJ
41342015-12-08 Jakub Jelinek <jakub@redhat.com>
4135
4136 PR c/48088
4137 PR c/68657
4138 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4139 * c-pragma.c (handle_pragma_diagnostic): Adjust
4140 control_warning_option caller.
4141
f79520bb
DM
41422015-12-07 David Malcolm <dmalcolm@redhat.com>
4143
4144 * c-common.c (c_cpp_error): Update for change to
4145 rich_location::set_range.
4146
b3d5bc62
JJ
41472015-12-04 Paolo Bonzini <bonzini@gnu.org>
4148
4149 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4150 shifting 1 out of the sign bit.
4151
41522015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4153
4154 * c-common.c (c_common_attribute_table[]): Update max arguments
4155 count for "simd" attribute.
4156 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4157
6eb4a537
JJ
41582015-12-03 Jakub Jelinek <jakub@redhat.com>
4159
4160 PR preprocessor/57580
4161 * c-ppoutput.c (print): Change printed field to bool.
4162 Move src_file last for smaller padding.
4163 (init_pp_output): Set print.printed to false instead of 0.
4164 (scan_translation_unit): Fix up formatting. Set print.printed
4165 to true after printing something other than newline.
4166 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4167 (maybe_print_line_1): Set print.printed to false instead of 0.
4168 (print_line_1): Likewise.
4169 (do_line_change): Set print.printed to true instead of 1.
4170 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4171 dump_macro): Set print.printed to false after printing newline.
4172
4250754e
JM
41732015-12-02 Jason Merrill <jason@redhat.com>
4174
f479b43d
JM
4175 * c-common.c (fold_for_warn): New.
4176 (warn_logical_operator, warn_tautological_cmp)
4177 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4178
4250754e
JM
4179 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4180 (c_fully_fold_internal, decl_constant_value_for_optimization):
4181 Move to c/c-fold.c.
4182 * c-common.h: Don't declare decl_constant_value_for_optimization.
4183
e9e32ee6
JM
41842015-12-02 Joseph Myers <joseph@codesourcery.com>
4185
4186 PR c/68162
4187 * c-common.h (c_build_qualified_type): Add extra default
4188 arguments.
4189
37d5ad46
JB
41902015-12-01 Julian Brown <julian@codesourcery.com>
4191 Cesar Philippidis <cesar@codesourcery.com>
4192 James Norris <James_Norris@mentor.com>
4193
4194 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4195 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4196 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4197
f07862c7
EB
41982015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4199
4200 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4201 (decl_sloc_common): Delete and move bulk of processing to...
4202 (decl_sloc): ...here.
4203 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4204 (dump_ada_double_name): Remove S parameter and compute the suffix.
4205 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4206 element type and deal with an anonymous one.
4207 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4208 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4209 and remove reference to QUAL_UNION_TYPE.
4210 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4211 (dump_nested_type): ...here. New function extracted from above.
4212 Generate a full declaration for anonymous element type of arrays.
4213 (print_ada_declaration): Really skip anonymous declarations. Remove
4214 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4215 Clean up processing of declarations of array types and objects.
4216 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4217 Remove obsolete code and tidy up.
4218
75c8aac3
JH
42192015-11-29 Jan Hubicka <hubicka@ucw.cz>
4220
4221 PR c/67581
4222 * c-common.c (handle_transparent_union_attribute): Update
4223 also type variants.
4224
b58d3df2
ML
42252015-11-27 Martin Liska <mliska@suse.cz>
4226
4227 PR c++/68312
4228 * array-notation-common.c (cilkplus_extract_an_triplets):
4229 Release vector of vectors.
4230 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4231
89a01fcf
EB
42322015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4233
4234 PR c++/68527
4235 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4236 (print_ada_struct_decl): Likewise.
4237
cc5c5226
IZ
42382015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4239
4240 PR c++/68001
4241 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4242 * cilk.c (recognize_spawn): Determine location in a more precise
4243 way.
4244
269adb9d
JM
42452015-11-19 Jason Merrill <jason@redhat.com>
4246
4247 * c-common.c (shorten_compare): But look through macros from
4248 system headers.
4249
d0eccfcd
JM
42502015-11-18 Jason Merrill <jason@redhat.com>
4251
4252 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4253 non-constant operand comes from a macro.
4254
3e44547c
JM
42552015-11-17 Jason Merrill <jason@redhat.com>
4256
4257 PR bootstrap/68346
4258 * c-common.c (warn_tautological_cmp): Fold before checking for
4259 constants.
4260
0f62c7a0
MP
42612015-11-16 Marek Polacek <polacek@redhat.com>
4262
4263 PR c++/68362
4264 * c-common.c (check_case_bounds): Fold low and high cases.
4265
a868811e
MP
42662015-11-16 Marek Polacek <polacek@redhat.com>
4267
4268 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4269 * c-common.c (c_common_get_alias_set): Likewise.
4270 (handle_visibility_attribute): Likewise.
4271
fff77217
KY
42722015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4273
4274 * c-common.c (handle_simd_attribute): New.
4275 (struct attribute_spec): Add entry for "simd".
4276 (handle_simd_attribute): New.
4277
269e63b7
KT
42782015-11-13 Kai Tietz <ktietz70@googlemail.com>
4279
4280 * c-lex.c (interpret_float): Use fold_convert.
4281
ebedc9a3
DM
42822015-11-13 David Malcolm <dmalcolm@redhat.com>
4283
4284 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4285 and store it on the result.
4286 * c-opts.c (c_common_init_options): Set
4287 global_dc->colorize_source_p.
4288
6e232ba4
JN
42892015-11-12 James Norris <jnorris@codesourcery.com>
4290 Joseph Myers <joseph@codesourcery.com>
4291
7365279f 4292 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
4293 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4294 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4295 PRAGMA_OACC_CLAUSE_LINK.
4296
e78bede6
MP
42972015-11-11 Marek Polacek <polacek@redhat.com>
4298
4299 PR c/68107
4300 PR c++/68266
4301 * c-common.c (valid_array_size_p): New function.
4302 * c-common.h (valid_array_size_p): Declare.
4303
3f8257db 43042015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
4305
4306 PR bootstrap/68271
4307 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4308
69f293c9
AM
43092015-11-11 Andrew MacLeod <amacleod@redhat.com>
4310
4311 * array-notation-common.c: Remove unused header files.
4312 * c-ada-spec.c: Likewise.
4313 * c-cilkplus.c: Likewise.
4314 * c-common.c: Likewise.
4315 * c-cppbuiltin.c: Likewise.
4316 * c-dump.c: Likewise.
4317 * c-format.c: Likewise.
4318 * c-gimplify.c: Likewise.
4319 * c-indentation.c: Likewise.
4320 * c-lex.c: Likewise.
4321 * c-omp.c: Likewise.
4322 * c-opts.c: Likewise.
4323 * c-pch.c: Likewise.
4324 * c-ppoutput.c: Likewise.
4325 * c-pragma.c: Likewise.
4326 * c-pretty-print.c: Likewise.
4327 * c-semantics.c: Likewise.
4328 * c-ubsan.c: Likewise.
4329 * cilk.c: Likewise.
4330 * stub-objc.c: Likewise.
4331
3a40d81d
NS
43322015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4333 Cesar Philippidis <cesar@codesourcery.com>
4334 James Norris <jnorris@codesourcery.com>
4335 Julian Brown <julian@codesourcery.com>
4336 Nathan Sidwell <nathan@codesourcery.com>
4337
4338 * c-pragma.c (oacc_pragmas): Add "routine".
4339 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4340
ee45a32d
EB
43412015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4342
4343 * c-common.c (c_common_attributes): Add scalar_storage_order.
4344 (handle_scalar_storage_order_attribute): New function.
4345 * c-pragma.c (global_sso): New variable.
4346 (maybe_apply_pragma_scalar_storage_order): New function.
4347 (handle_pragma_scalar_storage_order): Likewise.
4348 (init_pragma): Register scalar_storage_order.
4349 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4350 * c.opt (Wscalar-storage-order): New warning.
4351 (fsso-struct=): New option.
4352
eb11eb15
MS
43532015-11-08 Martin Sebor <msebor@redhat.com>
4354
4355 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4356
0aad0198
RS
43572015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4358
4359 * c-common.c: Don't undef DEF_BUILTIN.
4360
8a645150
DM
43612015-11-06 David Malcolm <dmalcolm@redhat.com>
4362
4363 * c-common.c (c_cpp_error): Convert parameter from location_t to
4364 rich_location *. Eliminate the "column_override" parameter and
4365 the call to diagnostic_override_column.
4366 Update the "done_lexing" clause to set range 0
4367 on the rich_location, rather than overwriting a location_t.
4368 * c-common.h (c_cpp_error): Convert parameter from location_t to
4369 rich_location *. Eliminate the "column_override" parameter.
4370
7a5e4956
CP
43712015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4372 Thomas Schwinge <thomas@codesourcery.com>
4373 James Norris <jnorris@codesourcery.com>
4374
4375 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4376 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
4377 clauses with parallel and kernels and loops.
4378 * c-pragma.h (enum pragma_omp_clause): Add entries for
4379 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4380 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4381 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4382 INDEPENDENT,SEQ}.
4383 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4384
e2f5cc96
MS
43852015-11-05 Martin Sebor <msebor@redhat.com>
4386
4387 PR c++/67942
4388 * c.opt (-Wplacement-new): New option.
4389
e01d41e5
JJ
43902015-11-05 Jakub Jelinek <jakub@redhat.com>
4391
4392 * c-common.h (c_finish_omp_atomic): Add TEST argument.
4393 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4394 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
4395 save_expr or create_tmp_var* if TEST is true.
4396 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4397 Don't call add_stmt here.
4398 (struct c_omp_check_loop_iv_data): New type.
4399 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4400 c_omp_check_loop_iv_exprs): New functions.
4401 (c_omp_split_clauses): Adjust for lastprivate being allowed on
4402 distribute.
4403 (c_omp_declare_simd_clauses_to_numbers): Change
4404 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4405 (c_omp_declare_simd_clauses_to_decls): Similarly change those
4406 from numbers to PARM_DECLs.
4407
595278be
MM
44082015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
4409
4410 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4411 flag_checking.
4412
3f8257db 44132015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
4414
4415 PR c++-common/67882
b3d5bc62
JJ
4416 * c-common.h (fold_offsetof_1): Add argument.
4417 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
4418 offsetof expressions that reference elements past the end of
4419 an array.
4420
4bf9e5a8
TS
44212015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4422 Chung-Lin Tang <cltang@codesourcery.com>
4423
4424 * c-pragma.c (oacc_pragmas): Add "atomic".
4425 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4426
3b1661a9
ES
44272015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
4428
4429 * c-common.c (handle_target_clones_attribute): New.
4430 (c_common_attribute_table): Add handle_target_clones_attribute.
4431 (handle_always_inline_attribute): Add check on target_clones attribute.
4432 (handle_target_attribute): Ditto.
4433
2adfab87
AM
44342015-10-29 Andrew MacLeod <amacleod@redhat.com>
4435
4436 * array-notation-common.c: Reorder #include's and remove duplicates.
4437 * c-ada-spec.c: Likewise.
4438 * c-cilkplus.c: Likewise.
4439 * c-common.c: Likewise.
4440 * c-cppbuiltin.c: Likewise.
4441 * c-dump.c: Likewise.
4442 * c-format.c: Likewise.
4443 * c-gimplify.c: Likewise.
4444 * c-indentation.c: Likewise.
4445 * c-lex.c: Likewise.
4446 * c-omp.c: Likewise.
4447 * c-opts.c: Likewise.
4448 * c-pch.c: Likewise.
4449 * c-ppoutput.c: Likewise.
4450 * c-pragma.c: Likewise.
4451 * c-pretty-print.c: Likewise.
4452 * c-semantics.c: Likewise.
4453 * c-ubsan.c: Likewise.
4454 * cilk.c: Likewise.
4455 * stub-objc.c: Likewise.
4456
d90ec4f2
JM
44572015-10-28 Jason Merrill <jason@redhat.com>
4458
4459 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4460
88bae6f4
TS
44612015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4462 James Norris <jnorris@codesourcery.com>
4463 Cesar Philippidis <cesar@codesourcery.com>
4464
4465 PR c/64765
4466 PR c/64880
4467 * c-common.h (c_oacc_split_loop_clauses): Declare function.
4468 * c-omp.c (c_oacc_split_loop_clauses): New function.
4469
b1726d6c
MS
44702015-10-21 Martin Sebor <msebor@redhat.com>
4471
4472 PR driver/68043
4473 * c.opt: End each sentence that describes an option with a period.
4474
fa60eeb9
MP
44752015-10-20 Marek Polacek <polacek@redhat.com>
4476
4477 * array-notation-common.c (is_cilkplus_vector_p): Define.
4478 * c-common.h (is_cilkplus_vector_p): Declare.
4479
95979049
MP
44802015-10-20 Marek Polacek <polacek@redhat.com>
4481
4482 * c.opt (std=gnu++11): Do not describe as experimental.
4483 (std=gnu++14): Likewise.
4484
2a9fb712
JM
44852015-10-19 Jason Merrill <jason@redhat.com>
4486
4487 * c-cppbuiltin.c (c_cpp_builtins): Define
4488 __cpp_nontype_template_args.
4489
13b380a3
JM
44902015-10-19 Jason Merrill <jason@redhat.com>
4491
4492 * c-cppbuiltin.c (c_cpp_builtins): Define
4493 __cpp_enumerator_attributes, __cpp_fold_expressions,
4494 __cpp_unicode_characters.
4495
d9a6bd32
JJ
44962015-10-13 Jakub Jelinek <jakub@redhat.com>
4497 Aldy Hernandez <aldyh@redhat.com>
4498
4499 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4500 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4501 (c_define_builtins): Likewise.
4502 * c-common.h (enum c_omp_clause_split): Add
4503 C_OMP_CLAUSE_SPLIT_TASKLOOP.
4504 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4505 (c_finish_omp_for): Add ORIG_DECLV argument.
4506 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4507 201511 instead of 201307.
4508 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4509 OMP_CRITICAL_CLAUSES to it.
4510 (c_finish_omp_ordered): Add CLAUSES argument, set
4511 OMP_ORDERED_CLAUSES to it.
4512 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4513 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
4514 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4515 constructs and new OpenMP 4.5 clauses. Clear
4516 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
4517 verification code.
4518 * c-pragma.c (omp_pragmas_simd): Add taskloop.
4519 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4520 (enum pragma_omp_clause): Add
4521 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4522 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
4523
624d31fe
RS
45242015-10-05 Richard Sandiford <richard.sandiford@arm.com>
4525
4526 * c-lex.c (interpret_float): Use real_equal instead of
4527 REAL_VALUES_EQUAL.
4528
b8fd7909
JM
45292015-10-04 Jason Merrill <jason@redhat.com>
4530
4531 Implement N4514, C++ Extensions for Transactional Memory.
4532 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
4533 (c_common_attribute_table): Add transaction_safe_dynamic.
4534 transaction_safe now affects type identity.
4535 (handle_tm_attribute): Handle transaction_safe_dynamic.
4536 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
4537 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
4538 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
4539 (D_TRANSMEM): New.
4540 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
4541 * c-pretty-print.c (pp_c_attributes_display): Don't print
4542 transaction_safe in C++.
4543
12651878
MP
45442015-10-02 Marek Polacek <polacek@redhat.com>
4545
4546 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
4547
3e3b8d63
MP
45482015-10-02 Marek Polacek <polacek@redhat.com>
4549
4550 PR c/64249
4551 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
4552 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
4553 * c.opt (Wduplicated-cond): New option.
4554
0d1a8f75
JM
45552015-10-01 Joseph Myers <joseph@codesourcery.com>
4556
4557 * c.opt (std=c11): Do not describe as experimental.
4558 (std=gnu11): Likewise.
4559 (std=iso9899:2011): Likewise.
4560
3e32ee19
NS
45612015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4562
4563 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
4564 (DEF_FUNCTION_TYPE_VAR_11): Delete.
4565
974348ee
MP
45662015-09-25 Marek Polacek <polacek@redhat.com>
4567
4568 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
4569 (ubsan_instrument_shift): Likewise.
4570
15dbc1a6
MP
45712015-09-25 Marek Polacek <polacek@redhat.com>
4572
4573 PR sanitizer/64906
4574 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
4575
6b95d7cc
PP
45762015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
4577
4578 * c-indentation.c (should_warn_for_misleading_indentation):
4579 Compare next_stmt_vis_column with guard_line_first_nws instead
4580 of with guard_line_vis_column.
4581
c1822f9c
MLI
45822015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4583
4584 PR c/49654
4585 PR c/49655
4586 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
4587 options and options not valid for the current language.
4588
d5398058
PP
45892015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
4590
4591 * c-indentation.c (should_warn_for_misleading_indentation):
4592 Float out and consolidate the calls to get_visual_column that
4593 are passed guard_exploc as an argument. Compare
4594 next_stmt_vis_column with guard_line_first_nws instead of with
4595 body_line_first_nws.
4596
6b333269
NS
45972015-09-22 Nathan Sidwell <nathan@codesourcery.com>
4598
4599 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
4600 Wnamespaces): New C++ warnings.
4601
a75f1574
JM
46022015-09-22 Jason Merrill <jason@redhat.com>
4603
4604 * c-common.h (abi_compat_version_crosses): New.
4605 (warn_abi_version): Declare.
4606 * c-common.c: Define it.
4607 * c-opts.c (c_common_post_options): Handle it.
4608 flag_abi_compat_version defaults to 8.
4609
bdaaa8b7
VV
46102015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
4611
4612 Complete the implementation of N4230, Nested namespace definition.
4613 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
4614 __cpp_nested_namespace_definitions.
4615
eaa797e8
MLI
46162015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4617
4618 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
4619
c4914de6
MLI
46202015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4621
4622 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
4623 when warning.
4624 * c-pragma.h (pragma_lex): Add optional loc argument.
4625
fcb87c50
MM
46262015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
4627
4628 * c-format.c (check_format_arg): Adjust to use common block size in all
4629 object pools.
4630
31bdd08a
DM
46312015-09-15 David Malcolm <dmalcolm@redhat.com>
4632
4633 * c-format.c (location_from_offset): Update for change in
4634 signature of location_get_source_line.
4635 * c-indentation.c (get_visual_column): Likewise.
4636 (line_contains_hash_if): Likewise.
4637
aa9f4b4c
MP
46382015-09-14 Marek Polacek <polacek@redhat.com>
4639
4640 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
4641 setting various warnings.
4642
aa256c4a
MP
46432015-09-14 Marek Polacek <polacek@redhat.com>
4644
4645 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
4646 a negative value.
4647
0f876f22
MW
46482015-09-11 Mark Wielaard <mjw@redhat.com>
4649
4650 PR c/28901
4651 * c.opt (Wunused-variable): Option from common.opt.
4652 (Wunused-const-variable): New option.
4653
273aa49e
PC
46542015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4655
4656 PR c++/53184
4657 * c.opt ([Wsubobject-linkage]): Add.
4658
1807ffc1
MS
46592015-09-03 Martin Sebor <msebor@redhat.com>
4660
4661 PR c/66516
4662 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
4663 functions.
4664 * c-common.c (reject_gcc_builtin): Define.
4665
38942840
BI
46662015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
4667
4668 PR middle-end/60586
4669 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
4670 prototype.
4671 * c-gimplify.c (c_gimplify_expr): Added a call to the function
4672 cilk_gimplify_call_params_in_spawned_fn.
4673 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
4674 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
4675 unwrapping.
4676
c316b5e4
MP
46772015-08-25 Marek Polacek <polacek@redhat.com>
4678
4679 PR middle-end/67330
4680 * c-common.c (handle_weak_attribute): Don't check whether the
4681 visibility can be changed here.
4682
584a7c46
MLI
46832015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4684
4685 * c-lex.c (c_lex_with_flags): Use explicit locations.
4686
a79683d5
TS
46872015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
4688
4689 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
4690 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
4691
61717a45
FXC
46922015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4693
4694 PR middle-end/36757
4695 * c-common.c (check_builtin_function_arguments): Add check
4696 for BUILT_IN_SIGNBIT argument.
4697
329524f5
PC
46982015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
4699
4700 PR c++/67160
4701 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
4702 in c++1z mode.
4703
4ee55665
MP
47042015-08-17 Marek Polacek <polacek@redhat.com>
4705
4706 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
4707 with whitespaces before qualifier names.
4708
b893e375
MP
47092015-08-12 Marek Polacek <polacek@redhat.com>
4710
4711 PR c++/55095
4712 * c-common.c (maybe_warn_shift_overflow): Properly handle
4713 left-shifting 1 into the sign bit.
4714
c2d89095
MLI
47152015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4716
4717 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4718
971e17ff
AS
47192015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
4720 Braden Obrzut <admin@maniacsvault.net>
4721 Jason Merrill <jason@redhat.com>
4722
4723 Add C++ Concepts TS support.
4724 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4725 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4726 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4727 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4728 * c-opts.c (set_std_cxx1z): Set flag_concepts.
4729 * c.opt (fconcepts): New.
4730
b3d5bc62
JJ
47312015-08-02 Martin Sebor <msebor@redhat.com>
4732
4733 * c.opt (-Wframe-address): New warning option.
4734
8ebca419
PP
47352015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4736
4737 * c-indentation.c (should_warn_for_misleading_indentation):
4738 Improve heuristics.
4739
1a1e101f
PP
47402015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4741
4742 * c-indentation.c (get_visual_column): Add parameter first_nws,
4743 use it. Update comment documenting the function.
4744 (is_first_nonwhitespace_on_line): Remove.
4745 (should_warn_for_misleading_indentation): Replace usage of
4746 of is_first_nonwhitespace_on_line with get_visual_column.
4747
992118a1
PP
47482015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4749
4750 * c-indentation.h (struct token_indent_info): Define.
4751 (get_token_indent_info): Define.
4752 (warn_for_misleading_information): Declare.
4753 * c-common.h (warn_for_misleading_information): Remove.
4754 * c-identation.c (warn_for_misleading_indentation):
4755 Change declaration to take three token_indent_infos. Adjust
4756 accordingly.
4757 * c-identation.c (should_warn_for_misleading_indentation):
4758 Likewise. Bail out early if the body is a compound statement.
4759 (guard_tinfo_to_string): Define.
4760
e8fa3817
JM
47612015-07-30 Jason Merrill <jason@redhat.com>
4762
4763 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4764 '*' for reference decay.
4765
173864e8
MP
47662015-07-30 Marek Polacek <polacek@redhat.com>
4767
4768 * c-common.c (warn_tautological_cmp): Bail for float types.
4769
f2afe6dd
MP
47702015-07-27 Marek Polacek <polacek@redhat.com>
4771
4772 PR bootstrap/67030
4773 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4774
05b28fd6
MP
47752015-07-27 Marek Polacek <polacek@redhat.com>
4776
4777 PR c++/66555
4778 PR c/54979
4779 * c-common.c (find_array_ref_with_const_idx_r): New function.
4780 (warn_tautological_cmp): New function.
4781 * c-common.h (warn_tautological_cmp): Declare.
4782 * c.opt (Wtautological-compare): New option.
4783
5a5062b8
MP
47842015-07-23 Marek Polacek <polacek@redhat.com>
4785
4786 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4787 (ubsan_instrument_shift): Likewise.
4788
dc891fe7
MP
47892015-07-23 Marek Polacek <polacek@redhat.com>
4790
4791 PR sanitizer/66908
4792 * c-ubsan.c: Include gimplify.h.
4793 (ubsan_instrument_division): Unshare OP0 and OP1.
4794 (ubsan_instrument_shift): Likewise.
4795
451b5e48
MP
47962015-07-20 Marek Polacek <polacek@redhat.com>
4797 Richard Sandiford <richard.sandiford@arm.com>
4798
4799 PR c++/55095
4800 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4801 Use EXPR_LOC_OR_LOC.
4802 (maybe_warn_shift_overflow): New function.
4803 * c-common.h (maybe_warn_shift_overflow): Declare.
4804 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4805 * c.opt (Wshift-overflow): New option.
4806
fb0b2914
ML
48072015-07-16 Martin Liska <mliska@suse.cz>
4808
4809 * c-format.c (static void check_format_info_main): Use
4810 object_allocator instead of pool_allocator.
4811 (check_format_arg): Likewise.
4812 (check_format_info_main): Likewise.
4813
903f5c23
AM
48142015-07-15 Andrew MacLeod <amacleod@redhat.com>
4815
4816 * c-opts.c: Remove multiline #include comment.
4817
026c3cfd
AH
48182015-07-12 Aldy Hernandez <aldyh@redhat.com>
4819
4820 * c-common.c: Fix double word typos.
4821
bb49ee66
EB
48222015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4823
4824 * c-ada-spec.h (cpp_operation): Revert latest change.
4825 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4826 constructors and destructors.
4827
1916bcb5
AM
48282015-07-09 Andrew MacLeod <amacleod@redhat.com>
4829
4830 * c-common.h: Adjust includes for flags.h changes.
4831 * stub-objc.c: Likewise.
026c3cfd 4832
a9dcd529
EB
48332015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4834
4835 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4836 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4837
b03b462f
JJ
48382015-07-08 Jakub Jelinek <jakub@redhat.com>
4839
4840 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4841 are to be removed, return NULL rather than original clauses list.
4842
c7131fb2
AM
48432015-07-07 Andrew MacLeod <amacleod@redhat.com>
4844
4845 * array-notation-common.c: Adjust includes.
4846 * c-ada-spec.c: Likewise.
4847 * c-cilkplus.c: Likewise.
4848 * c-common.h: Likewise.
4849 * c-cppbuiltin.c: Likewise.
4850 * c-dump.c: Likewise.
4851 * c-format.c: Likewise.
4852 * c-gimplify.c: Likewise.
4853 * c-indentation.c: Likewise.
4854 * c-lex.c: Likewise.
4855 * c-omp.c: Likewise.
4856 * c-opts.c: Likewise.
4857 * c-pch.c: Likewise.
4858 * c-ppoutput.c: Likewise.
4859 * c-pragma.c: Likewise.
4860 * c-pretty-print.c: Likewise.
4861 * c-semantics.c: Likewise.
4862 * c-ubsan.c: Likewise.
4863 * cilk.c: Likewise.
4864 * stub-objc.c: Likewise.
4865
2a7fb83f
EB
48662015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4867
4868 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4869 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4870
a03c9bf1
JM
48712015-07-01 Jason Merrill <jason@redhat.com>
4872
36a85135
JM
4873 * c-common.h (D_CXX11): Rename from D_CXX0X.
4874 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4875 * c-common.c: Adjust.
4876
e7fa68d5
JM
4877 * c-opts.c (c_common_post_options): Default to C++14.
4878
a03c9bf1
JM
4879 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4880
fe95b036
ESR
48812015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4882
4883 Implement N4197 - Adding u8 character literals
b3d5bc62 4884 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4885 CPP_CHAR.
b3d5bc62 4886 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4887 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4888 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4889 and CPP_UTF8CHAR tokens.
4890 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4891
da2e71c9
MLI
48922015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4893
4894 PR fortran/66605
4895 * c-common.c (do_warn_unused_parameter): Move here.
4896 * c-common.h (do_warn_unused_parameter): Declare.
4897
b155cfd9
MP
48982015-06-29 Marek Polacek <polacek@redhat.com>
4899
4900 PR c/66322
4901 * c-common.c (check_case_bounds): Add bool * parameter. Set
4902 OUTSIDE_RANGE_P.
4903 (c_add_case_label): Add bool * parameter. Pass it down to
4904 check_case_bounds.
4905 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4906 warning here.
4907 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4908 declarations.
4909
31521951
MP
49102015-06-27 Marek Polacek <polacek@redhat.com>
4911
4912 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4913 or VECTOR_INTEGER_TYPE_P throughout.
4914 * c-gimplify.c: Likewise.
4915
22d03525
MP
49162015-06-26 Marek Polacek <polacek@redhat.com>
4917
4918 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4919 * c-common.c (c_fully_fold_internal): Likewise.
4920 (c_alignof_expr): Likewise.
4921 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4922 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4923 * cilk.c (create_parm_list): Likewise.
22d03525 4924
af05e6e5
MP
49252015-06-26 Marek Polacek <polacek@redhat.com>
4926
4927 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4928
f0889939
AM
49292015-06-25 Andrew MacLeod <amacleod@redhat.com>
4930
4931 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4932 * c-gimplify.c: Likewise.
4933 * c-pragma.c: Likewise.
4934 * c-ubsan.c: Likewise.
4935 * cilk.c: Likewise.
4936
ca752f39
RS
49372015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4938
4939 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4940 ggc_hasher.
4941
16a16ec7
AM
49422015-06-25 Andrew MacLeod <amacleod@redhat.com>
4943
4944 * cilk.c: Move calls.h after tm.h in the include chain.
4945
0ae9bd27
MP
49462015-06-25 Marek Polacek <polacek@redhat.com>
4947
4948 * array-notation-common.c: Use VAR_P throughout.
4949 * c-ada-spec.c: Likewise.
4950 * c-common.c: Likewise.
4951 * c-format.c: Likewise.
4952 * c-gimplify.c: Likewise.
4953 * c-omp.c: Likewise.
4954 * c-pragma.c: Likewise.
4955 * c-pretty-print.c: Likewise.
4956 * cilk.c: Likewise.
4957
62f9079a
MP
49582015-06-25 Marek Polacek <polacek@redhat.com>
4959
4960 * cilk.c (extract_free_variables): Use is_global_var.
4961
0fa16060
RS
49622015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4963
4964 * c-common.c: Don't include target-def.h.
4965
a68ae2e1
MP
49662015-06-23 Marek Polacek <polacek@redhat.com>
4967
4968 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4969 when comparing INTEGER_CSTs.
4970
c6a2f2d9
PMR
49712015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4972
4973 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4974 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4975 (dump_ada_template): Skip partially specialized types.
4976
6b4db501
MM
49772015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4978
4979 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4980 swapping.
4981
abb226c9
AM
49822015-06-17 Andrew MacLeod <amacleod@redhat.com>
4983
4984 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4985 * c-ada-spec.c: Likewise.
4986 * c-cilkplus.c: Likewise.
4987 * c-common.c: Likewise.
4988 * c-common.h: Likewise.
4989 * c-cppbuiltin.c: Likewise.
4990 * c-dump.c: Likewise.
4991 * c-format.c: Likewise.
4992 * c-gimplify.c: Likewise.
4993 * c-indentation.c: Likewise.
4994 * c-lex.c: Likewise.
4995 * c-omp.c: Likewise.
4996 * c-opts.c: Likewise.
4997 * c-pch.c: Likewise.
4998 * c-ppoutput.c: Likewise.
4999 * c-pragma.c: Likewise.
5000 * c-pretty-print.c: Likewise.
5001 * c-semantics.c: Likewise.
5002 * c-ubsan.c: Likewise.
5003 * cilk.c: Likewise.
5004 * stub-objc.c: Likewise.
5005
076fecad
PP
50062015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5007
5008 PR c++/65168
5009 * c-common.c (c_common_truthvalue_conversion): Warn when
5010 converting an address of a reference to a truth value.
5011
13fdf2e2
AM
50122015-06-08 Andrew MacLeod <amacleod@redhat.com>
5013
5014 * array-notation-common.c : Adjust include files.
5015 * c-ada-spec.c : Likewise.
5016 * c-cilkplus.c : Likewise.
5017 * c-common.c : Likewise.
5018 * c-common.h : Likewise.
5019 * c-cppbuiltin.c : Likewise.
5020 * c-dump.c : Likewise.
5021 * c-format.c : Likewise.
5022 * c-gimplify.c : Likewise.
5023 * c-indentation.c : Likewise.
5024 * c-lex.c : Likewise.
5025 * c-omp.c : Likewise.
5026 * c-opts.c : Likewise.
5027 * c-pch.c : Likewise.
5028 * c-ppoutput.c : Likewise.
5029 * c-pragma.c : Likewise.
5030 * c-pretty-print.c : Likewise.
5031 * c-semantics.c : Likewise.
5032 * c-ubsan.c : Likewise.
5033 * cilk.c : Likewise.
5034 * stub-objc.c : Likewise.
5035
a1661b90
MP
50362015-06-08 Marek Polacek <polacek@redhat.com>
5037
5038 PR c/66415
5039 * c-format.c (location_from_offset): Return LOC if LINE is null.
5040
d7438551
AH
50412015-06-05 Aldy Hernandez <aldyh@redhat.com>
5042
5043 * c-common.h (c_parse_final_cleanups): New prototype.
5044 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5045
b3d5bc62
JJ
50462015-06-04 Sriraman Tallam <tmsriram@google.com>
5047
5048 * c-common.c (noplt): New attribute.
5049 (handle_noplt_attribute): New handler.
5050
ecb9f223
AM
50512015-06-04 Andrew MacLeod <amacleod@redhat.com>
5052
5053 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5054 * c-ada-spec.c: Likewise.
5055 * c-cilkplus.c: Likewise.
5056 * c-common.c: Likewise.
5057 * c-common.h: Likewise.
5058 * c-cppbuiltin.c: Likewise.
5059 * c-dump.c: Likewise.
5060 * c-format.c: Likewise.
5061 * c-gimplify.c: Likewise.
5062 * c-indentation.c: Likewise.
5063 * c-lex.c: Likewise.
5064 * c-omp.c: Likewise.
5065 * c-opts.c: Likewise.
5066 * c-pch.c: Likewise.
5067 * c-ppoutput.c: Likewise.
5068 * c-pragma.c: Likewise.
5069 * c-pretty-print.c: Likewise.
5070 * c-semantics.c: Likewise.
5071 * c-ubsan.c: Likewise.
5072 * cilk.c: Likewise.
5073 * stub-objc.c: Likewise.
5074
6ac48155
DM
50752015-06-02 David Malcolm <dmalcolm@redhat.com>
5076
5077 PR c/66220:
5078 * c-indentation.c (should_warn_for_misleading_indentation): Use
5079 expand_location rather than expand_location_to_spelling_point.
5080 Don't warn if the guarding statement is more indented than the
5081 next/body stmts.
5082
773ce42e
DM
50832015-06-02 David Malcolm <dmalcolm@redhat.com>
5084
5085 * c-indentation.c (warn_for_misleading_indentation): Bail out
5086 immediately if -Wmisleading-indentation isn't enabled.
5087
4fef8379
ML
50882015-06-01 Martin Liska <mliska@suse.cz>
5089
5090 * c-format.c (check_format_arg):Use new type-based pool allocator.
5091 (check_format_info_main) Likewise.
5092
1edfb384
EB
50932015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5094
5095 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5096 (has_nontrivial_methods): Likewise.
5097
9677ef52
MP
50982015-05-25 Marek Polacek <polacek@redhat.com>
5099
5100 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5101
fd5c817a
MP
51022015-05-22 Marek Polacek <polacek@redhat.com>
5103
5104 PR c/47043
5105 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5106
a2f45fe6 51072015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5108
5109 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5110 STACK_GROWS_DOWNWARD.
5111
a2f45fe6 51122015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5113
5114 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5115 STACK_GROWS_DOWNWARD rather than if it is defined.
5116
0fee2ac2 51172015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5118
0fee2ac2
MLI
5119 PR c/52952
5120 * c-format.c (location_column_from_byte_offset): New.
5121 (location_from_offset): New.
5122 (struct format_wanted_type): Add offset_loc field.
5123 (check_format_info): Move handling of location for extra arguments
5124 closer to the point of warning.
5125 (check_format_info_main): Pass the result of location_from_offset
5126 to warning_at.
5127 (format_type_warning): Pass the result of location_from_offset
5128 to warning_at.
5129
cf4ef6f7
MP
51302015-05-20 Marek Polacek <polacek@redhat.com>
5131
5132 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5133
3a65ee74
MP
51342015-05-20 Marek Polacek <polacek@redhat.com>
5135
5136 * c-ada-spec.c (dump_sloc): Use DECL_P.
5137
21b634ae
MP
51382015-05-20 Marek Polacek <polacek@redhat.com>
5139
5140 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5141 * c-common.c: Likewise.
5142
0e50b624
DM
51432015-05-19 David Malcolm <dmalcolm@redhat.com>
5144
5145 * c-common.h (fe_file_change): Strengthen param from
5146 const line_map * to const line_map_ordinary *.
5147 (pp_file_change): Likewise.
5148 * c-lex.c (fe_file_change): Likewise.
5149 (cb_define): Use linemap_check_ordinary when invoking
5150 SOURCE_LINE.
5151 (cb_undef): Likewise.
5152 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5153 invoking cb_file_change.
5154 (c_finish_options): Likewise.
5155 (push_command_line_include): Likewise.
5156 (cb_file_change): Strengthen param "new_map" from
5157 const line_map * to const line_map_ordinary *.
5158 * c-ppoutput.c (cb_define): Likewise for local "map".
5159 (pp_file_change): Likewise for param "map" and local "from".
5160
fab27f52
MM
51612015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5162
5163 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5164
2fe1d762
TV
51652015-05-18 Tom de Vries <tom@codesourcery.com>
5166
5167 * c-common.c (build_va_arg_1): New function.
5168 (build_va_arg): Add address operator to va_list operand if necessary.
5169
7a37fa90
MM
51702015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5171
5172 PR c/48956
5173 * c-common.c (int_safely_convertible_to_real_p): Define.
5174 (unsafe_conversion_p): Check conversions involving complex types.
5175 (conversion_warning): Add new warning message for conversions which
5176 discard imaginary component.
5177 * c-common.h: (enum conversion_safety): Add new enumerator for such
5178 conversions.
5179
3aa3c9fc
MP
51802015-05-14 Marek Polacek <polacek@redhat.com>
5181
5182 PR c/66066
5183 PR c/66127
5184 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5185 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5186 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5187 use it. If FOR_INT_CONST, require that all evaluated operands be
5188 INTEGER_CSTs.
5189
c3388e62
DM
51902015-05-12 David Malcolm <dmalcolm@redhat.com>
5191
5192 * c-common.h (warn_for_misleading_indentation): New prototype.
5193 * c-indentation.c: New file.
5194 * c.opt (Wmisleading-indentation): New option.
5195
c7b38fd5
TV
51962015-05-12 Tom de Vries <tom@codesourcery.com>
5197
5198 PR tree-optimization/66010
5199 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5200
381bf11e
JM
52012015-05-09 Jason Merrill <jason@redhat.com>
5202
edff0c06
JM
5203 * c-opts.c (c_common_post_options): Also clear
5204 cpp_opts->cpp_warn_cxx11_compat.
5205
129211bc
JM
5206 * c-common.h (enum cxx_dialect): Add cxx_unset.
5207 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5208 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5209
381bf11e
JM
5210 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5211 (std=gnu++0x): Mark as Undocumented.
5212 (std=gnu++1y): Add deprecated message.
5213
fe191308
JM
52142015-05-08 Jason Merrill <jason@redhat.com>
5215
765189ff
JM
5216 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5217 * c-opts.c: Adjust.
5218
fe191308
JM
5219 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5220
755e528f
MP
52212015-05-08 Marek Polacek <polacek@redhat.com>
5222
5223 PR c/64918
5224 * c.opt (Woverride-init-side-effects): New option.
5225
0173bd2a
MP
52262015-05-07 Marek Polacek <polacek@redhat.com>
5227
5228 PR c/65179
5229 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5230 negative value.
5231 * c.opt (Wshift-negative-value): New option.
5232 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5233 when -Wextra and C99/C++11 mode.
5234
e0f0d3b9
MP
52352015-05-07 Marek Polacek <polacek@redhat.com>
5236 Martin Uecker <uecker@eecs.berkeley.edu>
5237
5238 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5239 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5240
8243e2a9
JM
52412015-05-05 Jason Merrill <jason@redhat.com>
5242
5243 * c.opt (Wterminate): New.
5244
577cd070
MP
52452015-04-30 Marek Polacek <polacek@redhat.com>
5246
5247 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5248 require that the non-constant be of a boolean type.
5249
0373796b
JT
52502015-04-29 Josh Triplett <josh@joshtriplett.org>
5251
e0f0d3b9
MP
5252 * c-common.c (handle_section_attribute): Refactor to reduce
5253 nesting and distinguish between error cases.
0373796b 5254
716c0ba6
MP
52552015-04-29 Marek Polacek <polacek@redhat.com>
5256
5257 PR c/64610
5258 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5259 with 0/1.
5260
8848828b
JJ
52612015-04-29 Jakub Jelinek <jakub@redhat.com>
5262
5263 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5264 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5265 HOST_BITS_PER_WIDE_INT.
5266
ecd0e562
TV
52672015-04-28 Tom de Vries <tom@codesourcery.com>
5268
5269 PR tree-optimization/65887
5270 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5271
2a877204 52722015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 5273 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
5274
5275 * c-ada-spec.c (in_function): Delete.
5276 (dump_generic_ada_node): Do not change in_function and remove the
5277 redundant code dealing with it.
5278 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5279 (print_ada_methods): Output the static member functions in a nested
5280 package after the regular methods as well as associated renamings.
5281
4853031e
MP
52822015-04-24 Marek Polacek <polacek@redhat.com>
5283
5284 PR c/65830
5285 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5286 and OPT_Wshift_count_overflow.
5287
8c2b7f79
MP
5288 PR c/63357
5289 * c-common.c (warn_logical_operator): Warn if the operands have the
5290 same expressions.
5291
b8787813
MP
52922015-04-24 Marek Polacek <polacek@redhat.com>
5293
5294 PR c/61534
5295 * c-common.c (warn_logical_operator): Bail if either operand comes
5296 from a macro expansion.
5297
8fba1830
BRF
52982015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5299
5300 PR target/55143
5301 * c-common.c (c_default_pointer_mode): Add definition.
5302 * c-common.h (c_default_pointer_mode): Add declaration.
5303
17958621
JJ
53042015-03-11 Jakub Jelinek <jakub@redhat.com>
5305
5306 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5307 on record_builtin_type argument.
5308
7ccb1a11
JJ
53092015-03-10 Jakub Jelinek <jakub@redhat.com>
5310
5311 PR c/65120
5312 * c-common.c (warn_logical_not_parentheses): Don't warn for
5313 !x == 0 or !x != 0.
5314
04fd785e
MP
53152015-03-07 Marek Polacek <polacek@redhat.com>
5316
5317 PR sanitizer/65280
5318 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5319 before trying to figure out whether we have a flexible array member.
5320
a4e26206 53212015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5322 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
5323
5324 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5325
0d2489f4
EB
53262015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5327
5328 PR ada/65319
5329 * c-ada-spec.c (print_destructor): Remove obsolete code.
5330
83ed54d7
EB
53312015-03-01 Eric Botcazou <ebotcazou@adacore.com>
5332
5333 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5334 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5335 DECL_TEMPLATE_RESULT emulations.
5336 (dump_ada_template)): Add guard for TYPE_METHODS.
5337
7631f0e2
MP
53382015-02-27 Marek Polacek <polacek@redhat.com>
5339
5340 PR c/65040
5341 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5342
d1783ae5
KT
53432015-02-27 Kai Tietz <ktietz@redhat.com>
5344
5345 PR c/35330
5346 * c-pragma.c (handle_pragma_weak): Do not try to create
5347 weak/alias of declarations not being function, or variable
5348 declarations.
5349
56a9f6bc
TS
53502015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5351
5352 PR libgomp/64625
5353 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5354 Remove macros.
5355 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5356
3d5cb23d
MP
53572015-02-16 Marek Polacek <polacek@redhat.com>
5358
5359 PR c/65066
5360 * c-format.c (check_format_types): Handle null param.
5361
fa008882
MP
53622015-02-13 Marek Polacek <polacek@redhat.com>
5363
5364 PR c/65040
5365 * c-format.c (check_format_types): Don't warn about different
5366 signedness if the original value is in the range of WANTED_TYPE.
5367
785f21af
JM
53682015-02-12 Jason Merrill <jason@redhat.com>
5369
5370 PR c++/64956
5371 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
5372 to the current highest version.
5373 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5374
4886ec8e
JJ
53752015-02-04 Jakub Jelinek <jakub@redhat.com>
5376
5377 PR c/64824
5378 PR c/64868
5379 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5380 instead of RDIV_EXPR. Use build_binary_op instead of
5381 build2_loc.
5382
40fecdd6
JM
53832015-01-30 Joseph Myers <joseph@codesourcery.com>
5384
5385 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5386 to pass input_location as first argument.
5387
a0c88d06
TV
53882015-01-23 Tom de Vries <tom@codesourcery.com>
5389
5390 PR libgomp/64672
5391 * c.opt (fopenacc): Mark as LTO option.
5392
1506ae0e
TV
53932015-01-23 Tom de Vries <tom@codesourcery.com>
5394
5395 PR libgomp/64707
5396 * c.opt (fopenmp): Mark as LTO option.
5397
31be63ab
JJ
53982015-01-21 Jakub Jelinek <jakub@redhat.com>
5399
5400 PR c/63307
b1726d6c 5401 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
5402 (compare_decls): Fix up formatting.
5403
54042015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
5405
5406 PR c/63307
5407 * cilk.c: Include vec.h.
5408 (struct cilk_decls): New structure.
5409 (wrapper_parm_cb): Split this function to...
5410 (fill_decls_vec): ...this...
5411 (create_parm_list): ...and this.
5412 (compare_decls): New function.
5413 (for_local_cb): Remove.
5414 (wrapper_local_cb): Ditto.
5415 (build_wrapper_type): For now first traverse and fill vector of
5416 declarations then sort it and then deal with sorted vector.
5417 (cilk_outline): Ditto.
5418 (declare_one_free_variable): Ditto.
5419
6875457f
JM
54202015-01-21 Jason Merrill <jason@redhat.com>
5421
5422 PR c++/64629
5423 * c-format.c (check_format_arg): Call decl_constant_value.
5424
185c9e56
ML
54252015-01-19 Martin Liska <mliska@suse.cz>
5426
5427 * c-common.c (handle_noicf_attribute): New function.
5428
41dbbb37
TS
54292015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5430 Bernd Schmidt <bernds@codesourcery.com>
5431 James Norris <jnorris@codesourcery.com>
5432 Cesar Philippidis <cesar@codesourcery.com>
5433 Ilmir Usmanov <i.usmanov@samsung.com>
5434 Jakub Jelinek <jakub@redhat.com>
5435
5436 * c.opt (fopenacc): New option.
5437 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5438 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5439 New macros.
5440 * c-common.h (c_finish_oacc_wait): New prototype.
5441 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5442 (c_finish_oacc_wait): New function.
5443 * c-pragma.c (oacc_pragmas): New variable.
5444 (c_pp_lookup_pragma, init_pragma): Handle it.
5445 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5446 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5447 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5448 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5449 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5450 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5451 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5452 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5453 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5454 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5455 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5456 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5457 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5458 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5459 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5460 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5461 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5462 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5463 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5464 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5465 PRAGMA_OACC_CLAUSE_WORKER.
5466
3f8257db 54672015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
5468
5469 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5470 for the new option fstack-protector_explicit.
5471 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
5472 (handle_stack_protect_attribute): New function.
5473
3f8257db 54742015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5475
5476 * c.opt: New option -Warray-bounds=.
5477
adfac8df
JJ
54782015-01-09 Michael Collison <michael.collison@linaro.org>
5479
5480 * array-notation-common.c: Include hash-set.h, machmode.h,
5481 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5482 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5483 * c-ada-spec.c: Ditto.
5484 * c-cilkplus.c: Ditto.
5485 * c-common.c: Include input.h due to flattening of tree.h.
5486 Define macro GCC_C_COMMON_C.
5487 * c-common.h: Flatten tree.h header files into c-common.h.
5488 Remove include of tree-core.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: Ditto.
5494 * c-format.c: Flatten tree.h header files into c-common.h.
5495 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5496 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5497 fold-const.h, wide-int.h, and inchash.h due to
5498 flattening of tree.h.
5499 * c-dump.c: Include hash-set.h, machmode.h,
5500 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5501 fold-const.h, wide-int.h, and inchash.h due to
5502 flattening of tree.h.
5503 * c-format.c: Include hash-set.h, machmode.h,
5504 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5505 fold-const.h, wide-int.h, inchash.h and real.h due to
5506 flattening of tree.h.
5507 * c-gimplify.c: Include hash-set.h, machmode.h,
5508 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5509 fold-const.h, wide-int.h, and inchash.h due to
5510 flattening of tree.h.
5511 * cilk.c: Ditto.
5512 * c-lex.c: Ditto.
5513 * c-omp.c: Ditto.
5514 * c-opts.c: Ditto.
5515 * c-pch.c: Ditto.
5516 * c-ppoutput.c: Ditto.
5517 * c-pragma.c: Ditto.
5518 * c-pretty-print.c: Ditto.
5519 * c-semantics.c: Ditto.
5520 * c-ubsan.c: Ditto.
5521 * stub-objc.c: Ditto.
5522
f5481fc4
JM
55232015-01-08 Jason Merrill <jason@redhat.com>
5524
5525 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
5526 do_ubsan_in_current_function.
5527 (ubsan_maybe_instrument_reference_or_call): Likewise.
5528 * c-ubsan.h: Declare it.
5529
de35aa66
MS
55302015-01-08 Mike Stump <mikestump@comcast.net>
5531
5532 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
5533
4a9a42ab
MP
55342015-01-07 Marek Polacek <polacek@redhat.com>
5535
5536 PR c/64440
5537 * c-common.c (c_fully_fold_internal): Warn for division and modulo
5538 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
5539
2f42e5de
TS
55402015-01-05 Trevor Saunders <tsaunders@mozilla.com>
5541
5542 PR c++/31397
5543 * c.opt (Wsuggest-override): New option.
5544
5624e564
JJ
55452015-01-05 Jakub Jelinek <jakub@redhat.com>
5546
5547 Update copyright years.
5548
5bd012f8
MP
55492015-01-05 Marek Polacek <polacek@redhat.com>
5550
5551 PR c/64423
5552 * c-common.c (warn_array_subscript_with_type_char): Add location_t
5553 parameter. Use it.
5554 * c-common.h (warn_array_subscript_with_type_char): Update
5555 declaration.
5556
a7fa8d18
ESR
55572014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
5558
5559 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
5560 Control macro with flag_sized_deallocation.
5561
3f8257db 55622014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
5563
5564 * c.opt (Wdiscarded-array-qualifiers): New option.
5565
1f8d3e84
JJ
55662014-12-19 Jakub Jelinek <jakub@redhat.com>
5567
5568 PR preprocessor/63831
5569 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
5570 and __has_cpp_attribute here.
5571 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
5572 c_common_has_attribute.
5573 * c-common.h (c_common_has_attribute): New prototype.
5574 * c-lex.c (init_c_lex): Set cb->has_attribute to
5575 c_common_has_attribute instead of cb_has_attribute.
5576 (get_token_no_padding): New function.
5577 (cb_has_attribute): Renamed to ...
5578 (c_common_has_attribute): ... this. No longer static. Use
5579 get_token_no_padding, require ()s, don't build TREE_LIST
5580 unnecessarily, fix up formatting, adjust diagnostics, call
5581 init_attributes.
5582
20b06add
JM
55832014-12-15 Jason Merrill <jason@redhat.com>
5584
5585 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
5586 (-Wsized-deallocation): New.
5587 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
5588 to on in C++14 and up.
5589
94a073b2
JM
55902014-12-11 Jason Merrill <jason@redhat.com>
5591
acaa5911
JM
5592 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
5593
94a073b2
JM
5594 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
5595 we aren't complaining about VLAs.
5596
7fb66c15
MP
55972014-12-06 Marek Polacek <polacek@redhat.com>
5598
5599 PR tree-optimization/64183
5600 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
5601 shift-expression if it is integer_type_node. Use types_compatible_p.
5602
b731b390
JJ
56032014-11-29 Jakub Jelinek <jakub@redhat.com>
5604
5605 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
5606 last argument from create_tmp_var_raw and create_tmp_var calls.
5607 * cilk.c (gimplify_cilk_spawn): Likewise.
5608 * c-omp.c (c_finish_omp_atomic): Likewise.
5609
6a4da643
MP
56102014-11-28 Marek Polacek <polacek@redhat.com>
5611
5612 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
5613 instead of unsigned_type_node.
5614
541e35a6
MP
56152014-11-28 Marek Polacek <polacek@redhat.com>
5616
5617 PR c/63862
5618 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
5619 to op1_utype.
5620 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
5621 expression to unsigned_type_node.
5622
dcc97066
MW
56232014-11-20 Mark Wielaard <mjw@redhat.com>
5624
5625 PR debug/38757
5626 * c-opts.c (set_std_c89): Set lang_hooks.name.
5627 (set_std_c99): Likewise.
5628 (set_std_c11): Likewise.
5629 (set_std_cxx98): Likewise.
5630 (set_std_cxx11): Likewise.
5631 (set_std_cxx14): Likewise.
5632 (set_std_cxx1z): Likewise.
5633
aa7da51a
JJ
56342014-11-21 Jakub Jelinek <jakub@redhat.com>
5635
5636 PR target/63764
5637 * c-common.h (convert_vector_to_pointer_for_subscript): Change
5638 return type to bool.
009a3480 5639 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
5640 (convert_vector_to_pointer_for_subscript): Change return type to
5641 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
5642 and copy it into a TARGET_EXPR and use that instead of *vecp
5643 directly.
5644
538dd0b7
DM
56452014-11-19 David Malcolm <dmalcolm@redhat.com>
5646
5647 Merger of git branch "gimple-classes-v2-option-3".
5648 * ChangeLog.gimple-classes: New.
5649 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
5650 from being just a vec<gimple> to a vec<gbind *>.
5651
c39a5e99
JJ
56522014-11-18 Jakub Jelinek <jakub@redhat.com>
5653
5654 PR sanitizer/63813
5655 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
5656 argument to ptype, set type to TREE_TYPE (ptype). Don't call
5657 get_pointer_alignment for non-pointers. Use ptype, or if it is
5658 reference type, corresponding pointer type, as type of kind
5659 argument.
5660 (ubsan_maybe_instrument_reference,
5661 ubsan_maybe_instrument_member_call): Adjust callers.
5662
8537a4a9
MP
56632014-11-15 Marek Polacek <polacek@redhat.com>
5664
5665 PR middle-end/63884
5666 * array-notation-common.c (is_sec_implicit_index_fn): Return false
5667 for NULL fndecl.
5668 (extract_array_notation_exprs): Return for NULL node.
5669
2079956a
JM
56702014-11-12 Joseph Myers <joseph@codesourcery.com>
5671
5672 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
5673 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
5674
1304953e
JJ
56752014-11-12 Jakub Jelinek <jakub@redhat.com>
5676
5677 PR c/59708
5678 * c-common.c (check_builtin_function_arguments): Handle
5679 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
5680
e5e44252
AK
56812014-11-10 Andi Kleen <ak@linux.intel.com>
5682
5683 PR c/60804
5684 * c-common.h (check_no_cilk): Declare.
5685 * cilk.c (get_error_location): New function.
5686 (check_no_cilk): Dito.
5687
e64b984d
AK
56882014-11-10 Andi Kleen <ak@linux.intel.com>
5689
5690 * cilk.c (recognize_spawn): Use expression location
5691 for error message.
5692
13c21655
PC
56932014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
5694
5695 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
5696
42fd12b1
ESR
56972014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
5698
5699 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
5700 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
5701 (__cpp_range_based_for, __cpp_initializer_lists,
5702 __cpp_delegating_constructors, __cpp_nsdmi,
5703 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
5704 for C++11; (__cpp_attribute_deprecated): Remove in favor of
5705 __has_cpp_attribute.
5706 * c-lex.c (cb_has_attribute): New callback CPP function;
5707 (init_c_lex): Set has_attribute callback.
5708
6f450181
RB
57092014-11-04 Richard Biener <rguenther@suse.de>
5710
5711 * c-common.c (shorten_compare): Do not shorten mixed
5712 DFP and non-DFP compares.
5713
26f0e1d6
ESR
57142014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5715
5716 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5717 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5718 Commentary and rearrangement of tests.
5719 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5720 Commentary and rearrangement of tests.
5721 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5722 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
5723
ef4bddc2
RS
57242014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5725
5726 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5727 enum from machine_mode.
5728
c582198b
AM
57292014-10-28 Andrew MacLeod <amacleod@redhat.com>
5730
adfac8df
JJ
5731 * c-common.c: Adjust include files.
5732 * c-gimplify.c: Ditto.
5733 * cilk.c: Ditto.
5734 * c-pragma.c: Ditto.
5735 * c-ubsan.c: Ditto.
c582198b 5736
60393bbc
AM
57372014-10-27 Andrew MacLeod <amacleod@redhat.com>
5738
5739 * c-gimplify.c: Adjust include files.
5740
d723bb7c
MLI
57412014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5742
5743 PR c++/53061
5744 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5745 c_common_initialize_diagnostics.
5746 * c-common.h: Likewise.
5747
90f3520e
MP
57482014-10-24 Marek Polacek <polacek@redhat.com>
5749
5750 PR c/56980
5751 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5752 print "struct"/"union"/"enum" for typedefed names.
5753
59d7607a
MP
57542014-10-23 Marek Polacek <polacek@redhat.com>
5755
5756 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5757 in unsigned type.
5758
d95a2703
JJ
57592014-10-22 Jakub Jelinek <jakub@redhat.com>
5760 Yury Gribov <y.gribov@samsung.com>
5761
5762 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5763 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5764 instead of flag_sanitize_recover as bool flag.
5765
8e6ef852
KY
57662014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5767
5768 * cilk.c: Revert previous change.
5769
948cf550
IZ
57702014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5771
5772 PR c/63307
5773 * cilk.c: Include vec.h.
5774 (struct cilk_decls): New structure.
5775 (wrapper_parm_cb): Split this function to...
5776 (fill_decls_vec): ...this...
5777 (create_parm_list): ...and this.
5778 (compare_decls): New function.
5779 (for_local_cb): Remove.
5780 (wrapper_local_cb): Ditto.
5781 (build_wrapper_type): For now first traverse and fill vector of
5782 declarations then sort it and then deal with sorted vector.
5783 (cilk_outline): Ditto.
5784 (declare_one_free_variable): Ditto.
5785
92574c7c
MP
57862014-10-17 Marek Polacek <polacek@redhat.com>
5787
5788 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5789 * c.opt (Wimplicit-int): Initialize to -1.
5790
83685514
AM
57912014-10-16 Andrew MacLeod <amacleod@redhat.com>
5792
5793 * c-pragma.c: Adjust include files.
5794 * c-semantics.c: Likewise.
5795
5b8300ea
DD
57962014-10-16 DJ Delorie <dj@redhat.com>
5797
5798 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5799 multiples of bytes.
5800
5f83e90b
JM
58012014-10-14 Jason Merrill <jason@redhat.com>
5802
5803 PR c++/63455
5804 * c-common.h (CPP_PREPARSED_EXPR): New.
5805 (N_CP_TTYPES): Adjust.
5806
d73326ca
MP
58072014-10-15 Marek Polacek <polacek@redhat.com>
5808
5809 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5810
78a7c317
DD
58112014-10-14 DJ Delorie <dj@redhat.com>
5812
5813 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5814 types, not just __int128.
5815 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5816 types, not just __int128.
5817 (cpp_atomic_builtins): Round pointer sizes up.
5818 (type_suffix): Use type precision, not specific types.
5819 * c-common.c (c_common_reswords): Remove __int128 special case.
5820 (c_common_type_for_size): Check for all __intN types, not just
5821 __int128.
5822 (c_common_type_for_mode): Likewise.
5823 (c_common_signed_or_unsigned_type): Likewise.
5824 (c_build_bitfield_integer_type): Likewise.
5825 (c_common_nodes_and_builtins): Likewise.
5826 (keyword_begins_type_specifier): Likewise.
5827 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5828 __intN variants.
5829
2a22f99c
TS
58302014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5831
5832 * c-common.c: Use hash_table instead of hashtab.
5833
2a8ef767
ESR
58342014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5835
adfac8df 5836 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5837 C++11 section.
5838
3c9aabbd
MG
58392014-10-03 Marc Glisse <marc.glisse@inria.fr>
5840
5841 PR c++/54427
5842 PR c++/57198
5843 PR c++/58845
5844 * c-common.c (warn_logical_operator): Punt for vectors.
5845
a15f7cb8
ESR
58462014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5847
5848 Implement SD-6: SG10 Feature Test Recommendations
5849 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5850 macros and the __has_header macro.
5851
8d0cf15e
JM
58522014-09-30 Jason Merrill <jason@redhat.com>
5853
dd5d5481
JM
5854 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5855 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5856 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5857
b752325e
JM
5858 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5859 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5860
8d0cf15e
JM
5861 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5862 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5863
083e891e
MP
58642014-09-24 Marek Polacek <polacek@redhat.com>
5865
5866 PR c/61405
5867 PR c/53874
5868 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5869
7861b648
AK
58702014-09-23 Andi Kleen <ak@linux.intel.com>
5871
5872 * c-common.c (handle_no_reorder_attribute): New function.
5873 (c_common_attribute_table): Add no_reorder attribute.
5874
9a79452d
JM
58752014-09-22 Joseph Myers <joseph@codesourcery.com>
5876
5877 * c-cppbuiltin.c (c_cpp_builtins): Define
5878 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5879 modes.
5880
dd69f047
JM
58812014-09-18 Joseph Myers <joseph@codesourcery.com>
5882
5883 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5884 for supported floating-point modes.
5885
737a4826
MLI
58862014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5887
5888 * c.opt (Wpsabi): Use LangEnabledBy.
5889 * c-opts.c (c_common_handle_option): Do not handle here.
5890
8cc4b7a2
JM
58912014-09-12 Joseph Myers <joseph@codesourcery.com>
5892
5893 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5894 macros for floating-point modes.
5895
179b5a55
MG
58962014-09-11 Marc Glisse <marc.glisse@inria.fr>
5897
5898 PR target/58757
5899 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5900 __*_DENORM_MIN__ without denormals.
5901
570a11fe
JJ
59022014-09-10 Jakub Jelinek <jakub@redhat.com>
5903
5904 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5905 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5906 ubsan_create_data callers.
5907 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5908 index is constant or BIT_AND_EXPR with constant mask and is
5909 small enough for the bound.
5910 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5911 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5912
b559c810
MLI
59132014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5914
5915 * c.opt: Add CppReason to various flags.
5916 (Wdate-time): Re-sort.
5917 * c-common.c: Include c-common.h earlier.
5918 (struct reason_option_codes_t): Delete.
5919 (c_option_controlling_cpp_error): Prefix global type and struct
5920 with cpp_.
5921
1ef33fd4
MLI
59222014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5923
5924 * c.opt (Wnormalized): New.
5925 (Wnormalized=): Use Enum and Reject Negative.
5926 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5927
66bb34c0
JM
59282014-09-08 Joseph Myers <joseph@codesourcery.com>
5929
5930 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5931 digits of floating-point modes if -fbuilding-libgcc.
5932
53d68b9f
JM
59332014-09-05 Joseph Myers <joseph@codesourcery.com>
5934
5935 * c-cppbuiltin.c (c_cpp_builtins): Also define
5936 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5937 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5938 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5939 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5940 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5941 __LIBGCC_STACK_GROWS_DOWNWARD__,
5942 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5943 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5944 __LIBGCC_DWARF_FRAME_REGISTERS__,
5945 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5946 __LIBGCC_STACK_POINTER_REGNUM__ and
5947 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5948 (builtin_define_with_value): Handle backslash-escaping in string
5949 macro values.
5950
f65586dc
RB
59512014-09-05 Richard Biener <rguenther@suse.de>
5952
5953 PR middle-end/63148
5954 * c-format.c (check_format_arg): Properly handle
5955 effectively signed POINTER_PLUS_EXPR offset.
5956
2b71f4a4
MLI
59572014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5958
5959 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5960 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5961 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5962 and Init.
5963 * c-opts.c (c_common_handle_option): Do not handle here.
5964 (sanitize_cpp_opts): Likewise.
5965 * c-common.c (struct reason_option_codes_t): Handle
5966 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5967
d2e4feca
MP
59682014-09-03 Marek Polacek <polacek@redhat.com>
5969
5970 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5971
9a771876
JJ
59722014-09-02 Jakub Jelinek <jakub@redhat.com>
5973 Balaji V. Iyer <balaji.v.iyer@intel.com>
5974 Igor Zamyatin <igor.zamyatin@intel.com>
5975
5976 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5977 * c-common.c (c_common_reswords): Added _Cilk_for.
5978 * c-common.h (enum rid): Added RID_CILK_FOR.
5979 (cilk_for_number_of_iterations): Add declaration.
5980 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5981 CILK_FOR.
5982 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5983 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5984
81b5d104
MLI
59852014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5986
5987 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5988 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5989 Wundef): Use CPP, Var and Init.
5990 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5991
b753b37b
MLI
59922014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5993
5994 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5995 * c-opts.c (c_common_handle_option): Do not handle here.
5996
028aee17
JM
59972014-08-25 Jason Merrill <jason@redhat.com>
5998
5999 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6000 -std=c++14 and -std=gnu++14, rather than the reverse.
6001 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6002 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6003 * c-common.h (cxx_dialect): Remove cxx1y.
6004
e4276ba5
ESR
60052014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6006
6007 * c-common.h (enum cxx_dialect): Add cxx14.
6008 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6009 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6010 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6011
a545cacd
JM
60122014-08-22 Jason Merrill <jason@redhat.com>
6013
6014 * c.opt (std=gnu++17): Fix alias.
6015
59ea0364
MP
60162014-08-22 Marek Polacek <polacek@redhat.com>
6017
6018 PR c++/62199
6019 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6020 check for vector types. Drop LHS argument.
6021 * c-common.h (warn_logical_not_parentheses): Adjust.
6022
596e808c
MLI
60232014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6024
6025 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6026 (Wmultichar): Likewise.
6027 (Wdate-time): Use C-family languages instead of Common. Use CPP
6028 and Var.
6029 * c-opts.c (c_common_handle_option): Do not handle the above
6030 options here.
6031 (sanitize_cpp_opts): Likewise.
6032
18767f65
MLI
60332014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6034
6035 PR fortran/44054
6036 * c-opts.c: Include tree-diagnostics.h.
6037 (c_diagnostic_finalizer): New.
6038 (c_common_initialize_diagnostics): Use it.
6039
b4413594
MLI
60402014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6041
6042 PR preprocessor/51303
6043 * c-common.c (struct reason_option_codes_t option_codes):
6044 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6045
43f9a13c
MLI
60462014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6047
6048 PR c/60975
6049 PR c/53063
6050 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6051 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6052 (c_common_post_options): Call init_global_opts_from_cpp.
6053 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6054
04159acf
MP
60552014-08-19 Marek Polacek <polacek@redhat.com>
6056
6057 PR c++/62153
6058 * c-common.c (maybe_warn_bool_compare): New function.
6059 * c-common.h (maybe_warn_bool_compare): Declare.
6060 * c.opt (Wbool-compare): New option.
6061
35aff4fb
MP
60622014-08-19 Marek Polacek <polacek@redhat.com>
6063
6064 * c.opt (Wc99-c11-compat): New option.
6065
177cce46
MP
60662014-08-19 Marek Polacek <polacek@redhat.com>
6067
6068 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6069 to warn_c90_c99_compat.
6070 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6071 to -1.
6072
6ae9194f
MLI
60732014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6074 Steven Bosscher <steven@gcc.gnu.org>
6075
6076 PR c/52952
6077 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6078 format_check_results.
6079 (check_function_format): Use true and add comment for boolean
6080 argument.
6081 (finish_dollar_format_checking): Use explicit location when warning.
6082 (check_format_info): Likewise.
6083 (check_format_arg): Set extra_arg_loc and format_string_loc.
6084 (check_format_info_main): Use explicit location when warning.
6085 (check_format_types): Pass explicit location.
6086 (format_type_warning): Likewise.
6087
8e54f6d3
MLI
60882014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6089
6090 PR fortran/44054
6091 * c-format.c: Handle Fortran flags.
6092
cd4e76fc
IZ
60932014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6094
6095 PR other/61962
6096 * array-notation-common.c (find_rank): Added handling for other
6097 types of references.
6098
f3bede71
MP
60992014-08-10 Marek Polacek <polacek@redhat.com>
6100
6101 PR c/51849
6102 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6103 * c.opt (Wc90-c99-compat): Add option.
6104
9f25a338
TS
61052014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6106
6107 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6108
62e4eb35
MP
61092014-08-03 Marek Polacek <polacek@redhat.com>
6110
6111 * c-common.c (check_case_value): Add location_t parameter. Use it.
6112 (c_add_case_label): Pass loc to check_case_value.
6113
b787e7a2
TS
61142014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6115
6116 * cilk.c: Use hash_map instead of pointer_map.
6117
6e2830c3
TS
61182014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6119
6120 * c-gimplify.c: Use hash_set instead of pointer_set.
6121
a7ee52fb
IZ
61222014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6123
6124 PR middle-end/61455
6125 * array-notation-common.c (extract_array_notation_exprs): Handling
6126 of DECL_EXPR added.
6127
944fa280
JJ
61282014-08-01 Jakub Jelinek <jakub@redhat.com>
6129
6130 * c-common.h (min_align_of_type): Removed prototype.
6131 * c-common.c (min_align_of_type): Removed.
6132 * c-ubsan.h (ubsan_maybe_instrument_reference,
6133 ubsan_maybe_instrument_member_call): New prototypes.
6134 * c-ubsan.c: Include stor-layout.h and builtins.h.
6135 (ubsan_maybe_instrument_reference_or_call,
6136 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6137 functions.
6138
b4dfdc11
MG
61392014-07-31 Marc Glisse <marc.glisse@inria.fr>
6140
6141 PR c++/60517
6142 * c.opt (-Wreturn-local-addr): Move to common.opt.
6143
a41844e5
JM
61442014-07-30 Jason Merrill <jason@redhat.com>
6145
6146 PR c++/61659
6147 PR c++/61687
6148 Revert:
6149 * c.opt (-fuse-all-virtuals): New.
6150
976d5a22
TT
61512014-07-30 Tom Tromey <tromey@redhat.com>
6152
6153 PR c/59855
6154 * c.opt (Wdesignated-init): New option.
6155 * c-common.c (c_common_attribute_table): Add "designated_init".
6156 (handle_designated_init): New function.
6157
cdc94aca
MP
61582014-07-24 Marek Polacek <polacek@redhat.com>
6159
6160 PR c/57653
6161 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6162
f41373b6
DS
61632014-07-16 Dodji Seketeli <dodji@redhat.com>
6164
6165 PR preprocessor/60723 - missing system-ness marks for macro tokens
6166 * c-ppoutput.c (struct print::prev_was_system_token): New data
6167 member.
6168 (init_pp_output): Initialize it.
6169 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6170 (do_line_change): Return a flag saying if a line marker was
6171 emitted or not.
6172 (scan_translation_unit): Detect if the system-ness of the token we
6173 are about to emit is different from the one of the previously
6174 emitted token. If so, emit a line marker. Avoid emitting useless
6175 adjacent line markers. Avoid emitting line markers for tokens
6176 originating from the expansion of built-in macros.
6177 (scan_translation_unit_directives_only): Adjust.
6178
4d661eaa
MP
61792014-07-15 Marek Polacek <polacek@redhat.com>
6180
6181 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6182 TYPE_MAX_VALUE is NULL.
6183
b108f48f
JJ
61842014-07-14 Jakub Jelinek <jakub@redhat.com>
6185
6186 PR middle-end/61294
6187 * c.opt (Wmemset-transposed-args): New warning.
6188
c0221884
JM
61892014-07-10 Jason Merrill <jason@redhat.com>
6190
6191 PR c++/61659
6192 PR c++/61687
6193 * c.opt (-fuse-all-virtuals): New.
6194
63dfbb95
RB
61952014-07-09 Richard Biener <rguenther@suse.de>
6196
6197 PR c-family/61741
6198 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6199 using unsigned arithmetic if overflow does not wrap instead of
6200 if overflow is undefined.
6201
773ec47f
MP
62022014-07-06 Marek Polacek <polacek@redhat.com>
6203
6204 PR c/6940
6205 * c.opt (Wsizeof-array-argument): New option.
6206
00a7ba58
JJ
62072014-07-03 Jakub Jelinek <jakub@redhat.com>
6208
b1726d6c 6209 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6210 comments->count <= 1, as comments->entries might be NULL.
6211
52ec0ea3
MP
62122014-07-01 Marek Polacek <polacek@redhat.com>
6213
6214 * c.opt (Wint-conversion): New option.
6215
d5c3d343
MP
62162014-07-01 Marek Polacek <polacek@redhat.com>
6217
6218 PR c/58286
6219 * c.opt (Wincompatible-pointer-types): New option.
6220
6e7ceb17
PC
62212014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6222
6223 PR c++/51400
6224 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6225 Do not discard TYPE_QUALS of type.
6226
da73100b
JM
62272014-06-26 Jason Merrill <jason@redhat.com>
6228
6229 * c-common.h (enum cxx_dialect): Add cxx1z.
6230 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6231 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6232
08eedf75
TJ
62332014-06-26 Teresa Johnson <tejohnson@google.com>
6234
6235 * c-common.h (get_dump_info): Declare.
6236 * c-gimplify.c (c_genericize): Use saved dump files.
6237 * c-opts.c (c_common_parse_file): Begin and end dumps
6238 once around parsing invocation.
6239 (get_dump_info): New function.
6240
7b56b2f8
MP
62412014-06-23 Marek Polacek <polacek@redhat.com>
6242 Andrew MacLeod <amacleod@redhat.com>
6243
6244 PR c/61553
6245 * c-common.c (get_atomic_generic_size): Don't segfault if the
6246 type doesn't have a size.
6247
0e37a2f3
MP
62482014-06-20 Marek Polacek <polacek@redhat.com>
6249
6250 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6251 (ubsan_walk_array_refs_r): New function.
6252 (c_genericize): Instrument array bounds.
6253 * c-ubsan.c: Include "internal-fn.h".
6254 (ubsan_instrument_division): Mark instrumented arrays as having
6255 side effects. Adjust ubsan_type_descriptor call.
6256 (ubsan_instrument_shift): Likewise.
6257 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6258 (ubsan_instrument_bounds): New function.
6259 (ubsan_array_ref_instrumented_p): New function.
6260 (ubsan_maybe_instrument_array_ref): New function.
6261 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6262 (ubsan_array_ref_instrumented_p): Declare.
6263 (ubsan_maybe_instrument_array_ref): Declare.
6264
62652014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6266
6267 PR lto/61123
6268 * c.opt (fshort-enums): Add to LTO.
6269 * c.opt (fshort-wchar): Likewise.
6270
5c3d09f7
MP
62712014-06-16 Marek Polacek <polacek@redhat.com>
6272
6273 PR c/60439
6274 * c.opt (Wswitch-bool): Add Var.
6275
9cf32741
JJ
62762014-06-12 Jakub Jelinek <jakub@redhat.com>
6277
6278 PR middle-end/61486
6279 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6280 #pragma omp target teams or
6281 #pragma omp {,target }teams distribute simd.
6282
62984918
JM
62832014-06-12 Jason Merrill <jason@redhat.com>
6284
6285 * c.opt (Wabi=, fabi-compat-version): New.
6286 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6287 (c_common_post_options): Handle flag_abi_compat_version default.
6288 Disallow -fabi-compat-version=1.
6289 * c-common.h (abi_version_crosses): New.
6290
f961457f
JH
62912014-06-11 Jan Hubicka <hubicka@ucw.cz>
6292
adfac8df 6293 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
6294 section names that are no longer trees.
6295
92d28cbb
JJ
62962014-06-10 Jakub Jelinek <jakub@redhat.com>
6297
6298 PR fortran/60928
6299 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6300 (omp_pragmas): ... back here.
6301
742938c9
MP
63022014-06-05 Marek Polacek <polacek@redhat.com>
6303
6304 PR c/49706
6305 * c-common.c (warn_logical_not_parentheses): New function.
6306 * c-common.h (warn_logical_not_parentheses): Declare.
6307 * c.opt (Wlogical-not-parentheses): New option.
6308
9d548dfb
MP
63092014-06-04 Marek Polacek <polacek@redhat.com>
6310
6311 PR c/30020
6312 * c-common.c (check_case_bounds): Add location parameter.
6313 Use it.
6314 (c_add_case_label): Pass loc to check_case_bounds.
6315
fedfecef
MP
63162014-06-03 Marek Polacek <polacek@redhat.com>
6317
6318 PR c/60439
6319 * c.opt (Wswitch-bool): New option.
6320
f6a7cffc
TS
63212014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6322
040d18b6
TS
6323 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6324 Remove prototypes.
6325 (record_types_used_by_current_var_decl): Move prototype to where
6326 it belongs.
6327
f6a7cffc
TS
6328 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6329 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6330 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6331
632f2871
RS
63322014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6333
6334 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6335 * c-common.c (c_common_nodes_and_builtins): Don't initialize
6336 void_zero_node.
6337 * c-pretty-print.c (pp_c_void_constant): New function.
6338 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
6339 (c_pretty_printer::expression): Handle VOID_CST.
6340 * cilk.c (extract_free_variables): Likewise.
6341 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6342 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6343
766090c2
TS
63442014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6345
6346 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6347 * c-pragma.c (push_alignment): Adjust.
6348 (handle_pragma_push_options): Likewise.
6349
661a0813
MP
63502014-05-09 Marek Polacek <polacek@redhat.com>
6351
6352 PR c/50459
6353 * c-common.c (check_user_alignment): Return -1 if alignment is error
6354 node.
6355 (handle_aligned_attribute): Don't call default_conversion on
6356 FUNCTION_DECLs.
6357 (handle_vector_size_attribute): Likewise.
6358 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6359 (handle_sentinel_attribute): Call default_conversion and allow even
6360 integral types as an argument.
6361
2793eeab
MP
63622014-05-08 Marek Polacek <polacek@redhat.com>
6363
6364 PR c/61053
6365 * c-common.c (min_align_of_type): New function factored out from...
6366 (c_sizeof_or_alignof_type): ...here.
6367 * c-common.h (min_align_of_type): Declare.
6368
f827930a
MP
63692014-05-08 Marek Polacek <polacek@redhat.com>
6370
6371 PR c/61077
6372 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6373 parameter type of main.
6374
ca49b74e
DD
63752014-05-07 DJ Delorie <dj@redhat.com>
6376
6377 * c-cppbuiltin.c (print_bits_of_hex): New.
6378 (builtin_define_type_minmax): Print values using hex so as not to
6379 require a pre-computed list of string values.
6380
1d60af08
KZ
63812014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6382 Mike Stump <mikestump@comcast.net>
6383 Richard Sandiford <rdsandiford@googlemail.com>
6384
6385 * c-ada-spec.c: Include wide-int.h.
6386 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6387 (dump_generic_ada_node): Use wide-int interfaces.
6388 * c-common.c: Include wide-int-print.h.
6389 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6390 (pointer_int_sum): Use wide-int interfaces.
6391 (c_common_nodes_and_builtins): Use make_int_cst.
6392 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6393 (handle_alloc_size_attribute): Use wide-int interfaces.
6394 (get_nonnull_operand): Likewise.
6395 * c-format.c (get_constant): Use tree_fits_uhwi_p.
6396 * c-lex.c: Include wide-int.h.
6397 (narrowest_unsigned_type): Take a widest_int rather than two
6398 HOST_WIDE_INTs.
6399 (narrowest_signed_type): Likewise.
6400 (interpret_integer): Update accordingly. Use wide-int interfaces.
6401 (lex_charconst): Use wide-int interfaces.
6402 * c-pretty-print.c: Include wide-int.h.
6403 (pp_c_integer_constant): Use wide-int interfaces.
6404 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6405 INT_CST_LT_UNSIGNED.
6406
b15458be
RB
64072014-05-06 Richard Biener <rguenther@suse.de>
6408
6409 * c-opts.c (c_common_post_options): For -freestanding,
6410 -fno-hosted and -fno-builtin disable pattern recognition
6411 if not enabled explicitely.
6412
6577374e
MP
64132014-05-02 Marek Polacek <polacek@redhat.com>
6414
6415 * c.opt (Wsizeof-pointer-memaccess): Describe option.
6416
d00887e8
MP
64172014-05-01 Marek Polacek <polacek@redhat.com>
6418
6419 PR c/43245
6420 * c.opt (Wdiscarded-qualifiers): Add.
6421
f8ed5150
MP
64222014-04-30 Marek Polacek <polacek@redhat.com>
6423
6424 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
6425 INT_MIN / -1 sanitization only for integer types.
6426
45484dcf
MP
64272014-04-25 Marek Polacek <polacek@redhat.com>
6428
6429 PR c/18079
6430 * c-common.c (handle_noinline_attribute): Warn if the attribute
6431 conflicts with always_inline attribute.
6432 (handle_always_inline_attribute): Warn if the attribute conflicts
6433 with noinline attribute.
6434
38e514c0
MP
64352014-04-25 Marek Polacek <polacek@redhat.com>
6436
6437 PR c/60156
6438 * c-common.c (check_main_parameter_types): Warn about variadic main.
6439
44875f92
MS
64402014-04-24 Mike Stump <mikestump@comcast.net>
6441
6442 * c.opt (Wshadow-ivar): Default to on.
6443
dcaaa5a0
DP
64442014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6445
6446 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6447
c07d7c02
MP
64482014-04-23 Marek Polacek <polacek@redhat.com>
6449
6450 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
6451
1c33c9b7
JJ
64522014-04-22 Jakub Jelinek <jakub@redhat.com>
6453
6454 PR sanitizer/60275
6455 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6456 if flag_sanitize_undefined_trap_on_error.
6457 (ubsan_instrument_division, ubsan_instrument_shift,
6458 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
6459 if !flag_sanitize_recover.
6460
793c625f
MG
64612014-04-22 Marc Glisse <marc.glisse@inria.fr>
6462
6463 PR libstdc++/43622
6464 * c-common.c (registered_builtin_types): Make non-static.
6465 * c-common.h (registered_builtin_types): Declare.
6466
b0f1bf36
RB
64672014-04-14 Richard Biener <rguenther@suse.de>
6468 Marc Glisse <marc.glisse@inria.fr>
6469
6470 PR c/60819
6471 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
6472 apply may-alias the scalar pointer type when applicable.
6473
3b07fa4a
IZ
64742014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
6475
6476 PR middle-end/60467
6477 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6478 as possible argument for Cilk_spawn.
6479
cbbd2b1c
TB
64802014-04-11 Tobias Burnus <burnus@net-b.de>
6481
6482 PR c/60194
6483 * c.opt (Wformat-signedness): Add
6484 * c-format.c(check_format_types): Use it.
6485
6415bd5d
JM
64862014-04-11 Jason Merrill <jason@redhat.com>
6487
6488 PR c++/57926
6489 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6490 default_conversion for an array argument.
6491
6525783a
MP
64922014-04-08 Marek Polacek <polacek@redhat.com>
6493
6494 PR sanitizer/60745
6495 * c-ubsan.c: Include asan.h.
6496 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
6497
880a467b
NS
64982014-04-03 Nathan Sidwell <nathan@codesourcery.com>
6499
6500 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6501
7b59ff2d
MP
65022014-04-02 Marek Polacek <polacek@redhat.com>
6503
6504 * c-common.h (c_expand_expr): Remove declaration.
6505
8edbfaa6
JJ
65062014-03-28 Jakub Jelinek <jakub@redhat.com>
6507
6508 PR c++/60689
6509 * c-common.c (add_atomic_size_parameter): When creating new
6510 params vector, push the size argument first.
6511
07d72e1d
JJ
65122014-03-26 Jakub Jelinek <jakub@redhat.com>
6513
6514 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6515 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6516 ubsan_create_data callers.
6517
b35e0fa0
JJ
65182014-03-22 Jakub Jelinek <jakub@redhat.com>
6519
6520 PR debug/60603
6521 * c-opts.c (c_finish_options): Restore cb_file_change call to
6522 <built-in>.
6523
39a1ebb3
JJ
65242014-03-13 Jakub Jelinek <jakub@redhat.com>
6525
6526 PR middle-end/36282
6527 * c-pragma.c (apply_pragma_weak): Only look at
6528 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
6529 DECL_ASSEMBLER_NAME_SET_P (decl).
6530 (maybe_apply_pending_pragma_weaks): Exit early if
6531 vec_safe_is_empty (pending_weaks) rather than only when
6532 !pending_weaks.
6533 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
6534 set assembler name back to NULL afterwards.
6535
a07f6ed2
JM
65362014-03-11 Jason Merrill <jason@redhat.com>
6537
6538 * c.opt: Add -std=gnu++14.
6539
75b107f5
IB
65402014-03-11 Ian Bolton <ian.bolton@arm.com>
6541
6542 * c-opts.c (c_common_post_options): Don't override
6543 -ffp-contract=fast if unsafe-math-optimizations is on.
6544
f42c637e
PM
65452014-03-08 Paulo Matos <paulo@matos-sorge.com>
6546
22b15758 6547 * c.opt: Enable LTO FE for fshort-double.
f42c637e 6548
70e24808
JM
65492014-03-07 Jason Merrill <jason@redhat.com>
6550
6551 * c.opt: Add -std=c++14.
6552
3af9c5e9
MP
65532014-03-06 Marek Polacek <polacek@redhat.com>
6554
6555 PR c/60197
6556 * cilk.c (contains_cilk_spawn_stmt): New function.
6557 (contains_cilk_spawn_stmt_walker): Likewise.
6558 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
6559 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
6560
b3bdf019
JJ
65612014-03-03 Jakub Jelinek <jakub@redhat.com>
6562
6563 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
6564 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
6565 even when flag_preprocess_only.
6566
ca7e759d
JM
65672014-02-26 Jason Merrill <jason@redhat.com>
6568
6569 PR c++/59231
6570 PR c++/11586
6571 * c-common.c (shorten_compare): Don't check
6572 c_inhibit_evaluation_warnings.
6573
28e41874
JJ
65742014-02-19 Jakub Jelinek <jakub@redhat.com>
6575
cca615af
JJ
6576 PR c/37743
6577 * c-common.c (c_common_nodes_and_builtins): When initializing
6578 c_uint{16,32,64}_type_node, also set corresponding
6579 uint{16,32,64}_type_node to the same value.
6580
28e41874
JJ
6581 PR c++/60267
6582 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
6583 for PRAGMA_IVDEP if flag_preprocess_only.
6584
c2bf53a1
JJ
65852014-02-12 Jakub Jelinek <jakub@redhat.com>
6586
6587 PR c/60101
6588 * c-common.c (merge_tlist): If copy is true, call new_tlist,
6589 if false, add ADD itself, rather than vice versa.
6590 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
6591 copy. For SAVE_EXPR, only call merge_tlist once.
6592
8fcbce72
JJ
65932014-02-08 Jakub Jelinek <jakub@redhat.com>
6594
6595 PR middle-end/60092
6596 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
6597 and tree_to_uhwi.
6598 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
6599 functions.
6600 (c_common_attribute_table): Add alloc_align and assume_aligned
6601 attributes.
6602
0a756a3f
MP
66032014-02-06 Marek Polacek <polacek@redhat.com>
6604
6605 PR c/60087
6606 * c-common.c (warn_for_sign_compare): Call warning_at with location
6607 instead of warning.
6608
7ec4847a
MP
66092014-02-05 Marek Polacek <polacek@redhat.com>
6610
6611 PR c/53123
6612 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
6613 statement.
6614
66f20604
MP
66152014-02-04 Marek Polacek <polacek@redhat.com>
6616
6617 PR c/60036
6618 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
6619 SAVE_EXPR.
6620
5d77fb19
MG
66212014-02-03 Marc Glisse <marc.glisse@inria.fr>
6622
6623 PR c++/53017
6624 PR c++/59211
6625 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6626 handle_vector_size_attribute, handle_nonnull_attribute): Call
6627 default_conversion on the attribute argument.
6628 (handle_nonnull_attribute): Increment the argument number.
6629
81e5eca8
MP
66302014-01-31 Marek Polacek <polacek@redhat.com>
6631
6632 PR c/59963
6633 * c-common.c (add_atomic_size_parameter): Pass vNULL to
6634 build_function_call_vec.
6635 (resolve_overloaded_builtin): Likewise.
6636 * c-common.h (build_function_call_vec): Adjust declaration.
6637
68fca595
MP
66382014-01-30 Marek Polacek <polacek@redhat.com>
6639
6640 PR c/59940
6641 * c-common.h (unsafe_conversion_p): Adjust declaration.
6642 (warnings_for_convert_and_check): Likewise.
6643 (convert_and_check): Likewise.
6644 * c-common.c (unsafe_conversion_p): Add location parameter. Call
6645 expansion_point_location_if_in_system_header on it.
6646 (warnings_for_convert_and_check): Add location parameter. Call
6647 expansion_point_location_if_in_system_header on it. Use it.
6648 (convert_and_check): Add location parameter. Use it.
6649 (conversion_warning): Likewise.
6650 (c_add_case_label): Adjust convert_and_check calls.
6651 (scalar_to_vector): Adjust unsafe_conversion_p calls.
6652
b72271b9
BI
66532014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
6654
6655 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
6656 flag_cilkplus.
6657 * c-pragma.c (init_pragma): Likewise.
6658 * c.opt: Likewise.
6659
393e8e8b
MP
66602014-01-23 Marek Polacek <polacek@redhat.com>
6661
6662 PR c/59846
6663 * c-common.c (shorten_compare): Add location_t parameter.
6664 * c-common.h (shorten_binary_op): Adjust declaration.
6665
f04dda30
MP
66662014-01-23 Marek Polacek <polacek@redhat.com>
6667
6668 PR c/58346
6669 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
6670 * c-common.h: Declare it.
6671
621955cb
EB
66722014-01-20 Eric Botcazou <ebotcazou@adacore.com>
6673
6674 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
6675 * c-ada-spec.c (dump_ads): Likewise.
6676 (cpp_check): Likewise.
6677 (dump_ada_specs): Likewise.
6678
66792014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
6680
6681 PR c++/49718
6682 * c-common.c (handle_no_instrument_function_attribute): Allow
6683 no_instrument_function attribute in class member
6684 definition/declaration.
6685
241f845a
JJ
66862014-01-15 Jakub Jelinek <jakub@redhat.com>
6687
6688 PR c/58943
6689 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
6690 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
6691 being COMPOUND_EXPR.
6692 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
6693 operand a SAVE_EXPR and second MODIFY_EXPR.
6694
e83b8e2e
JJ
66952014-01-09 Jakub Jelinek <jakub@redhat.com>
6696
6697 PR target/58115
6698 * c-pch.c (c_common_write_pch): Call
6699 prepare_target_option_nodes_for_pch.
6700
23a5b65a
RS
67012014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6702
6703 Update copyright years
6704
f9030485
RS
67052014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6706
6707 * array-notation-common.c, c-cilkplus.c: Use the standard form for
6708 the copyright notice.
6709
f2aa696b
EB
67102013-12-28 Eric Botcazou <ebotcazou@adacore.com>
6711
6712 * c-ada-spec.c (print_constructor): New function.
6713 (print_destructor): Retrieve the origin of the destructor.
6714 (print_ada_declaration): Revamp handling of constructors/destructors.
6715
3f8257db 67162013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
6717 Bill Maddox <maddox@google.com>
6718 Jason Merrill <jason@redhat.com>
6719
6720 * c.opt: Add -fdeclone-ctor-dtor.
6721 * c-opts.c (c_common_post_options): Default to on iff -Os.
6722
41958c28
BI
67232013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
6724
6725 * c-common.c (c_common_attribute_table): Added "cilk simd function"
6726 attribute.
6727 * c-pragma.h (enum pragma_cilk_clause): Remove.
6728 (enum pragma_omp_clause): Added the following fields:
6729 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6730 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6731 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6732 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6733 PRAGMA_CILK_CLAUSE_UNIFORM.
6734
b1726d6c 6735
12893402
BI
67362013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6737
6738 * cilk.c (cilk_outline): Made this function non-static.
6739 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6740 (create_cilk_wrapper): Added a new parameter: a function pointer.
6741 (c_install_body_w_frame_cleanup): Remove
6742 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6743 * c-common.h (cilk_outline): New prototype.
6744 (gimplify_cilk_spawn): Removed two parameters.
6745 (cilk_install_body_with_frame_cleanup): New prototype.
6746 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6747 CILK_SPAWN_STMT case.
6748
085b42ed
BS
67492013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6750
2ce064c3
BS
6751 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6752
085b42ed
BS
6753 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6754 (int_array_type_node): Remove.
6755 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6756
9e36c9ed
MP
67572013-12-05 Marek Polacek <polacek@redhat.com>
6758
6759 PR c/52023
6760 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6761 [ADJUST_FIELD_ALIGN].
6762
296674db
JM
67632013-12-04 Joseph Myers <joseph@codesourcery.com>
6764
6765 PR c/52023
6766 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6767 and check field alignment if set.
6768 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6769 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6770
b1726d6c 67712013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6772 Marek Polacek <polacek@redhat.com>
6773
6774 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6775 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6776
d7947e19
L
67772013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6778
6779 PR c/59309
6780 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6781 arguments.
6782
fad7652e
JJ
67832013-11-29 Jakub Jelinek <jakub@redhat.com>
6784
6785 PR c/59280
6786 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6787 goto invalid. If it is error_mark_node, don't issue further
6788 diagnostics.
6789
8b5e1202
SO
67902013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6791
6792 * c.opt (Wopenmp-simd): New.
6793
0a508bb6
JJ
67942013-11-22 Jakub Jelinek <jakub@redhat.com>
6795
6796 * c-ubsan.h (ubsan_instrument_return): New prototype.
6797 * c-ubsan.c (ubsan_instrument_return): New function.
6798
2fb9a547
AM
67992013-11-22 Andrew MacLeod <amacleod@redhat.com>
6800
6801 * c-common.c: Add required include files from gimple.h.
6802 * c-gimplify.c: Likewise
6803 * cilk.c: Likewise
6804
8400e75e
DM
68052013-11-22 David Malcolm <dmalcolm@redhat.com>
6806
6807 * c-common.c (unsafe_conversion_p): Remove use of
6808 EXPR_LOC_OR_HERE macro.
6809 (conversion_warning): Likewise.
6810 (warnings_for_convert_and_check): Likewise.
6811 (warn_for_collisions_1): Likewise.
6812 (shorten_compare): Likewise, and remove use of in_system_header
6813 macro, using the location from the former.
6814 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6815 (cb_def_pragma): Remove use of in_system_header macro.
6816 (lex_string): Likewise.
6817 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6818
eb1ce453
KZ
68192013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6820 Mike Stump <mikestump@comcast.net>
6821 Richard Sandiford <rdsandiford@googlemail.com>
6822
6823 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6824 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6825 tree_fits_shwi_p or tree_fits_uhwi_p.
6826 (dump_generic_ada_node): Likewise.
6827 * c-format.c (check_format_arg): Likewise.
6828 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6829
6b3b8c27
KZ
68302013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6831
6832 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6833
49b0aa18
JC
68342013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6835
6836 PR c/53001
6837 * c-common.c (unsafe_conversion_p): Make this function
6838 return an enumeration with more detail.
6839 (conversion_warning): Use the new return type of
6840 unsafe_conversion_p to separately warn either about conversions
6841 that lower floating point number precision or about the other
6842 kinds of conversions.
6843 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6844 (unsafe_conversion_p): switching return type to
6845 conversion_safety enumeration.
49b0aa18
JC
6846 * c.opt: Adding new warning -Wfloat-conversion and
6847 enabling it with -Wconversion.
6848
b826515a
BS
68492013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6850
8e745a17
JJ
6851 * c-opts.c: Include plugin.h.
6852 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6853
b9a55b13
MP
68542013-11-19 Marek Polacek <polacek@redhat.com>
6855
6856 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6857 call.
6858 (ubsan_instrument_shift): Likewise.
6859 (ubsan_instrument_vla): Likewise.
6860
7d362f6c
RS
68612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6862
6863 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6864 cast to unsigned type.
6865
386b1f1f
RS
68662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6867
6868 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6869 tree_low_cst.
6870 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6871 rather than tree_low_cst.
6872
ae7e9ddd
RS
68732013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6874
6875 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6876 tree_to_uhwi throughout.
6877
9439e9a1
RS
68782013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6879
6880 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6881 tree_low_cst (..., 0) with tree_to_shwi throughout.
6882
cc269bb6
RS
68832013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6884
6885 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6886 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6887
9541ffee
RS
68882013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6889
6890 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6891 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6892
c02065fc
AH
68932013-11-15 Aldy Hernandez <aldyh@redhat.com>
6894
6895 * c-cilkplus.c: New file.
6896 * c-common.c (readonly_error): Add location argument.
6897 * c-common.h (readonly_error): Same.
6898 (c_finish_cilk_clauses): Protoize.
6899 (c_check_cilk_loop): Same.
6900 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6901 Do not fail on error_mark_node.
6902 Abstract increment canonicalization to here...
6903 (c_omp_for_incr_canonicalize_ptr): New.
6904 c-pragma.c (init_pragma): Register "simd" pragma.
6905 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6906 (enum pragma_cilk_clause): New.
6907
9cc65f15
RS
69082013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6909
6910 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6911 wchar_type and host_integerp checks.
6912
18f429e2
AM
69132013-11-14 Andrew MacLeod <amacleod@redhat.com>
6914
6915 * c-common.c: Likewise.
6916 * c-gimplify.c: Likewise.
6917 * cilk.c: Likewise.
6918
d8a2d370
DN
69192013-11-14 Diego Novillo <dnovillo@google.com>
6920
6921 * c-common.c: Include fold-const.h.
6922 Include stor-layout.h.
6923 Include calls.h.
6924 Include stringpool.h.
6925 Include attribs.h.
6926 Include varasm.h.
6927 Include trans-mem.h.
6928 * c-cppbuiltin.c: Include stor-layout.h.
6929 Include stringpool.h.
6930 * c-format.c: Include stringpool.h.
6931 * c-lex.c: Include stringpool.h.
6932 Include stor-layout.h.
6933 * c-pragma.c: Include stringpool.h.
6934 Include attribs.h.
6935 Include varasm.h.
6936 Include gcc-symtab.h.
6937 * c-pretty-print.c: Include stor-layout.h.
6938 Include attribs.h.
6939 * cilk.c: Include stringpool.h.
6940 Include calls.h.
6941
38b7bc7f
JM
69422013-11-13 Joseph Myers <joseph@codesourcery.com>
6943
6944 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6945 * c-common.c (c_common_reswords): Add __auto_type.
6946 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6947
45b0be94
AM
69482013-11-12 Andrew MacLeod <amacleod@redhat.com>
6949
18f429e2
AM
6950 * c-common.c: Include gimplify.h.
6951 * c-gimplify.c: Likewise.
6952 * cilk.c: Likewise.
6953 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6954 * c-ubsan.c: Don't include gimple.h.
45b0be94 6955
582d9b50
JM
69562013-11-12 Joseph Myers <joseph@codesourcery.com>
6957
6958 * c-common.c (c_common_reswords): Add _Thread_local.
6959
6b28e197
JM
69602013-11-09 Joseph Myers <joseph@codesourcery.com>
6961
6962 * c-common.c (atomic_size_supported_p): New function.
6963 (resolve_overloaded_atomic_exchange)
6964 (resolve_overloaded_atomic_compare_exchange)
6965 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6966 Use it instead of comparing size with a local list of sizes.
6967
267bac10
JM
69682013-11-07 Andrew MacLeod <amacleod@redhat.com>
6969 Joseph Myers <joseph@codesourcery.com>
6970
6971 * c-common.h (enum rid): Add RID_ATOMIC.
6972 * c-common.c (c_common_reswords): Add _Atomic.
6973 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6974 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6975 * c-format.c (check_format_types): Check for extra _Atomic
6976 qualifiers in format argument.
6977 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6978 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6979
5157b91e
TB
69802013-11-06 Tobias Burnus <burnus@net-b.de>
6981
6982 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6983
6dbe0958
JM
69842013-11-06 Joseph Myers <joseph@codesourcery.com>
6985
6986 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6987 standards modes.
6988 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6989 to mean lack of IEEE 754 support.
6990
e8ff5196
TB
69912013-11-05 Tobias Burnus <burnus@net-b.de>
6992
6993 * c.opt (-Wdate-time): New option
6994 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6995
254a0760
JM
69962013-11-05 Joseph Myers <joseph@codesourcery.com>
6997
6998 * c-cppbuiltin.c (cpp_iec_559_value): Test
6999 flag_excess_precision_cmdline not flag_excess_precision.
7000
6d7f7e0a
TB
70012013-11-05 Tobias Burnus <burnus@net-b.de>
7002
7003 * c.opt (fopenmp-simd): New option.
7004 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7005 (omp_pragmas): ... this new struct.
7006 (c_pp_lookup_pragma): Also walk omp_pragmas.
7007 (init_pragma): Init pragmas for -fopenmp-simd.
7008
55a7f02f
MP
70092013-11-04 Marek Polacek <polacek@redhat.com>
7010
7011 PR c++/58979
7012 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7013
9193fb05
JM
70142013-11-04 Joseph Myers <joseph@codesourcery.com>
7015
7016 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7017 New functions.
7018 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7019
94159ecf
EB
70202013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7021
7022 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7023 (dump_ada_specs): Adjust prototype of second callback.
7024 * c-ada-spec.c (cpp_check): New global variable.
7025 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7026 (print_generic_ada_decl): Likewise.
7027 (has_static_fields): Change return type to bool and add guard.
7028 (has_nontrivial_methods): New predicate.
7029 (is_tagged_type): Change return type to bool.
7030 (separate_class_package): Call has_nontrivial_methods.
7031 (pp_ada_tree_identifier): Minor tweaks.
7032 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7033 (dump_ada_array_domains): Likewise.
7034 (dump_ada_array_type): Likewise.
7035 (dump_template_types): Remove cpp_check parameter and do not pass it to
7036 dump_generic_ada_node.
7037 (dump_ada_template): Likewise.
7038 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7039 recursively.
7040 (print_ada_methods): Change return type to integer. Remove cpp_check
7041 parameter and do not pass it down.
7042 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7043 dump_generic_ada_node.
7044 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7045 accessing methods.
7046 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7047 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7048 value of print_ada_methods.
7049 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7050 Set cpp_check to it before invoking dump_ada_nodes.
7051 (dump_ada_specs): Likewise.
7052
b906f4ca
MP
70532013-11-03 Marek Polacek <polacek@redhat.com>
7054
7055 * c-ubsan.c: Don't include hash-table.h.
7056 (ubsan_instrument_vla): New function.
7057 * c-ubsan.h: Declare it.
7058
5e20cdc9
DM
70592013-10-31 David Malcolm <dmalcolm@redhat.com>
7060
7061 Automated part of renaming of symtab_node_base to symtab_node.
7062
7063 Patch autogenerated by rename_symtab.py from
7064 https://github.com/davidmalcolm/gcc-refactoring-scripts
7065 revision 58bb219cc090b2f4516a9297d868c245495ee622
7066
7067 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7068 symtab_node_base to symtab_node.
7069
7057e645
ESR
70702013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7071
8e745a17 7072 Implement C++14 digit separators.
7057e645
ESR
7073 * c-lex.c (interpret_float): Remove digit separators from scratch string
7074 before building real literal.
7075
193ea7bc
JJ
70762013-10-30 Jakub Jelinek <jakub@redhat.com>
7077
7078 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7079
939b37da
BI
70802013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7081
7082 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7083 fields.
7084 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7085 enabled.
7086 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7087 (insert_cilk_frame): New prototype.
7088 (cilk_init_builtins): Likewise.
7089 (gimplify_cilk_spawn): Likewise.
7090 (c_cilk_install_body_w_frame_cleanup): Likewise.
7091 (cilk_detect_spawn_and_unwrap): Likewise.
7092 (cilk_set_spawn_marker): Likewise.
7093 (build_cilk_sync): Likewise.
7094 (build_cilk_spawn): Likewise.
7095 * cilk.c: New file.
7096
67348ccc
DM
70972013-10-29 David Malcolm <dmalcolm@redhat.com>
7098
7099 Patch autogenerated by refactor_symtab.py from
7100 https://github.com/davidmalcolm/gcc-refactoring-scripts
7101 revision 58bb219cc090b2f4516a9297d868c245495ee622
7102
7103 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7104 to a true class hierarchy.
7105 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7106
d570872d
RS
71072013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7108
7109 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7110
98906124
JL
71112013-10-26 Jeff Law <law@redhat.com>
7112
adfac8df
JJ
7113 * c-common.c (c_define_builtins): Remove mudflap support.
7114 * c.opt: Ignore and warn for mudflap options.
98906124 7115
d73749df 71162013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7117
7118 PR other/33426
7119 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7120 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7121
3f04b1bb
JM
71222013-10-23 Jason Merrill <jason@redhat.com>
7123
7124 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7125
acf0174b
JJ
71262013-10-11 Jakub Jelinek <jakub@redhat.com>
7127
acd15a28
JJ
7128 * c-common.h (omp_clause_mask::operator !=): New method.
7129 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7130 instead of if (mask & something) tests everywhere.
7131
acf0174b
JJ
7132 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7133 201307 instead of 201107.
7134 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7135 (c_common_attribute_table): Add "omp declare target" and
7136 "omp declare simd" attributes.
7137 (handle_omp_declare_target_attribute,
7138 handle_omp_declare_simd_attribute): New functions.
7139 * c-omp.c: Include c-pragma.h.
7140 (c_finish_omp_taskgroup): New function.
7141 (c_finish_omp_atomic): Add swapped argument, if true,
7142 build the operation first with rhs, lhs arguments and use NOP_EXPR
7143 build_modify_expr.
7144 (c_finish_omp_for): Add code argument, pass it down to make_code.
7145 (c_omp_split_clauses): New function.
7146 (c_split_parallel_clauses): Removed.
7147 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7148 c_omp_declare_simd_clauses_to_decls): New functions.
7149 * c-common.h (omp_clause_mask): New type.
7150 (OMP_CLAUSE_MASK_1): Define.
7151 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7152 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7153 omp_clause_mask::operator |, omp_clause_mask::operator &,
7154 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7155 omp_clause_mask::operator ==): New methods.
7156 (enum c_omp_clause_split): New.
7157 (c_finish_omp_taskgroup): New prototype.
7158 (c_finish_omp_atomic): Add swapped argument.
7159 (c_finish_omp_for): Add code argument.
7160 (c_omp_split_clauses): New prototype.
7161 (c_split_parallel_clauses): Removed.
7162 (c_omp_declare_simd_clauses_to_numbers,
7163 c_omp_declare_simd_clauses_to_decls): New prototypes.
7164 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7165 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7166 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7167 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7168 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7169 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7170 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7171 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7172 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7173 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7174 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7175 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7176 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7177 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7178 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7179 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7180 PRAGMA_OMP_CLAUSE_UNIFORM.
7181
826cacfe
MG
71822013-10-09 Marc Glisse <marc.glisse@inria.fr>
7183
7184 PR tree-optimization/20318
7185 * c-common.c (handle_returns_nonnull_attribute): New function.
7186 (c_common_attribute_table): Add returns_nonnull.
7187
2284b034
MG
71882013-10-03 Marc Glisse <marc.glisse@inria.fr>
7189
7190 PR c++/19476
7191 * c.opt (fcheck-new): Move to common.opt.
7192
b56e9788
MP
71932013-09-25 Marek Polacek <polacek@redhat.com>
7194 Jakub Jelinek <jakub@redhat.com>
7195
7196 PR sanitizer/58413
7197 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7198 an expression if we can prove it is correct.
7199 (ubsan_instrument_division): Likewise. Remove unnecessary
7200 check.
7201
ce6923c5
MP
72022013-09-18 Marek Polacek <polacek@redhat.com>
7203
7204 PR sanitizer/58411
7205 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7206 Declare it.
7207 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7208
fb5610fb
IS
72092013-09-14 Iain Sandoe <iain@codesourcery.com>
7210
7211 PR target/48094
7212 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7213 fobjc-gc, freplace-objc-classes): Accept for LTO.
7214
88b0e79e
JC
72152013-09-13 Jacek Caban <jacek@codeweavers.com>
7216
7217 * c-target.def: New hook
7218
c9b0866a
PC
72192013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7220
7221 PR c++/43452
7222 * c.opt (Wdelete-incomplete): Add.
7223
0af94e6f
JR
72242013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7225
7226 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7227 (vector_types_compatible_elements_p): New function.
7228 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7229 declaration.
7230 (vector_types_compatible_elements_p): Declare.
7231
7c26172c
GDR
72322013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7233
7234 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7235 a virtual member function.
7236 (pp_simple_type_specifier): Remove.
7237 (pp_c_type_specifier): Likewise.
7238 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7239 Rename from pp_c_type_specifier. Adjust.
7240 (c_pretty_printer::c_pretty_printer): Do not assign to
7241 simple_type_specifier.
7242
20059c8b
GDR
72432013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7244
7245 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7246 member function.
7247 (c_pretty_printer::storage_class_specifier): Likewise.
7248 (c_pretty_printer::initializer): Likewise.
7249 (pp_declaration): Remove.
7250 (pp_declaration_specifiers): Likewise.
7251 (pp_abstract_declarator): Likewise.
7252 (pp_declarator): Likewise.
7253 (pp_type_id): Likewise.
7254 (pp_statement): Likewise.
7255 (pp_constant): Likewise.
7256 (pp_id_expression): Likewise.
7257 (pp_primary_expression): Likewise.
7258 (pp_unary_expression): Likewise.
7259 (pp_multiplicative_expression): Likewise.
7260 (pp_conditional_expression): Likewise.
7261 (pp_assignment_expression): Likewise.
7262 (pp_expression): Likewise.
7263 (pp_c_type_id): Likewise.
7264 (pp_c_storage_class_specifier): Likewise.
7265 * c-pretty-print.c (pp_c_type_cast): Tidy.
7266 (pp_c_pointer): Likewise.
7267 (pp_c_type_specifier): Likewise.
7268 (pp_c_parameter_type_list): Likewise.
7269 (pp_c_function_definition): Likewise.
7270 (pp_c_init_declarator): Likewise.
7271 (pp_c_initializer_list): Likewise.
7272 (pp_c_constructor_elts): Likewise.
7273 (c_pretty_printer::direct_abstract_declarator): Likewise.
7274 (c_pretty_printer::declaration_specifiers): Likewise.
7275 (c_pretty_printer::primary_expression): Likewise.
7276 (c_pretty_printer::postfix_expression): Likewise.
7277 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7278 (c_pretty_printer::storage_class_specifier): Rename from
7279 pp_c_storage_class_specifier.
7280 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7281 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7282 storage_class_specifier, initializer, offset_list, flags.
7283
de5a5fa1
MP
72842013-08-30 Marek Polacek <polacek@redhat.com>
7285
7286 * c-ubsan.c: New file.
7287 * c-ubsan.h: New file.
7288
8f0e4d72
GDR
72892013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7290
7291 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7292 member function.
7293 (c_pretty_printer::declaration_specifiers): Likewise.
7294 (c_pretty_printer::declarator): Likewise.
7295 (c_pretty_printer::abstract_declarator): Likewise.
7296 (c_pretty_printer::direct_abstract_declarator): Likewise.
7297 (c_pretty_printer::direct_declarator): Likewise.
7298 (c_pretty_printer::function_specifier): Likewise.
7299 (pp_declaration): Adjust.
7300 (pp_declaration_specifiers): Likewise.
7301 (pp_abstract_declarator): Likewise.
7302 (pp_direct_declarator): Likewise.
7303 (pp_function_specifier): Likewise.
7304 (pp_direct_abstract_declarator): Remove as unused.
7305 (pp_c_declaration): Remove.
7306 (pp_c_declaration_specifiers): Likewise.
7307 (pp_c_declarator): Likewise.
7308 (pp_c_direct_declarator): Likewise.
7309 (pp_c_function_specifier): Likewise.
7310 (pp_c_direct_abstract_declarator): Likewise.
7311 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7312 from pp_c_abstract_declarator. Adjust.
7313 (c_pretty_printer::direct_abstract_declarator): Rename from
7314 pp_c_direct_abstract_declarator. Adjust.
7315 (c_pretty_printer::function_specifier): Rename from
7316 pp_c_function_specifier. Adjust.
7317 (c_pretty_printer::declaration_specifiers): Rename from
7318 pp_c_declaration_specifiers. Adjust.
7319 (c_pretty_printer::direct_declarator): Rename from
7320 pp_c_direct_declarator. Adjust.
7321 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7322 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7323 (c_pretty_printer::c_pretty_printer): Do not assign to
7324 declaration, declaration_specifiers, declarator,
7325 direct_declarator, direct_abstract_declarator, function_specifier.
7326
00d34d3a
GDR
73272013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7328
7329 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7330 virtual member function.
7331 (c_pretty_printer::multiplicative_expression): Likewise.
7332 (c_pretty_printer::conditional_expression): Likewise.
7333 (c_pretty_printer::assignment_expression): Likewise.
7334 (c_pretty_printer::expression): Likewise.
7335 (pp_unary_expression): Adjust.
7336 (pp_multiplicative_expression): Likewise.
7337 (pp_assignment_expression): Likewise.
7338 (pp_conditional_expression): Likewise.
7339 (pp_expression): Likewise.
7340 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7341 from pp_c_unary_expression. Adjust.
7342 (c_pretty_printer::multiplicative_expression): Rename from
7343 pp_c_multiplicative_expression. Adjust.
7344 (c_pretty_printer::conditional_expression): Rename from
7345 pp_c_conditional_expression. Adjust.
7346 (c_pretty_printer::assignment_expression): Rename from
7347 pp_c_assignment_expression. Adjust.
7348 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7349 (c_pretty_printer::c_pretty_printer): Do not assign to
7350 unary_expression, multiplicative_expression,
7351 conditional_expression, expression.
7352
fb22178f
GDR
73532013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7354
7355 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7356 virtual member function.
7357 (pp_postfix_expression): Adjust.
7358 (pp_c_postfix_expression): Remove.
7359 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7360 from pp_c_postfix_expression. Adjust.
7361 (c_pretty_printer::c_pretty_printer): Do not assign to
7362 postfix_expression.
7363
7ecc2600
GDR
73642013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7365
7366 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7367 virtua member function.
7368 (pp_primary_expression): Adjust.
7369 (pp_c_primary_expression): Remove.
7370 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7371 from pp_c_primary_expression. Adjust.
7372 (pp_c_initializer_list): Use pp_primary_expression.
7373 (c_pretty_printer::c_pretty_printer): Do not assign to
7374 primary_expression.
7375
0691175f
GDR
73762013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7377
7378 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7379 * c-pretty-print.c (M_): Remove.
7380 (c_pretty_printer::translate_string): Define.
7381 (pp_c_type_specifier): Use it.
7382 (pp_c_primary_expression): Likewise.
7383 (pp_c_expression): Likewise.
7384
66dfe4c4
GDR
73852013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7386
7387 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
7388 virtual function.
7389 (pp_c_id_expression): Remove.
7390 (pp_id_expression): Adjust.
7391 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7392 pp_c_id_expression. Adjust.
7393 (pp_c_postfix_expression): Use pp_id_expression.
7394 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7395
ca43e9d5
GDR
73962013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7397
7398 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7399 member function.
7400 (pp_constant): Adjust.
7401 (pp_c_constant): Remove.
7402 * c-pretty-print.c (c_pretty_printer::constant): Rename from
7403 pp_c_constant. Adjust.
7404 (pp_c_constant)
7405 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7406 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7407
da6ca2b5
GDR
74082013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7409
7410 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7411 (c_pretty_printer::c_pretty_printer): Declare.
7412 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7413 c_pretty_printer_init. Adjust.
7414 (print_c_tree): Do not call c_pretty_printer_init.
7415 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
7416
65a372f4
AC
74172013-08-09 Arnaud Charlet <charlet@adacore.com>
7418
7419 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7420
fd9b0f32
PC
74212013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
7422
7423 PR c++/58080
7424 * c-common.c (pointer_int_sum): Add bool parameter.
7425 * c-common.h (pointer_int_sum): Adjust declaration.
7426
e0aec1e9
GDR
74272013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
7428
7429 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
7430 c_pretty_printer variable.
7431
b066401f
GDR
74322013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7433
7434 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7435 (pp_base): Remove.
7436 (pp_c_base): Likewise. Adjust users.
7437 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7438 (pp_c_whitespace): Do not call pp_base.
7439 (pp_c_left_paren): Likewise.
7440 (pp_c_right_paren): Likewise.
7441 (pp_c_left_brace): Likewise.
7442 (pp_c_right_brace): Likewise.
7443 (pp_c_left_bracket): Likewise.
7444 (pp_c_right_bracket): Likewise.
7445 (pp_c_dot): Likewise.
7446 (pp_c_ampersand): Likewise.
7447 (pp_c_star): Likewise.
7448 (pp_c_arrow): Likewise.
7449 (pp_c_semicolon): Likewise.
7450 (pp_c_complement): Likewise.
7451 (pp_c_exclamation): Likewise.
7452 (pp_c_direct_declarator): Likewise.
7453 (pp_c_ws_string): Likewise.
7454 (pp_c_identifier): Likewise.
7455 (pp_c_statement): Likewise.
7456 (print_c_tree): Likewise.
7457
65e5a578
ESR
74582013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
7459
7460 PR c++/58072
7461 * c-common.c (c_parse_error): Catch user-defined literal tokens and
7462 provide useful error strings.
7463
137a1a27
GDR
74642013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7465
7466 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7467 printer functions instead of pp_string or operators and punctuators.
7468 (dump_generic_ada_node): Likewise.
7469 * c-pretty-print.c (pp_c_type_specifier): Likewise.
7470 (pp_c_relational_expression): Likewise.
7471 (pp_c_logical_or_expression): Likewise.
7472
07838b13
GDR
74732013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7474
7475 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7476 functions instead of pp_character.
7477 (pp_ada_tree_identifier): Likewise.
7478 (dump_ada_double_name): Likewise.
7479 (dump_ada_function_declaration): Likewise.
7480 (dump_ada_array_domains): Likewise.
7481 (dump_template_types): Likewise.
7482 (dump_generic_ada_node): Likewise.
7483 (print_ada_declaration): Likewise.
7484 (print_ada_struct_decl): Likewise.
7485 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7486
433cc7b0
TT
74872013-07-23 Tom Tromey <tromey@redhat.com>
7488
7489 * c-common.h (enum rid) <RID_GENERIC>: New constant.
7490 * c-common.c (c_common_reswords): Add _Generic.
7491
688010ba
OB
74922013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
7493
7494 * c-common.c: Fix typos.
7495 * c-common.h: Likewise.
7496
2a99e5e6
LL
74972013-07-13 Lubos Lunak <l.lunak@suse.cz>
7498
7499 PR c++/55203
7500 * c-common.c (c_common_attribute_table): Add warn_unused.
7501 (handle_warn_unused_attribute): New.
7502
c26302d5
JJ
75032013-07-10 Jakub Jelinek <jakub@redhat.com>
7504
7505 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7506 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7507
dfeadaa0
PC
75082013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
7509
7510 PR c++/57869
7511 * c.opt: Add Wconditionally-supported.
7512
6a2fa4b2
GS
75132013-07-08 Graham Stott <graham.stott@btinternet.com>
7514
adfac8df 7515 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
7516 unused variables l_length and l_node.
7517
ecdbd01a 75182013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
7519
7520 PR c/57821
7521 * c-common.c (complete_array_type): Delay folding first index
7522 like other indices. When folding, check for index overflow.
7523
bedc293e
MG
75242013-06-27 Marc Glisse <marc.glisse@inria.fr>
7525
7526 PR c++/57509
7527 * c-common.h (c_build_vec_perm_expr): New complain argument.
7528 * c-common.c (c_build_vec_perm_expr): Likewise.
7529 Use save_expr also in C++.
7530
604b2bfc
GDR
75312013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7532
7533 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
7534 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7535 * c-opts.c (c_common_post_options): Likewise.
7536
dfeadaa0 75372013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
7538
7539 * array-notation-common.c (length_mismatch_in_expr): Changed the
7540 parameter type's from a dynamic array to a vec_tree. Also removed
7541 the size parameters.
7542 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
7543 the change above.
7544
2ce86d2e
BI
75452013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
7546
7547 * c-common.h (struct cilkplus_an_parts): New structure.
7548 (struct cilkplus_an_loop_parts): Likewise.
7549 (cilkplus_extract_an_triplets): New prototype.
7550 (fix_sec_implicit_args): Likewise.
7551 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
7552 (fix_sec_implicit_args): Likewise.
604b2bfc 7553
07a6825b
BI
75542013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
7555
7556 * array-notation-common.c (find_inv_trees): Removed an unwanted
7557 typecasting.
7558 * c-common.h (struct inv_list::additional_tcodes): Changed type from
7559 enum rid to enum tree_code.
7560
08346abd
JH
75612013-06-11 Jan Hubicka <jh@suse.cz>
7562
7563 * c-common.c (handle_alias_ifunc_attribute): Do not set
7564 DECL_EXTERNAL for weakref variables.
7565 * c-pragma.c (handle_pragma_weak): Make sure aliases
7566 are not declared as external.
7567
d60f1706
BI
75682013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
7569
7570 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
7571 function from c/c-array-notation.c.
7572 (is_cilkplus_reduce_builtin): Likewise.
7573 (find_rank): Likewise.
7574 (extract_array_notation_exprs): Likewise.
7575 (replace_array_notations): Likewise.
7576 (find_inv_trees): Likewise.
7577 (replace_inv_trees): Likewise.
7578 (contains_array_notation_expr): Likewise.
7579 (find_correct_array_notation_type): Likewise.
7580 * c-common.h (struct inv_list): Moved this struct from the file
7581 c/c-array-notation.c and added a new field called additional tcodes.
7582 (length_mismatch_in_expr_p): New prototype.
7583 (is_cilkplus_reduce_builtin): Likewise.
7584 (find_rank): Likewise.
7585 (extract_array_notation_exprs): Likewise.
7586 (replace_array_notation): Likewise.
7587 (find_inv_trees): Likewise.
7588 (replace_inv_trees): Likewise.
7589 (find_correct_array_notation_type): Likewise.
dfeadaa0 7590
36536d79
BI
75912013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
7592
7593 * c-common.c (c_define_builtins): When cilkplus is enabled, the
7594 function array_notation_init_builtins is called.
7595 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
7596 * c-common.def (ARRAY_NOTATION_REF): New tree.
7597 * c-common.h (build_array_notation_expr): New function declaration.
7598 (build_array_notation_ref): Likewise.
7599 (extract_sec_implicit_index_arg): New extern declaration.
7600 (is_sec_implicit_index_fn): Likewise.
7601 (ARRAY_NOTATION_CHECK): New define.
7602 (ARRAY_NOTATION_ARRAY): Likewise.
7603 (ARRAY_NOTATION_START): Likewise.
7604 (ARRAY_NOTATION_LENGTH): Likewise.
7605 (ARRAY_NOTATION_STRIDE): Likewise.
7606 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
7607 ARRAY_NOTATION_REF.
7608 (pp_c_expression): Likewise.
7609 * c.opt (flag_enable_cilkplus): New flag.
7610 * array-notation-common.c: New file.
7611
f7716d57
JJ
76122013-05-14 Jakub Jelinek <jakub@redhat.com>
7613
7614 PR c++/57274
7615 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
7616
a5e0cd1d
MG
76172013-05-10 Marc Glisse <marc.glisse@inria.fr>
7618
7619 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
7620 vectors.
7621
f6bc1c4a
HS
76222013-05-07 Han Shen <shenhan@google.com>
7623
7624 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
7625
3f12f6e9
SKS
76262013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7627
7628 * c-common.c (check_user_alignment): Emit error for negative values.
7629
61949153
PC
76302013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7631
7632 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
7633
e93e18e9
PC
76342013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7635
7636 * c-cppbuiltin.c (c_cpp_builtins): Do not define
7637 __GXX_EXPERIMENTAL_CXX1Y__.
7638
44d90fe1 76392013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 7640 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
7641
7642 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
7643 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
7644 to simply use OPT_Wpointer_arith.
7645 (c_sizeof_or_alignof_type): Likewise.
7646
13f39b2e
PC
76472013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7648
7649 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
7650
4b84d650
JJ
76512013-04-12 Jakub Jelinek <jakub@redhat.com>
7652
7653 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
7654 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
7655 specifiers.
7656
fb037b5d
SB
76572013-04-07 Steven Bosscher <steven@gcc.gnu.org>
7658
7659 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
7660
4e856798
PC
76612013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
7662
7663 * c-common.c (pointer_int_sum): Remove dead code.
7664
4b1baac8
RS
76652013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
7666
7667 PR middle-end/56524
7668 * c-common.c (handle_optimize_attribute): Don't call
7669 save_optabs_if_changed.
7670
0b50e654
JJ
76712013-03-05 Jakub Jelinek <jakub@redhat.com>
7672
7673 PR middle-end/56461
7674 * c-pch.c (pch_init): Free target_validity at the end.
7675
48c41403
JJ
76762013-03-04 Jakub Jelinek <jakub@redhat.com>
7677
7678 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
7679
e664c61c
KS
76802013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
7681 Jakub Jelinek <jakub@redhat.com>
7682
7683 PR sanitizer/56454
7684 * c-common.c (handle_no_sanitize_address_attribute): New function.
7685 (c_common_attribute_table): Add no_sanitize_address attribute.
7686 (handle_no_address_safety_analysis_attribute): Add
7687 no_sanitize_address attribute, not no_address_safety_analysis
7688 attribute.
7689
a475fd3d 76902013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
7691
7692 PR target/52555
7693 * c-common.c (handle_optimize_attribute): Call
7694 save_optabs_if_changed.
7695
f6007d99
JJ
76962013-02-18 Jakub Jelinek <jakub@redhat.com>
7697 Steven Bosscher <steven@gcc.gnu.org>
7698
7699 PR pch/54117
7700 * c-opts.c (c_common_post_options): If debug info is enabled
7701 and non-dwarf*, refuse to load PCH files and when writing PCH
7702 file warn.
7703
cf35e2b1
JJ
77042013-02-05 Jakub Jelinek <jakub@redhat.com>
7705
7706 PR middle-end/56167
7707 * c-common.c (handle_error_attribute): Fix condition.
7708
32887460
JJ
77092013-01-30 Jakub Jelinek <jakub@redhat.com>
7710
7711 PR c++/55742
7712 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7713
5af057d8
JM
77142013-01-18 Jason Merrill <jason@redhat.com>
7715
7716 PR target/54908
7717 * c.opt (-fextern-tls-init): New.
7718 * c-opts.c (c_common_post_options): Handle it.
7719
cc83c823
JJ
77202013-01-09 Jakub Jelinek <jakub@redhat.com>
7721
7722 PR c/48418
7723 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7724 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7725 and is either negative or bigger or equal to type precision
7726 of the first operand.
7727
a859517f
MP
77282012-12-03 Marek Polacek <polacek@redhat.com>
7729
7730 PR c/55570
7731 * c-common.c (check_user_alignment): Swap order of tests,
7732 check TREE_CODE first.
7733
2d7aa578
ESR
77342012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
7735
7736 PR c++/52654
7737 * c-common.h (overflow_type): New enum.
7738 (build_userdef_literal): Add overflow_type argument.
7739 (tree_userdef_literal): Add overflow_type.
7740 (USERDEF_LITERAL_OVERFLOW): New access macro.
7741 * c-common.c (build_userdef_literal): Add overflow_type
7742 argument.
7743 * c-lex.c (c_lex_with_flags): Add overflow_type to
7744 build_userdef_literal calls.
7745 (interpret_integer, interpret_float): Add overflow_type argument.
7746
cc3c4f62
RB
77472012-11-28 Richard Biener <rguenther@suse.de>
7748
7749 PR c/35634
7750 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7751 here and use a type with proper overflow behavior for types that would
7752 need to be promoted for the arithmetic.
7753
77bc5132
JJ
77542012-11-23 Jakub Jelinek <jakub@redhat.com>
7755
7756 PR sanitizer/55435
7757 * c-common.c (handle_no_address_safety_analysis_attribute): New
7758 function.
7759 (c_common_attribute_table): Add no_address_safety_analysis.
7760
5dc99c46
SB
77612012-11-16 Simon Baldwin <simonb@google.com>
7762
7763 * c.opt: Add f[no-]canonical-system-headers.
7764 * c-opts.c (c_common_handle_option): Handle
7765 OPT_fcanonical_system_headers.
7766
a4a0016d
ESR
77672012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7768
7769 PR c++/54413
7770 * c-opts.c (c_common_handle_option): Set new flags.
7771 * c.opt: Describe new flags.
7772
7dbb85a7
JM
77732012-11-09 Jason Merrill <jason@redhat.com>
7774
7775 * c.opt (Wabi-tag): New.
7776
ad7bac31
AK
77772012-11-09 Andi Kleen <ak@linux.intel.com>
7778
7779 PR 55139
7780 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7781 MEMMODEL_MASK
ad7bac31 7782
7332899a
MLI
77832012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7784
7785 PR c/53063
7786 * c.opt (Wformat): Make it Alias Wformat=1.
7787 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7788 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7789 LangEnabledBy.
7790 (Wformat=): RejectNegative. Use LangEnabledBy.
7791 (Wnonnull): Use LangEnabledBy.
7792 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7793 * c-format.c (set_Wformat): Delete.
7794 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7795 (maybe_read_dollar_number): Likewise.
7796 (avoid_dollar_number): Likewise.
7797 (finish_dollar_format_checking): Likewise.
7798 (check_format_info): Likewise.
7799 (check_format_info_main): Likewise.
7800 (check_format_types): Likewise.
7801 (format_type_warning): Likewise.
7802 * c-common.c (int): Likewise.
7803 (check_function_sentinel): Likewise.
7804 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7805
34a180a6
MLI
78062012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7807
7808 PR c/53063
7809 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7810 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7811 Use LangEnabledBy.
7812 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7813 common.opt.
7814 (Wvariadic-macros): Init(1).
7815 * c-opts.c (c_common_handle_option): Do not handle them
7816 explicitly.
7817 (c_common_post_options): Likewise.
7818 (sanitize_cpp_opts): warn_unused_macros is now
7819 cpp_warn_unused_macros.
7820 (push_command_line_include): Likewise.
7821 * c-common.c (warn_unknown_pragmas): Do not define.
7822 * c-common.h (warn_unknown_pragmas): Do not declare.
7823
3f46d6a5
MLI
78242012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7825
7826 PR c/51294
7827 * c-common.c (conversion_warning): Handle conditional expressions.
7828
880661a4
JW
78292012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7830
7831 PR c++/54930
7832 * c.opt (Wreturn_local_addr): Define new option.
7833
4514a96b
JM
78342012-10-25 Jason Merrill <jason@redhat.com>
7835
f14edc1a
JM
7836 * c.opt (Wvirtual-move-assign): New.
7837
4514a96b
JM
7838 * c.opt (Winherited-variadic-ctor): New.
7839
93100c6b
MG
78402012-10-25 Marc Glisse <marc.glisse@inria.fr>
7841
7842 PR c++/54427
7843 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7844
1efcb8c6
JM
78452012-10-23 Joseph Myers <joseph@codesourcery.com>
7846
7847 * c-common.h (pch_cpp_save_state): Declare.
7848 * c-target.def (c_preinclude): New hook.
7849 * c-opts.c (done_preinclude): New.
7850 (push_command_line_include): Handle default preincluded header.
7851 (cb_file_change): Call pch_cpp_save_state when calling
7852 push_command_line_include.
7853 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7854 (pch_cpp_save_state): New.
7855 (pch_init): Call pch_cpp_save_state conditionally, instead of
7856 calling cpp_save_state.
7857
4a0ae68e
MLI
78582012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7859
7860 PR c/53063
7861 PR c/40989
7862 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7863 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7864 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7865 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7866 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7867 * c-opts.c (c_common_handle_option): Remove explicit handling from
7868 here.
7869 (c_common_post_options): Likewise.
7870
67e4210b
EB
78712012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7872
7873 * c-ada-spec.c (LOCATION_COL): Delete.
7874 (compare_location): New function.
7875 (compare_node): Use it.
7876 (compare_comment): Likewise.
7877
65d4f2cd
MLI
78782012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7879
7880 PR c/53063
7881 PR c/40989
7882 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7883 * c-opts.c (c_common_handle_option): Do not set them here. Add
7884 comment.
7885 (c_common_post_options): Likewise.
7886
909881cb
EB
78872012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7888
7889 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7890 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7891 Remove POINTER_TYPE handling, add large unsigned handling and use
7892 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7893
3a785c97
JJ
78942012-10-12 Jakub Jelinek <jakub@redhat.com>
7895
7896 PR c/54381
7897 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7898 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7899 locs and array of 3 trees instead of just single loc and single
7900 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7901 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7902 For *cmp* builtins that take two sources strings report warnings
7903 about first and second source, not about destination and source.
7904
5e54f81d
MG
79052012-10-12 Marc Glisse <marc.glisse@inria.fr>
7906
7907 PR c++/53055
7908 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7909
f5b02f1e
EB
79102012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7911
7912 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7913 declaring something coming from another file.
7914
b46dbc6c
AC
79152012-10-10 Arnaud Charlet <charlet@adacore.com>
7916
f5b02f1e 7917 PR ada/54845
b46dbc6c
AC
7918 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7919
5d9de0d0
PC
79202012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7921
7922 PR c++/54194
7923 * c-common.c (warn_about_parentheses): Add location_t parameter;
7924 use EXPR_LOC_OR_LOC.
7925 * c-common.h: Update declaration.
7926
a212e43f
MG
79272012-10-09 Marc Glisse <marc.glisse@inria.fr>
7928
7929 PR c++/54427
7930 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7931 more operations. Make error messages optional.
7932 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7933 (scalar_to_vector): Declare.
7934
b1db7f91
JM
79352012-10-08 Jason Merrill <jason@redhat.com>
7936
7937 * c-common.c (c_common_reswords): Add thread_local.
7938
e28d52cf
DS
79392012-10-08 Dodji Seketeli <dodji@redhat.com>
7940
7941 PR c++/53528 C++11 attribute support
7942 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7943 new functions.
7944 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7945 static function.
7946 (handle_aligned_attribute): In choose strictest alignment
7947 among many. Use new check_cxx_fundamental_alignment_constraints.
7948 (handle_transparent_union_attribute): In c++11 attribute syntax,
7949 don't look through typedefs.
7950
3b78de56
AC
79512012-10-04 Arnaud Charlet <charlet@adacore.com>
7952
7953 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7954 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7955 out of dumpfile.h.
7956
6040bb5f
DC
79572012-09-25 Dehao Chen <dehao@google.com>
7958
7959 PR middle-end/54645
3b78de56 7960 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7961 map when read in the pch.
7962
3f8257db 79632012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7964
7965 * c-ada-spec.c: Style fixes.
7966
3f8257db 79672012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7968
7969 * c.opt (-fada-spec-parent): Define new command line switch.
7970 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7971 is specified, generate binding spec as a child of the specified unit.
7972
0ccb505d
PC
79732012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7974 Manuel López-Ibáñez <manu@gcc.gnu.org>
7975
7976 PR c++/53210
7977 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7978
c583af79
AC
79792012-08-23 Arnaud Charlet <charlet@adacore.com>
7980
7981 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7982 for pointers, and add missing Convention C pragma.
7983 (print_ada_struct_decl): Add missing aliased keyword.
7984 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7985
1a4049e7
JJ
79862012-08-17 Jakub Jelinek <jakub@redhat.com>
7987
7988 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7989 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7990 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7991 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7992 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7993
70b5e7dc
RG
79942012-08-10 Richard Guenther <rguenther@suse.de>
7995
7996 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7997
f8923f7e
SB
79982012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7999
8000 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8001 instead of separate pp_newline and pp_flush.
8002 (print_c_tree): Likewise.
8003
e45abe1f
RH
80042012-07-26 Richard Henderson <rth@redhat.com>
8005
8006 * c-common.c (handle_hot_attribute): Allow labels.
8007 (handle_cold_attribute): Likewise.
8008
332f1d24
JJ
80092012-07-20 Jakub Jelinek <jakub@redhat.com>
8010
8011 PR c++/28656
8012 * c-common.c (check_function_nonnull): Handle multiple nonnull
8013 attributes properly.
8014
7ee2468b
SB
80152012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8016
8017 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8018 * c-ada-spec.c: Likewise.
8019 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8020
ee7b28eb
SB
80212012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8022
8023 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8024 Remove code conditional on it.
8025
6bdf3519
SB
80262012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8027
8028 * c-gimplify.c: Do not include basic-block.h.
8029 * c-common.c: Do not include linfuncs.h.
8030
532aafad
SB
80312012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8032
8033 * c-common.h: Include tree.h.
8034
8d0d1915
JM
80352012-07-02 Jason Merrill <jason@redhat.com>
8036
8037 PR c++/53524
8038 * c-common.c (get_priority): Call default_conversion.
8039
fbc873ad
UB
80402012-07-01 Uros Bizjak <ubizjak@gmail.com>
8041
8042 * c-pch.c (c_common_write_pch): Remove unused variables.
8043
d4a10d0a
SB
80442012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8045
8046 * cppspec.c: Moved from gcc/ to here.
8047
6f3a2e23
KT
80482012-06-27 Kai Tietz <ktietz@redhat.com>
8049
8050 PR preprocessor/37215
8051 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8052
8ca92d04
SB
80532012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8054
8055 * c-common.h (c_common_print_pch_checksum): Remove.
8056 * c-pch.c: Do not include output.h.
8057 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8058 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8059 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8060 (struct c_pch_header): Remove.
8061 (get_ident): Update gpch version.
8062 (pch_init): Do not print executable_checksum to asm_out_file.
8063 Do not fail if there is no asm_out_file to read back from. Set
8064 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8065 (c_common_write_pch): Verify that nothing was written to asm_out_file
8066 since pch_init was called. Do not write a c_pch_header, and do not
8067 copy from asm_out_file to the PCH.
8068 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8069 the content of asm_out_file from the PCH.
8070 (c_common_print_pch_checksum): Remove.
8071 * c-opts.c (c_common_init): Print out executable_checksum directly.
8072
70f42967
SB
80732012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8074
8075 * c-target.def (objc_declare_unresolved_class_reference,
8076 objc_declare_class_definition): Add new hooks.
8077
a8781821
SB
80782012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8079
8080 * c-lex.c: Do not include output.h.
8081 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8082 Remove uses of ASM_OUTPUT_IDENT.
8083
9e1a8dd1
RR
80842012-06-15 Marc Glisse <marc.glisse@inria.fr>
8085
8086 PR c++/51033
8087 * c-common.h (c_build_vec_perm_expr): Move decl here.
8088 * c-common.c (c_build_vec_perm_expr): Move definition
8089 here.
8090
6f07a821
SB
80912012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8092
8093 * c.opt (fconserve-space): Turn into a no-op.
8094
9faeb493 80952012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8096
8097 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8098 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8099 both the start and end of the function.
8100
a4b7d13c
SB
81012012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8102
8103 * c-common.c: Do not include output.h.
8104 * c-pragma.c: Likewise.
8105
c265f413
SA
81062012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8107
8108 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8109 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8110 (lang_decl_name): Handle namespace decls.
8111
be7a421e
SB
81122012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8113
8114 * c-ada-spec.c: Do not include output.h.
8115 * c-semantics.c: Likewise.
8116
65de6659
JM
81172012-05-29 Joseph Myers <joseph@codesourcery.com>
8118
8119 * c-common.c: Fix typo.
8120
ca5f4331
MM
81212012-05-29 Michael Matz <matz@suse.de>
8122
8123 * c-common.h (c_expand_decl): Remove prototype.
8124
4f7f7aca
MLI
81252012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8126
8127 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8128 * c-opts.c (c_common_handle_option): Remove code handling
8129 warn_missing_braces.
8130
4a792f9b
PC
81312012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8132
8133 PR c++/25137
8134 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8135 -Wmissing_braces.
8136
650dc14a
DS
81372012-05-22 Dodji Seketeli <dodji@redhat.com>
8138
8139 PR c++/53322
8140 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8141
9b095bf1
MLI
81422012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8143
8144 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8145 * c-opts.c (c_common_handle_option): Do not handle explicitly
8146 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8147
0b2c4be5
DS
81482012-05-16 Dodji Seketeli <dodji@redhat.com>
8149
8150 PR preprocessor/7263
8151 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
8152 to cpp_classify_number. For diagnostics, use the precise location
8153 instead of the global input_location.
8154
a1bde5af
PC
81552012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8156
d02924ef 8157 PR c++/11856
a1bde5af
PC
8158 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8159
d1ede5f4
BS
81602012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8161
a1bde5af 8162 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8163
f2bc201f
MLI
81642012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8165
8166 PR 53063
8167 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8168 Wreorder): Use LangEnabledBy.
8169 * c-opts.c (c_common_handle_option): Do not enable them
8170 explicitly. Call lang-specific generated functions.
8171 (c_common_post_options): Do not set them here.
8172
95744782
MLI
81732012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8174
8175 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8176 Wmissing-field-initializers,Wmissing-parameter-type,
8177 Wold-style-declaration,Woverride-init): Use EnabledBy.
8178 * c-opts.c (c_common_post_options): Do not set here explicitly.
8179
7d5a5747
MLI
81802012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8181
8182 PR 53063
8183 * c-opts.c (c_common_handle_option): Use handle_generated_option
8184 to enable sub-options.
8185
5a3c9cf2
PC
81862012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8187
8188 PR c++/53158
8189 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8190
3ac8781c
RG
81912012-05-10 Richard Guenther <rguenther@suse.de>
8192
8193 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8194 adjust commentary about TYPE_IS_SIZETYPE types.
8195
1e537948
MLI
81962012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8197
8198 PR c++/53261
8199 * c-common.c (warn_logical_operator): Check that argument of
8200 integer_zerop is not NULL.
8201
f2c4a785
MLI
82022012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8203
8204 PR c/43772
8205 * c-common.c (warn_logical_operator): Do not warn if either side
8206 is already true or false.
8207
50f305ca
MLI
82082012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8209
8210 PR c/51712
8211 * c-common.c (expr_original_type): New.
8212 (shorten_compare): Do not warn for enumeration types.
8213
0c3641b0
MLI
82142012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8215
8216 * c.opt (fpermissive): Add Var(flag_permissive).
8217
7edaa4d2
MG
82182012-04-30 Marc Glisse <marc.glisse@inria.fr>
8219
8220 PR c++/51033
8221 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8222 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8223
b9c8da34
DS
82242012-04-30 Dodji Seketeli <dodji@redhat.com>
8225
8226 Add -Wvarargs option
8227 * c.opt (Wvarargs): Define new option.
8228
e6c69da0
MLI
82292012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8230
8231 * c-common.c (check_function_arguments): Replace
8232 Wmissing-format-attribute with Wsuggest-attribute=format.
8233
90137d8f
MLI
82342012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8235
8236 * c.opt (Wsuggest-attribute=format): New. Alias of
8237 Wmissing-format-attribute.
8238 * c-format.c (decode_format_type): Replace
8239 Wmissing-format-attribute with Wsuggest-attribute=format.
8240 (check_function_format): Likewise.
8241
9faeb493 82422012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8243
8244 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8245 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8246 * c.opt: Add Wliteral-suffix.
8247
c1771a20
MLI
82482012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8249
8250 PR c/44774
8251 * c.opt (Wpedantic): New.
8252 (pedantic): Alias Wpedantic.
8253 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8254 (c_common_post_options): Likewise.
8255 (sanitize_cpp_opts): Likewise.
8256 * c-lex.c (interpret_float): Likewise.
8257 * c-format.c (check_format_types): Likewise.
8258 * c-common.c (pointer_int_sum): Likewise.
8259 (c_sizeof_or_alignof_type): Likewise.
8260 (c_add_case_label): Likewise.
8261 (c_do_switch_warnings): Likewise.
8262 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8263
04b391c1
JM
82642012-04-15 Jason Merrill <jason@redhat.com>
8265
8266 PR c++/52818
8267 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8268 (C_STD_NAME): Distinguish between C++98 and C++11.
8269
ac868f29
EB
82702012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8271
8272 PR target/52624
8273 * c-common.h (uint16_type_node): Rename into...
8274 (c_uint16_type_node): ...this.
8275 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8276 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8277
fd4116f4
MLI
82782012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8279
8280 * c-common.c (warn_if_unused_value): Move definition to here.
8281 * c-common.h (warn_if_unused_value): Move declaration to here.
8282
573ac65e
WB
82832012-03-23 William Bader <williambader@hotmail.com>
8284
8285 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8286
552b8185
JM
82872012-03-20 Jason Merrill <jason@redhat.com>
8288
8289 * c-common.h (enum cxx_dialect): Add cxx1y.
8290 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8291 test.
8292 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8293 * c-opts.c (c_common_post_options): Likewise.
8294 (set_std_cxx1y): New.
8295 (c_common_handle_option): Call it.
8296 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8297
04398fa8
PC
82982012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8299
8300 PR c++/14710
8301 * c.opt ([Wuseless-cast]): Add.
8302
d2a12ae7
RG
83032012-03-16 Richard Guenther <rguenther@suse.de>
8304
8305 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8306
a12bf402
MLI
83072012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8308
8309 PR c++/44783
8310 * c.opt (ftemplate-backtrace-limit) Add.
8311
5c30094f
RO
83122012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8313
8314 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8315 handling.
8316 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8317 (init_pragma): Don't register extern_prefix.
8318
21fa2faf
RG
83192012-03-12 Richard Guenther <rguenther@suse.de>
8320
8321 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8322 (builtin_type_for_size): Likewise.
8323
e3793c6f
JJ
83242012-02-13 Jakub Jelinek <jakub@redhat.com>
8325
8326 PR c++/52215
8327 * c-common.c (sync_resolve_params): Don't decide whether to convert
8328 or not based on TYPE_SIZE comparison, convert whenever arg_type
8329 is unsigned INTEGER_TYPE.
8330
93286335
PC
83312012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
8332
8333 PR c/52118
8334 * c.opt ([Wunused-local-typedefs]): Fix description.
8335
7a421706
MS
83362012-01-24 Mike Stump <mikestump@comcast.net>
8337
8338 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
8339 exactly.
8340
ba9b1f11
RG
83412012-01-18 Richard Guenther <rguenther@suse.de>
8342
8343 * c-opts.c (c_common_post_options): Reset LTO flags if
8344 we are about to generate a PCH.
8345
465406be
PC
83462012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8347
8348 PR c++/51777
8349 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8350 use pp_unsigned_wide_integer.
8351
aee15221
RG
83522012-01-10 Richard Guenther <rguenther@suse.de>
8353
8354 PR middle-end/51806
8355 * c-opts.c (c_common_handle_option): Move -Werror handling
8356 to language independent code.
8357
5720c0dc
RG
83582012-01-05 Richard Guenther <rguenther@suse.de>
8359
8360 PR middle-end/51764
8361 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8362 from common.opt.
8363
73ac190a
PC
83642011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
8365
8366 PR c++/51316
8367 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8368 of array types with an unknown bound.
8369
48b0b196
JM
83702011-12-20 Joseph Myers <joseph@codesourcery.com>
8371
8372 * c-common.c (flag_isoc99): Update comment to refer to C11.
8373 (flag_isoc1x): Change to flag_isoc11.
8374 * c-common.h (flag_isoc99): Update comment to refer to C11.
8375 (flag_isoc1x): Change to flag_isoc11.
8376 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8377 C11.
8378 * c-opts.c (set_std_c1x): Change to set_std_c11.
8379 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8380 Call set_std_c11.
8381 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8382 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8383 * c.opt (std=c1x): Change to std=c11. Document as non-draft
8384 standard.
8385 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8386 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
8387 (std=gnu1x): Make alias of std=gnu11.
8388
d58d6eb5
JM
83892011-12-19 Jason Merrill <jason@redhat.com>
8390
8391 PR c++/51228
8392 * c-common.c (handle_transparent_union_attribute): Check the first
8393 field if the type is complete.
8394
b3908fcc
JW
83952011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
8396
8397 PR libstdc++/51365
8398 * c-common.c (RID_IS_FINAL): Add.
8399 * c-common.h (RID_IS_FINAL): Add.
8400
fea3ca91
IS
84012011-11-30 Iain Sandoe <iains@gcc.gnu.org>
8402
8403 * c.opt (fgnu-runtime): Provide full description.
8404 (fnext-runtime): Likewise.
8405 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8406
62bad7cd
AM
84072011-11-28 Andrew MacLeod <amacleod@redhat.com>
8408
8409 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
8410 predefines in one place. Add LOCK_FREE predefines.
8411 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8412 new func.
8413
c466c4ff
AM
84142011-11-24 Andrew MacLeod <amacleod@redhat.com>
8415
8416 PR c/51256
9faeb493 8417 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 8418 conditions
9faeb493
UB
8419 (resolve_overloaded_atomic_exchange,
8420 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
8421 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8422 error_mark_node for error conditions.
9faeb493 8423
a5952633
RG
84242011-11-08 Richard Guenther <rguenther@suse.de>
8425
8426 PR middle-end/51010
8427 c-family/
8428
0a35513e
AH
84292011-11-07 Richard Henderson <rth@redhat.com>
8430 Aldy Hernandez <aldyh@redhat.com>
8431 Torvald Riegel <triegel@redhat.com>
8432
8433 Merged from transactional-memory.
8434
8435 * c-common.c (handle_tm_wrap_attribute,
8436 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8437 (struct c_common_reswords): Added __transaction* keywords.
8438 (struct c_common_attribute_table): Added transaction* and tm_regparm
8439 attributes.
8440 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8441 masks.
8442 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8443 find_tm_attribute): Declare.
8444
6d87092d
JM
84452011-11-07 Jason Merrill <jason@redhat.com>
8446
8447 PR c++/35688
8448 * c-common.c, c-common.h: Revert yesterday's changes.
8449
8e7860a1
JM
84502011-11-06 Jason Merrill <jason@redhat.com>
8451
8452 PR c++/35688
8453 * c-common.c (decl_has_visibility_attr): Split out from...
8454 (c_determine_visibility): ...here.
8455 * c-common.h: Declare it.
8456
d19fa6b5
JM
84572011-11-06 Joseph Myers <joseph@codesourcery.com>
8458
8459 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8460 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8461 type.
8462 (check_user_alignment): New. Split out of
8463 handle_aligned_attribute. Disallow integer constants with
8464 noninteger types. Conditionally allow zero.
8465 (handle_aligned_attribute): Use check_user_alignment.
8466 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
8467
86951993
AM
84682011-11-06 Andrew MacLeod <amacleod@redhat.com>
8469 Richard Henderson <rth@redhat.com>
8470
8471 Merged from cxx-mem-model.
8472
8473 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 8474 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
8475 parameters that are the same type size.
8476 (get_atomic_generic_size): New. Find size of generic
8477 atomic function parameters and do typechecking.
8478 (add_atomic_size_parameter): New. Insert size into parameter list.
8479 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8480 either __atomic_exchange_n or external library call.
9faeb493 8481 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 8482 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 8483 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
8484 __atomic_load_n or an external library call.
8485 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
8486 __atomic_store_n or an external library call.
8487 (resolve_overloaded_builtin): Handle new __atomic builtins.
8488
cf9e9959
EB
84892011-11-04 Eric Botcazou <ebotcazou@adacore.com>
8490
8491 PR c++/50608
8492 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8493 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
8494 <INDIRECT_REF>: Return the argument.
8495 <ARRAY_REF>: Remove special code for negative offset.
8496 Call fold_build_pointer_plus instead of size_binop.
8497 (fold_offsetof): Remove STOP_REF argument and adjust.
8498 * c-common.h (fold_offsetof_1): Declare.
8499 (fold_offsetof): Remove STOP_REF argument.
8500
25339f10
JM
85012011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
8502
8503 PR c++/50810
8504 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8505 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8506 Wnarrowing for C++0x and C++98.
8507 * c.opt ([Wnarrowing]): Update.
8508
89401152
PC
85092011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
8510
8511 PR c++/44277
8512 * c.opt: Add Wzero-as-null-pointer-constant.
8513
97e3ad20
JM
85142011-10-31 Jason Merrill <jason@redhat.com>
8515
15694fdd
JM
8516 * c.opt (-fdeduce-init-list): Off by default.
8517
97e3ad20
JM
8518 PR c++/50920
8519 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
8520 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8521 and -Wc++11-compat.
8522 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
8523
fb9120e3
RAV
85242011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
8525
8526 PR c++/30066
8527 * c.opt (fvisibility-inlines-hidden): Description change.
8528
3ce4f9e4
ESR
85292011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
8530
8531 Implement C++11 user-defined literals.
8532 * c-common.c (build_userdef_literal): New.
8533 * c-common.def: New tree code.
8534 * c-common.h (tree_userdef_literal): New tree struct and accessors.
8535 * c-lex.c (interpret_float): Add suffix parm.
8536 (c_lex_with_flags): Build literal tokens.
8537
5f53c243
PC
85382011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8539
8540 PR c++/50841
8541 Revert:
8542 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8543
8544 PR c++/50810
8545 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8546 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8547 Wnarrowing for C++0x and C++98.
8548 * c.opt ([Wnarrowing]): Update.
8549
263734e1
PC
85502011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8551
8552 PR c++/50810
8553 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8554 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8555 Wnarrowing for C++0x and C++98.
8556 * c.opt ([Wnarrowing]): Update.
8557
d2e312d7
PC
85582011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
8559
8560 PR c++/45385
8561 * c-common.c (conversion_warning): Remove code looking for
8562 artificial operands.
8563
d17687f6
DS
85642011-10-18 Dodji Seketeli <dodji@redhat.com>
8565
8566 PR bootstrap/50760
8567 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 8568 !NO_IMPLICIT_EXTERN_C.
d17687f6 8569
fc8396e9
PC
85702011-10-17 Michael Spertus <mike_spertus@symantec.com>
8571
8572 * c-common.c (c_common_reswords): Add __bases,
8573 __direct_bases.
8574 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
8575
85762011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
8577
8578 PR c++/50757
8579 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
8580
847e697a
TT
85812011-10-15 Tom Tromey <tromey@redhat.com>
8582 Dodji Seketeli <dodji@redhat.com>
8583
8584 * c.opt (fdebug-cpp): New option.
8585 * c-opts.c (c_common_handle_option): Handle the option.
8586 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
8587 output stream in parameter. Factorized from ...
8588 (maybe_print_line): ... this. Dump location debug information when
8589 -fdebug-cpp is in effect.
8590 (print_line_1): New static function. Takes an output stream in
8591 parameter. Factorized from ...
8592 (print_line): ... here. Dump location information when -fdebug-cpp
8593 is in effect.
8594 (scan_translation_unit): Dump location information when
8595 -fdebug-cpp is in effect.
8596
92582b75
TT
85972011-10-15 Tom Tromey <tromey@redhat.com>
8598 Dodji Seketeli <dodji@redhat.com>
8599
8600 * c.opt (ftrack-macro-expansion): New option. Handle it with and
8601 without argument.
8602 * c-opts.c (c_common_handle_option)<case
8603 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
8604 cases. Handle -ftrack-macro-expansion with and without argument.
8605
46427374
TT
86062011-10-15 Tom Tromey <tromey@redhat.com>
8607 Dodji Seketeli <dodji@redhat.com>
8608
8609 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
8610 (print_line, cb_define, do_line_change): Adjust to avoid touching
8611 the internals of struct line_map. Use the public API instead.
8612 * c-pch.c (c_common_read_pch): Likewise.
8613 * c-lex.c (fe_file_change): Likewise.
8614
fc8396e9
PC
86152011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
8616
8617 PR c++/17212
8618 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
8619
86202011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
8621
8622 PR c++/33067
8623 * c-pretty-print.c (pp_c_floating_constant): Output
8624 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
8625
e79983f4
MM
86262011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8627
8628 * c-common.c (def_builtin_1): Delete old interface with two
8629 parallel arrays to hold standard builtin declarations, and replace
8630 it with a function based interface that can support creating
8631 builtins on the fly in the future. Change all uses, and poison
8632 the old names. Make sure 0 is not a legitimate builtin index.
8633 * c-omp.c (c_finish_omp_barrier): Ditto.
8634 (c_finish_omp_taskwait): Ditto.
8635 (c_finish_omp_flush): Ditto.
8636
6637388f
TG
86372011-10-11 Tristan Gingold <gingold@adacore.com>
8638
8639 * c.opt: (fallow-parameterless-variadic-functions): New.
8640
3797cb21
DS
86412011-09-08 Dodji Seketeli <dodji@redhat.com>
8642
8643 PR c++/33255 - Support -Wunused-local-typedefs warning
8644 * c-common.h (struct c_language_function::local_typedefs): New
8645 field.
9faeb493
UB
8646 (record_locally_defined_typedef, maybe_record_typedef_use)
8647 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 8648 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
8649 (maybe_record_typedef_use)
8650 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
8651 * c.opt: Declare new -Wunused-local-typedefs flag.
8652
693ddb1b
EB
86532011-09-06 Eric Botcazou <ebotcazou@adacore.com>
8654
8655 PR middle-end/50266
8656 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
8657 computations.
8658
830c740f
RG
86592011-09-05 Richard Guenther <rguenther@suse.de>
8660
8661 * c-common.c (complete_array_type): Use ssize_int (-1) instead
8662 of integer_minus_one_node for empty array upper bounds.
8663
892a371f
DS
86642011-08-28 Dodji Seketeli <dodji@redhat.com>
8665
8666 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
8667 it's the first time it's being called on this main TU.
8668
0e3fdb48
RB
86692011-08-24 Richard Guenther <rguenther@suse.de>
8670
8671 PR c/49396
8672 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
8673
86742011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
8675
8676 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
8677 defined in cpp_init_builtins and c_cpp_builtins.
8678
d4a83c10
JM
86792011-08-19 Joseph Myers <joseph@codesourcery.com>
8680
8681 * c-common.c (c_common_reswords): Add __builtin_complex.
8682 * c-common.h (RID_BUILTIN_COMPLEX): New.
8683
bbceee64
JM
86842011-08-18 Joseph Myers <joseph@codesourcery.com>
8685
8686 * c-common.c (c_common_reswords): Add _Noreturn.
8687 (keyword_is_function_specifier): Handle RID_NORETURN.
8688 * c-common.h (RID_NORETURN): New.
8689
3f8257db 86902011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
8691
8692 * c-common.c (unsafe_conversion_p): New function. Check if it is
8693 unsafe to convert an expression to the type.
8694 (conversion_warning): Adjust, use unsafe_conversion_p.
8695 * c-common.h (unsafe_conversion_p): New function declaration.
8696
20906c66
JJ
86972011-08-02 Jakub Jelinek <jakub@redhat.com>
8698
8699 * c-common.h (c_finish_omp_atomic): Adjust prototype.
8700 (c_finish_omp_taskyield): New prototype.
8701 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
8702 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
8703 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
8704 or RHS1 have side-effects, evaluate those too in the right spot,
8705 if it is a decl and LHS is also a decl, error out if they
8706 aren't the same.
8707 (c_finish_omp_taskyield): New function.
8708 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
8709 * c-pragma.c (omp_pragmas): Add taskyield.
8710 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8711 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8712 PRAGMA_OMP_CLAUSE_MERGEABLE.
8713
770e5a2e
DS
87142011-07-25 Dodji Seketeli <dodji@redhat.com>
8715
8716 * c-common.h (set_underlying_type): Remove parm name from
8717 declaration.
8718
1baae426
RG
87192011-07-25 Romain Geissler <romain.geissler@gmail.com>
8720
8721 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 8722
fcb21722
JM
87232011-07-22 Jason Merrill <jason@redhat.com>
8724
76f86d00
JM
8725 PR c++/49793
8726 * c.opt (Wnarrowing): New.
8727
3a636414
JM
8728 PR c++/30112
8729 * c-common.h: Declare c_linkage_bindings.
8730 * c-pragma.c (handle_pragma_redefine_extname): Use it.
8731
fcb21722
JM
8732 PR c++/49813
8733 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8734 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8735 as flag_isoc99 for 'restrict'.
8736 (pp_c_specifier_qualifier_list): Likewise for _Complex.
8737
02614448
ILT
87382011-07-21 Ian Lance Taylor <iant@google.com>
8739
8740 PR middle-end/49705
8741 * c-common.c (c_disable_warnings): New static function.
8742 (c_enable_warnings): New static function.
8743 (c_fully_fold_internal): Change local unused_p to bool. Call
8744 c_disable_warnings and c_enable_warnings rather than change
8745 c_inhibit_evaluation_warnings.
8746
34429675
JM
87472011-07-20 Jason Merrill <jason@redhat.com>
8748
8749 PR c++/6709 (DR 743)
8750 PR c++/42603 (DR 950)
8751 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8752 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8753 (CPP_DECLTYPE): New.
8754 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8755
5d49b6a7
RG
87562011-07-19 Richard Guenther <rguenther@suse.de>
8757
8758 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8759 * c-omp.c (c_finish_omp_for): Likewise.
8760
e84a58ff
EB
87612011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8762
8763 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8764 body on the next line.
8765
329af3c7
JM
87662011-07-08 Jason Merrill <jason@redhat.com>
8767
4063e61b
JM
8768 PR c++/45437
8769 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8770
329af3c7
JM
8771 PR c++/49673
8772 * c-common.c (c_apply_type_quals_to_decl): Don't check
8773 TYPE_NEEDS_CONSTRUCTING.
8774
1a072294
RG
87752011-07-06 Richard Guenther <rguenther@suse.de>
8776
8777 * c-common.c (c_common_nodes_and_builtins):
8778 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8779
fce5dddd
RG
87802011-07-05 Richard Guenther <rguenther@suse.de>
8781
8782 * c-common.c (c_common_nodes_and_builtins): Build all common
8783 tree nodes first.
8784
45d439ac
JJ
87852011-06-27 Jakub Jelinek <jakub@redhat.com>
8786
56300785
JJ
8787 * c-common.h (c_tree_chain_next): New static inline function.
8788
45d439ac
JJ
8789 * c-common.c (check_builtin_function_arguments): Handle
8790 BUILT_IN_ASSUME_ALIGNED.
8791
e0a8ecf2
AM
87922011-06-21 Andrew MacLeod <amacleod@redhat.com>
8793
8794 * c-common.c: Add sync_ or SYNC__ to builtin names.
8795 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8796
87972011-06-20 Pierre Vittet <piervit@pvittet.com>
8798
8799 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8800 handler.
8801 (gen_pragma_handler): New union.
8802 (internal_pragma_handler): New type.
8803 (c_register_pragma_with_data)
8804 (c_register_pragma_with_expansion_and_data): New functions.
8805
8806 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8807 (c_register_pragma, c_register_pragma_with_expansion)
8808 (c_invoke_pragma_handler): Changed to work with
8809 internal_pragma_handler.
8810 (c_register_pragma_with_data)
8811 (c_register_pragma_with_expansion_and_data): New functions.
8812
677f3fa8
JM
88132011-06-14 Joseph Myers <joseph@codesourcery.com>
8814
8815 * c-common.c: Include common/common-target.h.
8816 (handle_section_attribute): Use
8817 targetm_common.have_named_sections.
8818 * c-cppbuiltin.c: Include common/common-target.h.
8819 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8820
d7fc8c14
RG
88212011-06-10 Richard Guenther <rguenther@suse.de>
8822
8823 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8824 to print a IDENTIFIER_NODE.
8825
10e48e39
RO
88262011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8827 Joseph Myers <joseph@codesourcery.com>
8828
8829 * c.opt (fbuilding-libgcc): New option.
8830 * c-cppbuiltin.c (c_cpp_builtins): Define
8831 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8832
6976ae51
JM
88332011-06-07 Jason Merrill <jason@redhat.com>
8834
3ff60975
JM
8835 * c-common.c (max_tinst_depth): Lower default to 900.
8836
6976ae51
JM
8837 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8838
009db074
RG
88392011-06-07 Richard Guenther <rguenther@suse.de>
8840
8841 * c-common.c (c_common_nodes_and_builtins): Do not set
8842 size_type_node or call set_sizetype.
8843
b4592b92
DS
88442011-06-07 Dodji Seketeli <dodji@redhat.com>
8845
8846 PR debug/49130
8847 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8848 type when using pointer comparison to compare types.
b4592b92 8849
014ab419
JW
88502011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8851
8852 * c.opt: Add -Wdelete-non-virtual-dtor.
8853 * c-opts.c (c_common_handle_option): Include it in -Wall.
8854
4f60111f
NF
88552011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8856
8857 PR bootstrap/49190
8858
8859 Revert:
8860 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8861
8862 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8863 not tree_common.
8864
4cc4f2f4
JJ
88652011-05-27 Jakub Jelinek <jakub@redhat.com>
8866
8867 PR c++/49165
8868 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8869 C++ don't call c_common_truthvalue_conversion on void type arms.
8870
38e01f9e
NF
88712011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8872
8873 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8874 (stmt_list_stack): Define.
8875 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8876 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8877
92e948a8
NF
88782011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8879
8880 * c-common.c (warning_candidate_p): Check for BLOCKs.
8881
a2fc3e63
NF
88822011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8883
8884 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8885 not tree_common.
8886
0957c029
JJ
88872011-05-25 Jakub Jelinek <jakub@redhat.com>
8888
8889 * c-common.c (def_fn_type): Remove extra va_end.
8890
828fb3ba
JM
88912011-05-23 Jason Merrill <jason@redhat.com>
8892
8893 PR c++/48106
8894 * c-common.c (c_common_get_narrower): New.
8895 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8896
dde05067
NF
88972011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8898
8899 * c-common.h (check_function_arguments): Tweak prototype of
8900 check_function_arguments.
8901 * c-common.c (check_function_arguments): Likewise. Adjust
8902 calls to check_function_nonnull, check_function_format, and
8903 check_function_sentinel.
8904 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8905 separate attributes and typelist arguments. Use
8906 FOREACH_FUNCTION_ARGS to iterate over argument types.
8907
3c0d13bf
PC
89082011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8909
8910 * c-common.c (c_common_reswords): Reorder.
8911 * c-common.h (rid): Likewise.
8912
8242dd04
NF
89132011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8914
8915 * c-common.c (def_fn_type): Don't call build_function_type, call
8916 build_function_type_array or build_varargs_function_type_array
8917 instead.
8918 (c_common_nodes_and_builtins): Likewise.
8919
3d528853
NF
89202011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8921
8922 * c-common.c (c_add_case_label): Omit the loc argument to
8923 build_case_label.
8924 * c-common.h (build_case_label): Remove.
8925 * c-semantics.c (build_case_label): Remove.
8926
a04a722b
JM
89272011-05-05 Joseph Myers <joseph@codesourcery.com>
8928
8929 * c-objc.h (objc_start_method_definition): Update prototype.
8930 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8931
e19a18d4
NF
89322011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8933
8934 * c-common.c (check_main_parameter_types): Reindent. Don't use
8935 TYPE_ARG_TYPES directly.
8936 (handle_nonnull_attribute): Likewise.
8937 (sync_resolve_params): Likewise.
8938 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8939 to check_format_string.
8940 (handle_format_attribute): Likewise.
8941 (check_format_string): Take a function type to examine instead of
8942 a type list. Use a function_arg_iterator to step through argument
8943 types.
8944
c62c040f
RG
89452011-05-04 Richard Guenther <rguenther@suse.de>
8946
8947 * c-common.c (fix_string_type): Use size_int for index type bounds.
8948 (start_fname_decls): Do not pass NULL to build_int_cst.
8949 (c_init_attributes): Likewise.
8950 * c-lex.c (c_lex_with_flags): Likewise.
8951
c12ff9d8
JM
89522011-04-27 Jason Merrill <jason@redhat.com>
8953
8954 * c-common.c (make_tree_vector_from_list): New.
8955 * c-common.h: Declare it.
8956
304dfbe3
RG
89572011-04-26 Richard Guenther <rguenther@suse.de>
8958
8959 PR preprocessor/48248
8960 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8961 for output size with -P.
8962
3c0d13bf
PC
89632011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8964
8965 * c-common.c (struct c_common_resword): Add __underlying_type.
8966 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8967
04695783
JM
89682011-04-20 Jim Meyering <meyering@redhat.com>
8969
8970 * c-format.c (init_dollar_format_checking): Remove useless
8971 if-before-free.
8972
0dc33c3c
NP
89732011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8974
8975 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8976 (objc_detect_field_duplicates): New.
0dc33c3c 8977 * stub-objc.c: Likewise.
3c0d13bf 8978
c59633d9
NP
89792011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8980
8981 * stub-objc.c (objc_declare_protocols): Renamed to
8982 objc_declare_protocol.
8983 * c-objc.h: Likewise.
3c0d13bf 8984
32dabdaf
NP
89852011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8986
8987 * stub-objc.c (objc_declare_class): Updated argument name.
8988
81f653d6
NF
89892011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8990
8991 * c-common.h (c_common_init_ts): Declare.
8992 * c-common.c (c_common_init_ts): Define.
8993
eb345401
NP
89942011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8995
8996 * c-objc.h (objc_build_message_expr): Updated prototype.
8997 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8998
a358e188
MJ
89992011-04-12 Martin Jambor <mjambor@suse.cz>
9000
9001 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9002 of cgraph_node.
9003
e6313a78
RG
90042011-04-11 Richard Guenther <rguenther@suse.de>
9005
9006 * c-common.c (complete_array_type): Build a range type of
9007 proper type.
9008
dcf0c47e
NF
90092011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9010
9011 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9012 (handle_type_generic_attribute): Likewise.
9013
1ee44b26
JM
90142011-04-07 Jason Merrill <jason@redhat.com>
9015
9016 PR c++/48450
9017 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9018 conversion from C++0x scoped enum.
9019
acce4e77
JM
90202011-04-06 Joseph Myers <joseph@codesourcery.com>
9021
9022 * c-target-def.h: New file.
9023 * c-target.def: New file.
9024 * c-target.h: New file.
9025 * c-common.c (targetcm): Don't define here.
9026 * c-common.h (default_handle_c_option): Declare.
9027 * c-format.c: Include c-target.h instead of target.h.
9028 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9029 include tm.h.
9030 (default_handle_c_option): Move from targhooks.c.
9031
e2eefb55
JJ
90322011-03-29 Jakub Jelinek <jakub@redhat.com>
9033
9034 PR preprocessor/48248
9035 * c-ppoutput.c (print): Add src_file field.
9036 (init_pp_output): Initialize it.
9037 (maybe_print_line): Don't optimize by adding up to 8 newlines
9038 if map->to_file and print.src_file are different file.
9039 (print_line): Update print.src_file.
9040
ba78087b
KT
90412011-03-25 Kai Tietz <ktietz@redhat.com>
9042
9043 * c-ada-spec.c (compare_comment): Use filename_cmp
9044 instead of strcmp for filename.
9045
0edf1bb2
JL
90462011-03-25 Jeff Law <law@redhat.com>
9047
adfac8df 9048 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9049
c7dc8804
JM
90502011-03-25 Jason Merrill <jason@redhat.com>
9051
9052 * c.opt: Add -std=c++03.
9053
d1d879b1
EB
90542011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9055
9056 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9057
3f8257db 90582011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9059
9060 PR target/12171
5050afdf
KT
9061 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9062 Display allowed attributes for function pointer types.
9063 (pp_c_attributes_display): New function to display
9064 attributes having affects_type_identity flag set to true.
9065 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9066
62d784f7
KT
9067 * c-common.c (c_common_attribute_table):
9068 Add new element.
9069 (c_common_format_attribute_table): Likewise.
9070
82d37118
JM
90712011-03-18 Jason Merrill <jason@redhat.com>
9072
49a000c3
JM
9073 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9074 * c-common.h: Don't declare it here.
9075 * c-common.c: Or define it here.
9076 * c-opts.c (c_common_handle_option): Or set it here.
9077
82d37118
JM
9078 PR c++/35315
9079 * c-common.c (handle_transparent_union_attribute): Don't
9080 make a duplicate type in C++.
9081
17bc631c
JM
90822011-03-15 Jason Merrill <jason@redhat.com>
9083
9084 * c-common.c (max_constexpr_depth): New.
9085 * c-common.h: Declare it.
9086 * c-opts.c (c_common_handle_option): Set it.
9087 * c.opt (fconstexpr-depth): New option.
9088
1b9b91a6
JM
90892011-03-11 Jason Merrill <jason@redhat.com>
9090
f231b5ff
JM
9091 * c-common.c (attribute_takes_identifier_p): Add missing const.
9092
1b9b91a6
JM
9093 PR c++/46803
9094 * c-common.c (attribute_takes_identifier_p): Assume that an
9095 unknown attribute takes an identifier.
9096
a19e4d44
NF
90972011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9098
9099 PR c/47786
9100 * c-common.c (c_type_hash): Call list_length instead of iterating
9101 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9102
982d62f6
JJ
91032011-02-19 Jakub Jelinek <jakub@redhat.com>
9104
9105 PR c/47809
9106 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9107
0a256240
NP
91082011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9109
9110 * c.opt (fobjc-abi-version=) New.
9111 (fobjc-nilcheck): New.
9112
ba9e6dd5
NF
91132011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9114
9115 PR c++/46890
9116 * c-common.h (keyword_is_decl_specifier): Declare.
9117 * c-common.c (keyword_is_decl_specifier): Define.
9118 (keyword_is_function_specifier): New function.
9119
7273813a
JJ
91202011-01-26 Jakub Jelinek <jakub@redhat.com>
9121
9122 PR c/47473
9123 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9124 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9125 REAL_TYPE.
9126
908ef79b
AC
91272011-01-26 Arnaud Charlet <charlet@adacore.com>
9128
9129 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9130
237e9384
JJ
91312011-01-26 Jakub Jelinek <jakub@redhat.com>
9132
9133 PR pch/47430
9134 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9135 after init_c_lex if pch_file is set.
9136
47ea1edf
DK
91372011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9138
d4dba752 9139 PR c++/43601
47ea1edf
DK
9140 * c.opt (-fkeep-inline-dllexport): New switch.
9141
2aa9c6ae
RG
91422011-01-12 Richard Guenther <rguenther@suse.de>
9143
9144 PR middle-end/32511
9145 * c-common.c (handle_weak_attribute): Warn instead of error
9146 on declaring an inline function weak.
9147
7bd11157
TT
91482011-01-05 Tom Tromey <tromey@redhat.com>
9149
9150 * c-common.h (lvalue_error): Update.
9151 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9152 not error.
9153
0e66e494 91542010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9155
b4f588c4
NP
9156 PR objc/47075
9157 * c-objc.h (objc_finish_message_expr): Added argument to
9158 prototype.
9159
f4da8dce
NF
91602010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9161
9162 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9163 Use prototype_p.
9164
46270f14
NP
91652010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9166
9167 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9168 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9169
4816c593
NF
91702010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9171
9172 * c-common.h (readonly_error): Declare.
9173 * c-common.c (readonly_error): Define.
9174
7a6daeb0
NF
91752010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9176
9177 * c-common.h (invalid_indirection_error): Declare.
9178 * c-common.c (invalid_indirection_error): Define.
9179
892f6119
RG
91802010-12-03 Richard Guenther <rguenther@suse.de>
9181
9182 PR c/46745
9183 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9184 (pp_c_unary_expression): Likewise.
9185 (pp_c_expression): Likewise.
9186
6c39e757
NP
91872010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9188
9189 * c-common.h (objc_finish_function): New.
9190 (objc_non_volatilized_type): Removed.
9191 (objc_type_quals_match): Removed.
9192 * stub-objc.c (objc_finish_function): New.
9193 (objc_non_volatilized_type): Removed.
9194 (objc_type_quals_match): Removed.
9faeb493 9195
7c475d11
JM
91962010-11-30 Joseph Myers <joseph@codesourcery.com>
9197
9198 * c-common.h (parse_optimize_options): Declare.
9199 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9200 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9201
71f3e391
JM
92022010-11-29 Joseph Myers <joseph@codesourcery.com>
9203
9204 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9205 GET_ENVIRONMENT.
9206 * c-pch.c (O_BINARY): Don't define here.
9207 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9208
d5fabb58
JM
92092010-11-25 Joseph Myers <joseph@codesourcery.com>
9210
9211 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9212 targetm.except_unwind_info.
9213
299404a1
JM
92142010-11-23 Joseph Myers <joseph@codesourcery.com>
9215
9216 * c-opts.c (c_common_handle_option): Pass location to
9217 set_struct_debug_option.
9218
c98cd5bf
JM
92192010-11-23 Joseph Myers <joseph@codesourcery.com>
9220
9221 * c-common.c (visibility_options): Move from ../opts.c.
9222 * c-common.h (struct visibility_flags, visibility_options):
9223 Declare here.
9224 * c-opts.c (finish_options): Rename to c_finish_options.
9225 (c_common_init): Update call to finish_options.
9226
a9546771
NP
92272010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9228
9229 PR objc/34033
9230 * c-lex.c (lex_string): Check that each string in an Objective-C
9231 string concat sequence starts with either one or zero '@', and
9232 that there are no spurious '@' signs at the end.
9233
24a57808
JM
92342010-11-20 Joseph Myers <joseph@codesourcery.com>
9235
9236 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9237 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9238 HANDLE_PRAGMA_VISIBILITY.
9239 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9240 HANDLE_PRAGMA_VISIBILITY): Don't define.
9241 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9242
a9aa2c3a
NF
92432010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9244
9245 PR c++/16189
9246 PR c++/36888
9247 PR c++/45331
9248 * c-common.h (keyword_begins_type_specifier): Declare.
9249 (keyword_is_storage_class_specifier): Declare.
9250 (keyword_is_type_qualifier): Declare.
9251 * c-common.c (keyword_begins_type_specifier): New function.
9252 (keyword_is_storage_class_specifier): New function.
9253 (keyword_is_type_qualifier): Declare.
9254
5386338c
JM
92552010-11-19 Joseph Myers <joseph@codesourcery.com>
9256
9257 PR c/46547
9258 * c-common.c (in_late_binary_op): Define.
9259 (c_common_truthvalue_conversion): Check in_late_binary_op before
9260 calling c_save_expr.
9261 * c-common.h (in_late_binary_op): Declare.
9262
69ccdddb
JM
92632010-11-19 Joseph Myers <joseph@codesourcery.com>
9264
9265 * c-opts.c (c_common_handle_option): Update calls to
9266 set_struct_debug_option.
9267
6b192a09
NP
92682010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9269
9270 * c-common.h (objc_declare_protocols): Added additional argument.
9271 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 9272
fb52b50a
NF
92732010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9274
9275 PR c/33193
9276 * c-common.h (build_real_imag_expr): Declare.
9277 * c-semantics.c (build_real_imag_expr): Define.
9278
b37421c6
JM
92792010-11-17 Joseph Myers <joseph@codesourcery.com>
9280
9281 * c-opts.c (c_common_parse_file): Take no arguments.
9282 * c-common.h (c_common_parse_file): Update prototype.
9283
07078664
JJ
92842010-11-16 Jakub Jelinek <jakub@redhat.com>
9285
9286 PR c++/46401
9287 * c-common.c (warning_candidate_p): Don't track non-const calls
9288 or STRING_CSTs.
9289
c6a13190
ILT
92902010-11-15 Ian Lance Taylor <iant@google.com>
9291
9292 * c-lex.c (init_c_lex): Set macro debug callbacks if
9293 flag_dump_go_spec is set.
9294
925e8657
NP
92952010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9296
9297 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9298 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9299
bb0a9581
NF
93002010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9301
9302 PR preprocessor/45038
9303 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9304 dialects.
9305
c5fa0890
JM
93062010-11-12 Joseph Myers <joseph@codesourcery.com>
9307
9308 * c-common.h (c_family_lang_mask): Declare.
9309 * c-opts.c (c_family_lang_mask): Make extern.
9310 * c-pragma.c (handle_pragma_diagnostic): Use
9311 control_warning_option.
9312
a4d8c676
JM
93132010-11-12 Joseph Myers <joseph@codesourcery.com>
9314
9315 * c-common.c (parse_optimize_options): Update call to
9316 decode_options.
9317 * c-common.h (c_common_handle_option): Update prototype.
9318 * c-opts.c (c_common_handle_option): Take location_t parameter and
9319 pass it to other functions.
9320
f954bd2c
JM
93212010-11-11 Joseph Myers <joseph@codesourcery.com>
9322
9323 * c-opts.c (warning_as_error_callback): Remove.
9324 (c_common_initialize_diagnostics): Don't call
9325 register_warning_as_error_callback.
9326 (c_common_handle_option): Handle -Werror=normalized= here.
9327
d8a07487
JM
93282010-11-10 Joseph Myers <joseph@codesourcery.com>
9329
9330 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
9331 in diagnostic.
9332 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9333 letter.
9334 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9335 Remove trailing '.' from diagnostics.
9336 * c.opt (Wwrite-strings_: Avoid '`' in help text.
9337
d5478783
JM
93382010-11-10 Joseph Myers <joseph@codesourcery.com>
9339
9340 * c-common.c (parse_optimize_options): Pass global_dc to
9341 decode_options.
9342 * c-opts.c (c_common_handle_option): Pass &global_options to
9343 set_Wstrict_aliasing.
9344 * c.opt (v): Don't mark Common or document here.
9345
91ebb981
IS
93462010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9347
9348 PR target/44981
9349 * c-format.c (format_type): New type gcc_objc_string_format_type.
9350 (valid_stringptr_type_p): New.
9351 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9352 (check_format_string): Pass expected type, use
91ebb981
IS
9353 valid_stringptr_type_p (), check that the format string types are
9354 consistent with the format specification.
9355 (decode_format_attr): Warn if NSString is used outside objective-c.
9356 (format_types_orig): Add NSString.
9357 (format_name): New.
9358 (format_flags): New.
9359 (check_format_arg): Handle format strings requiring an external parser.
9360 first_target_format_type: New variable.
9361 (handle_format_attribute): Set up first_target_format_type, pass the
9362 expected format arg string type to check_format_string().
9363 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
9364 * stub-objc.c (objc_string_ref_type_p): New.
9365 (objc_check_format_arg): New.
9366
bede2adc
NP
93672010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
9368
9faeb493 9369 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
9370 * c-common.h (objc_build_class_component_ref): New.
9371 * stub-objc.c (objc_build_class_component_ref): New.
9372
9a179d01
NP
93732010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9374
9375 * c.opt (Wproperty-assign-default): New option.
9376
22d8d616
NP
93772010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9378
9379 Implemented -fobjc-std=objc1 flag.
9380 * c.opt (fobjc-std=objc1): New option.
9381
2debdb4f
NP
93822010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
9383
9384 Implemented format and noreturn attributes for Objective-C methods.
9385 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9386 attribute for Objective-C methods.
9387
ec52b111
JM
93882010-10-31 Jason Merrill <jason@redhat.com>
9389
9390 * c-common.c (conversion_warning, warn_for_collisions_1): Use
9391 EXPR_LOC_OR_HERE.
9392
46a88c12
NP
93932010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
9394
9395 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9396 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9397 (objc_add_property_declaration): Removed arguments for copies and
9398 ivar.
9399 (objc_build_getter_call): Renamed to
9400 objc_maybe_build_component_ref.
9401 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9402 (objc_is_property_ref): New.
9403 * c-common.c (c_common_reswords): Removed copies and ivar.
9404 * stub-objc.c (objc_add_property_declaration): Removed arguments
9405 for copies and ivar.
9406 (objc_build_getter_call): Renamed to
9407 objc_maybe_build_component_ref.
9408 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9409 (objc_is_property_ref): New.
9faeb493 9410
1e4bf85b
AC
94112010-10-29 Arnaud Charlet <charlet@adacore.com>
9412 Matthew Gingell <gingell@adacore.com>
9413
9414 * c-ada-spec.c (separate_class_package): New function.
9415 (pp_ada_tree_identifier): Prefix references to C++ classes with the
9416 name of their enclosing package.
9417 (print_ada_declaration): Use separate_class_package.
9418
81f0bab2
JM
94192010-10-27 Jason Merrill <jason@redhat.com>
9420
2b08f2c5
JM
9421 * c-common.c (c_common_reswords): Add __is_literal_type.
9422 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9423
81f0bab2
JM
9424 * c-common.c (check_case_value): Remove special C++ code.
9425
200290f2
NP
94262010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9427
9428 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9429 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
9430 and RID_LAST_PATTR.
9431 (objc_add_property_declaration): Added additional arguments.
9432 (objc_property_attribute_kind): Removed.
9433 (objc_set_property_attr): Removed.
9434 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
9435 copy and nonatomic.
9436 * stub-objc.c (objc_add_property_declaration): Added additional
9437 arguments.
9438 (objc_set_property_attr): Removed.
9faeb493 9439
f614132b
NP
94402010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9441
9442 * c-common.h (objc_add_property_variable): Renamed to
9443 objc_add_property_declaration. Added location argument.
9444 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 9445
b8a18805
NP
94462010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
9447
9448 * c-common.h (objc_maybe_printable_name): New.
9449 * stub-objc.c (objc_maybe_printable_name): New.
9450
3f8257db
JJ
94512010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9452 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
9453
9454 * c-common.h (c_common_mark_addressable_vec): Declare.
9455 * c-common.c (c_common_mark_addressable_vec): New function.
9456
249a82c4
NP
94572010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9458
9459 * c-common.h (objc_set_method_type): Removed.
9460 (objc_add_method_declaration): Added boolean argument.
9461 (objc_start_method_definition): Same change.
9462 (objc_build_method_signature): Same change.
9463 * stub-objc.c (objc_set_method_type): Removed.
9464 (objc_add_method_declaration): Added boolean argument.
9465 (objc_start_method_definition): Same change.
9466 (objc_build_method_signature): Same change.
9467
977e30bc
NP
94682010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9469
9470 * c-common.h (finish_file): Removed.
9471 (objc_write_global_declarations): New.
9472 * c-opts.c (c_common_parse_file): Do not call finish_file.
9473 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 9474
da57d1b9
NP
94752010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9476
9477 Implemented parsing @synthesize and @dynamic for
9478 Objective-C/Objective-C++.
9479 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9480 (objc_add_synthesize_declaration): New.
9481 (objc_add_dynamic_declaration): New.
9482 * c-common.c (c_common_reswords): Add synthesize and dynamic.
9483 * stub-objc.c (objc_add_synthesize_declaration): New.
9484 (objc_add_dynamic_declaration): New.
9faeb493 9485
0069111f
MM
94862010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9487
9488 PR target/46041
9489 * c-cppbuiltin.c (mode_has_fma): Move function here from
9490 builtins.c. Don't use the fma optab, instead just use the
9491 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9492 using -save-temps.
9493
e426b47b
NP
94942010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9495
9496 Merge from 'apple/trunk' branch on FSF servers.
0069111f 9497
3f8257db 9498 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 9499
9faeb493 9500 Radar 4330422
e426b47b
NP
9501 * c-common.h (objc_non_volatilized_type): New declaration
9502 * stub-objc.c (objc_non_volatilized_type): New stub.
9503
90fbfdc3
NP
95042010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
9505
e426b47b 9506 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 9507
3f8257db 9508 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 9509
9faeb493 9510 Radar 4133425
90fbfdc3 9511 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 9512 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 9513
c37d8c30
IS
95142010-10-17 Iain Sandoe <iains@gcc.gnu.org>
9515
9516 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9517 * c-common.h (enum rid): Add RID_AT_PACKAGE.
9518 (objc_ivar_visibility_kind): New enum.
9519 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 9520 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
9521 visibility enum.
9522
1b1562a5
MM
95232010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9524
9525 * c-cppbuiltin.c (builtin_define_float_constants): Emit
9526 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
9527 has the appropriate fma builtins.
9528 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
9529
668ea4b1
IS
95302010-10-14 Iain Sandoe <iains@gcc.gnu.org>
9531
1b1562a5 9532 merge from FSF apple 'trunk' branch.
3f8257db 9533 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 9534
668ea4b1
IS
9535 Radars 4436866, 4505126, 4506903, 4517826
9536 * c-common.c (c_common_resword): Define @property and its attributes.
9537 * c-common.h: Define property attribute enum entries.
9538 (OBJC_IS_PATTR_KEYWORD): New.
9539 (objc_property_attribute_kind): New enum.
9540 Declare objc_set_property_attr (), objc_add_property_variable (),
9541 objc_build_getter_call () and objc_build_setter_call ().
9542 * stub-objc.c (objc_set_property_attr): New stub.
9543 (objc_add_property_variable): Likewise.
9544 (objc_build_getter_call): Likewise.
9545 (objc_build_setter_call) Likewise.
1b1562a5 9546
a1178b30
IS
95472010-10-13 Iain Sandoe <iains@gcc.gnu.org>
9548
1b1562a5 9549 merge from FSF apple 'trunk' branch.
3f8257db 9550 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
9551
9552 Radar 3803157 (method attributes)
9553 * c-common.c (handle_deprecated_attribute): Recognize
9554 objc methods as valid declarations.
9555 * c-common.h: Declare objc_method_decl ().
1b1562a5 9556 * stub-objc.c (objc_method_decl): New stub.
a1178b30 9557
a75bfaa6
JM
95582010-10-08 Joseph Myers <joseph@codesourcery.com>
9559
9560 * c-common.c (parse_optimize_options): Call
9561 decode_cmdline_options_to_array_default_mask before
9562 decode_options. Update arguments to decode_options.
9563 * c-common.h (c_common_init_options_struct): Declare.
9564 * c-opts.c (c_common_init_options_struct): New. Split out from
9565 c_common_init_options.
9566
f05b9d93
NP
95672010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
9568
9569 Implemented fast enumeration for Objective-C.
9570 * c-common.h (objc_finish_foreach_loop): New.
9571 * stub-objc.c (objc_finish_foreach_loop): New.
9572
1ebe4b4f
JM
95732010-10-05 Joseph Myers <joseph@codesourcery.com>
9574
9575 * c-common.h (struct diagnostic_context): Don't declare here.
9576 (c_common_initialize_diagnostics): Declare using
9577 diagnostic_context typedef.
9578 * c-opts.c (c_common_handle_option): Pass global_dc to
9579 handle_generated_option.
9580
d4d24ba4
JM
95812010-10-04 Joseph Myers <joseph@codesourcery.com>
9582
9583 * c-opts.c (c_common_handle_option): Pass &global_options_set to
9584 handle_generated_option.
9585
478a1c5b
ILT
95862010-10-03 Ian Lance Taylor <iant@google.com>
9587
9588 * c.opt (-fplan9-extensions): New option.
9589
82a1c2fe
FXC
95902010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9591
9592 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
9593 Remove.
9594 (c_cpp_builtins): Call functions from cppbuiltin.c instead
9595 of duplicating code.
9596
92902b1b
IS
95972010-09-30 Iain Sandoe <iains@gcc.gnu.org>
9598
9599 * c-common.c: Add two new entries for @optional
9600 and @required keywords.
9601
9602 merge from FSF 'apple/trunk' branch.
3f8257db 9603 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
9604
9605 Radar 4386773
9606 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
9607 objective-c keywords.
9608 (objc_set_method_opt): New declaration.
9609 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 9610
46625112
JM
96112010-09-30 Joseph Myers <joseph@codesourcery.com>
9612
9613 * c-common.c (handle_optimize_attribute): Pass &global_options to
9614 cl_optimization_save and cl_optimization_restore.
9615 * c-opts.c (c_common_handle_option): Pass &global_options to
9616 handle_generated_option.
9617 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
9618 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
9619 &global_options to cl_optimization_restore.
9620
49b91f05
NP
96212010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
9622
9623 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
9624 Objective-C/Objective-C++ keywords.
9625
13ed556f 96262010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 9627
9faeb493
UB
9628 Merge from 'apple/trunk' branch on FSF servers.
9629
3f8257db 9630 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
9631
9632 Radar 4281748
9633 * c-common.h (objc_check_global_decl): New declaration.
9634 * stub-objc.c (objc_check_global_decl): New stub.
9635
f0036cca
JM
96362010-09-29 Joseph Myers <joseph@codesourcery.com>
9637
9638 * c.opt: Don't use VarExists.
9639
e3339d0f
JM
96402010-09-29 Joseph Myers <joseph@codesourcery.com>
9641
9642 * c-common.c (c_cpp_error): Update names of diagnostic_context
9643 members.
9644 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
9645 cl_optimization members.
9646 * c-opts.c (warning_as_error_callback, c_common_handle_option,
9647 sanitize_cpp_opts, finish_options): Update names of cpp_options
9648 members.
9649
1973201f
NP
96502010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
9651
9652 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
9653 (objc_is_reserved_word): Removed.
9654 * c-common.c: Updated comments.
9655 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
9656 objc_is_reserved_word.
9657 * stub-objc.c (objc_is_reserved_word): Removed.
9658
f7e71da5
IS
96592010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9660
9faeb493 9661 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
9662 include attributes.
9663 (objc_start_method_definition): Likewise.
9664 (objc_build_keyword_decl): Likewise.
9665 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
9666 (objc_start_method_definition): Likewise.
9667 (objc_build_keyword_decl): Likewise.
9668
c165dca7
IS
96692010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9670
9671 * c-common.h (objc_start_class_interface): Adjust prototype.
9672 (objc_start_category_interface): Likewise.
9673 (objc_start_protocol): Likewise.
9674 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
9675 (objc_start_class_interface): Likewise.
9676 (objc_start_category_interface): Likewise.
9677
7458026b
ILT
96782010-09-27 Ian Lance Taylor <iant@google.com>
9679
9680 * c-common.c (c_common_attribute_table): Add no_split_stack.
9681 (handle_no_split_stack_attribute): New static function.
9682
b581b85b
NP
96832010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
9684
9faeb493 9685 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 9686
3f8257db 9687 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 9688
9faeb493 9689 Radar 4229905
b581b85b
NP
9690 * c-common.h (objc_have_common_type): New declaration.
9691 * stub-objc.c (objc_have_common_type): New stub.
9692
9693 2005-06-22 Ziemowit Laski <zlaski@apple.com>
9694
9695 Radar 4154928
9696 * c-common.h (objc_common_type): New prototype.
9faeb493 9697 * stub-objc.c (objc_common_type): New stub.
b581b85b 9698
46a4da10
JH
96992010-09-24 Jan Hubicka <jh@suse.cz>
9700
9701 * c-common.c (handle_leaf_attribute): New function.
9702 (struct attribute_spec c_common_att): Add leaf.
9703
e200444e
JM
97042010-09-22 Joseph Myers <joseph@codesourcery.com>
9705
9706 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
9707 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
9708 -dump, -dump=, -imacros, -imacros=, -include, -include=,
9709 -include-barrier, -include-directory, -include-directory=,
9710 -include-directory-after, -include-directory-after=,
9711 -include-prefix, -include-prefix=, -include-with-prefix,
9712 -include-with-prefix=, -include-with-prefix-after,
9713 -include-with-prefix-after=, -include-with-prefix-before,
9714 -include-with-prefix-before=, -no-integrated-cpp,
9715 -no-line-commands, -no-standard-includes, -no-warnings, -output,
9716 -output=, -pedantic, -pedantic-errors, -preprocess,
9717 -print-missing-file-dependencies, -trace-includes, -traditional,
9718 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9719 -user-dependencies, -verbose, -write-dependencies,
9720 -write-user-dependencies, no-integrated-cpp, traditional): New.
9721
29a80ea6
NP
97222010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9723
9724 PR objc/23710
ac1fc2fc
NP
9725 * c-common.h (objc_start_method_definition): Return bool instead
9726 of void.
9727 * stub-objc.c (objc_start_method_definition): Return bool instead
9728 of void.
9729
97302010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9731
9732 PR objc/25965
9733 * c-common.h (objc_get_interface_ivars): New declaration.
9734 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 9735
de621752
ILT
97362010-09-15 Ian Lance Taylor <iant@google.com>
9737
9738 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 9739 messages. Remove period at end of warning message.
de621752 9740
ba885ec5
NS
97412010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9742
9743 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9744 (handle_alias_attribute): ... here.
9745 (handle_ifunc_attribute): New.
9746
c5ee1358
MM
97472010-09-06 Mark Mitchell <mark@codesourcery.com>
9748
9749 * c-common.h (do_warn_double_promotion): Declare.
9750 * c-common.c (do_warn_double_promotion): Define.
9751
0a0b3574
MM
97522010-09-05 Mark Mitchell <mark@codesourcery.com>
9753
9754 * c.opt (Wdouble-promotion): New.
9755
d1779886
JM
97562010-09-02 Joseph Myers <joseph@codesourcery.com>
9757
9758 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9759 fvtable-thunks, fxref): Mark no longer supported in help text.
9760
2d2bd949
JM
97612010-09-02 Joseph Myers <joseph@codesourcery.com>
9762
9763 * c.opt (Wimport, fall-virtual, falt-external-templates,
9764 fdefault-inline, fenum-int-equiv, fexternal-templates,
9765 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9766 fname-mangling-version-, fnew-abi, fnonnull-objects,
9767 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9768 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9769 applicable.
9770 (fhandle-exceptions): Mark with Alias and Warn.
9771 * c-opts.c (c_common_handle_option): Don't handle options marked
9772 as ignored.
9773
5de8299c
JM
97742010-09-02 Joseph Myers <joseph@codesourcery.com>
9775
9776 * c.opt (Wcomments, Werror-implicit-function-declaration,
9777 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9778 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9779 aliases.
9780 * c-common.c (option_codes): Use OPT_Wcomment instead of
9781 OPT_Wcomments.
9782 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9783 Don't handle options marked as aliases.
9784
0ceb0201
RG
97852010-08-25 Richard Guenther <rguenther@suse.de>
9786
9787 * c-common.c (c_common_get_alias_set): Remove special
9788 handling for pointers.
9789
ac47786e
NF
97902010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9791
9792 * c-common.c: Use FOR_EACH_VEC_ELT.
9793 * c-gimplify.c: Likewise.
9794 * c-pragma.c: Likewise.
9795
c878765b
JM
97962010-08-16 Joseph Myers <joseph@codesourcery.com>
9797
9798 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9799 RejectDriver.
9800 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9801 RejectDriver.
9802 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9803 instead of OPT_MDX and OPT_MMDX.
9804
603349bf
JM
98052010-08-16 Joseph Myers <joseph@codesourcery.com>
9806
9807 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9808
644fa7ac
JM
98092010-08-12 Joseph Myers <joseph@codesourcery.com>
9810
9811 * c.opt (MD, MMD): Change to MDX and MMDX.
9812 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9813
481e1176
JM
98142010-08-11 Joseph Myers <joseph@codesourcery.com>
9815
9816 * c-opts.c (c_common_handle_option): Call handle_generated_option
9817 instead of handle_option.
9818
ac8dc9f7
NF
98192010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9820
9821 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9822 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9823
4f8c876d
NF
98242010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9825
9826 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9827 (pending_redefine_extname): Change type to a VEC.
9828 (add_to_renaming_pragma_list): Update for new type of
9829 pending_redefine_extname.
ac8dc9f7 9830 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9831
3b0c690e
AC
98322010-08-04 Arnaud Charlet <charlet@adacore.com>
9833
9834 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9835 visited.
9836 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9837 decide whether a type has already been declared/seen.
9838 Do not go to the original type.
9839 (dump_nested_types): New parameter forward.
9840 Generate forward declaration if needed and mark type as visited.
9841 (print_ada_declaration): Call dump_nested_types if not already done.
9842 Mark types as visited.
9843
1890bccc
JM
98442010-08-03 Joseph Myers <joseph@codesourcery.com>
9845
9846 * c.opt (-print-pch-checksum): Remove option.
9847 * c-opts.c (c_common_handle_option): Don't handle
9848 OPT_print_pch_checksum.
9849
5f20c657
JM
98502010-07-27 Joseph Myers <joseph@codesourcery.com>
9851
9852 * c-common.h (c_common_handle_option): Update prototype and return
9853 value type.
9854 * c-opts.c (c_common_handle_option): Update prototype and return
9855 value type. Update calls to handle_option and
9856 enable_warning_as_error.
9857
f551f80c
JJ
98582010-07-27 Jakub Jelinek <jakub@redhat.com>
9859
9860 PR c/45079
9861 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9862
61ff2bdc
JM
98632010-07-27 Joseph Myers <joseph@codesourcery.com>
9864
9865 * c-common.h (c_common_missing_argument): Remove.
9866 * c-opts.c (c_common_missing_argument): Remove.
9867 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9868 idirafter, imacros, include, isysroot, isystem, iquote): Add
9869 MissingArgError.
9870 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9871
7a9bf9a4
JM
98722010-07-27 Joseph Myers <joseph@codesourcery.com>
9873
9874 * c-common.h (c_common_option_lang_mask,
9875 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9876 New.
9877 (c_common_init_options): Update prototype.
9878 * c-opts.c (c_common_option_lang_mask): New.
9879 (c_common_initialize_diagnostics): Split out of
9880 c_common_init_options.
9881 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9882 New.
9883 (c_common_init_options): Update prototype. Use decoded options in
9884 search for -lang-asm.
9885
910ad8de
NF
98862010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9887
9888 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9889 * c-format.c: Likewise.
9890
718f9c0f
MLI
98912010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9892
9893 * c-common.h: Include diagnostic-core.h. Error if already
9894 included.
9895 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9896
4d451982
MLI
98972010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9898
adfac8df 9899 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9900 Do not include expr.h
9901 (vector_mode_valid_p): Move here.
9902
119fe915
SB
99032010-06-21 DJ Delorie <dj@redhat.com>
9904
9905 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9906 allow these pragmas anywhere.
9907
99082010-06-14 Jakub Jelinek <jakub@redhat.com>
9909
9910 PR bootstrap/44509
9911 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9912 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9913 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9914 ggc_strdup instead of xstrdup.
9915
99162010-06-10 Jakub Jelinek <jakub@redhat.com>
9917
9918 * c-cppbuiltin.c: Include cpp-id-data.h.
9919 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9920 (lazy_hex_fp_value): New function.
9921 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9922
6662d794
MLI
99232010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9924
9925 * c-gimplify.c: Do not include tree-flow.h
9926
38f8b050
JR
99272010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9928
9929 PR other/44034
9930 * c-common.c: Rename targetm member:
9931 targetm.enum_va_list -> targetm.enum_va_list_p
9932
9589f23e
AS
99332010-06-28 Anatoly Sokolov <aesok@post.ru>
9934
9935 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9936
3b06d379
SB
99372010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9938
9939 * c-cppbuiltin.c: Do not include except.h.
9940
d166d4c3
AK
99412010-06-24 Andi Kleen <ak@linux.intel.com>
9942
9faeb493
UB
9943 * c-common.c (warn_for_omitted_condop): New.
9944 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9945
70cb8be6
JM
99462010-06-21 Joseph Myers <joseph@codesourcery.com>
9947
9948 * c.opt (lang-objc): Remove.
9949 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9950
a4c97feb
JR
99512010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9952
9953 * c-opts.c: Include "tm_p.h".
9954
6e2f1956
JM
99552010-06-20 Joseph Myers <joseph@codesourcery.com>
9956
9957 * c-common.c (parse_optimize_options): Update call to
9958 decode_options.
9959
bc87224e
NF
99602010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9961
9962 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9963 new type of types_used_by_cur_var_decl.
9964
b49cf425
JR
99652010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9966
9967 PR bootstrap/44512
9968 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9969 for C++ standard compliance.
9970
59f9c2ed
JM
99712010-06-16 Jason Merrill <jason@redhat.com>
9972
9973 * c.opt: Add -Wnoexcept.
9974
33766b66
RG
99752010-06-16 Richard Guenther <rguenther@suse.de>
9976
9977 PR c/44555
9978 * c-common.c (c_common_truthvalue_conversion): Remove
9979 premature and wrong optimization concering ADDR_EXPRs.
9980
eff7e30c
AC
99812010-06-15 Arnaud Charlet <charlet@adacore.com>
9982
9983 * c-ada-spec.c (dump_sloc): Remove column info.
9984 (is_simple_enum): New function.
9985 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9986 enum types when relevant.
9987
6312e84d
MLI
99882010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9989
9faeb493 9990 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9991 location.
9992
1cb42611
JM
99932010-06-10 Joseph Myers <joseph@codesourcery.com>
9994
9995 * c-opts.c (c_common_handle_option): Don't handle
9996 OPT_fshow_column.
9997
a9429e29
LB
99982010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9999
10000 * c-pragma.c (push_alignment): Use typed GC allocation.
10001 (handle_pragma_push_options): Likewise.
10002
10003 * c-common.c (parse_optimize_options): Likewise.
10004
10005 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10006 option.
10007
5498f011
JM
100082010-06-07 Joseph Myers <joseph@codesourcery.com>
10009
10010 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10011 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10012 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10013 flag_signed_bitfields, warn_strict_null_sentinel,
10014 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10015 flag_gen_declaration, flag_no_gnu_keywords,
10016 flag_implement_inlines, flag_implicit_templates,
10017 flag_implicit_inline_templates, flag_optional_diags,
10018 flag_elide_constructors, flag_default_inline, flag_rtti,
10019 flag_conserve_space, flag_access_control, flag_check_new,
10020 flag_new_for_scope, flag_weak, flag_working_directory,
10021 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10022 flag_enforce_eh_specs, flag_threadsafe_statics,
10023 flag_pretty_templates): Remove.
10024 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10025 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10026 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10027 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10028 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10029 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10030 flag_no_gnu_keywords, flag_implement_inlines,
10031 flag_implicit_templates, flag_implicit_inline_templates,
10032 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10033 flag_rtti, flag_conserve_space, flag_access_control,
10034 flag_check_new, flag_new_for_scope, flag_weak,
10035 flag_working_directory, flag_use_cxa_atexit,
10036 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10037 flag_threadsafe_statics, flag_pretty_templates,
10038 warn_strict_null_sentinel): Remove.
10039 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10040 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10041 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10042 fimplicit-inline-templates, fimplicit-templates,
10043 flax-vector-conversions, fms-extensions, fnil-receivers,
10044 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10045 frtti, fshort-double, fshort-enums, fshort-wchar,
10046 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10047 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10048 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10049 gen-decls, undef): Use Var.
10050 (fdefault-inline, foptional-diags): Document as doing nothing.
10051 * c-opts.c (c_common_handle_option): Remove cases for options now
10052 using Var. Mark ignored options as such.
10053
39dabefd
SB
100542010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10055
9faeb493 10056 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10057 * c-common.def: Likewise.
10058 * c-common.h: Likewise.
10059 * c-cppbuiltin.c: Likewise.
10060 * c-dump.c: Likewise.
10061 * c-format.c: Likewise.
10062 * c-format.h : Likewise.
10063 * c-gimplify.c: Likewise.
10064 * c-lex.c: Likewise.
10065 * c-omp.c: Likewise.
10066 * c.opt: Likewise.
10067 * c-opts.c: Likewise.
10068 * c-pch.c: Likewise.
10069 * c-ppoutput.c: Likewise.
10070 * c-pragma.c: Likewise.
10071 * c-pragma.h: Likewise.
10072 * c-pretty-print.c: Likewise.
10073 * c-pretty-print.h: Likewise.
10074 * c-semantics.c: Likewise.
10075 * stub-objc.c: Likewise.
10076
10077 * c-common.c: Include gt-c-family-c-common.h.
10078 * c-pragma.c: Include gt-c-family-c-pragma.h.
10079\f
a5544970 10080Copyright (C) 2010-2019 Free Software Foundation, Inc.
39dabefd
SB
10081
10082Copying and distribution of this file, with or without modification,
10083are permitted in any medium without royalty provided the copyright
10084notice and this notice are preserved.
This page took 3.357453 seconds and 5 git commands to generate.