]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
[C] Add a target hook that allows targets to verify type usage
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
65ef05d0
RS
12019-11-30 Richard Sandiford <richard.sandiford@arm.com>
2
3 * c-common.c (pointer_int_sum): Use verify_type_context to check
4 whether the target allows pointer arithmetic for the types involved.
5 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
6 to check whether the target allows sizeof and alignof operations
7 for the types involved.
8
1a291106
JM
92019-11-27 Jason Merrill <jason@redhat.com>
10
11 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
12
05d6cb1a
JJ
132019-11-26 Jakub Jelinek <jakub@redhat.com>
14
15 PR c++/61414
16 * c-attribs.c (handle_mode_attribute): Add mode attribute to
17 ENUMERAL_TYPEs.
18
5b8d9367
JM
192019-11-25 Joseph Myers <joseph@codesourcery.com>
20
21 PR c/91985
22 * c-common.c (c_common_type_for_mode): Handle decimal
23 floating-point types being NULL_TREE.
24 * c-format.c (get_format_for_type_1): Handle specified types being
25 NULL_TREE.
26 * c-lex.c (interpret_float): Give an error for decimal
27 floating-point constants when decimal floating-point not
28 supported.
29
1fbf51cb
JJ
302019-11-23 Jakub Jelinek <jakub@redhat.com>
31
32 PR middle-end/83859
33 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
34 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
35 group warning with inform together.
36 (handle_access_attribute): Formatting fix.
37
761df906
JJ
382019-11-22 Jakub Jelinek <jakub@redhat.com>
39
bdaf8be1
JJ
40 PR c/90677
41 * c-common.h (identifier_global_tag): Declare.
42 * c-format.c (get_pointer_to_named_type): Renamed to ...
43 (get_named_type): ... this. Use identifier_global_tag instead of
44 identifier_global_value, handle the return value being a TYPE_P.
45 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
46 to call get_named_type instead. Formatting fixes.
47
c2ecce6d 48 Implement P1902R1, Missing feature-test macros 2017-2019.
761df906
JJ
49 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
50 and __cpp_generic_lambdas for -std=c++2a. Define
51 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
52 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
53 __cpp_concepts for -std=c++2a.
54
54aa6b58
MS
552019-11-22 Martin Sebor <msebor@redhat.com>
56
57 PR middle-end/83859
58 * c-attribs.c (handle_access_attribute): New function.
59 (c_common_attribute_table): Add new attribute.
60 (get_argument_type): New function.
61 (append_access_attrs): New function.
62 (get_nonnull_operand): Rename...
63 (get_attribute_operand): ...to this.
64 * c-common.c (get_nonnull_operand): Rename...
65 (get_attribute_operand): ...to this.
66
6c80b1b5
JM
672019-11-21 Joseph Myers <joseph@codesourcery.com>
68
69 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
70 of warning.
71
192961ff
JM
722019-11-19 Joseph Myers <joseph@codesourcery.com>
73
74 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
75 warning for standard attributes mixed with fallthrough attributes.
76
f8aea5e3
JM
772019-11-15 Joseph Myers <joseph@codesourcery.com>
78
79 * c-attribs.c (handle_fallthrough_attribute): Remove static.
80 * c-common.h (handle_fallthrough_attribute): Declare.
81
2cc94aa8
JM
822019-11-15 Joseph Myers <joseph@codesourcery.com>
83
84 * c-attribs.c (handle_deprecated_attribute): Remove static.
85 * c-common.h (handle_deprecated_attribute): Declare.
86
7c5890cc
JM
872019-11-14 Joseph Myers <joseph@codesourcery.com>
88
89 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
90 char for C.
91
b2417b59
JJ
922019-11-14 Jakub Jelinek <jakub@redhat.com>
93
d0ec7c93
JJ
94 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
95 valid vendors.
96
b2417b59
JJ
97 * c-omp.c (c_omp_check_context_selector): Handle name lists
98 containing string literals. Don't diagnose atomic_default_mem_order
99 with multiple props.
100
00be2a5f
JM
1012019-11-13 Joseph Myers <joseph@codesourcery.com>
102
103 * c-cppbuiltin.c (builtin_define_float_constants): Also define
104 NORM_MAX constants. Update call to get_max_float.
105 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
106 constants.
107
2dbad62d
EB
1082019-11-13 Eric Botcazou <ebotcazou@adacore.com>
109
110 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
111 (dump_forward_type): Do not generate a declaration for function types.
112 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
113 of the component type if it is declared in another file.
114
6ed76044
ML
1152019-11-12 Martin Liska <mliska@suse.cz>
116
117 * c-opts.c (c_common_post_options):
118 Use SET_OPTION_IF_UNSET.
119
62aee289
MR
1202019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
121 Frederik Harwath <frederik@codesourcery.com>
122
123 gcc/c-family/
124 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
125 constant.
126 * c-pragma.c (oacc_pragmas): Add "serial" entry.
127
f486280c
RS
1282019-11-08 Richard Sandiford <richard.sandiford@arm.com>
129
130 * c-common.h (gnu_vector_type_p): New function.
131 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
132 vectors to satisfy gnu_vector_type_p.
133 (c_build_vec_convert): Likewise __builtin_convertvector.
134 (convert_vector_to_array_for_subscript): Likewise when applying
135 implicit vector to array conversion.
136 (scalar_to_vector): Likewise when converting vector-scalar
137 operations to vector-vector operations.
138
017c6491
JM
1392019-11-08 Joseph Myers <joseph@codesourcery.com>
140
141 * c.opt (Wold-style-definition): Initialize to -1.
142 * c-opts.c (c_common_post_options): Set warn_old_style_definition
143 to flag_isoc2x if not set explicitly.
144
c01bd174
JM
1452019-11-07 Joseph Myers <joseph@codesourcery.com>
146
147 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
148
0df65305
JM
1492019-11-05 Jason Merrill <jason@redhat.com>
150
151 * c-opts.c (c_common_post_options): -fconcepts-ts implies
152 -fconcepts.
153
e0c866dd
KK
1542019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
155
156 * c-opts.c (c_common_post_options): Update
157 latest_abi_version.
158
f968ef9b
JJ
1592019-11-02 Jakub Jelinek <jakub@redhat.com>
160
d0c464d2
JJ
161 * c-common.h (c_omp_get_context_selector): Remove.
162 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
163 and renamed to omp_get_context_selector.
164
917dd789
JJ
165 * c-omp.c (c_omp_mark_declare_variant): Use
166 omp_context_selector_set_compare.
167
f968ef9b
JJ
168 PR c++/88335 - Implement P1073R3: Immediate functions
169 * c-common.h (enum rid): Add RID_CONSTEVAL.
170 * c-common.c (c_common_reswords): Add consteval.
171
5f6705b7
JJ
1722019-11-01 Martin Sebor <msebor@redhat.com>
173
174 PR middle-end/91679
175 PR middle-end/91647
176 PR middle-end/91463
177 PR middle-end/92312
178 * c-pretty-print.c (direct_abstract_declarator): Print
179 bound in zero-length arrays.
180 * c.opt (-Wzero-length-bounds): New option.
181
43f1814c
NS
1822019-10-30 Nathan Sidwell <nathan@acm.org>
183
184 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
185 macros.
186
ad1539d5
MS
1872019-10-28 Martin Sebor <msebor@redhat.com>
188
189 PR c/66970
190 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
191 even when only preprocessing.
192 * c-common.h (names_builtin_p): Declare new function.
193 * c-lex.c (init_c_lex): Set has_builtin.
194 (c_common_has_builtin): Define a new function.
195 * c-ppoutput.c (init_pp_output): Set has_builtin.
196
135df52c
JJ
1972019-10-24 Jakub Jelinek <jakub@redhat.com>
198
199 * c-common.h (c_omp_context_selector_matches): Remove.
200 * c-omp.c (c_omp_context_selector_matches): Remove.
201 * c-attribs.c (c_common_attribute_table): Add
202 "omp declare target {host,nohost,block}" attributes.
203
8ad0c477
JM
2042019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
205
206 * c-lex.c (c_common_has_attribute): Update nodiscard value.
207
56898e43
RS
2082019-10-14 Richard Sandiford <richard.sandiford@arm.com>
209
210 * c-common.h (user_facing_original_type_p): Declare.
211 * c-common.c: Include c-spellcheck.h.
212 (user_facing_original_type_p): New function.
213
20de9568
JJ
2142019-10-12 Jakub Jelinek <jakub@redhat.com>
215
216 * c-common.h (c_omp_mark_declare_variant,
217 c_omp_context_selector_matches): Declare.
218 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
219 and hsa-common.h.
220 (c_omp_get_context_selector): Support second argument NULL.
221 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
222 functions.
223 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
224 attribute, add "omp declare variant base" and
225 "omp declare variant variant" attributes.
226
175a85b2
JM
2272019-10-11 Joseph Myers <joseph@codesourcery.com>
228
229 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
230 CppReason(CPP_W_C11_C2X_COMPAT).
231
fe2bc27c
JM
2322019-10-11 Joseph Myers <joseph@codesourcery.com>
233
234 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
235 _Decimal64 and _Decimal128.
236
27dfdc0f
JM
2372019-10-10 Joseph Myers <joseph@codesourcery.com>
238
239 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
240 types if DFP not supported.
241
94e7f906
JJ
2422019-10-10 Jakub Jelinek <jakub@redhat.com>
243
244 * c-common.h (c_omp_check_context_selector,
245 c_omp_get_context_selector): Declare.
246 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
247 in diagnostic message.
248 (c_omp_check_context_selector, c_omp_get_context_selector): New
249 functions.
250 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
251 attribute.
252 (handle_omp_declare_variant_attribute): New function.
253
a7160771
MS
2542019-10-09 Martin Sebor <msebor@redhat.com>
255
256 PR tree-optimization/90879
257 * c.opt (-Wstring-compare): New option.
258
cb57504a
JM
2592019-10-08 Andrew Sutton <asutton@lock3software.com>
260 Jason Merrill <jason@redhat.com>
261
262 Update the concepts implementation to conform to the C++20
263 specification, improve compile times, and generally clean up
264 the implementation.
265
266 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
267 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
268 * c.opt: Add -Wconcepts-ts.
269 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
270 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
271 (set_std_cxx2a): Enable concepts by default.
272
fbb2a6dc
JM
2732019-10-08 Joseph Myers <joseph@codesourcery.com>
274
275 * c-opts.c (c_common_post_options): Set
276 -fno-fp-int-builtin-inexact for C2X.
277
8e007055
JJ
2782019-10-05 Jakub Jelinek <jakub@redhat.com>
279
280 PR c++/91369 - Implement P0784R7: constexpr new
281 * c-cppbuiltin.c (c_cpp_builtins): Predefine
282 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
283
843f104d
JM
2842019-10-04 Joseph Myers <joseph@codesourcery.com>
285
286 PR c/82752
287 * c-format.c (C_STD_VER): Handle C2x.
288 (C_STD_NAME): Likewise.
289 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
290 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
291 modifier allowed and 'p' flag.
292 * c-format.h (enum format_std_version): Add STD_C2X.
293 (struct format_char_info): Mention 'p' in comment on flags2.
294
e9c9a142
DM
2952019-10-01 David Malcolm <dmalcolm@redhat.com>
296
297 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
298 calling diagnostic_show_locus, rather than destroying it afterwards.
299
7552c36a
JJ
3002019-10-01 Jakub Jelinek <jakub@redhat.com>
301
302 PR c++/91925
303 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
304 with NULL DECL_FIELD_OFFSET.
305
8209db25
RS
3062019-10-01 Richard Sandiford <richard.sandiford@arm.com>
307
308 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
309 has a type name, use it in preference to the __vector syntax.
310
9343bf99
RS
3112019-09-30 Richard Sandiford <richard.sandiford@arm.com>
312
313 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
314 two spaces between a comma and "...".
315
59bc434a
JJ
3162019-09-27 Jakub Jelinek <jakub@redhat.com>
317
318 PR c++/88203
319 * c-common.h (c_omp_predefined_variable): Declare.
320 * c-omp.c (c_omp_predefined_variable): New function.
321 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
322 for predefined variables.
323
c6447c20
RS
3242019-09-27 Richard Sandiford <richard.sandiford@arm.com>
325
326 * c-common.h (build_function_call_vec): Take the original
327 function decl as an optional final parameter.
328 (check_builtin_function_arguments): Take the original function decl.
329 * c-common.c (check_builtin_function_arguments): Likewise.
330 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
331 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
332
c4438114
JM
3332019-09-15 Jason Merrill <jason@redhat.com>
334
335 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
336 fold_for_warn in "|| mask" warning.
337
68a57628
ML
3382019-09-10 Martin Liska <mliska@suse.cz>
339
340 * c.opt: Use newly added WarnRemoved.
341
f48ef52e
ML
3422019-09-09 Martin Liska <mliska@suse.cz>
343
344 * c.opt: Update comment of removed
345 options that are preserved only for backward
346 compatibility.
347
67f6e649
ML
3482019-09-06 Martin Liska <mliska@suse.cz>
349
350 PR c++/91125
351 * c-common.c: Remove definition of flag_use_repository.
352 * c-common.h: Likewise.
353 * c-opts.c (c_common_handle_option):
354 Do not handle OPT_frepo option.
355 * c.opt: Mark the option with Deprecated.
356
db9d2274
MP
3572019-09-04 Marek Polacek <polacek@redhat.com>
358
359 * c.opt (fdeduce-init-list): Ignored.
360
68e2c199
PK
3612019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
362
363 PR c/78736
364 * c.opt (Wenum-conversion): New option.
365
7a4418a5
JL
3662019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
367
368 * c-attribs.c (handle_section_attribute): Call the
369 handle_generic_attribute target hook after performing target
370 independent processing.
371 (handle_noinit_attribute): Likewise.
372
5f76ab15
ILT
3732019-09-03 Ian Lance Taylor <iant@golang.org>
374
375 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
376 when using -fgo-dump-spec.
377
ae0d3f6a
ML
3782019-09-02 Martin Liska <mliska@suse.cz>
379
380 PR c++/91155
381 * c-common.c (fname_as_string): Use cxx_printable_name for
382 __PRETTY_FUNCTION__ same as was used before r265711.
383
8a902edb
MP
3842019-08-28 Marek Polacek <polacek@redhat.com>
385
386 Implement P1152R4: Deprecating some uses of volatile.
387 PR c++/91361
388 * c-opts.c (c_common_post_options): Enable -Wvolatile by
389 default for C++2a, unless -Wno-deprecated.
390 * c.opt (Wvolatile): New warning.
391
4742dbe7
MP
3922019-08-28 Marek Polacek <polacek@redhat.com>
393
394 PR c++/91360 - Implement C++20 P1143R2: constinit.
395 * c-common.c (c_common_reswords): Add constinit and __constinit.
396 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
397 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
398 RID_LAST_CXX20.
399 (D_CXX20): Define.
400 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
401 * c-format.c (cxx_keywords): Add "constinit".
402 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
403
6a074892
JJ
4042019-08-27 Jakub Jelinek <jakub@redhat.com>
405
406 PR c++/91415
407 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
408 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
409 like COMPOUND_EXPR rather than normal expression.
410
22f8849d
IS
4112019-08-23 Iain Sandoe <iain@sandoe.co.uk>
412
413 PR pch/61250
414 * c-lex.c (c_lex_with_flags): Don't call
415 c_common_no_more_pch () from here.
416
df375b03
JJ
4172019-08-23 Jakub Jelinek <jakub@redhat.com>
418
419 PR middle-end/91283
420 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
421 instead of flag_excess_precision_cmdline.
422 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
423 * c-opts.c (c_common_post_options): Likewise.
424
14b7950f
MS
4252019-08-22 Martin Sebor <msebor@redhat.com>
426
427 PR middle-end/91490
428 * c-common.c (braced_list_to_string): Add argument and overload.
429 Handle flexible length arrays and unions.
430
8bb2ee59
EB
4312019-08-21 Eric Botcazou <ebotcazou@adacore.com>
432
433 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
434 function declarations where arguments are missing. Rename variables.
435
21c1e205
RB
4362019-08-15 Richard Biener <rguenther@suse.de>
437
438 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
439 enabled, define __SIZETYPE__.
440
f0033821
CL
4412019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
442
443 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
444 exclusion with "section" attribute.
445 (attr_noinit_exclusions): New table.
446 (handle_noinit_attribute): New function.
447
4d732405
RS
4482019-08-13 Richard Sandiford <richard.sandiford@arm.com>
449
450 PR middle-end/91421
451 * c-common.c (resolve_overloaded_builtin): Use
452 copy_decl_built_in_function.
453
51ad8481
MS
4542019-08-13 Martin Sebor <msebor@redhat.com>
455
456 PR c/80619
457 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
458 (asm_fprintf_length_spec): Same.
459 * c-format.h (format_lengths): Add FMT_LEN_w.
460
77eb117f
JJ
4612019-08-10 Jakub Jelinek <jakub@redhat.com>
462
463 * c-pragma.h (enum pragma_omp_clause): Add
464 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
465
398e3feb
JJ
4662019-08-07 Jakub Jelinek <jakub@redhat.com>
467
468 * c-pragma.h (enum pragma_omp_clause): Add
469 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
470 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
471 enumeration value.
472
ab574db6
MP
4732019-08-05 Marek Polacek <polacek@redhat.com>
474
475 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
476 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
477 default for C++2a, unless -Wno-deprecated.
478 * c.opt (Wcomma-subscript): New warning.
479
554a530f
JJ
4802019-07-20 Jakub Jelinek <jakub@redhat.com>
481
482 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
483 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
484 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
485 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
486 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
487 constructs with the loop construct.
488
1a888209
JJ
4892019-07-13 Jakub Jelinek <jakub@redhat.com>
490
491 PR c/91149
492 * c-omp.c (c_omp_split_clauses): Fix a pasto in
493 OMP_CLAUSE_REDUCTION_TASK handling.
494
1fdd6f04
JJ
4952019-07-12 Jakub Jelinek <jakub@redhat.com>
496
497 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
498 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
499
99b1c316
MS
5002019-07-09 Martin Sebor <msebor@redhat.com>
501
502 PR c++/61339
1fdd6f04 503 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
99b1c316
MS
504 and others to class.
505 * c-pretty-print.h: Same.
506
6c1dae73
MS
5072019-07-09 Martin Sebor <msebor@redhat.com>
508
509 PR c++/61339
510 * c-format.c (check_argument_type): Change class-key from class to
511 struct and vice versa to match convention and avoid -Wclass-is-pod
512 and -Wstruct-no-pod.
513 * c-pretty-print.h: Same.
514
8ba6ea87
ML
5152019-07-03 Martin Liska <mliska@suse.cz>
516
517 * c-common.c (try_to_locate_new_include_insertion_point): Remove
518 dead assignemts.
519
83eb9522
JJ
5202019-07-03 Jakub Jelinek <jakub@redhat.com>
521
522 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
523 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
524 with OMP_PARALLEL.
525
1c6ffbab
QZ
5262019-07-02 qing zhao <qing.zhao@oracle.com>
527
528 PR preprocessor/90581
529 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
530 * c.opt: Add new option -fmax-include-depth.
531
7ffc7de5
JM
5322019-06-26 Jason Merrill <jason@redhat.com>
533
534 PR c++/55442 - memory-hog with highly recursive constexpr.
535 * c.opt (fconstexpr-loop-limit): New.
536
361af3e4
JJ
5372019-06-25 Jakub Jelinek <jakub@redhat.com>
538
539 PR sanitizer/90954
540 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
541 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
542
ab20d992
JJ
5432019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
544
545 * c-common.c (c_common_nodes_and_builtins): Define
546 alternate "__intN__" name for "__intN" types.
547
f4af4019
JH
5482019-06-24 Jan Hubicka <jh@suse.cz>
549
550 * c-common.c (braced_lists_to_strings): Check that
551 type is array or integer prior checking string flag.
552
da9e9b57
MB
5532019-06-21 Matthew Beliveau <mbelivea@redhat.com>
554
555 PR c++/90875 - added -Wswitch-outside-range option
556 * c.opt (Wswitch-outside-range): Added new option.
557 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
558
3f3d6a6f
MP
5592019-06-21 Marek Polacek <polacek@redhat.com>
560
561 PR c++/90953 - ICE with -Wmissing-format-attribute.
562 * c-common.c (check_function_arguments_recurse): Use
563 get_attribute_name.
564 (check_missing_format_attribute): Likewise.
565
1bf32c11
MP
5662019-06-19 Marek Polacek <polacek@redhat.com>
567
568 PR c++/60364 - noreturn after first decl not diagnosed.
569 * c-attribs.c (handle_noreturn_attribute): No longer static.
570 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
571 Declare.
572 * c-format.c (check_function_format): Use get_attribute_name.
573
a04c0734
MS
5742019-06-19 Martin Sebor <msebor@redhat.com>
575
576 PR translation/90156
577 * c-format.c (function_format_info::format_type): Adjust type.
578 (function_format_info::is_raw): New member.
579 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
580 (decode_format_attr): Adjust call to decode_format_type.
581 Avoid a redundant call to convert_format_name_to_system_name.
582 Avoid abbreviating the word "arguments" in a diagnostic.
583 (format_warning_substr): New function.
584 (avoid_dollar_number): Quote dollar sign in a diagnostic.
585 (finish_dollar_format_checking): Same.
586 (check_format_info): Same.
587 (struct baltoks_t): New.
588 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
589 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
590 functions.
591 (check_format_info_main): Call check_plain. Use baltoks_t. Call
592 maybe_diag_unbalanced_tokens.
593 (handle_format_attribute): Spell out the word "arguments" in
594 a diagnostic.
595
d3786ebb
MB
5962019-06-11 Matthew Beliveau <mbelivea@redhat.com>
597
598 PR c++/90449 - add -Winaccessible-base option.
599 * c.opt (Winaccessible-base): New option.
600
bf38f7e9
JJ
6012019-06-10 Jakub Jelinek <jakub@redhat.com>
602
603 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
604 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
605 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
606 combined/composite constructs where it is not allowed. Copy over
607 OMP_CLAUSE_REDUCTION_INSCAN.
608
0ecf545c
MS
6092019-06-05 Martin Sebor <msebor@redhat.com>
610
611 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
612 (handle_alias_ifunc_attribute): Same.
613 (handle_copy_attribute): Same.
614 (handle_weakref_attribute): Same.
615 (handle_nonnull_attribute): Same.
616 * c-warn.c (warn_for_sign_compare): Same.
617 (warn_for_restrict): Same.
618 * c.opt: Same.
619
36b34127
MS
6202019-06-05 Martin Sebor <msebor@redhat.com>
621
622 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
623 * c.opt (-Wformat-diag): Remove a spurious period.
624
357a352f
JJ
6252019-05-29 Jakub Jelinek <jakub@redhat.com>
626
627 PR c/90628
628 * c-common.c (check_builtin_function_arguments)
629 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
630 as last argument.
631
2b8235ea
EB
6322019-05-23 Eric Botcazou <ebotcazou@adacore.com>
633
634 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
635
6d86ddc4
ML
6362019-05-22 Martin Liska <mliska@suse.cz>
637
638 PR lto/90500
639 * c-attribs.c (handle_copy_attribute): Do not copy
640 target_clones attribute.
641
419ba5b9
EB
6422019-05-21 Eric Botcazou <ebotcazou@adacore.com>
643
644 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
645 * c-ada-spec.c (print_assignment_operator): New function.
646 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
647 assignment operators declared as methods and filter out the others.
648
e03436e7
TS
6492019-05-17 Thomas Schwinge <thomas@codesourcery.com>
650
651 PR c/89433
652 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
653 "omp declare target".
654
a9c697b8
MS
6552019-05-16 Martin Sebor <msebor@redhat.com>
656
ab20d992
JJ
657 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
658 keywords, operators, and types in diagnostics.
659 (handle_scalar_storage_order_attribute): Same.
660 (handle_mode_attribute): Same.
661 (handle_visibility_attribute): Same.
662 (handle_assume_aligned_attribute): Same.
663 (handle_no_split_stack_attribute): Same.
664 * c-common.c (shorten_compare): Same.
665 (c_common_truthvalue_conversion): Same.
666 (cb_get_source_date_epoch): Same.
667 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
668 in diagnostics.
669 (interpret_float): Same.
670 * c-omp.c (c_finish_omp_for): Same.
671 * c-opts.c (c_common_post_options): Same.
672 * c-pch.c (c_common_pch_pragma): Same.
673 * c-pragma.c (pop_alignment): Same.
674 (handle_pragma_pack): Same.
675 (apply_pragma_weak): Same.
676 (handle_pragma_weak): Same.
677 (handle_pragma_scalar_storage_order): Same.
678 (handle_pragma_redefine_extname): Same.
679 (add_to_renaming_pragma_list): Same.
680 (maybe_apply_renaming_pragma): Same.
681 (push_visibility): Same.
682 (handle_pragma_visibility): Same.
683 (handle_pragma_optimize): Same.
684 (handle_pragma_message): Same.
685 * c-warn.c (warn_for_omitted_condop): Same.
686 (lvalue_error): Same.
a9c697b8 687
6b943512
RB
6882019-05-15 Richard Biener <rguenther@suse.de>
689
690 PR c/90474
691 * c-common.c (c_common_mark_addressable_vec): Also mark
692 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
693 c_mark_addressable.
ab20d992 694
b744fc85
NS
6952019-05-06 Nathan Sidwell <nathan@acm.org>
696
697 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
698
598f50d7
NS
6992019-04-30 Nathan Sidwell <nathan@acm.org>
700
701 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
702
5bcc5a3b
ML
7032019-04-30 Martin Liska <mliska@suse.cz>
704
705 * c-pragma.c (handle_pragma_diagnostic): Provide hints
706 for unknown options.
707
e78a87f7
RS
7082019-04-26 Richard Sandiford <richard.sandiford@arm.com>
709
710 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
711 the pointer target rather than the pointer itself.
712
c280b7ee
JJ
7132019-04-19 Jakub Jelinek <jakub@redhat.com>
714
715 PR c/89888
716 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
717 arguments.
718 (c_do_switch_warnings): Remove outside_range_p argument.
719 * c-common.c (check_case_bounds): Removed.
720 (c_add_case_label): Remove orig_type and outside_range_p arguments.
721 Don't call check_case_bounds. Fold low_value as well as high_value.
722 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
723 Check for case labels outside of range of original type here and
724 adjust them.
725
8e8225e6
JJ
7262019-04-12 Jakub Jelinek <jakub@redhat.com>
727
63b8a166
JJ
728 PR translation/90041
729 * c.opt (-fhandle-exceptions): Use %< and %> around option names
730 in the Warn diagnostics.
731
8e8225e6
JJ
732 PR c/89946
733 * c-attribs.c (handle_patchable_function_entry_attribute): Add
734 function comment. Warn if arguments of the attribute are not positive
735 integer constants.
736
53a3f614
EB
7372019-04-09 Eric Botcazou <ebotcazou@adacore.com>
738
739 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
740 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
741
22be5873
EB
7422019-04-07 Eric Botcazou <ebotcazou@adacore.com>
743
744 * c-ada-spec.c (is_float128): New predicate extracted from...
745 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
746 <REAL_TYPE>: ...here. Call it.
747
34facf20
DM
7482019-04-05 David Malcolm <dmalcolm@redhat.com>
749
750 PR c/89985
751 * c-warn.c (check_address_or_pointer_of_packed_member): Add
752 auto_diagnostic_group. Guard inform calls by result of
753 warning_at call.
754
05564120
MP
7552019-04-05 Marek Polacek <polacek@redhat.com>
756
ab20d992 757 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
05564120
MP
758 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
759 of RHS.
760
7a506c3c
JM
7612019-04-03 Jason Merrill <jason@redhat.com>
762
763 PR c++/86586 - -fcompare-debug=-Wsign-compare.
764 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
765
ddeae8c8
MS
7662019-04-01 Martin Sebor <msebor@redhat.com>
767
768 PR c/89685
769 * c-attribs.c (handle_copy_attribute): Handle references and
770 non-constant expressions.
771
a15ffa22
JJ
7722019-03-22 Jakub Jelinek <jakub@redhat.com>
773
774 PR c++/87481
775 * c.opt (-fconstexpr-ops-limit=): New option.
776
36a3a7a3
JJ
7772019-03-21 Jakub Jelinek <jakub@redhat.com>
778
779 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
780 template param.
781
bec1da64
MS
7822019-03-19 Martin Sebor <msebor@redhat.com>
783
784 PR tree-optimization/89688
785 * c-common.c (braced_list_to_string): Make static.
786 (braced_lists_to_strings): Define new function.
787 * c-common.h (braced_list_to_string): Remove.
788 (braced_lists_to_strings): Declare.
789
1fe61adf
ML
7902019-03-12 Martin Liska <mliska@suse.cz>
791
792 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
793
93964ebd
ML
7942019-03-11 Martin Liska <mliska@suse.cz>
795
796 * c-opts.c (c_common_post_options): Wrap apostrophes
797 in gcc internal format with %'.
798
a3f9f006
ML
7992019-03-11 Martin Liska <mliska@suse.cz>
800
801 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
802 in a string format message and fix GNU coding style.
803 * c-common.c (vector_types_convertible_p): Likewise.
804 (c_build_vec_perm_expr): Likewise.
805 * c-indentation.c (get_visual_column): Likewise.
806 * c-opts.c (c_common_handle_option): Likewise.
807 (c_common_post_options): Likewise.
808 (sanitize_cpp_opts): Likewise.
809 * c-pch.c (c_common_pch_pragma): Likewise.
810 * c-pragma.c (handle_pragma_pack): Likewise.
811
1db01ff9
JJ
8122019-03-08 Jakub Jelinek <jakub@redhat.com>
813
814 PR tree-optimization/89550
815 * c-common.c (c_common_truthvalue_conversion): Only set
816 TREE_NO_WARNING if warning_at returned true.
817 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
818
ba790e6f
JJ
8192019-02-25 Sandra Loosemore <sandra@codesourcery.com>
820 Martin Sebor <msebor@gmail.com>
821
822 * c.opt (Wmissing-attributes): Clean up doc string.
823
7da73ba7
JJ
8242019-02-25 Jakub Jelinek <jakub@redhat.com>
825
826 PR c/89495
827 * c-format.c (maybe_read_dollar_number): Compute nargnum in
828 HOST_WIDE_INT type to avoid overflows and change overflow_flag
829 checking.
830
921bb9d1
RB
8312019-02-22 Richard Biener <rguenther@suse.de>
832
833 * c-pch.c (no_checksum): Remove.
834 (pch_init): Remove assertion that executable_checksum is not
835 all zero.
836 (c_common_valid_pch): Likewise.
837
e2ebb05c
MS
8382019-02-18 Martin Sebor <msebor@redhat.com>
839
840 PR middle-end/89294
841 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
842
3fe53000
DM
8432019-02-16 David Malcolm <dmalcolm@redhat.com>
844
845 PR c++/88680
846 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
847 implementing -Wtype-limits.
848
28a8cef1
MS
8492019-02-11 Martin Sebor <msebor@redhat.com>
850
851 PR c++/87996
852 * c-common.c (invalid_array_size_error): New function.
853 (valid_array_size_p): Call it. Handle size as well as type.
854 * c-common.h (valid_constant_size_p): New function.
855 (enum cst_size_error): New type.
856
ec2be203
DM
8572019-01-31 David Malcolm <dmalcolm@redhat.com>
858
859 PR c/89122
860 * known-headers.cc (get_stdlib_header_for_name): Add
861 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
862
8936f047
JJ
8632019-01-31 Jakub Jelinek <jakub@redhat.com>
864
865 PR libstdc++/88170
866 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
867 a C cast in pp_c_flag_gnu_v3 mode.
868
6a335b96
JJ
8692019-01-29 Jakub Jelinek <jakub@redhat.com>
870
871 PR c/86125
872 * c-common.c (c_common_nodes_and_builtins): Build type variants for
873 builtin_structptr_types types even for C.
874
2a06eba5
BE
8752019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
876
877 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
878 when rhs is of array type correctly. Fix handling of nested structures.
879 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
880 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
881 type casts within nested compound expressions.
882
18a23298
JJ
8832019-01-22 Jakub Jelinek <jakub@redhat.com>
884
885 PR middle-end/88968
886 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
887 variable after using BIT_FIELD_REF.
888
420183d9
L
8892019-01-18 H.J. Lu <hongjiu.lu@intel.com>
890
891 PR c/51628
892 PR c/88664
893 * c-common.h (warn_for_address_or_pointer_of_packed_member):
894 Remove the boolean argument.
895 * c-warn.c (check_address_of_packed_member): Renamed to ...
896 (check_address_or_pointer_of_packed_member): This. Also
897 warn pointer conversion.
898 (check_and_warn_address_of_packed_member): Renamed to ...
899 (check_and_warn_address_or_pointer_of_packed_member): This.
900 Also warn pointer conversion.
901 (warn_for_address_or_pointer_of_packed_member): Remove the
902 boolean argument. Don't check pointer conversion here.
903
99063eee
RS
9042019-01-15 Richard Sandiford <richard.sandiford@arm.com>
905
906 PR inline-asm/52813
907 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
908
a30d0196
JJ
9092019-01-14 Jakub Jelinek <jakub@redhat.com>
910
911 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
912 and __cpp_nontype_template_parameter_auto. Add a comment that
913 __cpp_template_auto is deprecated.
914
2d91f79d
TH
9152019-01-14 Tom Honermann <tom@honermann.net>
916
917 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
918 * c-common.c (c_common_reswords): Add char8_t.
919 (fix_string_type): Use char8_t for the type of u8 string literals.
920 (c_common_get_alias_set): char8_t doesn't alias.
921 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
922 C++.
923 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
924 (keyword_begins_type_specifier): Add RID_CHAR8.
925 * c-common.h (rid): Add RID_CHAR8.
926 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
927 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
928 Define char8_type_node and char8_array_type_node.
929 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
930 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
931 (c_cpp_builtins): Predefine __cpp_char8_t.
932 * c-lex.c (lex_string): Use char8_array_type_node as the type of
933 CPP_UTF8STRING.
934 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
935 * c-opts.c: If not otherwise specified, enable -fchar8_t when
936 targeting C++2a.
937 * c.opt: Add the -fchar8_t command line option.
938
23db6ced
MS
9392019-01-14 Martin Sebor <msebor@redhat.com>
940
941 PR target/88638
942 * c-attribs.c (positional_argument): Call valid_format_string_type_p
943 and issue errors if it fails.
944 * c-common.h (valid_format_string_type_p): Declare.
945 * c-format.c (valid_stringptr_type_p): Rename...
946 (valid_format_string_type_p): ...to this and make extern.
947 (handle_format_arg_attribute): Adjust to new name.
948 (check_format_string): Same.
949
234c3818
L
9502019-01-13 H.J. Lu <hongjiu.lu@intel.com>
951
952 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
953 Replace "may may" with "may" in warning message.
954
d8fcab68
JJ
9552019-01-07 Jakub Jelinek <jakub@redhat.com>
956
957 PR c++/85052
958 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
959 (c_build_vec_convert): Declare.
960 * c-common.c (c_build_vec_convert): New function.
961
29d24852
MS
9622019-01-04 Martin Sebor <msebor@redhat.com>
963
964 PR c/88546
965 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
966 Handle C++ empty throw specification and C11 _Noreturn.
967 (has_attribute): Also handle C11 _Noreturn.
968
9069a4c9
MS
9692019-01-04 Martin Sebor <msebor@redhat.com>
970
971 PR c/88363
972 * c-attribs.c (positional_argument): Also accept enumerated types.
973
a5544970
JJ
9742019-01-01 Jakub Jelinek <jakub@redhat.com>
975
976 Update copyright years.
977
da77eace
L
9782018-12-20 H.J. Lu <hongjiu.lu@intel.com>
979
980 PR c/51628
981 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
982 * c-warn.c (check_alignment_of_packed_member): New function.
983 (check_address_of_packed_member): Likewise.
984 (check_and_warn_address_of_packed_member): Likewise.
985 (warn_for_address_or_pointer_of_packed_member): Likewise.
986 * c.opt: Add -Wno-address-of-packed-member.
987
573767d4
DM
9882018-12-20 David Malcolm <dmalcolm@redhat.com>
989
990 PR c++/87504
991 * c-warn.c (get_outermost_macro_expansion): New function.
992 (spelled_the_same_p): Use it to unwind the macro expansions, and
993 compare the outermost macro in each nested expansion, rather than
994 the innermost.
995
a14feb3c
DM
9962018-12-19 David Malcolm <dmalcolm@redhat.com>
997
998 PR c++/87504
999 * c-common.h (warn_tautological_cmp): Convert 1st param from
1000 location_t to const op_location_t &.
1001 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1002 when testing for INTEGER_CST.
1003 (warn_tautological_bitwise_comparison): Convert 1st param from
1004 location_t to const op_location_t &; use it to build a
1005 binary_op_rich_location, and use this.
1006 (spelled_the_same_p): New function.
1007 (warn_tautological_cmp): Convert 1st param from location_t to
1008 const op_location_t &. Warn for macro expansions if
1009 spelled_the_same_p. Use binary_op_rich_location.
1010
dfd7fdca
DM
10112018-12-19 David Malcolm <dmalcolm@redhat.com>
1012
1013 PR c++/43064
1014 PR c++/43486
1015 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1016 (verify_tree): Handle location wrappers.
1017 (c_common_truthvalue_conversion): Strip any location wrapper.
1018 Handle CONST_DECL.
1019 (fold_offsetof): Strip any location wrapper.
1020 (complete_array_type): Likewise for initial_value.
1021 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1022 index before checking for INTEGER_CST.
1023 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1024 print parentheses around location wrappers.
1025 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1026 before checking for INTEGER_CST.
1027 (warn_tautological_bitwise_comparison): Call
1028 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1029 before checking for INTEGER_CST.
1030 (readonly_error): Strip any location wrapper.
1031 (warn_array_subscript_with_type_char): Strip location wrappers
1032 before checking for INTEGER_CST. Use the location of the index if
1033 available.
1034
5c8b3702
JM
10352018-12-06 Jason Merrill <jason@redhat.com>
1036
1037 PR c++/88136 - -Wdeprecated-copy false positives
1038 * c.opt (Wdeprecated-copy-dtor): New.
1039 (Wdeprecated-copy): Move to -Wextra.
1040
673670da
MS
10412018-11-29 Martin Sebor <msebor@redhat.com>
1042
1043 PR c/88172
1044 PR testsuite/88208
1045 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1046 alignments to values less than the target requires.
1047 (has_attribute): For attribute aligned consider both the attribute
1048 and the alignment bits.
1049 * c-common.c (c_init_attributes): Optionally issue a warning for
1050 zero alignment.
1051
04864ec8
MS
10522018-11-28 Martin Sebor <msebor@redhat.com>
1053
1054 PR c/88065
1055 PR c/87297
1056 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1057 or destination is an error.
1058
ace83db0
JJ
10592018-11-28 Jakub Jelinek <jakub@redhat.com>
1060
1061 PR c++/88215
1062 * c-ubsan.c: Include langhooks.h.
1063 (ubsan_instrument_division): Change gcc_assert that main variants
1064 of op0 and op1 types are equal to gcc_checking_assert that the
1065 main variants are compatible types.
1066
da193a27
EB
10672018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1068
1069 * c-ada-spec.c: Include stringpool.h.
1070 (has_static_fields): Return false for incomplete types.
1071 (is_tagged_type): Likewise.
1072 (has_nontrivial_methods): Likewise.
1073 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1074 (struct overloaded_name_hash): New structure.
1075 (struct overloaded_name_hasher): Likewise.
1076 (overloaded_names): New global variable.
1077 (init_overloaded_names): New static function.
1078 (overloaded_name_p): New predicate.
1079 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1080 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1081 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1082 Remove always-true condition and dump forward types.
1083 (dump_ada_specs): Delete overloaded_names.
1084
98f08eb8
MS
10852018-11-20 Martin Sebor <msebor@redhat.com>
1086
1087 * c-attribs.c (type_for_vector_size): New function.
1088 (type_valid_for_vector_size): Same.
1089 (handle_vector_size_attribute): Move code to the functions above
1090 and call them.
1091 (validate_attribute, has_attribute): New functions.
1092 * c-common.h (has_attribute): Declare.
1093 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1094 * c-common.c (c_common_resword): Same.
1095
2674fa47
JM
10962018-11-16 Jason Merrill <jason@redhat.com>
1097
1098 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1099 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1100
258b3854
JJ
11012018-11-16 Jakub Jelinek <jakub@redhat.com>
1102
1103 PR middle-end/87854
1104 * c-common.c (fix_string_type): Reject string literals larger than
1105 TYPE_MAX_VALUE (ssizetype) bytes.
1106
1d249509
MS
11072018-11-15 Martin Sebor <msebor@redhat.com>
1108
1109 PR c++/87541
1110 PR c++/87542
1111 * c-attribs.c (positional_argument): New function.
1112 (handle_alloc_size_attribute): Use it and simplify.
1113 (handle_alloc_align_attribute): Same.
1114 (handle_assume_aligned_attribute): Same.
1115 (handle_nonnull_attribute): Same.
1116 * c-common.c (check_function_arguments): Pass fntype to
1117 check_function_format.
1118 * c-common.h (check_function_format): Add an argument.
1119 (PosArgFlags, positional_argument): Declare new type and function.
1120 * c-format.c (decode_format_attr): Add arguments.
1121 (check_format_string, get_constant): Same.
1122 (convert_format_name_to_system_name): Adjust.
1123
478dd60d
DM
11242018-11-15 David Malcolm <dmalcolm@redhat.com>
1125
1126 PR other/19165
1127 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1128
8cca0163
JJ
11292018-11-14 Jakub Jelinek <jakub@redhat.com>
1130
8ee09943
JJ
1131 P1236R1 - Signed integers are two's complement
1132 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1133 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1134 with in-range second operand well defined for -std=c++2a.
1135
8cca0163
JJ
1136 PR other/88007
1137 * c-common.c (parse_optimize_options): Allocate option string from
1138 opts_obstack rather than as GC memory. Move the allocation after
1139 warning for invalid option.
1140
620e594b
DM
11412018-11-13 David Malcolm <dmalcolm@redhat.com>
1142
1143 * c-common.c (c_get_substring_location): Update for renaming of
1144 get_source_location_for_substring to get_location_within_string.
1145 * c-lex.c: Replace "source_location" with "location_t".
1146 * c-opts.c: Likewise.
1147 * c-ppoutput.c: Likewise.
1148
f9731de3
MS
11492018-11-13 Martin Sebor <msebor@redhat.com>
1150
1151 PR middle-end/81824
1152 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1153 (handle_tls_model_attribute): Improve diagnostics.
1154
e4bd6d5e
JM
11552018-11-12 Jason Merrill <jason@redhat.com>
1156
a6bb6b07
JM
1157 * c-cppbuiltin.c (c_cpp_builtins): Define
1158 __cpp_impl_destroying_delete.
1159
e4bd6d5e
JM
1160 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1161 __cpp_conditional_explicit.
1162
79a2c428
MS
11632018-11-09 Martin Sebor <msebor@redhat.com>
1164
1165 PR middle-end/81824
1166 * c-attribs.c (handle_copy_attribute): New function.
1167
4c7bd361
MS
11682018-11-09 Martin Sebor <msebor@redhat.com>
1169
1170 PR c/87795
1171 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1172
28567c40
JJ
11732018-11-08 Jakub Jelinek <jakub@redhat.com>
1174
1175 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1176 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1177 enum omp_memory_order MEMORY_ORDER.
1178 (c_finish_omp_flush): Add MO argument.
1179 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1180 (c_finish_omp_for): Add FINAL_P argument.
1181 * c-omp.c: Include memmodel.h.
1182 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1183 OMP_TASKGROUP_CLAUSES to it.
1184 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1185 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1186 instead of OMP_ATOMIC_SEQ_CST.
1187 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1188 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1189 __atomic_thread_fence call with the given value.
1190 (check_omp_for_incr_expr): Formatting fixes.
1191 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1192 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1193 is not constant expression 1 or -1. Transform NE_EXPR loops
1194 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1195 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1196 loops too.
1197 (c_omp_split_clauses): Add support for combined
1198 #pragma omp parallel master and
1199 #pragma omp {,parallel }master taskloop{, simd} constructs.
1200 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1201 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1202 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1203 (c_omp_predetermined_sharing): Don't return
1204 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1205 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1206 PRAGMA_OMP_REQUIRES.
1207 * c-pragma.h (enum pragma_kind): Likewise.
1208 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1209 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1210
204839e7
DM
12112018-11-08 David Malcolm <dmalcolm@redhat.com>
1212
1213 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1214
d8010ee4
DM
12152018-11-08 David Malcolm <dmalcolm@redhat.com>
1216
1217 * c-format.c (local_cgraph_node_ptr_node): New variable.
1218 (gcc_dump_printf_char_table): Add entry for %C.
1219 (get_pointer_to_named_type): New function, taken from the handling
1220 code for "gimple *" from...
1221 (init_dynamic_diag_info): ...here. Add handling for
1222 "cgraph_node *".
1223 * c-format.h (T_CGRAPH_NODE): New.
1224
4be5c72c
JM
12252018-10-19 Jason Merrill <jason@redhat.com>
1226
1227 * c-cppbuiltin.c (c_cpp_builtins): Add
1228 __cpp_nontype_template_parameter_class.
1229
f3f6029d
NS
12302018-10-31 Nathan Sidwell <nathan@acm.org>
1231
ab5324fb
NS
1232 * c-opts.c (c_finish_options): Force command line macro
1233 location. Refactor to avoid repeating main debug hook.
1234 (push_command_line_include): Clarify comment.
1235
f3f6029d
NS
1236 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1237
91e3ec29
MS
12382018-10-30 Martin Sebor <msebor@redhat.com>
1239
1240 PR middle-end/87041
1241 * c-format.c (check_format_types): Avoid diagnosing null pointer
1242 arguments to printf-family of functions.
1243
b5ff4f5c
MP
12442018-10-30 Marek Polacek <polacek@redhat.com>
1245
1246 Implement P0892R2, explicit(bool).
1247 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1248
7e2de6df
DM
12492018-10-29 David Malcolm <dmalcolm@redhat.com>
1250
1251 * name-hint.h (name_hint::take_deferred): New member function.
1252
b2bf438c
DM
12532018-10-29 David Malcolm <dmalcolm@redhat.com>
1254
1255 PR c++/56856
1256 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1257 argument.
1258 (check_function_restrict): Rename param "argarray" to
1259 "unfolded_argarray", and make a copy named "argarray", calling
1260 fold_for_warn on each argument.
1261 (check_function_arguments): Add note about responsibility for
1262 folding the arguments.
1263
9f936c86
JM
12642018-10-17 Joseph Myers <joseph@codesourcery.com>
1265
1266 * c-common.c (flag_isoc2x): New variable.
1267 * c-common.h (clk_c): Update comment to reference C2X.
1268 (flag_isoc99, flag_isoc11): Update comments to reference future
1269 standard versions in general.
1270 (flag_isoc2x): Declare.
1271 * c-opts.c (set_std_c2x): New function.
1272 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1273 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1274 flag_isoc2x to 0.
1275 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1276
7a8a92c4
JM
12772018-10-17 Joseph Myers <joseph@codesourcery.com>
1278
1279 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1280 (std=iso9899:2018): Document C17 as published in 2018.
1281
4dc003ff
CL
12822018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1283
1284 PR c++/87364
1285 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1286
79371671
WW
12872018-10-11 Will Wray <wjwray@gmail.com>
1288
1289 PR c++/87364
1290 * c-pretty-print.h (pp_c_type_cast): Prototype.
1291 (pp_c_integer_constant): Likewise.
1292 * c-pretty-print.c (pp_c_type_cast): No longer static.
1293 (pp_c_integer_constant): Likewise.
1294 (pp_c_enumeration_constant): Fix loop termination when finding
1295 name of constant. No longer returns a value. Call
1296 pp_c_integer_constant.
1297 (c_pretty_printer::constant): Update for changes to
1298 pp_c_enumeration_constant.
1299
46c62690
JJ
13002018-10-11 Jakub Jelinek <jakub@redhat.com>
1301
1302 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1303 for no_unique_address.
1304
c24300ba
DM
13052018-10-09 David Malcolm <dmalcolm@redhat.com>
1306
1307 * c-common.c (c_option_controlling_cpp_error): Rename to...
1308 (c_option_controlling_cpp_diagnostic): ...this, and convert
1309 "reason" from int to enum.
1310 (c_cpp_error): Rename to...
1311 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1312 * c-common.h (c_cpp_error): Rename to...
1313 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1314 * c-opts.c (c_common_init_options): Update for renaming.
1315
8656dafa
RS
13162018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1317
1318 PR c/87286
1319 * c-common.c (vector_types_compatible_elements_p): Use
1320 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1321
8cff0652
VK
13222018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1323
1324 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1325 to generate constructor destructor priority warning.
1326 * c.opt (-Wprio-ctor-dtor): New option.
1327
bedf03a2
JM
13282018-10-01 Jason Merrill <jason@redhat.com>
1329
1330 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1331
6cc430c1
EB
13322018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1333
1334 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1335 (dump_ada_node): Add const keyword.
1336
87677ac7
ML
13372018-09-25 Martin Liska <mliska@suse.cz>
1338
1339 * c-common.c (c_common_truthvalue_conversion):
1340 Remove Pascal from documentation.
1341
518196cb
EB
13422018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1343
1344 * c-ada-spec.c: Include diagnostic.h.
1345 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1346
a599af84
MP
13472018-09-19 Marek Polacek <polacek@redhat.com>
1348
1349 * c.opt (Wclass-conversion): New.
1350
9c4a4b3c
DM
13512018-09-17 David Malcolm <dmalcolm@redhat.com>
1352
1353 * c-format.c (range_label_for_format_type_mismatch::get_text):
1354 Update for new param.
1355
c896ecfe
DM
13562018-09-17 David Malcolm <dmalcolm@redhat.com>
1357
1358 * c-format.c (format_warning_at_char): Update for introduction of
1359 format_string_diagnostic_t.
1360 (format_type_warning): Likewise.
1361
80c6d1f4
MJ
13622018-09-17 Martin Jambor <mjambor@suse.cz>
1363
1364 PR c/63886
1365 * c.opt (Wabsolute-value): New.
1366
6d900107
BE
13672018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1368
1369 * c-common.c (complete_flexible_array_elts): New helper function.
1370 * c-common.h (complete_flexible_array_elts): Declare.
1371
b5764229
BE
13722018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1373
1374 * c-common.c (braced_list_to_string): Remove eval parameter.
1375 Add some more checks. Always create zero-terminated STRING_CST.
1376 * c-common.h (braced_list_to_string): Adjust prototype.
1377
85204e23
DM
13782018-08-27 David Malcolm <dmalcolm@redhat.com>
1379
1380 PR 87091
1381 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1382 to a tri-state.
1383 (maybe_suggest_missing_token_insertion): Likewise.
1384 (maybe_add_include_fixit): Add param "override_location". If set,
1385 and source-printing is enabled, then override the rich_location's
1386 primary location with that of the insertion point for the fix-it
1387 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1388 * c-common.h (extern void maybe_add_include_fixit): Add bool
1389 param.
1390 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1391 for conversion of show_caret_p to a tri-state.
1392 * c-warn.c (warn_for_restrict): Likewise.
1393 * known-headers.cc
1394 (suggest_missing_header::~suggest_missing_header): Update call to
1395 maybe_add_include_fixit to suggest overriding the location, as it
1396 is for a note.
1397
3d78e008
ML
13982018-08-27 Martin Liska <mliska@suse.cz>
1399
1400 * c-common.c (check_function_restrict): Use new function
92a285c1
ML
1401 fndecl_built_in_p and remove check for FUNCTION_DECL if
1402 possible.
3d78e008
ML
1403 (check_builtin_function_arguments): Likewise.
1404 (reject_gcc_builtin): Likewise.
1405 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1406
b5be6d0c
MP
14072018-08-26 Marek Polacek <polacek@redhat.com>
1408
1409 PR c++/87029, Implement -Wredundant-move.
1410 * c.opt (Wredundant-move): New option.
1411
79ca9c35
MP
14122018-08-21 Marek Polacek <polacek@redhat.com>
1413
1414 PR c++/86981, Implement -Wpessimizing-move.
1415 * c.opt (Wpessimizing-move): New option.
1416
097f82ec
DM
14172018-08-20 David Malcolm <dmalcolm@redhat.com>
1418
1419 PR other/84889
1420 * c-attribs.c (common_handle_aligned_attribute): Add
1421 auto_diagnostic_group instance.
1422 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1423 * c-opts.c (c_common_post_options): Likewise.
1424 * c-warn.c (warn_logical_not_parentheses): Likewise.
1425 (warn_duplicated_cond_add_or_warn): Likewise.
1426 (warn_for_multistatement_macros): Likewise.
1427
3fb558b1
NS
14282018-08-20 Nathan Sidwell <nathan@acm.org>
1429
1430 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1431 access.
1432
800c0e98
NS
14332018-08-17 Nathan Sidwell <nathan@acm.org>
1434
1435 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1436 field.
1437 (laxy_hex_fp_value_count): Make unsigned.
1438 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1439 manipulate the macro.
1440 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1441 cpp_define_lazily.
1442
6f795a92
DM
14432018-08-17 David Malcolm <dmalcolm@redhat.com>
1444
1445 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1446 (gcc_dump_printf_length_specs): New.
1447 (gcc_dump_printf_flag_pairs): New.
1448 (gcc_dump_printf_flag_specs): New.
1449 (gcc_dump_printf_char_table): New.
1450 (format_types_orig): Add entry for "gcc_dump_printf".
1451 (init_dynamic_diag_info): Set up length_char_specs and
1452 conversion_specs for gcc_dump_printf_format_type.
1453 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1454
c5d725c0
NS
14552018-08-17 Nathan Sidwell <nathan@acm.org>
1456
10f04917
NS
1457 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1458
c5d725c0
NS
1459 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1460 * c-cppbuiltin.c: Likewise.
1461
c0c12356
ML
14622018-08-17 Martin Liska <mliska@suse.cz>
1463
1464 * c.opt: Remove Warn, Init and Report for options with
92a285c1
ML
1465 Ignore/Deprecated flag. Warning is done automatically for
1466 Deprecated flags.
c0c12356 1467
10fcc142
DM
14682018-08-16 David Malcolm <dmalcolm@redhat.com>
1469
1470 PR c++/70693
1471 * c-common.c (selftest::c_family_tests): Call
1472 selftest::c_indentation_c_tests.
1473 * c-common.h (selftest::c_indentation_c_tests): New decl.
1474 * c-indentation.c: Include "selftest.h".
1475 (next_tab_stop): Add "tab_width" param, rather than accessing
1476 cpp_opts.
1477 (get_visual_column): Likewise. Clarify comment. Bulletproof
1478 against reading past the end of the line.
1479 (get_first_nws_vis_column): Add "tab_width" param.
1480 (detect_intervening_unindent): Likewise.
1481 (should_warn_for_misleading_indentation): Read tab width from
1482 cpp_opts and pass around.
1483 (selftest::test_next_tab_stop): New test.
1484 (selftest::assert_get_visual_column_succeeds): New function.
1485 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1486 (selftest::assert_get_visual_column_fails): New function.
1487 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1488 (selftest::test_get_visual_column): New test.
1489 (selftest::c_indentation_c_tests): New function.
1490
3f6677f4
NS
14912018-08-16 Nathan Sidwell <nathan@acm.org>
1492
1493 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
1494 (store_ada_macro): Likewise.
1495 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
1496 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
1497
96e6ae57
DM
14982018-08-15 David Malcolm <dmalcolm@redhat.com>
1499
1500 * c-format.c: Include "selftest-diagnostic.h" and
1501 "gcc-rich-location.h".
1502 (format_warning_at_char): Pass NULL for new label params of
1503 format_warning_va.
1504 (class indirection_suffix): New class.
1505 (class range_label_for_format_type_mismatch): New class.
1506 (format_type_warning): Move logic for generating "*" suffix to
1507 class indirection_suffix. Create "fmt_label" and "param_label"
1508 to show their types, and pass them to the
1509 format_warning_at_substring calls.
1510 (selftest::test_type_mismatch_range_labels): New test.
1511 (selftest::c_format_c_tests): Call it.
1512
23aa9f7c
MS
15132018-08-13 Martin Sebor <msebor@redhat.com>
1514
1515 PR tree-optimization/71625
1516 * c-common.c (braced_list_to_string): New function.
1517 * c-common.h (braced_list_to_string): Declare it.
1518
f10a9135
NS
15192018-08-08 Nathan Sidwell <nathan@acm.org>
1520
1521 * c-common.c (try_to_locate_new_include_inertion_point): Use
1522 linemap_included_from_linemap.
1523 * c-lex.c (fe_file_change): Use linemap_included_from.
1524 * c-ppoutput.c (pp_file_change): Likewise.
1525
8a45b051
MS
15262018-08-01 Martin Sebor <msebor@redhat.com>
1527
1528 PR tree-optimization/86650
ab20d992 1529 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
8a45b051
MS
1530 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
1531 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
1532 * c-format.h (T89_G): Update to be "gimple *" rather than
1533 "gcall *".
1534 (local_gcall_ptr_node): Rename...
1535 (local_gimple_ptr_node): ...to this.
1536
e540ccc0
DM
15372018-07-31 David Malcolm <dmalcolm@redhat.com>
1538
1539 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
1540 table entries for gcc_diag_char_table, and the 'Z' entry from
1541 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
1542 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
1543 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
1544 adding missing "Z" for this table. Remove erroneous "G" and "K"
1545 entries.
1546 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1547 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
1548 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
1549
425fc685
RE
15502018-07-31 Richard Earnshaw <rearnsha@arm.com>
1551
1552 * c-common.c (speculation_safe_resolve_call): New function.
1553 (speculation_safe_resolve_params): New function.
1554 (speculation_safe_resolve_return): New function.
1555 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
1556 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
1557 __HAVE_SPECULATION_SAFE_VALUE.
1558
181463c2
DM
15592018-07-20 David Malcolm <dmalcolm@redhat.com>
1560
1561 * c-common.c (c_cpp_error): Remove redundant "line_table"
1562 parameter from call to rich_location::set_range.
1563 (maybe_suggest_missing_token_insertion): Likewise.
1564
0d7f9065
MS
15652018-07-20 Martin Sebor <msebor@redhat.com>
1566
1567 PR middle-end/82063
ab20d992 1568 * c.opt (-Warray-bounds): Remove redundant -Wall.
0d7f9065 1569
00abf86c
MS
15702018-07-20 Martin Sebor <msebor@redhat.com>
1571
1572 PR middle-end/82063
1573 * c-common.h (c_common_handle_option): Change function argument
1574 to HOST_WIDE_INT.
1575 * c-opts.c (c_common_init_options): Same.
1576 (c_common_handle_option): Same. Remove special handling of
1577 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
1578 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
1579 options to take a HOST_WIDE_INT argument and accept a byte-size
1580 suffix. Initialize.
1581 (-Wvla-larger-than): Same.
1582 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
1583 (-Wno-vla-larger-than): Same.
1584
9b452033
JJ
15852018-07-12 Jakub Jelinek <jakub@redhat.com>
1586
1587 * c-attribs.c (c_common_attribute_table): Add
1588 "omp declare target implicit" attribute.
1589
cd0762f3
RB
15902018-07-12 Richard Biener <rguenther@suse.de>
1591
1592 PR c/86453
1593 * c-attribs.c (handle_packed_attribute): Do not build a variant
1594 type with TYPE_PACKED, instead ignore the attribute if we may
1595 not apply to the original type.
1596
0b27c3ed
JJ
15972018-07-10 Jakub Jelinek <jakub@redhat.com>
1598
1599 PR c++/86443
1600 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
1601 to contain TREE_LIST for both the original class iterator and the
1602 "last" helper var.
1603
e730a0ef
EB
16042018-07-07 Eric Botcazou <ebotcazou@adacore.com>
1605
1606 * c-ada-spec.c (to_ada_name): Remove index parameter.
1607 (pp_ada_tree_identifier): Likewise.
1608 (dump_ada_macros): Adjust call to to_ada_name.
1609 (struct overloaded_name_hash): Delete.
1610 (struct overloaded_name_hasher): Likewise.
1611 (overloaded_names): Likewise.
1612 (compute_overloading_index): Likewise.
1613 (dump_ada_decl_name): Do not call compute_overloading_index and
1614 adjust calls to pp_ada_tree_identifier.
1615 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
1616 (dump_ada_import): Add spc parameter and switch to aspect syntax.
1617 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
1618 (dump_ada_enum_type): Remove type and display_convention parameters.
1619 Adjust calls to pp_ada_tree_identifier.
1620 (dump_ada_node): Likewise and for dump_ada_structure.
1621 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
1622 and tidy up.
1623 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
1624 syntax.
1625 (print_constructor): Adjust call to pp_ada_tree_identifier.
1626 (print_destructor): Likewise.
1627 (dump_ada_declaration): Switch to aspect syntax.
1628 (dump_ada_structure): Likewise and tidy up. Replace display_convention
1629 parameter with nested parameter.
1630 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
1631 (dump_ada_specs): Do not delete overloaded_names table.
1632
8de583fc
PB
16332018-07-06 Peter Bergner <bergner@linux.ibm.com>
1634
1635 PR target/86324
e730a0ef 1636 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
1637 target hook.
1638
09cff37b
NS
16392018-07-05 Nathan Sidwell <nathan@acm.org>
1640
1641 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
1642 NO_IMPLICIT_EXTERN_C.
1643
98086b2b
ML
16442018-06-28 Martin Liska <mliska@suse.cz>
1645
1646 * cppspec.c: Include opt-suggestions.h.
1647
ab20d992
JJ
16482018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1649 Thomas Schwinge <thomas@codesourcery.com>
829c6349
CLT
1650 Cesar Philippidis <cesar@codesourcery.com>
1651
1652 * c-pragma.h (enum pragma_omp_clause): Add
1653 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
1654 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
1655
f41b7612
JJ
16562018-06-20 Jakub Jelinek <jakub@redhat.com>
1657
1658 PR c++/86210
1659 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
1660 comment.
1661
4252ccd7
MS
16622018-06-18 Martin Sebor <msebor@redhat.com>
1663
1664 PR middle-end/85602
1665 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
1666 nonstring.
1667
e197e64e
KV
16682018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
1669
1670 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
1671
34a7a230
JM
16722018-06-13 Jason Merrill <jason@redhat.com>
1673
5cef3733
JM
1674 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
1675 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
1676 handling.
1677
34a7a230
JM
1678 PR c++/86094 - wrong code with defaulted move ctor.
1679 * c-opts.c (c_common_post_options): Bump the current ABI version to
1680 13. Set warn_abi_version and flag_abi_compat_version to the current
1681 version rather than 0. Fix defaulting flag_abi_compat_version from
1682 warn_abi_version.
1683
bb0f14ae
MS
16842018-06-12 Martin Sebor <msebor@redhat.com>
1685
1686 PR c/85931
1687 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
1688 sizeof source and destination yields the same value.
1689
3713f2e2
ML
16902018-06-12 Martin Liska <mliska@suse.cz>
1691
1692 * c.opt: Make MPX-related options as Deprecated.
1693
4af78ef8
DM
16942018-06-08 David Malcolm <dmalcolm@redhat.com>
1695
1696 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
1697 rather than 0.
1698
31db0fe0
ML
16992018-06-08 Martin Liska <mliska@suse.cz>
1700
1701 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
1702 for MPX (macros, related functions, fields in cgraph_node, ...).
1703 (handle_bnd_legacy): Likewise.
1704 (handle_bnd_instrument): Likewise.
1705 * c.opt: Likewise.
1706
fe16acf2
JJ
17072018-06-06 Jakub Jelinek <jakub@redhat.com>
1708
1709 PR c++/86068
1710 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
1711 __cpp_transactional_memory to 201500 instead of 210500.
1712
4dbdb49b
JM
17132018-06-06 Jason Merrill <jason@redhat.com>
1714
1715 PR c++/85710 - ICE with -Wmemset-elt-size.
1716 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
1717
f8ad043f
JM
17182018-06-01 Jason Merrill <jason@redhat.com>
1719
1720 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
1721 201703.
1722
abc24d93
EB
17232018-06-01 Eric Botcazou <ebotcazou@adacore.com>
1724
1725 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
1726 declaration for a typedef independently of whether the declaration of
1727 the subtype is generated.
1728
d258f4aa
MS
17292018-05-31 Martin Sebor <msebor@redhat.com>
1730
1731 PR c/82063
1732 * c.opt (-Wno-alloc-size-larger-than): New option.
1733
b67b9225
DP
17342018-04-22 David Pagan <dave.pagan@oracle.com>
1735
1736 PR c/55976
1737 * c-opts.c (c_common_post_options): Set default for warn_return_type
ab20d992 1738 for C++/C++ with ObjC extensions only. For C, makes it possible to
b67b9225
DP
1739 differentiate between default (no option), -Wreturn-type, and
1740 -Wno-return-type.
1741
04eb9c55
JM
17422018-05-29 Jason Merrill <jason@redhat.com>
1743
1744 * c.opt (Winit-list-lifetime): New flag.
1745
b0c31bc6
BE
17462018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1747
1748 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
1749 splay_tree_delete_pointers.
1750
44284983
JJ
17512018-05-26 Jakub Jelinek <jakub@redhat.com>
1752
1753 PR bootstrap/85921
1754 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
1755 noinline variable to workaround broken kernel headers.
1756
b46b715d
JM
17572018-05-18 Jason Merrill <jason@redhat.com>
1758
1759 * c.opt (Wdeprecated-copy): New flag.
1760
40659769
ML
17612018-05-17 Martin Liska <mliska@suse.cz>
1762
1763 * c-warn.c (overflow_warning): Do not use
1764 space in between 'G_' and '('.
1765
403962ea
JM
17662018-05-09 Jason Merrill <jason@redhat.com>
1767
1768 * c-common.c (valid_array_size_p): Add complain parameter.
1769 * c-common.h: ...which defaults to true.
1770
1c9ee609
JJ
17712018-05-11 Jakub Jelinek <jakub@redhat.com>
1772
1773 PR c/85696
1774 * c-omp.c (c_omp_predetermined_sharing): Return
1775 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
1776
19916065
ML
17772018-05-11 Martin Liska <mliska@suse.cz>
1778
92a285c1 1779 PR sanitizer/85556
19916065
ML
1780 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
1781 TREE_LIST values.
1782
79e7b1fe
JJ
17832018-05-10 Jakub Jelinek <jakub@redhat.com>
1784
1785 PR c++/85662
1786 * c-common.h (fold_offsetof_1): Removed.
1787 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
1788 CTX argument defaulted to ERROR_MARK.
1789 * c-common.c (fold_offsetof_1): Renamed to ...
1790 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
1791 argument, convert the pointer constant to TYPE and use size_binop
1792 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
1793 a pointer type. Adjust recursive calls.
1794
86c12f76
EB
17952018-05-10 Eric Botcazou <ebotcazou@adacore.com>
1796
1797 PR c++/85400
1798 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
1799
ee336e84
NS
18002018-05-07 Nathan Sidwell <nathan@acm.org>
1801
1802 * c.opt (ffor-scope): Remove functionality, issue warning.
1803
6c072e21
NS
18042018-05-03 Nathan Sidwell <nathan@acm.org>
1805
1806 * c.opt (ffriend-injection): Remove functionality, issue warning.
1807
2cc7d3a7
DM
18082018-05-01 David Malcolm <dmalcolm@redhat.com>
1809
1810 PR c/84258
1811 * c-format.c (struct format_check_results): Add field
1812 "number_non_char".
1813 (check_format_info): Initialize it, and warn if encountered.
1814 (check_format_arg): Distinguish between wide char and
1815 everything else when detecting arrays of non-char.
1816
7761dfbe
DM
18172018-04-30 David Malcolm <dmalcolm@redhat.com>
1818
1819 * c-format.c (get_corrected_substring): Update for
1820 location_get_source_line returning a char_span. Use a char_span
1821 when handling the prefix of the correction.
1822 * c-indentation.c (get_visual_column): Update for
1823 location_get_source_line returning a char_span.
1824 (get_first_nws_vis_column): Likewise.
1825
62e98ef1
DM
18262018-03-29 David Malcolm <dmalcolm@redhat.com>
1827
1828 PR c++/84269
1829 * known-headers.cc (get_stdlib_header_for_name): Add various names
1830 from <assert.h>, <string.h>, and <memory.h>; add more names from
1831 <stdio.h>.
1832
a7dea617
JJ
18332018-03-27 Jakub Jelinek <jakub@redhat.com>
1834
1835 PR c++/85061
1836 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
1837 get_base_address of the second operand is a VAR_P, rather than the
1838 operand itself, and use gcc_checking_assert instead of gcc_assert.
1839
889a3a30
MP
18402018-03-23 Marek Polacek <polacek@redhat.com>
1841
1842 PR c++/85045
1843 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
1844 <case RDIV_EXPR>: Tweak condition.
1845
452154b9
EB
18462018-03-20 Eric Botcazou <ebotcazou@adacore.com>
1847
1848 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
1849
63ecb626
JJ
18502018-03-16 Jakub Jelinek <jakub@redhat.com>
1851
ce811fc4
JJ
1852 PR c/84909
1853 * c-warn.c (conversion_warning): Replace "to to" with "to" in
1854 diagnostics.
1855
63ecb626
JJ
1856 PR c/84910
1857 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
1858 diagnostics.
1859
a1295eec
RB
18602018-03-16 Richard Biener <rguenther@suse.de>
1861
1862 PR c/84873
1863 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
1864 unshare the possibly folded expression.
1865
919674fb
RB
18662018-03-15 Richard Biener <rguenther@suse.de>
1867
1868 PR c/84873
1869 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
1870
f99309b2
MS
18712018-03-13 Martin Sebor <msebor@redhat.com>
1872
1873 PR tree-optimization/84725
1874 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
1875 with all three narrow character types, including their qualified forms.
1876
e9b9fa4c
MS
18772018-03-12 Martin Sebor <msebor@redhat.com>
1878
1879 PR tree-optimization/83456
ab20d992 1880 * c-common.c (check_function_restrict): Return bool.
e9b9fa4c
MS
1881 Restore checking of bounded built-in functions.
1882 (check_function_arguments): Also return the result
1883 of warn_for_restrict.
ab20d992
JJ
1884 * c-common.c (check_function_restrict): Return bool.
1885 * c-warn.c (warn_for_restrict): Return bool.
e9b9fa4c 1886
0805d020
MP
18872018-03-02 Marek Polacek <polacek@redhat.com>
1888
1889 PR c++/84171
1890 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
1891 is erroneous.
1892
ed2a2f08
TS
18932018-03-02 Thomas Schwinge <thomas@codesourcery.com>
1894
1895 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
1896 function".
1897
90abdde0
MP
18982018-03-01 Marek Polacek <polacek@redhat.com>
1899
1900 PR c++/84639
1901 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
1902 alignment in computation.
1903
c6db43fa
EB
19042018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1905
1906 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
1907 <REAL_TYPE>: Deal specifically with _Float128/__float128.
1908
9e25c7ed
EB
19092018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1910
1911 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
1912 (is_char_array): Take a type instead of a declaration.
1913 (dump_ada_array_type): Likewise.
1914 (is_simple_enum): Minor tweak.
1915 (dump_ada_enum_type): New function extracted from...
1916 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
1917 <INTEGER_TYPE>: Remove unreachable code.
1918 <RECORD_TYPE>: Likewise. Minor tweaks.
1919 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
1920 <ENUMERAL_TYPE>: New case.
1921 <RECORD_TYPE>: Factor out common code.
1922 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
1923 Minor tweaks. Deal with enumeral types.
1924 (dump_ada_structure): Minor tweaks.
1925
09de3550
EB
19262018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1927
1928 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
1929 address for incomplete structures.
1930 (dump_forward_type): Do not bail out for incomplete structures.
1931 (dump_ada_declaration): Do not special-case incomplete structures
1932 for subtypes. Dump them as null records for types.
1933
095d8d4b
EB
19342018-02-28 Eric Botcazou <ebotcazou@adacore.com>
1935
1936 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
1937 (is_char_array): Fix formatting.
1938 (dump_template_types): Likewise.
1939 (dump_generic_ada_node): Rename into...
1940 (dump_ada_node): ...this.
1941 <POINTER_TYPE>: Remove superfluous space. Use generic address for
1942 incomplete structures and not for empty structures. Do not use it
1943 when forward declarations are needed.
1944 (dump_forward_type): New function.
1945 (dump_nested_types): Remove FORWARD parameter. Do not consider
1946 TREE_VISITED and do not generate a forward declaration. Only dump
1947 original nested types for nested declaration.
1948 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
1949 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
1950 <RECORD_TYPE>: Do not consider TREE_VISITED.
1951 (dump_ada_declaration): Use booleans and fix formatting throughout.
1952 <TYPE_DECL>: Skip incomplete structures and not empty structures.
1953 Call dump_forward_type instead of dump_nested_types for a typedef.
1954 Remove superfluous check and adjust call to dump_nested_types.
1955 <POINTER_TYPE>: Call dump_forward_type and fall through.
1956 (dump_ada_struct_decl): Rename into...
1957 (dump_ada_structure): ...this. Do not special-case empty structures.
1958
d4cfd486
MS
19592018-02-27 Martin Sebor <msebor@redhat.com>
1960
1961 PR c++/83871
1962 * c.opt (-Wmissing-attributes): New option.
1963
b22dbd03
ML
19642018-02-21 Martin Liska <mliska@suse.cz>
1965
1966 * c.opt (Wcatch-value=): Add IntegerRange.
1967
883dfe2a
JM
19682018-02-15 Jason Merrill <jason@redhat.com>
1969
1970 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
1971
0444aa9c
NS
19722018-02-09 Nathan Sidwell <nathan@acm.org>
1973
1974 PR c/84293
1975 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
1976 arg.
1977 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
1978 arg. Adjust.
1979
cea71f0a
MS
19802018-02-09 Martin Sebor <msebor@redhat.com>
1981
1982 PR lto/84212
1983 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
1984 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
1985 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
1986 (-Wstrict-overflow, -Wsuggest-attribute): Same.
1987 (-Wuninitialized): Same.
1988
8c8b7be5
EB
19892018-02-09 Eric Botcazou <ebotcazou@adacore.com>
1990
1991 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
1992 keyword for components.
1993
7c30b12a
PC
19942018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
1995
1996 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
1997
eece7fe5
JK
19982018-02-02 Julia Koval <julia.koval@intel.com>
1999
2000 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2001
7d07a93a
MP
20022018-01-29 Marek Polacek <polacek@redhat.com>
2003
2004 PR c/83966
2005 * c-format.c (check_function_format): Check current_function_decl.
2006
53723269
JJ
20072018-01-27 Jakub Jelinek <jakub@redhat.com>
2008
2009 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2010 argument.
2011 (LAZY_HEX_FP_VALUES_CNT): Define.
2012 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2013 values rather than just 12.
2014 (builtin_define_with_hex_fp_value): Likewise.
2015
7365279f
BK
20162018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2017
92a285c1
ML
2018 PR other/70268
2019 * c.opt (-fmacro-prefix-map): New option.
2020 * c-opts.c (c_common_handle_option): Handle it.
2021 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2022 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 2023
bb9869d5
DM
20242018-01-17 David Malcolm <dmalcolm@redhat.com>
2025
2026 PR c++/83814
2027 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2028
68dc87c3
EB
20292018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2030
2031 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2032 Skip 'f' and 'F' characters if it is true.
2033 (store_ada_macro): Minor tweak.
2034 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2035 <CPP_WSTRING>: Likewise.
2036 <CPP_STRING>: Output '&' in the buffer if not the first string.
2037 <CPP_NUMBER>: Adjust calls to dump_number.
2038
9a004410
DM
20392018-01-10 David Malcolm <dmalcolm@redhat.com>
2040
2041 PR c++/43486
2042 * c-common.c: Include "selftest.h".
2043 (get_atomic_generic_size): Perform the test for integral type
2044 before the range test for any integer constant, fixing indentation
2045 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2046 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2047 (selftest::test_fold_for_warn): New function.
2048 (selftest::c_common_c_tests): New function.
2049 (selftest::c_family_tests): Call it, and
2050 selftest::c_pretty_print_c_tests.
2051 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2052 * c-format.c (check_format_arg): Convert VAR_P check to a
2053 fold_for_warn.
2054 * c-pretty-print.c: Include "selftest.h".
2055 (pp_c_cast_expression): Don't print casts for location wrappers.
2056 (selftest::assert_c_pretty_printer_output): New function.
2057 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2058 (selftest::test_location_wrappers): New function.
2059 (selftest::c_pretty_print_c_tests): New function.
2060 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2061
5c0caeb3
RS
20622018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2063 Alan Hayward <alan.hayward@arm.com>
2064 David Sherwood <david.sherwood@arm.com>
2065
2066 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2067
73a699ae
RS
20682018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2069 Alan Hayward <alan.hayward@arm.com>
2070 David Sherwood <david.sherwood@arm.com>
2071
2072 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2073 as polynomial.
2074
928686b1
RS
20752018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2076 Alan Hayward <alan.hayward@arm.com>
2077 David Sherwood <david.sherwood@arm.com>
2078
2079 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2080 (convert_vector_to_array_for_subscript): Handle polynomial
2081 TYPE_VECTOR_SUBPARTS.
2082 (c_common_type_for_mode): Check valid_vector_subparts_p.
2083 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2084 VECTOR_CST_NELTS.
2085
85ec4feb
JJ
20862018-01-03 Jakub Jelinek <jakub@redhat.com>
2087
2088 Update copyright years.
2089
170a8bd6 20902017-12-22 Mike Stump <mikestump@comcast.net>
92a285c1 2091 Eric Botcazou <ebotcazou@adacore.com>
170a8bd6
EB
2092
2093 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2094 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2095
ab20d992 20962017-12-22 Alexandre Oliva <aoliva@redhat.com>
18408e96
AO
2097
2098 PR debug/83527
2099 PR debug/83419
2100 * c-semantics.c (only_debug_stmts_after_p): New.
2101 (pop_stmt_list): Clear side effects in debug-only stmt list.
2102 Check for single nondebug stmt followed by debug stmts only.
2103
c12d20d4
AO
21042017-12-21 Alexandre Oliva <aoliva@redhat.com>
2105
2106 PR debug/83419
2107 * c-semantics.c (pop_stmt_list): Propagate side effects from
2108 single nondebug stmt to container list.
2109
01512446
JJ
21102017-12-19 Jakub Jelinek <jakub@redhat.com>
2111
2112 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2113 conditions with typical order conditions.
2114
82cfbd01
MP
21152017-12-18 Marek Polacek <polacek@redhat.com>
2116
2117 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2118 not in effect.
2119
99da11ec
MS
21202017-12-17 Martin Sebor <msebor@redhat.com>
2121
2122 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2123 an error for attribute warn_if_not_aligned.
2124
cc8bea0a
MS
21252017-12-16 Martin Sebor <msebor@redhat.com>
2126
2127 PR tree-optimization/78918
2128 * c-common.c (check_function_restrict): Avoid checking built-ins.
2129 * c.opt (-Wrestrict): Include in -Wall.
2130
4849deb1
JJ
21312017-12-15 Jakub Jelinek <jakub@redhat.com>
2132
2133 * c-attribs.c (c_common_attribute_table,
2134 c_common_format_attribute_table): Swap affects_type_identity
2135 and handler fields, adjust comments.
2136
c65e18d3
BE
21372017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2138
2139 * c.opt (Wcast-function-type): New warning option.
2140 * c-lex.c (get_fileinfo): Avoid warning.
2141 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2142
2004617a
QZ
21432017-12-14 Qing Zhao <qing.zhao@oracle.com>
2144
7365279f 2145 PR middle_end/79538
2004617a
QZ
2146 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2147 Adjust the size of buf1 and buf2, add a new buf to avoid
2148 format-overflow warning.
2149
ab20d992 21502017-12-12 Alexandre Oliva <aoliva@redhat.com>
96a95ac1
AO
2151
2152 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2153 subsequent statement list.
2154
5d9ae53d
MS
21552017-12-07 Martin Sebor <msebor@redhat.com>
2156
2157 PR c/81544
2158 PR c/81566
2159 * c-attribs.c (attr_aligned_exclusions): New array.
2160 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2161 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2162 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2163 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2164 (attr_warn_unused_result_exclusions): Same.
2165 (handle_hot_attribute, handle_cold_attribute): Simplify.
2166 (handle_const_attribute): Warn on function returning void.
2167 (handle_pure_attribute): Same.
2168 (handle_aligned_attribute): Diagnose conflicting attribute
2169 specifications.
2170 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2171
c79144f8
DM
21722017-12-06 David Malcolm <dmalcolm@redhat.com>
2173
2174 PR c/83236
2175 * c-common.c (selftest::c_family_tests): Call
2176 selftest::c_spellcheck_cc_tests.
2177 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2178 * c-spellcheck.cc: Include "selftest.h".
2179 (name_reserved_for_implementation_p): New function.
2180 (should_suggest_as_macro_p): New function.
2181 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2182 should_suggest_as_macro_p and call it.
2183 (selftest::test_name_reserved_for_implementation_p): New function.
2184 (selftest::c_spellcheck_cc_tests): New function.
2185 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2186
613bc14f
DM
21872017-12-06 David Malcolm <dmalcolm@redhat.com>
2188
2189 * c-spellcheck.cc: New file, taken from macro-handling code in
2190 spellcheck-tree.c.
2191 * c-spellcheck.h: New file, taken from macro-handling code in
2192 spellcheck-tree.h.
2193
e76c7157
JJ
21942017-12-01 Jakub Jelinek <jakub@redhat.com>
2195
2196 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2197 attribute.
2198 (handle_simd_attribute): Don't check for "cilk simd function"
2199 attribute. Reindent, formatting changes.
2200
b0da4034
JK
22012017-11-30 Julia Koval <julia.koval@intel.com>
2202
2203 * c-common.h (inv_list): Remove.
2204
058f0b9e
JJ
22052017-11-28 Jakub Jelinek <jakub@redhat.com>
2206
2207 PR sanitizer/81275
2208 * c-common.c (c_switch_covers_all_cases_p_1,
2209 c_switch_covers_all_cases_p): New functions.
2210 * c-common.h (c_switch_covers_all_cases_p): Declare.
2211
5e9d6aa4 22122017-11-28 Julia Koval <julia.koval@intel.com>
92a285c1 2213 Sebastian Peryt <sebastian.peryt@intel.com>
5e9d6aa4
JK
2214
2215 * array-notation-common.c: Delete.
2216 * c-cilkplus.c: Ditto.
2217 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2218 * c-common.def (ARRAY_NOTATION_REF): Remove.
2219 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2220 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2221 c_validate_cilk_plus_loop, cilkplus_an_parts,
2222 cilk_ignorable_spawn_rhs_op,
2223 cilk_recognize_spawn): Remove.
2224 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2225 * c-omp.c: Remove CILK_SIMD check.
2226 * c-pragma.c: Ditto.
2227 * c-pragma.h: Remove CILK related pragmas.
2228 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2229 ARRAY_NOTATION_REF condition.
2230 (c_pretty_printer::expression): Ditto.
2231 * c.opt (fcilkplus): Remove.
2232 * cilk.c: Delete.
2233
1af4ebf5
MG
22342017-11-21 Marc Glisse <marc.glisse@inria.fr>
2235
2236 * c-pretty-print.c (pp_c_additive_expression,
2237 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2238
d44ed508
JJ
22392017-11-21 Jakub Jelinek <jakub@redhat.com>
2240
7d2f0f9b
JJ
2241 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2242
d44ed508
JJ
2243 PR c++/83059
2244 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2245 instead of tree_to_uhwi, formatting fix.
2246
26edace6
DM
22472017-11-20 David Malcolm <dmalcolm@redhat.com>
2248
2249 PR c/81404
2250 * known-headers.cc: New file, based on material from c/c-decl.c.
2251 (suggest_missing_header): Copied as-is.
2252 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2253 heavily edited to add C++ support. Add some knowledge about
2254 <limits.h>, <stdint.h>, and <wchar.h>.
2255 * known-headers.h: Likewise.
2256
6c7a259b
DM
22572017-11-20 David Malcolm <dmalcolm@redhat.com>
2258
2259 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2260 (lookup_name_fuzzy): Likewise. Convert return type from
2261 const char * to name_hint. Add location_t param.
2262 * name-hint.h: New header.
2263
f9c59f7e
JJ
22642017-11-19 Jakub Jelinek <jakub@redhat.com>
2265
2266 PR c/66618
2267 PR c/69960
2268 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2269
1e39313a
JM
22702017-11-16 Joseph Myers <joseph@codesourcery.com>
2271
2272 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2273 expected publication date of C17.
2274 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2275
3ca0dc60
JM
22762017-11-15 Joseph Myers <joseph@codesourcery.com>
2277
2278 PR c/81156
2279 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2280 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2281
025d57f0
MS
22822017-11-10 Martin Sebor <msebor@redhat.com>
2283
2284 PR c/81117
2285 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2286 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2287 * c.opt (-Wstringop-truncation): New option.
2288
1b6fa695
ML
22892017-11-06 Martin Liska <mliska@suse.cz>
2290
2291 PR middle-end/82404
2292 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2293 FE.
2294 * c.opt: Set default value of warn_return_type.
2295
64a5912c
DM
22962017-10-31 David Malcolm <dmalcolm@redhat.com>
2297
2298 * c-common.c (binary_op_error): Update for renaming of
2299 error_at_rich_loc.
2300 (c_parse_error): Likewise.
2301 * c-warn.c (warn_logical_not_parentheses): Likewise for
2302 renaming of inform_at_rich_loc.
2303 (warn_for_restrict): Likewise for renaming of
2304 warning_at_rich_loc_n.
2305
c76dc9c3
JM
23062017-10-30 Joseph Myers <joseph@codesourcery.com>
2307
2308 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2309 * c-opts.c (set_std_c17): New function.
2310 (c_common_init_options): Use gnu17 as default C version.
2311 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2312
ee5fd23a
MM
23132017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2314
2315 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2316 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2317 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2318 __FP_FAST_FMA<N>X.
2319
d1047465
MP
23202017-10-23 Marek Polacek <polacek@redhat.com>
2321
2322 PR c/82681
2323 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2324
9e878cf1
EB
23252017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2326
2327 * c-common.c (check_builtin_function_arguments): Also check arguments
2328 of __builtin_alloca_with_align_and_max.
2329
89b6abbb
DM
23302017-10-17 David Malcolm <dmalcolm@redhat.com>
2331
2332 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2333 rather than NULL to format_warning_va.
2334 (check_format_types): Likewise when calling format_type_warning.
2335 Remove code to extract source_ranges and source_range * in favor
2336 of just a location_t.
2337 (format_type_warning): Convert source_range * param to a
2338 location_t.
2339
39382c09
JJ
23402017-10-13 Jakub Jelinek <jakub@redhat.com>
2341
2342 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2343 [LR]SHIFT_EXPR.
2344
62e1c678
DM
23452017-10-12 David Malcolm <dmalcolm@redhat.com>
2346
2347 * c-common.c (enum missing_token_insertion_kind): New enum.
2348 (get_missing_token_insertion_kind): New function.
2349 (maybe_suggest_missing_token_insertion): New function.
2350 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2351
b90c9338
NS
23522017-10-11 Nathan Sidwell <nathan@acm.org>
2353
2354 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2355 (c_common_handle_option): Update incpath_kind names.
2356
3a266bcd
ML
23572017-10-11 Martin Liska <mliska@suse.cz>
2358
2359 PR sanitizer/82490
2360 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2361 Wattributes warning.
2362
8e6cdc90
RS
23632017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2364
2365 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2366 operating on trees as wide_ints.
2367 * c-common.c (pointer_int_sum): Likewise.
2368 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2369 * c-warn.c (match_case_to_enum_1): Likewise.
2370 (c_do_switch_warnings): Likewise.
2371 (maybe_warn_shift_overflow): Likewise.
2372
802b38c9
JJ
23732017-10-10 Jakub Jelinek <jakub@redhat.com>
2374
2375 PR c/82437
2376 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2377 instead of wide_int::from.
2378
4e34b338
JJ
23792017-10-06 Jakub Jelinek <jakub@redhat.com>
2380
2381 PR c/82437
2382 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2383 using to_widest use wide_int with the larger of the two precisions.
2384
4bc4b2b4
BE
23852017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2386
2387 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2388 functions.
2389
a1488398
RS
23902017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2391
2392 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2393 when combining the original unconverted comparison operands.
2394
01c9fb68
JJ
23952017-09-29 Jakub Jelinek <jakub@redhat.com>
2396
2397 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2398 attribute.
2399
6e3e8419
EB
24002017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2401
2402 * c-ada-spec.c (to_ada_name): Add index parameter.
2403 (pp_ada_tree_identifier): Likewise.
2404 (dump_ada_macros): Adjust call to to_ada_name.
2405 (struct overloaded_name_hash): New type.
2406 (struct overloaded_name_hasher): Likewise.
2407 (overloaded_names): New hash table.
2408 (compute_overloading_index): New function.
2409 (dump_ada_decl_name): Call it and pass the result to
2410 pp_ada_tree_identifier.
2411 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2412 (dump_ada_function_declaration): Likewise.
2413 (dump_generic_ada_node): Likewise.
2414 (print_constructor): Likewise.
2415 (print_destructor): Likewise.
2416 (dump_ada_specs): Delete overloaded_names table.
2417
79310774
EB
24182017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2419
2420 * c-ada-spec.c (max_ada_macros): Move around.
2421 (store_ada_macro_index): Likewise.
2422 (source_file): Rename into...
2423 (macro_source_file): ...this.
2424 (count_ada_macro): Move around.
2425 (store_ada_macro): Likewise.
2426 (compare_macro): Likewise.
2427 (print_ada_macros): Merge in...
2428 (dump_ada_macros): ...this.
2429 (source_file_base): Rename into...
2430 (current_source_file): ...this.
2431 (print_comment): Move around.
2432 (dump_ada_nodes): Call dump_ada_declaration directly.
2433 (struct with): Change type of limited field to bool.
2434 (append_withs): Change type of limited_access parameter to bool.
2435 (pp_ada_tree_identifie): Likewise.
2436 (dump_ada_decl_nam): Likewise.
2437 (dump_generic_ada_node): Likewise. Do not print the return type.
2438 (to_ada_name): Change type of space_found parameter to bool.
2439 (dump_ada_function_declaration): Return void and change type of
2440 parameters to bool. Also print the return type for a function.
2441 (print_ada_methods): Rename into...
2442 (dump_ada_methods): ...this.
2443 (print_ada_declaration): Rename into ...
2444 (dump_ada_declaration): ...this. Do not print the return type.
2445 (print_ada_struct_decl): Rename into...
2446 (dump_ada_struct_decl): ...this.
2447
7d386d45
JJ
24482017-09-29 Jakub Jelinek <jakub@redhat.com>
2449
2450 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2451 rather than DECL_INITIAL.
2452 (common_handle_aligned_attribute): Likewise.
2453
ab20d992 24542017-09-20 Alexandre Oliva <aoliva@redhat.com>
9ed32e27
AO
2455
2456 * c.opt (gen-decls): Add RejectNegative.
2457
026a79f7
AS
24582017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2459 Jakub Jelinek <jakub@redhat.com>
2460
2461 Add support for -std=c++2a.
2462 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2463 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2464 * c-opts.c (set_std_cxx2a): New.
2465 (c_common_handle_option): Set options when -std=c++2a is enabled.
2466 (c_common_post_options): Adjust comments.
2467 (set_std_cxx14, set_std_cxx17): Likewise.
2468
4a8ca690
EB
24692017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2470
2471 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2472 message for non-uniform endianness and issue a warning in C++.
2473
7b936140
JJ
24742017-09-15 Jakub Jelinek <jakub@redhat.com>
2475
2476 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2477 (Wc++17-compat): Change from undocumented alias to option.
2478 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2479 change C++1z to C++17 in description.
2480 (std=c++1z, std=gnu++1z): Change from option to undocumented
2481 deprecated alias.
2482 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2483 Adjust description.
2484 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2485 * c-opts.c (set_std_cxx1z): Rename to ...
2486 (set_std_cxx17): ... this.
2487 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2488 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 2489 caller.
7b936140
JJ
2490 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
2491 comments.
2492
12263f13
L
24932017-09-12 H.J. Lu <hongjiu.lu@intel.com>
2494
2495 * c-attribs.c (common_handle_aligned_attribute): Don't warn
2496 function alignment if warn_if_not_aligned_p is true.
2497
6836632e
NS
24982017-09-12 Nathan Sidwell <nathan@acm.org>
2499
2500 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
2501 resort_sorted_fields): Move to c/c-decl.c.
2502 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
2503 (struct sorted_fields_type): Move to c/c-lang.h.
2504
019bf9ad
JW
25052017-09-09 Jonathan Wakely <jwakely@redhat.com>
2506
2507 PR c++/81852
2508 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
2509
bc7fe952
MP
25102017-09-04 Marek Polacek <polacek@redhat.com>
2511
2512 PR c/81783
2513 * c-warn.c (warn_tautological_bitwise_comparison): New function.
2514 (warn_tautological_cmp): Call it.
2515
ab20d992 25162017-09-01 Boris Kolpackov <boris@codesynthesis.com>
de7c2c6a
BK
2517
2518 * c-opts.c (c_common_finish): Write dependency information even if
2519 there are errors.
2520
d2e05fcb
JJ
25212017-09-01 Jakub Jelinek <jakub@redhat.com>
2522
2523 PR c/81887
2524 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
2525 (omp_pragmas_simd): ... here.
2526 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
2527 create new clauses list containing just simd clause.
2528
18e2a8b8
RS
25292017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2530 Alan Hayward <alan.hayward@arm.com>
2531 David Sherwood <david.sherwood@arm.com>
2532
2533 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
2534 into scalar_mode_supported_p call.
2535 (handle_mode_attribute): Update call to scalar_mode_supported_p.
2536
16d22000
RS
25372017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2538 Alan Hayward <alan.hayward@arm.com>
2539 David Sherwood <david.sherwood@arm.com>
2540
2541 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
2542 for the mode iterator.
2543
b397965c
RS
25442017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2545 Alan Hayward <alan.hayward@arm.com>
2546 David Sherwood <david.sherwood@arm.com>
2547
2548 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
2549 * c-common.c (c_build_vec_perm_expr): Likewise.
2550
357b7604
RS
25512017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2552 Alan Hayward <alan.hayward@arm.com>
2553 David Sherwood <david.sherwood@arm.com>
2554
2555 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
2556
e05c94ba
RS
25572017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2558 Alan Hayward <alan.hayward@arm.com>
2559 David Sherwood <david.sherwood@arm.com>
2560
2561 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
2562 before calling targetm.addr_space.valid_pointer_mode.
2563
5c20c4af
RS
25642017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2565 Alan Hayward <alan.hayward@arm.com>
2566 David Sherwood <david.sherwood@arm.com>
2567
2568 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
2569
c94843d2 25702017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
92a285c1
ML
2571 Alan Hayward <alan.hayward@arm.com>
2572 David Sherwood <david.sherwood@arm.com>
c94843d2
RS
2573
2574 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
2575 iterators.
2576 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2577
4e10a5a7
RS
25782017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
2579 Alan Hayward <alan.hayward@arm.com>
2580 David Sherwood <david.sherwood@arm.com>
2581
2582 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
2583 case statements.
2584
130fcab0
ML
25852017-08-29 Martin Liska <mliska@suse.cz>
2586
2587 PR other/39851
2588 * c-common.c (parse_optimize_options): Add argument to function
2589 call.
2590 * c-pragma.c (handle_pragma_diagnostic): Likewise.
2591
14e18d71
DM
25922017-08-24 David Malcolm <dmalcolm@redhat.com>
2593
2594 * c-lex.c (interpret_float): Use token location
2595 when building an EXCESS_PRECISION_EXPR.
2596
2f687306
DM
25972017-08-21 David Malcolm <dmalcolm@redhat.com>
2598
2599 * c-common.c (check_function_arguments): Add "arglogs" param; pass
2600 it to check_function_format.
2601 * c-common.h (check_function_arguments): Add vec<location_t> *
2602 param.
2603 (check_function_format): Likewise.
2604 * c-format.c (struct format_check_context): Add field "arglocs".
2605 (check_function_format): Add param "arglocs"; pass it to
2606 check_format_info.
ab20d992 2607 (check_format_info): Add param "arglocs"; use it to initialize
2f687306
DM
2608 new field of format_ctx.
2609 (check_format_arg): Pass format_ctx->arglocs to new param of
2610 check_format_info_main.
2611 (class argument_parser): New field "arglocs".
2612 (argument_parser::argument_parser): Add "arglocs_" param and use
2613 it to initialize new field.
2614 (argument_parser::check_argument_type): Pass new arglocs field to
2615 check_format_types.
2616 (check_format_info_main): Add param "arglocs", and use it when
2617 constructing arg_parser.
2618 (check_format_types): Add param "arglocs"; use it if non-NULL when
2619 !EXPR_HAS_LOCATION (cur_param) to get at location information.
2620
00aa1fa2
L
26212017-08-18 H.J. Lu <hongjiu.lu@intel.com>
2622
2623 PR c/53037
2624 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
2625 (c_common_attribute_table): Add warn_if_not_aligned.
2626 (handle_aligned_attribute): Renamed to ...
2627 (common_handle_aligned_attribute): Remove argument, name, and add
2628 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
2629 (handle_aligned_attribute): New.
2630 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
2631
27be025d
MS
26322017-08-14 Martin Sebor <msebor@redhat.com>
2633
2634 PR c/81117
2635 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
2636 (handle_nonstring_attribute): New function.
2637
da67acb9
MS
26382017-08-14 Martin Sebor <msebor@redhat.com>
2639
2640 PR c/81117
2641 * c-format.h (T89_G): New macro.
2642 * c-format.c (local_gcall_ptr_node): New variable.
2643 (init_dynamic_diag_info): Initialize it.
2644
a8b522b4
ML
26452017-08-11 Martin Liska <mliska@suse.cz>
2646
2647 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
2648 TARGET_SUPPORTS_ALIASES.
2649
32129a17
DM
26502017-08-10 David Malcolm <dmalcolm@redhat.com>
2651
2652 * c-common.c (c_parse_error): Add rich_location * param, using it
2653 rather implicitly using input_location.
2654 * c-common.h (c_parse_error): Add rich_location * param.
2655
30af3a2b
MP
26562017-08-09 Marek Polacek <polacek@redhat.com>
2657
2658 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
2659 (c_common_truthvalue_conversion): Likewise.
2660 * c-omp.c (c_finish_omp_atomic): Likewise.
2661 * c-common.h (build_binary_op): Update declaration.
2662
314e6352
ML
26632017-08-08 Martin Liska <mliska@suse.cz>
2664
2665 * c-ada-spec.c: Include header files.
2666 * c-ubsan.c: Likewise.
2667 * c-warn.c: Likewise.
2668
56b5041c
JJ
26692017-08-07 Jakub Jelinek <jakub@redhat.com>
2670
2671 PR c/69389
2672 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
2673
db440138
EB
26742017-08-07 Eric Botcazou <ebotcazou@adacore.com>
2675
2676 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
2677 (print_ada_methods): Likewise.
2678 (print_ada_declaration): Likewise.
2679
577eec56
ML
26802017-08-07 Martin Liska <mliska@suse.cz>
2681
2682 * array-notation-common.c: Add new includes.
2683 * c-format.c( handle_format_attribute): Canonicalize a format
2684 function name.
2685 * c-lex.c (c_common_has_attribute): Canonicalize name of an
2686 attribute.
2687 * c-pretty-print.c: Add new include.
2688
b854df3c
EB
26892017-08-05 Eric Botcazou <ebotcazou@adacore.com>
2690
2691 * c-ada-spec.c (has_static_fields): Look only into variables.
2692 (print_constructor): Add TYPE parameter and use it for the name.
2693 (print_destructor): Likewise.
2694 (print_ada_declaration): Adjust to new constructor/destructor names.
2695 Adjust calls to print_constructor and print_destructor.
2696 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
2697 Look only into variables in the final loop.
2698
9f2cb25e
EB
26992017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2700
2701 * c-ada-spec.c (has_static_fields): Look only into fields.
2702 (dump_generic_ada_node): Small tweak.
2703 (dump_nested_types): Look only into fields.
2704 (print_ada_declaration): Look only into methods. Small tweak.
2705 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
2706
f4bcd9eb
EB
27072017-08-01 Eric Botcazou <ebotcazou@adacore.com>
2708
2709 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
2710 (dump_ada_function_declaration): Likewise.
2711 (dump_generic_ada_node): Likewise.
2712 (print_ada_declaration): Add support for const-qualified variables.
2713
f34ebeb2
ML
27142017-07-31 Martin Liska <mliska@suse.cz>
2715
2716 PR sanitize/81530
2717 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
2718 Guard condition with flag_sanitize_p also with current_function_decl
2719 non-null equality.
2720 (ubsan_maybe_instrument_reference_or_call): Likewise.
2721
218e5d04
UB
27222017-07-30 Uros Bizjak <ubizjak@gmail.com>
2723
2724 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
2725
942047f2
EB
27262017-07-29 Eric Botcazou <ebotcazou@adacore.com>
2727
2728 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
2729 for enumeral types.
2730 (print_ada_declaration): Add missing guard for record types.
2731
a40ff0ae
JJ
27322017-07-27 Jakub Jelinek <jakub@redhat.com>
2733
2734 PR c/45784
2735 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
2736 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
2737 new COMPOUND_EXPRs around the rhs of the comparison.
2738
06bd22f6
MP
27392017-07-27 Marek Polacek <polacek@redhat.com>
2740
2741 PR c/81417
2742 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
2743 the types.
2744
036ea399
JJ
27452017-07-27 Jakub Jelinek <jakub@redhat.com>
2746
2747 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
2748 (handle_noipa_attribute): New function.
2749
417ca011
TD
27502017-07-07 Torsten Duwe <duwe@suse.de>
2751
2752 * c-attribs.c (c_common_attribute_table): Add entry for
2753 "patchable_function_entry".
2754
5aaa8fb4
NS
27552017-07-20 Nathan Sidwell <nathan@acm.org>
2756
2757 Remove TYPE_METHODS.
2758 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
2759 dump_ada_template, print_ada_methods,
2760 print_ada_declaration): Member fns are on TYPE_FIELDS.
2761
ff22eb12
NS
27622017-07-18 Nathan Sidwell <nathan@acm.org>
2763
2764 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
2765
eea77d1f
DM
27662017-07-14 David Malcolm <dmalcolm@redhat.com>
2767
2768 * c-common.c (try_to_locate_new_include_insertion_point): New
2769 function.
2770 (per_file_includes_t): New typedef.
2771 (added_includes_t): New typedef.
2772 (added_includes): New variable.
2773 (maybe_add_include_fixit): New function.
2774 * c-common.h (maybe_add_include_fixit): New decl.
2775
281ac396
MS
27762017-07-10 Martin Sebor <msebor@redhat.com>
2777
2778 PR other/81345
2779 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
2780
b6f43128
DM
27812017-07-06 David Malcolm <dmalcolm@redhat.com>
2782
2783 * c-common.c (selftest::c_family_tests): New.
2784 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
2785 (selftest::c_family_tests): New decl.
2786
efbf55b0
MP
27872017-07-04 Marek Polacek <polacek@redhat.com>
2788
2789 PR c/81231
2790 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
2791 types.
2792
6c86bd88
MP
27932017-07-04 Marek Polacek <polacek@redhat.com>
2794
2795 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
2796
17a7218b
ML
27972017-06-28 Martin Liska <mliska@suse.cz>
2798
2799 PR ipa/81128
2800 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
2801 to a function declaration.
2802
63010089
ML
28032017-06-28 Martin Liska <mliska@suse.cz>
2804
2805 PR driver/79659
2806 * c.opt: Add IntegerRange to various options.
2807
3e2becc4
MP
28082017-06-26 Marek Polacek <polacek@redhat.com>
2809
2810 PR c/80116
2811 * c-common.h (warn_for_multistatement_macros): Declare.
2812 * c-warn.c: Include "c-family/c-indentation.h".
2813 (warn_for_multistatement_macros): New function.
2814 * c.opt (Wmultistatement-macros): New option.
2815 * c-indentation.c (guard_tinfo_to_string): No longer static.
2816 Change the parameter type to "enum rid". Handle RID_SWITCH.
2817 * c-indentation.h (guard_tinfo_to_string): Declare.
2818
2db9b7cd
MG
28192017-06-23 Marc Glisse <marc.glisse@inria.fr>
2820
2821 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
2822
c3684b7b
MS
28232017-06-15 Martin Sebor <msebor@redhat.com>
2824
2825 PR c++/80560
2826 * c.opt (-Wclass-memaccess): New option.
2827
e72c4afd
BK
28282017-06-14 Boris Kolpackov <boris@codesynthesis.com>
2829
2830 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
2831
8a516588
MP
28322017-06-13 Marek Polacek <polacek@redhat.com>
2833
2834 PR objc/80949
2835 * c-warn.c (do_warn_duplicated_branches): Return if any of the
2836 branches is null.
2837
45b2222a
ML
28382017-06-13 Martin Liska <mliska@suse.cz>
2839
2840 PR sanitize/78204
2841 * c-attribs.c (add_no_sanitize_value): New function.
2842 (handle_no_sanitize_attribute): Likewise.
2843 (handle_no_sanitize_address_attribute): Use the function.
2844 (handle_no_sanitize_thread_attribute): New function.
2845 (handle_no_address_safety_analysis_attribute): Use
2846 add_no_sanitize_value.
2847 (handle_no_sanitize_undefined_attribute): Likewise.
2848 * c-common.h: Declare new functions.
2849 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
2850 (ubsan_instrument_shift): Likewise.
2851 (ubsan_instrument_bounds): Likewise.
2852 (ubsan_maybe_instrument_array_ref): Likewise.
2853 (ubsan_maybe_instrument_reference_or_call): Likewise.
2854
a01f151f
JM
28552017-06-11 Jason Merrill <jason@redhat.com>
2856
2857 * c-ada-spec.c, c-pragma.c: Use id_equal.
2858
3de4ac6d
MP
28592017-06-04 Marek Polacek <polacek@redhat.com>
2860
2861 PR c/80919
2862 * c-format.c (matching_type_p): Return false if any of the types
2863 requires structural equality.
2864
2474f48f
MS
28652017-06-02 Martin Sebor <msebor@redhat.com>
2866
2867 PR c/80892
2868 * c-warn.c (conversion_warning): Use -Wconversion for integer
2869 conversion and -Wfloat-conversion for floating one.
2870
40ffd95f
BE
28712017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2872
2873 * c.opt (Wsizeof-pointer-div): New warning option.
2874
3fa4634c
VR
28752017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
2876
2877 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
2878 (Wcatch-value=1): Enable by -Wall.
2879
f012c8ef
DM
28802017-05-30 David Malcolm <dmalcolm@redhat.com>
2881
2882 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
2883 format_chars.
2884 * c.opt (fdiagnostics-show-template-tree): New option.
2885 (felide-type): New option.
2886
63dbcd13
VR
28872017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
2888
2889 * c.opt (Wcatch-value=): New C++ warning flag.
2890
be136b5c
NS
28912017-05-24 Nathan Sidwell <nathan@acm.org>
2892
2893 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
2894 const casts to avoid warning.
2895
3cd211af
MS
28962017-05-24 Martin Sebor <msebor@redhat.com>
2897
2898 PR c/80731
2899 * c-common.h (unsafe_conversion_p): Add a function argument.
2900 * c-common.c (unsafe_conversion_p): Same.
2901 Add type names and values to diagnostics.
2902 (scalar_to_vector): Adjust.
2903 * c-warn.c (constant_expression_error): Add a function argument.
2904 Add type names and values to diagnostics.
2905 (conversion_warning): Add a function argument.
2906 Add type names and values to diagnostics.
2907 (warnings_for_convert_and_check): Same.
2908
1ff7be5a
JM
29092017-05-19 Jason Merrill <jason@redhat.com>
2910
2911 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
2912 enumerators.
2913
ff502317
BE
29142017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2915
2916 * c-format.c (locus): Move out of function scope,
2917 add GTY attribute.
2918
2a8a8d7b
NS
29192017-05-19 Nathan Sidwell <nathan@acm.org>
2920
2921 * c-opts.c (class_dump_file, class_dump_flags): Delete.
2922 (c_common_parse_file): Remove class dump handling.
2923 (get_dump_info): Likewise.
2924
39aac208
RB
29252017-05-19 Richard Biener <rguenther@suse.de>
2926
2927 PR c++/80593
2928 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
2929 to alias-set zero memory.
2930
6ecd2339
BE
29312017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
2932
2933 * c-format.c (local_tree_type_node): Add GTY attribute.
2934
6574d78e
MP
29352017-05-18 Marek Polacek <polacek@redhat.com>
2936
2937 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
2938 (c_common_fixed_point_type_for_size): Likewise.
2939 (c_common_type_for_mode): Likewise.
2940 (shorten_compare): Likewise.
2941 (c_promoting_integer_type_p): Use false/true instead of 0/1.
2942 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
2943
e3455240
MP
29442017-05-18 Marek Polacek <polacek@redhat.com>
2945
2946 * c-common.c (self_promoting_args_p): Change the return type to bool.
2947 Use false/true instead of 0/1.
2948 * c-common.h (self_promoting_args_p): Update.
2949
3fa8871b
MP
29502017-05-17 Marek Polacek <polacek@redhat.com>
2951
2952 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
2953 * c-warn.c: Likewise.
2954
b42cc3ca
VV
29552017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2956
2957 Implement new C++ intrinsics __is_assignable and __is_constructible.
2958 * c-common.c (__is_assignable, __is_constructible): New.
2959 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
2960
1a817418
ML
29612017-05-17 Martin Liska <mliska@suse.cz>
2962
2963 * c-common.h: Introduce dump_flags_t type and
2964 use it instead of int type.
2965 * c-gimplify.c (c_genericize): Likewise.
2966 * c-opts.c: Likewise.
2967
b2fa0a8b
MP
29682017-05-17 Marek Polacek <polacek@redhat.com>
2969
2970 * c-common.c (c_save_expr): Remove.
2971 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
2972 * c-common.h (c_save_expr): Remove declaration.
2973
31c2d57d
VR
29742017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
2975
2976 PR c/35441
2977 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
2978 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
2979 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
2980 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
2981 RDIV_EXPR.
2982 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
2983
684f84de
MP
29842017-05-09 Marek Polacek <polacek@redhat.com>
2985
2986 PR c/80525
2987 * c-warn.c (unwrap_c_maybe_const): New.
2988 (warn_logical_operator): Call it.
2989
641da50a
NS
29902017-05-09 Nathan Sidwell <nathan@acm.org>
2991
2992 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
2993 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
2994
631238ac
MS
29952017-05-08 Martin Sebor <msebor@redhat.com>
2996
2997 PR translation/80280
2998 * c-format.h (struct format_flag_spec): Add new member.
2999 (T89_T): New macro.
3000 * c-format.c (local_tree_type_node): New global.
3001 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3002 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3003 (strfmon_flag_specs): Likewise.
3004 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3005 with distinct quoting properties.
3006 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3007 (flag_chars_t::validate): Add argument and handle bad quoting.
3008 (check_format_info_main): Handle quoting problems.
3009 (init_dynamic_diag_info): Simplify.
3010
49f0c04c
JM
30112017-05-08 Jason Merrill <jason@redhat.com>
3012
3013 * c-opts.c (c_common_post_options): Update defaults for
3014 flag_abi_version and flag_abi_compat_version.
3015
56d35585
DM
30162017-05-05 David Malcolm <dmalcolm@redhat.com>
3017
3018 * c-common.c (c_cpp_error): Replace report_diagnostic
3019 with diagnostic_report_diagnostic.
3020
0f2c4a8f
MS
30212017-05-04 Martin Sebor <msebor@redhat.com>
3022
3023 PR translation/80280
3024 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3025 (handle_weakref_attribute): Same.
3026
6fe63fb4
NS
30272017-05-03 Nathan Sidwell <nathan@acm.org>
3028
3029 Canonicalize canonical type hashing
3030 * c-common.c (complete_array_type): Use type_hash_canon.
3031
815d9cc6
XR
30322017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3033
92a285c1 3034 PR c++/80038
815d9cc6
XR
3035 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3036 prototype.
3037 (cilk_install_body_pedigree_operations): Likewise.
3038 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3039 detatched.
3040 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3041 (cilk_install_body_pedigree_operations): Likewise.
3042 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3043 unwrapping.
3044
f8a36447
JJ
30452017-04-27 Jakub Jelinek <jakub@redhat.com>
3046
3047 PR c++/80534
3048 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3049 flag on non-aggregate element types.
3050
7c145456
BE
30512017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3052
3053 * c-common.c (c_type_hasher, type_hash_table): Remove.
3054 (c_common_get_alias_set): Remove unreachable code.
3055 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3056
c3cbcd45
VR
30572017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3058
3059 * c.opt (Wextra-semi): New C++ warning flag.
3060
8a59d466
JJ
30612017-04-20 Jakub Jelinek <jakub@redhat.com>
3062
3063 PR middle-end/80423
3064 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3065
8487c9a5
JJ
30662017-04-18 Jakub Jelinek <jakub@redhat.com>
3067
3068 PR middle-end/79788
3069 PR middle-end/80375
3070 * c-common.c (c_common_type_for_mode): Don't handle
3071 widest_*_literal_type_node here.
3072 c_common_signed_or_unsigned_type): Likewise.
3073 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3074 to *intTI_type_node or *intDI_type_node depending on whether
3075 TImode is supported by the target or not.
3076
3ee0fb02
ML
30772017-04-10 Martin Liska <mliska@suse.cz>
3078
3079 PR sanitizer/80350
3080 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3081 doing an UBSAN check.
3082
5764ee3c
JW
30832017-04-03 Jonathan Wakely <jwakely@redhat.com>
3084
3085 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3086
6f3af356
JJ
30872017-03-31 Jakub Jelinek <jakub@redhat.com>
3088
3089 PR c++/79572
3090 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3091 tree *.
3092 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3093 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3094 REFERENCE_TYPE.
3095
f6a7a9d5
DM
30962017-03-31 David Malcolm <dmalcolm@redhat.com>
3097
3098 PR documentation/78732
3099 * c.opt (Wendif-labels): Fix description to refer to
3100 #else rather than #elif.
3101
af88f557
JJ
31022017-03-31 Jakub Jelinek <jakub@redhat.com>
3103
3104 PR libstdc++/80251
3105 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3106 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3107
a9e4a1a5
JJ
31082017-03-27 Jakub Jelinek <jakub@redhat.com>
3109
3110 PR middle-end/80162
3111 * c-common.c (c_common_mark_addressable_vec): Don't set
3112 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3113
3f01b620
MS
31142017-03-21 Martin Sebor <msebor@redhat.com>
3115
3116 PR c++/79548
3117 * c-common.c (set_underlying_type): Mark type used only when
3118 original del is declared unused.
3119
2f6f187a
DM
31202017-03-10 David Malcolm <dmalcolm@redhat.com>
3121
3122 PR translation/79848
3123 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3124 "%qs".
3125
a02fa805
DM
31262017-03-10 David Malcolm <dmalcolm@redhat.com>
3127
3128 PR c/79921
3129 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3130 from inform's message, so that xgettext can locate it.
3131
822a132c
MP
31322017-03-09 Marek Polacek <polacek@redhat.com>
3133
3134 PR c++/79962
3135 PR c++/79984
3136 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3137 conversion to the attribute list.
3138
bba81f1c
ML
31392017-03-09 Martin Liska <mliska@suse.cz>
3140
3141 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3142
108154ff
JM
31432017-03-03 Jason Merrill <jason@redhat.com>
3144
3145 * c.opt (Wnoexcept-type): New.
3146
eb0e7c34
RB
31472017-03-02 Richard Biener <rguenther@suse.de>
3148
3149 PR c/79756
3150 * c-common.c (c_common_mark_addressable_vec): Look through
3151 C_MAYBE_CONST_EXPR.
3152
9453ba0a
ML
31532017-02-28 Martin Liska <mliska@suse.cz>
3154
3155 * c.opt: Replace space with tabular for options of <number>
3156 type.
3157
6a825afe
ML
31582017-02-28 Martin Liska <mliska@suse.cz>
3159
3160 * c.opt: Fix --help=option -Q for options which are of
3161 an enum type.
3162
4227c9ad
JJ
31632017-02-24 Jakub Jelinek <jakub@redhat.com>
3164
3165 PR c++/79588
3166 * c-common.c (check_function_restrict): New function.
3167 (check_function_arguments): Add FNDECL argument. Call
3168 check_function_restrict if -Wrestrict.
3169 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3170 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3171 * c-common.h (check_function_arguments): Add FNDECL argument.
3172 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3173
59909673
EB
31742017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3175
3176 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3177 treatment of parameters with pointer-to-tagged type and tidy up.
3178 (print_ada_methods): Remove the special treatment of C++ static member
3179 functions.
3180
54dcd526
ML
31812017-02-22 Martin Liska <mliska@suse.cz>
3182
3183 * c.opt: Replace inequality signs with square brackets
3184 for -Wnornalized.
3185
00bc9de3
JJ
31862017-02-21 Jakub Jelinek <jakub@redhat.com>
3187
3188 PR c++/79641
3189 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3190 preserve quals.
3191
97fcf744
JM
31922017-02-17 Joseph Myers <joseph@codesourcery.com>
3193
3194 * c-cppbuiltin.c (builtin_define_float_constants): Define
3195 __DECIMAL_DIG__ to the value for long double.
3196
c7545f1c
MP
31972017-02-15 Marek Polacek <polacek@redhat.com>
3198
3199 PR c/79515
3200 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3201 conversion has occured.
3202
c2e84327
DM
32032017-01-24 David Malcolm <dmalcolm@redhat.com>
3204
3205 * c-common.c (c_common_reswords): Add "__RTL".
3206 * c-common.h (enum rid): Add RID_RTL.
3207
2ebd93e1
MP
32082017-01-20 Marek Polacek <polacek@redhat.com>
3209
3210 PR c/64279
3211 * c-common.h (do_warn_duplicated_branches_r): Declare.
3212 * c-gimplify.c (c_genericize): Walk the function tree calling
3213 do_warn_duplicated_branches_r.
3214 * c-warn.c (expr_from_macro_expansion_r): New.
3215 (do_warn_duplicated_branches): New.
3216 (do_warn_duplicated_branches_r): New.
3217 * c.opt (Wduplicated-branches): New option.
3218
0d80ab91
DM
32192017-01-17 David Malcolm <dmalcolm@redhat.com>
3220
3221 PR c++/71497
3222 * c-indentation.c (warn_for_misleading_indentation): Use the past
3223 subjunctive in the note.
3224
7f991c36
AH
32252017-01-17 Aldy Hernandez <aldyh@redhat.com>
3226
3227 PR c/79116
3228 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3229 start type to integer_type.
3230
1c70261c
JJ
32312017-01-16 Jakub Jelinek <jakub@redhat.com>
3232
3233 PR driver/49726
3234 * c.opt (gen-decls): Add Driver flag.
3235
1ddca3f3
PC
32362017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3237
3238 Revert:
3239 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3240
3241 PR c++/71737
3242 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3243
7d2f3f1d
PC
32442017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3245
3246 PR c++/71737
3247 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3248
bce6f760
MS
32492017-01-12 Martin Sebor <msebor@redhat.com>
3250
3251 (-Wformat-overflow): ...to this.
3252
bf5fbf46
MS
32532017-01-11 Martin Sebor <msebor@redhat.com>
3254
3255 PR c/78768
3256 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3257 Also enable for LTO.
3258
e363df3f
JM
32592017-01-10 Jason Merrill <jason@redhat.com>
3260
3261 Implement P0195R2, C++17 variadic using.
3262 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3263
bd2c6270
JJ
32642017-01-09 Jakub Jelinek <jakub@redhat.com>
3265
3266 PR translation/79019
3267 PR translation/79020
3268 * c.opt (Wnormalized=): Fix typo in description.
3269
efcc8d38
MS
32702017-01-08 Martin Sebor <msebor@redhat.com>
3271
3272 PR middle-end/77708
3273 * c.opt (-Wformat-truncation): New option.
3274
ab20d992 32752017-01-06 Alexandre Oliva <aoliva@redhat.com>
435f3f7a
AO
3276
3277 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3278 value to unsigned short to fit in 4 hex digits without
3279 warnings.
3280
4e89adf9
EB
32812017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3282
3283 * c.opt (fsso-struct): Add 'native' value.
3284
cd445b54
ML
32852017-01-05 Martin Liska <mliska@suse.cz>
3286
3287 PR pch/78970
3288 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3289 header.
3290
a9342885
MP
32912017-01-04 Marek Polacek <polacek@redhat.com>
3292
3293 PR c++/64767
3294 * c.opt (Wpointer-compare): New option.
3295
fc73e60c
JJ
32962017-01-04 Jakub Jelinek <jakub@redhat.com>
3297
3298 PR driver/78957
3299 * c.opt (fsso-struct=): Add RejectNegative.
3300
cbe34bb5
JJ
33012017-01-01 Jakub Jelinek <jakub@redhat.com>
3302
3303 Update copyright years.
3304
d4a6c0ea
ML
33052016-12-29 Martin Liska <mliska@suse.cz>
3306
3307 PR c/78933
3308 * c.opt (strong-eval-order): Add RejectNegative keyword.
3309
67a5ad7c
JM
33102016-12-22 Jason Merrill <jason@redhat.com>
3311
3312 Implement P0522R0, matching of template template arguments.
3313 * c-cppbuiltin.c (c_cpp_builtins): Define
3314 __cpp_template_template_args.
3315
0dba7960
JJ
33162016-12-21 Jakub Jelinek <jakub@redhat.com>
3317
3318 PR bootstrap/78817
3319 * c-common.c (struct nonnull_arg_ctx): New type.
3320 (check_function_nonnull): Return bool instead of void. Use
3321 nonnull_arg_ctx as context rather than just location_t.
3322 (check_nonnull_arg): Adjust for the new context type, set
3323 warned_p to true if a warning has been diagnosed.
3324 (check_function_arguments): Return bool instead of void.
3325 * c-common.h (check_function_arguments): Adjust prototype.
3326
31bfc9b9
JM
33272016-12-21 Jason Merrill <jason@redhat.com>
3328
3329 * c.opt (-fnew-ttp-matching): New flag.
3330 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3331
629b3d75
MJ
33322016-12-14 Martin Jambor <mjambor@suse.cz>
3333
3334 * c-omp.c: Include omp-general.h instead of omp-low.h.
3335 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3336 name.
3337
474da67e
MS
33382016-12-14 Martin Sebor <msebor@redhat.com>
3339
3340 PR c/17308
3341 * c-common.c (check_nonnull_arg): Disable when optimization
3342 is enabled.
3343
fe366b87
MP
33442016-12-12 Marek Polacek <polacek@redhat.com>
3345
3346 PR c++/78647
3347 * c-common.c (attribute_fallthrough_p): Return false for
3348 error_mark_node.
3349
8bd9f164
MS
33502016-12-08 Martin Sebor <msebor@redhat.com>
3351
3352 PR c/78284
3353 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3354
060162e0
MS
33552016-12-08 Martin Sebor <msebor@redhat.com>
3356
3357 PR c/78165
92a285c1
ML
3358 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3359 suffix.
060162e0 3360
ee92e7ba
MS
33612016-12-07 Martin Sebor <msebor@redhat.com>
3362
3363 PR c/53562
3364 PR middle-end/77784
3365 PR middle-end/78149
3366 PR middle-end/78138
3367 * c.opt (-Wstringop-overflow): New option.
3368
84b0769e
MO
33692016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3370
3371 * c-attribs.c (asan odr indicator): New attribute.
3372 (handle_asan_odr_indicator_attribute): New function.
3373
7fa6a965
PK
33742016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3375
3376 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3377 ptrdiff_type_node;
3378
56d8ffc1
JG
33792016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3380
3381 * c-common.c (excess_precision_mode_join): New.
3382 (c_ts18661_flt_eval_method): New.
3383 (c_c11_flt_eval_method): Likewise.
3384 (c_flt_eval_method): Likewise.
3385 * c-common.h (excess_precision_mode_join): New.
3386 (c_flt_eval_method): Likewise.
3387 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3388 (cpp_iec_559_value): Call it.
3389 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3390 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3391 __FLT_EVAL_METHOD_TS_18661_3__.
3392
04f0fcf7
JG
33932016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3394
3395 * c-opts.c (c_common_post_options): Add logic to handle the default
3396 case for -fpermitted-flt-eval-methods.
3397
fb2675cb
PB
33982016-11-23 Paolo Bonzini <bonzini@gnu.org>
3399
3400 * c.opt (Wexpansion-to-defined): New.
3401
ec1c5694
JJ
34022016-11-23 Jakub Jelinek <jakub@redhat.com>
3403
3404 PR target/78451
3405 * c-pragma.c (handle_pragma_target): Don't replace
3406 current_target_pragma, but chainon the new args to the current one.
3407
730c9e75
NS
34082016-11-22 Nathan Sidwell <nathan@acm.org>
3409
3410 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 3411 indentation and formatting.
730c9e75 3412
89990732
MS
34132016-11-21 Martin Sebor <msebor@redhat.com>
3414
3415 * c.opt (-fprintf-return-value): Enable by default.
3416
48330c93
BE
34172016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3418
3419 PR c++/71973
3420 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3421 * c-common.c (c_common_nodes_and_builtins): Initialize
3422 const_tm_ptr_type_node.
3423
0d939c95
MP
34242016-11-16 Marek Polacek <polacek@redhat.com>
3425
3426 PR c/78285
3427 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3428
8e745a17
JJ
34292016-11-14 Jakub Jelinek <jakub@redhat.com>
3430
3431 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3432
1ee62b92 34332016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
3434 Richard Biener <rguenther@suse.de>
3435
3436 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3437 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3438 * c.opt (fgimple): New option.
1ee62b92 3439
22b15758
UB
34402016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3441
3442 PR c/35503
3443 * c-common.h (warn_for_restrict): Declare.
3444 * c-warn.c: Include gcc-rich-location.h.
3445 (warn_for_restrict): New function.
3446 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3447 (gcc_cdiag_char_table): Likewise.
3448 (gcc_cxxdiag_char_table): Likewise.
3449 * c.opt (Wrestrict): New option.
3450
4be719cd
EB
34512016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3452
3453 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3454 for nested types only if the type is a record or union and dump SLOC.
3455
4a826ca6
JM
34562016-11-09 Jason Merrill <jason@redhat.com>
3457
3458 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3459
2e955d50
JJ
34602016-11-09 Jakub Jelinek <jakub@redhat.com>
3461
3462 * c-ubsan.c (ubsan_instrument_shift): Handle split
3463 -fsanitize=shift-base and -fsanitize=shift-exponent.
3464
51dc6603
JM
34652016-11-07 Jason Merrill <jason@redhat.com>
3466
3467 * c.opt (Wc++1z-compat): New.
3468 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3469
6dc4a604
ML
34702016-11-07 Martin Liska <mliska@suse.cz>
3471
3472 * c-warn.c (warn_for_unused_label): Save all labels used
3473 in goto or in &label.
3474
b302001e
JM
34752016-11-03 Jason Merrill <jason@redhat.com>
3476
3477 * c-cppbuiltin.c (c_cpp_builtins): Correct
3478 __cpp_inheriting_constructors.
3479
31f7f784
JM
34802016-11-01 Jason Merrill <jason@redhat.com>
3481
2bc78e3c
JM
3482 * c-cppbuiltin.c (c_cpp_builtins): Update
3483 __cpp_inheriting_constructors.
3484
31f7f784
JM
3485 * c.opt (-fnew-inheriting-ctors): New.
3486 * c-opts.c: Default to on for ABI 11+.
3487
dcb466ec
JJ
34882016-10-31 Jakub Jelinek <jakub@redhat.com>
3489
3490 PR c++/77948
3491 * c.opt (fext-numeric-literals): Add Var and Init.
3492 * c-opts.c (c_common_handle_option): Don't clear
3493 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
3494 (c_common_post_options): Clear it here if not set
3495 explicitly.
3496
52e1b91e
AH
34972016-10-28 Aldy Hernandez <aldyh@redhat.com>
3498
3499 PR debug/77773
3500 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
3501 if NULL.
3502
e16f1cc7
JJ
35032016-10-25 Jakub Jelinek <jakub@redhat.com>
3504
3505 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
3506 * c-common.c (c_common_reswords): Add __builtin_launder.
3507
f8348061
BE
35082016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
3509
3510 * c-common.c (c_common_truthvalue_conversion): Warn for
3511 multiplications in boolean context. Fix the quoting of '<<' and '<'
3512 in the shift warning.
3513
eff89e01
BE
35142016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
3515
3516 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
3517
24bc7bf4
JM
35182016-10-20 Jason Merrill <jason@redhat.com>
3519
3520 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
3521
4c712374
BE
35222016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3523
3524 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
3525 integer shift ops in boolean context.
3526
35272016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
3528
3529 * c.opt (Walloca): New.
3530 (Walloca-larger-than=): New.
3531 (Wvla-larger-than=): New.
3532
8fa18c06
MP
35332016-10-17 Marek Polacek <polacek@redhat.com>
3534
3535 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
3536 Return immediately when finding a match.
3537 (warn_tautological_cmp): Remove a boolean variable that is no longer
3538 needed.
3539
b12b1915
MP
35402016-10-17 Marek Polacek <polacek@redhat.com>
3541
3542 * c-attribs.c: New file.
3543 * c-common.c: Move attributes handling to c-attribs.c.
3544 (get_nonnull_operand): No longer static.
3545 * c-common.h: Move the declarations from c-attribs.c to its own section.
3546
2045acd9
JM
35472016-10-14 Jason Merrill <jason@redhat.com>
3548
3549 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
3550 and __cpp_deduction_guides.
3551
14a2c9aa
JM
35522016-10-13 Jason Merrill <jason@redhat.com>
3553
3554 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
3555
4d0cdd0c
TP
35562016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
3557
3558 * c-cppbuiltin.c: Include memmodel.h.
3559 * c-opts.c: Likewise.
3560 * c-pragma.c: Likewise.
3561 * c-warn.c: Likewise.
3562
70f6d5e1
JJ
35632016-10-12 Jakub Jelinek <jakub@redhat.com>
3564
3565 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
3566 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
3567 * c-opts.c (sanitize_cpp_opts): Initialize
3568 cpp_opts->cpp_warn_implicit_fallthrough.
3569
78f61294
MP
35702016-10-11 Marek Polacek <polacek@redhat.com>
3571
3572 * c-common.c (warning_candidate_p): Change the return type to bool
3573 and return true/false instead of 1/0.
3574 (vector_mode_valid_p): Likewise.
3575
038b5cc0
MP
35762016-10-11 Marek Polacek <polacek@redhat.com>
3577
3578 * c-common.c (fold_for_warn): No longer static.
3579 (bool_promoted_to_int_p): Likewise.
3580 (c_common_get_narrower): Likewise.
3581 (constant_expression_warning): Move to c-warn.c.
3582 (constant_expression_error): Likewise.
3583 (overflow_warning): Likewise.
3584 (warn_logical_operator): Likewise.
3585 (find_array_ref_with_const_idx_r): Likewise.
3586 (warn_tautological_cmp): Likewise.
3587 (expr_has_boolean_operands_p): Likewise.
3588 (warn_logical_not_parentheses): Likewise.
3589 (warn_if_unused_value): Likewise.
3590 (strict_aliasing_warning): Likewise.
3591 (sizeof_pointer_memaccess_warning): Likewise.
3592 (check_main_parameter_types): Likewise.
3593 (conversion_warning): Likewise.
3594 (warnings_for_convert_and_check): Likewise.
3595 (match_case_to_enum_1): Likewise.
3596 (match_case_to_enum): Likewise.
3597 (c_do_switch_warnings): Likewise.
3598 (warn_for_omitted_condop): Likewise.
3599 (readonly_error): Likewise.
3600 (lvalue_error): Likewise.
3601 (invalid_indirection_error): Likewise.
3602 (warn_array_subscript_with_type_char): Likewise.
3603 (warn_about_parentheses): Likewise.
3604 (warn_for_unused_label): Likewise.
3605 (warn_for_div_by_zero): Likewise.
3606 (warn_for_memset): Likewise.
3607 (warn_for_sign_compare): Likewise.
3608 (do_warn_double_promotion): Likewise.
3609 (do_warn_unused_parameter): Likewise.
3610 (record_locally_defined_typedef): Likewise.
3611 (maybe_record_typedef_use): Likewise.
3612 (maybe_warn_unused_local_typedefs): Likewise.
3613 (maybe_warn_bool_compare): Likewise.
3614 (maybe_warn_shift_overflow): Likewise.
3615 (warn_duplicated_cond_add_or_warn): Likewise.
3616 (diagnose_mismatched_attributes): Likewise.
3617 * c-common.h: Move the declarations from c-warn.c to its own section.
3618 * c-warn.c: New file.
3619
627be19f
JM
36202016-10-08 Jason Merrill <jason@redhat.com>
3621
3622 * c-common.c (c_common_truthvalue_conversion): Don't distribute
3623 into COND_EXPR in C++.
3624
7bad794a
JJ
36252016-10-08 Jakub Jelinek <jakub@redhat.com>
3626
3627 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
3628 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
3629 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
3630
be845b04
JJ
36312016-10-07 Jakub Jelinek <jakub@redhat.com>
3632
3633 Implement LWG2296 helper intrinsic
3634 * c-common.h (enum rid): Add RID_ADDRESSOF.
3635 * c-common.c (c_common_reswords): Add __builtin_addressof.
3636
c09c4992
BE
36372016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
3638
3639 PR c++/77700
3640 * c-common.c (c_common_truthvalue_conversion): Warn also for
3641 suspicious enum values in boolean context.
3642
342cfb3e
JJ
36432016-10-06 Jakub Jelinek <jakub@redhat.com>
3644
3645 Implement P0258R2 - helper for C++17
3646 std::has_unique_object_representations trait
3647 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
3648 * c-common.c (c_common_reswords): Add
3649 __has_unique_object_representations.
3650
2e69f143
JJ
36512016-10-05 Jakub Jelinek <jakub@redhat.com>
3652
3653 PR sanitizer/66343
3654 * c-ubsan.c (ubsan_instrument_return): Don't call
3655 initialize_sanitizer_builtins here.
3656
700fff34
BE
36572016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3658
3659 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
3660 conditional expression in boolean context when only one arm is
3661 non-boolean.
3662
9563bfcd
JJ
36632016-10-05 Jakub Jelinek <jakub@redhat.com>
3664
04a32443
JJ
3665 PR sanitizer/77823
3666 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
3667 is not integral.
3668
9563bfcd
JJ
3669 * c-common.c (c_common_reswords): Update comment for C++11.
3670
f1644724
JM
36712016-10-04 Jason Merrill <jason@redhat.com>
3672
3673 * c-common.c (make_tree_vector_from_ctor): New.
3674 * c-common.h: Declare it.
3675
5a79befb
JJ
36762016-10-04 Jakub Jelinek <jakub@redhat.com>
3677
3678 * c-cppbuiltin.c (c_cpp_builtins): Don't define
3679 __LIBGCC_JCR_SECTION_NAME__.
3680
1633d3b9
BE
36812016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
3682
3683 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
3684 left shift in boolean context.
3685
a2c6e7f2
JJ
36862016-09-29 Jakub Jelinek <jakub@redhat.com>
3687
3688 Implement P0001R1 - C++17 removal of register storage class specifier
3689 * c.opt (Wregister): New warning.
3690 * c-opts.c (c_common_post_options): Enable -Wregister by
3691 default for C++17.
3692
75304c87
JG
36932016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
3694
3695 * c-opts.c (c_common_post_options): Remove special case for
3696 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
3697 in C++.
3698
bbfac6da
JJ
36992016-09-27 Jakub Jelinek <jakub@redhat.com>
3700
6e39060a
JJ
3701 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
3702 -std=c++1z.
3703
bbfac6da
JJ
3704 * c-ada-spec.c (print_ada_declaration): Remove break after return.
3705
e73cf9a2
TP
37062016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
3707
3708 * c-common.c: Include memmodel.h.
3709
c6147dc4
MP
37102016-09-26 Marek Polacek <polacek@redhat.com>
3711
3712 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
3713
81fea426
MP
37142016-09-26 Marek Polacek <polacek@redhat.com>
3715
3716 PR c/7652
3717 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
3718 (handle_fallthrough_attribute): New function.
3719 (attribute_fallthrough_p): New function.
3720 * c-common.h (attribute_fallthrough_p): Declare.
3721
9a2300e9
MP
37222016-09-24 Marek Polacek <polacek@redhat.com>
3723
3724 PR c/77490
3725 * c.opt (Wbool-operation): New.
3726
a09e9e35
BE
37272016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3728
3729 * c-common.c (c_common_truthvalue_conversion): Inhibit
3730 Wint-in-bool-context warning with from_macro_definition_at.
3731 Mention the expression will always evaluate to true.
3732
d43b4ccc
MS
37332016-09-21 Martin Sebor <msebor@redhat.com>
3734
3735 PR bootstrap/77676
3736 * c.opt (fprintf-return-value): Temporarily initialize to zero
3737 to unblock bootstrap failures.
3738
2e1c20b1
JJ
37392016-09-21 Jakub Jelinek <jakub@redhat.com>
3740
3741 PR c++/77651
3742 * c.opt (Waligned-new=): Add RejectNegative.
3743 (faligned-new=): Likewise. Spelling fix - change
3744 aligned_new_threshhold to aligned_new_threshold.
3745 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
3746 to aligned_new_threshold.
3747
88d0c3f0
MS
37482016-09-20 Martin Sebor <msebor@redhat.com>
3749
3750 PR middle-end/49905
3751 * c.opt: Add -Wformat-length and -fprintf-return-value.
3752
144a96e4
BE
37532016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3754
3755 PR c++/77434
3756 * c.opt (Wint-in-bool-context): New warning.
3757 * c-common.c (c_common_truthvalue_conversion): Warn on integer
3758 constants in boolean context.
3759
63012d9a
JM
37602016-09-19 Joseph Myers <joseph@codesourcery.com>
3761
3762 * c-common.c (max_align_t_align): Also consider alignment of
3763 float128_type_node.
3764
931388ce
JM
37652016-09-15 Jason Merrill <jason@redhat.com>
3766
3767 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
3768 DECL_EXTERNAL.
3769
38711381
JM
37702016-09-14 Jason Merrill <jason@redhat.com>
3771
3772 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3773 limit FIELD_DECL, either.
3774
e51fbec3
MP
37752016-09-14 Marek Polacek <polacek@redhat.com>
3776
3777 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
3778 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
3779 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
3780
254830ba
DM
37812016-09-13 David Malcolm <dmalcolm@redhat.com>
3782
3783 * c-common.c (warn_logical_not_parentheses): Replace
3784 rich_location::add_fixit_insert calls with add_fixit_insert_before
3785 and add_fixit_insert_after, eliminating the "next_loc" calculation.
3786
42763690
JM
37872016-09-13 Jason Merrill <jason@redhat.com>
3788 Tom de Vries <tom@codesourcery.com>
3789
3790 PR c++/77427
3791 * c-common.c (set_underlying_type): Don't treat array as builtin type.
3792
9453eee9
JM
37932016-09-13 Jason Merrill <jason@redhat.com>
3794
3795 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
3796 limit types at all.
3797
e96809e3
JM
37982016-09-12 Jason Merrill <jason@redhat.com>
3799
3800 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
3801 bit/byte confusion, allow large alignment for types.
3802
54dcdb88
BE
38032016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
3804
3805 PR c++/77496
3806 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
3807
d1463eb9
DM
38082016-09-12 David Malcolm <dmalcolm@redhat.com>
3809
3810 PR c/72858
3811 * c-format.c (argument_parser::check_argument_type): Add params
3812 "type_start" and "conversion_char". Use the former to generate
3813 offset_to_type_start and pass it and conversion_char to
3814 check_format_types.
3815 (check_format_info_main): Capture the start of the type
3816 information as "type_start", and pass it an format_char
3817 to arg_parser.check_argument_type.
3818 (check_format_types): Provide an example in the leading comment.
3819 Add params "offset_to_type_start" and "conversion_char"; pass
3820 them to format_type_warning calls.
3821 (test_get_modifier_for_format_len): Likewise.
3822 (matching_type_p): New function.
3823 (get_format_for_type): Add param "conversion_char" and move
3824 implementation into...
3825 (get_format_for_type_1): ...new function, called twice.
3826 Use new function matching_type_p rather than checking for
3827 TYPE_CANONICAL equality.
3828 (get_corrected_substring): New function.
3829 (format_type_warning): Provide an example in the leading comment.
3830 Add params "offset_to_type_start" and "conversion_char". Replace
3831 call to get_format_for_type with call to get_corrected_substring
3832 and move rejection of hints for widths/precisions there.
3833 (assert_format_for_type_streq): Add param "conversion_char".
3834 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
3835 (test_get_format_for_type_printf): Add conversion chars to the
3836 tests, adding coverage for various combinations of integer
3837 vs double conversions, and for preserving octal and hexadecimal
3838 conversions.
3839 (test_get_format_for_type_scanf): Add conversion chars to the
3840 tests.
3841
5b28efbb
TV
38422016-09-10 Tom de Vries <tom@codesourcery.com>
3843
3844 PR C/71602
3845 * c-common.c (build_va_arg): Handle more strict
3846 targetm.canonical_va_list_type. Replace first argument type error with
3847 assert.
3848
3f0177e7
MS
38492016-09-09 Martin Sebor <msebor@redhat.com>
3850
3851 PR c/77520
3852 PR c/77521
3853 * c-format.c (argument_parser::find_format_char_info): Use %qc
3854 format directive unconditionally.
3855
af63ba4b
JM
38562016-09-09 Jason Merrill <jason@redhat.com>
3857
3858 Implement C++17 new of over-aligned types.
3859 * c.opt: Add -faligned-new and -Waligned-new.
3860 * c-common.c (max_align_t_align): Split out from...
3861 (cxx_fundamental_alignment_p): ...here.
3862 * c-common.h: Declare it.
3863 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
3864
c65248cb
JM
38652016-09-09 Joseph Myers <joseph@codesourcery.com>
3866
3867 * c-cppbuiltin.c (builtin_define_type_width): New function.
3868 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
3869 macros.
3870
e5106e27
DM
38712016-09-07 David Malcolm <dmalcolm@redhat.com>
3872
3873 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
3874 a POINTER_TYPE.
3875 (substring_loc::get_location): Move to substring-locations.c,
3876 keeping implementation as...
3877 (c_get_substring_location): New function, from the above, reworked
3878 to use accessors rather than member lookup.
3879 * c-common.h (class substring_loc): Move to substring-locations.h,
3880 replacing with a forward decl.
3881 (c_get_substring_location): New decl.
3882 * c-format.c: Include "substring-locations.h".
3883 (format_warning_va): Move to substring-locations.c.
3884 (format_warning_at_substring): Likewise.
3885
ab20d992 38862016-09-06 Martin Sebor <msebor@redhat.com>
a42e7952
MS
3887
3888 PR c/77336
3889 * c-format.c (check_function_format): Avoid issuing warnings for
3890 functions unless they call format functions with non-constant
3891 format strings.
3892
b772a565
RB
38932016-09-06 Richard Biener <rguenther@suse.de>
3894
3895 PR c/77450
3896 * c-common.c (c_common_mark_addressable_vec): Handle
3897 COMPOUND_LITERAL_EXPR.
3898
25ff5dd3
MP
38992016-09-05 Marek Polacek <polacek@redhat.com>
3900
3901 PR c/77423
3902 * c-common.c (bool_promoted_to_int_p): New function.
3903 (expr_has_boolean_operands_p): New function.
3904 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
3905 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
3906
21234eb5
TV
39072016-09-04 Tom de Vries <tom@codesourcery.com>
3908
3909 revert:
3910 2016-08-29 Tom de Vries <tom@codesourcery.com>
3911
3912 * c-common.c (build_va_arg): Replace first argument type error
3913 with assert.
3914
9dc5773f
JJ
39152016-09-02 Jakub Jelinek <jakub@redhat.com>
3916
3917 PR c/65467
3918 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
3919 (c_finish_omp_for): Reject _Atomic qualified iterators.
3920
39212016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
3922
3923 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
3924 size to guarantee it fits the output of the formatted function
3925 regardless of its arguments.
3926
295844f6
MP
39272016-09-01 Marek Polacek <polacek@redhat.com>
3928
3929 PR c/7652
3930 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
3931 FALLTHRU comments.
3932
3d06b6f2
MP
39332016-08-29 Marek Polacek <polacek@redhat.com>
3934
3935 PR c/77292
3936 * c-common.c (warn_logical_not_parentheses): Don't warn for
3937 a comparison or a logical operator.
3938
34cedad5
TV
39392016-08-29 Tom de Vries <tom@codesourcery.com>
3940
3941 * c-common.c (build_va_arg): Fix type comparison assert.
3942
f162d717
TV
39432016-08-29 Tom de Vries <tom@codesourcery.com>
3944
3945 * c-common.c (build_va_arg): Replace first argument type error
3946 with assert.
3947
ba9bbd6f
TV
39482016-08-29 Tom de Vries <tom@codesourcery.com>
3949
3950 PR c/77398
3951 * c-common.c (build_va_arg): Add first argument error. Build va_arg
3952 with error_mark_node as va_list instead of with illegal va_list.
3953
ebef225f
MP
39542016-08-25 Marek Polacek <polacek@redhat.com>
3955 David Malcolm <dmalcolm@redhat.com>
3956
3957 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
3958 * c-common.h (warn_logical_not_parentheses): Update declaration.
3959
b00e6e75
MP
39602016-08-22 Marek Polacek <polacek@redhat.com>
3961
3962 PR c++/77321
3963 * c-common.c (warn_for_memset): Check type for null.
3964
6dc198e3
JM
39652016-08-22 Joseph Myers <joseph@codesourcery.com>
3966
14ec014e 3967 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
3968 _FloatNx types for suffixes for built-in functions.
3969
c65699ef
JM
39702016-08-19 Joseph Myers <joseph@codesourcery.com>
3971
3972 PR c/32187
3973 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
3974 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
3975 (RID_FLOAT128X): New enum rid values.
3976 (CASE_RID_FLOATN_NX): New macro.
3977 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
3978 keywords.
3979 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
3980 corresponding complex types.
3981 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
3982 _FloatNx and corresponding complex types.
3983 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
3984 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
3985 and _FloatNx types for the widest type for determining
3986 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
3987 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
3988 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
3989 and _FloatNx types.
3990 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
3991 constants.
3992 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
3993 _FloatNx types.
3994
cc015f3a
DM
39952016-08-18 David Malcolm <dmalcolm@redhat.com>
3996
3997 * c-opts.c (c_diagnostic_finalizer): Update for change to
3998 diagnostic_show_locus.
3999
cb18fd07
DM
40002016-08-18 David Malcolm <dmalcolm@redhat.com>
4001
4002 * c-common.c: Include "spellcheck.h".
4003 (cb_get_suggestion): New function.
4004 * c-common.h (cb_get_suggestion): New decl.
4005 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4006 cb_get_suggestion.
4007
a76989dc
MP
40082016-08-18 Marek Polacek <polacek@redhat.com>
4009
4010 PR c/71514
4011 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4012 and pointer-to-VLA.
4013
65e736c0
DM
40142016-08-16 David Malcolm <dmalcolm@redhat.com>
4015
4016 PR c/72857
4017 * c-common.c (substring_loc::get_range): Rename to...
4018 (substring_loc::get_location): ...this, converting param from a
4019 source_range * to a location_t *. Call
4020 get_source_location_for_substring rather than
4021 get_source_range_for_substring, and pass in m_caret_idx.
4022 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4023 (substring_loc::get_range): Replace with...
4024 (substring_loc::get_location): ...this.
4025 (substring_loc::set_caret_index): New method.
4026 (substring_loc): Add field m_caret_idx.
4027 * c-format.c (format_warning_va): Update for above changes.
4028 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4029 clashing with type name.
4030 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4031 (check_argument_type): Likewise.
4032 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4033 Use a copy when emitting warnings, setting the caret index from TYPE.
4034
7e1dde14 40352016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4036 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
4037
4038 * c-ada-spec.c (dump_number): New function.
4039 (handle_escape_character): Likewise.
4040 (print_ada_macros): Add handling of constant integers and strings.
4041
191816a3
MP
40422016-08-12 Marek Polacek <polacek@redhat.com>
4043
4044 PR c/7652
4045 * c-common.c (scalar_to_vector): Adjust fall through comment.
4046 * c-opts.c (c_common_handle_option): Likewise.
4047 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4048 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4049 fall through comment.
4050 * cilk.c (extract_free_variables): Add FALLTHRU.
4051
452df4a4
JM
40522016-08-10 Jason Merrill <jason@redhat.com>
4053
4054 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4055
f3365c12
JM
40562016-08-09 Jason Merrill <jason@redhat.com>
4057
4058 * c-common.c (c_common_attribute_table): vector_size affects type
4059 identity.
4060
f0bc3323
MP
40612016-08-09 Marek Polacek <polacek@redhat.com>
4062
4063 PR c/7652
4064 * c-ada-spec.c (dump_generic_ada_node): Add return.
4065
98e5a19a
JM
40662016-08-09 Jason Merrill <jason@redhat.com>
4067
4068 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4069 C++17 constexpr lambdas.
4070
895aa8e1
DM
40712016-08-08 David Malcolm <dmalcolm@redhat.com>
4072
4073 PR c/64955
4074 * c-common.h (selftest::c_format_c_tests): New declaration.
4075 (selftest::run_c_tests): New declaration.
4076 * c-format.c: Include "selftest.h.
4077 (format_warning_va): Add param "corrected_substring" and use
4078 it to add a replacement fix-it hint.
4079 (format_warning_at_substring): Likewise.
4080 (format_warning_at_char): Update for new param of
4081 format_warning_va.
4082 (argument_parser::check_argument_type): Pass "fki" to
4083 check_format_types.
4084 (check_format_types): Add param "fki" and pass it to
4085 format_type_warning.
4086 (deref_n_times): New function.
4087 (get_modifier_for_format_len): New function.
4088 (selftest::test_get_modifier_for_format_len): New function.
4089 (get_format_for_type): New function.
4090 (format_type_warning): Add param "fki" and use it to attempt
4091 to provide hints for argument types when calling
4092 format_warning_at_substring.
4093 (selftest::get_info): New function.
4094 (selftest::assert_format_for_type_streq): New function.
4095 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4096 (selftest::test_get_format_for_type_printf): New function.
4097 (selftest::test_get_format_for_type_scanf): New function.
4098 (selftest::c_format_c_tests): New function.
4099
e52ed3fe
DM
41002016-08-08 David Malcolm <dmalcolm@redhat.com>
4101
4102 PR c/52952
4103 * c-format.c: Include "diagnostic.h".
4104 (location_column_from_byte_offset): Delete.
4105 (location_from_offset): Delete.
4106 (format_warning_va): New function.
4107 (format_warning_at_substring): New function.
4108 (format_warning_at_char): New function.
4109 (check_format_arg): Capture location of format_tree and pass to
4110 check_format_info_main.
4111 (argument_parser): Add fields "start_of_this_format" and
4112 "format_string_cst".
4113 (flag_chars_t::validate): Add param "format_string_cst". Convert
4114 warning_at call using location_from_offset to call to
4115 format_warning_at_char.
4116 (argument_parser::argument_parser): Add param "format_string_cst_"
4117 and use use it to initialize field "format_string_cst".
4118 Initialize new field "start_of_this_format".
4119 (argument_parser::read_format_flags): Convert warning_at call
4120 using location_from_offset to a call to format_warning_at_char.
4121 (argument_parser::read_any_format_left_precision): Likewise.
4122 (argument_parser::read_any_format_precision): Likewise.
4123 (argument_parser::read_any_other_modifier): Likewise.
4124 (argument_parser::find_format_char_info): Likewise, in three places.
4125 (argument_parser::parse_any_scan_set): Likewise, in one place.
4126 (argument_parser::handle_conversions): Likewise, in two places.
4127 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4128 and use it to make a substring_loc. Pass the latter to
4129 check_format_types.
4130 (check_format_info_main): Add params "fmt_param_loc" and
4131 "format_string_cst". Convert warning_at calls using
4132 location_from_offset to calls to format_warning_at_char. Pass the
4133 new params to the arg_parser ctor. Pass "format_string_cst" to
4134 flag_chars.validate. Pass "fmt_param_loc" to
4135 arg_parser.check_argument_type.
4136 (check_format_types): Convert first param from a location_t
4137 to a const substring_loc & and rename to "fmt_loc". Attempt
4138 to extract the range of the relevant parameter and pass it
4139 to format_type_warning.
4140 (format_type_warning): Convert first param from a location_t
4141 to a const substring_loc & and rename to "fmt_loc". Add
4142 params "param_range" and "type". Replace calls to warning_at
4143 with calls to format_warning_at_substring.
4144
1c4d457e
DM
41452016-08-08 David Malcolm <dmalcolm@redhat.com>
4146
4147 * c-format.c (class flag_chars_t): New class.
4148 (struct length_modifier): New struct.
4149 (class argument_parser): New class.
4150 (flag_chars_t::flag_chars_t): New ctor.
4151 (flag_chars_t::has_char_p): New method.
4152 (flag_chars_t::add_char): New method.
4153 (flag_chars_t::validate): New method.
4154 (flag_chars_t::get_alloc_flag): New method.
4155 (flag_chars_t::assignment_suppression_p): New method.
4156 (argument_parser::argument_parser): New ctor.
4157 (argument_parser::read_any_dollar): New method.
4158 (argument_parser::read_format_flags): New method.
4159 (argument_parser::read_any_format_width): New method.
4160 (argument_parser::read_any_format_left_precision): New method.
4161 (argument_parser::read_any_format_precision): New method.
4162 (argument_parser::handle_alloc_chars): New method.
4163 (argument_parser::read_any_length_modifier): New method.
4164 (argument_parser::read_any_other_modifier): New method.
4165 (argument_parser::find_format_char_info): New method.
4166 (argument_parser::validate_flag_pairs): New method.
4167 (argument_parser::give_y2k_warnings): New method.
4168 (argument_parser::parse_any_scan_set): New method.
4169 (argument_parser::handle_conversions): New method.
4170 (argument_parser::check_argument_type): New method.
4171 (check_format_info_main): Introduce classes argument_parser
4172 and flag_chars_t, moving the code within the loop into methods
4173 of these classes. Make various locals "const".
4174
88fa5555
DM
41752016-08-05 David Malcolm <dmalcolm@redhat.com>
4176
4177 * c-common.c: Include "substring-locations.h".
4178 (get_cpp_ttype_from_string_type): New function.
4179 (g_string_concat_db): New global.
4180 (substring_loc::get_range): New method.
4181 * c-common.h (g_string_concat_db): New declaration.
4182 (class substring_loc): New class.
4183 * c-lex.c (lex_string): When concatenating strings, capture the
4184 locations of all tokens using a new obstack, and record the
4185 concatenation locations within g_string_concat_db.
4186 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4187 on the ggc-heap.
4188
78169471
MP
41892016-07-29 Marek Polacek <polacek@redhat.com>
4190
638fc14f
MP
4191 PR c/71926
4192 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4193 parentheses warning.
4194
78169471
MP
4195 PR c/71574
4196 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4197
1225d6b1
ML
41982016-07-28 Martin Liska <mliska@suse.cz>
4199
4200 PR gcov-profile/68025
4201 * c-common.c (handle_no_profile_instrument_function_attribute):
4202
ec1e2a40
BE
42032016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4204
4205 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4206 BITS_PER_UNIT_LOG.
4207
5ec2cd9f
JM
42082016-07-25 Jason Merrill <jason@redhat.com>
4209
4210 PR c++/65970
4211 * c.opt (fconstexpr-loop-limit): New.
4212
9dc5773f 42132016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
4214
4215 PR c++/71675
4216 * c-common.c (resolve_overloaded_builtin): Avoid converting
4217 __atomic_compare_exchange_n return type to that of what its
4218 first argument points to.
4219
e3fe09c1
UB
42202016-07-22 Uros Bizjak <ubizjak@gmail.com>
4221
4222 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4223 ~(unsigned HOST_WIDE_INT) 0.
4224
bc91c436
ML
42252016-07-22 Martin Liska <mliska@suse.cz>
4226
4227 PR gcov-profile/69028
4228 PR gcov-profile/62047
4229 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4230 to the current_function_decl.
4231
451dcc66
JM
42322016-07-21 Jason Merrill <jason@redhat.com>
4233
4234 PR c++/65168
4235 * c-common.c (c_common_truthvalue_conversion): Check
4236 c_inhibit_evaluation_warnings for warning about address of
4237 reference.
4238
de6a69ee
DM
42392016-07-20 David Malcolm <dmalcolm@redhat.com>
4240
4241 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4242 const char *.
4243
d022c55a
JM
42442016-07-15 Jason Merrill <jason@redhat.com>
4245
4246 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4247
ddbbcb19
JJ
42482016-07-15 Jakub Jelinek <jakub@redhat.com>
4249
4250 PR c/71858
4251 * c-common.h (enum lookup_name_fuzzy_kind): Add
4252 FUZZY_LOOKUP_FUNCTION_NAME.
4253
d0cf395a
JM
42542016-07-08 Jason Merrill <jason@redhat.com>
4255
4256 P0145: Refining Expression Order for C++.
4257 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4258 * c-opts.c: Adjust.
4259
98d44e93
MT
42602016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4261
4262 PR c++/71214
4263 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4264
f9d8d994
TS
42652016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4266
4267 * c-pragma.h (enum pragma_kind): Rename
4268 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4269 users.
4270
4aa83879
RB
42712016-06-29 Richard Biener <rguenther@suse.de>
4272
4273 PR middle-end/71002
4274 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4275
a25bd9e6
JM
42762016-06-24 Jason Merrill <jason@redhat.com>
4277
4278 P0145R2: Refining Expression Order for C++.
4279 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4280 MODIFY_EXPR.
4281
a86451b9
JJ
42822016-06-24 Jakub Jelinek <jakub@redhat.com>
4283
4284 * c-common.c (check_builtin_function_arguments): Require last
4285 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4286 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4287 if the last argument is pointer to enumerated or boolean type.
4288
1a4f11c8
DM
42892016-06-22 David Malcolm <dmalcolm@redhat.com>
4290
4291 PR c/70339
4292 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4293 (lookup_name_fuzzy): New prototype.
4294
fe55692c
JDA
42952016-06-21 John David Anglin <danglin@gcc.gnu.org>
4296
4297 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4298
4eb24e01
JM
42992016-06-14 Jason Merrill <jason@redhat.com>
4300
4301 P0145R2: Refining Expression Order for C++.
4302 * c.opt (fargs-in-order): New.
4303 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4304
ef7cf206
JJ
43052016-06-13 Jakub Jelinek <jakub@redhat.com>
4306
0dda258b
JJ
4307 PR sanitizer/71498
4308 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4309 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4310
ef7cf206
JJ
4311 PR preprocessor/71183
4312 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4313 to cb_get_source_date_epoch.
4314
50b15873
JJ
43152016-06-10 Jakub Jelinek <jakub@redhat.com>
4316
4317 PR c/68657
4318 * c.opt (Wpsabi): Add Warning flag.
4319
4d926e34
MS
43202016-06-10 Martin Sebor <msebor@redhat.com>
4321
4322 PR c/71392
14ec014e 4323 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
4324 the nonnull attribute in type-generic builtins.
4325
e01b4e16
MS
43262016-06-09 Martin Sebor <msebor@redhat.com>
4327
4328 PR c/70883
4329 * c-common.c (builtin_function_validate_nargs): Make text of error
4330 message consistent with others like it.
4331
44a845ca
MS
43322016-06-08 Martin Sebor <msebor@redhat.com>
4333 Jakub Jelinek <jakub@redhat.com>
4334
4335 PR c++/70507
4336 PR c/68120
4337 * c-common.c (check_builtin_function_arguments): Handle
4338 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4339
a80a7051
RB
43402016-06-08 Richard Biener <rguenther@suse.de>
4341
4342 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4343
bfd67b47
RB
43442016-06-07 Richard Biener <rguenther@suse.de>
4345
4346 PR c/61564
4347 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4348 options and warn about others.
4349
15c98b2e
ES
43502016-06-01 Eduard Sanou <dhole@openmailbox.org>
4351
4352 * c-common.c (get_source_date_epoch): Rename to
4353 cb_get_source_date_epoch.
4354 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4355 message when the parsing fails. Use error_at instead of fatal_error.
4356 * c-common.h (get_source_date_epoch): Rename to
4357 cb_get_source_date_epoch.
4358 * c-common.h (cb_get_source_date_epoch): Prototype.
4359 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4360 * c-common.h (c_omp_region_type): Remove trailing comma.
4361 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4362 * c-lex.c (c_lex_with_flags): Remove initialization of
4363 pfile->source_date_epoch.
4364
00631022
JJ
43652016-05-30 Jakub Jelinek <jakub@redhat.com>
4366
4367 PR c++/71349
4368 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4369 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4370 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4371 instead of C_OMP_CLAUSE_SPLIT_FOR.
4372
f17a223d
RB
43732016-05-24 Richard Biener <rguenther@suse.de>
4374
4375 PR middle-end/70434
4376 PR c/69504
4377 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4378 (convert_vector_to_array_for_subscript): ... this.
4379 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4380 VIEW_CONVERT_EXPR to an array type. Rename to ...
4381 (convert_vector_to_array_for_subscript): ... this.
4382
4f2e1536
MP
43832016-05-12 Marek Polacek <polacek@redhat.com>
4384
4385 PR c/70756
4386 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4387 size_in_bytes and pass LOC to it.
4388
d6e83a8d
MM
43892016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4390
4391 PR c/43651
4392 * c.opt (Wduplicate-decl-specifier): New option.
4393
5c3a10fb
MP
43942016-05-11 Marek Polacek <polacek@redhat.com>
4395
4396 PR c++/71024
4397 * c-common.c (diagnose_mismatched_attributes): New function.
4398 * c-common.h (diagnose_mismatched_attributes): Declare.
4399
deef7113
MP
44002016-05-04 Marek Polacek <polacek@redhat.com>
4401
4402 * c.opt (Wdangling-else): New option.
4403
79ce98bc
MP
44042016-05-03 Marek Polacek <polacek@redhat.com>
4405
4406 PR c/70859
4407 * c-common.c (builtin_function_validate_nargs): Add location
4408 parameter. Use it.
4409 (check_builtin_function_arguments): Add location and arguments
4410 parameters. Use them.
4411 * c-common.h (check_builtin_function_arguments): Update declaration.
4412
381cdae4
RB
44132016-05-03 Richard Biener <rguenther@suse.de>
4414
4415 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4416 allow call args to gimplify to SSA names.
4417
1d793c34
MP
44182016-05-03 Marek Polacek <polacek@redhat.com>
4419
4420 * c-common.h (enum c_omp_region_type): Remove stray comma.
4421
77886428
CP
44222016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4423
4424 * c-common.h (enum c_omp_region_type): Define.
4425
697e0b28
RS
44262016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4427
4428 * c-common.c (shorten_compare): Use wi::to_wide.
4429
e7ff0319
CP
44302016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4431
4432 PR middle-end/70626
4433 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4434 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4435 reduction clauses in acc parallel loops.
4436
2fff3db8
MP
44372016-04-29 Marek Polacek <polacek@redhat.com>
4438
4439 PR c/70852
4440 * c-common.c (warn_for_memset): Check domain before accessing it.
4441
509063eb
DV
44422016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4443
4444 PR/69089
4445 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4446 "aligned" attribute.
4447
b632761d
JM
44482016-04-28 Jason Merrill <jason@redhat.com>
4449
4450 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4451
174f6622
ES
44522016-04-28 Eduard Sanou <dhole@openmailbox.org>
4453 Matthias Klose <doko@debian.org>
4454
4455 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 4456 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
4457 handling.
4458 * c-common.h (get_source_date_epoch): Prototype.
4459 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4460
6bc2bb18
RB
44612015-04-27 Ryan Burn <contact@rnburn.com>
4462
4463 PR c++/69024
4464 PR c++/68997
4465 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4466 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4467 external linkage.
4468 (cilk_detect_and_unwrap): Corresponding changes.
4469 (extract_free_variables): Don't extract free variables from
4470 AGGR_INIT_EXPR slot.
4471 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4472 (cilk_recognize_spawn): Likewise.
4473
c1e1f433
BS
44742016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4475
4476 * c.opt (Wmemset-elt-size): New option.
4477 * c-common.c (warn_for_memset): New function.
4478 * c-common.h (warn_for_memset): Declare.
4479
d067e05f
JM
44802016-04-25 Jason Merrill <jason@redhat.com>
4481
4482 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4483 No longer static.
4484 * c-common.h: Declare it.
4485 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4486
9aa36ae5
JM
44872016-04-22 Jason Merrill <jason@redhat.com>
4488
4489 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4490
477d4906
IV
44912016-04-20 Ilya Verbin <ilya.verbin@intel.com>
4492
4493 PR c++/69363
4494 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
4495 * c-common.h (c_finish_cilk_clauses): Remove declaration.
4496
fe37c7af
MM
44972016-04-18 Michael Matz <matz@suse.de>
4498
4499 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
4500 and SET_DECL_ALIGN.
4501
23f2660f
EB
45022016-04-17 Eric Botcazou <ebotcazou@adacore.com>
4503
4504 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
4505 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
4506 to incomplete types.
4507 (dump_nested_type): Remove redundant tests and tidy up.
4508 (print_ada_declaration): Also set TREE_VISITED on the declaration of
4509 a type which is the typedef of an original type.
4510
1e77281b
MP
45112016-04-15 Marek Polacek <polacek@redhat.com>
4512
4513 PR c/70651
4514 * c-common.c (build_va_arg): Change two asserts into errors and return
4515 error_mark_node.
4516
b3a77f21
MP
45172016-04-13 Marek Polacek <polacek@redhat.com>
4518
4519 PR c++/70639
4520 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
4521 for switch statements, too.
4522
322b8466
JM
45232016-03-28 Jason Merrill <jason@redhat.com>
4524
4525 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
4526
fbdb6baf
MP
45272016-03-23 Marek Polacek <polacek@redhat.com>
4528
4529 PR c++/69884
4530 * c.opt (Wignored-attributes): New option.
4531
5c240f4d
DM
45322016-03-22 David Malcolm <dmalcolm@redhat.com>
4533
4534 PR c/69993
4535 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
4536 diagnostic text, reversing the order of the warning and note so
4537 that they appear in source order.
4538
14ba7b28
MP
45392016-03-17 Marek Polacek <polacek@redhat.com>
4540
4541 PR c/69407
4542 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
4543 operations.
4544
08a1cadc
JM
45452016-03-14 Jason Merrill <jason@redhat.com>
4546
2aaeea19
JM
4547 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
4548
08a1cadc
JM
4549 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
4550
c06d25bb
RB
45512016-03-09 Richard Biener <rguenther@suse.de>
4552
4553 PR c/70143
4554 * c-common.c (strict_aliasing_warning): Add back
4555 alias_sets_conflict_p check.
4556
80aac5c8
JM
45572016-03-08 Jason Merrill <jason@redhat.com>
4558
4559 * c-opts.c (set_std_cxx1z): Don't enable concepts.
4560
64b23c13
DM
45612016-03-04 David Malcolm <dmalcolm@redhat.com>
4562
4563 PR c/68187
4564 * c-indentation.c (get_visual_column): Move code to determine next
4565 tab stop to...
4566 (next_tab_stop): ...this new function.
4567 (line_contains_hash_if): Delete function.
4568 (detect_preprocessor_logic): Delete function.
4569 (get_first_nws_vis_column): New function.
4570 (detect_intervening_unindent): New function.
4571 (should_warn_for_misleading_indentation): Replace call to
4572 detect_preprocessor_logic with a call to
4573 detect_intervening_unindent.
4574
729526f5
DM
45752016-03-04 David Malcolm <dmalcolm@redhat.com>
4576
4577 PR c/68187
4578 * c-indentation.c (should_warn_for_misleading_indentation): When
4579 suppressing warnings about cases where the guard and body are on
4580 the same column, only use the first non-whitespace column in place
4581 of the guard token column when dealing with "else" clauses.
4582 When rejecting aligned BODY and NEXT, loosen the requirement
4583 from equality with the first non-whitespace of guard to simply
4584 that they not be indented relative to it.
4585
e9a35493
RB
45862016-03-04 Richard Biener <rguenther@suse.de>
4587
4588 PR c++/70054
4589 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
4590 instead of alias_sets_conflict_p.
4591
1be56bc5
MP
45922016-03-01 Marek Polacek <polacek@redhat.com>
4593
4594 PR c++/69795
4595 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
4596 any DECL.
4597
35886f0b
MS
45982016-02-22 Martin Sebor <msebor@redhat.com>
4599
4600 PR middle-end/69780
4601 * c-common.c (check_builtin_function_arguments): Validate and
4602 reject invalid arguments to __builtin_alloca_with_align.
4603
4246c8da
MW
46042016-02-20 Mark Wielaard <mjw@redhat.com>
4605
4606 PR c/28901
4607 * c.opt (Wunused-const-variable): Turn into Alias for...
4608 (Wunused-const-variable=): New option.
4609
268be88c
BE
46102016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4611
4612 PR c++/69865
4613 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
4614 here...
4615 (c_common_init_options): ...to here.
4616 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
4617
871b3f47
JJ
46182016-02-19 Jakub Jelinek <jakub@redhat.com>
4619
4620 PR c++/69826
4621 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
4622 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
4623 flag_preprocess_only.
4624
bf14eba2
JJ
46252016-02-16 Jakub Jelinek <jakub@redhat.com>
4626
4627 PR c/69835
4628 * c.opt (Wnonnull-compare): Enable for -Wall.
4629
ba6b3795
JJ
46302016-02-15 Jakub Jelinek <jakub@redhat.com>
4631
4632 PR c++/69797
4633 * c-common.c (sync_resolve_size): Diagnose too few arguments
4634 even when params is non-NULL empty vector.
4635
a011cd92
BS
46362016-02-08 Bernd Schmidt <bschmidt@redhat.com>
4637
4638 PR target/60410
4639 * c.opt (fshort-double): Remove.
4640
46cb9332
MS
46412016-02-05 Martin Sebor <msebor@redhat.com>
4642
4643 PR c++/69662
4644 * c.opt (Warning options): Update -Wplacement-new to take
4645 an optional argument.
4646
e1b81f2b
JJ
46472016-02-01 Jakub Jelinek <jakub@redhat.com>
4648
4649 PR preprocessor/69543
4650 PR c/69558
4651 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
4652 instead of loc to control_warning_option.
4653
b6adbb9f
NS
46542016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4655
4656 * c.opt (fopenacc-dim=): New option.
4657
5d70666e
RB
46582016-01-27 Ryan Burn <contact@rnburn.com>
4659
4660 PR cilkplus/69267
4661 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
4662 gimplify_arg. Removed superfluous post_p argument.
4663 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
4664 superfluous post_p argument.
4665 * c-gimplify.c (c_gimplify_expr): Likewise.
4666
01e1dea3
DM
46672016-01-26 David Malcolm <dmalcolm@redhat.com>
4668
4669 PR other/69006
4670 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
4671 pp_newline_and_flush with pp_flush.
4672
9f04a53e
MS
46732016-01-20 Martin Sebor <msebor@redhat.com>
4674
4675 PR c/69405
4676 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
4677 an incompatible argument when the argument isn't a valid tree node.
4678
7f26f7df
JM
46792016-01-18 Jason Merrill <jason@redhat.com>
4680
4681 PR c++/68767
4682 * c-common.c (check_function_arguments_recurse): Fold the whole
4683 COND_EXPR, not just the condition.
4684
f62bf092
TV
46852016-01-18 Tom de Vries <tom@codesourcery.com>
4686
4687 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
4688 classify as loop clause.
4689
e0a575ff
JJ
46902016-01-15 Jakub Jelinek <jakub@redhat.com>
4691
4692 PR bootstrap/68271
4693 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
4694 C++ FE no longer has limit on number of pragmas.
4695
46962015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
4697
4698 PR c++/69048
4699 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 4700 to add missing cleanup point.
b6e3db06 4701
c7df95d8
DM
47022016-01-14 David Malcolm <dmalcolm@redhat.com>
4703
4704 PR c++/68819
4705 * c-indentation.c (get_visual_column): Add location_t param.
4706 Handle the column number being zero by effectively disabling the
4707 warning, with an "inform".
4708 (should_warn_for_misleading_indentation): Add location_t argument
4709 for all uses of get_visual_column.
4710
21efdd80
PP
47112016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
4712
4713 PR c++/69029
4714 * c-indentation.c (should_warn_for_misleading_indentation):
4715 Don't warn about do-while statements.
4716
7a127fa7
MS
47172016-01-07 Martin Sebor <msebor@redhat.com>
4718
4719 PR c/68966
4720 * c-common.c (sync_resolve_size): Reject first argument when it's
4721 a pointer to _Bool.
4722
c589e975
DM
47232016-01-05 David Malcolm <dmalcolm@redhat.com>
4724
4725 PR c/69122
4726 * c-indentation.c (get_visual_column): Remove default argument.
4727 (should_warn_for_misleading_indentation): For the multiline case,
4728 update call to get_visual_column for next_stmt_exploc so that it
4729 captures the location of the first non-whitespace character in the
4730 relevant line. Don't issue warnings if there is non-whitespace
4731 before the next statement.
4732
818ab71a
JJ
47332016-01-04 Jakub Jelinek <jakub@redhat.com>
4734
4735 Update copyright years.
4736
745e411d
DM
47372015-12-21 David Malcolm <dmalcolm@redhat.com>
4738
4739 * c-common.c (binary_op_error): Convert first param from
4740 location_t to rich_location * and use it when emitting an error.
4741 * c-common.h (binary_op_error): Convert first param from
4742 location_t to rich_location *.
4743
de67c4c3
DM
47442015-12-16 David Malcolm <dmalcolm@redhat.com>
4745
4746 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
4747 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
4748
4a38b02b
IV
47492015-12-15 Ilya Verbin <ilya.verbin@intel.com>
4750
4751 * c-common.c (c_common_attribute_table): Handle "omp declare target
4752 link" attribute.
4753
54d62f51
JJ
47542015-12-14 Jakub Jelinek <jakub@redhat.com>
4755
4756 PR c/68833
4757 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
4758
8d4227c8
TB
47592014-12-12 Tobias Burnus <burnus@net-b.de>
4760
4761 PR fortran/68815
4762 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
4763 specifiers (%d, %i,%u and %c).
4764
f6069ccc
DM
47652015-12-10 David Malcolm <dmalcolm@redhat.com>
4766
4767 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
4768
63bbf46d
JJ
47692015-12-08 Jakub Jelinek <jakub@redhat.com>
4770
4771 PR c/48088
4772 PR c/68657
4773 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
4774 * c-pragma.c (handle_pragma_diagnostic): Adjust
4775 control_warning_option caller.
4776
f79520bb
DM
47772015-12-07 David Malcolm <dmalcolm@redhat.com>
4778
4779 * c-common.c (c_cpp_error): Update for change to
4780 rich_location::set_range.
4781
b3d5bc62
JJ
47822015-12-04 Paolo Bonzini <bonzini@gnu.org>
4783
4784 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
4785 shifting 1 out of the sign bit.
4786
47872015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
4788
4789 * c-common.c (c_common_attribute_table[]): Update max arguments
4790 count for "simd" attribute.
4791 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
4792
6eb4a537
JJ
47932015-12-03 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR preprocessor/57580
4796 * c-ppoutput.c (print): Change printed field to bool.
4797 Move src_file last for smaller padding.
4798 (init_pp_output): Set print.printed to false instead of 0.
4799 (scan_translation_unit): Fix up formatting. Set print.printed
4800 to true after printing something other than newline.
4801 (scan_translation_unit_trad): Set print.printed to true instead of 1.
4802 (maybe_print_line_1): Set print.printed to false instead of 0.
4803 (print_line_1): Likewise.
4804 (do_line_change): Set print.printed to true instead of 1.
4805 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
4806 dump_macro): Set print.printed to false after printing newline.
4807
4250754e
JM
48082015-12-02 Jason Merrill <jason@redhat.com>
4809
f479b43d
JM
4810 * c-common.c (fold_for_warn): New.
4811 (warn_logical_operator, warn_tautological_cmp)
4812 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
4813
4250754e
JM
4814 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
4815 (c_fully_fold_internal, decl_constant_value_for_optimization):
4816 Move to c/c-fold.c.
4817 * c-common.h: Don't declare decl_constant_value_for_optimization.
4818
e9e32ee6
JM
48192015-12-02 Joseph Myers <joseph@codesourcery.com>
4820
4821 PR c/68162
4822 * c-common.h (c_build_qualified_type): Add extra default
4823 arguments.
4824
37d5ad46
JB
48252015-12-01 Julian Brown <julian@codesourcery.com>
4826 Cesar Philippidis <cesar@codesourcery.com>
4827 James Norris <James_Norris@mentor.com>
4828
4829 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
4830 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
4831 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
4832
f07862c7
EB
48332015-11-30 Eric Botcazou <ebotcazou@adacore.com>
4834
4835 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
4836 (decl_sloc_common): Delete and move bulk of processing to...
4837 (decl_sloc): ...here.
4838 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
4839 (dump_ada_double_name): Remove S parameter and compute the suffix.
4840 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
4841 element type and deal with an anonymous one.
4842 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
4843 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
4844 and remove reference to QUAL_UNION_TYPE.
4845 (dump_nested_types): Make 2 passes on the fields and move bulk to...
4846 (dump_nested_type): ...here. New function extracted from above.
4847 Generate a full declaration for anonymous element type of arrays.
4848 (print_ada_declaration): Really skip anonymous declarations. Remove
4849 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
4850 Clean up processing of declarations of array types and objects.
4851 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
4852 Remove obsolete code and tidy up.
4853
75c8aac3
JH
48542015-11-29 Jan Hubicka <hubicka@ucw.cz>
4855
4856 PR c/67581
4857 * c-common.c (handle_transparent_union_attribute): Update
4858 also type variants.
4859
b58d3df2
ML
48602015-11-27 Martin Liska <mliska@suse.cz>
4861
4862 PR c++/68312
4863 * array-notation-common.c (cilkplus_extract_an_triplets):
4864 Release vector of vectors.
4865 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
4866
89a01fcf
EB
48672015-11-26 Eric Botcazou <ebotcazou@adacore.com>
4868
4869 PR c++/68527
4870 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
4871 (print_ada_struct_decl): Likewise.
4872
cc5c5226
IZ
48732015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
4874
4875 PR c++/68001
4876 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
4877 * cilk.c (recognize_spawn): Determine location in a more precise
4878 way.
4879
269adb9d
JM
48802015-11-19 Jason Merrill <jason@redhat.com>
4881
4882 * c-common.c (shorten_compare): But look through macros from
4883 system headers.
4884
d0eccfcd
JM
48852015-11-18 Jason Merrill <jason@redhat.com>
4886
4887 * c-common.c (shorten_compare): Don't -Wtype-limits if the
4888 non-constant operand comes from a macro.
4889
3e44547c
JM
48902015-11-17 Jason Merrill <jason@redhat.com>
4891
4892 PR bootstrap/68346
4893 * c-common.c (warn_tautological_cmp): Fold before checking for
4894 constants.
4895
0f62c7a0
MP
48962015-11-16 Marek Polacek <polacek@redhat.com>
4897
4898 PR c++/68362
4899 * c-common.c (check_case_bounds): Fold low and high cases.
4900
a868811e
MP
49012015-11-16 Marek Polacek <polacek@redhat.com>
4902
4903 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
4904 * c-common.c (c_common_get_alias_set): Likewise.
4905 (handle_visibility_attribute): Likewise.
4906
fff77217
KY
49072015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
4908
4909 * c-common.c (handle_simd_attribute): New.
4910 (struct attribute_spec): Add entry for "simd".
4911 (handle_simd_attribute): New.
4912
269e63b7
KT
49132015-11-13 Kai Tietz <ktietz70@googlemail.com>
4914
4915 * c-lex.c (interpret_float): Use fold_convert.
4916
ebedc9a3
DM
49172015-11-13 David Malcolm <dmalcolm@redhat.com>
4918
4919 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
4920 and store it on the result.
4921 * c-opts.c (c_common_init_options): Set
4922 global_dc->colorize_source_p.
4923
6e232ba4
JN
49242015-11-12 James Norris <jnorris@codesourcery.com>
4925 Joseph Myers <joseph@codesourcery.com>
4926
7365279f 4927 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
4928 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
4929 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
4930 PRAGMA_OACC_CLAUSE_LINK.
4931
e78bede6
MP
49322015-11-11 Marek Polacek <polacek@redhat.com>
4933
4934 PR c/68107
4935 PR c++/68266
4936 * c-common.c (valid_array_size_p): New function.
4937 * c-common.h (valid_array_size_p): Declare.
4938
3f8257db 49392015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
4940
4941 PR bootstrap/68271
4942 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
4943
69f293c9
AM
49442015-11-11 Andrew MacLeod <amacleod@redhat.com>
4945
4946 * array-notation-common.c: Remove unused header files.
4947 * c-ada-spec.c: Likewise.
4948 * c-cilkplus.c: Likewise.
4949 * c-common.c: Likewise.
4950 * c-cppbuiltin.c: Likewise.
4951 * c-dump.c: Likewise.
4952 * c-format.c: Likewise.
4953 * c-gimplify.c: Likewise.
4954 * c-indentation.c: Likewise.
4955 * c-lex.c: Likewise.
4956 * c-omp.c: Likewise.
4957 * c-opts.c: Likewise.
4958 * c-pch.c: Likewise.
4959 * c-ppoutput.c: Likewise.
4960 * c-pragma.c: Likewise.
4961 * c-pretty-print.c: Likewise.
4962 * c-semantics.c: Likewise.
4963 * c-ubsan.c: Likewise.
4964 * cilk.c: Likewise.
4965 * stub-objc.c: Likewise.
4966
3a40d81d
NS
49672015-11-09 Thomas Schwinge <thomas@codesourcery.com>
4968 Cesar Philippidis <cesar@codesourcery.com>
4969 James Norris <jnorris@codesourcery.com>
4970 Julian Brown <julian@codesourcery.com>
4971 Nathan Sidwell <nathan@codesourcery.com>
4972
4973 * c-pragma.c (oacc_pragmas): Add "routine".
4974 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
4975
ee45a32d
EB
49762015-11-08 Eric Botcazou <ebotcazou@adacore.com>
4977
4978 * c-common.c (c_common_attributes): Add scalar_storage_order.
4979 (handle_scalar_storage_order_attribute): New function.
4980 * c-pragma.c (global_sso): New variable.
4981 (maybe_apply_pragma_scalar_storage_order): New function.
4982 (handle_pragma_scalar_storage_order): Likewise.
4983 (init_pragma): Register scalar_storage_order.
4984 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
4985 * c.opt (Wscalar-storage-order): New warning.
4986 (fsso-struct=): New option.
4987
eb11eb15
MS
49882015-11-08 Martin Sebor <msebor@redhat.com>
4989
4990 * c.opt (Wplacement-new): Add a period to the end of a sentence.
4991
0aad0198
RS
49922015-11-07 Richard Sandiford <richard.sandiford@arm.com>
4993
4994 * c-common.c: Don't undef DEF_BUILTIN.
4995
8a645150
DM
49962015-11-06 David Malcolm <dmalcolm@redhat.com>
4997
4998 * c-common.c (c_cpp_error): Convert parameter from location_t to
4999 rich_location *. Eliminate the "column_override" parameter and
5000 the call to diagnostic_override_column.
5001 Update the "done_lexing" clause to set range 0
5002 on the rich_location, rather than overwriting a location_t.
5003 * c-common.h (c_cpp_error): Convert parameter from location_t to
5004 rich_location *. Eliminate the "column_override" parameter.
5005
7a5e4956
CP
50062015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5007 Thomas Schwinge <thomas@codesourcery.com>
5008 James Norris <jnorris@codesourcery.com>
5009
5010 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5011 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5012 clauses with parallel and kernels and loops.
5013 * c-pragma.h (enum pragma_omp_clause): Add entries for
5014 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5015 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5016 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5017 INDEPENDENT,SEQ}.
5018 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5019
e2f5cc96
MS
50202015-11-05 Martin Sebor <msebor@redhat.com>
5021
5022 PR c++/67942
5023 * c.opt (-Wplacement-new): New option.
5024
e01d41e5
JJ
50252015-11-05 Jakub Jelinek <jakub@redhat.com>
5026
5027 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5028 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5029 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5030 save_expr or create_tmp_var* if TEST is true.
5031 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5032 Don't call add_stmt here.
5033 (struct c_omp_check_loop_iv_data): New type.
5034 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5035 c_omp_check_loop_iv_exprs): New functions.
5036 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5037 distribute.
5038 (c_omp_declare_simd_clauses_to_numbers): Change
5039 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5040 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5041 from numbers to PARM_DECLs.
5042
595278be
MM
50432015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5044
5045 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5046 flag_checking.
5047
3f8257db 50482015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
5049
5050 PR c++-common/67882
b3d5bc62
JJ
5051 * c-common.h (fold_offsetof_1): Add argument.
5052 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
5053 offsetof expressions that reference elements past the end of
5054 an array.
5055
4bf9e5a8
TS
50562015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5057 Chung-Lin Tang <cltang@codesourcery.com>
5058
5059 * c-pragma.c (oacc_pragmas): Add "atomic".
5060 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5061
3b1661a9
ES
50622015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5063
5064 * c-common.c (handle_target_clones_attribute): New.
5065 (c_common_attribute_table): Add handle_target_clones_attribute.
5066 (handle_always_inline_attribute): Add check on target_clones attribute.
5067 (handle_target_attribute): Ditto.
5068
2adfab87
AM
50692015-10-29 Andrew MacLeod <amacleod@redhat.com>
5070
5071 * array-notation-common.c: Reorder #include's and remove duplicates.
5072 * c-ada-spec.c: Likewise.
5073 * c-cilkplus.c: Likewise.
5074 * c-common.c: Likewise.
5075 * c-cppbuiltin.c: Likewise.
5076 * c-dump.c: Likewise.
5077 * c-format.c: Likewise.
5078 * c-gimplify.c: Likewise.
5079 * c-indentation.c: Likewise.
5080 * c-lex.c: Likewise.
5081 * c-omp.c: Likewise.
5082 * c-opts.c: Likewise.
5083 * c-pch.c: Likewise.
5084 * c-ppoutput.c: Likewise.
5085 * c-pragma.c: Likewise.
5086 * c-pretty-print.c: Likewise.
5087 * c-semantics.c: Likewise.
5088 * c-ubsan.c: Likewise.
5089 * cilk.c: Likewise.
5090 * stub-objc.c: Likewise.
5091
d90ec4f2
JM
50922015-10-28 Jason Merrill <jason@redhat.com>
5093
5094 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5095
88bae6f4
TS
50962015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5097 James Norris <jnorris@codesourcery.com>
5098 Cesar Philippidis <cesar@codesourcery.com>
5099
5100 PR c/64765
5101 PR c/64880
5102 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5103 * c-omp.c (c_oacc_split_loop_clauses): New function.
5104
b1726d6c
MS
51052015-10-21 Martin Sebor <msebor@redhat.com>
5106
5107 PR driver/68043
5108 * c.opt: End each sentence that describes an option with a period.
5109
fa60eeb9
MP
51102015-10-20 Marek Polacek <polacek@redhat.com>
5111
5112 * array-notation-common.c (is_cilkplus_vector_p): Define.
5113 * c-common.h (is_cilkplus_vector_p): Declare.
5114
95979049
MP
51152015-10-20 Marek Polacek <polacek@redhat.com>
5116
5117 * c.opt (std=gnu++11): Do not describe as experimental.
5118 (std=gnu++14): Likewise.
5119
2a9fb712
JM
51202015-10-19 Jason Merrill <jason@redhat.com>
5121
5122 * c-cppbuiltin.c (c_cpp_builtins): Define
5123 __cpp_nontype_template_args.
5124
13b380a3
JM
51252015-10-19 Jason Merrill <jason@redhat.com>
5126
5127 * c-cppbuiltin.c (c_cpp_builtins): Define
5128 __cpp_enumerator_attributes, __cpp_fold_expressions,
5129 __cpp_unicode_characters.
5130
d9a6bd32
JJ
51312015-10-13 Jakub Jelinek <jakub@redhat.com>
5132 Aldy Hernandez <aldyh@redhat.com>
5133
5134 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5135 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5136 (c_define_builtins): Likewise.
5137 * c-common.h (enum c_omp_clause_split): Add
5138 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5139 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5140 (c_finish_omp_for): Add ORIG_DECLV argument.
5141 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5142 201511 instead of 201307.
5143 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5144 OMP_CRITICAL_CLAUSES to it.
5145 (c_finish_omp_ordered): Add CLAUSES argument, set
5146 OMP_ORDERED_CLAUSES to it.
5147 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5148 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5149 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5150 constructs and new OpenMP 4.5 clauses. Clear
5151 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5152 verification code.
5153 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5154 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5155 (enum pragma_omp_clause): Add
5156 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5157 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5158
624d31fe
RS
51592015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5160
5161 * c-lex.c (interpret_float): Use real_equal instead of
5162 REAL_VALUES_EQUAL.
5163
b8fd7909
JM
51642015-10-04 Jason Merrill <jason@redhat.com>
5165
5166 Implement N4514, C++ Extensions for Transactional Memory.
5167 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5168 (c_common_attribute_table): Add transaction_safe_dynamic.
5169 transaction_safe now affects type identity.
5170 (handle_tm_attribute): Handle transaction_safe_dynamic.
5171 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5172 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5173 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5174 (D_TRANSMEM): New.
5175 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5176 * c-pretty-print.c (pp_c_attributes_display): Don't print
5177 transaction_safe in C++.
5178
12651878
MP
51792015-10-02 Marek Polacek <polacek@redhat.com>
5180
5181 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5182
3e3b8d63
MP
51832015-10-02 Marek Polacek <polacek@redhat.com>
5184
5185 PR c/64249
5186 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5187 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5188 * c.opt (Wduplicated-cond): New option.
5189
0d1a8f75
JM
51902015-10-01 Joseph Myers <joseph@codesourcery.com>
5191
5192 * c.opt (std=c11): Do not describe as experimental.
5193 (std=gnu11): Likewise.
5194 (std=iso9899:2011): Likewise.
5195
3e32ee19
NS
51962015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5197
5198 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5199 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5200
974348ee
MP
52012015-09-25 Marek Polacek <polacek@redhat.com>
5202
5203 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5204 (ubsan_instrument_shift): Likewise.
5205
15dbc1a6
MP
52062015-09-25 Marek Polacek <polacek@redhat.com>
5207
5208 PR sanitizer/64906
5209 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5210
6b95d7cc
PP
52112015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5212
5213 * c-indentation.c (should_warn_for_misleading_indentation):
5214 Compare next_stmt_vis_column with guard_line_first_nws instead
5215 of with guard_line_vis_column.
5216
c1822f9c
MLI
52172015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5218
5219 PR c/49654
5220 PR c/49655
5221 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5222 options and options not valid for the current language.
5223
d5398058
PP
52242015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5225
5226 * c-indentation.c (should_warn_for_misleading_indentation):
5227 Float out and consolidate the calls to get_visual_column that
5228 are passed guard_exploc as an argument. Compare
5229 next_stmt_vis_column with guard_line_first_nws instead of with
5230 body_line_first_nws.
5231
6b333269
NS
52322015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5233
5234 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5235 Wnamespaces): New C++ warnings.
5236
a75f1574
JM
52372015-09-22 Jason Merrill <jason@redhat.com>
5238
5239 * c-common.h (abi_compat_version_crosses): New.
5240 (warn_abi_version): Declare.
5241 * c-common.c: Define it.
5242 * c-opts.c (c_common_post_options): Handle it.
5243 flag_abi_compat_version defaults to 8.
5244
bdaaa8b7
VV
52452015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5246
5247 Complete the implementation of N4230, Nested namespace definition.
5248 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5249 __cpp_nested_namespace_definitions.
5250
eaa797e8
MLI
52512015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5252
5253 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5254
c4914de6
MLI
52552015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5256
5257 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5258 when warning.
5259 * c-pragma.h (pragma_lex): Add optional loc argument.
5260
fcb87c50
MM
52612015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5262
5263 * c-format.c (check_format_arg): Adjust to use common block size in all
5264 object pools.
5265
31bdd08a
DM
52662015-09-15 David Malcolm <dmalcolm@redhat.com>
5267
5268 * c-format.c (location_from_offset): Update for change in
5269 signature of location_get_source_line.
5270 * c-indentation.c (get_visual_column): Likewise.
5271 (line_contains_hash_if): Likewise.
5272
aa9f4b4c
MP
52732015-09-14 Marek Polacek <polacek@redhat.com>
5274
5275 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5276 setting various warnings.
5277
aa256c4a
MP
52782015-09-14 Marek Polacek <polacek@redhat.com>
5279
5280 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5281 a negative value.
5282
0f876f22
MW
52832015-09-11 Mark Wielaard <mjw@redhat.com>
5284
5285 PR c/28901
5286 * c.opt (Wunused-variable): Option from common.opt.
5287 (Wunused-const-variable): New option.
5288
273aa49e
PC
52892015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5290
5291 PR c++/53184
5292 * c.opt ([Wsubobject-linkage]): Add.
5293
1807ffc1
MS
52942015-09-03 Martin Sebor <msebor@redhat.com>
5295
5296 PR c/66516
5297 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5298 functions.
5299 * c-common.c (reject_gcc_builtin): Define.
5300
38942840
BI
53012015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5302
5303 PR middle-end/60586
5304 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5305 prototype.
5306 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5307 cilk_gimplify_call_params_in_spawned_fn.
5308 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5309 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5310 unwrapping.
5311
c316b5e4
MP
53122015-08-25 Marek Polacek <polacek@redhat.com>
5313
5314 PR middle-end/67330
5315 * c-common.c (handle_weak_attribute): Don't check whether the
5316 visibility can be changed here.
5317
584a7c46
MLI
53182015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5319
5320 * c-lex.c (c_lex_with_flags): Use explicit locations.
5321
a79683d5
TS
53222015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5323
5324 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5325 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5326
61717a45
FXC
53272015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5328
5329 PR middle-end/36757
5330 * c-common.c (check_builtin_function_arguments): Add check
5331 for BUILT_IN_SIGNBIT argument.
5332
329524f5
PC
53332015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5334
5335 PR c++/67160
5336 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5337 in c++1z mode.
5338
4ee55665
MP
53392015-08-17 Marek Polacek <polacek@redhat.com>
5340
5341 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5342 with whitespaces before qualifier names.
5343
b893e375
MP
53442015-08-12 Marek Polacek <polacek@redhat.com>
5345
5346 PR c++/55095
5347 * c-common.c (maybe_warn_shift_overflow): Properly handle
5348 left-shifting 1 into the sign bit.
5349
c2d89095
MLI
53502015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5351
5352 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5353
971e17ff
AS
53542015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5355 Braden Obrzut <admin@maniacsvault.net>
5356 Jason Merrill <jason@redhat.com>
5357
5358 Add C++ Concepts TS support.
5359 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5360 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5361 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5362 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5363 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5364 * c.opt (fconcepts): New.
5365
b3d5bc62
JJ
53662015-08-02 Martin Sebor <msebor@redhat.com>
5367
5368 * c.opt (-Wframe-address): New warning option.
5369
8ebca419
PP
53702015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5371
5372 * c-indentation.c (should_warn_for_misleading_indentation):
5373 Improve heuristics.
5374
1a1e101f
PP
53752015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5376
5377 * c-indentation.c (get_visual_column): Add parameter first_nws,
5378 use it. Update comment documenting the function.
5379 (is_first_nonwhitespace_on_line): Remove.
5380 (should_warn_for_misleading_indentation): Replace usage of
5381 of is_first_nonwhitespace_on_line with get_visual_column.
5382
992118a1
PP
53832015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5384
5385 * c-indentation.h (struct token_indent_info): Define.
5386 (get_token_indent_info): Define.
5387 (warn_for_misleading_information): Declare.
5388 * c-common.h (warn_for_misleading_information): Remove.
5389 * c-identation.c (warn_for_misleading_indentation):
5390 Change declaration to take three token_indent_infos. Adjust
5391 accordingly.
5392 * c-identation.c (should_warn_for_misleading_indentation):
5393 Likewise. Bail out early if the body is a compound statement.
5394 (guard_tinfo_to_string): Define.
5395
e8fa3817
JM
53962015-07-30 Jason Merrill <jason@redhat.com>
5397
5398 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5399 '*' for reference decay.
5400
173864e8
MP
54012015-07-30 Marek Polacek <polacek@redhat.com>
5402
5403 * c-common.c (warn_tautological_cmp): Bail for float types.
5404
f2afe6dd
MP
54052015-07-27 Marek Polacek <polacek@redhat.com>
5406
5407 PR bootstrap/67030
5408 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5409
05b28fd6
MP
54102015-07-27 Marek Polacek <polacek@redhat.com>
5411
5412 PR c++/66555
5413 PR c/54979
5414 * c-common.c (find_array_ref_with_const_idx_r): New function.
5415 (warn_tautological_cmp): New function.
5416 * c-common.h (warn_tautological_cmp): Declare.
5417 * c.opt (Wtautological-compare): New option.
5418
5a5062b8
MP
54192015-07-23 Marek Polacek <polacek@redhat.com>
5420
5421 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5422 (ubsan_instrument_shift): Likewise.
5423
dc891fe7
MP
54242015-07-23 Marek Polacek <polacek@redhat.com>
5425
5426 PR sanitizer/66908
5427 * c-ubsan.c: Include gimplify.h.
5428 (ubsan_instrument_division): Unshare OP0 and OP1.
5429 (ubsan_instrument_shift): Likewise.
5430
451b5e48
MP
54312015-07-20 Marek Polacek <polacek@redhat.com>
5432 Richard Sandiford <richard.sandiford@arm.com>
5433
5434 PR c++/55095
5435 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5436 Use EXPR_LOC_OR_LOC.
5437 (maybe_warn_shift_overflow): New function.
5438 * c-common.h (maybe_warn_shift_overflow): Declare.
5439 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5440 * c.opt (Wshift-overflow): New option.
5441
fb0b2914
ML
54422015-07-16 Martin Liska <mliska@suse.cz>
5443
5444 * c-format.c (static void check_format_info_main): Use
5445 object_allocator instead of pool_allocator.
5446 (check_format_arg): Likewise.
5447 (check_format_info_main): Likewise.
5448
903f5c23
AM
54492015-07-15 Andrew MacLeod <amacleod@redhat.com>
5450
5451 * c-opts.c: Remove multiline #include comment.
5452
026c3cfd
AH
54532015-07-12 Aldy Hernandez <aldyh@redhat.com>
5454
5455 * c-common.c: Fix double word typos.
5456
bb49ee66
EB
54572015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5458
5459 * c-ada-spec.h (cpp_operation): Revert latest change.
5460 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5461 constructors and destructors.
5462
1916bcb5
AM
54632015-07-09 Andrew MacLeod <amacleod@redhat.com>
5464
5465 * c-common.h: Adjust includes for flags.h changes.
5466 * stub-objc.c: Likewise.
026c3cfd 5467
a9dcd529
EB
54682015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5469
5470 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5471 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5472
b03b462f
JJ
54732015-07-08 Jakub Jelinek <jakub@redhat.com>
5474
5475 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5476 are to be removed, return NULL rather than original clauses list.
5477
c7131fb2
AM
54782015-07-07 Andrew MacLeod <amacleod@redhat.com>
5479
5480 * array-notation-common.c: Adjust includes.
5481 * c-ada-spec.c: Likewise.
5482 * c-cilkplus.c: Likewise.
5483 * c-common.h: Likewise.
5484 * c-cppbuiltin.c: Likewise.
5485 * c-dump.c: Likewise.
5486 * c-format.c: Likewise.
5487 * c-gimplify.c: Likewise.
5488 * c-indentation.c: Likewise.
5489 * c-lex.c: Likewise.
5490 * c-omp.c: Likewise.
5491 * c-opts.c: Likewise.
5492 * c-pch.c: Likewise.
5493 * c-ppoutput.c: Likewise.
5494 * c-pragma.c: Likewise.
5495 * c-pretty-print.c: Likewise.
5496 * c-semantics.c: Likewise.
5497 * c-ubsan.c: Likewise.
5498 * cilk.c: Likewise.
5499 * stub-objc.c: Likewise.
5500
2a7fb83f
EB
55012015-07-07 Eric Botcazou <ebotcazou@adacore.com>
5502
5503 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
5504 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
5505
a03c9bf1
JM
55062015-07-01 Jason Merrill <jason@redhat.com>
5507
36a85135
JM
5508 * c-common.h (D_CXX11): Rename from D_CXX0X.
5509 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
5510 * c-common.c: Adjust.
5511
e7fa68d5
JM
5512 * c-opts.c (c_common_post_options): Default to C++14.
5513
a03c9bf1
JM
5514 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
5515
fe95b036
ESR
55162015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
5517
5518 Implement N4197 - Adding u8 character literals
b3d5bc62 5519 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 5520 CPP_CHAR.
b3d5bc62 5521 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 5522 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 5523 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
5524 and CPP_UTF8CHAR tokens.
5525 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 5526
da2e71c9
MLI
55272015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5528
5529 PR fortran/66605
5530 * c-common.c (do_warn_unused_parameter): Move here.
5531 * c-common.h (do_warn_unused_parameter): Declare.
5532
b155cfd9
MP
55332015-06-29 Marek Polacek <polacek@redhat.com>
5534
5535 PR c/66322
5536 * c-common.c (check_case_bounds): Add bool * parameter. Set
5537 OUTSIDE_RANGE_P.
5538 (c_add_case_label): Add bool * parameter. Pass it down to
5539 check_case_bounds.
5540 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
5541 warning here.
5542 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
5543 declarations.
5544
31521951
MP
55452015-06-27 Marek Polacek <polacek@redhat.com>
5546
5547 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
5548 or VECTOR_INTEGER_TYPE_P throughout.
5549 * c-gimplify.c: Likewise.
5550
22d03525
MP
55512015-06-26 Marek Polacek <polacek@redhat.com>
5552
5553 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
5554 * c-common.c (c_fully_fold_internal): Likewise.
5555 (c_alignof_expr): Likewise.
5556 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
5557 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 5558 * cilk.c (create_parm_list): Likewise.
22d03525 5559
af05e6e5
MP
55602015-06-26 Marek Polacek <polacek@redhat.com>
5561
5562 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
5563
f0889939
AM
55642015-06-25 Andrew MacLeod <amacleod@redhat.com>
5565
5566 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
5567 * c-gimplify.c: Likewise.
5568 * c-pragma.c: Likewise.
5569 * c-ubsan.c: Likewise.
5570 * cilk.c: Likewise.
5571
ca752f39
RS
55722015-06-25 Richard Sandiford <richard.sandiford@arm.com>
5573
5574 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
5575 ggc_hasher.
5576
16a16ec7
AM
55772015-06-25 Andrew MacLeod <amacleod@redhat.com>
5578
5579 * cilk.c: Move calls.h after tm.h in the include chain.
5580
0ae9bd27
MP
55812015-06-25 Marek Polacek <polacek@redhat.com>
5582
5583 * array-notation-common.c: Use VAR_P throughout.
5584 * c-ada-spec.c: Likewise.
5585 * c-common.c: Likewise.
5586 * c-format.c: Likewise.
5587 * c-gimplify.c: Likewise.
5588 * c-omp.c: Likewise.
5589 * c-pragma.c: Likewise.
5590 * c-pretty-print.c: Likewise.
5591 * cilk.c: Likewise.
5592
62f9079a
MP
55932015-06-25 Marek Polacek <polacek@redhat.com>
5594
5595 * cilk.c (extract_free_variables): Use is_global_var.
5596
0fa16060
RS
55972015-06-23 Richard Sandiford <richard.sandiford@arm.com>
5598
5599 * c-common.c: Don't include target-def.h.
5600
a68ae2e1
MP
56012015-06-23 Marek Polacek <polacek@redhat.com>
5602
5603 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
5604 when comparing INTEGER_CSTs.
5605
c6a2f2d9
PMR
56062015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
5607
5608 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
5609 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
5610 (dump_ada_template): Skip partially specialized types.
5611
6b4db501
MM
56122015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
5613
5614 * c-common.c (scalar_to_vector): Use std::swap instead of manually
5615 swapping.
5616
abb226c9
AM
56172015-06-17 Andrew MacLeod <amacleod@redhat.com>
5618
5619 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
5620 * c-ada-spec.c: Likewise.
5621 * c-cilkplus.c: Likewise.
5622 * c-common.c: Likewise.
5623 * c-common.h: Likewise.
5624 * c-cppbuiltin.c: Likewise.
5625 * c-dump.c: Likewise.
5626 * c-format.c: Likewise.
5627 * c-gimplify.c: Likewise.
5628 * c-indentation.c: Likewise.
5629 * c-lex.c: Likewise.
5630 * c-omp.c: Likewise.
5631 * c-opts.c: Likewise.
5632 * c-pch.c: Likewise.
5633 * c-ppoutput.c: Likewise.
5634 * c-pragma.c: Likewise.
5635 * c-pretty-print.c: Likewise.
5636 * c-semantics.c: Likewise.
5637 * c-ubsan.c: Likewise.
5638 * cilk.c: Likewise.
5639 * stub-objc.c: Likewise.
5640
076fecad
PP
56412015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
5642
5643 PR c++/65168
5644 * c-common.c (c_common_truthvalue_conversion): Warn when
5645 converting an address of a reference to a truth value.
5646
13fdf2e2
AM
56472015-06-08 Andrew MacLeod <amacleod@redhat.com>
5648
5649 * array-notation-common.c : Adjust include files.
5650 * c-ada-spec.c : Likewise.
5651 * c-cilkplus.c : Likewise.
5652 * c-common.c : Likewise.
5653 * c-common.h : Likewise.
5654 * c-cppbuiltin.c : Likewise.
5655 * c-dump.c : Likewise.
5656 * c-format.c : Likewise.
5657 * c-gimplify.c : Likewise.
5658 * c-indentation.c : Likewise.
5659 * c-lex.c : Likewise.
5660 * c-omp.c : Likewise.
5661 * c-opts.c : Likewise.
5662 * c-pch.c : Likewise.
5663 * c-ppoutput.c : Likewise.
5664 * c-pragma.c : Likewise.
5665 * c-pretty-print.c : Likewise.
5666 * c-semantics.c : Likewise.
5667 * c-ubsan.c : Likewise.
5668 * cilk.c : Likewise.
5669 * stub-objc.c : Likewise.
5670
a1661b90
MP
56712015-06-08 Marek Polacek <polacek@redhat.com>
5672
5673 PR c/66415
5674 * c-format.c (location_from_offset): Return LOC if LINE is null.
5675
d7438551
AH
56762015-06-05 Aldy Hernandez <aldyh@redhat.com>
5677
5678 * c-common.h (c_parse_final_cleanups): New prototype.
5679 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
5680
b3d5bc62
JJ
56812015-06-04 Sriraman Tallam <tmsriram@google.com>
5682
5683 * c-common.c (noplt): New attribute.
5684 (handle_noplt_attribute): New handler.
5685
ecb9f223
AM
56862015-06-04 Andrew MacLeod <amacleod@redhat.com>
5687
5688 * array-notation-common.c: Adjust includes for restructured coretypes.h.
5689 * c-ada-spec.c: Likewise.
5690 * c-cilkplus.c: Likewise.
5691 * c-common.c: Likewise.
5692 * c-common.h: Likewise.
5693 * c-cppbuiltin.c: Likewise.
5694 * c-dump.c: Likewise.
5695 * c-format.c: Likewise.
5696 * c-gimplify.c: Likewise.
5697 * c-indentation.c: Likewise.
5698 * c-lex.c: Likewise.
5699 * c-omp.c: Likewise.
5700 * c-opts.c: Likewise.
5701 * c-pch.c: Likewise.
5702 * c-ppoutput.c: Likewise.
5703 * c-pragma.c: Likewise.
5704 * c-pretty-print.c: Likewise.
5705 * c-semantics.c: Likewise.
5706 * c-ubsan.c: Likewise.
5707 * cilk.c: Likewise.
5708 * stub-objc.c: Likewise.
5709
6ac48155
DM
57102015-06-02 David Malcolm <dmalcolm@redhat.com>
5711
5712 PR c/66220:
5713 * c-indentation.c (should_warn_for_misleading_indentation): Use
5714 expand_location rather than expand_location_to_spelling_point.
5715 Don't warn if the guarding statement is more indented than the
5716 next/body stmts.
5717
773ce42e
DM
57182015-06-02 David Malcolm <dmalcolm@redhat.com>
5719
5720 * c-indentation.c (warn_for_misleading_indentation): Bail out
5721 immediately if -Wmisleading-indentation isn't enabled.
5722
4fef8379
ML
57232015-06-01 Martin Liska <mliska@suse.cz>
5724
5725 * c-format.c (check_format_arg):Use new type-based pool allocator.
5726 (check_format_info_main) Likewise.
5727
1edfb384
EB
57282015-05-31 Eric Botcazou <ebotcazou@adacore.com>
5729
5730 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
5731 (has_nontrivial_methods): Likewise.
5732
9677ef52
MP
57332015-05-25 Marek Polacek <polacek@redhat.com>
5734
5735 * c-ubsan.c (ubsan_instrument_shift): Use type0.
5736
fd5c817a
MP
57372015-05-22 Marek Polacek <polacek@redhat.com>
5738
5739 PR c/47043
5740 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
5741
a2f45fe6 57422015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
5743
5744 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
5745 STACK_GROWS_DOWNWARD.
5746
a2f45fe6 57472015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
5748
5749 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
5750 STACK_GROWS_DOWNWARD rather than if it is defined.
5751
0fee2ac2 57522015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 5753
0fee2ac2
MLI
5754 PR c/52952
5755 * c-format.c (location_column_from_byte_offset): New.
5756 (location_from_offset): New.
5757 (struct format_wanted_type): Add offset_loc field.
5758 (check_format_info): Move handling of location for extra arguments
5759 closer to the point of warning.
5760 (check_format_info_main): Pass the result of location_from_offset
5761 to warning_at.
5762 (format_type_warning): Pass the result of location_from_offset
5763 to warning_at.
5764
cf4ef6f7
MP
57652015-05-20 Marek Polacek <polacek@redhat.com>
5766
5767 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
5768
3a65ee74
MP
57692015-05-20 Marek Polacek <polacek@redhat.com>
5770
5771 * c-ada-spec.c (dump_sloc): Use DECL_P.
5772
21b634ae
MP
57732015-05-20 Marek Polacek <polacek@redhat.com>
5774
5775 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
5776 * c-common.c: Likewise.
5777
0e50b624
DM
57782015-05-19 David Malcolm <dmalcolm@redhat.com>
5779
5780 * c-common.h (fe_file_change): Strengthen param from
5781 const line_map * to const line_map_ordinary *.
5782 (pp_file_change): Likewise.
5783 * c-lex.c (fe_file_change): Likewise.
5784 (cb_define): Use linemap_check_ordinary when invoking
5785 SOURCE_LINE.
5786 (cb_undef): Likewise.
5787 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
5788 invoking cb_file_change.
5789 (c_finish_options): Likewise.
5790 (push_command_line_include): Likewise.
5791 (cb_file_change): Strengthen param "new_map" from
5792 const line_map * to const line_map_ordinary *.
5793 * c-ppoutput.c (cb_define): Likewise for local "map".
5794 (pp_file_change): Likewise for param "map" and local "from".
5795
fab27f52
MM
57962015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
5797
5798 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
5799
2fe1d762
TV
58002015-05-18 Tom de Vries <tom@codesourcery.com>
5801
5802 * c-common.c (build_va_arg_1): New function.
5803 (build_va_arg): Add address operator to va_list operand if necessary.
5804
7a37fa90
MM
58052015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
5806
5807 PR c/48956
5808 * c-common.c (int_safely_convertible_to_real_p): Define.
5809 (unsafe_conversion_p): Check conversions involving complex types.
5810 (conversion_warning): Add new warning message for conversions which
5811 discard imaginary component.
5812 * c-common.h: (enum conversion_safety): Add new enumerator for such
5813 conversions.
5814
3aa3c9fc
MP
58152015-05-14 Marek Polacek <polacek@redhat.com>
5816
5817 PR c/66066
5818 PR c/66127
5819 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
5820 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
5821 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
5822 use it. If FOR_INT_CONST, require that all evaluated operands be
5823 INTEGER_CSTs.
5824
c3388e62
DM
58252015-05-12 David Malcolm <dmalcolm@redhat.com>
5826
5827 * c-common.h (warn_for_misleading_indentation): New prototype.
5828 * c-indentation.c: New file.
5829 * c.opt (Wmisleading-indentation): New option.
5830
c7b38fd5
TV
58312015-05-12 Tom de Vries <tom@codesourcery.com>
5832
5833 PR tree-optimization/66010
5834 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
5835
381bf11e
JM
58362015-05-09 Jason Merrill <jason@redhat.com>
5837
edff0c06
JM
5838 * c-opts.c (c_common_post_options): Also clear
5839 cpp_opts->cpp_warn_cxx11_compat.
5840
129211bc
JM
5841 * c-common.h (enum cxx_dialect): Add cxx_unset.
5842 * c-common.c (cxx_dialect): Initialize to cxx_unset.
5843 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
5844
381bf11e
JM
5845 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
5846 (std=gnu++0x): Mark as Undocumented.
5847 (std=gnu++1y): Add deprecated message.
5848
fe191308
JM
58492015-05-08 Jason Merrill <jason@redhat.com>
5850
765189ff
JM
5851 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
5852 * c-opts.c: Adjust.
5853
fe191308
JM
5854 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
5855
755e528f
MP
58562015-05-08 Marek Polacek <polacek@redhat.com>
5857
5858 PR c/64918
5859 * c.opt (Woverride-init-side-effects): New option.
5860
0173bd2a
MP
58612015-05-07 Marek Polacek <polacek@redhat.com>
5862
5863 PR c/65179
5864 * c-common.c (c_fully_fold_internal): Warn when left shifting a
5865 negative value.
5866 * c.opt (Wshift-negative-value): New option.
5867 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
5868 when -Wextra and C99/C++11 mode.
5869
e0f0d3b9
MP
58702015-05-07 Marek Polacek <polacek@redhat.com>
5871 Martin Uecker <uecker@eecs.berkeley.edu>
5872
5873 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
5874 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
5875
8243e2a9
JM
58762015-05-05 Jason Merrill <jason@redhat.com>
5877
5878 * c.opt (Wterminate): New.
5879
577cd070
MP
58802015-04-30 Marek Polacek <polacek@redhat.com>
5881
5882 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
5883 require that the non-constant be of a boolean type.
5884
0373796b
JT
58852015-04-29 Josh Triplett <josh@joshtriplett.org>
5886
e0f0d3b9
MP
5887 * c-common.c (handle_section_attribute): Refactor to reduce
5888 nesting and distinguish between error cases.
0373796b 5889
716c0ba6
MP
58902015-04-29 Marek Polacek <polacek@redhat.com>
5891
5892 PR c/64610
5893 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5894 with 0/1.
5895
8848828b
JJ
58962015-04-29 Jakub Jelinek <jakub@redhat.com>
5897
5898 * c-common.h (omp_clause_mask): Unconditionally define as a class.
5899 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
5900 HOST_BITS_PER_WIDE_INT.
5901
ecd0e562
TV
59022015-04-28 Tom de Vries <tom@codesourcery.com>
5903
5904 PR tree-optimization/65887
5905 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5906
2a877204 59072015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 5908 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
5909
5910 * c-ada-spec.c (in_function): Delete.
5911 (dump_generic_ada_node): Do not change in_function and remove the
5912 redundant code dealing with it.
5913 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
5914 (print_ada_methods): Output the static member functions in a nested
5915 package after the regular methods as well as associated renamings.
5916
4853031e
MP
59172015-04-24 Marek Polacek <polacek@redhat.com>
5918
5919 PR c/65830
5920 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
5921 and OPT_Wshift_count_overflow.
5922
8c2b7f79
MP
5923 PR c/63357
5924 * c-common.c (warn_logical_operator): Warn if the operands have the
5925 same expressions.
5926
b8787813
MP
59272015-04-24 Marek Polacek <polacek@redhat.com>
5928
5929 PR c/61534
5930 * c-common.c (warn_logical_operator): Bail if either operand comes
5931 from a macro expansion.
5932
8fba1830
BRF
59332015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5934
5935 PR target/55143
5936 * c-common.c (c_default_pointer_mode): Add definition.
5937 * c-common.h (c_default_pointer_mode): Add declaration.
5938
17958621
JJ
59392015-03-11 Jakub Jelinek <jakub@redhat.com>
5940
5941 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
5942 on record_builtin_type argument.
5943
7ccb1a11
JJ
59442015-03-10 Jakub Jelinek <jakub@redhat.com>
5945
5946 PR c/65120
5947 * c-common.c (warn_logical_not_parentheses): Don't warn for
5948 !x == 0 or !x != 0.
5949
04fd785e
MP
59502015-03-07 Marek Polacek <polacek@redhat.com>
5951
5952 PR sanitizer/65280
5953 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
5954 before trying to figure out whether we have a flexible array member.
5955
a4e26206 59562015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 5957 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
5958
5959 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5960
0d2489f4
EB
59612015-03-05 Eric Botcazou <ebotcazou@adacore.com>
5962
5963 PR ada/65319
5964 * c-ada-spec.c (print_destructor): Remove obsolete code.
5965
83ed54d7
EB
59662015-03-01 Eric Botcazou <ebotcazou@adacore.com>
5967
5968 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
5969 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
5970 DECL_TEMPLATE_RESULT emulations.
5971 (dump_ada_template)): Add guard for TYPE_METHODS.
5972
7631f0e2
MP
59732015-02-27 Marek Polacek <polacek@redhat.com>
5974
5975 PR c/65040
5976 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
5977
d1783ae5
KT
59782015-02-27 Kai Tietz <ktietz@redhat.com>
5979
5980 PR c/35330
5981 * c-pragma.c (handle_pragma_weak): Do not try to create
5982 weak/alias of declarations not being function, or variable
5983 declarations.
5984
56a9f6bc
TS
59852015-02-24 Thomas Schwinge <thomas@codesourcery.com>
5986
5987 PR libgomp/64625
5988 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
5989 Remove macros.
5990 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
5991
3d5cb23d
MP
59922015-02-16 Marek Polacek <polacek@redhat.com>
5993
5994 PR c/65066
5995 * c-format.c (check_format_types): Handle null param.
5996
fa008882
MP
59972015-02-13 Marek Polacek <polacek@redhat.com>
5998
5999 PR c/65040
6000 * c-format.c (check_format_types): Don't warn about different
6001 signedness if the original value is in the range of WANTED_TYPE.
6002
785f21af
JM
60032015-02-12 Jason Merrill <jason@redhat.com>
6004
6005 PR c++/64956
6006 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6007 to the current highest version.
6008 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6009
4886ec8e
JJ
60102015-02-04 Jakub Jelinek <jakub@redhat.com>
6011
6012 PR c/64824
6013 PR c/64868
6014 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6015 instead of RDIV_EXPR. Use build_binary_op instead of
6016 build2_loc.
6017
40fecdd6
JM
60182015-01-30 Joseph Myers <joseph@codesourcery.com>
6019
6020 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6021 to pass input_location as first argument.
6022
a0c88d06
TV
60232015-01-23 Tom de Vries <tom@codesourcery.com>
6024
6025 PR libgomp/64672
6026 * c.opt (fopenacc): Mark as LTO option.
6027
1506ae0e
TV
60282015-01-23 Tom de Vries <tom@codesourcery.com>
6029
6030 PR libgomp/64707
6031 * c.opt (fopenmp): Mark as LTO option.
6032
31be63ab
JJ
60332015-01-21 Jakub Jelinek <jakub@redhat.com>
6034
6035 PR c/63307
b1726d6c 6036 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
6037 (compare_decls): Fix up formatting.
6038
60392015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6040
6041 PR c/63307
6042 * cilk.c: Include vec.h.
6043 (struct cilk_decls): New structure.
6044 (wrapper_parm_cb): Split this function to...
6045 (fill_decls_vec): ...this...
6046 (create_parm_list): ...and this.
6047 (compare_decls): New function.
6048 (for_local_cb): Remove.
6049 (wrapper_local_cb): Ditto.
6050 (build_wrapper_type): For now first traverse and fill vector of
6051 declarations then sort it and then deal with sorted vector.
6052 (cilk_outline): Ditto.
6053 (declare_one_free_variable): Ditto.
6054
6875457f
JM
60552015-01-21 Jason Merrill <jason@redhat.com>
6056
6057 PR c++/64629
6058 * c-format.c (check_format_arg): Call decl_constant_value.
6059
185c9e56
ML
60602015-01-19 Martin Liska <mliska@suse.cz>
6061
6062 * c-common.c (handle_noicf_attribute): New function.
6063
41dbbb37
TS
60642015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6065 Bernd Schmidt <bernds@codesourcery.com>
6066 James Norris <jnorris@codesourcery.com>
6067 Cesar Philippidis <cesar@codesourcery.com>
6068 Ilmir Usmanov <i.usmanov@samsung.com>
6069 Jakub Jelinek <jakub@redhat.com>
6070
6071 * c.opt (fopenacc): New option.
6072 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6073 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6074 New macros.
6075 * c-common.h (c_finish_oacc_wait): New prototype.
6076 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6077 (c_finish_oacc_wait): New function.
6078 * c-pragma.c (oacc_pragmas): New variable.
6079 (c_pp_lookup_pragma, init_pragma): Handle it.
6080 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6081 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6082 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6083 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6084 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6085 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6086 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6087 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6088 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6089 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6090 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6091 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6092 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6093 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6094 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6095 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6096 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6097 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6098 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6099 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6100 PRAGMA_OACC_CLAUSE_WORKER.
6101
3f8257db 61022015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
6103
6104 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6105 for the new option fstack-protector_explicit.
6106 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6107 (handle_stack_protect_attribute): New function.
6108
3f8257db 61092015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
6110
6111 * c.opt: New option -Warray-bounds=.
6112
adfac8df
JJ
61132015-01-09 Michael Collison <michael.collison@linaro.org>
6114
6115 * array-notation-common.c: Include hash-set.h, machmode.h,
6116 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6117 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6118 * c-ada-spec.c: Ditto.
6119 * c-cilkplus.c: Ditto.
6120 * c-common.c: Include input.h due to flattening of tree.h.
6121 Define macro GCC_C_COMMON_C.
6122 * c-common.h: Flatten tree.h header files into c-common.h.
6123 Remove include of tree-core.h.
6124 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6125 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6126 fold-const.h, wide-int.h, and inchash.h due to
6127 flattening of tree.h.
6128 * c-dump.c: Ditto.
6129 * c-format.c: Flatten tree.h header files into c-common.h.
6130 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6131 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6132 fold-const.h, wide-int.h, and inchash.h due to
6133 flattening of tree.h.
6134 * c-dump.c: Include hash-set.h, machmode.h,
6135 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6136 fold-const.h, wide-int.h, and inchash.h due to
6137 flattening of tree.h.
6138 * c-format.c: Include hash-set.h, machmode.h,
6139 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6140 fold-const.h, wide-int.h, inchash.h and real.h due to
6141 flattening of tree.h.
6142 * c-gimplify.c: Include hash-set.h, machmode.h,
6143 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6144 fold-const.h, wide-int.h, and inchash.h due to
6145 flattening of tree.h.
6146 * cilk.c: Ditto.
6147 * c-lex.c: Ditto.
6148 * c-omp.c: Ditto.
6149 * c-opts.c: Ditto.
6150 * c-pch.c: Ditto.
6151 * c-ppoutput.c: Ditto.
6152 * c-pragma.c: Ditto.
6153 * c-pretty-print.c: Ditto.
6154 * c-semantics.c: Ditto.
6155 * c-ubsan.c: Ditto.
6156 * stub-objc.c: Ditto.
6157
f5481fc4
JM
61582015-01-08 Jason Merrill <jason@redhat.com>
6159
6160 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6161 do_ubsan_in_current_function.
6162 (ubsan_maybe_instrument_reference_or_call): Likewise.
6163 * c-ubsan.h: Declare it.
6164
de35aa66
MS
61652015-01-08 Mike Stump <mikestump@comcast.net>
6166
6167 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6168
4a9a42ab
MP
61692015-01-07 Marek Polacek <polacek@redhat.com>
6170
6171 PR c/64440
6172 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6173 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6174
2f42e5de
TS
61752015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6176
6177 PR c++/31397
6178 * c.opt (Wsuggest-override): New option.
6179
5624e564
JJ
61802015-01-05 Jakub Jelinek <jakub@redhat.com>
6181
6182 Update copyright years.
6183
5bd012f8
MP
61842015-01-05 Marek Polacek <polacek@redhat.com>
6185
6186 PR c/64423
6187 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6188 parameter. Use it.
6189 * c-common.h (warn_array_subscript_with_type_char): Update
6190 declaration.
6191
a7fa8d18
ESR
61922014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6193
6194 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6195 Control macro with flag_sized_deallocation.
6196
3f8257db 61972014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
6198
6199 * c.opt (Wdiscarded-array-qualifiers): New option.
6200
1f8d3e84
JJ
62012014-12-19 Jakub Jelinek <jakub@redhat.com>
6202
6203 PR preprocessor/63831
6204 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6205 and __has_cpp_attribute here.
6206 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6207 c_common_has_attribute.
6208 * c-common.h (c_common_has_attribute): New prototype.
6209 * c-lex.c (init_c_lex): Set cb->has_attribute to
6210 c_common_has_attribute instead of cb_has_attribute.
6211 (get_token_no_padding): New function.
6212 (cb_has_attribute): Renamed to ...
6213 (c_common_has_attribute): ... this. No longer static. Use
6214 get_token_no_padding, require ()s, don't build TREE_LIST
6215 unnecessarily, fix up formatting, adjust diagnostics, call
6216 init_attributes.
6217
20b06add
JM
62182014-12-15 Jason Merrill <jason@redhat.com>
6219
6220 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6221 (-Wsized-deallocation): New.
6222 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6223 to on in C++14 and up.
6224
94a073b2
JM
62252014-12-11 Jason Merrill <jason@redhat.com>
6226
acaa5911
JM
6227 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6228
94a073b2
JM
6229 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6230 we aren't complaining about VLAs.
6231
7fb66c15
MP
62322014-12-06 Marek Polacek <polacek@redhat.com>
6233
6234 PR tree-optimization/64183
6235 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6236 shift-expression if it is integer_type_node. Use types_compatible_p.
6237
b731b390
JJ
62382014-11-29 Jakub Jelinek <jakub@redhat.com>
6239
6240 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6241 last argument from create_tmp_var_raw and create_tmp_var calls.
6242 * cilk.c (gimplify_cilk_spawn): Likewise.
6243 * c-omp.c (c_finish_omp_atomic): Likewise.
6244
6a4da643
MP
62452014-11-28 Marek Polacek <polacek@redhat.com>
6246
6247 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6248 instead of unsigned_type_node.
6249
541e35a6
MP
62502014-11-28 Marek Polacek <polacek@redhat.com>
6251
6252 PR c/63862
6253 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6254 to op1_utype.
6255 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6256 expression to unsigned_type_node.
6257
dcc97066
MW
62582014-11-20 Mark Wielaard <mjw@redhat.com>
6259
6260 PR debug/38757
6261 * c-opts.c (set_std_c89): Set lang_hooks.name.
6262 (set_std_c99): Likewise.
6263 (set_std_c11): Likewise.
6264 (set_std_cxx98): Likewise.
6265 (set_std_cxx11): Likewise.
6266 (set_std_cxx14): Likewise.
6267 (set_std_cxx1z): Likewise.
6268
aa7da51a
JJ
62692014-11-21 Jakub Jelinek <jakub@redhat.com>
6270
6271 PR target/63764
6272 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6273 return type to bool.
009a3480 6274 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
6275 (convert_vector_to_pointer_for_subscript): Change return type to
6276 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6277 and copy it into a TARGET_EXPR and use that instead of *vecp
6278 directly.
6279
538dd0b7
DM
62802014-11-19 David Malcolm <dmalcolm@redhat.com>
6281
6282 Merger of git branch "gimple-classes-v2-option-3".
6283 * ChangeLog.gimple-classes: New.
6284 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6285 from being just a vec<gimple> to a vec<gbind *>.
6286
c39a5e99
JJ
62872014-11-18 Jakub Jelinek <jakub@redhat.com>
6288
6289 PR sanitizer/63813
6290 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6291 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6292 get_pointer_alignment for non-pointers. Use ptype, or if it is
6293 reference type, corresponding pointer type, as type of kind
6294 argument.
6295 (ubsan_maybe_instrument_reference,
6296 ubsan_maybe_instrument_member_call): Adjust callers.
6297
8537a4a9
MP
62982014-11-15 Marek Polacek <polacek@redhat.com>
6299
6300 PR middle-end/63884
6301 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6302 for NULL fndecl.
6303 (extract_array_notation_exprs): Return for NULL node.
6304
2079956a
JM
63052014-11-12 Joseph Myers <joseph@codesourcery.com>
6306
6307 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6308 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6309
1304953e
JJ
63102014-11-12 Jakub Jelinek <jakub@redhat.com>
6311
6312 PR c/59708
6313 * c-common.c (check_builtin_function_arguments): Handle
6314 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6315
e5e44252
AK
63162014-11-10 Andi Kleen <ak@linux.intel.com>
6317
6318 PR c/60804
6319 * c-common.h (check_no_cilk): Declare.
6320 * cilk.c (get_error_location): New function.
6321 (check_no_cilk): Dito.
6322
e64b984d
AK
63232014-11-10 Andi Kleen <ak@linux.intel.com>
6324
6325 * cilk.c (recognize_spawn): Use expression location
6326 for error message.
6327
13c21655
PC
63282014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6329
6330 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6331
42fd12b1
ESR
63322014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6333
6334 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6335 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6336 (__cpp_range_based_for, __cpp_initializer_lists,
6337 __cpp_delegating_constructors, __cpp_nsdmi,
6338 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6339 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6340 __has_cpp_attribute.
6341 * c-lex.c (cb_has_attribute): New callback CPP function;
6342 (init_c_lex): Set has_attribute callback.
6343
6f450181
RB
63442014-11-04 Richard Biener <rguenther@suse.de>
6345
6346 * c-common.c (shorten_compare): Do not shorten mixed
6347 DFP and non-DFP compares.
6348
26f0e1d6
ESR
63492014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6350
6351 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6352 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6353 Commentary and rearrangement of tests.
6354 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6355 Commentary and rearrangement of tests.
ab20d992 6356 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
26f0e1d6
ESR
6357 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6358
ef4bddc2
RS
63592014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6360
6361 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6362 enum from machine_mode.
6363
c582198b
AM
63642014-10-28 Andrew MacLeod <amacleod@redhat.com>
6365
adfac8df
JJ
6366 * c-common.c: Adjust include files.
6367 * c-gimplify.c: Ditto.
6368 * cilk.c: Ditto.
6369 * c-pragma.c: Ditto.
6370 * c-ubsan.c: Ditto.
c582198b 6371
60393bbc
AM
63722014-10-27 Andrew MacLeod <amacleod@redhat.com>
6373
6374 * c-gimplify.c: Adjust include files.
6375
d723bb7c
MLI
63762014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6377
6378 PR c++/53061
6379 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6380 c_common_initialize_diagnostics.
6381 * c-common.h: Likewise.
6382
90f3520e
MP
63832014-10-24 Marek Polacek <polacek@redhat.com>
6384
6385 PR c/56980
6386 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6387 print "struct"/"union"/"enum" for typedefed names.
6388
59d7607a
MP
63892014-10-23 Marek Polacek <polacek@redhat.com>
6390
6391 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6392 in unsigned type.
6393
d95a2703
JJ
63942014-10-22 Jakub Jelinek <jakub@redhat.com>
6395 Yury Gribov <y.gribov@samsung.com>
6396
6397 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6398 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6399 instead of flag_sanitize_recover as bool flag.
6400
8e6ef852
KY
64012014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6402
6403 * cilk.c: Revert previous change.
6404
948cf550
IZ
64052014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6406
6407 PR c/63307
6408 * cilk.c: Include vec.h.
6409 (struct cilk_decls): New structure.
6410 (wrapper_parm_cb): Split this function to...
6411 (fill_decls_vec): ...this...
6412 (create_parm_list): ...and this.
6413 (compare_decls): New function.
6414 (for_local_cb): Remove.
6415 (wrapper_local_cb): Ditto.
6416 (build_wrapper_type): For now first traverse and fill vector of
6417 declarations then sort it and then deal with sorted vector.
6418 (cilk_outline): Ditto.
6419 (declare_one_free_variable): Ditto.
6420
92574c7c
MP
64212014-10-17 Marek Polacek <polacek@redhat.com>
6422
6423 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6424 * c.opt (Wimplicit-int): Initialize to -1.
6425
83685514
AM
64262014-10-16 Andrew MacLeod <amacleod@redhat.com>
6427
6428 * c-pragma.c: Adjust include files.
6429 * c-semantics.c: Likewise.
6430
5b8300ea
DD
64312014-10-16 DJ Delorie <dj@redhat.com>
6432
6433 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6434 multiples of bytes.
6435
5f83e90b
JM
64362014-10-14 Jason Merrill <jason@redhat.com>
6437
6438 PR c++/63455
6439 * c-common.h (CPP_PREPARSED_EXPR): New.
6440 (N_CP_TTYPES): Adjust.
6441
d73326ca
MP
64422014-10-15 Marek Polacek <polacek@redhat.com>
6443
6444 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6445
78a7c317
DD
64462014-10-14 DJ Delorie <dj@redhat.com>
6447
6448 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6449 types, not just __int128.
6450 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6451 types, not just __int128.
6452 (cpp_atomic_builtins): Round pointer sizes up.
6453 (type_suffix): Use type precision, not specific types.
6454 * c-common.c (c_common_reswords): Remove __int128 special case.
6455 (c_common_type_for_size): Check for all __intN types, not just
6456 __int128.
6457 (c_common_type_for_mode): Likewise.
6458 (c_common_signed_or_unsigned_type): Likewise.
6459 (c_build_bitfield_integer_type): Likewise.
6460 (c_common_nodes_and_builtins): Likewise.
6461 (keyword_begins_type_specifier): Likewise.
6462 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6463 __intN variants.
6464
2a22f99c
TS
64652014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6466
6467 * c-common.c: Use hash_table instead of hashtab.
6468
2a8ef767
ESR
64692014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6470
adfac8df 6471 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
6472 C++11 section.
6473
3c9aabbd
MG
64742014-10-03 Marc Glisse <marc.glisse@inria.fr>
6475
6476 PR c++/54427
6477 PR c++/57198
6478 PR c++/58845
6479 * c-common.c (warn_logical_operator): Punt for vectors.
6480
a15f7cb8
ESR
64812014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6482
6483 Implement SD-6: SG10 Feature Test Recommendations
6484 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6485 macros and the __has_header macro.
6486
8d0cf15e
JM
64872014-09-30 Jason Merrill <jason@redhat.com>
6488
dd5d5481
JM
6489 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6490 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6491 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6492
b752325e
JM
6493 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
6494 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
6495
8d0cf15e
JM
6496 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
6497 * c-common.c (c_common_reswords): Remove __is_convertible_to.
6498
083e891e
MP
64992014-09-24 Marek Polacek <polacek@redhat.com>
6500
6501 PR c/61405
6502 PR c/53874
6503 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
6504
7861b648
AK
65052014-09-23 Andi Kleen <ak@linux.intel.com>
6506
6507 * c-common.c (handle_no_reorder_attribute): New function.
6508 (c_common_attribute_table): Add no_reorder attribute.
6509
9a79452d
JM
65102014-09-22 Joseph Myers <joseph@codesourcery.com>
6511
6512 * c-cppbuiltin.c (c_cpp_builtins): Define
6513 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
6514 modes.
6515
dd69f047
JM
65162014-09-18 Joseph Myers <joseph@codesourcery.com>
6517
6518 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
6519 for supported floating-point modes.
6520
737a4826
MLI
65212014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6522
6523 * c.opt (Wpsabi): Use LangEnabledBy.
6524 * c-opts.c (c_common_handle_option): Do not handle here.
6525
8cc4b7a2
JM
65262014-09-12 Joseph Myers <joseph@codesourcery.com>
6527
6528 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
6529 macros for floating-point modes.
6530
179b5a55
MG
65312014-09-11 Marc Glisse <marc.glisse@inria.fr>
6532
6533 PR target/58757
6534 * c-cppbuiltin.c (builtin_define_float_constants): Correct
6535 __*_DENORM_MIN__ without denormals.
6536
570a11fe
JJ
65372014-09-10 Jakub Jelinek <jakub@redhat.com>
6538
6539 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6540 ubsan_instrument_vla, ubsan_instrument_return): Adjust
6541 ubsan_create_data callers.
6542 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
6543 index is constant or BIT_AND_EXPR with constant mask and is
6544 small enough for the bound.
6545 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
6546 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
6547
b559c810
MLI
65482014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6549
6550 * c.opt: Add CppReason to various flags.
6551 (Wdate-time): Re-sort.
6552 * c-common.c: Include c-common.h earlier.
6553 (struct reason_option_codes_t): Delete.
6554 (c_option_controlling_cpp_error): Prefix global type and struct
6555 with cpp_.
6556
1ef33fd4
MLI
65572014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6558
6559 * c.opt (Wnormalized): New.
6560 (Wnormalized=): Use Enum and Reject Negative.
6561 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
6562
66bb34c0
JM
65632014-09-08 Joseph Myers <joseph@codesourcery.com>
6564
6565 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
6566 digits of floating-point modes if -fbuilding-libgcc.
6567
53d68b9f
JM
65682014-09-05 Joseph Myers <joseph@codesourcery.com>
6569
6570 * c-cppbuiltin.c (c_cpp_builtins): Also define
6571 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
6572 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
6573 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
6574 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
6575 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
6576 __LIBGCC_STACK_GROWS_DOWNWARD__,
6577 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
6578 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
6579 __LIBGCC_DWARF_FRAME_REGISTERS__,
6580 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
6581 __LIBGCC_STACK_POINTER_REGNUM__ and
6582 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
6583 (builtin_define_with_value): Handle backslash-escaping in string
6584 macro values.
6585
f65586dc
RB
65862014-09-05 Richard Biener <rguenther@suse.de>
6587
6588 PR middle-end/63148
6589 * c-format.c (check_format_arg): Properly handle
6590 effectively signed POINTER_PLUS_EXPR offset.
6591
2b71f4a4
MLI
65922014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
6593
6594 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
6595 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
6596 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
6597 and Init.
6598 * c-opts.c (c_common_handle_option): Do not handle here.
6599 (sanitize_cpp_opts): Likewise.
6600 * c-common.c (struct reason_option_codes_t): Handle
6601 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
6602
d2e4feca
MP
66032014-09-03 Marek Polacek <polacek@redhat.com>
6604
6605 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
6606
9a771876
JJ
66072014-09-02 Jakub Jelinek <jakub@redhat.com>
6608 Balaji V. Iyer <balaji.v.iyer@intel.com>
6609 Igor Zamyatin <igor.zamyatin@intel.com>
6610
6611 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
6612 * c-common.c (c_common_reswords): Added _Cilk_for.
6613 * c-common.h (enum rid): Added RID_CILK_FOR.
6614 (cilk_for_number_of_iterations): Add declaration.
6615 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
6616 CILK_FOR.
6617 * c-pragma.c (init_pragma): Register "grainsize" pragma.
6618 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
6619
81b5d104
MLI
66202014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6621
6622 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
6623 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
6624 Wundef): Use CPP, Var and Init.
6625 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
6626
b753b37b
MLI
66272014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6628
6629 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
6630 * c-opts.c (c_common_handle_option): Do not handle here.
6631
028aee17
JM
66322014-08-25 Jason Merrill <jason@redhat.com>
6633
6634 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
6635 -std=c++14 and -std=gnu++14, rather than the reverse.
6636 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
6637 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
6638 * c-common.h (cxx_dialect): Remove cxx1y.
6639
e4276ba5
ESR
66402014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
6641
6642 * c-common.h (enum cxx_dialect): Add cxx14.
6643 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
6644 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
6645 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
6646
a545cacd
JM
66472014-08-22 Jason Merrill <jason@redhat.com>
6648
6649 * c.opt (std=gnu++17): Fix alias.
6650
59ea0364
MP
66512014-08-22 Marek Polacek <polacek@redhat.com>
6652
6653 PR c++/62199
6654 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
6655 check for vector types. Drop LHS argument.
6656 * c-common.h (warn_logical_not_parentheses): Adjust.
6657
596e808c
MLI
66582014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6659
6660 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
6661 (Wmultichar): Likewise.
6662 (Wdate-time): Use C-family languages instead of Common. Use CPP
6663 and Var.
6664 * c-opts.c (c_common_handle_option): Do not handle the above
6665 options here.
6666 (sanitize_cpp_opts): Likewise.
6667
18767f65
MLI
66682014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6669
6670 PR fortran/44054
6671 * c-opts.c: Include tree-diagnostics.h.
6672 (c_diagnostic_finalizer): New.
6673 (c_common_initialize_diagnostics): Use it.
6674
b4413594
MLI
66752014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6676
6677 PR preprocessor/51303
6678 * c-common.c (struct reason_option_codes_t option_codes):
6679 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
6680
43f9a13c
MLI
66812014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6682
6683 PR c/60975
6684 PR c/53063
6685 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
6686 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
6687 (c_common_post_options): Call init_global_opts_from_cpp.
6688 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
6689
04159acf
MP
66902014-08-19 Marek Polacek <polacek@redhat.com>
6691
6692 PR c++/62153
6693 * c-common.c (maybe_warn_bool_compare): New function.
6694 * c-common.h (maybe_warn_bool_compare): Declare.
6695 * c.opt (Wbool-compare): New option.
6696
35aff4fb
MP
66972014-08-19 Marek Polacek <polacek@redhat.com>
6698
6699 * c.opt (Wc99-c11-compat): New option.
6700
177cce46
MP
67012014-08-19 Marek Polacek <polacek@redhat.com>
6702
6703 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
6704 to warn_c90_c99_compat.
6705 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
6706 to -1.
6707
6ae9194f
MLI
67082014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
6709 Steven Bosscher <steven@gcc.gnu.org>
6710
6711 PR c/52952
6712 * c-format.c: Add extra_arg_loc and format_string_loc to struct
6713 format_check_results.
6714 (check_function_format): Use true and add comment for boolean
6715 argument.
6716 (finish_dollar_format_checking): Use explicit location when warning.
6717 (check_format_info): Likewise.
6718 (check_format_arg): Set extra_arg_loc and format_string_loc.
6719 (check_format_info_main): Use explicit location when warning.
6720 (check_format_types): Pass explicit location.
6721 (format_type_warning): Likewise.
6722
8e54f6d3
MLI
67232014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6724
6725 PR fortran/44054
6726 * c-format.c: Handle Fortran flags.
6727
cd4e76fc
IZ
67282014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
6729
6730 PR other/61962
6731 * array-notation-common.c (find_rank): Added handling for other
6732 types of references.
6733
f3bede71
MP
67342014-08-10 Marek Polacek <polacek@redhat.com>
6735
6736 PR c/51849
6737 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
6738 * c.opt (Wc90-c99-compat): Add option.
6739
9f25a338
TS
67402014-08-07 Trevor Saunders <tsaunders@mozilla.com>
6741
6742 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
6743
62e4eb35
MP
67442014-08-03 Marek Polacek <polacek@redhat.com>
6745
ab20d992 6746 * c-common.c (check_case_value): Add location_t parameter. Use it.
62e4eb35
MP
6747 (c_add_case_label): Pass loc to check_case_value.
6748
b787e7a2
TS
67492014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6750
6751 * cilk.c: Use hash_map instead of pointer_map.
6752
6e2830c3
TS
67532014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6754
6755 * c-gimplify.c: Use hash_set instead of pointer_set.
6756
a7ee52fb
IZ
67572014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
6758
6759 PR middle-end/61455
6760 * array-notation-common.c (extract_array_notation_exprs): Handling
6761 of DECL_EXPR added.
6762
944fa280
JJ
67632014-08-01 Jakub Jelinek <jakub@redhat.com>
6764
6765 * c-common.h (min_align_of_type): Removed prototype.
6766 * c-common.c (min_align_of_type): Removed.
6767 * c-ubsan.h (ubsan_maybe_instrument_reference,
6768 ubsan_maybe_instrument_member_call): New prototypes.
6769 * c-ubsan.c: Include stor-layout.h and builtins.h.
6770 (ubsan_maybe_instrument_reference_or_call,
6771 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
6772 functions.
6773
b4dfdc11
MG
67742014-07-31 Marc Glisse <marc.glisse@inria.fr>
6775
6776 PR c++/60517
6777 * c.opt (-Wreturn-local-addr): Move to common.opt.
6778
a41844e5
JM
67792014-07-30 Jason Merrill <jason@redhat.com>
6780
6781 PR c++/61659
6782 PR c++/61687
6783 Revert:
6784 * c.opt (-fuse-all-virtuals): New.
6785
976d5a22
TT
67862014-07-30 Tom Tromey <tromey@redhat.com>
6787
6788 PR c/59855
6789 * c.opt (Wdesignated-init): New option.
6790 * c-common.c (c_common_attribute_table): Add "designated_init".
6791 (handle_designated_init): New function.
6792
cdc94aca
MP
67932014-07-24 Marek Polacek <polacek@redhat.com>
6794
6795 PR c/57653
6796 * c-opts.c (c_finish_options): If -imacros is in effect, return.
6797
f41373b6
DS
67982014-07-16 Dodji Seketeli <dodji@redhat.com>
6799
6800 PR preprocessor/60723 - missing system-ness marks for macro tokens
6801 * c-ppoutput.c (struct print::prev_was_system_token): New data
6802 member.
6803 (init_pp_output): Initialize it.
6804 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
6805 (do_line_change): Return a flag saying if a line marker was
6806 emitted or not.
6807 (scan_translation_unit): Detect if the system-ness of the token we
6808 are about to emit is different from the one of the previously
6809 emitted token. If so, emit a line marker. Avoid emitting useless
6810 adjacent line markers. Avoid emitting line markers for tokens
6811 originating from the expansion of built-in macros.
6812 (scan_translation_unit_directives_only): Adjust.
6813
4d661eaa
MP
68142014-07-15 Marek Polacek <polacek@redhat.com>
6815
6816 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
6817 TYPE_MAX_VALUE is NULL.
6818
b108f48f
JJ
68192014-07-14 Jakub Jelinek <jakub@redhat.com>
6820
6821 PR middle-end/61294
6822 * c.opt (Wmemset-transposed-args): New warning.
6823
c0221884
JM
68242014-07-10 Jason Merrill <jason@redhat.com>
6825
6826 PR c++/61659
6827 PR c++/61687
6828 * c.opt (-fuse-all-virtuals): New.
6829
63dfbb95
RB
68302014-07-09 Richard Biener <rguenther@suse.de>
6831
6832 PR c-family/61741
6833 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6834 using unsigned arithmetic if overflow does not wrap instead of
6835 if overflow is undefined.
6836
773ec47f
MP
68372014-07-06 Marek Polacek <polacek@redhat.com>
6838
6839 PR c/6940
6840 * c.opt (Wsizeof-array-argument): New option.
6841
00a7ba58
JJ
68422014-07-03 Jakub Jelinek <jakub@redhat.com>
6843
b1726d6c 6844 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
6845 comments->count <= 1, as comments->entries might be NULL.
6846
52ec0ea3
MP
68472014-07-01 Marek Polacek <polacek@redhat.com>
6848
6849 * c.opt (Wint-conversion): New option.
6850
d5c3d343
MP
68512014-07-01 Marek Polacek <polacek@redhat.com>
6852
6853 PR c/58286
6854 * c.opt (Wincompatible-pointer-types): New option.
6855
6e7ceb17
PC
68562014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
6857
6858 PR c++/51400
6859 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
6860 Do not discard TYPE_QUALS of type.
6861
da73100b
JM
68622014-06-26 Jason Merrill <jason@redhat.com>
6863
6864 * c-common.h (enum cxx_dialect): Add cxx1z.
6865 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
6866 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
6867
08eedf75
TJ
68682014-06-26 Teresa Johnson <tejohnson@google.com>
6869
6870 * c-common.h (get_dump_info): Declare.
6871 * c-gimplify.c (c_genericize): Use saved dump files.
6872 * c-opts.c (c_common_parse_file): Begin and end dumps
6873 once around parsing invocation.
6874 (get_dump_info): New function.
6875
7b56b2f8
MP
68762014-06-23 Marek Polacek <polacek@redhat.com>
6877 Andrew MacLeod <amacleod@redhat.com>
6878
6879 PR c/61553
6880 * c-common.c (get_atomic_generic_size): Don't segfault if the
6881 type doesn't have a size.
6882
0e37a2f3
MP
68832014-06-20 Marek Polacek <polacek@redhat.com>
6884
6885 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
6886 (ubsan_walk_array_refs_r): New function.
6887 (c_genericize): Instrument array bounds.
6888 * c-ubsan.c: Include "internal-fn.h".
6889 (ubsan_instrument_division): Mark instrumented arrays as having
6890 side effects. Adjust ubsan_type_descriptor call.
6891 (ubsan_instrument_shift): Likewise.
6892 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
6893 (ubsan_instrument_bounds): New function.
6894 (ubsan_array_ref_instrumented_p): New function.
6895 (ubsan_maybe_instrument_array_ref): New function.
6896 * c-ubsan.h (ubsan_instrument_bounds): Declare.
6897 (ubsan_array_ref_instrumented_p): Declare.
6898 (ubsan_maybe_instrument_array_ref): Declare.
6899
69002014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
6901
6902 PR lto/61123
6903 * c.opt (fshort-enums): Add to LTO.
6904 * c.opt (fshort-wchar): Likewise.
6905
5c3d09f7
MP
69062014-06-16 Marek Polacek <polacek@redhat.com>
6907
6908 PR c/60439
6909 * c.opt (Wswitch-bool): Add Var.
6910
9cf32741
JJ
69112014-06-12 Jakub Jelinek <jakub@redhat.com>
6912
6913 PR middle-end/61486
6914 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
6915 #pragma omp target teams or
6916 #pragma omp {,target }teams distribute simd.
6917
62984918
JM
69182014-06-12 Jason Merrill <jason@redhat.com>
6919
6920 * c.opt (Wabi=, fabi-compat-version): New.
6921 * c-opts.c (c_common_handle_option): Handle -Wabi=.
6922 (c_common_post_options): Handle flag_abi_compat_version default.
6923 Disallow -fabi-compat-version=1.
6924 * c-common.h (abi_version_crosses): New.
6925
f961457f
JH
69262014-06-11 Jan Hubicka <hubicka@ucw.cz>
6927
adfac8df 6928 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
6929 section names that are no longer trees.
6930
92d28cbb
JJ
69312014-06-10 Jakub Jelinek <jakub@redhat.com>
6932
6933 PR fortran/60928
6934 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
6935 (omp_pragmas): ... back here.
6936
742938c9
MP
69372014-06-05 Marek Polacek <polacek@redhat.com>
6938
6939 PR c/49706
6940 * c-common.c (warn_logical_not_parentheses): New function.
6941 * c-common.h (warn_logical_not_parentheses): Declare.
6942 * c.opt (Wlogical-not-parentheses): New option.
6943
9d548dfb
MP
69442014-06-04 Marek Polacek <polacek@redhat.com>
6945
6946 PR c/30020
6947 * c-common.c (check_case_bounds): Add location parameter.
6948 Use it.
6949 (c_add_case_label): Pass loc to check_case_bounds.
6950
fedfecef
MP
69512014-06-03 Marek Polacek <polacek@redhat.com>
6952
6953 PR c/60439
6954 * c.opt (Wswitch-bool): New option.
6955
f6a7cffc
TS
69562014-05-22 Thomas Schwinge <thomas@codesourcery.com>
6957
040d18b6
TS
6958 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
6959 Remove prototypes.
6960 (record_types_used_by_current_var_decl): Move prototype to where
6961 it belongs.
6962
f6a7cffc
TS
6963 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
6964 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
6965 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
6966
632f2871
RS
69672014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
6968
6969 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
6970 * c-common.c (c_common_nodes_and_builtins): Don't initialize
6971 void_zero_node.
6972 * c-pretty-print.c (pp_c_void_constant): New function.
6973 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
6974 (c_pretty_printer::expression): Handle VOID_CST.
6975 * cilk.c (extract_free_variables): Likewise.
6976 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
6977 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
6978
766090c2
TS
69792014-05-17 Trevor Saunders <tsaunders@mozilla.com>
6980
6981 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
6982 * c-pragma.c (push_alignment): Adjust.
6983 (handle_pragma_push_options): Likewise.
6984
661a0813
MP
69852014-05-09 Marek Polacek <polacek@redhat.com>
6986
6987 PR c/50459
6988 * c-common.c (check_user_alignment): Return -1 if alignment is error
6989 node.
6990 (handle_aligned_attribute): Don't call default_conversion on
6991 FUNCTION_DECLs.
6992 (handle_vector_size_attribute): Likewise.
6993 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
6994 (handle_sentinel_attribute): Call default_conversion and allow even
6995 integral types as an argument.
6996
2793eeab
MP
69972014-05-08 Marek Polacek <polacek@redhat.com>
6998
6999 PR c/61053
7000 * c-common.c (min_align_of_type): New function factored out from...
7001 (c_sizeof_or_alignof_type): ...here.
7002 * c-common.h (min_align_of_type): Declare.
7003
f827930a
MP
70042014-05-08 Marek Polacek <polacek@redhat.com>
7005
7006 PR c/61077
7007 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7008 parameter type of main.
7009
ca49b74e
DD
70102014-05-07 DJ Delorie <dj@redhat.com>
7011
7012 * c-cppbuiltin.c (print_bits_of_hex): New.
7013 (builtin_define_type_minmax): Print values using hex so as not to
7014 require a pre-computed list of string values.
7015
1d60af08
KZ
70162014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7017 Mike Stump <mikestump@comcast.net>
7018 Richard Sandiford <rdsandiford@googlemail.com>
7019
7020 * c-ada-spec.c: Include wide-int.h.
7021 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7022 (dump_generic_ada_node): Use wide-int interfaces.
7023 * c-common.c: Include wide-int-print.h.
7024 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7025 (pointer_int_sum): Use wide-int interfaces.
7026 (c_common_nodes_and_builtins): Use make_int_cst.
7027 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7028 (handle_alloc_size_attribute): Use wide-int interfaces.
7029 (get_nonnull_operand): Likewise.
7030 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7031 * c-lex.c: Include wide-int.h.
7032 (narrowest_unsigned_type): Take a widest_int rather than two
7033 HOST_WIDE_INTs.
7034 (narrowest_signed_type): Likewise.
7035 (interpret_integer): Update accordingly. Use wide-int interfaces.
7036 (lex_charconst): Use wide-int interfaces.
7037 * c-pretty-print.c: Include wide-int.h.
7038 (pp_c_integer_constant): Use wide-int interfaces.
7039 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7040 INT_CST_LT_UNSIGNED.
7041
b15458be
RB
70422014-05-06 Richard Biener <rguenther@suse.de>
7043
7044 * c-opts.c (c_common_post_options): For -freestanding,
7045 -fno-hosted and -fno-builtin disable pattern recognition
7046 if not enabled explicitely.
7047
6577374e
MP
70482014-05-02 Marek Polacek <polacek@redhat.com>
7049
7050 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7051
d00887e8
MP
70522014-05-01 Marek Polacek <polacek@redhat.com>
7053
7054 PR c/43245
7055 * c.opt (Wdiscarded-qualifiers): Add.
7056
f8ed5150
MP
70572014-04-30 Marek Polacek <polacek@redhat.com>
7058
7059 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7060 INT_MIN / -1 sanitization only for integer types.
7061
45484dcf
MP
70622014-04-25 Marek Polacek <polacek@redhat.com>
7063
7064 PR c/18079
7065 * c-common.c (handle_noinline_attribute): Warn if the attribute
7066 conflicts with always_inline attribute.
7067 (handle_always_inline_attribute): Warn if the attribute conflicts
7068 with noinline attribute.
7069
38e514c0
MP
70702014-04-25 Marek Polacek <polacek@redhat.com>
7071
7072 PR c/60156
7073 * c-common.c (check_main_parameter_types): Warn about variadic main.
7074
44875f92
MS
70752014-04-24 Mike Stump <mikestump@comcast.net>
7076
7077 * c.opt (Wshadow-ivar): Default to on.
7078
dcaaa5a0
DP
70792014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7080
7081 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7082
c07d7c02
MP
70832014-04-23 Marek Polacek <polacek@redhat.com>
7084
7085 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7086
1c33c9b7
JJ
70872014-04-22 Jakub Jelinek <jakub@redhat.com>
7088
7089 PR sanitizer/60275
7090 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7091 if flag_sanitize_undefined_trap_on_error.
7092 (ubsan_instrument_division, ubsan_instrument_shift,
7093 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7094 if !flag_sanitize_recover.
7095
793c625f
MG
70962014-04-22 Marc Glisse <marc.glisse@inria.fr>
7097
7098 PR libstdc++/43622
7099 * c-common.c (registered_builtin_types): Make non-static.
7100 * c-common.h (registered_builtin_types): Declare.
7101
b0f1bf36 71022014-04-14 Richard Biener <rguenther@suse.de>
ab20d992 7103 Marc Glisse <marc.glisse@inria.fr>
b0f1bf36
RB
7104
7105 PR c/60819
7106 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7107 apply may-alias the scalar pointer type when applicable.
7108
3b07fa4a
IZ
71092014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7110
7111 PR middle-end/60467
7112 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7113 as possible argument for Cilk_spawn.
7114
cbbd2b1c
TB
71152014-04-11 Tobias Burnus <burnus@net-b.de>
7116
7117 PR c/60194
7118 * c.opt (Wformat-signedness): Add
7119 * c-format.c(check_format_types): Use it.
7120
6415bd5d
JM
71212014-04-11 Jason Merrill <jason@redhat.com>
7122
7123 PR c++/57926
7124 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7125 default_conversion for an array argument.
7126
6525783a
MP
71272014-04-08 Marek Polacek <polacek@redhat.com>
7128
7129 PR sanitizer/60745
7130 * c-ubsan.c: Include asan.h.
7131 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7132
880a467b
NS
71332014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7134
7135 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7136
7b59ff2d
MP
71372014-04-02 Marek Polacek <polacek@redhat.com>
7138
7139 * c-common.h (c_expand_expr): Remove declaration.
7140
8edbfaa6
JJ
71412014-03-28 Jakub Jelinek <jakub@redhat.com>
7142
7143 PR c++/60689
7144 * c-common.c (add_atomic_size_parameter): When creating new
7145 params vector, push the size argument first.
7146
07d72e1d
JJ
71472014-03-26 Jakub Jelinek <jakub@redhat.com>
7148
7149 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7150 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7151 ubsan_create_data callers.
7152
b35e0fa0
JJ
71532014-03-22 Jakub Jelinek <jakub@redhat.com>
7154
7155 PR debug/60603
7156 * c-opts.c (c_finish_options): Restore cb_file_change call to
7157 <built-in>.
7158
39a1ebb3
JJ
71592014-03-13 Jakub Jelinek <jakub@redhat.com>
7160
7161 PR middle-end/36282
7162 * c-pragma.c (apply_pragma_weak): Only look at
7163 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7164 DECL_ASSEMBLER_NAME_SET_P (decl).
7165 (maybe_apply_pending_pragma_weaks): Exit early if
7166 vec_safe_is_empty (pending_weaks) rather than only when
7167 !pending_weaks.
7168 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7169 set assembler name back to NULL afterwards.
7170
a07f6ed2
JM
71712014-03-11 Jason Merrill <jason@redhat.com>
7172
7173 * c.opt: Add -std=gnu++14.
7174
75b107f5
IB
71752014-03-11 Ian Bolton <ian.bolton@arm.com>
7176
7177 * c-opts.c (c_common_post_options): Don't override
7178 -ffp-contract=fast if unsafe-math-optimizations is on.
7179
f42c637e
PM
71802014-03-08 Paulo Matos <paulo@matos-sorge.com>
7181
22b15758 7182 * c.opt: Enable LTO FE for fshort-double.
f42c637e 7183
70e24808
JM
71842014-03-07 Jason Merrill <jason@redhat.com>
7185
7186 * c.opt: Add -std=c++14.
7187
3af9c5e9
MP
71882014-03-06 Marek Polacek <polacek@redhat.com>
7189
7190 PR c/60197
7191 * cilk.c (contains_cilk_spawn_stmt): New function.
7192 (contains_cilk_spawn_stmt_walker): Likewise.
7193 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7194 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7195
b3bdf019
JJ
71962014-03-03 Jakub Jelinek <jakub@redhat.com>
7197
7198 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7199 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7200 even when flag_preprocess_only.
7201
ca7e759d
JM
72022014-02-26 Jason Merrill <jason@redhat.com>
7203
7204 PR c++/59231
7205 PR c++/11586
7206 * c-common.c (shorten_compare): Don't check
7207 c_inhibit_evaluation_warnings.
7208
28e41874
JJ
72092014-02-19 Jakub Jelinek <jakub@redhat.com>
7210
cca615af
JJ
7211 PR c/37743
7212 * c-common.c (c_common_nodes_and_builtins): When initializing
7213 c_uint{16,32,64}_type_node, also set corresponding
7214 uint{16,32,64}_type_node to the same value.
7215
28e41874
JJ
7216 PR c++/60267
7217 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7218 for PRAGMA_IVDEP if flag_preprocess_only.
7219
c2bf53a1
JJ
72202014-02-12 Jakub Jelinek <jakub@redhat.com>
7221
7222 PR c/60101
7223 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7224 if false, add ADD itself, rather than vice versa.
7225 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7226 copy. For SAVE_EXPR, only call merge_tlist once.
7227
8fcbce72
JJ
72282014-02-08 Jakub Jelinek <jakub@redhat.com>
7229
7230 PR middle-end/60092
7231 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7232 and tree_to_uhwi.
7233 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7234 functions.
7235 (c_common_attribute_table): Add alloc_align and assume_aligned
7236 attributes.
7237
0a756a3f
MP
72382014-02-06 Marek Polacek <polacek@redhat.com>
7239
7240 PR c/60087
7241 * c-common.c (warn_for_sign_compare): Call warning_at with location
7242 instead of warning.
7243
7ec4847a
MP
72442014-02-05 Marek Polacek <polacek@redhat.com>
7245
7246 PR c/53123
7247 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7248 statement.
7249
66f20604
MP
72502014-02-04 Marek Polacek <polacek@redhat.com>
7251
7252 PR c/60036
7253 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7254 SAVE_EXPR.
7255
5d77fb19
MG
72562014-02-03 Marc Glisse <marc.glisse@inria.fr>
7257
7258 PR c++/53017
7259 PR c++/59211
7260 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7261 handle_vector_size_attribute, handle_nonnull_attribute): Call
7262 default_conversion on the attribute argument.
7263 (handle_nonnull_attribute): Increment the argument number.
7264
81e5eca8
MP
72652014-01-31 Marek Polacek <polacek@redhat.com>
7266
7267 PR c/59963
7268 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7269 build_function_call_vec.
7270 (resolve_overloaded_builtin): Likewise.
7271 * c-common.h (build_function_call_vec): Adjust declaration.
7272
68fca595
MP
72732014-01-30 Marek Polacek <polacek@redhat.com>
7274
7275 PR c/59940
7276 * c-common.h (unsafe_conversion_p): Adjust declaration.
7277 (warnings_for_convert_and_check): Likewise.
7278 (convert_and_check): Likewise.
7279 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7280 expansion_point_location_if_in_system_header on it.
7281 (warnings_for_convert_and_check): Add location parameter. Call
7282 expansion_point_location_if_in_system_header on it. Use it.
7283 (convert_and_check): Add location parameter. Use it.
7284 (conversion_warning): Likewise.
7285 (c_add_case_label): Adjust convert_and_check calls.
7286 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7287
b72271b9
BI
72882014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7289
7290 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7291 flag_cilkplus.
7292 * c-pragma.c (init_pragma): Likewise.
7293 * c.opt: Likewise.
7294
393e8e8b
MP
72952014-01-23 Marek Polacek <polacek@redhat.com>
7296
7297 PR c/59846
7298 * c-common.c (shorten_compare): Add location_t parameter.
7299 * c-common.h (shorten_binary_op): Adjust declaration.
7300
f04dda30
MP
73012014-01-23 Marek Polacek <polacek@redhat.com>
7302
7303 PR c/58346
7304 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7305 * c-common.h: Declare it.
7306
621955cb
EB
73072014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7308
7309 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7310 * c-ada-spec.c (dump_ads): Likewise.
7311 (cpp_check): Likewise.
7312 (dump_ada_specs): Likewise.
7313
73142014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
7315
7316 PR c++/49718
7317 * c-common.c (handle_no_instrument_function_attribute): Allow
7318 no_instrument_function attribute in class member
7319 definition/declaration.
7320
241f845a
JJ
73212014-01-15 Jakub Jelinek <jakub@redhat.com>
7322
7323 PR c/58943
7324 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7325 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7326 being COMPOUND_EXPR.
7327 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7328 operand a SAVE_EXPR and second MODIFY_EXPR.
7329
e83b8e2e
JJ
73302014-01-09 Jakub Jelinek <jakub@redhat.com>
7331
7332 PR target/58115
7333 * c-pch.c (c_common_write_pch): Call
7334 prepare_target_option_nodes_for_pch.
7335
23a5b65a
RS
73362014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7337
7338 Update copyright years
7339
f9030485
RS
73402014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7341
7342 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7343 the copyright notice.
7344
f2aa696b
EB
73452013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7346
7347 * c-ada-spec.c (print_constructor): New function.
7348 (print_destructor): Retrieve the origin of the destructor.
7349 (print_ada_declaration): Revamp handling of constructors/destructors.
7350
3f8257db 73512013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
7352 Bill Maddox <maddox@google.com>
7353 Jason Merrill <jason@redhat.com>
7354
7355 * c.opt: Add -fdeclone-ctor-dtor.
7356 * c-opts.c (c_common_post_options): Default to on iff -Os.
7357
41958c28
BI
73582013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7359
7360 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7361 attribute.
7362 * c-pragma.h (enum pragma_cilk_clause): Remove.
ab20d992 7363 (enum pragma_omp_clause): Added the following fields:
41958c28
BI
7364 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7365 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7366 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7367 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7368 PRAGMA_CILK_CLAUSE_UNIFORM.
7369
b1726d6c 7370
12893402
BI
73712013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7372
7373 * cilk.c (cilk_outline): Made this function non-static.
7374 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7375 (create_cilk_wrapper): Added a new parameter: a function pointer.
7376 (c_install_body_w_frame_cleanup): Remove
7377 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7378 * c-common.h (cilk_outline): New prototype.
7379 (gimplify_cilk_spawn): Removed two parameters.
7380 (cilk_install_body_with_frame_cleanup): New prototype.
7381 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7382 CILK_SPAWN_STMT case.
7383
085b42ed
BS
73842013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7385
2ce064c3
BS
7386 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7387
085b42ed
BS
7388 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7389 (int_array_type_node): Remove.
7390 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7391
9e36c9ed
MP
73922013-12-05 Marek Polacek <polacek@redhat.com>
7393
7394 PR c/52023
7395 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7396 [ADJUST_FIELD_ALIGN].
7397
296674db
JM
73982013-12-04 Joseph Myers <joseph@codesourcery.com>
7399
7400 PR c/52023
7401 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7402 and check field alignment if set.
7403 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7404 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7405
b1726d6c 74062013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
7407 Marek Polacek <polacek@redhat.com>
7408
7409 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7410 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7411
d7947e19
L
74122013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7413
7414 PR c/59309
7415 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7416 arguments.
7417
fad7652e
JJ
74182013-11-29 Jakub Jelinek <jakub@redhat.com>
7419
7420 PR c/59280
7421 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7422 goto invalid. If it is error_mark_node, don't issue further
7423 diagnostics.
7424
8b5e1202
SO
74252013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7426
7427 * c.opt (Wopenmp-simd): New.
7428
0a508bb6
JJ
74292013-11-22 Jakub Jelinek <jakub@redhat.com>
7430
7431 * c-ubsan.h (ubsan_instrument_return): New prototype.
7432 * c-ubsan.c (ubsan_instrument_return): New function.
7433
2fb9a547
AM
74342013-11-22 Andrew MacLeod <amacleod@redhat.com>
7435
7436 * c-common.c: Add required include files from gimple.h.
ab20d992
JJ
7437 * c-gimplify.c: Likewise.
7438 * cilk.c: Likewise.
2fb9a547 7439
8400e75e
DM
74402013-11-22 David Malcolm <dmalcolm@redhat.com>
7441
7442 * c-common.c (unsafe_conversion_p): Remove use of
7443 EXPR_LOC_OR_HERE macro.
7444 (conversion_warning): Likewise.
7445 (warnings_for_convert_and_check): Likewise.
7446 (warn_for_collisions_1): Likewise.
7447 (shorten_compare): Likewise, and remove use of in_system_header
7448 macro, using the location from the former.
7449 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7450 (cb_def_pragma): Remove use of in_system_header macro.
7451 (lex_string): Likewise.
7452 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7453
eb1ce453
KZ
74542013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7455 Mike Stump <mikestump@comcast.net>
7456 Richard Sandiford <rdsandiford@googlemail.com>
7457
7458 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7459 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7460 tree_fits_shwi_p or tree_fits_uhwi_p.
7461 (dump_generic_ada_node): Likewise.
7462 * c-format.c (check_format_arg): Likewise.
7463 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7464
6b3b8c27
KZ
74652013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7466
7467 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7468
49b0aa18
JC
74692013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7470
7471 PR c/53001
7472 * c-common.c (unsafe_conversion_p): Make this function
7473 return an enumeration with more detail.
7474 (conversion_warning): Use the new return type of
7475 unsafe_conversion_p to separately warn either about conversions
7476 that lower floating point number precision or about the other
7477 kinds of conversions.
7478 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
7479 (unsafe_conversion_p): switching return type to
7480 conversion_safety enumeration.
49b0aa18
JC
7481 * c.opt: Adding new warning -Wfloat-conversion and
7482 enabling it with -Wconversion.
7483
b826515a
BS
74842013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7485
8e745a17
JJ
7486 * c-opts.c: Include plugin.h.
7487 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 7488
b9a55b13
MP
74892013-11-19 Marek Polacek <polacek@redhat.com>
7490
7491 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
7492 call.
7493 (ubsan_instrument_shift): Likewise.
7494 (ubsan_instrument_vla): Likewise.
7495
7d362f6c
RS
74962013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7497
7498 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
7499 cast to unsigned type.
7500
386b1f1f
RS
75012013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7502
7503 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
7504 tree_low_cst.
7505 (complete_array_type): Update comment to refer to tree_to_[su]hwi
7506 rather than tree_low_cst.
7507
ae7e9ddd
RS
75082013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7509
7510 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
7511 tree_to_uhwi throughout.
7512
9439e9a1
RS
75132013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7514
7515 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
7516 tree_low_cst (..., 0) with tree_to_shwi throughout.
7517
cc269bb6
RS
75182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7519
7520 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
7521 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
7522
9541ffee
RS
75232013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
7524
7525 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
7526 host_integerp (..., 0) with tree_fits_shwi_p throughout.
7527
c02065fc
AH
75282013-11-15 Aldy Hernandez <aldyh@redhat.com>
7529
7530 * c-cilkplus.c: New file.
7531 * c-common.c (readonly_error): Add location argument.
7532 * c-common.h (readonly_error): Same.
7533 (c_finish_cilk_clauses): Protoize.
7534 (c_check_cilk_loop): Same.
7535 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
7536 Do not fail on error_mark_node.
7537 Abstract increment canonicalization to here...
7538 (c_omp_for_incr_canonicalize_ptr): New.
7539 c-pragma.c (init_pragma): Register "simd" pragma.
7540 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
7541 (enum pragma_cilk_clause): New.
7542
9cc65f15
RS
75432013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
7544
7545 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
7546 wchar_type and host_integerp checks.
7547
18f429e2
AM
75482013-11-14 Andrew MacLeod <amacleod@redhat.com>
7549
7550 * c-common.c: Likewise.
7551 * c-gimplify.c: Likewise.
7552 * cilk.c: Likewise.
7553
d8a2d370
DN
75542013-11-14 Diego Novillo <dnovillo@google.com>
7555
7556 * c-common.c: Include fold-const.h.
7557 Include stor-layout.h.
7558 Include calls.h.
7559 Include stringpool.h.
7560 Include attribs.h.
7561 Include varasm.h.
7562 Include trans-mem.h.
7563 * c-cppbuiltin.c: Include stor-layout.h.
7564 Include stringpool.h.
7565 * c-format.c: Include stringpool.h.
7566 * c-lex.c: Include stringpool.h.
7567 Include stor-layout.h.
7568 * c-pragma.c: Include stringpool.h.
7569 Include attribs.h.
7570 Include varasm.h.
7571 Include gcc-symtab.h.
7572 * c-pretty-print.c: Include stor-layout.h.
7573 Include attribs.h.
7574 * cilk.c: Include stringpool.h.
7575 Include calls.h.
7576
38b7bc7f
JM
75772013-11-13 Joseph Myers <joseph@codesourcery.com>
7578
7579 * c-common.h (enum rid): Add RID_AUTO_TYPE.
7580 * c-common.c (c_common_reswords): Add __auto_type.
7581 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
7582
45b0be94
AM
75832013-11-12 Andrew MacLeod <amacleod@redhat.com>
7584
18f429e2
AM
7585 * c-common.c: Include gimplify.h.
7586 * c-gimplify.c: Likewise.
7587 * cilk.c: Likewise.
7588 * c-omp.c: Include gimple-expr.h instead of gimple.h.
7589 * c-ubsan.c: Don't include gimple.h.
45b0be94 7590
582d9b50
JM
75912013-11-12 Joseph Myers <joseph@codesourcery.com>
7592
7593 * c-common.c (c_common_reswords): Add _Thread_local.
7594
6b28e197
JM
75952013-11-09 Joseph Myers <joseph@codesourcery.com>
7596
7597 * c-common.c (atomic_size_supported_p): New function.
7598 (resolve_overloaded_atomic_exchange)
7599 (resolve_overloaded_atomic_compare_exchange)
7600 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
7601 Use it instead of comparing size with a local list of sizes.
7602
267bac10
JM
76032013-11-07 Andrew MacLeod <amacleod@redhat.com>
7604 Joseph Myers <joseph@codesourcery.com>
7605
7606 * c-common.h (enum rid): Add RID_ATOMIC.
7607 * c-common.c (c_common_reswords): Add _Atomic.
7608 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
7609 (keyword_is_type_qualifier): Accept RID_ATOMIC.
7610 * c-format.c (check_format_types): Check for extra _Atomic
7611 qualifiers in format argument.
7612 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
7613 (pp_c_type_qualifier_list): Mention _Atomic in comment.
7614
5157b91e
TB
76152013-11-06 Tobias Burnus <burnus@net-b.de>
7616
7617 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
7618
6dbe0958
JM
76192013-11-06 Joseph Myers <joseph@codesourcery.com>
7620
7621 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
7622 standards modes.
7623 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
7624 to mean lack of IEEE 754 support.
7625
e8ff5196
TB
76262013-11-05 Tobias Burnus <burnus@net-b.de>
7627
7628 * c.opt (-Wdate-time): New option
7629 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
7630
254a0760
JM
76312013-11-05 Joseph Myers <joseph@codesourcery.com>
7632
7633 * c-cppbuiltin.c (cpp_iec_559_value): Test
7634 flag_excess_precision_cmdline not flag_excess_precision.
7635
6d7f7e0a
TB
76362013-11-05 Tobias Burnus <burnus@net-b.de>
7637
7638 * c.opt (fopenmp-simd): New option.
7639 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
7640 (omp_pragmas): ... this new struct.
7641 (c_pp_lookup_pragma): Also walk omp_pragmas.
7642 (init_pragma): Init pragmas for -fopenmp-simd.
7643
55a7f02f
MP
76442013-11-04 Marek Polacek <polacek@redhat.com>
7645
7646 PR c++/58979
7647 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
7648
9193fb05
JM
76492013-11-04 Joseph Myers <joseph@codesourcery.com>
7650
7651 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
7652 New functions.
7653 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
7654
94159ecf
EB
76552013-11-04 Eric Botcazou <ebotcazou@adacore.com>
7656
7657 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
7658 (dump_ada_specs): Adjust prototype of second callback.
7659 * c-ada-spec.c (cpp_check): New global variable.
7660 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
7661 (print_generic_ada_decl): Likewise.
7662 (has_static_fields): Change return type to bool and add guard.
7663 (has_nontrivial_methods): New predicate.
7664 (is_tagged_type): Change return type to bool.
7665 (separate_class_package): Call has_nontrivial_methods.
7666 (pp_ada_tree_identifier): Minor tweaks.
7667 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
7668 (dump_ada_array_domains): Likewise.
7669 (dump_ada_array_type): Likewise.
7670 (dump_template_types): Remove cpp_check parameter and do not pass it to
7671 dump_generic_ada_node.
7672 (dump_ada_template): Likewise.
7673 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
7674 recursively.
7675 (print_ada_methods): Change return type to integer. Remove cpp_check
7676 parameter and do not pass it down.
7677 (dump_nested_types): Remove cpp_check parameter and do not pass it to
7678 dump_generic_ada_node.
7679 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
7680 accessing methods.
7681 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
7682 down. Use has_nontrivial_methods to recognize C++ classes. Use return
7683 value of print_ada_methods.
7684 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
7685 Set cpp_check to it before invoking dump_ada_nodes.
7686 (dump_ada_specs): Likewise.
7687
b906f4ca
MP
76882013-11-03 Marek Polacek <polacek@redhat.com>
7689
7690 * c-ubsan.c: Don't include hash-table.h.
7691 (ubsan_instrument_vla): New function.
7692 * c-ubsan.h: Declare it.
7693
5e20cdc9
DM
76942013-10-31 David Malcolm <dmalcolm@redhat.com>
7695
7696 Automated part of renaming of symtab_node_base to symtab_node.
7697
7698 Patch autogenerated by rename_symtab.py from
7699 https://github.com/davidmalcolm/gcc-refactoring-scripts
7700 revision 58bb219cc090b2f4516a9297d868c245495ee622
7701
7702 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
7703 symtab_node_base to symtab_node.
7704
7057e645
ESR
77052013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
7706
8e745a17 7707 Implement C++14 digit separators.
7057e645
ESR
7708 * c-lex.c (interpret_float): Remove digit separators from scratch string
7709 before building real literal.
7710
193ea7bc
JJ
77112013-10-30 Jakub Jelinek <jakub@redhat.com>
7712
7713 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
7714
939b37da
BI
77152013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
7716
7717 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
7718 fields.
7719 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
7720 enabled.
7721 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
7722 (insert_cilk_frame): New prototype.
7723 (cilk_init_builtins): Likewise.
7724 (gimplify_cilk_spawn): Likewise.
7725 (c_cilk_install_body_w_frame_cleanup): Likewise.
7726 (cilk_detect_spawn_and_unwrap): Likewise.
7727 (cilk_set_spawn_marker): Likewise.
7728 (build_cilk_sync): Likewise.
7729 (build_cilk_spawn): Likewise.
7730 * cilk.c: New file.
7731
67348ccc
DM
77322013-10-29 David Malcolm <dmalcolm@redhat.com>
7733
7734 Patch autogenerated by refactor_symtab.py from
7735 https://github.com/davidmalcolm/gcc-refactoring-scripts
7736 revision 58bb219cc090b2f4516a9297d868c245495ee622
7737
7738 * c-gimplify.c (c_genericize): Update for conversion of symtab types
7739 to a true class hierarchy.
7740 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
7741
d570872d
RS
77422013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
7743
7744 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
7745
98906124
JL
77462013-10-26 Jeff Law <law@redhat.com>
7747
adfac8df
JJ
7748 * c-common.c (c_define_builtins): Remove mudflap support.
7749 * c.opt: Ignore and warn for mudflap options.
98906124 7750
d73749df 77512013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
7752
7753 PR other/33426
7754 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
7755 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
7756
3f04b1bb
JM
77572013-10-23 Jason Merrill <jason@redhat.com>
7758
7759 * c-format.c (gcc_cxxdiag_char_table): Add %X.
7760
acf0174b
JJ
77612013-10-11 Jakub Jelinek <jakub@redhat.com>
7762
acd15a28
JJ
7763 * c-common.h (omp_clause_mask::operator !=): New method.
7764 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
7765 instead of if (mask & something) tests everywhere.
7766
acf0174b
JJ
7767 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
7768 201307 instead of 201107.
7769 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
7770 (c_common_attribute_table): Add "omp declare target" and
7771 "omp declare simd" attributes.
7772 (handle_omp_declare_target_attribute,
7773 handle_omp_declare_simd_attribute): New functions.
7774 * c-omp.c: Include c-pragma.h.
7775 (c_finish_omp_taskgroup): New function.
7776 (c_finish_omp_atomic): Add swapped argument, if true,
7777 build the operation first with rhs, lhs arguments and use NOP_EXPR
7778 build_modify_expr.
7779 (c_finish_omp_for): Add code argument, pass it down to make_code.
7780 (c_omp_split_clauses): New function.
7781 (c_split_parallel_clauses): Removed.
7782 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
7783 c_omp_declare_simd_clauses_to_decls): New functions.
7784 * c-common.h (omp_clause_mask): New type.
7785 (OMP_CLAUSE_MASK_1): Define.
7786 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
7787 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
7788 omp_clause_mask::operator |, omp_clause_mask::operator &,
7789 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
7790 omp_clause_mask::operator ==): New methods.
7791 (enum c_omp_clause_split): New.
7792 (c_finish_omp_taskgroup): New prototype.
7793 (c_finish_omp_atomic): Add swapped argument.
7794 (c_finish_omp_for): Add code argument.
7795 (c_omp_split_clauses): New prototype.
7796 (c_split_parallel_clauses): Removed.
7797 (c_omp_declare_simd_clauses_to_numbers,
7798 c_omp_declare_simd_clauses_to_decls): New prototypes.
7799 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
7800 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
7801 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
7802 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
7803 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
7804 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
7805 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
7806 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
7807 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
7808 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
7809 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
7810 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
7811 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
7812 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
7813 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
7814 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
7815 PRAGMA_OMP_CLAUSE_UNIFORM.
7816
826cacfe
MG
78172013-10-09 Marc Glisse <marc.glisse@inria.fr>
7818
7819 PR tree-optimization/20318
7820 * c-common.c (handle_returns_nonnull_attribute): New function.
7821 (c_common_attribute_table): Add returns_nonnull.
7822
2284b034
MG
78232013-10-03 Marc Glisse <marc.glisse@inria.fr>
7824
7825 PR c++/19476
7826 * c.opt (fcheck-new): Move to common.opt.
7827
b56e9788
MP
78282013-09-25 Marek Polacek <polacek@redhat.com>
7829 Jakub Jelinek <jakub@redhat.com>
7830
7831 PR sanitizer/58413
7832 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
7833 an expression if we can prove it is correct.
7834 (ubsan_instrument_division): Likewise. Remove unnecessary
7835 check.
7836
ce6923c5
MP
78372013-09-18 Marek Polacek <polacek@redhat.com>
7838
7839 PR sanitizer/58411
7840 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
7841 Declare it.
7842 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
7843
fb5610fb
IS
78442013-09-14 Iain Sandoe <iain@codesourcery.com>
7845
7846 PR target/48094
7847 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
7848 fobjc-gc, freplace-objc-classes): Accept for LTO.
7849
88b0e79e
JC
78502013-09-13 Jacek Caban <jacek@codeweavers.com>
7851
7852 * c-target.def: New hook
7853
c9b0866a
PC
78542013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
7855
7856 PR c++/43452
7857 * c.opt (Wdelete-incomplete): Add.
7858
0af94e6f
JR
78592013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
7860
7861 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
7862 (vector_types_compatible_elements_p): New function.
7863 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
7864 declaration.
7865 (vector_types_compatible_elements_p): Declare.
7866
7c26172c
GDR
78672013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
7868
7869 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
7870 a virtual member function.
7871 (pp_simple_type_specifier): Remove.
7872 (pp_c_type_specifier): Likewise.
7873 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
7874 Rename from pp_c_type_specifier. Adjust.
7875 (c_pretty_printer::c_pretty_printer): Do not assign to
7876 simple_type_specifier.
7877
20059c8b
GDR
78782013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
7879
7880 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
7881 member function.
7882 (c_pretty_printer::storage_class_specifier): Likewise.
7883 (c_pretty_printer::initializer): Likewise.
7884 (pp_declaration): Remove.
7885 (pp_declaration_specifiers): Likewise.
7886 (pp_abstract_declarator): Likewise.
7887 (pp_declarator): Likewise.
7888 (pp_type_id): Likewise.
7889 (pp_statement): Likewise.
7890 (pp_constant): Likewise.
7891 (pp_id_expression): Likewise.
7892 (pp_primary_expression): Likewise.
7893 (pp_unary_expression): Likewise.
7894 (pp_multiplicative_expression): Likewise.
7895 (pp_conditional_expression): Likewise.
7896 (pp_assignment_expression): Likewise.
7897 (pp_expression): Likewise.
7898 (pp_c_type_id): Likewise.
7899 (pp_c_storage_class_specifier): Likewise.
7900 * c-pretty-print.c (pp_c_type_cast): Tidy.
7901 (pp_c_pointer): Likewise.
7902 (pp_c_type_specifier): Likewise.
7903 (pp_c_parameter_type_list): Likewise.
7904 (pp_c_function_definition): Likewise.
7905 (pp_c_init_declarator): Likewise.
7906 (pp_c_initializer_list): Likewise.
7907 (pp_c_constructor_elts): Likewise.
7908 (c_pretty_printer::direct_abstract_declarator): Likewise.
7909 (c_pretty_printer::declaration_specifiers): Likewise.
7910 (c_pretty_printer::primary_expression): Likewise.
7911 (c_pretty_printer::postfix_expression): Likewise.
7912 (c_pretty_printer::type_id): Rename from pp_c_type_id.
7913 (c_pretty_printer::storage_class_specifier): Rename from
7914 pp_c_storage_class_specifier.
7915 (c_pretty_printer::initializer): Rename from pp_c_initializer.
7916 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
7917 storage_class_specifier, initializer, offset_list, flags.
7918
de5a5fa1
MP
79192013-08-30 Marek Polacek <polacek@redhat.com>
7920
7921 * c-ubsan.c: New file.
7922 * c-ubsan.h: New file.
7923
8f0e4d72
GDR
79242013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
7925
7926 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
7927 member function.
7928 (c_pretty_printer::declaration_specifiers): Likewise.
7929 (c_pretty_printer::declarator): Likewise.
7930 (c_pretty_printer::abstract_declarator): Likewise.
7931 (c_pretty_printer::direct_abstract_declarator): Likewise.
7932 (c_pretty_printer::direct_declarator): Likewise.
7933 (c_pretty_printer::function_specifier): Likewise.
7934 (pp_declaration): Adjust.
7935 (pp_declaration_specifiers): Likewise.
7936 (pp_abstract_declarator): Likewise.
7937 (pp_direct_declarator): Likewise.
7938 (pp_function_specifier): Likewise.
7939 (pp_direct_abstract_declarator): Remove as unused.
7940 (pp_c_declaration): Remove.
7941 (pp_c_declaration_specifiers): Likewise.
7942 (pp_c_declarator): Likewise.
7943 (pp_c_direct_declarator): Likewise.
7944 (pp_c_function_specifier): Likewise.
7945 (pp_c_direct_abstract_declarator): Likewise.
7946 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
7947 from pp_c_abstract_declarator. Adjust.
ab20d992 7948 (c_pretty_printer::direct_abstract_declarator): Rename from
8f0e4d72
GDR
7949 pp_c_direct_abstract_declarator. Adjust.
7950 (c_pretty_printer::function_specifier): Rename from
7951 pp_c_function_specifier. Adjust.
7952 (c_pretty_printer::declaration_specifiers): Rename from
7953 pp_c_declaration_specifiers. Adjust.
7954 (c_pretty_printer::direct_declarator): Rename from
7955 pp_c_direct_declarator. Adjust.
7956 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
7957 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
7958 (c_pretty_printer::c_pretty_printer): Do not assign to
7959 declaration, declaration_specifiers, declarator,
7960 direct_declarator, direct_abstract_declarator, function_specifier.
7961
00d34d3a
GDR
79622013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
7963
7964 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
7965 virtual member function.
7966 (c_pretty_printer::multiplicative_expression): Likewise.
7967 (c_pretty_printer::conditional_expression): Likewise.
7968 (c_pretty_printer::assignment_expression): Likewise.
7969 (c_pretty_printer::expression): Likewise.
7970 (pp_unary_expression): Adjust.
7971 (pp_multiplicative_expression): Likewise.
7972 (pp_assignment_expression): Likewise.
7973 (pp_conditional_expression): Likewise.
7974 (pp_expression): Likewise.
7975 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
7976 from pp_c_unary_expression. Adjust.
7977 (c_pretty_printer::multiplicative_expression): Rename from
7978 pp_c_multiplicative_expression. Adjust.
7979 (c_pretty_printer::conditional_expression): Rename from
7980 pp_c_conditional_expression. Adjust.
7981 (c_pretty_printer::assignment_expression): Rename from
7982 pp_c_assignment_expression. Adjust.
7983 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
7984 (c_pretty_printer::c_pretty_printer): Do not assign to
7985 unary_expression, multiplicative_expression,
7986 conditional_expression, expression.
7987
fb22178f
GDR
79882013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
7989
7990 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
7991 virtual member function.
7992 (pp_postfix_expression): Adjust.
7993 (pp_c_postfix_expression): Remove.
7994 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
7995 from pp_c_postfix_expression. Adjust.
7996 (c_pretty_printer::c_pretty_printer): Do not assign to
7997 postfix_expression.
7998
7ecc2600
GDR
79992013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8000
8001 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8002 virtua member function.
8003 (pp_primary_expression): Adjust.
8004 (pp_c_primary_expression): Remove.
8005 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8006 from pp_c_primary_expression. Adjust.
8007 (pp_c_initializer_list): Use pp_primary_expression.
8008 (c_pretty_printer::c_pretty_printer): Do not assign to
8009 primary_expression.
8010
0691175f
GDR
80112013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8012
8013 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8014 * c-pretty-print.c (M_): Remove.
8015 (c_pretty_printer::translate_string): Define.
8016 (pp_c_type_specifier): Use it.
8017 (pp_c_primary_expression): Likewise.
8018 (pp_c_expression): Likewise.
8019
66dfe4c4
GDR
80202013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8021
8022 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8023 virtual function.
8024 (pp_c_id_expression): Remove.
8025 (pp_id_expression): Adjust.
8026 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8027 pp_c_id_expression. Adjust.
8028 (pp_c_postfix_expression): Use pp_id_expression.
8029 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8030
ca43e9d5
GDR
80312013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8032
8033 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8034 member function.
8035 (pp_constant): Adjust.
8036 (pp_c_constant): Remove.
8037 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8038 pp_c_constant. Adjust.
8039 (pp_c_constant)
8040 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8041 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8042
da6ca2b5
GDR
80432013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8044
8045 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8046 (c_pretty_printer::c_pretty_printer): Declare.
8047 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8048 c_pretty_printer_init. Adjust.
8049 (print_c_tree): Do not call c_pretty_printer_init.
8050 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8051
65a372f4
AC
80522013-08-09 Arnaud Charlet <charlet@adacore.com>
8053
8054 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8055
fd9b0f32
PC
80562013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8057
8058 PR c++/58080
8059 * c-common.c (pointer_int_sum): Add bool parameter.
8060 * c-common.h (pointer_int_sum): Adjust declaration.
8061
e0aec1e9
GDR
80622013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8063
8064 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8065 c_pretty_printer variable.
8066
b066401f
GDR
80672013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8068
8069 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8070 (pp_base): Remove.
8071 (pp_c_base): Likewise. Adjust users.
8072 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8073 (pp_c_whitespace): Do not call pp_base.
8074 (pp_c_left_paren): Likewise.
8075 (pp_c_right_paren): Likewise.
8076 (pp_c_left_brace): Likewise.
8077 (pp_c_right_brace): Likewise.
8078 (pp_c_left_bracket): Likewise.
8079 (pp_c_right_bracket): Likewise.
8080 (pp_c_dot): Likewise.
8081 (pp_c_ampersand): Likewise.
8082 (pp_c_star): Likewise.
8083 (pp_c_arrow): Likewise.
8084 (pp_c_semicolon): Likewise.
8085 (pp_c_complement): Likewise.
8086 (pp_c_exclamation): Likewise.
8087 (pp_c_direct_declarator): Likewise.
8088 (pp_c_ws_string): Likewise.
8089 (pp_c_identifier): Likewise.
8090 (pp_c_statement): Likewise.
8091 (print_c_tree): Likewise.
8092
65e5a578
ESR
80932013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8094
8095 PR c++/58072
8096 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8097 provide useful error strings.
8098
137a1a27
GDR
80992013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8100
8101 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8102 printer functions instead of pp_string or operators and punctuators.
8103 (dump_generic_ada_node): Likewise.
8104 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8105 (pp_c_relational_expression): Likewise.
8106 (pp_c_logical_or_expression): Likewise.
8107
07838b13
GDR
81082013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8109
8110 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8111 functions instead of pp_character.
8112 (pp_ada_tree_identifier): Likewise.
8113 (dump_ada_double_name): Likewise.
8114 (dump_ada_function_declaration): Likewise.
8115 (dump_ada_array_domains): Likewise.
8116 (dump_template_types): Likewise.
8117 (dump_generic_ada_node): Likewise.
8118 (print_ada_declaration): Likewise.
8119 (print_ada_struct_decl): Likewise.
8120 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8121
433cc7b0
TT
81222013-07-23 Tom Tromey <tromey@redhat.com>
8123
8124 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8125 * c-common.c (c_common_reswords): Add _Generic.
8126
688010ba
OB
81272013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8128
8129 * c-common.c: Fix typos.
8130 * c-common.h: Likewise.
8131
2a99e5e6
LL
81322013-07-13 Lubos Lunak <l.lunak@suse.cz>
8133
8134 PR c++/55203
8135 * c-common.c (c_common_attribute_table): Add warn_unused.
8136 (handle_warn_unused_attribute): New.
8137
c26302d5
JJ
81382013-07-10 Jakub Jelinek <jakub@redhat.com>
8139
8140 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8141 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8142
dfeadaa0
PC
81432013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8144
8145 PR c++/57869
8146 * c.opt: Add Wconditionally-supported.
8147
6a2fa4b2
GS
81482013-07-08 Graham Stott <graham.stott@btinternet.com>
8149
adfac8df 8150 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
8151 unused variables l_length and l_node.
8152
ecdbd01a 81532013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
8154
8155 PR c/57821
8156 * c-common.c (complete_array_type): Delay folding first index
8157 like other indices. When folding, check for index overflow.
8158
bedc293e
MG
81592013-06-27 Marc Glisse <marc.glisse@inria.fr>
8160
8161 PR c++/57509
8162 * c-common.h (c_build_vec_perm_expr): New complain argument.
8163 * c-common.c (c_build_vec_perm_expr): Likewise.
8164 Use save_expr also in C++.
8165
604b2bfc
GDR
81662013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8167
8168 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8169 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8170 * c-opts.c (c_common_post_options): Likewise.
8171
dfeadaa0 81722013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
8173
8174 * array-notation-common.c (length_mismatch_in_expr): Changed the
8175 parameter type's from a dynamic array to a vec_tree. Also removed
8176 the size parameters.
8177 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8178 the change above.
8179
2ce86d2e
BI
81802013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8181
8182 * c-common.h (struct cilkplus_an_parts): New structure.
8183 (struct cilkplus_an_loop_parts): Likewise.
8184 (cilkplus_extract_an_triplets): New prototype.
8185 (fix_sec_implicit_args): Likewise.
8186 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8187 (fix_sec_implicit_args): Likewise.
604b2bfc 8188
07a6825b
BI
81892013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8190
8191 * array-notation-common.c (find_inv_trees): Removed an unwanted
8192 typecasting.
8193 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8194 enum rid to enum tree_code.
8195
08346abd
JH
81962013-06-11 Jan Hubicka <jh@suse.cz>
8197
8198 * c-common.c (handle_alias_ifunc_attribute): Do not set
8199 DECL_EXTERNAL for weakref variables.
8200 * c-pragma.c (handle_pragma_weak): Make sure aliases
8201 are not declared as external.
8202
d60f1706
BI
82032013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8204
8205 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8206 function from c/c-array-notation.c.
8207 (is_cilkplus_reduce_builtin): Likewise.
8208 (find_rank): Likewise.
8209 (extract_array_notation_exprs): Likewise.
8210 (replace_array_notations): Likewise.
8211 (find_inv_trees): Likewise.
8212 (replace_inv_trees): Likewise.
8213 (contains_array_notation_expr): Likewise.
8214 (find_correct_array_notation_type): Likewise.
8215 * c-common.h (struct inv_list): Moved this struct from the file
8216 c/c-array-notation.c and added a new field called additional tcodes.
8217 (length_mismatch_in_expr_p): New prototype.
8218 (is_cilkplus_reduce_builtin): Likewise.
8219 (find_rank): Likewise.
8220 (extract_array_notation_exprs): Likewise.
8221 (replace_array_notation): Likewise.
8222 (find_inv_trees): Likewise.
8223 (replace_inv_trees): Likewise.
8224 (find_correct_array_notation_type): Likewise.
dfeadaa0 8225
36536d79
BI
82262013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8227
8228 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8229 function array_notation_init_builtins is called.
8230 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8231 * c-common.def (ARRAY_NOTATION_REF): New tree.
8232 * c-common.h (build_array_notation_expr): New function declaration.
8233 (build_array_notation_ref): Likewise.
8234 (extract_sec_implicit_index_arg): New extern declaration.
8235 (is_sec_implicit_index_fn): Likewise.
8236 (ARRAY_NOTATION_CHECK): New define.
8237 (ARRAY_NOTATION_ARRAY): Likewise.
8238 (ARRAY_NOTATION_START): Likewise.
8239 (ARRAY_NOTATION_LENGTH): Likewise.
8240 (ARRAY_NOTATION_STRIDE): Likewise.
8241 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8242 ARRAY_NOTATION_REF.
8243 (pp_c_expression): Likewise.
8244 * c.opt (flag_enable_cilkplus): New flag.
8245 * array-notation-common.c: New file.
8246
f7716d57
JJ
82472013-05-14 Jakub Jelinek <jakub@redhat.com>
8248
8249 PR c++/57274
8250 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8251
a5e0cd1d
MG
82522013-05-10 Marc Glisse <marc.glisse@inria.fr>
8253
8254 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8255 vectors.
8256
f6bc1c4a
HS
82572013-05-07 Han Shen <shenhan@google.com>
8258
8259 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8260
3f12f6e9
SKS
82612013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8262
8263 * c-common.c (check_user_alignment): Emit error for negative values.
8264
61949153
PC
82652013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8266
8267 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8268
e93e18e9
PC
82692013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8270
8271 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8272 __GXX_EXPERIMENTAL_CXX1Y__.
8273
44d90fe1 82742013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 8275 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
8276
8277 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8278 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8279 to simply use OPT_Wpointer_arith.
8280 (c_sizeof_or_alignof_type): Likewise.
8281
13f39b2e
PC
82822013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8283
8284 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8285
4b84d650
JJ
82862013-04-12 Jakub Jelinek <jakub@redhat.com>
8287
8288 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8289 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8290 specifiers.
8291
fb037b5d
SB
82922013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8293
8294 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8295
4e856798
PC
82962013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8297
8298 * c-common.c (pointer_int_sum): Remove dead code.
8299
4b1baac8
RS
83002013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8301
8302 PR middle-end/56524
8303 * c-common.c (handle_optimize_attribute): Don't call
8304 save_optabs_if_changed.
8305
0b50e654
JJ
83062013-03-05 Jakub Jelinek <jakub@redhat.com>
8307
8308 PR middle-end/56461
8309 * c-pch.c (pch_init): Free target_validity at the end.
8310
48c41403
JJ
83112013-03-04 Jakub Jelinek <jakub@redhat.com>
8312
8313 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8314
e664c61c
KS
83152013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8316 Jakub Jelinek <jakub@redhat.com>
8317
8318 PR sanitizer/56454
8319 * c-common.c (handle_no_sanitize_address_attribute): New function.
8320 (c_common_attribute_table): Add no_sanitize_address attribute.
8321 (handle_no_address_safety_analysis_attribute): Add
8322 no_sanitize_address attribute, not no_address_safety_analysis
8323 attribute.
8324
a475fd3d 83252013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
8326
8327 PR target/52555
8328 * c-common.c (handle_optimize_attribute): Call
8329 save_optabs_if_changed.
8330
f6007d99
JJ
83312013-02-18 Jakub Jelinek <jakub@redhat.com>
8332 Steven Bosscher <steven@gcc.gnu.org>
8333
8334 PR pch/54117
8335 * c-opts.c (c_common_post_options): If debug info is enabled
8336 and non-dwarf*, refuse to load PCH files and when writing PCH
8337 file warn.
8338
cf35e2b1
JJ
83392013-02-05 Jakub Jelinek <jakub@redhat.com>
8340
8341 PR middle-end/56167
8342 * c-common.c (handle_error_attribute): Fix condition.
8343
32887460
JJ
83442013-01-30 Jakub Jelinek <jakub@redhat.com>
8345
8346 PR c++/55742
8347 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8348
5af057d8
JM
83492013-01-18 Jason Merrill <jason@redhat.com>
8350
8351 PR target/54908
8352 * c.opt (-fextern-tls-init): New.
8353 * c-opts.c (c_common_post_options): Handle it.
8354
cc83c823
JJ
83552013-01-09 Jakub Jelinek <jakub@redhat.com>
8356
8357 PR c/48418
8358 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8359 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8360 and is either negative or bigger or equal to type precision
8361 of the first operand.
8362
a859517f
MP
83632012-12-03 Marek Polacek <polacek@redhat.com>
8364
8365 PR c/55570
8366 * c-common.c (check_user_alignment): Swap order of tests,
8367 check TREE_CODE first.
8368
2d7aa578
ESR
83692012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8370
8371 PR c++/52654
8372 * c-common.h (overflow_type): New enum.
8373 (build_userdef_literal): Add overflow_type argument.
8374 (tree_userdef_literal): Add overflow_type.
8375 (USERDEF_LITERAL_OVERFLOW): New access macro.
8376 * c-common.c (build_userdef_literal): Add overflow_type
8377 argument.
8378 * c-lex.c (c_lex_with_flags): Add overflow_type to
8379 build_userdef_literal calls.
8380 (interpret_integer, interpret_float): Add overflow_type argument.
8381
cc3c4f62
RB
83822012-11-28 Richard Biener <rguenther@suse.de>
8383
8384 PR c/35634
8385 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8386 here and use a type with proper overflow behavior for types that would
8387 need to be promoted for the arithmetic.
8388
77bc5132
JJ
83892012-11-23 Jakub Jelinek <jakub@redhat.com>
8390
8391 PR sanitizer/55435
8392 * c-common.c (handle_no_address_safety_analysis_attribute): New
8393 function.
8394 (c_common_attribute_table): Add no_address_safety_analysis.
8395
5dc99c46
SB
83962012-11-16 Simon Baldwin <simonb@google.com>
8397
8398 * c.opt: Add f[no-]canonical-system-headers.
8399 * c-opts.c (c_common_handle_option): Handle
8400 OPT_fcanonical_system_headers.
8401
a4a0016d
ESR
84022012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8403
8404 PR c++/54413
8405 * c-opts.c (c_common_handle_option): Set new flags.
8406 * c.opt: Describe new flags.
8407
7dbb85a7
JM
84082012-11-09 Jason Merrill <jason@redhat.com>
8409
8410 * c.opt (Wabi-tag): New.
8411
ad7bac31
AK
84122012-11-09 Andi Kleen <ak@linux.intel.com>
8413
8414 PR 55139
8415 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 8416 MEMMODEL_MASK
ad7bac31 8417
7332899a
MLI
84182012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8419
8420 PR c/53063
8421 * c.opt (Wformat): Make it Alias Wformat=1.
8422 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8423 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8424 LangEnabledBy.
8425 (Wformat=): RejectNegative. Use LangEnabledBy.
8426 (Wnonnull): Use LangEnabledBy.
8427 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8428 * c-format.c (set_Wformat): Delete.
8429 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
ab20d992
JJ
8430 (maybe_read_dollar_number): Likewise.
8431 (avoid_dollar_number): Likewise.
8432 (finish_dollar_format_checking): Likewise.
8433 (check_format_info): Likewise.
8434 (check_format_info_main): Likewise.
8435 (check_format_types): Likewise.
8436 (format_type_warning): Likewise.
8437 * c-common.c (int): Likewise.
8438 (check_function_sentinel): Likewise.
8e745a17 8439 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 8440
34a180a6
MLI
84412012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8442
8443 PR c/53063
8444 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8445 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8446 Use LangEnabledBy.
8447 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8448 common.opt.
8449 (Wvariadic-macros): Init(1).
8450 * c-opts.c (c_common_handle_option): Do not handle them
8451 explicitly.
8452 (c_common_post_options): Likewise.
8453 (sanitize_cpp_opts): warn_unused_macros is now
8454 cpp_warn_unused_macros.
8455 (push_command_line_include): Likewise.
8456 * c-common.c (warn_unknown_pragmas): Do not define.
8457 * c-common.h (warn_unknown_pragmas): Do not declare.
8458
3f46d6a5
MLI
84592012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8460
8461 PR c/51294
8462 * c-common.c (conversion_warning): Handle conditional expressions.
8463
880661a4
JW
84642012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8465
8466 PR c++/54930
8467 * c.opt (Wreturn_local_addr): Define new option.
8468
4514a96b
JM
84692012-10-25 Jason Merrill <jason@redhat.com>
8470
f14edc1a
JM
8471 * c.opt (Wvirtual-move-assign): New.
8472
4514a96b
JM
8473 * c.opt (Winherited-variadic-ctor): New.
8474
93100c6b
MG
84752012-10-25 Marc Glisse <marc.glisse@inria.fr>
8476
8477 PR c++/54427
8478 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8479
1efcb8c6
JM
84802012-10-23 Joseph Myers <joseph@codesourcery.com>
8481
8482 * c-common.h (pch_cpp_save_state): Declare.
8483 * c-target.def (c_preinclude): New hook.
8484 * c-opts.c (done_preinclude): New.
8485 (push_command_line_include): Handle default preincluded header.
8486 (cb_file_change): Call pch_cpp_save_state when calling
8487 push_command_line_include.
8488 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8489 (pch_cpp_save_state): New.
8490 (pch_init): Call pch_cpp_save_state conditionally, instead of
8491 calling cpp_save_state.
8492
4a0ae68e
MLI
84932012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
8494
8495 PR c/53063
8496 PR c/40989
8497 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
8498 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
8499 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
8500 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
8501 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
8502 * c-opts.c (c_common_handle_option): Remove explicit handling from
8503 here.
8504 (c_common_post_options): Likewise.
8505
67e4210b
EB
85062012-10-18 Eric Botcazou <ebotcazou@adacore.com>
8507
8508 * c-ada-spec.c (LOCATION_COL): Delete.
8509 (compare_location): New function.
8510 (compare_node): Use it.
8511 (compare_comment): Likewise.
8512
65d4f2cd
MLI
85132012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
8514
8515 PR c/53063
8516 PR c/40989
8517 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
8518 * c-opts.c (c_common_handle_option): Do not set them here. Add
8519 comment.
8520 (c_common_post_options): Likewise.
8521
909881cb
EB
85222012-10-16 Eric Botcazou <ebotcazou@adacore.com>
8523
8524 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
8525 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
8526 Remove POINTER_TYPE handling, add large unsigned handling and use
8527 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
8528
3a785c97
JJ
85292012-10-12 Jakub Jelinek <jakub@redhat.com>
8530
8531 PR c/54381
8532 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
8533 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
8534 locs and array of 3 trees instead of just single loc and single
8535 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
8536 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
8537 For *cmp* builtins that take two sources strings report warnings
8538 about first and second source, not about destination and source.
8539
5e54f81d
MG
85402012-10-12 Marc Glisse <marc.glisse@inria.fr>
8541
8542 PR c++/53055
8543 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
8544
f5b02f1e
EB
85452012-10-11 Eric Botcazou <ebotcazou@adacore.com>
8546
8547 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
8548 declaring something coming from another file.
8549
b46dbc6c
AC
85502012-10-10 Arnaud Charlet <charlet@adacore.com>
8551
f5b02f1e 8552 PR ada/54845
b46dbc6c
AC
8553 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
8554
5d9de0d0
PC
85552012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
8556
8557 PR c++/54194
8558 * c-common.c (warn_about_parentheses): Add location_t parameter;
8559 use EXPR_LOC_OR_LOC.
8560 * c-common.h: Update declaration.
8561
a212e43f
MG
85622012-10-09 Marc Glisse <marc.glisse@inria.fr>
8563
8564 PR c++/54427
8565 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
8566 more operations. Make error messages optional.
8567 * c-common.h (enum stv_conv): Moved from c-typeck.c.
8568 (scalar_to_vector): Declare.
8569
b1db7f91
JM
85702012-10-08 Jason Merrill <jason@redhat.com>
8571
8572 * c-common.c (c_common_reswords): Add thread_local.
8573
e28d52cf
DS
85742012-10-08 Dodji Seketeli <dodji@redhat.com>
8575
8576 PR c++/53528 C++11 attribute support
8577 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
8578 new functions.
8579 * c-common.c (check_cxx_fundamental_alignment_constraints): New
8580 static function.
8581 (handle_aligned_attribute): In choose strictest alignment
8582 among many. Use new check_cxx_fundamental_alignment_constraints.
8583 (handle_transparent_union_attribute): In c++11 attribute syntax,
8584 don't look through typedefs.
8585
3b78de56
AC
85862012-10-04 Arnaud Charlet <charlet@adacore.com>
8587
8588 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
8589 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
8590 out of dumpfile.h.
8591
6040bb5f
DC
85922012-09-25 Dehao Chen <dehao@google.com>
8593
8594 PR middle-end/54645
3b78de56 8595 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
8596 map when read in the pch.
8597
3f8257db 85982012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
8599
8600 * c-ada-spec.c: Style fixes.
8601
3f8257db 86022012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
8603
8604 * c.opt (-fada-spec-parent): Define new command line switch.
8605 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
8606 is specified, generate binding spec as a child of the specified unit.
8607
0ccb505d
PC
86082012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
8609 Manuel López-Ibáñez <manu@gcc.gnu.org>
8610
8611 PR c++/53210
8612 * c.opt ([Winit-self]): Enabled by -Wall in C++.
8613
c583af79
AC
86142012-08-23 Arnaud Charlet <charlet@adacore.com>
8615
8616 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
8617 for pointers, and add missing Convention C pragma.
8618 (print_ada_struct_decl): Add missing aliased keyword.
8619 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
8620
1a4049e7
JJ
86212012-08-17 Jakub Jelinek <jakub@redhat.com>
8622
8623 * c-common.c (sizeof_pointer_memaccess_warning): New function.
8624 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
8625 * c-opts.c (c_common_handle_option): Enable it for -Wall.
8626 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
8627 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
8628
70b5e7dc
RG
86292012-08-10 Richard Guenther <rguenther@suse.de>
8630
8631 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
8632
f8923f7e
SB
86332012-08-07 Steven Bosscher <steven@gcc.gnu.org>
8634
8635 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
8636 instead of separate pp_newline and pp_flush.
8637 (print_c_tree): Likewise.
8638
e45abe1f
RH
86392012-07-26 Richard Henderson <rth@redhat.com>
8640
8641 * c-common.c (handle_hot_attribute): Allow labels.
8642 (handle_cold_attribute): Likewise.
8643
332f1d24
JJ
86442012-07-20 Jakub Jelinek <jakub@redhat.com>
8645
8646 PR c++/28656
8647 * c-common.c (check_function_nonnull): Handle multiple nonnull
8648 attributes properly.
8649
7ee2468b
SB
86502012-07-16 Steven Bosscher <steven@gcc.gnu.org>
8651
8652 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
8653 * c-ada-spec.c: Likewise.
8654 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
8655
ee7b28eb
SB
86562012-07-14 Steven Bosscher <steven@gcc.gnu.org>
8657
8658 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
8659 Remove code conditional on it.
8660
6bdf3519
SB
86612012-07-11 Steven Bosscher <steven@gcc.gnu.org>
8662
8663 * c-gimplify.c: Do not include basic-block.h.
8664 * c-common.c: Do not include linfuncs.h.
8665
532aafad
SB
86662012-07-08 Steven Bosscher <steven@gcc.gnu.org>
8667
8668 * c-common.h: Include tree.h.
8669
8d0d1915
JM
86702012-07-02 Jason Merrill <jason@redhat.com>
8671
8672 PR c++/53524
8673 * c-common.c (get_priority): Call default_conversion.
8674
fbc873ad
UB
86752012-07-01 Uros Bizjak <ubizjak@gmail.com>
8676
8677 * c-pch.c (c_common_write_pch): Remove unused variables.
8678
d4a10d0a
SB
86792012-06-29 Steven Bosscher <steven@gcc.gnu.org>
8680
8681 * cppspec.c: Moved from gcc/ to here.
8682
6f3a2e23
KT
86832012-06-27 Kai Tietz <ktietz@redhat.com>
8684
8685 PR preprocessor/37215
8686 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
8687
8ca92d04
SB
86882012-06-21 Steven Bosscher <steven@gcc.gnu.org>
8689
8690 * c-common.h (c_common_print_pch_checksum): Remove.
8691 * c-pch.c: Do not include output.h.
8692 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
8693 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
8694 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
8695 (struct c_pch_header): Remove.
8696 (get_ident): Update gpch version.
8697 (pch_init): Do not print executable_checksum to asm_out_file.
8698 Do not fail if there is no asm_out_file to read back from. Set
8699 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
8700 (c_common_write_pch): Verify that nothing was written to asm_out_file
8701 since pch_init was called. Do not write a c_pch_header, and do not
8702 copy from asm_out_file to the PCH.
8703 (c_common_read_pch): Do not read a c_pch_header, and do not restore
8704 the content of asm_out_file from the PCH.
8705 (c_common_print_pch_checksum): Remove.
8706 * c-opts.c (c_common_init): Print out executable_checksum directly.
8707
70f42967
SB
87082012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8709
8710 * c-target.def (objc_declare_unresolved_class_reference,
8711 objc_declare_class_definition): Add new hooks.
8712
a8781821
SB
87132012-06-19 Steven Bosscher <steven@gcc.gnu.org>
8714
8715 * c-lex.c: Do not include output.h.
8716 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
8717 Remove uses of ASM_OUTPUT_IDENT.
8718
9e1a8dd1
RR
87192012-06-15 Marc Glisse <marc.glisse@inria.fr>
8720
8721 PR c++/51033
8722 * c-common.h (c_build_vec_perm_expr): Move decl here.
8723 * c-common.c (c_build_vec_perm_expr): Move definition
8724 here.
8725
6f07a821
SB
87262012-06-06 Steven Bosscher <steven@gcc.gnu.org>
8727
8728 * c.opt (fconserve-space): Turn into a no-op.
8729
9faeb493 87302012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
8731
8732 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
8733 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
8734 both the start and end of the function.
8735
a4b7d13c
SB
87362012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8737
8738 * c-common.c: Do not include output.h.
8739 * c-pragma.c: Likewise.
8740
c265f413
SA
87412012-06-04 Steven Bosscher <steven@gcc.gnu.org>
8742
8743 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
8744 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
8745 (lang_decl_name): Handle namespace decls.
8746
be7a421e
SB
87472012-05-31 Steven Bosscher <steven@gcc.gnu.org>
8748
8749 * c-ada-spec.c: Do not include output.h.
8750 * c-semantics.c: Likewise.
8751
65de6659
JM
87522012-05-29 Joseph Myers <joseph@codesourcery.com>
8753
8754 * c-common.c: Fix typo.
8755
ca5f4331
MM
87562012-05-29 Michael Matz <matz@suse.de>
8757
8758 * c-common.h (c_expand_decl): Remove prototype.
8759
4f7f7aca
MLI
87602012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
8761
8762 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
8763 * c-opts.c (c_common_handle_option): Remove code handling
8764 warn_missing_braces.
8765
4a792f9b
PC
87662012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
8767
8768 PR c++/25137
8769 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
8770 -Wmissing_braces.
8771
650dc14a
DS
87722012-05-22 Dodji Seketeli <dodji@redhat.com>
8773
8774 PR c++/53322
8775 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
8776
9b095bf1
MLI
87772012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
8778
8779 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
8780 * c-opts.c (c_common_handle_option): Do not handle explicitly
8781 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
8782
0b2c4be5
DS
87832012-05-16 Dodji Seketeli <dodji@redhat.com>
8784
8785 PR preprocessor/7263
ab20d992 8786 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
0b2c4be5
DS
8787 to cpp_classify_number. For diagnostics, use the precise location
8788 instead of the global input_location.
8789
a1bde5af
PC
87902012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
8791
d02924ef 8792 PR c++/11856
a1bde5af
PC
8793 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
8794
d1ede5f4
BS
87952012-05-14 Bernd Schmidt <bernds@codesourcery.com>
8796
a1bde5af 8797 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 8798
f2bc201f
MLI
87992012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
8800
8801 PR 53063
8802 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
8803 Wreorder): Use LangEnabledBy.
8804 * c-opts.c (c_common_handle_option): Do not enable them
8805 explicitly. Call lang-specific generated functions.
8806 (c_common_post_options): Do not set them here.
8807
95744782
MLI
88082012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
8809
8810 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
8811 Wmissing-field-initializers,Wmissing-parameter-type,
8812 Wold-style-declaration,Woverride-init): Use EnabledBy.
8813 * c-opts.c (c_common_post_options): Do not set here explicitly.
8814
7d5a5747
MLI
88152012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8816
8817 PR 53063
8818 * c-opts.c (c_common_handle_option): Use handle_generated_option
8819 to enable sub-options.
8820
5a3c9cf2
PC
88212012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
8822
8823 PR c++/53158
8824 * c-common.c (warnings_for_convert_and_check): Use warning_at.
8825
3ac8781c
RG
88262012-05-10 Richard Guenther <rguenther@suse.de>
8827
8828 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
8829 adjust commentary about TYPE_IS_SIZETYPE types.
8830
1e537948
MLI
88312012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
8832
8833 PR c++/53261
8834 * c-common.c (warn_logical_operator): Check that argument of
8835 integer_zerop is not NULL.
8836
f2c4a785
MLI
88372012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
8838
8839 PR c/43772
8840 * c-common.c (warn_logical_operator): Do not warn if either side
8841 is already true or false.
8842
50f305ca
MLI
88432012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
8844
8845 PR c/51712
8846 * c-common.c (expr_original_type): New.
8847 (shorten_compare): Do not warn for enumeration types.
8848
0c3641b0
MLI
88492012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8850
8851 * c.opt (fpermissive): Add Var(flag_permissive).
8852
7edaa4d2
MG
88532012-04-30 Marc Glisse <marc.glisse@inria.fr>
8854
8855 PR c++/51033
8856 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
8857 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
8858
b9c8da34
DS
88592012-04-30 Dodji Seketeli <dodji@redhat.com>
8860
8861 Add -Wvarargs option
ab20d992 8862 * c.opt (Wvarargs): Define new option.
b9c8da34 8863
e6c69da0
MLI
88642012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8865
8866 * c-common.c (check_function_arguments): Replace
8867 Wmissing-format-attribute with Wsuggest-attribute=format.
8868
90137d8f
MLI
88692012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
8870
8871 * c.opt (Wsuggest-attribute=format): New. Alias of
8872 Wmissing-format-attribute.
8873 * c-format.c (decode_format_type): Replace
8874 Wmissing-format-attribute with Wsuggest-attribute=format.
8875 (check_function_format): Likewise.
8876
9faeb493 88772012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
8878
8879 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
8880 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
8881 * c.opt: Add Wliteral-suffix.
8882
c1771a20
MLI
88832012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
8884
8885 PR c/44774
8886 * c.opt (Wpedantic): New.
8887 (pedantic): Alias Wpedantic.
8888 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
8889 (c_common_post_options): Likewise.
8890 (sanitize_cpp_opts): Likewise.
8891 * c-lex.c (interpret_float): Likewise.
8892 * c-format.c (check_format_types): Likewise.
8893 * c-common.c (pointer_int_sum): Likewise.
8894 (c_sizeof_or_alignof_type): Likewise.
8895 (c_add_case_label): Likewise.
8896 (c_do_switch_warnings): Likewise.
8897 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8898
04b391c1
JM
88992012-04-15 Jason Merrill <jason@redhat.com>
8900
8901 PR c++/52818
8902 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
8903 (C_STD_NAME): Distinguish between C++98 and C++11.
8904
ac868f29
EB
89052012-04-11 Eric Botcazou <ebotcazou@adacore.com>
8906
8907 PR target/52624
8908 * c-common.h (uint16_type_node): Rename into...
8909 (c_uint16_type_node): ...this.
8910 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
8911 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
8912
fd4116f4
MLI
89132012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
8914
8915 * c-common.c (warn_if_unused_value): Move definition to here.
8916 * c-common.h (warn_if_unused_value): Move declaration to here.
8917
573ac65e
WB
89182012-03-23 William Bader <williambader@hotmail.com>
8919
8920 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
8921
552b8185
JM
89222012-03-20 Jason Merrill <jason@redhat.com>
8923
8924 * c-common.h (enum cxx_dialect): Add cxx1y.
8925 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
8926 test.
8927 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8928 * c-opts.c (c_common_post_options): Likewise.
8929 (set_std_cxx1y): New.
8930 (c_common_handle_option): Call it.
8931 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
8932
04398fa8
PC
89332012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
8934
8935 PR c++/14710
8936 * c.opt ([Wuseless-cast]): Add.
8937
d2a12ae7
RG
89382012-03-16 Richard Guenther <rguenther@suse.de>
8939
8940 * c-pretty-print.c (pp_c_initializer_list): Adjust.
8941
a12bf402
MLI
89422012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
8943
8944 PR c++/44783
8945 * c.opt (ftemplate-backtrace-limit) Add.
8946
5c30094f
RO
89472012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8948
8949 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
8950 handling.
8951 * c-pragma.c (handle_pragma_extern_prefix): Remove.
8952 (init_pragma): Don't register extern_prefix.
8953
21fa2faf
RG
89542012-03-12 Richard Guenther <rguenther@suse.de>
8955
8956 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
8957 (builtin_type_for_size): Likewise.
8958
e3793c6f
JJ
89592012-02-13 Jakub Jelinek <jakub@redhat.com>
8960
8961 PR c++/52215
8962 * c-common.c (sync_resolve_params): Don't decide whether to convert
8963 or not based on TYPE_SIZE comparison, convert whenever arg_type
8964 is unsigned INTEGER_TYPE.
8965
93286335
PC
89662012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
8967
8968 PR c/52118
8969 * c.opt ([Wunused-local-typedefs]): Fix description.
8970
7a421706
MS
89712012-01-24 Mike Stump <mikestump@comcast.net>
8972
8973 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
8974 exactly.
8975
ba9b1f11
RG
89762012-01-18 Richard Guenther <rguenther@suse.de>
8977
8978 * c-opts.c (c_common_post_options): Reset LTO flags if
8979 we are about to generate a PCH.
8980
465406be
PC
89812012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
8982
8983 PR c++/51777
8984 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
8985 use pp_unsigned_wide_integer.
8986
aee15221
RG
89872012-01-10 Richard Guenther <rguenther@suse.de>
8988
8989 PR middle-end/51806
8990 * c-opts.c (c_common_handle_option): Move -Werror handling
8991 to language independent code.
8992
5720c0dc
RG
89932012-01-05 Richard Guenther <rguenther@suse.de>
8994
8995 PR middle-end/51764
8996 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
8997 from common.opt.
8998
73ac190a
PC
89992011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9000
9001 PR c++/51316
9002 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9003 of array types with an unknown bound.
9004
48b0b196
JM
90052011-12-20 Joseph Myers <joseph@codesourcery.com>
9006
9007 * c-common.c (flag_isoc99): Update comment to refer to C11.
9008 (flag_isoc1x): Change to flag_isoc11.
9009 * c-common.h (flag_isoc99): Update comment to refer to C11.
9010 (flag_isoc1x): Change to flag_isoc11.
9011 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9012 C11.
9013 * c-opts.c (set_std_c1x): Change to set_std_c11.
9014 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9015 Call set_std_c11.
9016 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9017 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9018 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9019 standard.
9020 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9021 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9022 (std=gnu1x): Make alias of std=gnu11.
9023
d58d6eb5
JM
90242011-12-19 Jason Merrill <jason@redhat.com>
9025
9026 PR c++/51228
9027 * c-common.c (handle_transparent_union_attribute): Check the first
9028 field if the type is complete.
9029
b3908fcc
JW
90302011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9031
9032 PR libstdc++/51365
9033 * c-common.c (RID_IS_FINAL): Add.
9034 * c-common.h (RID_IS_FINAL): Add.
9035
fea3ca91
IS
90362011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9037
9038 * c.opt (fgnu-runtime): Provide full description.
9039 (fnext-runtime): Likewise.
9040 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9041
62bad7cd
AM
90422011-11-28 Andrew MacLeod <amacleod@redhat.com>
9043
9044 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9045 predefines in one place. Add LOCK_FREE predefines.
9046 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9047 new func.
9048
c466c4ff
AM
90492011-11-24 Andrew MacLeod <amacleod@redhat.com>
9050
9051 PR c/51256
9faeb493 9052 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 9053 conditions
9faeb493
UB
9054 (resolve_overloaded_atomic_exchange,
9055 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
9056 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9057 error_mark_node for error conditions.
9faeb493 9058
a5952633
RG
90592011-11-08 Richard Guenther <rguenther@suse.de>
9060
9061 PR middle-end/51010
ab20d992 9062 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
a5952633 9063
0a35513e
AH
90642011-11-07 Richard Henderson <rth@redhat.com>
9065 Aldy Hernandez <aldyh@redhat.com>
9066 Torvald Riegel <triegel@redhat.com>
9067
9068 Merged from transactional-memory.
9069
9070 * c-common.c (handle_tm_wrap_attribute,
9071 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9072 (struct c_common_reswords): Added __transaction* keywords.
9073 (struct c_common_attribute_table): Added transaction* and tm_regparm
9074 attributes.
9075 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9076 masks.
9077 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9078 find_tm_attribute): Declare.
9079
6d87092d
JM
90802011-11-07 Jason Merrill <jason@redhat.com>
9081
9082 PR c++/35688
9083 * c-common.c, c-common.h: Revert yesterday's changes.
9084
8e7860a1
JM
90852011-11-06 Jason Merrill <jason@redhat.com>
9086
9087 PR c++/35688
9088 * c-common.c (decl_has_visibility_attr): Split out from...
9089 (c_determine_visibility): ...here.
9090 * c-common.h: Declare it.
9091
d19fa6b5
JM
90922011-11-06 Joseph Myers <joseph@codesourcery.com>
9093
9094 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9095 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9096 type.
9097 (check_user_alignment): New. Split out of
9098 handle_aligned_attribute. Disallow integer constants with
9099 noninteger types. Conditionally allow zero.
9100 (handle_aligned_attribute): Use check_user_alignment.
9101 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9102
86951993
AM
91032011-11-06 Andrew MacLeod <amacleod@redhat.com>
9104 Richard Henderson <rth@redhat.com>
9105
9106 Merged from cxx-mem-model.
9107
9108 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 9109 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
9110 parameters that are the same type size.
9111 (get_atomic_generic_size): New. Find size of generic
9112 atomic function parameters and do typechecking.
9113 (add_atomic_size_parameter): New. Insert size into parameter list.
9114 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9115 either __atomic_exchange_n or external library call.
9faeb493 9116 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 9117 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 9118 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
9119 __atomic_load_n or an external library call.
9120 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9121 __atomic_store_n or an external library call.
9122 (resolve_overloaded_builtin): Handle new __atomic builtins.
9123
cf9e9959
EB
91242011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9125
9126 PR c++/50608
9127 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9128 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9129 <INDIRECT_REF>: Return the argument.
9130 <ARRAY_REF>: Remove special code for negative offset.
9131 Call fold_build_pointer_plus instead of size_binop.
9132 (fold_offsetof): Remove STOP_REF argument and adjust.
9133 * c-common.h (fold_offsetof_1): Declare.
9134 (fold_offsetof): Remove STOP_REF argument.
9135
25339f10
JM
91362011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9137
9138 PR c++/50810
9139 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9140 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9141 Wnarrowing for C++0x and C++98.
9142 * c.opt ([Wnarrowing]): Update.
9143
89401152
PC
91442011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9145
9146 PR c++/44277
9147 * c.opt: Add Wzero-as-null-pointer-constant.
9148
97e3ad20
JM
91492011-10-31 Jason Merrill <jason@redhat.com>
9150
15694fdd
JM
9151 * c.opt (-fdeduce-init-list): Off by default.
9152
97e3ad20
JM
9153 PR c++/50920
9154 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9155 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9156 and -Wc++11-compat.
9157 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9158
fb9120e3
RAV
91592011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9160
9161 PR c++/30066
9162 * c.opt (fvisibility-inlines-hidden): Description change.
9163
3ce4f9e4
ESR
91642011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9165
9166 Implement C++11 user-defined literals.
9167 * c-common.c (build_userdef_literal): New.
9168 * c-common.def: New tree code.
9169 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9170 * c-lex.c (interpret_float): Add suffix parm.
9171 (c_lex_with_flags): Build literal tokens.
9172
5f53c243
PC
91732011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9174
9175 PR c++/50841
9176 Revert:
9177 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9178
9179 PR c++/50810
9180 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9181 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9182 Wnarrowing for C++0x and C++98.
9183 * c.opt ([Wnarrowing]): Update.
9184
263734e1
PC
91852011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9186
9187 PR c++/50810
9188 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9189 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9190 Wnarrowing for C++0x and C++98.
9191 * c.opt ([Wnarrowing]): Update.
9192
d2e312d7
PC
91932011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9194
9195 PR c++/45385
9196 * c-common.c (conversion_warning): Remove code looking for
9197 artificial operands.
9198
d17687f6
DS
91992011-10-18 Dodji Seketeli <dodji@redhat.com>
9200
9201 PR bootstrap/50760
9202 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 9203 !NO_IMPLICIT_EXTERN_C.
d17687f6 9204
fc8396e9
PC
92052011-10-17 Michael Spertus <mike_spertus@symantec.com>
9206
9207 * c-common.c (c_common_reswords): Add __bases,
9208 __direct_bases.
9209 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9210
92112011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9212
9213 PR c++/50757
9214 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9215
847e697a
TT
92162011-10-15 Tom Tromey <tromey@redhat.com>
9217 Dodji Seketeli <dodji@redhat.com>
9218
9219 * c.opt (fdebug-cpp): New option.
9220 * c-opts.c (c_common_handle_option): Handle the option.
9221 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9222 output stream in parameter. Factorized from ...
9223 (maybe_print_line): ... this. Dump location debug information when
9224 -fdebug-cpp is in effect.
9225 (print_line_1): New static function. Takes an output stream in
9226 parameter. Factorized from ...
9227 (print_line): ... here. Dump location information when -fdebug-cpp
9228 is in effect.
9229 (scan_translation_unit): Dump location information when
9230 -fdebug-cpp is in effect.
9231
92582b75
TT
92322011-10-15 Tom Tromey <tromey@redhat.com>
9233 Dodji Seketeli <dodji@redhat.com>
9234
9235 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9236 without argument.
9237 * c-opts.c (c_common_handle_option)<case
9238 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9239 cases. Handle -ftrack-macro-expansion with and without argument.
9240
46427374
TT
92412011-10-15 Tom Tromey <tromey@redhat.com>
9242 Dodji Seketeli <dodji@redhat.com>
9243
9244 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9245 (print_line, cb_define, do_line_change): Adjust to avoid touching
9246 the internals of struct line_map. Use the public API instead.
9247 * c-pch.c (c_common_read_pch): Likewise.
9248 * c-lex.c (fe_file_change): Likewise.
9249
fc8396e9
PC
92502011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9251
9252 PR c++/17212
9253 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9254
92552011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9256
9257 PR c++/33067
9258 * c-pretty-print.c (pp_c_floating_constant): Output
9259 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9260
e79983f4
MM
92612011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9262
9263 * c-common.c (def_builtin_1): Delete old interface with two
9264 parallel arrays to hold standard builtin declarations, and replace
9265 it with a function based interface that can support creating
9266 builtins on the fly in the future. Change all uses, and poison
9267 the old names. Make sure 0 is not a legitimate builtin index.
9268 * c-omp.c (c_finish_omp_barrier): Ditto.
9269 (c_finish_omp_taskwait): Ditto.
9270 (c_finish_omp_flush): Ditto.
9271
6637388f
TG
92722011-10-11 Tristan Gingold <gingold@adacore.com>
9273
9274 * c.opt: (fallow-parameterless-variadic-functions): New.
9275
3797cb21
DS
92762011-09-08 Dodji Seketeli <dodji@redhat.com>
9277
9278 PR c++/33255 - Support -Wunused-local-typedefs warning
9279 * c-common.h (struct c_language_function::local_typedefs): New
9280 field.
9faeb493
UB
9281 (record_locally_defined_typedef, maybe_record_typedef_use)
9282 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 9283 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
9284 (maybe_record_typedef_use)
9285 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
9286 * c.opt: Declare new -Wunused-local-typedefs flag.
9287
693ddb1b
EB
92882011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9289
9290 PR middle-end/50266
9291 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9292 computations.
9293
830c740f
RG
92942011-09-05 Richard Guenther <rguenther@suse.de>
9295
9296 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9297 of integer_minus_one_node for empty array upper bounds.
9298
892a371f
DS
92992011-08-28 Dodji Seketeli <dodji@redhat.com>
9300
9301 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9302 it's the first time it's being called on this main TU.
9303
0e3fdb48
RB
93042011-08-24 Richard Guenther <rguenther@suse.de>
9305
9306 PR c/49396
9307 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9308
93092011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
9310
9311 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9312 defined in cpp_init_builtins and c_cpp_builtins.
9313
d4a83c10
JM
93142011-08-19 Joseph Myers <joseph@codesourcery.com>
9315
9316 * c-common.c (c_common_reswords): Add __builtin_complex.
9317 * c-common.h (RID_BUILTIN_COMPLEX): New.
9318
bbceee64
JM
93192011-08-18 Joseph Myers <joseph@codesourcery.com>
9320
9321 * c-common.c (c_common_reswords): Add _Noreturn.
9322 (keyword_is_function_specifier): Handle RID_NORETURN.
9323 * c-common.h (RID_NORETURN): New.
9324
3f8257db 93252011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
9326
9327 * c-common.c (unsafe_conversion_p): New function. Check if it is
9328 unsafe to convert an expression to the type.
9329 (conversion_warning): Adjust, use unsafe_conversion_p.
9330 * c-common.h (unsafe_conversion_p): New function declaration.
9331
20906c66
JJ
93322011-08-02 Jakub Jelinek <jakub@redhat.com>
9333
9334 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9335 (c_finish_omp_taskyield): New prototype.
9336 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9337 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9338 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9339 or RHS1 have side-effects, evaluate those too in the right spot,
9340 if it is a decl and LHS is also a decl, error out if they
9341 aren't the same.
9342 (c_finish_omp_taskyield): New function.
9343 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9344 * c-pragma.c (omp_pragmas): Add taskyield.
9345 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9346 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9347 PRAGMA_OMP_CLAUSE_MERGEABLE.
9348
770e5a2e
DS
93492011-07-25 Dodji Seketeli <dodji@redhat.com>
9350
9351 * c-common.h (set_underlying_type): Remove parm name from
9352 declaration.
9353
1baae426
RG
93542011-07-25 Romain Geissler <romain.geissler@gmail.com>
9355
9356 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 9357
fcb21722
JM
93582011-07-22 Jason Merrill <jason@redhat.com>
9359
76f86d00
JM
9360 PR c++/49793
9361 * c.opt (Wnarrowing): New.
9362
3a636414
JM
9363 PR c++/30112
9364 * c-common.h: Declare c_linkage_bindings.
9365 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9366
fcb21722
JM
9367 PR c++/49813
9368 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9369 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9370 as flag_isoc99 for 'restrict'.
9371 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9372
02614448
ILT
93732011-07-21 Ian Lance Taylor <iant@google.com>
9374
9375 PR middle-end/49705
9376 * c-common.c (c_disable_warnings): New static function.
9377 (c_enable_warnings): New static function.
9378 (c_fully_fold_internal): Change local unused_p to bool. Call
9379 c_disable_warnings and c_enable_warnings rather than change
9380 c_inhibit_evaluation_warnings.
9381
34429675
JM
93822011-07-20 Jason Merrill <jason@redhat.com>
9383
9384 PR c++/6709 (DR 743)
9385 PR c++/42603 (DR 950)
9386 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9387 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9388 (CPP_DECLTYPE): New.
9389 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9390
5d49b6a7
RG
93912011-07-19 Richard Guenther <rguenther@suse.de>
9392
9393 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9394 * c-omp.c (c_finish_omp_for): Likewise.
9395
e84a58ff
EB
93962011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9397
9398 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9399 body on the next line.
9400
329af3c7
JM
94012011-07-08 Jason Merrill <jason@redhat.com>
9402
4063e61b
JM
9403 PR c++/45437
9404 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9405
329af3c7
JM
9406 PR c++/49673
9407 * c-common.c (c_apply_type_quals_to_decl): Don't check
9408 TYPE_NEEDS_CONSTRUCTING.
9409
1a072294
RG
94102011-07-06 Richard Guenther <rguenther@suse.de>
9411
9412 * c-common.c (c_common_nodes_and_builtins):
9413 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9414
fce5dddd
RG
94152011-07-05 Richard Guenther <rguenther@suse.de>
9416
9417 * c-common.c (c_common_nodes_and_builtins): Build all common
9418 tree nodes first.
9419
45d439ac
JJ
94202011-06-27 Jakub Jelinek <jakub@redhat.com>
9421
56300785
JJ
9422 * c-common.h (c_tree_chain_next): New static inline function.
9423
45d439ac
JJ
9424 * c-common.c (check_builtin_function_arguments): Handle
9425 BUILT_IN_ASSUME_ALIGNED.
9426
e0a8ecf2
AM
94272011-06-21 Andrew MacLeod <amacleod@redhat.com>
9428
9429 * c-common.c: Add sync_ or SYNC__ to builtin names.
9430 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
9431
94322011-06-20 Pierre Vittet <piervit@pvittet.com>
9433
9434 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9435 handler.
9436 (gen_pragma_handler): New union.
9437 (internal_pragma_handler): New type.
9438 (c_register_pragma_with_data)
9439 (c_register_pragma_with_expansion_and_data): New functions.
9440
9441 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9442 (c_register_pragma, c_register_pragma_with_expansion)
9443 (c_invoke_pragma_handler): Changed to work with
9444 internal_pragma_handler.
9445 (c_register_pragma_with_data)
9446 (c_register_pragma_with_expansion_and_data): New functions.
9447
677f3fa8
JM
94482011-06-14 Joseph Myers <joseph@codesourcery.com>
9449
9450 * c-common.c: Include common/common-target.h.
9451 (handle_section_attribute): Use
9452 targetm_common.have_named_sections.
9453 * c-cppbuiltin.c: Include common/common-target.h.
9454 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9455
d7fc8c14
RG
94562011-06-10 Richard Guenther <rguenther@suse.de>
9457
9458 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9459 to print a IDENTIFIER_NODE.
9460
10e48e39
RO
94612011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9462 Joseph Myers <joseph@codesourcery.com>
9463
9464 * c.opt (fbuilding-libgcc): New option.
9465 * c-cppbuiltin.c (c_cpp_builtins): Define
9466 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9467
6976ae51
JM
94682011-06-07 Jason Merrill <jason@redhat.com>
9469
3ff60975
JM
9470 * c-common.c (max_tinst_depth): Lower default to 900.
9471
6976ae51
JM
9472 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9473
009db074
RG
94742011-06-07 Richard Guenther <rguenther@suse.de>
9475
9476 * c-common.c (c_common_nodes_and_builtins): Do not set
9477 size_type_node or call set_sizetype.
9478
b4592b92
DS
94792011-06-07 Dodji Seketeli <dodji@redhat.com>
9480
9481 PR debug/49130
9482 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 9483 type when using pointer comparison to compare types.
b4592b92 9484
014ab419
JW
94852011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9486
9487 * c.opt: Add -Wdelete-non-virtual-dtor.
9488 * c-opts.c (c_common_handle_option): Include it in -Wall.
9489
4f60111f
NF
94902011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
9491
9492 PR bootstrap/49190
9493
9494 Revert:
9495 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9496
9497 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9498 not tree_common.
9499
4cc4f2f4
JJ
95002011-05-27 Jakub Jelinek <jakub@redhat.com>
9501
9502 PR c++/49165
9503 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
9504 C++ don't call c_common_truthvalue_conversion on void type arms.
9505
38e01f9e
NF
95062011-05-27 Nathan Froyd <froydnj@codesourcery.com>
9507
9508 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
9509 (stmt_list_stack): Define.
9510 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
9511 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
9512
92e948a8
NF
95132011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9514
9515 * c-common.c (warning_candidate_p): Check for BLOCKs.
9516
a2fc3e63
NF
95172011-05-26 Nathan Froyd <froydnj@codesourcery.com>
9518
9519 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
9520 not tree_common.
9521
0957c029
JJ
95222011-05-25 Jakub Jelinek <jakub@redhat.com>
9523
9524 * c-common.c (def_fn_type): Remove extra va_end.
9525
828fb3ba
JM
95262011-05-23 Jason Merrill <jason@redhat.com>
9527
9528 PR c++/48106
9529 * c-common.c (c_common_get_narrower): New.
9530 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
9531
dde05067
NF
95322011-05-23 Nathan Froyd <froydnj@codesourcery.com>
9533
9534 * c-common.h (check_function_arguments): Tweak prototype of
9535 check_function_arguments.
9536 * c-common.c (check_function_arguments): Likewise. Adjust
9537 calls to check_function_nonnull, check_function_format, and
9538 check_function_sentinel.
9539 (check_function_sentinel): Take a FUNCTION_TYPE rather than
9540 separate attributes and typelist arguments. Use
9541 FOREACH_FUNCTION_ARGS to iterate over argument types.
9542
3c0d13bf
PC
95432011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9544
9545 * c-common.c (c_common_reswords): Reorder.
9546 * c-common.h (rid): Likewise.
9547
8242dd04
NF
95482011-05-10 Nathan Froyd <froydnj@codesourcery.com>
9549
9550 * c-common.c (def_fn_type): Don't call build_function_type, call
9551 build_function_type_array or build_varargs_function_type_array
9552 instead.
9553 (c_common_nodes_and_builtins): Likewise.
9554
3d528853
NF
95552011-05-05 Nathan Froyd <froydnj@codesourcery.com>
9556
9557 * c-common.c (c_add_case_label): Omit the loc argument to
9558 build_case_label.
9559 * c-common.h (build_case_label): Remove.
9560 * c-semantics.c (build_case_label): Remove.
9561
a04a722b
JM
95622011-05-05 Joseph Myers <joseph@codesourcery.com>
9563
9564 * c-objc.h (objc_start_method_definition): Update prototype.
9565 * stub-objc.c (objc_start_method_definition): Add extra parameter.
9566
e19a18d4
NF
95672011-05-04 Nathan Froyd <froydnj@codesourcery.com>
9568
9569 * c-common.c (check_main_parameter_types): Reindent. Don't use
9570 TYPE_ARG_TYPES directly.
9571 (handle_nonnull_attribute): Likewise.
9572 (sync_resolve_params): Likewise.
9573 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
9574 to check_format_string.
9575 (handle_format_attribute): Likewise.
9576 (check_format_string): Take a function type to examine instead of
9577 a type list. Use a function_arg_iterator to step through argument
9578 types.
9579
c62c040f
RG
95802011-05-04 Richard Guenther <rguenther@suse.de>
9581
9582 * c-common.c (fix_string_type): Use size_int for index type bounds.
9583 (start_fname_decls): Do not pass NULL to build_int_cst.
9584 (c_init_attributes): Likewise.
9585 * c-lex.c (c_lex_with_flags): Likewise.
9586
c12ff9d8
JM
95872011-04-27 Jason Merrill <jason@redhat.com>
9588
9589 * c-common.c (make_tree_vector_from_list): New.
9590 * c-common.h: Declare it.
9591
304dfbe3
RG
95922011-04-26 Richard Guenther <rguenther@suse.de>
9593
9594 PR preprocessor/48248
9595 * c-ppoutput.c (maybe_print_line): Always optimize newlines
9596 for output size with -P.
9597
3c0d13bf
PC
95982011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
9599
9600 * c-common.c (struct c_common_resword): Add __underlying_type.
9601 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
9602
04695783
JM
96032011-04-20 Jim Meyering <meyering@redhat.com>
9604
9605 * c-format.c (init_dollar_format_checking): Remove useless
9606 if-before-free.
9607
0dc33c3c
NP
96082011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
9609
9610 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 9611 (objc_detect_field_duplicates): New.
0dc33c3c 9612 * stub-objc.c: Likewise.
3c0d13bf 9613
c59633d9
NP
96142011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9615
9616 * stub-objc.c (objc_declare_protocols): Renamed to
9617 objc_declare_protocol.
9618 * c-objc.h: Likewise.
3c0d13bf 9619
32dabdaf
NP
96202011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
9621
9622 * stub-objc.c (objc_declare_class): Updated argument name.
9623
81f653d6
NF
96242011-04-12 Nathan Froyd <froydnj@codesourcery.com>
9625
9626 * c-common.h (c_common_init_ts): Declare.
9627 * c-common.c (c_common_init_ts): Define.
9628
eb345401
NP
96292011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
9630
9631 * c-objc.h (objc_build_message_expr): Updated prototype.
9632 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 9633
a358e188
MJ
96342011-04-12 Martin Jambor <mjambor@suse.cz>
9635
9636 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
9637 of cgraph_node.
9638
e6313a78
RG
96392011-04-11 Richard Guenther <rguenther@suse.de>
9640
9641 * c-common.c (complete_array_type): Build a range type of
9642 proper type.
9643
dcf0c47e
NF
96442011-04-08 Nathan Froyd <froydnj@codesourcery.com>
9645
9646 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
9647 (handle_type_generic_attribute): Likewise.
9648
1ee44b26
JM
96492011-04-07 Jason Merrill <jason@redhat.com>
9650
9651 PR c++/48450
9652 * c-common.c (c_common_truthvalue_conversion): Don't ignore
9653 conversion from C++0x scoped enum.
9654
acce4e77
JM
96552011-04-06 Joseph Myers <joseph@codesourcery.com>
9656
9657 * c-target-def.h: New file.
9658 * c-target.def: New file.
9659 * c-target.h: New file.
9660 * c-common.c (targetcm): Don't define here.
9661 * c-common.h (default_handle_c_option): Declare.
9662 * c-format.c: Include c-target.h instead of target.h.
9663 * c-opts.c: Include c-target.h instead of target.h. Explicitly
9664 include tm.h.
9665 (default_handle_c_option): Move from targhooks.c.
9666
e2eefb55
JJ
96672011-03-29 Jakub Jelinek <jakub@redhat.com>
9668
9669 PR preprocessor/48248
9670 * c-ppoutput.c (print): Add src_file field.
9671 (init_pp_output): Initialize it.
9672 (maybe_print_line): Don't optimize by adding up to 8 newlines
9673 if map->to_file and print.src_file are different file.
9674 (print_line): Update print.src_file.
9675
ba78087b
KT
96762011-03-25 Kai Tietz <ktietz@redhat.com>
9677
9678 * c-ada-spec.c (compare_comment): Use filename_cmp
9679 instead of strcmp for filename.
9680
0edf1bb2
JL
96812011-03-25 Jeff Law <law@redhat.com>
9682
adfac8df 9683 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 9684
c7dc8804
JM
96852011-03-25 Jason Merrill <jason@redhat.com>
9686
9687 * c.opt: Add -std=c++03.
9688
d1d879b1
EB
96892011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9690
9691 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
9692
3f8257db 96932011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
9694
9695 PR target/12171
5050afdf
KT
9696 * c-pretty-print.c (pp_c_specifier_qualifier_list):
9697 Display allowed attributes for function pointer types.
9698 (pp_c_attributes_display): New function to display
9699 attributes having affects_type_identity flag set to true.
9700 * c-pretty-print.h (pp_c_attributes_display): New prototype.
9701
62d784f7
KT
9702 * c-common.c (c_common_attribute_table):
9703 Add new element.
9704 (c_common_format_attribute_table): Likewise.
9705
82d37118
JM
97062011-03-18 Jason Merrill <jason@redhat.com>
9707
49a000c3
JM
9708 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
9709 * c-common.h: Don't declare it here.
9710 * c-common.c: Or define it here.
9711 * c-opts.c (c_common_handle_option): Or set it here.
9712
82d37118
JM
9713 PR c++/35315
9714 * c-common.c (handle_transparent_union_attribute): Don't
9715 make a duplicate type in C++.
9716
17bc631c
JM
97172011-03-15 Jason Merrill <jason@redhat.com>
9718
9719 * c-common.c (max_constexpr_depth): New.
9720 * c-common.h: Declare it.
9721 * c-opts.c (c_common_handle_option): Set it.
9722 * c.opt (fconstexpr-depth): New option.
9723
1b9b91a6
JM
97242011-03-11 Jason Merrill <jason@redhat.com>
9725
f231b5ff
JM
9726 * c-common.c (attribute_takes_identifier_p): Add missing const.
9727
1b9b91a6
JM
9728 PR c++/46803
9729 * c-common.c (attribute_takes_identifier_p): Assume that an
9730 unknown attribute takes an identifier.
9731
a19e4d44
NF
97322011-03-07 Nathan Froyd <froydnj@codesourcery.com>
9733
9734 PR c/47786
9735 * c-common.c (c_type_hash): Call list_length instead of iterating
9736 through DECL_CHAIN. Rename 'i' to 'n_elements'.
9737
982d62f6
JJ
97382011-02-19 Jakub Jelinek <jakub@redhat.com>
9739
9740 PR c/47809
9741 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
9742
0a256240
NP
97432011-02-17 Iain Sandoe <iains@gcc.gnu.org>
9744
9745 * c.opt (fobjc-abi-version=) New.
9746 (fobjc-nilcheck): New.
9747
ba9e6dd5
NF
97482011-02-03 Nathan Froyd <froydnj@codesourcery.com>
9749
9750 PR c++/46890
9751 * c-common.h (keyword_is_decl_specifier): Declare.
9752 * c-common.c (keyword_is_decl_specifier): Define.
9753 (keyword_is_function_specifier): New function.
9754
7273813a
JJ
97552011-01-26 Jakub Jelinek <jakub@redhat.com>
9756
9757 PR c/47473
9758 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
9759 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
9760 REAL_TYPE.
9761
908ef79b
AC
97622011-01-26 Arnaud Charlet <charlet@adacore.com>
9763
9764 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
9765
237e9384
JJ
97662011-01-26 Jakub Jelinek <jakub@redhat.com>
9767
9768 PR pch/47430
9769 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
9770 after init_c_lex if pch_file is set.
9771
47ea1edf
DK
97722011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9773
d4dba752 9774 PR c++/43601
47ea1edf
DK
9775 * c.opt (-fkeep-inline-dllexport): New switch.
9776
2aa9c6ae
RG
97772011-01-12 Richard Guenther <rguenther@suse.de>
9778
9779 PR middle-end/32511
9780 * c-common.c (handle_weak_attribute): Warn instead of error
9781 on declaring an inline function weak.
9782
7bd11157
TT
97832011-01-05 Tom Tromey <tromey@redhat.com>
9784
9785 * c-common.h (lvalue_error): Update.
9786 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
9787 not error.
9788
0e66e494 97892010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 9790
b4f588c4
NP
9791 PR objc/47075
9792 * c-objc.h (objc_finish_message_expr): Added argument to
9793 prototype.
9794
f4da8dce
NF
97952010-12-22 Nathan Froyd <froydnj@codesourcery.com>
9796
9797 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
9798 Use prototype_p.
9799
46270f14
NP
98002010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
9801
9802 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 9803 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 9804
4816c593
NF
98052010-12-10 Nathan Froyd <froydnj@codesourcery.com>
9806
9807 * c-common.h (readonly_error): Declare.
9808 * c-common.c (readonly_error): Define.
9809
7a6daeb0
NF
98102010-12-09 Nathan Froyd <froydnj@codesourcery.com>
9811
9812 * c-common.h (invalid_indirection_error): Declare.
9813 * c-common.c (invalid_indirection_error): Define.
9814
892f6119
RG
98152010-12-03 Richard Guenther <rguenther@suse.de>
9816
9817 PR c/46745
9818 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
9819 (pp_c_unary_expression): Likewise.
9820 (pp_c_expression): Likewise.
9821
6c39e757
NP
98222010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
9823
9824 * c-common.h (objc_finish_function): New.
9825 (objc_non_volatilized_type): Removed.
9826 (objc_type_quals_match): Removed.
9827 * stub-objc.c (objc_finish_function): New.
9828 (objc_non_volatilized_type): Removed.
9829 (objc_type_quals_match): Removed.
9faeb493 9830
7c475d11
JM
98312010-11-30 Joseph Myers <joseph@codesourcery.com>
9832
9833 * c-common.h (parse_optimize_options): Declare.
9834 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
9835 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
9836
71f3e391
JM
98372010-11-29 Joseph Myers <joseph@codesourcery.com>
9838
9839 * c-opts.c (check_deps_environment_vars): Use getenv instead of
9840 GET_ENVIRONMENT.
9841 * c-pch.c (O_BINARY): Don't define here.
9842 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
9843
d5fabb58
JM
98442010-11-25 Joseph Myers <joseph@codesourcery.com>
9845
9846 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
9847 targetm.except_unwind_info.
9848
299404a1
JM
98492010-11-23 Joseph Myers <joseph@codesourcery.com>
9850
9851 * c-opts.c (c_common_handle_option): Pass location to
9852 set_struct_debug_option.
9853
c98cd5bf
JM
98542010-11-23 Joseph Myers <joseph@codesourcery.com>
9855
9856 * c-common.c (visibility_options): Move from ../opts.c.
9857 * c-common.h (struct visibility_flags, visibility_options):
9858 Declare here.
9859 * c-opts.c (finish_options): Rename to c_finish_options.
9860 (c_common_init): Update call to finish_options.
9861
a9546771
NP
98622010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
9863
9864 PR objc/34033
9865 * c-lex.c (lex_string): Check that each string in an Objective-C
9866 string concat sequence starts with either one or zero '@', and
9867 that there are no spurious '@' signs at the end.
9868
24a57808
JM
98692010-11-20 Joseph Myers <joseph@codesourcery.com>
9870
9871 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
9872 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
9873 HANDLE_PRAGMA_VISIBILITY.
9874 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
9875 HANDLE_PRAGMA_VISIBILITY): Don't define.
9876 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
9877
a9aa2c3a
NF
98782010-11-20 Nathan Froyd <froydnj@codesourcery.com>
9879
9880 PR c++/16189
9881 PR c++/36888
9882 PR c++/45331
9883 * c-common.h (keyword_begins_type_specifier): Declare.
9884 (keyword_is_storage_class_specifier): Declare.
9885 (keyword_is_type_qualifier): Declare.
9886 * c-common.c (keyword_begins_type_specifier): New function.
9887 (keyword_is_storage_class_specifier): New function.
9888 (keyword_is_type_qualifier): Declare.
9889
5386338c
JM
98902010-11-19 Joseph Myers <joseph@codesourcery.com>
9891
9892 PR c/46547
9893 * c-common.c (in_late_binary_op): Define.
9894 (c_common_truthvalue_conversion): Check in_late_binary_op before
9895 calling c_save_expr.
9896 * c-common.h (in_late_binary_op): Declare.
9897
69ccdddb
JM
98982010-11-19 Joseph Myers <joseph@codesourcery.com>
9899
9900 * c-opts.c (c_common_handle_option): Update calls to
9901 set_struct_debug_option.
9902
6b192a09
NP
99032010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
9904
9905 * c-common.h (objc_declare_protocols): Added additional argument.
9906 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 9907
fb52b50a
NF
99082010-11-18 Nathan Froyd <froydnj@codesourcery.com>
9909
9910 PR c/33193
9911 * c-common.h (build_real_imag_expr): Declare.
9912 * c-semantics.c (build_real_imag_expr): Define.
9913
b37421c6
JM
99142010-11-17 Joseph Myers <joseph@codesourcery.com>
9915
9916 * c-opts.c (c_common_parse_file): Take no arguments.
9917 * c-common.h (c_common_parse_file): Update prototype.
9918
07078664
JJ
99192010-11-16 Jakub Jelinek <jakub@redhat.com>
9920
9921 PR c++/46401
9922 * c-common.c (warning_candidate_p): Don't track non-const calls
9923 or STRING_CSTs.
9924
c6a13190
ILT
99252010-11-15 Ian Lance Taylor <iant@google.com>
9926
9927 * c-lex.c (init_c_lex): Set macro debug callbacks if
9928 flag_dump_go_spec is set.
9929
925e8657
NP
99302010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
9931
9932 * c-common.h (objc_build_incr_expr_for_property_ref): New.
9933 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
9934
bb0a9581
NF
99352010-11-15 Nathan Froyd <froydnj@codesourcery.com>
9936
9937 PR preprocessor/45038
9938 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
9939 dialects.
9940
c5fa0890
JM
99412010-11-12 Joseph Myers <joseph@codesourcery.com>
9942
9943 * c-common.h (c_family_lang_mask): Declare.
9944 * c-opts.c (c_family_lang_mask): Make extern.
9945 * c-pragma.c (handle_pragma_diagnostic): Use
9946 control_warning_option.
9947
a4d8c676
JM
99482010-11-12 Joseph Myers <joseph@codesourcery.com>
9949
9950 * c-common.c (parse_optimize_options): Update call to
9951 decode_options.
9952 * c-common.h (c_common_handle_option): Update prototype.
9953 * c-opts.c (c_common_handle_option): Take location_t parameter and
9954 pass it to other functions.
9955
f954bd2c
JM
99562010-11-11 Joseph Myers <joseph@codesourcery.com>
9957
9958 * c-opts.c (warning_as_error_callback): Remove.
9959 (c_common_initialize_diagnostics): Don't call
9960 register_warning_as_error_callback.
9961 (c_common_handle_option): Handle -Werror=normalized= here.
9962
d8a07487
JM
99632010-11-10 Joseph Myers <joseph@codesourcery.com>
9964
9965 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
9966 in diagnostic.
9967 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
9968 letter.
9969 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
9970 Remove trailing '.' from diagnostics.
9971 * c.opt (Wwrite-strings_: Avoid '`' in help text.
9972
d5478783
JM
99732010-11-10 Joseph Myers <joseph@codesourcery.com>
9974
9975 * c-common.c (parse_optimize_options): Pass global_dc to
9976 decode_options.
9977 * c-opts.c (c_common_handle_option): Pass &global_options to
9978 set_Wstrict_aliasing.
9979 * c.opt (v): Don't mark Common or document here.
9980
91ebb981
IS
99812010-11-06 Iain Sandoe <iains@gcc.gnu.org>
9982
9983 PR target/44981
9984 * c-format.c (format_type): New type gcc_objc_string_format_type.
9985 (valid_stringptr_type_p): New.
9986 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 9987 (check_format_string): Pass expected type, use
91ebb981
IS
9988 valid_stringptr_type_p (), check that the format string types are
9989 consistent with the format specification.
9990 (decode_format_attr): Warn if NSString is used outside objective-c.
9991 (format_types_orig): Add NSString.
9992 (format_name): New.
9993 (format_flags): New.
9994 (check_format_arg): Handle format strings requiring an external parser.
9995 first_target_format_type: New variable.
9996 (handle_format_attribute): Set up first_target_format_type, pass the
9997 expected format arg string type to check_format_string().
ab20d992 9998 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
91ebb981
IS
9999 * stub-objc.c (objc_string_ref_type_p): New.
10000 (objc_check_format_arg): New.
10001
bede2adc
NP
100022010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10003
9faeb493 10004 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
10005 * c-common.h (objc_build_class_component_ref): New.
10006 * stub-objc.c (objc_build_class_component_ref): New.
10007
9a179d01
NP
100082010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10009
10010 * c.opt (Wproperty-assign-default): New option.
10011
22d8d616
NP
100122010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10013
10014 Implemented -fobjc-std=objc1 flag.
10015 * c.opt (fobjc-std=objc1): New option.
10016
2debdb4f
NP
100172010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10018
10019 Implemented format and noreturn attributes for Objective-C methods.
10020 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10021 attribute for Objective-C methods.
10022
ec52b111
JM
100232010-10-31 Jason Merrill <jason@redhat.com>
10024
10025 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10026 EXPR_LOC_OR_HERE.
10027
46a88c12
NP
100282010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10029
10030 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10031 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10032 (objc_add_property_declaration): Removed arguments for copies and
10033 ivar.
10034 (objc_build_getter_call): Renamed to
10035 objc_maybe_build_component_ref.
10036 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10037 (objc_is_property_ref): New.
10038 * c-common.c (c_common_reswords): Removed copies and ivar.
10039 * stub-objc.c (objc_add_property_declaration): Removed arguments
10040 for copies and ivar.
10041 (objc_build_getter_call): Renamed to
10042 objc_maybe_build_component_ref.
10043 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10044 (objc_is_property_ref): New.
9faeb493 10045
1e4bf85b
AC
100462010-10-29 Arnaud Charlet <charlet@adacore.com>
10047 Matthew Gingell <gingell@adacore.com>
10048
10049 * c-ada-spec.c (separate_class_package): New function.
10050 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10051 name of their enclosing package.
10052 (print_ada_declaration): Use separate_class_package.
10053
81f0bab2
JM
100542010-10-27 Jason Merrill <jason@redhat.com>
10055
2b08f2c5
JM
10056 * c-common.c (c_common_reswords): Add __is_literal_type.
10057 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10058
81f0bab2
JM
10059 * c-common.c (check_case_value): Remove special C++ code.
10060
200290f2
NP
100612010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10062
10063 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10064 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10065 and RID_LAST_PATTR.
10066 (objc_add_property_declaration): Added additional arguments.
10067 (objc_property_attribute_kind): Removed.
10068 (objc_set_property_attr): Removed.
10069 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10070 copy and nonatomic.
10071 * stub-objc.c (objc_add_property_declaration): Added additional
10072 arguments.
10073 (objc_set_property_attr): Removed.
9faeb493 10074
f614132b
NP
100752010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10076
10077 * c-common.h (objc_add_property_variable): Renamed to
10078 objc_add_property_declaration. Added location argument.
10079 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 10080
b8a18805
NP
100812010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10082
10083 * c-common.h (objc_maybe_printable_name): New.
10084 * stub-objc.c (objc_maybe_printable_name): New.
10085
3f8257db
JJ
100862010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10087 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
10088
10089 * c-common.h (c_common_mark_addressable_vec): Declare.
10090 * c-common.c (c_common_mark_addressable_vec): New function.
10091
249a82c4
NP
100922010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10093
10094 * c-common.h (objc_set_method_type): Removed.
10095 (objc_add_method_declaration): Added boolean argument.
10096 (objc_start_method_definition): Same change.
10097 (objc_build_method_signature): Same change.
10098 * stub-objc.c (objc_set_method_type): Removed.
10099 (objc_add_method_declaration): Added boolean argument.
10100 (objc_start_method_definition): Same change.
10101 (objc_build_method_signature): Same change.
10102
977e30bc
NP
101032010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10104
10105 * c-common.h (finish_file): Removed.
10106 (objc_write_global_declarations): New.
10107 * c-opts.c (c_common_parse_file): Do not call finish_file.
10108 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 10109
da57d1b9
NP
101102010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10111
10112 Implemented parsing @synthesize and @dynamic for
10113 Objective-C/Objective-C++.
10114 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10115 (objc_add_synthesize_declaration): New.
10116 (objc_add_dynamic_declaration): New.
10117 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10118 * stub-objc.c (objc_add_synthesize_declaration): New.
10119 (objc_add_dynamic_declaration): New.
9faeb493 10120
0069111f
MM
101212010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10122
10123 PR target/46041
10124 * c-cppbuiltin.c (mode_has_fma): Move function here from
10125 builtins.c. Don't use the fma optab, instead just use the
10126 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10127 using -save-temps.
10128
e426b47b
NP
101292010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10130
10131 Merge from 'apple/trunk' branch on FSF servers.
0069111f 10132
3f8257db 10133 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 10134
9faeb493 10135 Radar 4330422
e426b47b
NP
10136 * c-common.h (objc_non_volatilized_type): New declaration
10137 * stub-objc.c (objc_non_volatilized_type): New stub.
10138
90fbfdc3
NP
101392010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10140
e426b47b 10141 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 10142
ab20d992 10143 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 10144
9faeb493 10145 Radar 4133425
90fbfdc3 10146 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 10147 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 10148
c37d8c30
IS
101492010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10150
10151 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10152 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10153 (objc_ivar_visibility_kind): New enum.
10154 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 10155 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
10156 visibility enum.
10157
1b1562a5
MM
101582010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10159
10160 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10161 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10162 has the appropriate fma builtins.
10163 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10164
668ea4b1
IS
101652010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10166
1b1562a5 10167 merge from FSF apple 'trunk' branch.
3f8257db 10168 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 10169
668ea4b1
IS
10170 Radars 4436866, 4505126, 4506903, 4517826
10171 * c-common.c (c_common_resword): Define @property and its attributes.
10172 * c-common.h: Define property attribute enum entries.
10173 (OBJC_IS_PATTR_KEYWORD): New.
10174 (objc_property_attribute_kind): New enum.
10175 Declare objc_set_property_attr (), objc_add_property_variable (),
10176 objc_build_getter_call () and objc_build_setter_call ().
10177 * stub-objc.c (objc_set_property_attr): New stub.
10178 (objc_add_property_variable): Likewise.
10179 (objc_build_getter_call): Likewise.
10180 (objc_build_setter_call) Likewise.
1b1562a5 10181
a1178b30
IS
101822010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10183
1b1562a5 10184 merge from FSF apple 'trunk' branch.
ab20d992 10185 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
10186
10187 Radar 3803157 (method attributes)
10188 * c-common.c (handle_deprecated_attribute): Recognize
10189 objc methods as valid declarations.
10190 * c-common.h: Declare objc_method_decl ().
1b1562a5 10191 * stub-objc.c (objc_method_decl): New stub.
a1178b30 10192
a75bfaa6
JM
101932010-10-08 Joseph Myers <joseph@codesourcery.com>
10194
10195 * c-common.c (parse_optimize_options): Call
10196 decode_cmdline_options_to_array_default_mask before
10197 decode_options. Update arguments to decode_options.
10198 * c-common.h (c_common_init_options_struct): Declare.
10199 * c-opts.c (c_common_init_options_struct): New. Split out from
10200 c_common_init_options.
10201
f05b9d93
NP
102022010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10203
10204 Implemented fast enumeration for Objective-C.
10205 * c-common.h (objc_finish_foreach_loop): New.
10206 * stub-objc.c (objc_finish_foreach_loop): New.
10207
1ebe4b4f
JM
102082010-10-05 Joseph Myers <joseph@codesourcery.com>
10209
10210 * c-common.h (struct diagnostic_context): Don't declare here.
10211 (c_common_initialize_diagnostics): Declare using
10212 diagnostic_context typedef.
10213 * c-opts.c (c_common_handle_option): Pass global_dc to
10214 handle_generated_option.
10215
d4d24ba4
JM
102162010-10-04 Joseph Myers <joseph@codesourcery.com>
10217
10218 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10219 handle_generated_option.
10220
478a1c5b
ILT
102212010-10-03 Ian Lance Taylor <iant@google.com>
10222
10223 * c.opt (-fplan9-extensions): New option.
10224
82a1c2fe
FXC
102252010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10226
10227 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10228 Remove.
10229 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10230 of duplicating code.
10231
92902b1b
IS
102322010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10233
10234 * c-common.c: Add two new entries for @optional
10235 and @required keywords.
10236
10237 merge from FSF 'apple/trunk' branch.
3f8257db 10238 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
10239
10240 Radar 4386773
10241 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10242 objective-c keywords.
10243 (objc_set_method_opt): New declaration.
10244 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 10245
46625112
JM
102462010-09-30 Joseph Myers <joseph@codesourcery.com>
10247
10248 * c-common.c (handle_optimize_attribute): Pass &global_options to
10249 cl_optimization_save and cl_optimization_restore.
10250 * c-opts.c (c_common_handle_option): Pass &global_options to
10251 handle_generated_option.
10252 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10253 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10254 &global_options to cl_optimization_restore.
10255
49b91f05
NP
102562010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10257
10258 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10259 Objective-C/Objective-C++ keywords.
10260
13ed556f 102612010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 10262
9faeb493
UB
10263 Merge from 'apple/trunk' branch on FSF servers.
10264
3f8257db 10265 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
10266
10267 Radar 4281748
10268 * c-common.h (objc_check_global_decl): New declaration.
10269 * stub-objc.c (objc_check_global_decl): New stub.
10270
f0036cca
JM
102712010-09-29 Joseph Myers <joseph@codesourcery.com>
10272
10273 * c.opt: Don't use VarExists.
10274
e3339d0f
JM
102752010-09-29 Joseph Myers <joseph@codesourcery.com>
10276
10277 * c-common.c (c_cpp_error): Update names of diagnostic_context
10278 members.
10279 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10280 cl_optimization members.
10281 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10282 sanitize_cpp_opts, finish_options): Update names of cpp_options
10283 members.
10284
1973201f
NP
102852010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10286
10287 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10288 (objc_is_reserved_word): Removed.
10289 * c-common.c: Updated comments.
10290 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10291 objc_is_reserved_word.
10292 * stub-objc.c (objc_is_reserved_word): Removed.
10293
f7e71da5
IS
102942010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10295
9faeb493 10296 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
10297 include attributes.
10298 (objc_start_method_definition): Likewise.
10299 (objc_build_keyword_decl): Likewise.
10300 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10301 (objc_start_method_definition): Likewise.
10302 (objc_build_keyword_decl): Likewise.
10303
c165dca7
IS
103042010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10305
10306 * c-common.h (objc_start_class_interface): Adjust prototype.
10307 (objc_start_category_interface): Likewise.
10308 (objc_start_protocol): Likewise.
10309 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10310 (objc_start_class_interface): Likewise.
10311 (objc_start_category_interface): Likewise.
10312
7458026b
ILT
103132010-09-27 Ian Lance Taylor <iant@google.com>
10314
10315 * c-common.c (c_common_attribute_table): Add no_split_stack.
10316 (handle_no_split_stack_attribute): New static function.
10317
b581b85b
NP
103182010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10319
9faeb493 10320 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 10321
3f8257db 10322 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 10323
9faeb493 10324 Radar 4229905
b581b85b
NP
10325 * c-common.h (objc_have_common_type): New declaration.
10326 * stub-objc.c (objc_have_common_type): New stub.
10327
10328 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10329
10330 Radar 4154928
10331 * c-common.h (objc_common_type): New prototype.
9faeb493 10332 * stub-objc.c (objc_common_type): New stub.
b581b85b 10333
46a4da10
JH
103342010-09-24 Jan Hubicka <jh@suse.cz>
10335
10336 * c-common.c (handle_leaf_attribute): New function.
10337 (struct attribute_spec c_common_att): Add leaf.
10338
e200444e
JM
103392010-09-22 Joseph Myers <joseph@codesourcery.com>
10340
10341 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10342 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10343 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10344 -include-barrier, -include-directory, -include-directory=,
10345 -include-directory-after, -include-directory-after=,
10346 -include-prefix, -include-prefix=, -include-with-prefix,
10347 -include-with-prefix=, -include-with-prefix-after,
10348 -include-with-prefix-after=, -include-with-prefix-before,
10349 -include-with-prefix-before=, -no-integrated-cpp,
10350 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10351 -output=, -pedantic, -pedantic-errors, -preprocess,
10352 -print-missing-file-dependencies, -trace-includes, -traditional,
10353 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10354 -user-dependencies, -verbose, -write-dependencies,
10355 -write-user-dependencies, no-integrated-cpp, traditional): New.
10356
29a80ea6
NP
103572010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10358
10359 PR objc/23710
ac1fc2fc
NP
10360 * c-common.h (objc_start_method_definition): Return bool instead
10361 of void.
10362 * stub-objc.c (objc_start_method_definition): Return bool instead
10363 of void.
10364
103652010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10366
10367 PR objc/25965
10368 * c-common.h (objc_get_interface_ivars): New declaration.
10369 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 10370
de621752
ILT
103712010-09-15 Ian Lance Taylor <iant@google.com>
10372
10373 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 10374 messages. Remove period at end of warning message.
de621752 10375
ba885ec5
NS
103762010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10377
10378 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10379 (handle_alias_attribute): ... here.
10380 (handle_ifunc_attribute): New.
10381
c5ee1358
MM
103822010-09-06 Mark Mitchell <mark@codesourcery.com>
10383
10384 * c-common.h (do_warn_double_promotion): Declare.
10385 * c-common.c (do_warn_double_promotion): Define.
10386
0a0b3574
MM
103872010-09-05 Mark Mitchell <mark@codesourcery.com>
10388
10389 * c.opt (Wdouble-promotion): New.
10390
d1779886
JM
103912010-09-02 Joseph Myers <joseph@codesourcery.com>
10392
10393 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10394 fvtable-thunks, fxref): Mark no longer supported in help text.
10395
2d2bd949
JM
103962010-09-02 Joseph Myers <joseph@codesourcery.com>
10397
10398 * c.opt (Wimport, fall-virtual, falt-external-templates,
10399 fdefault-inline, fenum-int-equiv, fexternal-templates,
10400 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10401 fname-mangling-version-, fnew-abi, fnonnull-objects,
10402 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10403 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10404 applicable.
10405 (fhandle-exceptions): Mark with Alias and Warn.
10406 * c-opts.c (c_common_handle_option): Don't handle options marked
10407 as ignored.
10408
5de8299c
JM
104092010-09-02 Joseph Myers <joseph@codesourcery.com>
10410
10411 * c.opt (Wcomments, Werror-implicit-function-declaration,
10412 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10413 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10414 aliases.
10415 * c-common.c (option_codes): Use OPT_Wcomment instead of
10416 OPT_Wcomments.
10417 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10418 Don't handle options marked as aliases.
10419
0ceb0201
RG
104202010-08-25 Richard Guenther <rguenther@suse.de>
10421
10422 * c-common.c (c_common_get_alias_set): Remove special
10423 handling for pointers.
10424
ac47786e
NF
104252010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10426
10427 * c-common.c: Use FOR_EACH_VEC_ELT.
10428 * c-gimplify.c: Likewise.
10429 * c-pragma.c: Likewise.
10430
c878765b
JM
104312010-08-16 Joseph Myers <joseph@codesourcery.com>
10432
10433 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10434 RejectDriver.
10435 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10436 RejectDriver.
10437 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10438 instead of OPT_MDX and OPT_MMDX.
10439
603349bf
JM
104402010-08-16 Joseph Myers <joseph@codesourcery.com>
10441
10442 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10443
644fa7ac
JM
104442010-08-12 Joseph Myers <joseph@codesourcery.com>
10445
10446 * c.opt (MD, MMD): Change to MDX and MMDX.
10447 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10448
481e1176
JM
104492010-08-11 Joseph Myers <joseph@codesourcery.com>
10450
10451 * c-opts.c (c_common_handle_option): Call handle_generated_option
10452 instead of handle_option.
10453
ac8dc9f7
NF
104542010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10455
10456 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10457 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10458
4f8c876d
NF
104592010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10460
10461 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10462 (pending_redefine_extname): Change type to a VEC.
10463 (add_to_renaming_pragma_list): Update for new type of
10464 pending_redefine_extname.
ac8dc9f7 10465 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 10466
3b0c690e
AC
104672010-08-04 Arnaud Charlet <charlet@adacore.com>
10468
10469 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10470 visited.
10471 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10472 decide whether a type has already been declared/seen.
10473 Do not go to the original type.
10474 (dump_nested_types): New parameter forward.
10475 Generate forward declaration if needed and mark type as visited.
10476 (print_ada_declaration): Call dump_nested_types if not already done.
10477 Mark types as visited.
10478
1890bccc
JM
104792010-08-03 Joseph Myers <joseph@codesourcery.com>
10480
10481 * c.opt (-print-pch-checksum): Remove option.
10482 * c-opts.c (c_common_handle_option): Don't handle
10483 OPT_print_pch_checksum.
10484
5f20c657
JM
104852010-07-27 Joseph Myers <joseph@codesourcery.com>
10486
10487 * c-common.h (c_common_handle_option): Update prototype and return
10488 value type.
10489 * c-opts.c (c_common_handle_option): Update prototype and return
10490 value type. Update calls to handle_option and
10491 enable_warning_as_error.
10492
f551f80c
JJ
104932010-07-27 Jakub Jelinek <jakub@redhat.com>
10494
10495 PR c/45079
10496 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
10497
61ff2bdc
JM
104982010-07-27 Joseph Myers <joseph@codesourcery.com>
10499
10500 * c-common.h (c_common_missing_argument): Remove.
10501 * c-opts.c (c_common_missing_argument): Remove.
10502 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
10503 idirafter, imacros, include, isysroot, isystem, iquote): Add
10504 MissingArgError.
10505 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
10506
7a9bf9a4
JM
105072010-07-27 Joseph Myers <joseph@codesourcery.com>
10508
10509 * c-common.h (c_common_option_lang_mask,
10510 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
10511 New.
10512 (c_common_init_options): Update prototype.
10513 * c-opts.c (c_common_option_lang_mask): New.
10514 (c_common_initialize_diagnostics): Split out of
10515 c_common_init_options.
10516 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
10517 New.
10518 (c_common_init_options): Update prototype. Use decoded options in
10519 search for -lang-asm.
10520
910ad8de
NF
105212010-07-15 Nathan Froyd <froydnj@codesourcery.com>
10522
10523 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
10524 * c-format.c: Likewise.
10525
718f9c0f
MLI
105262010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
10527
10528 * c-common.h: Include diagnostic-core.h. Error if already
10529 included.
10530 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
10531
4d451982
MLI
105322010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
10533
adfac8df 10534 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
10535 Do not include expr.h
10536 (vector_mode_valid_p): Move here.
10537
119fe915
SB
105382010-06-21 DJ Delorie <dj@redhat.com>
10539
10540 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
10541 allow these pragmas anywhere.
10542
105432010-06-14 Jakub Jelinek <jakub@redhat.com>
10544
10545 PR bootstrap/44509
10546 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
10547 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
10548 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
10549 ggc_strdup instead of xstrdup.
10550
105512010-06-10 Jakub Jelinek <jakub@redhat.com>
10552
10553 * c-cppbuiltin.c: Include cpp-id-data.h.
10554 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
10555 (lazy_hex_fp_value): New function.
10556 (builtin_define_with_hex_fp_value): Provide definitions lazily.
10557
6662d794
MLI
105582010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
10559
10560 * c-gimplify.c: Do not include tree-flow.h
10561
38f8b050
JR
105622010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
10563
10564 PR other/44034
10565 * c-common.c: Rename targetm member:
10566 targetm.enum_va_list -> targetm.enum_va_list_p
10567
9589f23e
AS
105682010-06-28 Anatoly Sokolov <aesok@post.ru>
10569
10570 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
10571
3b06d379
SB
105722010-06-28 Steven Bosscher <steven@gcc.gnu.org>
10573
10574 * c-cppbuiltin.c: Do not include except.h.
10575
d166d4c3
AK
105762010-06-24 Andi Kleen <ak@linux.intel.com>
10577
9faeb493
UB
10578 * c-common.c (warn_for_omitted_condop): New.
10579 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 10580
70cb8be6
JM
105812010-06-21 Joseph Myers <joseph@codesourcery.com>
10582
10583 * c.opt (lang-objc): Remove.
10584 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
10585
a4c97feb
JR
105862010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
10587
10588 * c-opts.c: Include "tm_p.h".
10589
6e2f1956
JM
105902010-06-20 Joseph Myers <joseph@codesourcery.com>
10591
10592 * c-common.c (parse_optimize_options): Update call to
10593 decode_options.
10594
bc87224e
NF
105952010-06-18 Nathan Froyd <froydnj@codesourcery.com>
10596
10597 * c-common.c (record_types_used_by_current_var_decl): Adjust for
10598 new type of types_used_by_cur_var_decl.
10599
b49cf425
JR
106002010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
10601
10602 PR bootstrap/44512
10603 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
10604 for C++ standard compliance.
10605
59f9c2ed
JM
106062010-06-16 Jason Merrill <jason@redhat.com>
10607
10608 * c.opt: Add -Wnoexcept.
10609
33766b66
RG
106102010-06-16 Richard Guenther <rguenther@suse.de>
10611
10612 PR c/44555
10613 * c-common.c (c_common_truthvalue_conversion): Remove
10614 premature and wrong optimization concering ADDR_EXPRs.
10615
eff7e30c
AC
106162010-06-15 Arnaud Charlet <charlet@adacore.com>
10617
10618 * c-ada-spec.c (dump_sloc): Remove column info.
10619 (is_simple_enum): New function.
10620 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
10621 enum types when relevant.
10622
6312e84d
MLI
106232010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
10624
9faeb493 10625 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
10626 location.
10627
1cb42611
JM
106282010-06-10 Joseph Myers <joseph@codesourcery.com>
10629
10630 * c-opts.c (c_common_handle_option): Don't handle
10631 OPT_fshow_column.
10632
a9429e29
LB
106332010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
10634
10635 * c-pragma.c (push_alignment): Use typed GC allocation.
10636 (handle_pragma_push_options): Likewise.
10637
10638 * c-common.c (parse_optimize_options): Likewise.
10639
10640 * c-common.h (struct sorted_fields_type): Add variable_size GTY
10641 option.
10642
5498f011
JM
106432010-06-07 Joseph Myers <joseph@codesourcery.com>
10644
10645 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
10646 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10647 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10648 flag_signed_bitfields, warn_strict_null_sentinel,
10649 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
10650 flag_gen_declaration, flag_no_gnu_keywords,
10651 flag_implement_inlines, flag_implicit_templates,
10652 flag_implicit_inline_templates, flag_optional_diags,
10653 flag_elide_constructors, flag_default_inline, flag_rtti,
10654 flag_conserve_space, flag_access_control, flag_check_new,
10655 flag_new_for_scope, flag_weak, flag_working_directory,
10656 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
10657 flag_enforce_eh_specs, flag_threadsafe_statics,
10658 flag_pretty_templates): Remove.
10659 * c-common.h (flag_preprocess_only, flag_nil_receivers,
10660 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
10661 flag_replace_objc_classes, flag_undef, flag_no_builtin,
10662 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
10663 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
10664 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
10665 flag_no_gnu_keywords, flag_implement_inlines,
10666 flag_implicit_templates, flag_implicit_inline_templates,
10667 flag_optional_diags, flag_elide_constructors, flag_default_inline,
10668 flag_rtti, flag_conserve_space, flag_access_control,
10669 flag_check_new, flag_new_for_scope, flag_weak,
10670 flag_working_directory, flag_use_cxa_atexit,
10671 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
10672 flag_threadsafe_statics, flag_pretty_templates,
10673 warn_strict_null_sentinel): Remove.
10674 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
10675 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
10676 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
10677 fimplicit-inline-templates, fimplicit-templates,
10678 flax-vector-conversions, fms-extensions, fnil-receivers,
10679 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
10680 frtti, fshort-double, fshort-enums, fshort-wchar,
10681 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
10682 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
10683 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
10684 gen-decls, undef): Use Var.
10685 (fdefault-inline, foptional-diags): Document as doing nothing.
10686 * c-opts.c (c_common_handle_option): Remove cases for options now
10687 using Var. Mark ignored options as such.
10688
39dabefd
SB
106892010-06-05 Steven Bosscher <steven@gcc.gnu.org>
10690
9faeb493 10691 * c-common.c: Moved to here from parent directory.
39dabefd
SB
10692 * c-common.def: Likewise.
10693 * c-common.h: Likewise.
10694 * c-cppbuiltin.c: Likewise.
10695 * c-dump.c: Likewise.
10696 * c-format.c: Likewise.
10697 * c-format.h : Likewise.
10698 * c-gimplify.c: Likewise.
10699 * c-lex.c: Likewise.
10700 * c-omp.c: Likewise.
10701 * c.opt: Likewise.
10702 * c-opts.c: Likewise.
10703 * c-pch.c: Likewise.
10704 * c-ppoutput.c: Likewise.
10705 * c-pragma.c: Likewise.
10706 * c-pragma.h: Likewise.
10707 * c-pretty-print.c: Likewise.
10708 * c-pretty-print.h: Likewise.
10709 * c-semantics.c: Likewise.
10710 * stub-objc.c: Likewise.
10711
10712 * c-common.c: Include gt-c-family-c-common.h.
10713 * c-pragma.c: Include gt-c-family-c-pragma.h.
10714\f
a5544970 10715Copyright (C) 2010-2019 Free Software Foundation, Inc.
39dabefd
SB
10716
10717Copying and distribution of this file, with or without modification,
10718are permitted in any medium without royalty provided the copyright
10719notice and this notice are preserved.