]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Add __builtin_speculation_safe_value
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
425fc685
RE
12018-07-31 Richard Earnshaw <rearnsha@arm.com>
2
3 * c-common.c (speculation_safe_resolve_call): New function.
4 (speculation_safe_resolve_params): New function.
5 (speculation_safe_resolve_return): New function.
6 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
7 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
8 __HAVE_SPECULATION_SAFE_VALUE.
9
181463c2
DM
102018-07-20 David Malcolm <dmalcolm@redhat.com>
11
12 * c-common.c (c_cpp_error): Remove redundant "line_table"
13 parameter from call to rich_location::set_range.
14 (maybe_suggest_missing_token_insertion): Likewise.
15
0d7f9065
MS
162018-07-20 Martin Sebor <msebor@redhat.com>
17
18 PR middle-end/82063
19 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall.
20
00abf86c
MS
212018-07-20 Martin Sebor <msebor@redhat.com>
22
23 PR middle-end/82063
24 * c-common.h (c_common_handle_option): Change function argument
25 to HOST_WIDE_INT.
26 * c-opts.c (c_common_init_options): Same.
27 (c_common_handle_option): Same. Remove special handling of
28 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
29 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
30 options to take a HOST_WIDE_INT argument and accept a byte-size
31 suffix. Initialize.
32 (-Wvla-larger-than): Same.
33 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
34 (-Wno-vla-larger-than): Same.
35
9b452033
JJ
362018-07-12 Jakub Jelinek <jakub@redhat.com>
37
38 * c-attribs.c (c_common_attribute_table): Add
39 "omp declare target implicit" attribute.
40
cd0762f3
RB
412018-07-12 Richard Biener <rguenther@suse.de>
42
43 PR c/86453
44 * c-attribs.c (handle_packed_attribute): Do not build a variant
45 type with TYPE_PACKED, instead ignore the attribute if we may
46 not apply to the original type.
47
0b27c3ed
JJ
482018-07-10 Jakub Jelinek <jakub@redhat.com>
49
50 PR c++/86443
51 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
52 to contain TREE_LIST for both the original class iterator and the
53 "last" helper var.
54
e730a0ef
EB
552018-07-07 Eric Botcazou <ebotcazou@adacore.com>
56
57 * c-ada-spec.c (to_ada_name): Remove index parameter.
58 (pp_ada_tree_identifier): Likewise.
59 (dump_ada_macros): Adjust call to to_ada_name.
60 (struct overloaded_name_hash): Delete.
61 (struct overloaded_name_hasher): Likewise.
62 (overloaded_names): Likewise.
63 (compute_overloading_index): Likewise.
64 (dump_ada_decl_name): Do not call compute_overloading_index and
65 adjust calls to pp_ada_tree_identifier.
66 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
67 (dump_ada_import): Add spc parameter and switch to aspect syntax.
68 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
69 (dump_ada_enum_type): Remove type and display_convention parameters.
70 Adjust calls to pp_ada_tree_identifier.
71 (dump_ada_node): Likewise and for dump_ada_structure.
72 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
73 and tidy up.
74 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
75 syntax.
76 (print_constructor): Adjust call to pp_ada_tree_identifier.
77 (print_destructor): Likewise.
78 (dump_ada_declaration): Switch to aspect syntax.
79 (dump_ada_structure): Likewise and tidy up. Replace display_convention
80 parameter with nested parameter.
81 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
82 (dump_ada_specs): Do not delete overloaded_names table.
83
8de583fc
PB
842018-07-06 Peter Bergner <bergner@linux.ibm.com>
85
86 PR target/86324
e730a0ef 87 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
8de583fc
PB
88 target hook.
89
09cff37b
NS
902018-07-05 Nathan Sidwell <nathan@acm.org>
91
92 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
93 NO_IMPLICIT_EXTERN_C.
94
98086b2b
ML
952018-06-28 Martin Liska <mliska@suse.cz>
96
97 * cppspec.c: Include opt-suggestions.h.
98
829c6349
CLT
992018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
100 Thomas Schwinge <thomas@codesourcery.com>
101 Cesar Philippidis <cesar@codesourcery.com>
102
103 * c-pragma.h (enum pragma_omp_clause): Add
104 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
105 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
106
f41b7612
JJ
1072018-06-20 Jakub Jelinek <jakub@redhat.com>
108
109 PR c++/86210
110 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
111 comment.
112
4252ccd7
MS
1132018-06-18 Martin Sebor <msebor@redhat.com>
114
115 PR middle-end/85602
116 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
117 nonstring.
118
e197e64e
KV
1192018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
120
121 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
122
34a7a230
JM
1232018-06-13 Jason Merrill <jason@redhat.com>
124
5cef3733
JM
125 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
126 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
127 handling.
128
34a7a230
JM
129 PR c++/86094 - wrong code with defaulted move ctor.
130 * c-opts.c (c_common_post_options): Bump the current ABI version to
131 13. Set warn_abi_version and flag_abi_compat_version to the current
132 version rather than 0. Fix defaulting flag_abi_compat_version from
133 warn_abi_version.
134
bb0f14ae
MS
1352018-06-12 Martin Sebor <msebor@redhat.com>
136
137 PR c/85931
138 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
139 sizeof source and destination yields the same value.
140
3713f2e2
ML
1412018-06-12 Martin Liska <mliska@suse.cz>
142
143 * c.opt: Make MPX-related options as Deprecated.
144
4af78ef8
DM
1452018-06-08 David Malcolm <dmalcolm@redhat.com>
146
147 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
148 rather than 0.
149
31db0fe0
ML
1502018-06-08 Martin Liska <mliska@suse.cz>
151
152 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
153 for MPX (macros, related functions, fields in cgraph_node, ...).
154 (handle_bnd_legacy): Likewise.
155 (handle_bnd_instrument): Likewise.
156 * c.opt: Likewise.
157
fe16acf2
JJ
1582018-06-06 Jakub Jelinek <jakub@redhat.com>
159
160 PR c++/86068
161 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
162 __cpp_transactional_memory to 201500 instead of 210500.
163
4dbdb49b
JM
1642018-06-06 Jason Merrill <jason@redhat.com>
165
166 PR c++/85710 - ICE with -Wmemset-elt-size.
167 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
168
f8ad043f
JM
1692018-06-01 Jason Merrill <jason@redhat.com>
170
171 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
172 201703.
173
abc24d93
EB
1742018-06-01 Eric Botcazou <ebotcazou@adacore.com>
175
176 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
177 declaration for a typedef independently of whether the declaration of
178 the subtype is generated.
179
d258f4aa
MS
1802018-05-31 Martin Sebor <msebor@redhat.com>
181
182 PR c/82063
183 * c.opt (-Wno-alloc-size-larger-than): New option.
184
b67b9225
DP
1852018-04-22 David Pagan <dave.pagan@oracle.com>
186
187 PR c/55976
188 * c-opts.c (c_common_post_options): Set default for warn_return_type
189 for C++/C++ with ObjC extensions only. For C, makes it possible to
190 differentiate between default (no option), -Wreturn-type, and
191 -Wno-return-type.
192
04eb9c55
JM
1932018-05-29 Jason Merrill <jason@redhat.com>
194
195 * c.opt (Winit-list-lifetime): New flag.
196
b0c31bc6
BE
1972018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
198
199 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
200 splay_tree_delete_pointers.
201
44284983
JJ
2022018-05-26 Jakub Jelinek <jakub@redhat.com>
203
204 PR bootstrap/85921
205 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
206 noinline variable to workaround broken kernel headers.
207
b46b715d
JM
2082018-05-18 Jason Merrill <jason@redhat.com>
209
210 * c.opt (Wdeprecated-copy): New flag.
211
40659769
ML
2122018-05-17 Martin Liska <mliska@suse.cz>
213
214 * c-warn.c (overflow_warning): Do not use
215 space in between 'G_' and '('.
216
403962ea
JM
2172018-05-09 Jason Merrill <jason@redhat.com>
218
219 * c-common.c (valid_array_size_p): Add complain parameter.
220 * c-common.h: ...which defaults to true.
221
1c9ee609
JJ
2222018-05-11 Jakub Jelinek <jakub@redhat.com>
223
224 PR c/85696
225 * c-omp.c (c_omp_predetermined_sharing): Return
226 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
227
19916065
ML
2282018-05-11 Martin Liska <mliska@suse.cz>
229
230 PR sanitizer/85556
231 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
232 TREE_LIST values.
233
79e7b1fe
JJ
2342018-05-10 Jakub Jelinek <jakub@redhat.com>
235
236 PR c++/85662
237 * c-common.h (fold_offsetof_1): Removed.
238 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
239 CTX argument defaulted to ERROR_MARK.
240 * c-common.c (fold_offsetof_1): Renamed to ...
241 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
242 argument, convert the pointer constant to TYPE and use size_binop
243 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
244 a pointer type. Adjust recursive calls.
245
86c12f76
EB
2462018-05-10 Eric Botcazou <ebotcazou@adacore.com>
247
248 PR c++/85400
249 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
250
ee336e84
NS
2512018-05-07 Nathan Sidwell <nathan@acm.org>
252
253 * c.opt (ffor-scope): Remove functionality, issue warning.
254
6c072e21
NS
2552018-05-03 Nathan Sidwell <nathan@acm.org>
256
257 * c.opt (ffriend-injection): Remove functionality, issue warning.
258
2cc7d3a7
DM
2592018-05-01 David Malcolm <dmalcolm@redhat.com>
260
261 PR c/84258
262 * c-format.c (struct format_check_results): Add field
263 "number_non_char".
264 (check_format_info): Initialize it, and warn if encountered.
265 (check_format_arg): Distinguish between wide char and
266 everything else when detecting arrays of non-char.
267
7761dfbe
DM
2682018-04-30 David Malcolm <dmalcolm@redhat.com>
269
270 * c-format.c (get_corrected_substring): Update for
271 location_get_source_line returning a char_span. Use a char_span
272 when handling the prefix of the correction.
273 * c-indentation.c (get_visual_column): Update for
274 location_get_source_line returning a char_span.
275 (get_first_nws_vis_column): Likewise.
276
62e98ef1
DM
2772018-03-29 David Malcolm <dmalcolm@redhat.com>
278
279 PR c++/84269
280 * known-headers.cc (get_stdlib_header_for_name): Add various names
281 from <assert.h>, <string.h>, and <memory.h>; add more names from
282 <stdio.h>.
283
a7dea617
JJ
2842018-03-27 Jakub Jelinek <jakub@redhat.com>
285
286 PR c++/85061
287 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
288 get_base_address of the second operand is a VAR_P, rather than the
289 operand itself, and use gcc_checking_assert instead of gcc_assert.
290
889a3a30
MP
2912018-03-23 Marek Polacek <polacek@redhat.com>
292
293 PR c++/85045
294 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
295 <case RDIV_EXPR>: Tweak condition.
296
452154b9
EB
2972018-03-20 Eric Botcazou <ebotcazou@adacore.com>
298
299 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
300
63ecb626
JJ
3012018-03-16 Jakub Jelinek <jakub@redhat.com>
302
ce811fc4
JJ
303 PR c/84909
304 * c-warn.c (conversion_warning): Replace "to to" with "to" in
305 diagnostics.
306
63ecb626
JJ
307 PR c/84910
308 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
309 diagnostics.
310
a1295eec
RB
3112018-03-16 Richard Biener <rguenther@suse.de>
312
313 PR c/84873
314 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
315 unshare the possibly folded expression.
316
919674fb
RB
3172018-03-15 Richard Biener <rguenther@suse.de>
318
319 PR c/84873
320 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
321
f99309b2
MS
3222018-03-13 Martin Sebor <msebor@redhat.com>
323
324 PR tree-optimization/84725
325 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
326 with all three narrow character types, including their qualified forms.
327
e9b9fa4c
MS
3282018-03-12 Martin Sebor <msebor@redhat.com>
329
330 PR tree-optimization/83456
331 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
332 Restore checking of bounded built-in functions.
333 (check_function_arguments): Also return the result
334 of warn_for_restrict.
335 * gcc/c-family/c-common.c (check_function_restrict): Return bool.
336 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool.
337
0805d020
MP
3382018-03-02 Marek Polacek <polacek@redhat.com>
339
340 PR c++/84171
341 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
342 is erroneous.
343
ed2a2f08
TS
3442018-03-02 Thomas Schwinge <thomas@codesourcery.com>
345
346 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
347 function".
348
90abdde0
MP
3492018-03-01 Marek Polacek <polacek@redhat.com>
350
351 PR c++/84639
352 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
353 alignment in computation.
354
c6db43fa
EB
3552018-02-28 Eric Botcazou <ebotcazou@adacore.com>
356
357 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
358 <REAL_TYPE>: Deal specifically with _Float128/__float128.
359
9e25c7ed
EB
3602018-02-28 Eric Botcazou <ebotcazou@adacore.com>
361
362 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
363 (is_char_array): Take a type instead of a declaration.
364 (dump_ada_array_type): Likewise.
365 (is_simple_enum): Minor tweak.
366 (dump_ada_enum_type): New function extracted from...
367 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
368 <INTEGER_TYPE>: Remove unreachable code.
369 <RECORD_TYPE>: Likewise. Minor tweaks.
370 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
371 <ENUMERAL_TYPE>: New case.
372 <RECORD_TYPE>: Factor out common code.
373 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
374 Minor tweaks. Deal with enumeral types.
375 (dump_ada_structure): Minor tweaks.
376
09de3550
EB
3772018-02-28 Eric Botcazou <ebotcazou@adacore.com>
378
379 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
380 address for incomplete structures.
381 (dump_forward_type): Do not bail out for incomplete structures.
382 (dump_ada_declaration): Do not special-case incomplete structures
383 for subtypes. Dump them as null records for types.
384
095d8d4b
EB
3852018-02-28 Eric Botcazou <ebotcazou@adacore.com>
386
387 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
388 (is_char_array): Fix formatting.
389 (dump_template_types): Likewise.
390 (dump_generic_ada_node): Rename into...
391 (dump_ada_node): ...this.
392 <POINTER_TYPE>: Remove superfluous space. Use generic address for
393 incomplete structures and not for empty structures. Do not use it
394 when forward declarations are needed.
395 (dump_forward_type): New function.
396 (dump_nested_types): Remove FORWARD parameter. Do not consider
397 TREE_VISITED and do not generate a forward declaration. Only dump
398 original nested types for nested declaration.
399 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
400 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
401 <RECORD_TYPE>: Do not consider TREE_VISITED.
402 (dump_ada_declaration): Use booleans and fix formatting throughout.
403 <TYPE_DECL>: Skip incomplete structures and not empty structures.
404 Call dump_forward_type instead of dump_nested_types for a typedef.
405 Remove superfluous check and adjust call to dump_nested_types.
406 <POINTER_TYPE>: Call dump_forward_type and fall through.
407 (dump_ada_struct_decl): Rename into...
408 (dump_ada_structure): ...this. Do not special-case empty structures.
409
d4cfd486
MS
4102018-02-27 Martin Sebor <msebor@redhat.com>
411
412 PR c++/83871
413 * c.opt (-Wmissing-attributes): New option.
414
b22dbd03
ML
4152018-02-21 Martin Liska <mliska@suse.cz>
416
417 * c.opt (Wcatch-value=): Add IntegerRange.
418
883dfe2a
JM
4192018-02-15 Jason Merrill <jason@redhat.com>
420
421 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
422
0444aa9c
NS
4232018-02-09 Nathan Sidwell <nathan@acm.org>
424
425 PR c/84293
426 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
427 arg.
428 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
429 arg. Adjust.
430
cea71f0a
MS
4312018-02-09 Martin Sebor <msebor@redhat.com>
432
433 PR lto/84212
434 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
435 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
436 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
437 (-Wstrict-overflow, -Wsuggest-attribute): Same.
438 (-Wuninitialized): Same.
439
8c8b7be5
EB
4402018-02-09 Eric Botcazou <ebotcazou@adacore.com>
441
442 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
443 keyword for components.
444
7c30b12a
PC
4452018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
446
447 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
448
eece7fe5
JK
4492018-02-02 Julia Koval <julia.koval@intel.com>
450
451 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
452
7d07a93a
MP
4532018-01-29 Marek Polacek <polacek@redhat.com>
454
455 PR c/83966
456 * c-format.c (check_function_format): Check current_function_decl.
457
53723269
JJ
4582018-01-27 Jakub Jelinek <jakub@redhat.com>
459
460 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
461 argument.
462 (LAZY_HEX_FP_VALUES_CNT): Define.
463 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
464 values rather than just 12.
465 (builtin_define_with_hex_fp_value): Likewise.
466
7365279f
BK
4672018-01-18 Boris Kolpackov <boris@codesynthesis.com>
468
469 PR other/70268
53723269
JJ
470 * c.opt (-fmacro-prefix-map): New option.
471 * c-opts.c (c_common_handle_option): Handle it.
472 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
473 * c-ppoutput.c (init_pp_output): Likewise.
7365279f 474
bb9869d5
DM
4752018-01-17 David Malcolm <dmalcolm@redhat.com>
476
477 PR c++/83814
478 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
479
68dc87c3
EB
4802018-01-10 Eric Botcazou <ebotcazou@adacore.com>
481
482 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
483 Skip 'f' and 'F' characters if it is true.
484 (store_ada_macro): Minor tweak.
485 (dump_ada_macros) <CPP_COMMENT>: Likewise.
486 <CPP_WSTRING>: Likewise.
487 <CPP_STRING>: Output '&' in the buffer if not the first string.
488 <CPP_NUMBER>: Adjust calls to dump_number.
489
9a004410
DM
4902018-01-10 David Malcolm <dmalcolm@redhat.com>
491
492 PR c++/43486
493 * c-common.c: Include "selftest.h".
494 (get_atomic_generic_size): Perform the test for integral type
495 before the range test for any integer constant, fixing indentation
496 of braces. Call fold_for_warn before testing for an INTEGER_CST.
497 (reject_gcc_builtin): Strip any location wrapper from EXPR.
498 (selftest::test_fold_for_warn): New function.
499 (selftest::c_common_c_tests): New function.
500 (selftest::c_family_tests): Call it, and
501 selftest::c_pretty_print_c_tests.
502 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
503 * c-format.c (check_format_arg): Convert VAR_P check to a
504 fold_for_warn.
505 * c-pretty-print.c: Include "selftest.h".
506 (pp_c_cast_expression): Don't print casts for location wrappers.
507 (selftest::assert_c_pretty_printer_output): New function.
508 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
509 (selftest::test_location_wrappers): New function.
510 (selftest::c_pretty_print_c_tests): New function.
511 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
512
5c0caeb3
RS
5132018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
514 Alan Hayward <alan.hayward@arm.com>
515 David Sherwood <david.sherwood@arm.com>
516
517 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
518
73a699ae
RS
5192018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
520 Alan Hayward <alan.hayward@arm.com>
521 David Sherwood <david.sherwood@arm.com>
522
523 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
524 as polynomial.
525
928686b1
RS
5262018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
527 Alan Hayward <alan.hayward@arm.com>
528 David Sherwood <david.sherwood@arm.com>
529
530 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
531 (convert_vector_to_array_for_subscript): Handle polynomial
532 TYPE_VECTOR_SUBPARTS.
533 (c_common_type_for_mode): Check valid_vector_subparts_p.
534 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
535 VECTOR_CST_NELTS.
536
85ec4feb
JJ
5372018-01-03 Jakub Jelinek <jakub@redhat.com>
538
539 Update copyright years.
540
170a8bd6
EB
5412017-12-22 Mike Stump <mikestump@comcast.net>
542 Eric Botcazou <ebotcazou@adacore.com>
543
544 * c-pragma.c (init_pragma): Register pragma GCC unroll.
545 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
546
18408e96
AO
5472017-12-22 Alexandre Oliva <aoliva@redhat.com>
548
549 PR debug/83527
550 PR debug/83419
551 * c-semantics.c (only_debug_stmts_after_p): New.
552 (pop_stmt_list): Clear side effects in debug-only stmt list.
553 Check for single nondebug stmt followed by debug stmts only.
554
c12d20d4
AO
5552017-12-21 Alexandre Oliva <aoliva@redhat.com>
556
557 PR debug/83419
558 * c-semantics.c (pop_stmt_list): Propagate side effects from
559 single nondebug stmt to container list.
560
01512446
JJ
5612017-12-19 Jakub Jelinek <jakub@redhat.com>
562
563 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
564 conditions with typical order conditions.
565
82cfbd01
MP
5662017-12-18 Marek Polacek <polacek@redhat.com>
567
568 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
569 not in effect.
570
99da11ec
MS
5712017-12-17 Martin Sebor <msebor@redhat.com>
572
573 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
574 an error for attribute warn_if_not_aligned.
575
cc8bea0a
MS
5762017-12-16 Martin Sebor <msebor@redhat.com>
577
578 PR tree-optimization/78918
579 * c-common.c (check_function_restrict): Avoid checking built-ins.
580 * c.opt (-Wrestrict): Include in -Wall.
581
4849deb1
JJ
5822017-12-15 Jakub Jelinek <jakub@redhat.com>
583
584 * c-attribs.c (c_common_attribute_table,
585 c_common_format_attribute_table): Swap affects_type_identity
586 and handler fields, adjust comments.
587
c65e18d3
BE
5882017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
589
590 * c.opt (Wcast-function-type): New warning option.
591 * c-lex.c (get_fileinfo): Avoid warning.
592 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
593
2004617a
QZ
5942017-12-14 Qing Zhao <qing.zhao@oracle.com>
595
7365279f 596 PR middle_end/79538
2004617a
QZ
597 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
598 Adjust the size of buf1 and buf2, add a new buf to avoid
599 format-overflow warning.
600
96a95ac1
AO
6012017-12-12 Alexandre Oliva <aoliva@redhat.com>
602
603 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
604 subsequent statement list.
605
5d9ae53d
MS
6062017-12-07 Martin Sebor <msebor@redhat.com>
607
608 PR c/81544
609 PR c/81566
610 * c-attribs.c (attr_aligned_exclusions): New array.
611 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
612 (attr_common_exclusions, attr_const_pure_exclusions): Same.
613 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
614 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
615 (attr_warn_unused_result_exclusions): Same.
616 (handle_hot_attribute, handle_cold_attribute): Simplify.
617 (handle_const_attribute): Warn on function returning void.
618 (handle_pure_attribute): Same.
619 (handle_aligned_attribute): Diagnose conflicting attribute
620 specifications.
621 * c-warn.c (diagnose_mismatched_attributes): Simplify.
622
c79144f8
DM
6232017-12-06 David Malcolm <dmalcolm@redhat.com>
624
625 PR c/83236
626 * c-common.c (selftest::c_family_tests): Call
627 selftest::c_spellcheck_cc_tests.
628 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
629 * c-spellcheck.cc: Include "selftest.h".
630 (name_reserved_for_implementation_p): New function.
631 (should_suggest_as_macro_p): New function.
632 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
633 should_suggest_as_macro_p and call it.
634 (selftest::test_name_reserved_for_implementation_p): New function.
635 (selftest::c_spellcheck_cc_tests): New function.
636 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
637
613bc14f
DM
6382017-12-06 David Malcolm <dmalcolm@redhat.com>
639
640 * c-spellcheck.cc: New file, taken from macro-handling code in
641 spellcheck-tree.c.
642 * c-spellcheck.h: New file, taken from macro-handling code in
643 spellcheck-tree.h.
644
e76c7157
JJ
6452017-12-01 Jakub Jelinek <jakub@redhat.com>
646
647 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
648 attribute.
649 (handle_simd_attribute): Don't check for "cilk simd function"
650 attribute. Reindent, formatting changes.
651
b0da4034
JK
6522017-11-30 Julia Koval <julia.koval@intel.com>
653
654 * c-common.h (inv_list): Remove.
655
058f0b9e
JJ
6562017-11-28 Jakub Jelinek <jakub@redhat.com>
657
658 PR sanitizer/81275
659 * c-common.c (c_switch_covers_all_cases_p_1,
660 c_switch_covers_all_cases_p): New functions.
661 * c-common.h (c_switch_covers_all_cases_p): Declare.
662
5e9d6aa4
JK
6632017-11-28 Julia Koval <julia.koval@intel.com>
664 Sebastian Peryt <sebastian.peryt@intel.com>
665
666 * array-notation-common.c: Delete.
667 * c-cilkplus.c: Ditto.
668 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
669 * c-common.def (ARRAY_NOTATION_REF): Remove.
670 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
671 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
672 c_validate_cilk_plus_loop, cilkplus_an_parts,
673 cilk_ignorable_spawn_rhs_op,
674 cilk_recognize_spawn): Remove.
675 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
676 * c-omp.c: Remove CILK_SIMD check.
677 * c-pragma.c: Ditto.
678 * c-pragma.h: Remove CILK related pragmas.
679 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
680 ARRAY_NOTATION_REF condition.
681 (c_pretty_printer::expression): Ditto.
682 * c.opt (fcilkplus): Remove.
683 * cilk.c: Delete.
684
1af4ebf5
MG
6852017-11-21 Marc Glisse <marc.glisse@inria.fr>
686
687 * c-pretty-print.c (pp_c_additive_expression,
688 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
689
d44ed508
JJ
6902017-11-21 Jakub Jelinek <jakub@redhat.com>
691
7d2f0f9b
JJ
692 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
693
d44ed508
JJ
694 PR c++/83059
695 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
696 instead of tree_to_uhwi, formatting fix.
697
26edace6
DM
6982017-11-20 David Malcolm <dmalcolm@redhat.com>
699
700 PR c/81404
701 * known-headers.cc: New file, based on material from c/c-decl.c.
702 (suggest_missing_header): Copied as-is.
703 (get_stdlib_header_for_name): New, based on get_c_name_hint but
704 heavily edited to add C++ support. Add some knowledge about
705 <limits.h>, <stdint.h>, and <wchar.h>.
706 * known-headers.h: Likewise.
707
6c7a259b
DM
7082017-11-20 David Malcolm <dmalcolm@redhat.com>
709
710 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
711 (lookup_name_fuzzy): Likewise. Convert return type from
712 const char * to name_hint. Add location_t param.
713 * name-hint.h: New header.
714
f9c59f7e
JJ
7152017-11-19 Jakub Jelinek <jakub@redhat.com>
716
717 PR c/66618
718 PR c/69960
719 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
720
1e39313a
JM
7212017-11-16 Joseph Myers <joseph@codesourcery.com>
722
723 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
724 expected publication date of C17.
725 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
726
3ca0dc60
JM
7272017-11-15 Joseph Myers <joseph@codesourcery.com>
728
729 PR c/81156
730 * c-common.c (c_common_reswords): Add __builtin_tgmath.
731 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
732
025d57f0
MS
7332017-11-10 Martin Sebor <msebor@redhat.com>
734
735 PR c/81117
736 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
737 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
738 * c.opt (-Wstringop-truncation): New option.
739
1b6fa695
ML
7402017-11-06 Martin Liska <mliska@suse.cz>
741
742 PR middle-end/82404
743 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
744 FE.
745 * c.opt: Set default value of warn_return_type.
746
64a5912c
DM
7472017-10-31 David Malcolm <dmalcolm@redhat.com>
748
749 * c-common.c (binary_op_error): Update for renaming of
750 error_at_rich_loc.
751 (c_parse_error): Likewise.
752 * c-warn.c (warn_logical_not_parentheses): Likewise for
753 renaming of inform_at_rich_loc.
754 (warn_for_restrict): Likewise for renaming of
755 warning_at_rich_loc_n.
756
c76dc9c3
JM
7572017-10-30 Joseph Myers <joseph@codesourcery.com>
758
759 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
760 * c-opts.c (set_std_c17): New function.
761 (c_common_init_options): Use gnu17 as default C version.
762 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
763
ee5fd23a
MM
7642017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
765
766 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
767 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
768 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
769 __FP_FAST_FMA<N>X.
770
d1047465
MP
7712017-10-23 Marek Polacek <polacek@redhat.com>
772
773 PR c/82681
774 * c-warn.c (warnings_for_convert_and_check): Fix typos.
775
9e878cf1
EB
7762017-10-19 Eric Botcazou <ebotcazou@adacore.com>
777
778 * c-common.c (check_builtin_function_arguments): Also check arguments
779 of __builtin_alloca_with_align_and_max.
780
89b6abbb
DM
7812017-10-17 David Malcolm <dmalcolm@redhat.com>
782
783 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
784 rather than NULL to format_warning_va.
785 (check_format_types): Likewise when calling format_type_warning.
786 Remove code to extract source_ranges and source_range * in favor
787 of just a location_t.
788 (format_type_warning): Convert source_range * param to a
789 location_t.
790
39382c09
JJ
7912017-10-13 Jakub Jelinek <jakub@redhat.com>
792
793 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
794 [LR]SHIFT_EXPR.
795
62e1c678
DM
7962017-10-12 David Malcolm <dmalcolm@redhat.com>
797
798 * c-common.c (enum missing_token_insertion_kind): New enum.
799 (get_missing_token_insertion_kind): New function.
800 (maybe_suggest_missing_token_insertion): New function.
801 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
802
b90c9338
NS
8032017-10-11 Nathan Sidwell <nathan@acm.org>
804
805 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
806 (c_common_handle_option): Update incpath_kind names.
807
3a266bcd
ML
8082017-10-11 Martin Liska <mliska@suse.cz>
809
810 PR sanitizer/82490
811 * c-attribs.c (handle_no_sanitize_attribute): Report directly
812 Wattributes warning.
813
8e6cdc90
RS
8142017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
815
816 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
817 operating on trees as wide_ints.
818 * c-common.c (pointer_int_sum): Likewise.
819 * c-pretty-print.c (pp_c_integer_constant): Likewise.
820 * c-warn.c (match_case_to_enum_1): Likewise.
821 (c_do_switch_warnings): Likewise.
822 (maybe_warn_shift_overflow): Likewise.
823
802b38c9
JJ
8242017-10-10 Jakub Jelinek <jakub@redhat.com>
825
826 PR c/82437
827 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
828 instead of wide_int::from.
829
4e34b338
JJ
8302017-10-06 Jakub Jelinek <jakub@redhat.com>
831
832 PR c/82437
833 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
834 using to_widest use wide_int with the larger of the two precisions.
835
4bc4b2b4
BE
8362017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
837
838 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
839 functions.
840
a1488398
RS
8412017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
842
843 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
844 when combining the original unconverted comparison operands.
845
01c9fb68
JJ
8462017-09-29 Jakub Jelinek <jakub@redhat.com>
847
848 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
849 attribute.
850
6e3e8419
EB
8512017-09-29 Eric Botcazou <ebotcazou@adacore.com>
852
853 * c-ada-spec.c (to_ada_name): Add index parameter.
854 (pp_ada_tree_identifier): Likewise.
855 (dump_ada_macros): Adjust call to to_ada_name.
856 (struct overloaded_name_hash): New type.
857 (struct overloaded_name_hasher): Likewise.
858 (overloaded_names): New hash table.
859 (compute_overloading_index): New function.
860 (dump_ada_decl_name): Call it and pass the result to
861 pp_ada_tree_identifier.
862 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
863 (dump_ada_function_declaration): Likewise.
864 (dump_generic_ada_node): Likewise.
865 (print_constructor): Likewise.
866 (print_destructor): Likewise.
867 (dump_ada_specs): Delete overloaded_names table.
868
79310774
EB
8692017-09-29 Eric Botcazou <ebotcazou@adacore.com>
870
871 * c-ada-spec.c (max_ada_macros): Move around.
872 (store_ada_macro_index): Likewise.
873 (source_file): Rename into...
874 (macro_source_file): ...this.
875 (count_ada_macro): Move around.
876 (store_ada_macro): Likewise.
877 (compare_macro): Likewise.
878 (print_ada_macros): Merge in...
879 (dump_ada_macros): ...this.
880 (source_file_base): Rename into...
881 (current_source_file): ...this.
882 (print_comment): Move around.
883 (dump_ada_nodes): Call dump_ada_declaration directly.
884 (struct with): Change type of limited field to bool.
885 (append_withs): Change type of limited_access parameter to bool.
886 (pp_ada_tree_identifie): Likewise.
887 (dump_ada_decl_nam): Likewise.
888 (dump_generic_ada_node): Likewise. Do not print the return type.
889 (to_ada_name): Change type of space_found parameter to bool.
890 (dump_ada_function_declaration): Return void and change type of
891 parameters to bool. Also print the return type for a function.
892 (print_ada_methods): Rename into...
893 (dump_ada_methods): ...this.
894 (print_ada_declaration): Rename into ...
895 (dump_ada_declaration): ...this. Do not print the return type.
896 (print_ada_struct_decl): Rename into...
897 (dump_ada_struct_decl): ...this.
898
7d386d45
JJ
8992017-09-29 Jakub Jelinek <jakub@redhat.com>
900
901 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
902 rather than DECL_INITIAL.
903 (common_handle_aligned_attribute): Likewise.
904
9ed32e27
AO
9052017-09-20 Alexandre Oliva <aoliva@redhat.com>
906
907 * c.opt (gen-decls): Add RejectNegative.
908
026a79f7
AS
9092017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
910 Jakub Jelinek <jakub@redhat.com>
911
912 Add support for -std=c++2a.
913 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
914 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
915 * c-opts.c (set_std_cxx2a): New.
916 (c_common_handle_option): Set options when -std=c++2a is enabled.
917 (c_common_post_options): Adjust comments.
918 (set_std_cxx14, set_std_cxx17): Likewise.
919
4a8ca690
EB
9202017-09-15 Eric Botcazou <ebotcazou@adacore.com>
921
922 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
923 message for non-uniform endianness and issue a warning in C++.
924
7b936140
JJ
9252017-09-15 Jakub Jelinek <jakub@redhat.com>
926
927 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
928 (Wc++17-compat): Change from undocumented alias to option.
929 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
930 change C++1z to C++17 in description.
931 (std=c++1z, std=gnu++1z): Change from option to undocumented
932 deprecated alias.
933 (std=c++17, std=gnu++17): Change from undocumented alias to option.
934 Adjust description.
935 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
936 * c-opts.c (set_std_cxx1z): Rename to ...
937 (set_std_cxx17): ... this.
938 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
939 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
7365279f 940 caller.
7b936140
JJ
941 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
942 comments.
943
12263f13
L
9442017-09-12 H.J. Lu <hongjiu.lu@intel.com>
945
946 * c-attribs.c (common_handle_aligned_attribute): Don't warn
947 function alignment if warn_if_not_aligned_p is true.
948
6836632e
NS
9492017-09-12 Nathan Sidwell <nathan@acm.org>
950
951 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
952 resort_sorted_fields): Move to c/c-decl.c.
953 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
954 (struct sorted_fields_type): Move to c/c-lang.h.
955
019bf9ad
JW
9562017-09-09 Jonathan Wakely <jwakely@redhat.com>
957
958 PR c++/81852
959 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
960
bc7fe952
MP
9612017-09-04 Marek Polacek <polacek@redhat.com>
962
963 PR c/81783
964 * c-warn.c (warn_tautological_bitwise_comparison): New function.
965 (warn_tautological_cmp): Call it.
966
de7c2c6a
BK
9672017-09-01 Boris Kolpackov <boris@codesynthesis.com>
968
969 * c-opts.c (c_common_finish): Write dependency information even if
970 there are errors.
971
d2e05fcb
JJ
9722017-09-01 Jakub Jelinek <jakub@redhat.com>
973
974 PR c/81887
975 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
976 (omp_pragmas_simd): ... here.
977 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
978 create new clauses list containing just simd clause.
979
18e2a8b8
RS
9802017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
981 Alan Hayward <alan.hayward@arm.com>
982 David Sherwood <david.sherwood@arm.com>
983
984 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
985 into scalar_mode_supported_p call.
986 (handle_mode_attribute): Update call to scalar_mode_supported_p.
987
16d22000
RS
9882017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
989 Alan Hayward <alan.hayward@arm.com>
990 David Sherwood <david.sherwood@arm.com>
991
992 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
993 for the mode iterator.
994
b397965c
RS
9952017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
996 Alan Hayward <alan.hayward@arm.com>
997 David Sherwood <david.sherwood@arm.com>
998
999 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
1000 * c-common.c (c_build_vec_perm_expr): Likewise.
1001
357b7604
RS
10022017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1003 Alan Hayward <alan.hayward@arm.com>
1004 David Sherwood <david.sherwood@arm.com>
1005
1006 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
1007
e05c94ba
RS
10082017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1009 Alan Hayward <alan.hayward@arm.com>
1010 David Sherwood <david.sherwood@arm.com>
1011
1012 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
1013 before calling targetm.addr_space.valid_pointer_mode.
1014
5c20c4af
RS
10152017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1016 Alan Hayward <alan.hayward@arm.com>
1017 David Sherwood <david.sherwood@arm.com>
1018
1019 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
1020
c94843d2
RS
10212017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1022 Alan Hayward <alan.hayward@arm.com>
1023 David Sherwood <david.sherwood@arm.com>
1024
1025 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
1026 iterators.
1027 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1028
4e10a5a7
RS
10292017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
1030 Alan Hayward <alan.hayward@arm.com>
1031 David Sherwood <david.sherwood@arm.com>
1032
1033 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
1034 case statements.
1035
130fcab0
ML
10362017-08-29 Martin Liska <mliska@suse.cz>
1037
1038 PR other/39851
1039 * c-common.c (parse_optimize_options): Add argument to function
1040 call.
1041 * c-pragma.c (handle_pragma_diagnostic): Likewise.
1042
14e18d71
DM
10432017-08-24 David Malcolm <dmalcolm@redhat.com>
1044
1045 * c-lex.c (interpret_float): Use token location
1046 when building an EXCESS_PRECISION_EXPR.
1047
2f687306
DM
10482017-08-21 David Malcolm <dmalcolm@redhat.com>
1049
1050 * c-common.c (check_function_arguments): Add "arglogs" param; pass
1051 it to check_function_format.
1052 * c-common.h (check_function_arguments): Add vec<location_t> *
1053 param.
1054 (check_function_format): Likewise.
1055 * c-format.c (struct format_check_context): Add field "arglocs".
1056 (check_function_format): Add param "arglocs"; pass it to
1057 check_format_info.
1058 (check_format_info): Add param "arglocs"; use it to initialize
1059 new field of format_ctx.
1060 (check_format_arg): Pass format_ctx->arglocs to new param of
1061 check_format_info_main.
1062 (class argument_parser): New field "arglocs".
1063 (argument_parser::argument_parser): Add "arglocs_" param and use
1064 it to initialize new field.
1065 (argument_parser::check_argument_type): Pass new arglocs field to
1066 check_format_types.
1067 (check_format_info_main): Add param "arglocs", and use it when
1068 constructing arg_parser.
1069 (check_format_types): Add param "arglocs"; use it if non-NULL when
1070 !EXPR_HAS_LOCATION (cur_param) to get at location information.
1071
00aa1fa2
L
10722017-08-18 H.J. Lu <hongjiu.lu@intel.com>
1073
1074 PR c/53037
1075 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
1076 (c_common_attribute_table): Add warn_if_not_aligned.
1077 (handle_aligned_attribute): Renamed to ...
1078 (common_handle_aligned_attribute): Remove argument, name, and add
1079 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
1080 (handle_aligned_attribute): New.
1081 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
1082
27be025d
MS
10832017-08-14 Martin Sebor <msebor@redhat.com>
1084
1085 PR c/81117
1086 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
1087 (handle_nonstring_attribute): New function.
1088
da67acb9
MS
10892017-08-14 Martin Sebor <msebor@redhat.com>
1090
1091 PR c/81117
1092 * c-format.h (T89_G): New macro.
1093 * c-format.c (local_gcall_ptr_node): New variable.
1094 (init_dynamic_diag_info): Initialize it.
1095
a8b522b4
ML
10962017-08-11 Martin Liska <mliska@suse.cz>
1097
1098 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
1099 TARGET_SUPPORTS_ALIASES.
1100
32129a17
DM
11012017-08-10 David Malcolm <dmalcolm@redhat.com>
1102
1103 * c-common.c (c_parse_error): Add rich_location * param, using it
1104 rather implicitly using input_location.
1105 * c-common.h (c_parse_error): Add rich_location * param.
1106
30af3a2b
MP
11072017-08-09 Marek Polacek <polacek@redhat.com>
1108
1109 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
1110 (c_common_truthvalue_conversion): Likewise.
1111 * c-omp.c (c_finish_omp_atomic): Likewise.
1112 * c-common.h (build_binary_op): Update declaration.
1113
314e6352
ML
11142017-08-08 Martin Liska <mliska@suse.cz>
1115
1116 * c-ada-spec.c: Include header files.
1117 * c-ubsan.c: Likewise.
1118 * c-warn.c: Likewise.
1119
56b5041c
JJ
11202017-08-07 Jakub Jelinek <jakub@redhat.com>
1121
1122 PR c/69389
1123 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
1124
db440138
EB
11252017-08-07 Eric Botcazou <ebotcazou@adacore.com>
1126
1127 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
1128 (print_ada_methods): Likewise.
1129 (print_ada_declaration): Likewise.
1130
577eec56
ML
11312017-08-07 Martin Liska <mliska@suse.cz>
1132
1133 * array-notation-common.c: Add new includes.
1134 * c-format.c( handle_format_attribute): Canonicalize a format
1135 function name.
1136 * c-lex.c (c_common_has_attribute): Canonicalize name of an
1137 attribute.
1138 * c-pretty-print.c: Add new include.
1139
b854df3c
EB
11402017-08-05 Eric Botcazou <ebotcazou@adacore.com>
1141
1142 * c-ada-spec.c (has_static_fields): Look only into variables.
1143 (print_constructor): Add TYPE parameter and use it for the name.
1144 (print_destructor): Likewise.
1145 (print_ada_declaration): Adjust to new constructor/destructor names.
1146 Adjust calls to print_constructor and print_destructor.
1147 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
1148 Look only into variables in the final loop.
1149
9f2cb25e
EB
11502017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1151
1152 * c-ada-spec.c (has_static_fields): Look only into fields.
1153 (dump_generic_ada_node): Small tweak.
1154 (dump_nested_types): Look only into fields.
1155 (print_ada_declaration): Look only into methods. Small tweak.
1156 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
1157
f4bcd9eb
EB
11582017-08-01 Eric Botcazou <ebotcazou@adacore.com>
1159
1160 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
1161 (dump_ada_function_declaration): Likewise.
1162 (dump_generic_ada_node): Likewise.
1163 (print_ada_declaration): Add support for const-qualified variables.
1164
f34ebeb2
ML
11652017-07-31 Martin Liska <mliska@suse.cz>
1166
1167 PR sanitize/81530
1168 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
1169 Guard condition with flag_sanitize_p also with current_function_decl
1170 non-null equality.
1171 (ubsan_maybe_instrument_reference_or_call): Likewise.
1172
218e5d04
UB
11732017-07-30 Uros Bizjak <ubizjak@gmail.com>
1174
1175 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
1176
942047f2
EB
11772017-07-29 Eric Botcazou <ebotcazou@adacore.com>
1178
1179 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
1180 for enumeral types.
1181 (print_ada_declaration): Add missing guard for record types.
1182
a40ff0ae
JJ
11832017-07-27 Jakub Jelinek <jakub@redhat.com>
1184
1185 PR c/45784
1186 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
1187 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
1188 new COMPOUND_EXPRs around the rhs of the comparison.
1189
06bd22f6
MP
11902017-07-27 Marek Polacek <polacek@redhat.com>
1191
1192 PR c/81417
1193 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
1194 the types.
1195
036ea399
JJ
11962017-07-27 Jakub Jelinek <jakub@redhat.com>
1197
1198 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
1199 (handle_noipa_attribute): New function.
1200
417ca011
TD
12012017-07-07 Torsten Duwe <duwe@suse.de>
1202
1203 * c-attribs.c (c_common_attribute_table): Add entry for
1204 "patchable_function_entry".
1205
5aaa8fb4
NS
12062017-07-20 Nathan Sidwell <nathan@acm.org>
1207
1208 Remove TYPE_METHODS.
1209 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
1210 dump_ada_template, print_ada_methods,
1211 print_ada_declaration): Member fns are on TYPE_FIELDS.
1212
ff22eb12
NS
12132017-07-18 Nathan Sidwell <nathan@acm.org>
1214
1215 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
1216
eea77d1f
DM
12172017-07-14 David Malcolm <dmalcolm@redhat.com>
1218
1219 * c-common.c (try_to_locate_new_include_insertion_point): New
1220 function.
1221 (per_file_includes_t): New typedef.
1222 (added_includes_t): New typedef.
1223 (added_includes): New variable.
1224 (maybe_add_include_fixit): New function.
1225 * c-common.h (maybe_add_include_fixit): New decl.
1226
281ac396
MS
12272017-07-10 Martin Sebor <msebor@redhat.com>
1228
1229 PR other/81345
1230 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
1231
b6f43128
DM
12322017-07-06 David Malcolm <dmalcolm@redhat.com>
1233
1234 * c-common.c (selftest::c_family_tests): New.
1235 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
1236 (selftest::c_family_tests): New decl.
1237
efbf55b0
MP
12382017-07-04 Marek Polacek <polacek@redhat.com>
1239
1240 PR c/81231
1241 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
1242 types.
1243
6c86bd88
MP
12442017-07-04 Marek Polacek <polacek@redhat.com>
1245
1246 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
1247
17a7218b
ML
12482017-06-28 Martin Liska <mliska@suse.cz>
1249
1250 PR ipa/81128
1251 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
1252 to a function declaration.
1253
63010089
ML
12542017-06-28 Martin Liska <mliska@suse.cz>
1255
1256 PR driver/79659
1257 * c.opt: Add IntegerRange to various options.
1258
3e2becc4
MP
12592017-06-26 Marek Polacek <polacek@redhat.com>
1260
1261 PR c/80116
1262 * c-common.h (warn_for_multistatement_macros): Declare.
1263 * c-warn.c: Include "c-family/c-indentation.h".
1264 (warn_for_multistatement_macros): New function.
1265 * c.opt (Wmultistatement-macros): New option.
1266 * c-indentation.c (guard_tinfo_to_string): No longer static.
1267 Change the parameter type to "enum rid". Handle RID_SWITCH.
1268 * c-indentation.h (guard_tinfo_to_string): Declare.
1269
2db9b7cd
MG
12702017-06-23 Marc Glisse <marc.glisse@inria.fr>
1271
1272 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
1273
c3684b7b
MS
12742017-06-15 Martin Sebor <msebor@redhat.com>
1275
1276 PR c++/80560
1277 * c.opt (-Wclass-memaccess): New option.
1278
e72c4afd
BK
12792017-06-14 Boris Kolpackov <boris@codesynthesis.com>
1280
1281 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
1282
8a516588
MP
12832017-06-13 Marek Polacek <polacek@redhat.com>
1284
1285 PR objc/80949
1286 * c-warn.c (do_warn_duplicated_branches): Return if any of the
1287 branches is null.
1288
45b2222a
ML
12892017-06-13 Martin Liska <mliska@suse.cz>
1290
1291 PR sanitize/78204
1292 * c-attribs.c (add_no_sanitize_value): New function.
1293 (handle_no_sanitize_attribute): Likewise.
1294 (handle_no_sanitize_address_attribute): Use the function.
1295 (handle_no_sanitize_thread_attribute): New function.
1296 (handle_no_address_safety_analysis_attribute): Use
1297 add_no_sanitize_value.
1298 (handle_no_sanitize_undefined_attribute): Likewise.
1299 * c-common.h: Declare new functions.
1300 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
1301 (ubsan_instrument_shift): Likewise.
1302 (ubsan_instrument_bounds): Likewise.
1303 (ubsan_maybe_instrument_array_ref): Likewise.
1304 (ubsan_maybe_instrument_reference_or_call): Likewise.
1305
a01f151f
JM
13062017-06-11 Jason Merrill <jason@redhat.com>
1307
1308 * c-ada-spec.c, c-pragma.c: Use id_equal.
1309
3de4ac6d
MP
13102017-06-04 Marek Polacek <polacek@redhat.com>
1311
1312 PR c/80919
1313 * c-format.c (matching_type_p): Return false if any of the types
1314 requires structural equality.
1315
2474f48f
MS
13162017-06-02 Martin Sebor <msebor@redhat.com>
1317
1318 PR c/80892
1319 * c-warn.c (conversion_warning): Use -Wconversion for integer
1320 conversion and -Wfloat-conversion for floating one.
1321
40ffd95f
BE
13222017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1323
1324 * c.opt (Wsizeof-pointer-div): New warning option.
1325
3fa4634c
VR
13262017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
1327
1328 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
1329 (Wcatch-value=1): Enable by -Wall.
1330
f012c8ef
DM
13312017-05-30 David Malcolm <dmalcolm@redhat.com>
1332
1333 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
1334 format_chars.
1335 * c.opt (fdiagnostics-show-template-tree): New option.
1336 (felide-type): New option.
1337
63dbcd13
VR
13382017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
1339
1340 * c.opt (Wcatch-value=): New C++ warning flag.
1341
be136b5c
NS
13422017-05-24 Nathan Sidwell <nathan@acm.org>
1343
1344 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
1345 const casts to avoid warning.
1346
3cd211af
MS
13472017-05-24 Martin Sebor <msebor@redhat.com>
1348
1349 PR c/80731
1350 * c-common.h (unsafe_conversion_p): Add a function argument.
1351 * c-common.c (unsafe_conversion_p): Same.
1352 Add type names and values to diagnostics.
1353 (scalar_to_vector): Adjust.
1354 * c-warn.c (constant_expression_error): Add a function argument.
1355 Add type names and values to diagnostics.
1356 (conversion_warning): Add a function argument.
1357 Add type names and values to diagnostics.
1358 (warnings_for_convert_and_check): Same.
1359
1ff7be5a
JM
13602017-05-19 Jason Merrill <jason@redhat.com>
1361
1362 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
1363 enumerators.
1364
ff502317
BE
13652017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1366
1367 * c-format.c (locus): Move out of function scope,
1368 add GTY attribute.
1369
2a8a8d7b
NS
13702017-05-19 Nathan Sidwell <nathan@acm.org>
1371
1372 * c-opts.c (class_dump_file, class_dump_flags): Delete.
1373 (c_common_parse_file): Remove class dump handling.
1374 (get_dump_info): Likewise.
1375
39aac208
RB
13762017-05-19 Richard Biener <rguenther@suse.de>
1377
1378 PR c++/80593
1379 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
1380 to alias-set zero memory.
1381
6ecd2339
BE
13822017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
1383
1384 * c-format.c (local_tree_type_node): Add GTY attribute.
1385
6574d78e
MP
13862017-05-18 Marek Polacek <polacek@redhat.com>
1387
1388 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
1389 (c_common_fixed_point_type_for_size): Likewise.
1390 (c_common_type_for_mode): Likewise.
1391 (shorten_compare): Likewise.
1392 (c_promoting_integer_type_p): Use false/true instead of 0/1.
1393 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
1394
e3455240
MP
13952017-05-18 Marek Polacek <polacek@redhat.com>
1396
1397 * c-common.c (self_promoting_args_p): Change the return type to bool.
1398 Use false/true instead of 0/1.
1399 * c-common.h (self_promoting_args_p): Update.
1400
3fa8871b
MP
14012017-05-17 Marek Polacek <polacek@redhat.com>
1402
1403 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
1404 * c-warn.c: Likewise.
1405
b42cc3ca
VV
14062017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1407
1408 Implement new C++ intrinsics __is_assignable and __is_constructible.
1409 * c-common.c (__is_assignable, __is_constructible): New.
1410 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
1411
1a817418
ML
14122017-05-17 Martin Liska <mliska@suse.cz>
1413
1414 * c-common.h: Introduce dump_flags_t type and
1415 use it instead of int type.
1416 * c-gimplify.c (c_genericize): Likewise.
1417 * c-opts.c: Likewise.
1418
b2fa0a8b
MP
14192017-05-17 Marek Polacek <polacek@redhat.com>
1420
1421 * c-common.c (c_save_expr): Remove.
1422 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
1423 * c-common.h (c_save_expr): Remove declaration.
1424
31c2d57d
VR
14252017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
1426
1427 PR c/35441
1428 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
1429 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
1430 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
1431 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
1432 RDIV_EXPR.
1433 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
1434
684f84de
MP
14352017-05-09 Marek Polacek <polacek@redhat.com>
1436
1437 PR c/80525
1438 * c-warn.c (unwrap_c_maybe_const): New.
1439 (warn_logical_operator): Call it.
1440
641da50a
NS
14412017-05-09 Nathan Sidwell <nathan@acm.org>
1442
1443 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
1444 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
1445
631238ac
MS
14462017-05-08 Martin Sebor <msebor@redhat.com>
1447
1448 PR translation/80280
1449 * c-format.h (struct format_flag_spec): Add new member.
1450 (T89_T): New macro.
1451 * c-format.c (local_tree_type_node): New global.
1452 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
1453 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
1454 (strfmon_flag_specs): Likewise.
1455 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
1456 with distinct quoting properties.
1457 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
1458 (flag_chars_t::validate): Add argument and handle bad quoting.
1459 (check_format_info_main): Handle quoting problems.
1460 (init_dynamic_diag_info): Simplify.
1461
49f0c04c
JM
14622017-05-08 Jason Merrill <jason@redhat.com>
1463
1464 * c-opts.c (c_common_post_options): Update defaults for
1465 flag_abi_version and flag_abi_compat_version.
1466
56d35585
DM
14672017-05-05 David Malcolm <dmalcolm@redhat.com>
1468
1469 * c-common.c (c_cpp_error): Replace report_diagnostic
1470 with diagnostic_report_diagnostic.
1471
0f2c4a8f
MS
14722017-05-04 Martin Sebor <msebor@redhat.com>
1473
1474 PR translation/80280
1475 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
1476 (handle_weakref_attribute): Same.
1477
6fe63fb4
NS
14782017-05-03 Nathan Sidwell <nathan@acm.org>
1479
1480 Canonicalize canonical type hashing
1481 * c-common.c (complete_array_type): Use type_hash_canon.
1482
815d9cc6
XR
14832017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
1484
1485 PR c++/80038
1486 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
1487 prototype.
1488 (cilk_install_body_pedigree_operations): Likewise.
1489 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
1490 detatched.
1491 (cilk_gimplify_call_params_in_spawned_fn): Remove.
1492 (cilk_install_body_pedigree_operations): Likewise.
1493 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
1494 unwrapping.
1495
f8a36447
JJ
14962017-04-27 Jakub Jelinek <jakub@redhat.com>
1497
1498 PR c++/80534
1499 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
1500 flag on non-aggregate element types.
1501
7c145456
BE
15022017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1503
1504 * c-common.c (c_type_hasher, type_hash_table): Remove.
1505 (c_common_get_alias_set): Remove unreachable code.
1506 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
1507
c3cbcd45
VR
15082017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
1509
1510 * c.opt (Wextra-semi): New C++ warning flag.
1511
8a59d466
JJ
15122017-04-20 Jakub Jelinek <jakub@redhat.com>
1513
1514 PR middle-end/80423
1515 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
1516
8487c9a5
JJ
15172017-04-18 Jakub Jelinek <jakub@redhat.com>
1518
1519 PR middle-end/79788
1520 PR middle-end/80375
1521 * c-common.c (c_common_type_for_mode): Don't handle
1522 widest_*_literal_type_node here.
1523 c_common_signed_or_unsigned_type): Likewise.
1524 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
1525 to *intTI_type_node or *intDI_type_node depending on whether
1526 TImode is supported by the target or not.
1527
3ee0fb02
ML
15282017-04-10 Martin Liska <mliska@suse.cz>
1529
1530 PR sanitizer/80350
1531 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
1532 doing an UBSAN check.
1533
5764ee3c
JW
15342017-04-03 Jonathan Wakely <jwakely@redhat.com>
1535
1536 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
1537
6f3af356
JJ
15382017-03-31 Jakub Jelinek <jakub@redhat.com>
1539
1540 PR c++/79572
1541 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
1542 tree *.
1543 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
1544 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
1545 REFERENCE_TYPE.
1546
f6a7a9d5
DM
15472017-03-31 David Malcolm <dmalcolm@redhat.com>
1548
1549 PR documentation/78732
1550 * c.opt (Wendif-labels): Fix description to refer to
1551 #else rather than #elif.
1552
af88f557
JJ
15532017-03-31 Jakub Jelinek <jakub@redhat.com>
1554
1555 PR libstdc++/80251
1556 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
1557 * c-common.c (c_common_reswords): Add __is_aggregate trait.
1558
a9e4a1a5
JJ
15592017-03-27 Jakub Jelinek <jakub@redhat.com>
1560
1561 PR middle-end/80162
1562 * c-common.c (c_common_mark_addressable_vec): Don't set
1563 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
1564
3f01b620
MS
15652017-03-21 Martin Sebor <msebor@redhat.com>
1566
1567 PR c++/79548
1568 * c-common.c (set_underlying_type): Mark type used only when
1569 original del is declared unused.
1570
2f6f187a
DM
15712017-03-10 David Malcolm <dmalcolm@redhat.com>
1572
1573 PR translation/79848
1574 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
1575 "%qs".
1576
a02fa805
DM
15772017-03-10 David Malcolm <dmalcolm@redhat.com>
1578
1579 PR c/79921
1580 * c-indentation.c (warn_for_misleading_indentation): Remove parens
1581 from inform's message, so that xgettext can locate it.
1582
822a132c
MP
15832017-03-09 Marek Polacek <polacek@redhat.com>
1584
1585 PR c++/79962
1586 PR c++/79984
1587 * c-attribs.c (handle_nonnull_attribute): Save the result of default
1588 conversion to the attribute list.
1589
bba81f1c
ML
15902017-03-09 Martin Liska <mliska@suse.cz>
1591
1592 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
1593
108154ff
JM
15942017-03-03 Jason Merrill <jason@redhat.com>
1595
1596 * c.opt (Wnoexcept-type): New.
1597
eb0e7c34
RB
15982017-03-02 Richard Biener <rguenther@suse.de>
1599
1600 PR c/79756
1601 * c-common.c (c_common_mark_addressable_vec): Look through
1602 C_MAYBE_CONST_EXPR.
1603
9453ba0a
ML
16042017-02-28 Martin Liska <mliska@suse.cz>
1605
1606 * c.opt: Replace space with tabular for options of <number>
1607 type.
1608
6a825afe
ML
16092017-02-28 Martin Liska <mliska@suse.cz>
1610
1611 * c.opt: Fix --help=option -Q for options which are of
1612 an enum type.
1613
4227c9ad
JJ
16142017-02-24 Jakub Jelinek <jakub@redhat.com>
1615
1616 PR c++/79588
1617 * c-common.c (check_function_restrict): New function.
1618 (check_function_arguments): Add FNDECL argument. Call
1619 check_function_restrict if -Wrestrict.
1620 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
1621 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
1622 * c-common.h (check_function_arguments): Add FNDECL argument.
1623 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
1624
59909673
EB
16252017-02-24 Eric Botcazou <ebotcazou@adacore.com>
1626
1627 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
1628 treatment of parameters with pointer-to-tagged type and tidy up.
1629 (print_ada_methods): Remove the special treatment of C++ static member
1630 functions.
1631
54dcd526
ML
16322017-02-22 Martin Liska <mliska@suse.cz>
1633
1634 * c.opt: Replace inequality signs with square brackets
1635 for -Wnornalized.
1636
00bc9de3
JJ
16372017-02-21 Jakub Jelinek <jakub@redhat.com>
1638
1639 PR c++/79641
1640 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
1641 preserve quals.
1642
97fcf744
JM
16432017-02-17 Joseph Myers <joseph@codesourcery.com>
1644
1645 * c-cppbuiltin.c (builtin_define_float_constants): Define
1646 __DECIMAL_DIG__ to the value for long double.
1647
c7545f1c
MP
16482017-02-15 Marek Polacek <polacek@redhat.com>
1649
1650 PR c/79515
1651 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
1652 conversion has occured.
1653
c2e84327
DM
16542017-01-24 David Malcolm <dmalcolm@redhat.com>
1655
1656 * c-common.c (c_common_reswords): Add "__RTL".
1657 * c-common.h (enum rid): Add RID_RTL.
1658
2ebd93e1
MP
16592017-01-20 Marek Polacek <polacek@redhat.com>
1660
1661 PR c/64279
1662 * c-common.h (do_warn_duplicated_branches_r): Declare.
1663 * c-gimplify.c (c_genericize): Walk the function tree calling
1664 do_warn_duplicated_branches_r.
1665 * c-warn.c (expr_from_macro_expansion_r): New.
1666 (do_warn_duplicated_branches): New.
1667 (do_warn_duplicated_branches_r): New.
1668 * c.opt (Wduplicated-branches): New option.
1669
0d80ab91
DM
16702017-01-17 David Malcolm <dmalcolm@redhat.com>
1671
1672 PR c++/71497
1673 * c-indentation.c (warn_for_misleading_indentation): Use the past
1674 subjunctive in the note.
1675
7f991c36
AH
16762017-01-17 Aldy Hernandez <aldyh@redhat.com>
1677
1678 PR c/79116
1679 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
1680 start type to integer_type.
1681
1c70261c
JJ
16822017-01-16 Jakub Jelinek <jakub@redhat.com>
1683
1684 PR driver/49726
1685 * c.opt (gen-decls): Add Driver flag.
1686
1ddca3f3
PC
16872017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1688
1689 Revert:
1690 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1691
1692 PR c++/71737
1693 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1694
7d2f3f1d
PC
16952017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
1696
1697 PR c++/71737
1698 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
1699
bce6f760
MS
17002017-01-12 Martin Sebor <msebor@redhat.com>
1701
1702 (-Wformat-overflow): ...to this.
1703
bf5fbf46
MS
17042017-01-11 Martin Sebor <msebor@redhat.com>
1705
1706 PR c/78768
1707 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
1708 Also enable for LTO.
1709
e363df3f
JM
17102017-01-10 Jason Merrill <jason@redhat.com>
1711
1712 Implement P0195R2, C++17 variadic using.
1713 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
1714
bd2c6270
JJ
17152017-01-09 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR translation/79019
1718 PR translation/79020
1719 * c.opt (Wnormalized=): Fix typo in description.
1720
efcc8d38
MS
17212017-01-08 Martin Sebor <msebor@redhat.com>
1722
1723 PR middle-end/77708
1724 * c.opt (-Wformat-truncation): New option.
1725
435f3f7a
AO
17262017-01-06 Alexandre Oliva <aoliva@redhat.com>
1727
1728 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
1729 value to unsigned short to fit in 4 hex digits without
1730 warnings.
1731
4e89adf9
EB
17322017-01-05 Eric Botcazou <ebotcazou@adacore.com>
1733
1734 * c.opt (fsso-struct): Add 'native' value.
1735
cd445b54
ML
17362017-01-05 Martin Liska <mliska@suse.cz>
1737
1738 PR pch/78970
1739 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
1740 header.
1741
a9342885
MP
17422017-01-04 Marek Polacek <polacek@redhat.com>
1743
1744 PR c++/64767
1745 * c.opt (Wpointer-compare): New option.
1746
fc73e60c
JJ
17472017-01-04 Jakub Jelinek <jakub@redhat.com>
1748
1749 PR driver/78957
1750 * c.opt (fsso-struct=): Add RejectNegative.
1751
cbe34bb5
JJ
17522017-01-01 Jakub Jelinek <jakub@redhat.com>
1753
1754 Update copyright years.
1755
d4a6c0ea
ML
17562016-12-29 Martin Liska <mliska@suse.cz>
1757
1758 PR c/78933
1759 * c.opt (strong-eval-order): Add RejectNegative keyword.
1760
67a5ad7c
JM
17612016-12-22 Jason Merrill <jason@redhat.com>
1762
1763 Implement P0522R0, matching of template template arguments.
1764 * c-cppbuiltin.c (c_cpp_builtins): Define
1765 __cpp_template_template_args.
1766
0dba7960
JJ
17672016-12-21 Jakub Jelinek <jakub@redhat.com>
1768
1769 PR bootstrap/78817
1770 * c-common.c (struct nonnull_arg_ctx): New type.
1771 (check_function_nonnull): Return bool instead of void. Use
1772 nonnull_arg_ctx as context rather than just location_t.
1773 (check_nonnull_arg): Adjust for the new context type, set
1774 warned_p to true if a warning has been diagnosed.
1775 (check_function_arguments): Return bool instead of void.
1776 * c-common.h (check_function_arguments): Adjust prototype.
1777
31bfc9b9
JM
17782016-12-21 Jason Merrill <jason@redhat.com>
1779
1780 * c.opt (-fnew-ttp-matching): New flag.
1781 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
1782
629b3d75
MJ
17832016-12-14 Martin Jambor <mjambor@suse.cz>
1784
1785 * c-omp.c: Include omp-general.h instead of omp-low.h.
1786 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
1787 name.
1788
474da67e
MS
17892016-12-14 Martin Sebor <msebor@redhat.com>
1790
1791 PR c/17308
1792 * c-common.c (check_nonnull_arg): Disable when optimization
1793 is enabled.
1794
fe366b87
MP
17952016-12-12 Marek Polacek <polacek@redhat.com>
1796
1797 PR c++/78647
1798 * c-common.c (attribute_fallthrough_p): Return false for
1799 error_mark_node.
1800
8bd9f164
MS
18012016-12-08 Martin Sebor <msebor@redhat.com>
1802
1803 PR c/78284
1804 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
1805
060162e0
MS
18062016-12-08 Martin Sebor <msebor@redhat.com>
1807
1808 PR c/78165
1d0cf89a
MS
1809 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
1810 suffix.
060162e0 1811
ee92e7ba
MS
18122016-12-07 Martin Sebor <msebor@redhat.com>
1813
1814 PR c/53562
1815 PR middle-end/77784
1816 PR middle-end/78149
1817 PR middle-end/78138
1818 * c.opt (-Wstringop-overflow): New option.
1819
84b0769e
MO
18202016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
1821
1822 * c-attribs.c (asan odr indicator): New attribute.
1823 (handle_asan_odr_indicator_attribute): New function.
1824
7fa6a965
PK
18252016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1826
1827 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
1828 ptrdiff_type_node;
1829
56d8ffc1
JG
18302016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1831
1832 * c-common.c (excess_precision_mode_join): New.
1833 (c_ts18661_flt_eval_method): New.
1834 (c_c11_flt_eval_method): Likewise.
1835 (c_flt_eval_method): Likewise.
1836 * c-common.h (excess_precision_mode_join): New.
1837 (c_flt_eval_method): Likewise.
1838 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
1839 (cpp_iec_559_value): Call it.
1840 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
1841 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
1842 __FLT_EVAL_METHOD_TS_18661_3__.
1843
04f0fcf7
JG
18442016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
1845
1846 * c-opts.c (c_common_post_options): Add logic to handle the default
1847 case for -fpermitted-flt-eval-methods.
1848
fb2675cb
PB
18492016-11-23 Paolo Bonzini <bonzini@gnu.org>
1850
1851 * c.opt (Wexpansion-to-defined): New.
1852
ec1c5694
JJ
18532016-11-23 Jakub Jelinek <jakub@redhat.com>
1854
1855 PR target/78451
1856 * c-pragma.c (handle_pragma_target): Don't replace
1857 current_target_pragma, but chainon the new args to the current one.
1858
730c9e75
NS
18592016-11-22 Nathan Sidwell <nathan@acm.org>
1860
1861 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 1862 indentation and formatting.
730c9e75 1863
89990732
MS
18642016-11-21 Martin Sebor <msebor@redhat.com>
1865
1866 * c.opt (-fprintf-return-value): Enable by default.
1867
48330c93
BE
18682016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
1869
1870 PR c++/71973
1871 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
1872 * c-common.c (c_common_nodes_and_builtins): Initialize
1873 const_tm_ptr_type_node.
1874
0d939c95
MP
18752016-11-16 Marek Polacek <polacek@redhat.com>
1876
1877 PR c/78285
1878 * c-common.c (c_add_case_label): Turn error_at calls into inform.
1879
8e745a17
JJ
18802016-11-14 Jakub Jelinek <jakub@redhat.com>
1881
1882 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
1883
1ee62b92 18842016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
1885 Richard Biener <rguenther@suse.de>
1886
1887 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
1888 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
1889 * c.opt (fgimple): New option.
1ee62b92 1890
22b15758
UB
18912016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1892
1893 PR c/35503
1894 * c-common.h (warn_for_restrict): Declare.
1895 * c-warn.c: Include gcc-rich-location.h.
1896 (warn_for_restrict): New function.
1897 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
1898 (gcc_cdiag_char_table): Likewise.
1899 (gcc_cxxdiag_char_table): Likewise.
1900 * c.opt (Wrestrict): New option.
1901
4be719cd
EB
19022016-11-13 Eric Botcazou <ebotcazou@adacore.com>
1903
1904 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
1905 for nested types only if the type is a record or union and dump SLOC.
1906
4a826ca6
JM
19072016-11-09 Jason Merrill <jason@redhat.com>
1908
1909 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
1910
2e955d50
JJ
19112016-11-09 Jakub Jelinek <jakub@redhat.com>
1912
1913 * c-ubsan.c (ubsan_instrument_shift): Handle split
1914 -fsanitize=shift-base and -fsanitize=shift-exponent.
1915
51dc6603
JM
19162016-11-07 Jason Merrill <jason@redhat.com>
1917
1918 * c.opt (Wc++1z-compat): New.
1919 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
1920
6dc4a604
ML
19212016-11-07 Martin Liska <mliska@suse.cz>
1922
1923 * c-warn.c (warn_for_unused_label): Save all labels used
1924 in goto or in &label.
1925
b302001e
JM
19262016-11-03 Jason Merrill <jason@redhat.com>
1927
1928 * c-cppbuiltin.c (c_cpp_builtins): Correct
1929 __cpp_inheriting_constructors.
1930
31f7f784
JM
19312016-11-01 Jason Merrill <jason@redhat.com>
1932
2bc78e3c
JM
1933 * c-cppbuiltin.c (c_cpp_builtins): Update
1934 __cpp_inheriting_constructors.
1935
31f7f784
JM
1936 * c.opt (-fnew-inheriting-ctors): New.
1937 * c-opts.c: Default to on for ABI 11+.
1938
dcb466ec
JJ
19392016-10-31 Jakub Jelinek <jakub@redhat.com>
1940
1941 PR c++/77948
1942 * c.opt (fext-numeric-literals): Add Var and Init.
1943 * c-opts.c (c_common_handle_option): Don't clear
1944 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
1945 (c_common_post_options): Clear it here if not set
1946 explicitly.
1947
52e1b91e
AH
19482016-10-28 Aldy Hernandez <aldyh@redhat.com>
1949
1950 PR debug/77773
1951 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
1952 if NULL.
1953
e16f1cc7
JJ
19542016-10-25 Jakub Jelinek <jakub@redhat.com>
1955
1956 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
1957 * c-common.c (c_common_reswords): Add __builtin_launder.
1958
f8348061
BE
19592016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
1960
1961 * c-common.c (c_common_truthvalue_conversion): Warn for
1962 multiplications in boolean context. Fix the quoting of '<<' and '<'
1963 in the shift warning.
1964
eff89e01
BE
19652016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
1966
1967 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
1968
24bc7bf4
JM
19692016-10-20 Jason Merrill <jason@redhat.com>
1970
1971 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
1972
4c712374
BE
19732016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1974
1975 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
1976 integer shift ops in boolean context.
1977
19782016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
1979
1980 * c.opt (Walloca): New.
1981 (Walloca-larger-than=): New.
1982 (Wvla-larger-than=): New.
1983
8fa18c06
MP
19842016-10-17 Marek Polacek <polacek@redhat.com>
1985
1986 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
1987 Return immediately when finding a match.
1988 (warn_tautological_cmp): Remove a boolean variable that is no longer
1989 needed.
1990
b12b1915
MP
19912016-10-17 Marek Polacek <polacek@redhat.com>
1992
1993 * c-attribs.c: New file.
1994 * c-common.c: Move attributes handling to c-attribs.c.
1995 (get_nonnull_operand): No longer static.
1996 * c-common.h: Move the declarations from c-attribs.c to its own section.
1997
2045acd9
JM
19982016-10-14 Jason Merrill <jason@redhat.com>
1999
2000 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
2001 and __cpp_deduction_guides.
2002
14a2c9aa
JM
20032016-10-13 Jason Merrill <jason@redhat.com>
2004
2005 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
2006
4d0cdd0c
TP
20072016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2008
2009 * c-cppbuiltin.c: Include memmodel.h.
2010 * c-opts.c: Likewise.
2011 * c-pragma.c: Likewise.
2012 * c-warn.c: Likewise.
2013
70f6d5e1
JJ
20142016-10-12 Jakub Jelinek <jakub@redhat.com>
2015
2016 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
2017 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
2018 * c-opts.c (sanitize_cpp_opts): Initialize
2019 cpp_opts->cpp_warn_implicit_fallthrough.
2020
78f61294
MP
20212016-10-11 Marek Polacek <polacek@redhat.com>
2022
2023 * c-common.c (warning_candidate_p): Change the return type to bool
2024 and return true/false instead of 1/0.
2025 (vector_mode_valid_p): Likewise.
2026
038b5cc0
MP
20272016-10-11 Marek Polacek <polacek@redhat.com>
2028
2029 * c-common.c (fold_for_warn): No longer static.
2030 (bool_promoted_to_int_p): Likewise.
2031 (c_common_get_narrower): Likewise.
2032 (constant_expression_warning): Move to c-warn.c.
2033 (constant_expression_error): Likewise.
2034 (overflow_warning): Likewise.
2035 (warn_logical_operator): Likewise.
2036 (find_array_ref_with_const_idx_r): Likewise.
2037 (warn_tautological_cmp): Likewise.
2038 (expr_has_boolean_operands_p): Likewise.
2039 (warn_logical_not_parentheses): Likewise.
2040 (warn_if_unused_value): Likewise.
2041 (strict_aliasing_warning): Likewise.
2042 (sizeof_pointer_memaccess_warning): Likewise.
2043 (check_main_parameter_types): Likewise.
2044 (conversion_warning): Likewise.
2045 (warnings_for_convert_and_check): Likewise.
2046 (match_case_to_enum_1): Likewise.
2047 (match_case_to_enum): Likewise.
2048 (c_do_switch_warnings): Likewise.
2049 (warn_for_omitted_condop): Likewise.
2050 (readonly_error): Likewise.
2051 (lvalue_error): Likewise.
2052 (invalid_indirection_error): Likewise.
2053 (warn_array_subscript_with_type_char): Likewise.
2054 (warn_about_parentheses): Likewise.
2055 (warn_for_unused_label): Likewise.
2056 (warn_for_div_by_zero): Likewise.
2057 (warn_for_memset): Likewise.
2058 (warn_for_sign_compare): Likewise.
2059 (do_warn_double_promotion): Likewise.
2060 (do_warn_unused_parameter): Likewise.
2061 (record_locally_defined_typedef): Likewise.
2062 (maybe_record_typedef_use): Likewise.
2063 (maybe_warn_unused_local_typedefs): Likewise.
2064 (maybe_warn_bool_compare): Likewise.
2065 (maybe_warn_shift_overflow): Likewise.
2066 (warn_duplicated_cond_add_or_warn): Likewise.
2067 (diagnose_mismatched_attributes): Likewise.
2068 * c-common.h: Move the declarations from c-warn.c to its own section.
2069 * c-warn.c: New file.
2070
627be19f
JM
20712016-10-08 Jason Merrill <jason@redhat.com>
2072
2073 * c-common.c (c_common_truthvalue_conversion): Don't distribute
2074 into COND_EXPR in C++.
2075
7bad794a
JJ
20762016-10-08 Jakub Jelinek <jakub@redhat.com>
2077
2078 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
2079 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
2080 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
2081
be845b04
JJ
20822016-10-07 Jakub Jelinek <jakub@redhat.com>
2083
2084 Implement LWG2296 helper intrinsic
2085 * c-common.h (enum rid): Add RID_ADDRESSOF.
2086 * c-common.c (c_common_reswords): Add __builtin_addressof.
2087
c09c4992
BE
20882016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
2089
2090 PR c++/77700
2091 * c-common.c (c_common_truthvalue_conversion): Warn also for
2092 suspicious enum values in boolean context.
2093
342cfb3e
JJ
20942016-10-06 Jakub Jelinek <jakub@redhat.com>
2095
2096 Implement P0258R2 - helper for C++17
2097 std::has_unique_object_representations trait
2098 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
2099 * c-common.c (c_common_reswords): Add
2100 __has_unique_object_representations.
2101
2e69f143
JJ
21022016-10-05 Jakub Jelinek <jakub@redhat.com>
2103
2104 PR sanitizer/66343
2105 * c-ubsan.c (ubsan_instrument_return): Don't call
2106 initialize_sanitizer_builtins here.
2107
700fff34
BE
21082016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2109
2110 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
2111 conditional expression in boolean context when only one arm is
2112 non-boolean.
2113
9563bfcd
JJ
21142016-10-05 Jakub Jelinek <jakub@redhat.com>
2115
04a32443
JJ
2116 PR sanitizer/77823
2117 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
2118 is not integral.
2119
9563bfcd
JJ
2120 * c-common.c (c_common_reswords): Update comment for C++11.
2121
f1644724
JM
21222016-10-04 Jason Merrill <jason@redhat.com>
2123
2124 * c-common.c (make_tree_vector_from_ctor): New.
2125 * c-common.h: Declare it.
2126
5a79befb
JJ
21272016-10-04 Jakub Jelinek <jakub@redhat.com>
2128
2129 * c-cppbuiltin.c (c_cpp_builtins): Don't define
2130 __LIBGCC_JCR_SECTION_NAME__.
2131
1633d3b9
BE
21322016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
2133
2134 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
2135 left shift in boolean context.
2136
a2c6e7f2
JJ
21372016-09-29 Jakub Jelinek <jakub@redhat.com>
2138
2139 Implement P0001R1 - C++17 removal of register storage class specifier
2140 * c.opt (Wregister): New warning.
2141 * c-opts.c (c_common_post_options): Enable -Wregister by
2142 default for C++17.
2143
75304c87
JG
21442016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
2145
2146 * c-opts.c (c_common_post_options): Remove special case for
2147 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
2148 in C++.
2149
bbfac6da
JJ
21502016-09-27 Jakub Jelinek <jakub@redhat.com>
2151
6e39060a
JJ
2152 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
2153 -std=c++1z.
2154
bbfac6da
JJ
2155 * c-ada-spec.c (print_ada_declaration): Remove break after return.
2156
e73cf9a2
TP
21572016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
2158
2159 * c-common.c: Include memmodel.h.
2160
c6147dc4
MP
21612016-09-26 Marek Polacek <polacek@redhat.com>
2162
2163 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
2164
81fea426
MP
21652016-09-26 Marek Polacek <polacek@redhat.com>
2166
2167 PR c/7652
2168 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
2169 (handle_fallthrough_attribute): New function.
2170 (attribute_fallthrough_p): New function.
2171 * c-common.h (attribute_fallthrough_p): Declare.
2172
9a2300e9
MP
21732016-09-24 Marek Polacek <polacek@redhat.com>
2174
2175 PR c/77490
2176 * c.opt (Wbool-operation): New.
2177
a09e9e35
BE
21782016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2179
2180 * c-common.c (c_common_truthvalue_conversion): Inhibit
2181 Wint-in-bool-context warning with from_macro_definition_at.
2182 Mention the expression will always evaluate to true.
2183
d43b4ccc
MS
21842016-09-21 Martin Sebor <msebor@redhat.com>
2185
2186 PR bootstrap/77676
2187 * c.opt (fprintf-return-value): Temporarily initialize to zero
2188 to unblock bootstrap failures.
2189
2e1c20b1
JJ
21902016-09-21 Jakub Jelinek <jakub@redhat.com>
2191
2192 PR c++/77651
2193 * c.opt (Waligned-new=): Add RejectNegative.
2194 (faligned-new=): Likewise. Spelling fix - change
2195 aligned_new_threshhold to aligned_new_threshold.
2196 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
2197 to aligned_new_threshold.
2198
88d0c3f0
MS
21992016-09-20 Martin Sebor <msebor@redhat.com>
2200
2201 PR middle-end/49905
2202 * c.opt: Add -Wformat-length and -fprintf-return-value.
2203
144a96e4
BE
22042016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
2205
2206 PR c++/77434
2207 * c.opt (Wint-in-bool-context): New warning.
2208 * c-common.c (c_common_truthvalue_conversion): Warn on integer
2209 constants in boolean context.
2210
63012d9a
JM
22112016-09-19 Joseph Myers <joseph@codesourcery.com>
2212
2213 * c-common.c (max_align_t_align): Also consider alignment of
2214 float128_type_node.
2215
931388ce
JM
22162016-09-15 Jason Merrill <jason@redhat.com>
2217
2218 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
2219 DECL_EXTERNAL.
2220
38711381
JM
22212016-09-14 Jason Merrill <jason@redhat.com>
2222
2223 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2224 limit FIELD_DECL, either.
2225
e51fbec3
MP
22262016-09-14 Marek Polacek <polacek@redhat.com>
2227
2228 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
2229 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
2230 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
2231
254830ba
DM
22322016-09-13 David Malcolm <dmalcolm@redhat.com>
2233
2234 * c-common.c (warn_logical_not_parentheses): Replace
2235 rich_location::add_fixit_insert calls with add_fixit_insert_before
2236 and add_fixit_insert_after, eliminating the "next_loc" calculation.
2237
42763690
JM
22382016-09-13 Jason Merrill <jason@redhat.com>
2239 Tom de Vries <tom@codesourcery.com>
2240
2241 PR c++/77427
2242 * c-common.c (set_underlying_type): Don't treat array as builtin type.
2243
9453eee9
JM
22442016-09-13 Jason Merrill <jason@redhat.com>
2245
2246 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
2247 limit types at all.
2248
e96809e3
JM
22492016-09-12 Jason Merrill <jason@redhat.com>
2250
2251 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
2252 bit/byte confusion, allow large alignment for types.
2253
54dcdb88
BE
22542016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
2255
2256 PR c++/77496
2257 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
2258
d1463eb9
DM
22592016-09-12 David Malcolm <dmalcolm@redhat.com>
2260
2261 PR c/72858
2262 * c-format.c (argument_parser::check_argument_type): Add params
2263 "type_start" and "conversion_char". Use the former to generate
2264 offset_to_type_start and pass it and conversion_char to
2265 check_format_types.
2266 (check_format_info_main): Capture the start of the type
2267 information as "type_start", and pass it an format_char
2268 to arg_parser.check_argument_type.
2269 (check_format_types): Provide an example in the leading comment.
2270 Add params "offset_to_type_start" and "conversion_char"; pass
2271 them to format_type_warning calls.
2272 (test_get_modifier_for_format_len): Likewise.
2273 (matching_type_p): New function.
2274 (get_format_for_type): Add param "conversion_char" and move
2275 implementation into...
2276 (get_format_for_type_1): ...new function, called twice.
2277 Use new function matching_type_p rather than checking for
2278 TYPE_CANONICAL equality.
2279 (get_corrected_substring): New function.
2280 (format_type_warning): Provide an example in the leading comment.
2281 Add params "offset_to_type_start" and "conversion_char". Replace
2282 call to get_format_for_type with call to get_corrected_substring
2283 and move rejection of hints for widths/precisions there.
2284 (assert_format_for_type_streq): Add param "conversion_char".
2285 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
2286 (test_get_format_for_type_printf): Add conversion chars to the
2287 tests, adding coverage for various combinations of integer
2288 vs double conversions, and for preserving octal and hexadecimal
2289 conversions.
2290 (test_get_format_for_type_scanf): Add conversion chars to the
2291 tests.
2292
5b28efbb
TV
22932016-09-10 Tom de Vries <tom@codesourcery.com>
2294
2295 PR C/71602
2296 * c-common.c (build_va_arg): Handle more strict
2297 targetm.canonical_va_list_type. Replace first argument type error with
2298 assert.
2299
3f0177e7
MS
23002016-09-09 Martin Sebor <msebor@redhat.com>
2301
2302 PR c/77520
2303 PR c/77521
2304 * c-format.c (argument_parser::find_format_char_info): Use %qc
2305 format directive unconditionally.
2306
af63ba4b
JM
23072016-09-09 Jason Merrill <jason@redhat.com>
2308
2309 Implement C++17 new of over-aligned types.
2310 * c.opt: Add -faligned-new and -Waligned-new.
2311 * c-common.c (max_align_t_align): Split out from...
2312 (cxx_fundamental_alignment_p): ...here.
2313 * c-common.h: Declare it.
2314 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
2315
c65248cb
JM
23162016-09-09 Joseph Myers <joseph@codesourcery.com>
2317
2318 * c-cppbuiltin.c (builtin_define_type_width): New function.
2319 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
2320 macros.
2321
e5106e27
DM
23222016-09-07 David Malcolm <dmalcolm@redhat.com>
2323
2324 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
2325 a POINTER_TYPE.
2326 (substring_loc::get_location): Move to substring-locations.c,
2327 keeping implementation as...
2328 (c_get_substring_location): New function, from the above, reworked
2329 to use accessors rather than member lookup.
2330 * c-common.h (class substring_loc): Move to substring-locations.h,
2331 replacing with a forward decl.
2332 (c_get_substring_location): New decl.
2333 * c-format.c: Include "substring-locations.h".
2334 (format_warning_va): Move to substring-locations.c.
2335 (format_warning_at_substring): Likewise.
2336
a42e7952
MS
23372016-09-06 Martin Sebor <msebor@redhat.com>
2338
2339 PR c/77336
2340 * c-format.c (check_function_format): Avoid issuing warnings for
2341 functions unless they call format functions with non-constant
2342 format strings.
2343
b772a565
RB
23442016-09-06 Richard Biener <rguenther@suse.de>
2345
2346 PR c/77450
2347 * c-common.c (c_common_mark_addressable_vec): Handle
2348 COMPOUND_LITERAL_EXPR.
2349
25ff5dd3
MP
23502016-09-05 Marek Polacek <polacek@redhat.com>
2351
2352 PR c/77423
2353 * c-common.c (bool_promoted_to_int_p): New function.
2354 (expr_has_boolean_operands_p): New function.
2355 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
2356 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
2357
21234eb5
TV
23582016-09-04 Tom de Vries <tom@codesourcery.com>
2359
2360 revert:
2361 2016-08-29 Tom de Vries <tom@codesourcery.com>
2362
2363 * c-common.c (build_va_arg): Replace first argument type error
2364 with assert.
2365
9dc5773f
JJ
23662016-09-02 Jakub Jelinek <jakub@redhat.com>
2367
2368 PR c/65467
2369 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
2370 (c_finish_omp_for): Reject _Atomic qualified iterators.
2371
23722016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
2373
2374 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
2375 size to guarantee it fits the output of the formatted function
2376 regardless of its arguments.
2377
295844f6
MP
23782016-09-01 Marek Polacek <polacek@redhat.com>
2379
2380 PR c/7652
2381 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
2382 FALLTHRU comments.
2383
3d06b6f2
MP
23842016-08-29 Marek Polacek <polacek@redhat.com>
2385
2386 PR c/77292
2387 * c-common.c (warn_logical_not_parentheses): Don't warn for
2388 a comparison or a logical operator.
2389
34cedad5
TV
23902016-08-29 Tom de Vries <tom@codesourcery.com>
2391
2392 * c-common.c (build_va_arg): Fix type comparison assert.
2393
f162d717
TV
23942016-08-29 Tom de Vries <tom@codesourcery.com>
2395
2396 * c-common.c (build_va_arg): Replace first argument type error
2397 with assert.
2398
ba9bbd6f
TV
23992016-08-29 Tom de Vries <tom@codesourcery.com>
2400
2401 PR c/77398
2402 * c-common.c (build_va_arg): Add first argument error. Build va_arg
2403 with error_mark_node as va_list instead of with illegal va_list.
2404
ebef225f
MP
24052016-08-25 Marek Polacek <polacek@redhat.com>
2406 David Malcolm <dmalcolm@redhat.com>
2407
2408 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
2409 * c-common.h (warn_logical_not_parentheses): Update declaration.
2410
b00e6e75
MP
24112016-08-22 Marek Polacek <polacek@redhat.com>
2412
2413 PR c++/77321
2414 * c-common.c (warn_for_memset): Check type for null.
2415
6dc198e3
JM
24162016-08-22 Joseph Myers <joseph@codesourcery.com>
2417
14ec014e 2418 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
6dc198e3
JM
2419 _FloatNx types for suffixes for built-in functions.
2420
c65699ef
JM
24212016-08-19 Joseph Myers <joseph@codesourcery.com>
2422
2423 PR c/32187
2424 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
2425 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
2426 (RID_FLOAT128X): New enum rid values.
2427 (CASE_RID_FLOATN_NX): New macro.
2428 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
2429 keywords.
2430 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
2431 corresponding complex types.
2432 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
2433 _FloatNx and corresponding complex types.
2434 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
2435 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
2436 and _FloatNx types for the widest type for determining
2437 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
2438 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
2439 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
2440 and _FloatNx types.
2441 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
2442 constants.
2443 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
2444 _FloatNx types.
2445
cc015f3a
DM
24462016-08-18 David Malcolm <dmalcolm@redhat.com>
2447
2448 * c-opts.c (c_diagnostic_finalizer): Update for change to
2449 diagnostic_show_locus.
2450
cb18fd07
DM
24512016-08-18 David Malcolm <dmalcolm@redhat.com>
2452
2453 * c-common.c: Include "spellcheck.h".
2454 (cb_get_suggestion): New function.
2455 * c-common.h (cb_get_suggestion): New decl.
2456 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
2457 cb_get_suggestion.
2458
a76989dc
MP
24592016-08-18 Marek Polacek <polacek@redhat.com>
2460
2461 PR c/71514
2462 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
2463 and pointer-to-VLA.
2464
65e736c0
DM
24652016-08-16 David Malcolm <dmalcolm@redhat.com>
2466
2467 PR c/72857
2468 * c-common.c (substring_loc::get_range): Rename to...
2469 (substring_loc::get_location): ...this, converting param from a
2470 source_range * to a location_t *. Call
2471 get_source_location_for_substring rather than
2472 get_source_range_for_substring, and pass in m_caret_idx.
2473 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
2474 (substring_loc::get_range): Replace with...
2475 (substring_loc::get_location): ...this.
2476 (substring_loc::set_caret_index): New method.
2477 (substring_loc): Add field m_caret_idx.
2478 * c-format.c (format_warning_va): Update for above changes.
2479 Rename local "substring_loc" to "fmt_substring_loc" to avoid
2480 clashing with type name.
2481 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
2482 (check_argument_type): Likewise.
2483 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
2484 Use a copy when emitting warnings, setting the caret index from TYPE.
2485
7e1dde14 24862016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 2487 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
2488
2489 * c-ada-spec.c (dump_number): New function.
2490 (handle_escape_character): Likewise.
2491 (print_ada_macros): Add handling of constant integers and strings.
2492
191816a3
MP
24932016-08-12 Marek Polacek <polacek@redhat.com>
2494
2495 PR c/7652
2496 * c-common.c (scalar_to_vector): Adjust fall through comment.
2497 * c-opts.c (c_common_handle_option): Likewise.
2498 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
2499 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
2500 fall through comment.
2501 * cilk.c (extract_free_variables): Add FALLTHRU.
2502
452df4a4
JM
25032016-08-10 Jason Merrill <jason@redhat.com>
2504
2505 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
2506
f3365c12
JM
25072016-08-09 Jason Merrill <jason@redhat.com>
2508
2509 * c-common.c (c_common_attribute_table): vector_size affects type
2510 identity.
2511
f0bc3323
MP
25122016-08-09 Marek Polacek <polacek@redhat.com>
2513
2514 PR c/7652
2515 * c-ada-spec.c (dump_generic_ada_node): Add return.
2516
98e5a19a
JM
25172016-08-09 Jason Merrill <jason@redhat.com>
2518
2519 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
2520 C++17 constexpr lambdas.
2521
895aa8e1
DM
25222016-08-08 David Malcolm <dmalcolm@redhat.com>
2523
2524 PR c/64955
2525 * c-common.h (selftest::c_format_c_tests): New declaration.
2526 (selftest::run_c_tests): New declaration.
2527 * c-format.c: Include "selftest.h.
2528 (format_warning_va): Add param "corrected_substring" and use
2529 it to add a replacement fix-it hint.
2530 (format_warning_at_substring): Likewise.
2531 (format_warning_at_char): Update for new param of
2532 format_warning_va.
2533 (argument_parser::check_argument_type): Pass "fki" to
2534 check_format_types.
2535 (check_format_types): Add param "fki" and pass it to
2536 format_type_warning.
2537 (deref_n_times): New function.
2538 (get_modifier_for_format_len): New function.
2539 (selftest::test_get_modifier_for_format_len): New function.
2540 (get_format_for_type): New function.
2541 (format_type_warning): Add param "fki" and use it to attempt
2542 to provide hints for argument types when calling
2543 format_warning_at_substring.
2544 (selftest::get_info): New function.
2545 (selftest::assert_format_for_type_streq): New function.
2546 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
2547 (selftest::test_get_format_for_type_printf): New function.
2548 (selftest::test_get_format_for_type_scanf): New function.
2549 (selftest::c_format_c_tests): New function.
2550
e52ed3fe
DM
25512016-08-08 David Malcolm <dmalcolm@redhat.com>
2552
2553 PR c/52952
2554 * c-format.c: Include "diagnostic.h".
2555 (location_column_from_byte_offset): Delete.
2556 (location_from_offset): Delete.
2557 (format_warning_va): New function.
2558 (format_warning_at_substring): New function.
2559 (format_warning_at_char): New function.
2560 (check_format_arg): Capture location of format_tree and pass to
2561 check_format_info_main.
2562 (argument_parser): Add fields "start_of_this_format" and
2563 "format_string_cst".
2564 (flag_chars_t::validate): Add param "format_string_cst". Convert
2565 warning_at call using location_from_offset to call to
2566 format_warning_at_char.
2567 (argument_parser::argument_parser): Add param "format_string_cst_"
2568 and use use it to initialize field "format_string_cst".
2569 Initialize new field "start_of_this_format".
2570 (argument_parser::read_format_flags): Convert warning_at call
2571 using location_from_offset to a call to format_warning_at_char.
2572 (argument_parser::read_any_format_left_precision): Likewise.
2573 (argument_parser::read_any_format_precision): Likewise.
2574 (argument_parser::read_any_other_modifier): Likewise.
2575 (argument_parser::find_format_char_info): Likewise, in three places.
2576 (argument_parser::parse_any_scan_set): Likewise, in one place.
2577 (argument_parser::handle_conversions): Likewise, in two places.
2578 (argument_parser::check_argument_type): Add param "fmt_param_loc"
2579 and use it to make a substring_loc. Pass the latter to
2580 check_format_types.
2581 (check_format_info_main): Add params "fmt_param_loc" and
2582 "format_string_cst". Convert warning_at calls using
2583 location_from_offset to calls to format_warning_at_char. Pass the
2584 new params to the arg_parser ctor. Pass "format_string_cst" to
2585 flag_chars.validate. Pass "fmt_param_loc" to
2586 arg_parser.check_argument_type.
2587 (check_format_types): Convert first param from a location_t
2588 to a const substring_loc & and rename to "fmt_loc". Attempt
2589 to extract the range of the relevant parameter and pass it
2590 to format_type_warning.
2591 (format_type_warning): Convert first param from a location_t
2592 to a const substring_loc & and rename to "fmt_loc". Add
2593 params "param_range" and "type". Replace calls to warning_at
2594 with calls to format_warning_at_substring.
2595
1c4d457e
DM
25962016-08-08 David Malcolm <dmalcolm@redhat.com>
2597
2598 * c-format.c (class flag_chars_t): New class.
2599 (struct length_modifier): New struct.
2600 (class argument_parser): New class.
2601 (flag_chars_t::flag_chars_t): New ctor.
2602 (flag_chars_t::has_char_p): New method.
2603 (flag_chars_t::add_char): New method.
2604 (flag_chars_t::validate): New method.
2605 (flag_chars_t::get_alloc_flag): New method.
2606 (flag_chars_t::assignment_suppression_p): New method.
2607 (argument_parser::argument_parser): New ctor.
2608 (argument_parser::read_any_dollar): New method.
2609 (argument_parser::read_format_flags): New method.
2610 (argument_parser::read_any_format_width): New method.
2611 (argument_parser::read_any_format_left_precision): New method.
2612 (argument_parser::read_any_format_precision): New method.
2613 (argument_parser::handle_alloc_chars): New method.
2614 (argument_parser::read_any_length_modifier): New method.
2615 (argument_parser::read_any_other_modifier): New method.
2616 (argument_parser::find_format_char_info): New method.
2617 (argument_parser::validate_flag_pairs): New method.
2618 (argument_parser::give_y2k_warnings): New method.
2619 (argument_parser::parse_any_scan_set): New method.
2620 (argument_parser::handle_conversions): New method.
2621 (argument_parser::check_argument_type): New method.
2622 (check_format_info_main): Introduce classes argument_parser
2623 and flag_chars_t, moving the code within the loop into methods
2624 of these classes. Make various locals "const".
2625
88fa5555
DM
26262016-08-05 David Malcolm <dmalcolm@redhat.com>
2627
2628 * c-common.c: Include "substring-locations.h".
2629 (get_cpp_ttype_from_string_type): New function.
2630 (g_string_concat_db): New global.
2631 (substring_loc::get_range): New method.
2632 * c-common.h (g_string_concat_db): New declaration.
2633 (class substring_loc): New class.
2634 * c-lex.c (lex_string): When concatenating strings, capture the
2635 locations of all tokens using a new obstack, and record the
2636 concatenation locations within g_string_concat_db.
2637 * c-opts.c (c_common_init_options): Construct g_string_concat_db
2638 on the ggc-heap.
2639
78169471
MP
26402016-07-29 Marek Polacek <polacek@redhat.com>
2641
638fc14f
MP
2642 PR c/71926
2643 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
2644 parentheses warning.
2645
78169471
MP
2646 PR c/71574
2647 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
2648
1225d6b1
ML
26492016-07-28 Martin Liska <mliska@suse.cz>
2650
2651 PR gcov-profile/68025
2652 * c-common.c (handle_no_profile_instrument_function_attribute):
2653
ec1e2a40
BE
26542016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
2655
2656 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
2657 BITS_PER_UNIT_LOG.
2658
5ec2cd9f
JM
26592016-07-25 Jason Merrill <jason@redhat.com>
2660
2661 PR c++/65970
2662 * c.opt (fconstexpr-loop-limit): New.
2663
9dc5773f 26642016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
2665
2666 PR c++/71675
2667 * c-common.c (resolve_overloaded_builtin): Avoid converting
2668 __atomic_compare_exchange_n return type to that of what its
2669 first argument points to.
2670
e3fe09c1
UB
26712016-07-22 Uros Bizjak <ubizjak@gmail.com>
2672
2673 * c-common.c: Use HOST_WIDE_INT_M1U instead of
2674 ~(unsigned HOST_WIDE_INT) 0.
2675
bc91c436
ML
26762016-07-22 Martin Liska <mliska@suse.cz>
2677
2678 PR gcov-profile/69028
2679 PR gcov-profile/62047
2680 * cilk.c (create_cilk_helper_decl): Set location of a new decl
2681 to the current_function_decl.
2682
451dcc66
JM
26832016-07-21 Jason Merrill <jason@redhat.com>
2684
2685 PR c++/65168
2686 * c-common.c (c_common_truthvalue_conversion): Check
2687 c_inhibit_evaluation_warnings for warning about address of
2688 reference.
2689
de6a69ee
DM
26902016-07-20 David Malcolm <dmalcolm@redhat.com>
2691
2692 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
2693 const char *.
2694
d022c55a
JM
26952016-07-15 Jason Merrill <jason@redhat.com>
2696
2697 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
2698
ddbbcb19
JJ
26992016-07-15 Jakub Jelinek <jakub@redhat.com>
2700
2701 PR c/71858
2702 * c-common.h (enum lookup_name_fuzzy_kind): Add
2703 FUZZY_LOOKUP_FUNCTION_NAME.
2704
d0cf395a
JM
27052016-07-08 Jason Merrill <jason@redhat.com>
2706
2707 P0145: Refining Expression Order for C++.
2708 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
2709 * c-opts.c: Adjust.
2710
98d44e93
MT
27112016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
2712
2713 PR c++/71214
2714 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
2715
f9d8d994
TS
27162016-06-29 Thomas Schwinge <thomas@codesourcery.com>
2717
2718 * c-pragma.h (enum pragma_kind): Rename
2719 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
2720 users.
2721
4aa83879
RB
27222016-06-29 Richard Biener <rguenther@suse.de>
2723
2724 PR middle-end/71002
2725 * c-common.c (c_common_get_alias_set): Remove union type punning case.
2726
a25bd9e6
JM
27272016-06-24 Jason Merrill <jason@redhat.com>
2728
2729 P0145R2: Refining Expression Order for C++.
2730 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
2731 MODIFY_EXPR.
2732
a86451b9
JJ
27332016-06-24 Jakub Jelinek <jakub@redhat.com>
2734
2735 * c-common.c (check_builtin_function_arguments): Require last
2736 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
2737 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
2738 if the last argument is pointer to enumerated or boolean type.
2739
1a4f11c8
DM
27402016-06-22 David Malcolm <dmalcolm@redhat.com>
2741
2742 PR c/70339
2743 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
2744 (lookup_name_fuzzy): New prototype.
2745
fe55692c
JDA
27462016-06-21 John David Anglin <danglin@gcc.gnu.org>
2747
2748 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
2749
4eb24e01
JM
27502016-06-14 Jason Merrill <jason@redhat.com>
2751
2752 P0145R2: Refining Expression Order for C++.
2753 * c.opt (fargs-in-order): New.
2754 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
2755
ef7cf206
JJ
27562016-06-13 Jakub Jelinek <jakub@redhat.com>
2757
0dda258b
JJ
2758 PR sanitizer/71498
2759 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
2760 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
2761
ef7cf206
JJ
2762 PR preprocessor/71183
2763 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
2764 to cb_get_source_date_epoch.
2765
50b15873
JJ
27662016-06-10 Jakub Jelinek <jakub@redhat.com>
2767
2768 PR c/68657
2769 * c.opt (Wpsabi): Add Warning flag.
2770
4d926e34
MS
27712016-06-10 Martin Sebor <msebor@redhat.com>
2772
2773 PR c/71392
14ec014e 2774 * c-common.c (handle_nonnull_attribute): Accept
4d926e34
MS
2775 the nonnull attribute in type-generic builtins.
2776
e01b4e16
MS
27772016-06-09 Martin Sebor <msebor@redhat.com>
2778
2779 PR c/70883
2780 * c-common.c (builtin_function_validate_nargs): Make text of error
2781 message consistent with others like it.
2782
44a845ca
MS
27832016-06-08 Martin Sebor <msebor@redhat.com>
2784 Jakub Jelinek <jakub@redhat.com>
2785
2786 PR c++/70507
2787 PR c/68120
2788 * c-common.c (check_builtin_function_arguments): Handle
2789 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
2790
a80a7051
RB
27912016-06-08 Richard Biener <rguenther@suse.de>
2792
2793 * c-common.c (parse_optimize_options): Improve diagnostic messages.
2794
bfd67b47
RB
27952016-06-07 Richard Biener <rguenther@suse.de>
2796
2797 PR c/61564
2798 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
2799 options and warn about others.
2800
15c98b2e
ES
28012016-06-01 Eduard Sanou <dhole@openmailbox.org>
2802
2803 * c-common.c (get_source_date_epoch): Rename to
2804 cb_get_source_date_epoch.
2805 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
2806 message when the parsing fails. Use error_at instead of fatal_error.
2807 * c-common.h (get_source_date_epoch): Rename to
2808 cb_get_source_date_epoch.
2809 * c-common.h (cb_get_source_date_epoch): Prototype.
2810 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
2811 * c-common.h (c_omp_region_type): Remove trailing comma.
2812 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
2813 * c-lex.c (c_lex_with_flags): Remove initialization of
2814 pfile->source_date_epoch.
2815
00631022
JJ
28162016-05-30 Jakub Jelinek <jakub@redhat.com>
2817
2818 PR c++/71349
2819 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
2820 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
2821 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
2822 instead of C_OMP_CLAUSE_SPLIT_FOR.
2823
f17a223d
RB
28242016-05-24 Richard Biener <rguenther@suse.de>
2825
2826 PR middle-end/70434
2827 PR c/69504
2828 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
2829 (convert_vector_to_array_for_subscript): ... this.
2830 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
2831 VIEW_CONVERT_EXPR to an array type. Rename to ...
2832 (convert_vector_to_array_for_subscript): ... this.
2833
4f2e1536
MP
28342016-05-12 Marek Polacek <polacek@redhat.com>
2835
2836 PR c/70756
2837 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
2838 size_in_bytes and pass LOC to it.
2839
d6e83a8d
MM
28402016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
2841
2842 PR c/43651
2843 * c.opt (Wduplicate-decl-specifier): New option.
2844
5c3a10fb
MP
28452016-05-11 Marek Polacek <polacek@redhat.com>
2846
2847 PR c++/71024
2848 * c-common.c (diagnose_mismatched_attributes): New function.
2849 * c-common.h (diagnose_mismatched_attributes): Declare.
2850
deef7113
MP
28512016-05-04 Marek Polacek <polacek@redhat.com>
2852
2853 * c.opt (Wdangling-else): New option.
2854
79ce98bc
MP
28552016-05-03 Marek Polacek <polacek@redhat.com>
2856
2857 PR c/70859
2858 * c-common.c (builtin_function_validate_nargs): Add location
2859 parameter. Use it.
2860 (check_builtin_function_arguments): Add location and arguments
2861 parameters. Use them.
2862 * c-common.h (check_builtin_function_arguments): Update declaration.
2863
381cdae4
RB
28642016-05-03 Richard Biener <rguenther@suse.de>
2865
2866 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
2867 allow call args to gimplify to SSA names.
2868
1d793c34
MP
28692016-05-03 Marek Polacek <polacek@redhat.com>
2870
2871 * c-common.h (enum c_omp_region_type): Remove stray comma.
2872
77886428
CP
28732016-05-02 Cesar Philippidis <cesar@codesourcery.com>
2874
2875 * c-common.h (enum c_omp_region_type): Define.
2876
697e0b28
RS
28772016-05-02 Richard Sandiford <richard.sandiford@arm.com>
2878
2879 * c-common.c (shorten_compare): Use wi::to_wide.
2880
e7ff0319
CP
28812016-04-29 Cesar Philippidis <cesar@codesourcery.com>
2882
2883 PR middle-end/70626
2884 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
2885 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
2886 reduction clauses in acc parallel loops.
2887
2fff3db8
MP
28882016-04-29 Marek Polacek <polacek@redhat.com>
2889
2890 PR c/70852
2891 * c-common.c (warn_for_memset): Check domain before accessing it.
2892
509063eb
DV
28932016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
2894
2895 PR/69089
2896 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
2897 "aligned" attribute.
2898
b632761d
JM
28992016-04-28 Jason Merrill <jason@redhat.com>
2900
2901 * c-lex.c (c_common_has_attribute): Handle nodiscard.
2902
174f6622
ES
29032016-04-28 Eduard Sanou <dhole@openmailbox.org>
2904 Matthias Klose <doko@debian.org>
2905
2906 * c-common.c (get_source_date_epoch): New function, gets the environment
7365279f 2907 variable SOURCE_DATE_EPOCH and parses it as long long with error
174f6622
ES
2908 handling.
2909 * c-common.h (get_source_date_epoch): Prototype.
2910 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
2911
6bc2bb18
RB
29122015-04-27 Ryan Burn <contact@rnburn.com>
2913
2914 PR c++/69024
2915 PR c++/68997
2916 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
2917 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
2918 external linkage.
2919 (cilk_detect_and_unwrap): Corresponding changes.
2920 (extract_free_variables): Don't extract free variables from
2921 AGGR_INIT_EXPR slot.
2922 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
2923 (cilk_recognize_spawn): Likewise.
2924
c1e1f433
BS
29252016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2926
2927 * c.opt (Wmemset-elt-size): New option.
2928 * c-common.c (warn_for_memset): New function.
2929 * c-common.h (warn_for_memset): Declare.
2930
d067e05f
JM
29312016-04-25 Jason Merrill <jason@redhat.com>
2932
2933 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
2934 No longer static.
2935 * c-common.h: Declare it.
2936 * c-lex.c (c_common_has_attribute): Add maybe_unused.
2937
9aa36ae5
JM
29382016-04-22 Jason Merrill <jason@redhat.com>
2939
2940 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
2941
477d4906
IV
29422016-04-20 Ilya Verbin <ilya.verbin@intel.com>
2943
2944 PR c++/69363
2945 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
2946 * c-common.h (c_finish_cilk_clauses): Remove declaration.
2947
fe37c7af
MM
29482016-04-18 Michael Matz <matz@suse.de>
2949
2950 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
2951 and SET_DECL_ALIGN.
2952
23f2660f
EB
29532016-04-17 Eric Botcazou <ebotcazou@adacore.com>
2954
2955 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
2956 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
2957 to incomplete types.
2958 (dump_nested_type): Remove redundant tests and tidy up.
2959 (print_ada_declaration): Also set TREE_VISITED on the declaration of
2960 a type which is the typedef of an original type.
2961
1e77281b
MP
29622016-04-15 Marek Polacek <polacek@redhat.com>
2963
2964 PR c/70651
2965 * c-common.c (build_va_arg): Change two asserts into errors and return
2966 error_mark_node.
2967
b3a77f21
MP
29682016-04-13 Marek Polacek <polacek@redhat.com>
2969
2970 PR c++/70639
2971 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
2972 for switch statements, too.
2973
322b8466
JM
29742016-03-28 Jason Merrill <jason@redhat.com>
2975
2976 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
2977
fbdb6baf
MP
29782016-03-23 Marek Polacek <polacek@redhat.com>
2979
2980 PR c++/69884
2981 * c.opt (Wignored-attributes): New option.
2982
5c240f4d
DM
29832016-03-22 David Malcolm <dmalcolm@redhat.com>
2984
2985 PR c/69993
2986 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
2987 diagnostic text, reversing the order of the warning and note so
2988 that they appear in source order.
2989
14ba7b28
MP
29902016-03-17 Marek Polacek <polacek@redhat.com>
2991
2992 PR c/69407
2993 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
2994 operations.
2995
08a1cadc
JM
29962016-03-14 Jason Merrill <jason@redhat.com>
2997
2aaeea19
JM
2998 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
2999
08a1cadc
JM
3000 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
3001
c06d25bb
RB
30022016-03-09 Richard Biener <rguenther@suse.de>
3003
3004 PR c/70143
3005 * c-common.c (strict_aliasing_warning): Add back
3006 alias_sets_conflict_p check.
3007
80aac5c8
JM
30082016-03-08 Jason Merrill <jason@redhat.com>
3009
3010 * c-opts.c (set_std_cxx1z): Don't enable concepts.
3011
64b23c13
DM
30122016-03-04 David Malcolm <dmalcolm@redhat.com>
3013
3014 PR c/68187
3015 * c-indentation.c (get_visual_column): Move code to determine next
3016 tab stop to...
3017 (next_tab_stop): ...this new function.
3018 (line_contains_hash_if): Delete function.
3019 (detect_preprocessor_logic): Delete function.
3020 (get_first_nws_vis_column): New function.
3021 (detect_intervening_unindent): New function.
3022 (should_warn_for_misleading_indentation): Replace call to
3023 detect_preprocessor_logic with a call to
3024 detect_intervening_unindent.
3025
729526f5
DM
30262016-03-04 David Malcolm <dmalcolm@redhat.com>
3027
3028 PR c/68187
3029 * c-indentation.c (should_warn_for_misleading_indentation): When
3030 suppressing warnings about cases where the guard and body are on
3031 the same column, only use the first non-whitespace column in place
3032 of the guard token column when dealing with "else" clauses.
3033 When rejecting aligned BODY and NEXT, loosen the requirement
3034 from equality with the first non-whitespace of guard to simply
3035 that they not be indented relative to it.
3036
e9a35493
RB
30372016-03-04 Richard Biener <rguenther@suse.de>
3038
3039 PR c++/70054
3040 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
3041 instead of alias_sets_conflict_p.
3042
1be56bc5
MP
30432016-03-01 Marek Polacek <polacek@redhat.com>
3044
3045 PR c++/69795
3046 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
3047 any DECL.
3048
35886f0b
MS
30492016-02-22 Martin Sebor <msebor@redhat.com>
3050
3051 PR middle-end/69780
3052 * c-common.c (check_builtin_function_arguments): Validate and
3053 reject invalid arguments to __builtin_alloca_with_align.
3054
4246c8da
MW
30552016-02-20 Mark Wielaard <mjw@redhat.com>
3056
3057 PR c/28901
3058 * c.opt (Wunused-const-variable): Turn into Alias for...
3059 (Wunused-const-variable=): New option.
3060
268be88c
BE
30612016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3062
3063 PR c++/69865
3064 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
3065 here...
3066 (c_common_init_options): ...to here.
3067 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
3068
871b3f47
JJ
30692016-02-19 Jakub Jelinek <jakub@redhat.com>
3070
3071 PR c++/69826
3072 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
3073 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
3074 flag_preprocess_only.
3075
bf14eba2
JJ
30762016-02-16 Jakub Jelinek <jakub@redhat.com>
3077
3078 PR c/69835
3079 * c.opt (Wnonnull-compare): Enable for -Wall.
3080
ba6b3795
JJ
30812016-02-15 Jakub Jelinek <jakub@redhat.com>
3082
3083 PR c++/69797
3084 * c-common.c (sync_resolve_size): Diagnose too few arguments
3085 even when params is non-NULL empty vector.
3086
a011cd92
BS
30872016-02-08 Bernd Schmidt <bschmidt@redhat.com>
3088
3089 PR target/60410
3090 * c.opt (fshort-double): Remove.
3091
46cb9332
MS
30922016-02-05 Martin Sebor <msebor@redhat.com>
3093
3094 PR c++/69662
3095 * c.opt (Warning options): Update -Wplacement-new to take
3096 an optional argument.
3097
e1b81f2b
JJ
30982016-02-01 Jakub Jelinek <jakub@redhat.com>
3099
3100 PR preprocessor/69543
3101 PR c/69558
3102 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
3103 instead of loc to control_warning_option.
3104
b6adbb9f
NS
31052016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3106
3107 * c.opt (fopenacc-dim=): New option.
3108
5d70666e
RB
31092016-01-27 Ryan Burn <contact@rnburn.com>
3110
3111 PR cilkplus/69267
3112 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
3113 gimplify_arg. Removed superfluous post_p argument.
3114 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
3115 superfluous post_p argument.
3116 * c-gimplify.c (c_gimplify_expr): Likewise.
3117
01e1dea3
DM
31182016-01-26 David Malcolm <dmalcolm@redhat.com>
3119
3120 PR other/69006
3121 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
3122 pp_newline_and_flush with pp_flush.
3123
9f04a53e
MS
31242016-01-20 Martin Sebor <msebor@redhat.com>
3125
3126 PR c/69405
3127 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
3128 an incompatible argument when the argument isn't a valid tree node.
3129
7f26f7df
JM
31302016-01-18 Jason Merrill <jason@redhat.com>
3131
3132 PR c++/68767
3133 * c-common.c (check_function_arguments_recurse): Fold the whole
3134 COND_EXPR, not just the condition.
3135
f62bf092
TV
31362016-01-18 Tom de Vries <tom@codesourcery.com>
3137
3138 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
3139 classify as loop clause.
3140
e0a575ff
JJ
31412016-01-15 Jakub Jelinek <jakub@redhat.com>
3142
3143 PR bootstrap/68271
3144 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
3145 C++ FE no longer has limit on number of pragmas.
3146
31472015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
3148
3149 PR c++/69048
3150 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 3151 to add missing cleanup point.
b6e3db06 3152
c7df95d8
DM
31532016-01-14 David Malcolm <dmalcolm@redhat.com>
3154
3155 PR c++/68819
3156 * c-indentation.c (get_visual_column): Add location_t param.
3157 Handle the column number being zero by effectively disabling the
3158 warning, with an "inform".
3159 (should_warn_for_misleading_indentation): Add location_t argument
3160 for all uses of get_visual_column.
3161
21efdd80
PP
31622016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
3163
3164 PR c++/69029
3165 * c-indentation.c (should_warn_for_misleading_indentation):
3166 Don't warn about do-while statements.
3167
7a127fa7
MS
31682016-01-07 Martin Sebor <msebor@redhat.com>
3169
3170 PR c/68966
3171 * c-common.c (sync_resolve_size): Reject first argument when it's
3172 a pointer to _Bool.
3173
c589e975
DM
31742016-01-05 David Malcolm <dmalcolm@redhat.com>
3175
3176 PR c/69122
3177 * c-indentation.c (get_visual_column): Remove default argument.
3178 (should_warn_for_misleading_indentation): For the multiline case,
3179 update call to get_visual_column for next_stmt_exploc so that it
3180 captures the location of the first non-whitespace character in the
3181 relevant line. Don't issue warnings if there is non-whitespace
3182 before the next statement.
3183
818ab71a
JJ
31842016-01-04 Jakub Jelinek <jakub@redhat.com>
3185
3186 Update copyright years.
3187
745e411d
DM
31882015-12-21 David Malcolm <dmalcolm@redhat.com>
3189
3190 * c-common.c (binary_op_error): Convert first param from
3191 location_t to rich_location * and use it when emitting an error.
3192 * c-common.h (binary_op_error): Convert first param from
3193 location_t to rich_location *.
3194
de67c4c3
DM
31952015-12-16 David Malcolm <dmalcolm@redhat.com>
3196
3197 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
3198 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
3199
4a38b02b
IV
32002015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3201
3202 * c-common.c (c_common_attribute_table): Handle "omp declare target
3203 link" attribute.
3204
54d62f51
JJ
32052015-12-14 Jakub Jelinek <jakub@redhat.com>
3206
3207 PR c/68833
3208 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
3209
8d4227c8
TB
32102014-12-12 Tobias Burnus <burnus@net-b.de>
3211
3212 PR fortran/68815
3213 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
3214 specifiers (%d, %i,%u and %c).
3215
f6069ccc
DM
32162015-12-10 David Malcolm <dmalcolm@redhat.com>
3217
3218 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
3219
63bbf46d
JJ
32202015-12-08 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR c/48088
3223 PR c/68657
3224 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
3225 * c-pragma.c (handle_pragma_diagnostic): Adjust
3226 control_warning_option caller.
3227
f79520bb
DM
32282015-12-07 David Malcolm <dmalcolm@redhat.com>
3229
3230 * c-common.c (c_cpp_error): Update for change to
3231 rich_location::set_range.
3232
b3d5bc62
JJ
32332015-12-04 Paolo Bonzini <bonzini@gnu.org>
3234
3235 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
3236 shifting 1 out of the sign bit.
3237
32382015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
3239
3240 * c-common.c (c_common_attribute_table[]): Update max arguments
3241 count for "simd" attribute.
3242 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
3243
6eb4a537
JJ
32442015-12-03 Jakub Jelinek <jakub@redhat.com>
3245
3246 PR preprocessor/57580
3247 * c-ppoutput.c (print): Change printed field to bool.
3248 Move src_file last for smaller padding.
3249 (init_pp_output): Set print.printed to false instead of 0.
3250 (scan_translation_unit): Fix up formatting. Set print.printed
3251 to true after printing something other than newline.
3252 (scan_translation_unit_trad): Set print.printed to true instead of 1.
3253 (maybe_print_line_1): Set print.printed to false instead of 0.
3254 (print_line_1): Likewise.
3255 (do_line_change): Set print.printed to true instead of 1.
3256 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
3257 dump_macro): Set print.printed to false after printing newline.
3258
4250754e
JM
32592015-12-02 Jason Merrill <jason@redhat.com>
3260
f479b43d
JM
3261 * c-common.c (fold_for_warn): New.
3262 (warn_logical_operator, warn_tautological_cmp)
3263 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
3264
4250754e
JM
3265 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
3266 (c_fully_fold_internal, decl_constant_value_for_optimization):
3267 Move to c/c-fold.c.
3268 * c-common.h: Don't declare decl_constant_value_for_optimization.
3269
e9e32ee6
JM
32702015-12-02 Joseph Myers <joseph@codesourcery.com>
3271
3272 PR c/68162
3273 * c-common.h (c_build_qualified_type): Add extra default
3274 arguments.
3275
37d5ad46
JB
32762015-12-01 Julian Brown <julian@codesourcery.com>
3277 Cesar Philippidis <cesar@codesourcery.com>
3278 James Norris <James_Norris@mentor.com>
3279
3280 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
3281 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
3282 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
3283
f07862c7
EB
32842015-11-30 Eric Botcazou <ebotcazou@adacore.com>
3285
3286 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
3287 (decl_sloc_common): Delete and move bulk of processing to...
3288 (decl_sloc): ...here.
3289 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
3290 (dump_ada_double_name): Remove S parameter and compute the suffix.
3291 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
3292 element type and deal with an anonymous one.
3293 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
3294 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
3295 and remove reference to QUAL_UNION_TYPE.
3296 (dump_nested_types): Make 2 passes on the fields and move bulk to...
3297 (dump_nested_type): ...here. New function extracted from above.
3298 Generate a full declaration for anonymous element type of arrays.
3299 (print_ada_declaration): Really skip anonymous declarations. Remove
3300 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
3301 Clean up processing of declarations of array types and objects.
3302 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
3303 Remove obsolete code and tidy up.
3304
75c8aac3
JH
33052015-11-29 Jan Hubicka <hubicka@ucw.cz>
3306
3307 PR c/67581
3308 * c-common.c (handle_transparent_union_attribute): Update
3309 also type variants.
3310
b58d3df2
ML
33112015-11-27 Martin Liska <mliska@suse.cz>
3312
3313 PR c++/68312
3314 * array-notation-common.c (cilkplus_extract_an_triplets):
3315 Release vector of vectors.
3316 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
3317
89a01fcf
EB
33182015-11-26 Eric Botcazou <ebotcazou@adacore.com>
3319
3320 PR c++/68527
3321 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
3322 (print_ada_struct_decl): Likewise.
3323
cc5c5226
IZ
33242015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
3325
3326 PR c++/68001
3327 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
3328 * cilk.c (recognize_spawn): Determine location in a more precise
3329 way.
3330
269adb9d
JM
33312015-11-19 Jason Merrill <jason@redhat.com>
3332
3333 * c-common.c (shorten_compare): But look through macros from
3334 system headers.
3335
d0eccfcd
JM
33362015-11-18 Jason Merrill <jason@redhat.com>
3337
3338 * c-common.c (shorten_compare): Don't -Wtype-limits if the
3339 non-constant operand comes from a macro.
3340
3e44547c
JM
33412015-11-17 Jason Merrill <jason@redhat.com>
3342
3343 PR bootstrap/68346
3344 * c-common.c (warn_tautological_cmp): Fold before checking for
3345 constants.
3346
0f62c7a0
MP
33472015-11-16 Marek Polacek <polacek@redhat.com>
3348
3349 PR c++/68362
3350 * c-common.c (check_case_bounds): Fold low and high cases.
3351
a868811e
MP
33522015-11-16 Marek Polacek <polacek@redhat.com>
3353
3354 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
3355 * c-common.c (c_common_get_alias_set): Likewise.
3356 (handle_visibility_attribute): Likewise.
3357
fff77217
KY
33582015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
3359
3360 * c-common.c (handle_simd_attribute): New.
3361 (struct attribute_spec): Add entry for "simd".
3362 (handle_simd_attribute): New.
3363
269e63b7
KT
33642015-11-13 Kai Tietz <ktietz70@googlemail.com>
3365
3366 * c-lex.c (interpret_float): Use fold_convert.
3367
ebedc9a3
DM
33682015-11-13 David Malcolm <dmalcolm@redhat.com>
3369
3370 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
3371 and store it on the result.
3372 * c-opts.c (c_common_init_options): Set
3373 global_dc->colorize_source_p.
3374
6e232ba4
JN
33752015-11-12 James Norris <jnorris@codesourcery.com>
3376 Joseph Myers <joseph@codesourcery.com>
3377
7365279f 3378 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
6e232ba4
JN
3379 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
3380 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
3381 PRAGMA_OACC_CLAUSE_LINK.
3382
e78bede6
MP
33832015-11-11 Marek Polacek <polacek@redhat.com>
3384
3385 PR c/68107
3386 PR c++/68266
3387 * c-common.c (valid_array_size_p): New function.
3388 * c-common.h (valid_array_size_p): Declare.
3389
3f8257db 33902015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
3391
3392 PR bootstrap/68271
3393 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
3394
69f293c9
AM
33952015-11-11 Andrew MacLeod <amacleod@redhat.com>
3396
3397 * array-notation-common.c: Remove unused header files.
3398 * c-ada-spec.c: Likewise.
3399 * c-cilkplus.c: Likewise.
3400 * c-common.c: Likewise.
3401 * c-cppbuiltin.c: Likewise.
3402 * c-dump.c: Likewise.
3403 * c-format.c: Likewise.
3404 * c-gimplify.c: Likewise.
3405 * c-indentation.c: Likewise.
3406 * c-lex.c: Likewise.
3407 * c-omp.c: Likewise.
3408 * c-opts.c: Likewise.
3409 * c-pch.c: Likewise.
3410 * c-ppoutput.c: Likewise.
3411 * c-pragma.c: Likewise.
3412 * c-pretty-print.c: Likewise.
3413 * c-semantics.c: Likewise.
3414 * c-ubsan.c: Likewise.
3415 * cilk.c: Likewise.
3416 * stub-objc.c: Likewise.
3417
3a40d81d
NS
34182015-11-09 Thomas Schwinge <thomas@codesourcery.com>
3419 Cesar Philippidis <cesar@codesourcery.com>
3420 James Norris <jnorris@codesourcery.com>
3421 Julian Brown <julian@codesourcery.com>
3422 Nathan Sidwell <nathan@codesourcery.com>
3423
3424 * c-pragma.c (oacc_pragmas): Add "routine".
3425 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
3426
ee45a32d
EB
34272015-11-08 Eric Botcazou <ebotcazou@adacore.com>
3428
3429 * c-common.c (c_common_attributes): Add scalar_storage_order.
3430 (handle_scalar_storage_order_attribute): New function.
3431 * c-pragma.c (global_sso): New variable.
3432 (maybe_apply_pragma_scalar_storage_order): New function.
3433 (handle_pragma_scalar_storage_order): Likewise.
3434 (init_pragma): Register scalar_storage_order.
3435 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
3436 * c.opt (Wscalar-storage-order): New warning.
3437 (fsso-struct=): New option.
3438
eb11eb15
MS
34392015-11-08 Martin Sebor <msebor@redhat.com>
3440
3441 * c.opt (Wplacement-new): Add a period to the end of a sentence.
3442
0aad0198
RS
34432015-11-07 Richard Sandiford <richard.sandiford@arm.com>
3444
3445 * c-common.c: Don't undef DEF_BUILTIN.
3446
8a645150
DM
34472015-11-06 David Malcolm <dmalcolm@redhat.com>
3448
3449 * c-common.c (c_cpp_error): Convert parameter from location_t to
3450 rich_location *. Eliminate the "column_override" parameter and
3451 the call to diagnostic_override_column.
3452 Update the "done_lexing" clause to set range 0
3453 on the rich_location, rather than overwriting a location_t.
3454 * c-common.h (c_cpp_error): Convert parameter from location_t to
3455 rich_location *. Eliminate the "column_override" parameter.
3456
7a5e4956
CP
34572015-11-05 Cesar Philippidis <cesar@codesourcery.com>
3458 Thomas Schwinge <thomas@codesourcery.com>
3459 James Norris <jnorris@codesourcery.com>
3460
3461 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
3462 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
3463 clauses with parallel and kernels and loops.
3464 * c-pragma.h (enum pragma_omp_clause): Add entries for
3465 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
3466 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
3467 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
3468 INDEPENDENT,SEQ}.
3469 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
3470
e2f5cc96
MS
34712015-11-05 Martin Sebor <msebor@redhat.com>
3472
3473 PR c++/67942
3474 * c.opt (-Wplacement-new): New option.
3475
e01d41e5
JJ
34762015-11-05 Jakub Jelinek <jakub@redhat.com>
3477
3478 * c-common.h (c_finish_omp_atomic): Add TEST argument.
3479 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
3480 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
3481 save_expr or create_tmp_var* if TEST is true.
3482 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
3483 Don't call add_stmt here.
3484 (struct c_omp_check_loop_iv_data): New type.
3485 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
3486 c_omp_check_loop_iv_exprs): New functions.
3487 (c_omp_split_clauses): Adjust for lastprivate being allowed on
3488 distribute.
3489 (c_omp_declare_simd_clauses_to_numbers): Change
3490 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
3491 (c_omp_declare_simd_clauses_to_decls): Similarly change those
3492 from numbers to PARM_DECLs.
3493
595278be
MM
34942015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
3495
3496 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
3497 flag_checking.
3498
3f8257db 34992015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
3500
3501 PR c++-common/67882
b3d5bc62
JJ
3502 * c-common.h (fold_offsetof_1): Add argument.
3503 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
3504 offsetof expressions that reference elements past the end of
3505 an array.
3506
4bf9e5a8
TS
35072015-11-03 Thomas Schwinge <thomas@codesourcery.com>
3508 Chung-Lin Tang <cltang@codesourcery.com>
3509
3510 * c-pragma.c (oacc_pragmas): Add "atomic".
3511 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
3512
3b1661a9
ES
35132015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
3514
3515 * c-common.c (handle_target_clones_attribute): New.
3516 (c_common_attribute_table): Add handle_target_clones_attribute.
3517 (handle_always_inline_attribute): Add check on target_clones attribute.
3518 (handle_target_attribute): Ditto.
3519
2adfab87
AM
35202015-10-29 Andrew MacLeod <amacleod@redhat.com>
3521
3522 * array-notation-common.c: Reorder #include's and remove duplicates.
3523 * c-ada-spec.c: Likewise.
3524 * c-cilkplus.c: Likewise.
3525 * c-common.c: Likewise.
3526 * c-cppbuiltin.c: Likewise.
3527 * c-dump.c: Likewise.
3528 * c-format.c: Likewise.
3529 * c-gimplify.c: Likewise.
3530 * c-indentation.c: Likewise.
3531 * c-lex.c: Likewise.
3532 * c-omp.c: Likewise.
3533 * c-opts.c: Likewise.
3534 * c-pch.c: Likewise.
3535 * c-ppoutput.c: Likewise.
3536 * c-pragma.c: Likewise.
3537 * c-pretty-print.c: Likewise.
3538 * c-semantics.c: Likewise.
3539 * c-ubsan.c: Likewise.
3540 * cilk.c: Likewise.
3541 * stub-objc.c: Likewise.
3542
d90ec4f2
JM
35432015-10-28 Jason Merrill <jason@redhat.com>
3544
3545 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
3546
88bae6f4
TS
35472015-10-27 Thomas Schwinge <thomas@codesourcery.com>
3548 James Norris <jnorris@codesourcery.com>
3549 Cesar Philippidis <cesar@codesourcery.com>
3550
3551 PR c/64765
3552 PR c/64880
3553 * c-common.h (c_oacc_split_loop_clauses): Declare function.
3554 * c-omp.c (c_oacc_split_loop_clauses): New function.
3555
b1726d6c
MS
35562015-10-21 Martin Sebor <msebor@redhat.com>
3557
3558 PR driver/68043
3559 * c.opt: End each sentence that describes an option with a period.
3560
fa60eeb9
MP
35612015-10-20 Marek Polacek <polacek@redhat.com>
3562
3563 * array-notation-common.c (is_cilkplus_vector_p): Define.
3564 * c-common.h (is_cilkplus_vector_p): Declare.
3565
95979049
MP
35662015-10-20 Marek Polacek <polacek@redhat.com>
3567
3568 * c.opt (std=gnu++11): Do not describe as experimental.
3569 (std=gnu++14): Likewise.
3570
2a9fb712
JM
35712015-10-19 Jason Merrill <jason@redhat.com>
3572
3573 * c-cppbuiltin.c (c_cpp_builtins): Define
3574 __cpp_nontype_template_args.
3575
13b380a3
JM
35762015-10-19 Jason Merrill <jason@redhat.com>
3577
3578 * c-cppbuiltin.c (c_cpp_builtins): Define
3579 __cpp_enumerator_attributes, __cpp_fold_expressions,
3580 __cpp_unicode_characters.
3581
d9a6bd32
JJ
35822015-10-13 Jakub Jelinek <jakub@redhat.com>
3583 Aldy Hernandez <aldyh@redhat.com>
3584
3585 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
3586 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
3587 (c_define_builtins): Likewise.
3588 * c-common.h (enum c_omp_clause_split): Add
3589 C_OMP_CLAUSE_SPLIT_TASKLOOP.
3590 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
3591 (c_finish_omp_for): Add ORIG_DECLV argument.
3592 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
3593 201511 instead of 201307.
3594 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
3595 OMP_CRITICAL_CLAUSES to it.
3596 (c_finish_omp_ordered): Add CLAUSES argument, set
3597 OMP_ORDERED_CLAUSES to it.
3598 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
3599 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
3600 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
3601 constructs and new OpenMP 4.5 clauses. Clear
3602 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
3603 verification code.
3604 * c-pragma.c (omp_pragmas_simd): Add taskloop.
3605 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
3606 (enum pragma_omp_clause): Add
3607 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
3608 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
3609
624d31fe
RS
36102015-10-05 Richard Sandiford <richard.sandiford@arm.com>
3611
3612 * c-lex.c (interpret_float): Use real_equal instead of
3613 REAL_VALUES_EQUAL.
3614
b8fd7909
JM
36152015-10-04 Jason Merrill <jason@redhat.com>
3616
3617 Implement N4514, C++ Extensions for Transactional Memory.
3618 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
3619 (c_common_attribute_table): Add transaction_safe_dynamic.
3620 transaction_safe now affects type identity.
3621 (handle_tm_attribute): Handle transaction_safe_dynamic.
3622 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
3623 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
3624 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
3625 (D_TRANSMEM): New.
3626 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
3627 * c-pretty-print.c (pp_c_attributes_display): Don't print
3628 transaction_safe in C++.
3629
12651878
MP
36302015-10-02 Marek Polacek <polacek@redhat.com>
3631
3632 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
3633
3e3b8d63
MP
36342015-10-02 Marek Polacek <polacek@redhat.com>
3635
3636 PR c/64249
3637 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
3638 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
3639 * c.opt (Wduplicated-cond): New option.
3640
0d1a8f75
JM
36412015-10-01 Joseph Myers <joseph@codesourcery.com>
3642
3643 * c.opt (std=c11): Do not describe as experimental.
3644 (std=gnu11): Likewise.
3645 (std=iso9899:2011): Likewise.
3646
3e32ee19
NS
36472015-09-28 Nathan Sidwell <nathan@codesourcery.com>
3648
3649 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
3650 (DEF_FUNCTION_TYPE_VAR_11): Delete.
3651
974348ee
MP
36522015-09-25 Marek Polacek <polacek@redhat.com>
3653
3654 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
3655 (ubsan_instrument_shift): Likewise.
3656
15dbc1a6
MP
36572015-09-25 Marek Polacek <polacek@redhat.com>
3658
3659 PR sanitizer/64906
3660 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
3661
6b95d7cc
PP
36622015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
3663
3664 * c-indentation.c (should_warn_for_misleading_indentation):
3665 Compare next_stmt_vis_column with guard_line_first_nws instead
3666 of with guard_line_vis_column.
3667
c1822f9c
MLI
36682015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
3669
3670 PR c/49654
3671 PR c/49655
3672 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
3673 options and options not valid for the current language.
3674
d5398058
PP
36752015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
3676
3677 * c-indentation.c (should_warn_for_misleading_indentation):
3678 Float out and consolidate the calls to get_visual_column that
3679 are passed guard_exploc as an argument. Compare
3680 next_stmt_vis_column with guard_line_first_nws instead of with
3681 body_line_first_nws.
3682
6b333269
NS
36832015-09-22 Nathan Sidwell <nathan@codesourcery.com>
3684
3685 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
3686 Wnamespaces): New C++ warnings.
3687
a75f1574
JM
36882015-09-22 Jason Merrill <jason@redhat.com>
3689
3690 * c-common.h (abi_compat_version_crosses): New.
3691 (warn_abi_version): Declare.
3692 * c-common.c: Define it.
3693 * c-opts.c (c_common_post_options): Handle it.
3694 flag_abi_compat_version defaults to 8.
3695
bdaaa8b7
VV
36962015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
3697
3698 Complete the implementation of N4230, Nested namespace definition.
3699 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
3700 __cpp_nested_namespace_definitions.
3701
eaa797e8
MLI
37022015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3703
3704 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
3705
c4914de6
MLI
37062015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
3707
3708 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
3709 when warning.
3710 * c-pragma.h (pragma_lex): Add optional loc argument.
3711
fcb87c50
MM
37122015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
3713
3714 * c-format.c (check_format_arg): Adjust to use common block size in all
3715 object pools.
3716
31bdd08a
DM
37172015-09-15 David Malcolm <dmalcolm@redhat.com>
3718
3719 * c-format.c (location_from_offset): Update for change in
3720 signature of location_get_source_line.
3721 * c-indentation.c (get_visual_column): Likewise.
3722 (line_contains_hash_if): Likewise.
3723
aa9f4b4c
MP
37242015-09-14 Marek Polacek <polacek@redhat.com>
3725
3726 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
3727 setting various warnings.
3728
aa256c4a
MP
37292015-09-14 Marek Polacek <polacek@redhat.com>
3730
3731 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
3732 a negative value.
3733
0f876f22
MW
37342015-09-11 Mark Wielaard <mjw@redhat.com>
3735
3736 PR c/28901
3737 * c.opt (Wunused-variable): Option from common.opt.
3738 (Wunused-const-variable): New option.
3739
273aa49e
PC
37402015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3741
3742 PR c++/53184
3743 * c.opt ([Wsubobject-linkage]): Add.
3744
1807ffc1
MS
37452015-09-03 Martin Sebor <msebor@redhat.com>
3746
3747 PR c/66516
3748 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
3749 functions.
3750 * c-common.c (reject_gcc_builtin): Define.
3751
38942840
BI
37522015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
3753
3754 PR middle-end/60586
3755 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
3756 prototype.
3757 * c-gimplify.c (c_gimplify_expr): Added a call to the function
3758 cilk_gimplify_call_params_in_spawned_fn.
3759 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
3760 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
3761 unwrapping.
3762
c316b5e4
MP
37632015-08-25 Marek Polacek <polacek@redhat.com>
3764
3765 PR middle-end/67330
3766 * c-common.c (handle_weak_attribute): Don't check whether the
3767 visibility can be changed here.
3768
584a7c46
MLI
37692015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3770
3771 * c-lex.c (c_lex_with_flags): Use explicit locations.
3772
a79683d5
TS
37732015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
3774
3775 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
3776 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
3777
61717a45
FXC
37782015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3779
3780 PR middle-end/36757
3781 * c-common.c (check_builtin_function_arguments): Add check
3782 for BUILT_IN_SIGNBIT argument.
3783
329524f5
PC
37842015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
3785
3786 PR c++/67160
3787 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
3788 in c++1z mode.
3789
4ee55665
MP
37902015-08-17 Marek Polacek <polacek@redhat.com>
3791
3792 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
3793 with whitespaces before qualifier names.
3794
b893e375
MP
37952015-08-12 Marek Polacek <polacek@redhat.com>
3796
3797 PR c++/55095
3798 * c-common.c (maybe_warn_shift_overflow): Properly handle
3799 left-shifting 1 into the sign bit.
3800
c2d89095
MLI
38012015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3802
3803 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
3804
971e17ff
AS
38052015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
3806 Braden Obrzut <admin@maniacsvault.net>
3807 Jason Merrill <jason@redhat.com>
3808
3809 Add C++ Concepts TS support.
3810 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
3811 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
3812 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
3813 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
3814 * c-opts.c (set_std_cxx1z): Set flag_concepts.
3815 * c.opt (fconcepts): New.
3816
b3d5bc62
JJ
38172015-08-02 Martin Sebor <msebor@redhat.com>
3818
3819 * c.opt (-Wframe-address): New warning option.
3820
8ebca419
PP
38212015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3822
3823 * c-indentation.c (should_warn_for_misleading_indentation):
3824 Improve heuristics.
3825
1a1e101f
PP
38262015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3827
3828 * c-indentation.c (get_visual_column): Add parameter first_nws,
3829 use it. Update comment documenting the function.
3830 (is_first_nonwhitespace_on_line): Remove.
3831 (should_warn_for_misleading_indentation): Replace usage of
3832 of is_first_nonwhitespace_on_line with get_visual_column.
3833
992118a1
PP
38342015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
3835
3836 * c-indentation.h (struct token_indent_info): Define.
3837 (get_token_indent_info): Define.
3838 (warn_for_misleading_information): Declare.
3839 * c-common.h (warn_for_misleading_information): Remove.
3840 * c-identation.c (warn_for_misleading_indentation):
3841 Change declaration to take three token_indent_infos. Adjust
3842 accordingly.
3843 * c-identation.c (should_warn_for_misleading_indentation):
3844 Likewise. Bail out early if the body is a compound statement.
3845 (guard_tinfo_to_string): Define.
3846
e8fa3817
JM
38472015-07-30 Jason Merrill <jason@redhat.com>
3848
3849 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
3850 '*' for reference decay.
3851
173864e8
MP
38522015-07-30 Marek Polacek <polacek@redhat.com>
3853
3854 * c-common.c (warn_tautological_cmp): Bail for float types.
3855
f2afe6dd
MP
38562015-07-27 Marek Polacek <polacek@redhat.com>
3857
3858 PR bootstrap/67030
3859 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
3860
05b28fd6
MP
38612015-07-27 Marek Polacek <polacek@redhat.com>
3862
3863 PR c++/66555
3864 PR c/54979
3865 * c-common.c (find_array_ref_with_const_idx_r): New function.
3866 (warn_tautological_cmp): New function.
3867 * c-common.h (warn_tautological_cmp): Declare.
3868 * c.opt (Wtautological-compare): New option.
3869
5a5062b8
MP
38702015-07-23 Marek Polacek <polacek@redhat.com>
3871
3872 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
3873 (ubsan_instrument_shift): Likewise.
3874
dc891fe7
MP
38752015-07-23 Marek Polacek <polacek@redhat.com>
3876
3877 PR sanitizer/66908
3878 * c-ubsan.c: Include gimplify.h.
3879 (ubsan_instrument_division): Unshare OP0 and OP1.
3880 (ubsan_instrument_shift): Likewise.
3881
451b5e48
MP
38822015-07-20 Marek Polacek <polacek@redhat.com>
3883 Richard Sandiford <richard.sandiford@arm.com>
3884
3885 PR c++/55095
3886 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
3887 Use EXPR_LOC_OR_LOC.
3888 (maybe_warn_shift_overflow): New function.
3889 * c-common.h (maybe_warn_shift_overflow): Declare.
3890 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
3891 * c.opt (Wshift-overflow): New option.
3892
fb0b2914
ML
38932015-07-16 Martin Liska <mliska@suse.cz>
3894
3895 * c-format.c (static void check_format_info_main): Use
3896 object_allocator instead of pool_allocator.
3897 (check_format_arg): Likewise.
3898 (check_format_info_main): Likewise.
3899
903f5c23
AM
39002015-07-15 Andrew MacLeod <amacleod@redhat.com>
3901
3902 * c-opts.c: Remove multiline #include comment.
3903
026c3cfd
AH
39042015-07-12 Aldy Hernandez <aldyh@redhat.com>
3905
3906 * c-common.c: Fix double word typos.
3907
bb49ee66
EB
39082015-07-10 Eric Botcazou <ebotcazou@adacore.com>
3909
3910 * c-ada-spec.h (cpp_operation): Revert latest change.
3911 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
3912 constructors and destructors.
3913
1916bcb5
AM
39142015-07-09 Andrew MacLeod <amacleod@redhat.com>
3915
3916 * c-common.h: Adjust includes for flags.h changes.
3917 * stub-objc.c: Likewise.
026c3cfd 3918
a9dcd529
EB
39192015-07-08 Eric Botcazou <ebotcazou@adacore.com>
3920
3921 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
3922 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
3923
b03b462f
JJ
39242015-07-08 Jakub Jelinek <jakub@redhat.com>
3925
3926 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
3927 are to be removed, return NULL rather than original clauses list.
3928
c7131fb2
AM
39292015-07-07 Andrew MacLeod <amacleod@redhat.com>
3930
3931 * array-notation-common.c: Adjust includes.
3932 * c-ada-spec.c: Likewise.
3933 * c-cilkplus.c: Likewise.
3934 * c-common.h: Likewise.
3935 * c-cppbuiltin.c: Likewise.
3936 * c-dump.c: Likewise.
3937 * c-format.c: Likewise.
3938 * c-gimplify.c: Likewise.
3939 * c-indentation.c: Likewise.
3940 * c-lex.c: Likewise.
3941 * c-omp.c: Likewise.
3942 * c-opts.c: Likewise.
3943 * c-pch.c: Likewise.
3944 * c-ppoutput.c: Likewise.
3945 * c-pragma.c: Likewise.
3946 * c-pretty-print.c: Likewise.
3947 * c-semantics.c: Likewise.
3948 * c-ubsan.c: Likewise.
3949 * cilk.c: Likewise.
3950 * stub-objc.c: Likewise.
3951
2a7fb83f
EB
39522015-07-07 Eric Botcazou <ebotcazou@adacore.com>
3953
3954 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
3955 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
3956
a03c9bf1
JM
39572015-07-01 Jason Merrill <jason@redhat.com>
3958
36a85135
JM
3959 * c-common.h (D_CXX11): Rename from D_CXX0X.
3960 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
3961 * c-common.c: Adjust.
3962
e7fa68d5
JM
3963 * c-opts.c (c_common_post_options): Default to C++14.
3964
a03c9bf1
JM
3965 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
3966
fe95b036
ESR
39672015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
3968
3969 Implement N4197 - Adding u8 character literals
b3d5bc62 3970 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 3971 CPP_CHAR.
b3d5bc62 3972 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 3973 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 3974 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
3975 and CPP_UTF8CHAR tokens.
3976 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 3977
da2e71c9
MLI
39782015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3979
3980 PR fortran/66605
3981 * c-common.c (do_warn_unused_parameter): Move here.
3982 * c-common.h (do_warn_unused_parameter): Declare.
3983
b155cfd9
MP
39842015-06-29 Marek Polacek <polacek@redhat.com>
3985
3986 PR c/66322
3987 * c-common.c (check_case_bounds): Add bool * parameter. Set
3988 OUTSIDE_RANGE_P.
3989 (c_add_case_label): Add bool * parameter. Pass it down to
3990 check_case_bounds.
3991 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
3992 warning here.
3993 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
3994 declarations.
3995
31521951
MP
39962015-06-27 Marek Polacek <polacek@redhat.com>
3997
3998 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
3999 or VECTOR_INTEGER_TYPE_P throughout.
4000 * c-gimplify.c: Likewise.
4001
22d03525
MP
40022015-06-26 Marek Polacek <polacek@redhat.com>
4003
4004 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
4005 * c-common.c (c_fully_fold_internal): Likewise.
4006 (c_alignof_expr): Likewise.
4007 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
4008 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 4009 * cilk.c (create_parm_list): Likewise.
22d03525 4010
af05e6e5
MP
40112015-06-26 Marek Polacek <polacek@redhat.com>
4012
4013 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
4014
f0889939
AM
40152015-06-25 Andrew MacLeod <amacleod@redhat.com>
4016
4017 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
4018 * c-gimplify.c: Likewise.
4019 * c-pragma.c: Likewise.
4020 * c-ubsan.c: Likewise.
4021 * cilk.c: Likewise.
4022
ca752f39
RS
40232015-06-25 Richard Sandiford <richard.sandiford@arm.com>
4024
4025 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
4026 ggc_hasher.
4027
16a16ec7
AM
40282015-06-25 Andrew MacLeod <amacleod@redhat.com>
4029
4030 * cilk.c: Move calls.h after tm.h in the include chain.
4031
0ae9bd27
MP
40322015-06-25 Marek Polacek <polacek@redhat.com>
4033
4034 * array-notation-common.c: Use VAR_P throughout.
4035 * c-ada-spec.c: Likewise.
4036 * c-common.c: Likewise.
4037 * c-format.c: Likewise.
4038 * c-gimplify.c: Likewise.
4039 * c-omp.c: Likewise.
4040 * c-pragma.c: Likewise.
4041 * c-pretty-print.c: Likewise.
4042 * cilk.c: Likewise.
4043
62f9079a
MP
40442015-06-25 Marek Polacek <polacek@redhat.com>
4045
4046 * cilk.c (extract_free_variables): Use is_global_var.
4047
0fa16060
RS
40482015-06-23 Richard Sandiford <richard.sandiford@arm.com>
4049
4050 * c-common.c: Don't include target-def.h.
4051
a68ae2e1
MP
40522015-06-23 Marek Polacek <polacek@redhat.com>
4053
4054 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
4055 when comparing INTEGER_CSTs.
4056
c6a2f2d9
PMR
40572015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
4058
4059 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
4060 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
4061 (dump_ada_template): Skip partially specialized types.
4062
6b4db501
MM
40632015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
4064
4065 * c-common.c (scalar_to_vector): Use std::swap instead of manually
4066 swapping.
4067
abb226c9
AM
40682015-06-17 Andrew MacLeod <amacleod@redhat.com>
4069
4070 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4071 * c-ada-spec.c: Likewise.
4072 * c-cilkplus.c: Likewise.
4073 * c-common.c: Likewise.
4074 * c-common.h: Likewise.
4075 * c-cppbuiltin.c: Likewise.
4076 * c-dump.c: Likewise.
4077 * c-format.c: Likewise.
4078 * c-gimplify.c: Likewise.
4079 * c-indentation.c: Likewise.
4080 * c-lex.c: Likewise.
4081 * c-omp.c: Likewise.
4082 * c-opts.c: Likewise.
4083 * c-pch.c: Likewise.
4084 * c-ppoutput.c: Likewise.
4085 * c-pragma.c: Likewise.
4086 * c-pretty-print.c: Likewise.
4087 * c-semantics.c: Likewise.
4088 * c-ubsan.c: Likewise.
4089 * cilk.c: Likewise.
4090 * stub-objc.c: Likewise.
4091
076fecad
PP
40922015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
4093
4094 PR c++/65168
4095 * c-common.c (c_common_truthvalue_conversion): Warn when
4096 converting an address of a reference to a truth value.
4097
13fdf2e2
AM
40982015-06-08 Andrew MacLeod <amacleod@redhat.com>
4099
4100 * array-notation-common.c : Adjust include files.
4101 * c-ada-spec.c : Likewise.
4102 * c-cilkplus.c : Likewise.
4103 * c-common.c : Likewise.
4104 * c-common.h : Likewise.
4105 * c-cppbuiltin.c : Likewise.
4106 * c-dump.c : Likewise.
4107 * c-format.c : Likewise.
4108 * c-gimplify.c : Likewise.
4109 * c-indentation.c : Likewise.
4110 * c-lex.c : Likewise.
4111 * c-omp.c : Likewise.
4112 * c-opts.c : Likewise.
4113 * c-pch.c : Likewise.
4114 * c-ppoutput.c : Likewise.
4115 * c-pragma.c : Likewise.
4116 * c-pretty-print.c : Likewise.
4117 * c-semantics.c : Likewise.
4118 * c-ubsan.c : Likewise.
4119 * cilk.c : Likewise.
4120 * stub-objc.c : Likewise.
4121
a1661b90
MP
41222015-06-08 Marek Polacek <polacek@redhat.com>
4123
4124 PR c/66415
4125 * c-format.c (location_from_offset): Return LOC if LINE is null.
4126
d7438551
AH
41272015-06-05 Aldy Hernandez <aldyh@redhat.com>
4128
4129 * c-common.h (c_parse_final_cleanups): New prototype.
4130 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
4131
b3d5bc62
JJ
41322015-06-04 Sriraman Tallam <tmsriram@google.com>
4133
4134 * c-common.c (noplt): New attribute.
4135 (handle_noplt_attribute): New handler.
4136
ecb9f223
AM
41372015-06-04 Andrew MacLeod <amacleod@redhat.com>
4138
4139 * array-notation-common.c: Adjust includes for restructured coretypes.h.
4140 * c-ada-spec.c: Likewise.
4141 * c-cilkplus.c: Likewise.
4142 * c-common.c: Likewise.
4143 * c-common.h: Likewise.
4144 * c-cppbuiltin.c: Likewise.
4145 * c-dump.c: Likewise.
4146 * c-format.c: Likewise.
4147 * c-gimplify.c: Likewise.
4148 * c-indentation.c: Likewise.
4149 * c-lex.c: Likewise.
4150 * c-omp.c: Likewise.
4151 * c-opts.c: Likewise.
4152 * c-pch.c: Likewise.
4153 * c-ppoutput.c: Likewise.
4154 * c-pragma.c: Likewise.
4155 * c-pretty-print.c: Likewise.
4156 * c-semantics.c: Likewise.
4157 * c-ubsan.c: Likewise.
4158 * cilk.c: Likewise.
4159 * stub-objc.c: Likewise.
4160
6ac48155
DM
41612015-06-02 David Malcolm <dmalcolm@redhat.com>
4162
4163 PR c/66220:
4164 * c-indentation.c (should_warn_for_misleading_indentation): Use
4165 expand_location rather than expand_location_to_spelling_point.
4166 Don't warn if the guarding statement is more indented than the
4167 next/body stmts.
4168
773ce42e
DM
41692015-06-02 David Malcolm <dmalcolm@redhat.com>
4170
4171 * c-indentation.c (warn_for_misleading_indentation): Bail out
4172 immediately if -Wmisleading-indentation isn't enabled.
4173
4fef8379
ML
41742015-06-01 Martin Liska <mliska@suse.cz>
4175
4176 * c-format.c (check_format_arg):Use new type-based pool allocator.
4177 (check_format_info_main) Likewise.
4178
1edfb384
EB
41792015-05-31 Eric Botcazou <ebotcazou@adacore.com>
4180
4181 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
4182 (has_nontrivial_methods): Likewise.
4183
9677ef52
MP
41842015-05-25 Marek Polacek <polacek@redhat.com>
4185
4186 * c-ubsan.c (ubsan_instrument_shift): Use type0.
4187
fd5c817a
MP
41882015-05-22 Marek Polacek <polacek@redhat.com>
4189
4190 PR c/47043
4191 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
4192
a2f45fe6 41932015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
4194
4195 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
4196 STACK_GROWS_DOWNWARD.
4197
a2f45fe6 41982015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
4199
4200 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
4201 STACK_GROWS_DOWNWARD rather than if it is defined.
4202
0fee2ac2 42032015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 4204
0fee2ac2
MLI
4205 PR c/52952
4206 * c-format.c (location_column_from_byte_offset): New.
4207 (location_from_offset): New.
4208 (struct format_wanted_type): Add offset_loc field.
4209 (check_format_info): Move handling of location for extra arguments
4210 closer to the point of warning.
4211 (check_format_info_main): Pass the result of location_from_offset
4212 to warning_at.
4213 (format_type_warning): Pass the result of location_from_offset
4214 to warning_at.
4215
cf4ef6f7
MP
42162015-05-20 Marek Polacek <polacek@redhat.com>
4217
4218 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
4219
3a65ee74
MP
42202015-05-20 Marek Polacek <polacek@redhat.com>
4221
4222 * c-ada-spec.c (dump_sloc): Use DECL_P.
4223
21b634ae
MP
42242015-05-20 Marek Polacek <polacek@redhat.com>
4225
4226 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
4227 * c-common.c: Likewise.
4228
0e50b624
DM
42292015-05-19 David Malcolm <dmalcolm@redhat.com>
4230
4231 * c-common.h (fe_file_change): Strengthen param from
4232 const line_map * to const line_map_ordinary *.
4233 (pp_file_change): Likewise.
4234 * c-lex.c (fe_file_change): Likewise.
4235 (cb_define): Use linemap_check_ordinary when invoking
4236 SOURCE_LINE.
4237 (cb_undef): Likewise.
4238 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
4239 invoking cb_file_change.
4240 (c_finish_options): Likewise.
4241 (push_command_line_include): Likewise.
4242 (cb_file_change): Strengthen param "new_map" from
4243 const line_map * to const line_map_ordinary *.
4244 * c-ppoutput.c (cb_define): Likewise for local "map".
4245 (pp_file_change): Likewise for param "map" and local "from".
4246
fab27f52
MM
42472015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
4248
4249 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
4250
2fe1d762
TV
42512015-05-18 Tom de Vries <tom@codesourcery.com>
4252
4253 * c-common.c (build_va_arg_1): New function.
4254 (build_va_arg): Add address operator to va_list operand if necessary.
4255
7a37fa90
MM
42562015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
4257
4258 PR c/48956
4259 * c-common.c (int_safely_convertible_to_real_p): Define.
4260 (unsafe_conversion_p): Check conversions involving complex types.
4261 (conversion_warning): Add new warning message for conversions which
4262 discard imaginary component.
4263 * c-common.h: (enum conversion_safety): Add new enumerator for such
4264 conversions.
4265
3aa3c9fc
MP
42662015-05-14 Marek Polacek <polacek@redhat.com>
4267
4268 PR c/66066
4269 PR c/66127
4270 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
4271 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
4272 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
4273 use it. If FOR_INT_CONST, require that all evaluated operands be
4274 INTEGER_CSTs.
4275
c3388e62
DM
42762015-05-12 David Malcolm <dmalcolm@redhat.com>
4277
4278 * c-common.h (warn_for_misleading_indentation): New prototype.
4279 * c-indentation.c: New file.
4280 * c.opt (Wmisleading-indentation): New option.
4281
c7b38fd5
TV
42822015-05-12 Tom de Vries <tom@codesourcery.com>
4283
4284 PR tree-optimization/66010
4285 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
4286
381bf11e
JM
42872015-05-09 Jason Merrill <jason@redhat.com>
4288
edff0c06
JM
4289 * c-opts.c (c_common_post_options): Also clear
4290 cpp_opts->cpp_warn_cxx11_compat.
4291
129211bc
JM
4292 * c-common.h (enum cxx_dialect): Add cxx_unset.
4293 * c-common.c (cxx_dialect): Initialize to cxx_unset.
4294 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
4295
381bf11e
JM
4296 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4297 (std=gnu++0x): Mark as Undocumented.
4298 (std=gnu++1y): Add deprecated message.
4299
fe191308
JM
43002015-05-08 Jason Merrill <jason@redhat.com>
4301
765189ff
JM
4302 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
4303 * c-opts.c: Adjust.
4304
fe191308
JM
4305 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
4306
755e528f
MP
43072015-05-08 Marek Polacek <polacek@redhat.com>
4308
4309 PR c/64918
4310 * c.opt (Woverride-init-side-effects): New option.
4311
0173bd2a
MP
43122015-05-07 Marek Polacek <polacek@redhat.com>
4313
4314 PR c/65179
4315 * c-common.c (c_fully_fold_internal): Warn when left shifting a
4316 negative value.
4317 * c.opt (Wshift-negative-value): New option.
4318 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
4319 when -Wextra and C99/C++11 mode.
4320
e0f0d3b9
MP
43212015-05-07 Marek Polacek <polacek@redhat.com>
4322 Martin Uecker <uecker@eecs.berkeley.edu>
4323
4324 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
4325 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
4326
8243e2a9
JM
43272015-05-05 Jason Merrill <jason@redhat.com>
4328
4329 * c.opt (Wterminate): New.
4330
577cd070
MP
43312015-04-30 Marek Polacek <polacek@redhat.com>
4332
4333 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
4334 require that the non-constant be of a boolean type.
4335
0373796b
JT
43362015-04-29 Josh Triplett <josh@joshtriplett.org>
4337
e0f0d3b9
MP
4338 * c-common.c (handle_section_attribute): Refactor to reduce
4339 nesting and distinguish between error cases.
0373796b 4340
716c0ba6
MP
43412015-04-29 Marek Polacek <polacek@redhat.com>
4342
4343 PR c/64610
4344 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
4345 with 0/1.
4346
8848828b
JJ
43472015-04-29 Jakub Jelinek <jakub@redhat.com>
4348
4349 * c-common.h (omp_clause_mask): Unconditionally define as a class.
4350 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
4351 HOST_BITS_PER_WIDE_INT.
4352
ecd0e562
TV
43532015-04-28 Tom de Vries <tom@codesourcery.com>
4354
4355 PR tree-optimization/65887
4356 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
4357
2a877204 43582015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 4359 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
4360
4361 * c-ada-spec.c (in_function): Delete.
4362 (dump_generic_ada_node): Do not change in_function and remove the
4363 redundant code dealing with it.
4364 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
4365 (print_ada_methods): Output the static member functions in a nested
4366 package after the regular methods as well as associated renamings.
4367
4853031e
MP
43682015-04-24 Marek Polacek <polacek@redhat.com>
4369
4370 PR c/65830
4371 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
4372 and OPT_Wshift_count_overflow.
4373
8c2b7f79
MP
4374 PR c/63357
4375 * c-common.c (warn_logical_operator): Warn if the operands have the
4376 same expressions.
4377
b8787813
MP
43782015-04-24 Marek Polacek <polacek@redhat.com>
4379
4380 PR c/61534
4381 * c-common.c (warn_logical_operator): Bail if either operand comes
4382 from a macro expansion.
4383
8fba1830
BRF
43842015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
4385
4386 PR target/55143
4387 * c-common.c (c_default_pointer_mode): Add definition.
4388 * c-common.h (c_default_pointer_mode): Add declaration.
4389
17958621
JJ
43902015-03-11 Jakub Jelinek <jakub@redhat.com>
4391
4392 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
4393 on record_builtin_type argument.
4394
7ccb1a11
JJ
43952015-03-10 Jakub Jelinek <jakub@redhat.com>
4396
4397 PR c/65120
4398 * c-common.c (warn_logical_not_parentheses): Don't warn for
4399 !x == 0 or !x != 0.
4400
04fd785e
MP
44012015-03-07 Marek Polacek <polacek@redhat.com>
4402
4403 PR sanitizer/65280
4404 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
4405 before trying to figure out whether we have a flexible array member.
4406
a4e26206 44072015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 4408 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
4409
4410 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
4411
0d2489f4
EB
44122015-03-05 Eric Botcazou <ebotcazou@adacore.com>
4413
4414 PR ada/65319
4415 * c-ada-spec.c (print_destructor): Remove obsolete code.
4416
83ed54d7
EB
44172015-03-01 Eric Botcazou <ebotcazou@adacore.com>
4418
4419 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
4420 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
4421 DECL_TEMPLATE_RESULT emulations.
4422 (dump_ada_template)): Add guard for TYPE_METHODS.
4423
7631f0e2
MP
44242015-02-27 Marek Polacek <polacek@redhat.com>
4425
4426 PR c/65040
4427 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
4428
d1783ae5
KT
44292015-02-27 Kai Tietz <ktietz@redhat.com>
4430
4431 PR c/35330
4432 * c-pragma.c (handle_pragma_weak): Do not try to create
4433 weak/alias of declarations not being function, or variable
4434 declarations.
4435
56a9f6bc
TS
44362015-02-24 Thomas Schwinge <thomas@codesourcery.com>
4437
4438 PR libgomp/64625
4439 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4440 Remove macros.
4441 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
4442
3d5cb23d
MP
44432015-02-16 Marek Polacek <polacek@redhat.com>
4444
4445 PR c/65066
4446 * c-format.c (check_format_types): Handle null param.
4447
fa008882
MP
44482015-02-13 Marek Polacek <polacek@redhat.com>
4449
4450 PR c/65040
4451 * c-format.c (check_format_types): Don't warn about different
4452 signedness if the original value is in the range of WANTED_TYPE.
4453
785f21af
JM
44542015-02-12 Jason Merrill <jason@redhat.com>
4455
4456 PR c++/64956
4457 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
4458 to the current highest version.
4459 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
4460
4886ec8e
JJ
44612015-02-04 Jakub Jelinek <jakub@redhat.com>
4462
4463 PR c/64824
4464 PR c/64868
4465 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
4466 instead of RDIV_EXPR. Use build_binary_op instead of
4467 build2_loc.
4468
40fecdd6
JM
44692015-01-30 Joseph Myers <joseph@codesourcery.com>
4470
4471 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
4472 to pass input_location as first argument.
4473
a0c88d06
TV
44742015-01-23 Tom de Vries <tom@codesourcery.com>
4475
4476 PR libgomp/64672
4477 * c.opt (fopenacc): Mark as LTO option.
4478
1506ae0e
TV
44792015-01-23 Tom de Vries <tom@codesourcery.com>
4480
4481 PR libgomp/64707
4482 * c.opt (fopenmp): Mark as LTO option.
4483
31be63ab
JJ
44842015-01-21 Jakub Jelinek <jakub@redhat.com>
4485
4486 PR c/63307
b1726d6c 4487 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
4488 (compare_decls): Fix up formatting.
4489
44902015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
4491
4492 PR c/63307
4493 * cilk.c: Include vec.h.
4494 (struct cilk_decls): New structure.
4495 (wrapper_parm_cb): Split this function to...
4496 (fill_decls_vec): ...this...
4497 (create_parm_list): ...and this.
4498 (compare_decls): New function.
4499 (for_local_cb): Remove.
4500 (wrapper_local_cb): Ditto.
4501 (build_wrapper_type): For now first traverse and fill vector of
4502 declarations then sort it and then deal with sorted vector.
4503 (cilk_outline): Ditto.
4504 (declare_one_free_variable): Ditto.
4505
6875457f
JM
45062015-01-21 Jason Merrill <jason@redhat.com>
4507
4508 PR c++/64629
4509 * c-format.c (check_format_arg): Call decl_constant_value.
4510
185c9e56
ML
45112015-01-19 Martin Liska <mliska@suse.cz>
4512
4513 * c-common.c (handle_noicf_attribute): New function.
4514
41dbbb37
TS
45152015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4516 Bernd Schmidt <bernds@codesourcery.com>
4517 James Norris <jnorris@codesourcery.com>
4518 Cesar Philippidis <cesar@codesourcery.com>
4519 Ilmir Usmanov <i.usmanov@samsung.com>
4520 Jakub Jelinek <jakub@redhat.com>
4521
4522 * c.opt (fopenacc): New option.
4523 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
4524 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
4525 New macros.
4526 * c-common.h (c_finish_oacc_wait): New prototype.
4527 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
4528 (c_finish_oacc_wait): New function.
4529 * c-pragma.c (oacc_pragmas): New variable.
4530 (c_pp_lookup_pragma, init_pragma): Handle it.
4531 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
4532 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
4533 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
4534 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
4535 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
4536 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
4537 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
4538 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
4539 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
4540 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
4541 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
4542 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
4543 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
4544 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
4545 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
4546 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
4547 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
4548 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
4549 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
4550 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
4551 PRAGMA_OACC_CLAUSE_WORKER.
4552
3f8257db 45532015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
4554
4555 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
4556 for the new option fstack-protector_explicit.
4557 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
4558 (handle_stack_protect_attribute): New function.
4559
3f8257db 45602015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
4561
4562 * c.opt: New option -Warray-bounds=.
4563
adfac8df
JJ
45642015-01-09 Michael Collison <michael.collison@linaro.org>
4565
4566 * array-notation-common.c: Include hash-set.h, machmode.h,
4567 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4568 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
4569 * c-ada-spec.c: Ditto.
4570 * c-cilkplus.c: Ditto.
4571 * c-common.c: Include input.h due to flattening of tree.h.
4572 Define macro GCC_C_COMMON_C.
4573 * c-common.h: Flatten tree.h header files into c-common.h.
4574 Remove include of tree-core.h.
4575 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4576 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4577 fold-const.h, wide-int.h, and inchash.h due to
4578 flattening of tree.h.
4579 * c-dump.c: Ditto.
4580 * c-format.c: Flatten tree.h header files into c-common.h.
4581 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
4582 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4583 fold-const.h, wide-int.h, and inchash.h due to
4584 flattening of tree.h.
4585 * c-dump.c: Include hash-set.h, machmode.h,
4586 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4587 fold-const.h, wide-int.h, and inchash.h due to
4588 flattening of tree.h.
4589 * c-format.c: Include hash-set.h, machmode.h,
4590 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4591 fold-const.h, wide-int.h, inchash.h and real.h due to
4592 flattening of tree.h.
4593 * c-gimplify.c: Include hash-set.h, machmode.h,
4594 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
4595 fold-const.h, wide-int.h, and inchash.h due to
4596 flattening of tree.h.
4597 * cilk.c: Ditto.
4598 * c-lex.c: Ditto.
4599 * c-omp.c: Ditto.
4600 * c-opts.c: Ditto.
4601 * c-pch.c: Ditto.
4602 * c-ppoutput.c: Ditto.
4603 * c-pragma.c: Ditto.
4604 * c-pretty-print.c: Ditto.
4605 * c-semantics.c: Ditto.
4606 * c-ubsan.c: Ditto.
4607 * stub-objc.c: Ditto.
4608
f5481fc4
JM
46092015-01-08 Jason Merrill <jason@redhat.com>
4610
4611 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
4612 do_ubsan_in_current_function.
4613 (ubsan_maybe_instrument_reference_or_call): Likewise.
4614 * c-ubsan.h: Declare it.
4615
de35aa66
MS
46162015-01-08 Mike Stump <mikestump@comcast.net>
4617
4618 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
4619
4a9a42ab
MP
46202015-01-07 Marek Polacek <polacek@redhat.com>
4621
4622 PR c/64440
4623 * c-common.c (c_fully_fold_internal): Warn for division and modulo
4624 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
4625
2f42e5de
TS
46262015-01-05 Trevor Saunders <tsaunders@mozilla.com>
4627
4628 PR c++/31397
4629 * c.opt (Wsuggest-override): New option.
4630
5624e564
JJ
46312015-01-05 Jakub Jelinek <jakub@redhat.com>
4632
4633 Update copyright years.
4634
5bd012f8
MP
46352015-01-05 Marek Polacek <polacek@redhat.com>
4636
4637 PR c/64423
4638 * c-common.c (warn_array_subscript_with_type_char): Add location_t
4639 parameter. Use it.
4640 * c-common.h (warn_array_subscript_with_type_char): Update
4641 declaration.
4642
a7fa8d18
ESR
46432014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
4644
4645 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
4646 Control macro with flag_sized_deallocation.
4647
3f8257db 46482014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
4649
4650 * c.opt (Wdiscarded-array-qualifiers): New option.
4651
1f8d3e84
JJ
46522014-12-19 Jakub Jelinek <jakub@redhat.com>
4653
4654 PR preprocessor/63831
4655 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
4656 and __has_cpp_attribute here.
4657 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
4658 c_common_has_attribute.
4659 * c-common.h (c_common_has_attribute): New prototype.
4660 * c-lex.c (init_c_lex): Set cb->has_attribute to
4661 c_common_has_attribute instead of cb_has_attribute.
4662 (get_token_no_padding): New function.
4663 (cb_has_attribute): Renamed to ...
4664 (c_common_has_attribute): ... this. No longer static. Use
4665 get_token_no_padding, require ()s, don't build TREE_LIST
4666 unnecessarily, fix up formatting, adjust diagnostics, call
4667 init_attributes.
4668
20b06add
JM
46692014-12-15 Jason Merrill <jason@redhat.com>
4670
4671 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
4672 (-Wsized-deallocation): New.
4673 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
4674 to on in C++14 and up.
4675
94a073b2
JM
46762014-12-11 Jason Merrill <jason@redhat.com>
4677
acaa5911
JM
4678 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
4679
94a073b2
JM
4680 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
4681 we aren't complaining about VLAs.
4682
7fb66c15
MP
46832014-12-06 Marek Polacek <polacek@redhat.com>
4684
4685 PR tree-optimization/64183
4686 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
4687 shift-expression if it is integer_type_node. Use types_compatible_p.
4688
b731b390
JJ
46892014-11-29 Jakub Jelinek <jakub@redhat.com>
4690
4691 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
4692 last argument from create_tmp_var_raw and create_tmp_var calls.
4693 * cilk.c (gimplify_cilk_spawn): Likewise.
4694 * c-omp.c (c_finish_omp_atomic): Likewise.
4695
6a4da643
MP
46962014-11-28 Marek Polacek <polacek@redhat.com>
4697
4698 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
4699 instead of unsigned_type_node.
4700
541e35a6
MP
47012014-11-28 Marek Polacek <polacek@redhat.com>
4702
4703 PR c/63862
4704 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
4705 to op1_utype.
4706 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
4707 expression to unsigned_type_node.
4708
dcc97066
MW
47092014-11-20 Mark Wielaard <mjw@redhat.com>
4710
4711 PR debug/38757
4712 * c-opts.c (set_std_c89): Set lang_hooks.name.
4713 (set_std_c99): Likewise.
4714 (set_std_c11): Likewise.
4715 (set_std_cxx98): Likewise.
4716 (set_std_cxx11): Likewise.
4717 (set_std_cxx14): Likewise.
4718 (set_std_cxx1z): Likewise.
4719
aa7da51a
JJ
47202014-11-21 Jakub Jelinek <jakub@redhat.com>
4721
4722 PR target/63764
4723 * c-common.h (convert_vector_to_pointer_for_subscript): Change
4724 return type to bool.
009a3480 4725 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
4726 (convert_vector_to_pointer_for_subscript): Change return type to
4727 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
4728 and copy it into a TARGET_EXPR and use that instead of *vecp
4729 directly.
4730
538dd0b7
DM
47312014-11-19 David Malcolm <dmalcolm@redhat.com>
4732
4733 Merger of git branch "gimple-classes-v2-option-3".
4734 * ChangeLog.gimple-classes: New.
4735 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
4736 from being just a vec<gimple> to a vec<gbind *>.
4737
c39a5e99
JJ
47382014-11-18 Jakub Jelinek <jakub@redhat.com>
4739
4740 PR sanitizer/63813
4741 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
4742 argument to ptype, set type to TREE_TYPE (ptype). Don't call
4743 get_pointer_alignment for non-pointers. Use ptype, or if it is
4744 reference type, corresponding pointer type, as type of kind
4745 argument.
4746 (ubsan_maybe_instrument_reference,
4747 ubsan_maybe_instrument_member_call): Adjust callers.
4748
8537a4a9
MP
47492014-11-15 Marek Polacek <polacek@redhat.com>
4750
4751 PR middle-end/63884
4752 * array-notation-common.c (is_sec_implicit_index_fn): Return false
4753 for NULL fndecl.
4754 (extract_array_notation_exprs): Return for NULL node.
4755
2079956a
JM
47562014-11-12 Joseph Myers <joseph@codesourcery.com>
4757
4758 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
4759 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
4760
1304953e
JJ
47612014-11-12 Jakub Jelinek <jakub@redhat.com>
4762
4763 PR c/59708
4764 * c-common.c (check_builtin_function_arguments): Handle
4765 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
4766
e5e44252
AK
47672014-11-10 Andi Kleen <ak@linux.intel.com>
4768
4769 PR c/60804
4770 * c-common.h (check_no_cilk): Declare.
4771 * cilk.c (get_error_location): New function.
4772 (check_no_cilk): Dito.
4773
e64b984d
AK
47742014-11-10 Andi Kleen <ak@linux.intel.com>
4775
4776 * cilk.c (recognize_spawn): Use expression location
4777 for error message.
4778
13c21655
PC
47792014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
4780
4781 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4782
42fd12b1
ESR
47832014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
4784
4785 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
4786 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
4787 (__cpp_range_based_for, __cpp_initializer_lists,
4788 __cpp_delegating_constructors, __cpp_nsdmi,
4789 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
4790 for C++11; (__cpp_attribute_deprecated): Remove in favor of
4791 __has_cpp_attribute.
4792 * c-lex.c (cb_has_attribute): New callback CPP function;
4793 (init_c_lex): Set has_attribute callback.
4794
6f450181
RB
47952014-11-04 Richard Biener <rguenther@suse.de>
4796
4797 * c-common.c (shorten_compare): Do not shorten mixed
4798 DFP and non-DFP compares.
4799
26f0e1d6
ESR
48002014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4801
4802 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
4803 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
4804 Commentary and rearrangement of tests.
4805 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
4806 Commentary and rearrangement of tests.
4807 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
4808 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
4809
ef4bddc2
RS
48102014-10-29 Richard Sandiford <richard.sandiford@arm.com>
4811
4812 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
4813 enum from machine_mode.
4814
c582198b
AM
48152014-10-28 Andrew MacLeod <amacleod@redhat.com>
4816
adfac8df
JJ
4817 * c-common.c: Adjust include files.
4818 * c-gimplify.c: Ditto.
4819 * cilk.c: Ditto.
4820 * c-pragma.c: Ditto.
4821 * c-ubsan.c: Ditto.
c582198b 4822
60393bbc
AM
48232014-10-27 Andrew MacLeod <amacleod@redhat.com>
4824
4825 * c-gimplify.c: Adjust include files.
4826
d723bb7c
MLI
48272014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
4828
4829 PR c++/53061
4830 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
4831 c_common_initialize_diagnostics.
4832 * c-common.h: Likewise.
4833
90f3520e
MP
48342014-10-24 Marek Polacek <polacek@redhat.com>
4835
4836 PR c/56980
4837 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
4838 print "struct"/"union"/"enum" for typedefed names.
4839
59d7607a
MP
48402014-10-23 Marek Polacek <polacek@redhat.com>
4841
4842 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
4843 in unsigned type.
4844
d95a2703
JJ
48452014-10-22 Jakub Jelinek <jakub@redhat.com>
4846 Yury Gribov <y.gribov@samsung.com>
4847
4848 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4849 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
4850 instead of flag_sanitize_recover as bool flag.
4851
8e6ef852
KY
48522014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
4853
4854 * cilk.c: Revert previous change.
4855
948cf550
IZ
48562014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
4857
4858 PR c/63307
4859 * cilk.c: Include vec.h.
4860 (struct cilk_decls): New structure.
4861 (wrapper_parm_cb): Split this function to...
4862 (fill_decls_vec): ...this...
4863 (create_parm_list): ...and this.
4864 (compare_decls): New function.
4865 (for_local_cb): Remove.
4866 (wrapper_local_cb): Ditto.
4867 (build_wrapper_type): For now first traverse and fill vector of
4868 declarations then sort it and then deal with sorted vector.
4869 (cilk_outline): Ditto.
4870 (declare_one_free_variable): Ditto.
4871
92574c7c
MP
48722014-10-17 Marek Polacek <polacek@redhat.com>
4873
4874 * c-opts.c (c_common_post_options): Set warn_implicit_int.
4875 * c.opt (Wimplicit-int): Initialize to -1.
4876
83685514
AM
48772014-10-16 Andrew MacLeod <amacleod@redhat.com>
4878
4879 * c-pragma.c: Adjust include files.
4880 * c-semantics.c: Likewise.
4881
5b8300ea
DD
48822014-10-16 DJ Delorie <dj@redhat.com>
4883
4884 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
4885 multiples of bytes.
4886
5f83e90b
JM
48872014-10-14 Jason Merrill <jason@redhat.com>
4888
4889 PR c++/63455
4890 * c-common.h (CPP_PREPARSED_EXPR): New.
4891 (N_CP_TTYPES): Adjust.
4892
d73326ca
MP
48932014-10-15 Marek Polacek <polacek@redhat.com>
4894
4895 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
4896
78a7c317
DD
48972014-10-14 DJ Delorie <dj@redhat.com>
4898
4899 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
4900 types, not just __int128.
4901 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
4902 types, not just __int128.
4903 (cpp_atomic_builtins): Round pointer sizes up.
4904 (type_suffix): Use type precision, not specific types.
4905 * c-common.c (c_common_reswords): Remove __int128 special case.
4906 (c_common_type_for_size): Check for all __intN types, not just
4907 __int128.
4908 (c_common_type_for_mode): Likewise.
4909 (c_common_signed_or_unsigned_type): Likewise.
4910 (c_build_bitfield_integer_type): Likewise.
4911 (c_common_nodes_and_builtins): Likewise.
4912 (keyword_begins_type_specifier): Likewise.
4913 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
4914 __intN variants.
4915
2a22f99c
TS
49162014-10-12 Trevor Saunders <tsaunders@mozilla.com>
4917
4918 * c-common.c: Use hash_table instead of hashtab.
4919
2a8ef767
ESR
49202014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
4921
adfac8df 4922 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
4923 C++11 section.
4924
3c9aabbd
MG
49252014-10-03 Marc Glisse <marc.glisse@inria.fr>
4926
4927 PR c++/54427
4928 PR c++/57198
4929 PR c++/58845
4930 * c-common.c (warn_logical_operator): Punt for vectors.
4931
a15f7cb8
ESR
49322014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
4933
4934 Implement SD-6: SG10 Feature Test Recommendations
4935 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
4936 macros and the __has_header macro.
4937
8d0cf15e
JM
49382014-09-30 Jason Merrill <jason@redhat.com>
4939
dd5d5481
JM
4940 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
4941 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
4942 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4943
b752325e
JM
4944 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
4945 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
4946
8d0cf15e
JM
4947 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
4948 * c-common.c (c_common_reswords): Remove __is_convertible_to.
4949
083e891e
MP
49502014-09-24 Marek Polacek <polacek@redhat.com>
4951
4952 PR c/61405
4953 PR c/53874
4954 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
4955
7861b648
AK
49562014-09-23 Andi Kleen <ak@linux.intel.com>
4957
4958 * c-common.c (handle_no_reorder_attribute): New function.
4959 (c_common_attribute_table): Add no_reorder attribute.
4960
9a79452d
JM
49612014-09-22 Joseph Myers <joseph@codesourcery.com>
4962
4963 * c-cppbuiltin.c (c_cpp_builtins): Define
4964 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
4965 modes.
4966
dd69f047
JM
49672014-09-18 Joseph Myers <joseph@codesourcery.com>
4968
4969 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
4970 for supported floating-point modes.
4971
737a4826
MLI
49722014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4973
4974 * c.opt (Wpsabi): Use LangEnabledBy.
4975 * c-opts.c (c_common_handle_option): Do not handle here.
4976
8cc4b7a2
JM
49772014-09-12 Joseph Myers <joseph@codesourcery.com>
4978
4979 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
4980 macros for floating-point modes.
4981
179b5a55
MG
49822014-09-11 Marc Glisse <marc.glisse@inria.fr>
4983
4984 PR target/58757
4985 * c-cppbuiltin.c (builtin_define_float_constants): Correct
4986 __*_DENORM_MIN__ without denormals.
4987
570a11fe
JJ
49882014-09-10 Jakub Jelinek <jakub@redhat.com>
4989
4990 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4991 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4992 ubsan_create_data callers.
4993 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
4994 index is constant or BIT_AND_EXPR with constant mask and is
4995 small enough for the bound.
4996 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
4997 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
4998
b559c810
MLI
49992014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5000
5001 * c.opt: Add CppReason to various flags.
5002 (Wdate-time): Re-sort.
5003 * c-common.c: Include c-common.h earlier.
5004 (struct reason_option_codes_t): Delete.
5005 (c_option_controlling_cpp_error): Prefix global type and struct
5006 with cpp_.
5007
1ef33fd4
MLI
50082014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5009
5010 * c.opt (Wnormalized): New.
5011 (Wnormalized=): Use Enum and Reject Negative.
5012 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
5013
66bb34c0
JM
50142014-09-08 Joseph Myers <joseph@codesourcery.com>
5015
5016 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
5017 digits of floating-point modes if -fbuilding-libgcc.
5018
53d68b9f
JM
50192014-09-05 Joseph Myers <joseph@codesourcery.com>
5020
5021 * c-cppbuiltin.c (c_cpp_builtins): Also define
5022 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
5023 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
5024 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
5025 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
5026 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
5027 __LIBGCC_STACK_GROWS_DOWNWARD__,
5028 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
5029 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
5030 __LIBGCC_DWARF_FRAME_REGISTERS__,
5031 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
5032 __LIBGCC_STACK_POINTER_REGNUM__ and
5033 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
5034 (builtin_define_with_value): Handle backslash-escaping in string
5035 macro values.
5036
f65586dc
RB
50372014-09-05 Richard Biener <rguenther@suse.de>
5038
5039 PR middle-end/63148
5040 * c-format.c (check_format_arg): Properly handle
5041 effectively signed POINTER_PLUS_EXPR offset.
5042
2b71f4a4
MLI
50432014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5044
5045 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
5046 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
5047 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
5048 and Init.
5049 * c-opts.c (c_common_handle_option): Do not handle here.
5050 (sanitize_cpp_opts): Likewise.
5051 * c-common.c (struct reason_option_codes_t): Handle
5052 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
5053
d2e4feca
MP
50542014-09-03 Marek Polacek <polacek@redhat.com>
5055
5056 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
5057
9a771876
JJ
50582014-09-02 Jakub Jelinek <jakub@redhat.com>
5059 Balaji V. Iyer <balaji.v.iyer@intel.com>
5060 Igor Zamyatin <igor.zamyatin@intel.com>
5061
5062 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
5063 * c-common.c (c_common_reswords): Added _Cilk_for.
5064 * c-common.h (enum rid): Added RID_CILK_FOR.
5065 (cilk_for_number_of_iterations): Add declaration.
5066 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
5067 CILK_FOR.
5068 * c-pragma.c (init_pragma): Register "grainsize" pragma.
5069 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
5070
81b5d104
MLI
50712014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5072
5073 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
5074 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
5075 Wundef): Use CPP, Var and Init.
5076 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
5077
b753b37b
MLI
50782014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5079
5080 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
5081 * c-opts.c (c_common_handle_option): Do not handle here.
5082
028aee17
JM
50832014-08-25 Jason Merrill <jason@redhat.com>
5084
5085 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
5086 -std=c++14 and -std=gnu++14, rather than the reverse.
5087 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
5088 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
5089 * c-common.h (cxx_dialect): Remove cxx1y.
5090
e4276ba5
ESR
50912014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
5092
5093 * c-common.h (enum cxx_dialect): Add cxx14.
5094 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
5095 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
5096 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
5097
a545cacd
JM
50982014-08-22 Jason Merrill <jason@redhat.com>
5099
5100 * c.opt (std=gnu++17): Fix alias.
5101
59ea0364
MP
51022014-08-22 Marek Polacek <polacek@redhat.com>
5103
5104 PR c++/62199
5105 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
5106 check for vector types. Drop LHS argument.
5107 * c-common.h (warn_logical_not_parentheses): Adjust.
5108
596e808c
MLI
51092014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5110
5111 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
5112 (Wmultichar): Likewise.
5113 (Wdate-time): Use C-family languages instead of Common. Use CPP
5114 and Var.
5115 * c-opts.c (c_common_handle_option): Do not handle the above
5116 options here.
5117 (sanitize_cpp_opts): Likewise.
5118
18767f65
MLI
51192014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
5120
5121 PR fortran/44054
5122 * c-opts.c: Include tree-diagnostics.h.
5123 (c_diagnostic_finalizer): New.
5124 (c_common_initialize_diagnostics): Use it.
5125
b4413594
MLI
51262014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5127
5128 PR preprocessor/51303
5129 * c-common.c (struct reason_option_codes_t option_codes):
5130 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
5131
43f9a13c
MLI
51322014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5133
5134 PR c/60975
5135 PR c/53063
5136 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
5137 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
5138 (c_common_post_options): Call init_global_opts_from_cpp.
5139 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
5140
04159acf
MP
51412014-08-19 Marek Polacek <polacek@redhat.com>
5142
5143 PR c++/62153
5144 * c-common.c (maybe_warn_bool_compare): New function.
5145 * c-common.h (maybe_warn_bool_compare): Declare.
5146 * c.opt (Wbool-compare): New option.
5147
35aff4fb
MP
51482014-08-19 Marek Polacek <polacek@redhat.com>
5149
5150 * c.opt (Wc99-c11-compat): New option.
5151
177cce46
MP
51522014-08-19 Marek Polacek <polacek@redhat.com>
5153
5154 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
5155 to warn_c90_c99_compat.
5156 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
5157 to -1.
5158
6ae9194f
MLI
51592014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5160 Steven Bosscher <steven@gcc.gnu.org>
5161
5162 PR c/52952
5163 * c-format.c: Add extra_arg_loc and format_string_loc to struct
5164 format_check_results.
5165 (check_function_format): Use true and add comment for boolean
5166 argument.
5167 (finish_dollar_format_checking): Use explicit location when warning.
5168 (check_format_info): Likewise.
5169 (check_format_arg): Set extra_arg_loc and format_string_loc.
5170 (check_format_info_main): Use explicit location when warning.
5171 (check_format_types): Pass explicit location.
5172 (format_type_warning): Likewise.
5173
8e54f6d3
MLI
51742014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5175
5176 PR fortran/44054
5177 * c-format.c: Handle Fortran flags.
5178
cd4e76fc
IZ
51792014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
5180
5181 PR other/61962
5182 * array-notation-common.c (find_rank): Added handling for other
5183 types of references.
5184
f3bede71
MP
51852014-08-10 Marek Polacek <polacek@redhat.com>
5186
5187 PR c/51849
5188 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
5189 * c.opt (Wc90-c99-compat): Add option.
5190
9f25a338
TS
51912014-08-07 Trevor Saunders <tsaunders@mozilla.com>
5192
5193 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
5194
62e4eb35
MP
51952014-08-03 Marek Polacek <polacek@redhat.com>
5196
5197 * c-common.c (check_case_value): Add location_t parameter. Use it.
5198 (c_add_case_label): Pass loc to check_case_value.
5199
b787e7a2
TS
52002014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5201
5202 * cilk.c: Use hash_map instead of pointer_map.
5203
6e2830c3
TS
52042014-08-02 Trevor Saunders <tsaunders@mozilla.com>
5205
5206 * c-gimplify.c: Use hash_set instead of pointer_set.
5207
a7ee52fb
IZ
52082014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
5209
5210 PR middle-end/61455
5211 * array-notation-common.c (extract_array_notation_exprs): Handling
5212 of DECL_EXPR added.
5213
944fa280
JJ
52142014-08-01 Jakub Jelinek <jakub@redhat.com>
5215
5216 * c-common.h (min_align_of_type): Removed prototype.
5217 * c-common.c (min_align_of_type): Removed.
5218 * c-ubsan.h (ubsan_maybe_instrument_reference,
5219 ubsan_maybe_instrument_member_call): New prototypes.
5220 * c-ubsan.c: Include stor-layout.h and builtins.h.
5221 (ubsan_maybe_instrument_reference_or_call,
5222 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
5223 functions.
5224
b4dfdc11
MG
52252014-07-31 Marc Glisse <marc.glisse@inria.fr>
5226
5227 PR c++/60517
5228 * c.opt (-Wreturn-local-addr): Move to common.opt.
5229
a41844e5
JM
52302014-07-30 Jason Merrill <jason@redhat.com>
5231
5232 PR c++/61659
5233 PR c++/61687
5234 Revert:
5235 * c.opt (-fuse-all-virtuals): New.
5236
976d5a22
TT
52372014-07-30 Tom Tromey <tromey@redhat.com>
5238
5239 PR c/59855
5240 * c.opt (Wdesignated-init): New option.
5241 * c-common.c (c_common_attribute_table): Add "designated_init".
5242 (handle_designated_init): New function.
5243
cdc94aca
MP
52442014-07-24 Marek Polacek <polacek@redhat.com>
5245
5246 PR c/57653
5247 * c-opts.c (c_finish_options): If -imacros is in effect, return.
5248
f41373b6
DS
52492014-07-16 Dodji Seketeli <dodji@redhat.com>
5250
5251 PR preprocessor/60723 - missing system-ness marks for macro tokens
5252 * c-ppoutput.c (struct print::prev_was_system_token): New data
5253 member.
5254 (init_pp_output): Initialize it.
5255 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
5256 (do_line_change): Return a flag saying if a line marker was
5257 emitted or not.
5258 (scan_translation_unit): Detect if the system-ness of the token we
5259 are about to emit is different from the one of the previously
5260 emitted token. If so, emit a line marker. Avoid emitting useless
5261 adjacent line markers. Avoid emitting line markers for tokens
5262 originating from the expansion of built-in macros.
5263 (scan_translation_unit_directives_only): Adjust.
5264
4d661eaa
MP
52652014-07-15 Marek Polacek <polacek@redhat.com>
5266
5267 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
5268 TYPE_MAX_VALUE is NULL.
5269
b108f48f
JJ
52702014-07-14 Jakub Jelinek <jakub@redhat.com>
5271
5272 PR middle-end/61294
5273 * c.opt (Wmemset-transposed-args): New warning.
5274
c0221884
JM
52752014-07-10 Jason Merrill <jason@redhat.com>
5276
5277 PR c++/61659
5278 PR c++/61687
5279 * c.opt (-fuse-all-virtuals): New.
5280
63dfbb95
RB
52812014-07-09 Richard Biener <rguenther@suse.de>
5282
5283 PR c-family/61741
5284 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5285 using unsigned arithmetic if overflow does not wrap instead of
5286 if overflow is undefined.
5287
773ec47f
MP
52882014-07-06 Marek Polacek <polacek@redhat.com>
5289
5290 PR c/6940
5291 * c.opt (Wsizeof-array-argument): New option.
5292
00a7ba58
JJ
52932014-07-03 Jakub Jelinek <jakub@redhat.com>
5294
b1726d6c 5295 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
5296 comments->count <= 1, as comments->entries might be NULL.
5297
52ec0ea3
MP
52982014-07-01 Marek Polacek <polacek@redhat.com>
5299
5300 * c.opt (Wint-conversion): New option.
5301
d5c3d343
MP
53022014-07-01 Marek Polacek <polacek@redhat.com>
5303
5304 PR c/58286
5305 * c.opt (Wincompatible-pointer-types): New option.
5306
6e7ceb17
PC
53072014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
5308
5309 PR c++/51400
5310 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
5311 Do not discard TYPE_QUALS of type.
5312
da73100b
JM
53132014-06-26 Jason Merrill <jason@redhat.com>
5314
5315 * c-common.h (enum cxx_dialect): Add cxx1z.
5316 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
5317 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
5318
08eedf75
TJ
53192014-06-26 Teresa Johnson <tejohnson@google.com>
5320
5321 * c-common.h (get_dump_info): Declare.
5322 * c-gimplify.c (c_genericize): Use saved dump files.
5323 * c-opts.c (c_common_parse_file): Begin and end dumps
5324 once around parsing invocation.
5325 (get_dump_info): New function.
5326
7b56b2f8
MP
53272014-06-23 Marek Polacek <polacek@redhat.com>
5328 Andrew MacLeod <amacleod@redhat.com>
5329
5330 PR c/61553
5331 * c-common.c (get_atomic_generic_size): Don't segfault if the
5332 type doesn't have a size.
5333
0e37a2f3
MP
53342014-06-20 Marek Polacek <polacek@redhat.com>
5335
5336 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
5337 (ubsan_walk_array_refs_r): New function.
5338 (c_genericize): Instrument array bounds.
5339 * c-ubsan.c: Include "internal-fn.h".
5340 (ubsan_instrument_division): Mark instrumented arrays as having
5341 side effects. Adjust ubsan_type_descriptor call.
5342 (ubsan_instrument_shift): Likewise.
5343 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
5344 (ubsan_instrument_bounds): New function.
5345 (ubsan_array_ref_instrumented_p): New function.
5346 (ubsan_maybe_instrument_array_ref): New function.
5347 * c-ubsan.h (ubsan_instrument_bounds): Declare.
5348 (ubsan_array_ref_instrumented_p): Declare.
5349 (ubsan_maybe_instrument_array_ref): Declare.
5350
53512014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
5352
5353 PR lto/61123
5354 * c.opt (fshort-enums): Add to LTO.
5355 * c.opt (fshort-wchar): Likewise.
5356
5c3d09f7
MP
53572014-06-16 Marek Polacek <polacek@redhat.com>
5358
5359 PR c/60439
5360 * c.opt (Wswitch-bool): Add Var.
5361
9cf32741
JJ
53622014-06-12 Jakub Jelinek <jakub@redhat.com>
5363
5364 PR middle-end/61486
5365 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
5366 #pragma omp target teams or
5367 #pragma omp {,target }teams distribute simd.
5368
62984918
JM
53692014-06-12 Jason Merrill <jason@redhat.com>
5370
5371 * c.opt (Wabi=, fabi-compat-version): New.
5372 * c-opts.c (c_common_handle_option): Handle -Wabi=.
5373 (c_common_post_options): Handle flag_abi_compat_version default.
5374 Disallow -fabi-compat-version=1.
5375 * c-common.h (abi_version_crosses): New.
5376
f961457f
JH
53772014-06-11 Jan Hubicka <hubicka@ucw.cz>
5378
adfac8df 5379 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
5380 section names that are no longer trees.
5381
92d28cbb
JJ
53822014-06-10 Jakub Jelinek <jakub@redhat.com>
5383
5384 PR fortran/60928
5385 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
5386 (omp_pragmas): ... back here.
5387
742938c9
MP
53882014-06-05 Marek Polacek <polacek@redhat.com>
5389
5390 PR c/49706
5391 * c-common.c (warn_logical_not_parentheses): New function.
5392 * c-common.h (warn_logical_not_parentheses): Declare.
5393 * c.opt (Wlogical-not-parentheses): New option.
5394
9d548dfb
MP
53952014-06-04 Marek Polacek <polacek@redhat.com>
5396
5397 PR c/30020
5398 * c-common.c (check_case_bounds): Add location parameter.
5399 Use it.
5400 (c_add_case_label): Pass loc to check_case_bounds.
5401
fedfecef
MP
54022014-06-03 Marek Polacek <polacek@redhat.com>
5403
5404 PR c/60439
5405 * c.opt (Wswitch-bool): New option.
5406
f6a7cffc
TS
54072014-05-22 Thomas Schwinge <thomas@codesourcery.com>
5408
040d18b6
TS
5409 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
5410 Remove prototypes.
5411 (record_types_used_by_current_var_decl): Move prototype to where
5412 it belongs.
5413
f6a7cffc
TS
5414 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
5415 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
5416 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
5417
632f2871
RS
54182014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
5419
5420 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
5421 * c-common.c (c_common_nodes_and_builtins): Don't initialize
5422 void_zero_node.
5423 * c-pretty-print.c (pp_c_void_constant): New function.
5424 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
5425 (c_pretty_printer::expression): Handle VOID_CST.
5426 * cilk.c (extract_free_variables): Likewise.
5427 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
5428 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
5429
766090c2
TS
54302014-05-17 Trevor Saunders <tsaunders@mozilla.com>
5431
5432 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
5433 * c-pragma.c (push_alignment): Adjust.
5434 (handle_pragma_push_options): Likewise.
5435
661a0813
MP
54362014-05-09 Marek Polacek <polacek@redhat.com>
5437
5438 PR c/50459
5439 * c-common.c (check_user_alignment): Return -1 if alignment is error
5440 node.
5441 (handle_aligned_attribute): Don't call default_conversion on
5442 FUNCTION_DECLs.
5443 (handle_vector_size_attribute): Likewise.
5444 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
5445 (handle_sentinel_attribute): Call default_conversion and allow even
5446 integral types as an argument.
5447
2793eeab
MP
54482014-05-08 Marek Polacek <polacek@redhat.com>
5449
5450 PR c/61053
5451 * c-common.c (min_align_of_type): New function factored out from...
5452 (c_sizeof_or_alignof_type): ...here.
5453 * c-common.h (min_align_of_type): Declare.
5454
f827930a
MP
54552014-05-08 Marek Polacek <polacek@redhat.com>
5456
5457 PR c/61077
5458 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
5459 parameter type of main.
5460
ca49b74e
DD
54612014-05-07 DJ Delorie <dj@redhat.com>
5462
5463 * c-cppbuiltin.c (print_bits_of_hex): New.
5464 (builtin_define_type_minmax): Print values using hex so as not to
5465 require a pre-computed list of string values.
5466
1d60af08
KZ
54672014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
5468 Mike Stump <mikestump@comcast.net>
5469 Richard Sandiford <rdsandiford@googlemail.com>
5470
5471 * c-ada-spec.c: Include wide-int.h.
5472 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
5473 (dump_generic_ada_node): Use wide-int interfaces.
5474 * c-common.c: Include wide-int-print.h.
5475 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
5476 (pointer_int_sum): Use wide-int interfaces.
5477 (c_common_nodes_and_builtins): Use make_int_cst.
5478 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
5479 (handle_alloc_size_attribute): Use wide-int interfaces.
5480 (get_nonnull_operand): Likewise.
5481 * c-format.c (get_constant): Use tree_fits_uhwi_p.
5482 * c-lex.c: Include wide-int.h.
5483 (narrowest_unsigned_type): Take a widest_int rather than two
5484 HOST_WIDE_INTs.
5485 (narrowest_signed_type): Likewise.
5486 (interpret_integer): Update accordingly. Use wide-int interfaces.
5487 (lex_charconst): Use wide-int interfaces.
5488 * c-pretty-print.c: Include wide-int.h.
5489 (pp_c_integer_constant): Use wide-int interfaces.
5490 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
5491 INT_CST_LT_UNSIGNED.
5492
b15458be
RB
54932014-05-06 Richard Biener <rguenther@suse.de>
5494
5495 * c-opts.c (c_common_post_options): For -freestanding,
5496 -fno-hosted and -fno-builtin disable pattern recognition
5497 if not enabled explicitely.
5498
6577374e
MP
54992014-05-02 Marek Polacek <polacek@redhat.com>
5500
5501 * c.opt (Wsizeof-pointer-memaccess): Describe option.
5502
d00887e8
MP
55032014-05-01 Marek Polacek <polacek@redhat.com>
5504
5505 PR c/43245
5506 * c.opt (Wdiscarded-qualifiers): Add.
5507
f8ed5150
MP
55082014-04-30 Marek Polacek <polacek@redhat.com>
5509
5510 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
5511 INT_MIN / -1 sanitization only for integer types.
5512
45484dcf
MP
55132014-04-25 Marek Polacek <polacek@redhat.com>
5514
5515 PR c/18079
5516 * c-common.c (handle_noinline_attribute): Warn if the attribute
5517 conflicts with always_inline attribute.
5518 (handle_always_inline_attribute): Warn if the attribute conflicts
5519 with noinline attribute.
5520
38e514c0
MP
55212014-04-25 Marek Polacek <polacek@redhat.com>
5522
5523 PR c/60156
5524 * c-common.c (check_main_parameter_types): Warn about variadic main.
5525
44875f92
MS
55262014-04-24 Mike Stump <mikestump@comcast.net>
5527
5528 * c.opt (Wshadow-ivar): Default to on.
5529
dcaaa5a0
DP
55302014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
5531
5532 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
5533
c07d7c02
MP
55342014-04-23 Marek Polacek <polacek@redhat.com>
5535
5536 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
5537
1c33c9b7
JJ
55382014-04-22 Jakub Jelinek <jakub@redhat.com>
5539
5540 PR sanitizer/60275
5541 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
5542 if flag_sanitize_undefined_trap_on_error.
5543 (ubsan_instrument_division, ubsan_instrument_shift,
5544 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
5545 if !flag_sanitize_recover.
5546
793c625f
MG
55472014-04-22 Marc Glisse <marc.glisse@inria.fr>
5548
5549 PR libstdc++/43622
5550 * c-common.c (registered_builtin_types): Make non-static.
5551 * c-common.h (registered_builtin_types): Declare.
5552
b0f1bf36
RB
55532014-04-14 Richard Biener <rguenther@suse.de>
5554 Marc Glisse <marc.glisse@inria.fr>
5555
5556 PR c/60819
5557 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
5558 apply may-alias the scalar pointer type when applicable.
5559
3b07fa4a
IZ
55602014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
5561
5562 PR middle-end/60467
5563 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
5564 as possible argument for Cilk_spawn.
5565
cbbd2b1c
TB
55662014-04-11 Tobias Burnus <burnus@net-b.de>
5567
5568 PR c/60194
5569 * c.opt (Wformat-signedness): Add
5570 * c-format.c(check_format_types): Use it.
5571
6415bd5d
JM
55722014-04-11 Jason Merrill <jason@redhat.com>
5573
5574 PR c++/57926
5575 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
5576 default_conversion for an array argument.
5577
6525783a
MP
55782014-04-08 Marek Polacek <polacek@redhat.com>
5579
5580 PR sanitizer/60745
5581 * c-ubsan.c: Include asan.h.
5582 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
5583
880a467b
NS
55842014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5585
5586 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
5587
7b59ff2d
MP
55882014-04-02 Marek Polacek <polacek@redhat.com>
5589
5590 * c-common.h (c_expand_expr): Remove declaration.
5591
8edbfaa6
JJ
55922014-03-28 Jakub Jelinek <jakub@redhat.com>
5593
5594 PR c++/60689
5595 * c-common.c (add_atomic_size_parameter): When creating new
5596 params vector, push the size argument first.
5597
07d72e1d
JJ
55982014-03-26 Jakub Jelinek <jakub@redhat.com>
5599
5600 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
5601 ubsan_instrument_vla, ubsan_instrument_return): Adjust
5602 ubsan_create_data callers.
5603
b35e0fa0
JJ
56042014-03-22 Jakub Jelinek <jakub@redhat.com>
5605
5606 PR debug/60603
5607 * c-opts.c (c_finish_options): Restore cb_file_change call to
5608 <built-in>.
5609
39a1ebb3
JJ
56102014-03-13 Jakub Jelinek <jakub@redhat.com>
5611
5612 PR middle-end/36282
5613 * c-pragma.c (apply_pragma_weak): Only look at
5614 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
5615 DECL_ASSEMBLER_NAME_SET_P (decl).
5616 (maybe_apply_pending_pragma_weaks): Exit early if
5617 vec_safe_is_empty (pending_weaks) rather than only when
5618 !pending_weaks.
5619 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
5620 set assembler name back to NULL afterwards.
5621
a07f6ed2
JM
56222014-03-11 Jason Merrill <jason@redhat.com>
5623
5624 * c.opt: Add -std=gnu++14.
5625
75b107f5
IB
56262014-03-11 Ian Bolton <ian.bolton@arm.com>
5627
5628 * c-opts.c (c_common_post_options): Don't override
5629 -ffp-contract=fast if unsafe-math-optimizations is on.
5630
f42c637e
PM
56312014-03-08 Paulo Matos <paulo@matos-sorge.com>
5632
22b15758 5633 * c.opt: Enable LTO FE for fshort-double.
f42c637e 5634
70e24808
JM
56352014-03-07 Jason Merrill <jason@redhat.com>
5636
5637 * c.opt: Add -std=c++14.
5638
3af9c5e9
MP
56392014-03-06 Marek Polacek <polacek@redhat.com>
5640
5641 PR c/60197
5642 * cilk.c (contains_cilk_spawn_stmt): New function.
5643 (contains_cilk_spawn_stmt_walker): Likewise.
5644 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
5645 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
5646
b3bdf019
JJ
56472014-03-03 Jakub Jelinek <jakub@redhat.com>
5648
5649 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
5650 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
5651 even when flag_preprocess_only.
5652
ca7e759d
JM
56532014-02-26 Jason Merrill <jason@redhat.com>
5654
5655 PR c++/59231
5656 PR c++/11586
5657 * c-common.c (shorten_compare): Don't check
5658 c_inhibit_evaluation_warnings.
5659
28e41874
JJ
56602014-02-19 Jakub Jelinek <jakub@redhat.com>
5661
cca615af
JJ
5662 PR c/37743
5663 * c-common.c (c_common_nodes_and_builtins): When initializing
5664 c_uint{16,32,64}_type_node, also set corresponding
5665 uint{16,32,64}_type_node to the same value.
5666
28e41874
JJ
5667 PR c++/60267
5668 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
5669 for PRAGMA_IVDEP if flag_preprocess_only.
5670
c2bf53a1
JJ
56712014-02-12 Jakub Jelinek <jakub@redhat.com>
5672
5673 PR c/60101
5674 * c-common.c (merge_tlist): If copy is true, call new_tlist,
5675 if false, add ADD itself, rather than vice versa.
5676 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
5677 copy. For SAVE_EXPR, only call merge_tlist once.
5678
8fcbce72
JJ
56792014-02-08 Jakub Jelinek <jakub@redhat.com>
5680
5681 PR middle-end/60092
5682 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
5683 and tree_to_uhwi.
5684 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
5685 functions.
5686 (c_common_attribute_table): Add alloc_align and assume_aligned
5687 attributes.
5688
0a756a3f
MP
56892014-02-06 Marek Polacek <polacek@redhat.com>
5690
5691 PR c/60087
5692 * c-common.c (warn_for_sign_compare): Call warning_at with location
5693 instead of warning.
5694
7ec4847a
MP
56952014-02-05 Marek Polacek <polacek@redhat.com>
5696
5697 PR c/53123
5698 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
5699 statement.
5700
66f20604
MP
57012014-02-04 Marek Polacek <polacek@redhat.com>
5702
5703 PR c/60036
5704 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
5705 SAVE_EXPR.
5706
5d77fb19
MG
57072014-02-03 Marc Glisse <marc.glisse@inria.fr>
5708
5709 PR c++/53017
5710 PR c++/59211
5711 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
5712 handle_vector_size_attribute, handle_nonnull_attribute): Call
5713 default_conversion on the attribute argument.
5714 (handle_nonnull_attribute): Increment the argument number.
5715
81e5eca8
MP
57162014-01-31 Marek Polacek <polacek@redhat.com>
5717
5718 PR c/59963
5719 * c-common.c (add_atomic_size_parameter): Pass vNULL to
5720 build_function_call_vec.
5721 (resolve_overloaded_builtin): Likewise.
5722 * c-common.h (build_function_call_vec): Adjust declaration.
5723
68fca595
MP
57242014-01-30 Marek Polacek <polacek@redhat.com>
5725
5726 PR c/59940
5727 * c-common.h (unsafe_conversion_p): Adjust declaration.
5728 (warnings_for_convert_and_check): Likewise.
5729 (convert_and_check): Likewise.
5730 * c-common.c (unsafe_conversion_p): Add location parameter. Call
5731 expansion_point_location_if_in_system_header on it.
5732 (warnings_for_convert_and_check): Add location parameter. Call
5733 expansion_point_location_if_in_system_header on it. Use it.
5734 (convert_and_check): Add location parameter. Use it.
5735 (conversion_warning): Likewise.
5736 (c_add_case_label): Adjust convert_and_check calls.
5737 (scalar_to_vector): Adjust unsafe_conversion_p calls.
5738
b72271b9
BI
57392014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
5740
5741 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
5742 flag_cilkplus.
5743 * c-pragma.c (init_pragma): Likewise.
5744 * c.opt: Likewise.
5745
393e8e8b
MP
57462014-01-23 Marek Polacek <polacek@redhat.com>
5747
5748 PR c/59846
5749 * c-common.c (shorten_compare): Add location_t parameter.
5750 * c-common.h (shorten_binary_op): Adjust declaration.
5751
f04dda30
MP
57522014-01-23 Marek Polacek <polacek@redhat.com>
5753
5754 PR c/58346
5755 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
5756 * c-common.h: Declare it.
5757
621955cb
EB
57582014-01-20 Eric Botcazou <ebotcazou@adacore.com>
5759
5760 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
5761 * c-ada-spec.c (dump_ads): Likewise.
5762 (cpp_check): Likewise.
5763 (dump_ada_specs): Likewise.
5764
57652014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
5766
5767 PR c++/49718
5768 * c-common.c (handle_no_instrument_function_attribute): Allow
5769 no_instrument_function attribute in class member
5770 definition/declaration.
5771
241f845a
JJ
57722014-01-15 Jakub Jelinek <jakub@redhat.com>
5773
5774 PR c/58943
5775 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
5776 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
5777 being COMPOUND_EXPR.
5778 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
5779 operand a SAVE_EXPR and second MODIFY_EXPR.
5780
e83b8e2e
JJ
57812014-01-09 Jakub Jelinek <jakub@redhat.com>
5782
5783 PR target/58115
5784 * c-pch.c (c_common_write_pch): Call
5785 prepare_target_option_nodes_for_pch.
5786
23a5b65a
RS
57872014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5788
5789 Update copyright years
5790
f9030485
RS
57912014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5792
5793 * array-notation-common.c, c-cilkplus.c: Use the standard form for
5794 the copyright notice.
5795
f2aa696b
EB
57962013-12-28 Eric Botcazou <ebotcazou@adacore.com>
5797
5798 * c-ada-spec.c (print_constructor): New function.
5799 (print_destructor): Retrieve the origin of the destructor.
5800 (print_ada_declaration): Revamp handling of constructors/destructors.
5801
3f8257db 58022013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
5803 Bill Maddox <maddox@google.com>
5804 Jason Merrill <jason@redhat.com>
5805
5806 * c.opt: Add -fdeclone-ctor-dtor.
5807 * c-opts.c (c_common_post_options): Default to on iff -Os.
5808
41958c28
BI
58092013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
5810
5811 * c-common.c (c_common_attribute_table): Added "cilk simd function"
5812 attribute.
5813 * c-pragma.h (enum pragma_cilk_clause): Remove.
5814 (enum pragma_omp_clause): Added the following fields:
5815 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
5816 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
5817 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
5818 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
5819 PRAGMA_CILK_CLAUSE_UNIFORM.
5820
b1726d6c 5821
12893402
BI
58222013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
5823
5824 * cilk.c (cilk_outline): Made this function non-static.
5825 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
5826 (create_cilk_wrapper): Added a new parameter: a function pointer.
5827 (c_install_body_w_frame_cleanup): Remove
5828 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
5829 * c-common.h (cilk_outline): New prototype.
5830 (gimplify_cilk_spawn): Removed two parameters.
5831 (cilk_install_body_with_frame_cleanup): New prototype.
5832 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
5833 CILK_SPAWN_STMT case.
5834
085b42ed
BS
58352013-12-11 Bernd Schmidt <bernds@codesourcery.com>
5836
2ce064c3
BS
5837 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
5838
085b42ed
BS
5839 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
5840 (int_array_type_node): Remove.
5841 * c-common.c (c_common_nodes_and_builtins): Don't build it.
5842
9e36c9ed
MP
58432013-12-05 Marek Polacek <polacek@redhat.com>
5844
5845 PR c/52023
5846 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
5847 [ADJUST_FIELD_ALIGN].
5848
296674db
JM
58492013-12-04 Joseph Myers <joseph@codesourcery.com>
5850
5851 PR c/52023
5852 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
5853 and check field alignment if set.
5854 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
5855 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
5856
b1726d6c 58572013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
5858 Marek Polacek <polacek@redhat.com>
5859
5860 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
5861 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
5862
d7947e19
L
58632013-11-29 H.J. Lu <hongjiu.lu@intel.com>
5864
5865 PR c/59309
5866 * cilk.c (gimplify_cilk_spawn): Properly handle function without
5867 arguments.
5868
fad7652e
JJ
58692013-11-29 Jakub Jelinek <jakub@redhat.com>
5870
5871 PR c/59280
5872 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
5873 goto invalid. If it is error_mark_node, don't issue further
5874 diagnostics.
5875
8b5e1202
SO
58762013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
5877
5878 * c.opt (Wopenmp-simd): New.
5879
0a508bb6
JJ
58802013-11-22 Jakub Jelinek <jakub@redhat.com>
5881
5882 * c-ubsan.h (ubsan_instrument_return): New prototype.
5883 * c-ubsan.c (ubsan_instrument_return): New function.
5884
2fb9a547
AM
58852013-11-22 Andrew MacLeod <amacleod@redhat.com>
5886
5887 * c-common.c: Add required include files from gimple.h.
5888 * c-gimplify.c: Likewise
5889 * cilk.c: Likewise
5890
8400e75e
DM
58912013-11-22 David Malcolm <dmalcolm@redhat.com>
5892
5893 * c-common.c (unsafe_conversion_p): Remove use of
5894 EXPR_LOC_OR_HERE macro.
5895 (conversion_warning): Likewise.
5896 (warnings_for_convert_and_check): Likewise.
5897 (warn_for_collisions_1): Likewise.
5898 (shorten_compare): Likewise, and remove use of in_system_header
5899 macro, using the location from the former.
5900 * c-lex.c (dump_one_header): Remove use of input_filename macro.
5901 (cb_def_pragma): Remove use of in_system_header macro.
5902 (lex_string): Likewise.
5903 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5904
eb1ce453
KZ
59052013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5906 Mike Stump <mikestump@comcast.net>
5907 Richard Sandiford <rdsandiford@googlemail.com>
5908
5909 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
5910 instead of TREE_INT_CST_LOW, in cases where there is a protecting
5911 tree_fits_shwi_p or tree_fits_uhwi_p.
5912 (dump_generic_ada_node): Likewise.
5913 * c-format.c (check_format_arg): Likewise.
5914 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5915
6b3b8c27
KZ
59162013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
5917
5918 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
5919
49b0aa18
JC
59202013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
5921
5922 PR c/53001
5923 * c-common.c (unsafe_conversion_p): Make this function
5924 return an enumeration with more detail.
5925 (conversion_warning): Use the new return type of
5926 unsafe_conversion_p to separately warn either about conversions
5927 that lower floating point number precision or about the other
5928 kinds of conversions.
5929 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
5930 (unsafe_conversion_p): switching return type to
5931 conversion_safety enumeration.
49b0aa18
JC
5932 * c.opt: Adding new warning -Wfloat-conversion and
5933 enabling it with -Wconversion.
5934
b826515a
BS
59352013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
5936
8e745a17
JJ
5937 * c-opts.c: Include plugin.h.
5938 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 5939
b9a55b13
MP
59402013-11-19 Marek Polacek <polacek@redhat.com>
5941
5942 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
5943 call.
5944 (ubsan_instrument_shift): Likewise.
5945 (ubsan_instrument_vla): Likewise.
5946
7d362f6c
RS
59472013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5948
5949 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
5950 cast to unsigned type.
5951
386b1f1f
RS
59522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5953
5954 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
5955 tree_low_cst.
5956 (complete_array_type): Update comment to refer to tree_to_[su]hwi
5957 rather than tree_low_cst.
5958
ae7e9ddd
RS
59592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5960
5961 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
5962 tree_to_uhwi throughout.
5963
9439e9a1
RS
59642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5965
5966 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
5967 tree_low_cst (..., 0) with tree_to_shwi throughout.
5968
cc269bb6
RS
59692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5970
5971 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
5972 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
5973
9541ffee
RS
59742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
5975
5976 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
5977 host_integerp (..., 0) with tree_fits_shwi_p throughout.
5978
c02065fc
AH
59792013-11-15 Aldy Hernandez <aldyh@redhat.com>
5980
5981 * c-cilkplus.c: New file.
5982 * c-common.c (readonly_error): Add location argument.
5983 * c-common.h (readonly_error): Same.
5984 (c_finish_cilk_clauses): Protoize.
5985 (c_check_cilk_loop): Same.
5986 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
5987 Do not fail on error_mark_node.
5988 Abstract increment canonicalization to here...
5989 (c_omp_for_incr_canonicalize_ptr): New.
5990 c-pragma.c (init_pragma): Register "simd" pragma.
5991 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
5992 (enum pragma_cilk_clause): New.
5993
9cc65f15
RS
59942013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
5995
5996 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
5997 wchar_type and host_integerp checks.
5998
18f429e2
AM
59992013-11-14 Andrew MacLeod <amacleod@redhat.com>
6000
6001 * c-common.c: Likewise.
6002 * c-gimplify.c: Likewise.
6003 * cilk.c: Likewise.
6004
d8a2d370
DN
60052013-11-14 Diego Novillo <dnovillo@google.com>
6006
6007 * c-common.c: Include fold-const.h.
6008 Include stor-layout.h.
6009 Include calls.h.
6010 Include stringpool.h.
6011 Include attribs.h.
6012 Include varasm.h.
6013 Include trans-mem.h.
6014 * c-cppbuiltin.c: Include stor-layout.h.
6015 Include stringpool.h.
6016 * c-format.c: Include stringpool.h.
6017 * c-lex.c: Include stringpool.h.
6018 Include stor-layout.h.
6019 * c-pragma.c: Include stringpool.h.
6020 Include attribs.h.
6021 Include varasm.h.
6022 Include gcc-symtab.h.
6023 * c-pretty-print.c: Include stor-layout.h.
6024 Include attribs.h.
6025 * cilk.c: Include stringpool.h.
6026 Include calls.h.
6027
38b7bc7f
JM
60282013-11-13 Joseph Myers <joseph@codesourcery.com>
6029
6030 * c-common.h (enum rid): Add RID_AUTO_TYPE.
6031 * c-common.c (c_common_reswords): Add __auto_type.
6032 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
6033
45b0be94
AM
60342013-11-12 Andrew MacLeod <amacleod@redhat.com>
6035
18f429e2
AM
6036 * c-common.c: Include gimplify.h.
6037 * c-gimplify.c: Likewise.
6038 * cilk.c: Likewise.
6039 * c-omp.c: Include gimple-expr.h instead of gimple.h.
6040 * c-ubsan.c: Don't include gimple.h.
45b0be94 6041
582d9b50
JM
60422013-11-12 Joseph Myers <joseph@codesourcery.com>
6043
6044 * c-common.c (c_common_reswords): Add _Thread_local.
6045
6b28e197
JM
60462013-11-09 Joseph Myers <joseph@codesourcery.com>
6047
6048 * c-common.c (atomic_size_supported_p): New function.
6049 (resolve_overloaded_atomic_exchange)
6050 (resolve_overloaded_atomic_compare_exchange)
6051 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
6052 Use it instead of comparing size with a local list of sizes.
6053
267bac10
JM
60542013-11-07 Andrew MacLeod <amacleod@redhat.com>
6055 Joseph Myers <joseph@codesourcery.com>
6056
6057 * c-common.h (enum rid): Add RID_ATOMIC.
6058 * c-common.c (c_common_reswords): Add _Atomic.
6059 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
6060 (keyword_is_type_qualifier): Accept RID_ATOMIC.
6061 * c-format.c (check_format_types): Check for extra _Atomic
6062 qualifiers in format argument.
6063 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
6064 (pp_c_type_qualifier_list): Mention _Atomic in comment.
6065
5157b91e
TB
60662013-11-06 Tobias Burnus <burnus@net-b.de>
6067
6068 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
6069
6dbe0958
JM
60702013-11-06 Joseph Myers <joseph@codesourcery.com>
6071
6072 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
6073 standards modes.
6074 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
6075 to mean lack of IEEE 754 support.
6076
e8ff5196
TB
60772013-11-05 Tobias Burnus <burnus@net-b.de>
6078
6079 * c.opt (-Wdate-time): New option
6080 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
6081
254a0760
JM
60822013-11-05 Joseph Myers <joseph@codesourcery.com>
6083
6084 * c-cppbuiltin.c (cpp_iec_559_value): Test
6085 flag_excess_precision_cmdline not flag_excess_precision.
6086
6d7f7e0a
TB
60872013-11-05 Tobias Burnus <burnus@net-b.de>
6088
6089 * c.opt (fopenmp-simd): New option.
6090 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
6091 (omp_pragmas): ... this new struct.
6092 (c_pp_lookup_pragma): Also walk omp_pragmas.
6093 (init_pragma): Init pragmas for -fopenmp-simd.
6094
55a7f02f
MP
60952013-11-04 Marek Polacek <polacek@redhat.com>
6096
6097 PR c++/58979
6098 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
6099
9193fb05
JM
61002013-11-04 Joseph Myers <joseph@codesourcery.com>
6101
6102 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
6103 New functions.
6104 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
6105
94159ecf
EB
61062013-11-04 Eric Botcazou <ebotcazou@adacore.com>
6107
6108 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
6109 (dump_ada_specs): Adjust prototype of second callback.
6110 * c-ada-spec.c (cpp_check): New global variable.
6111 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
6112 (print_generic_ada_decl): Likewise.
6113 (has_static_fields): Change return type to bool and add guard.
6114 (has_nontrivial_methods): New predicate.
6115 (is_tagged_type): Change return type to bool.
6116 (separate_class_package): Call has_nontrivial_methods.
6117 (pp_ada_tree_identifier): Minor tweaks.
6118 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
6119 (dump_ada_array_domains): Likewise.
6120 (dump_ada_array_type): Likewise.
6121 (dump_template_types): Remove cpp_check parameter and do not pass it to
6122 dump_generic_ada_node.
6123 (dump_ada_template): Likewise.
6124 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
6125 recursively.
6126 (print_ada_methods): Change return type to integer. Remove cpp_check
6127 parameter and do not pass it down.
6128 (dump_nested_types): Remove cpp_check parameter and do not pass it to
6129 dump_generic_ada_node.
6130 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
6131 accessing methods.
6132 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
6133 down. Use has_nontrivial_methods to recognize C++ classes. Use return
6134 value of print_ada_methods.
6135 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
6136 Set cpp_check to it before invoking dump_ada_nodes.
6137 (dump_ada_specs): Likewise.
6138
b906f4ca
MP
61392013-11-03 Marek Polacek <polacek@redhat.com>
6140
6141 * c-ubsan.c: Don't include hash-table.h.
6142 (ubsan_instrument_vla): New function.
6143 * c-ubsan.h: Declare it.
6144
5e20cdc9
DM
61452013-10-31 David Malcolm <dmalcolm@redhat.com>
6146
6147 Automated part of renaming of symtab_node_base to symtab_node.
6148
6149 Patch autogenerated by rename_symtab.py from
6150 https://github.com/davidmalcolm/gcc-refactoring-scripts
6151 revision 58bb219cc090b2f4516a9297d868c245495ee622
6152
6153 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
6154 symtab_node_base to symtab_node.
6155
7057e645
ESR
61562013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
6157
8e745a17 6158 Implement C++14 digit separators.
7057e645
ESR
6159 * c-lex.c (interpret_float): Remove digit separators from scratch string
6160 before building real literal.
6161
193ea7bc
JJ
61622013-10-30 Jakub Jelinek <jakub@redhat.com>
6163
6164 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
6165
939b37da
BI
61662013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
6167
6168 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
6169 fields.
6170 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
6171 enabled.
6172 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
6173 (insert_cilk_frame): New prototype.
6174 (cilk_init_builtins): Likewise.
6175 (gimplify_cilk_spawn): Likewise.
6176 (c_cilk_install_body_w_frame_cleanup): Likewise.
6177 (cilk_detect_spawn_and_unwrap): Likewise.
6178 (cilk_set_spawn_marker): Likewise.
6179 (build_cilk_sync): Likewise.
6180 (build_cilk_spawn): Likewise.
6181 * cilk.c: New file.
6182
67348ccc
DM
61832013-10-29 David Malcolm <dmalcolm@redhat.com>
6184
6185 Patch autogenerated by refactor_symtab.py from
6186 https://github.com/davidmalcolm/gcc-refactoring-scripts
6187 revision 58bb219cc090b2f4516a9297d868c245495ee622
6188
6189 * c-gimplify.c (c_genericize): Update for conversion of symtab types
6190 to a true class hierarchy.
6191 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
6192
d570872d
RS
61932013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
6194
6195 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
6196
98906124
JL
61972013-10-26 Jeff Law <law@redhat.com>
6198
adfac8df
JJ
6199 * c-common.c (c_define_builtins): Remove mudflap support.
6200 * c.opt: Ignore and warn for mudflap options.
98906124 6201
d73749df 62022013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
6203
6204 PR other/33426
6205 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
6206 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
6207
3f04b1bb
JM
62082013-10-23 Jason Merrill <jason@redhat.com>
6209
6210 * c-format.c (gcc_cxxdiag_char_table): Add %X.
6211
acf0174b
JJ
62122013-10-11 Jakub Jelinek <jakub@redhat.com>
6213
acd15a28
JJ
6214 * c-common.h (omp_clause_mask::operator !=): New method.
6215 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
6216 instead of if (mask & something) tests everywhere.
6217
acf0174b
JJ
6218 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
6219 201307 instead of 201107.
6220 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
6221 (c_common_attribute_table): Add "omp declare target" and
6222 "omp declare simd" attributes.
6223 (handle_omp_declare_target_attribute,
6224 handle_omp_declare_simd_attribute): New functions.
6225 * c-omp.c: Include c-pragma.h.
6226 (c_finish_omp_taskgroup): New function.
6227 (c_finish_omp_atomic): Add swapped argument, if true,
6228 build the operation first with rhs, lhs arguments and use NOP_EXPR
6229 build_modify_expr.
6230 (c_finish_omp_for): Add code argument, pass it down to make_code.
6231 (c_omp_split_clauses): New function.
6232 (c_split_parallel_clauses): Removed.
6233 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
6234 c_omp_declare_simd_clauses_to_decls): New functions.
6235 * c-common.h (omp_clause_mask): New type.
6236 (OMP_CLAUSE_MASK_1): Define.
6237 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
6238 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
6239 omp_clause_mask::operator |, omp_clause_mask::operator &,
6240 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
6241 omp_clause_mask::operator ==): New methods.
6242 (enum c_omp_clause_split): New.
6243 (c_finish_omp_taskgroup): New prototype.
6244 (c_finish_omp_atomic): Add swapped argument.
6245 (c_finish_omp_for): Add code argument.
6246 (c_omp_split_clauses): New prototype.
6247 (c_split_parallel_clauses): Removed.
6248 (c_omp_declare_simd_clauses_to_numbers,
6249 c_omp_declare_simd_clauses_to_decls): New prototypes.
6250 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
6251 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
6252 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
6253 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
6254 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
6255 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
6256 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
6257 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
6258 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
6259 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
6260 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
6261 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
6262 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
6263 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
6264 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
6265 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
6266 PRAGMA_OMP_CLAUSE_UNIFORM.
6267
826cacfe
MG
62682013-10-09 Marc Glisse <marc.glisse@inria.fr>
6269
6270 PR tree-optimization/20318
6271 * c-common.c (handle_returns_nonnull_attribute): New function.
6272 (c_common_attribute_table): Add returns_nonnull.
6273
2284b034
MG
62742013-10-03 Marc Glisse <marc.glisse@inria.fr>
6275
6276 PR c++/19476
6277 * c.opt (fcheck-new): Move to common.opt.
6278
b56e9788
MP
62792013-09-25 Marek Polacek <polacek@redhat.com>
6280 Jakub Jelinek <jakub@redhat.com>
6281
6282 PR sanitizer/58413
6283 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
6284 an expression if we can prove it is correct.
6285 (ubsan_instrument_division): Likewise. Remove unnecessary
6286 check.
6287
ce6923c5
MP
62882013-09-18 Marek Polacek <polacek@redhat.com>
6289
6290 PR sanitizer/58411
6291 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
6292 Declare it.
6293 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
6294
fb5610fb
IS
62952013-09-14 Iain Sandoe <iain@codesourcery.com>
6296
6297 PR target/48094
6298 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
6299 fobjc-gc, freplace-objc-classes): Accept for LTO.
6300
88b0e79e
JC
63012013-09-13 Jacek Caban <jacek@codeweavers.com>
6302
6303 * c-target.def: New hook
6304
c9b0866a
PC
63052013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6306
6307 PR c++/43452
6308 * c.opt (Wdelete-incomplete): Add.
6309
0af94e6f
JR
63102013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
6311
6312 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
6313 (vector_types_compatible_elements_p): New function.
6314 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
6315 declaration.
6316 (vector_types_compatible_elements_p): Declare.
6317
7c26172c
GDR
63182013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6319
6320 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
6321 a virtual member function.
6322 (pp_simple_type_specifier): Remove.
6323 (pp_c_type_specifier): Likewise.
6324 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
6325 Rename from pp_c_type_specifier. Adjust.
6326 (c_pretty_printer::c_pretty_printer): Do not assign to
6327 simple_type_specifier.
6328
20059c8b
GDR
63292013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6330
6331 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
6332 member function.
6333 (c_pretty_printer::storage_class_specifier): Likewise.
6334 (c_pretty_printer::initializer): Likewise.
6335 (pp_declaration): Remove.
6336 (pp_declaration_specifiers): Likewise.
6337 (pp_abstract_declarator): Likewise.
6338 (pp_declarator): Likewise.
6339 (pp_type_id): Likewise.
6340 (pp_statement): Likewise.
6341 (pp_constant): Likewise.
6342 (pp_id_expression): Likewise.
6343 (pp_primary_expression): Likewise.
6344 (pp_unary_expression): Likewise.
6345 (pp_multiplicative_expression): Likewise.
6346 (pp_conditional_expression): Likewise.
6347 (pp_assignment_expression): Likewise.
6348 (pp_expression): Likewise.
6349 (pp_c_type_id): Likewise.
6350 (pp_c_storage_class_specifier): Likewise.
6351 * c-pretty-print.c (pp_c_type_cast): Tidy.
6352 (pp_c_pointer): Likewise.
6353 (pp_c_type_specifier): Likewise.
6354 (pp_c_parameter_type_list): Likewise.
6355 (pp_c_function_definition): Likewise.
6356 (pp_c_init_declarator): Likewise.
6357 (pp_c_initializer_list): Likewise.
6358 (pp_c_constructor_elts): Likewise.
6359 (c_pretty_printer::direct_abstract_declarator): Likewise.
6360 (c_pretty_printer::declaration_specifiers): Likewise.
6361 (c_pretty_printer::primary_expression): Likewise.
6362 (c_pretty_printer::postfix_expression): Likewise.
6363 (c_pretty_printer::type_id): Rename from pp_c_type_id.
6364 (c_pretty_printer::storage_class_specifier): Rename from
6365 pp_c_storage_class_specifier.
6366 (c_pretty_printer::initializer): Rename from pp_c_initializer.
6367 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
6368 storage_class_specifier, initializer, offset_list, flags.
6369
de5a5fa1
MP
63702013-08-30 Marek Polacek <polacek@redhat.com>
6371
6372 * c-ubsan.c: New file.
6373 * c-ubsan.h: New file.
6374
8f0e4d72
GDR
63752013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
6376
6377 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
6378 member function.
6379 (c_pretty_printer::declaration_specifiers): Likewise.
6380 (c_pretty_printer::declarator): Likewise.
6381 (c_pretty_printer::abstract_declarator): Likewise.
6382 (c_pretty_printer::direct_abstract_declarator): Likewise.
6383 (c_pretty_printer::direct_declarator): Likewise.
6384 (c_pretty_printer::function_specifier): Likewise.
6385 (pp_declaration): Adjust.
6386 (pp_declaration_specifiers): Likewise.
6387 (pp_abstract_declarator): Likewise.
6388 (pp_direct_declarator): Likewise.
6389 (pp_function_specifier): Likewise.
6390 (pp_direct_abstract_declarator): Remove as unused.
6391 (pp_c_declaration): Remove.
6392 (pp_c_declaration_specifiers): Likewise.
6393 (pp_c_declarator): Likewise.
6394 (pp_c_direct_declarator): Likewise.
6395 (pp_c_function_specifier): Likewise.
6396 (pp_c_direct_abstract_declarator): Likewise.
6397 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
6398 from pp_c_abstract_declarator. Adjust.
6399 (c_pretty_printer::direct_abstract_declarator): Rename from
6400 pp_c_direct_abstract_declarator. Adjust.
6401 (c_pretty_printer::function_specifier): Rename from
6402 pp_c_function_specifier. Adjust.
6403 (c_pretty_printer::declaration_specifiers): Rename from
6404 pp_c_declaration_specifiers. Adjust.
6405 (c_pretty_printer::direct_declarator): Rename from
6406 pp_c_direct_declarator. Adjust.
6407 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
6408 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
6409 (c_pretty_printer::c_pretty_printer): Do not assign to
6410 declaration, declaration_specifiers, declarator,
6411 direct_declarator, direct_abstract_declarator, function_specifier.
6412
00d34d3a
GDR
64132013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
6414
6415 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
6416 virtual member function.
6417 (c_pretty_printer::multiplicative_expression): Likewise.
6418 (c_pretty_printer::conditional_expression): Likewise.
6419 (c_pretty_printer::assignment_expression): Likewise.
6420 (c_pretty_printer::expression): Likewise.
6421 (pp_unary_expression): Adjust.
6422 (pp_multiplicative_expression): Likewise.
6423 (pp_assignment_expression): Likewise.
6424 (pp_conditional_expression): Likewise.
6425 (pp_expression): Likewise.
6426 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
6427 from pp_c_unary_expression. Adjust.
6428 (c_pretty_printer::multiplicative_expression): Rename from
6429 pp_c_multiplicative_expression. Adjust.
6430 (c_pretty_printer::conditional_expression): Rename from
6431 pp_c_conditional_expression. Adjust.
6432 (c_pretty_printer::assignment_expression): Rename from
6433 pp_c_assignment_expression. Adjust.
6434 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
6435 (c_pretty_printer::c_pretty_printer): Do not assign to
6436 unary_expression, multiplicative_expression,
6437 conditional_expression, expression.
6438
fb22178f
GDR
64392013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6440
6441 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
6442 virtual member function.
6443 (pp_postfix_expression): Adjust.
6444 (pp_c_postfix_expression): Remove.
6445 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
6446 from pp_c_postfix_expression. Adjust.
6447 (c_pretty_printer::c_pretty_printer): Do not assign to
6448 postfix_expression.
6449
7ecc2600
GDR
64502013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6451
6452 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
6453 virtua member function.
6454 (pp_primary_expression): Adjust.
6455 (pp_c_primary_expression): Remove.
6456 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
6457 from pp_c_primary_expression. Adjust.
6458 (pp_c_initializer_list): Use pp_primary_expression.
6459 (c_pretty_printer::c_pretty_printer): Do not assign to
6460 primary_expression.
6461
0691175f
GDR
64622013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
6463
6464 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
6465 * c-pretty-print.c (M_): Remove.
6466 (c_pretty_printer::translate_string): Define.
6467 (pp_c_type_specifier): Use it.
6468 (pp_c_primary_expression): Likewise.
6469 (pp_c_expression): Likewise.
6470
66dfe4c4
GDR
64712013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6472
6473 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
6474 virtual function.
6475 (pp_c_id_expression): Remove.
6476 (pp_id_expression): Adjust.
6477 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
6478 pp_c_id_expression. Adjust.
6479 (pp_c_postfix_expression): Use pp_id_expression.
6480 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
6481
ca43e9d5
GDR
64822013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
6483
6484 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
6485 member function.
6486 (pp_constant): Adjust.
6487 (pp_c_constant): Remove.
6488 * c-pretty-print.c (c_pretty_printer::constant): Rename from
6489 pp_c_constant. Adjust.
6490 (pp_c_constant)
6491 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
6492 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
6493
da6ca2b5
GDR
64942013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6495
6496 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
6497 (c_pretty_printer::c_pretty_printer): Declare.
6498 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
6499 c_pretty_printer_init. Adjust.
6500 (print_c_tree): Do not call c_pretty_printer_init.
6501 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
6502
65a372f4
AC
65032013-08-09 Arnaud Charlet <charlet@adacore.com>
6504
6505 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
6506
fd9b0f32
PC
65072013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
6508
6509 PR c++/58080
6510 * c-common.c (pointer_int_sum): Add bool parameter.
6511 * c-common.h (pointer_int_sum): Adjust declaration.
6512
e0aec1e9
GDR
65132013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
6514
6515 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
6516 c_pretty_printer variable.
6517
b066401f
GDR
65182013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
6519
6520 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
6521 (pp_base): Remove.
6522 (pp_c_base): Likewise. Adjust users.
6523 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
6524 (pp_c_whitespace): Do not call pp_base.
6525 (pp_c_left_paren): Likewise.
6526 (pp_c_right_paren): Likewise.
6527 (pp_c_left_brace): Likewise.
6528 (pp_c_right_brace): Likewise.
6529 (pp_c_left_bracket): Likewise.
6530 (pp_c_right_bracket): Likewise.
6531 (pp_c_dot): Likewise.
6532 (pp_c_ampersand): Likewise.
6533 (pp_c_star): Likewise.
6534 (pp_c_arrow): Likewise.
6535 (pp_c_semicolon): Likewise.
6536 (pp_c_complement): Likewise.
6537 (pp_c_exclamation): Likewise.
6538 (pp_c_direct_declarator): Likewise.
6539 (pp_c_ws_string): Likewise.
6540 (pp_c_identifier): Likewise.
6541 (pp_c_statement): Likewise.
6542 (print_c_tree): Likewise.
6543
65e5a578
ESR
65442013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
6545
6546 PR c++/58072
6547 * c-common.c (c_parse_error): Catch user-defined literal tokens and
6548 provide useful error strings.
6549
137a1a27
GDR
65502013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6551
6552 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
6553 printer functions instead of pp_string or operators and punctuators.
6554 (dump_generic_ada_node): Likewise.
6555 * c-pretty-print.c (pp_c_type_specifier): Likewise.
6556 (pp_c_relational_expression): Likewise.
6557 (pp_c_logical_or_expression): Likewise.
6558
07838b13
GDR
65592013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
6560
6561 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
6562 functions instead of pp_character.
6563 (pp_ada_tree_identifier): Likewise.
6564 (dump_ada_double_name): Likewise.
6565 (dump_ada_function_declaration): Likewise.
6566 (dump_ada_array_domains): Likewise.
6567 (dump_template_types): Likewise.
6568 (dump_generic_ada_node): Likewise.
6569 (print_ada_declaration): Likewise.
6570 (print_ada_struct_decl): Likewise.
6571 * c-pretty-print.c (pp_c_integer_constant): Likewise.
6572
433cc7b0
TT
65732013-07-23 Tom Tromey <tromey@redhat.com>
6574
6575 * c-common.h (enum rid) <RID_GENERIC>: New constant.
6576 * c-common.c (c_common_reswords): Add _Generic.
6577
688010ba
OB
65782013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
6579
6580 * c-common.c: Fix typos.
6581 * c-common.h: Likewise.
6582
2a99e5e6
LL
65832013-07-13 Lubos Lunak <l.lunak@suse.cz>
6584
6585 PR c++/55203
6586 * c-common.c (c_common_attribute_table): Add warn_unused.
6587 (handle_warn_unused_attribute): New.
6588
c26302d5
JJ
65892013-07-10 Jakub Jelinek <jakub@redhat.com>
6590
6591 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
6592 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
6593
dfeadaa0
PC
65942013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
6595
6596 PR c++/57869
6597 * c.opt: Add Wconditionally-supported.
6598
6a2fa4b2
GS
65992013-07-08 Graham Stott <graham.stott@btinternet.com>
6600
adfac8df 6601 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
6602 unused variables l_length and l_node.
6603
ecdbd01a 66042013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
6605
6606 PR c/57821
6607 * c-common.c (complete_array_type): Delay folding first index
6608 like other indices. When folding, check for index overflow.
6609
bedc293e
MG
66102013-06-27 Marc Glisse <marc.glisse@inria.fr>
6611
6612 PR c++/57509
6613 * c-common.h (c_build_vec_perm_expr): New complain argument.
6614 * c-common.c (c_build_vec_perm_expr): Likewise.
6615 Use save_expr also in C++.
6616
604b2bfc
GDR
66172013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
6618
6619 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
6620 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
6621 * c-opts.c (c_common_post_options): Likewise.
6622
dfeadaa0 66232013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
6624
6625 * array-notation-common.c (length_mismatch_in_expr): Changed the
6626 parameter type's from a dynamic array to a vec_tree. Also removed
6627 the size parameters.
6628 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
6629 the change above.
6630
2ce86d2e
BI
66312013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
6632
6633 * c-common.h (struct cilkplus_an_parts): New structure.
6634 (struct cilkplus_an_loop_parts): Likewise.
6635 (cilkplus_extract_an_triplets): New prototype.
6636 (fix_sec_implicit_args): Likewise.
6637 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
6638 (fix_sec_implicit_args): Likewise.
604b2bfc 6639
07a6825b
BI
66402013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
6641
6642 * array-notation-common.c (find_inv_trees): Removed an unwanted
6643 typecasting.
6644 * c-common.h (struct inv_list::additional_tcodes): Changed type from
6645 enum rid to enum tree_code.
6646
08346abd
JH
66472013-06-11 Jan Hubicka <jh@suse.cz>
6648
6649 * c-common.c (handle_alias_ifunc_attribute): Do not set
6650 DECL_EXTERNAL for weakref variables.
6651 * c-pragma.c (handle_pragma_weak): Make sure aliases
6652 are not declared as external.
6653
d60f1706
BI
66542013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
6655
6656 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
6657 function from c/c-array-notation.c.
6658 (is_cilkplus_reduce_builtin): Likewise.
6659 (find_rank): Likewise.
6660 (extract_array_notation_exprs): Likewise.
6661 (replace_array_notations): Likewise.
6662 (find_inv_trees): Likewise.
6663 (replace_inv_trees): Likewise.
6664 (contains_array_notation_expr): Likewise.
6665 (find_correct_array_notation_type): Likewise.
6666 * c-common.h (struct inv_list): Moved this struct from the file
6667 c/c-array-notation.c and added a new field called additional tcodes.
6668 (length_mismatch_in_expr_p): New prototype.
6669 (is_cilkplus_reduce_builtin): Likewise.
6670 (find_rank): Likewise.
6671 (extract_array_notation_exprs): Likewise.
6672 (replace_array_notation): Likewise.
6673 (find_inv_trees): Likewise.
6674 (replace_inv_trees): Likewise.
6675 (find_correct_array_notation_type): Likewise.
dfeadaa0 6676
36536d79
BI
66772013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
6678
6679 * c-common.c (c_define_builtins): When cilkplus is enabled, the
6680 function array_notation_init_builtins is called.
6681 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
6682 * c-common.def (ARRAY_NOTATION_REF): New tree.
6683 * c-common.h (build_array_notation_expr): New function declaration.
6684 (build_array_notation_ref): Likewise.
6685 (extract_sec_implicit_index_arg): New extern declaration.
6686 (is_sec_implicit_index_fn): Likewise.
6687 (ARRAY_NOTATION_CHECK): New define.
6688 (ARRAY_NOTATION_ARRAY): Likewise.
6689 (ARRAY_NOTATION_START): Likewise.
6690 (ARRAY_NOTATION_LENGTH): Likewise.
6691 (ARRAY_NOTATION_STRIDE): Likewise.
6692 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
6693 ARRAY_NOTATION_REF.
6694 (pp_c_expression): Likewise.
6695 * c.opt (flag_enable_cilkplus): New flag.
6696 * array-notation-common.c: New file.
6697
f7716d57
JJ
66982013-05-14 Jakub Jelinek <jakub@redhat.com>
6699
6700 PR c++/57274
6701 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
6702
a5e0cd1d
MG
67032013-05-10 Marc Glisse <marc.glisse@inria.fr>
6704
6705 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
6706 vectors.
6707
f6bc1c4a
HS
67082013-05-07 Han Shen <shenhan@google.com>
6709
6710 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
6711
3f12f6e9
SKS
67122013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6713
6714 * c-common.c (check_user_alignment): Emit error for negative values.
6715
61949153
PC
67162013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6717
6718 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
6719
e93e18e9
PC
67202013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6721
6722 * c-cppbuiltin.c (c_cpp_builtins): Do not define
6723 __GXX_EXPERIMENTAL_CXX1Y__.
6724
44d90fe1 67252013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 6726 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
6727
6728 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
6729 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
6730 to simply use OPT_Wpointer_arith.
6731 (c_sizeof_or_alignof_type): Likewise.
6732
13f39b2e
PC
67332013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
6734
6735 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
6736
4b84d650
JJ
67372013-04-12 Jakub Jelinek <jakub@redhat.com>
6738
6739 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
6740 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
6741 specifiers.
6742
fb037b5d
SB
67432013-04-07 Steven Bosscher <steven@gcc.gnu.org>
6744
6745 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
6746
4e856798
PC
67472013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
6748
6749 * c-common.c (pointer_int_sum): Remove dead code.
6750
4b1baac8
RS
67512013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
6752
6753 PR middle-end/56524
6754 * c-common.c (handle_optimize_attribute): Don't call
6755 save_optabs_if_changed.
6756
0b50e654
JJ
67572013-03-05 Jakub Jelinek <jakub@redhat.com>
6758
6759 PR middle-end/56461
6760 * c-pch.c (pch_init): Free target_validity at the end.
6761
48c41403
JJ
67622013-03-04 Jakub Jelinek <jakub@redhat.com>
6763
6764 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
6765
e664c61c
KS
67662013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
6767 Jakub Jelinek <jakub@redhat.com>
6768
6769 PR sanitizer/56454
6770 * c-common.c (handle_no_sanitize_address_attribute): New function.
6771 (c_common_attribute_table): Add no_sanitize_address attribute.
6772 (handle_no_address_safety_analysis_attribute): Add
6773 no_sanitize_address attribute, not no_address_safety_analysis
6774 attribute.
6775
a475fd3d 67762013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
6777
6778 PR target/52555
6779 * c-common.c (handle_optimize_attribute): Call
6780 save_optabs_if_changed.
6781
f6007d99
JJ
67822013-02-18 Jakub Jelinek <jakub@redhat.com>
6783 Steven Bosscher <steven@gcc.gnu.org>
6784
6785 PR pch/54117
6786 * c-opts.c (c_common_post_options): If debug info is enabled
6787 and non-dwarf*, refuse to load PCH files and when writing PCH
6788 file warn.
6789
cf35e2b1
JJ
67902013-02-05 Jakub Jelinek <jakub@redhat.com>
6791
6792 PR middle-end/56167
6793 * c-common.c (handle_error_attribute): Fix condition.
6794
32887460
JJ
67952013-01-30 Jakub Jelinek <jakub@redhat.com>
6796
6797 PR c++/55742
6798 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
6799
5af057d8
JM
68002013-01-18 Jason Merrill <jason@redhat.com>
6801
6802 PR target/54908
6803 * c.opt (-fextern-tls-init): New.
6804 * c-opts.c (c_common_post_options): Handle it.
6805
cc83c823
JJ
68062013-01-09 Jakub Jelinek <jakub@redhat.com>
6807
6808 PR c/48418
6809 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
6810 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
6811 and is either negative or bigger or equal to type precision
6812 of the first operand.
6813
a859517f
MP
68142012-12-03 Marek Polacek <polacek@redhat.com>
6815
6816 PR c/55570
6817 * c-common.c (check_user_alignment): Swap order of tests,
6818 check TREE_CODE first.
6819
2d7aa578
ESR
68202012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
6821
6822 PR c++/52654
6823 * c-common.h (overflow_type): New enum.
6824 (build_userdef_literal): Add overflow_type argument.
6825 (tree_userdef_literal): Add overflow_type.
6826 (USERDEF_LITERAL_OVERFLOW): New access macro.
6827 * c-common.c (build_userdef_literal): Add overflow_type
6828 argument.
6829 * c-lex.c (c_lex_with_flags): Add overflow_type to
6830 build_userdef_literal calls.
6831 (interpret_integer, interpret_float): Add overflow_type argument.
6832
cc3c4f62
RB
68332012-11-28 Richard Biener <rguenther@suse.de>
6834
6835 PR c/35634
6836 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
6837 here and use a type with proper overflow behavior for types that would
6838 need to be promoted for the arithmetic.
6839
77bc5132
JJ
68402012-11-23 Jakub Jelinek <jakub@redhat.com>
6841
6842 PR sanitizer/55435
6843 * c-common.c (handle_no_address_safety_analysis_attribute): New
6844 function.
6845 (c_common_attribute_table): Add no_address_safety_analysis.
6846
5dc99c46
SB
68472012-11-16 Simon Baldwin <simonb@google.com>
6848
6849 * c.opt: Add f[no-]canonical-system-headers.
6850 * c-opts.c (c_common_handle_option): Handle
6851 OPT_fcanonical_system_headers.
6852
a4a0016d
ESR
68532012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
6854
6855 PR c++/54413
6856 * c-opts.c (c_common_handle_option): Set new flags.
6857 * c.opt: Describe new flags.
6858
7dbb85a7
JM
68592012-11-09 Jason Merrill <jason@redhat.com>
6860
6861 * c.opt (Wabi-tag): New.
6862
ad7bac31
AK
68632012-11-09 Andi Kleen <ak@linux.intel.com>
6864
6865 PR 55139
6866 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 6867 MEMMODEL_MASK
ad7bac31 6868
7332899a
MLI
68692012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6870
6871 PR c/53063
6872 * c.opt (Wformat): Make it Alias Wformat=1.
6873 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
6874 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
6875 LangEnabledBy.
6876 (Wformat=): RejectNegative. Use LangEnabledBy.
6877 (Wnonnull): Use LangEnabledBy.
6878 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
6879 * c-format.c (set_Wformat): Delete.
6880 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
6881 (maybe_read_dollar_number): Likewise.
6882 (avoid_dollar_number): Likewise.
6883 (finish_dollar_format_checking): Likewise.
6884 (check_format_info): Likewise.
6885 (check_format_info_main): Likewise.
6886 (check_format_types): Likewise.
6887 (format_type_warning): Likewise.
6888 * c-common.c (int): Likewise.
6889 (check_function_sentinel): Likewise.
6890 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 6891
34a180a6
MLI
68922012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6893
6894 PR c/53063
6895 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
6896 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
6897 Use LangEnabledBy.
6898 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
6899 common.opt.
6900 (Wvariadic-macros): Init(1).
6901 * c-opts.c (c_common_handle_option): Do not handle them
6902 explicitly.
6903 (c_common_post_options): Likewise.
6904 (sanitize_cpp_opts): warn_unused_macros is now
6905 cpp_warn_unused_macros.
6906 (push_command_line_include): Likewise.
6907 * c-common.c (warn_unknown_pragmas): Do not define.
6908 * c-common.h (warn_unknown_pragmas): Do not declare.
6909
3f46d6a5
MLI
69102012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
6911
6912 PR c/51294
6913 * c-common.c (conversion_warning): Handle conditional expressions.
6914
880661a4
JW
69152012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
6916
6917 PR c++/54930
6918 * c.opt (Wreturn_local_addr): Define new option.
6919
4514a96b
JM
69202012-10-25 Jason Merrill <jason@redhat.com>
6921
f14edc1a
JM
6922 * c.opt (Wvirtual-move-assign): New.
6923
4514a96b
JM
6924 * c.opt (Winherited-variadic-ctor): New.
6925
93100c6b
MG
69262012-10-25 Marc Glisse <marc.glisse@inria.fr>
6927
6928 PR c++/54427
6929 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
6930
1efcb8c6
JM
69312012-10-23 Joseph Myers <joseph@codesourcery.com>
6932
6933 * c-common.h (pch_cpp_save_state): Declare.
6934 * c-target.def (c_preinclude): New hook.
6935 * c-opts.c (done_preinclude): New.
6936 (push_command_line_include): Handle default preincluded header.
6937 (cb_file_change): Call pch_cpp_save_state when calling
6938 push_command_line_include.
6939 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
6940 (pch_cpp_save_state): New.
6941 (pch_init): Call pch_cpp_save_state conditionally, instead of
6942 calling cpp_save_state.
6943
4a0ae68e
MLI
69442012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
6945
6946 PR c/53063
6947 PR c/40989
6948 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
6949 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
6950 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
6951 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
6952 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
6953 * c-opts.c (c_common_handle_option): Remove explicit handling from
6954 here.
6955 (c_common_post_options): Likewise.
6956
67e4210b
EB
69572012-10-18 Eric Botcazou <ebotcazou@adacore.com>
6958
6959 * c-ada-spec.c (LOCATION_COL): Delete.
6960 (compare_location): New function.
6961 (compare_node): Use it.
6962 (compare_comment): Likewise.
6963
65d4f2cd
MLI
69642012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
6965
6966 PR c/53063
6967 PR c/40989
6968 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
6969 * c-opts.c (c_common_handle_option): Do not set them here. Add
6970 comment.
6971 (c_common_post_options): Likewise.
6972
909881cb
EB
69732012-10-16 Eric Botcazou <ebotcazou@adacore.com>
6974
6975 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
6976 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
6977 Remove POINTER_TYPE handling, add large unsigned handling and use
6978 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
6979
3a785c97
JJ
69802012-10-12 Jakub Jelinek <jakub@redhat.com>
6981
6982 PR c/54381
6983 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
6984 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
6985 locs and array of 3 trees instead of just single loc and single
6986 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
6987 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
6988 For *cmp* builtins that take two sources strings report warnings
6989 about first and second source, not about destination and source.
6990
5e54f81d
MG
69912012-10-12 Marc Glisse <marc.glisse@inria.fr>
6992
6993 PR c++/53055
6994 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
6995
f5b02f1e
EB
69962012-10-11 Eric Botcazou <ebotcazou@adacore.com>
6997
6998 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
6999 declaring something coming from another file.
7000
b46dbc6c
AC
70012012-10-10 Arnaud Charlet <charlet@adacore.com>
7002
f5b02f1e 7003 PR ada/54845
b46dbc6c
AC
7004 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
7005
5d9de0d0
PC
70062012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
7007
7008 PR c++/54194
7009 * c-common.c (warn_about_parentheses): Add location_t parameter;
7010 use EXPR_LOC_OR_LOC.
7011 * c-common.h: Update declaration.
7012
a212e43f
MG
70132012-10-09 Marc Glisse <marc.glisse@inria.fr>
7014
7015 PR c++/54427
7016 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
7017 more operations. Make error messages optional.
7018 * c-common.h (enum stv_conv): Moved from c-typeck.c.
7019 (scalar_to_vector): Declare.
7020
b1db7f91
JM
70212012-10-08 Jason Merrill <jason@redhat.com>
7022
7023 * c-common.c (c_common_reswords): Add thread_local.
7024
e28d52cf
DS
70252012-10-08 Dodji Seketeli <dodji@redhat.com>
7026
7027 PR c++/53528 C++11 attribute support
7028 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
7029 new functions.
7030 * c-common.c (check_cxx_fundamental_alignment_constraints): New
7031 static function.
7032 (handle_aligned_attribute): In choose strictest alignment
7033 among many. Use new check_cxx_fundamental_alignment_constraints.
7034 (handle_transparent_union_attribute): In c++11 attribute syntax,
7035 don't look through typedefs.
7036
3b78de56
AC
70372012-10-04 Arnaud Charlet <charlet@adacore.com>
7038
7039 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
7040 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
7041 out of dumpfile.h.
7042
6040bb5f
DC
70432012-09-25 Dehao Chen <dehao@google.com>
7044
7045 PR middle-end/54645
3b78de56 7046 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
7047 map when read in the pch.
7048
3f8257db 70492012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
7050
7051 * c-ada-spec.c: Style fixes.
7052
3f8257db 70532012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
7054
7055 * c.opt (-fada-spec-parent): Define new command line switch.
7056 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
7057 is specified, generate binding spec as a child of the specified unit.
7058
0ccb505d
PC
70592012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
7060 Manuel López-Ibáñez <manu@gcc.gnu.org>
7061
7062 PR c++/53210
7063 * c.opt ([Winit-self]): Enabled by -Wall in C++.
7064
c583af79
AC
70652012-08-23 Arnaud Charlet <charlet@adacore.com>
7066
7067 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
7068 for pointers, and add missing Convention C pragma.
7069 (print_ada_struct_decl): Add missing aliased keyword.
7070 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
7071
1a4049e7
JJ
70722012-08-17 Jakub Jelinek <jakub@redhat.com>
7073
7074 * c-common.c (sizeof_pointer_memaccess_warning): New function.
7075 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
7076 * c-opts.c (c_common_handle_option): Enable it for -Wall.
7077 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
7078 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
7079
70b5e7dc
RG
70802012-08-10 Richard Guenther <rguenther@suse.de>
7081
7082 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
7083
f8923f7e
SB
70842012-08-07 Steven Bosscher <steven@gcc.gnu.org>
7085
7086 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
7087 instead of separate pp_newline and pp_flush.
7088 (print_c_tree): Likewise.
7089
e45abe1f
RH
70902012-07-26 Richard Henderson <rth@redhat.com>
7091
7092 * c-common.c (handle_hot_attribute): Allow labels.
7093 (handle_cold_attribute): Likewise.
7094
332f1d24
JJ
70952012-07-20 Jakub Jelinek <jakub@redhat.com>
7096
7097 PR c++/28656
7098 * c-common.c (check_function_nonnull): Handle multiple nonnull
7099 attributes properly.
7100
7ee2468b
SB
71012012-07-16 Steven Bosscher <steven@gcc.gnu.org>
7102
7103 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
7104 * c-ada-spec.c: Likewise.
7105 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
7106
ee7b28eb
SB
71072012-07-14 Steven Bosscher <steven@gcc.gnu.org>
7108
7109 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
7110 Remove code conditional on it.
7111
6bdf3519
SB
71122012-07-11 Steven Bosscher <steven@gcc.gnu.org>
7113
7114 * c-gimplify.c: Do not include basic-block.h.
7115 * c-common.c: Do not include linfuncs.h.
7116
532aafad
SB
71172012-07-08 Steven Bosscher <steven@gcc.gnu.org>
7118
7119 * c-common.h: Include tree.h.
7120
8d0d1915
JM
71212012-07-02 Jason Merrill <jason@redhat.com>
7122
7123 PR c++/53524
7124 * c-common.c (get_priority): Call default_conversion.
7125
fbc873ad
UB
71262012-07-01 Uros Bizjak <ubizjak@gmail.com>
7127
7128 * c-pch.c (c_common_write_pch): Remove unused variables.
7129
d4a10d0a
SB
71302012-06-29 Steven Bosscher <steven@gcc.gnu.org>
7131
7132 * cppspec.c: Moved from gcc/ to here.
7133
6f3a2e23
KT
71342012-06-27 Kai Tietz <ktietz@redhat.com>
7135
7136 PR preprocessor/37215
7137 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
7138
8ca92d04
SB
71392012-06-21 Steven Bosscher <steven@gcc.gnu.org>
7140
7141 * c-common.h (c_common_print_pch_checksum): Remove.
7142 * c-pch.c: Do not include output.h.
7143 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
7144 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
7145 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
7146 (struct c_pch_header): Remove.
7147 (get_ident): Update gpch version.
7148 (pch_init): Do not print executable_checksum to asm_out_file.
7149 Do not fail if there is no asm_out_file to read back from. Set
7150 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
7151 (c_common_write_pch): Verify that nothing was written to asm_out_file
7152 since pch_init was called. Do not write a c_pch_header, and do not
7153 copy from asm_out_file to the PCH.
7154 (c_common_read_pch): Do not read a c_pch_header, and do not restore
7155 the content of asm_out_file from the PCH.
7156 (c_common_print_pch_checksum): Remove.
7157 * c-opts.c (c_common_init): Print out executable_checksum directly.
7158
70f42967
SB
71592012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7160
7161 * c-target.def (objc_declare_unresolved_class_reference,
7162 objc_declare_class_definition): Add new hooks.
7163
a8781821
SB
71642012-06-19 Steven Bosscher <steven@gcc.gnu.org>
7165
7166 * c-lex.c: Do not include output.h.
7167 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
7168 Remove uses of ASM_OUTPUT_IDENT.
7169
9e1a8dd1
RR
71702012-06-15 Marc Glisse <marc.glisse@inria.fr>
7171
7172 PR c++/51033
7173 * c-common.h (c_build_vec_perm_expr): Move decl here.
7174 * c-common.c (c_build_vec_perm_expr): Move definition
7175 here.
7176
6f07a821
SB
71772012-06-06 Steven Bosscher <steven@gcc.gnu.org>
7178
7179 * c.opt (fconserve-space): Turn into a no-op.
7180
9faeb493 71812012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
7182
7183 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
7184 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
7185 both the start and end of the function.
7186
a4b7d13c
SB
71872012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7188
7189 * c-common.c: Do not include output.h.
7190 * c-pragma.c: Likewise.
7191
c265f413
SA
71922012-06-04 Steven Bosscher <steven@gcc.gnu.org>
7193
7194 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
7195 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
7196 (lang_decl_name): Handle namespace decls.
7197
be7a421e
SB
71982012-05-31 Steven Bosscher <steven@gcc.gnu.org>
7199
7200 * c-ada-spec.c: Do not include output.h.
7201 * c-semantics.c: Likewise.
7202
65de6659
JM
72032012-05-29 Joseph Myers <joseph@codesourcery.com>
7204
7205 * c-common.c: Fix typo.
7206
ca5f4331
MM
72072012-05-29 Michael Matz <matz@suse.de>
7208
7209 * c-common.h (c_expand_decl): Remove prototype.
7210
4f7f7aca
MLI
72112012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7212
7213 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
7214 * c-opts.c (c_common_handle_option): Remove code handling
7215 warn_missing_braces.
7216
4a792f9b
PC
72172012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
7218
7219 PR c++/25137
7220 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
7221 -Wmissing_braces.
7222
650dc14a
DS
72232012-05-22 Dodji Seketeli <dodji@redhat.com>
7224
7225 PR c++/53322
7226 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
7227
9b095bf1
MLI
72282012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
7229
7230 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
7231 * c-opts.c (c_common_handle_option): Do not handle explicitly
7232 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
7233
0b2c4be5
DS
72342012-05-16 Dodji Seketeli <dodji@redhat.com>
7235
7236 PR preprocessor/7263
7237 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
7238 to cpp_classify_number. For diagnostics, use the precise location
7239 instead of the global input_location.
7240
a1bde5af
PC
72412012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7242
d02924ef 7243 PR c++/11856
a1bde5af
PC
7244 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
7245
d1ede5f4
BS
72462012-05-14 Bernd Schmidt <bernds@codesourcery.com>
7247
a1bde5af 7248 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 7249
f2bc201f
MLI
72502012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
7251
7252 PR 53063
7253 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
7254 Wreorder): Use LangEnabledBy.
7255 * c-opts.c (c_common_handle_option): Do not enable them
7256 explicitly. Call lang-specific generated functions.
7257 (c_common_post_options): Do not set them here.
7258
95744782
MLI
72592012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
7260
7261 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
7262 Wmissing-field-initializers,Wmissing-parameter-type,
7263 Wold-style-declaration,Woverride-init): Use EnabledBy.
7264 * c-opts.c (c_common_post_options): Do not set here explicitly.
7265
7d5a5747
MLI
72662012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7267
7268 PR 53063
7269 * c-opts.c (c_common_handle_option): Use handle_generated_option
7270 to enable sub-options.
7271
5a3c9cf2
PC
72722012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
7273
7274 PR c++/53158
7275 * c-common.c (warnings_for_convert_and_check): Use warning_at.
7276
3ac8781c
RG
72772012-05-10 Richard Guenther <rguenther@suse.de>
7278
7279 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
7280 adjust commentary about TYPE_IS_SIZETYPE types.
7281
1e537948
MLI
72822012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7283
7284 PR c++/53261
7285 * c-common.c (warn_logical_operator): Check that argument of
7286 integer_zerop is not NULL.
7287
f2c4a785
MLI
72882012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
7289
7290 PR c/43772
7291 * c-common.c (warn_logical_operator): Do not warn if either side
7292 is already true or false.
7293
50f305ca
MLI
72942012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7295
7296 PR c/51712
7297 * c-common.c (expr_original_type): New.
7298 (shorten_compare): Do not warn for enumeration types.
7299
0c3641b0
MLI
73002012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7301
7302 * c.opt (fpermissive): Add Var(flag_permissive).
7303
7edaa4d2
MG
73042012-04-30 Marc Glisse <marc.glisse@inria.fr>
7305
7306 PR c++/51033
7307 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
7308 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
7309
b9c8da34
DS
73102012-04-30 Dodji Seketeli <dodji@redhat.com>
7311
7312 Add -Wvarargs option
7313 * c.opt (Wvarargs): Define new option.
7314
e6c69da0
MLI
73152012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7316
7317 * c-common.c (check_function_arguments): Replace
7318 Wmissing-format-attribute with Wsuggest-attribute=format.
7319
90137d8f
MLI
73202012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7321
7322 * c.opt (Wsuggest-attribute=format): New. Alias of
7323 Wmissing-format-attribute.
7324 * c-format.c (decode_format_type): Replace
7325 Wmissing-format-attribute with Wsuggest-attribute=format.
7326 (check_function_format): Likewise.
7327
9faeb493 73282012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
7329
7330 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
7331 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
7332 * c.opt: Add Wliteral-suffix.
7333
c1771a20
MLI
73342012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7335
7336 PR c/44774
7337 * c.opt (Wpedantic): New.
7338 (pedantic): Alias Wpedantic.
7339 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
7340 (c_common_post_options): Likewise.
7341 (sanitize_cpp_opts): Likewise.
7342 * c-lex.c (interpret_float): Likewise.
7343 * c-format.c (check_format_types): Likewise.
7344 * c-common.c (pointer_int_sum): Likewise.
7345 (c_sizeof_or_alignof_type): Likewise.
7346 (c_add_case_label): Likewise.
7347 (c_do_switch_warnings): Likewise.
7348 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7349
04b391c1
JM
73502012-04-15 Jason Merrill <jason@redhat.com>
7351
7352 PR c++/52818
7353 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
7354 (C_STD_NAME): Distinguish between C++98 and C++11.
7355
ac868f29
EB
73562012-04-11 Eric Botcazou <ebotcazou@adacore.com>
7357
7358 PR target/52624
7359 * c-common.h (uint16_type_node): Rename into...
7360 (c_uint16_type_node): ...this.
7361 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
7362 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
7363
fd4116f4
MLI
73642012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
7365
7366 * c-common.c (warn_if_unused_value): Move definition to here.
7367 * c-common.h (warn_if_unused_value): Move declaration to here.
7368
573ac65e
WB
73692012-03-23 William Bader <williambader@hotmail.com>
7370
7371 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
7372
552b8185
JM
73732012-03-20 Jason Merrill <jason@redhat.com>
7374
7375 * c-common.h (enum cxx_dialect): Add cxx1y.
7376 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
7377 test.
7378 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
7379 * c-opts.c (c_common_post_options): Likewise.
7380 (set_std_cxx1y): New.
7381 (c_common_handle_option): Call it.
7382 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
7383
04398fa8
PC
73842012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
7385
7386 PR c++/14710
7387 * c.opt ([Wuseless-cast]): Add.
7388
d2a12ae7
RG
73892012-03-16 Richard Guenther <rguenther@suse.de>
7390
7391 * c-pretty-print.c (pp_c_initializer_list): Adjust.
7392
a12bf402
MLI
73932012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7394
7395 PR c++/44783
7396 * c.opt (ftemplate-backtrace-limit) Add.
7397
5c30094f
RO
73982012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7399
7400 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
7401 handling.
7402 * c-pragma.c (handle_pragma_extern_prefix): Remove.
7403 (init_pragma): Don't register extern_prefix.
7404
21fa2faf
RG
74052012-03-12 Richard Guenther <rguenther@suse.de>
7406
7407 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
7408 (builtin_type_for_size): Likewise.
7409
e3793c6f
JJ
74102012-02-13 Jakub Jelinek <jakub@redhat.com>
7411
7412 PR c++/52215
7413 * c-common.c (sync_resolve_params): Don't decide whether to convert
7414 or not based on TYPE_SIZE comparison, convert whenever arg_type
7415 is unsigned INTEGER_TYPE.
7416
93286335
PC
74172012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
7418
7419 PR c/52118
7420 * c.opt ([Wunused-local-typedefs]): Fix description.
7421
7a421706
MS
74222012-01-24 Mike Stump <mikestump@comcast.net>
7423
7424 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
7425 exactly.
7426
ba9b1f11
RG
74272012-01-18 Richard Guenther <rguenther@suse.de>
7428
7429 * c-opts.c (c_common_post_options): Reset LTO flags if
7430 we are about to generate a PCH.
7431
465406be
PC
74322012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
7433
7434 PR c++/51777
7435 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
7436 use pp_unsigned_wide_integer.
7437
aee15221
RG
74382012-01-10 Richard Guenther <rguenther@suse.de>
7439
7440 PR middle-end/51806
7441 * c-opts.c (c_common_handle_option): Move -Werror handling
7442 to language independent code.
7443
5720c0dc
RG
74442012-01-05 Richard Guenther <rguenther@suse.de>
7445
7446 PR middle-end/51764
7447 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
7448 from common.opt.
7449
73ac190a
PC
74502011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
7451
7452 PR c++/51316
7453 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
7454 of array types with an unknown bound.
7455
48b0b196
JM
74562011-12-20 Joseph Myers <joseph@codesourcery.com>
7457
7458 * c-common.c (flag_isoc99): Update comment to refer to C11.
7459 (flag_isoc1x): Change to flag_isoc11.
7460 * c-common.h (flag_isoc99): Update comment to refer to C11.
7461 (flag_isoc1x): Change to flag_isoc11.
7462 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
7463 C11.
7464 * c-opts.c (set_std_c1x): Change to set_std_c11.
7465 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
7466 Call set_std_c11.
7467 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
7468 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
7469 * c.opt (std=c1x): Change to std=c11. Document as non-draft
7470 standard.
7471 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
7472 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
7473 (std=gnu1x): Make alias of std=gnu11.
7474
d58d6eb5
JM
74752011-12-19 Jason Merrill <jason@redhat.com>
7476
7477 PR c++/51228
7478 * c-common.c (handle_transparent_union_attribute): Check the first
7479 field if the type is complete.
7480
b3908fcc
JW
74812011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
7482
7483 PR libstdc++/51365
7484 * c-common.c (RID_IS_FINAL): Add.
7485 * c-common.h (RID_IS_FINAL): Add.
7486
fea3ca91
IS
74872011-11-30 Iain Sandoe <iains@gcc.gnu.org>
7488
7489 * c.opt (fgnu-runtime): Provide full description.
7490 (fnext-runtime): Likewise.
7491 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
7492
62bad7cd
AM
74932011-11-28 Andrew MacLeod <amacleod@redhat.com>
7494
7495 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
7496 predefines in one place. Add LOCK_FREE predefines.
7497 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
7498 new func.
7499
c466c4ff
AM
75002011-11-24 Andrew MacLeod <amacleod@redhat.com>
7501
7502 PR c/51256
9faeb493 7503 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 7504 conditions
9faeb493
UB
7505 (resolve_overloaded_atomic_exchange,
7506 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
7507 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
7508 error_mark_node for error conditions.
9faeb493 7509
a5952633
RG
75102011-11-08 Richard Guenther <rguenther@suse.de>
7511
7512 PR middle-end/51010
7513 c-family/
7514
0a35513e
AH
75152011-11-07 Richard Henderson <rth@redhat.com>
7516 Aldy Hernandez <aldyh@redhat.com>
7517 Torvald Riegel <triegel@redhat.com>
7518
7519 Merged from transactional-memory.
7520
7521 * c-common.c (handle_tm_wrap_attribute,
7522 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
7523 (struct c_common_reswords): Added __transaction* keywords.
7524 (struct c_common_attribute_table): Added transaction* and tm_regparm
7525 attributes.
7526 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
7527 masks.
7528 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
7529 find_tm_attribute): Declare.
7530
6d87092d
JM
75312011-11-07 Jason Merrill <jason@redhat.com>
7532
7533 PR c++/35688
7534 * c-common.c, c-common.h: Revert yesterday's changes.
7535
8e7860a1
JM
75362011-11-06 Jason Merrill <jason@redhat.com>
7537
7538 PR c++/35688
7539 * c-common.c (decl_has_visibility_attr): Split out from...
7540 (c_determine_visibility): ...here.
7541 * c-common.h: Declare it.
7542
d19fa6b5
JM
75432011-11-06 Joseph Myers <joseph@codesourcery.com>
7544
7545 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
7546 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
7547 type.
7548 (check_user_alignment): New. Split out of
7549 handle_aligned_attribute. Disallow integer constants with
7550 noninteger types. Conditionally allow zero.
7551 (handle_aligned_attribute): Use check_user_alignment.
7552 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
7553
86951993
AM
75542011-11-06 Andrew MacLeod <amacleod@redhat.com>
7555 Richard Henderson <rth@redhat.com>
7556
7557 Merged from cxx-mem-model.
7558
7559 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 7560 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
7561 parameters that are the same type size.
7562 (get_atomic_generic_size): New. Find size of generic
7563 atomic function parameters and do typechecking.
7564 (add_atomic_size_parameter): New. Insert size into parameter list.
7565 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
7566 either __atomic_exchange_n or external library call.
9faeb493 7567 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 7568 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 7569 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
7570 __atomic_load_n or an external library call.
7571 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
7572 __atomic_store_n or an external library call.
7573 (resolve_overloaded_builtin): Handle new __atomic builtins.
7574
cf9e9959
EB
75752011-11-04 Eric Botcazou <ebotcazou@adacore.com>
7576
7577 PR c++/50608
7578 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
7579 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
7580 <INDIRECT_REF>: Return the argument.
7581 <ARRAY_REF>: Remove special code for negative offset.
7582 Call fold_build_pointer_plus instead of size_binop.
7583 (fold_offsetof): Remove STOP_REF argument and adjust.
7584 * c-common.h (fold_offsetof_1): Declare.
7585 (fold_offsetof): Remove STOP_REF argument.
7586
25339f10
JM
75872011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
7588
7589 PR c++/50810
7590 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7591 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7592 Wnarrowing for C++0x and C++98.
7593 * c.opt ([Wnarrowing]): Update.
7594
89401152
PC
75952011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
7596
7597 PR c++/44277
7598 * c.opt: Add Wzero-as-null-pointer-constant.
7599
97e3ad20
JM
76002011-10-31 Jason Merrill <jason@redhat.com>
7601
15694fdd
JM
7602 * c.opt (-fdeduce-init-list): Off by default.
7603
97e3ad20
JM
7604 PR c++/50920
7605 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
7606 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
7607 and -Wc++11-compat.
7608 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
7609
fb9120e3
RAV
76102011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
7611
7612 PR c++/30066
7613 * c.opt (fvisibility-inlines-hidden): Description change.
7614
3ce4f9e4
ESR
76152011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
7616
7617 Implement C++11 user-defined literals.
7618 * c-common.c (build_userdef_literal): New.
7619 * c-common.def: New tree code.
7620 * c-common.h (tree_userdef_literal): New tree struct and accessors.
7621 * c-lex.c (interpret_float): Add suffix parm.
7622 (c_lex_with_flags): Build literal tokens.
7623
5f53c243
PC
76242011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7625
7626 PR c++/50841
7627 Revert:
7628 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7629
7630 PR c++/50810
7631 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7632 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7633 Wnarrowing for C++0x and C++98.
7634 * c.opt ([Wnarrowing]): Update.
7635
263734e1
PC
76362011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
7637
7638 PR c++/50810
7639 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
7640 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
7641 Wnarrowing for C++0x and C++98.
7642 * c.opt ([Wnarrowing]): Update.
7643
d2e312d7
PC
76442011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
7645
7646 PR c++/45385
7647 * c-common.c (conversion_warning): Remove code looking for
7648 artificial operands.
7649
d17687f6
DS
76502011-10-18 Dodji Seketeli <dodji@redhat.com>
7651
7652 PR bootstrap/50760
7653 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 7654 !NO_IMPLICIT_EXTERN_C.
d17687f6 7655
fc8396e9
PC
76562011-10-17 Michael Spertus <mike_spertus@symantec.com>
7657
7658 * c-common.c (c_common_reswords): Add __bases,
7659 __direct_bases.
7660 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
7661
76622011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
7663
7664 PR c++/50757
7665 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
7666
847e697a
TT
76672011-10-15 Tom Tromey <tromey@redhat.com>
7668 Dodji Seketeli <dodji@redhat.com>
7669
7670 * c.opt (fdebug-cpp): New option.
7671 * c-opts.c (c_common_handle_option): Handle the option.
7672 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
7673 output stream in parameter. Factorized from ...
7674 (maybe_print_line): ... this. Dump location debug information when
7675 -fdebug-cpp is in effect.
7676 (print_line_1): New static function. Takes an output stream in
7677 parameter. Factorized from ...
7678 (print_line): ... here. Dump location information when -fdebug-cpp
7679 is in effect.
7680 (scan_translation_unit): Dump location information when
7681 -fdebug-cpp is in effect.
7682
92582b75
TT
76832011-10-15 Tom Tromey <tromey@redhat.com>
7684 Dodji Seketeli <dodji@redhat.com>
7685
7686 * c.opt (ftrack-macro-expansion): New option. Handle it with and
7687 without argument.
7688 * c-opts.c (c_common_handle_option)<case
7689 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
7690 cases. Handle -ftrack-macro-expansion with and without argument.
7691
46427374
TT
76922011-10-15 Tom Tromey <tromey@redhat.com>
7693 Dodji Seketeli <dodji@redhat.com>
7694
7695 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
7696 (print_line, cb_define, do_line_change): Adjust to avoid touching
7697 the internals of struct line_map. Use the public API instead.
7698 * c-pch.c (c_common_read_pch): Likewise.
7699 * c-lex.c (fe_file_change): Likewise.
7700
fc8396e9
PC
77012011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
7702
7703 PR c++/17212
7704 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
7705
77062011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
7707
7708 PR c++/33067
7709 * c-pretty-print.c (pp_c_floating_constant): Output
7710 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
7711
e79983f4
MM
77122011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7713
7714 * c-common.c (def_builtin_1): Delete old interface with two
7715 parallel arrays to hold standard builtin declarations, and replace
7716 it with a function based interface that can support creating
7717 builtins on the fly in the future. Change all uses, and poison
7718 the old names. Make sure 0 is not a legitimate builtin index.
7719 * c-omp.c (c_finish_omp_barrier): Ditto.
7720 (c_finish_omp_taskwait): Ditto.
7721 (c_finish_omp_flush): Ditto.
7722
6637388f
TG
77232011-10-11 Tristan Gingold <gingold@adacore.com>
7724
7725 * c.opt: (fallow-parameterless-variadic-functions): New.
7726
3797cb21
DS
77272011-09-08 Dodji Seketeli <dodji@redhat.com>
7728
7729 PR c++/33255 - Support -Wunused-local-typedefs warning
7730 * c-common.h (struct c_language_function::local_typedefs): New
7731 field.
9faeb493
UB
7732 (record_locally_defined_typedef, maybe_record_typedef_use)
7733 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 7734 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
7735 (maybe_record_typedef_use)
7736 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
7737 * c.opt: Declare new -Wunused-local-typedefs flag.
7738
693ddb1b
EB
77392011-09-06 Eric Botcazou <ebotcazou@adacore.com>
7740
7741 PR middle-end/50266
7742 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
7743 computations.
7744
830c740f
RG
77452011-09-05 Richard Guenther <rguenther@suse.de>
7746
7747 * c-common.c (complete_array_type): Use ssize_int (-1) instead
7748 of integer_minus_one_node for empty array upper bounds.
7749
892a371f
DS
77502011-08-28 Dodji Seketeli <dodji@redhat.com>
7751
7752 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
7753 it's the first time it's being called on this main TU.
7754
0e3fdb48
RB
77552011-08-24 Richard Guenther <rguenther@suse.de>
7756
7757 PR c/49396
7758 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
7759
77602011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
7761
7762 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
7763 defined in cpp_init_builtins and c_cpp_builtins.
7764
d4a83c10
JM
77652011-08-19 Joseph Myers <joseph@codesourcery.com>
7766
7767 * c-common.c (c_common_reswords): Add __builtin_complex.
7768 * c-common.h (RID_BUILTIN_COMPLEX): New.
7769
bbceee64
JM
77702011-08-18 Joseph Myers <joseph@codesourcery.com>
7771
7772 * c-common.c (c_common_reswords): Add _Noreturn.
7773 (keyword_is_function_specifier): Handle RID_NORETURN.
7774 * c-common.h (RID_NORETURN): New.
7775
3f8257db 77762011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
7777
7778 * c-common.c (unsafe_conversion_p): New function. Check if it is
7779 unsafe to convert an expression to the type.
7780 (conversion_warning): Adjust, use unsafe_conversion_p.
7781 * c-common.h (unsafe_conversion_p): New function declaration.
7782
20906c66
JJ
77832011-08-02 Jakub Jelinek <jakub@redhat.com>
7784
7785 * c-common.h (c_finish_omp_atomic): Adjust prototype.
7786 (c_finish_omp_taskyield): New prototype.
7787 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
7788 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
7789 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
7790 or RHS1 have side-effects, evaluate those too in the right spot,
7791 if it is a decl and LHS is also a decl, error out if they
7792 aren't the same.
7793 (c_finish_omp_taskyield): New function.
7794 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
7795 * c-pragma.c (omp_pragmas): Add taskyield.
7796 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
7797 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
7798 PRAGMA_OMP_CLAUSE_MERGEABLE.
7799
770e5a2e
DS
78002011-07-25 Dodji Seketeli <dodji@redhat.com>
7801
7802 * c-common.h (set_underlying_type): Remove parm name from
7803 declaration.
7804
1baae426
RG
78052011-07-25 Romain Geissler <romain.geissler@gmail.com>
7806
7807 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 7808
fcb21722
JM
78092011-07-22 Jason Merrill <jason@redhat.com>
7810
76f86d00
JM
7811 PR c++/49793
7812 * c.opt (Wnarrowing): New.
7813
3a636414
JM
7814 PR c++/30112
7815 * c-common.h: Declare c_linkage_bindings.
7816 * c-pragma.c (handle_pragma_redefine_extname): Use it.
7817
fcb21722
JM
7818 PR c++/49813
7819 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
7820 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
7821 as flag_isoc99 for 'restrict'.
7822 (pp_c_specifier_qualifier_list): Likewise for _Complex.
7823
02614448
ILT
78242011-07-21 Ian Lance Taylor <iant@google.com>
7825
7826 PR middle-end/49705
7827 * c-common.c (c_disable_warnings): New static function.
7828 (c_enable_warnings): New static function.
7829 (c_fully_fold_internal): Change local unused_p to bool. Call
7830 c_disable_warnings and c_enable_warnings rather than change
7831 c_inhibit_evaluation_warnings.
7832
34429675
JM
78332011-07-20 Jason Merrill <jason@redhat.com>
7834
7835 PR c++/6709 (DR 743)
7836 PR c++/42603 (DR 950)
7837 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
7838 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
7839 (CPP_DECLTYPE): New.
7840 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
7841
5d49b6a7
RG
78422011-07-19 Richard Guenther <rguenther@suse.de>
7843
7844 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
7845 * c-omp.c (c_finish_omp_for): Likewise.
7846
e84a58ff
EB
78472011-07-12 Eric Botcazou <ebotcazou@adacore.com>
7848
7849 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
7850 body on the next line.
7851
329af3c7
JM
78522011-07-08 Jason Merrill <jason@redhat.com>
7853
4063e61b
JM
7854 PR c++/45437
7855 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
7856
329af3c7
JM
7857 PR c++/49673
7858 * c-common.c (c_apply_type_quals_to_decl): Don't check
7859 TYPE_NEEDS_CONSTRUCTING.
7860
1a072294
RG
78612011-07-06 Richard Guenther <rguenther@suse.de>
7862
7863 * c-common.c (c_common_nodes_and_builtins):
7864 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
7865
fce5dddd
RG
78662011-07-05 Richard Guenther <rguenther@suse.de>
7867
7868 * c-common.c (c_common_nodes_and_builtins): Build all common
7869 tree nodes first.
7870
45d439ac
JJ
78712011-06-27 Jakub Jelinek <jakub@redhat.com>
7872
56300785
JJ
7873 * c-common.h (c_tree_chain_next): New static inline function.
7874
45d439ac
JJ
7875 * c-common.c (check_builtin_function_arguments): Handle
7876 BUILT_IN_ASSUME_ALIGNED.
7877
e0a8ecf2
AM
78782011-06-21 Andrew MacLeod <amacleod@redhat.com>
7879
7880 * c-common.c: Add sync_ or SYNC__ to builtin names.
7881 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
7882
78832011-06-20 Pierre Vittet <piervit@pvittet.com>
7884
7885 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
7886 handler.
7887 (gen_pragma_handler): New union.
7888 (internal_pragma_handler): New type.
7889 (c_register_pragma_with_data)
7890 (c_register_pragma_with_expansion_and_data): New functions.
7891
7892 * c-pragma.c (registered_pragmas, c_register_pragma_1)
7893 (c_register_pragma, c_register_pragma_with_expansion)
7894 (c_invoke_pragma_handler): Changed to work with
7895 internal_pragma_handler.
7896 (c_register_pragma_with_data)
7897 (c_register_pragma_with_expansion_and_data): New functions.
7898
677f3fa8
JM
78992011-06-14 Joseph Myers <joseph@codesourcery.com>
7900
7901 * c-common.c: Include common/common-target.h.
7902 (handle_section_attribute): Use
7903 targetm_common.have_named_sections.
7904 * c-cppbuiltin.c: Include common/common-target.h.
7905 (c_cpp_builtins): Use targetm_common.except_unwind_info.
7906
d7fc8c14
RG
79072011-06-10 Richard Guenther <rguenther@suse.de>
7908
7909 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
7910 to print a IDENTIFIER_NODE.
7911
10e48e39
RO
79122011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7913 Joseph Myers <joseph@codesourcery.com>
7914
7915 * c.opt (fbuilding-libgcc): New option.
7916 * c-cppbuiltin.c (c_cpp_builtins): Define
7917 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
7918
6976ae51
JM
79192011-06-07 Jason Merrill <jason@redhat.com>
7920
3ff60975
JM
7921 * c-common.c (max_tinst_depth): Lower default to 900.
7922
6976ae51
JM
7923 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
7924
009db074
RG
79252011-06-07 Richard Guenther <rguenther@suse.de>
7926
7927 * c-common.c (c_common_nodes_and_builtins): Do not set
7928 size_type_node or call set_sizetype.
7929
b4592b92
DS
79302011-06-07 Dodji Seketeli <dodji@redhat.com>
7931
7932 PR debug/49130
7933 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 7934 type when using pointer comparison to compare types.
b4592b92 7935
014ab419
JW
79362011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
7937
7938 * c.opt: Add -Wdelete-non-virtual-dtor.
7939 * c-opts.c (c_common_handle_option): Include it in -Wall.
7940
4f60111f
NF
79412011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
7942
7943 PR bootstrap/49190
7944
7945 Revert:
7946 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7947
7948 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7949 not tree_common.
7950
4cc4f2f4
JJ
79512011-05-27 Jakub Jelinek <jakub@redhat.com>
7952
7953 PR c++/49165
7954 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
7955 C++ don't call c_common_truthvalue_conversion on void type arms.
7956
38e01f9e
NF
79572011-05-27 Nathan Froyd <froydnj@codesourcery.com>
7958
7959 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
7960 (stmt_list_stack): Define.
7961 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
7962 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
7963
92e948a8
NF
79642011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7965
7966 * c-common.c (warning_candidate_p): Check for BLOCKs.
7967
a2fc3e63
NF
79682011-05-26 Nathan Froyd <froydnj@codesourcery.com>
7969
7970 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
7971 not tree_common.
7972
0957c029
JJ
79732011-05-25 Jakub Jelinek <jakub@redhat.com>
7974
7975 * c-common.c (def_fn_type): Remove extra va_end.
7976
828fb3ba
JM
79772011-05-23 Jason Merrill <jason@redhat.com>
7978
7979 PR c++/48106
7980 * c-common.c (c_common_get_narrower): New.
7981 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
7982
dde05067
NF
79832011-05-23 Nathan Froyd <froydnj@codesourcery.com>
7984
7985 * c-common.h (check_function_arguments): Tweak prototype of
7986 check_function_arguments.
7987 * c-common.c (check_function_arguments): Likewise. Adjust
7988 calls to check_function_nonnull, check_function_format, and
7989 check_function_sentinel.
7990 (check_function_sentinel): Take a FUNCTION_TYPE rather than
7991 separate attributes and typelist arguments. Use
7992 FOREACH_FUNCTION_ARGS to iterate over argument types.
7993
3c0d13bf
PC
79942011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
7995
7996 * c-common.c (c_common_reswords): Reorder.
7997 * c-common.h (rid): Likewise.
7998
8242dd04
NF
79992011-05-10 Nathan Froyd <froydnj@codesourcery.com>
8000
8001 * c-common.c (def_fn_type): Don't call build_function_type, call
8002 build_function_type_array or build_varargs_function_type_array
8003 instead.
8004 (c_common_nodes_and_builtins): Likewise.
8005
3d528853
NF
80062011-05-05 Nathan Froyd <froydnj@codesourcery.com>
8007
8008 * c-common.c (c_add_case_label): Omit the loc argument to
8009 build_case_label.
8010 * c-common.h (build_case_label): Remove.
8011 * c-semantics.c (build_case_label): Remove.
8012
a04a722b
JM
80132011-05-05 Joseph Myers <joseph@codesourcery.com>
8014
8015 * c-objc.h (objc_start_method_definition): Update prototype.
8016 * stub-objc.c (objc_start_method_definition): Add extra parameter.
8017
e19a18d4
NF
80182011-05-04 Nathan Froyd <froydnj@codesourcery.com>
8019
8020 * c-common.c (check_main_parameter_types): Reindent. Don't use
8021 TYPE_ARG_TYPES directly.
8022 (handle_nonnull_attribute): Likewise.
8023 (sync_resolve_params): Likewise.
8024 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
8025 to check_format_string.
8026 (handle_format_attribute): Likewise.
8027 (check_format_string): Take a function type to examine instead of
8028 a type list. Use a function_arg_iterator to step through argument
8029 types.
8030
c62c040f
RG
80312011-05-04 Richard Guenther <rguenther@suse.de>
8032
8033 * c-common.c (fix_string_type): Use size_int for index type bounds.
8034 (start_fname_decls): Do not pass NULL to build_int_cst.
8035 (c_init_attributes): Likewise.
8036 * c-lex.c (c_lex_with_flags): Likewise.
8037
c12ff9d8
JM
80382011-04-27 Jason Merrill <jason@redhat.com>
8039
8040 * c-common.c (make_tree_vector_from_list): New.
8041 * c-common.h: Declare it.
8042
304dfbe3
RG
80432011-04-26 Richard Guenther <rguenther@suse.de>
8044
8045 PR preprocessor/48248
8046 * c-ppoutput.c (maybe_print_line): Always optimize newlines
8047 for output size with -P.
8048
3c0d13bf
PC
80492011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
8050
8051 * c-common.c (struct c_common_resword): Add __underlying_type.
8052 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
8053
04695783
JM
80542011-04-20 Jim Meyering <meyering@redhat.com>
8055
8056 * c-format.c (init_dollar_format_checking): Remove useless
8057 if-before-free.
8058
0dc33c3c
NP
80592011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
8060
8061 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 8062 (objc_detect_field_duplicates): New.
0dc33c3c 8063 * stub-objc.c: Likewise.
3c0d13bf 8064
c59633d9
NP
80652011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8066
8067 * stub-objc.c (objc_declare_protocols): Renamed to
8068 objc_declare_protocol.
8069 * c-objc.h: Likewise.
3c0d13bf 8070
32dabdaf
NP
80712011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
8072
8073 * stub-objc.c (objc_declare_class): Updated argument name.
8074
81f653d6
NF
80752011-04-12 Nathan Froyd <froydnj@codesourcery.com>
8076
8077 * c-common.h (c_common_init_ts): Declare.
8078 * c-common.c (c_common_init_ts): Define.
8079
eb345401
NP
80802011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
8081
8082 * c-objc.h (objc_build_message_expr): Updated prototype.
8083 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 8084
a358e188
MJ
80852011-04-12 Martin Jambor <mjambor@suse.cz>
8086
8087 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
8088 of cgraph_node.
8089
e6313a78
RG
80902011-04-11 Richard Guenther <rguenther@suse.de>
8091
8092 * c-common.c (complete_array_type): Build a range type of
8093 proper type.
8094
dcf0c47e
NF
80952011-04-08 Nathan Froyd <froydnj@codesourcery.com>
8096
8097 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
8098 (handle_type_generic_attribute): Likewise.
8099
1ee44b26
JM
81002011-04-07 Jason Merrill <jason@redhat.com>
8101
8102 PR c++/48450
8103 * c-common.c (c_common_truthvalue_conversion): Don't ignore
8104 conversion from C++0x scoped enum.
8105
acce4e77
JM
81062011-04-06 Joseph Myers <joseph@codesourcery.com>
8107
8108 * c-target-def.h: New file.
8109 * c-target.def: New file.
8110 * c-target.h: New file.
8111 * c-common.c (targetcm): Don't define here.
8112 * c-common.h (default_handle_c_option): Declare.
8113 * c-format.c: Include c-target.h instead of target.h.
8114 * c-opts.c: Include c-target.h instead of target.h. Explicitly
8115 include tm.h.
8116 (default_handle_c_option): Move from targhooks.c.
8117
e2eefb55
JJ
81182011-03-29 Jakub Jelinek <jakub@redhat.com>
8119
8120 PR preprocessor/48248
8121 * c-ppoutput.c (print): Add src_file field.
8122 (init_pp_output): Initialize it.
8123 (maybe_print_line): Don't optimize by adding up to 8 newlines
8124 if map->to_file and print.src_file are different file.
8125 (print_line): Update print.src_file.
8126
ba78087b
KT
81272011-03-25 Kai Tietz <ktietz@redhat.com>
8128
8129 * c-ada-spec.c (compare_comment): Use filename_cmp
8130 instead of strcmp for filename.
8131
0edf1bb2
JL
81322011-03-25 Jeff Law <law@redhat.com>
8133
adfac8df 8134 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 8135
c7dc8804
JM
81362011-03-25 Jason Merrill <jason@redhat.com>
8137
8138 * c.opt: Add -std=c++03.
8139
d1d879b1
EB
81402011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8141
8142 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
8143
3f8257db 81442011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
8145
8146 PR target/12171
5050afdf
KT
8147 * c-pretty-print.c (pp_c_specifier_qualifier_list):
8148 Display allowed attributes for function pointer types.
8149 (pp_c_attributes_display): New function to display
8150 attributes having affects_type_identity flag set to true.
8151 * c-pretty-print.h (pp_c_attributes_display): New prototype.
8152
62d784f7
KT
8153 * c-common.c (c_common_attribute_table):
8154 Add new element.
8155 (c_common_format_attribute_table): Likewise.
8156
82d37118
JM
81572011-03-18 Jason Merrill <jason@redhat.com>
8158
49a000c3
JM
8159 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
8160 * c-common.h: Don't declare it here.
8161 * c-common.c: Or define it here.
8162 * c-opts.c (c_common_handle_option): Or set it here.
8163
82d37118
JM
8164 PR c++/35315
8165 * c-common.c (handle_transparent_union_attribute): Don't
8166 make a duplicate type in C++.
8167
17bc631c
JM
81682011-03-15 Jason Merrill <jason@redhat.com>
8169
8170 * c-common.c (max_constexpr_depth): New.
8171 * c-common.h: Declare it.
8172 * c-opts.c (c_common_handle_option): Set it.
8173 * c.opt (fconstexpr-depth): New option.
8174
1b9b91a6
JM
81752011-03-11 Jason Merrill <jason@redhat.com>
8176
f231b5ff
JM
8177 * c-common.c (attribute_takes_identifier_p): Add missing const.
8178
1b9b91a6
JM
8179 PR c++/46803
8180 * c-common.c (attribute_takes_identifier_p): Assume that an
8181 unknown attribute takes an identifier.
8182
a19e4d44
NF
81832011-03-07 Nathan Froyd <froydnj@codesourcery.com>
8184
8185 PR c/47786
8186 * c-common.c (c_type_hash): Call list_length instead of iterating
8187 through DECL_CHAIN. Rename 'i' to 'n_elements'.
8188
982d62f6
JJ
81892011-02-19 Jakub Jelinek <jakub@redhat.com>
8190
8191 PR c/47809
8192 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
8193
0a256240
NP
81942011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8195
8196 * c.opt (fobjc-abi-version=) New.
8197 (fobjc-nilcheck): New.
8198
ba9e6dd5
NF
81992011-02-03 Nathan Froyd <froydnj@codesourcery.com>
8200
8201 PR c++/46890
8202 * c-common.h (keyword_is_decl_specifier): Declare.
8203 * c-common.c (keyword_is_decl_specifier): Define.
8204 (keyword_is_function_specifier): New function.
8205
7273813a
JJ
82062011-01-26 Jakub Jelinek <jakub@redhat.com>
8207
8208 PR c/47473
8209 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
8210 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
8211 REAL_TYPE.
8212
908ef79b
AC
82132011-01-26 Arnaud Charlet <charlet@adacore.com>
8214
8215 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
8216
237e9384
JJ
82172011-01-26 Jakub Jelinek <jakub@redhat.com>
8218
8219 PR pch/47430
8220 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
8221 after init_c_lex if pch_file is set.
8222
47ea1edf
DK
82232011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8224
d4dba752 8225 PR c++/43601
47ea1edf
DK
8226 * c.opt (-fkeep-inline-dllexport): New switch.
8227
2aa9c6ae
RG
82282011-01-12 Richard Guenther <rguenther@suse.de>
8229
8230 PR middle-end/32511
8231 * c-common.c (handle_weak_attribute): Warn instead of error
8232 on declaring an inline function weak.
8233
7bd11157
TT
82342011-01-05 Tom Tromey <tromey@redhat.com>
8235
8236 * c-common.h (lvalue_error): Update.
8237 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
8238 not error.
8239
0e66e494 82402010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 8241
b4f588c4
NP
8242 PR objc/47075
8243 * c-objc.h (objc_finish_message_expr): Added argument to
8244 prototype.
8245
f4da8dce
NF
82462010-12-22 Nathan Froyd <froydnj@codesourcery.com>
8247
8248 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
8249 Use prototype_p.
8250
46270f14
NP
82512010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
8252
8253 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 8254 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 8255
4816c593
NF
82562010-12-10 Nathan Froyd <froydnj@codesourcery.com>
8257
8258 * c-common.h (readonly_error): Declare.
8259 * c-common.c (readonly_error): Define.
8260
7a6daeb0
NF
82612010-12-09 Nathan Froyd <froydnj@codesourcery.com>
8262
8263 * c-common.h (invalid_indirection_error): Declare.
8264 * c-common.c (invalid_indirection_error): Define.
8265
892f6119
RG
82662010-12-03 Richard Guenther <rguenther@suse.de>
8267
8268 PR c/46745
8269 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
8270 (pp_c_unary_expression): Likewise.
8271 (pp_c_expression): Likewise.
8272
6c39e757
NP
82732010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
8274
8275 * c-common.h (objc_finish_function): New.
8276 (objc_non_volatilized_type): Removed.
8277 (objc_type_quals_match): Removed.
8278 * stub-objc.c (objc_finish_function): New.
8279 (objc_non_volatilized_type): Removed.
8280 (objc_type_quals_match): Removed.
9faeb493 8281
7c475d11
JM
82822010-11-30 Joseph Myers <joseph@codesourcery.com>
8283
8284 * c-common.h (parse_optimize_options): Declare.
8285 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
8286 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
8287
71f3e391
JM
82882010-11-29 Joseph Myers <joseph@codesourcery.com>
8289
8290 * c-opts.c (check_deps_environment_vars): Use getenv instead of
8291 GET_ENVIRONMENT.
8292 * c-pch.c (O_BINARY): Don't define here.
8293 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
8294
d5fabb58
JM
82952010-11-25 Joseph Myers <joseph@codesourcery.com>
8296
8297 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
8298 targetm.except_unwind_info.
8299
299404a1
JM
83002010-11-23 Joseph Myers <joseph@codesourcery.com>
8301
8302 * c-opts.c (c_common_handle_option): Pass location to
8303 set_struct_debug_option.
8304
c98cd5bf
JM
83052010-11-23 Joseph Myers <joseph@codesourcery.com>
8306
8307 * c-common.c (visibility_options): Move from ../opts.c.
8308 * c-common.h (struct visibility_flags, visibility_options):
8309 Declare here.
8310 * c-opts.c (finish_options): Rename to c_finish_options.
8311 (c_common_init): Update call to finish_options.
8312
a9546771
NP
83132010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
8314
8315 PR objc/34033
8316 * c-lex.c (lex_string): Check that each string in an Objective-C
8317 string concat sequence starts with either one or zero '@', and
8318 that there are no spurious '@' signs at the end.
8319
24a57808
JM
83202010-11-20 Joseph Myers <joseph@codesourcery.com>
8321
8322 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
8323 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
8324 HANDLE_PRAGMA_VISIBILITY.
8325 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
8326 HANDLE_PRAGMA_VISIBILITY): Don't define.
8327 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
8328
a9aa2c3a
NF
83292010-11-20 Nathan Froyd <froydnj@codesourcery.com>
8330
8331 PR c++/16189
8332 PR c++/36888
8333 PR c++/45331
8334 * c-common.h (keyword_begins_type_specifier): Declare.
8335 (keyword_is_storage_class_specifier): Declare.
8336 (keyword_is_type_qualifier): Declare.
8337 * c-common.c (keyword_begins_type_specifier): New function.
8338 (keyword_is_storage_class_specifier): New function.
8339 (keyword_is_type_qualifier): Declare.
8340
5386338c
JM
83412010-11-19 Joseph Myers <joseph@codesourcery.com>
8342
8343 PR c/46547
8344 * c-common.c (in_late_binary_op): Define.
8345 (c_common_truthvalue_conversion): Check in_late_binary_op before
8346 calling c_save_expr.
8347 * c-common.h (in_late_binary_op): Declare.
8348
69ccdddb
JM
83492010-11-19 Joseph Myers <joseph@codesourcery.com>
8350
8351 * c-opts.c (c_common_handle_option): Update calls to
8352 set_struct_debug_option.
8353
6b192a09
NP
83542010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
8355
8356 * c-common.h (objc_declare_protocols): Added additional argument.
8357 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 8358
fb52b50a
NF
83592010-11-18 Nathan Froyd <froydnj@codesourcery.com>
8360
8361 PR c/33193
8362 * c-common.h (build_real_imag_expr): Declare.
8363 * c-semantics.c (build_real_imag_expr): Define.
8364
b37421c6
JM
83652010-11-17 Joseph Myers <joseph@codesourcery.com>
8366
8367 * c-opts.c (c_common_parse_file): Take no arguments.
8368 * c-common.h (c_common_parse_file): Update prototype.
8369
07078664
JJ
83702010-11-16 Jakub Jelinek <jakub@redhat.com>
8371
8372 PR c++/46401
8373 * c-common.c (warning_candidate_p): Don't track non-const calls
8374 or STRING_CSTs.
8375
c6a13190
ILT
83762010-11-15 Ian Lance Taylor <iant@google.com>
8377
8378 * c-lex.c (init_c_lex): Set macro debug callbacks if
8379 flag_dump_go_spec is set.
8380
925e8657
NP
83812010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
8382
8383 * c-common.h (objc_build_incr_expr_for_property_ref): New.
8384 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
8385
bb0a9581
NF
83862010-11-15 Nathan Froyd <froydnj@codesourcery.com>
8387
8388 PR preprocessor/45038
8389 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
8390 dialects.
8391
c5fa0890
JM
83922010-11-12 Joseph Myers <joseph@codesourcery.com>
8393
8394 * c-common.h (c_family_lang_mask): Declare.
8395 * c-opts.c (c_family_lang_mask): Make extern.
8396 * c-pragma.c (handle_pragma_diagnostic): Use
8397 control_warning_option.
8398
a4d8c676
JM
83992010-11-12 Joseph Myers <joseph@codesourcery.com>
8400
8401 * c-common.c (parse_optimize_options): Update call to
8402 decode_options.
8403 * c-common.h (c_common_handle_option): Update prototype.
8404 * c-opts.c (c_common_handle_option): Take location_t parameter and
8405 pass it to other functions.
8406
f954bd2c
JM
84072010-11-11 Joseph Myers <joseph@codesourcery.com>
8408
8409 * c-opts.c (warning_as_error_callback): Remove.
8410 (c_common_initialize_diagnostics): Don't call
8411 register_warning_as_error_callback.
8412 (c_common_handle_option): Handle -Werror=normalized= here.
8413
d8a07487
JM
84142010-11-10 Joseph Myers <joseph@codesourcery.com>
8415
8416 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
8417 in diagnostic.
8418 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
8419 letter.
8420 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
8421 Remove trailing '.' from diagnostics.
8422 * c.opt (Wwrite-strings_: Avoid '`' in help text.
8423
d5478783
JM
84242010-11-10 Joseph Myers <joseph@codesourcery.com>
8425
8426 * c-common.c (parse_optimize_options): Pass global_dc to
8427 decode_options.
8428 * c-opts.c (c_common_handle_option): Pass &global_options to
8429 set_Wstrict_aliasing.
8430 * c.opt (v): Don't mark Common or document here.
8431
91ebb981
IS
84322010-11-06 Iain Sandoe <iains@gcc.gnu.org>
8433
8434 PR target/44981
8435 * c-format.c (format_type): New type gcc_objc_string_format_type.
8436 (valid_stringptr_type_p): New.
8437 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 8438 (check_format_string): Pass expected type, use
91ebb981
IS
8439 valid_stringptr_type_p (), check that the format string types are
8440 consistent with the format specification.
8441 (decode_format_attr): Warn if NSString is used outside objective-c.
8442 (format_types_orig): Add NSString.
8443 (format_name): New.
8444 (format_flags): New.
8445 (check_format_arg): Handle format strings requiring an external parser.
8446 first_target_format_type: New variable.
8447 (handle_format_attribute): Set up first_target_format_type, pass the
8448 expected format arg string type to check_format_string().
8449 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
8450 * stub-objc.c (objc_string_ref_type_p): New.
8451 (objc_check_format_arg): New.
8452
bede2adc
NP
84532010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
8454
9faeb493 8455 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
8456 * c-common.h (objc_build_class_component_ref): New.
8457 * stub-objc.c (objc_build_class_component_ref): New.
8458
9a179d01
NP
84592010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8460
8461 * c.opt (Wproperty-assign-default): New option.
8462
22d8d616
NP
84632010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
8464
8465 Implemented -fobjc-std=objc1 flag.
8466 * c.opt (fobjc-std=objc1): New option.
8467
2debdb4f
NP
84682010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
8469
8470 Implemented format and noreturn attributes for Objective-C methods.
8471 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
8472 attribute for Objective-C methods.
8473
ec52b111
JM
84742010-10-31 Jason Merrill <jason@redhat.com>
8475
8476 * c-common.c (conversion_warning, warn_for_collisions_1): Use
8477 EXPR_LOC_OR_HERE.
8478
46a88c12
NP
84792010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
8480
8481 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
8482 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
8483 (objc_add_property_declaration): Removed arguments for copies and
8484 ivar.
8485 (objc_build_getter_call): Renamed to
8486 objc_maybe_build_component_ref.
8487 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8488 (objc_is_property_ref): New.
8489 * c-common.c (c_common_reswords): Removed copies and ivar.
8490 * stub-objc.c (objc_add_property_declaration): Removed arguments
8491 for copies and ivar.
8492 (objc_build_getter_call): Renamed to
8493 objc_maybe_build_component_ref.
8494 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
8495 (objc_is_property_ref): New.
9faeb493 8496
1e4bf85b
AC
84972010-10-29 Arnaud Charlet <charlet@adacore.com>
8498 Matthew Gingell <gingell@adacore.com>
8499
8500 * c-ada-spec.c (separate_class_package): New function.
8501 (pp_ada_tree_identifier): Prefix references to C++ classes with the
8502 name of their enclosing package.
8503 (print_ada_declaration): Use separate_class_package.
8504
81f0bab2
JM
85052010-10-27 Jason Merrill <jason@redhat.com>
8506
2b08f2c5
JM
8507 * c-common.c (c_common_reswords): Add __is_literal_type.
8508 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
8509
81f0bab2
JM
8510 * c-common.c (check_case_value): Remove special C++ code.
8511
200290f2
NP
85122010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8513
8514 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
8515 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
8516 and RID_LAST_PATTR.
8517 (objc_add_property_declaration): Added additional arguments.
8518 (objc_property_attribute_kind): Removed.
8519 (objc_set_property_attr): Removed.
8520 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
8521 copy and nonatomic.
8522 * stub-objc.c (objc_add_property_declaration): Added additional
8523 arguments.
8524 (objc_set_property_attr): Removed.
9faeb493 8525
f614132b
NP
85262010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
8527
8528 * c-common.h (objc_add_property_variable): Renamed to
8529 objc_add_property_declaration. Added location argument.
8530 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 8531
b8a18805
NP
85322010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
8533
8534 * c-common.h (objc_maybe_printable_name): New.
8535 * stub-objc.c (objc_maybe_printable_name): New.
8536
3f8257db
JJ
85372010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
8538 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
8539
8540 * c-common.h (c_common_mark_addressable_vec): Declare.
8541 * c-common.c (c_common_mark_addressable_vec): New function.
8542
249a82c4
NP
85432010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8544
8545 * c-common.h (objc_set_method_type): Removed.
8546 (objc_add_method_declaration): Added boolean argument.
8547 (objc_start_method_definition): Same change.
8548 (objc_build_method_signature): Same change.
8549 * stub-objc.c (objc_set_method_type): Removed.
8550 (objc_add_method_declaration): Added boolean argument.
8551 (objc_start_method_definition): Same change.
8552 (objc_build_method_signature): Same change.
8553
977e30bc
NP
85542010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
8555
8556 * c-common.h (finish_file): Removed.
8557 (objc_write_global_declarations): New.
8558 * c-opts.c (c_common_parse_file): Do not call finish_file.
8559 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 8560
da57d1b9
NP
85612010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8562
8563 Implemented parsing @synthesize and @dynamic for
8564 Objective-C/Objective-C++.
8565 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
8566 (objc_add_synthesize_declaration): New.
8567 (objc_add_dynamic_declaration): New.
8568 * c-common.c (c_common_reswords): Add synthesize and dynamic.
8569 * stub-objc.c (objc_add_synthesize_declaration): New.
8570 (objc_add_dynamic_declaration): New.
9faeb493 8571
0069111f
MM
85722010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8573
8574 PR target/46041
8575 * c-cppbuiltin.c (mode_has_fma): Move function here from
8576 builtins.c. Don't use the fma optab, instead just use the
8577 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
8578 using -save-temps.
8579
e426b47b
NP
85802010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
8581
8582 Merge from 'apple/trunk' branch on FSF servers.
0069111f 8583
3f8257db 8584 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 8585
9faeb493 8586 Radar 4330422
e426b47b
NP
8587 * c-common.h (objc_non_volatilized_type): New declaration
8588 * stub-objc.c (objc_non_volatilized_type): New stub.
8589
90fbfdc3
NP
85902010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
8591
e426b47b 8592 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 8593
3f8257db 8594 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 8595
9faeb493 8596 Radar 4133425
90fbfdc3 8597 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 8598 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 8599
c37d8c30
IS
86002010-10-17 Iain Sandoe <iains@gcc.gnu.org>
8601
8602 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
8603 * c-common.h (enum rid): Add RID_AT_PACKAGE.
8604 (objc_ivar_visibility_kind): New enum.
8605 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 8606 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
8607 visibility enum.
8608
1b1562a5
MM
86092010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8610
8611 * c-cppbuiltin.c (builtin_define_float_constants): Emit
8612 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
8613 has the appropriate fma builtins.
8614 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
8615
668ea4b1
IS
86162010-10-14 Iain Sandoe <iains@gcc.gnu.org>
8617
1b1562a5 8618 merge from FSF apple 'trunk' branch.
3f8257db 8619 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 8620
668ea4b1
IS
8621 Radars 4436866, 4505126, 4506903, 4517826
8622 * c-common.c (c_common_resword): Define @property and its attributes.
8623 * c-common.h: Define property attribute enum entries.
8624 (OBJC_IS_PATTR_KEYWORD): New.
8625 (objc_property_attribute_kind): New enum.
8626 Declare objc_set_property_attr (), objc_add_property_variable (),
8627 objc_build_getter_call () and objc_build_setter_call ().
8628 * stub-objc.c (objc_set_property_attr): New stub.
8629 (objc_add_property_variable): Likewise.
8630 (objc_build_getter_call): Likewise.
8631 (objc_build_setter_call) Likewise.
1b1562a5 8632
a1178b30
IS
86332010-10-13 Iain Sandoe <iains@gcc.gnu.org>
8634
1b1562a5 8635 merge from FSF apple 'trunk' branch.
3f8257db 8636 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
8637
8638 Radar 3803157 (method attributes)
8639 * c-common.c (handle_deprecated_attribute): Recognize
8640 objc methods as valid declarations.
8641 * c-common.h: Declare objc_method_decl ().
1b1562a5 8642 * stub-objc.c (objc_method_decl): New stub.
a1178b30 8643
a75bfaa6
JM
86442010-10-08 Joseph Myers <joseph@codesourcery.com>
8645
8646 * c-common.c (parse_optimize_options): Call
8647 decode_cmdline_options_to_array_default_mask before
8648 decode_options. Update arguments to decode_options.
8649 * c-common.h (c_common_init_options_struct): Declare.
8650 * c-opts.c (c_common_init_options_struct): New. Split out from
8651 c_common_init_options.
8652
f05b9d93
NP
86532010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
8654
8655 Implemented fast enumeration for Objective-C.
8656 * c-common.h (objc_finish_foreach_loop): New.
8657 * stub-objc.c (objc_finish_foreach_loop): New.
8658
1ebe4b4f
JM
86592010-10-05 Joseph Myers <joseph@codesourcery.com>
8660
8661 * c-common.h (struct diagnostic_context): Don't declare here.
8662 (c_common_initialize_diagnostics): Declare using
8663 diagnostic_context typedef.
8664 * c-opts.c (c_common_handle_option): Pass global_dc to
8665 handle_generated_option.
8666
d4d24ba4
JM
86672010-10-04 Joseph Myers <joseph@codesourcery.com>
8668
8669 * c-opts.c (c_common_handle_option): Pass &global_options_set to
8670 handle_generated_option.
8671
478a1c5b
ILT
86722010-10-03 Ian Lance Taylor <iant@google.com>
8673
8674 * c.opt (-fplan9-extensions): New option.
8675
82a1c2fe
FXC
86762010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8677
8678 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
8679 Remove.
8680 (c_cpp_builtins): Call functions from cppbuiltin.c instead
8681 of duplicating code.
8682
92902b1b
IS
86832010-09-30 Iain Sandoe <iains@gcc.gnu.org>
8684
8685 * c-common.c: Add two new entries for @optional
8686 and @required keywords.
8687
8688 merge from FSF 'apple/trunk' branch.
3f8257db 8689 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
8690
8691 Radar 4386773
8692 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
8693 objective-c keywords.
8694 (objc_set_method_opt): New declaration.
8695 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 8696
46625112
JM
86972010-09-30 Joseph Myers <joseph@codesourcery.com>
8698
8699 * c-common.c (handle_optimize_attribute): Pass &global_options to
8700 cl_optimization_save and cl_optimization_restore.
8701 * c-opts.c (c_common_handle_option): Pass &global_options to
8702 handle_generated_option.
8703 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
8704 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
8705 &global_options to cl_optimization_restore.
8706
49b91f05
NP
87072010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
8708
8709 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
8710 Objective-C/Objective-C++ keywords.
8711
13ed556f 87122010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 8713
9faeb493
UB
8714 Merge from 'apple/trunk' branch on FSF servers.
8715
3f8257db 8716 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
8717
8718 Radar 4281748
8719 * c-common.h (objc_check_global_decl): New declaration.
8720 * stub-objc.c (objc_check_global_decl): New stub.
8721
f0036cca
JM
87222010-09-29 Joseph Myers <joseph@codesourcery.com>
8723
8724 * c.opt: Don't use VarExists.
8725
e3339d0f
JM
87262010-09-29 Joseph Myers <joseph@codesourcery.com>
8727
8728 * c-common.c (c_cpp_error): Update names of diagnostic_context
8729 members.
8730 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
8731 cl_optimization members.
8732 * c-opts.c (warning_as_error_callback, c_common_handle_option,
8733 sanitize_cpp_opts, finish_options): Update names of cpp_options
8734 members.
8735
1973201f
NP
87362010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
8737
8738 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
8739 (objc_is_reserved_word): Removed.
8740 * c-common.c: Updated comments.
8741 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
8742 objc_is_reserved_word.
8743 * stub-objc.c (objc_is_reserved_word): Removed.
8744
f7e71da5
IS
87452010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8746
9faeb493 8747 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
8748 include attributes.
8749 (objc_start_method_definition): Likewise.
8750 (objc_build_keyword_decl): Likewise.
8751 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
8752 (objc_start_method_definition): Likewise.
8753 (objc_build_keyword_decl): Likewise.
8754
c165dca7
IS
87552010-09-28 Iain Sandoe <iains@gcc.gnu.org>
8756
8757 * c-common.h (objc_start_class_interface): Adjust prototype.
8758 (objc_start_category_interface): Likewise.
8759 (objc_start_protocol): Likewise.
8760 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
8761 (objc_start_class_interface): Likewise.
8762 (objc_start_category_interface): Likewise.
8763
7458026b
ILT
87642010-09-27 Ian Lance Taylor <iant@google.com>
8765
8766 * c-common.c (c_common_attribute_table): Add no_split_stack.
8767 (handle_no_split_stack_attribute): New static function.
8768
b581b85b
NP
87692010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
8770
9faeb493 8771 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 8772
3f8257db 8773 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 8774
9faeb493 8775 Radar 4229905
b581b85b
NP
8776 * c-common.h (objc_have_common_type): New declaration.
8777 * stub-objc.c (objc_have_common_type): New stub.
8778
8779 2005-06-22 Ziemowit Laski <zlaski@apple.com>
8780
8781 Radar 4154928
8782 * c-common.h (objc_common_type): New prototype.
9faeb493 8783 * stub-objc.c (objc_common_type): New stub.
b581b85b 8784
46a4da10
JH
87852010-09-24 Jan Hubicka <jh@suse.cz>
8786
8787 * c-common.c (handle_leaf_attribute): New function.
8788 (struct attribute_spec c_common_att): Add leaf.
8789
e200444e
JM
87902010-09-22 Joseph Myers <joseph@codesourcery.com>
8791
8792 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
8793 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
8794 -dump, -dump=, -imacros, -imacros=, -include, -include=,
8795 -include-barrier, -include-directory, -include-directory=,
8796 -include-directory-after, -include-directory-after=,
8797 -include-prefix, -include-prefix=, -include-with-prefix,
8798 -include-with-prefix=, -include-with-prefix-after,
8799 -include-with-prefix-after=, -include-with-prefix-before,
8800 -include-with-prefix-before=, -no-integrated-cpp,
8801 -no-line-commands, -no-standard-includes, -no-warnings, -output,
8802 -output=, -pedantic, -pedantic-errors, -preprocess,
8803 -print-missing-file-dependencies, -trace-includes, -traditional,
8804 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
8805 -user-dependencies, -verbose, -write-dependencies,
8806 -write-user-dependencies, no-integrated-cpp, traditional): New.
8807
29a80ea6
NP
88082010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8809
8810 PR objc/23710
ac1fc2fc
NP
8811 * c-common.h (objc_start_method_definition): Return bool instead
8812 of void.
8813 * stub-objc.c (objc_start_method_definition): Return bool instead
8814 of void.
8815
88162010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
8817
8818 PR objc/25965
8819 * c-common.h (objc_get_interface_ivars): New declaration.
8820 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 8821
de621752
ILT
88222010-09-15 Ian Lance Taylor <iant@google.com>
8823
8824 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 8825 messages. Remove period at end of warning message.
de621752 8826
ba885ec5
NS
88272010-09-09 Nathan Sidwell <nathan@codesourcery.com>
8828
8829 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
8830 (handle_alias_attribute): ... here.
8831 (handle_ifunc_attribute): New.
8832
c5ee1358
MM
88332010-09-06 Mark Mitchell <mark@codesourcery.com>
8834
8835 * c-common.h (do_warn_double_promotion): Declare.
8836 * c-common.c (do_warn_double_promotion): Define.
8837
0a0b3574
MM
88382010-09-05 Mark Mitchell <mark@codesourcery.com>
8839
8840 * c.opt (Wdouble-promotion): New.
8841
d1779886
JM
88422010-09-02 Joseph Myers <joseph@codesourcery.com>
8843
8844 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
8845 fvtable-thunks, fxref): Mark no longer supported in help text.
8846
2d2bd949
JM
88472010-09-02 Joseph Myers <joseph@codesourcery.com>
8848
8849 * c.opt (Wimport, fall-virtual, falt-external-templates,
8850 fdefault-inline, fenum-int-equiv, fexternal-templates,
8851 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
8852 fname-mangling-version-, fnew-abi, fnonnull-objects,
8853 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
8854 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
8855 applicable.
8856 (fhandle-exceptions): Mark with Alias and Warn.
8857 * c-opts.c (c_common_handle_option): Don't handle options marked
8858 as ignored.
8859
5de8299c
JM
88602010-09-02 Joseph Myers <joseph@codesourcery.com>
8861
8862 * c.opt (Wcomments, Werror-implicit-function-declaration,
8863 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
8864 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
8865 aliases.
8866 * c-common.c (option_codes): Use OPT_Wcomment instead of
8867 OPT_Wcomments.
8868 * c-opts.c (warning_as_error_callback, c_common_handle_option):
8869 Don't handle options marked as aliases.
8870
0ceb0201
RG
88712010-08-25 Richard Guenther <rguenther@suse.de>
8872
8873 * c-common.c (c_common_get_alias_set): Remove special
8874 handling for pointers.
8875
ac47786e
NF
88762010-08-20 Nathan Froyd <froydnj@codesourcery.com>
8877
8878 * c-common.c: Use FOR_EACH_VEC_ELT.
8879 * c-gimplify.c: Likewise.
8880 * c-pragma.c: Likewise.
8881
c878765b
JM
88822010-08-16 Joseph Myers <joseph@codesourcery.com>
8883
8884 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
8885 RejectDriver.
8886 (MMDX): Change back to MMD. Mark NoDriverArg instead of
8887 RejectDriver.
8888 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
8889 instead of OPT_MDX and OPT_MMDX.
8890
603349bf
JM
88912010-08-16 Joseph Myers <joseph@codesourcery.com>
8892
8893 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
8894
644fa7ac
JM
88952010-08-12 Joseph Myers <joseph@codesourcery.com>
8896
8897 * c.opt (MD, MMD): Change to MDX and MMDX.
8898 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
8899
481e1176
JM
89002010-08-11 Joseph Myers <joseph@codesourcery.com>
8901
8902 * c-opts.c (c_common_handle_option): Call handle_generated_option
8903 instead of handle_option.
8904
ac8dc9f7
NF
89052010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8906
8907 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
8908 (maybe_apply_renaming_pragma): Delete unneeded declarations.
8909
4f8c876d
NF
89102010-08-08 Nathan Froyd <froydnj@codesourcery.com>
8911
8912 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
8913 (pending_redefine_extname): Change type to a VEC.
8914 (add_to_renaming_pragma_list): Update for new type of
8915 pending_redefine_extname.
ac8dc9f7 8916 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 8917
3b0c690e
AC
89182010-08-04 Arnaud Charlet <charlet@adacore.com>
8919
8920 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
8921 visited.
8922 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
8923 decide whether a type has already been declared/seen.
8924 Do not go to the original type.
8925 (dump_nested_types): New parameter forward.
8926 Generate forward declaration if needed and mark type as visited.
8927 (print_ada_declaration): Call dump_nested_types if not already done.
8928 Mark types as visited.
8929
1890bccc
JM
89302010-08-03 Joseph Myers <joseph@codesourcery.com>
8931
8932 * c.opt (-print-pch-checksum): Remove option.
8933 * c-opts.c (c_common_handle_option): Don't handle
8934 OPT_print_pch_checksum.
8935
5f20c657
JM
89362010-07-27 Joseph Myers <joseph@codesourcery.com>
8937
8938 * c-common.h (c_common_handle_option): Update prototype and return
8939 value type.
8940 * c-opts.c (c_common_handle_option): Update prototype and return
8941 value type. Update calls to handle_option and
8942 enable_warning_as_error.
8943
f551f80c
JJ
89442010-07-27 Jakub Jelinek <jakub@redhat.com>
8945
8946 PR c/45079
8947 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
8948
61ff2bdc
JM
89492010-07-27 Joseph Myers <joseph@codesourcery.com>
8950
8951 * c-common.h (c_common_missing_argument): Remove.
8952 * c-opts.c (c_common_missing_argument): Remove.
8953 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
8954 idirafter, imacros, include, isysroot, isystem, iquote): Add
8955 MissingArgError.
8956 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
8957
7a9bf9a4
JM
89582010-07-27 Joseph Myers <joseph@codesourcery.com>
8959
8960 * c-common.h (c_common_option_lang_mask,
8961 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
8962 New.
8963 (c_common_init_options): Update prototype.
8964 * c-opts.c (c_common_option_lang_mask): New.
8965 (c_common_initialize_diagnostics): Split out of
8966 c_common_init_options.
8967 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
8968 New.
8969 (c_common_init_options): Update prototype. Use decoded options in
8970 search for -lang-asm.
8971
910ad8de
NF
89722010-07-15 Nathan Froyd <froydnj@codesourcery.com>
8973
8974 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
8975 * c-format.c: Likewise.
8976
718f9c0f
MLI
89772010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
8978
8979 * c-common.h: Include diagnostic-core.h. Error if already
8980 included.
8981 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
8982
4d451982
MLI
89832010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
8984
adfac8df 8985 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
8986 Do not include expr.h
8987 (vector_mode_valid_p): Move here.
8988
119fe915
SB
89892010-06-21 DJ Delorie <dj@redhat.com>
8990
8991 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
8992 allow these pragmas anywhere.
8993
89942010-06-14 Jakub Jelinek <jakub@redhat.com>
8995
8996 PR bootstrap/44509
8997 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
8998 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
8999 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
9000 ggc_strdup instead of xstrdup.
9001
90022010-06-10 Jakub Jelinek <jakub@redhat.com>
9003
9004 * c-cppbuiltin.c: Include cpp-id-data.h.
9005 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
9006 (lazy_hex_fp_value): New function.
9007 (builtin_define_with_hex_fp_value): Provide definitions lazily.
9008
6662d794
MLI
90092010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9010
9011 * c-gimplify.c: Do not include tree-flow.h
9012
38f8b050
JR
90132010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
9014
9015 PR other/44034
9016 * c-common.c: Rename targetm member:
9017 targetm.enum_va_list -> targetm.enum_va_list_p
9018
9589f23e
AS
90192010-06-28 Anatoly Sokolov <aesok@post.ru>
9020
9021 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
9022
3b06d379
SB
90232010-06-28 Steven Bosscher <steven@gcc.gnu.org>
9024
9025 * c-cppbuiltin.c: Do not include except.h.
9026
d166d4c3
AK
90272010-06-24 Andi Kleen <ak@linux.intel.com>
9028
9faeb493
UB
9029 * c-common.c (warn_for_omitted_condop): New.
9030 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 9031
70cb8be6
JM
90322010-06-21 Joseph Myers <joseph@codesourcery.com>
9033
9034 * c.opt (lang-objc): Remove.
9035 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
9036
a4c97feb
JR
90372010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
9038
9039 * c-opts.c: Include "tm_p.h".
9040
6e2f1956
JM
90412010-06-20 Joseph Myers <joseph@codesourcery.com>
9042
9043 * c-common.c (parse_optimize_options): Update call to
9044 decode_options.
9045
bc87224e
NF
90462010-06-18 Nathan Froyd <froydnj@codesourcery.com>
9047
9048 * c-common.c (record_types_used_by_current_var_decl): Adjust for
9049 new type of types_used_by_cur_var_decl.
9050
b49cf425
JR
90512010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
9052
9053 PR bootstrap/44512
9054 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
9055 for C++ standard compliance.
9056
59f9c2ed
JM
90572010-06-16 Jason Merrill <jason@redhat.com>
9058
9059 * c.opt: Add -Wnoexcept.
9060
33766b66
RG
90612010-06-16 Richard Guenther <rguenther@suse.de>
9062
9063 PR c/44555
9064 * c-common.c (c_common_truthvalue_conversion): Remove
9065 premature and wrong optimization concering ADDR_EXPRs.
9066
eff7e30c
AC
90672010-06-15 Arnaud Charlet <charlet@adacore.com>
9068
9069 * c-ada-spec.c (dump_sloc): Remove column info.
9070 (is_simple_enum): New function.
9071 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
9072 enum types when relevant.
9073
6312e84d
MLI
90742010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9075
9faeb493 9076 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
9077 location.
9078
1cb42611
JM
90792010-06-10 Joseph Myers <joseph@codesourcery.com>
9080
9081 * c-opts.c (c_common_handle_option): Don't handle
9082 OPT_fshow_column.
9083
a9429e29
LB
90842010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
9085
9086 * c-pragma.c (push_alignment): Use typed GC allocation.
9087 (handle_pragma_push_options): Likewise.
9088
9089 * c-common.c (parse_optimize_options): Likewise.
9090
9091 * c-common.h (struct sorted_fields_type): Add variable_size GTY
9092 option.
9093
5498f011
JM
90942010-06-07 Joseph Myers <joseph@codesourcery.com>
9095
9096 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
9097 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9098 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9099 flag_signed_bitfields, warn_strict_null_sentinel,
9100 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
9101 flag_gen_declaration, flag_no_gnu_keywords,
9102 flag_implement_inlines, flag_implicit_templates,
9103 flag_implicit_inline_templates, flag_optional_diags,
9104 flag_elide_constructors, flag_default_inline, flag_rtti,
9105 flag_conserve_space, flag_access_control, flag_check_new,
9106 flag_new_for_scope, flag_weak, flag_working_directory,
9107 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
9108 flag_enforce_eh_specs, flag_threadsafe_statics,
9109 flag_pretty_templates): Remove.
9110 * c-common.h (flag_preprocess_only, flag_nil_receivers,
9111 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
9112 flag_replace_objc_classes, flag_undef, flag_no_builtin,
9113 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
9114 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
9115 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
9116 flag_no_gnu_keywords, flag_implement_inlines,
9117 flag_implicit_templates, flag_implicit_inline_templates,
9118 flag_optional_diags, flag_elide_constructors, flag_default_inline,
9119 flag_rtti, flag_conserve_space, flag_access_control,
9120 flag_check_new, flag_new_for_scope, flag_weak,
9121 flag_working_directory, flag_use_cxa_atexit,
9122 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
9123 flag_threadsafe_statics, flag_pretty_templates,
9124 warn_strict_null_sentinel): Remove.
9125 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
9126 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
9127 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
9128 fimplicit-inline-templates, fimplicit-templates,
9129 flax-vector-conversions, fms-extensions, fnil-receivers,
9130 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
9131 frtti, fshort-double, fshort-enums, fshort-wchar,
9132 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
9133 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
9134 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
9135 gen-decls, undef): Use Var.
9136 (fdefault-inline, foptional-diags): Document as doing nothing.
9137 * c-opts.c (c_common_handle_option): Remove cases for options now
9138 using Var. Mark ignored options as such.
9139
39dabefd
SB
91402010-06-05 Steven Bosscher <steven@gcc.gnu.org>
9141
9faeb493 9142 * c-common.c: Moved to here from parent directory.
39dabefd
SB
9143 * c-common.def: Likewise.
9144 * c-common.h: Likewise.
9145 * c-cppbuiltin.c: Likewise.
9146 * c-dump.c: Likewise.
9147 * c-format.c: Likewise.
9148 * c-format.h : Likewise.
9149 * c-gimplify.c: Likewise.
9150 * c-lex.c: Likewise.
9151 * c-omp.c: Likewise.
9152 * c.opt: Likewise.
9153 * c-opts.c: Likewise.
9154 * c-pch.c: Likewise.
9155 * c-ppoutput.c: Likewise.
9156 * c-pragma.c: Likewise.
9157 * c-pragma.h: Likewise.
9158 * c-pretty-print.c: Likewise.
9159 * c-pretty-print.h: Likewise.
9160 * c-semantics.c: Likewise.
9161 * stub-objc.c: Likewise.
9162
9163 * c-common.c: Include gt-c-family-c-common.h.
9164 * c-pragma.c: Include gt-c-family-c-pragma.h.
9165\f
85ec4feb 9166Copyright (C) 2010-2018 Free Software Foundation, Inc.
39dabefd
SB
9167
9168Copying and distribution of this file, with or without modification,
9169are permitted in any medium without royalty provided the copyright
9170notice and this notice are preserved.