]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
C/C++: Add -Waddress-of-packed-member
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
da77eace
L
12018-12-20 H.J. Lu <hongjiu.lu@intel.com>
2
3 PR c/51628
4 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
5 * c-warn.c (check_alignment_of_packed_member): New function.
6 (check_address_of_packed_member): Likewise.
7 (check_and_warn_address_of_packed_member): Likewise.
8 (warn_for_address_or_pointer_of_packed_member): Likewise.
9 * c.opt: Add -Wno-address-of-packed-member.
10
573767d4
DM
112018-12-20 David Malcolm <dmalcolm@redhat.com>
12
13 PR c++/87504
14 * c-warn.c (get_outermost_macro_expansion): New function.
15 (spelled_the_same_p): Use it to unwind the macro expansions, and
16 compare the outermost macro in each nested expansion, rather than
17 the innermost.
18
a14feb3c
DM
192018-12-19 David Malcolm <dmalcolm@redhat.com>
20
21 PR c++/87504
22 * c-common.h (warn_tautological_cmp): Convert 1st param from
23 location_t to const op_location_t &.
24 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
25 when testing for INTEGER_CST.
26 (warn_tautological_bitwise_comparison): Convert 1st param from
27 location_t to const op_location_t &; use it to build a
28 binary_op_rich_location, and use this.
29 (spelled_the_same_p): New function.
30 (warn_tautological_cmp): Convert 1st param from location_t to
31 const op_location_t &. Warn for macro expansions if
32 spelled_the_same_p. Use binary_op_rich_location.
33
dfd7fdca
DM
342018-12-19 David Malcolm <dmalcolm@redhat.com>
35
36 PR c++/43064
37 PR c++/43486
38 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
39 (verify_tree): Handle location wrappers.
40 (c_common_truthvalue_conversion): Strip any location wrapper.
41 Handle CONST_DECL.
42 (fold_offsetof): Strip any location wrapper.
43 (complete_array_type): Likewise for initial_value.
44 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
45 index before checking for INTEGER_CST.
46 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
47 print parentheses around location wrappers.
48 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
49 before checking for INTEGER_CST.
50 (warn_tautological_bitwise_comparison): Call
51 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
52 before checking for INTEGER_CST.
53 (readonly_error): Strip any location wrapper.
54 (warn_array_subscript_with_type_char): Strip location wrappers
55 before checking for INTEGER_CST. Use the location of the index if
56 available.
57
5c8b3702
JM
582018-12-06 Jason Merrill <jason@redhat.com>
59
60 PR c++/88136 - -Wdeprecated-copy false positives
61 * c.opt (Wdeprecated-copy-dtor): New.
62 (Wdeprecated-copy): Move to -Wextra.
63
673670da
MS
642018-11-29 Martin Sebor <msebor@redhat.com>
65
66 PR c/88172
67 PR testsuite/88208
68 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
69 alignments to values less than the target requires.
70 (has_attribute): For attribute aligned consider both the attribute
71 and the alignment bits.
72 * c-common.c (c_init_attributes): Optionally issue a warning for
73 zero alignment.
74
04864ec8
MS
752018-11-28 Martin Sebor <msebor@redhat.com>
76
77 PR c/88065
78 PR c/87297
79 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
80 or destination is an error.
81
ace83db0
JJ
822018-11-28 Jakub Jelinek <jakub@redhat.com>
83
84 PR c++/88215
85 * c-ubsan.c: Include langhooks.h.
86 (ubsan_instrument_division): Change gcc_assert that main variants
87 of op0 and op1 types are equal to gcc_checking_assert that the
88 main variants are compatible types.
89
da193a27
EB
902018-11-27 Eric Botcazou <ebotcazou@adacore.com>
91
92 * c-ada-spec.c: Include stringpool.h.
93 (has_static_fields): Return false for incomplete types.
94 (is_tagged_type): Likewise.
95 (has_nontrivial_methods): Likewise.
96 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
97 (struct overloaded_name_hash): New structure.
98 (struct overloaded_name_hasher): Likewise.
99 (overloaded_names): New global variable.
100 (init_overloaded_names): New static function.
101 (overloaded_name_p): New predicate.
102 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
103 on the TYPE_STUB_DECL of the original type of a typedef, if any.
104 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
105 Remove always-true condition and dump forward types.
106 (dump_ada_specs): Delete overloaded_names.
107
98f08eb8
MS
1082018-11-20 Martin Sebor <msebor@redhat.com>
109
110 * c-attribs.c (type_for_vector_size): New function.
111 (type_valid_for_vector_size): Same.
112 (handle_vector_size_attribute): Move code to the functions above
113 and call them.
114 (validate_attribute, has_attribute): New functions.
115 * c-common.h (has_attribute): Declare.
116 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
117 * c-common.c (c_common_resword): Same.
118
2674fa47
JM
1192018-11-16 Jason Merrill <jason@redhat.com>
120
121 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
122 * c-attribs.c (attr_cold_hot_exclusions): Make public.
123
258b3854
JJ
1242018-11-16 Jakub Jelinek <jakub@redhat.com>
125
126 PR middle-end/87854
127 * c-common.c (fix_string_type): Reject string literals larger than
128 TYPE_MAX_VALUE (ssizetype) bytes.
129
1d249509
MS
1302018-11-15 Martin Sebor <msebor@redhat.com>
131
132 PR c++/87541
133 PR c++/87542
134 * c-attribs.c (positional_argument): New function.
135 (handle_alloc_size_attribute): Use it and simplify.
136 (handle_alloc_align_attribute): Same.
137 (handle_assume_aligned_attribute): Same.
138 (handle_nonnull_attribute): Same.
139 * c-common.c (check_function_arguments): Pass fntype to
140 check_function_format.
141 * c-common.h (check_function_format): Add an argument.
142 (PosArgFlags, positional_argument): Declare new type and function.
143 * c-format.c (decode_format_attr): Add arguments.
144 (check_format_string, get_constant): Same.
145 (convert_format_name_to_system_name): Adjust.
146
478dd60d
DM
1472018-11-15 David Malcolm <dmalcolm@redhat.com>
148
149 PR other/19165
150 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
151
8cca0163
JJ
1522018-11-14 Jakub Jelinek <jakub@redhat.com>
153
8ee09943
JJ
154 P1236R1 - Signed integers are two's complement
155 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
156 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
157 with in-range second operand well defined for -std=c++2a.
158
8cca0163
JJ
159 PR other/88007
160 * c-common.c (parse_optimize_options): Allocate option string from
161 opts_obstack rather than as GC memory. Move the allocation after
162 warning for invalid option.
163
620e594b
DM
1642018-11-13 David Malcolm <dmalcolm@redhat.com>
165
166 * c-common.c (c_get_substring_location): Update for renaming of
167 get_source_location_for_substring to get_location_within_string.
168 * c-lex.c: Replace "source_location" with "location_t".
169 * c-opts.c: Likewise.
170 * c-ppoutput.c: Likewise.
171
f9731de3
MS
1722018-11-13 Martin Sebor <msebor@redhat.com>
173
174 PR middle-end/81824
175 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
176 (handle_tls_model_attribute): Improve diagnostics.
177
e4bd6d5e
JM
1782018-11-12 Jason Merrill <jason@redhat.com>
179
a6bb6b07
JM
180 * c-cppbuiltin.c (c_cpp_builtins): Define
181 __cpp_impl_destroying_delete.
182
e4bd6d5e
JM
183 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
184 __cpp_conditional_explicit.
185
79a2c428
MS
1862018-11-09 Martin Sebor <msebor@redhat.com>
187
188 PR middle-end/81824
189 * c-attribs.c (handle_copy_attribute): New function.
190
4c7bd361
MS
1912018-11-09 Martin Sebor <msebor@redhat.com>
192
193 PR c/87795
194 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
195
28567c40
JJ
1962018-11-08 Jakub Jelinek <jakub@redhat.com>
197
198 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
199 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
200 enum omp_memory_order MEMORY_ORDER.
201 (c_finish_omp_flush): Add MO argument.
202 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
203 (c_finish_omp_for): Add FINAL_P argument.
204 * c-omp.c: Include memmodel.h.
205 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
206 OMP_TASKGROUP_CLAUSES to it.
207 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
208 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
209 instead of OMP_ATOMIC_SEQ_CST.
210 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
211 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
212 __atomic_thread_fence call with the given value.
213 (check_omp_for_incr_expr): Formatting fixes.
214 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
215 even in OpenMP loops, diagnose if NE_EXPR and incr expression
216 is not constant expression 1 or -1. Transform NE_EXPR loops
217 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
218 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
219 loops too.
220 (c_omp_split_clauses): Add support for combined
221 #pragma omp parallel master and
222 #pragma omp {,parallel }master taskloop{, simd} constructs.
223 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
224 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
225 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
226 (c_omp_predetermined_sharing): Don't return
227 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
228 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
229 PRAGMA_OMP_REQUIRES.
230 * c-pragma.h (enum pragma_kind): Likewise.
231 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
232 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
233
204839e7
DM
2342018-11-08 David Malcolm <dmalcolm@redhat.com>
235
236 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
237
d8010ee4
DM
2382018-11-08 David Malcolm <dmalcolm@redhat.com>
239
240 * c-format.c (local_cgraph_node_ptr_node): New variable.
241 (gcc_dump_printf_char_table): Add entry for %C.
242 (get_pointer_to_named_type): New function, taken from the handling
243 code for "gimple *" from...
244 (init_dynamic_diag_info): ...here. Add handling for
245 "cgraph_node *".
246 * c-format.h (T_CGRAPH_NODE): New.
247
4be5c72c
JM
2482018-10-19 Jason Merrill <jason@redhat.com>
249
250 * c-cppbuiltin.c (c_cpp_builtins): Add
251 __cpp_nontype_template_parameter_class.
252
f3f6029d
NS
2532018-10-31 Nathan Sidwell <nathan@acm.org>
254
ab5324fb
NS
255 * c-opts.c (c_finish_options): Force command line macro
256 location. Refactor to avoid repeating main debug hook.
257 (push_command_line_include): Clarify comment.
258
f3f6029d
NS
259 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
260
91e3ec29
MS
2612018-10-30 Martin Sebor <msebor@redhat.com>
262
263 PR middle-end/87041
264 * c-format.c (check_format_types): Avoid diagnosing null pointer
265 arguments to printf-family of functions.
266
b5ff4f5c
MP
2672018-10-30 Marek Polacek <polacek@redhat.com>
268
269 Implement P0892R2, explicit(bool).
270 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
271
7e2de6df
DM
2722018-10-29 David Malcolm <dmalcolm@redhat.com>
273
274 * name-hint.h (name_hint::take_deferred): New member function.
275
b2bf438c
DM
2762018-10-29 David Malcolm <dmalcolm@redhat.com>
277
278 PR c++/56856
279 * c-common.c (check_function_sentinel): Call fold_for_warn on the
280 argument.
281 (check_function_restrict): Rename param "argarray" to
282 "unfolded_argarray", and make a copy named "argarray", calling
283 fold_for_warn on each argument.
284 (check_function_arguments): Add note about responsibility for
285 folding the arguments.
286
9f936c86
JM
2872018-10-17 Joseph Myers <joseph@codesourcery.com>
288
289 * c-common.c (flag_isoc2x): New variable.
290 * c-common.h (clk_c): Update comment to reference C2X.
291 (flag_isoc99, flag_isoc11): Update comments to reference future
292 standard versions in general.
293 (flag_isoc2x): Declare.
294 * c-opts.c (set_std_c2x): New function.
295 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
296 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
297 flag_isoc2x to 0.
298 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
299
7a8a92c4
JM
3002018-10-17 Joseph Myers <joseph@codesourcery.com>
301
302 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
303 (std=iso9899:2018): Document C17 as published in 2018.
304
4dc003ff
CL
3052018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
306
307 PR c++/87364
308 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
309
79371671
WW
3102018-10-11 Will Wray <wjwray@gmail.com>
311
312 PR c++/87364
313 * c-pretty-print.h (pp_c_type_cast): Prototype.
314 (pp_c_integer_constant): Likewise.
315 * c-pretty-print.c (pp_c_type_cast): No longer static.
316 (pp_c_integer_constant): Likewise.
317 (pp_c_enumeration_constant): Fix loop termination when finding
318 name of constant. No longer returns a value. Call
319 pp_c_integer_constant.
320 (c_pretty_printer::constant): Update for changes to
321 pp_c_enumeration_constant.
322
46c62690
JJ
3232018-10-11 Jakub Jelinek <jakub@redhat.com>
324
325 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
326 for no_unique_address.
327
c24300ba
DM
3282018-10-09 David Malcolm <dmalcolm@redhat.com>
329
330 * c-common.c (c_option_controlling_cpp_error): Rename to...
331 (c_option_controlling_cpp_diagnostic): ...this, and convert
332 "reason" from int to enum.
333 (c_cpp_error): Rename to...
334 (c_cpp_diagnostic): ...this, converting level and reason to enums.
335 * c-common.h (c_cpp_error): Rename to...
336 (c_cpp_diagnostic): ...this, converting level and reason to enums.
337 * c-opts.c (c_common_init_options): Update for renaming.
338
8656dafa
RS
3392018-10-08 Richard Sandiford <richard.sandiford@arm.com>
340
341 PR c/87286
342 * c-common.c (vector_types_compatible_elements_p): Use
343 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
344
8cff0652
VK
3452018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
346
347 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
348 to generate constructor destructor priority warning.
349 * c.opt (-Wprio-ctor-dtor): New option.
350
bedf03a2
JM
3512018-10-01 Jason Merrill <jason@redhat.com>
352
353 * c-lex.c (c_common_has_attribute): Add no_unique_address.
354
6cc430c1
EB
3552018-10-01 Eric Botcazou <ebotcazou@adacore.com>
356
357 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
358 (dump_ada_node): Add const keyword.
359
87677ac7
ML
3602018-09-25 Martin Liska <mliska@suse.cz>
361
362 * c-common.c (c_common_truthvalue_conversion):
363 Remove Pascal from documentation.
364
518196cb
EB
3652018-09-21 Eric Botcazou <ebotcazou@adacore.com>
366
367 * c-ada-spec.c: Include diagnostic.h.
368 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
369
a599af84
MP
3702018-09-19 Marek Polacek <polacek@redhat.com>
371
372 * c.opt (Wclass-conversion): New.
373
9c4a4b3c
DM
3742018-09-17 David Malcolm <dmalcolm@redhat.com>
375
376 * c-format.c (range_label_for_format_type_mismatch::get_text):
377 Update for new param.
378
c896ecfe
DM
3792018-09-17 David Malcolm <dmalcolm@redhat.com>
380
381 * c-format.c (format_warning_at_char): Update for introduction of
382 format_string_diagnostic_t.
383 (format_type_warning): Likewise.
384
80c6d1f4
MJ
3852018-09-17 Martin Jambor <mjambor@suse.cz>
386
387 PR c/63886
388 * c.opt (Wabsolute-value): New.
389
6d900107
BE
3902018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
391
392 * c-common.c (complete_flexible_array_elts): New helper function.
393 * c-common.h (complete_flexible_array_elts): Declare.
394
b5764229
BE
3952018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
396
397 * c-common.c (braced_list_to_string): Remove eval parameter.
398 Add some more checks. Always create zero-terminated STRING_CST.
399 * c-common.h (braced_list_to_string): Adjust prototype.
400
85204e23
DM
4012018-08-27 David Malcolm <dmalcolm@redhat.com>
402
403 PR 87091
404 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
405 to a tri-state.
406 (maybe_suggest_missing_token_insertion): Likewise.
407 (maybe_add_include_fixit): Add param "override_location". If set,
408 and source-printing is enabled, then override the rich_location's
409 primary location with that of the insertion point for the fix-it
410 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
411 * c-common.h (extern void maybe_add_include_fixit): Add bool
412 param.
413 * c-format.c (selftest::test_type_mismatch_range_labels): Update
414 for conversion of show_caret_p to a tri-state.
415 * c-warn.c (warn_for_restrict): Likewise.
416 * known-headers.cc
417 (suggest_missing_header::~suggest_missing_header): Update call to
418 maybe_add_include_fixit to suggest overriding the location, as it
419 is for a note.
420
3d78e008
ML
4212018-08-27 Martin Liska <mliska@suse.cz>
422
423 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
424 fndecl_built_in_p and remove check for FUNCTION_DECL if
425 possible.
3d78e008
ML
426 (check_builtin_function_arguments): Likewise.
427 (reject_gcc_builtin): Likewise.
428 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
429
b5be6d0c
MP
4302018-08-26 Marek Polacek <polacek@redhat.com>
431
432 PR c++/87029, Implement -Wredundant-move.
433 * c.opt (Wredundant-move): New option.
434
79ca9c35
MP
4352018-08-21 Marek Polacek <polacek@redhat.com>
436
437 PR c++/86981, Implement -Wpessimizing-move.
438 * c.opt (Wpessimizing-move): New option.
439
097f82ec
DM
4402018-08-20 David Malcolm <dmalcolm@redhat.com>
441
442 PR other/84889
443 * c-attribs.c (common_handle_aligned_attribute): Add
444 auto_diagnostic_group instance.
445 * c-indentation.c (warn_for_misleading_indentation): Likewise.
446 * c-opts.c (c_common_post_options): Likewise.
447 * c-warn.c (warn_logical_not_parentheses): Likewise.
448 (warn_duplicated_cond_add_or_warn): Likewise.
449 (warn_for_multistatement_macros): Likewise.
450
3fb558b1
NS
4512018-08-20 Nathan Sidwell <nathan@acm.org>
452
453 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
454 access.
455
800c0e98
NS
4562018-08-17 Nathan Sidwell <nathan@acm.org>
457
458 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
459 field.
460 (laxy_hex_fp_value_count): Make unsigned.
461 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
462 manipulate the macro.
463 (builtin_defin_with_hex_fp_value): Adjust callback name, use
464 cpp_define_lazily.
465
6f795a92
DM
4662018-08-17 David Malcolm <dmalcolm@redhat.com>
467
468 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
469 (gcc_dump_printf_length_specs): New.
470 (gcc_dump_printf_flag_pairs): New.
471 (gcc_dump_printf_flag_specs): New.
472 (gcc_dump_printf_char_table): New.
473 (format_types_orig): Add entry for "gcc_dump_printf".
474 (init_dynamic_diag_info): Set up length_char_specs and
475 conversion_specs for gcc_dump_printf_format_type.
476 (handle_format_attribute): Handle gcc_dump_printf_format_type.
477
c5d725c0
NS
4782018-08-17 Nathan Sidwell <nathan@acm.org>
479
10f04917
NS
480 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
481
c5d725c0
NS
482 * c-ada-spec.c: Don't #include "cpp-id-data.h"
483 * c-cppbuiltin.c: Likewise.
484
c0c12356
ML
4852018-08-17 Martin Liska <mliska@suse.cz>
486
487 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
488 Ignore/Deprecated flag. Warning is done automatically for
489 Deprecated flags.
c0c12356 490
10fcc142
DM
4912018-08-16 David Malcolm <dmalcolm@redhat.com>
492
493 PR c++/70693
494 * c-common.c (selftest::c_family_tests): Call
495 selftest::c_indentation_c_tests.
496 * c-common.h (selftest::c_indentation_c_tests): New decl.
497 * c-indentation.c: Include "selftest.h".
498 (next_tab_stop): Add "tab_width" param, rather than accessing
499 cpp_opts.
500 (get_visual_column): Likewise. Clarify comment. Bulletproof
501 against reading past the end of the line.
502 (get_first_nws_vis_column): Add "tab_width" param.
503 (detect_intervening_unindent): Likewise.
504 (should_warn_for_misleading_indentation): Read tab width from
505 cpp_opts and pass around.
506 (selftest::test_next_tab_stop): New test.
507 (selftest::assert_get_visual_column_succeeds): New function.
508 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
509 (selftest::assert_get_visual_column_fails): New function.
510 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
511 (selftest::test_get_visual_column): New test.
512 (selftest::c_indentation_c_tests): New function.
513
3f6677f4
NS
5142018-08-16 Nathan Sidwell <nathan@acm.org>
515
516 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
517 (store_ada_macro): Likewise.
518 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
519 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
520
96e6ae57
DM
5212018-08-15 David Malcolm <dmalcolm@redhat.com>
522
523 * c-format.c: Include "selftest-diagnostic.h" and
524 "gcc-rich-location.h".
525 (format_warning_at_char): Pass NULL for new label params of
526 format_warning_va.
527 (class indirection_suffix): New class.
528 (class range_label_for_format_type_mismatch): New class.
529 (format_type_warning): Move logic for generating "*" suffix to
530 class indirection_suffix. Create "fmt_label" and "param_label"
531 to show their types, and pass them to the
532 format_warning_at_substring calls.
533 (selftest::test_type_mismatch_range_labels): New test.
534 (selftest::c_format_c_tests): Call it.
535
23aa9f7c
MS
5362018-08-13 Martin Sebor <msebor@redhat.com>
537
538 PR tree-optimization/71625
539 * c-common.c (braced_list_to_string): New function.
540 * c-common.h (braced_list_to_string): Declare it.
541
f10a9135
NS
5422018-08-08 Nathan Sidwell <nathan@acm.org>
543
544 * c-common.c (try_to_locate_new_include_inertion_point): Use
545 linemap_included_from_linemap.
546 * c-lex.c (fe_file_change): Use linemap_included_from.
547 * c-ppoutput.c (pp_file_change): Likewise.
548
8a45b051
MS
5492018-08-01 Martin Sebor <msebor@redhat.com>
550
551 PR tree-optimization/86650
552 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G".
553 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
554 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
555 * c-format.h (T89_G): Update to be "gimple *" rather than
556 "gcall *".
557 (local_gcall_ptr_node): Rename...
558 (local_gimple_ptr_node): ...to this.
559
e540ccc0
DM
5602018-07-31 David Malcolm <dmalcolm@redhat.com>
561
562 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
563 table entries for gcc_diag_char_table, and the 'Z' entry from
564 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
565 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
566 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
567 adding missing "Z" for this table. Remove erroneous "G" and "K"
568 entries.
569 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
570 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
571 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
572
425fc685
RE
5732018-07-31 Richard Earnshaw <rearnsha@arm.com>
574
575 * c-common.c (speculation_safe_resolve_call): New function.
576 (speculation_safe_resolve_params): New function.
577 (speculation_safe_resolve_return): New function.
578 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
579 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
580 __HAVE_SPECULATION_SAFE_VALUE.
581
181463c2
DM
5822018-07-20 David Malcolm <dmalcolm@redhat.com>
583
584 * c-common.c (c_cpp_error): Remove redundant "line_table"
585 parameter from call to rich_location::set_range.
586 (maybe_suggest_missing_token_insertion): Likewise.
587
0d7f9065
MS
5882018-07-20 Martin Sebor <msebor@redhat.com>
589
590 PR middle-end/82063
591 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
592
00abf86c
MS
5932018-07-20 Martin Sebor <msebor@redhat.com>
594
595 PR middle-end/82063
596 * c-common.h (c_common_handle_option): Change function argument
597 to HOST_WIDE_INT.
598 * c-opts.c (c_common_init_options): Same.
599 (c_common_handle_option): Same. Remove special handling of
600 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
601 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
602 options to take a HOST_WIDE_INT argument and accept a byte-size
603 suffix. Initialize.
604 (-Wvla-larger-than): Same.
605 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
606 (-Wno-vla-larger-than): Same.
607
9b452033
JJ
6082018-07-12 Jakub Jelinek <jakub@redhat.com>
609
610 * c-attribs.c (c_common_attribute_table): Add
611 "omp declare target implicit" attribute.
612
cd0762f3
RB
6132018-07-12 Richard Biener <rguenther@suse.de>
614
615 PR c/86453
616 * c-attribs.c (handle_packed_attribute): Do not build a variant
617 type with TYPE_PACKED, instead ignore the attribute if we may
618 not apply to the original type.
619
0b27c3ed
JJ
6202018-07-10 Jakub Jelinek <jakub@redhat.com>
621
622 PR c++/86443
623 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
624 to contain TREE_LIST for both the original class iterator and the
625 "last" helper var.
626
e730a0ef
EB
6272018-07-07 Eric Botcazou <ebotcazou@adacore.com>
628
629 * c-ada-spec.c (to_ada_name): Remove index parameter.
630 (pp_ada_tree_identifier): Likewise.
631 (dump_ada_macros): Adjust call to to_ada_name.
632 (struct overloaded_name_hash): Delete.
633 (struct overloaded_name_hasher): Likewise.
634 (overloaded_names): Likewise.
635 (compute_overloading_index): Likewise.
636 (dump_ada_decl_name): Do not call compute_overloading_index and
637 adjust calls to pp_ada_tree_identifier.
638 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
639 (dump_ada_import): Add spc parameter and switch to aspect syntax.
640 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
641 (dump_ada_enum_type): Remove type and display_convention parameters.
642 Adjust calls to pp_ada_tree_identifier.
643 (dump_ada_node): Likewise and for dump_ada_structure.
644 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
645 and tidy up.
646 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
647 syntax.
648 (print_constructor): Adjust call to pp_ada_tree_identifier.
649 (print_destructor): Likewise.
650 (dump_ada_declaration): Switch to aspect syntax.
651 (dump_ada_structure): Likewise and tidy up. Replace display_convention
652 parameter with nested parameter.
653 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
654 (dump_ada_specs): Do not delete overloaded_names table.
655
8de583fc
PB
6562018-07-06 Peter Bergner <bergner@linux.ibm.com>
657
658 PR target/86324
e730a0ef 659 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
660 target hook.
661
09cff37b
NS
6622018-07-05 Nathan Sidwell <nathan@acm.org>
663
664 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
665 NO_IMPLICIT_EXTERN_C.
666
98086b2b
ML
6672018-06-28 Martin Liska <mliska@suse.cz>
668
669 * cppspec.c: Include opt-suggestions.h.
670
829c6349
CLT
6712018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
672 Thomas Schwinge <thomas@codesourcery.com>
673 Cesar Philippidis <cesar@codesourcery.com>
674
675 * c-pragma.h (enum pragma_omp_clause): Add
676 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
677 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
678
f41b7612
JJ
6792018-06-20 Jakub Jelinek <jakub@redhat.com>
680
681 PR c++/86210
682 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
683 comment.
684
4252ccd7
MS
6852018-06-18 Martin Sebor <msebor@redhat.com>
686
687 PR middle-end/85602
688 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
689 nonstring.
690
e197e64e
KV
6912018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
692
693 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
694
34a7a230
JM
6952018-06-13 Jason Merrill <jason@redhat.com>
696
5cef3733
JM
697 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
698 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
699 handling.
700
34a7a230
JM
701 PR c++/86094 - wrong code with defaulted move ctor.
702 * c-opts.c (c_common_post_options): Bump the current ABI version to
703 13. Set warn_abi_version and flag_abi_compat_version to the current
704 version rather than 0. Fix defaulting flag_abi_compat_version from
705 warn_abi_version.
706
bb0f14ae
MS
7072018-06-12 Martin Sebor <msebor@redhat.com>
708
709 PR c/85931
710 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
711 sizeof source and destination yields the same value.
712
3713f2e2
ML
7132018-06-12 Martin Liska <mliska@suse.cz>
714
715 * c.opt: Make MPX-related options as Deprecated.
716
4af78ef8
DM
7172018-06-08 David Malcolm <dmalcolm@redhat.com>
718
719 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
720 rather than 0.
721
31db0fe0
ML
7222018-06-08 Martin Liska <mliska@suse.cz>
723
724 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
725 for MPX (macros, related functions, fields in cgraph_node, ...).
726 (handle_bnd_legacy): Likewise.
727 (handle_bnd_instrument): Likewise.
728 * c.opt: Likewise.
729
fe16acf2
JJ
7302018-06-06 Jakub Jelinek <jakub@redhat.com>
731
732 PR c++/86068
733 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
734 __cpp_transactional_memory to 201500 instead of 210500.
735
4dbdb49b
JM
7362018-06-06 Jason Merrill <jason@redhat.com>
737
738 PR c++/85710 - ICE with -Wmemset-elt-size.
739 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
740
f8ad043f
JM
7412018-06-01 Jason Merrill <jason@redhat.com>
742
743 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
744 201703.
745
abc24d93
EB
7462018-06-01 Eric Botcazou <ebotcazou@adacore.com>
747
748 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
749 declaration for a typedef independently of whether the declaration of
750 the subtype is generated.
751
d258f4aa
MS
7522018-05-31 Martin Sebor <msebor@redhat.com>
753
754 PR c/82063
755 * c.opt (-Wno-alloc-size-larger-than): New option.
756
b67b9225
DP
7572018-04-22 David Pagan <dave.pagan@oracle.com>
758
759 PR c/55976
760 * c-opts.c (c_common_post_options): Set default for warn_return_type
761 for C++/C++ with ObjC extensions only. For C, makes it possible to
762 differentiate between default (no option), -Wreturn-type, and
763 -Wno-return-type.
764
04eb9c55
JM
7652018-05-29 Jason Merrill <jason@redhat.com>
766
767 * c.opt (Winit-list-lifetime): New flag.
768
b0c31bc6
BE
7692018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
770
771 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
772 splay_tree_delete_pointers.
773
44284983
JJ
7742018-05-26 Jakub Jelinek <jakub@redhat.com>
775
776 PR bootstrap/85921
777 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
778 noinline variable to workaround broken kernel headers.
779
b46b715d
JM
7802018-05-18 Jason Merrill <jason@redhat.com>
781
782 * c.opt (Wdeprecated-copy): New flag.
783
40659769
ML
7842018-05-17 Martin Liska <mliska@suse.cz>
785
786 * c-warn.c (overflow_warning): Do not use
787 space in between 'G_' and '('.
788
403962ea
JM
7892018-05-09 Jason Merrill <jason@redhat.com>
790
791 * c-common.c (valid_array_size_p): Add complain parameter.
792 * c-common.h: ...which defaults to true.
793
1c9ee609
JJ
7942018-05-11 Jakub Jelinek <jakub@redhat.com>
795
796 PR c/85696
797 * c-omp.c (c_omp_predetermined_sharing): Return
798 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
799
19916065
ML
8002018-05-11 Martin Liska <mliska@suse.cz>
801
92a285c1 802 PR sanitizer/85556
19916065
ML
803 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
804 TREE_LIST values.
805
79e7b1fe
JJ
8062018-05-10 Jakub Jelinek <jakub@redhat.com>
807
808 PR c++/85662
809 * c-common.h (fold_offsetof_1): Removed.
810 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
811 CTX argument defaulted to ERROR_MARK.
812 * c-common.c (fold_offsetof_1): Renamed to ...
813 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
814 argument, convert the pointer constant to TYPE and use size_binop
815 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
816 a pointer type. Adjust recursive calls.
817
86c12f76
EB
8182018-05-10 Eric Botcazou <ebotcazou@adacore.com>
819
820 PR c++/85400
821 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
822
ee336e84
NS
8232018-05-07 Nathan Sidwell <nathan@acm.org>
824
825 * c.opt (ffor-scope): Remove functionality, issue warning.
826
6c072e21
NS
8272018-05-03 Nathan Sidwell <nathan@acm.org>
828
829 * c.opt (ffriend-injection): Remove functionality, issue warning.
830
2cc7d3a7
DM
8312018-05-01 David Malcolm <dmalcolm@redhat.com>
832
833 PR c/84258
834 * c-format.c (struct format_check_results): Add field
835 "number_non_char".
836 (check_format_info): Initialize it, and warn if encountered.
837 (check_format_arg): Distinguish between wide char and
838 everything else when detecting arrays of non-char.
839
7761dfbe
DM
8402018-04-30 David Malcolm <dmalcolm@redhat.com>
841
842 * c-format.c (get_corrected_substring): Update for
843 location_get_source_line returning a char_span. Use a char_span
844 when handling the prefix of the correction.
845 * c-indentation.c (get_visual_column): Update for
846 location_get_source_line returning a char_span.
847 (get_first_nws_vis_column): Likewise.
848
62e98ef1
DM
8492018-03-29 David Malcolm <dmalcolm@redhat.com>
850
851 PR c++/84269
852 * known-headers.cc (get_stdlib_header_for_name): Add various names
853 from <assert.h>, <string.h>, and <memory.h>; add more names from
854 <stdio.h>.
855
a7dea617
JJ
8562018-03-27 Jakub Jelinek <jakub@redhat.com>
857
858 PR c++/85061
859 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
860 get_base_address of the second operand is a VAR_P, rather than the
861 operand itself, and use gcc_checking_assert instead of gcc_assert.
862
889a3a30
MP
8632018-03-23 Marek Polacek <polacek@redhat.com>
864
865 PR c++/85045
866 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
867 <case RDIV_EXPR>: Tweak condition.
868
452154b9
EB
8692018-03-20 Eric Botcazou <ebotcazou@adacore.com>
870
871 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
872
63ecb626
JJ
8732018-03-16 Jakub Jelinek <jakub@redhat.com>
874
ce811fc4
JJ
875 PR c/84909
876 * c-warn.c (conversion_warning): Replace "to to" with "to" in
877 diagnostics.
878
63ecb626
JJ
879 PR c/84910
880 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
881 diagnostics.
882
a1295eec
RB
8832018-03-16 Richard Biener <rguenther@suse.de>
884
885 PR c/84873
886 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
887 unshare the possibly folded expression.
888
919674fb
RB
8892018-03-15 Richard Biener <rguenther@suse.de>
890
891 PR c/84873
892 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
893
f99309b2
MS
8942018-03-13 Martin Sebor <msebor@redhat.com>
895
896 PR tree-optimization/84725
897 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
898 with all three narrow character types, including their qualified forms.
899
e9b9fa4c
MS
9002018-03-12 Martin Sebor <msebor@redhat.com>
901
902 PR tree-optimization/83456
903 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
904 Restore checking of bounded built-in functions.
905 (check_function_arguments): Also return the result
906 of warn_for_restrict.
907 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
908 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
909
0805d020
MP
9102018-03-02 Marek Polacek <polacek@redhat.com>
911
912 PR c++/84171
913 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
914 is erroneous.
915
ed2a2f08
TS
9162018-03-02 Thomas Schwinge <thomas@codesourcery.com>
917
918 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
919 function".
920
90abdde0
MP
9212018-03-01 Marek Polacek <polacek@redhat.com>
922
923 PR c++/84639
924 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
925 alignment in computation.
926
c6db43fa
EB
9272018-02-28 Eric Botcazou <ebotcazou@adacore.com>
928
929 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
930 <REAL_TYPE>: Deal specifically with _Float128/__float128.
931
9e25c7ed
EB
9322018-02-28 Eric Botcazou <ebotcazou@adacore.com>
933
934 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
935 (is_char_array): Take a type instead of a declaration.
936 (dump_ada_array_type): Likewise.
937 (is_simple_enum): Minor tweak.
938 (dump_ada_enum_type): New function extracted from...
939 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
940 <INTEGER_TYPE>: Remove unreachable code.
941 <RECORD_TYPE>: Likewise. Minor tweaks.
942 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
943 <ENUMERAL_TYPE>: New case.
944 <RECORD_TYPE>: Factor out common code.
945 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
946 Minor tweaks. Deal with enumeral types.
947 (dump_ada_structure): Minor tweaks.
948
09de3550
EB
9492018-02-28 Eric Botcazou <ebotcazou@adacore.com>
950
951 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
952 address for incomplete structures.
953 (dump_forward_type): Do not bail out for incomplete structures.
954 (dump_ada_declaration): Do not special-case incomplete structures
955 for subtypes. Dump them as null records for types.
956
095d8d4b
EB
9572018-02-28 Eric Botcazou <ebotcazou@adacore.com>
958
959 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
960 (is_char_array): Fix formatting.
961 (dump_template_types): Likewise.
962 (dump_generic_ada_node): Rename into...
963 (dump_ada_node): ...this.
964 <POINTER_TYPE>: Remove superfluous space. Use generic address for
965 incomplete structures and not for empty structures. Do not use it
966 when forward declarations are needed.
967 (dump_forward_type): New function.
968 (dump_nested_types): Remove FORWARD parameter. Do not consider
969 TREE_VISITED and do not generate a forward declaration. Only dump
970 original nested types for nested declaration.
971 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
972 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
973 <RECORD_TYPE>: Do not consider TREE_VISITED.
974 (dump_ada_declaration): Use booleans and fix formatting throughout.
975 <TYPE_DECL>: Skip incomplete structures and not empty structures.
976 Call dump_forward_type instead of dump_nested_types for a typedef.
977 Remove superfluous check and adjust call to dump_nested_types.
978 <POINTER_TYPE>: Call dump_forward_type and fall through.
979 (dump_ada_struct_decl): Rename into...
980 (dump_ada_structure): ...this. Do not special-case empty structures.
981
d4cfd486
MS
9822018-02-27 Martin Sebor <msebor@redhat.com>
983
984 PR c++/83871
985 * c.opt (-Wmissing-attributes): New option.
986
b22dbd03
ML
9872018-02-21 Martin Liska <mliska@suse.cz>
988
989 * c.opt (Wcatch-value=): Add IntegerRange.
990
883dfe2a
JM
9912018-02-15 Jason Merrill <jason@redhat.com>
992
993 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
994
0444aa9c
NS
9952018-02-09 Nathan Sidwell <nathan@acm.org>
996
997 PR c/84293
998 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
999 arg.
1000 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1001 arg. Adjust.
1002
cea71f0a
MS
10032018-02-09 Martin Sebor <msebor@redhat.com>
1004
1005 PR lto/84212
1006 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1007 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1008 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1009 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1010 (-Wuninitialized): Same.
1011
8c8b7be5
EB
10122018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1013
1014 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1015 keyword for components.
1016
7c30b12a
PC
10172018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1018
1019 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1020
eece7fe5
JK
10212018-02-02 Julia Koval <julia.koval@intel.com>
1022
1023 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
1024
7d07a93a
MP
10252018-01-29 Marek Polacek <polacek@redhat.com>
1026
1027 PR c/83966
1028 * c-format.c (check_function_format): Check current_function_decl.
1029
53723269
JJ
10302018-01-27 Jakub Jelinek <jakub@redhat.com>
1031
1032 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
1033 argument.
1034 (LAZY_HEX_FP_VALUES_CNT): Define.
1035 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
1036 values rather than just 12.
1037 (builtin_define_with_hex_fp_value): Likewise.
1038
7365279f
BK
10392018-01-18 Boris Kolpackov <boris@codesynthesis.com>
1040
92a285c1
ML
1041 PR other/70268
1042 * c.opt (-fmacro-prefix-map): New option.
1043 * c-opts.c (c_common_handle_option): Handle it.
1044 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
1045 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 1046
bb9869d5
DM
10472018-01-17 David Malcolm <dmalcolm@redhat.com>
1048
1049 PR c++/83814
1050 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
1051
68dc87c3
EB
10522018-01-10 Eric Botcazou <ebotcazou@adacore.com>
1053
1054 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
1055 Skip 'f' and 'F' characters if it is true.
1056 (store_ada_macro): Minor tweak.
1057 (dump_ada_macros) <CPP_COMMENT>: Likewise.
1058 <CPP_WSTRING>: Likewise.
1059 <CPP_STRING>: Output '&' in the buffer if not the first string.
1060 <CPP_NUMBER>: Adjust calls to dump_number.
1061
9a004410
DM
10622018-01-10 David Malcolm <dmalcolm@redhat.com>
1063
1064 PR c++/43486
1065 * c-common.c: Include "selftest.h".
1066 (get_atomic_generic_size): Perform the test for integral type
1067 before the range test for any integer constant, fixing indentation
1068 of braces. Call fold_for_warn before testing for an INTEGER_CST.
1069 (reject_gcc_builtin): Strip any location wrapper from EXPR.
1070 (selftest::test_fold_for_warn): New function.
1071 (selftest::c_common_c_tests): New function.
1072 (selftest::c_family_tests): Call it, and
1073 selftest::c_pretty_print_c_tests.
1074 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
1075 * c-format.c (check_format_arg): Convert VAR_P check to a
1076 fold_for_warn.
1077 * c-pretty-print.c: Include "selftest.h".
1078 (pp_c_cast_expression): Don't print casts for location wrappers.
1079 (selftest::assert_c_pretty_printer_output): New function.
1080 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
1081 (selftest::test_location_wrappers): New function.
1082 (selftest::c_pretty_print_c_tests): New function.
1083 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
1084
5c0caeb3
RS
10852018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1086 Alan Hayward <alan.hayward@arm.com>
1087 David Sherwood <david.sherwood@arm.com>
1088
1089 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
1090
73a699ae
RS
10912018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1092 Alan Hayward <alan.hayward@arm.com>
1093 David Sherwood <david.sherwood@arm.com>
1094
1095 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
1096 as polynomial.
1097
928686b1
RS
10982018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
1099 Alan Hayward <alan.hayward@arm.com>
1100 David Sherwood <david.sherwood@arm.com>
1101
1102 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
1103 (convert_vector_to_array_for_subscript): Handle polynomial
1104 TYPE_VECTOR_SUBPARTS.
1105 (c_common_type_for_mode): Check valid_vector_subparts_p.
1106 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
1107 VECTOR_CST_NELTS.
1108
85ec4feb
JJ
11092018-01-03 Jakub Jelinek <jakub@redhat.com>
1110
1111 Update copyright years.
1112
170a8bd6 11132017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 1114 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
1115
1116 * c-pragma.c (init_pragma): Register pragma GCC unroll.
1117 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
1118
18408e96
AO
11192017-12-22 Alexandre Oliva <aoliva@redhat.com>
1120
1121 PR debug/83527
1122 PR debug/83419
1123 * c-semantics.c (only_debug_stmts_after_p): New.
1124 (pop_stmt_list): Clear side effects in debug-only stmt list.
1125 Check for single nondebug stmt followed by debug stmts only.
1126
c12d20d4
AO
11272017-12-21 Alexandre Oliva <aoliva@redhat.com>
1128
1129 PR debug/83419
1130 * c-semantics.c (pop_stmt_list): Propagate side effects from
1131 single nondebug stmt to container list.
1132
01512446
JJ
11332017-12-19 Jakub Jelinek <jakub@redhat.com>
1134
1135 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
1136 conditions with typical order conditions.
1137
82cfbd01
MP
11382017-12-18 Marek Polacek <polacek@redhat.com>
1139
1140 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
1141 not in effect.
1142
99da11ec
MS
11432017-12-17 Martin Sebor <msebor@redhat.com>
1144
1145 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
1146 an error for attribute warn_if_not_aligned.
1147
cc8bea0a
MS
11482017-12-16 Martin Sebor <msebor@redhat.com>
1149
1150 PR tree-optimization/78918
1151 * c-common.c (check_function_restrict): Avoid checking built-ins.
1152 * c.opt (-Wrestrict): Include in -Wall.
1153
4849deb1
JJ
11542017-12-15 Jakub Jelinek <jakub@redhat.com>
1155
1156 * c-attribs.c (c_common_attribute_table,
1157 c_common_format_attribute_table): Swap affects_type_identity
1158 and handler fields, adjust comments.
1159
c65e18d3
BE
11602017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
1161
1162 * c.opt (Wcast-function-type): New warning option.
1163 * c-lex.c (get_fileinfo): Avoid warning.
1164 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
1165
2004617a
QZ
11662017-12-14 Qing Zhao <qing.zhao@oracle.com>
1167
7365279f 1168 PR middle_end/79538
2004617a
QZ
1169 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
1170 Adjust the size of buf1 and buf2, add a new buf to avoid
1171 format-overflow warning.
1172
96a95ac1
AO
11732017-12-12 Alexandre Oliva <aoliva@redhat.com>
1174
1175 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
1176 subsequent statement list.
1177
5d9ae53d
MS
11782017-12-07 Martin Sebor <msebor@redhat.com>
1179
1180 PR c/81544
1181 PR c/81566
1182 * c-attribs.c (attr_aligned_exclusions): New array.
1183 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
1184 (attr_common_exclusions, attr_const_pure_exclusions): Same.
1185 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
1186 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
1187 (attr_warn_unused_result_exclusions): Same.
1188 (handle_hot_attribute, handle_cold_attribute): Simplify.
1189 (handle_const_attribute): Warn on function returning void.
1190 (handle_pure_attribute): Same.
1191 (handle_aligned_attribute): Diagnose conflicting attribute
1192 specifications.
1193 * c-warn.c (diagnose_mismatched_attributes): Simplify.
1194
c79144f8
DM
11952017-12-06 David Malcolm <dmalcolm@redhat.com>
1196
1197 PR c/83236
1198 * c-common.c (selftest::c_family_tests): Call
1199 selftest::c_spellcheck_cc_tests.
1200 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
1201 * c-spellcheck.cc: Include "selftest.h".
1202 (name_reserved_for_implementation_p): New function.
1203 (should_suggest_as_macro_p): New function.
1204 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
1205 should_suggest_as_macro_p and call it.
1206 (selftest::test_name_reserved_for_implementation_p): New function.
1207 (selftest::c_spellcheck_cc_tests): New function.
1208 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
1209
613bc14f
DM
12102017-12-06 David Malcolm <dmalcolm@redhat.com>
1211
1212 * c-spellcheck.cc: New file, taken from macro-handling code in
1213 spellcheck-tree.c.
1214 * c-spellcheck.h: New file, taken from macro-handling code in
1215 spellcheck-tree.h.
1216
e76c7157
JJ
12172017-12-01 Jakub Jelinek <jakub@redhat.com>
1218
1219 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
1220 attribute.
1221 (handle_simd_attribute): Don't check for "cilk simd function"
1222 attribute. Reindent, formatting changes.
1223
b0da4034
JK
12242017-11-30 Julia Koval <julia.koval@intel.com>
1225
1226 * c-common.h (inv_list): Remove.
1227
058f0b9e
JJ
12282017-11-28 Jakub Jelinek <jakub@redhat.com>
1229
1230 PR sanitizer/81275
1231 * c-common.c (c_switch_covers_all_cases_p_1,
1232 c_switch_covers_all_cases_p): New functions.
1233 * c-common.h (c_switch_covers_all_cases_p): Declare.
1234
5e9d6aa4 12352017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 1236 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
1237
1238 * array-notation-common.c: Delete.
1239 * c-cilkplus.c: Ditto.
1240 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
1241 * c-common.def (ARRAY_NOTATION_REF): Remove.
1242 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
1243 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
1244 c_validate_cilk_plus_loop, cilkplus_an_parts,
1245 cilk_ignorable_spawn_rhs_op,
1246 cilk_recognize_spawn): Remove.
1247 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
1248 * c-omp.c: Remove CILK_SIMD check.
1249 * c-pragma.c: Ditto.
1250 * c-pragma.h: Remove CILK related pragmas.
1251 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
1252 ARRAY_NOTATION_REF condition.
1253 (c_pretty_printer::expression): Ditto.
1254 * c.opt (fcilkplus): Remove.
1255 * cilk.c: Delete.
1256
1af4ebf5
MG
12572017-11-21 Marc Glisse <marc.glisse@inria.fr>
1258
1259 * c-pretty-print.c (pp_c_additive_expression,
1260 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
1261
d44ed508
JJ
12622017-11-21 Jakub Jelinek <jakub@redhat.com>
1263
7d2f0f9b
JJ
1264 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
1265
d44ed508
JJ
1266 PR c++/83059
1267 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
1268 instead of tree_to_uhwi, formatting fix.
1269
26edace6
DM
12702017-11-20 David Malcolm <dmalcolm@redhat.com>
1271
1272 PR c/81404
1273 * known-headers.cc: New file, based on material from c/c-decl.c.
1274 (suggest_missing_header): Copied as-is.
1275 (get_stdlib_header_for_name): New, based on get_c_name_hint but
1276 heavily edited to add C++ support. Add some knowledge about
1277 <limits.h>, <stdint.h>, and <wchar.h>.
1278 * known-headers.h: Likewise.
1279
6c7a259b
DM
12802017-11-20 David Malcolm <dmalcolm@redhat.com>
1281
1282 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
1283 (lookup_name_fuzzy): Likewise. Convert return type from
1284 const char * to name_hint. Add location_t param.
1285 * name-hint.h: New header.
1286
f9c59f7e
JJ
12872017-11-19 Jakub Jelinek <jakub@redhat.com>
1288
1289 PR c/66618
1290 PR c/69960
1291 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
1292
1e39313a
JM
12932017-11-16 Joseph Myers <joseph@codesourcery.com>
1294
1295 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
1296 expected publication date of C17.
1297 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
1298
3ca0dc60
JM
12992017-11-15 Joseph Myers <joseph@codesourcery.com>
1300
1301 PR c/81156
1302 * c-common.c (c_common_reswords): Add __builtin_tgmath.
1303 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
1304
025d57f0
MS
13052017-11-10 Martin Sebor <msebor@redhat.com>
1306
1307 PR c/81117
1308 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
1309 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
1310 * c.opt (-Wstringop-truncation): New option.
1311
1b6fa695
ML
13122017-11-06 Martin Liska <mliska@suse.cz>
1313
1314 PR middle-end/82404
1315 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
1316 FE.
1317 * c.opt: Set default value of warn_return_type.
1318
64a5912c
DM
13192017-10-31 David Malcolm <dmalcolm@redhat.com>
1320
1321 * c-common.c (binary_op_error): Update for renaming of
1322 error_at_rich_loc.
1323 (c_parse_error): Likewise.
1324 * c-warn.c (warn_logical_not_parentheses): Likewise for
1325 renaming of inform_at_rich_loc.
1326 (warn_for_restrict): Likewise for renaming of
1327 warning_at_rich_loc_n.
1328
c76dc9c3
JM
13292017-10-30 Joseph Myers <joseph@codesourcery.com>
1330
1331 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
1332 * c-opts.c (set_std_c17): New function.
1333 (c_common_init_options): Use gnu17 as default C version.
1334 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
1335
ee5fd23a
MM
13362017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1337
1338 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
1339 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
1340 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
1341 __FP_FAST_FMA<N>X.
1342
d1047465
MP
13432017-10-23 Marek Polacek <polacek@redhat.com>
1344
1345 PR c/82681
1346 * c-warn.c (warnings_for_convert_and_check): Fix typos.
1347
9e878cf1
EB
13482017-10-19 Eric Botcazou <ebotcazou@adacore.com>
1349
1350 * c-common.c (check_builtin_function_arguments): Also check arguments
1351 of __builtin_alloca_with_align_and_max.
1352
89b6abbb
DM
13532017-10-17 David Malcolm <dmalcolm@redhat.com>
1354
1355 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
1356 rather than NULL to format_warning_va.
1357 (check_format_types): Likewise when calling format_type_warning.
1358 Remove code to extract source_ranges and source_range * in favor
1359 of just a location_t.
1360 (format_type_warning): Convert source_range * param to a
1361 location_t.
1362
39382c09
JJ
13632017-10-13 Jakub Jelinek <jakub@redhat.com>
1364
1365 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
1366 [LR]SHIFT_EXPR.
1367
62e1c678
DM
13682017-10-12 David Malcolm <dmalcolm@redhat.com>
1369
1370 * c-common.c (enum missing_token_insertion_kind): New enum.
1371 (get_missing_token_insertion_kind): New function.
1372 (maybe_suggest_missing_token_insertion): New function.
1373 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
1374
b90c9338
NS
13752017-10-11 Nathan Sidwell <nathan@acm.org>
1376
1377 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
1378 (c_common_handle_option): Update incpath_kind names.
1379
3a266bcd
ML
13802017-10-11 Martin Liska <mliska@suse.cz>
1381
1382 PR sanitizer/82490
1383 * c-attribs.c (handle_no_sanitize_attribute): Report directly
1384 Wattributes warning.
1385
8e6cdc90
RS
13862017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
1387
1388 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
1389 operating on trees as wide_ints.
1390 * c-common.c (pointer_int_sum): Likewise.
1391 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1392 * c-warn.c (match_case_to_enum_1): Likewise.
1393 (c_do_switch_warnings): Likewise.
1394 (maybe_warn_shift_overflow): Likewise.
1395
802b38c9
JJ
13962017-10-10 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR c/82437
1399 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
1400 instead of wide_int::from.
1401
4e34b338
JJ
14022017-10-06 Jakub Jelinek <jakub@redhat.com>
1403
1404 PR c/82437
1405 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
1406 using to_widest use wide_int with the larger of the two precisions.
1407
4bc4b2b4
BE
14082017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1409
1410 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
1411 functions.
1412
a1488398
RS
14132017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
1414
1415 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
1416 when combining the original unconverted comparison operands.
1417
01c9fb68
JJ
14182017-09-29 Jakub Jelinek <jakub@redhat.com>
1419
1420 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
1421 attribute.
1422
6e3e8419
EB
14232017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1424
1425 * c-ada-spec.c (to_ada_name): Add index parameter.
1426 (pp_ada_tree_identifier): Likewise.
1427 (dump_ada_macros): Adjust call to to_ada_name.
1428 (struct overloaded_name_hash): New type.
1429 (struct overloaded_name_hasher): Likewise.
1430 (overloaded_names): New hash table.
1431 (compute_overloading_index): New function.
1432 (dump_ada_decl_name): Call it and pass the result to
1433 pp_ada_tree_identifier.
1434 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1435 (dump_ada_function_declaration): Likewise.
1436 (dump_generic_ada_node): Likewise.
1437 (print_constructor): Likewise.
1438 (print_destructor): Likewise.
1439 (dump_ada_specs): Delete overloaded_names table.
1440
79310774
EB
14412017-09-29 Eric Botcazou <ebotcazou@adacore.com>
1442
1443 * c-ada-spec.c (max_ada_macros): Move around.
1444 (store_ada_macro_index): Likewise.
1445 (source_file): Rename into...
1446 (macro_source_file): ...this.
1447 (count_ada_macro): Move around.
1448 (store_ada_macro): Likewise.
1449 (compare_macro): Likewise.
1450 (print_ada_macros): Merge in...
1451 (dump_ada_macros): ...this.
1452 (source_file_base): Rename into...
1453 (current_source_file): ...this.
1454 (print_comment): Move around.
1455 (dump_ada_nodes): Call dump_ada_declaration directly.
1456 (struct with): Change type of limited field to bool.
1457 (append_withs): Change type of limited_access parameter to bool.
1458 (pp_ada_tree_identifie): Likewise.
1459 (dump_ada_decl_nam): Likewise.
1460 (dump_generic_ada_node): Likewise. Do not print the return type.
1461 (to_ada_name): Change type of space_found parameter to bool.
1462 (dump_ada_function_declaration): Return void and change type of
1463 parameters to bool. Also print the return type for a function.
1464 (print_ada_methods): Rename into...
1465 (dump_ada_methods): ...this.
1466 (print_ada_declaration): Rename into ...
1467 (dump_ada_declaration): ...this. Do not print the return type.
1468 (print_ada_struct_decl): Rename into...
1469 (dump_ada_struct_decl): ...this.
1470
7d386d45
JJ
14712017-09-29 Jakub Jelinek <jakub@redhat.com>
1472
1473 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
1474 rather than DECL_INITIAL.
1475 (common_handle_aligned_attribute): Likewise.
1476
9ed32e27
AO
14772017-09-20 Alexandre Oliva <aoliva@redhat.com>
1478
1479 * c.opt (gen-decls): Add RejectNegative.
1480
026a79f7
AS
14812017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
1482 Jakub Jelinek <jakub@redhat.com>
1483
1484 Add support for -std=c++2a.
1485 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
1486 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
1487 * c-opts.c (set_std_cxx2a): New.
1488 (c_common_handle_option): Set options when -std=c++2a is enabled.
1489 (c_common_post_options): Adjust comments.
1490 (set_std_cxx14, set_std_cxx17): Likewise.
1491
4a8ca690
EB
14922017-09-15 Eric Botcazou <ebotcazou@adacore.com>
1493
1494 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
1495 message for non-uniform endianness and issue a warning in C++.
1496
7b936140
JJ
14972017-09-15 Jakub Jelinek <jakub@redhat.com>
1498
1499 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
1500 (Wc++17-compat): Change from undocumented alias to option.
1501 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
1502 change C++1z to C++17 in description.
1503 (std=c++1z, std=gnu++1z): Change from option to undocumented
1504 deprecated alias.
1505 (std=c++17, std=gnu++17): Change from undocumented alias to option.
1506 Adjust description.
1507 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
1508 * c-opts.c (set_std_cxx1z): Rename to ...
1509 (set_std_cxx17): ... this.
1510 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
1511 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 1512 caller.
7b936140
JJ
1513 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
1514 comments.
1515
12263f13
L
15162017-09-12 H.J. Lu <hongjiu.lu@intel.com>
1517
1518 * c-attribs.c (common_handle_aligned_attribute): Don't warn
1519 function alignment if warn_if_not_aligned_p is true.
1520
6836632e
NS
15212017-09-12 Nathan Sidwell <nathan@acm.org>
1522
1523 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
1524 resort_sorted_fields): Move to c/c-decl.c.
1525 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
1526 (struct sorted_fields_type): Move to c/c-lang.h.
1527
019bf9ad
JW
15282017-09-09 Jonathan Wakely <jwakely@redhat.com>
1529
1530 PR c++/81852
1531 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
1532
bc7fe952
MP
15332017-09-04 Marek Polacek <polacek@redhat.com>
1534
1535 PR c/81783
1536 * c-warn.c (warn_tautological_bitwise_comparison): New function.
1537 (warn_tautological_cmp): Call it.
1538
de7c2c6a
BK
15392017-09-01 Boris Kolpackov <boris@codesynthesis.com>
1540
1541 * c-opts.c (c_common_finish): Write dependency information even if
1542 there are errors.
1543
d2e05fcb
JJ
15442017-09-01 Jakub Jelinek <jakub@redhat.com>
1545
1546 PR c/81887
1547 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
1548 (omp_pragmas_simd): ... here.
1549 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
1550 create new clauses list containing just simd clause.
1551
18e2a8b8
RS
15522017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1553 Alan Hayward <alan.hayward@arm.com>
1554 David Sherwood <david.sherwood@arm.com>
1555
1556 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
1557 into scalar_mode_supported_p call.
1558 (handle_mode_attribute): Update call to scalar_mode_supported_p.
1559
16d22000
RS
15602017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1561 Alan Hayward <alan.hayward@arm.com>
1562 David Sherwood <david.sherwood@arm.com>
1563
1564 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
1565 for the mode iterator.
1566
b397965c
RS
15672017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1568 Alan Hayward <alan.hayward@arm.com>
1569 David Sherwood <david.sherwood@arm.com>
1570
1571 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1572 * c-common.c (c_build_vec_perm_expr): Likewise.
1573
357b7604
RS
15742017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1575 Alan Hayward <alan.hayward@arm.com>
1576 David Sherwood <david.sherwood@arm.com>
1577
1578 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1579
e05c94ba
RS
15802017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1581 Alan Hayward <alan.hayward@arm.com>
1582 David Sherwood <david.sherwood@arm.com>
1583
1584 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1585 before calling targetm.addr_space.valid_pointer_mode.
1586
5c20c4af
RS
15872017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1588 Alan Hayward <alan.hayward@arm.com>
1589 David Sherwood <david.sherwood@arm.com>
1590
1591 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1592
c94843d2 15932017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
1594 Alan Hayward <alan.hayward@arm.com>
1595 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
1596
1597 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1598 iterators.
1599 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1600
4e10a5a7
RS
16012017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1602 Alan Hayward <alan.hayward@arm.com>
1603 David Sherwood <david.sherwood@arm.com>
1604
1605 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1606 case statements.
1607
130fcab0
ML
16082017-08-29 Martin Liska <mliska@suse.cz>
1609
1610 PR other/39851
1611 * c-common.c (parse_optimize_options): Add argument to function
1612 call.
1613 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1614
14e18d71
DM
16152017-08-24 David Malcolm <dmalcolm@redhat.com>
1616
1617 * c-lex.c (interpret_float): Use token location
1618 when building an EXCESS_PRECISION_EXPR.
1619
2f687306
DM
16202017-08-21 David Malcolm <dmalcolm@redhat.com>
1621
1622 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1623 it to check_function_format.
1624 * c-common.h (check_function_arguments): Add vec<location_t> *
1625 param.
1626 (check_function_format): Likewise.
1627 * c-format.c (struct format_check_context): Add field "arglocs".
1628 (check_function_format): Add param "arglocs"; pass it to
1629 check_format_info.
1630 (check_format_info): Add param "arglocs"; use it to initialize
1631 new field of format_ctx.
1632 (check_format_arg): Pass format_ctx->arglocs to new param of
1633 check_format_info_main.
1634 (class argument_parser): New field "arglocs".
1635 (argument_parser::argument_parser): Add "arglocs_" param and use
1636 it to initialize new field.
1637 (argument_parser::check_argument_type): Pass new arglocs field to
1638 check_format_types.
1639 (check_format_info_main): Add param "arglocs", and use it when
1640 constructing arg_parser.
1641 (check_format_types): Add param "arglocs"; use it if non-NULL when
1642 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1643
00aa1fa2
L
16442017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1645
1646 PR c/53037
1647 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1648 (c_common_attribute_table): Add warn_if_not_aligned.
1649 (handle_aligned_attribute): Renamed to ...
1650 (common_handle_aligned_attribute): Remove argument, name, and add
1651 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1652 (handle_aligned_attribute): New.
1653 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1654
27be025d
MS
16552017-08-14 Martin Sebor <msebor@redhat.com>
1656
1657 PR c/81117
1658 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1659 (handle_nonstring_attribute): New function.
1660
da67acb9
MS
16612017-08-14 Martin Sebor <msebor@redhat.com>
1662
1663 PR c/81117
1664 * c-format.h (T89_G): New macro.
1665 * c-format.c (local_gcall_ptr_node): New variable.
1666 (init_dynamic_diag_info): Initialize it.
1667
a8b522b4
ML
16682017-08-11 Martin Liska <mliska@suse.cz>
1669
1670 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1671 TARGET_SUPPORTS_ALIASES.
1672
32129a17
DM
16732017-08-10 David Malcolm <dmalcolm@redhat.com>
1674
1675 * c-common.c (c_parse_error): Add rich_location * param, using it
1676 rather implicitly using input_location.
1677 * c-common.h (c_parse_error): Add rich_location * param.
1678
30af3a2b
MP
16792017-08-09 Marek Polacek <polacek@redhat.com>
1680
1681 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1682 (c_common_truthvalue_conversion): Likewise.
1683 * c-omp.c (c_finish_omp_atomic): Likewise.
1684 * c-common.h (build_binary_op): Update declaration.
1685
314e6352
ML
16862017-08-08 Martin Liska <mliska@suse.cz>
1687
1688 * c-ada-spec.c: Include header files.
1689 * c-ubsan.c: Likewise.
1690 * c-warn.c: Likewise.
1691
56b5041c
JJ
16922017-08-07 Jakub Jelinek <jakub@redhat.com>
1693
1694 PR c/69389
1695 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1696
db440138
EB
16972017-08-07 Eric Botcazou <ebotcazou@adacore.com>
1698
1699 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1700 (print_ada_methods): Likewise.
1701 (print_ada_declaration): Likewise.
1702
577eec56
ML
17032017-08-07 Martin Liska <mliska@suse.cz>
1704
1705 * array-notation-common.c: Add new includes.
1706 * c-format.c( handle_format_attribute): Canonicalize a format
1707 function name.
1708 * c-lex.c (c_common_has_attribute): Canonicalize name of an
1709 attribute.
1710 * c-pretty-print.c: Add new include.
1711
b854df3c
EB
17122017-08-05 Eric Botcazou <ebotcazou@adacore.com>
1713
1714 * c-ada-spec.c (has_static_fields): Look only into variables.
1715 (print_constructor): Add TYPE parameter and use it for the name.
1716 (print_destructor): Likewise.
1717 (print_ada_declaration): Adjust to new constructor/destructor names.
1718 Adjust calls to print_constructor and print_destructor.
1719 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1720 Look only into variables in the final loop.
1721
9f2cb25e
EB
17222017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1723
1724 * c-ada-spec.c (has_static_fields): Look only into fields.
1725 (dump_generic_ada_node): Small tweak.
1726 (dump_nested_types): Look only into fields.
1727 (print_ada_declaration): Look only into methods. Small tweak.
1728 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
1729
f4bcd9eb
EB
17302017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1731
1732 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
1733 (dump_ada_function_declaration): Likewise.
1734 (dump_generic_ada_node): Likewise.
1735 (print_ada_declaration): Add support for const-qualified variables.
1736
f34ebeb2
ML
17372017-07-31 Martin Liska <mliska@suse.cz>
1738
1739 PR sanitize/81530
1740 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
1741 Guard condition with flag_sanitize_p also with current_function_decl
1742 non-null equality.
1743 (ubsan_maybe_instrument_reference_or_call): Likewise.
1744
218e5d04
UB
17452017-07-30 Uros Bizjak <ubizjak@gmail.com>
1746
1747 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
1748
942047f2
EB
17492017-07-29 Eric Botcazou <ebotcazou@adacore.com>
1750
1751 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
1752 for enumeral types.
1753 (print_ada_declaration): Add missing guard for record types.
1754
a40ff0ae
JJ
17552017-07-27 Jakub Jelinek <jakub@redhat.com>
1756
1757 PR c/45784
1758 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
1759 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
1760 new COMPOUND_EXPRs around the rhs of the comparison.
1761
06bd22f6
MP
17622017-07-27 Marek Polacek <polacek@redhat.com>
1763
1764 PR c/81417
1765 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
1766 the types.
1767
036ea399
JJ
17682017-07-27 Jakub Jelinek <jakub@redhat.com>
1769
1770 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
1771 (handle_noipa_attribute): New function.
1772
417ca011
TD
17732017-07-07 Torsten Duwe <duwe@suse.de>
1774
1775 * c-attribs.c (c_common_attribute_table): Add entry for
1776 "patchable_function_entry".
1777
5aaa8fb4
NS
17782017-07-20 Nathan Sidwell <nathan@acm.org>
1779
1780 Remove TYPE_METHODS.
1781 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
1782 dump_ada_template, print_ada_methods,
1783 print_ada_declaration): Member fns are on TYPE_FIELDS.
1784
ff22eb12
NS
17852017-07-18 Nathan Sidwell <nathan@acm.org>
1786
1787 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
1788
eea77d1f
DM
17892017-07-14 David Malcolm <dmalcolm@redhat.com>
1790
1791 * c-common.c (try_to_locate_new_include_insertion_point): New
1792 function.
1793 (per_file_includes_t): New typedef.
1794 (added_includes_t): New typedef.
1795 (added_includes): New variable.
1796 (maybe_add_include_fixit): New function.
1797 * c-common.h (maybe_add_include_fixit): New decl.
1798
281ac396
MS
17992017-07-10 Martin Sebor <msebor@redhat.com>
1800
1801 PR other/81345
1802 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
1803
b6f43128
DM
18042017-07-06 David Malcolm <dmalcolm@redhat.com>
1805
1806 * c-common.c (selftest::c_family_tests): New.
1807 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
1808 (selftest::c_family_tests): New decl.
1809
efbf55b0
MP
18102017-07-04 Marek Polacek <polacek@redhat.com>
1811
1812 PR c/81231
1813 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
1814 types.
1815
6c86bd88
MP
18162017-07-04 Marek Polacek <polacek@redhat.com>
1817
1818 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
1819
17a7218b
ML
18202017-06-28 Martin Liska <mliska@suse.cz>
1821
1822 PR ipa/81128
1823 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
1824 to a function declaration.
1825
63010089
ML
18262017-06-28 Martin Liska <mliska@suse.cz>
1827
1828 PR driver/79659
1829 * c.opt: Add IntegerRange to various options.
1830
3e2becc4
MP
18312017-06-26 Marek Polacek <polacek@redhat.com>
1832
1833 PR c/80116
1834 * c-common.h (warn_for_multistatement_macros): Declare.
1835 * c-warn.c: Include "c-family/c-indentation.h".
1836 (warn_for_multistatement_macros): New function.
1837 * c.opt (Wmultistatement-macros): New option.
1838 * c-indentation.c (guard_tinfo_to_string): No longer static.
1839 Change the parameter type to "enum rid". Handle RID_SWITCH.
1840 * c-indentation.h (guard_tinfo_to_string): Declare.
1841
2db9b7cd
MG
18422017-06-23 Marc Glisse <marc.glisse@inria.fr>
1843
1844 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
1845
c3684b7b
MS
18462017-06-15 Martin Sebor <msebor@redhat.com>
1847
1848 PR c++/80560
1849 * c.opt (-Wclass-memaccess): New option.
1850
e72c4afd
BK
18512017-06-14 Boris Kolpackov <boris@codesynthesis.com>
1852
1853 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
1854
8a516588
MP
18552017-06-13 Marek Polacek <polacek@redhat.com>
1856
1857 PR objc/80949
1858 * c-warn.c (do_warn_duplicated_branches): Return if any of the
1859 branches is null.
1860
45b2222a
ML
18612017-06-13 Martin Liska <mliska@suse.cz>
1862
1863 PR sanitize/78204
1864 * c-attribs.c (add_no_sanitize_value): New function.
1865 (handle_no_sanitize_attribute): Likewise.
1866 (handle_no_sanitize_address_attribute): Use the function.
1867 (handle_no_sanitize_thread_attribute): New function.
1868 (handle_no_address_safety_analysis_attribute): Use
1869 add_no_sanitize_value.
1870 (handle_no_sanitize_undefined_attribute): Likewise.
1871 * c-common.h: Declare new functions.
1872 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
1873 (ubsan_instrument_shift): Likewise.
1874 (ubsan_instrument_bounds): Likewise.
1875 (ubsan_maybe_instrument_array_ref): Likewise.
1876 (ubsan_maybe_instrument_reference_or_call): Likewise.
1877
a01f151f
JM
18782017-06-11 Jason Merrill <jason@redhat.com>
1879
1880 * c-ada-spec.c, c-pragma.c: Use id_equal.
1881
3de4ac6d
MP
18822017-06-04 Marek Polacek <polacek@redhat.com>
1883
1884 PR c/80919
1885 * c-format.c (matching_type_p): Return false if any of the types
1886 requires structural equality.
1887
2474f48f
MS
18882017-06-02 Martin Sebor <msebor@redhat.com>
1889
1890 PR c/80892
1891 * c-warn.c (conversion_warning): Use -Wconversion for integer
1892 conversion and -Wfloat-conversion for floating one.
1893
40ffd95f
BE
18942017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1895
1896 * c.opt (Wsizeof-pointer-div): New warning option.
1897
3fa4634c
VR
18982017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
1899
1900 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
1901 (Wcatch-value=1): Enable by -Wall.
1902
f012c8ef
DM
19032017-05-30 David Malcolm <dmalcolm@redhat.com>
1904
1905 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
1906 format_chars.
1907 * c.opt (fdiagnostics-show-template-tree): New option.
1908 (felide-type): New option.
1909
63dbcd13
VR
19102017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
1911
1912 * c.opt (Wcatch-value=): New C++ warning flag.
1913
be136b5c
NS
19142017-05-24 Nathan Sidwell <nathan@acm.org>
1915
1916 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
1917 const casts to avoid warning.
1918
3cd211af
MS
19192017-05-24 Martin Sebor <msebor@redhat.com>
1920
1921 PR c/80731
1922 * c-common.h (unsafe_conversion_p): Add a function argument.
1923 * c-common.c (unsafe_conversion_p): Same.
1924 Add type names and values to diagnostics.
1925 (scalar_to_vector): Adjust.
1926 * c-warn.c (constant_expression_error): Add a function argument.
1927 Add type names and values to diagnostics.
1928 (conversion_warning): Add a function argument.
1929 Add type names and values to diagnostics.
1930 (warnings_for_convert_and_check): Same.
1931
1ff7be5a
JM
19322017-05-19 Jason Merrill <jason@redhat.com>
1933
1934 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
1935 enumerators.
1936
ff502317
BE
19372017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1938
1939 * c-format.c (locus): Move out of function scope,
1940 add GTY attribute.
1941
2a8a8d7b
NS
19422017-05-19 Nathan Sidwell <nathan@acm.org>
1943
1944 * c-opts.c (class_dump_file, class_dump_flags): Delete.
1945 (c_common_parse_file): Remove class dump handling.
1946 (get_dump_info): Likewise.
1947
39aac208
RB
19482017-05-19 Richard Biener <rguenther@suse.de>
1949
1950 PR c++/80593
1951 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
1952 to alias-set zero memory.
1953
6ecd2339
BE
19542017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
1955
1956 * c-format.c (local_tree_type_node): Add GTY attribute.
1957
6574d78e
MP
19582017-05-18 Marek Polacek <polacek@redhat.com>
1959
1960 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
1961 (c_common_fixed_point_type_for_size): Likewise.
1962 (c_common_type_for_mode): Likewise.
1963 (shorten_compare): Likewise.
1964 (c_promoting_integer_type_p): Use false/true instead of 0/1.
1965 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
1966
e3455240
MP
19672017-05-18 Marek Polacek <polacek@redhat.com>
1968
1969 * c-common.c (self_promoting_args_p): Change the return type to bool.
1970 Use false/true instead of 0/1.
1971 * c-common.h (self_promoting_args_p): Update.
1972
3fa8871b
MP
19732017-05-17 Marek Polacek <polacek@redhat.com>
1974
1975 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
1976 * c-warn.c: Likewise.
1977
b42cc3ca
VV
19782017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1979
1980 Implement new C++ intrinsics __is_assignable and __is_constructible.
1981 * c-common.c (__is_assignable, __is_constructible): New.
1982 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
1983
1a817418
ML
19842017-05-17 Martin Liska <mliska@suse.cz>
1985
1986 * c-common.h: Introduce dump_flags_t type and
1987 use it instead of int type.
1988 * c-gimplify.c (c_genericize): Likewise.
1989 * c-opts.c: Likewise.
1990
b2fa0a8b
MP
19912017-05-17 Marek Polacek <polacek@redhat.com>
1992
1993 * c-common.c (c_save_expr): Remove.
1994 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
1995 * c-common.h (c_save_expr): Remove declaration.
1996
31c2d57d
VR
19972017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
1998
1999 PR c/35441
2000 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2001 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2002 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2003 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2004 RDIV_EXPR.
2005 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2006
684f84de
MP
20072017-05-09 Marek Polacek <polacek@redhat.com>
2008
2009 PR c/80525
2010 * c-warn.c (unwrap_c_maybe_const): New.
2011 (warn_logical_operator): Call it.
2012
641da50a
NS
20132017-05-09 Nathan Sidwell <nathan@acm.org>
2014
2015 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2016 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2017
631238ac
MS
20182017-05-08 Martin Sebor <msebor@redhat.com>
2019
2020 PR translation/80280
2021 * c-format.h (struct format_flag_spec): Add new member.
2022 (T89_T): New macro.
2023 * c-format.c (local_tree_type_node): New global.
2024 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
2025 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
2026 (strfmon_flag_specs): Likewise.
2027 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
2028 with distinct quoting properties.
2029 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
2030 (flag_chars_t::validate): Add argument and handle bad quoting.
2031 (check_format_info_main): Handle quoting problems.
2032 (init_dynamic_diag_info): Simplify.
2033
49f0c04c
JM
20342017-05-08 Jason Merrill <jason@redhat.com>
2035
2036 * c-opts.c (c_common_post_options): Update defaults for
2037 flag_abi_version and flag_abi_compat_version.
2038
56d35585
DM
20392017-05-05 David Malcolm <dmalcolm@redhat.com>
2040
2041 * c-common.c (c_cpp_error): Replace report_diagnostic
2042 with diagnostic_report_diagnostic.
2043
0f2c4a8f
MS
20442017-05-04 Martin Sebor <msebor@redhat.com>
2045
2046 PR translation/80280
2047 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
2048 (handle_weakref_attribute): Same.
2049
6fe63fb4
NS
20502017-05-03 Nathan Sidwell <nathan@acm.org>
2051
2052 Canonicalize canonical type hashing
2053 * c-common.c (complete_array_type): Use type_hash_canon.
2054
815d9cc6
XR
20552017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
2056
92a285c1 2057 PR c++/80038
815d9cc6
XR
2058 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
2059 prototype.
2060 (cilk_install_body_pedigree_operations): Likewise.
2061 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
2062 detatched.
2063 (cilk_gimplify_call_params_in_spawned_fn): Remove.
2064 (cilk_install_body_pedigree_operations): Likewise.
2065 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
2066 unwrapping.
2067
f8a36447
JJ
20682017-04-27 Jakub Jelinek <jakub@redhat.com>
2069
2070 PR c++/80534
2071 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
2072 flag on non-aggregate element types.
2073
7c145456
BE
20742017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
2075
2076 * c-common.c (c_type_hasher, type_hash_table): Remove.
2077 (c_common_get_alias_set): Remove unreachable code.
2078 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
2079
c3cbcd45
VR
20802017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
2081
2082 * c.opt (Wextra-semi): New C++ warning flag.
2083
8a59d466
JJ
20842017-04-20 Jakub Jelinek <jakub@redhat.com>
2085
2086 PR middle-end/80423
2087 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
2088
8487c9a5
JJ
20892017-04-18 Jakub Jelinek <jakub@redhat.com>
2090
2091 PR middle-end/79788
2092 PR middle-end/80375
2093 * c-common.c (c_common_type_for_mode): Don't handle
2094 widest_*_literal_type_node here.
2095 c_common_signed_or_unsigned_type): Likewise.
2096 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
2097 to *intTI_type_node or *intDI_type_node depending on whether
2098 TImode is supported by the target or not.
2099
3ee0fb02
ML
21002017-04-10 Martin Liska <mliska@suse.cz>
2101
2102 PR sanitizer/80350
2103 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
2104 doing an UBSAN check.
2105
5764ee3c
JW
21062017-04-03 Jonathan Wakely <jwakely@redhat.com>
2107
2108 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
2109
6f3af356
JJ
21102017-03-31 Jakub Jelinek <jakub@redhat.com>
2111
2112 PR c++/79572
2113 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
2114 tree *.
2115 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
2116 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
2117 REFERENCE_TYPE.
2118
f6a7a9d5
DM
21192017-03-31 David Malcolm <dmalcolm@redhat.com>
2120
2121 PR documentation/78732
2122 * c.opt (Wendif-labels): Fix description to refer to
2123 #else rather than #elif.
2124
af88f557
JJ
21252017-03-31 Jakub Jelinek <jakub@redhat.com>
2126
2127 PR libstdc++/80251
2128 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
2129 * c-common.c (c_common_reswords): Add __is_aggregate trait.
2130
a9e4a1a5
JJ
21312017-03-27 Jakub Jelinek <jakub@redhat.com>
2132
2133 PR middle-end/80162
2134 * c-common.c (c_common_mark_addressable_vec): Don't set
2135 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
2136
3f01b620
MS
21372017-03-21 Martin Sebor <msebor@redhat.com>
2138
2139 PR c++/79548
2140 * c-common.c (set_underlying_type): Mark type used only when
2141 original del is declared unused.
2142
2f6f187a
DM
21432017-03-10 David Malcolm <dmalcolm@redhat.com>
2144
2145 PR translation/79848
2146 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
2147 "%qs".
2148
a02fa805
DM
21492017-03-10 David Malcolm <dmalcolm@redhat.com>
2150
2151 PR c/79921
2152 * c-indentation.c (warn_for_misleading_indentation): Remove parens
2153 from inform's message, so that xgettext can locate it.
2154
822a132c
MP
21552017-03-09 Marek Polacek <polacek@redhat.com>
2156
2157 PR c++/79962
2158 PR c++/79984
2159 * c-attribs.c (handle_nonnull_attribute): Save the result of default
2160 conversion to the attribute list.
2161
bba81f1c
ML
21622017-03-09 Martin Liska <mliska@suse.cz>
2163
2164 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
2165
108154ff
JM
21662017-03-03 Jason Merrill <jason@redhat.com>
2167
2168 * c.opt (Wnoexcept-type): New.
2169
eb0e7c34
RB
21702017-03-02 Richard Biener <rguenther@suse.de>
2171
2172 PR c/79756
2173 * c-common.c (c_common_mark_addressable_vec): Look through
2174 C_MAYBE_CONST_EXPR.
2175
9453ba0a
ML
21762017-02-28 Martin Liska <mliska@suse.cz>
2177
2178 * c.opt: Replace space with tabular for options of <number>
2179 type.
2180
6a825afe
ML
21812017-02-28 Martin Liska <mliska@suse.cz>
2182
2183 * c.opt: Fix --help=option -Q for options which are of
2184 an enum type.
2185
4227c9ad
JJ
21862017-02-24 Jakub Jelinek <jakub@redhat.com>
2187
2188 PR c++/79588
2189 * c-common.c (check_function_restrict): New function.
2190 (check_function_arguments): Add FNDECL argument. Call
2191 check_function_restrict if -Wrestrict.
2192 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
2193 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
2194 * c-common.h (check_function_arguments): Add FNDECL argument.
2195 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
2196
59909673
EB
21972017-02-24 Eric Botcazou <ebotcazou@adacore.com>
2198
2199 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
2200 treatment of parameters with pointer-to-tagged type and tidy up.
2201 (print_ada_methods): Remove the special treatment of C++ static member
2202 functions.
2203
54dcd526
ML
22042017-02-22 Martin Liska <mliska@suse.cz>
2205
2206 * c.opt: Replace inequality signs with square brackets
2207 for -Wnornalized.
2208
00bc9de3
JJ
22092017-02-21 Jakub Jelinek <jakub@redhat.com>
2210
2211 PR c++/79641
2212 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
2213 preserve quals.
2214
97fcf744
JM
22152017-02-17 Joseph Myers <joseph@codesourcery.com>
2216
2217 * c-cppbuiltin.c (builtin_define_float_constants): Define
2218 __DECIMAL_DIG__ to the value for long double.
2219
c7545f1c
MP
22202017-02-15 Marek Polacek <polacek@redhat.com>
2221
2222 PR c/79515
2223 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
2224 conversion has occured.
2225
c2e84327
DM
22262017-01-24 David Malcolm <dmalcolm@redhat.com>
2227
2228 * c-common.c (c_common_reswords): Add "__RTL".
2229 * c-common.h (enum rid): Add RID_RTL.
2230
2ebd93e1
MP
22312017-01-20 Marek Polacek <polacek@redhat.com>
2232
2233 PR c/64279
2234 * c-common.h (do_warn_duplicated_branches_r): Declare.
2235 * c-gimplify.c (c_genericize): Walk the function tree calling
2236 do_warn_duplicated_branches_r.
2237 * c-warn.c (expr_from_macro_expansion_r): New.
2238 (do_warn_duplicated_branches): New.
2239 (do_warn_duplicated_branches_r): New.
2240 * c.opt (Wduplicated-branches): New option.
2241
0d80ab91
DM
22422017-01-17 David Malcolm <dmalcolm@redhat.com>
2243
2244 PR c++/71497
2245 * c-indentation.c (warn_for_misleading_indentation): Use the past
2246 subjunctive in the note.
2247
7f991c36
AH
22482017-01-17 Aldy Hernandez <aldyh@redhat.com>
2249
2250 PR c/79116
2251 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
2252 start type to integer_type.
2253
1c70261c
JJ
22542017-01-16 Jakub Jelinek <jakub@redhat.com>
2255
2256 PR driver/49726
2257 * c.opt (gen-decls): Add Driver flag.
2258
1ddca3f3
PC
22592017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2260
2261 Revert:
2262 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2263
2264 PR c++/71737
2265 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2266
7d2f3f1d
PC
22672017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2268
2269 PR c++/71737
2270 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
2271
bce6f760
MS
22722017-01-12 Martin Sebor <msebor@redhat.com>
2273
2274 (-Wformat-overflow): ...to this.
2275
bf5fbf46
MS
22762017-01-11 Martin Sebor <msebor@redhat.com>
2277
2278 PR c/78768
2279 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
2280 Also enable for LTO.
2281
e363df3f
JM
22822017-01-10 Jason Merrill <jason@redhat.com>
2283
2284 Implement P0195R2, C++17 variadic using.
2285 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
2286
bd2c6270
JJ
22872017-01-09 Jakub Jelinek <jakub@redhat.com>
2288
2289 PR translation/79019
2290 PR translation/79020
2291 * c.opt (Wnormalized=): Fix typo in description.
2292
efcc8d38
MS
22932017-01-08 Martin Sebor <msebor@redhat.com>
2294
2295 PR middle-end/77708
2296 * c.opt (-Wformat-truncation): New option.
2297
435f3f7a
AO
22982017-01-06 Alexandre Oliva <aoliva@redhat.com>
2299
2300 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
2301 value to unsigned short to fit in 4 hex digits without
2302 warnings.
2303
4e89adf9
EB
23042017-01-05 Eric Botcazou <ebotcazou@adacore.com>
2305
2306 * c.opt (fsso-struct): Add 'native' value.
2307
cd445b54
ML
23082017-01-05 Martin Liska <mliska@suse.cz>
2309
2310 PR pch/78970
2311 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
2312 header.
2313
a9342885
MP
23142017-01-04 Marek Polacek <polacek@redhat.com>
2315
2316 PR c++/64767
2317 * c.opt (Wpointer-compare): New option.
2318
fc73e60c
JJ
23192017-01-04 Jakub Jelinek <jakub@redhat.com>
2320
2321 PR driver/78957
2322 * c.opt (fsso-struct=): Add RejectNegative.
2323
cbe34bb5
JJ
23242017-01-01 Jakub Jelinek <jakub@redhat.com>
2325
2326 Update copyright years.
2327
d4a6c0ea
ML
23282016-12-29 Martin Liska <mliska@suse.cz>
2329
2330 PR c/78933
2331 * c.opt (strong-eval-order): Add RejectNegative keyword.
2332
67a5ad7c
JM
23332016-12-22 Jason Merrill <jason@redhat.com>
2334
2335 Implement P0522R0, matching of template template arguments.
2336 * c-cppbuiltin.c (c_cpp_builtins): Define
2337 __cpp_template_template_args.
2338
0dba7960
JJ
23392016-12-21 Jakub Jelinek <jakub@redhat.com>
2340
2341 PR bootstrap/78817
2342 * c-common.c (struct nonnull_arg_ctx): New type.
2343 (check_function_nonnull): Return bool instead of void. Use
2344 nonnull_arg_ctx as context rather than just location_t.
2345 (check_nonnull_arg): Adjust for the new context type, set
2346 warned_p to true if a warning has been diagnosed.
2347 (check_function_arguments): Return bool instead of void.
2348 * c-common.h (check_function_arguments): Adjust prototype.
2349
31bfc9b9
JM
23502016-12-21 Jason Merrill <jason@redhat.com>
2351
2352 * c.opt (-fnew-ttp-matching): New flag.
2353 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
2354
629b3d75
MJ
23552016-12-14 Martin Jambor <mjambor@suse.cz>
2356
2357 * c-omp.c: Include omp-general.h instead of omp-low.h.
2358 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
2359 name.
2360
474da67e
MS
23612016-12-14 Martin Sebor <msebor@redhat.com>
2362
2363 PR c/17308
2364 * c-common.c (check_nonnull_arg): Disable when optimization
2365 is enabled.
2366
fe366b87
MP
23672016-12-12 Marek Polacek <polacek@redhat.com>
2368
2369 PR c++/78647
2370 * c-common.c (attribute_fallthrough_p): Return false for
2371 error_mark_node.
2372
8bd9f164
MS
23732016-12-08 Martin Sebor <msebor@redhat.com>
2374
2375 PR c/78284
2376 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
2377
060162e0
MS
23782016-12-08 Martin Sebor <msebor@redhat.com>
2379
2380 PR c/78165
92a285c1
ML
2381 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
2382 suffix.
060162e0 2383
ee92e7ba
MS
23842016-12-07 Martin Sebor <msebor@redhat.com>
2385
2386 PR c/53562
2387 PR middle-end/77784
2388 PR middle-end/78149
2389 PR middle-end/78138
2390 * c.opt (-Wstringop-overflow): New option.
2391
84b0769e
MO
23922016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
2393
2394 * c-attribs.c (asan odr indicator): New attribute.
2395 (handle_asan_odr_indicator_attribute): New function.
2396
7fa6a965
PK
23972016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2398
2399 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
2400 ptrdiff_type_node;
2401
56d8ffc1
JG
24022016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2403
2404 * c-common.c (excess_precision_mode_join): New.
2405 (c_ts18661_flt_eval_method): New.
2406 (c_c11_flt_eval_method): Likewise.
2407 (c_flt_eval_method): Likewise.
2408 * c-common.h (excess_precision_mode_join): New.
2409 (c_flt_eval_method): Likewise.
2410 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
2411 (cpp_iec_559_value): Call it.
2412 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
2413 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
2414 __FLT_EVAL_METHOD_TS_18661_3__.
2415
04f0fcf7
JG
24162016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
2417
2418 * c-opts.c (c_common_post_options): Add logic to handle the default
2419 case for -fpermitted-flt-eval-methods.
2420
fb2675cb
PB
24212016-11-23 Paolo Bonzini <bonzini@gnu.org>
2422
2423 * c.opt (Wexpansion-to-defined): New.
2424
ec1c5694
JJ
24252016-11-23 Jakub Jelinek <jakub@redhat.com>
2426
2427 PR target/78451
2428 * c-pragma.c (handle_pragma_target): Don't replace
2429 current_target_pragma, but chainon the new args to the current one.
2430
730c9e75
NS
24312016-11-22 Nathan Sidwell <nathan@acm.org>
2432
2433 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 2434 indentation and formatting.
730c9e75 2435
89990732
MS
24362016-11-21 Martin Sebor <msebor@redhat.com>
2437
2438 * c.opt (-fprintf-return-value): Enable by default.
2439
48330c93
BE
24402016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2441
2442 PR c++/71973
2443 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
2444 * c-common.c (c_common_nodes_and_builtins): Initialize
2445 const_tm_ptr_type_node.
2446
0d939c95
MP
24472016-11-16 Marek Polacek <polacek@redhat.com>
2448
2449 PR c/78285
2450 * c-common.c (c_add_case_label): Turn error_at calls into inform.
2451
8e745a17
JJ
24522016-11-14 Jakub Jelinek <jakub@redhat.com>
2453
2454 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
2455
1ee62b92 24562016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
2457 Richard Biener <rguenther@suse.de>
2458
2459 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
2460 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
2461 * c.opt (fgimple): New option.
1ee62b92 2462
22b15758
UB
24632016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2464
2465 PR c/35503
2466 * c-common.h (warn_for_restrict): Declare.
2467 * c-warn.c: Include gcc-rich-location.h.
2468 (warn_for_restrict): New function.
2469 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
2470 (gcc_cdiag_char_table): Likewise.
2471 (gcc_cxxdiag_char_table): Likewise.
2472 * c.opt (Wrestrict): New option.
2473
4be719cd
EB
24742016-11-13 Eric Botcazou <ebotcazou@adacore.com>
2475
2476 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
2477 for nested types only if the type is a record or union and dump SLOC.
2478
4a826ca6
JM
24792016-11-09 Jason Merrill <jason@redhat.com>
2480
2481 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
2482
2e955d50
JJ
24832016-11-09 Jakub Jelinek <jakub@redhat.com>
2484
2485 * c-ubsan.c (ubsan_instrument_shift): Handle split
2486 -fsanitize=shift-base and -fsanitize=shift-exponent.
2487
51dc6603
JM
24882016-11-07 Jason Merrill <jason@redhat.com>
2489
2490 * c.opt (Wc++1z-compat): New.
2491 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
2492
6dc4a604
ML
24932016-11-07 Martin Liska <mliska@suse.cz>
2494
2495 * c-warn.c (warn_for_unused_label): Save all labels used
2496 in goto or in &label.
2497
b302001e
JM
24982016-11-03 Jason Merrill <jason@redhat.com>
2499
2500 * c-cppbuiltin.c (c_cpp_builtins): Correct
2501 __cpp_inheriting_constructors.
2502
31f7f784
JM
25032016-11-01 Jason Merrill <jason@redhat.com>
2504
2bc78e3c
JM
2505 * c-cppbuiltin.c (c_cpp_builtins): Update
2506 __cpp_inheriting_constructors.
2507
31f7f784
JM
2508 * c.opt (-fnew-inheriting-ctors): New.
2509 * c-opts.c: Default to on for ABI 11+.
2510
dcb466ec
JJ
25112016-10-31 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR c++/77948
2514 * c.opt (fext-numeric-literals): Add Var and Init.
2515 * c-opts.c (c_common_handle_option): Don't clear
2516 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
2517 (c_common_post_options): Clear it here if not set
2518 explicitly.
2519
52e1b91e
AH
25202016-10-28 Aldy Hernandez <aldyh@redhat.com>
2521
2522 PR debug/77773
2523 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
2524 if NULL.
2525
e16f1cc7
JJ
25262016-10-25 Jakub Jelinek <jakub@redhat.com>
2527
2528 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
2529 * c-common.c (c_common_reswords): Add __builtin_launder.
2530
f8348061
BE
25312016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
2532
2533 * c-common.c (c_common_truthvalue_conversion): Warn for
2534 multiplications in boolean context. Fix the quoting of '<<' and '<'
2535 in the shift warning.
2536
eff89e01
BE
25372016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
2538
2539 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
2540
24bc7bf4
JM
25412016-10-20 Jason Merrill <jason@redhat.com>
2542
2543 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
2544
4c712374
BE
25452016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2546
2547 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
2548 integer shift ops in boolean context.
2549
25502016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
2551
2552 * c.opt (Walloca): New.
2553 (Walloca-larger-than=): New.
2554 (Wvla-larger-than=): New.
2555
8fa18c06
MP
25562016-10-17 Marek Polacek <polacek@redhat.com>
2557
2558 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
2559 Return immediately when finding a match.
2560 (warn_tautological_cmp): Remove a boolean variable that is no longer
2561 needed.
2562
b12b1915
MP
25632016-10-17 Marek Polacek <polacek@redhat.com>
2564
2565 * c-attribs.c: New file.
2566 * c-common.c: Move attributes handling to c-attribs.c.
2567 (get_nonnull_operand): No longer static.
2568 * c-common.h: Move the declarations from c-attribs.c to its own section.
2569
2045acd9
JM
25702016-10-14 Jason Merrill <jason@redhat.com>
2571
2572 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2573 and __cpp_deduction_guides.
2574
14a2c9aa
JM
25752016-10-13 Jason Merrill <jason@redhat.com>
2576
2577 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2578
4d0cdd0c
TP
25792016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2580
2581 * c-cppbuiltin.c: Include memmodel.h.
2582 * c-opts.c: Likewise.
2583 * c-pragma.c: Likewise.
2584 * c-warn.c: Likewise.
2585
70f6d5e1
JJ
25862016-10-12 Jakub Jelinek <jakub@redhat.com>
2587
2588 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2589 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2590 * c-opts.c (sanitize_cpp_opts): Initialize
2591 cpp_opts->cpp_warn_implicit_fallthrough.
2592
78f61294
MP
25932016-10-11 Marek Polacek <polacek@redhat.com>
2594
2595 * c-common.c (warning_candidate_p): Change the return type to bool
2596 and return true/false instead of 1/0.
2597 (vector_mode_valid_p): Likewise.
2598
038b5cc0
MP
25992016-10-11 Marek Polacek <polacek@redhat.com>
2600
2601 * c-common.c (fold_for_warn): No longer static.
2602 (bool_promoted_to_int_p): Likewise.
2603 (c_common_get_narrower): Likewise.
2604 (constant_expression_warning): Move to c-warn.c.
2605 (constant_expression_error): Likewise.
2606 (overflow_warning): Likewise.
2607 (warn_logical_operator): Likewise.
2608 (find_array_ref_with_const_idx_r): Likewise.
2609 (warn_tautological_cmp): Likewise.
2610 (expr_has_boolean_operands_p): Likewise.
2611 (warn_logical_not_parentheses): Likewise.
2612 (warn_if_unused_value): Likewise.
2613 (strict_aliasing_warning): Likewise.
2614 (sizeof_pointer_memaccess_warning): Likewise.
2615 (check_main_parameter_types): Likewise.
2616 (conversion_warning): Likewise.
2617 (warnings_for_convert_and_check): Likewise.
2618 (match_case_to_enum_1): Likewise.
2619 (match_case_to_enum): Likewise.
2620 (c_do_switch_warnings): Likewise.
2621 (warn_for_omitted_condop): Likewise.
2622 (readonly_error): Likewise.
2623 (lvalue_error): Likewise.
2624 (invalid_indirection_error): Likewise.
2625 (warn_array_subscript_with_type_char): Likewise.
2626 (warn_about_parentheses): Likewise.
2627 (warn_for_unused_label): Likewise.
2628 (warn_for_div_by_zero): Likewise.
2629 (warn_for_memset): Likewise.
2630 (warn_for_sign_compare): Likewise.
2631 (do_warn_double_promotion): Likewise.
2632 (do_warn_unused_parameter): Likewise.
2633 (record_locally_defined_typedef): Likewise.
2634 (maybe_record_typedef_use): Likewise.
2635 (maybe_warn_unused_local_typedefs): Likewise.
2636 (maybe_warn_bool_compare): Likewise.
2637 (maybe_warn_shift_overflow): Likewise.
2638 (warn_duplicated_cond_add_or_warn): Likewise.
2639 (diagnose_mismatched_attributes): Likewise.
2640 * c-common.h: Move the declarations from c-warn.c to its own section.
2641 * c-warn.c: New file.
2642
627be19f
JM
26432016-10-08 Jason Merrill <jason@redhat.com>
2644
2645 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2646 into COND_EXPR in C++.
2647
7bad794a
JJ
26482016-10-08 Jakub Jelinek <jakub@redhat.com>
2649
2650 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2651 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2652 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2653
be845b04
JJ
26542016-10-07 Jakub Jelinek <jakub@redhat.com>
2655
2656 Implement LWG2296 helper intrinsic
2657 * c-common.h (enum rid): Add RID_ADDRESSOF.
2658 * c-common.c (c_common_reswords): Add __builtin_addressof.
2659
c09c4992
BE
26602016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2661
2662 PR c++/77700
2663 * c-common.c (c_common_truthvalue_conversion): Warn also for
2664 suspicious enum values in boolean context.
2665
342cfb3e
JJ
26662016-10-06 Jakub Jelinek <jakub@redhat.com>
2667
2668 Implement P0258R2 - helper for C++17
2669 std::has_unique_object_representations trait
2670 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2671 * c-common.c (c_common_reswords): Add
2672 __has_unique_object_representations.
2673
2e69f143
JJ
26742016-10-05 Jakub Jelinek <jakub@redhat.com>
2675
2676 PR sanitizer/66343
2677 * c-ubsan.c (ubsan_instrument_return): Don't call
2678 initialize_sanitizer_builtins here.
2679
700fff34
BE
26802016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2681
2682 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2683 conditional expression in boolean context when only one arm is
2684 non-boolean.
2685
9563bfcd
JJ
26862016-10-05 Jakub Jelinek <jakub@redhat.com>
2687
04a32443
JJ
2688 PR sanitizer/77823
2689 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2690 is not integral.
2691
9563bfcd
JJ
2692 * c-common.c (c_common_reswords): Update comment for C++11.
2693
f1644724
JM
26942016-10-04 Jason Merrill <jason@redhat.com>
2695
2696 * c-common.c (make_tree_vector_from_ctor): New.
2697 * c-common.h: Declare it.
2698
5a79befb
JJ
26992016-10-04 Jakub Jelinek <jakub@redhat.com>
2700
2701 * c-cppbuiltin.c (c_cpp_builtins): Don't define
2702 __LIBGCC_JCR_SECTION_NAME__.
2703
1633d3b9
BE
27042016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
2705
2706 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2707 left shift in boolean context.
2708
a2c6e7f2
JJ
27092016-09-29 Jakub Jelinek <jakub@redhat.com>
2710
2711 Implement P0001R1 - C++17 removal of register storage class specifier
2712 * c.opt (Wregister): New warning.
2713 * c-opts.c (c_common_post_options): Enable -Wregister by
2714 default for C++17.
2715
75304c87
JG
27162016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
2717
2718 * c-opts.c (c_common_post_options): Remove special case for
2719 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2720 in C++.
2721
bbfac6da
JJ
27222016-09-27 Jakub Jelinek <jakub@redhat.com>
2723
6e39060a
JJ
2724 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2725 -std=c++1z.
2726
bbfac6da
JJ
2727 * c-ada-spec.c (print_ada_declaration): Remove break after return.
2728
e73cf9a2
TP
27292016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2730
2731 * c-common.c: Include memmodel.h.
2732
c6147dc4
MP
27332016-09-26 Marek Polacek <polacek@redhat.com>
2734
2735 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
2736
81fea426
MP
27372016-09-26 Marek Polacek <polacek@redhat.com>
2738
2739 PR c/7652
2740 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
2741 (handle_fallthrough_attribute): New function.
2742 (attribute_fallthrough_p): New function.
2743 * c-common.h (attribute_fallthrough_p): Declare.
2744
9a2300e9
MP
27452016-09-24 Marek Polacek <polacek@redhat.com>
2746
2747 PR c/77490
2748 * c.opt (Wbool-operation): New.
2749
a09e9e35
BE
27502016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2751
2752 * c-common.c (c_common_truthvalue_conversion): Inhibit
2753 Wint-in-bool-context warning with from_macro_definition_at.
2754 Mention the expression will always evaluate to true.
2755
d43b4ccc
MS
27562016-09-21 Martin Sebor <msebor@redhat.com>
2757
2758 PR bootstrap/77676
2759 * c.opt (fprintf-return-value): Temporarily initialize to zero
2760 to unblock bootstrap failures.
2761
2e1c20b1
JJ
27622016-09-21 Jakub Jelinek <jakub@redhat.com>
2763
2764 PR c++/77651
2765 * c.opt (Waligned-new=): Add RejectNegative.
2766 (faligned-new=): Likewise. Spelling fix - change
2767 aligned_new_threshhold to aligned_new_threshold.
2768 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
2769 to aligned_new_threshold.
2770
88d0c3f0
MS
27712016-09-20 Martin Sebor <msebor@redhat.com>
2772
2773 PR middle-end/49905
2774 * c.opt: Add -Wformat-length and -fprintf-return-value.
2775
144a96e4
BE
27762016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2777
2778 PR c++/77434
2779 * c.opt (Wint-in-bool-context): New warning.
2780 * c-common.c (c_common_truthvalue_conversion): Warn on integer
2781 constants in boolean context.
2782
63012d9a
JM
27832016-09-19 Joseph Myers <joseph@codesourcery.com>
2784
2785 * c-common.c (max_align_t_align): Also consider alignment of
2786 float128_type_node.
2787
931388ce
JM
27882016-09-15 Jason Merrill <jason@redhat.com>
2789
2790 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
2791 DECL_EXTERNAL.
2792
38711381
JM
27932016-09-14 Jason Merrill <jason@redhat.com>
2794
2795 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2796 limit FIELD_DECL, either.
2797
e51fbec3
MP
27982016-09-14 Marek Polacek <polacek@redhat.com>
2799
2800 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
2801 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
2802 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
2803
254830ba
DM
28042016-09-13 David Malcolm <dmalcolm@redhat.com>
2805
2806 * c-common.c (warn_logical_not_parentheses): Replace
2807 rich_location::add_fixit_insert calls with add_fixit_insert_before
2808 and add_fixit_insert_after, eliminating the "next_loc" calculation.
2809
42763690
JM
28102016-09-13 Jason Merrill <jason@redhat.com>
2811 Tom de Vries <tom@codesourcery.com>
2812
2813 PR c++/77427
2814 * c-common.c (set_underlying_type): Don't treat array as builtin type.
2815
9453eee9
JM
28162016-09-13 Jason Merrill <jason@redhat.com>
2817
2818 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2819 limit types at all.
2820
e96809e3
JM
28212016-09-12 Jason Merrill <jason@redhat.com>
2822
2823 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
2824 bit/byte confusion, allow large alignment for types.
2825
54dcdb88
BE
28262016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2827
2828 PR c++/77496
2829 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
2830
d1463eb9
DM
28312016-09-12 David Malcolm <dmalcolm@redhat.com>
2832
2833 PR c/72858
2834 * c-format.c (argument_parser::check_argument_type): Add params
2835 "type_start" and "conversion_char". Use the former to generate
2836 offset_to_type_start and pass it and conversion_char to
2837 check_format_types.
2838 (check_format_info_main): Capture the start of the type
2839 information as "type_start", and pass it an format_char
2840 to arg_parser.check_argument_type.
2841 (check_format_types): Provide an example in the leading comment.
2842 Add params "offset_to_type_start" and "conversion_char"; pass
2843 them to format_type_warning calls.
2844 (test_get_modifier_for_format_len): Likewise.
2845 (matching_type_p): New function.
2846 (get_format_for_type): Add param "conversion_char" and move
2847 implementation into...
2848 (get_format_for_type_1): ...new function, called twice.
2849 Use new function matching_type_p rather than checking for
2850 TYPE_CANONICAL equality.
2851 (get_corrected_substring): New function.
2852 (format_type_warning): Provide an example in the leading comment.
2853 Add params "offset_to_type_start" and "conversion_char". Replace
2854 call to get_format_for_type with call to get_corrected_substring
2855 and move rejection of hints for widths/precisions there.
2856 (assert_format_for_type_streq): Add param "conversion_char".
2857 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
2858 (test_get_format_for_type_printf): Add conversion chars to the
2859 tests, adding coverage for various combinations of integer
2860 vs double conversions, and for preserving octal and hexadecimal
2861 conversions.
2862 (test_get_format_for_type_scanf): Add conversion chars to the
2863 tests.
2864
5b28efbb
TV
28652016-09-10 Tom de Vries <tom@codesourcery.com>
2866
2867 PR C/71602
2868 * c-common.c (build_va_arg): Handle more strict
2869 targetm.canonical_va_list_type. Replace first argument type error with
2870 assert.
2871
3f0177e7
MS
28722016-09-09 Martin Sebor <msebor@redhat.com>
2873
2874 PR c/77520
2875 PR c/77521
2876 * c-format.c (argument_parser::find_format_char_info): Use %qc
2877 format directive unconditionally.
2878
af63ba4b
JM
28792016-09-09 Jason Merrill <jason@redhat.com>
2880
2881 Implement C++17 new of over-aligned types.
2882 * c.opt: Add -faligned-new and -Waligned-new.
2883 * c-common.c (max_align_t_align): Split out from...
2884 (cxx_fundamental_alignment_p): ...here.
2885 * c-common.h: Declare it.
2886 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
2887
c65248cb
JM
28882016-09-09 Joseph Myers <joseph@codesourcery.com>
2889
2890 * c-cppbuiltin.c (builtin_define_type_width): New function.
2891 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
2892 macros.
2893
e5106e27
DM
28942016-09-07 David Malcolm <dmalcolm@redhat.com>
2895
2896 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
2897 a POINTER_TYPE.
2898 (substring_loc::get_location): Move to substring-locations.c,
2899 keeping implementation as...
2900 (c_get_substring_location): New function, from the above, reworked
2901 to use accessors rather than member lookup.
2902 * c-common.h (class substring_loc): Move to substring-locations.h,
2903 replacing with a forward decl.
2904 (c_get_substring_location): New decl.
2905 * c-format.c: Include "substring-locations.h".
2906 (format_warning_va): Move to substring-locations.c.
2907 (format_warning_at_substring): Likewise.
2908
a42e7952
MS
29092016-09-06 Martin Sebor <msebor@redhat.com>
2910
2911 PR c/77336
2912 * c-format.c (check_function_format): Avoid issuing warnings for
2913 functions unless they call format functions with non-constant
2914 format strings.
2915
b772a565
RB
29162016-09-06 Richard Biener <rguenther@suse.de>
2917
2918 PR c/77450
2919 * c-common.c (c_common_mark_addressable_vec): Handle
2920 COMPOUND_LITERAL_EXPR.
2921
25ff5dd3
MP
29222016-09-05 Marek Polacek <polacek@redhat.com>
2923
2924 PR c/77423
2925 * c-common.c (bool_promoted_to_int_p): New function.
2926 (expr_has_boolean_operands_p): New function.
2927 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
2928 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
2929
21234eb5
TV
29302016-09-04 Tom de Vries <tom@codesourcery.com>
2931
2932 revert:
2933 2016-08-29 Tom de Vries <tom@codesourcery.com>
2934
2935 * c-common.c (build_va_arg): Replace first argument type error
2936 with assert.
2937
9dc5773f
JJ
29382016-09-02 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR c/65467
2941 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
2942 (c_finish_omp_for): Reject _Atomic qualified iterators.
2943
29442016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
2945
2946 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
2947 size to guarantee it fits the output of the formatted function
2948 regardless of its arguments.
2949
295844f6
MP
29502016-09-01 Marek Polacek <polacek@redhat.com>
2951
2952 PR c/7652
2953 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
2954 FALLTHRU comments.
2955
3d06b6f2
MP
29562016-08-29 Marek Polacek <polacek@redhat.com>
2957
2958 PR c/77292
2959 * c-common.c (warn_logical_not_parentheses): Don't warn for
2960 a comparison or a logical operator.
2961
34cedad5
TV
29622016-08-29 Tom de Vries <tom@codesourcery.com>
2963
2964 * c-common.c (build_va_arg): Fix type comparison assert.
2965
f162d717
TV
29662016-08-29 Tom de Vries <tom@codesourcery.com>
2967
2968 * c-common.c (build_va_arg): Replace first argument type error
2969 with assert.
2970
ba9bbd6f
TV
29712016-08-29 Tom de Vries <tom@codesourcery.com>
2972
2973 PR c/77398
2974 * c-common.c (build_va_arg): Add first argument error. Build va_arg
2975 with error_mark_node as va_list instead of with illegal va_list.
2976
ebef225f
MP
29772016-08-25 Marek Polacek <polacek@redhat.com>
2978 David Malcolm <dmalcolm@redhat.com>
2979
2980 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
2981 * c-common.h (warn_logical_not_parentheses): Update declaration.
2982
b00e6e75
MP
29832016-08-22 Marek Polacek <polacek@redhat.com>
2984
2985 PR c++/77321
2986 * c-common.c (warn_for_memset): Check type for null.
2987
6dc198e3
JM
29882016-08-22 Joseph Myers <joseph@codesourcery.com>
2989
14ec014e 2990 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
2991 _FloatNx types for suffixes for built-in functions.
2992
c65699ef
JM
29932016-08-19 Joseph Myers <joseph@codesourcery.com>
2994
2995 PR c/32187
2996 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
2997 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
2998 (RID_FLOAT128X): New enum rid values.
2999 (CASE_RID_FLOATN_NX): New macro.
3000 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3001 keywords.
3002 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3003 corresponding complex types.
3004 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3005 _FloatNx and corresponding complex types.
3006 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3007 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3008 and _FloatNx types for the widest type for determining
3009 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3010 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3011 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3012 and _FloatNx types.
3013 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3014 constants.
3015 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3016 _FloatNx types.
3017
cc015f3a
DM
30182016-08-18 David Malcolm <dmalcolm@redhat.com>
3019
3020 * c-opts.c (c_diagnostic_finalizer): Update for change to
3021 diagnostic_show_locus.
3022
cb18fd07
DM
30232016-08-18 David Malcolm <dmalcolm@redhat.com>
3024
3025 * c-common.c: Include "spellcheck.h".
3026 (cb_get_suggestion): New function.
3027 * c-common.h (cb_get_suggestion): New decl.
3028 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
3029 cb_get_suggestion.
3030
a76989dc
MP
30312016-08-18 Marek Polacek <polacek@redhat.com>
3032
3033 PR c/71514
3034 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
3035 and pointer-to-VLA.
3036
65e736c0
DM
30372016-08-16 David Malcolm <dmalcolm@redhat.com>
3038
3039 PR c/72857
3040 * c-common.c (substring_loc::get_range): Rename to...
3041 (substring_loc::get_location): ...this, converting param from a
3042 source_range * to a location_t *. Call
3043 get_source_location_for_substring rather than
3044 get_source_range_for_substring, and pass in m_caret_idx.
3045 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
3046 (substring_loc::get_range): Replace with...
3047 (substring_loc::get_location): ...this.
3048 (substring_loc::set_caret_index): New method.
3049 (substring_loc): Add field m_caret_idx.
3050 * c-format.c (format_warning_va): Update for above changes.
3051 Rename local "substring_loc" to "fmt_substring_loc" to avoid
3052 clashing with type name.
3053 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
3054 (check_argument_type): Likewise.
3055 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
3056 Use a copy when emitting warnings, setting the caret index from TYPE.
3057
7e1dde14 30582016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3059 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
3060
3061 * c-ada-spec.c (dump_number): New function.
3062 (handle_escape_character): Likewise.
3063 (print_ada_macros): Add handling of constant integers and strings.
3064
191816a3
MP
30652016-08-12 Marek Polacek <polacek@redhat.com>
3066
3067 PR c/7652
3068 * c-common.c (scalar_to_vector): Adjust fall through comment.
3069 * c-opts.c (c_common_handle_option): Likewise.
3070 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
3071 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
3072 fall through comment.
3073 * cilk.c (extract_free_variables): Add FALLTHRU.
3074
452df4a4
JM
30752016-08-10 Jason Merrill <jason@redhat.com>
3076
3077 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
3078
f3365c12
JM
30792016-08-09 Jason Merrill <jason@redhat.com>
3080
3081 * c-common.c (c_common_attribute_table): vector_size affects type
3082 identity.
3083
f0bc3323
MP
30842016-08-09 Marek Polacek <polacek@redhat.com>
3085
3086 PR c/7652
3087 * c-ada-spec.c (dump_generic_ada_node): Add return.
3088
98e5a19a
JM
30892016-08-09 Jason Merrill <jason@redhat.com>
3090
3091 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
3092 C++17 constexpr lambdas.
3093
895aa8e1
DM
30942016-08-08 David Malcolm <dmalcolm@redhat.com>
3095
3096 PR c/64955
3097 * c-common.h (selftest::c_format_c_tests): New declaration.
3098 (selftest::run_c_tests): New declaration.
3099 * c-format.c: Include "selftest.h.
3100 (format_warning_va): Add param "corrected_substring" and use
3101 it to add a replacement fix-it hint.
3102 (format_warning_at_substring): Likewise.
3103 (format_warning_at_char): Update for new param of
3104 format_warning_va.
3105 (argument_parser::check_argument_type): Pass "fki" to
3106 check_format_types.
3107 (check_format_types): Add param "fki" and pass it to
3108 format_type_warning.
3109 (deref_n_times): New function.
3110 (get_modifier_for_format_len): New function.
3111 (selftest::test_get_modifier_for_format_len): New function.
3112 (get_format_for_type): New function.
3113 (format_type_warning): Add param "fki" and use it to attempt
3114 to provide hints for argument types when calling
3115 format_warning_at_substring.
3116 (selftest::get_info): New function.
3117 (selftest::assert_format_for_type_streq): New function.
3118 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
3119 (selftest::test_get_format_for_type_printf): New function.
3120 (selftest::test_get_format_for_type_scanf): New function.
3121 (selftest::c_format_c_tests): New function.
3122
e52ed3fe
DM
31232016-08-08 David Malcolm <dmalcolm@redhat.com>
3124
3125 PR c/52952
3126 * c-format.c: Include "diagnostic.h".
3127 (location_column_from_byte_offset): Delete.
3128 (location_from_offset): Delete.
3129 (format_warning_va): New function.
3130 (format_warning_at_substring): New function.
3131 (format_warning_at_char): New function.
3132 (check_format_arg): Capture location of format_tree and pass to
3133 check_format_info_main.
3134 (argument_parser): Add fields "start_of_this_format" and
3135 "format_string_cst".
3136 (flag_chars_t::validate): Add param "format_string_cst". Convert
3137 warning_at call using location_from_offset to call to
3138 format_warning_at_char.
3139 (argument_parser::argument_parser): Add param "format_string_cst_"
3140 and use use it to initialize field "format_string_cst".
3141 Initialize new field "start_of_this_format".
3142 (argument_parser::read_format_flags): Convert warning_at call
3143 using location_from_offset to a call to format_warning_at_char.
3144 (argument_parser::read_any_format_left_precision): Likewise.
3145 (argument_parser::read_any_format_precision): Likewise.
3146 (argument_parser::read_any_other_modifier): Likewise.
3147 (argument_parser::find_format_char_info): Likewise, in three places.
3148 (argument_parser::parse_any_scan_set): Likewise, in one place.
3149 (argument_parser::handle_conversions): Likewise, in two places.
3150 (argument_parser::check_argument_type): Add param "fmt_param_loc"
3151 and use it to make a substring_loc. Pass the latter to
3152 check_format_types.
3153 (check_format_info_main): Add params "fmt_param_loc" and
3154 "format_string_cst". Convert warning_at calls using
3155 location_from_offset to calls to format_warning_at_char. Pass the
3156 new params to the arg_parser ctor. Pass "format_string_cst" to
3157 flag_chars.validate. Pass "fmt_param_loc" to
3158 arg_parser.check_argument_type.
3159 (check_format_types): Convert first param from a location_t
3160 to a const substring_loc & and rename to "fmt_loc". Attempt
3161 to extract the range of the relevant parameter and pass it
3162 to format_type_warning.
3163 (format_type_warning): Convert first param from a location_t
3164 to a const substring_loc & and rename to "fmt_loc". Add
3165 params "param_range" and "type". Replace calls to warning_at
3166 with calls to format_warning_at_substring.
3167
1c4d457e
DM
31682016-08-08 David Malcolm <dmalcolm@redhat.com>
3169
3170 * c-format.c (class flag_chars_t): New class.
3171 (struct length_modifier): New struct.
3172 (class argument_parser): New class.
3173 (flag_chars_t::flag_chars_t): New ctor.
3174 (flag_chars_t::has_char_p): New method.
3175 (flag_chars_t::add_char): New method.
3176 (flag_chars_t::validate): New method.
3177 (flag_chars_t::get_alloc_flag): New method.
3178 (flag_chars_t::assignment_suppression_p): New method.
3179 (argument_parser::argument_parser): New ctor.
3180 (argument_parser::read_any_dollar): New method.
3181 (argument_parser::read_format_flags): New method.
3182 (argument_parser::read_any_format_width): New method.
3183 (argument_parser::read_any_format_left_precision): New method.
3184 (argument_parser::read_any_format_precision): New method.
3185 (argument_parser::handle_alloc_chars): New method.
3186 (argument_parser::read_any_length_modifier): New method.
3187 (argument_parser::read_any_other_modifier): New method.
3188 (argument_parser::find_format_char_info): New method.
3189 (argument_parser::validate_flag_pairs): New method.
3190 (argument_parser::give_y2k_warnings): New method.
3191 (argument_parser::parse_any_scan_set): New method.
3192 (argument_parser::handle_conversions): New method.
3193 (argument_parser::check_argument_type): New method.
3194 (check_format_info_main): Introduce classes argument_parser
3195 and flag_chars_t, moving the code within the loop into methods
3196 of these classes. Make various locals "const".
3197
88fa5555
DM
31982016-08-05 David Malcolm <dmalcolm@redhat.com>
3199
3200 * c-common.c: Include "substring-locations.h".
3201 (get_cpp_ttype_from_string_type): New function.
3202 (g_string_concat_db): New global.
3203 (substring_loc::get_range): New method.
3204 * c-common.h (g_string_concat_db): New declaration.
3205 (class substring_loc): New class.
3206 * c-lex.c (lex_string): When concatenating strings, capture the
3207 locations of all tokens using a new obstack, and record the
3208 concatenation locations within g_string_concat_db.
3209 * c-opts.c (c_common_init_options): Construct g_string_concat_db
3210 on the ggc-heap.
3211
78169471
MP
32122016-07-29 Marek Polacek <polacek@redhat.com>
3213
638fc14f
MP
3214 PR c/71926
3215 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
3216 parentheses warning.
3217
78169471
MP
3218 PR c/71574
3219 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
3220
1225d6b1
ML
32212016-07-28 Martin Liska <mliska@suse.cz>
3222
3223 PR gcov-profile/68025
3224 * c-common.c (handle_no_profile_instrument_function_attribute):
3225
ec1e2a40
BE
32262016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
3227
3228 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
3229 BITS_PER_UNIT_LOG.
3230
5ec2cd9f
JM
32312016-07-25 Jason Merrill <jason@redhat.com>
3232
3233 PR c++/65970
3234 * c.opt (fconstexpr-loop-limit): New.
3235
9dc5773f 32362016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
3237
3238 PR c++/71675
3239 * c-common.c (resolve_overloaded_builtin): Avoid converting
3240 __atomic_compare_exchange_n return type to that of what its
3241 first argument points to.
3242
e3fe09c1
UB
32432016-07-22 Uros Bizjak <ubizjak@gmail.com>
3244
3245 * c-common.c: Use HOST_WIDE_INT_M1U instead of
3246 ~(unsigned HOST_WIDE_INT) 0.
3247
bc91c436
ML
32482016-07-22 Martin Liska <mliska@suse.cz>
3249
3250 PR gcov-profile/69028
3251 PR gcov-profile/62047
3252 * cilk.c (create_cilk_helper_decl): Set location of a new decl
3253 to the current_function_decl.
3254
451dcc66
JM
32552016-07-21 Jason Merrill <jason@redhat.com>
3256
3257 PR c++/65168
3258 * c-common.c (c_common_truthvalue_conversion): Check
3259 c_inhibit_evaluation_warnings for warning about address of
3260 reference.
3261
de6a69ee
DM
32622016-07-20 David Malcolm <dmalcolm@redhat.com>
3263
3264 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
3265 const char *.
3266
d022c55a
JM
32672016-07-15 Jason Merrill <jason@redhat.com>
3268
3269 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
3270
ddbbcb19
JJ
32712016-07-15 Jakub Jelinek <jakub@redhat.com>
3272
3273 PR c/71858
3274 * c-common.h (enum lookup_name_fuzzy_kind): Add
3275 FUZZY_LOOKUP_FUNCTION_NAME.
3276
d0cf395a
JM
32772016-07-08 Jason Merrill <jason@redhat.com>
3278
3279 P0145: Refining Expression Order for C++.
3280 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
3281 * c-opts.c: Adjust.
3282
98d44e93
MT
32832016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
3284
3285 PR c++/71214
3286 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
3287
f9d8d994
TS
32882016-06-29 Thomas Schwinge <thomas@codesourcery.com>
3289
3290 * c-pragma.h (enum pragma_kind): Rename
3291 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
3292 users.
3293
4aa83879
RB
32942016-06-29 Richard Biener <rguenther@suse.de>
3295
3296 PR middle-end/71002
3297 * c-common.c (c_common_get_alias_set): Remove union type punning case.
3298
a25bd9e6
JM
32992016-06-24 Jason Merrill <jason@redhat.com>
3300
3301 P0145R2: Refining Expression Order for C++.
3302 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
3303 MODIFY_EXPR.
3304
a86451b9
JJ
33052016-06-24 Jakub Jelinek <jakub@redhat.com>
3306
3307 * c-common.c (check_builtin_function_arguments): Require last
3308 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
3309 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
3310 if the last argument is pointer to enumerated or boolean type.
3311
1a4f11c8
DM
33122016-06-22 David Malcolm <dmalcolm@redhat.com>
3313
3314 PR c/70339
3315 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
3316 (lookup_name_fuzzy): New prototype.
3317
fe55692c
JDA
33182016-06-21 John David Anglin <danglin@gcc.gnu.org>
3319
3320 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
3321
4eb24e01
JM
33222016-06-14 Jason Merrill <jason@redhat.com>
3323
3324 P0145R2: Refining Expression Order for C++.
3325 * c.opt (fargs-in-order): New.
3326 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
3327
ef7cf206
JJ
33282016-06-13 Jakub Jelinek <jakub@redhat.com>
3329
0dda258b
JJ
3330 PR sanitizer/71498
3331 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
3332 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
3333
ef7cf206
JJ
3334 PR preprocessor/71183
3335 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
3336 to cb_get_source_date_epoch.
3337
50b15873
JJ
33382016-06-10 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR c/68657
3341 * c.opt (Wpsabi): Add Warning flag.
3342
4d926e34
MS
33432016-06-10 Martin Sebor <msebor@redhat.com>
3344
3345 PR c/71392
14ec014e 3346 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
3347 the nonnull attribute in type-generic builtins.
3348
e01b4e16
MS
33492016-06-09 Martin Sebor <msebor@redhat.com>
3350
3351 PR c/70883
3352 * c-common.c (builtin_function_validate_nargs): Make text of error
3353 message consistent with others like it.
3354
44a845ca
MS
33552016-06-08 Martin Sebor <msebor@redhat.com>
3356 Jakub Jelinek <jakub@redhat.com>
3357
3358 PR c++/70507
3359 PR c/68120
3360 * c-common.c (check_builtin_function_arguments): Handle
3361 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
3362
a80a7051
RB
33632016-06-08 Richard Biener <rguenther@suse.de>
3364
3365 * c-common.c (parse_optimize_options): Improve diagnostic messages.
3366
bfd67b47
RB
33672016-06-07 Richard Biener <rguenther@suse.de>
3368
3369 PR c/61564
3370 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
3371 options and warn about others.
3372
15c98b2e
ES
33732016-06-01 Eduard Sanou <dhole@openmailbox.org>
3374
3375 * c-common.c (get_source_date_epoch): Rename to
3376 cb_get_source_date_epoch.
3377 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
3378 message when the parsing fails. Use error_at instead of fatal_error.
3379 * c-common.h (get_source_date_epoch): Rename to
3380 cb_get_source_date_epoch.
3381 * c-common.h (cb_get_source_date_epoch): Prototype.
3382 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
3383 * c-common.h (c_omp_region_type): Remove trailing comma.
3384 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
3385 * c-lex.c (c_lex_with_flags): Remove initialization of
3386 pfile->source_date_epoch.
3387
00631022
JJ
33882016-05-30 Jakub Jelinek <jakub@redhat.com>
3389
3390 PR c++/71349
3391 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
3392 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
3393 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
3394 instead of C_OMP_CLAUSE_SPLIT_FOR.
3395
f17a223d
RB
33962016-05-24 Richard Biener <rguenther@suse.de>
3397
3398 PR middle-end/70434
3399 PR c/69504
3400 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
3401 (convert_vector_to_array_for_subscript): ... this.
3402 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
3403 VIEW_CONVERT_EXPR to an array type. Rename to ...
3404 (convert_vector_to_array_for_subscript): ... this.
3405
4f2e1536
MP
34062016-05-12 Marek Polacek <polacek@redhat.com>
3407
3408 PR c/70756
3409 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
3410 size_in_bytes and pass LOC to it.
3411
d6e83a8d
MM
34122016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
3413
3414 PR c/43651
3415 * c.opt (Wduplicate-decl-specifier): New option.
3416
5c3a10fb
MP
34172016-05-11 Marek Polacek <polacek@redhat.com>
3418
3419 PR c++/71024
3420 * c-common.c (diagnose_mismatched_attributes): New function.
3421 * c-common.h (diagnose_mismatched_attributes): Declare.
3422
deef7113
MP
34232016-05-04 Marek Polacek <polacek@redhat.com>
3424
3425 * c.opt (Wdangling-else): New option.
3426
79ce98bc
MP
34272016-05-03 Marek Polacek <polacek@redhat.com>
3428
3429 PR c/70859
3430 * c-common.c (builtin_function_validate_nargs): Add location
3431 parameter. Use it.
3432 (check_builtin_function_arguments): Add location and arguments
3433 parameters. Use them.
3434 * c-common.h (check_builtin_function_arguments): Update declaration.
3435
381cdae4
RB
34362016-05-03 Richard Biener <rguenther@suse.de>
3437
3438 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
3439 allow call args to gimplify to SSA names.
3440
1d793c34
MP
34412016-05-03 Marek Polacek <polacek@redhat.com>
3442
3443 * c-common.h (enum c_omp_region_type): Remove stray comma.
3444
77886428
CP
34452016-05-02 Cesar Philippidis <cesar@codesourcery.com>
3446
3447 * c-common.h (enum c_omp_region_type): Define.
3448
697e0b28
RS
34492016-05-02 Richard Sandiford <richard.sandiford@arm.com>
3450
3451 * c-common.c (shorten_compare): Use wi::to_wide.
3452
e7ff0319
CP
34532016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3454
3455 PR middle-end/70626
3456 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
3457 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
3458 reduction clauses in acc parallel loops.
3459
2fff3db8
MP
34602016-04-29 Marek Polacek <polacek@redhat.com>
3461
3462 PR c/70852
3463 * c-common.c (warn_for_memset): Check domain before accessing it.
3464
509063eb
DV
34652016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
3466
3467 PR/69089
3468 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
3469 "aligned" attribute.
3470
b632761d
JM
34712016-04-28 Jason Merrill <jason@redhat.com>
3472
3473 * c-lex.c (c_common_has_attribute): Handle nodiscard.
3474
174f6622
ES
34752016-04-28 Eduard Sanou <dhole@openmailbox.org>
3476 Matthias Klose <doko@debian.org>
3477
3478 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 3479 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
3480 handling.
3481 * c-common.h (get_source_date_epoch): Prototype.
3482 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
3483
6bc2bb18
RB
34842015-04-27 Ryan Burn <contact@rnburn.com>
3485
3486 PR c++/69024
3487 PR c++/68997
3488 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
3489 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
3490 external linkage.
3491 (cilk_detect_and_unwrap): Corresponding changes.
3492 (extract_free_variables): Don't extract free variables from
3493 AGGR_INIT_EXPR slot.
3494 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
3495 (cilk_recognize_spawn): Likewise.
3496
c1e1f433
BS
34972016-04-27 Bernd Schmidt <bschmidt@redhat.com>
3498
3499 * c.opt (Wmemset-elt-size): New option.
3500 * c-common.c (warn_for_memset): New function.
3501 * c-common.h (warn_for_memset): Declare.
3502
d067e05f
JM
35032016-04-25 Jason Merrill <jason@redhat.com>
3504
3505 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
3506 No longer static.
3507 * c-common.h: Declare it.
3508 * c-lex.c (c_common_has_attribute): Add maybe_unused.
3509
9aa36ae5
JM
35102016-04-22 Jason Merrill <jason@redhat.com>
3511
3512 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
3513
477d4906
IV
35142016-04-20 Ilya Verbin <ilya.verbin@intel.com>
3515
3516 PR c++/69363
3517 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
3518 * c-common.h (c_finish_cilk_clauses): Remove declaration.
3519
fe37c7af
MM
35202016-04-18 Michael Matz <matz@suse.de>
3521
3522 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
3523 and SET_DECL_ALIGN.
3524
23f2660f
EB
35252016-04-17 Eric Botcazou <ebotcazou@adacore.com>
3526
3527 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
3528 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
3529 to incomplete types.
3530 (dump_nested_type): Remove redundant tests and tidy up.
3531 (print_ada_declaration): Also set TREE_VISITED on the declaration of
3532 a type which is the typedef of an original type.
3533
1e77281b
MP
35342016-04-15 Marek Polacek <polacek@redhat.com>
3535
3536 PR c/70651
3537 * c-common.c (build_va_arg): Change two asserts into errors and return
3538 error_mark_node.
3539
b3a77f21
MP
35402016-04-13 Marek Polacek <polacek@redhat.com>
3541
3542 PR c++/70639
3543 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
3544 for switch statements, too.
3545
322b8466
JM
35462016-03-28 Jason Merrill <jason@redhat.com>
3547
3548 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
3549
fbdb6baf
MP
35502016-03-23 Marek Polacek <polacek@redhat.com>
3551
3552 PR c++/69884
3553 * c.opt (Wignored-attributes): New option.
3554
5c240f4d
DM
35552016-03-22 David Malcolm <dmalcolm@redhat.com>
3556
3557 PR c/69993
3558 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
3559 diagnostic text, reversing the order of the warning and note so
3560 that they appear in source order.
3561
14ba7b28
MP
35622016-03-17 Marek Polacek <polacek@redhat.com>
3563
3564 PR c/69407
3565 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
3566 operations.
3567
08a1cadc
JM
35682016-03-14 Jason Merrill <jason@redhat.com>
3569
2aaeea19
JM
3570 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
3571
08a1cadc
JM
3572 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3573
c06d25bb
RB
35742016-03-09 Richard Biener <rguenther@suse.de>
3575
3576 PR c/70143
3577 * c-common.c (strict_aliasing_warning): Add back
3578 alias_sets_conflict_p check.
3579
80aac5c8
JM
35802016-03-08 Jason Merrill <jason@redhat.com>
3581
3582 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3583
64b23c13
DM
35842016-03-04 David Malcolm <dmalcolm@redhat.com>
3585
3586 PR c/68187
3587 * c-indentation.c (get_visual_column): Move code to determine next
3588 tab stop to...
3589 (next_tab_stop): ...this new function.
3590 (line_contains_hash_if): Delete function.
3591 (detect_preprocessor_logic): Delete function.
3592 (get_first_nws_vis_column): New function.
3593 (detect_intervening_unindent): New function.
3594 (should_warn_for_misleading_indentation): Replace call to
3595 detect_preprocessor_logic with a call to
3596 detect_intervening_unindent.
3597
729526f5
DM
35982016-03-04 David Malcolm <dmalcolm@redhat.com>
3599
3600 PR c/68187
3601 * c-indentation.c (should_warn_for_misleading_indentation): When
3602 suppressing warnings about cases where the guard and body are on
3603 the same column, only use the first non-whitespace column in place
3604 of the guard token column when dealing with "else" clauses.
3605 When rejecting aligned BODY and NEXT, loosen the requirement
3606 from equality with the first non-whitespace of guard to simply
3607 that they not be indented relative to it.
3608
e9a35493
RB
36092016-03-04 Richard Biener <rguenther@suse.de>
3610
3611 PR c++/70054
3612 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3613 instead of alias_sets_conflict_p.
3614
1be56bc5
MP
36152016-03-01 Marek Polacek <polacek@redhat.com>
3616
3617 PR c++/69795
3618 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3619 any DECL.
3620
35886f0b
MS
36212016-02-22 Martin Sebor <msebor@redhat.com>
3622
3623 PR middle-end/69780
3624 * c-common.c (check_builtin_function_arguments): Validate and
3625 reject invalid arguments to __builtin_alloca_with_align.
3626
4246c8da
MW
36272016-02-20 Mark Wielaard <mjw@redhat.com>
3628
3629 PR c/28901
3630 * c.opt (Wunused-const-variable): Turn into Alias for...
3631 (Wunused-const-variable=): New option.
3632
268be88c
BE
36332016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3634
3635 PR c++/69865
3636 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3637 here...
3638 (c_common_init_options): ...to here.
3639 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3640
871b3f47
JJ
36412016-02-19 Jakub Jelinek <jakub@redhat.com>
3642
3643 PR c++/69826
3644 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3645 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3646 flag_preprocess_only.
3647
bf14eba2
JJ
36482016-02-16 Jakub Jelinek <jakub@redhat.com>
3649
3650 PR c/69835
3651 * c.opt (Wnonnull-compare): Enable for -Wall.
3652
ba6b3795
JJ
36532016-02-15 Jakub Jelinek <jakub@redhat.com>
3654
3655 PR c++/69797
3656 * c-common.c (sync_resolve_size): Diagnose too few arguments
3657 even when params is non-NULL empty vector.
3658
a011cd92
BS
36592016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3660
3661 PR target/60410
3662 * c.opt (fshort-double): Remove.
3663
46cb9332
MS
36642016-02-05 Martin Sebor <msebor@redhat.com>
3665
3666 PR c++/69662
3667 * c.opt (Warning options): Update -Wplacement-new to take
3668 an optional argument.
3669
e1b81f2b
JJ
36702016-02-01 Jakub Jelinek <jakub@redhat.com>
3671
3672 PR preprocessor/69543
3673 PR c/69558
3674 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
3675 instead of loc to control_warning_option.
3676
b6adbb9f
NS
36772016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3678
3679 * c.opt (fopenacc-dim=): New option.
3680
5d70666e
RB
36812016-01-27 Ryan Burn <contact@rnburn.com>
3682
3683 PR cilkplus/69267
3684 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3685 gimplify_arg. Removed superfluous post_p argument.
3686 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3687 superfluous post_p argument.
3688 * c-gimplify.c (c_gimplify_expr): Likewise.
3689
01e1dea3
DM
36902016-01-26 David Malcolm <dmalcolm@redhat.com>
3691
3692 PR other/69006
3693 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
3694 pp_newline_and_flush with pp_flush.
3695
9f04a53e
MS
36962016-01-20 Martin Sebor <msebor@redhat.com>
3697
3698 PR c/69405
3699 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
3700 an incompatible argument when the argument isn't a valid tree node.
3701
7f26f7df
JM
37022016-01-18 Jason Merrill <jason@redhat.com>
3703
3704 PR c++/68767
3705 * c-common.c (check_function_arguments_recurse): Fold the whole
3706 COND_EXPR, not just the condition.
3707
f62bf092
TV
37082016-01-18 Tom de Vries <tom@codesourcery.com>
3709
3710 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3711 classify as loop clause.
3712
e0a575ff
JJ
37132016-01-15 Jakub Jelinek <jakub@redhat.com>
3714
3715 PR bootstrap/68271
3716 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
3717 C++ FE no longer has limit on number of pragmas.
3718
37192015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
3720
3721 PR c++/69048
3722 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 3723 to add missing cleanup point.
b6e3db06 3724
c7df95d8
DM
37252016-01-14 David Malcolm <dmalcolm@redhat.com>
3726
3727 PR c++/68819
3728 * c-indentation.c (get_visual_column): Add location_t param.
3729 Handle the column number being zero by effectively disabling the
3730 warning, with an "inform".
3731 (should_warn_for_misleading_indentation): Add location_t argument
3732 for all uses of get_visual_column.
3733
21efdd80
PP
37342016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
3735
3736 PR c++/69029
3737 * c-indentation.c (should_warn_for_misleading_indentation):
3738 Don't warn about do-while statements.
3739
7a127fa7
MS
37402016-01-07 Martin Sebor <msebor@redhat.com>
3741
3742 PR c/68966
3743 * c-common.c (sync_resolve_size): Reject first argument when it's
3744 a pointer to _Bool.
3745
c589e975
DM
37462016-01-05 David Malcolm <dmalcolm@redhat.com>
3747
3748 PR c/69122
3749 * c-indentation.c (get_visual_column): Remove default argument.
3750 (should_warn_for_misleading_indentation): For the multiline case,
3751 update call to get_visual_column for next_stmt_exploc so that it
3752 captures the location of the first non-whitespace character in the
3753 relevant line. Don't issue warnings if there is non-whitespace
3754 before the next statement.
3755
818ab71a
JJ
37562016-01-04 Jakub Jelinek <jakub@redhat.com>
3757
3758 Update copyright years.
3759
745e411d
DM
37602015-12-21 David Malcolm <dmalcolm@redhat.com>
3761
3762 * c-common.c (binary_op_error): Convert first param from
3763 location_t to rich_location * and use it when emitting an error.
3764 * c-common.h (binary_op_error): Convert first param from
3765 location_t to rich_location *.
3766
de67c4c3
DM
37672015-12-16 David Malcolm <dmalcolm@redhat.com>
3768
3769 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
3770 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
3771
4a38b02b
IV
37722015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3773
3774 * c-common.c (c_common_attribute_table): Handle "omp declare target
3775 link" attribute.
3776
54d62f51
JJ
37772015-12-14 Jakub Jelinek <jakub@redhat.com>
3778
3779 PR c/68833
3780 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
3781
8d4227c8
TB
37822014-12-12 Tobias Burnus <burnus@net-b.de>
3783
3784 PR fortran/68815
3785 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
3786 specifiers (%d, %i,%u and %c).
3787
f6069ccc
DM
37882015-12-10 David Malcolm <dmalcolm@redhat.com>
3789
3790 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
3791
63bbf46d
JJ
37922015-12-08 Jakub Jelinek <jakub@redhat.com>
3793
3794 PR c/48088
3795 PR c/68657
3796 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
3797 * c-pragma.c (handle_pragma_diagnostic): Adjust
3798 control_warning_option caller.
3799
f79520bb
DM
38002015-12-07 David Malcolm <dmalcolm@redhat.com>
3801
3802 * c-common.c (c_cpp_error): Update for change to
3803 rich_location::set_range.
3804
b3d5bc62
JJ
38052015-12-04 Paolo Bonzini <bonzini@gnu.org>
3806
3807 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
3808 shifting 1 out of the sign bit.
3809
38102015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
3811
3812 * c-common.c (c_common_attribute_table[]): Update max arguments
3813 count for "simd" attribute.
3814 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
3815
6eb4a537
JJ
38162015-12-03 Jakub Jelinek <jakub@redhat.com>
3817
3818 PR preprocessor/57580
3819 * c-ppoutput.c (print): Change printed field to bool.
3820 Move src_file last for smaller padding.
3821 (init_pp_output): Set print.printed to false instead of 0.
3822 (scan_translation_unit): Fix up formatting. Set print.printed
3823 to true after printing something other than newline.
3824 (scan_translation_unit_trad): Set print.printed to true instead of 1.
3825 (maybe_print_line_1): Set print.printed to false instead of 0.
3826 (print_line_1): Likewise.
3827 (do_line_change): Set print.printed to true instead of 1.
3828 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
3829 dump_macro): Set print.printed to false after printing newline.
3830
4250754e
JM
38312015-12-02 Jason Merrill <jason@redhat.com>
3832
f479b43d
JM
3833 * c-common.c (fold_for_warn): New.
3834 (warn_logical_operator, warn_tautological_cmp)
3835 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
3836
4250754e
JM
3837 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3838 (c_fully_fold_internal, decl_constant_value_for_optimization):
3839 Move to c/c-fold.c.
3840 * c-common.h: Don't declare decl_constant_value_for_optimization.
3841
e9e32ee6
JM
38422015-12-02 Joseph Myers <joseph@codesourcery.com>
3843
3844 PR c/68162
3845 * c-common.h (c_build_qualified_type): Add extra default
3846 arguments.
3847
37d5ad46
JB
38482015-12-01 Julian Brown <julian@codesourcery.com>
3849 Cesar Philippidis <cesar@codesourcery.com>
3850 James Norris <James_Norris@mentor.com>
3851
3852 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
3853 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
3854 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
3855
f07862c7
EB
38562015-11-30 Eric Botcazou <ebotcazou@adacore.com>
3857
3858 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
3859 (decl_sloc_common): Delete and move bulk of processing to...
3860 (decl_sloc): ...here.
3861 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
3862 (dump_ada_double_name): Remove S parameter and compute the suffix.
3863 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
3864 element type and deal with an anonymous one.
3865 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
3866 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
3867 and remove reference to QUAL_UNION_TYPE.
3868 (dump_nested_types): Make 2 passes on the fields and move bulk to...
3869 (dump_nested_type): ...here. New function extracted from above.
3870 Generate a full declaration for anonymous element type of arrays.
3871 (print_ada_declaration): Really skip anonymous declarations. Remove
3872 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
3873 Clean up processing of declarations of array types and objects.
3874 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
3875 Remove obsolete code and tidy up.
3876
75c8aac3
JH
38772015-11-29 Jan Hubicka <hubicka@ucw.cz>
3878
3879 PR c/67581
3880 * c-common.c (handle_transparent_union_attribute): Update
3881 also type variants.
3882
b58d3df2
ML
38832015-11-27 Martin Liska <mliska@suse.cz>
3884
3885 PR c++/68312
3886 * array-notation-common.c (cilkplus_extract_an_triplets):
3887 Release vector of vectors.
3888 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
3889
89a01fcf
EB
38902015-11-26 Eric Botcazou <ebotcazou@adacore.com>
3891
3892 PR c++/68527
3893 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
3894 (print_ada_struct_decl): Likewise.
3895
cc5c5226
IZ
38962015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
3897
3898 PR c++/68001
3899 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
3900 * cilk.c (recognize_spawn): Determine location in a more precise
3901 way.
3902
269adb9d
JM
39032015-11-19 Jason Merrill <jason@redhat.com>
3904
3905 * c-common.c (shorten_compare): But look through macros from
3906 system headers.
3907
d0eccfcd
JM
39082015-11-18 Jason Merrill <jason@redhat.com>
3909
3910 * c-common.c (shorten_compare): Don't -Wtype-limits if the
3911 non-constant operand comes from a macro.
3912
3e44547c
JM
39132015-11-17 Jason Merrill <jason@redhat.com>
3914
3915 PR bootstrap/68346
3916 * c-common.c (warn_tautological_cmp): Fold before checking for
3917 constants.
3918
0f62c7a0
MP
39192015-11-16 Marek Polacek <polacek@redhat.com>
3920
3921 PR c++/68362
3922 * c-common.c (check_case_bounds): Fold low and high cases.
3923
a868811e
MP
39242015-11-16 Marek Polacek <polacek@redhat.com>
3925
3926 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
3927 * c-common.c (c_common_get_alias_set): Likewise.
3928 (handle_visibility_attribute): Likewise.
3929
fff77217
KY
39302015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3931
3932 * c-common.c (handle_simd_attribute): New.
3933 (struct attribute_spec): Add entry for "simd".
3934 (handle_simd_attribute): New.
3935
269e63b7
KT
39362015-11-13 Kai Tietz <ktietz70@googlemail.com>
3937
3938 * c-lex.c (interpret_float): Use fold_convert.
3939
ebedc9a3
DM
39402015-11-13 David Malcolm <dmalcolm@redhat.com>
3941
3942 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
3943 and store it on the result.
3944 * c-opts.c (c_common_init_options): Set
3945 global_dc->colorize_source_p.
3946
6e232ba4
JN
39472015-11-12 James Norris <jnorris@codesourcery.com>
3948 Joseph Myers <joseph@codesourcery.com>
3949
7365279f 3950 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
3951 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
3952 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
3953 PRAGMA_OACC_CLAUSE_LINK.
3954
e78bede6
MP
39552015-11-11 Marek Polacek <polacek@redhat.com>
3956
3957 PR c/68107
3958 PR c++/68266
3959 * c-common.c (valid_array_size_p): New function.
3960 * c-common.h (valid_array_size_p): Declare.
3961
3f8257db 39622015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
3963
3964 PR bootstrap/68271
3965 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
3966
69f293c9
AM
39672015-11-11 Andrew MacLeod <amacleod@redhat.com>
3968
3969 * array-notation-common.c: Remove unused header files.
3970 * c-ada-spec.c: Likewise.
3971 * c-cilkplus.c: Likewise.
3972 * c-common.c: Likewise.
3973 * c-cppbuiltin.c: Likewise.
3974 * c-dump.c: Likewise.
3975 * c-format.c: Likewise.
3976 * c-gimplify.c: Likewise.
3977 * c-indentation.c: Likewise.
3978 * c-lex.c: Likewise.
3979 * c-omp.c: Likewise.
3980 * c-opts.c: Likewise.
3981 * c-pch.c: Likewise.
3982 * c-ppoutput.c: Likewise.
3983 * c-pragma.c: Likewise.
3984 * c-pretty-print.c: Likewise.
3985 * c-semantics.c: Likewise.
3986 * c-ubsan.c: Likewise.
3987 * cilk.c: Likewise.
3988 * stub-objc.c: Likewise.
3989
3a40d81d
NS
39902015-11-09 Thomas Schwinge <thomas@codesourcery.com>
3991 Cesar Philippidis <cesar@codesourcery.com>
3992 James Norris <jnorris@codesourcery.com>
3993 Julian Brown <julian@codesourcery.com>
3994 Nathan Sidwell <nathan@codesourcery.com>
3995
3996 * c-pragma.c (oacc_pragmas): Add "routine".
3997 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
3998
ee45a32d
EB
39992015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4000
4001 * c-common.c (c_common_attributes): Add scalar_storage_order.
4002 (handle_scalar_storage_order_attribute): New function.
4003 * c-pragma.c (global_sso): New variable.
4004 (maybe_apply_pragma_scalar_storage_order): New function.
4005 (handle_pragma_scalar_storage_order): Likewise.
4006 (init_pragma): Register scalar_storage_order.
4007 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4008 * c.opt (Wscalar-storage-order): New warning.
4009 (fsso-struct=): New option.
4010
eb11eb15
MS
40112015-11-08 Martin Sebor <msebor@redhat.com>
4012
4013 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4014
0aad0198
RS
40152015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4016
4017 * c-common.c: Don't undef DEF_BUILTIN.
4018
8a645150
DM
40192015-11-06 David Malcolm <dmalcolm@redhat.com>
4020
4021 * c-common.c (c_cpp_error): Convert parameter from location_t to
4022 rich_location *. Eliminate the "column_override" parameter and
4023 the call to diagnostic_override_column.
4024 Update the "done_lexing" clause to set range 0
4025 on the rich_location, rather than overwriting a location_t.
4026 * c-common.h (c_cpp_error): Convert parameter from location_t to
4027 rich_location *. Eliminate the "column_override" parameter.
4028
7a5e4956
CP
40292015-11-05 Cesar Philippidis <cesar@codesourcery.com>
4030 Thomas Schwinge <thomas@codesourcery.com>
4031 James Norris <jnorris@codesourcery.com>
4032
4033 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
4034 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
4035 clauses with parallel and kernels and loops.
4036 * c-pragma.h (enum pragma_omp_clause): Add entries for
4037 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
4038 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
4039 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
4040 INDEPENDENT,SEQ}.
4041 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
4042
e2f5cc96
MS
40432015-11-05 Martin Sebor <msebor@redhat.com>
4044
4045 PR c++/67942
4046 * c.opt (-Wplacement-new): New option.
4047
e01d41e5
JJ
40482015-11-05 Jakub Jelinek <jakub@redhat.com>
4049
4050 * c-common.h (c_finish_omp_atomic): Add TEST argument.
4051 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
4052 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
4053 save_expr or create_tmp_var* if TEST is true.
4054 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
4055 Don't call add_stmt here.
4056 (struct c_omp_check_loop_iv_data): New type.
4057 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
4058 c_omp_check_loop_iv_exprs): New functions.
4059 (c_omp_split_clauses): Adjust for lastprivate being allowed on
4060 distribute.
4061 (c_omp_declare_simd_clauses_to_numbers): Change
4062 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
4063 (c_omp_declare_simd_clauses_to_decls): Similarly change those
4064 from numbers to PARM_DECLs.
4065
595278be
MM
40662015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
4067
4068 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
4069 flag_checking.
4070
3f8257db 40712015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
4072
4073 PR c++-common/67882
b3d5bc62
JJ
4074 * c-common.h (fold_offsetof_1): Add argument.
4075 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
4076 offsetof expressions that reference elements past the end of
4077 an array.
4078
4bf9e5a8
TS
40792015-11-03 Thomas Schwinge <thomas@codesourcery.com>
4080 Chung-Lin Tang <cltang@codesourcery.com>
4081
4082 * c-pragma.c (oacc_pragmas): Add "atomic".
4083 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
4084
3b1661a9
ES
40852015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
4086
4087 * c-common.c (handle_target_clones_attribute): New.
4088 (c_common_attribute_table): Add handle_target_clones_attribute.
4089 (handle_always_inline_attribute): Add check on target_clones attribute.
4090 (handle_target_attribute): Ditto.
4091
2adfab87
AM
40922015-10-29 Andrew MacLeod <amacleod@redhat.com>
4093
4094 * array-notation-common.c: Reorder #include's and remove duplicates.
4095 * c-ada-spec.c: Likewise.
4096 * c-cilkplus.c: Likewise.
4097 * c-common.c: Likewise.
4098 * c-cppbuiltin.c: Likewise.
4099 * c-dump.c: Likewise.
4100 * c-format.c: Likewise.
4101 * c-gimplify.c: Likewise.
4102 * c-indentation.c: Likewise.
4103 * c-lex.c: Likewise.
4104 * c-omp.c: Likewise.
4105 * c-opts.c: Likewise.
4106 * c-pch.c: Likewise.
4107 * c-ppoutput.c: Likewise.
4108 * c-pragma.c: Likewise.
4109 * c-pretty-print.c: Likewise.
4110 * c-semantics.c: Likewise.
4111 * c-ubsan.c: Likewise.
4112 * cilk.c: Likewise.
4113 * stub-objc.c: Likewise.
4114
d90ec4f2
JM
41152015-10-28 Jason Merrill <jason@redhat.com>
4116
4117 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
4118
88bae6f4
TS
41192015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4120 James Norris <jnorris@codesourcery.com>
4121 Cesar Philippidis <cesar@codesourcery.com>
4122
4123 PR c/64765
4124 PR c/64880
4125 * c-common.h (c_oacc_split_loop_clauses): Declare function.
4126 * c-omp.c (c_oacc_split_loop_clauses): New function.
4127
b1726d6c
MS
41282015-10-21 Martin Sebor <msebor@redhat.com>
4129
4130 PR driver/68043
4131 * c.opt: End each sentence that describes an option with a period.
4132
fa60eeb9
MP
41332015-10-20 Marek Polacek <polacek@redhat.com>
4134
4135 * array-notation-common.c (is_cilkplus_vector_p): Define.
4136 * c-common.h (is_cilkplus_vector_p): Declare.
4137
95979049
MP
41382015-10-20 Marek Polacek <polacek@redhat.com>
4139
4140 * c.opt (std=gnu++11): Do not describe as experimental.
4141 (std=gnu++14): Likewise.
4142
2a9fb712
JM
41432015-10-19 Jason Merrill <jason@redhat.com>
4144
4145 * c-cppbuiltin.c (c_cpp_builtins): Define
4146 __cpp_nontype_template_args.
4147
13b380a3
JM
41482015-10-19 Jason Merrill <jason@redhat.com>
4149
4150 * c-cppbuiltin.c (c_cpp_builtins): Define
4151 __cpp_enumerator_attributes, __cpp_fold_expressions,
4152 __cpp_unicode_characters.
4153
d9a6bd32
JJ
41542015-10-13 Jakub Jelinek <jakub@redhat.com>
4155 Aldy Hernandez <aldyh@redhat.com>
4156
4157 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
4158 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
4159 (c_define_builtins): Likewise.
4160 * c-common.h (enum c_omp_clause_split): Add
4161 C_OMP_CLAUSE_SPLIT_TASKLOOP.
4162 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
4163 (c_finish_omp_for): Add ORIG_DECLV argument.
4164 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
4165 201511 instead of 201307.
4166 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
4167 OMP_CRITICAL_CLAUSES to it.
4168 (c_finish_omp_ordered): Add CLAUSES argument, set
4169 OMP_ORDERED_CLAUSES to it.
4170 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
4171 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
4172 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
4173 constructs and new OpenMP 4.5 clauses. Clear
4174 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
4175 verification code.
4176 * c-pragma.c (omp_pragmas_simd): Add taskloop.
4177 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
4178 (enum pragma_omp_clause): Add
4179 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
4180 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
4181
624d31fe
RS
41822015-10-05 Richard Sandiford <richard.sandiford@arm.com>
4183
4184 * c-lex.c (interpret_float): Use real_equal instead of
4185 REAL_VALUES_EQUAL.
4186
b8fd7909
JM
41872015-10-04 Jason Merrill <jason@redhat.com>
4188
4189 Implement N4514, C++ Extensions for Transactional Memory.
4190 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
4191 (c_common_attribute_table): Add transaction_safe_dynamic.
4192 transaction_safe now affects type identity.
4193 (handle_tm_attribute): Handle transaction_safe_dynamic.
4194 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
4195 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
4196 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
4197 (D_TRANSMEM): New.
4198 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
4199 * c-pretty-print.c (pp_c_attributes_display): Don't print
4200 transaction_safe in C++.
4201
12651878
MP
42022015-10-02 Marek Polacek <polacek@redhat.com>
4203
4204 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
4205
3e3b8d63
MP
42062015-10-02 Marek Polacek <polacek@redhat.com>
4207
4208 PR c/64249
4209 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
4210 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
4211 * c.opt (Wduplicated-cond): New option.
4212
0d1a8f75
JM
42132015-10-01 Joseph Myers <joseph@codesourcery.com>
4214
4215 * c.opt (std=c11): Do not describe as experimental.
4216 (std=gnu11): Likewise.
4217 (std=iso9899:2011): Likewise.
4218
3e32ee19
NS
42192015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4220
4221 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
4222 (DEF_FUNCTION_TYPE_VAR_11): Delete.
4223
974348ee
MP
42242015-09-25 Marek Polacek <polacek@redhat.com>
4225
4226 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
4227 (ubsan_instrument_shift): Likewise.
4228
15dbc1a6
MP
42292015-09-25 Marek Polacek <polacek@redhat.com>
4230
4231 PR sanitizer/64906
4232 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
4233
6b95d7cc
PP
42342015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
4235
4236 * c-indentation.c (should_warn_for_misleading_indentation):
4237 Compare next_stmt_vis_column with guard_line_first_nws instead
4238 of with guard_line_vis_column.
4239
c1822f9c
MLI
42402015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
4241
4242 PR c/49654
4243 PR c/49655
4244 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
4245 options and options not valid for the current language.
4246
d5398058
PP
42472015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
4248
4249 * c-indentation.c (should_warn_for_misleading_indentation):
4250 Float out and consolidate the calls to get_visual_column that
4251 are passed guard_exploc as an argument. Compare
4252 next_stmt_vis_column with guard_line_first_nws instead of with
4253 body_line_first_nws.
4254
6b333269
NS
42552015-09-22 Nathan Sidwell <nathan@codesourcery.com>
4256
4257 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
4258 Wnamespaces): New C++ warnings.
4259
a75f1574
JM
42602015-09-22 Jason Merrill <jason@redhat.com>
4261
4262 * c-common.h (abi_compat_version_crosses): New.
4263 (warn_abi_version): Declare.
4264 * c-common.c: Define it.
4265 * c-opts.c (c_common_post_options): Handle it.
4266 flag_abi_compat_version defaults to 8.
4267
bdaaa8b7
VV
42682015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
4269
4270 Complete the implementation of N4230, Nested namespace definition.
4271 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
4272 __cpp_nested_namespace_definitions.
4273
eaa797e8
MLI
42742015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4275
4276 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
4277
c4914de6
MLI
42782015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
4279
4280 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
4281 when warning.
4282 * c-pragma.h (pragma_lex): Add optional loc argument.
4283
fcb87c50
MM
42842015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
4285
4286 * c-format.c (check_format_arg): Adjust to use common block size in all
4287 object pools.
4288
31bdd08a
DM
42892015-09-15 David Malcolm <dmalcolm@redhat.com>
4290
4291 * c-format.c (location_from_offset): Update for change in
4292 signature of location_get_source_line.
4293 * c-indentation.c (get_visual_column): Likewise.
4294 (line_contains_hash_if): Likewise.
4295
aa9f4b4c
MP
42962015-09-14 Marek Polacek <polacek@redhat.com>
4297
4298 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
4299 setting various warnings.
4300
aa256c4a
MP
43012015-09-14 Marek Polacek <polacek@redhat.com>
4302
4303 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
4304 a negative value.
4305
0f876f22
MW
43062015-09-11 Mark Wielaard <mjw@redhat.com>
4307
4308 PR c/28901
4309 * c.opt (Wunused-variable): Option from common.opt.
4310 (Wunused-const-variable): New option.
4311
273aa49e
PC
43122015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4313
4314 PR c++/53184
4315 * c.opt ([Wsubobject-linkage]): Add.
4316
1807ffc1
MS
43172015-09-03 Martin Sebor <msebor@redhat.com>
4318
4319 PR c/66516
4320 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
4321 functions.
4322 * c-common.c (reject_gcc_builtin): Define.
4323
38942840
BI
43242015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
4325
4326 PR middle-end/60586
4327 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
4328 prototype.
4329 * c-gimplify.c (c_gimplify_expr): Added a call to the function
4330 cilk_gimplify_call_params_in_spawned_fn.
4331 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
4332 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
4333 unwrapping.
4334
c316b5e4
MP
43352015-08-25 Marek Polacek <polacek@redhat.com>
4336
4337 PR middle-end/67330
4338 * c-common.c (handle_weak_attribute): Don't check whether the
4339 visibility can be changed here.
4340
584a7c46
MLI
43412015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4342
4343 * c-lex.c (c_lex_with_flags): Use explicit locations.
4344
a79683d5
TS
43452015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
4346
4347 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
4348 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
4349
61717a45
FXC
43502015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4351
4352 PR middle-end/36757
4353 * c-common.c (check_builtin_function_arguments): Add check
4354 for BUILT_IN_SIGNBIT argument.
4355
329524f5
PC
43562015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
4357
4358 PR c++/67160
4359 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
4360 in c++1z mode.
4361
4ee55665
MP
43622015-08-17 Marek Polacek <polacek@redhat.com>
4363
4364 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
4365 with whitespaces before qualifier names.
4366
b893e375
MP
43672015-08-12 Marek Polacek <polacek@redhat.com>
4368
4369 PR c++/55095
4370 * c-common.c (maybe_warn_shift_overflow): Properly handle
4371 left-shifting 1 into the sign bit.
4372
c2d89095
MLI
43732015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4374
4375 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
4376
971e17ff
AS
43772015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
4378 Braden Obrzut <admin@maniacsvault.net>
4379 Jason Merrill <jason@redhat.com>
4380
4381 Add C++ Concepts TS support.
4382 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
4383 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
4384 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
4385 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
4386 * c-opts.c (set_std_cxx1z): Set flag_concepts.
4387 * c.opt (fconcepts): New.
4388
b3d5bc62
JJ
43892015-08-02 Martin Sebor <msebor@redhat.com>
4390
4391 * c.opt (-Wframe-address): New warning option.
4392
8ebca419
PP
43932015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4394
4395 * c-indentation.c (should_warn_for_misleading_indentation):
4396 Improve heuristics.
4397
1a1e101f
PP
43982015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4399
4400 * c-indentation.c (get_visual_column): Add parameter first_nws,
4401 use it. Update comment documenting the function.
4402 (is_first_nonwhitespace_on_line): Remove.
4403 (should_warn_for_misleading_indentation): Replace usage of
4404 of is_first_nonwhitespace_on_line with get_visual_column.
4405
992118a1
PP
44062015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
4407
4408 * c-indentation.h (struct token_indent_info): Define.
4409 (get_token_indent_info): Define.
4410 (warn_for_misleading_information): Declare.
4411 * c-common.h (warn_for_misleading_information): Remove.
4412 * c-identation.c (warn_for_misleading_indentation):
4413 Change declaration to take three token_indent_infos. Adjust
4414 accordingly.
4415 * c-identation.c (should_warn_for_misleading_indentation):
4416 Likewise. Bail out early if the body is a compound statement.
4417 (guard_tinfo_to_string): Define.
4418
e8fa3817
JM
44192015-07-30 Jason Merrill <jason@redhat.com>
4420
4421 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
4422 '*' for reference decay.
4423
173864e8
MP
44242015-07-30 Marek Polacek <polacek@redhat.com>
4425
4426 * c-common.c (warn_tautological_cmp): Bail for float types.
4427
f2afe6dd
MP
44282015-07-27 Marek Polacek <polacek@redhat.com>
4429
4430 PR bootstrap/67030
4431 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
4432
05b28fd6
MP
44332015-07-27 Marek Polacek <polacek@redhat.com>
4434
4435 PR c++/66555
4436 PR c/54979
4437 * c-common.c (find_array_ref_with_const_idx_r): New function.
4438 (warn_tautological_cmp): New function.
4439 * c-common.h (warn_tautological_cmp): Declare.
4440 * c.opt (Wtautological-compare): New option.
4441
5a5062b8
MP
44422015-07-23 Marek Polacek <polacek@redhat.com>
4443
4444 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
4445 (ubsan_instrument_shift): Likewise.
4446
dc891fe7
MP
44472015-07-23 Marek Polacek <polacek@redhat.com>
4448
4449 PR sanitizer/66908
4450 * c-ubsan.c: Include gimplify.h.
4451 (ubsan_instrument_division): Unshare OP0 and OP1.
4452 (ubsan_instrument_shift): Likewise.
4453
451b5e48
MP
44542015-07-20 Marek Polacek <polacek@redhat.com>
4455 Richard Sandiford <richard.sandiford@arm.com>
4456
4457 PR c++/55095
4458 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
4459 Use EXPR_LOC_OR_LOC.
4460 (maybe_warn_shift_overflow): New function.
4461 * c-common.h (maybe_warn_shift_overflow): Declare.
4462 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
4463 * c.opt (Wshift-overflow): New option.
4464
fb0b2914
ML
44652015-07-16 Martin Liska <mliska@suse.cz>
4466
4467 * c-format.c (static void check_format_info_main): Use
4468 object_allocator instead of pool_allocator.
4469 (check_format_arg): Likewise.
4470 (check_format_info_main): Likewise.
4471
903f5c23
AM
44722015-07-15 Andrew MacLeod <amacleod@redhat.com>
4473
4474 * c-opts.c: Remove multiline #include comment.
4475
026c3cfd
AH
44762015-07-12 Aldy Hernandez <aldyh@redhat.com>
4477
4478 * c-common.c: Fix double word typos.
4479
bb49ee66
EB
44802015-07-10 Eric Botcazou <ebotcazou@adacore.com>
4481
4482 * c-ada-spec.h (cpp_operation): Revert latest change.
4483 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
4484 constructors and destructors.
4485
1916bcb5
AM
44862015-07-09 Andrew MacLeod <amacleod@redhat.com>
4487
4488 * c-common.h: Adjust includes for flags.h changes.
4489 * stub-objc.c: Likewise.
026c3cfd 4490
a9dcd529
EB
44912015-07-08 Eric Botcazou <ebotcazou@adacore.com>
4492
4493 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
4494 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
4495
b03b462f
JJ
44962015-07-08 Jakub Jelinek <jakub@redhat.com>
4497
4498 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
4499 are to be removed, return NULL rather than original clauses list.
4500
c7131fb2
AM
45012015-07-07 Andrew MacLeod <amacleod@redhat.com>
4502
4503 * array-notation-common.c: Adjust includes.
4504 * c-ada-spec.c: Likewise.
4505 * c-cilkplus.c: Likewise.
4506 * c-common.h: Likewise.
4507 * c-cppbuiltin.c: Likewise.
4508 * c-dump.c: Likewise.
4509 * c-format.c: Likewise.
4510 * c-gimplify.c: Likewise.
4511 * c-indentation.c: Likewise.
4512 * c-lex.c: Likewise.
4513 * c-omp.c: Likewise.
4514 * c-opts.c: Likewise.
4515 * c-pch.c: Likewise.
4516 * c-ppoutput.c: Likewise.
4517 * c-pragma.c: Likewise.
4518 * c-pretty-print.c: Likewise.
4519 * c-semantics.c: Likewise.
4520 * c-ubsan.c: Likewise.
4521 * cilk.c: Likewise.
4522 * stub-objc.c: Likewise.
4523
2a7fb83f
EB
45242015-07-07 Eric Botcazou <ebotcazou@adacore.com>
4525
4526 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
4527 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
4528
a03c9bf1
JM
45292015-07-01 Jason Merrill <jason@redhat.com>
4530
36a85135
JM
4531 * c-common.h (D_CXX11): Rename from D_CXX0X.
4532 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
4533 * c-common.c: Adjust.
4534
e7fa68d5
JM
4535 * c-opts.c (c_common_post_options): Default to C++14.
4536
a03c9bf1
JM
4537 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
4538
fe95b036
ESR
45392015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
4540
4541 Implement N4197 - Adding u8 character literals
b3d5bc62 4542 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 4543 CPP_CHAR.
b3d5bc62 4544 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 4545 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 4546 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
4547 and CPP_UTF8CHAR tokens.
4548 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 4549
da2e71c9
MLI
45502015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4551
4552 PR fortran/66605
4553 * c-common.c (do_warn_unused_parameter): Move here.
4554 * c-common.h (do_warn_unused_parameter): Declare.
4555
b155cfd9
MP
45562015-06-29 Marek Polacek <polacek@redhat.com>
4557
4558 PR c/66322
4559 * c-common.c (check_case_bounds): Add bool * parameter. Set
4560 OUTSIDE_RANGE_P.
4561 (c_add_case_label): Add bool * parameter. Pass it down to
4562 check_case_bounds.
4563 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
4564 warning here.
4565 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
4566 declarations.
4567
31521951
MP
45682015-06-27 Marek Polacek <polacek@redhat.com>
4569
4570 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
4571 or VECTOR_INTEGER_TYPE_P throughout.
4572 * c-gimplify.c: Likewise.
4573
22d03525
MP
45742015-06-26 Marek Polacek <polacek@redhat.com>
4575
4576 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4577 * c-common.c (c_fully_fold_internal): Likewise.
4578 (c_alignof_expr): Likewise.
4579 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4580 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4581 * cilk.c (create_parm_list): Likewise.
22d03525 4582
af05e6e5
MP
45832015-06-26 Marek Polacek <polacek@redhat.com>
4584
4585 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4586
f0889939
AM
45872015-06-25 Andrew MacLeod <amacleod@redhat.com>
4588
4589 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4590 * c-gimplify.c: Likewise.
4591 * c-pragma.c: Likewise.
4592 * c-ubsan.c: Likewise.
4593 * cilk.c: Likewise.
4594
ca752f39
RS
45952015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4596
4597 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4598 ggc_hasher.
4599
16a16ec7
AM
46002015-06-25 Andrew MacLeod <amacleod@redhat.com>
4601
4602 * cilk.c: Move calls.h after tm.h in the include chain.
4603
0ae9bd27
MP
46042015-06-25 Marek Polacek <polacek@redhat.com>
4605
4606 * array-notation-common.c: Use VAR_P throughout.
4607 * c-ada-spec.c: Likewise.
4608 * c-common.c: Likewise.
4609 * c-format.c: Likewise.
4610 * c-gimplify.c: Likewise.
4611 * c-omp.c: Likewise.
4612 * c-pragma.c: Likewise.
4613 * c-pretty-print.c: Likewise.
4614 * cilk.c: Likewise.
4615
62f9079a
MP
46162015-06-25 Marek Polacek <polacek@redhat.com>
4617
4618 * cilk.c (extract_free_variables): Use is_global_var.
4619
0fa16060
RS
46202015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4621
4622 * c-common.c: Don't include target-def.h.
4623
a68ae2e1
MP
46242015-06-23 Marek Polacek <polacek@redhat.com>
4625
4626 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4627 when comparing INTEGER_CSTs.
4628
c6a2f2d9
PMR
46292015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4630
4631 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4632 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4633 (dump_ada_template): Skip partially specialized types.
4634
6b4db501
MM
46352015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4636
4637 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4638 swapping.
4639
abb226c9
AM
46402015-06-17 Andrew MacLeod <amacleod@redhat.com>
4641
4642 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4643 * c-ada-spec.c: Likewise.
4644 * c-cilkplus.c: Likewise.
4645 * c-common.c: Likewise.
4646 * c-common.h: Likewise.
4647 * c-cppbuiltin.c: Likewise.
4648 * c-dump.c: Likewise.
4649 * c-format.c: Likewise.
4650 * c-gimplify.c: Likewise.
4651 * c-indentation.c: Likewise.
4652 * c-lex.c: Likewise.
4653 * c-omp.c: Likewise.
4654 * c-opts.c: Likewise.
4655 * c-pch.c: Likewise.
4656 * c-ppoutput.c: Likewise.
4657 * c-pragma.c: Likewise.
4658 * c-pretty-print.c: Likewise.
4659 * c-semantics.c: Likewise.
4660 * c-ubsan.c: Likewise.
4661 * cilk.c: Likewise.
4662 * stub-objc.c: Likewise.
4663
076fecad
PP
46642015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
4665
4666 PR c++/65168
4667 * c-common.c (c_common_truthvalue_conversion): Warn when
4668 converting an address of a reference to a truth value.
4669
13fdf2e2
AM
46702015-06-08 Andrew MacLeod <amacleod@redhat.com>
4671
4672 * array-notation-common.c : Adjust include files.
4673 * c-ada-spec.c : Likewise.
4674 * c-cilkplus.c : Likewise.
4675 * c-common.c : Likewise.
4676 * c-common.h : Likewise.
4677 * c-cppbuiltin.c : Likewise.
4678 * c-dump.c : Likewise.
4679 * c-format.c : Likewise.
4680 * c-gimplify.c : Likewise.
4681 * c-indentation.c : Likewise.
4682 * c-lex.c : Likewise.
4683 * c-omp.c : Likewise.
4684 * c-opts.c : Likewise.
4685 * c-pch.c : Likewise.
4686 * c-ppoutput.c : Likewise.
4687 * c-pragma.c : Likewise.
4688 * c-pretty-print.c : Likewise.
4689 * c-semantics.c : Likewise.
4690 * c-ubsan.c : Likewise.
4691 * cilk.c : Likewise.
4692 * stub-objc.c : Likewise.
4693
a1661b90
MP
46942015-06-08 Marek Polacek <polacek@redhat.com>
4695
4696 PR c/66415
4697 * c-format.c (location_from_offset): Return LOC if LINE is null.
4698
d7438551
AH
46992015-06-05 Aldy Hernandez <aldyh@redhat.com>
4700
4701 * c-common.h (c_parse_final_cleanups): New prototype.
4702 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4703
b3d5bc62
JJ
47042015-06-04 Sriraman Tallam <tmsriram@google.com>
4705
4706 * c-common.c (noplt): New attribute.
4707 (handle_noplt_attribute): New handler.
4708
ecb9f223
AM
47092015-06-04 Andrew MacLeod <amacleod@redhat.com>
4710
4711 * array-notation-common.c: Adjust includes for restructured coretypes.h.
4712 * c-ada-spec.c: Likewise.
4713 * c-cilkplus.c: Likewise.
4714 * c-common.c: Likewise.
4715 * c-common.h: Likewise.
4716 * c-cppbuiltin.c: Likewise.
4717 * c-dump.c: Likewise.
4718 * c-format.c: Likewise.
4719 * c-gimplify.c: Likewise.
4720 * c-indentation.c: Likewise.
4721 * c-lex.c: Likewise.
4722 * c-omp.c: Likewise.
4723 * c-opts.c: Likewise.
4724 * c-pch.c: Likewise.
4725 * c-ppoutput.c: Likewise.
4726 * c-pragma.c: Likewise.
4727 * c-pretty-print.c: Likewise.
4728 * c-semantics.c: Likewise.
4729 * c-ubsan.c: Likewise.
4730 * cilk.c: Likewise.
4731 * stub-objc.c: Likewise.
4732
6ac48155
DM
47332015-06-02 David Malcolm <dmalcolm@redhat.com>
4734
4735 PR c/66220:
4736 * c-indentation.c (should_warn_for_misleading_indentation): Use
4737 expand_location rather than expand_location_to_spelling_point.
4738 Don't warn if the guarding statement is more indented than the
4739 next/body stmts.
4740
773ce42e
DM
47412015-06-02 David Malcolm <dmalcolm@redhat.com>
4742
4743 * c-indentation.c (warn_for_misleading_indentation): Bail out
4744 immediately if -Wmisleading-indentation isn't enabled.
4745
4fef8379
ML
47462015-06-01 Martin Liska <mliska@suse.cz>
4747
4748 * c-format.c (check_format_arg):Use new type-based pool allocator.
4749 (check_format_info_main) Likewise.
4750
1edfb384
EB
47512015-05-31 Eric Botcazou <ebotcazou@adacore.com>
4752
4753 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
4754 (has_nontrivial_methods): Likewise.
4755
9677ef52
MP
47562015-05-25 Marek Polacek <polacek@redhat.com>
4757
4758 * c-ubsan.c (ubsan_instrument_shift): Use type0.
4759
fd5c817a
MP
47602015-05-22 Marek Polacek <polacek@redhat.com>
4761
4762 PR c/47043
4763 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
4764
a2f45fe6 47652015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
4766
4767 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
4768 STACK_GROWS_DOWNWARD.
4769
a2f45fe6 47702015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
4771
4772 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
4773 STACK_GROWS_DOWNWARD rather than if it is defined.
4774
0fee2ac2 47752015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 4776
0fee2ac2
MLI
4777 PR c/52952
4778 * c-format.c (location_column_from_byte_offset): New.
4779 (location_from_offset): New.
4780 (struct format_wanted_type): Add offset_loc field.
4781 (check_format_info): Move handling of location for extra arguments
4782 closer to the point of warning.
4783 (check_format_info_main): Pass the result of location_from_offset
4784 to warning_at.
4785 (format_type_warning): Pass the result of location_from_offset
4786 to warning_at.
4787
cf4ef6f7
MP
47882015-05-20 Marek Polacek <polacek@redhat.com>
4789
4790 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
4791
3a65ee74
MP
47922015-05-20 Marek Polacek <polacek@redhat.com>
4793
4794 * c-ada-spec.c (dump_sloc): Use DECL_P.
4795
21b634ae
MP
47962015-05-20 Marek Polacek <polacek@redhat.com>
4797
4798 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4799 * c-common.c: Likewise.
4800
0e50b624
DM
48012015-05-19 David Malcolm <dmalcolm@redhat.com>
4802
4803 * c-common.h (fe_file_change): Strengthen param from
4804 const line_map * to const line_map_ordinary *.
4805 (pp_file_change): Likewise.
4806 * c-lex.c (fe_file_change): Likewise.
4807 (cb_define): Use linemap_check_ordinary when invoking
4808 SOURCE_LINE.
4809 (cb_undef): Likewise.
4810 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
4811 invoking cb_file_change.
4812 (c_finish_options): Likewise.
4813 (push_command_line_include): Likewise.
4814 (cb_file_change): Strengthen param "new_map" from
4815 const line_map * to const line_map_ordinary *.
4816 * c-ppoutput.c (cb_define): Likewise for local "map".
4817 (pp_file_change): Likewise for param "map" and local "from".
4818
fab27f52
MM
48192015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4820
4821 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
4822
2fe1d762
TV
48232015-05-18 Tom de Vries <tom@codesourcery.com>
4824
4825 * c-common.c (build_va_arg_1): New function.
4826 (build_va_arg): Add address operator to va_list operand if necessary.
4827
7a37fa90
MM
48282015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
4829
4830 PR c/48956
4831 * c-common.c (int_safely_convertible_to_real_p): Define.
4832 (unsafe_conversion_p): Check conversions involving complex types.
4833 (conversion_warning): Add new warning message for conversions which
4834 discard imaginary component.
4835 * c-common.h: (enum conversion_safety): Add new enumerator for such
4836 conversions.
4837
3aa3c9fc
MP
48382015-05-14 Marek Polacek <polacek@redhat.com>
4839
4840 PR c/66066
4841 PR c/66127
4842 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
4843 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
4844 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
4845 use it. If FOR_INT_CONST, require that all evaluated operands be
4846 INTEGER_CSTs.
4847
c3388e62
DM
48482015-05-12 David Malcolm <dmalcolm@redhat.com>
4849
4850 * c-common.h (warn_for_misleading_indentation): New prototype.
4851 * c-indentation.c: New file.
4852 * c.opt (Wmisleading-indentation): New option.
4853
c7b38fd5
TV
48542015-05-12 Tom de Vries <tom@codesourcery.com>
4855
4856 PR tree-optimization/66010
4857 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
4858
381bf11e
JM
48592015-05-09 Jason Merrill <jason@redhat.com>
4860
edff0c06
JM
4861 * c-opts.c (c_common_post_options): Also clear
4862 cpp_opts->cpp_warn_cxx11_compat.
4863
129211bc
JM
4864 * c-common.h (enum cxx_dialect): Add cxx_unset.
4865 * c-common.c (cxx_dialect): Initialize to cxx_unset.
4866 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
4867
381bf11e
JM
4868 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4869 (std=gnu++0x): Mark as Undocumented.
4870 (std=gnu++1y): Add deprecated message.
4871
fe191308
JM
48722015-05-08 Jason Merrill <jason@redhat.com>
4873
765189ff
JM
4874 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
4875 * c-opts.c: Adjust.
4876
fe191308
JM
4877 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
4878
755e528f
MP
48792015-05-08 Marek Polacek <polacek@redhat.com>
4880
4881 PR c/64918
4882 * c.opt (Woverride-init-side-effects): New option.
4883
0173bd2a
MP
48842015-05-07 Marek Polacek <polacek@redhat.com>
4885
4886 PR c/65179
4887 * c-common.c (c_fully_fold_internal): Warn when left shifting a
4888 negative value.
4889 * c.opt (Wshift-negative-value): New option.
4890 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
4891 when -Wextra and C99/C++11 mode.
4892
e0f0d3b9
MP
48932015-05-07 Marek Polacek <polacek@redhat.com>
4894 Martin Uecker <uecker@eecs.berkeley.edu>
4895
4896 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
4897 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
4898
8243e2a9
JM
48992015-05-05 Jason Merrill <jason@redhat.com>
4900
4901 * c.opt (Wterminate): New.
4902
577cd070
MP
49032015-04-30 Marek Polacek <polacek@redhat.com>
4904
4905 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
4906 require that the non-constant be of a boolean type.
4907
0373796b
JT
49082015-04-29 Josh Triplett <josh@joshtriplett.org>
4909
e0f0d3b9
MP
4910 * c-common.c (handle_section_attribute): Refactor to reduce
4911 nesting and distinguish between error cases.
0373796b 4912
716c0ba6
MP
49132015-04-29 Marek Polacek <polacek@redhat.com>
4914
4915 PR c/64610
4916 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
4917 with 0/1.
4918
8848828b
JJ
49192015-04-29 Jakub Jelinek <jakub@redhat.com>
4920
4921 * c-common.h (omp_clause_mask): Unconditionally define as a class.
4922 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
4923 HOST_BITS_PER_WIDE_INT.
4924
ecd0e562
TV
49252015-04-28 Tom de Vries <tom@codesourcery.com>
4926
4927 PR tree-optimization/65887
4928 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
4929
2a877204 49302015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 4931 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
4932
4933 * c-ada-spec.c (in_function): Delete.
4934 (dump_generic_ada_node): Do not change in_function and remove the
4935 redundant code dealing with it.
4936 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
4937 (print_ada_methods): Output the static member functions in a nested
4938 package after the regular methods as well as associated renamings.
4939
4853031e
MP
49402015-04-24 Marek Polacek <polacek@redhat.com>
4941
4942 PR c/65830
4943 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
4944 and OPT_Wshift_count_overflow.
4945
8c2b7f79
MP
4946 PR c/63357
4947 * c-common.c (warn_logical_operator): Warn if the operands have the
4948 same expressions.
4949
b8787813
MP
49502015-04-24 Marek Polacek <polacek@redhat.com>
4951
4952 PR c/61534
4953 * c-common.c (warn_logical_operator): Bail if either operand comes
4954 from a macro expansion.
4955
8fba1830
BRF
49562015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4957
4958 PR target/55143
4959 * c-common.c (c_default_pointer_mode): Add definition.
4960 * c-common.h (c_default_pointer_mode): Add declaration.
4961
17958621
JJ
49622015-03-11 Jakub Jelinek <jakub@redhat.com>
4963
4964 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
4965 on record_builtin_type argument.
4966
7ccb1a11
JJ
49672015-03-10 Jakub Jelinek <jakub@redhat.com>
4968
4969 PR c/65120
4970 * c-common.c (warn_logical_not_parentheses): Don't warn for
4971 !x == 0 or !x != 0.
4972
04fd785e
MP
49732015-03-07 Marek Polacek <polacek@redhat.com>
4974
4975 PR sanitizer/65280
4976 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
4977 before trying to figure out whether we have a flexible array member.
4978
a4e26206 49792015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4980 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
4981
4982 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
4983
0d2489f4
EB
49842015-03-05 Eric Botcazou <ebotcazou@adacore.com>
4985
4986 PR ada/65319
4987 * c-ada-spec.c (print_destructor): Remove obsolete code.
4988
83ed54d7
EB
49892015-03-01 Eric Botcazou <ebotcazou@adacore.com>
4990
4991 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
4992 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
4993 DECL_TEMPLATE_RESULT emulations.
4994 (dump_ada_template)): Add guard for TYPE_METHODS.
4995
7631f0e2
MP
49962015-02-27 Marek Polacek <polacek@redhat.com>
4997
4998 PR c/65040
4999 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5000
d1783ae5
KT
50012015-02-27 Kai Tietz <ktietz@redhat.com>
5002
5003 PR c/35330
5004 * c-pragma.c (handle_pragma_weak): Do not try to create
5005 weak/alias of declarations not being function, or variable
5006 declarations.
5007
56a9f6bc
TS
50082015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5009
5010 PR libgomp/64625
5011 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5012 Remove macros.
5013 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5014
3d5cb23d
MP
50152015-02-16 Marek Polacek <polacek@redhat.com>
5016
5017 PR c/65066
5018 * c-format.c (check_format_types): Handle null param.
5019
fa008882
MP
50202015-02-13 Marek Polacek <polacek@redhat.com>
5021
5022 PR c/65040
5023 * c-format.c (check_format_types): Don't warn about different
5024 signedness if the original value is in the range of WANTED_TYPE.
5025
785f21af
JM
50262015-02-12 Jason Merrill <jason@redhat.com>
5027
5028 PR c++/64956
5029 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
5030 to the current highest version.
5031 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
5032
4886ec8e
JJ
50332015-02-04 Jakub Jelinek <jakub@redhat.com>
5034
5035 PR c/64824
5036 PR c/64868
5037 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
5038 instead of RDIV_EXPR. Use build_binary_op instead of
5039 build2_loc.
5040
40fecdd6
JM
50412015-01-30 Joseph Myers <joseph@codesourcery.com>
5042
5043 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
5044 to pass input_location as first argument.
5045
a0c88d06
TV
50462015-01-23 Tom de Vries <tom@codesourcery.com>
5047
5048 PR libgomp/64672
5049 * c.opt (fopenacc): Mark as LTO option.
5050
1506ae0e
TV
50512015-01-23 Tom de Vries <tom@codesourcery.com>
5052
5053 PR libgomp/64707
5054 * c.opt (fopenmp): Mark as LTO option.
5055
31be63ab
JJ
50562015-01-21 Jakub Jelinek <jakub@redhat.com>
5057
5058 PR c/63307
b1726d6c 5059 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
5060 (compare_decls): Fix up formatting.
5061
50622015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
5063
5064 PR c/63307
5065 * cilk.c: Include vec.h.
5066 (struct cilk_decls): New structure.
5067 (wrapper_parm_cb): Split this function to...
5068 (fill_decls_vec): ...this...
5069 (create_parm_list): ...and this.
5070 (compare_decls): New function.
5071 (for_local_cb): Remove.
5072 (wrapper_local_cb): Ditto.
5073 (build_wrapper_type): For now first traverse and fill vector of
5074 declarations then sort it and then deal with sorted vector.
5075 (cilk_outline): Ditto.
5076 (declare_one_free_variable): Ditto.
5077
6875457f
JM
50782015-01-21 Jason Merrill <jason@redhat.com>
5079
5080 PR c++/64629
5081 * c-format.c (check_format_arg): Call decl_constant_value.
5082
185c9e56
ML
50832015-01-19 Martin Liska <mliska@suse.cz>
5084
5085 * c-common.c (handle_noicf_attribute): New function.
5086
41dbbb37
TS
50872015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5088 Bernd Schmidt <bernds@codesourcery.com>
5089 James Norris <jnorris@codesourcery.com>
5090 Cesar Philippidis <cesar@codesourcery.com>
5091 Ilmir Usmanov <i.usmanov@samsung.com>
5092 Jakub Jelinek <jakub@redhat.com>
5093
5094 * c.opt (fopenacc): New option.
5095 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
5096 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5097 New macros.
5098 * c-common.h (c_finish_oacc_wait): New prototype.
5099 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
5100 (c_finish_oacc_wait): New function.
5101 * c-pragma.c (oacc_pragmas): New variable.
5102 (c_pp_lookup_pragma, init_pragma): Handle it.
5103 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
5104 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
5105 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
5106 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
5107 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
5108 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
5109 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
5110 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
5111 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
5112 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
5113 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
5114 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
5115 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
5116 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
5117 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
5118 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
5119 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
5120 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
5121 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
5122 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
5123 PRAGMA_OACC_CLAUSE_WORKER.
5124
3f8257db 51252015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
5126
5127 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
5128 for the new option fstack-protector_explicit.
5129 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
5130 (handle_stack_protect_attribute): New function.
5131
3f8257db 51322015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
5133
5134 * c.opt: New option -Warray-bounds=.
5135
adfac8df
JJ
51362015-01-09 Michael Collison <michael.collison@linaro.org>
5137
5138 * array-notation-common.c: Include hash-set.h, machmode.h,
5139 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5140 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
5141 * c-ada-spec.c: Ditto.
5142 * c-cilkplus.c: Ditto.
5143 * c-common.c: Include input.h due to flattening of tree.h.
5144 Define macro GCC_C_COMMON_C.
5145 * c-common.h: Flatten tree.h header files into c-common.h.
5146 Remove include of tree-core.h.
5147 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5148 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5149 fold-const.h, wide-int.h, and inchash.h due to
5150 flattening of tree.h.
5151 * c-dump.c: Ditto.
5152 * c-format.c: Flatten tree.h header files into c-common.h.
5153 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
5154 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5155 fold-const.h, wide-int.h, and inchash.h due to
5156 flattening of tree.h.
5157 * c-dump.c: Include hash-set.h, machmode.h,
5158 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5159 fold-const.h, wide-int.h, and inchash.h due to
5160 flattening of tree.h.
5161 * c-format.c: Include hash-set.h, machmode.h,
5162 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5163 fold-const.h, wide-int.h, inchash.h and real.h due to
5164 flattening of tree.h.
5165 * c-gimplify.c: Include hash-set.h, machmode.h,
5166 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
5167 fold-const.h, wide-int.h, and inchash.h due to
5168 flattening of tree.h.
5169 * cilk.c: Ditto.
5170 * c-lex.c: Ditto.
5171 * c-omp.c: Ditto.
5172 * c-opts.c: Ditto.
5173 * c-pch.c: Ditto.
5174 * c-ppoutput.c: Ditto.
5175 * c-pragma.c: Ditto.
5176 * c-pretty-print.c: Ditto.
5177 * c-semantics.c: Ditto.
5178 * c-ubsan.c: Ditto.
5179 * stub-objc.c: Ditto.
5180
f5481fc4
JM
51812015-01-08 Jason Merrill <jason@redhat.com>
5182
5183 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
5184 do_ubsan_in_current_function.
5185 (ubsan_maybe_instrument_reference_or_call): Likewise.
5186 * c-ubsan.h: Declare it.
5187
de35aa66
MS
51882015-01-08 Mike Stump <mikestump@comcast.net>
5189
5190 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
5191
4a9a42ab
MP
51922015-01-07 Marek Polacek <polacek@redhat.com>
5193
5194 PR c/64440
5195 * c-common.c (c_fully_fold_internal): Warn for division and modulo
5196 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
5197
2f42e5de
TS
51982015-01-05 Trevor Saunders <tsaunders@mozilla.com>
5199
5200 PR c++/31397
5201 * c.opt (Wsuggest-override): New option.
5202
5624e564
JJ
52032015-01-05 Jakub Jelinek <jakub@redhat.com>
5204
5205 Update copyright years.
5206
5bd012f8
MP
52072015-01-05 Marek Polacek <polacek@redhat.com>
5208
5209 PR c/64423
5210 * c-common.c (warn_array_subscript_with_type_char): Add location_t
5211 parameter. Use it.
5212 * c-common.h (warn_array_subscript_with_type_char): Update
5213 declaration.
5214
a7fa8d18
ESR
52152014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
5216
5217 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
5218 Control macro with flag_sized_deallocation.
5219
3f8257db 52202014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
5221
5222 * c.opt (Wdiscarded-array-qualifiers): New option.
5223
1f8d3e84
JJ
52242014-12-19 Jakub Jelinek <jakub@redhat.com>
5225
5226 PR preprocessor/63831
5227 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
5228 and __has_cpp_attribute here.
5229 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
5230 c_common_has_attribute.
5231 * c-common.h (c_common_has_attribute): New prototype.
5232 * c-lex.c (init_c_lex): Set cb->has_attribute to
5233 c_common_has_attribute instead of cb_has_attribute.
5234 (get_token_no_padding): New function.
5235 (cb_has_attribute): Renamed to ...
5236 (c_common_has_attribute): ... this. No longer static. Use
5237 get_token_no_padding, require ()s, don't build TREE_LIST
5238 unnecessarily, fix up formatting, adjust diagnostics, call
5239 init_attributes.
5240
20b06add
JM
52412014-12-15 Jason Merrill <jason@redhat.com>
5242
5243 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
5244 (-Wsized-deallocation): New.
5245 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
5246 to on in C++14 and up.
5247
94a073b2
JM
52482014-12-11 Jason Merrill <jason@redhat.com>
5249
acaa5911
JM
5250 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
5251
94a073b2
JM
5252 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
5253 we aren't complaining about VLAs.
5254
7fb66c15
MP
52552014-12-06 Marek Polacek <polacek@redhat.com>
5256
5257 PR tree-optimization/64183
5258 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
5259 shift-expression if it is integer_type_node. Use types_compatible_p.
5260
b731b390
JJ
52612014-11-29 Jakub Jelinek <jakub@redhat.com>
5262
5263 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
5264 last argument from create_tmp_var_raw and create_tmp_var calls.
5265 * cilk.c (gimplify_cilk_spawn): Likewise.
5266 * c-omp.c (c_finish_omp_atomic): Likewise.
5267
6a4da643
MP
52682014-11-28 Marek Polacek <polacek@redhat.com>
5269
5270 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
5271 instead of unsigned_type_node.
5272
541e35a6
MP
52732014-11-28 Marek Polacek <polacek@redhat.com>
5274
5275 PR c/63862
5276 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
5277 to op1_utype.
5278 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
5279 expression to unsigned_type_node.
5280
dcc97066
MW
52812014-11-20 Mark Wielaard <mjw@redhat.com>
5282
5283 PR debug/38757
5284 * c-opts.c (set_std_c89): Set lang_hooks.name.
5285 (set_std_c99): Likewise.
5286 (set_std_c11): Likewise.
5287 (set_std_cxx98): Likewise.
5288 (set_std_cxx11): Likewise.
5289 (set_std_cxx14): Likewise.
5290 (set_std_cxx1z): Likewise.
5291
aa7da51a
JJ
52922014-11-21 Jakub Jelinek <jakub@redhat.com>
5293
5294 PR target/63764
5295 * c-common.h (convert_vector_to_pointer_for_subscript): Change
5296 return type to bool.
009a3480 5297 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
5298 (convert_vector_to_pointer_for_subscript): Change return type to
5299 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
5300 and copy it into a TARGET_EXPR and use that instead of *vecp
5301 directly.
5302
538dd0b7
DM
53032014-11-19 David Malcolm <dmalcolm@redhat.com>
5304
5305 Merger of git branch "gimple-classes-v2-option-3".
5306 * ChangeLog.gimple-classes: New.
5307 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
5308 from being just a vec<gimple> to a vec<gbind *>.
5309
c39a5e99
JJ
53102014-11-18 Jakub Jelinek <jakub@redhat.com>
5311
5312 PR sanitizer/63813
5313 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
5314 argument to ptype, set type to TREE_TYPE (ptype). Don't call
5315 get_pointer_alignment for non-pointers. Use ptype, or if it is
5316 reference type, corresponding pointer type, as type of kind
5317 argument.
5318 (ubsan_maybe_instrument_reference,
5319 ubsan_maybe_instrument_member_call): Adjust callers.
5320
8537a4a9
MP
53212014-11-15 Marek Polacek <polacek@redhat.com>
5322
5323 PR middle-end/63884
5324 * array-notation-common.c (is_sec_implicit_index_fn): Return false
5325 for NULL fndecl.
5326 (extract_array_notation_exprs): Return for NULL node.
5327
2079956a
JM
53282014-11-12 Joseph Myers <joseph@codesourcery.com>
5329
5330 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
5331 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
5332
1304953e
JJ
53332014-11-12 Jakub Jelinek <jakub@redhat.com>
5334
5335 PR c/59708
5336 * c-common.c (check_builtin_function_arguments): Handle
5337 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
5338
e5e44252
AK
53392014-11-10 Andi Kleen <ak@linux.intel.com>
5340
5341 PR c/60804
5342 * c-common.h (check_no_cilk): Declare.
5343 * cilk.c (get_error_location): New function.
5344 (check_no_cilk): Dito.
5345
e64b984d
AK
53462014-11-10 Andi Kleen <ak@linux.intel.com>
5347
5348 * cilk.c (recognize_spawn): Use expression location
5349 for error message.
5350
13c21655
PC
53512014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
5352
5353 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
5354
42fd12b1
ESR
53552014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
5356
5357 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
5358 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
5359 (__cpp_range_based_for, __cpp_initializer_lists,
5360 __cpp_delegating_constructors, __cpp_nsdmi,
5361 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
5362 for C++11; (__cpp_attribute_deprecated): Remove in favor of
5363 __has_cpp_attribute.
5364 * c-lex.c (cb_has_attribute): New callback CPP function;
5365 (init_c_lex): Set has_attribute callback.
5366
6f450181
RB
53672014-11-04 Richard Biener <rguenther@suse.de>
5368
5369 * c-common.c (shorten_compare): Do not shorten mixed
5370 DFP and non-DFP compares.
5371
26f0e1d6
ESR
53722014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5373
5374 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
5375 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
5376 Commentary and rearrangement of tests.
5377 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
5378 Commentary and rearrangement of tests.
5379 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
5380 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
5381
ef4bddc2
RS
53822014-10-29 Richard Sandiford <richard.sandiford@arm.com>
5383
5384 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
5385 enum from machine_mode.
5386
c582198b
AM
53872014-10-28 Andrew MacLeod <amacleod@redhat.com>
5388
adfac8df
JJ
5389 * c-common.c: Adjust include files.
5390 * c-gimplify.c: Ditto.
5391 * cilk.c: Ditto.
5392 * c-pragma.c: Ditto.
5393 * c-ubsan.c: Ditto.
c582198b 5394
60393bbc
AM
53952014-10-27 Andrew MacLeod <amacleod@redhat.com>
5396
5397 * c-gimplify.c: Adjust include files.
5398
d723bb7c
MLI
53992014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5400
5401 PR c++/53061
5402 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
5403 c_common_initialize_diagnostics.
5404 * c-common.h: Likewise.
5405
90f3520e
MP
54062014-10-24 Marek Polacek <polacek@redhat.com>
5407
5408 PR c/56980
5409 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
5410 print "struct"/"union"/"enum" for typedefed names.
5411
59d7607a
MP
54122014-10-23 Marek Polacek <polacek@redhat.com>
5413
5414 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
5415 in unsigned type.
5416
d95a2703
JJ
54172014-10-22 Jakub Jelinek <jakub@redhat.com>
5418 Yury Gribov <y.gribov@samsung.com>
5419
5420 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5421 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
5422 instead of flag_sanitize_recover as bool flag.
5423
8e6ef852
KY
54242014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
5425
5426 * cilk.c: Revert previous change.
5427
948cf550
IZ
54282014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
5429
5430 PR c/63307
5431 * cilk.c: Include vec.h.
5432 (struct cilk_decls): New structure.
5433 (wrapper_parm_cb): Split this function to...
5434 (fill_decls_vec): ...this...
5435 (create_parm_list): ...and this.
5436 (compare_decls): New function.
5437 (for_local_cb): Remove.
5438 (wrapper_local_cb): Ditto.
5439 (build_wrapper_type): For now first traverse and fill vector of
5440 declarations then sort it and then deal with sorted vector.
5441 (cilk_outline): Ditto.
5442 (declare_one_free_variable): Ditto.
5443
92574c7c
MP
54442014-10-17 Marek Polacek <polacek@redhat.com>
5445
5446 * c-opts.c (c_common_post_options): Set warn_implicit_int.
5447 * c.opt (Wimplicit-int): Initialize to -1.
5448
83685514
AM
54492014-10-16 Andrew MacLeod <amacleod@redhat.com>
5450
5451 * c-pragma.c: Adjust include files.
5452 * c-semantics.c: Likewise.
5453
5b8300ea
DD
54542014-10-16 DJ Delorie <dj@redhat.com>
5455
5456 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
5457 multiples of bytes.
5458
5f83e90b
JM
54592014-10-14 Jason Merrill <jason@redhat.com>
5460
5461 PR c++/63455
5462 * c-common.h (CPP_PREPARSED_EXPR): New.
5463 (N_CP_TTYPES): Adjust.
5464
d73326ca
MP
54652014-10-15 Marek Polacek <polacek@redhat.com>
5466
5467 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
5468
78a7c317
DD
54692014-10-14 DJ Delorie <dj@redhat.com>
5470
5471 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
5472 types, not just __int128.
5473 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
5474 types, not just __int128.
5475 (cpp_atomic_builtins): Round pointer sizes up.
5476 (type_suffix): Use type precision, not specific types.
5477 * c-common.c (c_common_reswords): Remove __int128 special case.
5478 (c_common_type_for_size): Check for all __intN types, not just
5479 __int128.
5480 (c_common_type_for_mode): Likewise.
5481 (c_common_signed_or_unsigned_type): Likewise.
5482 (c_build_bitfield_integer_type): Likewise.
5483 (c_common_nodes_and_builtins): Likewise.
5484 (keyword_begins_type_specifier): Likewise.
5485 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
5486 __intN variants.
5487
2a22f99c
TS
54882014-10-12 Trevor Saunders <tsaunders@mozilla.com>
5489
5490 * c-common.c: Use hash_table instead of hashtab.
5491
2a8ef767
ESR
54922014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
5493
adfac8df 5494 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
5495 C++11 section.
5496
3c9aabbd
MG
54972014-10-03 Marc Glisse <marc.glisse@inria.fr>
5498
5499 PR c++/54427
5500 PR c++/57198
5501 PR c++/58845
5502 * c-common.c (warn_logical_operator): Punt for vectors.
5503
a15f7cb8
ESR
55042014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
5505
5506 Implement SD-6: SG10 Feature Test Recommendations
5507 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
5508 macros and the __has_header macro.
5509
8d0cf15e
JM
55102014-09-30 Jason Merrill <jason@redhat.com>
5511
dd5d5481
JM
5512 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
5513 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
5514 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5515
b752325e
JM
5516 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
5517 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
5518
8d0cf15e
JM
5519 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
5520 * c-common.c (c_common_reswords): Remove __is_convertible_to.
5521
083e891e
MP
55222014-09-24 Marek Polacek <polacek@redhat.com>
5523
5524 PR c/61405
5525 PR c/53874
5526 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
5527
7861b648
AK
55282014-09-23 Andi Kleen <ak@linux.intel.com>
5529
5530 * c-common.c (handle_no_reorder_attribute): New function.
5531 (c_common_attribute_table): Add no_reorder attribute.
5532
9a79452d
JM
55332014-09-22 Joseph Myers <joseph@codesourcery.com>
5534
5535 * c-cppbuiltin.c (c_cpp_builtins): Define
5536 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
5537 modes.
5538
dd69f047
JM
55392014-09-18 Joseph Myers <joseph@codesourcery.com>
5540
5541 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
5542 for supported floating-point modes.
5543
737a4826
MLI
55442014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5545
5546 * c.opt (Wpsabi): Use LangEnabledBy.
5547 * c-opts.c (c_common_handle_option): Do not handle here.
5548
8cc4b7a2
JM
55492014-09-12 Joseph Myers <joseph@codesourcery.com>
5550
5551 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
5552 macros for floating-point modes.
5553
179b5a55
MG
55542014-09-11 Marc Glisse <marc.glisse@inria.fr>
5555
5556 PR target/58757
5557 * c-cppbuiltin.c (builtin_define_float_constants): Correct
5558 __*_DENORM_MIN__ without denormals.
5559
570a11fe
JJ
55602014-09-10 Jakub Jelinek <jakub@redhat.com>
5561
5562 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5563 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5564 ubsan_create_data callers.
5565 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
5566 index is constant or BIT_AND_EXPR with constant mask and is
5567 small enough for the bound.
5568 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
5569 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
5570
b559c810
MLI
55712014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5572
5573 * c.opt: Add CppReason to various flags.
5574 (Wdate-time): Re-sort.
5575 * c-common.c: Include c-common.h earlier.
5576 (struct reason_option_codes_t): Delete.
5577 (c_option_controlling_cpp_error): Prefix global type and struct
5578 with cpp_.
5579
1ef33fd4
MLI
55802014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5581
5582 * c.opt (Wnormalized): New.
5583 (Wnormalized=): Use Enum and Reject Negative.
5584 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5585
66bb34c0
JM
55862014-09-08 Joseph Myers <joseph@codesourcery.com>
5587
5588 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5589 digits of floating-point modes if -fbuilding-libgcc.
5590
53d68b9f
JM
55912014-09-05 Joseph Myers <joseph@codesourcery.com>
5592
5593 * c-cppbuiltin.c (c_cpp_builtins): Also define
5594 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5595 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5596 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5597 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5598 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5599 __LIBGCC_STACK_GROWS_DOWNWARD__,
5600 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5601 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5602 __LIBGCC_DWARF_FRAME_REGISTERS__,
5603 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5604 __LIBGCC_STACK_POINTER_REGNUM__ and
5605 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5606 (builtin_define_with_value): Handle backslash-escaping in string
5607 macro values.
5608
f65586dc
RB
56092014-09-05 Richard Biener <rguenther@suse.de>
5610
5611 PR middle-end/63148
5612 * c-format.c (check_format_arg): Properly handle
5613 effectively signed POINTER_PLUS_EXPR offset.
5614
2b71f4a4
MLI
56152014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5616
5617 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5618 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5619 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5620 and Init.
5621 * c-opts.c (c_common_handle_option): Do not handle here.
5622 (sanitize_cpp_opts): Likewise.
5623 * c-common.c (struct reason_option_codes_t): Handle
5624 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5625
d2e4feca
MP
56262014-09-03 Marek Polacek <polacek@redhat.com>
5627
5628 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5629
9a771876
JJ
56302014-09-02 Jakub Jelinek <jakub@redhat.com>
5631 Balaji V. Iyer <balaji.v.iyer@intel.com>
5632 Igor Zamyatin <igor.zamyatin@intel.com>
5633
5634 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5635 * c-common.c (c_common_reswords): Added _Cilk_for.
5636 * c-common.h (enum rid): Added RID_CILK_FOR.
5637 (cilk_for_number_of_iterations): Add declaration.
5638 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5639 CILK_FOR.
5640 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5641 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5642
81b5d104
MLI
56432014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5644
5645 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5646 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5647 Wundef): Use CPP, Var and Init.
5648 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5649
b753b37b
MLI
56502014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5651
5652 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5653 * c-opts.c (c_common_handle_option): Do not handle here.
5654
028aee17
JM
56552014-08-25 Jason Merrill <jason@redhat.com>
5656
5657 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5658 -std=c++14 and -std=gnu++14, rather than the reverse.
5659 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5660 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5661 * c-common.h (cxx_dialect): Remove cxx1y.
5662
e4276ba5
ESR
56632014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
5664
5665 * c-common.h (enum cxx_dialect): Add cxx14.
5666 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5667 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5668 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5669
a545cacd
JM
56702014-08-22 Jason Merrill <jason@redhat.com>
5671
5672 * c.opt (std=gnu++17): Fix alias.
5673
59ea0364
MP
56742014-08-22 Marek Polacek <polacek@redhat.com>
5675
5676 PR c++/62199
5677 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
5678 check for vector types. Drop LHS argument.
5679 * c-common.h (warn_logical_not_parentheses): Adjust.
5680
596e808c
MLI
56812014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5682
5683 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5684 (Wmultichar): Likewise.
5685 (Wdate-time): Use C-family languages instead of Common. Use CPP
5686 and Var.
5687 * c-opts.c (c_common_handle_option): Do not handle the above
5688 options here.
5689 (sanitize_cpp_opts): Likewise.
5690
18767f65
MLI
56912014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5692
5693 PR fortran/44054
5694 * c-opts.c: Include tree-diagnostics.h.
5695 (c_diagnostic_finalizer): New.
5696 (c_common_initialize_diagnostics): Use it.
5697
b4413594
MLI
56982014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5699
5700 PR preprocessor/51303
5701 * c-common.c (struct reason_option_codes_t option_codes):
5702 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5703
43f9a13c
MLI
57042014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5705
5706 PR c/60975
5707 PR c/53063
5708 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5709 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5710 (c_common_post_options): Call init_global_opts_from_cpp.
5711 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5712
04159acf
MP
57132014-08-19 Marek Polacek <polacek@redhat.com>
5714
5715 PR c++/62153
5716 * c-common.c (maybe_warn_bool_compare): New function.
5717 * c-common.h (maybe_warn_bool_compare): Declare.
5718 * c.opt (Wbool-compare): New option.
5719
35aff4fb
MP
57202014-08-19 Marek Polacek <polacek@redhat.com>
5721
5722 * c.opt (Wc99-c11-compat): New option.
5723
177cce46
MP
57242014-08-19 Marek Polacek <polacek@redhat.com>
5725
5726 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5727 to warn_c90_c99_compat.
5728 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5729 to -1.
5730
6ae9194f
MLI
57312014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5732 Steven Bosscher <steven@gcc.gnu.org>
5733
5734 PR c/52952
5735 * c-format.c: Add extra_arg_loc and format_string_loc to struct
5736 format_check_results.
5737 (check_function_format): Use true and add comment for boolean
5738 argument.
5739 (finish_dollar_format_checking): Use explicit location when warning.
5740 (check_format_info): Likewise.
5741 (check_format_arg): Set extra_arg_loc and format_string_loc.
5742 (check_format_info_main): Use explicit location when warning.
5743 (check_format_types): Pass explicit location.
5744 (format_type_warning): Likewise.
5745
8e54f6d3
MLI
57462014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5747
5748 PR fortran/44054
5749 * c-format.c: Handle Fortran flags.
5750
cd4e76fc
IZ
57512014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
5752
5753 PR other/61962
5754 * array-notation-common.c (find_rank): Added handling for other
5755 types of references.
5756
f3bede71
MP
57572014-08-10 Marek Polacek <polacek@redhat.com>
5758
5759 PR c/51849
5760 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
5761 * c.opt (Wc90-c99-compat): Add option.
5762
9f25a338
TS
57632014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5764
5765 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
5766
62e4eb35
MP
57672014-08-03 Marek Polacek <polacek@redhat.com>
5768
5769 * c-common.c (check_case_value): Add location_t parameter. Use it.
5770 (c_add_case_label): Pass loc to check_case_value.
5771
b787e7a2
TS
57722014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5773
5774 * cilk.c: Use hash_map instead of pointer_map.
5775
6e2830c3
TS
57762014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5777
5778 * c-gimplify.c: Use hash_set instead of pointer_set.
5779
a7ee52fb
IZ
57802014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5781
5782 PR middle-end/61455
5783 * array-notation-common.c (extract_array_notation_exprs): Handling
5784 of DECL_EXPR added.
5785
944fa280
JJ
57862014-08-01 Jakub Jelinek <jakub@redhat.com>
5787
5788 * c-common.h (min_align_of_type): Removed prototype.
5789 * c-common.c (min_align_of_type): Removed.
5790 * c-ubsan.h (ubsan_maybe_instrument_reference,
5791 ubsan_maybe_instrument_member_call): New prototypes.
5792 * c-ubsan.c: Include stor-layout.h and builtins.h.
5793 (ubsan_maybe_instrument_reference_or_call,
5794 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
5795 functions.
5796
b4dfdc11
MG
57972014-07-31 Marc Glisse <marc.glisse@inria.fr>
5798
5799 PR c++/60517
5800 * c.opt (-Wreturn-local-addr): Move to common.opt.
5801
a41844e5
JM
58022014-07-30 Jason Merrill <jason@redhat.com>
5803
5804 PR c++/61659
5805 PR c++/61687
5806 Revert:
5807 * c.opt (-fuse-all-virtuals): New.
5808
976d5a22
TT
58092014-07-30 Tom Tromey <tromey@redhat.com>
5810
5811 PR c/59855
5812 * c.opt (Wdesignated-init): New option.
5813 * c-common.c (c_common_attribute_table): Add "designated_init".
5814 (handle_designated_init): New function.
5815
cdc94aca
MP
58162014-07-24 Marek Polacek <polacek@redhat.com>
5817
5818 PR c/57653
5819 * c-opts.c (c_finish_options): If -imacros is in effect, return.
5820
f41373b6
DS
58212014-07-16 Dodji Seketeli <dodji@redhat.com>
5822
5823 PR preprocessor/60723 - missing system-ness marks for macro tokens
5824 * c-ppoutput.c (struct print::prev_was_system_token): New data
5825 member.
5826 (init_pp_output): Initialize it.
5827 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
5828 (do_line_change): Return a flag saying if a line marker was
5829 emitted or not.
5830 (scan_translation_unit): Detect if the system-ness of the token we
5831 are about to emit is different from the one of the previously
5832 emitted token. If so, emit a line marker. Avoid emitting useless
5833 adjacent line markers. Avoid emitting line markers for tokens
5834 originating from the expansion of built-in macros.
5835 (scan_translation_unit_directives_only): Adjust.
5836
4d661eaa
MP
58372014-07-15 Marek Polacek <polacek@redhat.com>
5838
5839 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
5840 TYPE_MAX_VALUE is NULL.
5841
b108f48f
JJ
58422014-07-14 Jakub Jelinek <jakub@redhat.com>
5843
5844 PR middle-end/61294
5845 * c.opt (Wmemset-transposed-args): New warning.
5846
c0221884
JM
58472014-07-10 Jason Merrill <jason@redhat.com>
5848
5849 PR c++/61659
5850 PR c++/61687
5851 * c.opt (-fuse-all-virtuals): New.
5852
63dfbb95
RB
58532014-07-09 Richard Biener <rguenther@suse.de>
5854
5855 PR c-family/61741
5856 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5857 using unsigned arithmetic if overflow does not wrap instead of
5858 if overflow is undefined.
5859
773ec47f
MP
58602014-07-06 Marek Polacek <polacek@redhat.com>
5861
5862 PR c/6940
5863 * c.opt (Wsizeof-array-argument): New option.
5864
00a7ba58
JJ
58652014-07-03 Jakub Jelinek <jakub@redhat.com>
5866
b1726d6c 5867 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
5868 comments->count <= 1, as comments->entries might be NULL.
5869
52ec0ea3
MP
58702014-07-01 Marek Polacek <polacek@redhat.com>
5871
5872 * c.opt (Wint-conversion): New option.
5873
d5c3d343
MP
58742014-07-01 Marek Polacek <polacek@redhat.com>
5875
5876 PR c/58286
5877 * c.opt (Wincompatible-pointer-types): New option.
5878
6e7ceb17
PC
58792014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
5880
5881 PR c++/51400
5882 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
5883 Do not discard TYPE_QUALS of type.
5884
da73100b
JM
58852014-06-26 Jason Merrill <jason@redhat.com>
5886
5887 * c-common.h (enum cxx_dialect): Add cxx1z.
5888 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
5889 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
5890
08eedf75
TJ
58912014-06-26 Teresa Johnson <tejohnson@google.com>
5892
5893 * c-common.h (get_dump_info): Declare.
5894 * c-gimplify.c (c_genericize): Use saved dump files.
5895 * c-opts.c (c_common_parse_file): Begin and end dumps
5896 once around parsing invocation.
5897 (get_dump_info): New function.
5898
7b56b2f8
MP
58992014-06-23 Marek Polacek <polacek@redhat.com>
5900 Andrew MacLeod <amacleod@redhat.com>
5901
5902 PR c/61553
5903 * c-common.c (get_atomic_generic_size): Don't segfault if the
5904 type doesn't have a size.
5905
0e37a2f3
MP
59062014-06-20 Marek Polacek <polacek@redhat.com>
5907
5908 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
5909 (ubsan_walk_array_refs_r): New function.
5910 (c_genericize): Instrument array bounds.
5911 * c-ubsan.c: Include "internal-fn.h".
5912 (ubsan_instrument_division): Mark instrumented arrays as having
5913 side effects. Adjust ubsan_type_descriptor call.
5914 (ubsan_instrument_shift): Likewise.
5915 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
5916 (ubsan_instrument_bounds): New function.
5917 (ubsan_array_ref_instrumented_p): New function.
5918 (ubsan_maybe_instrument_array_ref): New function.
5919 * c-ubsan.h (ubsan_instrument_bounds): Declare.
5920 (ubsan_array_ref_instrumented_p): Declare.
5921 (ubsan_maybe_instrument_array_ref): Declare.
5922
59232014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
5924
5925 PR lto/61123
5926 * c.opt (fshort-enums): Add to LTO.
5927 * c.opt (fshort-wchar): Likewise.
5928
5c3d09f7
MP
59292014-06-16 Marek Polacek <polacek@redhat.com>
5930
5931 PR c/60439
5932 * c.opt (Wswitch-bool): Add Var.
5933
9cf32741
JJ
59342014-06-12 Jakub Jelinek <jakub@redhat.com>
5935
5936 PR middle-end/61486
5937 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
5938 #pragma omp target teams or
5939 #pragma omp {,target }teams distribute simd.
5940
62984918
JM
59412014-06-12 Jason Merrill <jason@redhat.com>
5942
5943 * c.opt (Wabi=, fabi-compat-version): New.
5944 * c-opts.c (c_common_handle_option): Handle -Wabi=.
5945 (c_common_post_options): Handle flag_abi_compat_version default.
5946 Disallow -fabi-compat-version=1.
5947 * c-common.h (abi_version_crosses): New.
5948
f961457f
JH
59492014-06-11 Jan Hubicka <hubicka@ucw.cz>
5950
adfac8df 5951 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
5952 section names that are no longer trees.
5953
92d28cbb
JJ
59542014-06-10 Jakub Jelinek <jakub@redhat.com>
5955
5956 PR fortran/60928
5957 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
5958 (omp_pragmas): ... back here.
5959
742938c9
MP
59602014-06-05 Marek Polacek <polacek@redhat.com>
5961
5962 PR c/49706
5963 * c-common.c (warn_logical_not_parentheses): New function.
5964 * c-common.h (warn_logical_not_parentheses): Declare.
5965 * c.opt (Wlogical-not-parentheses): New option.
5966
9d548dfb
MP
59672014-06-04 Marek Polacek <polacek@redhat.com>
5968
5969 PR c/30020
5970 * c-common.c (check_case_bounds): Add location parameter.
5971 Use it.
5972 (c_add_case_label): Pass loc to check_case_bounds.
5973
fedfecef
MP
59742014-06-03 Marek Polacek <polacek@redhat.com>
5975
5976 PR c/60439
5977 * c.opt (Wswitch-bool): New option.
5978
f6a7cffc
TS
59792014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5980
040d18b6
TS
5981 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
5982 Remove prototypes.
5983 (record_types_used_by_current_var_decl): Move prototype to where
5984 it belongs.
5985
f6a7cffc
TS
5986 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
5987 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
5988 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
5989
632f2871
RS
59902014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5991
5992 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
5993 * c-common.c (c_common_nodes_and_builtins): Don't initialize
5994 void_zero_node.
5995 * c-pretty-print.c (pp_c_void_constant): New function.
5996 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
5997 (c_pretty_printer::expression): Handle VOID_CST.
5998 * cilk.c (extract_free_variables): Likewise.
5999 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6000 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6001
766090c2
TS
60022014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6003
6004 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6005 * c-pragma.c (push_alignment): Adjust.
6006 (handle_pragma_push_options): Likewise.
6007
661a0813
MP
60082014-05-09 Marek Polacek <polacek@redhat.com>
6009
6010 PR c/50459
6011 * c-common.c (check_user_alignment): Return -1 if alignment is error
6012 node.
6013 (handle_aligned_attribute): Don't call default_conversion on
6014 FUNCTION_DECLs.
6015 (handle_vector_size_attribute): Likewise.
6016 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6017 (handle_sentinel_attribute): Call default_conversion and allow even
6018 integral types as an argument.
6019
2793eeab
MP
60202014-05-08 Marek Polacek <polacek@redhat.com>
6021
6022 PR c/61053
6023 * c-common.c (min_align_of_type): New function factored out from...
6024 (c_sizeof_or_alignof_type): ...here.
6025 * c-common.h (min_align_of_type): Declare.
6026
f827930a
MP
60272014-05-08 Marek Polacek <polacek@redhat.com>
6028
6029 PR c/61077
6030 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
6031 parameter type of main.
6032
ca49b74e
DD
60332014-05-07 DJ Delorie <dj@redhat.com>
6034
6035 * c-cppbuiltin.c (print_bits_of_hex): New.
6036 (builtin_define_type_minmax): Print values using hex so as not to
6037 require a pre-computed list of string values.
6038
1d60af08
KZ
60392014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
6040 Mike Stump <mikestump@comcast.net>
6041 Richard Sandiford <rdsandiford@googlemail.com>
6042
6043 * c-ada-spec.c: Include wide-int.h.
6044 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
6045 (dump_generic_ada_node): Use wide-int interfaces.
6046 * c-common.c: Include wide-int-print.h.
6047 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
6048 (pointer_int_sum): Use wide-int interfaces.
6049 (c_common_nodes_and_builtins): Use make_int_cst.
6050 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
6051 (handle_alloc_size_attribute): Use wide-int interfaces.
6052 (get_nonnull_operand): Likewise.
6053 * c-format.c (get_constant): Use tree_fits_uhwi_p.
6054 * c-lex.c: Include wide-int.h.
6055 (narrowest_unsigned_type): Take a widest_int rather than two
6056 HOST_WIDE_INTs.
6057 (narrowest_signed_type): Likewise.
6058 (interpret_integer): Update accordingly. Use wide-int interfaces.
6059 (lex_charconst): Use wide-int interfaces.
6060 * c-pretty-print.c: Include wide-int.h.
6061 (pp_c_integer_constant): Use wide-int interfaces.
6062 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
6063 INT_CST_LT_UNSIGNED.
6064
b15458be
RB
60652014-05-06 Richard Biener <rguenther@suse.de>
6066
6067 * c-opts.c (c_common_post_options): For -freestanding,
6068 -fno-hosted and -fno-builtin disable pattern recognition
6069 if not enabled explicitely.
6070
6577374e
MP
60712014-05-02 Marek Polacek <polacek@redhat.com>
6072
6073 * c.opt (Wsizeof-pointer-memaccess): Describe option.
6074
d00887e8
MP
60752014-05-01 Marek Polacek <polacek@redhat.com>
6076
6077 PR c/43245
6078 * c.opt (Wdiscarded-qualifiers): Add.
6079
f8ed5150
MP
60802014-04-30 Marek Polacek <polacek@redhat.com>
6081
6082 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
6083 INT_MIN / -1 sanitization only for integer types.
6084
45484dcf
MP
60852014-04-25 Marek Polacek <polacek@redhat.com>
6086
6087 PR c/18079
6088 * c-common.c (handle_noinline_attribute): Warn if the attribute
6089 conflicts with always_inline attribute.
6090 (handle_always_inline_attribute): Warn if the attribute conflicts
6091 with noinline attribute.
6092
38e514c0
MP
60932014-04-25 Marek Polacek <polacek@redhat.com>
6094
6095 PR c/60156
6096 * c-common.c (check_main_parameter_types): Warn about variadic main.
6097
44875f92
MS
60982014-04-24 Mike Stump <mikestump@comcast.net>
6099
6100 * c.opt (Wshadow-ivar): Default to on.
6101
dcaaa5a0
DP
61022014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
6103
6104 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
6105
c07d7c02
MP
61062014-04-23 Marek Polacek <polacek@redhat.com>
6107
6108 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
6109
1c33c9b7
JJ
61102014-04-22 Jakub Jelinek <jakub@redhat.com>
6111
6112 PR sanitizer/60275
6113 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
6114 if flag_sanitize_undefined_trap_on_error.
6115 (ubsan_instrument_division, ubsan_instrument_shift,
6116 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
6117 if !flag_sanitize_recover.
6118
793c625f
MG
61192014-04-22 Marc Glisse <marc.glisse@inria.fr>
6120
6121 PR libstdc++/43622
6122 * c-common.c (registered_builtin_types): Make non-static.
6123 * c-common.h (registered_builtin_types): Declare.
6124
b0f1bf36
RB
61252014-04-14 Richard Biener <rguenther@suse.de>
6126 Marc Glisse <marc.glisse@inria.fr>
6127
6128 PR c/60819
6129 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
6130 apply may-alias the scalar pointer type when applicable.
6131
3b07fa4a
IZ
61322014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
6133
6134 PR middle-end/60467
6135 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
6136 as possible argument for Cilk_spawn.
6137
cbbd2b1c
TB
61382014-04-11 Tobias Burnus <burnus@net-b.de>
6139
6140 PR c/60194
6141 * c.opt (Wformat-signedness): Add
6142 * c-format.c(check_format_types): Use it.
6143
6415bd5d
JM
61442014-04-11 Jason Merrill <jason@redhat.com>
6145
6146 PR c++/57926
6147 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
6148 default_conversion for an array argument.
6149
6525783a
MP
61502014-04-08 Marek Polacek <polacek@redhat.com>
6151
6152 PR sanitizer/60745
6153 * c-ubsan.c: Include asan.h.
6154 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
6155
880a467b
NS
61562014-04-03 Nathan Sidwell <nathan@codesourcery.com>
6157
6158 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
6159
7b59ff2d
MP
61602014-04-02 Marek Polacek <polacek@redhat.com>
6161
6162 * c-common.h (c_expand_expr): Remove declaration.
6163
8edbfaa6
JJ
61642014-03-28 Jakub Jelinek <jakub@redhat.com>
6165
6166 PR c++/60689
6167 * c-common.c (add_atomic_size_parameter): When creating new
6168 params vector, push the size argument first.
6169
07d72e1d
JJ
61702014-03-26 Jakub Jelinek <jakub@redhat.com>
6171
6172 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6173 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6174 ubsan_create_data callers.
6175
b35e0fa0
JJ
61762014-03-22 Jakub Jelinek <jakub@redhat.com>
6177
6178 PR debug/60603
6179 * c-opts.c (c_finish_options): Restore cb_file_change call to
6180 <built-in>.
6181
39a1ebb3
JJ
61822014-03-13 Jakub Jelinek <jakub@redhat.com>
6183
6184 PR middle-end/36282
6185 * c-pragma.c (apply_pragma_weak): Only look at
6186 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
6187 DECL_ASSEMBLER_NAME_SET_P (decl).
6188 (maybe_apply_pending_pragma_weaks): Exit early if
6189 vec_safe_is_empty (pending_weaks) rather than only when
6190 !pending_weaks.
6191 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
6192 set assembler name back to NULL afterwards.
6193
a07f6ed2
JM
61942014-03-11 Jason Merrill <jason@redhat.com>
6195
6196 * c.opt: Add -std=gnu++14.
6197
75b107f5
IB
61982014-03-11 Ian Bolton <ian.bolton@arm.com>
6199
6200 * c-opts.c (c_common_post_options): Don't override
6201 -ffp-contract=fast if unsafe-math-optimizations is on.
6202
f42c637e
PM
62032014-03-08 Paulo Matos <paulo@matos-sorge.com>
6204
22b15758 6205 * c.opt: Enable LTO FE for fshort-double.
f42c637e 6206
70e24808
JM
62072014-03-07 Jason Merrill <jason@redhat.com>
6208
6209 * c.opt: Add -std=c++14.
6210
3af9c5e9
MP
62112014-03-06 Marek Polacek <polacek@redhat.com>
6212
6213 PR c/60197
6214 * cilk.c (contains_cilk_spawn_stmt): New function.
6215 (contains_cilk_spawn_stmt_walker): Likewise.
6216 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
6217 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
6218
b3bdf019
JJ
62192014-03-03 Jakub Jelinek <jakub@redhat.com>
6220
6221 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
6222 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
6223 even when flag_preprocess_only.
6224
ca7e759d
JM
62252014-02-26 Jason Merrill <jason@redhat.com>
6226
6227 PR c++/59231
6228 PR c++/11586
6229 * c-common.c (shorten_compare): Don't check
6230 c_inhibit_evaluation_warnings.
6231
28e41874
JJ
62322014-02-19 Jakub Jelinek <jakub@redhat.com>
6233
cca615af
JJ
6234 PR c/37743
6235 * c-common.c (c_common_nodes_and_builtins): When initializing
6236 c_uint{16,32,64}_type_node, also set corresponding
6237 uint{16,32,64}_type_node to the same value.
6238
28e41874
JJ
6239 PR c++/60267
6240 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
6241 for PRAGMA_IVDEP if flag_preprocess_only.
6242
c2bf53a1
JJ
62432014-02-12 Jakub Jelinek <jakub@redhat.com>
6244
6245 PR c/60101
6246 * c-common.c (merge_tlist): If copy is true, call new_tlist,
6247 if false, add ADD itself, rather than vice versa.
6248 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
6249 copy. For SAVE_EXPR, only call merge_tlist once.
6250
8fcbce72
JJ
62512014-02-08 Jakub Jelinek <jakub@redhat.com>
6252
6253 PR middle-end/60092
6254 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
6255 and tree_to_uhwi.
6256 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
6257 functions.
6258 (c_common_attribute_table): Add alloc_align and assume_aligned
6259 attributes.
6260
0a756a3f
MP
62612014-02-06 Marek Polacek <polacek@redhat.com>
6262
6263 PR c/60087
6264 * c-common.c (warn_for_sign_compare): Call warning_at with location
6265 instead of warning.
6266
7ec4847a
MP
62672014-02-05 Marek Polacek <polacek@redhat.com>
6268
6269 PR c/53123
6270 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
6271 statement.
6272
66f20604
MP
62732014-02-04 Marek Polacek <polacek@redhat.com>
6274
6275 PR c/60036
6276 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
6277 SAVE_EXPR.
6278
5d77fb19
MG
62792014-02-03 Marc Glisse <marc.glisse@inria.fr>
6280
6281 PR c++/53017
6282 PR c++/59211
6283 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
6284 handle_vector_size_attribute, handle_nonnull_attribute): Call
6285 default_conversion on the attribute argument.
6286 (handle_nonnull_attribute): Increment the argument number.
6287
81e5eca8
MP
62882014-01-31 Marek Polacek <polacek@redhat.com>
6289
6290 PR c/59963
6291 * c-common.c (add_atomic_size_parameter): Pass vNULL to
6292 build_function_call_vec.
6293 (resolve_overloaded_builtin): Likewise.
6294 * c-common.h (build_function_call_vec): Adjust declaration.
6295
68fca595
MP
62962014-01-30 Marek Polacek <polacek@redhat.com>
6297
6298 PR c/59940
6299 * c-common.h (unsafe_conversion_p): Adjust declaration.
6300 (warnings_for_convert_and_check): Likewise.
6301 (convert_and_check): Likewise.
6302 * c-common.c (unsafe_conversion_p): Add location parameter. Call
6303 expansion_point_location_if_in_system_header on it.
6304 (warnings_for_convert_and_check): Add location parameter. Call
6305 expansion_point_location_if_in_system_header on it. Use it.
6306 (convert_and_check): Add location parameter. Use it.
6307 (conversion_warning): Likewise.
6308 (c_add_case_label): Adjust convert_and_check calls.
6309 (scalar_to_vector): Adjust unsafe_conversion_p calls.
6310
b72271b9
BI
63112014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
6312
6313 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
6314 flag_cilkplus.
6315 * c-pragma.c (init_pragma): Likewise.
6316 * c.opt: Likewise.
6317
393e8e8b
MP
63182014-01-23 Marek Polacek <polacek@redhat.com>
6319
6320 PR c/59846
6321 * c-common.c (shorten_compare): Add location_t parameter.
6322 * c-common.h (shorten_binary_op): Adjust declaration.
6323
f04dda30
MP
63242014-01-23 Marek Polacek <polacek@redhat.com>
6325
6326 PR c/58346
6327 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
6328 * c-common.h: Declare it.
6329
621955cb
EB
63302014-01-20 Eric Botcazou <ebotcazou@adacore.com>
6331
6332 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
6333 * c-ada-spec.c (dump_ads): Likewise.
6334 (cpp_check): Likewise.
6335 (dump_ada_specs): Likewise.
6336
63372014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
6338
6339 PR c++/49718
6340 * c-common.c (handle_no_instrument_function_attribute): Allow
6341 no_instrument_function attribute in class member
6342 definition/declaration.
6343
241f845a
JJ
63442014-01-15 Jakub Jelinek <jakub@redhat.com>
6345
6346 PR c/58943
6347 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
6348 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
6349 being COMPOUND_EXPR.
6350 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
6351 operand a SAVE_EXPR and second MODIFY_EXPR.
6352
e83b8e2e
JJ
63532014-01-09 Jakub Jelinek <jakub@redhat.com>
6354
6355 PR target/58115
6356 * c-pch.c (c_common_write_pch): Call
6357 prepare_target_option_nodes_for_pch.
6358
23a5b65a
RS
63592014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6360
6361 Update copyright years
6362
f9030485
RS
63632014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6364
6365 * array-notation-common.c, c-cilkplus.c: Use the standard form for
6366 the copyright notice.
6367
f2aa696b
EB
63682013-12-28 Eric Botcazou <ebotcazou@adacore.com>
6369
6370 * c-ada-spec.c (print_constructor): New function.
6371 (print_destructor): Retrieve the origin of the destructor.
6372 (print_ada_declaration): Revamp handling of constructors/destructors.
6373
3f8257db 63742013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
6375 Bill Maddox <maddox@google.com>
6376 Jason Merrill <jason@redhat.com>
6377
6378 * c.opt: Add -fdeclone-ctor-dtor.
6379 * c-opts.c (c_common_post_options): Default to on iff -Os.
6380
41958c28
BI
63812013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
6382
6383 * c-common.c (c_common_attribute_table): Added "cilk simd function"
6384 attribute.
6385 * c-pragma.h (enum pragma_cilk_clause): Remove.
6386 (enum pragma_omp_clause): Added the following fields:
6387 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
6388 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
6389 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
6390 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
6391 PRAGMA_CILK_CLAUSE_UNIFORM.
6392
b1726d6c 6393
12893402
BI
63942013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
6395
6396 * cilk.c (cilk_outline): Made this function non-static.
6397 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
6398 (create_cilk_wrapper): Added a new parameter: a function pointer.
6399 (c_install_body_w_frame_cleanup): Remove
6400 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
6401 * c-common.h (cilk_outline): New prototype.
6402 (gimplify_cilk_spawn): Removed two parameters.
6403 (cilk_install_body_with_frame_cleanup): New prototype.
6404 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
6405 CILK_SPAWN_STMT case.
6406
085b42ed
BS
64072013-12-11 Bernd Schmidt <bernds@codesourcery.com>
6408
2ce064c3
BS
6409 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
6410
085b42ed
BS
6411 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
6412 (int_array_type_node): Remove.
6413 * c-common.c (c_common_nodes_and_builtins): Don't build it.
6414
9e36c9ed
MP
64152013-12-05 Marek Polacek <polacek@redhat.com>
6416
6417 PR c/52023
6418 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
6419 [ADJUST_FIELD_ALIGN].
6420
296674db
JM
64212013-12-04 Joseph Myers <joseph@codesourcery.com>
6422
6423 PR c/52023
6424 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
6425 and check field alignment if set.
6426 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
6427 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
6428
b1726d6c 64292013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
6430 Marek Polacek <polacek@redhat.com>
6431
6432 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
6433 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
6434
d7947e19
L
64352013-11-29 H.J. Lu <hongjiu.lu@intel.com>
6436
6437 PR c/59309
6438 * cilk.c (gimplify_cilk_spawn): Properly handle function without
6439 arguments.
6440
fad7652e
JJ
64412013-11-29 Jakub Jelinek <jakub@redhat.com>
6442
6443 PR c/59280
6444 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
6445 goto invalid. If it is error_mark_node, don't issue further
6446 diagnostics.
6447
8b5e1202
SO
64482013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
6449
6450 * c.opt (Wopenmp-simd): New.
6451
0a508bb6
JJ
64522013-11-22 Jakub Jelinek <jakub@redhat.com>
6453
6454 * c-ubsan.h (ubsan_instrument_return): New prototype.
6455 * c-ubsan.c (ubsan_instrument_return): New function.
6456
2fb9a547
AM
64572013-11-22 Andrew MacLeod <amacleod@redhat.com>
6458
6459 * c-common.c: Add required include files from gimple.h.
6460 * c-gimplify.c: Likewise
6461 * cilk.c: Likewise
6462
8400e75e
DM
64632013-11-22 David Malcolm <dmalcolm@redhat.com>
6464
6465 * c-common.c (unsafe_conversion_p): Remove use of
6466 EXPR_LOC_OR_HERE macro.
6467 (conversion_warning): Likewise.
6468 (warnings_for_convert_and_check): Likewise.
6469 (warn_for_collisions_1): Likewise.
6470 (shorten_compare): Likewise, and remove use of in_system_header
6471 macro, using the location from the former.
6472 * c-lex.c (dump_one_header): Remove use of input_filename macro.
6473 (cb_def_pragma): Remove use of in_system_header macro.
6474 (lex_string): Likewise.
6475 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
6476
eb1ce453
KZ
64772013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6478 Mike Stump <mikestump@comcast.net>
6479 Richard Sandiford <rdsandiford@googlemail.com>
6480
6481 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
6482 instead of TREE_INT_CST_LOW, in cases where there is a protecting
6483 tree_fits_shwi_p or tree_fits_uhwi_p.
6484 (dump_generic_ada_node): Likewise.
6485 * c-format.c (check_format_arg): Likewise.
6486 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6487
6b3b8c27
KZ
64882013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
6489
6490 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
6491
49b0aa18
JC
64922013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
6493
6494 PR c/53001
6495 * c-common.c (unsafe_conversion_p): Make this function
6496 return an enumeration with more detail.
6497 (conversion_warning): Use the new return type of
6498 unsafe_conversion_p to separately warn either about conversions
6499 that lower floating point number precision or about the other
6500 kinds of conversions.
6501 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
6502 (unsafe_conversion_p): switching return type to
6503 conversion_safety enumeration.
49b0aa18
JC
6504 * c.opt: Adding new warning -Wfloat-conversion and
6505 enabling it with -Wconversion.
6506
b826515a
BS
65072013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
6508
8e745a17
JJ
6509 * c-opts.c: Include plugin.h.
6510 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 6511
b9a55b13
MP
65122013-11-19 Marek Polacek <polacek@redhat.com>
6513
6514 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
6515 call.
6516 (ubsan_instrument_shift): Likewise.
6517 (ubsan_instrument_vla): Likewise.
6518
7d362f6c
RS
65192013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6520
6521 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
6522 cast to unsigned type.
6523
386b1f1f
RS
65242013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6525
6526 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
6527 tree_low_cst.
6528 (complete_array_type): Update comment to refer to tree_to_[su]hwi
6529 rather than tree_low_cst.
6530
ae7e9ddd
RS
65312013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6532
6533 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
6534 tree_to_uhwi throughout.
6535
9439e9a1
RS
65362013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6537
6538 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
6539 tree_low_cst (..., 0) with tree_to_shwi throughout.
6540
cc269bb6
RS
65412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6542
6543 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
6544 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
6545
9541ffee
RS
65462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
6547
6548 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
6549 host_integerp (..., 0) with tree_fits_shwi_p throughout.
6550
c02065fc
AH
65512013-11-15 Aldy Hernandez <aldyh@redhat.com>
6552
6553 * c-cilkplus.c: New file.
6554 * c-common.c (readonly_error): Add location argument.
6555 * c-common.h (readonly_error): Same.
6556 (c_finish_cilk_clauses): Protoize.
6557 (c_check_cilk_loop): Same.
6558 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
6559 Do not fail on error_mark_node.
6560 Abstract increment canonicalization to here...
6561 (c_omp_for_incr_canonicalize_ptr): New.
6562 c-pragma.c (init_pragma): Register "simd" pragma.
6563 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
6564 (enum pragma_cilk_clause): New.
6565
9cc65f15
RS
65662013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
6567
6568 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
6569 wchar_type and host_integerp checks.
6570
18f429e2
AM
65712013-11-14 Andrew MacLeod <amacleod@redhat.com>
6572
6573 * c-common.c: Likewise.
6574 * c-gimplify.c: Likewise.
6575 * cilk.c: Likewise.
6576
d8a2d370
DN
65772013-11-14 Diego Novillo <dnovillo@google.com>
6578
6579 * c-common.c: Include fold-const.h.
6580 Include stor-layout.h.
6581 Include calls.h.
6582 Include stringpool.h.
6583 Include attribs.h.
6584 Include varasm.h.
6585 Include trans-mem.h.
6586 * c-cppbuiltin.c: Include stor-layout.h.
6587 Include stringpool.h.
6588 * c-format.c: Include stringpool.h.
6589 * c-lex.c: Include stringpool.h.
6590 Include stor-layout.h.
6591 * c-pragma.c: Include stringpool.h.
6592 Include attribs.h.
6593 Include varasm.h.
6594 Include gcc-symtab.h.
6595 * c-pretty-print.c: Include stor-layout.h.
6596 Include attribs.h.
6597 * cilk.c: Include stringpool.h.
6598 Include calls.h.
6599
38b7bc7f
JM
66002013-11-13 Joseph Myers <joseph@codesourcery.com>
6601
6602 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6603 * c-common.c (c_common_reswords): Add __auto_type.
6604 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6605
45b0be94
AM
66062013-11-12 Andrew MacLeod <amacleod@redhat.com>
6607
18f429e2
AM
6608 * c-common.c: Include gimplify.h.
6609 * c-gimplify.c: Likewise.
6610 * cilk.c: Likewise.
6611 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6612 * c-ubsan.c: Don't include gimple.h.
45b0be94 6613
582d9b50
JM
66142013-11-12 Joseph Myers <joseph@codesourcery.com>
6615
6616 * c-common.c (c_common_reswords): Add _Thread_local.
6617
6b28e197
JM
66182013-11-09 Joseph Myers <joseph@codesourcery.com>
6619
6620 * c-common.c (atomic_size_supported_p): New function.
6621 (resolve_overloaded_atomic_exchange)
6622 (resolve_overloaded_atomic_compare_exchange)
6623 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6624 Use it instead of comparing size with a local list of sizes.
6625
267bac10
JM
66262013-11-07 Andrew MacLeod <amacleod@redhat.com>
6627 Joseph Myers <joseph@codesourcery.com>
6628
6629 * c-common.h (enum rid): Add RID_ATOMIC.
6630 * c-common.c (c_common_reswords): Add _Atomic.
6631 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6632 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6633 * c-format.c (check_format_types): Check for extra _Atomic
6634 qualifiers in format argument.
6635 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6636 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6637
5157b91e
TB
66382013-11-06 Tobias Burnus <burnus@net-b.de>
6639
6640 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6641
6dbe0958
JM
66422013-11-06 Joseph Myers <joseph@codesourcery.com>
6643
6644 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6645 standards modes.
6646 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6647 to mean lack of IEEE 754 support.
6648
e8ff5196
TB
66492013-11-05 Tobias Burnus <burnus@net-b.de>
6650
6651 * c.opt (-Wdate-time): New option
6652 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6653
254a0760
JM
66542013-11-05 Joseph Myers <joseph@codesourcery.com>
6655
6656 * c-cppbuiltin.c (cpp_iec_559_value): Test
6657 flag_excess_precision_cmdline not flag_excess_precision.
6658
6d7f7e0a
TB
66592013-11-05 Tobias Burnus <burnus@net-b.de>
6660
6661 * c.opt (fopenmp-simd): New option.
6662 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6663 (omp_pragmas): ... this new struct.
6664 (c_pp_lookup_pragma): Also walk omp_pragmas.
6665 (init_pragma): Init pragmas for -fopenmp-simd.
6666
55a7f02f
MP
66672013-11-04 Marek Polacek <polacek@redhat.com>
6668
6669 PR c++/58979
6670 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6671
9193fb05
JM
66722013-11-04 Joseph Myers <joseph@codesourcery.com>
6673
6674 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6675 New functions.
6676 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6677
94159ecf
EB
66782013-11-04 Eric Botcazou <ebotcazou@adacore.com>
6679
6680 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6681 (dump_ada_specs): Adjust prototype of second callback.
6682 * c-ada-spec.c (cpp_check): New global variable.
6683 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6684 (print_generic_ada_decl): Likewise.
6685 (has_static_fields): Change return type to bool and add guard.
6686 (has_nontrivial_methods): New predicate.
6687 (is_tagged_type): Change return type to bool.
6688 (separate_class_package): Call has_nontrivial_methods.
6689 (pp_ada_tree_identifier): Minor tweaks.
6690 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6691 (dump_ada_array_domains): Likewise.
6692 (dump_ada_array_type): Likewise.
6693 (dump_template_types): Remove cpp_check parameter and do not pass it to
6694 dump_generic_ada_node.
6695 (dump_ada_template): Likewise.
6696 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6697 recursively.
6698 (print_ada_methods): Change return type to integer. Remove cpp_check
6699 parameter and do not pass it down.
6700 (dump_nested_types): Remove cpp_check parameter and do not pass it to
6701 dump_generic_ada_node.
6702 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
6703 accessing methods.
6704 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6705 down. Use has_nontrivial_methods to recognize C++ classes. Use return
6706 value of print_ada_methods.
6707 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
6708 Set cpp_check to it before invoking dump_ada_nodes.
6709 (dump_ada_specs): Likewise.
6710
b906f4ca
MP
67112013-11-03 Marek Polacek <polacek@redhat.com>
6712
6713 * c-ubsan.c: Don't include hash-table.h.
6714 (ubsan_instrument_vla): New function.
6715 * c-ubsan.h: Declare it.
6716
5e20cdc9
DM
67172013-10-31 David Malcolm <dmalcolm@redhat.com>
6718
6719 Automated part of renaming of symtab_node_base to symtab_node.
6720
6721 Patch autogenerated by rename_symtab.py from
6722 https://github.com/davidmalcolm/gcc-refactoring-scripts
6723 revision 58bb219cc090b2f4516a9297d868c245495ee622
6724
6725 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6726 symtab_node_base to symtab_node.
6727
7057e645
ESR
67282013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
6729
8e745a17 6730 Implement C++14 digit separators.
7057e645
ESR
6731 * c-lex.c (interpret_float): Remove digit separators from scratch string
6732 before building real literal.
6733
193ea7bc
JJ
67342013-10-30 Jakub Jelinek <jakub@redhat.com>
6735
6736 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
6737
939b37da
BI
67382013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6739
6740 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
6741 fields.
6742 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
6743 enabled.
6744 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
6745 (insert_cilk_frame): New prototype.
6746 (cilk_init_builtins): Likewise.
6747 (gimplify_cilk_spawn): Likewise.
6748 (c_cilk_install_body_w_frame_cleanup): Likewise.
6749 (cilk_detect_spawn_and_unwrap): Likewise.
6750 (cilk_set_spawn_marker): Likewise.
6751 (build_cilk_sync): Likewise.
6752 (build_cilk_spawn): Likewise.
6753 * cilk.c: New file.
6754
67348ccc
DM
67552013-10-29 David Malcolm <dmalcolm@redhat.com>
6756
6757 Patch autogenerated by refactor_symtab.py from
6758 https://github.com/davidmalcolm/gcc-refactoring-scripts
6759 revision 58bb219cc090b2f4516a9297d868c245495ee622
6760
6761 * c-gimplify.c (c_genericize): Update for conversion of symtab types
6762 to a true class hierarchy.
6763 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
6764
d570872d
RS
67652013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
6766
6767 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
6768
98906124
JL
67692013-10-26 Jeff Law <law@redhat.com>
6770
adfac8df
JJ
6771 * c-common.c (c_define_builtins): Remove mudflap support.
6772 * c.opt: Ignore and warn for mudflap options.
98906124 6773
d73749df 67742013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
6775
6776 PR other/33426
6777 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
6778 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
6779
3f04b1bb
JM
67802013-10-23 Jason Merrill <jason@redhat.com>
6781
6782 * c-format.c (gcc_cxxdiag_char_table): Add %X.
6783
acf0174b
JJ
67842013-10-11 Jakub Jelinek <jakub@redhat.com>
6785
acd15a28
JJ
6786 * c-common.h (omp_clause_mask::operator !=): New method.
6787 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
6788 instead of if (mask & something) tests everywhere.
6789
acf0174b
JJ
6790 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
6791 201307 instead of 201107.
6792 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
6793 (c_common_attribute_table): Add "omp declare target" and
6794 "omp declare simd" attributes.
6795 (handle_omp_declare_target_attribute,
6796 handle_omp_declare_simd_attribute): New functions.
6797 * c-omp.c: Include c-pragma.h.
6798 (c_finish_omp_taskgroup): New function.
6799 (c_finish_omp_atomic): Add swapped argument, if true,
6800 build the operation first with rhs, lhs arguments and use NOP_EXPR
6801 build_modify_expr.
6802 (c_finish_omp_for): Add code argument, pass it down to make_code.
6803 (c_omp_split_clauses): New function.
6804 (c_split_parallel_clauses): Removed.
6805 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
6806 c_omp_declare_simd_clauses_to_decls): New functions.
6807 * c-common.h (omp_clause_mask): New type.
6808 (OMP_CLAUSE_MASK_1): Define.
6809 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
6810 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
6811 omp_clause_mask::operator |, omp_clause_mask::operator &,
6812 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
6813 omp_clause_mask::operator ==): New methods.
6814 (enum c_omp_clause_split): New.
6815 (c_finish_omp_taskgroup): New prototype.
6816 (c_finish_omp_atomic): Add swapped argument.
6817 (c_finish_omp_for): Add code argument.
6818 (c_omp_split_clauses): New prototype.
6819 (c_split_parallel_clauses): Removed.
6820 (c_omp_declare_simd_clauses_to_numbers,
6821 c_omp_declare_simd_clauses_to_decls): New prototypes.
6822 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
6823 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
6824 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
6825 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
6826 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
6827 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
6828 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
6829 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
6830 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
6831 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
6832 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
6833 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
6834 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
6835 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
6836 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
6837 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
6838 PRAGMA_OMP_CLAUSE_UNIFORM.
6839
826cacfe
MG
68402013-10-09 Marc Glisse <marc.glisse@inria.fr>
6841
6842 PR tree-optimization/20318
6843 * c-common.c (handle_returns_nonnull_attribute): New function.
6844 (c_common_attribute_table): Add returns_nonnull.
6845
2284b034
MG
68462013-10-03 Marc Glisse <marc.glisse@inria.fr>
6847
6848 PR c++/19476
6849 * c.opt (fcheck-new): Move to common.opt.
6850
b56e9788
MP
68512013-09-25 Marek Polacek <polacek@redhat.com>
6852 Jakub Jelinek <jakub@redhat.com>
6853
6854 PR sanitizer/58413
6855 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
6856 an expression if we can prove it is correct.
6857 (ubsan_instrument_division): Likewise. Remove unnecessary
6858 check.
6859
ce6923c5
MP
68602013-09-18 Marek Polacek <polacek@redhat.com>
6861
6862 PR sanitizer/58411
6863 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
6864 Declare it.
6865 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
6866
fb5610fb
IS
68672013-09-14 Iain Sandoe <iain@codesourcery.com>
6868
6869 PR target/48094
6870 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
6871 fobjc-gc, freplace-objc-classes): Accept for LTO.
6872
88b0e79e
JC
68732013-09-13 Jacek Caban <jacek@codeweavers.com>
6874
6875 * c-target.def: New hook
6876
c9b0866a
PC
68772013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6878
6879 PR c++/43452
6880 * c.opt (Wdelete-incomplete): Add.
6881
0af94e6f
JR
68822013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6883
6884 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
6885 (vector_types_compatible_elements_p): New function.
6886 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
6887 declaration.
6888 (vector_types_compatible_elements_p): Declare.
6889
7c26172c
GDR
68902013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6891
6892 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
6893 a virtual member function.
6894 (pp_simple_type_specifier): Remove.
6895 (pp_c_type_specifier): Likewise.
6896 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
6897 Rename from pp_c_type_specifier. Adjust.
6898 (c_pretty_printer::c_pretty_printer): Do not assign to
6899 simple_type_specifier.
6900
20059c8b
GDR
69012013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6902
6903 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
6904 member function.
6905 (c_pretty_printer::storage_class_specifier): Likewise.
6906 (c_pretty_printer::initializer): Likewise.
6907 (pp_declaration): Remove.
6908 (pp_declaration_specifiers): Likewise.
6909 (pp_abstract_declarator): Likewise.
6910 (pp_declarator): Likewise.
6911 (pp_type_id): Likewise.
6912 (pp_statement): Likewise.
6913 (pp_constant): Likewise.
6914 (pp_id_expression): Likewise.
6915 (pp_primary_expression): Likewise.
6916 (pp_unary_expression): Likewise.
6917 (pp_multiplicative_expression): Likewise.
6918 (pp_conditional_expression): Likewise.
6919 (pp_assignment_expression): Likewise.
6920 (pp_expression): Likewise.
6921 (pp_c_type_id): Likewise.
6922 (pp_c_storage_class_specifier): Likewise.
6923 * c-pretty-print.c (pp_c_type_cast): Tidy.
6924 (pp_c_pointer): Likewise.
6925 (pp_c_type_specifier): Likewise.
6926 (pp_c_parameter_type_list): Likewise.
6927 (pp_c_function_definition): Likewise.
6928 (pp_c_init_declarator): Likewise.
6929 (pp_c_initializer_list): Likewise.
6930 (pp_c_constructor_elts): Likewise.
6931 (c_pretty_printer::direct_abstract_declarator): Likewise.
6932 (c_pretty_printer::declaration_specifiers): Likewise.
6933 (c_pretty_printer::primary_expression): Likewise.
6934 (c_pretty_printer::postfix_expression): Likewise.
6935 (c_pretty_printer::type_id): Rename from pp_c_type_id.
6936 (c_pretty_printer::storage_class_specifier): Rename from
6937 pp_c_storage_class_specifier.
6938 (c_pretty_printer::initializer): Rename from pp_c_initializer.
6939 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
6940 storage_class_specifier, initializer, offset_list, flags.
6941
de5a5fa1
MP
69422013-08-30 Marek Polacek <polacek@redhat.com>
6943
6944 * c-ubsan.c: New file.
6945 * c-ubsan.h: New file.
6946
8f0e4d72
GDR
69472013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6948
6949 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
6950 member function.
6951 (c_pretty_printer::declaration_specifiers): Likewise.
6952 (c_pretty_printer::declarator): Likewise.
6953 (c_pretty_printer::abstract_declarator): Likewise.
6954 (c_pretty_printer::direct_abstract_declarator): Likewise.
6955 (c_pretty_printer::direct_declarator): Likewise.
6956 (c_pretty_printer::function_specifier): Likewise.
6957 (pp_declaration): Adjust.
6958 (pp_declaration_specifiers): Likewise.
6959 (pp_abstract_declarator): Likewise.
6960 (pp_direct_declarator): Likewise.
6961 (pp_function_specifier): Likewise.
6962 (pp_direct_abstract_declarator): Remove as unused.
6963 (pp_c_declaration): Remove.
6964 (pp_c_declaration_specifiers): Likewise.
6965 (pp_c_declarator): Likewise.
6966 (pp_c_direct_declarator): Likewise.
6967 (pp_c_function_specifier): Likewise.
6968 (pp_c_direct_abstract_declarator): Likewise.
6969 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
6970 from pp_c_abstract_declarator. Adjust.
6971 (c_pretty_printer::direct_abstract_declarator): Rename from
6972 pp_c_direct_abstract_declarator. Adjust.
6973 (c_pretty_printer::function_specifier): Rename from
6974 pp_c_function_specifier. Adjust.
6975 (c_pretty_printer::declaration_specifiers): Rename from
6976 pp_c_declaration_specifiers. Adjust.
6977 (c_pretty_printer::direct_declarator): Rename from
6978 pp_c_direct_declarator. Adjust.
6979 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
6980 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
6981 (c_pretty_printer::c_pretty_printer): Do not assign to
6982 declaration, declaration_specifiers, declarator,
6983 direct_declarator, direct_abstract_declarator, function_specifier.
6984
00d34d3a
GDR
69852013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
6986
6987 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
6988 virtual member function.
6989 (c_pretty_printer::multiplicative_expression): Likewise.
6990 (c_pretty_printer::conditional_expression): Likewise.
6991 (c_pretty_printer::assignment_expression): Likewise.
6992 (c_pretty_printer::expression): Likewise.
6993 (pp_unary_expression): Adjust.
6994 (pp_multiplicative_expression): Likewise.
6995 (pp_assignment_expression): Likewise.
6996 (pp_conditional_expression): Likewise.
6997 (pp_expression): Likewise.
6998 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
6999 from pp_c_unary_expression. Adjust.
7000 (c_pretty_printer::multiplicative_expression): Rename from
7001 pp_c_multiplicative_expression. Adjust.
7002 (c_pretty_printer::conditional_expression): Rename from
7003 pp_c_conditional_expression. Adjust.
7004 (c_pretty_printer::assignment_expression): Rename from
7005 pp_c_assignment_expression. Adjust.
7006 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7007 (c_pretty_printer::c_pretty_printer): Do not assign to
7008 unary_expression, multiplicative_expression,
7009 conditional_expression, expression.
7010
fb22178f
GDR
70112013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7012
7013 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7014 virtual member function.
7015 (pp_postfix_expression): Adjust.
7016 (pp_c_postfix_expression): Remove.
7017 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7018 from pp_c_postfix_expression. Adjust.
7019 (c_pretty_printer::c_pretty_printer): Do not assign to
7020 postfix_expression.
7021
7ecc2600
GDR
70222013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7023
7024 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
7025 virtua member function.
7026 (pp_primary_expression): Adjust.
7027 (pp_c_primary_expression): Remove.
7028 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
7029 from pp_c_primary_expression. Adjust.
7030 (pp_c_initializer_list): Use pp_primary_expression.
7031 (c_pretty_printer::c_pretty_printer): Do not assign to
7032 primary_expression.
7033
0691175f
GDR
70342013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7035
7036 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
7037 * c-pretty-print.c (M_): Remove.
7038 (c_pretty_printer::translate_string): Define.
7039 (pp_c_type_specifier): Use it.
7040 (pp_c_primary_expression): Likewise.
7041 (pp_c_expression): Likewise.
7042
66dfe4c4
GDR
70432013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7044
7045 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
7046 virtual function.
7047 (pp_c_id_expression): Remove.
7048 (pp_id_expression): Adjust.
7049 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
7050 pp_c_id_expression. Adjust.
7051 (pp_c_postfix_expression): Use pp_id_expression.
7052 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
7053
ca43e9d5
GDR
70542013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
7055
7056 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
7057 member function.
7058 (pp_constant): Adjust.
7059 (pp_c_constant): Remove.
7060 * c-pretty-print.c (c_pretty_printer::constant): Rename from
7061 pp_c_constant. Adjust.
7062 (pp_c_constant)
7063 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
7064 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
7065
da6ca2b5
GDR
70662013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7067
7068 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
7069 (c_pretty_printer::c_pretty_printer): Declare.
7070 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
7071 c_pretty_printer_init. Adjust.
7072 (print_c_tree): Do not call c_pretty_printer_init.
7073 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
7074
65a372f4
AC
70752013-08-09 Arnaud Charlet <charlet@adacore.com>
7076
7077 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
7078
fd9b0f32
PC
70792013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
7080
7081 PR c++/58080
7082 * c-common.c (pointer_int_sum): Add bool parameter.
7083 * c-common.h (pointer_int_sum): Adjust declaration.
7084
e0aec1e9
GDR
70852013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
7086
7087 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
7088 c_pretty_printer variable.
7089
b066401f
GDR
70902013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7091
7092 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
7093 (pp_base): Remove.
7094 (pp_c_base): Likewise. Adjust users.
7095 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
7096 (pp_c_whitespace): Do not call pp_base.
7097 (pp_c_left_paren): Likewise.
7098 (pp_c_right_paren): Likewise.
7099 (pp_c_left_brace): Likewise.
7100 (pp_c_right_brace): Likewise.
7101 (pp_c_left_bracket): Likewise.
7102 (pp_c_right_bracket): Likewise.
7103 (pp_c_dot): Likewise.
7104 (pp_c_ampersand): Likewise.
7105 (pp_c_star): Likewise.
7106 (pp_c_arrow): Likewise.
7107 (pp_c_semicolon): Likewise.
7108 (pp_c_complement): Likewise.
7109 (pp_c_exclamation): Likewise.
7110 (pp_c_direct_declarator): Likewise.
7111 (pp_c_ws_string): Likewise.
7112 (pp_c_identifier): Likewise.
7113 (pp_c_statement): Likewise.
7114 (print_c_tree): Likewise.
7115
65e5a578
ESR
71162013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
7117
7118 PR c++/58072
7119 * c-common.c (c_parse_error): Catch user-defined literal tokens and
7120 provide useful error strings.
7121
137a1a27
GDR
71222013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7123
7124 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
7125 printer functions instead of pp_string or operators and punctuators.
7126 (dump_generic_ada_node): Likewise.
7127 * c-pretty-print.c (pp_c_type_specifier): Likewise.
7128 (pp_c_relational_expression): Likewise.
7129 (pp_c_logical_or_expression): Likewise.
7130
07838b13
GDR
71312013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7132
7133 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
7134 functions instead of pp_character.
7135 (pp_ada_tree_identifier): Likewise.
7136 (dump_ada_double_name): Likewise.
7137 (dump_ada_function_declaration): Likewise.
7138 (dump_ada_array_domains): Likewise.
7139 (dump_template_types): Likewise.
7140 (dump_generic_ada_node): Likewise.
7141 (print_ada_declaration): Likewise.
7142 (print_ada_struct_decl): Likewise.
7143 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7144
433cc7b0
TT
71452013-07-23 Tom Tromey <tromey@redhat.com>
7146
7147 * c-common.h (enum rid) <RID_GENERIC>: New constant.
7148 * c-common.c (c_common_reswords): Add _Generic.
7149
688010ba
OB
71502013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
7151
7152 * c-common.c: Fix typos.
7153 * c-common.h: Likewise.
7154
2a99e5e6
LL
71552013-07-13 Lubos Lunak <l.lunak@suse.cz>
7156
7157 PR c++/55203
7158 * c-common.c (c_common_attribute_table): Add warn_unused.
7159 (handle_warn_unused_attribute): New.
7160
c26302d5
JJ
71612013-07-10 Jakub Jelinek <jakub@redhat.com>
7162
7163 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
7164 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
7165
dfeadaa0
PC
71662013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
7167
7168 PR c++/57869
7169 * c.opt: Add Wconditionally-supported.
7170
6a2fa4b2
GS
71712013-07-08 Graham Stott <graham.stott@btinternet.com>
7172
adfac8df 7173 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
7174 unused variables l_length and l_node.
7175
ecdbd01a 71762013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
7177
7178 PR c/57821
7179 * c-common.c (complete_array_type): Delay folding first index
7180 like other indices. When folding, check for index overflow.
7181
bedc293e
MG
71822013-06-27 Marc Glisse <marc.glisse@inria.fr>
7183
7184 PR c++/57509
7185 * c-common.h (c_build_vec_perm_expr): New complain argument.
7186 * c-common.c (c_build_vec_perm_expr): Likewise.
7187 Use save_expr also in C++.
7188
604b2bfc
GDR
71892013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
7190
7191 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
7192 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7193 * c-opts.c (c_common_post_options): Likewise.
7194
dfeadaa0 71952013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
7196
7197 * array-notation-common.c (length_mismatch_in_expr): Changed the
7198 parameter type's from a dynamic array to a vec_tree. Also removed
7199 the size parameters.
7200 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
7201 the change above.
7202
2ce86d2e
BI
72032013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
7204
7205 * c-common.h (struct cilkplus_an_parts): New structure.
7206 (struct cilkplus_an_loop_parts): Likewise.
7207 (cilkplus_extract_an_triplets): New prototype.
7208 (fix_sec_implicit_args): Likewise.
7209 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
7210 (fix_sec_implicit_args): Likewise.
604b2bfc 7211
07a6825b
BI
72122013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
7213
7214 * array-notation-common.c (find_inv_trees): Removed an unwanted
7215 typecasting.
7216 * c-common.h (struct inv_list::additional_tcodes): Changed type from
7217 enum rid to enum tree_code.
7218
08346abd
JH
72192013-06-11 Jan Hubicka <jh@suse.cz>
7220
7221 * c-common.c (handle_alias_ifunc_attribute): Do not set
7222 DECL_EXTERNAL for weakref variables.
7223 * c-pragma.c (handle_pragma_weak): Make sure aliases
7224 are not declared as external.
7225
d60f1706
BI
72262013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
7227
7228 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
7229 function from c/c-array-notation.c.
7230 (is_cilkplus_reduce_builtin): Likewise.
7231 (find_rank): Likewise.
7232 (extract_array_notation_exprs): Likewise.
7233 (replace_array_notations): Likewise.
7234 (find_inv_trees): Likewise.
7235 (replace_inv_trees): Likewise.
7236 (contains_array_notation_expr): Likewise.
7237 (find_correct_array_notation_type): Likewise.
7238 * c-common.h (struct inv_list): Moved this struct from the file
7239 c/c-array-notation.c and added a new field called additional tcodes.
7240 (length_mismatch_in_expr_p): New prototype.
7241 (is_cilkplus_reduce_builtin): Likewise.
7242 (find_rank): Likewise.
7243 (extract_array_notation_exprs): Likewise.
7244 (replace_array_notation): Likewise.
7245 (find_inv_trees): Likewise.
7246 (replace_inv_trees): Likewise.
7247 (find_correct_array_notation_type): Likewise.
dfeadaa0 7248
36536d79
BI
72492013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
7250
7251 * c-common.c (c_define_builtins): When cilkplus is enabled, the
7252 function array_notation_init_builtins is called.
7253 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
7254 * c-common.def (ARRAY_NOTATION_REF): New tree.
7255 * c-common.h (build_array_notation_expr): New function declaration.
7256 (build_array_notation_ref): Likewise.
7257 (extract_sec_implicit_index_arg): New extern declaration.
7258 (is_sec_implicit_index_fn): Likewise.
7259 (ARRAY_NOTATION_CHECK): New define.
7260 (ARRAY_NOTATION_ARRAY): Likewise.
7261 (ARRAY_NOTATION_START): Likewise.
7262 (ARRAY_NOTATION_LENGTH): Likewise.
7263 (ARRAY_NOTATION_STRIDE): Likewise.
7264 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
7265 ARRAY_NOTATION_REF.
7266 (pp_c_expression): Likewise.
7267 * c.opt (flag_enable_cilkplus): New flag.
7268 * array-notation-common.c: New file.
7269
f7716d57
JJ
72702013-05-14 Jakub Jelinek <jakub@redhat.com>
7271
7272 PR c++/57274
7273 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
7274
a5e0cd1d
MG
72752013-05-10 Marc Glisse <marc.glisse@inria.fr>
7276
7277 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
7278 vectors.
7279
f6bc1c4a
HS
72802013-05-07 Han Shen <shenhan@google.com>
7281
7282 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
7283
3f12f6e9
SKS
72842013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7285
7286 * c-common.c (check_user_alignment): Emit error for negative values.
7287
61949153
PC
72882013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7289
7290 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
7291
e93e18e9
PC
72922013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7293
7294 * c-cppbuiltin.c (c_cpp_builtins): Do not define
7295 __GXX_EXPERIMENTAL_CXX1Y__.
7296
44d90fe1 72972013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 7298 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
7299
7300 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
7301 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
7302 to simply use OPT_Wpointer_arith.
7303 (c_sizeof_or_alignof_type): Likewise.
7304
13f39b2e
PC
73052013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
7306
7307 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
7308
4b84d650
JJ
73092013-04-12 Jakub Jelinek <jakub@redhat.com>
7310
7311 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
7312 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
7313 specifiers.
7314
fb037b5d
SB
73152013-04-07 Steven Bosscher <steven@gcc.gnu.org>
7316
7317 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
7318
4e856798
PC
73192013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
7320
7321 * c-common.c (pointer_int_sum): Remove dead code.
7322
4b1baac8
RS
73232013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
7324
7325 PR middle-end/56524
7326 * c-common.c (handle_optimize_attribute): Don't call
7327 save_optabs_if_changed.
7328
0b50e654
JJ
73292013-03-05 Jakub Jelinek <jakub@redhat.com>
7330
7331 PR middle-end/56461
7332 * c-pch.c (pch_init): Free target_validity at the end.
7333
48c41403
JJ
73342013-03-04 Jakub Jelinek <jakub@redhat.com>
7335
7336 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
7337
e664c61c
KS
73382013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
7339 Jakub Jelinek <jakub@redhat.com>
7340
7341 PR sanitizer/56454
7342 * c-common.c (handle_no_sanitize_address_attribute): New function.
7343 (c_common_attribute_table): Add no_sanitize_address attribute.
7344 (handle_no_address_safety_analysis_attribute): Add
7345 no_sanitize_address attribute, not no_address_safety_analysis
7346 attribute.
7347
a475fd3d 73482013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
7349
7350 PR target/52555
7351 * c-common.c (handle_optimize_attribute): Call
7352 save_optabs_if_changed.
7353
f6007d99
JJ
73542013-02-18 Jakub Jelinek <jakub@redhat.com>
7355 Steven Bosscher <steven@gcc.gnu.org>
7356
7357 PR pch/54117
7358 * c-opts.c (c_common_post_options): If debug info is enabled
7359 and non-dwarf*, refuse to load PCH files and when writing PCH
7360 file warn.
7361
cf35e2b1
JJ
73622013-02-05 Jakub Jelinek <jakub@redhat.com>
7363
7364 PR middle-end/56167
7365 * c-common.c (handle_error_attribute): Fix condition.
7366
32887460
JJ
73672013-01-30 Jakub Jelinek <jakub@redhat.com>
7368
7369 PR c++/55742
7370 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
7371
5af057d8
JM
73722013-01-18 Jason Merrill <jason@redhat.com>
7373
7374 PR target/54908
7375 * c.opt (-fextern-tls-init): New.
7376 * c-opts.c (c_common_post_options): Handle it.
7377
cc83c823
JJ
73782013-01-09 Jakub Jelinek <jakub@redhat.com>
7379
7380 PR c/48418
7381 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
7382 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
7383 and is either negative or bigger or equal to type precision
7384 of the first operand.
7385
a859517f
MP
73862012-12-03 Marek Polacek <polacek@redhat.com>
7387
7388 PR c/55570
7389 * c-common.c (check_user_alignment): Swap order of tests,
7390 check TREE_CODE first.
7391
2d7aa578
ESR
73922012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
7393
7394 PR c++/52654
7395 * c-common.h (overflow_type): New enum.
7396 (build_userdef_literal): Add overflow_type argument.
7397 (tree_userdef_literal): Add overflow_type.
7398 (USERDEF_LITERAL_OVERFLOW): New access macro.
7399 * c-common.c (build_userdef_literal): Add overflow_type
7400 argument.
7401 * c-lex.c (c_lex_with_flags): Add overflow_type to
7402 build_userdef_literal calls.
7403 (interpret_integer, interpret_float): Add overflow_type argument.
7404
cc3c4f62
RB
74052012-11-28 Richard Biener <rguenther@suse.de>
7406
7407 PR c/35634
7408 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7409 here and use a type with proper overflow behavior for types that would
7410 need to be promoted for the arithmetic.
7411
77bc5132
JJ
74122012-11-23 Jakub Jelinek <jakub@redhat.com>
7413
7414 PR sanitizer/55435
7415 * c-common.c (handle_no_address_safety_analysis_attribute): New
7416 function.
7417 (c_common_attribute_table): Add no_address_safety_analysis.
7418
5dc99c46
SB
74192012-11-16 Simon Baldwin <simonb@google.com>
7420
7421 * c.opt: Add f[no-]canonical-system-headers.
7422 * c-opts.c (c_common_handle_option): Handle
7423 OPT_fcanonical_system_headers.
7424
a4a0016d
ESR
74252012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
7426
7427 PR c++/54413
7428 * c-opts.c (c_common_handle_option): Set new flags.
7429 * c.opt: Describe new flags.
7430
7dbb85a7
JM
74312012-11-09 Jason Merrill <jason@redhat.com>
7432
7433 * c.opt (Wabi-tag): New.
7434
ad7bac31
AK
74352012-11-09 Andi Kleen <ak@linux.intel.com>
7436
7437 PR 55139
7438 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 7439 MEMMODEL_MASK
ad7bac31 7440
7332899a
MLI
74412012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7442
7443 PR c/53063
7444 * c.opt (Wformat): Make it Alias Wformat=1.
7445 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
7446 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
7447 LangEnabledBy.
7448 (Wformat=): RejectNegative. Use LangEnabledBy.
7449 (Wnonnull): Use LangEnabledBy.
7450 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
7451 * c-format.c (set_Wformat): Delete.
7452 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
7453 (maybe_read_dollar_number): Likewise.
7454 (avoid_dollar_number): Likewise.
7455 (finish_dollar_format_checking): Likewise.
7456 (check_format_info): Likewise.
7457 (check_format_info_main): Likewise.
7458 (check_format_types): Likewise.
7459 (format_type_warning): Likewise.
7460 * c-common.c (int): Likewise.
7461 (check_function_sentinel): Likewise.
7462 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 7463
34a180a6
MLI
74642012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7465
7466 PR c/53063
7467 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
7468 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
7469 Use LangEnabledBy.
7470 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
7471 common.opt.
7472 (Wvariadic-macros): Init(1).
7473 * c-opts.c (c_common_handle_option): Do not handle them
7474 explicitly.
7475 (c_common_post_options): Likewise.
7476 (sanitize_cpp_opts): warn_unused_macros is now
7477 cpp_warn_unused_macros.
7478 (push_command_line_include): Likewise.
7479 * c-common.c (warn_unknown_pragmas): Do not define.
7480 * c-common.h (warn_unknown_pragmas): Do not declare.
7481
3f46d6a5
MLI
74822012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
7483
7484 PR c/51294
7485 * c-common.c (conversion_warning): Handle conditional expressions.
7486
880661a4
JW
74872012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
7488
7489 PR c++/54930
7490 * c.opt (Wreturn_local_addr): Define new option.
7491
4514a96b
JM
74922012-10-25 Jason Merrill <jason@redhat.com>
7493
f14edc1a
JM
7494 * c.opt (Wvirtual-move-assign): New.
7495
4514a96b
JM
7496 * c.opt (Winherited-variadic-ctor): New.
7497
93100c6b
MG
74982012-10-25 Marc Glisse <marc.glisse@inria.fr>
7499
7500 PR c++/54427
7501 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
7502
1efcb8c6
JM
75032012-10-23 Joseph Myers <joseph@codesourcery.com>
7504
7505 * c-common.h (pch_cpp_save_state): Declare.
7506 * c-target.def (c_preinclude): New hook.
7507 * c-opts.c (done_preinclude): New.
7508 (push_command_line_include): Handle default preincluded header.
7509 (cb_file_change): Call pch_cpp_save_state when calling
7510 push_command_line_include.
7511 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
7512 (pch_cpp_save_state): New.
7513 (pch_init): Call pch_cpp_save_state conditionally, instead of
7514 calling cpp_save_state.
7515
4a0ae68e
MLI
75162012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7517
7518 PR c/53063
7519 PR c/40989
7520 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
7521 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
7522 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
7523 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
7524 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
7525 * c-opts.c (c_common_handle_option): Remove explicit handling from
7526 here.
7527 (c_common_post_options): Likewise.
7528
67e4210b
EB
75292012-10-18 Eric Botcazou <ebotcazou@adacore.com>
7530
7531 * c-ada-spec.c (LOCATION_COL): Delete.
7532 (compare_location): New function.
7533 (compare_node): Use it.
7534 (compare_comment): Likewise.
7535
65d4f2cd
MLI
75362012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
7537
7538 PR c/53063
7539 PR c/40989
7540 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
7541 * c-opts.c (c_common_handle_option): Do not set them here. Add
7542 comment.
7543 (c_common_post_options): Likewise.
7544
909881cb
EB
75452012-10-16 Eric Botcazou <ebotcazou@adacore.com>
7546
7547 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
7548 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
7549 Remove POINTER_TYPE handling, add large unsigned handling and use
7550 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
7551
3a785c97
JJ
75522012-10-12 Jakub Jelinek <jakub@redhat.com>
7553
7554 PR c/54381
7555 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
7556 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
7557 locs and array of 3 trees instead of just single loc and single
7558 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
7559 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
7560 For *cmp* builtins that take two sources strings report warnings
7561 about first and second source, not about destination and source.
7562
5e54f81d
MG
75632012-10-12 Marc Glisse <marc.glisse@inria.fr>
7564
7565 PR c++/53055
7566 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
7567
f5b02f1e
EB
75682012-10-11 Eric Botcazou <ebotcazou@adacore.com>
7569
7570 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
7571 declaring something coming from another file.
7572
b46dbc6c
AC
75732012-10-10 Arnaud Charlet <charlet@adacore.com>
7574
f5b02f1e 7575 PR ada/54845
b46dbc6c
AC
7576 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7577
5d9de0d0
PC
75782012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7579
7580 PR c++/54194
7581 * c-common.c (warn_about_parentheses): Add location_t parameter;
7582 use EXPR_LOC_OR_LOC.
7583 * c-common.h: Update declaration.
7584
a212e43f
MG
75852012-10-09 Marc Glisse <marc.glisse@inria.fr>
7586
7587 PR c++/54427
7588 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7589 more operations. Make error messages optional.
7590 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7591 (scalar_to_vector): Declare.
7592
b1db7f91
JM
75932012-10-08 Jason Merrill <jason@redhat.com>
7594
7595 * c-common.c (c_common_reswords): Add thread_local.
7596
e28d52cf
DS
75972012-10-08 Dodji Seketeli <dodji@redhat.com>
7598
7599 PR c++/53528 C++11 attribute support
7600 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7601 new functions.
7602 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7603 static function.
7604 (handle_aligned_attribute): In choose strictest alignment
7605 among many. Use new check_cxx_fundamental_alignment_constraints.
7606 (handle_transparent_union_attribute): In c++11 attribute syntax,
7607 don't look through typedefs.
7608
3b78de56
AC
76092012-10-04 Arnaud Charlet <charlet@adacore.com>
7610
7611 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7612 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7613 out of dumpfile.h.
7614
6040bb5f
DC
76152012-09-25 Dehao Chen <dehao@google.com>
7616
7617 PR middle-end/54645
3b78de56 7618 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7619 map when read in the pch.
7620
3f8257db 76212012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7622
7623 * c-ada-spec.c: Style fixes.
7624
3f8257db 76252012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7626
7627 * c.opt (-fada-spec-parent): Define new command line switch.
7628 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7629 is specified, generate binding spec as a child of the specified unit.
7630
0ccb505d
PC
76312012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7632 Manuel López-Ibáñez <manu@gcc.gnu.org>
7633
7634 PR c++/53210
7635 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7636
c583af79
AC
76372012-08-23 Arnaud Charlet <charlet@adacore.com>
7638
7639 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7640 for pointers, and add missing Convention C pragma.
7641 (print_ada_struct_decl): Add missing aliased keyword.
7642 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7643
1a4049e7
JJ
76442012-08-17 Jakub Jelinek <jakub@redhat.com>
7645
7646 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7647 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7648 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7649 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7650 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7651
70b5e7dc
RG
76522012-08-10 Richard Guenther <rguenther@suse.de>
7653
7654 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7655
f8923f7e
SB
76562012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7657
7658 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7659 instead of separate pp_newline and pp_flush.
7660 (print_c_tree): Likewise.
7661
e45abe1f
RH
76622012-07-26 Richard Henderson <rth@redhat.com>
7663
7664 * c-common.c (handle_hot_attribute): Allow labels.
7665 (handle_cold_attribute): Likewise.
7666
332f1d24
JJ
76672012-07-20 Jakub Jelinek <jakub@redhat.com>
7668
7669 PR c++/28656
7670 * c-common.c (check_function_nonnull): Handle multiple nonnull
7671 attributes properly.
7672
7ee2468b
SB
76732012-07-16 Steven Bosscher <steven@gcc.gnu.org>
7674
7675 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7676 * c-ada-spec.c: Likewise.
7677 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7678
ee7b28eb
SB
76792012-07-14 Steven Bosscher <steven@gcc.gnu.org>
7680
7681 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7682 Remove code conditional on it.
7683
6bdf3519
SB
76842012-07-11 Steven Bosscher <steven@gcc.gnu.org>
7685
7686 * c-gimplify.c: Do not include basic-block.h.
7687 * c-common.c: Do not include linfuncs.h.
7688
532aafad
SB
76892012-07-08 Steven Bosscher <steven@gcc.gnu.org>
7690
7691 * c-common.h: Include tree.h.
7692
8d0d1915
JM
76932012-07-02 Jason Merrill <jason@redhat.com>
7694
7695 PR c++/53524
7696 * c-common.c (get_priority): Call default_conversion.
7697
fbc873ad
UB
76982012-07-01 Uros Bizjak <ubizjak@gmail.com>
7699
7700 * c-pch.c (c_common_write_pch): Remove unused variables.
7701
d4a10d0a
SB
77022012-06-29 Steven Bosscher <steven@gcc.gnu.org>
7703
7704 * cppspec.c: Moved from gcc/ to here.
7705
6f3a2e23
KT
77062012-06-27 Kai Tietz <ktietz@redhat.com>
7707
7708 PR preprocessor/37215
7709 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7710
8ca92d04
SB
77112012-06-21 Steven Bosscher <steven@gcc.gnu.org>
7712
7713 * c-common.h (c_common_print_pch_checksum): Remove.
7714 * c-pch.c: Do not include output.h.
7715 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7716 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7717 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7718 (struct c_pch_header): Remove.
7719 (get_ident): Update gpch version.
7720 (pch_init): Do not print executable_checksum to asm_out_file.
7721 Do not fail if there is no asm_out_file to read back from. Set
7722 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7723 (c_common_write_pch): Verify that nothing was written to asm_out_file
7724 since pch_init was called. Do not write a c_pch_header, and do not
7725 copy from asm_out_file to the PCH.
7726 (c_common_read_pch): Do not read a c_pch_header, and do not restore
7727 the content of asm_out_file from the PCH.
7728 (c_common_print_pch_checksum): Remove.
7729 * c-opts.c (c_common_init): Print out executable_checksum directly.
7730
70f42967
SB
77312012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7732
7733 * c-target.def (objc_declare_unresolved_class_reference,
7734 objc_declare_class_definition): Add new hooks.
7735
a8781821
SB
77362012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7737
7738 * c-lex.c: Do not include output.h.
7739 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
7740 Remove uses of ASM_OUTPUT_IDENT.
7741
9e1a8dd1
RR
77422012-06-15 Marc Glisse <marc.glisse@inria.fr>
7743
7744 PR c++/51033
7745 * c-common.h (c_build_vec_perm_expr): Move decl here.
7746 * c-common.c (c_build_vec_perm_expr): Move definition
7747 here.
7748
6f07a821
SB
77492012-06-06 Steven Bosscher <steven@gcc.gnu.org>
7750
7751 * c.opt (fconserve-space): Turn into a no-op.
7752
9faeb493 77532012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
7754
7755 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
7756 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
7757 both the start and end of the function.
7758
a4b7d13c
SB
77592012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7760
7761 * c-common.c: Do not include output.h.
7762 * c-pragma.c: Likewise.
7763
c265f413
SA
77642012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7765
7766 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
7767 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
7768 (lang_decl_name): Handle namespace decls.
7769
be7a421e
SB
77702012-05-31 Steven Bosscher <steven@gcc.gnu.org>
7771
7772 * c-ada-spec.c: Do not include output.h.
7773 * c-semantics.c: Likewise.
7774
65de6659
JM
77752012-05-29 Joseph Myers <joseph@codesourcery.com>
7776
7777 * c-common.c: Fix typo.
7778
ca5f4331
MM
77792012-05-29 Michael Matz <matz@suse.de>
7780
7781 * c-common.h (c_expand_decl): Remove prototype.
7782
4f7f7aca
MLI
77832012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7784
7785 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
7786 * c-opts.c (c_common_handle_option): Remove code handling
7787 warn_missing_braces.
7788
4a792f9b
PC
77892012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
7790
7791 PR c++/25137
7792 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
7793 -Wmissing_braces.
7794
650dc14a
DS
77952012-05-22 Dodji Seketeli <dodji@redhat.com>
7796
7797 PR c++/53322
7798 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
7799
9b095bf1
MLI
78002012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
7801
7802 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
7803 * c-opts.c (c_common_handle_option): Do not handle explicitly
7804 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
7805
0b2c4be5
DS
78062012-05-16 Dodji Seketeli <dodji@redhat.com>
7807
7808 PR preprocessor/7263
7809 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
7810 to cpp_classify_number. For diagnostics, use the precise location
7811 instead of the global input_location.
7812
a1bde5af
PC
78132012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7814
d02924ef 7815 PR c++/11856
a1bde5af
PC
7816 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
7817
d1ede5f4
BS
78182012-05-14 Bernd Schmidt <bernds@codesourcery.com>
7819
a1bde5af 7820 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 7821
f2bc201f
MLI
78222012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
7823
7824 PR 53063
7825 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
7826 Wreorder): Use LangEnabledBy.
7827 * c-opts.c (c_common_handle_option): Do not enable them
7828 explicitly. Call lang-specific generated functions.
7829 (c_common_post_options): Do not set them here.
7830
95744782
MLI
78312012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7832
7833 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
7834 Wmissing-field-initializers,Wmissing-parameter-type,
7835 Wold-style-declaration,Woverride-init): Use EnabledBy.
7836 * c-opts.c (c_common_post_options): Do not set here explicitly.
7837
7d5a5747
MLI
78382012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7839
7840 PR 53063
7841 * c-opts.c (c_common_handle_option): Use handle_generated_option
7842 to enable sub-options.
7843
5a3c9cf2
PC
78442012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
7845
7846 PR c++/53158
7847 * c-common.c (warnings_for_convert_and_check): Use warning_at.
7848
3ac8781c
RG
78492012-05-10 Richard Guenther <rguenther@suse.de>
7850
7851 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
7852 adjust commentary about TYPE_IS_SIZETYPE types.
7853
1e537948
MLI
78542012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7855
7856 PR c++/53261
7857 * c-common.c (warn_logical_operator): Check that argument of
7858 integer_zerop is not NULL.
7859
f2c4a785
MLI
78602012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
7861
7862 PR c/43772
7863 * c-common.c (warn_logical_operator): Do not warn if either side
7864 is already true or false.
7865
50f305ca
MLI
78662012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7867
7868 PR c/51712
7869 * c-common.c (expr_original_type): New.
7870 (shorten_compare): Do not warn for enumeration types.
7871
0c3641b0
MLI
78722012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7873
7874 * c.opt (fpermissive): Add Var(flag_permissive).
7875
7edaa4d2
MG
78762012-04-30 Marc Glisse <marc.glisse@inria.fr>
7877
7878 PR c++/51033
7879 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
7880 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
7881
b9c8da34
DS
78822012-04-30 Dodji Seketeli <dodji@redhat.com>
7883
7884 Add -Wvarargs option
7885 * c.opt (Wvarargs): Define new option.
7886
e6c69da0
MLI
78872012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7888
7889 * c-common.c (check_function_arguments): Replace
7890 Wmissing-format-attribute with Wsuggest-attribute=format.
7891
90137d8f
MLI
78922012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7893
7894 * c.opt (Wsuggest-attribute=format): New. Alias of
7895 Wmissing-format-attribute.
7896 * c-format.c (decode_format_type): Replace
7897 Wmissing-format-attribute with Wsuggest-attribute=format.
7898 (check_function_format): Likewise.
7899
9faeb493 79002012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
7901
7902 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
7903 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
7904 * c.opt: Add Wliteral-suffix.
7905
c1771a20
MLI
79062012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7907
7908 PR c/44774
7909 * c.opt (Wpedantic): New.
7910 (pedantic): Alias Wpedantic.
7911 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
7912 (c_common_post_options): Likewise.
7913 (sanitize_cpp_opts): Likewise.
7914 * c-lex.c (interpret_float): Likewise.
7915 * c-format.c (check_format_types): Likewise.
7916 * c-common.c (pointer_int_sum): Likewise.
7917 (c_sizeof_or_alignof_type): Likewise.
7918 (c_add_case_label): Likewise.
7919 (c_do_switch_warnings): Likewise.
7920 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7921
04b391c1
JM
79222012-04-15 Jason Merrill <jason@redhat.com>
7923
7924 PR c++/52818
7925 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
7926 (C_STD_NAME): Distinguish between C++98 and C++11.
7927
ac868f29
EB
79282012-04-11 Eric Botcazou <ebotcazou@adacore.com>
7929
7930 PR target/52624
7931 * c-common.h (uint16_type_node): Rename into...
7932 (c_uint16_type_node): ...this.
7933 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
7934 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
7935
fd4116f4
MLI
79362012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
7937
7938 * c-common.c (warn_if_unused_value): Move definition to here.
7939 * c-common.h (warn_if_unused_value): Move declaration to here.
7940
573ac65e
WB
79412012-03-23 William Bader <williambader@hotmail.com>
7942
7943 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
7944
552b8185
JM
79452012-03-20 Jason Merrill <jason@redhat.com>
7946
7947 * c-common.h (enum cxx_dialect): Add cxx1y.
7948 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
7949 test.
7950 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7951 * c-opts.c (c_common_post_options): Likewise.
7952 (set_std_cxx1y): New.
7953 (c_common_handle_option): Call it.
7954 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
7955
04398fa8
PC
79562012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
7957
7958 PR c++/14710
7959 * c.opt ([Wuseless-cast]): Add.
7960
d2a12ae7
RG
79612012-03-16 Richard Guenther <rguenther@suse.de>
7962
7963 * c-pretty-print.c (pp_c_initializer_list): Adjust.
7964
a12bf402
MLI
79652012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7966
7967 PR c++/44783
7968 * c.opt (ftemplate-backtrace-limit) Add.
7969
5c30094f
RO
79702012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7971
7972 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
7973 handling.
7974 * c-pragma.c (handle_pragma_extern_prefix): Remove.
7975 (init_pragma): Don't register extern_prefix.
7976
21fa2faf
RG
79772012-03-12 Richard Guenther <rguenther@suse.de>
7978
7979 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
7980 (builtin_type_for_size): Likewise.
7981
e3793c6f
JJ
79822012-02-13 Jakub Jelinek <jakub@redhat.com>
7983
7984 PR c++/52215
7985 * c-common.c (sync_resolve_params): Don't decide whether to convert
7986 or not based on TYPE_SIZE comparison, convert whenever arg_type
7987 is unsigned INTEGER_TYPE.
7988
93286335
PC
79892012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
7990
7991 PR c/52118
7992 * c.opt ([Wunused-local-typedefs]): Fix description.
7993
7a421706
MS
79942012-01-24 Mike Stump <mikestump@comcast.net>
7995
7996 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
7997 exactly.
7998
ba9b1f11
RG
79992012-01-18 Richard Guenther <rguenther@suse.de>
8000
8001 * c-opts.c (c_common_post_options): Reset LTO flags if
8002 we are about to generate a PCH.
8003
465406be
PC
80042012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8005
8006 PR c++/51777
8007 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8008 use pp_unsigned_wide_integer.
8009
aee15221
RG
80102012-01-10 Richard Guenther <rguenther@suse.de>
8011
8012 PR middle-end/51806
8013 * c-opts.c (c_common_handle_option): Move -Werror handling
8014 to language independent code.
8015
5720c0dc
RG
80162012-01-05 Richard Guenther <rguenther@suse.de>
8017
8018 PR middle-end/51764
8019 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8020 from common.opt.
8021
73ac190a
PC
80222011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
8023
8024 PR c++/51316
8025 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
8026 of array types with an unknown bound.
8027
48b0b196
JM
80282011-12-20 Joseph Myers <joseph@codesourcery.com>
8029
8030 * c-common.c (flag_isoc99): Update comment to refer to C11.
8031 (flag_isoc1x): Change to flag_isoc11.
8032 * c-common.h (flag_isoc99): Update comment to refer to C11.
8033 (flag_isoc1x): Change to flag_isoc11.
8034 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
8035 C11.
8036 * c-opts.c (set_std_c1x): Change to set_std_c11.
8037 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
8038 Call set_std_c11.
8039 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
8040 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
8041 * c.opt (std=c1x): Change to std=c11. Document as non-draft
8042 standard.
8043 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
8044 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
8045 (std=gnu1x): Make alias of std=gnu11.
8046
d58d6eb5
JM
80472011-12-19 Jason Merrill <jason@redhat.com>
8048
8049 PR c++/51228
8050 * c-common.c (handle_transparent_union_attribute): Check the first
8051 field if the type is complete.
8052
b3908fcc
JW
80532011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
8054
8055 PR libstdc++/51365
8056 * c-common.c (RID_IS_FINAL): Add.
8057 * c-common.h (RID_IS_FINAL): Add.
8058
fea3ca91
IS
80592011-11-30 Iain Sandoe <iains@gcc.gnu.org>
8060
8061 * c.opt (fgnu-runtime): Provide full description.
8062 (fnext-runtime): Likewise.
8063 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
8064
62bad7cd
AM
80652011-11-28 Andrew MacLeod <amacleod@redhat.com>
8066
8067 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
8068 predefines in one place. Add LOCK_FREE predefines.
8069 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
8070 new func.
8071
c466c4ff
AM
80722011-11-24 Andrew MacLeod <amacleod@redhat.com>
8073
8074 PR c/51256
9faeb493 8075 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 8076 conditions
9faeb493
UB
8077 (resolve_overloaded_atomic_exchange,
8078 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
8079 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
8080 error_mark_node for error conditions.
9faeb493 8081
a5952633
RG
80822011-11-08 Richard Guenther <rguenther@suse.de>
8083
8084 PR middle-end/51010
8085 c-family/
8086
0a35513e
AH
80872011-11-07 Richard Henderson <rth@redhat.com>
8088 Aldy Hernandez <aldyh@redhat.com>
8089 Torvald Riegel <triegel@redhat.com>
8090
8091 Merged from transactional-memory.
8092
8093 * c-common.c (handle_tm_wrap_attribute,
8094 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
8095 (struct c_common_reswords): Added __transaction* keywords.
8096 (struct c_common_attribute_table): Added transaction* and tm_regparm
8097 attributes.
8098 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
8099 masks.
8100 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
8101 find_tm_attribute): Declare.
8102
6d87092d
JM
81032011-11-07 Jason Merrill <jason@redhat.com>
8104
8105 PR c++/35688
8106 * c-common.c, c-common.h: Revert yesterday's changes.
8107
8e7860a1
JM
81082011-11-06 Jason Merrill <jason@redhat.com>
8109
8110 PR c++/35688
8111 * c-common.c (decl_has_visibility_attr): Split out from...
8112 (c_determine_visibility): ...here.
8113 * c-common.h: Declare it.
8114
d19fa6b5
JM
81152011-11-06 Joseph Myers <joseph@codesourcery.com>
8116
8117 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
8118 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
8119 type.
8120 (check_user_alignment): New. Split out of
8121 handle_aligned_attribute. Disallow integer constants with
8122 noninteger types. Conditionally allow zero.
8123 (handle_aligned_attribute): Use check_user_alignment.
8124 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
8125
86951993
AM
81262011-11-06 Andrew MacLeod <amacleod@redhat.com>
8127 Richard Henderson <rth@redhat.com>
8128
8129 Merged from cxx-mem-model.
8130
8131 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 8132 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
8133 parameters that are the same type size.
8134 (get_atomic_generic_size): New. Find size of generic
8135 atomic function parameters and do typechecking.
8136 (add_atomic_size_parameter): New. Insert size into parameter list.
8137 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
8138 either __atomic_exchange_n or external library call.
9faeb493 8139 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 8140 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 8141 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
8142 __atomic_load_n or an external library call.
8143 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
8144 __atomic_store_n or an external library call.
8145 (resolve_overloaded_builtin): Handle new __atomic builtins.
8146
cf9e9959
EB
81472011-11-04 Eric Botcazou <ebotcazou@adacore.com>
8148
8149 PR c++/50608
8150 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
8151 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
8152 <INDIRECT_REF>: Return the argument.
8153 <ARRAY_REF>: Remove special code for negative offset.
8154 Call fold_build_pointer_plus instead of size_binop.
8155 (fold_offsetof): Remove STOP_REF argument and adjust.
8156 * c-common.h (fold_offsetof_1): Declare.
8157 (fold_offsetof): Remove STOP_REF argument.
8158
25339f10
JM
81592011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
8160
8161 PR c++/50810
8162 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8163 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8164 Wnarrowing for C++0x and C++98.
8165 * c.opt ([Wnarrowing]): Update.
8166
89401152
PC
81672011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
8168
8169 PR c++/44277
8170 * c.opt: Add Wzero-as-null-pointer-constant.
8171
97e3ad20
JM
81722011-10-31 Jason Merrill <jason@redhat.com>
8173
15694fdd
JM
8174 * c.opt (-fdeduce-init-list): Off by default.
8175
97e3ad20
JM
8176 PR c++/50920
8177 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
8178 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
8179 and -Wc++11-compat.
8180 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
8181
fb9120e3
RAV
81822011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
8183
8184 PR c++/30066
8185 * c.opt (fvisibility-inlines-hidden): Description change.
8186
3ce4f9e4
ESR
81872011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
8188
8189 Implement C++11 user-defined literals.
8190 * c-common.c (build_userdef_literal): New.
8191 * c-common.def: New tree code.
8192 * c-common.h (tree_userdef_literal): New tree struct and accessors.
8193 * c-lex.c (interpret_float): Add suffix parm.
8194 (c_lex_with_flags): Build literal tokens.
8195
5f53c243
PC
81962011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8197
8198 PR c++/50841
8199 Revert:
8200 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8201
8202 PR c++/50810
8203 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8204 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8205 Wnarrowing for C++0x and C++98.
8206 * c.opt ([Wnarrowing]): Update.
8207
263734e1
PC
82082011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
8209
8210 PR c++/50810
8211 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
8212 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
8213 Wnarrowing for C++0x and C++98.
8214 * c.opt ([Wnarrowing]): Update.
8215
d2e312d7
PC
82162011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
8217
8218 PR c++/45385
8219 * c-common.c (conversion_warning): Remove code looking for
8220 artificial operands.
8221
d17687f6
DS
82222011-10-18 Dodji Seketeli <dodji@redhat.com>
8223
8224 PR bootstrap/50760
8225 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 8226 !NO_IMPLICIT_EXTERN_C.
d17687f6 8227
fc8396e9
PC
82282011-10-17 Michael Spertus <mike_spertus@symantec.com>
8229
8230 * c-common.c (c_common_reswords): Add __bases,
8231 __direct_bases.
8232 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
8233
82342011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
8235
8236 PR c++/50757
8237 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
8238
847e697a
TT
82392011-10-15 Tom Tromey <tromey@redhat.com>
8240 Dodji Seketeli <dodji@redhat.com>
8241
8242 * c.opt (fdebug-cpp): New option.
8243 * c-opts.c (c_common_handle_option): Handle the option.
8244 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
8245 output stream in parameter. Factorized from ...
8246 (maybe_print_line): ... this. Dump location debug information when
8247 -fdebug-cpp is in effect.
8248 (print_line_1): New static function. Takes an output stream in
8249 parameter. Factorized from ...
8250 (print_line): ... here. Dump location information when -fdebug-cpp
8251 is in effect.
8252 (scan_translation_unit): Dump location information when
8253 -fdebug-cpp is in effect.
8254
92582b75
TT
82552011-10-15 Tom Tromey <tromey@redhat.com>
8256 Dodji Seketeli <dodji@redhat.com>
8257
8258 * c.opt (ftrack-macro-expansion): New option. Handle it with and
8259 without argument.
8260 * c-opts.c (c_common_handle_option)<case
8261 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
8262 cases. Handle -ftrack-macro-expansion with and without argument.
8263
46427374
TT
82642011-10-15 Tom Tromey <tromey@redhat.com>
8265 Dodji Seketeli <dodji@redhat.com>
8266
8267 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
8268 (print_line, cb_define, do_line_change): Adjust to avoid touching
8269 the internals of struct line_map. Use the public API instead.
8270 * c-pch.c (c_common_read_pch): Likewise.
8271 * c-lex.c (fe_file_change): Likewise.
8272
fc8396e9
PC
82732011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
8274
8275 PR c++/17212
8276 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
8277
82782011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
8279
8280 PR c++/33067
8281 * c-pretty-print.c (pp_c_floating_constant): Output
8282 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
8283
e79983f4
MM
82842011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
8285
8286 * c-common.c (def_builtin_1): Delete old interface with two
8287 parallel arrays to hold standard builtin declarations, and replace
8288 it with a function based interface that can support creating
8289 builtins on the fly in the future. Change all uses, and poison
8290 the old names. Make sure 0 is not a legitimate builtin index.
8291 * c-omp.c (c_finish_omp_barrier): Ditto.
8292 (c_finish_omp_taskwait): Ditto.
8293 (c_finish_omp_flush): Ditto.
8294
6637388f
TG
82952011-10-11 Tristan Gingold <gingold@adacore.com>
8296
8297 * c.opt: (fallow-parameterless-variadic-functions): New.
8298
3797cb21
DS
82992011-09-08 Dodji Seketeli <dodji@redhat.com>
8300
8301 PR c++/33255 - Support -Wunused-local-typedefs warning
8302 * c-common.h (struct c_language_function::local_typedefs): New
8303 field.
9faeb493
UB
8304 (record_locally_defined_typedef, maybe_record_typedef_use)
8305 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 8306 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
8307 (maybe_record_typedef_use)
8308 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
8309 * c.opt: Declare new -Wunused-local-typedefs flag.
8310
693ddb1b
EB
83112011-09-06 Eric Botcazou <ebotcazou@adacore.com>
8312
8313 PR middle-end/50266
8314 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
8315 computations.
8316
830c740f
RG
83172011-09-05 Richard Guenther <rguenther@suse.de>
8318
8319 * c-common.c (complete_array_type): Use ssize_int (-1) instead
8320 of integer_minus_one_node for empty array upper bounds.
8321
892a371f
DS
83222011-08-28 Dodji Seketeli <dodji@redhat.com>
8323
8324 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
8325 it's the first time it's being called on this main TU.
8326
0e3fdb48
RB
83272011-08-24 Richard Guenther <rguenther@suse.de>
8328
8329 PR c/49396
8330 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
8331
83322011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
8333
8334 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
8335 defined in cpp_init_builtins and c_cpp_builtins.
8336
d4a83c10
JM
83372011-08-19 Joseph Myers <joseph@codesourcery.com>
8338
8339 * c-common.c (c_common_reswords): Add __builtin_complex.
8340 * c-common.h (RID_BUILTIN_COMPLEX): New.
8341
bbceee64
JM
83422011-08-18 Joseph Myers <joseph@codesourcery.com>
8343
8344 * c-common.c (c_common_reswords): Add _Noreturn.
8345 (keyword_is_function_specifier): Handle RID_NORETURN.
8346 * c-common.h (RID_NORETURN): New.
8347
3f8257db 83482011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
8349
8350 * c-common.c (unsafe_conversion_p): New function. Check if it is
8351 unsafe to convert an expression to the type.
8352 (conversion_warning): Adjust, use unsafe_conversion_p.
8353 * c-common.h (unsafe_conversion_p): New function declaration.
8354
20906c66
JJ
83552011-08-02 Jakub Jelinek <jakub@redhat.com>
8356
8357 * c-common.h (c_finish_omp_atomic): Adjust prototype.
8358 (c_finish_omp_taskyield): New prototype.
8359 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
8360 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
8361 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
8362 or RHS1 have side-effects, evaluate those too in the right spot,
8363 if it is a decl and LHS is also a decl, error out if they
8364 aren't the same.
8365 (c_finish_omp_taskyield): New function.
8366 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
8367 * c-pragma.c (omp_pragmas): Add taskyield.
8368 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
8369 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
8370 PRAGMA_OMP_CLAUSE_MERGEABLE.
8371
770e5a2e
DS
83722011-07-25 Dodji Seketeli <dodji@redhat.com>
8373
8374 * c-common.h (set_underlying_type): Remove parm name from
8375 declaration.
8376
1baae426
RG
83772011-07-25 Romain Geissler <romain.geissler@gmail.com>
8378
8379 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 8380
fcb21722
JM
83812011-07-22 Jason Merrill <jason@redhat.com>
8382
76f86d00
JM
8383 PR c++/49793
8384 * c.opt (Wnarrowing): New.
8385
3a636414
JM
8386 PR c++/30112
8387 * c-common.h: Declare c_linkage_bindings.
8388 * c-pragma.c (handle_pragma_redefine_extname): Use it.
8389
fcb21722
JM
8390 PR c++/49813
8391 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
8392 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
8393 as flag_isoc99 for 'restrict'.
8394 (pp_c_specifier_qualifier_list): Likewise for _Complex.
8395
02614448
ILT
83962011-07-21 Ian Lance Taylor <iant@google.com>
8397
8398 PR middle-end/49705
8399 * c-common.c (c_disable_warnings): New static function.
8400 (c_enable_warnings): New static function.
8401 (c_fully_fold_internal): Change local unused_p to bool. Call
8402 c_disable_warnings and c_enable_warnings rather than change
8403 c_inhibit_evaluation_warnings.
8404
34429675
JM
84052011-07-20 Jason Merrill <jason@redhat.com>
8406
8407 PR c++/6709 (DR 743)
8408 PR c++/42603 (DR 950)
8409 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
8410 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
8411 (CPP_DECLTYPE): New.
8412 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
8413
5d49b6a7
RG
84142011-07-19 Richard Guenther <rguenther@suse.de>
8415
8416 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
8417 * c-omp.c (c_finish_omp_for): Likewise.
8418
e84a58ff
EB
84192011-07-12 Eric Botcazou <ebotcazou@adacore.com>
8420
8421 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
8422 body on the next line.
8423
329af3c7
JM
84242011-07-08 Jason Merrill <jason@redhat.com>
8425
4063e61b
JM
8426 PR c++/45437
8427 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
8428
329af3c7
JM
8429 PR c++/49673
8430 * c-common.c (c_apply_type_quals_to_decl): Don't check
8431 TYPE_NEEDS_CONSTRUCTING.
8432
1a072294
RG
84332011-07-06 Richard Guenther <rguenther@suse.de>
8434
8435 * c-common.c (c_common_nodes_and_builtins):
8436 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
8437
fce5dddd
RG
84382011-07-05 Richard Guenther <rguenther@suse.de>
8439
8440 * c-common.c (c_common_nodes_and_builtins): Build all common
8441 tree nodes first.
8442
45d439ac
JJ
84432011-06-27 Jakub Jelinek <jakub@redhat.com>
8444
56300785
JJ
8445 * c-common.h (c_tree_chain_next): New static inline function.
8446
45d439ac
JJ
8447 * c-common.c (check_builtin_function_arguments): Handle
8448 BUILT_IN_ASSUME_ALIGNED.
8449
e0a8ecf2
AM
84502011-06-21 Andrew MacLeod <amacleod@redhat.com>
8451
8452 * c-common.c: Add sync_ or SYNC__ to builtin names.
8453 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
8454
84552011-06-20 Pierre Vittet <piervit@pvittet.com>
8456
8457 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
8458 handler.
8459 (gen_pragma_handler): New union.
8460 (internal_pragma_handler): New type.
8461 (c_register_pragma_with_data)
8462 (c_register_pragma_with_expansion_and_data): New functions.
8463
8464 * c-pragma.c (registered_pragmas, c_register_pragma_1)
8465 (c_register_pragma, c_register_pragma_with_expansion)
8466 (c_invoke_pragma_handler): Changed to work with
8467 internal_pragma_handler.
8468 (c_register_pragma_with_data)
8469 (c_register_pragma_with_expansion_and_data): New functions.
8470
677f3fa8
JM
84712011-06-14 Joseph Myers <joseph@codesourcery.com>
8472
8473 * c-common.c: Include common/common-target.h.
8474 (handle_section_attribute): Use
8475 targetm_common.have_named_sections.
8476 * c-cppbuiltin.c: Include common/common-target.h.
8477 (c_cpp_builtins): Use targetm_common.except_unwind_info.
8478
d7fc8c14
RG
84792011-06-10 Richard Guenther <rguenther@suse.de>
8480
8481 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
8482 to print a IDENTIFIER_NODE.
8483
10e48e39
RO
84842011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8485 Joseph Myers <joseph@codesourcery.com>
8486
8487 * c.opt (fbuilding-libgcc): New option.
8488 * c-cppbuiltin.c (c_cpp_builtins): Define
8489 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
8490
6976ae51
JM
84912011-06-07 Jason Merrill <jason@redhat.com>
8492
3ff60975
JM
8493 * c-common.c (max_tinst_depth): Lower default to 900.
8494
6976ae51
JM
8495 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
8496
009db074
RG
84972011-06-07 Richard Guenther <rguenther@suse.de>
8498
8499 * c-common.c (c_common_nodes_and_builtins): Do not set
8500 size_type_node or call set_sizetype.
8501
b4592b92
DS
85022011-06-07 Dodji Seketeli <dodji@redhat.com>
8503
8504 PR debug/49130
8505 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 8506 type when using pointer comparison to compare types.
b4592b92 8507
014ab419
JW
85082011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
8509
8510 * c.opt: Add -Wdelete-non-virtual-dtor.
8511 * c-opts.c (c_common_handle_option): Include it in -Wall.
8512
4f60111f
NF
85132011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
8514
8515 PR bootstrap/49190
8516
8517 Revert:
8518 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8519
8520 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8521 not tree_common.
8522
4cc4f2f4
JJ
85232011-05-27 Jakub Jelinek <jakub@redhat.com>
8524
8525 PR c++/49165
8526 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
8527 C++ don't call c_common_truthvalue_conversion on void type arms.
8528
38e01f9e
NF
85292011-05-27 Nathan Froyd <froydnj@codesourcery.com>
8530
8531 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
8532 (stmt_list_stack): Define.
8533 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
8534 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
8535
92e948a8
NF
85362011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8537
8538 * c-common.c (warning_candidate_p): Check for BLOCKs.
8539
a2fc3e63
NF
85402011-05-26 Nathan Froyd <froydnj@codesourcery.com>
8541
8542 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
8543 not tree_common.
8544
0957c029
JJ
85452011-05-25 Jakub Jelinek <jakub@redhat.com>
8546
8547 * c-common.c (def_fn_type): Remove extra va_end.
8548
828fb3ba
JM
85492011-05-23 Jason Merrill <jason@redhat.com>
8550
8551 PR c++/48106
8552 * c-common.c (c_common_get_narrower): New.
8553 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
8554
dde05067
NF
85552011-05-23 Nathan Froyd <froydnj@codesourcery.com>
8556
8557 * c-common.h (check_function_arguments): Tweak prototype of
8558 check_function_arguments.
8559 * c-common.c (check_function_arguments): Likewise. Adjust
8560 calls to check_function_nonnull, check_function_format, and
8561 check_function_sentinel.
8562 (check_function_sentinel): Take a FUNCTION_TYPE rather than
8563 separate attributes and typelist arguments. Use
8564 FOREACH_FUNCTION_ARGS to iterate over argument types.
8565
3c0d13bf
PC
85662011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8567
8568 * c-common.c (c_common_reswords): Reorder.
8569 * c-common.h (rid): Likewise.
8570
8242dd04
NF
85712011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8572
8573 * c-common.c (def_fn_type): Don't call build_function_type, call
8574 build_function_type_array or build_varargs_function_type_array
8575 instead.
8576 (c_common_nodes_and_builtins): Likewise.
8577
3d528853
NF
85782011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8579
8580 * c-common.c (c_add_case_label): Omit the loc argument to
8581 build_case_label.
8582 * c-common.h (build_case_label): Remove.
8583 * c-semantics.c (build_case_label): Remove.
8584
a04a722b
JM
85852011-05-05 Joseph Myers <joseph@codesourcery.com>
8586
8587 * c-objc.h (objc_start_method_definition): Update prototype.
8588 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8589
e19a18d4
NF
85902011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8591
8592 * c-common.c (check_main_parameter_types): Reindent. Don't use
8593 TYPE_ARG_TYPES directly.
8594 (handle_nonnull_attribute): Likewise.
8595 (sync_resolve_params): Likewise.
8596 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8597 to check_format_string.
8598 (handle_format_attribute): Likewise.
8599 (check_format_string): Take a function type to examine instead of
8600 a type list. Use a function_arg_iterator to step through argument
8601 types.
8602
c62c040f
RG
86032011-05-04 Richard Guenther <rguenther@suse.de>
8604
8605 * c-common.c (fix_string_type): Use size_int for index type bounds.
8606 (start_fname_decls): Do not pass NULL to build_int_cst.
8607 (c_init_attributes): Likewise.
8608 * c-lex.c (c_lex_with_flags): Likewise.
8609
c12ff9d8
JM
86102011-04-27 Jason Merrill <jason@redhat.com>
8611
8612 * c-common.c (make_tree_vector_from_list): New.
8613 * c-common.h: Declare it.
8614
304dfbe3
RG
86152011-04-26 Richard Guenther <rguenther@suse.de>
8616
8617 PR preprocessor/48248
8618 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8619 for output size with -P.
8620
3c0d13bf
PC
86212011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8622
8623 * c-common.c (struct c_common_resword): Add __underlying_type.
8624 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8625
04695783
JM
86262011-04-20 Jim Meyering <meyering@redhat.com>
8627
8628 * c-format.c (init_dollar_format_checking): Remove useless
8629 if-before-free.
8630
0dc33c3c
NP
86312011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8632
8633 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8634 (objc_detect_field_duplicates): New.
0dc33c3c 8635 * stub-objc.c: Likewise.
3c0d13bf 8636
c59633d9
NP
86372011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8638
8639 * stub-objc.c (objc_declare_protocols): Renamed to
8640 objc_declare_protocol.
8641 * c-objc.h: Likewise.
3c0d13bf 8642
32dabdaf
NP
86432011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8644
8645 * stub-objc.c (objc_declare_class): Updated argument name.
8646
81f653d6
NF
86472011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8648
8649 * c-common.h (c_common_init_ts): Declare.
8650 * c-common.c (c_common_init_ts): Define.
8651
eb345401
NP
86522011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8653
8654 * c-objc.h (objc_build_message_expr): Updated prototype.
8655 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8656
a358e188
MJ
86572011-04-12 Martin Jambor <mjambor@suse.cz>
8658
8659 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8660 of cgraph_node.
8661
e6313a78
RG
86622011-04-11 Richard Guenther <rguenther@suse.de>
8663
8664 * c-common.c (complete_array_type): Build a range type of
8665 proper type.
8666
dcf0c47e
NF
86672011-04-08 Nathan Froyd <froydnj@codesourcery.com>
8668
8669 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8670 (handle_type_generic_attribute): Likewise.
8671
1ee44b26
JM
86722011-04-07 Jason Merrill <jason@redhat.com>
8673
8674 PR c++/48450
8675 * c-common.c (c_common_truthvalue_conversion): Don't ignore
8676 conversion from C++0x scoped enum.
8677
acce4e77
JM
86782011-04-06 Joseph Myers <joseph@codesourcery.com>
8679
8680 * c-target-def.h: New file.
8681 * c-target.def: New file.
8682 * c-target.h: New file.
8683 * c-common.c (targetcm): Don't define here.
8684 * c-common.h (default_handle_c_option): Declare.
8685 * c-format.c: Include c-target.h instead of target.h.
8686 * c-opts.c: Include c-target.h instead of target.h. Explicitly
8687 include tm.h.
8688 (default_handle_c_option): Move from targhooks.c.
8689
e2eefb55
JJ
86902011-03-29 Jakub Jelinek <jakub@redhat.com>
8691
8692 PR preprocessor/48248
8693 * c-ppoutput.c (print): Add src_file field.
8694 (init_pp_output): Initialize it.
8695 (maybe_print_line): Don't optimize by adding up to 8 newlines
8696 if map->to_file and print.src_file are different file.
8697 (print_line): Update print.src_file.
8698
ba78087b
KT
86992011-03-25 Kai Tietz <ktietz@redhat.com>
8700
8701 * c-ada-spec.c (compare_comment): Use filename_cmp
8702 instead of strcmp for filename.
8703
0edf1bb2
JL
87042011-03-25 Jeff Law <law@redhat.com>
8705
adfac8df 8706 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 8707
c7dc8804
JM
87082011-03-25 Jason Merrill <jason@redhat.com>
8709
8710 * c.opt: Add -std=c++03.
8711
d1d879b1
EB
87122011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8713
8714 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
8715
3f8257db 87162011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
8717
8718 PR target/12171
5050afdf
KT
8719 * c-pretty-print.c (pp_c_specifier_qualifier_list):
8720 Display allowed attributes for function pointer types.
8721 (pp_c_attributes_display): New function to display
8722 attributes having affects_type_identity flag set to true.
8723 * c-pretty-print.h (pp_c_attributes_display): New prototype.
8724
62d784f7
KT
8725 * c-common.c (c_common_attribute_table):
8726 Add new element.
8727 (c_common_format_attribute_table): Likewise.
8728
82d37118
JM
87292011-03-18 Jason Merrill <jason@redhat.com>
8730
49a000c3
JM
8731 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
8732 * c-common.h: Don't declare it here.
8733 * c-common.c: Or define it here.
8734 * c-opts.c (c_common_handle_option): Or set it here.
8735
82d37118
JM
8736 PR c++/35315
8737 * c-common.c (handle_transparent_union_attribute): Don't
8738 make a duplicate type in C++.
8739
17bc631c
JM
87402011-03-15 Jason Merrill <jason@redhat.com>
8741
8742 * c-common.c (max_constexpr_depth): New.
8743 * c-common.h: Declare it.
8744 * c-opts.c (c_common_handle_option): Set it.
8745 * c.opt (fconstexpr-depth): New option.
8746
1b9b91a6
JM
87472011-03-11 Jason Merrill <jason@redhat.com>
8748
f231b5ff
JM
8749 * c-common.c (attribute_takes_identifier_p): Add missing const.
8750
1b9b91a6
JM
8751 PR c++/46803
8752 * c-common.c (attribute_takes_identifier_p): Assume that an
8753 unknown attribute takes an identifier.
8754
a19e4d44
NF
87552011-03-07 Nathan Froyd <froydnj@codesourcery.com>
8756
8757 PR c/47786
8758 * c-common.c (c_type_hash): Call list_length instead of iterating
8759 through DECL_CHAIN. Rename 'i' to 'n_elements'.
8760
982d62f6
JJ
87612011-02-19 Jakub Jelinek <jakub@redhat.com>
8762
8763 PR c/47809
8764 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
8765
0a256240
NP
87662011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8767
8768 * c.opt (fobjc-abi-version=) New.
8769 (fobjc-nilcheck): New.
8770
ba9e6dd5
NF
87712011-02-03 Nathan Froyd <froydnj@codesourcery.com>
8772
8773 PR c++/46890
8774 * c-common.h (keyword_is_decl_specifier): Declare.
8775 * c-common.c (keyword_is_decl_specifier): Define.
8776 (keyword_is_function_specifier): New function.
8777
7273813a
JJ
87782011-01-26 Jakub Jelinek <jakub@redhat.com>
8779
8780 PR c/47473
8781 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
8782 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
8783 REAL_TYPE.
8784
908ef79b
AC
87852011-01-26 Arnaud Charlet <charlet@adacore.com>
8786
8787 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
8788
237e9384
JJ
87892011-01-26 Jakub Jelinek <jakub@redhat.com>
8790
8791 PR pch/47430
8792 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
8793 after init_c_lex if pch_file is set.
8794
47ea1edf
DK
87952011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8796
d4dba752 8797 PR c++/43601
47ea1edf
DK
8798 * c.opt (-fkeep-inline-dllexport): New switch.
8799
2aa9c6ae
RG
88002011-01-12 Richard Guenther <rguenther@suse.de>
8801
8802 PR middle-end/32511
8803 * c-common.c (handle_weak_attribute): Warn instead of error
8804 on declaring an inline function weak.
8805
7bd11157
TT
88062011-01-05 Tom Tromey <tromey@redhat.com>
8807
8808 * c-common.h (lvalue_error): Update.
8809 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
8810 not error.
8811
0e66e494 88122010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 8813
b4f588c4
NP
8814 PR objc/47075
8815 * c-objc.h (objc_finish_message_expr): Added argument to
8816 prototype.
8817
f4da8dce
NF
88182010-12-22 Nathan Froyd <froydnj@codesourcery.com>
8819
8820 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
8821 Use prototype_p.
8822
46270f14
NP
88232010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
8824
8825 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 8826 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 8827
4816c593
NF
88282010-12-10 Nathan Froyd <froydnj@codesourcery.com>
8829
8830 * c-common.h (readonly_error): Declare.
8831 * c-common.c (readonly_error): Define.
8832
7a6daeb0
NF
88332010-12-09 Nathan Froyd <froydnj@codesourcery.com>
8834
8835 * c-common.h (invalid_indirection_error): Declare.
8836 * c-common.c (invalid_indirection_error): Define.
8837
892f6119
RG
88382010-12-03 Richard Guenther <rguenther@suse.de>
8839
8840 PR c/46745
8841 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
8842 (pp_c_unary_expression): Likewise.
8843 (pp_c_expression): Likewise.
8844
6c39e757
NP
88452010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
8846
8847 * c-common.h (objc_finish_function): New.
8848 (objc_non_volatilized_type): Removed.
8849 (objc_type_quals_match): Removed.
8850 * stub-objc.c (objc_finish_function): New.
8851 (objc_non_volatilized_type): Removed.
8852 (objc_type_quals_match): Removed.
9faeb493 8853
7c475d11
JM
88542010-11-30 Joseph Myers <joseph@codesourcery.com>
8855
8856 * c-common.h (parse_optimize_options): Declare.
8857 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
8858 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
8859
71f3e391
JM
88602010-11-29 Joseph Myers <joseph@codesourcery.com>
8861
8862 * c-opts.c (check_deps_environment_vars): Use getenv instead of
8863 GET_ENVIRONMENT.
8864 * c-pch.c (O_BINARY): Don't define here.
8865 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
8866
d5fabb58
JM
88672010-11-25 Joseph Myers <joseph@codesourcery.com>
8868
8869 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
8870 targetm.except_unwind_info.
8871
299404a1
JM
88722010-11-23 Joseph Myers <joseph@codesourcery.com>
8873
8874 * c-opts.c (c_common_handle_option): Pass location to
8875 set_struct_debug_option.
8876
c98cd5bf
JM
88772010-11-23 Joseph Myers <joseph@codesourcery.com>
8878
8879 * c-common.c (visibility_options): Move from ../opts.c.
8880 * c-common.h (struct visibility_flags, visibility_options):
8881 Declare here.
8882 * c-opts.c (finish_options): Rename to c_finish_options.
8883 (c_common_init): Update call to finish_options.
8884
a9546771
NP
88852010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
8886
8887 PR objc/34033
8888 * c-lex.c (lex_string): Check that each string in an Objective-C
8889 string concat sequence starts with either one or zero '@', and
8890 that there are no spurious '@' signs at the end.
8891
24a57808
JM
88922010-11-20 Joseph Myers <joseph@codesourcery.com>
8893
8894 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
8895 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
8896 HANDLE_PRAGMA_VISIBILITY.
8897 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
8898 HANDLE_PRAGMA_VISIBILITY): Don't define.
8899 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
8900
a9aa2c3a
NF
89012010-11-20 Nathan Froyd <froydnj@codesourcery.com>
8902
8903 PR c++/16189
8904 PR c++/36888
8905 PR c++/45331
8906 * c-common.h (keyword_begins_type_specifier): Declare.
8907 (keyword_is_storage_class_specifier): Declare.
8908 (keyword_is_type_qualifier): Declare.
8909 * c-common.c (keyword_begins_type_specifier): New function.
8910 (keyword_is_storage_class_specifier): New function.
8911 (keyword_is_type_qualifier): Declare.
8912
5386338c
JM
89132010-11-19 Joseph Myers <joseph@codesourcery.com>
8914
8915 PR c/46547
8916 * c-common.c (in_late_binary_op): Define.
8917 (c_common_truthvalue_conversion): Check in_late_binary_op before
8918 calling c_save_expr.
8919 * c-common.h (in_late_binary_op): Declare.
8920
69ccdddb
JM
89212010-11-19 Joseph Myers <joseph@codesourcery.com>
8922
8923 * c-opts.c (c_common_handle_option): Update calls to
8924 set_struct_debug_option.
8925
6b192a09
NP
89262010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
8927
8928 * c-common.h (objc_declare_protocols): Added additional argument.
8929 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 8930
fb52b50a
NF
89312010-11-18 Nathan Froyd <froydnj@codesourcery.com>
8932
8933 PR c/33193
8934 * c-common.h (build_real_imag_expr): Declare.
8935 * c-semantics.c (build_real_imag_expr): Define.
8936
b37421c6
JM
89372010-11-17 Joseph Myers <joseph@codesourcery.com>
8938
8939 * c-opts.c (c_common_parse_file): Take no arguments.
8940 * c-common.h (c_common_parse_file): Update prototype.
8941
07078664
JJ
89422010-11-16 Jakub Jelinek <jakub@redhat.com>
8943
8944 PR c++/46401
8945 * c-common.c (warning_candidate_p): Don't track non-const calls
8946 or STRING_CSTs.
8947
c6a13190
ILT
89482010-11-15 Ian Lance Taylor <iant@google.com>
8949
8950 * c-lex.c (init_c_lex): Set macro debug callbacks if
8951 flag_dump_go_spec is set.
8952
925e8657
NP
89532010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
8954
8955 * c-common.h (objc_build_incr_expr_for_property_ref): New.
8956 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
8957
bb0a9581
NF
89582010-11-15 Nathan Froyd <froydnj@codesourcery.com>
8959
8960 PR preprocessor/45038
8961 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
8962 dialects.
8963
c5fa0890
JM
89642010-11-12 Joseph Myers <joseph@codesourcery.com>
8965
8966 * c-common.h (c_family_lang_mask): Declare.
8967 * c-opts.c (c_family_lang_mask): Make extern.
8968 * c-pragma.c (handle_pragma_diagnostic): Use
8969 control_warning_option.
8970
a4d8c676
JM
89712010-11-12 Joseph Myers <joseph@codesourcery.com>
8972
8973 * c-common.c (parse_optimize_options): Update call to
8974 decode_options.
8975 * c-common.h (c_common_handle_option): Update prototype.
8976 * c-opts.c (c_common_handle_option): Take location_t parameter and
8977 pass it to other functions.
8978
f954bd2c
JM
89792010-11-11 Joseph Myers <joseph@codesourcery.com>
8980
8981 * c-opts.c (warning_as_error_callback): Remove.
8982 (c_common_initialize_diagnostics): Don't call
8983 register_warning_as_error_callback.
8984 (c_common_handle_option): Handle -Werror=normalized= here.
8985
d8a07487
JM
89862010-11-10 Joseph Myers <joseph@codesourcery.com>
8987
8988 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
8989 in diagnostic.
8990 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
8991 letter.
8992 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
8993 Remove trailing '.' from diagnostics.
8994 * c.opt (Wwrite-strings_: Avoid '`' in help text.
8995
d5478783
JM
89962010-11-10 Joseph Myers <joseph@codesourcery.com>
8997
8998 * c-common.c (parse_optimize_options): Pass global_dc to
8999 decode_options.
9000 * c-opts.c (c_common_handle_option): Pass &global_options to
9001 set_Wstrict_aliasing.
9002 * c.opt (v): Don't mark Common or document here.
9003
91ebb981
IS
90042010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9005
9006 PR target/44981
9007 * c-format.c (format_type): New type gcc_objc_string_format_type.
9008 (valid_stringptr_type_p): New.
9009 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9010 (check_format_string): Pass expected type, use
91ebb981
IS
9011 valid_stringptr_type_p (), check that the format string types are
9012 consistent with the format specification.
9013 (decode_format_attr): Warn if NSString is used outside objective-c.
9014 (format_types_orig): Add NSString.
9015 (format_name): New.
9016 (format_flags): New.
9017 (check_format_arg): Handle format strings requiring an external parser.
9018 first_target_format_type: New variable.
9019 (handle_format_attribute): Set up first_target_format_type, pass the
9020 expected format arg string type to check_format_string().
9021 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
9022 * stub-objc.c (objc_string_ref_type_p): New.
9023 (objc_check_format_arg): New.
9024
bede2adc
NP
90252010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
9026
9faeb493 9027 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
9028 * c-common.h (objc_build_class_component_ref): New.
9029 * stub-objc.c (objc_build_class_component_ref): New.
9030
9a179d01
NP
90312010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9032
9033 * c.opt (Wproperty-assign-default): New option.
9034
22d8d616
NP
90352010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
9036
9037 Implemented -fobjc-std=objc1 flag.
9038 * c.opt (fobjc-std=objc1): New option.
9039
2debdb4f
NP
90402010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
9041
9042 Implemented format and noreturn attributes for Objective-C methods.
9043 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
9044 attribute for Objective-C methods.
9045
ec52b111
JM
90462010-10-31 Jason Merrill <jason@redhat.com>
9047
9048 * c-common.c (conversion_warning, warn_for_collisions_1): Use
9049 EXPR_LOC_OR_HERE.
9050
46a88c12
NP
90512010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
9052
9053 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
9054 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
9055 (objc_add_property_declaration): Removed arguments for copies and
9056 ivar.
9057 (objc_build_getter_call): Renamed to
9058 objc_maybe_build_component_ref.
9059 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9060 (objc_is_property_ref): New.
9061 * c-common.c (c_common_reswords): Removed copies and ivar.
9062 * stub-objc.c (objc_add_property_declaration): Removed arguments
9063 for copies and ivar.
9064 (objc_build_getter_call): Renamed to
9065 objc_maybe_build_component_ref.
9066 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
9067 (objc_is_property_ref): New.
9faeb493 9068
1e4bf85b
AC
90692010-10-29 Arnaud Charlet <charlet@adacore.com>
9070 Matthew Gingell <gingell@adacore.com>
9071
9072 * c-ada-spec.c (separate_class_package): New function.
9073 (pp_ada_tree_identifier): Prefix references to C++ classes with the
9074 name of their enclosing package.
9075 (print_ada_declaration): Use separate_class_package.
9076
81f0bab2
JM
90772010-10-27 Jason Merrill <jason@redhat.com>
9078
2b08f2c5
JM
9079 * c-common.c (c_common_reswords): Add __is_literal_type.
9080 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
9081
81f0bab2
JM
9082 * c-common.c (check_case_value): Remove special C++ code.
9083
200290f2
NP
90842010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9085
9086 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
9087 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
9088 and RID_LAST_PATTR.
9089 (objc_add_property_declaration): Added additional arguments.
9090 (objc_property_attribute_kind): Removed.
9091 (objc_set_property_attr): Removed.
9092 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
9093 copy and nonatomic.
9094 * stub-objc.c (objc_add_property_declaration): Added additional
9095 arguments.
9096 (objc_set_property_attr): Removed.
9faeb493 9097
f614132b
NP
90982010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
9099
9100 * c-common.h (objc_add_property_variable): Renamed to
9101 objc_add_property_declaration. Added location argument.
9102 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 9103
b8a18805
NP
91042010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
9105
9106 * c-common.h (objc_maybe_printable_name): New.
9107 * stub-objc.c (objc_maybe_printable_name): New.
9108
3f8257db
JJ
91092010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9110 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
9111
9112 * c-common.h (c_common_mark_addressable_vec): Declare.
9113 * c-common.c (c_common_mark_addressable_vec): New function.
9114
249a82c4
NP
91152010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9116
9117 * c-common.h (objc_set_method_type): Removed.
9118 (objc_add_method_declaration): Added boolean argument.
9119 (objc_start_method_definition): Same change.
9120 (objc_build_method_signature): Same change.
9121 * stub-objc.c (objc_set_method_type): Removed.
9122 (objc_add_method_declaration): Added boolean argument.
9123 (objc_start_method_definition): Same change.
9124 (objc_build_method_signature): Same change.
9125
977e30bc
NP
91262010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
9127
9128 * c-common.h (finish_file): Removed.
9129 (objc_write_global_declarations): New.
9130 * c-opts.c (c_common_parse_file): Do not call finish_file.
9131 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 9132
da57d1b9
NP
91332010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9134
9135 Implemented parsing @synthesize and @dynamic for
9136 Objective-C/Objective-C++.
9137 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
9138 (objc_add_synthesize_declaration): New.
9139 (objc_add_dynamic_declaration): New.
9140 * c-common.c (c_common_reswords): Add synthesize and dynamic.
9141 * stub-objc.c (objc_add_synthesize_declaration): New.
9142 (objc_add_dynamic_declaration): New.
9faeb493 9143
0069111f
MM
91442010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
9145
9146 PR target/46041
9147 * c-cppbuiltin.c (mode_has_fma): Move function here from
9148 builtins.c. Don't use the fma optab, instead just use the
9149 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
9150 using -save-temps.
9151
e426b47b
NP
91522010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
9153
9154 Merge from 'apple/trunk' branch on FSF servers.
0069111f 9155
3f8257db 9156 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 9157
9faeb493 9158 Radar 4330422
e426b47b
NP
9159 * c-common.h (objc_non_volatilized_type): New declaration
9160 * stub-objc.c (objc_non_volatilized_type): New stub.
9161
90fbfdc3
NP
91622010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
9163
e426b47b 9164 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 9165
3f8257db 9166 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 9167
9faeb493 9168 Radar 4133425
90fbfdc3 9169 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 9170 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 9171
c37d8c30
IS
91722010-10-17 Iain Sandoe <iains@gcc.gnu.org>
9173
9174 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
9175 * c-common.h (enum rid): Add RID_AT_PACKAGE.
9176 (objc_ivar_visibility_kind): New enum.
9177 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 9178 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
9179 visibility enum.
9180
1b1562a5
MM
91812010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9182
9183 * c-cppbuiltin.c (builtin_define_float_constants): Emit
9184 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
9185 has the appropriate fma builtins.
9186 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
9187
668ea4b1
IS
91882010-10-14 Iain Sandoe <iains@gcc.gnu.org>
9189
1b1562a5 9190 merge from FSF apple 'trunk' branch.
3f8257db 9191 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 9192
668ea4b1
IS
9193 Radars 4436866, 4505126, 4506903, 4517826
9194 * c-common.c (c_common_resword): Define @property and its attributes.
9195 * c-common.h: Define property attribute enum entries.
9196 (OBJC_IS_PATTR_KEYWORD): New.
9197 (objc_property_attribute_kind): New enum.
9198 Declare objc_set_property_attr (), objc_add_property_variable (),
9199 objc_build_getter_call () and objc_build_setter_call ().
9200 * stub-objc.c (objc_set_property_attr): New stub.
9201 (objc_add_property_variable): Likewise.
9202 (objc_build_getter_call): Likewise.
9203 (objc_build_setter_call) Likewise.
1b1562a5 9204
a1178b30
IS
92052010-10-13 Iain Sandoe <iains@gcc.gnu.org>
9206
1b1562a5 9207 merge from FSF apple 'trunk' branch.
3f8257db 9208 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
9209
9210 Radar 3803157 (method attributes)
9211 * c-common.c (handle_deprecated_attribute): Recognize
9212 objc methods as valid declarations.
9213 * c-common.h: Declare objc_method_decl ().
1b1562a5 9214 * stub-objc.c (objc_method_decl): New stub.
a1178b30 9215
a75bfaa6
JM
92162010-10-08 Joseph Myers <joseph@codesourcery.com>
9217
9218 * c-common.c (parse_optimize_options): Call
9219 decode_cmdline_options_to_array_default_mask before
9220 decode_options. Update arguments to decode_options.
9221 * c-common.h (c_common_init_options_struct): Declare.
9222 * c-opts.c (c_common_init_options_struct): New. Split out from
9223 c_common_init_options.
9224
f05b9d93
NP
92252010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
9226
9227 Implemented fast enumeration for Objective-C.
9228 * c-common.h (objc_finish_foreach_loop): New.
9229 * stub-objc.c (objc_finish_foreach_loop): New.
9230
1ebe4b4f
JM
92312010-10-05 Joseph Myers <joseph@codesourcery.com>
9232
9233 * c-common.h (struct diagnostic_context): Don't declare here.
9234 (c_common_initialize_diagnostics): Declare using
9235 diagnostic_context typedef.
9236 * c-opts.c (c_common_handle_option): Pass global_dc to
9237 handle_generated_option.
9238
d4d24ba4
JM
92392010-10-04 Joseph Myers <joseph@codesourcery.com>
9240
9241 * c-opts.c (c_common_handle_option): Pass &global_options_set to
9242 handle_generated_option.
9243
478a1c5b
ILT
92442010-10-03 Ian Lance Taylor <iant@google.com>
9245
9246 * c.opt (-fplan9-extensions): New option.
9247
82a1c2fe
FXC
92482010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9249
9250 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
9251 Remove.
9252 (c_cpp_builtins): Call functions from cppbuiltin.c instead
9253 of duplicating code.
9254
92902b1b
IS
92552010-09-30 Iain Sandoe <iains@gcc.gnu.org>
9256
9257 * c-common.c: Add two new entries for @optional
9258 and @required keywords.
9259
9260 merge from FSF 'apple/trunk' branch.
3f8257db 9261 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
9262
9263 Radar 4386773
9264 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
9265 objective-c keywords.
9266 (objc_set_method_opt): New declaration.
9267 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 9268
46625112
JM
92692010-09-30 Joseph Myers <joseph@codesourcery.com>
9270
9271 * c-common.c (handle_optimize_attribute): Pass &global_options to
9272 cl_optimization_save and cl_optimization_restore.
9273 * c-opts.c (c_common_handle_option): Pass &global_options to
9274 handle_generated_option.
9275 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
9276 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
9277 &global_options to cl_optimization_restore.
9278
49b91f05
NP
92792010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
9280
9281 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
9282 Objective-C/Objective-C++ keywords.
9283
13ed556f 92842010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 9285
9faeb493
UB
9286 Merge from 'apple/trunk' branch on FSF servers.
9287
3f8257db 9288 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
9289
9290 Radar 4281748
9291 * c-common.h (objc_check_global_decl): New declaration.
9292 * stub-objc.c (objc_check_global_decl): New stub.
9293
f0036cca
JM
92942010-09-29 Joseph Myers <joseph@codesourcery.com>
9295
9296 * c.opt: Don't use VarExists.
9297
e3339d0f
JM
92982010-09-29 Joseph Myers <joseph@codesourcery.com>
9299
9300 * c-common.c (c_cpp_error): Update names of diagnostic_context
9301 members.
9302 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
9303 cl_optimization members.
9304 * c-opts.c (warning_as_error_callback, c_common_handle_option,
9305 sanitize_cpp_opts, finish_options): Update names of cpp_options
9306 members.
9307
1973201f
NP
93082010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
9309
9310 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
9311 (objc_is_reserved_word): Removed.
9312 * c-common.c: Updated comments.
9313 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
9314 objc_is_reserved_word.
9315 * stub-objc.c (objc_is_reserved_word): Removed.
9316
f7e71da5
IS
93172010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9318
9faeb493 9319 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
9320 include attributes.
9321 (objc_start_method_definition): Likewise.
9322 (objc_build_keyword_decl): Likewise.
9323 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
9324 (objc_start_method_definition): Likewise.
9325 (objc_build_keyword_decl): Likewise.
9326
c165dca7
IS
93272010-09-28 Iain Sandoe <iains@gcc.gnu.org>
9328
9329 * c-common.h (objc_start_class_interface): Adjust prototype.
9330 (objc_start_category_interface): Likewise.
9331 (objc_start_protocol): Likewise.
9332 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
9333 (objc_start_class_interface): Likewise.
9334 (objc_start_category_interface): Likewise.
9335
7458026b
ILT
93362010-09-27 Ian Lance Taylor <iant@google.com>
9337
9338 * c-common.c (c_common_attribute_table): Add no_split_stack.
9339 (handle_no_split_stack_attribute): New static function.
9340
b581b85b
NP
93412010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
9342
9faeb493 9343 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 9344
3f8257db 9345 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 9346
9faeb493 9347 Radar 4229905
b581b85b
NP
9348 * c-common.h (objc_have_common_type): New declaration.
9349 * stub-objc.c (objc_have_common_type): New stub.
9350
9351 2005-06-22 Ziemowit Laski <zlaski@apple.com>
9352
9353 Radar 4154928
9354 * c-common.h (objc_common_type): New prototype.
9faeb493 9355 * stub-objc.c (objc_common_type): New stub.
b581b85b 9356
46a4da10
JH
93572010-09-24 Jan Hubicka <jh@suse.cz>
9358
9359 * c-common.c (handle_leaf_attribute): New function.
9360 (struct attribute_spec c_common_att): Add leaf.
9361
e200444e
JM
93622010-09-22 Joseph Myers <joseph@codesourcery.com>
9363
9364 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
9365 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
9366 -dump, -dump=, -imacros, -imacros=, -include, -include=,
9367 -include-barrier, -include-directory, -include-directory=,
9368 -include-directory-after, -include-directory-after=,
9369 -include-prefix, -include-prefix=, -include-with-prefix,
9370 -include-with-prefix=, -include-with-prefix-after,
9371 -include-with-prefix-after=, -include-with-prefix-before,
9372 -include-with-prefix-before=, -no-integrated-cpp,
9373 -no-line-commands, -no-standard-includes, -no-warnings, -output,
9374 -output=, -pedantic, -pedantic-errors, -preprocess,
9375 -print-missing-file-dependencies, -trace-includes, -traditional,
9376 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
9377 -user-dependencies, -verbose, -write-dependencies,
9378 -write-user-dependencies, no-integrated-cpp, traditional): New.
9379
29a80ea6
NP
93802010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9381
9382 PR objc/23710
ac1fc2fc
NP
9383 * c-common.h (objc_start_method_definition): Return bool instead
9384 of void.
9385 * stub-objc.c (objc_start_method_definition): Return bool instead
9386 of void.
9387
93882010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
9389
9390 PR objc/25965
9391 * c-common.h (objc_get_interface_ivars): New declaration.
9392 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 9393
de621752
ILT
93942010-09-15 Ian Lance Taylor <iant@google.com>
9395
9396 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 9397 messages. Remove period at end of warning message.
de621752 9398
ba885ec5
NS
93992010-09-09 Nathan Sidwell <nathan@codesourcery.com>
9400
9401 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
9402 (handle_alias_attribute): ... here.
9403 (handle_ifunc_attribute): New.
9404
c5ee1358
MM
94052010-09-06 Mark Mitchell <mark@codesourcery.com>
9406
9407 * c-common.h (do_warn_double_promotion): Declare.
9408 * c-common.c (do_warn_double_promotion): Define.
9409
0a0b3574
MM
94102010-09-05 Mark Mitchell <mark@codesourcery.com>
9411
9412 * c.opt (Wdouble-promotion): New.
9413
d1779886
JM
94142010-09-02 Joseph Myers <joseph@codesourcery.com>
9415
9416 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
9417 fvtable-thunks, fxref): Mark no longer supported in help text.
9418
2d2bd949
JM
94192010-09-02 Joseph Myers <joseph@codesourcery.com>
9420
9421 * c.opt (Wimport, fall-virtual, falt-external-templates,
9422 fdefault-inline, fenum-int-equiv, fexternal-templates,
9423 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
9424 fname-mangling-version-, fnew-abi, fnonnull-objects,
9425 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
9426 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
9427 applicable.
9428 (fhandle-exceptions): Mark with Alias and Warn.
9429 * c-opts.c (c_common_handle_option): Don't handle options marked
9430 as ignored.
9431
5de8299c
JM
94322010-09-02 Joseph Myers <joseph@codesourcery.com>
9433
9434 * c.opt (Wcomments, Werror-implicit-function-declaration,
9435 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
9436 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
9437 aliases.
9438 * c-common.c (option_codes): Use OPT_Wcomment instead of
9439 OPT_Wcomments.
9440 * c-opts.c (warning_as_error_callback, c_common_handle_option):
9441 Don't handle options marked as aliases.
9442
0ceb0201
RG
94432010-08-25 Richard Guenther <rguenther@suse.de>
9444
9445 * c-common.c (c_common_get_alias_set): Remove special
9446 handling for pointers.
9447
ac47786e
NF
94482010-08-20 Nathan Froyd <froydnj@codesourcery.com>
9449
9450 * c-common.c: Use FOR_EACH_VEC_ELT.
9451 * c-gimplify.c: Likewise.
9452 * c-pragma.c: Likewise.
9453
c878765b
JM
94542010-08-16 Joseph Myers <joseph@codesourcery.com>
9455
9456 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
9457 RejectDriver.
9458 (MMDX): Change back to MMD. Mark NoDriverArg instead of
9459 RejectDriver.
9460 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
9461 instead of OPT_MDX and OPT_MMDX.
9462
603349bf
JM
94632010-08-16 Joseph Myers <joseph@codesourcery.com>
9464
9465 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
9466
644fa7ac
JM
94672010-08-12 Joseph Myers <joseph@codesourcery.com>
9468
9469 * c.opt (MD, MMD): Change to MDX and MMDX.
9470 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
9471
481e1176
JM
94722010-08-11 Joseph Myers <joseph@codesourcery.com>
9473
9474 * c-opts.c (c_common_handle_option): Call handle_generated_option
9475 instead of handle_option.
9476
ac8dc9f7
NF
94772010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9478
9479 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
9480 (maybe_apply_renaming_pragma): Delete unneeded declarations.
9481
4f8c876d
NF
94822010-08-08 Nathan Froyd <froydnj@codesourcery.com>
9483
9484 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
9485 (pending_redefine_extname): Change type to a VEC.
9486 (add_to_renaming_pragma_list): Update for new type of
9487 pending_redefine_extname.
ac8dc9f7 9488 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 9489
3b0c690e
AC
94902010-08-04 Arnaud Charlet <charlet@adacore.com>
9491
9492 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
9493 visited.
9494 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
9495 decide whether a type has already been declared/seen.
9496 Do not go to the original type.
9497 (dump_nested_types): New parameter forward.
9498 Generate forward declaration if needed and mark type as visited.
9499 (print_ada_declaration): Call dump_nested_types if not already done.
9500 Mark types as visited.
9501
1890bccc
JM
95022010-08-03 Joseph Myers <joseph@codesourcery.com>
9503
9504 * c.opt (-print-pch-checksum): Remove option.
9505 * c-opts.c (c_common_handle_option): Don't handle
9506 OPT_print_pch_checksum.
9507
5f20c657
JM
95082010-07-27 Joseph Myers <joseph@codesourcery.com>
9509
9510 * c-common.h (c_common_handle_option): Update prototype and return
9511 value type.
9512 * c-opts.c (c_common_handle_option): Update prototype and return
9513 value type. Update calls to handle_option and
9514 enable_warning_as_error.
9515
f551f80c
JJ
95162010-07-27 Jakub Jelinek <jakub@redhat.com>
9517
9518 PR c/45079
9519 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
9520
61ff2bdc
JM
95212010-07-27 Joseph Myers <joseph@codesourcery.com>
9522
9523 * c-common.h (c_common_missing_argument): Remove.
9524 * c-opts.c (c_common_missing_argument): Remove.
9525 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
9526 idirafter, imacros, include, isysroot, isystem, iquote): Add
9527 MissingArgError.
9528 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
9529
7a9bf9a4
JM
95302010-07-27 Joseph Myers <joseph@codesourcery.com>
9531
9532 * c-common.h (c_common_option_lang_mask,
9533 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
9534 New.
9535 (c_common_init_options): Update prototype.
9536 * c-opts.c (c_common_option_lang_mask): New.
9537 (c_common_initialize_diagnostics): Split out of
9538 c_common_init_options.
9539 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
9540 New.
9541 (c_common_init_options): Update prototype. Use decoded options in
9542 search for -lang-asm.
9543
910ad8de
NF
95442010-07-15 Nathan Froyd <froydnj@codesourcery.com>
9545
9546 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
9547 * c-format.c: Likewise.
9548
718f9c0f
MLI
95492010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
9550
9551 * c-common.h: Include diagnostic-core.h. Error if already
9552 included.
9553 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
9554
4d451982
MLI
95552010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9556
adfac8df 9557 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
9558 Do not include expr.h
9559 (vector_mode_valid_p): Move here.
9560
119fe915
SB
95612010-06-21 DJ Delorie <dj@redhat.com>
9562
9563 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
9564 allow these pragmas anywhere.
9565
95662010-06-14 Jakub Jelinek <jakub@redhat.com>
9567
9568 PR bootstrap/44509
9569 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
9570 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
9571 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9572 ggc_strdup instead of xstrdup.
9573
95742010-06-10 Jakub Jelinek <jakub@redhat.com>
9575
9576 * c-cppbuiltin.c: Include cpp-id-data.h.
9577 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9578 (lazy_hex_fp_value): New function.
9579 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9580
6662d794
MLI
95812010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9582
9583 * c-gimplify.c: Do not include tree-flow.h
9584
38f8b050
JR
95852010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9586
9587 PR other/44034
9588 * c-common.c: Rename targetm member:
9589 targetm.enum_va_list -> targetm.enum_va_list_p
9590
9589f23e
AS
95912010-06-28 Anatoly Sokolov <aesok@post.ru>
9592
9593 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9594
3b06d379
SB
95952010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9596
9597 * c-cppbuiltin.c: Do not include except.h.
9598
d166d4c3
AK
95992010-06-24 Andi Kleen <ak@linux.intel.com>
9600
9faeb493
UB
9601 * c-common.c (warn_for_omitted_condop): New.
9602 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9603
70cb8be6
JM
96042010-06-21 Joseph Myers <joseph@codesourcery.com>
9605
9606 * c.opt (lang-objc): Remove.
9607 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9608
a4c97feb
JR
96092010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9610
9611 * c-opts.c: Include "tm_p.h".
9612
6e2f1956
JM
96132010-06-20 Joseph Myers <joseph@codesourcery.com>
9614
9615 * c-common.c (parse_optimize_options): Update call to
9616 decode_options.
9617
bc87224e
NF
96182010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9619
9620 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9621 new type of types_used_by_cur_var_decl.
9622
b49cf425
JR
96232010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9624
9625 PR bootstrap/44512
9626 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9627 for C++ standard compliance.
9628
59f9c2ed
JM
96292010-06-16 Jason Merrill <jason@redhat.com>
9630
9631 * c.opt: Add -Wnoexcept.
9632
33766b66
RG
96332010-06-16 Richard Guenther <rguenther@suse.de>
9634
9635 PR c/44555
9636 * c-common.c (c_common_truthvalue_conversion): Remove
9637 premature and wrong optimization concering ADDR_EXPRs.
9638
eff7e30c
AC
96392010-06-15 Arnaud Charlet <charlet@adacore.com>
9640
9641 * c-ada-spec.c (dump_sloc): Remove column info.
9642 (is_simple_enum): New function.
9643 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9644 enum types when relevant.
9645
6312e84d
MLI
96462010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9647
9faeb493 9648 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9649 location.
9650
1cb42611
JM
96512010-06-10 Joseph Myers <joseph@codesourcery.com>
9652
9653 * c-opts.c (c_common_handle_option): Don't handle
9654 OPT_fshow_column.
9655
a9429e29
LB
96562010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9657
9658 * c-pragma.c (push_alignment): Use typed GC allocation.
9659 (handle_pragma_push_options): Likewise.
9660
9661 * c-common.c (parse_optimize_options): Likewise.
9662
9663 * c-common.h (struct sorted_fields_type): Add variable_size GTY
9664 option.
9665
5498f011
JM
96662010-06-07 Joseph Myers <joseph@codesourcery.com>
9667
9668 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9669 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9670 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9671 flag_signed_bitfields, warn_strict_null_sentinel,
9672 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9673 flag_gen_declaration, flag_no_gnu_keywords,
9674 flag_implement_inlines, flag_implicit_templates,
9675 flag_implicit_inline_templates, flag_optional_diags,
9676 flag_elide_constructors, flag_default_inline, flag_rtti,
9677 flag_conserve_space, flag_access_control, flag_check_new,
9678 flag_new_for_scope, flag_weak, flag_working_directory,
9679 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9680 flag_enforce_eh_specs, flag_threadsafe_statics,
9681 flag_pretty_templates): Remove.
9682 * c-common.h (flag_preprocess_only, flag_nil_receivers,
9683 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9684 flag_replace_objc_classes, flag_undef, flag_no_builtin,
9685 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9686 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9687 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9688 flag_no_gnu_keywords, flag_implement_inlines,
9689 flag_implicit_templates, flag_implicit_inline_templates,
9690 flag_optional_diags, flag_elide_constructors, flag_default_inline,
9691 flag_rtti, flag_conserve_space, flag_access_control,
9692 flag_check_new, flag_new_for_scope, flag_weak,
9693 flag_working_directory, flag_use_cxa_atexit,
9694 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9695 flag_threadsafe_statics, flag_pretty_templates,
9696 warn_strict_null_sentinel): Remove.
9697 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9698 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9699 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9700 fimplicit-inline-templates, fimplicit-templates,
9701 flax-vector-conversions, fms-extensions, fnil-receivers,
9702 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9703 frtti, fshort-double, fshort-enums, fshort-wchar,
9704 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9705 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9706 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9707 gen-decls, undef): Use Var.
9708 (fdefault-inline, foptional-diags): Document as doing nothing.
9709 * c-opts.c (c_common_handle_option): Remove cases for options now
9710 using Var. Mark ignored options as such.
9711
39dabefd
SB
97122010-06-05 Steven Bosscher <steven@gcc.gnu.org>
9713
9faeb493 9714 * c-common.c: Moved to here from parent directory.
39dabefd
SB
9715 * c-common.def: Likewise.
9716 * c-common.h: Likewise.
9717 * c-cppbuiltin.c: Likewise.
9718 * c-dump.c: Likewise.
9719 * c-format.c: Likewise.
9720 * c-format.h : Likewise.
9721 * c-gimplify.c: Likewise.
9722 * c-lex.c: Likewise.
9723 * c-omp.c: Likewise.
9724 * c.opt: Likewise.
9725 * c-opts.c: Likewise.
9726 * c-pch.c: Likewise.
9727 * c-ppoutput.c: Likewise.
9728 * c-pragma.c: Likewise.
9729 * c-pragma.h: Likewise.
9730 * c-pretty-print.c: Likewise.
9731 * c-pretty-print.h: Likewise.
9732 * c-semantics.c: Likewise.
9733 * stub-objc.c: Likewise.
9734
9735 * c-common.c: Include gt-c-family-c-common.h.
9736 * c-pragma.c: Include gt-c-family-c-pragma.h.
9737\f
85ec4feb 9738Copyright (C) 2010-2018 Free Software Foundation, Inc.
39dabefd
SB
9739
9740Copying and distribution of this file, with or without modification,
9741are permitted in any medium without royalty provided the copyright
9742notice and this notice are preserved.
This page took 4.673593 seconds and 5 git commands to generate.