]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
Makefile.in: Add ipa-predicate.o and ipa-predicate.h
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
6574d78e
MP
12017-05-18 Marek Polacek <polacek@redhat.com>
2
3 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
4 (c_common_fixed_point_type_for_size): Likewise.
5 (c_common_type_for_mode): Likewise.
6 (shorten_compare): Likewise.
7 (c_promoting_integer_type_p): Use false/true instead of 0/1.
8 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
9
e3455240
MP
102017-05-18 Marek Polacek <polacek@redhat.com>
11
12 * c-common.c (self_promoting_args_p): Change the return type to bool.
13 Use false/true instead of 0/1.
14 * c-common.h (self_promoting_args_p): Update.
15
3fa8871b
MP
162017-05-17 Marek Polacek <polacek@redhat.com>
17
18 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
19 * c-warn.c: Likewise.
20
b42cc3ca
VV
212017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
22
23 Implement new C++ intrinsics __is_assignable and __is_constructible.
24 * c-common.c (__is_assignable, __is_constructible): New.
25 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
26
1a817418
ML
272017-05-17 Martin Liska <mliska@suse.cz>
28
29 * c-common.h: Introduce dump_flags_t type and
30 use it instead of int type.
31 * c-gimplify.c (c_genericize): Likewise.
32 * c-opts.c: Likewise.
33
b2fa0a8b
MP
342017-05-17 Marek Polacek <polacek@redhat.com>
35
36 * c-common.c (c_save_expr): Remove.
37 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
38 * c-common.h (c_save_expr): Remove declaration.
39
31c2d57d
VR
402017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
41
42 PR c/35441
43 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
44 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
45 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
46 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
47 RDIV_EXPR.
48 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
49
684f84de
MP
502017-05-09 Marek Polacek <polacek@redhat.com>
51
52 PR c/80525
53 * c-warn.c (unwrap_c_maybe_const): New.
54 (warn_logical_operator): Call it.
55
641da50a
NS
562017-05-09 Nathan Sidwell <nathan@acm.org>
57
58 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
59 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
60
631238ac
MS
612017-05-08 Martin Sebor <msebor@redhat.com>
62
63 PR translation/80280
64 * c-format.h (struct format_flag_spec): Add new member.
65 (T89_T): New macro.
66 * c-format.c (local_tree_type_node): New global.
67 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
68 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
69 (strfmon_flag_specs): Likewise.
70 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
71 with distinct quoting properties.
72 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
73 (flag_chars_t::validate): Add argument and handle bad quoting.
74 (check_format_info_main): Handle quoting problems.
75 (init_dynamic_diag_info): Simplify.
76
49f0c04c
JM
772017-05-08 Jason Merrill <jason@redhat.com>
78
79 * c-opts.c (c_common_post_options): Update defaults for
80 flag_abi_version and flag_abi_compat_version.
81
56d35585
DM
822017-05-05 David Malcolm <dmalcolm@redhat.com>
83
84 * c-common.c (c_cpp_error): Replace report_diagnostic
85 with diagnostic_report_diagnostic.
86
0f2c4a8f
MS
872017-05-04 Martin Sebor <msebor@redhat.com>
88
89 PR translation/80280
90 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
91 (handle_weakref_attribute): Same.
92
6fe63fb4
NS
932017-05-03 Nathan Sidwell <nathan@acm.org>
94
95 Canonicalize canonical type hashing
96 * c-common.c (complete_array_type): Use type_hash_canon.
97
815d9cc6
XR
982017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
99
100 PR c++/80038
101 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
102 prototype.
103 (cilk_install_body_pedigree_operations): Likewise.
104 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
105 detatched.
106 (cilk_gimplify_call_params_in_spawned_fn): Remove.
107 (cilk_install_body_pedigree_operations): Likewise.
108 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
109 unwrapping.
110
f8a36447
JJ
1112017-04-27 Jakub Jelinek <jakub@redhat.com>
112
113 PR c++/80534
114 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
115 flag on non-aggregate element types.
116
7c145456
BE
1172017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
118
119 * c-common.c (c_type_hasher, type_hash_table): Remove.
120 (c_common_get_alias_set): Remove unreachable code.
121 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
122
c3cbcd45
VR
1232017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
124
125 * c.opt (Wextra-semi): New C++ warning flag.
126
8a59d466
JJ
1272017-04-20 Jakub Jelinek <jakub@redhat.com>
128
129 PR middle-end/80423
130 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
131
8487c9a5
JJ
1322017-04-18 Jakub Jelinek <jakub@redhat.com>
133
134 PR middle-end/79788
135 PR middle-end/80375
136 * c-common.c (c_common_type_for_mode): Don't handle
137 widest_*_literal_type_node here.
138 c_common_signed_or_unsigned_type): Likewise.
139 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
140 to *intTI_type_node or *intDI_type_node depending on whether
141 TImode is supported by the target or not.
142
3ee0fb02
ML
1432017-04-10 Martin Liska <mliska@suse.cz>
144
145 PR sanitizer/80350
146 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
147 doing an UBSAN check.
148
5764ee3c
JW
1492017-04-03 Jonathan Wakely <jwakely@redhat.com>
150
151 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
152
6f3af356
JJ
1532017-03-31 Jakub Jelinek <jakub@redhat.com>
154
155 PR c++/79572
156 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
157 tree *.
158 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
159 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
160 REFERENCE_TYPE.
161
f6a7a9d5
DM
1622017-03-31 David Malcolm <dmalcolm@redhat.com>
163
164 PR documentation/78732
165 * c.opt (Wendif-labels): Fix description to refer to
166 #else rather than #elif.
167
af88f557
JJ
1682017-03-31 Jakub Jelinek <jakub@redhat.com>
169
170 PR libstdc++/80251
171 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
172 * c-common.c (c_common_reswords): Add __is_aggregate trait.
173
a9e4a1a5
JJ
1742017-03-27 Jakub Jelinek <jakub@redhat.com>
175
176 PR middle-end/80162
177 * c-common.c (c_common_mark_addressable_vec): Don't set
178 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
179
3f01b620
MS
1802017-03-21 Martin Sebor <msebor@redhat.com>
181
182 PR c++/79548
183 * c-common.c (set_underlying_type): Mark type used only when
184 original del is declared unused.
185
2f6f187a
DM
1862017-03-10 David Malcolm <dmalcolm@redhat.com>
187
188 PR translation/79848
189 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
190 "%qs".
191
a02fa805
DM
1922017-03-10 David Malcolm <dmalcolm@redhat.com>
193
194 PR c/79921
195 * c-indentation.c (warn_for_misleading_indentation): Remove parens
196 from inform's message, so that xgettext can locate it.
197
822a132c
MP
1982017-03-09 Marek Polacek <polacek@redhat.com>
199
200 PR c++/79962
201 PR c++/79984
202 * c-attribs.c (handle_nonnull_attribute): Save the result of default
203 conversion to the attribute list.
204
bba81f1c
ML
2052017-03-09 Martin Liska <mliska@suse.cz>
206
207 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
208
108154ff
JM
2092017-03-03 Jason Merrill <jason@redhat.com>
210
211 * c.opt (Wnoexcept-type): New.
212
eb0e7c34
RB
2132017-03-02 Richard Biener <rguenther@suse.de>
214
215 PR c/79756
216 * c-common.c (c_common_mark_addressable_vec): Look through
217 C_MAYBE_CONST_EXPR.
218
9453ba0a
ML
2192017-02-28 Martin Liska <mliska@suse.cz>
220
221 * c.opt: Replace space with tabular for options of <number>
222 type.
223
6a825afe
ML
2242017-02-28 Martin Liska <mliska@suse.cz>
225
226 * c.opt: Fix --help=option -Q for options which are of
227 an enum type.
228
4227c9ad
JJ
2292017-02-24 Jakub Jelinek <jakub@redhat.com>
230
231 PR c++/79588
232 * c-common.c (check_function_restrict): New function.
233 (check_function_arguments): Add FNDECL argument. Call
234 check_function_restrict if -Wrestrict.
235 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
236 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
237 * c-common.h (check_function_arguments): Add FNDECL argument.
238 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
239
59909673
EB
2402017-02-24 Eric Botcazou <ebotcazou@adacore.com>
241
242 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
243 treatment of parameters with pointer-to-tagged type and tidy up.
244 (print_ada_methods): Remove the special treatment of C++ static member
245 functions.
246
54dcd526
ML
2472017-02-22 Martin Liska <mliska@suse.cz>
248
249 * c.opt: Replace inequality signs with square brackets
250 for -Wnornalized.
251
00bc9de3
JJ
2522017-02-21 Jakub Jelinek <jakub@redhat.com>
253
254 PR c++/79641
255 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
256 preserve quals.
257
97fcf744
JM
2582017-02-17 Joseph Myers <joseph@codesourcery.com>
259
260 * c-cppbuiltin.c (builtin_define_float_constants): Define
261 __DECIMAL_DIG__ to the value for long double.
262
c7545f1c
MP
2632017-02-15 Marek Polacek <polacek@redhat.com>
264
265 PR c/79515
266 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
267 conversion has occured.
268
c2e84327
DM
2692017-01-24 David Malcolm <dmalcolm@redhat.com>
270
271 * c-common.c (c_common_reswords): Add "__RTL".
272 * c-common.h (enum rid): Add RID_RTL.
273
2ebd93e1
MP
2742017-01-20 Marek Polacek <polacek@redhat.com>
275
276 PR c/64279
277 * c-common.h (do_warn_duplicated_branches_r): Declare.
278 * c-gimplify.c (c_genericize): Walk the function tree calling
279 do_warn_duplicated_branches_r.
280 * c-warn.c (expr_from_macro_expansion_r): New.
281 (do_warn_duplicated_branches): New.
282 (do_warn_duplicated_branches_r): New.
283 * c.opt (Wduplicated-branches): New option.
284
0d80ab91
DM
2852017-01-17 David Malcolm <dmalcolm@redhat.com>
286
287 PR c++/71497
288 * c-indentation.c (warn_for_misleading_indentation): Use the past
289 subjunctive in the note.
290
7f991c36
AH
2912017-01-17 Aldy Hernandez <aldyh@redhat.com>
292
293 PR c/79116
294 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
295 start type to integer_type.
296
1c70261c
JJ
2972017-01-16 Jakub Jelinek <jakub@redhat.com>
298
299 PR driver/49726
300 * c.opt (gen-decls): Add Driver flag.
301
1ddca3f3
PC
3022017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
303
304 Revert:
305 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
306
307 PR c++/71737
308 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
309
7d2f3f1d
PC
3102017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
311
312 PR c++/71737
313 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
314
bce6f760
MS
3152017-01-12 Martin Sebor <msebor@redhat.com>
316
317 (-Wformat-overflow): ...to this.
318
bf5fbf46
MS
3192017-01-11 Martin Sebor <msebor@redhat.com>
320
321 PR c/78768
322 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
323 Also enable for LTO.
324
e363df3f
JM
3252017-01-10 Jason Merrill <jason@redhat.com>
326
327 Implement P0195R2, C++17 variadic using.
328 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
329
bd2c6270
JJ
3302017-01-09 Jakub Jelinek <jakub@redhat.com>
331
332 PR translation/79019
333 PR translation/79020
334 * c.opt (Wnormalized=): Fix typo in description.
335
efcc8d38
MS
3362017-01-08 Martin Sebor <msebor@redhat.com>
337
338 PR middle-end/77708
339 * c.opt (-Wformat-truncation): New option.
340
435f3f7a
AO
3412017-01-06 Alexandre Oliva <aoliva@redhat.com>
342
343 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
344 value to unsigned short to fit in 4 hex digits without
345 warnings.
346
4e89adf9
EB
3472017-01-05 Eric Botcazou <ebotcazou@adacore.com>
348
349 * c.opt (fsso-struct): Add 'native' value.
350
cd445b54
ML
3512017-01-05 Martin Liska <mliska@suse.cz>
352
353 PR pch/78970
354 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
355 header.
356
a9342885
MP
3572017-01-04 Marek Polacek <polacek@redhat.com>
358
359 PR c++/64767
360 * c.opt (Wpointer-compare): New option.
361
fc73e60c
JJ
3622017-01-04 Jakub Jelinek <jakub@redhat.com>
363
364 PR driver/78957
365 * c.opt (fsso-struct=): Add RejectNegative.
366
cbe34bb5
JJ
3672017-01-01 Jakub Jelinek <jakub@redhat.com>
368
369 Update copyright years.
370
d4a6c0ea
ML
3712016-12-29 Martin Liska <mliska@suse.cz>
372
373 PR c/78933
374 * c.opt (strong-eval-order): Add RejectNegative keyword.
375
67a5ad7c
JM
3762016-12-22 Jason Merrill <jason@redhat.com>
377
378 Implement P0522R0, matching of template template arguments.
379 * c-cppbuiltin.c (c_cpp_builtins): Define
380 __cpp_template_template_args.
381
0dba7960
JJ
3822016-12-21 Jakub Jelinek <jakub@redhat.com>
383
384 PR bootstrap/78817
385 * c-common.c (struct nonnull_arg_ctx): New type.
386 (check_function_nonnull): Return bool instead of void. Use
387 nonnull_arg_ctx as context rather than just location_t.
388 (check_nonnull_arg): Adjust for the new context type, set
389 warned_p to true if a warning has been diagnosed.
390 (check_function_arguments): Return bool instead of void.
391 * c-common.h (check_function_arguments): Adjust prototype.
392
31bfc9b9
JM
3932016-12-21 Jason Merrill <jason@redhat.com>
394
395 * c.opt (-fnew-ttp-matching): New flag.
396 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
397
629b3d75
MJ
3982016-12-14 Martin Jambor <mjambor@suse.cz>
399
400 * c-omp.c: Include omp-general.h instead of omp-low.h.
401 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
402 name.
403
474da67e
MS
4042016-12-14 Martin Sebor <msebor@redhat.com>
405
406 PR c/17308
407 * c-common.c (check_nonnull_arg): Disable when optimization
408 is enabled.
409
fe366b87
MP
4102016-12-12 Marek Polacek <polacek@redhat.com>
411
412 PR c++/78647
413 * c-common.c (attribute_fallthrough_p): Return false for
414 error_mark_node.
415
8bd9f164
MS
4162016-12-08 Martin Sebor <msebor@redhat.com>
417
418 PR c/78284
419 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
420
060162e0
MS
4212016-12-08 Martin Sebor <msebor@redhat.com>
422
423 PR c/78165
1d0cf89a
MS
424 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
425 suffix.
060162e0 426
ee92e7ba
MS
4272016-12-07 Martin Sebor <msebor@redhat.com>
428
429 PR c/53562
430 PR middle-end/77784
431 PR middle-end/78149
432 PR middle-end/78138
433 * c.opt (-Wstringop-overflow): New option.
434
84b0769e
MO
4352016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
436
437 * c-attribs.c (asan odr indicator): New attribute.
438 (handle_asan_odr_indicator_attribute): New function.
439
7fa6a965
PK
4402016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
441
442 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
443 ptrdiff_type_node;
444
56d8ffc1
JG
4452016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
446
447 * c-common.c (excess_precision_mode_join): New.
448 (c_ts18661_flt_eval_method): New.
449 (c_c11_flt_eval_method): Likewise.
450 (c_flt_eval_method): Likewise.
451 * c-common.h (excess_precision_mode_join): New.
452 (c_flt_eval_method): Likewise.
453 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
454 (cpp_iec_559_value): Call it.
455 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
456 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
457 __FLT_EVAL_METHOD_TS_18661_3__.
458
04f0fcf7
JG
4592016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
460
461 * c-opts.c (c_common_post_options): Add logic to handle the default
462 case for -fpermitted-flt-eval-methods.
463
fb2675cb
PB
4642016-11-23 Paolo Bonzini <bonzini@gnu.org>
465
466 * c.opt (Wexpansion-to-defined): New.
467
ec1c5694
JJ
4682016-11-23 Jakub Jelinek <jakub@redhat.com>
469
470 PR target/78451
471 * c-pragma.c (handle_pragma_target): Don't replace
472 current_target_pragma, but chainon the new args to the current one.
473
730c9e75
NS
4742016-11-22 Nathan Sidwell <nathan@acm.org>
475
476 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 477 indentation and formatting.
730c9e75 478
89990732
MS
4792016-11-21 Martin Sebor <msebor@redhat.com>
480
481 * c.opt (-fprintf-return-value): Enable by default.
482
48330c93
BE
4832016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
484
485 PR c++/71973
486 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
487 * c-common.c (c_common_nodes_and_builtins): Initialize
488 const_tm_ptr_type_node.
489
0d939c95
MP
4902016-11-16 Marek Polacek <polacek@redhat.com>
491
492 PR c/78285
493 * c-common.c (c_add_case_label): Turn error_at calls into inform.
494
8e745a17
JJ
4952016-11-14 Jakub Jelinek <jakub@redhat.com>
496
497 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
498
1ee62b92 4992016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
500 Richard Biener <rguenther@suse.de>
501
502 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
503 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
504 * c.opt (fgimple): New option.
1ee62b92 505
22b15758
UB
5062016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
507
508 PR c/35503
509 * c-common.h (warn_for_restrict): Declare.
510 * c-warn.c: Include gcc-rich-location.h.
511 (warn_for_restrict): New function.
512 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
513 (gcc_cdiag_char_table): Likewise.
514 (gcc_cxxdiag_char_table): Likewise.
515 * c.opt (Wrestrict): New option.
516
4be719cd
EB
5172016-11-13 Eric Botcazou <ebotcazou@adacore.com>
518
519 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
520 for nested types only if the type is a record or union and dump SLOC.
521
4a826ca6
JM
5222016-11-09 Jason Merrill <jason@redhat.com>
523
524 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
525
2e955d50
JJ
5262016-11-09 Jakub Jelinek <jakub@redhat.com>
527
528 * c-ubsan.c (ubsan_instrument_shift): Handle split
529 -fsanitize=shift-base and -fsanitize=shift-exponent.
530
51dc6603
JM
5312016-11-07 Jason Merrill <jason@redhat.com>
532
533 * c.opt (Wc++1z-compat): New.
534 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
535
6dc4a604
ML
5362016-11-07 Martin Liska <mliska@suse.cz>
537
538 * c-warn.c (warn_for_unused_label): Save all labels used
539 in goto or in &label.
540
b302001e
JM
5412016-11-03 Jason Merrill <jason@redhat.com>
542
543 * c-cppbuiltin.c (c_cpp_builtins): Correct
544 __cpp_inheriting_constructors.
545
31f7f784
JM
5462016-11-01 Jason Merrill <jason@redhat.com>
547
2bc78e3c
JM
548 * c-cppbuiltin.c (c_cpp_builtins): Update
549 __cpp_inheriting_constructors.
550
31f7f784
JM
551 * c.opt (-fnew-inheriting-ctors): New.
552 * c-opts.c: Default to on for ABI 11+.
553
dcb466ec
JJ
5542016-10-31 Jakub Jelinek <jakub@redhat.com>
555
556 PR c++/77948
557 * c.opt (fext-numeric-literals): Add Var and Init.
558 * c-opts.c (c_common_handle_option): Don't clear
559 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
560 (c_common_post_options): Clear it here if not set
561 explicitly.
562
52e1b91e
AH
5632016-10-28 Aldy Hernandez <aldyh@redhat.com>
564
565 PR debug/77773
566 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
567 if NULL.
568
e16f1cc7
JJ
5692016-10-25 Jakub Jelinek <jakub@redhat.com>
570
571 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
572 * c-common.c (c_common_reswords): Add __builtin_launder.
573
f8348061
BE
5742016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
575
576 * c-common.c (c_common_truthvalue_conversion): Warn for
577 multiplications in boolean context. Fix the quoting of '<<' and '<'
578 in the shift warning.
579
eff89e01
BE
5802016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
581
582 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
583
24bc7bf4
JM
5842016-10-20 Jason Merrill <jason@redhat.com>
585
586 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
587
4c712374
BE
5882016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
589
590 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
591 integer shift ops in boolean context.
592
5932016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
594
595 * c.opt (Walloca): New.
596 (Walloca-larger-than=): New.
597 (Wvla-larger-than=): New.
598
8fa18c06
MP
5992016-10-17 Marek Polacek <polacek@redhat.com>
600
601 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
602 Return immediately when finding a match.
603 (warn_tautological_cmp): Remove a boolean variable that is no longer
604 needed.
605
b12b1915
MP
6062016-10-17 Marek Polacek <polacek@redhat.com>
607
608 * c-attribs.c: New file.
609 * c-common.c: Move attributes handling to c-attribs.c.
610 (get_nonnull_operand): No longer static.
611 * c-common.h: Move the declarations from c-attribs.c to its own section.
612
2045acd9
JM
6132016-10-14 Jason Merrill <jason@redhat.com>
614
615 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
616 and __cpp_deduction_guides.
617
14a2c9aa
JM
6182016-10-13 Jason Merrill <jason@redhat.com>
619
620 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
621
4d0cdd0c
TP
6222016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
623
624 * c-cppbuiltin.c: Include memmodel.h.
625 * c-opts.c: Likewise.
626 * c-pragma.c: Likewise.
627 * c-warn.c: Likewise.
628
70f6d5e1
JJ
6292016-10-12 Jakub Jelinek <jakub@redhat.com>
630
631 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
632 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
633 * c-opts.c (sanitize_cpp_opts): Initialize
634 cpp_opts->cpp_warn_implicit_fallthrough.
635
78f61294
MP
6362016-10-11 Marek Polacek <polacek@redhat.com>
637
638 * c-common.c (warning_candidate_p): Change the return type to bool
639 and return true/false instead of 1/0.
640 (vector_mode_valid_p): Likewise.
641
038b5cc0
MP
6422016-10-11 Marek Polacek <polacek@redhat.com>
643
644 * c-common.c (fold_for_warn): No longer static.
645 (bool_promoted_to_int_p): Likewise.
646 (c_common_get_narrower): Likewise.
647 (constant_expression_warning): Move to c-warn.c.
648 (constant_expression_error): Likewise.
649 (overflow_warning): Likewise.
650 (warn_logical_operator): Likewise.
651 (find_array_ref_with_const_idx_r): Likewise.
652 (warn_tautological_cmp): Likewise.
653 (expr_has_boolean_operands_p): Likewise.
654 (warn_logical_not_parentheses): Likewise.
655 (warn_if_unused_value): Likewise.
656 (strict_aliasing_warning): Likewise.
657 (sizeof_pointer_memaccess_warning): Likewise.
658 (check_main_parameter_types): Likewise.
659 (conversion_warning): Likewise.
660 (warnings_for_convert_and_check): Likewise.
661 (match_case_to_enum_1): Likewise.
662 (match_case_to_enum): Likewise.
663 (c_do_switch_warnings): Likewise.
664 (warn_for_omitted_condop): Likewise.
665 (readonly_error): Likewise.
666 (lvalue_error): Likewise.
667 (invalid_indirection_error): Likewise.
668 (warn_array_subscript_with_type_char): Likewise.
669 (warn_about_parentheses): Likewise.
670 (warn_for_unused_label): Likewise.
671 (warn_for_div_by_zero): Likewise.
672 (warn_for_memset): Likewise.
673 (warn_for_sign_compare): Likewise.
674 (do_warn_double_promotion): Likewise.
675 (do_warn_unused_parameter): Likewise.
676 (record_locally_defined_typedef): Likewise.
677 (maybe_record_typedef_use): Likewise.
678 (maybe_warn_unused_local_typedefs): Likewise.
679 (maybe_warn_bool_compare): Likewise.
680 (maybe_warn_shift_overflow): Likewise.
681 (warn_duplicated_cond_add_or_warn): Likewise.
682 (diagnose_mismatched_attributes): Likewise.
683 * c-common.h: Move the declarations from c-warn.c to its own section.
684 * c-warn.c: New file.
685
627be19f
JM
6862016-10-08 Jason Merrill <jason@redhat.com>
687
688 * c-common.c (c_common_truthvalue_conversion): Don't distribute
689 into COND_EXPR in C++.
690
7bad794a
JJ
6912016-10-08 Jakub Jelinek <jakub@redhat.com>
692
693 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
694 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
695 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
696
be845b04
JJ
6972016-10-07 Jakub Jelinek <jakub@redhat.com>
698
699 Implement LWG2296 helper intrinsic
700 * c-common.h (enum rid): Add RID_ADDRESSOF.
701 * c-common.c (c_common_reswords): Add __builtin_addressof.
702
c09c4992
BE
7032016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
704
705 PR c++/77700
706 * c-common.c (c_common_truthvalue_conversion): Warn also for
707 suspicious enum values in boolean context.
708
342cfb3e
JJ
7092016-10-06 Jakub Jelinek <jakub@redhat.com>
710
711 Implement P0258R2 - helper for C++17
712 std::has_unique_object_representations trait
713 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
714 * c-common.c (c_common_reswords): Add
715 __has_unique_object_representations.
716
2e69f143
JJ
7172016-10-05 Jakub Jelinek <jakub@redhat.com>
718
719 PR sanitizer/66343
720 * c-ubsan.c (ubsan_instrument_return): Don't call
721 initialize_sanitizer_builtins here.
722
700fff34
BE
7232016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
724
725 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
726 conditional expression in boolean context when only one arm is
727 non-boolean.
728
9563bfcd
JJ
7292016-10-05 Jakub Jelinek <jakub@redhat.com>
730
04a32443
JJ
731 PR sanitizer/77823
732 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
733 is not integral.
734
9563bfcd
JJ
735 * c-common.c (c_common_reswords): Update comment for C++11.
736
f1644724
JM
7372016-10-04 Jason Merrill <jason@redhat.com>
738
739 * c-common.c (make_tree_vector_from_ctor): New.
740 * c-common.h: Declare it.
741
5a79befb
JJ
7422016-10-04 Jakub Jelinek <jakub@redhat.com>
743
744 * c-cppbuiltin.c (c_cpp_builtins): Don't define
745 __LIBGCC_JCR_SECTION_NAME__.
746
1633d3b9
BE
7472016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
748
749 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
750 left shift in boolean context.
751
a2c6e7f2
JJ
7522016-09-29 Jakub Jelinek <jakub@redhat.com>
753
754 Implement P0001R1 - C++17 removal of register storage class specifier
755 * c.opt (Wregister): New warning.
756 * c-opts.c (c_common_post_options): Enable -Wregister by
757 default for C++17.
758
75304c87
JG
7592016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
760
761 * c-opts.c (c_common_post_options): Remove special case for
762 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
763 in C++.
764
bbfac6da
JJ
7652016-09-27 Jakub Jelinek <jakub@redhat.com>
766
6e39060a
JJ
767 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
768 -std=c++1z.
769
bbfac6da
JJ
770 * c-ada-spec.c (print_ada_declaration): Remove break after return.
771
e73cf9a2
TP
7722016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
773
774 * c-common.c: Include memmodel.h.
775
c6147dc4
MP
7762016-09-26 Marek Polacek <polacek@redhat.com>
777
778 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
779
81fea426
MP
7802016-09-26 Marek Polacek <polacek@redhat.com>
781
782 PR c/7652
783 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
784 (handle_fallthrough_attribute): New function.
785 (attribute_fallthrough_p): New function.
786 * c-common.h (attribute_fallthrough_p): Declare.
787
9a2300e9
MP
7882016-09-24 Marek Polacek <polacek@redhat.com>
789
790 PR c/77490
791 * c.opt (Wbool-operation): New.
792
a09e9e35
BE
7932016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
794
795 * c-common.c (c_common_truthvalue_conversion): Inhibit
796 Wint-in-bool-context warning with from_macro_definition_at.
797 Mention the expression will always evaluate to true.
798
d43b4ccc
MS
7992016-09-21 Martin Sebor <msebor@redhat.com>
800
801 PR bootstrap/77676
802 * c.opt (fprintf-return-value): Temporarily initialize to zero
803 to unblock bootstrap failures.
804
2e1c20b1
JJ
8052016-09-21 Jakub Jelinek <jakub@redhat.com>
806
807 PR c++/77651
808 * c.opt (Waligned-new=): Add RejectNegative.
809 (faligned-new=): Likewise. Spelling fix - change
810 aligned_new_threshhold to aligned_new_threshold.
811 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
812 to aligned_new_threshold.
813
88d0c3f0
MS
8142016-09-20 Martin Sebor <msebor@redhat.com>
815
816 PR middle-end/49905
817 * c.opt: Add -Wformat-length and -fprintf-return-value.
818
144a96e4
BE
8192016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
820
821 PR c++/77434
822 * c.opt (Wint-in-bool-context): New warning.
823 * c-common.c (c_common_truthvalue_conversion): Warn on integer
824 constants in boolean context.
825
63012d9a
JM
8262016-09-19 Joseph Myers <joseph@codesourcery.com>
827
828 * c-common.c (max_align_t_align): Also consider alignment of
829 float128_type_node.
830
931388ce
JM
8312016-09-15 Jason Merrill <jason@redhat.com>
832
833 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
834 DECL_EXTERNAL.
835
38711381
JM
8362016-09-14 Jason Merrill <jason@redhat.com>
837
838 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
839 limit FIELD_DECL, either.
840
e51fbec3
MP
8412016-09-14 Marek Polacek <polacek@redhat.com>
842
843 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
844 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
845 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
846
254830ba
DM
8472016-09-13 David Malcolm <dmalcolm@redhat.com>
848
849 * c-common.c (warn_logical_not_parentheses): Replace
850 rich_location::add_fixit_insert calls with add_fixit_insert_before
851 and add_fixit_insert_after, eliminating the "next_loc" calculation.
852
42763690
JM
8532016-09-13 Jason Merrill <jason@redhat.com>
854 Tom de Vries <tom@codesourcery.com>
855
856 PR c++/77427
857 * c-common.c (set_underlying_type): Don't treat array as builtin type.
858
9453eee9
JM
8592016-09-13 Jason Merrill <jason@redhat.com>
860
861 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
862 limit types at all.
863
e96809e3
JM
8642016-09-12 Jason Merrill <jason@redhat.com>
865
866 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
867 bit/byte confusion, allow large alignment for types.
868
54dcdb88
BE
8692016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
870
871 PR c++/77496
872 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
873
d1463eb9
DM
8742016-09-12 David Malcolm <dmalcolm@redhat.com>
875
876 PR c/72858
877 * c-format.c (argument_parser::check_argument_type): Add params
878 "type_start" and "conversion_char". Use the former to generate
879 offset_to_type_start and pass it and conversion_char to
880 check_format_types.
881 (check_format_info_main): Capture the start of the type
882 information as "type_start", and pass it an format_char
883 to arg_parser.check_argument_type.
884 (check_format_types): Provide an example in the leading comment.
885 Add params "offset_to_type_start" and "conversion_char"; pass
886 them to format_type_warning calls.
887 (test_get_modifier_for_format_len): Likewise.
888 (matching_type_p): New function.
889 (get_format_for_type): Add param "conversion_char" and move
890 implementation into...
891 (get_format_for_type_1): ...new function, called twice.
892 Use new function matching_type_p rather than checking for
893 TYPE_CANONICAL equality.
894 (get_corrected_substring): New function.
895 (format_type_warning): Provide an example in the leading comment.
896 Add params "offset_to_type_start" and "conversion_char". Replace
897 call to get_format_for_type with call to get_corrected_substring
898 and move rejection of hints for widths/precisions there.
899 (assert_format_for_type_streq): Add param "conversion_char".
900 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
901 (test_get_format_for_type_printf): Add conversion chars to the
902 tests, adding coverage for various combinations of integer
903 vs double conversions, and for preserving octal and hexadecimal
904 conversions.
905 (test_get_format_for_type_scanf): Add conversion chars to the
906 tests.
907
5b28efbb
TV
9082016-09-10 Tom de Vries <tom@codesourcery.com>
909
910 PR C/71602
911 * c-common.c (build_va_arg): Handle more strict
912 targetm.canonical_va_list_type. Replace first argument type error with
913 assert.
914
3f0177e7
MS
9152016-09-09 Martin Sebor <msebor@redhat.com>
916
917 PR c/77520
918 PR c/77521
919 * c-format.c (argument_parser::find_format_char_info): Use %qc
920 format directive unconditionally.
921
af63ba4b
JM
9222016-09-09 Jason Merrill <jason@redhat.com>
923
924 Implement C++17 new of over-aligned types.
925 * c.opt: Add -faligned-new and -Waligned-new.
926 * c-common.c (max_align_t_align): Split out from...
927 (cxx_fundamental_alignment_p): ...here.
928 * c-common.h: Declare it.
929 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
930
c65248cb
JM
9312016-09-09 Joseph Myers <joseph@codesourcery.com>
932
933 * c-cppbuiltin.c (builtin_define_type_width): New function.
934 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
935 macros.
936
e5106e27
DM
9372016-09-07 David Malcolm <dmalcolm@redhat.com>
938
939 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
940 a POINTER_TYPE.
941 (substring_loc::get_location): Move to substring-locations.c,
942 keeping implementation as...
943 (c_get_substring_location): New function, from the above, reworked
944 to use accessors rather than member lookup.
945 * c-common.h (class substring_loc): Move to substring-locations.h,
946 replacing with a forward decl.
947 (c_get_substring_location): New decl.
948 * c-format.c: Include "substring-locations.h".
949 (format_warning_va): Move to substring-locations.c.
950 (format_warning_at_substring): Likewise.
951
a42e7952
MS
9522016-09-06 Martin Sebor <msebor@redhat.com>
953
954 PR c/77336
955 * c-format.c (check_function_format): Avoid issuing warnings for
956 functions unless they call format functions with non-constant
957 format strings.
958
b772a565
RB
9592016-09-06 Richard Biener <rguenther@suse.de>
960
961 PR c/77450
962 * c-common.c (c_common_mark_addressable_vec): Handle
963 COMPOUND_LITERAL_EXPR.
964
25ff5dd3
MP
9652016-09-05 Marek Polacek <polacek@redhat.com>
966
967 PR c/77423
968 * c-common.c (bool_promoted_to_int_p): New function.
969 (expr_has_boolean_operands_p): New function.
970 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
971 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
972
21234eb5
TV
9732016-09-04 Tom de Vries <tom@codesourcery.com>
974
975 revert:
976 2016-08-29 Tom de Vries <tom@codesourcery.com>
977
978 * c-common.c (build_va_arg): Replace first argument type error
979 with assert.
980
9dc5773f
JJ
9812016-09-02 Jakub Jelinek <jakub@redhat.com>
982
983 PR c/65467
984 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
985 (c_finish_omp_for): Reject _Atomic qualified iterators.
986
9872016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
988
989 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
990 size to guarantee it fits the output of the formatted function
991 regardless of its arguments.
992
295844f6
MP
9932016-09-01 Marek Polacek <polacek@redhat.com>
994
995 PR c/7652
996 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
997 FALLTHRU comments.
998
3d06b6f2
MP
9992016-08-29 Marek Polacek <polacek@redhat.com>
1000
1001 PR c/77292
1002 * c-common.c (warn_logical_not_parentheses): Don't warn for
1003 a comparison or a logical operator.
1004
34cedad5
TV
10052016-08-29 Tom de Vries <tom@codesourcery.com>
1006
1007 * c-common.c (build_va_arg): Fix type comparison assert.
1008
f162d717
TV
10092016-08-29 Tom de Vries <tom@codesourcery.com>
1010
1011 * c-common.c (build_va_arg): Replace first argument type error
1012 with assert.
1013
ba9bbd6f
TV
10142016-08-29 Tom de Vries <tom@codesourcery.com>
1015
1016 PR c/77398
1017 * c-common.c (build_va_arg): Add first argument error. Build va_arg
1018 with error_mark_node as va_list instead of with illegal va_list.
1019
ebef225f
MP
10202016-08-25 Marek Polacek <polacek@redhat.com>
1021 David Malcolm <dmalcolm@redhat.com>
1022
1023 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
1024 * c-common.h (warn_logical_not_parentheses): Update declaration.
1025
b00e6e75
MP
10262016-08-22 Marek Polacek <polacek@redhat.com>
1027
1028 PR c++/77321
1029 * c-common.c (warn_for_memset): Check type for null.
1030
6dc198e3
JM
10312016-08-22 Joseph Myers <joseph@codesourcery.com>
1032
1033 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1034 _FloatNx types for suffixes for built-in functions.
1035
c65699ef
JM
10362016-08-19 Joseph Myers <joseph@codesourcery.com>
1037
1038 PR c/32187
1039 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1040 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1041 (RID_FLOAT128X): New enum rid values.
1042 (CASE_RID_FLOATN_NX): New macro.
1043 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1044 keywords.
1045 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1046 corresponding complex types.
1047 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1048 _FloatNx and corresponding complex types.
1049 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1050 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1051 and _FloatNx types for the widest type for determining
1052 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1053 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1054 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1055 and _FloatNx types.
1056 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1057 constants.
1058 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1059 _FloatNx types.
1060
cc015f3a
DM
10612016-08-18 David Malcolm <dmalcolm@redhat.com>
1062
1063 * c-opts.c (c_diagnostic_finalizer): Update for change to
1064 diagnostic_show_locus.
1065
cb18fd07
DM
10662016-08-18 David Malcolm <dmalcolm@redhat.com>
1067
1068 * c-common.c: Include "spellcheck.h".
1069 (cb_get_suggestion): New function.
1070 * c-common.h (cb_get_suggestion): New decl.
1071 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1072 cb_get_suggestion.
1073
a76989dc
MP
10742016-08-18 Marek Polacek <polacek@redhat.com>
1075
1076 PR c/71514
1077 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1078 and pointer-to-VLA.
1079
65e736c0
DM
10802016-08-16 David Malcolm <dmalcolm@redhat.com>
1081
1082 PR c/72857
1083 * c-common.c (substring_loc::get_range): Rename to...
1084 (substring_loc::get_location): ...this, converting param from a
1085 source_range * to a location_t *. Call
1086 get_source_location_for_substring rather than
1087 get_source_range_for_substring, and pass in m_caret_idx.
1088 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1089 (substring_loc::get_range): Replace with...
1090 (substring_loc::get_location): ...this.
1091 (substring_loc::set_caret_index): New method.
1092 (substring_loc): Add field m_caret_idx.
1093 * c-format.c (format_warning_va): Update for above changes.
1094 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1095 clashing with type name.
1096 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1097 (check_argument_type): Likewise.
1098 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1099 Use a copy when emitting warnings, setting the caret index from TYPE.
1100
7e1dde14 11012016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 1102 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
1103
1104 * c-ada-spec.c (dump_number): New function.
1105 (handle_escape_character): Likewise.
1106 (print_ada_macros): Add handling of constant integers and strings.
1107
191816a3
MP
11082016-08-12 Marek Polacek <polacek@redhat.com>
1109
1110 PR c/7652
1111 * c-common.c (scalar_to_vector): Adjust fall through comment.
1112 * c-opts.c (c_common_handle_option): Likewise.
1113 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1114 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1115 fall through comment.
1116 * cilk.c (extract_free_variables): Add FALLTHRU.
1117
452df4a4
JM
11182016-08-10 Jason Merrill <jason@redhat.com>
1119
1120 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1121
f3365c12
JM
11222016-08-09 Jason Merrill <jason@redhat.com>
1123
1124 * c-common.c (c_common_attribute_table): vector_size affects type
1125 identity.
1126
f0bc3323
MP
11272016-08-09 Marek Polacek <polacek@redhat.com>
1128
1129 PR c/7652
1130 * c-ada-spec.c (dump_generic_ada_node): Add return.
1131
98e5a19a
JM
11322016-08-09 Jason Merrill <jason@redhat.com>
1133
1134 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1135 C++17 constexpr lambdas.
1136
895aa8e1
DM
11372016-08-08 David Malcolm <dmalcolm@redhat.com>
1138
1139 PR c/64955
1140 * c-common.h (selftest::c_format_c_tests): New declaration.
1141 (selftest::run_c_tests): New declaration.
1142 * c-format.c: Include "selftest.h.
1143 (format_warning_va): Add param "corrected_substring" and use
1144 it to add a replacement fix-it hint.
1145 (format_warning_at_substring): Likewise.
1146 (format_warning_at_char): Update for new param of
1147 format_warning_va.
1148 (argument_parser::check_argument_type): Pass "fki" to
1149 check_format_types.
1150 (check_format_types): Add param "fki" and pass it to
1151 format_type_warning.
1152 (deref_n_times): New function.
1153 (get_modifier_for_format_len): New function.
1154 (selftest::test_get_modifier_for_format_len): New function.
1155 (get_format_for_type): New function.
1156 (format_type_warning): Add param "fki" and use it to attempt
1157 to provide hints for argument types when calling
1158 format_warning_at_substring.
1159 (selftest::get_info): New function.
1160 (selftest::assert_format_for_type_streq): New function.
1161 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1162 (selftest::test_get_format_for_type_printf): New function.
1163 (selftest::test_get_format_for_type_scanf): New function.
1164 (selftest::c_format_c_tests): New function.
1165
e52ed3fe
DM
11662016-08-08 David Malcolm <dmalcolm@redhat.com>
1167
1168 PR c/52952
1169 * c-format.c: Include "diagnostic.h".
1170 (location_column_from_byte_offset): Delete.
1171 (location_from_offset): Delete.
1172 (format_warning_va): New function.
1173 (format_warning_at_substring): New function.
1174 (format_warning_at_char): New function.
1175 (check_format_arg): Capture location of format_tree and pass to
1176 check_format_info_main.
1177 (argument_parser): Add fields "start_of_this_format" and
1178 "format_string_cst".
1179 (flag_chars_t::validate): Add param "format_string_cst". Convert
1180 warning_at call using location_from_offset to call to
1181 format_warning_at_char.
1182 (argument_parser::argument_parser): Add param "format_string_cst_"
1183 and use use it to initialize field "format_string_cst".
1184 Initialize new field "start_of_this_format".
1185 (argument_parser::read_format_flags): Convert warning_at call
1186 using location_from_offset to a call to format_warning_at_char.
1187 (argument_parser::read_any_format_left_precision): Likewise.
1188 (argument_parser::read_any_format_precision): Likewise.
1189 (argument_parser::read_any_other_modifier): Likewise.
1190 (argument_parser::find_format_char_info): Likewise, in three places.
1191 (argument_parser::parse_any_scan_set): Likewise, in one place.
1192 (argument_parser::handle_conversions): Likewise, in two places.
1193 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1194 and use it to make a substring_loc. Pass the latter to
1195 check_format_types.
1196 (check_format_info_main): Add params "fmt_param_loc" and
1197 "format_string_cst". Convert warning_at calls using
1198 location_from_offset to calls to format_warning_at_char. Pass the
1199 new params to the arg_parser ctor. Pass "format_string_cst" to
1200 flag_chars.validate. Pass "fmt_param_loc" to
1201 arg_parser.check_argument_type.
1202 (check_format_types): Convert first param from a location_t
1203 to a const substring_loc & and rename to "fmt_loc". Attempt
1204 to extract the range of the relevant parameter and pass it
1205 to format_type_warning.
1206 (format_type_warning): Convert first param from a location_t
1207 to a const substring_loc & and rename to "fmt_loc". Add
1208 params "param_range" and "type". Replace calls to warning_at
1209 with calls to format_warning_at_substring.
1210
1c4d457e
DM
12112016-08-08 David Malcolm <dmalcolm@redhat.com>
1212
1213 * c-format.c (class flag_chars_t): New class.
1214 (struct length_modifier): New struct.
1215 (class argument_parser): New class.
1216 (flag_chars_t::flag_chars_t): New ctor.
1217 (flag_chars_t::has_char_p): New method.
1218 (flag_chars_t::add_char): New method.
1219 (flag_chars_t::validate): New method.
1220 (flag_chars_t::get_alloc_flag): New method.
1221 (flag_chars_t::assignment_suppression_p): New method.
1222 (argument_parser::argument_parser): New ctor.
1223 (argument_parser::read_any_dollar): New method.
1224 (argument_parser::read_format_flags): New method.
1225 (argument_parser::read_any_format_width): New method.
1226 (argument_parser::read_any_format_left_precision): New method.
1227 (argument_parser::read_any_format_precision): New method.
1228 (argument_parser::handle_alloc_chars): New method.
1229 (argument_parser::read_any_length_modifier): New method.
1230 (argument_parser::read_any_other_modifier): New method.
1231 (argument_parser::find_format_char_info): New method.
1232 (argument_parser::validate_flag_pairs): New method.
1233 (argument_parser::give_y2k_warnings): New method.
1234 (argument_parser::parse_any_scan_set): New method.
1235 (argument_parser::handle_conversions): New method.
1236 (argument_parser::check_argument_type): New method.
1237 (check_format_info_main): Introduce classes argument_parser
1238 and flag_chars_t, moving the code within the loop into methods
1239 of these classes. Make various locals "const".
1240
88fa5555
DM
12412016-08-05 David Malcolm <dmalcolm@redhat.com>
1242
1243 * c-common.c: Include "substring-locations.h".
1244 (get_cpp_ttype_from_string_type): New function.
1245 (g_string_concat_db): New global.
1246 (substring_loc::get_range): New method.
1247 * c-common.h (g_string_concat_db): New declaration.
1248 (class substring_loc): New class.
1249 * c-lex.c (lex_string): When concatenating strings, capture the
1250 locations of all tokens using a new obstack, and record the
1251 concatenation locations within g_string_concat_db.
1252 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1253 on the ggc-heap.
1254
78169471
MP
12552016-07-29 Marek Polacek <polacek@redhat.com>
1256
638fc14f
MP
1257 PR c/71926
1258 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1259 parentheses warning.
1260
78169471
MP
1261 PR c/71574
1262 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1263
1225d6b1
ML
12642016-07-28 Martin Liska <mliska@suse.cz>
1265
1266 PR gcov-profile/68025
1267 * c-common.c (handle_no_profile_instrument_function_attribute):
1268
ec1e2a40
BE
12692016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1270
1271 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1272 BITS_PER_UNIT_LOG.
1273
5ec2cd9f
JM
12742016-07-25 Jason Merrill <jason@redhat.com>
1275
1276 PR c++/65970
1277 * c.opt (fconstexpr-loop-limit): New.
1278
9dc5773f 12792016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
1280
1281 PR c++/71675
1282 * c-common.c (resolve_overloaded_builtin): Avoid converting
1283 __atomic_compare_exchange_n return type to that of what its
1284 first argument points to.
1285
e3fe09c1
UB
12862016-07-22 Uros Bizjak <ubizjak@gmail.com>
1287
1288 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1289 ~(unsigned HOST_WIDE_INT) 0.
1290
bc91c436
ML
12912016-07-22 Martin Liska <mliska@suse.cz>
1292
1293 PR gcov-profile/69028
1294 PR gcov-profile/62047
1295 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1296 to the current_function_decl.
1297
451dcc66
JM
12982016-07-21 Jason Merrill <jason@redhat.com>
1299
1300 PR c++/65168
1301 * c-common.c (c_common_truthvalue_conversion): Check
1302 c_inhibit_evaluation_warnings for warning about address of
1303 reference.
1304
de6a69ee
DM
13052016-07-20 David Malcolm <dmalcolm@redhat.com>
1306
1307 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1308 const char *.
1309
d022c55a
JM
13102016-07-15 Jason Merrill <jason@redhat.com>
1311
1312 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1313
ddbbcb19
JJ
13142016-07-15 Jakub Jelinek <jakub@redhat.com>
1315
1316 PR c/71858
1317 * c-common.h (enum lookup_name_fuzzy_kind): Add
1318 FUZZY_LOOKUP_FUNCTION_NAME.
1319
d0cf395a
JM
13202016-07-08 Jason Merrill <jason@redhat.com>
1321
1322 P0145: Refining Expression Order for C++.
1323 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1324 * c-opts.c: Adjust.
1325
98d44e93
MT
13262016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1327
1328 PR c++/71214
1329 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1330
f9d8d994
TS
13312016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1332
1333 * c-pragma.h (enum pragma_kind): Rename
1334 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1335 users.
1336
4aa83879
RB
13372016-06-29 Richard Biener <rguenther@suse.de>
1338
1339 PR middle-end/71002
1340 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1341
a25bd9e6
JM
13422016-06-24 Jason Merrill <jason@redhat.com>
1343
1344 P0145R2: Refining Expression Order for C++.
1345 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1346 MODIFY_EXPR.
1347
a86451b9
JJ
13482016-06-24 Jakub Jelinek <jakub@redhat.com>
1349
1350 * c-common.c (check_builtin_function_arguments): Require last
1351 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1352 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1353 if the last argument is pointer to enumerated or boolean type.
1354
1a4f11c8
DM
13552016-06-22 David Malcolm <dmalcolm@redhat.com>
1356
1357 PR c/70339
1358 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1359 (lookup_name_fuzzy): New prototype.
1360
fe55692c
JDA
13612016-06-21 John David Anglin <danglin@gcc.gnu.org>
1362
1363 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1364
4eb24e01
JM
13652016-06-14 Jason Merrill <jason@redhat.com>
1366
1367 P0145R2: Refining Expression Order for C++.
1368 * c.opt (fargs-in-order): New.
1369 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1370
ef7cf206
JJ
13712016-06-13 Jakub Jelinek <jakub@redhat.com>
1372
0dda258b
JJ
1373 PR sanitizer/71498
1374 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1375 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1376
ef7cf206
JJ
1377 PR preprocessor/71183
1378 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1379 to cb_get_source_date_epoch.
1380
50b15873
JJ
13812016-06-10 Jakub Jelinek <jakub@redhat.com>
1382
1383 PR c/68657
1384 * c.opt (Wpsabi): Add Warning flag.
1385
4d926e34
MS
13862016-06-10 Martin Sebor <msebor@redhat.com>
1387
1388 PR c/71392
1389 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1390 the nonnull attribute in type-generic builtins.
1391
e01b4e16
MS
13922016-06-09 Martin Sebor <msebor@redhat.com>
1393
1394 PR c/70883
1395 * c-common.c (builtin_function_validate_nargs): Make text of error
1396 message consistent with others like it.
1397
44a845ca
MS
13982016-06-08 Martin Sebor <msebor@redhat.com>
1399 Jakub Jelinek <jakub@redhat.com>
1400
1401 PR c++/70507
1402 PR c/68120
1403 * c-common.c (check_builtin_function_arguments): Handle
1404 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1405
a80a7051
RB
14062016-06-08 Richard Biener <rguenther@suse.de>
1407
1408 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1409
bfd67b47
RB
14102016-06-07 Richard Biener <rguenther@suse.de>
1411
1412 PR c/61564
1413 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1414 options and warn about others.
1415
15c98b2e
ES
14162016-06-01 Eduard Sanou <dhole@openmailbox.org>
1417
1418 * c-common.c (get_source_date_epoch): Rename to
1419 cb_get_source_date_epoch.
1420 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1421 message when the parsing fails. Use error_at instead of fatal_error.
1422 * c-common.h (get_source_date_epoch): Rename to
1423 cb_get_source_date_epoch.
1424 * c-common.h (cb_get_source_date_epoch): Prototype.
1425 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1426 * c-common.h (c_omp_region_type): Remove trailing comma.
1427 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1428 * c-lex.c (c_lex_with_flags): Remove initialization of
1429 pfile->source_date_epoch.
1430
00631022
JJ
14312016-05-30 Jakub Jelinek <jakub@redhat.com>
1432
1433 PR c++/71349
1434 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1435 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1436 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1437 instead of C_OMP_CLAUSE_SPLIT_FOR.
1438
f17a223d
RB
14392016-05-24 Richard Biener <rguenther@suse.de>
1440
1441 PR middle-end/70434
1442 PR c/69504
1443 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1444 (convert_vector_to_array_for_subscript): ... this.
1445 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1446 VIEW_CONVERT_EXPR to an array type. Rename to ...
1447 (convert_vector_to_array_for_subscript): ... this.
1448
4f2e1536
MP
14492016-05-12 Marek Polacek <polacek@redhat.com>
1450
1451 PR c/70756
1452 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1453 size_in_bytes and pass LOC to it.
1454
d6e83a8d
MM
14552016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1456
1457 PR c/43651
1458 * c.opt (Wduplicate-decl-specifier): New option.
1459
5c3a10fb
MP
14602016-05-11 Marek Polacek <polacek@redhat.com>
1461
1462 PR c++/71024
1463 * c-common.c (diagnose_mismatched_attributes): New function.
1464 * c-common.h (diagnose_mismatched_attributes): Declare.
1465
deef7113
MP
14662016-05-04 Marek Polacek <polacek@redhat.com>
1467
1468 * c.opt (Wdangling-else): New option.
1469
79ce98bc
MP
14702016-05-03 Marek Polacek <polacek@redhat.com>
1471
1472 PR c/70859
1473 * c-common.c (builtin_function_validate_nargs): Add location
1474 parameter. Use it.
1475 (check_builtin_function_arguments): Add location and arguments
1476 parameters. Use them.
1477 * c-common.h (check_builtin_function_arguments): Update declaration.
1478
381cdae4
RB
14792016-05-03 Richard Biener <rguenther@suse.de>
1480
1481 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1482 allow call args to gimplify to SSA names.
1483
1d793c34
MP
14842016-05-03 Marek Polacek <polacek@redhat.com>
1485
1486 * c-common.h (enum c_omp_region_type): Remove stray comma.
1487
77886428
CP
14882016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1489
1490 * c-common.h (enum c_omp_region_type): Define.
1491
697e0b28
RS
14922016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1493
1494 * c-common.c (shorten_compare): Use wi::to_wide.
1495
e7ff0319
CP
14962016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1497
1498 PR middle-end/70626
1499 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1500 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1501 reduction clauses in acc parallel loops.
1502
2fff3db8
MP
15032016-04-29 Marek Polacek <polacek@redhat.com>
1504
1505 PR c/70852
1506 * c-common.c (warn_for_memset): Check domain before accessing it.
1507
509063eb
DV
15082016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1509
1510 PR/69089
1511 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1512 "aligned" attribute.
1513
b632761d
JM
15142016-04-28 Jason Merrill <jason@redhat.com>
1515
1516 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1517
174f6622
ES
15182016-04-28 Eduard Sanou <dhole@openmailbox.org>
1519 Matthias Klose <doko@debian.org>
1520
1521 * c-common.c (get_source_date_epoch): New function, gets the environment
1522 variable SOURCE_DATE_EPOCH and parses it as long long with error
1523 handling.
1524 * c-common.h (get_source_date_epoch): Prototype.
1525 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1526
6bc2bb18
RB
15272015-04-27 Ryan Burn <contact@rnburn.com>
1528
1529 PR c++/69024
1530 PR c++/68997
1531 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1532 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1533 external linkage.
1534 (cilk_detect_and_unwrap): Corresponding changes.
1535 (extract_free_variables): Don't extract free variables from
1536 AGGR_INIT_EXPR slot.
1537 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1538 (cilk_recognize_spawn): Likewise.
1539
c1e1f433
BS
15402016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1541
1542 * c.opt (Wmemset-elt-size): New option.
1543 * c-common.c (warn_for_memset): New function.
1544 * c-common.h (warn_for_memset): Declare.
1545
d067e05f
JM
15462016-04-25 Jason Merrill <jason@redhat.com>
1547
1548 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1549 No longer static.
1550 * c-common.h: Declare it.
1551 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1552
9aa36ae5
JM
15532016-04-22 Jason Merrill <jason@redhat.com>
1554
1555 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1556
477d4906
IV
15572016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1558
1559 PR c++/69363
1560 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1561 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1562
fe37c7af
MM
15632016-04-18 Michael Matz <matz@suse.de>
1564
1565 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1566 and SET_DECL_ALIGN.
1567
23f2660f
EB
15682016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1569
1570 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1571 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1572 to incomplete types.
1573 (dump_nested_type): Remove redundant tests and tidy up.
1574 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1575 a type which is the typedef of an original type.
1576
1e77281b
MP
15772016-04-15 Marek Polacek <polacek@redhat.com>
1578
1579 PR c/70651
1580 * c-common.c (build_va_arg): Change two asserts into errors and return
1581 error_mark_node.
1582
b3a77f21
MP
15832016-04-13 Marek Polacek <polacek@redhat.com>
1584
1585 PR c++/70639
1586 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1587 for switch statements, too.
1588
322b8466
JM
15892016-03-28 Jason Merrill <jason@redhat.com>
1590
1591 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1592
fbdb6baf
MP
15932016-03-23 Marek Polacek <polacek@redhat.com>
1594
1595 PR c++/69884
1596 * c.opt (Wignored-attributes): New option.
1597
5c240f4d
DM
15982016-03-22 David Malcolm <dmalcolm@redhat.com>
1599
1600 PR c/69993
1601 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1602 diagnostic text, reversing the order of the warning and note so
1603 that they appear in source order.
1604
14ba7b28
MP
16052016-03-17 Marek Polacek <polacek@redhat.com>
1606
1607 PR c/69407
1608 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1609 operations.
1610
08a1cadc
JM
16112016-03-14 Jason Merrill <jason@redhat.com>
1612
2aaeea19
JM
1613 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1614
08a1cadc
JM
1615 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1616
c06d25bb
RB
16172016-03-09 Richard Biener <rguenther@suse.de>
1618
1619 PR c/70143
1620 * c-common.c (strict_aliasing_warning): Add back
1621 alias_sets_conflict_p check.
1622
80aac5c8
JM
16232016-03-08 Jason Merrill <jason@redhat.com>
1624
1625 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1626
64b23c13
DM
16272016-03-04 David Malcolm <dmalcolm@redhat.com>
1628
1629 PR c/68187
1630 * c-indentation.c (get_visual_column): Move code to determine next
1631 tab stop to...
1632 (next_tab_stop): ...this new function.
1633 (line_contains_hash_if): Delete function.
1634 (detect_preprocessor_logic): Delete function.
1635 (get_first_nws_vis_column): New function.
1636 (detect_intervening_unindent): New function.
1637 (should_warn_for_misleading_indentation): Replace call to
1638 detect_preprocessor_logic with a call to
1639 detect_intervening_unindent.
1640
729526f5
DM
16412016-03-04 David Malcolm <dmalcolm@redhat.com>
1642
1643 PR c/68187
1644 * c-indentation.c (should_warn_for_misleading_indentation): When
1645 suppressing warnings about cases where the guard and body are on
1646 the same column, only use the first non-whitespace column in place
1647 of the guard token column when dealing with "else" clauses.
1648 When rejecting aligned BODY and NEXT, loosen the requirement
1649 from equality with the first non-whitespace of guard to simply
1650 that they not be indented relative to it.
1651
e9a35493
RB
16522016-03-04 Richard Biener <rguenther@suse.de>
1653
1654 PR c++/70054
1655 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1656 instead of alias_sets_conflict_p.
1657
1be56bc5
MP
16582016-03-01 Marek Polacek <polacek@redhat.com>
1659
1660 PR c++/69795
1661 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1662 any DECL.
1663
35886f0b
MS
16642016-02-22 Martin Sebor <msebor@redhat.com>
1665
1666 PR middle-end/69780
1667 * c-common.c (check_builtin_function_arguments): Validate and
1668 reject invalid arguments to __builtin_alloca_with_align.
1669
4246c8da
MW
16702016-02-20 Mark Wielaard <mjw@redhat.com>
1671
1672 PR c/28901
1673 * c.opt (Wunused-const-variable): Turn into Alias for...
1674 (Wunused-const-variable=): New option.
1675
268be88c
BE
16762016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1677
1678 PR c++/69865
1679 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1680 here...
1681 (c_common_init_options): ...to here.
1682 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1683
871b3f47
JJ
16842016-02-19 Jakub Jelinek <jakub@redhat.com>
1685
1686 PR c++/69826
1687 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1688 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1689 flag_preprocess_only.
1690
bf14eba2
JJ
16912016-02-16 Jakub Jelinek <jakub@redhat.com>
1692
1693 PR c/69835
1694 * c.opt (Wnonnull-compare): Enable for -Wall.
1695
ba6b3795
JJ
16962016-02-15 Jakub Jelinek <jakub@redhat.com>
1697
1698 PR c++/69797
1699 * c-common.c (sync_resolve_size): Diagnose too few arguments
1700 even when params is non-NULL empty vector.
1701
a011cd92
BS
17022016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1703
1704 PR target/60410
1705 * c.opt (fshort-double): Remove.
1706
46cb9332
MS
17072016-02-05 Martin Sebor <msebor@redhat.com>
1708
1709 PR c++/69662
1710 * c.opt (Warning options): Update -Wplacement-new to take
1711 an optional argument.
1712
e1b81f2b
JJ
17132016-02-01 Jakub Jelinek <jakub@redhat.com>
1714
1715 PR preprocessor/69543
1716 PR c/69558
1717 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1718 instead of loc to control_warning_option.
1719
b6adbb9f
NS
17202016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1721
1722 * c.opt (fopenacc-dim=): New option.
1723
5d70666e
RB
17242016-01-27 Ryan Burn <contact@rnburn.com>
1725
1726 PR cilkplus/69267
1727 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1728 gimplify_arg. Removed superfluous post_p argument.
1729 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1730 superfluous post_p argument.
1731 * c-gimplify.c (c_gimplify_expr): Likewise.
1732
01e1dea3
DM
17332016-01-26 David Malcolm <dmalcolm@redhat.com>
1734
1735 PR other/69006
1736 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1737 pp_newline_and_flush with pp_flush.
1738
9f04a53e
MS
17392016-01-20 Martin Sebor <msebor@redhat.com>
1740
1741 PR c/69405
1742 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1743 an incompatible argument when the argument isn't a valid tree node.
1744
7f26f7df
JM
17452016-01-18 Jason Merrill <jason@redhat.com>
1746
1747 PR c++/68767
1748 * c-common.c (check_function_arguments_recurse): Fold the whole
1749 COND_EXPR, not just the condition.
1750
f62bf092
TV
17512016-01-18 Tom de Vries <tom@codesourcery.com>
1752
1753 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1754 classify as loop clause.
1755
e0a575ff
JJ
17562016-01-15 Jakub Jelinek <jakub@redhat.com>
1757
1758 PR bootstrap/68271
1759 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1760 C++ FE no longer has limit on number of pragmas.
1761
17622015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
1763
1764 PR c++/69048
1765 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 1766 to add missing cleanup point.
b6e3db06 1767
c7df95d8
DM
17682016-01-14 David Malcolm <dmalcolm@redhat.com>
1769
1770 PR c++/68819
1771 * c-indentation.c (get_visual_column): Add location_t param.
1772 Handle the column number being zero by effectively disabling the
1773 warning, with an "inform".
1774 (should_warn_for_misleading_indentation): Add location_t argument
1775 for all uses of get_visual_column.
1776
21efdd80
PP
17772016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1778
1779 PR c++/69029
1780 * c-indentation.c (should_warn_for_misleading_indentation):
1781 Don't warn about do-while statements.
1782
7a127fa7
MS
17832016-01-07 Martin Sebor <msebor@redhat.com>
1784
1785 PR c/68966
1786 * c-common.c (sync_resolve_size): Reject first argument when it's
1787 a pointer to _Bool.
1788
c589e975
DM
17892016-01-05 David Malcolm <dmalcolm@redhat.com>
1790
1791 PR c/69122
1792 * c-indentation.c (get_visual_column): Remove default argument.
1793 (should_warn_for_misleading_indentation): For the multiline case,
1794 update call to get_visual_column for next_stmt_exploc so that it
1795 captures the location of the first non-whitespace character in the
1796 relevant line. Don't issue warnings if there is non-whitespace
1797 before the next statement.
1798
818ab71a
JJ
17992016-01-04 Jakub Jelinek <jakub@redhat.com>
1800
1801 Update copyright years.
1802
745e411d
DM
18032015-12-21 David Malcolm <dmalcolm@redhat.com>
1804
1805 * c-common.c (binary_op_error): Convert first param from
1806 location_t to rich_location * and use it when emitting an error.
1807 * c-common.h (binary_op_error): Convert first param from
1808 location_t to rich_location *.
1809
de67c4c3
DM
18102015-12-16 David Malcolm <dmalcolm@redhat.com>
1811
1812 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1813 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1814
4a38b02b
IV
18152015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1816
1817 * c-common.c (c_common_attribute_table): Handle "omp declare target
1818 link" attribute.
1819
54d62f51
JJ
18202015-12-14 Jakub Jelinek <jakub@redhat.com>
1821
1822 PR c/68833
1823 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1824
8d4227c8
TB
18252014-12-12 Tobias Burnus <burnus@net-b.de>
1826
1827 PR fortran/68815
1828 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1829 specifiers (%d, %i,%u and %c).
1830
f6069ccc
DM
18312015-12-10 David Malcolm <dmalcolm@redhat.com>
1832
1833 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1834
63bbf46d
JJ
18352015-12-08 Jakub Jelinek <jakub@redhat.com>
1836
1837 PR c/48088
1838 PR c/68657
1839 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1840 * c-pragma.c (handle_pragma_diagnostic): Adjust
1841 control_warning_option caller.
1842
f79520bb
DM
18432015-12-07 David Malcolm <dmalcolm@redhat.com>
1844
1845 * c-common.c (c_cpp_error): Update for change to
1846 rich_location::set_range.
1847
b3d5bc62
JJ
18482015-12-04 Paolo Bonzini <bonzini@gnu.org>
1849
1850 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1851 shifting 1 out of the sign bit.
1852
18532015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1854
1855 * c-common.c (c_common_attribute_table[]): Update max arguments
1856 count for "simd" attribute.
1857 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1858
6eb4a537
JJ
18592015-12-03 Jakub Jelinek <jakub@redhat.com>
1860
1861 PR preprocessor/57580
1862 * c-ppoutput.c (print): Change printed field to bool.
1863 Move src_file last for smaller padding.
1864 (init_pp_output): Set print.printed to false instead of 0.
1865 (scan_translation_unit): Fix up formatting. Set print.printed
1866 to true after printing something other than newline.
1867 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1868 (maybe_print_line_1): Set print.printed to false instead of 0.
1869 (print_line_1): Likewise.
1870 (do_line_change): Set print.printed to true instead of 1.
1871 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1872 dump_macro): Set print.printed to false after printing newline.
1873
4250754e
JM
18742015-12-02 Jason Merrill <jason@redhat.com>
1875
f479b43d
JM
1876 * c-common.c (fold_for_warn): New.
1877 (warn_logical_operator, warn_tautological_cmp)
1878 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1879
4250754e
JM
1880 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1881 (c_fully_fold_internal, decl_constant_value_for_optimization):
1882 Move to c/c-fold.c.
1883 * c-common.h: Don't declare decl_constant_value_for_optimization.
1884
e9e32ee6
JM
18852015-12-02 Joseph Myers <joseph@codesourcery.com>
1886
1887 PR c/68162
1888 * c-common.h (c_build_qualified_type): Add extra default
1889 arguments.
1890
37d5ad46
JB
18912015-12-01 Julian Brown <julian@codesourcery.com>
1892 Cesar Philippidis <cesar@codesourcery.com>
1893 James Norris <James_Norris@mentor.com>
1894
1895 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1896 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1897 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1898
f07862c7
EB
18992015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1900
1901 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1902 (decl_sloc_common): Delete and move bulk of processing to...
1903 (decl_sloc): ...here.
1904 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1905 (dump_ada_double_name): Remove S parameter and compute the suffix.
1906 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1907 element type and deal with an anonymous one.
1908 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1909 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1910 and remove reference to QUAL_UNION_TYPE.
1911 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1912 (dump_nested_type): ...here. New function extracted from above.
1913 Generate a full declaration for anonymous element type of arrays.
1914 (print_ada_declaration): Really skip anonymous declarations. Remove
1915 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1916 Clean up processing of declarations of array types and objects.
1917 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1918 Remove obsolete code and tidy up.
1919
75c8aac3
JH
19202015-11-29 Jan Hubicka <hubicka@ucw.cz>
1921
1922 PR c/67581
1923 * c-common.c (handle_transparent_union_attribute): Update
1924 also type variants.
1925
b58d3df2
ML
19262015-11-27 Martin Liska <mliska@suse.cz>
1927
1928 PR c++/68312
1929 * array-notation-common.c (cilkplus_extract_an_triplets):
1930 Release vector of vectors.
1931 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1932
89a01fcf
EB
19332015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1934
1935 PR c++/68527
1936 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1937 (print_ada_struct_decl): Likewise.
1938
cc5c5226
IZ
19392015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1940
1941 PR c++/68001
1942 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1943 * cilk.c (recognize_spawn): Determine location in a more precise
1944 way.
1945
269adb9d
JM
19462015-11-19 Jason Merrill <jason@redhat.com>
1947
1948 * c-common.c (shorten_compare): But look through macros from
1949 system headers.
1950
d0eccfcd
JM
19512015-11-18 Jason Merrill <jason@redhat.com>
1952
1953 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1954 non-constant operand comes from a macro.
1955
3e44547c
JM
19562015-11-17 Jason Merrill <jason@redhat.com>
1957
1958 PR bootstrap/68346
1959 * c-common.c (warn_tautological_cmp): Fold before checking for
1960 constants.
1961
0f62c7a0
MP
19622015-11-16 Marek Polacek <polacek@redhat.com>
1963
1964 PR c++/68362
1965 * c-common.c (check_case_bounds): Fold low and high cases.
1966
a868811e
MP
19672015-11-16 Marek Polacek <polacek@redhat.com>
1968
1969 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1970 * c-common.c (c_common_get_alias_set): Likewise.
1971 (handle_visibility_attribute): Likewise.
1972
fff77217
KY
19732015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1974
1975 * c-common.c (handle_simd_attribute): New.
1976 (struct attribute_spec): Add entry for "simd".
1977 (handle_simd_attribute): New.
1978
269e63b7
KT
19792015-11-13 Kai Tietz <ktietz70@googlemail.com>
1980
1981 * c-lex.c (interpret_float): Use fold_convert.
1982
ebedc9a3
DM
19832015-11-13 David Malcolm <dmalcolm@redhat.com>
1984
1985 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1986 and store it on the result.
1987 * c-opts.c (c_common_init_options): Set
1988 global_dc->colorize_source_p.
1989
6e232ba4
JN
19902015-11-12 James Norris <jnorris@codesourcery.com>
1991 Joseph Myers <joseph@codesourcery.com>
1992
1993 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1994 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1995 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1996 PRAGMA_OACC_CLAUSE_LINK.
1997
e78bede6
MP
19982015-11-11 Marek Polacek <polacek@redhat.com>
1999
2000 PR c/68107
2001 PR c++/68266
2002 * c-common.c (valid_array_size_p): New function.
2003 * c-common.h (valid_array_size_p): Declare.
2004
3f8257db 20052015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
2006
2007 PR bootstrap/68271
2008 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
2009
69f293c9
AM
20102015-11-11 Andrew MacLeod <amacleod@redhat.com>
2011
2012 * array-notation-common.c: Remove unused header files.
2013 * c-ada-spec.c: Likewise.
2014 * c-cilkplus.c: Likewise.
2015 * c-common.c: Likewise.
2016 * c-cppbuiltin.c: Likewise.
2017 * c-dump.c: Likewise.
2018 * c-format.c: Likewise.
2019 * c-gimplify.c: Likewise.
2020 * c-indentation.c: Likewise.
2021 * c-lex.c: Likewise.
2022 * c-omp.c: Likewise.
2023 * c-opts.c: Likewise.
2024 * c-pch.c: Likewise.
2025 * c-ppoutput.c: Likewise.
2026 * c-pragma.c: Likewise.
2027 * c-pretty-print.c: Likewise.
2028 * c-semantics.c: Likewise.
2029 * c-ubsan.c: Likewise.
2030 * cilk.c: Likewise.
2031 * stub-objc.c: Likewise.
2032
3a40d81d
NS
20332015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2034 Cesar Philippidis <cesar@codesourcery.com>
2035 James Norris <jnorris@codesourcery.com>
2036 Julian Brown <julian@codesourcery.com>
2037 Nathan Sidwell <nathan@codesourcery.com>
2038
2039 * c-pragma.c (oacc_pragmas): Add "routine".
2040 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2041
ee45a32d
EB
20422015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2043
2044 * c-common.c (c_common_attributes): Add scalar_storage_order.
2045 (handle_scalar_storage_order_attribute): New function.
2046 * c-pragma.c (global_sso): New variable.
2047 (maybe_apply_pragma_scalar_storage_order): New function.
2048 (handle_pragma_scalar_storage_order): Likewise.
2049 (init_pragma): Register scalar_storage_order.
2050 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2051 * c.opt (Wscalar-storage-order): New warning.
2052 (fsso-struct=): New option.
2053
eb11eb15
MS
20542015-11-08 Martin Sebor <msebor@redhat.com>
2055
2056 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2057
0aad0198
RS
20582015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2059
2060 * c-common.c: Don't undef DEF_BUILTIN.
2061
8a645150
DM
20622015-11-06 David Malcolm <dmalcolm@redhat.com>
2063
2064 * c-common.c (c_cpp_error): Convert parameter from location_t to
2065 rich_location *. Eliminate the "column_override" parameter and
2066 the call to diagnostic_override_column.
2067 Update the "done_lexing" clause to set range 0
2068 on the rich_location, rather than overwriting a location_t.
2069 * c-common.h (c_cpp_error): Convert parameter from location_t to
2070 rich_location *. Eliminate the "column_override" parameter.
2071
7a5e4956
CP
20722015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2073 Thomas Schwinge <thomas@codesourcery.com>
2074 James Norris <jnorris@codesourcery.com>
2075
2076 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2077 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2078 clauses with parallel and kernels and loops.
2079 * c-pragma.h (enum pragma_omp_clause): Add entries for
2080 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2081 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2082 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2083 INDEPENDENT,SEQ}.
2084 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2085
e2f5cc96
MS
20862015-11-05 Martin Sebor <msebor@redhat.com>
2087
2088 PR c++/67942
2089 * c.opt (-Wplacement-new): New option.
2090
e01d41e5
JJ
20912015-11-05 Jakub Jelinek <jakub@redhat.com>
2092
2093 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2094 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2095 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2096 save_expr or create_tmp_var* if TEST is true.
2097 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2098 Don't call add_stmt here.
2099 (struct c_omp_check_loop_iv_data): New type.
2100 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2101 c_omp_check_loop_iv_exprs): New functions.
2102 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2103 distribute.
2104 (c_omp_declare_simd_clauses_to_numbers): Change
2105 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2106 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2107 from numbers to PARM_DECLs.
2108
595278be
MM
21092015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2110
2111 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2112 flag_checking.
2113
3f8257db 21142015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
2115
2116 PR c++-common/67882
b3d5bc62
JJ
2117 * c-common.h (fold_offsetof_1): Add argument.
2118 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
2119 offsetof expressions that reference elements past the end of
2120 an array.
2121
4bf9e5a8
TS
21222015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2123 Chung-Lin Tang <cltang@codesourcery.com>
2124
2125 * c-pragma.c (oacc_pragmas): Add "atomic".
2126 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2127
3b1661a9
ES
21282015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2129
2130 * c-common.c (handle_target_clones_attribute): New.
2131 (c_common_attribute_table): Add handle_target_clones_attribute.
2132 (handle_always_inline_attribute): Add check on target_clones attribute.
2133 (handle_target_attribute): Ditto.
2134
2adfab87
AM
21352015-10-29 Andrew MacLeod <amacleod@redhat.com>
2136
2137 * array-notation-common.c: Reorder #include's and remove duplicates.
2138 * c-ada-spec.c: Likewise.
2139 * c-cilkplus.c: Likewise.
2140 * c-common.c: Likewise.
2141 * c-cppbuiltin.c: Likewise.
2142 * c-dump.c: Likewise.
2143 * c-format.c: Likewise.
2144 * c-gimplify.c: Likewise.
2145 * c-indentation.c: Likewise.
2146 * c-lex.c: Likewise.
2147 * c-omp.c: Likewise.
2148 * c-opts.c: Likewise.
2149 * c-pch.c: Likewise.
2150 * c-ppoutput.c: Likewise.
2151 * c-pragma.c: Likewise.
2152 * c-pretty-print.c: Likewise.
2153 * c-semantics.c: Likewise.
2154 * c-ubsan.c: Likewise.
2155 * cilk.c: Likewise.
2156 * stub-objc.c: Likewise.
2157
d90ec4f2
JM
21582015-10-28 Jason Merrill <jason@redhat.com>
2159
2160 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2161
88bae6f4
TS
21622015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2163 James Norris <jnorris@codesourcery.com>
2164 Cesar Philippidis <cesar@codesourcery.com>
2165
2166 PR c/64765
2167 PR c/64880
2168 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2169 * c-omp.c (c_oacc_split_loop_clauses): New function.
2170
b1726d6c
MS
21712015-10-21 Martin Sebor <msebor@redhat.com>
2172
2173 PR driver/68043
2174 * c.opt: End each sentence that describes an option with a period.
2175
fa60eeb9
MP
21762015-10-20 Marek Polacek <polacek@redhat.com>
2177
2178 * array-notation-common.c (is_cilkplus_vector_p): Define.
2179 * c-common.h (is_cilkplus_vector_p): Declare.
2180
95979049
MP
21812015-10-20 Marek Polacek <polacek@redhat.com>
2182
2183 * c.opt (std=gnu++11): Do not describe as experimental.
2184 (std=gnu++14): Likewise.
2185
2a9fb712
JM
21862015-10-19 Jason Merrill <jason@redhat.com>
2187
2188 * c-cppbuiltin.c (c_cpp_builtins): Define
2189 __cpp_nontype_template_args.
2190
13b380a3
JM
21912015-10-19 Jason Merrill <jason@redhat.com>
2192
2193 * c-cppbuiltin.c (c_cpp_builtins): Define
2194 __cpp_enumerator_attributes, __cpp_fold_expressions,
2195 __cpp_unicode_characters.
2196
d9a6bd32
JJ
21972015-10-13 Jakub Jelinek <jakub@redhat.com>
2198 Aldy Hernandez <aldyh@redhat.com>
2199
2200 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2201 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2202 (c_define_builtins): Likewise.
2203 * c-common.h (enum c_omp_clause_split): Add
2204 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2205 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2206 (c_finish_omp_for): Add ORIG_DECLV argument.
2207 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2208 201511 instead of 201307.
2209 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2210 OMP_CRITICAL_CLAUSES to it.
2211 (c_finish_omp_ordered): Add CLAUSES argument, set
2212 OMP_ORDERED_CLAUSES to it.
2213 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2214 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2215 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2216 constructs and new OpenMP 4.5 clauses. Clear
2217 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2218 verification code.
2219 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2220 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2221 (enum pragma_omp_clause): Add
2222 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2223 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2224
624d31fe
RS
22252015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2226
2227 * c-lex.c (interpret_float): Use real_equal instead of
2228 REAL_VALUES_EQUAL.
2229
b8fd7909
JM
22302015-10-04 Jason Merrill <jason@redhat.com>
2231
2232 Implement N4514, C++ Extensions for Transactional Memory.
2233 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2234 (c_common_attribute_table): Add transaction_safe_dynamic.
2235 transaction_safe now affects type identity.
2236 (handle_tm_attribute): Handle transaction_safe_dynamic.
2237 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2238 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2239 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2240 (D_TRANSMEM): New.
2241 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2242 * c-pretty-print.c (pp_c_attributes_display): Don't print
2243 transaction_safe in C++.
2244
12651878
MP
22452015-10-02 Marek Polacek <polacek@redhat.com>
2246
2247 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2248
3e3b8d63
MP
22492015-10-02 Marek Polacek <polacek@redhat.com>
2250
2251 PR c/64249
2252 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2253 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2254 * c.opt (Wduplicated-cond): New option.
2255
0d1a8f75
JM
22562015-10-01 Joseph Myers <joseph@codesourcery.com>
2257
2258 * c.opt (std=c11): Do not describe as experimental.
2259 (std=gnu11): Likewise.
2260 (std=iso9899:2011): Likewise.
2261
3e32ee19
NS
22622015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2263
2264 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2265 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2266
974348ee
MP
22672015-09-25 Marek Polacek <polacek@redhat.com>
2268
2269 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2270 (ubsan_instrument_shift): Likewise.
2271
15dbc1a6
MP
22722015-09-25 Marek Polacek <polacek@redhat.com>
2273
2274 PR sanitizer/64906
2275 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2276
6b95d7cc
PP
22772015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2278
2279 * c-indentation.c (should_warn_for_misleading_indentation):
2280 Compare next_stmt_vis_column with guard_line_first_nws instead
2281 of with guard_line_vis_column.
2282
c1822f9c
MLI
22832015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2284
2285 PR c/49654
2286 PR c/49655
2287 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2288 options and options not valid for the current language.
2289
d5398058
PP
22902015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2291
2292 * c-indentation.c (should_warn_for_misleading_indentation):
2293 Float out and consolidate the calls to get_visual_column that
2294 are passed guard_exploc as an argument. Compare
2295 next_stmt_vis_column with guard_line_first_nws instead of with
2296 body_line_first_nws.
2297
6b333269
NS
22982015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2299
2300 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2301 Wnamespaces): New C++ warnings.
2302
a75f1574
JM
23032015-09-22 Jason Merrill <jason@redhat.com>
2304
2305 * c-common.h (abi_compat_version_crosses): New.
2306 (warn_abi_version): Declare.
2307 * c-common.c: Define it.
2308 * c-opts.c (c_common_post_options): Handle it.
2309 flag_abi_compat_version defaults to 8.
2310
bdaaa8b7
VV
23112015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2312
2313 Complete the implementation of N4230, Nested namespace definition.
2314 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2315 __cpp_nested_namespace_definitions.
2316
eaa797e8
MLI
23172015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2318
2319 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2320
c4914de6
MLI
23212015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2322
2323 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2324 when warning.
2325 * c-pragma.h (pragma_lex): Add optional loc argument.
2326
fcb87c50
MM
23272015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2328
2329 * c-format.c (check_format_arg): Adjust to use common block size in all
2330 object pools.
2331
31bdd08a
DM
23322015-09-15 David Malcolm <dmalcolm@redhat.com>
2333
2334 * c-format.c (location_from_offset): Update for change in
2335 signature of location_get_source_line.
2336 * c-indentation.c (get_visual_column): Likewise.
2337 (line_contains_hash_if): Likewise.
2338
aa9f4b4c
MP
23392015-09-14 Marek Polacek <polacek@redhat.com>
2340
2341 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2342 setting various warnings.
2343
aa256c4a
MP
23442015-09-14 Marek Polacek <polacek@redhat.com>
2345
2346 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2347 a negative value.
2348
0f876f22
MW
23492015-09-11 Mark Wielaard <mjw@redhat.com>
2350
2351 PR c/28901
2352 * c.opt (Wunused-variable): Option from common.opt.
2353 (Wunused-const-variable): New option.
2354
273aa49e
PC
23552015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2356
2357 PR c++/53184
2358 * c.opt ([Wsubobject-linkage]): Add.
2359
1807ffc1
MS
23602015-09-03 Martin Sebor <msebor@redhat.com>
2361
2362 PR c/66516
2363 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2364 functions.
2365 * c-common.c (reject_gcc_builtin): Define.
2366
38942840
BI
23672015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2368
2369 PR middle-end/60586
2370 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2371 prototype.
2372 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2373 cilk_gimplify_call_params_in_spawned_fn.
2374 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2375 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2376 unwrapping.
2377
c316b5e4
MP
23782015-08-25 Marek Polacek <polacek@redhat.com>
2379
2380 PR middle-end/67330
2381 * c-common.c (handle_weak_attribute): Don't check whether the
2382 visibility can be changed here.
2383
584a7c46
MLI
23842015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2385
2386 * c-lex.c (c_lex_with_flags): Use explicit locations.
2387
a79683d5
TS
23882015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2389
2390 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2391 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2392
61717a45
FXC
23932015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2394
2395 PR middle-end/36757
2396 * c-common.c (check_builtin_function_arguments): Add check
2397 for BUILT_IN_SIGNBIT argument.
2398
329524f5
PC
23992015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2400
2401 PR c++/67160
2402 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2403 in c++1z mode.
2404
4ee55665
MP
24052015-08-17 Marek Polacek <polacek@redhat.com>
2406
2407 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2408 with whitespaces before qualifier names.
2409
b893e375
MP
24102015-08-12 Marek Polacek <polacek@redhat.com>
2411
2412 PR c++/55095
2413 * c-common.c (maybe_warn_shift_overflow): Properly handle
2414 left-shifting 1 into the sign bit.
2415
c2d89095
MLI
24162015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2417
2418 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2419
971e17ff
AS
24202015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2421 Braden Obrzut <admin@maniacsvault.net>
2422 Jason Merrill <jason@redhat.com>
2423
2424 Add C++ Concepts TS support.
2425 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2426 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2427 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2428 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2429 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2430 * c.opt (fconcepts): New.
2431
b3d5bc62
JJ
24322015-08-02 Martin Sebor <msebor@redhat.com>
2433
2434 * c.opt (-Wframe-address): New warning option.
2435
8ebca419
PP
24362015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2437
2438 * c-indentation.c (should_warn_for_misleading_indentation):
2439 Improve heuristics.
2440
1a1e101f
PP
24412015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2442
2443 * c-indentation.c (get_visual_column): Add parameter first_nws,
2444 use it. Update comment documenting the function.
2445 (is_first_nonwhitespace_on_line): Remove.
2446 (should_warn_for_misleading_indentation): Replace usage of
2447 of is_first_nonwhitespace_on_line with get_visual_column.
2448
992118a1
PP
24492015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2450
2451 * c-indentation.h (struct token_indent_info): Define.
2452 (get_token_indent_info): Define.
2453 (warn_for_misleading_information): Declare.
2454 * c-common.h (warn_for_misleading_information): Remove.
2455 * c-identation.c (warn_for_misleading_indentation):
2456 Change declaration to take three token_indent_infos. Adjust
2457 accordingly.
2458 * c-identation.c (should_warn_for_misleading_indentation):
2459 Likewise. Bail out early if the body is a compound statement.
2460 (guard_tinfo_to_string): Define.
2461
e8fa3817
JM
24622015-07-30 Jason Merrill <jason@redhat.com>
2463
2464 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2465 '*' for reference decay.
2466
173864e8
MP
24672015-07-30 Marek Polacek <polacek@redhat.com>
2468
2469 * c-common.c (warn_tautological_cmp): Bail for float types.
2470
f2afe6dd
MP
24712015-07-27 Marek Polacek <polacek@redhat.com>
2472
2473 PR bootstrap/67030
2474 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2475
05b28fd6
MP
24762015-07-27 Marek Polacek <polacek@redhat.com>
2477
2478 PR c++/66555
2479 PR c/54979
2480 * c-common.c (find_array_ref_with_const_idx_r): New function.
2481 (warn_tautological_cmp): New function.
2482 * c-common.h (warn_tautological_cmp): Declare.
2483 * c.opt (Wtautological-compare): New option.
2484
5a5062b8
MP
24852015-07-23 Marek Polacek <polacek@redhat.com>
2486
2487 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2488 (ubsan_instrument_shift): Likewise.
2489
dc891fe7
MP
24902015-07-23 Marek Polacek <polacek@redhat.com>
2491
2492 PR sanitizer/66908
2493 * c-ubsan.c: Include gimplify.h.
2494 (ubsan_instrument_division): Unshare OP0 and OP1.
2495 (ubsan_instrument_shift): Likewise.
2496
451b5e48
MP
24972015-07-20 Marek Polacek <polacek@redhat.com>
2498 Richard Sandiford <richard.sandiford@arm.com>
2499
2500 PR c++/55095
2501 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2502 Use EXPR_LOC_OR_LOC.
2503 (maybe_warn_shift_overflow): New function.
2504 * c-common.h (maybe_warn_shift_overflow): Declare.
2505 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2506 * c.opt (Wshift-overflow): New option.
2507
fb0b2914
ML
25082015-07-16 Martin Liska <mliska@suse.cz>
2509
2510 * c-format.c (static void check_format_info_main): Use
2511 object_allocator instead of pool_allocator.
2512 (check_format_arg): Likewise.
2513 (check_format_info_main): Likewise.
2514
903f5c23
AM
25152015-07-15 Andrew MacLeod <amacleod@redhat.com>
2516
2517 * c-opts.c: Remove multiline #include comment.
2518
026c3cfd
AH
25192015-07-12 Aldy Hernandez <aldyh@redhat.com>
2520
2521 * c-common.c: Fix double word typos.
2522
bb49ee66
EB
25232015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2524
2525 * c-ada-spec.h (cpp_operation): Revert latest change.
2526 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2527 constructors and destructors.
2528
1916bcb5
AM
25292015-07-09 Andrew MacLeod <amacleod@redhat.com>
2530
2531 * c-common.h: Adjust includes for flags.h changes.
2532 * stub-objc.c: Likewise.
026c3cfd 2533
a9dcd529
EB
25342015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2535
2536 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2537 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2538
b03b462f
JJ
25392015-07-08 Jakub Jelinek <jakub@redhat.com>
2540
2541 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2542 are to be removed, return NULL rather than original clauses list.
2543
c7131fb2
AM
25442015-07-07 Andrew MacLeod <amacleod@redhat.com>
2545
2546 * array-notation-common.c: Adjust includes.
2547 * c-ada-spec.c: Likewise.
2548 * c-cilkplus.c: Likewise.
2549 * c-common.h: Likewise.
2550 * c-cppbuiltin.c: Likewise.
2551 * c-dump.c: Likewise.
2552 * c-format.c: Likewise.
2553 * c-gimplify.c: Likewise.
2554 * c-indentation.c: Likewise.
2555 * c-lex.c: Likewise.
2556 * c-omp.c: Likewise.
2557 * c-opts.c: Likewise.
2558 * c-pch.c: Likewise.
2559 * c-ppoutput.c: Likewise.
2560 * c-pragma.c: Likewise.
2561 * c-pretty-print.c: Likewise.
2562 * c-semantics.c: Likewise.
2563 * c-ubsan.c: Likewise.
2564 * cilk.c: Likewise.
2565 * stub-objc.c: Likewise.
2566
2a7fb83f
EB
25672015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2568
2569 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2570 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2571
a03c9bf1
JM
25722015-07-01 Jason Merrill <jason@redhat.com>
2573
36a85135
JM
2574 * c-common.h (D_CXX11): Rename from D_CXX0X.
2575 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2576 * c-common.c: Adjust.
2577
e7fa68d5
JM
2578 * c-opts.c (c_common_post_options): Default to C++14.
2579
a03c9bf1
JM
2580 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2581
fe95b036
ESR
25822015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2583
2584 Implement N4197 - Adding u8 character literals
b3d5bc62 2585 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 2586 CPP_CHAR.
b3d5bc62 2587 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 2588 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 2589 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
2590 and CPP_UTF8CHAR tokens.
2591 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 2592
da2e71c9
MLI
25932015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2594
2595 PR fortran/66605
2596 * c-common.c (do_warn_unused_parameter): Move here.
2597 * c-common.h (do_warn_unused_parameter): Declare.
2598
b155cfd9
MP
25992015-06-29 Marek Polacek <polacek@redhat.com>
2600
2601 PR c/66322
2602 * c-common.c (check_case_bounds): Add bool * parameter. Set
2603 OUTSIDE_RANGE_P.
2604 (c_add_case_label): Add bool * parameter. Pass it down to
2605 check_case_bounds.
2606 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2607 warning here.
2608 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2609 declarations.
2610
31521951
MP
26112015-06-27 Marek Polacek <polacek@redhat.com>
2612
2613 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2614 or VECTOR_INTEGER_TYPE_P throughout.
2615 * c-gimplify.c: Likewise.
2616
22d03525
MP
26172015-06-26 Marek Polacek <polacek@redhat.com>
2618
2619 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2620 * c-common.c (c_fully_fold_internal): Likewise.
2621 (c_alignof_expr): Likewise.
2622 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2623 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 2624 * cilk.c (create_parm_list): Likewise.
22d03525 2625
af05e6e5
MP
26262015-06-26 Marek Polacek <polacek@redhat.com>
2627
2628 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2629
f0889939
AM
26302015-06-25 Andrew MacLeod <amacleod@redhat.com>
2631
2632 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2633 * c-gimplify.c: Likewise.
2634 * c-pragma.c: Likewise.
2635 * c-ubsan.c: Likewise.
2636 * cilk.c: Likewise.
2637
ca752f39
RS
26382015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2639
2640 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2641 ggc_hasher.
2642
16a16ec7
AM
26432015-06-25 Andrew MacLeod <amacleod@redhat.com>
2644
2645 * cilk.c: Move calls.h after tm.h in the include chain.
2646
0ae9bd27
MP
26472015-06-25 Marek Polacek <polacek@redhat.com>
2648
2649 * array-notation-common.c: Use VAR_P throughout.
2650 * c-ada-spec.c: Likewise.
2651 * c-common.c: Likewise.
2652 * c-format.c: Likewise.
2653 * c-gimplify.c: Likewise.
2654 * c-omp.c: Likewise.
2655 * c-pragma.c: Likewise.
2656 * c-pretty-print.c: Likewise.
2657 * cilk.c: Likewise.
2658
62f9079a
MP
26592015-06-25 Marek Polacek <polacek@redhat.com>
2660
2661 * cilk.c (extract_free_variables): Use is_global_var.
2662
0fa16060
RS
26632015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2664
2665 * c-common.c: Don't include target-def.h.
2666
a68ae2e1
MP
26672015-06-23 Marek Polacek <polacek@redhat.com>
2668
2669 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2670 when comparing INTEGER_CSTs.
2671
c6a2f2d9
PMR
26722015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2673
2674 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2675 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2676 (dump_ada_template): Skip partially specialized types.
2677
6b4db501
MM
26782015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2679
2680 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2681 swapping.
2682
abb226c9
AM
26832015-06-17 Andrew MacLeod <amacleod@redhat.com>
2684
2685 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2686 * c-ada-spec.c: Likewise.
2687 * c-cilkplus.c: Likewise.
2688 * c-common.c: Likewise.
2689 * c-common.h: Likewise.
2690 * c-cppbuiltin.c: Likewise.
2691 * c-dump.c: Likewise.
2692 * c-format.c: Likewise.
2693 * c-gimplify.c: Likewise.
2694 * c-indentation.c: Likewise.
2695 * c-lex.c: Likewise.
2696 * c-omp.c: Likewise.
2697 * c-opts.c: Likewise.
2698 * c-pch.c: Likewise.
2699 * c-ppoutput.c: Likewise.
2700 * c-pragma.c: Likewise.
2701 * c-pretty-print.c: Likewise.
2702 * c-semantics.c: Likewise.
2703 * c-ubsan.c: Likewise.
2704 * cilk.c: Likewise.
2705 * stub-objc.c: Likewise.
2706
076fecad
PP
27072015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2708
2709 PR c++/65168
2710 * c-common.c (c_common_truthvalue_conversion): Warn when
2711 converting an address of a reference to a truth value.
2712
13fdf2e2
AM
27132015-06-08 Andrew MacLeod <amacleod@redhat.com>
2714
2715 * array-notation-common.c : Adjust include files.
2716 * c-ada-spec.c : Likewise.
2717 * c-cilkplus.c : Likewise.
2718 * c-common.c : Likewise.
2719 * c-common.h : Likewise.
2720 * c-cppbuiltin.c : Likewise.
2721 * c-dump.c : Likewise.
2722 * c-format.c : Likewise.
2723 * c-gimplify.c : Likewise.
2724 * c-indentation.c : Likewise.
2725 * c-lex.c : Likewise.
2726 * c-omp.c : Likewise.
2727 * c-opts.c : Likewise.
2728 * c-pch.c : Likewise.
2729 * c-ppoutput.c : Likewise.
2730 * c-pragma.c : Likewise.
2731 * c-pretty-print.c : Likewise.
2732 * c-semantics.c : Likewise.
2733 * c-ubsan.c : Likewise.
2734 * cilk.c : Likewise.
2735 * stub-objc.c : Likewise.
2736
a1661b90
MP
27372015-06-08 Marek Polacek <polacek@redhat.com>
2738
2739 PR c/66415
2740 * c-format.c (location_from_offset): Return LOC if LINE is null.
2741
d7438551
AH
27422015-06-05 Aldy Hernandez <aldyh@redhat.com>
2743
2744 * c-common.h (c_parse_final_cleanups): New prototype.
2745 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2746
b3d5bc62
JJ
27472015-06-04 Sriraman Tallam <tmsriram@google.com>
2748
2749 * c-common.c (noplt): New attribute.
2750 (handle_noplt_attribute): New handler.
2751
ecb9f223
AM
27522015-06-04 Andrew MacLeod <amacleod@redhat.com>
2753
2754 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2755 * c-ada-spec.c: Likewise.
2756 * c-cilkplus.c: Likewise.
2757 * c-common.c: Likewise.
2758 * c-common.h: Likewise.
2759 * c-cppbuiltin.c: Likewise.
2760 * c-dump.c: Likewise.
2761 * c-format.c: Likewise.
2762 * c-gimplify.c: Likewise.
2763 * c-indentation.c: Likewise.
2764 * c-lex.c: Likewise.
2765 * c-omp.c: Likewise.
2766 * c-opts.c: Likewise.
2767 * c-pch.c: Likewise.
2768 * c-ppoutput.c: Likewise.
2769 * c-pragma.c: Likewise.
2770 * c-pretty-print.c: Likewise.
2771 * c-semantics.c: Likewise.
2772 * c-ubsan.c: Likewise.
2773 * cilk.c: Likewise.
2774 * stub-objc.c: Likewise.
2775
6ac48155
DM
27762015-06-02 David Malcolm <dmalcolm@redhat.com>
2777
2778 PR c/66220:
2779 * c-indentation.c (should_warn_for_misleading_indentation): Use
2780 expand_location rather than expand_location_to_spelling_point.
2781 Don't warn if the guarding statement is more indented than the
2782 next/body stmts.
2783
773ce42e
DM
27842015-06-02 David Malcolm <dmalcolm@redhat.com>
2785
2786 * c-indentation.c (warn_for_misleading_indentation): Bail out
2787 immediately if -Wmisleading-indentation isn't enabled.
2788
4fef8379
ML
27892015-06-01 Martin Liska <mliska@suse.cz>
2790
2791 * c-format.c (check_format_arg):Use new type-based pool allocator.
2792 (check_format_info_main) Likewise.
2793
1edfb384
EB
27942015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2795
2796 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2797 (has_nontrivial_methods): Likewise.
2798
9677ef52
MP
27992015-05-25 Marek Polacek <polacek@redhat.com>
2800
2801 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2802
fd5c817a
MP
28032015-05-22 Marek Polacek <polacek@redhat.com>
2804
2805 PR c/47043
2806 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2807
a2f45fe6 28082015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
2809
2810 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2811 STACK_GROWS_DOWNWARD.
2812
a2f45fe6 28132015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
2814
2815 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2816 STACK_GROWS_DOWNWARD rather than if it is defined.
2817
0fee2ac2 28182015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 2819
0fee2ac2
MLI
2820 PR c/52952
2821 * c-format.c (location_column_from_byte_offset): New.
2822 (location_from_offset): New.
2823 (struct format_wanted_type): Add offset_loc field.
2824 (check_format_info): Move handling of location for extra arguments
2825 closer to the point of warning.
2826 (check_format_info_main): Pass the result of location_from_offset
2827 to warning_at.
2828 (format_type_warning): Pass the result of location_from_offset
2829 to warning_at.
2830
cf4ef6f7
MP
28312015-05-20 Marek Polacek <polacek@redhat.com>
2832
2833 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2834
3a65ee74
MP
28352015-05-20 Marek Polacek <polacek@redhat.com>
2836
2837 * c-ada-spec.c (dump_sloc): Use DECL_P.
2838
21b634ae
MP
28392015-05-20 Marek Polacek <polacek@redhat.com>
2840
2841 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2842 * c-common.c: Likewise.
2843
0e50b624
DM
28442015-05-19 David Malcolm <dmalcolm@redhat.com>
2845
2846 * c-common.h (fe_file_change): Strengthen param from
2847 const line_map * to const line_map_ordinary *.
2848 (pp_file_change): Likewise.
2849 * c-lex.c (fe_file_change): Likewise.
2850 (cb_define): Use linemap_check_ordinary when invoking
2851 SOURCE_LINE.
2852 (cb_undef): Likewise.
2853 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2854 invoking cb_file_change.
2855 (c_finish_options): Likewise.
2856 (push_command_line_include): Likewise.
2857 (cb_file_change): Strengthen param "new_map" from
2858 const line_map * to const line_map_ordinary *.
2859 * c-ppoutput.c (cb_define): Likewise for local "map".
2860 (pp_file_change): Likewise for param "map" and local "from".
2861
fab27f52
MM
28622015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2863
2864 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2865
2fe1d762
TV
28662015-05-18 Tom de Vries <tom@codesourcery.com>
2867
2868 * c-common.c (build_va_arg_1): New function.
2869 (build_va_arg): Add address operator to va_list operand if necessary.
2870
7a37fa90
MM
28712015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2872
2873 PR c/48956
2874 * c-common.c (int_safely_convertible_to_real_p): Define.
2875 (unsafe_conversion_p): Check conversions involving complex types.
2876 (conversion_warning): Add new warning message for conversions which
2877 discard imaginary component.
2878 * c-common.h: (enum conversion_safety): Add new enumerator for such
2879 conversions.
2880
3aa3c9fc
MP
28812015-05-14 Marek Polacek <polacek@redhat.com>
2882
2883 PR c/66066
2884 PR c/66127
2885 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2886 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2887 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2888 use it. If FOR_INT_CONST, require that all evaluated operands be
2889 INTEGER_CSTs.
2890
c3388e62
DM
28912015-05-12 David Malcolm <dmalcolm@redhat.com>
2892
2893 * c-common.h (warn_for_misleading_indentation): New prototype.
2894 * c-indentation.c: New file.
2895 * c.opt (Wmisleading-indentation): New option.
2896
c7b38fd5
TV
28972015-05-12 Tom de Vries <tom@codesourcery.com>
2898
2899 PR tree-optimization/66010
2900 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2901
381bf11e
JM
29022015-05-09 Jason Merrill <jason@redhat.com>
2903
edff0c06
JM
2904 * c-opts.c (c_common_post_options): Also clear
2905 cpp_opts->cpp_warn_cxx11_compat.
2906
129211bc
JM
2907 * c-common.h (enum cxx_dialect): Add cxx_unset.
2908 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2909 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2910
381bf11e
JM
2911 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2912 (std=gnu++0x): Mark as Undocumented.
2913 (std=gnu++1y): Add deprecated message.
2914
fe191308
JM
29152015-05-08 Jason Merrill <jason@redhat.com>
2916
765189ff
JM
2917 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2918 * c-opts.c: Adjust.
2919
fe191308
JM
2920 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2921
755e528f
MP
29222015-05-08 Marek Polacek <polacek@redhat.com>
2923
2924 PR c/64918
2925 * c.opt (Woverride-init-side-effects): New option.
2926
0173bd2a
MP
29272015-05-07 Marek Polacek <polacek@redhat.com>
2928
2929 PR c/65179
2930 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2931 negative value.
2932 * c.opt (Wshift-negative-value): New option.
2933 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2934 when -Wextra and C99/C++11 mode.
2935
e0f0d3b9
MP
29362015-05-07 Marek Polacek <polacek@redhat.com>
2937 Martin Uecker <uecker@eecs.berkeley.edu>
2938
2939 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2940 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2941
8243e2a9
JM
29422015-05-05 Jason Merrill <jason@redhat.com>
2943
2944 * c.opt (Wterminate): New.
2945
577cd070
MP
29462015-04-30 Marek Polacek <polacek@redhat.com>
2947
2948 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2949 require that the non-constant be of a boolean type.
2950
0373796b
JT
29512015-04-29 Josh Triplett <josh@joshtriplett.org>
2952
e0f0d3b9
MP
2953 * c-common.c (handle_section_attribute): Refactor to reduce
2954 nesting and distinguish between error cases.
0373796b 2955
716c0ba6
MP
29562015-04-29 Marek Polacek <polacek@redhat.com>
2957
2958 PR c/64610
2959 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2960 with 0/1.
2961
8848828b
JJ
29622015-04-29 Jakub Jelinek <jakub@redhat.com>
2963
2964 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2965 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2966 HOST_BITS_PER_WIDE_INT.
2967
ecd0e562
TV
29682015-04-28 Tom de Vries <tom@codesourcery.com>
2969
2970 PR tree-optimization/65887
2971 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2972
2a877204 29732015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 2974 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
2975
2976 * c-ada-spec.c (in_function): Delete.
2977 (dump_generic_ada_node): Do not change in_function and remove the
2978 redundant code dealing with it.
2979 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2980 (print_ada_methods): Output the static member functions in a nested
2981 package after the regular methods as well as associated renamings.
2982
4853031e
MP
29832015-04-24 Marek Polacek <polacek@redhat.com>
2984
2985 PR c/65830
2986 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2987 and OPT_Wshift_count_overflow.
2988
8c2b7f79
MP
2989 PR c/63357
2990 * c-common.c (warn_logical_operator): Warn if the operands have the
2991 same expressions.
2992
b8787813
MP
29932015-04-24 Marek Polacek <polacek@redhat.com>
2994
2995 PR c/61534
2996 * c-common.c (warn_logical_operator): Bail if either operand comes
2997 from a macro expansion.
2998
8fba1830
BRF
29992015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3000
3001 PR target/55143
3002 * c-common.c (c_default_pointer_mode): Add definition.
3003 * c-common.h (c_default_pointer_mode): Add declaration.
3004
17958621
JJ
30052015-03-11 Jakub Jelinek <jakub@redhat.com>
3006
3007 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
3008 on record_builtin_type argument.
3009
7ccb1a11
JJ
30102015-03-10 Jakub Jelinek <jakub@redhat.com>
3011
3012 PR c/65120
3013 * c-common.c (warn_logical_not_parentheses): Don't warn for
3014 !x == 0 or !x != 0.
3015
04fd785e
MP
30162015-03-07 Marek Polacek <polacek@redhat.com>
3017
3018 PR sanitizer/65280
3019 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
3020 before trying to figure out whether we have a flexible array member.
3021
a4e26206 30222015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 3023 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
3024
3025 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
3026
0d2489f4
EB
30272015-03-05 Eric Botcazou <ebotcazou@adacore.com>
3028
3029 PR ada/65319
3030 * c-ada-spec.c (print_destructor): Remove obsolete code.
3031
83ed54d7
EB
30322015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3033
3034 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3035 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3036 DECL_TEMPLATE_RESULT emulations.
3037 (dump_ada_template)): Add guard for TYPE_METHODS.
3038
7631f0e2
MP
30392015-02-27 Marek Polacek <polacek@redhat.com>
3040
3041 PR c/65040
3042 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3043
d1783ae5
KT
30442015-02-27 Kai Tietz <ktietz@redhat.com>
3045
3046 PR c/35330
3047 * c-pragma.c (handle_pragma_weak): Do not try to create
3048 weak/alias of declarations not being function, or variable
3049 declarations.
3050
56a9f6bc
TS
30512015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3052
3053 PR libgomp/64625
3054 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3055 Remove macros.
3056 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3057
3d5cb23d
MP
30582015-02-16 Marek Polacek <polacek@redhat.com>
3059
3060 PR c/65066
3061 * c-format.c (check_format_types): Handle null param.
3062
fa008882
MP
30632015-02-13 Marek Polacek <polacek@redhat.com>
3064
3065 PR c/65040
3066 * c-format.c (check_format_types): Don't warn about different
3067 signedness if the original value is in the range of WANTED_TYPE.
3068
785f21af
JM
30692015-02-12 Jason Merrill <jason@redhat.com>
3070
3071 PR c++/64956
3072 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3073 to the current highest version.
3074 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3075
4886ec8e
JJ
30762015-02-04 Jakub Jelinek <jakub@redhat.com>
3077
3078 PR c/64824
3079 PR c/64868
3080 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3081 instead of RDIV_EXPR. Use build_binary_op instead of
3082 build2_loc.
3083
40fecdd6
JM
30842015-01-30 Joseph Myers <joseph@codesourcery.com>
3085
3086 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3087 to pass input_location as first argument.
3088
a0c88d06
TV
30892015-01-23 Tom de Vries <tom@codesourcery.com>
3090
3091 PR libgomp/64672
3092 * c.opt (fopenacc): Mark as LTO option.
3093
1506ae0e
TV
30942015-01-23 Tom de Vries <tom@codesourcery.com>
3095
3096 PR libgomp/64707
3097 * c.opt (fopenmp): Mark as LTO option.
3098
31be63ab
JJ
30992015-01-21 Jakub Jelinek <jakub@redhat.com>
3100
3101 PR c/63307
b1726d6c 3102 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
3103 (compare_decls): Fix up formatting.
3104
31052015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3106
3107 PR c/63307
3108 * cilk.c: Include vec.h.
3109 (struct cilk_decls): New structure.
3110 (wrapper_parm_cb): Split this function to...
3111 (fill_decls_vec): ...this...
3112 (create_parm_list): ...and this.
3113 (compare_decls): New function.
3114 (for_local_cb): Remove.
3115 (wrapper_local_cb): Ditto.
3116 (build_wrapper_type): For now first traverse and fill vector of
3117 declarations then sort it and then deal with sorted vector.
3118 (cilk_outline): Ditto.
3119 (declare_one_free_variable): Ditto.
3120
6875457f
JM
31212015-01-21 Jason Merrill <jason@redhat.com>
3122
3123 PR c++/64629
3124 * c-format.c (check_format_arg): Call decl_constant_value.
3125
185c9e56
ML
31262015-01-19 Martin Liska <mliska@suse.cz>
3127
3128 * c-common.c (handle_noicf_attribute): New function.
3129
41dbbb37
TS
31302015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3131 Bernd Schmidt <bernds@codesourcery.com>
3132 James Norris <jnorris@codesourcery.com>
3133 Cesar Philippidis <cesar@codesourcery.com>
3134 Ilmir Usmanov <i.usmanov@samsung.com>
3135 Jakub Jelinek <jakub@redhat.com>
3136
3137 * c.opt (fopenacc): New option.
3138 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3139 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3140 New macros.
3141 * c-common.h (c_finish_oacc_wait): New prototype.
3142 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3143 (c_finish_oacc_wait): New function.
3144 * c-pragma.c (oacc_pragmas): New variable.
3145 (c_pp_lookup_pragma, init_pragma): Handle it.
3146 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3147 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3148 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3149 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3150 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3151 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3152 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3153 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3154 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3155 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3156 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3157 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3158 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3159 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3160 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3161 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3162 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3163 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3164 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3165 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3166 PRAGMA_OACC_CLAUSE_WORKER.
3167
3f8257db 31682015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
3169
3170 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3171 for the new option fstack-protector_explicit.
3172 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3173 (handle_stack_protect_attribute): New function.
3174
3f8257db 31752015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
3176
3177 * c.opt: New option -Warray-bounds=.
3178
adfac8df
JJ
31792015-01-09 Michael Collison <michael.collison@linaro.org>
3180
3181 * array-notation-common.c: Include hash-set.h, machmode.h,
3182 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3183 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3184 * c-ada-spec.c: Ditto.
3185 * c-cilkplus.c: Ditto.
3186 * c-common.c: Include input.h due to flattening of tree.h.
3187 Define macro GCC_C_COMMON_C.
3188 * c-common.h: Flatten tree.h header files into c-common.h.
3189 Remove include of tree-core.h.
3190 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3191 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3192 fold-const.h, wide-int.h, and inchash.h due to
3193 flattening of tree.h.
3194 * c-dump.c: Ditto.
3195 * c-format.c: Flatten tree.h header files into c-common.h.
3196 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3197 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3198 fold-const.h, wide-int.h, and inchash.h due to
3199 flattening of tree.h.
3200 * c-dump.c: Include hash-set.h, machmode.h,
3201 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3202 fold-const.h, wide-int.h, and inchash.h due to
3203 flattening of tree.h.
3204 * c-format.c: Include hash-set.h, machmode.h,
3205 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3206 fold-const.h, wide-int.h, inchash.h and real.h due to
3207 flattening of tree.h.
3208 * c-gimplify.c: Include hash-set.h, machmode.h,
3209 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3210 fold-const.h, wide-int.h, and inchash.h due to
3211 flattening of tree.h.
3212 * cilk.c: Ditto.
3213 * c-lex.c: Ditto.
3214 * c-omp.c: Ditto.
3215 * c-opts.c: Ditto.
3216 * c-pch.c: Ditto.
3217 * c-ppoutput.c: Ditto.
3218 * c-pragma.c: Ditto.
3219 * c-pretty-print.c: Ditto.
3220 * c-semantics.c: Ditto.
3221 * c-ubsan.c: Ditto.
3222 * stub-objc.c: Ditto.
3223
f5481fc4
JM
32242015-01-08 Jason Merrill <jason@redhat.com>
3225
3226 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3227 do_ubsan_in_current_function.
3228 (ubsan_maybe_instrument_reference_or_call): Likewise.
3229 * c-ubsan.h: Declare it.
3230
de35aa66
MS
32312015-01-08 Mike Stump <mikestump@comcast.net>
3232
3233 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3234
4a9a42ab
MP
32352015-01-07 Marek Polacek <polacek@redhat.com>
3236
3237 PR c/64440
3238 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3239 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3240
2f42e5de
TS
32412015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3242
3243 PR c++/31397
3244 * c.opt (Wsuggest-override): New option.
3245
5624e564
JJ
32462015-01-05 Jakub Jelinek <jakub@redhat.com>
3247
3248 Update copyright years.
3249
5bd012f8
MP
32502015-01-05 Marek Polacek <polacek@redhat.com>
3251
3252 PR c/64423
3253 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3254 parameter. Use it.
3255 * c-common.h (warn_array_subscript_with_type_char): Update
3256 declaration.
3257
a7fa8d18
ESR
32582014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3259
3260 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3261 Control macro with flag_sized_deallocation.
3262
3f8257db 32632014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
3264
3265 * c.opt (Wdiscarded-array-qualifiers): New option.
3266
1f8d3e84
JJ
32672014-12-19 Jakub Jelinek <jakub@redhat.com>
3268
3269 PR preprocessor/63831
3270 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3271 and __has_cpp_attribute here.
3272 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3273 c_common_has_attribute.
3274 * c-common.h (c_common_has_attribute): New prototype.
3275 * c-lex.c (init_c_lex): Set cb->has_attribute to
3276 c_common_has_attribute instead of cb_has_attribute.
3277 (get_token_no_padding): New function.
3278 (cb_has_attribute): Renamed to ...
3279 (c_common_has_attribute): ... this. No longer static. Use
3280 get_token_no_padding, require ()s, don't build TREE_LIST
3281 unnecessarily, fix up formatting, adjust diagnostics, call
3282 init_attributes.
3283
20b06add
JM
32842014-12-15 Jason Merrill <jason@redhat.com>
3285
3286 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3287 (-Wsized-deallocation): New.
3288 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3289 to on in C++14 and up.
3290
94a073b2
JM
32912014-12-11 Jason Merrill <jason@redhat.com>
3292
acaa5911
JM
3293 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3294
94a073b2
JM
3295 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3296 we aren't complaining about VLAs.
3297
7fb66c15
MP
32982014-12-06 Marek Polacek <polacek@redhat.com>
3299
3300 PR tree-optimization/64183
3301 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3302 shift-expression if it is integer_type_node. Use types_compatible_p.
3303
b731b390
JJ
33042014-11-29 Jakub Jelinek <jakub@redhat.com>
3305
3306 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3307 last argument from create_tmp_var_raw and create_tmp_var calls.
3308 * cilk.c (gimplify_cilk_spawn): Likewise.
3309 * c-omp.c (c_finish_omp_atomic): Likewise.
3310
6a4da643
MP
33112014-11-28 Marek Polacek <polacek@redhat.com>
3312
3313 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3314 instead of unsigned_type_node.
3315
541e35a6
MP
33162014-11-28 Marek Polacek <polacek@redhat.com>
3317
3318 PR c/63862
3319 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3320 to op1_utype.
3321 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3322 expression to unsigned_type_node.
3323
dcc97066
MW
33242014-11-20 Mark Wielaard <mjw@redhat.com>
3325
3326 PR debug/38757
3327 * c-opts.c (set_std_c89): Set lang_hooks.name.
3328 (set_std_c99): Likewise.
3329 (set_std_c11): Likewise.
3330 (set_std_cxx98): Likewise.
3331 (set_std_cxx11): Likewise.
3332 (set_std_cxx14): Likewise.
3333 (set_std_cxx1z): Likewise.
3334
aa7da51a
JJ
33352014-11-21 Jakub Jelinek <jakub@redhat.com>
3336
3337 PR target/63764
3338 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3339 return type to bool.
009a3480 3340 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
3341 (convert_vector_to_pointer_for_subscript): Change return type to
3342 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3343 and copy it into a TARGET_EXPR and use that instead of *vecp
3344 directly.
3345
538dd0b7
DM
33462014-11-19 David Malcolm <dmalcolm@redhat.com>
3347
3348 Merger of git branch "gimple-classes-v2-option-3".
3349 * ChangeLog.gimple-classes: New.
3350 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3351 from being just a vec<gimple> to a vec<gbind *>.
3352
c39a5e99
JJ
33532014-11-18 Jakub Jelinek <jakub@redhat.com>
3354
3355 PR sanitizer/63813
3356 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3357 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3358 get_pointer_alignment for non-pointers. Use ptype, or if it is
3359 reference type, corresponding pointer type, as type of kind
3360 argument.
3361 (ubsan_maybe_instrument_reference,
3362 ubsan_maybe_instrument_member_call): Adjust callers.
3363
8537a4a9
MP
33642014-11-15 Marek Polacek <polacek@redhat.com>
3365
3366 PR middle-end/63884
3367 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3368 for NULL fndecl.
3369 (extract_array_notation_exprs): Return for NULL node.
3370
2079956a
JM
33712014-11-12 Joseph Myers <joseph@codesourcery.com>
3372
3373 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3374 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3375
1304953e
JJ
33762014-11-12 Jakub Jelinek <jakub@redhat.com>
3377
3378 PR c/59708
3379 * c-common.c (check_builtin_function_arguments): Handle
3380 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3381
e5e44252
AK
33822014-11-10 Andi Kleen <ak@linux.intel.com>
3383
3384 PR c/60804
3385 * c-common.h (check_no_cilk): Declare.
3386 * cilk.c (get_error_location): New function.
3387 (check_no_cilk): Dito.
3388
e64b984d
AK
33892014-11-10 Andi Kleen <ak@linux.intel.com>
3390
3391 * cilk.c (recognize_spawn): Use expression location
3392 for error message.
3393
13c21655
PC
33942014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3395
3396 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3397
42fd12b1
ESR
33982014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3399
3400 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3401 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3402 (__cpp_range_based_for, __cpp_initializer_lists,
3403 __cpp_delegating_constructors, __cpp_nsdmi,
3404 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3405 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3406 __has_cpp_attribute.
3407 * c-lex.c (cb_has_attribute): New callback CPP function;
3408 (init_c_lex): Set has_attribute callback.
3409
6f450181
RB
34102014-11-04 Richard Biener <rguenther@suse.de>
3411
3412 * c-common.c (shorten_compare): Do not shorten mixed
3413 DFP and non-DFP compares.
3414
26f0e1d6
ESR
34152014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3416
3417 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3418 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3419 Commentary and rearrangement of tests.
3420 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3421 Commentary and rearrangement of tests.
3422 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3423 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3424
ef4bddc2
RS
34252014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3426
3427 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3428 enum from machine_mode.
3429
c582198b
AM
34302014-10-28 Andrew MacLeod <amacleod@redhat.com>
3431
adfac8df
JJ
3432 * c-common.c: Adjust include files.
3433 * c-gimplify.c: Ditto.
3434 * cilk.c: Ditto.
3435 * c-pragma.c: Ditto.
3436 * c-ubsan.c: Ditto.
c582198b 3437
60393bbc
AM
34382014-10-27 Andrew MacLeod <amacleod@redhat.com>
3439
3440 * c-gimplify.c: Adjust include files.
3441
d723bb7c
MLI
34422014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3443
3444 PR c++/53061
3445 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3446 c_common_initialize_diagnostics.
3447 * c-common.h: Likewise.
3448
90f3520e
MP
34492014-10-24 Marek Polacek <polacek@redhat.com>
3450
3451 PR c/56980
3452 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3453 print "struct"/"union"/"enum" for typedefed names.
3454
59d7607a
MP
34552014-10-23 Marek Polacek <polacek@redhat.com>
3456
3457 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3458 in unsigned type.
3459
d95a2703
JJ
34602014-10-22 Jakub Jelinek <jakub@redhat.com>
3461 Yury Gribov <y.gribov@samsung.com>
3462
3463 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3464 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3465 instead of flag_sanitize_recover as bool flag.
3466
8e6ef852
KY
34672014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3468
3469 * cilk.c: Revert previous change.
3470
948cf550
IZ
34712014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3472
3473 PR c/63307
3474 * cilk.c: Include vec.h.
3475 (struct cilk_decls): New structure.
3476 (wrapper_parm_cb): Split this function to...
3477 (fill_decls_vec): ...this...
3478 (create_parm_list): ...and this.
3479 (compare_decls): New function.
3480 (for_local_cb): Remove.
3481 (wrapper_local_cb): Ditto.
3482 (build_wrapper_type): For now first traverse and fill vector of
3483 declarations then sort it and then deal with sorted vector.
3484 (cilk_outline): Ditto.
3485 (declare_one_free_variable): Ditto.
3486
92574c7c
MP
34872014-10-17 Marek Polacek <polacek@redhat.com>
3488
3489 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3490 * c.opt (Wimplicit-int): Initialize to -1.
3491
83685514
AM
34922014-10-16 Andrew MacLeod <amacleod@redhat.com>
3493
3494 * c-pragma.c: Adjust include files.
3495 * c-semantics.c: Likewise.
3496
5b8300ea
DD
34972014-10-16 DJ Delorie <dj@redhat.com>
3498
3499 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3500 multiples of bytes.
3501
5f83e90b
JM
35022014-10-14 Jason Merrill <jason@redhat.com>
3503
3504 PR c++/63455
3505 * c-common.h (CPP_PREPARSED_EXPR): New.
3506 (N_CP_TTYPES): Adjust.
3507
d73326ca
MP
35082014-10-15 Marek Polacek <polacek@redhat.com>
3509
3510 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3511
78a7c317
DD
35122014-10-14 DJ Delorie <dj@redhat.com>
3513
3514 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3515 types, not just __int128.
3516 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3517 types, not just __int128.
3518 (cpp_atomic_builtins): Round pointer sizes up.
3519 (type_suffix): Use type precision, not specific types.
3520 * c-common.c (c_common_reswords): Remove __int128 special case.
3521 (c_common_type_for_size): Check for all __intN types, not just
3522 __int128.
3523 (c_common_type_for_mode): Likewise.
3524 (c_common_signed_or_unsigned_type): Likewise.
3525 (c_build_bitfield_integer_type): Likewise.
3526 (c_common_nodes_and_builtins): Likewise.
3527 (keyword_begins_type_specifier): Likewise.
3528 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3529 __intN variants.
3530
2a22f99c
TS
35312014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3532
3533 * c-common.c: Use hash_table instead of hashtab.
3534
2a8ef767
ESR
35352014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3536
adfac8df 3537 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
3538 C++11 section.
3539
3c9aabbd
MG
35402014-10-03 Marc Glisse <marc.glisse@inria.fr>
3541
3542 PR c++/54427
3543 PR c++/57198
3544 PR c++/58845
3545 * c-common.c (warn_logical_operator): Punt for vectors.
3546
a15f7cb8
ESR
35472014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3548
3549 Implement SD-6: SG10 Feature Test Recommendations
3550 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3551 macros and the __has_header macro.
3552
8d0cf15e
JM
35532014-09-30 Jason Merrill <jason@redhat.com>
3554
dd5d5481
JM
3555 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3556 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3557 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3558
b752325e
JM
3559 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3560 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3561
8d0cf15e
JM
3562 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3563 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3564
083e891e
MP
35652014-09-24 Marek Polacek <polacek@redhat.com>
3566
3567 PR c/61405
3568 PR c/53874
3569 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3570
7861b648
AK
35712014-09-23 Andi Kleen <ak@linux.intel.com>
3572
3573 * c-common.c (handle_no_reorder_attribute): New function.
3574 (c_common_attribute_table): Add no_reorder attribute.
3575
9a79452d
JM
35762014-09-22 Joseph Myers <joseph@codesourcery.com>
3577
3578 * c-cppbuiltin.c (c_cpp_builtins): Define
3579 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3580 modes.
3581
dd69f047
JM
35822014-09-18 Joseph Myers <joseph@codesourcery.com>
3583
3584 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3585 for supported floating-point modes.
3586
737a4826
MLI
35872014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3588
3589 * c.opt (Wpsabi): Use LangEnabledBy.
3590 * c-opts.c (c_common_handle_option): Do not handle here.
3591
8cc4b7a2
JM
35922014-09-12 Joseph Myers <joseph@codesourcery.com>
3593
3594 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3595 macros for floating-point modes.
3596
179b5a55
MG
35972014-09-11 Marc Glisse <marc.glisse@inria.fr>
3598
3599 PR target/58757
3600 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3601 __*_DENORM_MIN__ without denormals.
3602
570a11fe
JJ
36032014-09-10 Jakub Jelinek <jakub@redhat.com>
3604
3605 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3606 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3607 ubsan_create_data callers.
3608 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3609 index is constant or BIT_AND_EXPR with constant mask and is
3610 small enough for the bound.
3611 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3612 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3613
b559c810
MLI
36142014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3615
3616 * c.opt: Add CppReason to various flags.
3617 (Wdate-time): Re-sort.
3618 * c-common.c: Include c-common.h earlier.
3619 (struct reason_option_codes_t): Delete.
3620 (c_option_controlling_cpp_error): Prefix global type and struct
3621 with cpp_.
3622
1ef33fd4
MLI
36232014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3624
3625 * c.opt (Wnormalized): New.
3626 (Wnormalized=): Use Enum and Reject Negative.
3627 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3628
66bb34c0
JM
36292014-09-08 Joseph Myers <joseph@codesourcery.com>
3630
3631 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3632 digits of floating-point modes if -fbuilding-libgcc.
3633
53d68b9f
JM
36342014-09-05 Joseph Myers <joseph@codesourcery.com>
3635
3636 * c-cppbuiltin.c (c_cpp_builtins): Also define
3637 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3638 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3639 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3640 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3641 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3642 __LIBGCC_STACK_GROWS_DOWNWARD__,
3643 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3644 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3645 __LIBGCC_DWARF_FRAME_REGISTERS__,
3646 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3647 __LIBGCC_STACK_POINTER_REGNUM__ and
3648 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3649 (builtin_define_with_value): Handle backslash-escaping in string
3650 macro values.
3651
f65586dc
RB
36522014-09-05 Richard Biener <rguenther@suse.de>
3653
3654 PR middle-end/63148
3655 * c-format.c (check_format_arg): Properly handle
3656 effectively signed POINTER_PLUS_EXPR offset.
3657
2b71f4a4
MLI
36582014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3659
3660 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3661 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3662 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3663 and Init.
3664 * c-opts.c (c_common_handle_option): Do not handle here.
3665 (sanitize_cpp_opts): Likewise.
3666 * c-common.c (struct reason_option_codes_t): Handle
3667 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3668
d2e4feca
MP
36692014-09-03 Marek Polacek <polacek@redhat.com>
3670
3671 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3672
9a771876
JJ
36732014-09-02 Jakub Jelinek <jakub@redhat.com>
3674 Balaji V. Iyer <balaji.v.iyer@intel.com>
3675 Igor Zamyatin <igor.zamyatin@intel.com>
3676
3677 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3678 * c-common.c (c_common_reswords): Added _Cilk_for.
3679 * c-common.h (enum rid): Added RID_CILK_FOR.
3680 (cilk_for_number_of_iterations): Add declaration.
3681 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3682 CILK_FOR.
3683 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3684 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3685
81b5d104
MLI
36862014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3687
3688 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3689 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3690 Wundef): Use CPP, Var and Init.
3691 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3692
b753b37b
MLI
36932014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3694
3695 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3696 * c-opts.c (c_common_handle_option): Do not handle here.
3697
028aee17
JM
36982014-08-25 Jason Merrill <jason@redhat.com>
3699
3700 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3701 -std=c++14 and -std=gnu++14, rather than the reverse.
3702 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3703 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3704 * c-common.h (cxx_dialect): Remove cxx1y.
3705
e4276ba5
ESR
37062014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3707
3708 * c-common.h (enum cxx_dialect): Add cxx14.
3709 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3710 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3711 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3712
a545cacd
JM
37132014-08-22 Jason Merrill <jason@redhat.com>
3714
3715 * c.opt (std=gnu++17): Fix alias.
3716
59ea0364
MP
37172014-08-22 Marek Polacek <polacek@redhat.com>
3718
3719 PR c++/62199
3720 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3721 check for vector types. Drop LHS argument.
3722 * c-common.h (warn_logical_not_parentheses): Adjust.
3723
596e808c
MLI
37242014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3725
3726 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3727 (Wmultichar): Likewise.
3728 (Wdate-time): Use C-family languages instead of Common. Use CPP
3729 and Var.
3730 * c-opts.c (c_common_handle_option): Do not handle the above
3731 options here.
3732 (sanitize_cpp_opts): Likewise.
3733
18767f65
MLI
37342014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3735
3736 PR fortran/44054
3737 * c-opts.c: Include tree-diagnostics.h.
3738 (c_diagnostic_finalizer): New.
3739 (c_common_initialize_diagnostics): Use it.
3740
b4413594
MLI
37412014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3742
3743 PR preprocessor/51303
3744 * c-common.c (struct reason_option_codes_t option_codes):
3745 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3746
43f9a13c
MLI
37472014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3748
3749 PR c/60975
3750 PR c/53063
3751 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3752 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3753 (c_common_post_options): Call init_global_opts_from_cpp.
3754 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3755
04159acf
MP
37562014-08-19 Marek Polacek <polacek@redhat.com>
3757
3758 PR c++/62153
3759 * c-common.c (maybe_warn_bool_compare): New function.
3760 * c-common.h (maybe_warn_bool_compare): Declare.
3761 * c.opt (Wbool-compare): New option.
3762
35aff4fb
MP
37632014-08-19 Marek Polacek <polacek@redhat.com>
3764
3765 * c.opt (Wc99-c11-compat): New option.
3766
177cce46
MP
37672014-08-19 Marek Polacek <polacek@redhat.com>
3768
3769 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3770 to warn_c90_c99_compat.
3771 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3772 to -1.
3773
6ae9194f
MLI
37742014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3775 Steven Bosscher <steven@gcc.gnu.org>
3776
3777 PR c/52952
3778 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3779 format_check_results.
3780 (check_function_format): Use true and add comment for boolean
3781 argument.
3782 (finish_dollar_format_checking): Use explicit location when warning.
3783 (check_format_info): Likewise.
3784 (check_format_arg): Set extra_arg_loc and format_string_loc.
3785 (check_format_info_main): Use explicit location when warning.
3786 (check_format_types): Pass explicit location.
3787 (format_type_warning): Likewise.
3788
8e54f6d3
MLI
37892014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3790
3791 PR fortran/44054
3792 * c-format.c: Handle Fortran flags.
3793
cd4e76fc
IZ
37942014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3795
3796 PR other/61962
3797 * array-notation-common.c (find_rank): Added handling for other
3798 types of references.
3799
f3bede71
MP
38002014-08-10 Marek Polacek <polacek@redhat.com>
3801
3802 PR c/51849
3803 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3804 * c.opt (Wc90-c99-compat): Add option.
3805
9f25a338
TS
38062014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3807
3808 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3809
62e4eb35
MP
38102014-08-03 Marek Polacek <polacek@redhat.com>
3811
3812 * c-common.c (check_case_value): Add location_t parameter. Use it.
3813 (c_add_case_label): Pass loc to check_case_value.
3814
b787e7a2
TS
38152014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3816
3817 * cilk.c: Use hash_map instead of pointer_map.
3818
6e2830c3
TS
38192014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3820
3821 * c-gimplify.c: Use hash_set instead of pointer_set.
3822
a7ee52fb
IZ
38232014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3824
3825 PR middle-end/61455
3826 * array-notation-common.c (extract_array_notation_exprs): Handling
3827 of DECL_EXPR added.
3828
944fa280
JJ
38292014-08-01 Jakub Jelinek <jakub@redhat.com>
3830
3831 * c-common.h (min_align_of_type): Removed prototype.
3832 * c-common.c (min_align_of_type): Removed.
3833 * c-ubsan.h (ubsan_maybe_instrument_reference,
3834 ubsan_maybe_instrument_member_call): New prototypes.
3835 * c-ubsan.c: Include stor-layout.h and builtins.h.
3836 (ubsan_maybe_instrument_reference_or_call,
3837 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3838 functions.
3839
b4dfdc11
MG
38402014-07-31 Marc Glisse <marc.glisse@inria.fr>
3841
3842 PR c++/60517
3843 * c.opt (-Wreturn-local-addr): Move to common.opt.
3844
a41844e5
JM
38452014-07-30 Jason Merrill <jason@redhat.com>
3846
3847 PR c++/61659
3848 PR c++/61687
3849 Revert:
3850 * c.opt (-fuse-all-virtuals): New.
3851
976d5a22
TT
38522014-07-30 Tom Tromey <tromey@redhat.com>
3853
3854 PR c/59855
3855 * c.opt (Wdesignated-init): New option.
3856 * c-common.c (c_common_attribute_table): Add "designated_init".
3857 (handle_designated_init): New function.
3858
cdc94aca
MP
38592014-07-24 Marek Polacek <polacek@redhat.com>
3860
3861 PR c/57653
3862 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3863
f41373b6
DS
38642014-07-16 Dodji Seketeli <dodji@redhat.com>
3865
3866 PR preprocessor/60723 - missing system-ness marks for macro tokens
3867 * c-ppoutput.c (struct print::prev_was_system_token): New data
3868 member.
3869 (init_pp_output): Initialize it.
3870 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3871 (do_line_change): Return a flag saying if a line marker was
3872 emitted or not.
3873 (scan_translation_unit): Detect if the system-ness of the token we
3874 are about to emit is different from the one of the previously
3875 emitted token. If so, emit a line marker. Avoid emitting useless
3876 adjacent line markers. Avoid emitting line markers for tokens
3877 originating from the expansion of built-in macros.
3878 (scan_translation_unit_directives_only): Adjust.
3879
4d661eaa
MP
38802014-07-15 Marek Polacek <polacek@redhat.com>
3881
3882 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3883 TYPE_MAX_VALUE is NULL.
3884
b108f48f
JJ
38852014-07-14 Jakub Jelinek <jakub@redhat.com>
3886
3887 PR middle-end/61294
3888 * c.opt (Wmemset-transposed-args): New warning.
3889
c0221884
JM
38902014-07-10 Jason Merrill <jason@redhat.com>
3891
3892 PR c++/61659
3893 PR c++/61687
3894 * c.opt (-fuse-all-virtuals): New.
3895
63dfbb95
RB
38962014-07-09 Richard Biener <rguenther@suse.de>
3897
3898 PR c-family/61741
3899 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3900 using unsigned arithmetic if overflow does not wrap instead of
3901 if overflow is undefined.
3902
773ec47f
MP
39032014-07-06 Marek Polacek <polacek@redhat.com>
3904
3905 PR c/6940
3906 * c.opt (Wsizeof-array-argument): New option.
3907
00a7ba58
JJ
39082014-07-03 Jakub Jelinek <jakub@redhat.com>
3909
b1726d6c 3910 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
3911 comments->count <= 1, as comments->entries might be NULL.
3912
52ec0ea3
MP
39132014-07-01 Marek Polacek <polacek@redhat.com>
3914
3915 * c.opt (Wint-conversion): New option.
3916
d5c3d343
MP
39172014-07-01 Marek Polacek <polacek@redhat.com>
3918
3919 PR c/58286
3920 * c.opt (Wincompatible-pointer-types): New option.
3921
6e7ceb17
PC
39222014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3923
3924 PR c++/51400
3925 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3926 Do not discard TYPE_QUALS of type.
3927
da73100b
JM
39282014-06-26 Jason Merrill <jason@redhat.com>
3929
3930 * c-common.h (enum cxx_dialect): Add cxx1z.
3931 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3932 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3933
08eedf75
TJ
39342014-06-26 Teresa Johnson <tejohnson@google.com>
3935
3936 * c-common.h (get_dump_info): Declare.
3937 * c-gimplify.c (c_genericize): Use saved dump files.
3938 * c-opts.c (c_common_parse_file): Begin and end dumps
3939 once around parsing invocation.
3940 (get_dump_info): New function.
3941
7b56b2f8
MP
39422014-06-23 Marek Polacek <polacek@redhat.com>
3943 Andrew MacLeod <amacleod@redhat.com>
3944
3945 PR c/61553
3946 * c-common.c (get_atomic_generic_size): Don't segfault if the
3947 type doesn't have a size.
3948
0e37a2f3
MP
39492014-06-20 Marek Polacek <polacek@redhat.com>
3950
3951 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3952 (ubsan_walk_array_refs_r): New function.
3953 (c_genericize): Instrument array bounds.
3954 * c-ubsan.c: Include "internal-fn.h".
3955 (ubsan_instrument_division): Mark instrumented arrays as having
3956 side effects. Adjust ubsan_type_descriptor call.
3957 (ubsan_instrument_shift): Likewise.
3958 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3959 (ubsan_instrument_bounds): New function.
3960 (ubsan_array_ref_instrumented_p): New function.
3961 (ubsan_maybe_instrument_array_ref): New function.
3962 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3963 (ubsan_array_ref_instrumented_p): Declare.
3964 (ubsan_maybe_instrument_array_ref): Declare.
3965
39662014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
3967
3968 PR lto/61123
3969 * c.opt (fshort-enums): Add to LTO.
3970 * c.opt (fshort-wchar): Likewise.
3971
5c3d09f7
MP
39722014-06-16 Marek Polacek <polacek@redhat.com>
3973
3974 PR c/60439
3975 * c.opt (Wswitch-bool): Add Var.
3976
9cf32741
JJ
39772014-06-12 Jakub Jelinek <jakub@redhat.com>
3978
3979 PR middle-end/61486
3980 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3981 #pragma omp target teams or
3982 #pragma omp {,target }teams distribute simd.
3983
62984918
JM
39842014-06-12 Jason Merrill <jason@redhat.com>
3985
3986 * c.opt (Wabi=, fabi-compat-version): New.
3987 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3988 (c_common_post_options): Handle flag_abi_compat_version default.
3989 Disallow -fabi-compat-version=1.
3990 * c-common.h (abi_version_crosses): New.
3991
f961457f
JH
39922014-06-11 Jan Hubicka <hubicka@ucw.cz>
3993
adfac8df 3994 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
3995 section names that are no longer trees.
3996
92d28cbb
JJ
39972014-06-10 Jakub Jelinek <jakub@redhat.com>
3998
3999 PR fortran/60928
4000 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
4001 (omp_pragmas): ... back here.
4002
742938c9
MP
40032014-06-05 Marek Polacek <polacek@redhat.com>
4004
4005 PR c/49706
4006 * c-common.c (warn_logical_not_parentheses): New function.
4007 * c-common.h (warn_logical_not_parentheses): Declare.
4008 * c.opt (Wlogical-not-parentheses): New option.
4009
9d548dfb
MP
40102014-06-04 Marek Polacek <polacek@redhat.com>
4011
4012 PR c/30020
4013 * c-common.c (check_case_bounds): Add location parameter.
4014 Use it.
4015 (c_add_case_label): Pass loc to check_case_bounds.
4016
fedfecef
MP
40172014-06-03 Marek Polacek <polacek@redhat.com>
4018
4019 PR c/60439
4020 * c.opt (Wswitch-bool): New option.
4021
f6a7cffc
TS
40222014-05-22 Thomas Schwinge <thomas@codesourcery.com>
4023
040d18b6
TS
4024 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
4025 Remove prototypes.
4026 (record_types_used_by_current_var_decl): Move prototype to where
4027 it belongs.
4028
f6a7cffc
TS
4029 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
4030 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
4031 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
4032
632f2871
RS
40332014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4034
4035 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4036 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4037 void_zero_node.
4038 * c-pretty-print.c (pp_c_void_constant): New function.
4039 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4040 (c_pretty_printer::expression): Handle VOID_CST.
4041 * cilk.c (extract_free_variables): Likewise.
4042 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4043 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4044
766090c2
TS
40452014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4046
4047 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4048 * c-pragma.c (push_alignment): Adjust.
4049 (handle_pragma_push_options): Likewise.
4050
661a0813
MP
40512014-05-09 Marek Polacek <polacek@redhat.com>
4052
4053 PR c/50459
4054 * c-common.c (check_user_alignment): Return -1 if alignment is error
4055 node.
4056 (handle_aligned_attribute): Don't call default_conversion on
4057 FUNCTION_DECLs.
4058 (handle_vector_size_attribute): Likewise.
4059 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4060 (handle_sentinel_attribute): Call default_conversion and allow even
4061 integral types as an argument.
4062
2793eeab
MP
40632014-05-08 Marek Polacek <polacek@redhat.com>
4064
4065 PR c/61053
4066 * c-common.c (min_align_of_type): New function factored out from...
4067 (c_sizeof_or_alignof_type): ...here.
4068 * c-common.h (min_align_of_type): Declare.
4069
f827930a
MP
40702014-05-08 Marek Polacek <polacek@redhat.com>
4071
4072 PR c/61077
4073 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4074 parameter type of main.
4075
ca49b74e
DD
40762014-05-07 DJ Delorie <dj@redhat.com>
4077
4078 * c-cppbuiltin.c (print_bits_of_hex): New.
4079 (builtin_define_type_minmax): Print values using hex so as not to
4080 require a pre-computed list of string values.
4081
1d60af08
KZ
40822014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4083 Mike Stump <mikestump@comcast.net>
4084 Richard Sandiford <rdsandiford@googlemail.com>
4085
4086 * c-ada-spec.c: Include wide-int.h.
4087 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4088 (dump_generic_ada_node): Use wide-int interfaces.
4089 * c-common.c: Include wide-int-print.h.
4090 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4091 (pointer_int_sum): Use wide-int interfaces.
4092 (c_common_nodes_and_builtins): Use make_int_cst.
4093 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4094 (handle_alloc_size_attribute): Use wide-int interfaces.
4095 (get_nonnull_operand): Likewise.
4096 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4097 * c-lex.c: Include wide-int.h.
4098 (narrowest_unsigned_type): Take a widest_int rather than two
4099 HOST_WIDE_INTs.
4100 (narrowest_signed_type): Likewise.
4101 (interpret_integer): Update accordingly. Use wide-int interfaces.
4102 (lex_charconst): Use wide-int interfaces.
4103 * c-pretty-print.c: Include wide-int.h.
4104 (pp_c_integer_constant): Use wide-int interfaces.
4105 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4106 INT_CST_LT_UNSIGNED.
4107
b15458be
RB
41082014-05-06 Richard Biener <rguenther@suse.de>
4109
4110 * c-opts.c (c_common_post_options): For -freestanding,
4111 -fno-hosted and -fno-builtin disable pattern recognition
4112 if not enabled explicitely.
4113
6577374e
MP
41142014-05-02 Marek Polacek <polacek@redhat.com>
4115
4116 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4117
d00887e8
MP
41182014-05-01 Marek Polacek <polacek@redhat.com>
4119
4120 PR c/43245
4121 * c.opt (Wdiscarded-qualifiers): Add.
4122
f8ed5150
MP
41232014-04-30 Marek Polacek <polacek@redhat.com>
4124
4125 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4126 INT_MIN / -1 sanitization only for integer types.
4127
45484dcf
MP
41282014-04-25 Marek Polacek <polacek@redhat.com>
4129
4130 PR c/18079
4131 * c-common.c (handle_noinline_attribute): Warn if the attribute
4132 conflicts with always_inline attribute.
4133 (handle_always_inline_attribute): Warn if the attribute conflicts
4134 with noinline attribute.
4135
38e514c0
MP
41362014-04-25 Marek Polacek <polacek@redhat.com>
4137
4138 PR c/60156
4139 * c-common.c (check_main_parameter_types): Warn about variadic main.
4140
44875f92
MS
41412014-04-24 Mike Stump <mikestump@comcast.net>
4142
4143 * c.opt (Wshadow-ivar): Default to on.
4144
dcaaa5a0
DP
41452014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4146
4147 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4148
c07d7c02
MP
41492014-04-23 Marek Polacek <polacek@redhat.com>
4150
4151 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4152
1c33c9b7
JJ
41532014-04-22 Jakub Jelinek <jakub@redhat.com>
4154
4155 PR sanitizer/60275
4156 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4157 if flag_sanitize_undefined_trap_on_error.
4158 (ubsan_instrument_division, ubsan_instrument_shift,
4159 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4160 if !flag_sanitize_recover.
4161
793c625f
MG
41622014-04-22 Marc Glisse <marc.glisse@inria.fr>
4163
4164 PR libstdc++/43622
4165 * c-common.c (registered_builtin_types): Make non-static.
4166 * c-common.h (registered_builtin_types): Declare.
4167
b0f1bf36
RB
41682014-04-14 Richard Biener <rguenther@suse.de>
4169 Marc Glisse <marc.glisse@inria.fr>
4170
4171 PR c/60819
4172 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4173 apply may-alias the scalar pointer type when applicable.
4174
3b07fa4a
IZ
41752014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4176
4177 PR middle-end/60467
4178 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4179 as possible argument for Cilk_spawn.
4180
cbbd2b1c
TB
41812014-04-11 Tobias Burnus <burnus@net-b.de>
4182
4183 PR c/60194
4184 * c.opt (Wformat-signedness): Add
4185 * c-format.c(check_format_types): Use it.
4186
6415bd5d
JM
41872014-04-11 Jason Merrill <jason@redhat.com>
4188
4189 PR c++/57926
4190 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4191 default_conversion for an array argument.
4192
6525783a
MP
41932014-04-08 Marek Polacek <polacek@redhat.com>
4194
4195 PR sanitizer/60745
4196 * c-ubsan.c: Include asan.h.
4197 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4198
880a467b
NS
41992014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4200
4201 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4202
7b59ff2d
MP
42032014-04-02 Marek Polacek <polacek@redhat.com>
4204
4205 * c-common.h (c_expand_expr): Remove declaration.
4206
8edbfaa6
JJ
42072014-03-28 Jakub Jelinek <jakub@redhat.com>
4208
4209 PR c++/60689
4210 * c-common.c (add_atomic_size_parameter): When creating new
4211 params vector, push the size argument first.
4212
07d72e1d
JJ
42132014-03-26 Jakub Jelinek <jakub@redhat.com>
4214
4215 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4216 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4217 ubsan_create_data callers.
4218
b35e0fa0
JJ
42192014-03-22 Jakub Jelinek <jakub@redhat.com>
4220
4221 PR debug/60603
4222 * c-opts.c (c_finish_options): Restore cb_file_change call to
4223 <built-in>.
4224
39a1ebb3
JJ
42252014-03-13 Jakub Jelinek <jakub@redhat.com>
4226
4227 PR middle-end/36282
4228 * c-pragma.c (apply_pragma_weak): Only look at
4229 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4230 DECL_ASSEMBLER_NAME_SET_P (decl).
4231 (maybe_apply_pending_pragma_weaks): Exit early if
4232 vec_safe_is_empty (pending_weaks) rather than only when
4233 !pending_weaks.
4234 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4235 set assembler name back to NULL afterwards.
4236
a07f6ed2
JM
42372014-03-11 Jason Merrill <jason@redhat.com>
4238
4239 * c.opt: Add -std=gnu++14.
4240
75b107f5
IB
42412014-03-11 Ian Bolton <ian.bolton@arm.com>
4242
4243 * c-opts.c (c_common_post_options): Don't override
4244 -ffp-contract=fast if unsafe-math-optimizations is on.
4245
f42c637e
PM
42462014-03-08 Paulo Matos <paulo@matos-sorge.com>
4247
22b15758 4248 * c.opt: Enable LTO FE for fshort-double.
f42c637e 4249
70e24808
JM
42502014-03-07 Jason Merrill <jason@redhat.com>
4251
4252 * c.opt: Add -std=c++14.
4253
3af9c5e9
MP
42542014-03-06 Marek Polacek <polacek@redhat.com>
4255
4256 PR c/60197
4257 * cilk.c (contains_cilk_spawn_stmt): New function.
4258 (contains_cilk_spawn_stmt_walker): Likewise.
4259 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4260 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4261
b3bdf019
JJ
42622014-03-03 Jakub Jelinek <jakub@redhat.com>
4263
4264 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4265 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4266 even when flag_preprocess_only.
4267
ca7e759d
JM
42682014-02-26 Jason Merrill <jason@redhat.com>
4269
4270 PR c++/59231
4271 PR c++/11586
4272 * c-common.c (shorten_compare): Don't check
4273 c_inhibit_evaluation_warnings.
4274
28e41874
JJ
42752014-02-19 Jakub Jelinek <jakub@redhat.com>
4276
cca615af
JJ
4277 PR c/37743
4278 * c-common.c (c_common_nodes_and_builtins): When initializing
4279 c_uint{16,32,64}_type_node, also set corresponding
4280 uint{16,32,64}_type_node to the same value.
4281
28e41874
JJ
4282 PR c++/60267
4283 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4284 for PRAGMA_IVDEP if flag_preprocess_only.
4285
c2bf53a1
JJ
42862014-02-12 Jakub Jelinek <jakub@redhat.com>
4287
4288 PR c/60101
4289 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4290 if false, add ADD itself, rather than vice versa.
4291 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4292 copy. For SAVE_EXPR, only call merge_tlist once.
4293
8fcbce72
JJ
42942014-02-08 Jakub Jelinek <jakub@redhat.com>
4295
4296 PR middle-end/60092
4297 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4298 and tree_to_uhwi.
4299 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4300 functions.
4301 (c_common_attribute_table): Add alloc_align and assume_aligned
4302 attributes.
4303
0a756a3f
MP
43042014-02-06 Marek Polacek <polacek@redhat.com>
4305
4306 PR c/60087
4307 * c-common.c (warn_for_sign_compare): Call warning_at with location
4308 instead of warning.
4309
7ec4847a
MP
43102014-02-05 Marek Polacek <polacek@redhat.com>
4311
4312 PR c/53123
4313 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4314 statement.
4315
66f20604
MP
43162014-02-04 Marek Polacek <polacek@redhat.com>
4317
4318 PR c/60036
4319 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4320 SAVE_EXPR.
4321
5d77fb19
MG
43222014-02-03 Marc Glisse <marc.glisse@inria.fr>
4323
4324 PR c++/53017
4325 PR c++/59211
4326 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4327 handle_vector_size_attribute, handle_nonnull_attribute): Call
4328 default_conversion on the attribute argument.
4329 (handle_nonnull_attribute): Increment the argument number.
4330
81e5eca8
MP
43312014-01-31 Marek Polacek <polacek@redhat.com>
4332
4333 PR c/59963
4334 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4335 build_function_call_vec.
4336 (resolve_overloaded_builtin): Likewise.
4337 * c-common.h (build_function_call_vec): Adjust declaration.
4338
68fca595
MP
43392014-01-30 Marek Polacek <polacek@redhat.com>
4340
4341 PR c/59940
4342 * c-common.h (unsafe_conversion_p): Adjust declaration.
4343 (warnings_for_convert_and_check): Likewise.
4344 (convert_and_check): Likewise.
4345 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4346 expansion_point_location_if_in_system_header on it.
4347 (warnings_for_convert_and_check): Add location parameter. Call
4348 expansion_point_location_if_in_system_header on it. Use it.
4349 (convert_and_check): Add location parameter. Use it.
4350 (conversion_warning): Likewise.
4351 (c_add_case_label): Adjust convert_and_check calls.
4352 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4353
b72271b9
BI
43542014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4355
4356 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4357 flag_cilkplus.
4358 * c-pragma.c (init_pragma): Likewise.
4359 * c.opt: Likewise.
4360
393e8e8b
MP
43612014-01-23 Marek Polacek <polacek@redhat.com>
4362
4363 PR c/59846
4364 * c-common.c (shorten_compare): Add location_t parameter.
4365 * c-common.h (shorten_binary_op): Adjust declaration.
4366
f04dda30
MP
43672014-01-23 Marek Polacek <polacek@redhat.com>
4368
4369 PR c/58346
4370 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4371 * c-common.h: Declare it.
4372
621955cb
EB
43732014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4374
4375 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4376 * c-ada-spec.c (dump_ads): Likewise.
4377 (cpp_check): Likewise.
4378 (dump_ada_specs): Likewise.
4379
43802014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
4381
4382 PR c++/49718
4383 * c-common.c (handle_no_instrument_function_attribute): Allow
4384 no_instrument_function attribute in class member
4385 definition/declaration.
4386
241f845a
JJ
43872014-01-15 Jakub Jelinek <jakub@redhat.com>
4388
4389 PR c/58943
4390 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4391 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4392 being COMPOUND_EXPR.
4393 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4394 operand a SAVE_EXPR and second MODIFY_EXPR.
4395
e83b8e2e
JJ
43962014-01-09 Jakub Jelinek <jakub@redhat.com>
4397
4398 PR target/58115
4399 * c-pch.c (c_common_write_pch): Call
4400 prepare_target_option_nodes_for_pch.
4401
23a5b65a
RS
44022014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4403
4404 Update copyright years
4405
f9030485
RS
44062014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4407
4408 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4409 the copyright notice.
4410
f2aa696b
EB
44112013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4412
4413 * c-ada-spec.c (print_constructor): New function.
4414 (print_destructor): Retrieve the origin of the destructor.
4415 (print_ada_declaration): Revamp handling of constructors/destructors.
4416
3f8257db 44172013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
4418 Bill Maddox <maddox@google.com>
4419 Jason Merrill <jason@redhat.com>
4420
4421 * c.opt: Add -fdeclone-ctor-dtor.
4422 * c-opts.c (c_common_post_options): Default to on iff -Os.
4423
41958c28
BI
44242013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4425
4426 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4427 attribute.
4428 * c-pragma.h (enum pragma_cilk_clause): Remove.
4429 (enum pragma_omp_clause): Added the following fields:
4430 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4431 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4432 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4433 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4434 PRAGMA_CILK_CLAUSE_UNIFORM.
4435
b1726d6c 4436
12893402
BI
44372013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4438
4439 * cilk.c (cilk_outline): Made this function non-static.
4440 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4441 (create_cilk_wrapper): Added a new parameter: a function pointer.
4442 (c_install_body_w_frame_cleanup): Remove
4443 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4444 * c-common.h (cilk_outline): New prototype.
4445 (gimplify_cilk_spawn): Removed two parameters.
4446 (cilk_install_body_with_frame_cleanup): New prototype.
4447 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4448 CILK_SPAWN_STMT case.
4449
085b42ed
BS
44502013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4451
2ce064c3
BS
4452 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4453
085b42ed
BS
4454 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4455 (int_array_type_node): Remove.
4456 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4457
9e36c9ed
MP
44582013-12-05 Marek Polacek <polacek@redhat.com>
4459
4460 PR c/52023
4461 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4462 [ADJUST_FIELD_ALIGN].
4463
296674db
JM
44642013-12-04 Joseph Myers <joseph@codesourcery.com>
4465
4466 PR c/52023
4467 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4468 and check field alignment if set.
4469 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4470 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4471
b1726d6c 44722013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
4473 Marek Polacek <polacek@redhat.com>
4474
4475 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4476 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4477
d7947e19
L
44782013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4479
4480 PR c/59309
4481 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4482 arguments.
4483
fad7652e
JJ
44842013-11-29 Jakub Jelinek <jakub@redhat.com>
4485
4486 PR c/59280
4487 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4488 goto invalid. If it is error_mark_node, don't issue further
4489 diagnostics.
4490
8b5e1202
SO
44912013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4492
4493 * c.opt (Wopenmp-simd): New.
4494
0a508bb6
JJ
44952013-11-22 Jakub Jelinek <jakub@redhat.com>
4496
4497 * c-ubsan.h (ubsan_instrument_return): New prototype.
4498 * c-ubsan.c (ubsan_instrument_return): New function.
4499
2fb9a547
AM
45002013-11-22 Andrew MacLeod <amacleod@redhat.com>
4501
4502 * c-common.c: Add required include files from gimple.h.
4503 * c-gimplify.c: Likewise
4504 * cilk.c: Likewise
4505
8400e75e
DM
45062013-11-22 David Malcolm <dmalcolm@redhat.com>
4507
4508 * c-common.c (unsafe_conversion_p): Remove use of
4509 EXPR_LOC_OR_HERE macro.
4510 (conversion_warning): Likewise.
4511 (warnings_for_convert_and_check): Likewise.
4512 (warn_for_collisions_1): Likewise.
4513 (shorten_compare): Likewise, and remove use of in_system_header
4514 macro, using the location from the former.
4515 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4516 (cb_def_pragma): Remove use of in_system_header macro.
4517 (lex_string): Likewise.
4518 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4519
eb1ce453
KZ
45202013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4521 Mike Stump <mikestump@comcast.net>
4522 Richard Sandiford <rdsandiford@googlemail.com>
4523
4524 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4525 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4526 tree_fits_shwi_p or tree_fits_uhwi_p.
4527 (dump_generic_ada_node): Likewise.
4528 * c-format.c (check_format_arg): Likewise.
4529 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4530
6b3b8c27
KZ
45312013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4532
4533 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4534
49b0aa18
JC
45352013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4536
4537 PR c/53001
4538 * c-common.c (unsafe_conversion_p): Make this function
4539 return an enumeration with more detail.
4540 (conversion_warning): Use the new return type of
4541 unsafe_conversion_p to separately warn either about conversions
4542 that lower floating point number precision or about the other
4543 kinds of conversions.
4544 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
4545 (unsafe_conversion_p): switching return type to
4546 conversion_safety enumeration.
49b0aa18
JC
4547 * c.opt: Adding new warning -Wfloat-conversion and
4548 enabling it with -Wconversion.
4549
b826515a
BS
45502013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4551
8e745a17
JJ
4552 * c-opts.c: Include plugin.h.
4553 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 4554
b9a55b13
MP
45552013-11-19 Marek Polacek <polacek@redhat.com>
4556
4557 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4558 call.
4559 (ubsan_instrument_shift): Likewise.
4560 (ubsan_instrument_vla): Likewise.
4561
7d362f6c
RS
45622013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4563
4564 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4565 cast to unsigned type.
4566
386b1f1f
RS
45672013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4568
4569 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4570 tree_low_cst.
4571 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4572 rather than tree_low_cst.
4573
ae7e9ddd
RS
45742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4575
4576 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4577 tree_to_uhwi throughout.
4578
9439e9a1
RS
45792013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4580
4581 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4582 tree_low_cst (..., 0) with tree_to_shwi throughout.
4583
cc269bb6
RS
45842013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4585
4586 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4587 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4588
9541ffee
RS
45892013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4590
4591 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4592 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4593
c02065fc
AH
45942013-11-15 Aldy Hernandez <aldyh@redhat.com>
4595
4596 * c-cilkplus.c: New file.
4597 * c-common.c (readonly_error): Add location argument.
4598 * c-common.h (readonly_error): Same.
4599 (c_finish_cilk_clauses): Protoize.
4600 (c_check_cilk_loop): Same.
4601 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4602 Do not fail on error_mark_node.
4603 Abstract increment canonicalization to here...
4604 (c_omp_for_incr_canonicalize_ptr): New.
4605 c-pragma.c (init_pragma): Register "simd" pragma.
4606 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4607 (enum pragma_cilk_clause): New.
4608
9cc65f15
RS
46092013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4610
4611 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4612 wchar_type and host_integerp checks.
4613
18f429e2
AM
46142013-11-14 Andrew MacLeod <amacleod@redhat.com>
4615
4616 * c-common.c: Likewise.
4617 * c-gimplify.c: Likewise.
4618 * cilk.c: Likewise.
4619
d8a2d370
DN
46202013-11-14 Diego Novillo <dnovillo@google.com>
4621
4622 * c-common.c: Include fold-const.h.
4623 Include stor-layout.h.
4624 Include calls.h.
4625 Include stringpool.h.
4626 Include attribs.h.
4627 Include varasm.h.
4628 Include trans-mem.h.
4629 * c-cppbuiltin.c: Include stor-layout.h.
4630 Include stringpool.h.
4631 * c-format.c: Include stringpool.h.
4632 * c-lex.c: Include stringpool.h.
4633 Include stor-layout.h.
4634 * c-pragma.c: Include stringpool.h.
4635 Include attribs.h.
4636 Include varasm.h.
4637 Include gcc-symtab.h.
4638 * c-pretty-print.c: Include stor-layout.h.
4639 Include attribs.h.
4640 * cilk.c: Include stringpool.h.
4641 Include calls.h.
4642
38b7bc7f
JM
46432013-11-13 Joseph Myers <joseph@codesourcery.com>
4644
4645 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4646 * c-common.c (c_common_reswords): Add __auto_type.
4647 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4648
45b0be94
AM
46492013-11-12 Andrew MacLeod <amacleod@redhat.com>
4650
18f429e2
AM
4651 * c-common.c: Include gimplify.h.
4652 * c-gimplify.c: Likewise.
4653 * cilk.c: Likewise.
4654 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4655 * c-ubsan.c: Don't include gimple.h.
45b0be94 4656
582d9b50
JM
46572013-11-12 Joseph Myers <joseph@codesourcery.com>
4658
4659 * c-common.c (c_common_reswords): Add _Thread_local.
4660
6b28e197
JM
46612013-11-09 Joseph Myers <joseph@codesourcery.com>
4662
4663 * c-common.c (atomic_size_supported_p): New function.
4664 (resolve_overloaded_atomic_exchange)
4665 (resolve_overloaded_atomic_compare_exchange)
4666 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4667 Use it instead of comparing size with a local list of sizes.
4668
267bac10
JM
46692013-11-07 Andrew MacLeod <amacleod@redhat.com>
4670 Joseph Myers <joseph@codesourcery.com>
4671
4672 * c-common.h (enum rid): Add RID_ATOMIC.
4673 * c-common.c (c_common_reswords): Add _Atomic.
4674 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4675 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4676 * c-format.c (check_format_types): Check for extra _Atomic
4677 qualifiers in format argument.
4678 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4679 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4680
5157b91e
TB
46812013-11-06 Tobias Burnus <burnus@net-b.de>
4682
4683 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4684
6dbe0958
JM
46852013-11-06 Joseph Myers <joseph@codesourcery.com>
4686
4687 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4688 standards modes.
4689 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4690 to mean lack of IEEE 754 support.
4691
e8ff5196
TB
46922013-11-05 Tobias Burnus <burnus@net-b.de>
4693
4694 * c.opt (-Wdate-time): New option
4695 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4696
254a0760
JM
46972013-11-05 Joseph Myers <joseph@codesourcery.com>
4698
4699 * c-cppbuiltin.c (cpp_iec_559_value): Test
4700 flag_excess_precision_cmdline not flag_excess_precision.
4701
6d7f7e0a
TB
47022013-11-05 Tobias Burnus <burnus@net-b.de>
4703
4704 * c.opt (fopenmp-simd): New option.
4705 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4706 (omp_pragmas): ... this new struct.
4707 (c_pp_lookup_pragma): Also walk omp_pragmas.
4708 (init_pragma): Init pragmas for -fopenmp-simd.
4709
55a7f02f
MP
47102013-11-04 Marek Polacek <polacek@redhat.com>
4711
4712 PR c++/58979
4713 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4714
9193fb05
JM
47152013-11-04 Joseph Myers <joseph@codesourcery.com>
4716
4717 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4718 New functions.
4719 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4720
94159ecf
EB
47212013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4722
4723 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4724 (dump_ada_specs): Adjust prototype of second callback.
4725 * c-ada-spec.c (cpp_check): New global variable.
4726 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4727 (print_generic_ada_decl): Likewise.
4728 (has_static_fields): Change return type to bool and add guard.
4729 (has_nontrivial_methods): New predicate.
4730 (is_tagged_type): Change return type to bool.
4731 (separate_class_package): Call has_nontrivial_methods.
4732 (pp_ada_tree_identifier): Minor tweaks.
4733 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4734 (dump_ada_array_domains): Likewise.
4735 (dump_ada_array_type): Likewise.
4736 (dump_template_types): Remove cpp_check parameter and do not pass it to
4737 dump_generic_ada_node.
4738 (dump_ada_template): Likewise.
4739 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4740 recursively.
4741 (print_ada_methods): Change return type to integer. Remove cpp_check
4742 parameter and do not pass it down.
4743 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4744 dump_generic_ada_node.
4745 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4746 accessing methods.
4747 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4748 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4749 value of print_ada_methods.
4750 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4751 Set cpp_check to it before invoking dump_ada_nodes.
4752 (dump_ada_specs): Likewise.
4753
b906f4ca
MP
47542013-11-03 Marek Polacek <polacek@redhat.com>
4755
4756 * c-ubsan.c: Don't include hash-table.h.
4757 (ubsan_instrument_vla): New function.
4758 * c-ubsan.h: Declare it.
4759
5e20cdc9
DM
47602013-10-31 David Malcolm <dmalcolm@redhat.com>
4761
4762 Automated part of renaming of symtab_node_base to symtab_node.
4763
4764 Patch autogenerated by rename_symtab.py from
4765 https://github.com/davidmalcolm/gcc-refactoring-scripts
4766 revision 58bb219cc090b2f4516a9297d868c245495ee622
4767
4768 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4769 symtab_node_base to symtab_node.
4770
7057e645
ESR
47712013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4772
8e745a17 4773 Implement C++14 digit separators.
7057e645
ESR
4774 * c-lex.c (interpret_float): Remove digit separators from scratch string
4775 before building real literal.
4776
193ea7bc
JJ
47772013-10-30 Jakub Jelinek <jakub@redhat.com>
4778
4779 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4780
939b37da
BI
47812013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4782
4783 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4784 fields.
4785 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4786 enabled.
4787 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4788 (insert_cilk_frame): New prototype.
4789 (cilk_init_builtins): Likewise.
4790 (gimplify_cilk_spawn): Likewise.
4791 (c_cilk_install_body_w_frame_cleanup): Likewise.
4792 (cilk_detect_spawn_and_unwrap): Likewise.
4793 (cilk_set_spawn_marker): Likewise.
4794 (build_cilk_sync): Likewise.
4795 (build_cilk_spawn): Likewise.
4796 * cilk.c: New file.
4797
67348ccc
DM
47982013-10-29 David Malcolm <dmalcolm@redhat.com>
4799
4800 Patch autogenerated by refactor_symtab.py from
4801 https://github.com/davidmalcolm/gcc-refactoring-scripts
4802 revision 58bb219cc090b2f4516a9297d868c245495ee622
4803
4804 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4805 to a true class hierarchy.
4806 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4807
d570872d
RS
48082013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4809
4810 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4811
98906124
JL
48122013-10-26 Jeff Law <law@redhat.com>
4813
adfac8df
JJ
4814 * c-common.c (c_define_builtins): Remove mudflap support.
4815 * c.opt: Ignore and warn for mudflap options.
98906124 4816
d73749df 48172013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
4818
4819 PR other/33426
4820 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4821 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4822
3f04b1bb
JM
48232013-10-23 Jason Merrill <jason@redhat.com>
4824
4825 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4826
acf0174b
JJ
48272013-10-11 Jakub Jelinek <jakub@redhat.com>
4828
acd15a28
JJ
4829 * c-common.h (omp_clause_mask::operator !=): New method.
4830 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4831 instead of if (mask & something) tests everywhere.
4832
acf0174b
JJ
4833 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4834 201307 instead of 201107.
4835 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4836 (c_common_attribute_table): Add "omp declare target" and
4837 "omp declare simd" attributes.
4838 (handle_omp_declare_target_attribute,
4839 handle_omp_declare_simd_attribute): New functions.
4840 * c-omp.c: Include c-pragma.h.
4841 (c_finish_omp_taskgroup): New function.
4842 (c_finish_omp_atomic): Add swapped argument, if true,
4843 build the operation first with rhs, lhs arguments and use NOP_EXPR
4844 build_modify_expr.
4845 (c_finish_omp_for): Add code argument, pass it down to make_code.
4846 (c_omp_split_clauses): New function.
4847 (c_split_parallel_clauses): Removed.
4848 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4849 c_omp_declare_simd_clauses_to_decls): New functions.
4850 * c-common.h (omp_clause_mask): New type.
4851 (OMP_CLAUSE_MASK_1): Define.
4852 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4853 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4854 omp_clause_mask::operator |, omp_clause_mask::operator &,
4855 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4856 omp_clause_mask::operator ==): New methods.
4857 (enum c_omp_clause_split): New.
4858 (c_finish_omp_taskgroup): New prototype.
4859 (c_finish_omp_atomic): Add swapped argument.
4860 (c_finish_omp_for): Add code argument.
4861 (c_omp_split_clauses): New prototype.
4862 (c_split_parallel_clauses): Removed.
4863 (c_omp_declare_simd_clauses_to_numbers,
4864 c_omp_declare_simd_clauses_to_decls): New prototypes.
4865 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4866 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4867 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4868 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4869 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4870 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4871 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4872 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4873 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4874 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4875 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4876 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4877 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4878 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4879 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4880 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4881 PRAGMA_OMP_CLAUSE_UNIFORM.
4882
826cacfe
MG
48832013-10-09 Marc Glisse <marc.glisse@inria.fr>
4884
4885 PR tree-optimization/20318
4886 * c-common.c (handle_returns_nonnull_attribute): New function.
4887 (c_common_attribute_table): Add returns_nonnull.
4888
2284b034
MG
48892013-10-03 Marc Glisse <marc.glisse@inria.fr>
4890
4891 PR c++/19476
4892 * c.opt (fcheck-new): Move to common.opt.
4893
b56e9788
MP
48942013-09-25 Marek Polacek <polacek@redhat.com>
4895 Jakub Jelinek <jakub@redhat.com>
4896
4897 PR sanitizer/58413
4898 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4899 an expression if we can prove it is correct.
4900 (ubsan_instrument_division): Likewise. Remove unnecessary
4901 check.
4902
ce6923c5
MP
49032013-09-18 Marek Polacek <polacek@redhat.com>
4904
4905 PR sanitizer/58411
4906 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4907 Declare it.
4908 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4909
fb5610fb
IS
49102013-09-14 Iain Sandoe <iain@codesourcery.com>
4911
4912 PR target/48094
4913 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4914 fobjc-gc, freplace-objc-classes): Accept for LTO.
4915
88b0e79e
JC
49162013-09-13 Jacek Caban <jacek@codeweavers.com>
4917
4918 * c-target.def: New hook
4919
c9b0866a
PC
49202013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4921
4922 PR c++/43452
4923 * c.opt (Wdelete-incomplete): Add.
4924
0af94e6f
JR
49252013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4926
4927 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4928 (vector_types_compatible_elements_p): New function.
4929 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4930 declaration.
4931 (vector_types_compatible_elements_p): Declare.
4932
7c26172c
GDR
49332013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4934
4935 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4936 a virtual member function.
4937 (pp_simple_type_specifier): Remove.
4938 (pp_c_type_specifier): Likewise.
4939 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4940 Rename from pp_c_type_specifier. Adjust.
4941 (c_pretty_printer::c_pretty_printer): Do not assign to
4942 simple_type_specifier.
4943
20059c8b
GDR
49442013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4945
4946 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4947 member function.
4948 (c_pretty_printer::storage_class_specifier): Likewise.
4949 (c_pretty_printer::initializer): Likewise.
4950 (pp_declaration): Remove.
4951 (pp_declaration_specifiers): Likewise.
4952 (pp_abstract_declarator): Likewise.
4953 (pp_declarator): Likewise.
4954 (pp_type_id): Likewise.
4955 (pp_statement): Likewise.
4956 (pp_constant): Likewise.
4957 (pp_id_expression): Likewise.
4958 (pp_primary_expression): Likewise.
4959 (pp_unary_expression): Likewise.
4960 (pp_multiplicative_expression): Likewise.
4961 (pp_conditional_expression): Likewise.
4962 (pp_assignment_expression): Likewise.
4963 (pp_expression): Likewise.
4964 (pp_c_type_id): Likewise.
4965 (pp_c_storage_class_specifier): Likewise.
4966 * c-pretty-print.c (pp_c_type_cast): Tidy.
4967 (pp_c_pointer): Likewise.
4968 (pp_c_type_specifier): Likewise.
4969 (pp_c_parameter_type_list): Likewise.
4970 (pp_c_function_definition): Likewise.
4971 (pp_c_init_declarator): Likewise.
4972 (pp_c_initializer_list): Likewise.
4973 (pp_c_constructor_elts): Likewise.
4974 (c_pretty_printer::direct_abstract_declarator): Likewise.
4975 (c_pretty_printer::declaration_specifiers): Likewise.
4976 (c_pretty_printer::primary_expression): Likewise.
4977 (c_pretty_printer::postfix_expression): Likewise.
4978 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4979 (c_pretty_printer::storage_class_specifier): Rename from
4980 pp_c_storage_class_specifier.
4981 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4982 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4983 storage_class_specifier, initializer, offset_list, flags.
4984
de5a5fa1
MP
49852013-08-30 Marek Polacek <polacek@redhat.com>
4986
4987 * c-ubsan.c: New file.
4988 * c-ubsan.h: New file.
4989
8f0e4d72
GDR
49902013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4991
4992 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4993 member function.
4994 (c_pretty_printer::declaration_specifiers): Likewise.
4995 (c_pretty_printer::declarator): Likewise.
4996 (c_pretty_printer::abstract_declarator): Likewise.
4997 (c_pretty_printer::direct_abstract_declarator): Likewise.
4998 (c_pretty_printer::direct_declarator): Likewise.
4999 (c_pretty_printer::function_specifier): Likewise.
5000 (pp_declaration): Adjust.
5001 (pp_declaration_specifiers): Likewise.
5002 (pp_abstract_declarator): Likewise.
5003 (pp_direct_declarator): Likewise.
5004 (pp_function_specifier): Likewise.
5005 (pp_direct_abstract_declarator): Remove as unused.
5006 (pp_c_declaration): Remove.
5007 (pp_c_declaration_specifiers): Likewise.
5008 (pp_c_declarator): Likewise.
5009 (pp_c_direct_declarator): Likewise.
5010 (pp_c_function_specifier): Likewise.
5011 (pp_c_direct_abstract_declarator): Likewise.
5012 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
5013 from pp_c_abstract_declarator. Adjust.
5014 (c_pretty_printer::direct_abstract_declarator): Rename from
5015 pp_c_direct_abstract_declarator. Adjust.
5016 (c_pretty_printer::function_specifier): Rename from
5017 pp_c_function_specifier. Adjust.
5018 (c_pretty_printer::declaration_specifiers): Rename from
5019 pp_c_declaration_specifiers. Adjust.
5020 (c_pretty_printer::direct_declarator): Rename from
5021 pp_c_direct_declarator. Adjust.
5022 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
5023 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
5024 (c_pretty_printer::c_pretty_printer): Do not assign to
5025 declaration, declaration_specifiers, declarator,
5026 direct_declarator, direct_abstract_declarator, function_specifier.
5027
00d34d3a
GDR
50282013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
5029
5030 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
5031 virtual member function.
5032 (c_pretty_printer::multiplicative_expression): Likewise.
5033 (c_pretty_printer::conditional_expression): Likewise.
5034 (c_pretty_printer::assignment_expression): Likewise.
5035 (c_pretty_printer::expression): Likewise.
5036 (pp_unary_expression): Adjust.
5037 (pp_multiplicative_expression): Likewise.
5038 (pp_assignment_expression): Likewise.
5039 (pp_conditional_expression): Likewise.
5040 (pp_expression): Likewise.
5041 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5042 from pp_c_unary_expression. Adjust.
5043 (c_pretty_printer::multiplicative_expression): Rename from
5044 pp_c_multiplicative_expression. Adjust.
5045 (c_pretty_printer::conditional_expression): Rename from
5046 pp_c_conditional_expression. Adjust.
5047 (c_pretty_printer::assignment_expression): Rename from
5048 pp_c_assignment_expression. Adjust.
5049 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5050 (c_pretty_printer::c_pretty_printer): Do not assign to
5051 unary_expression, multiplicative_expression,
5052 conditional_expression, expression.
5053
fb22178f
GDR
50542013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5055
5056 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5057 virtual member function.
5058 (pp_postfix_expression): Adjust.
5059 (pp_c_postfix_expression): Remove.
5060 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5061 from pp_c_postfix_expression. Adjust.
5062 (c_pretty_printer::c_pretty_printer): Do not assign to
5063 postfix_expression.
5064
7ecc2600
GDR
50652013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5066
5067 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5068 virtua member function.
5069 (pp_primary_expression): Adjust.
5070 (pp_c_primary_expression): Remove.
5071 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5072 from pp_c_primary_expression. Adjust.
5073 (pp_c_initializer_list): Use pp_primary_expression.
5074 (c_pretty_printer::c_pretty_printer): Do not assign to
5075 primary_expression.
5076
0691175f
GDR
50772013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5078
5079 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5080 * c-pretty-print.c (M_): Remove.
5081 (c_pretty_printer::translate_string): Define.
5082 (pp_c_type_specifier): Use it.
5083 (pp_c_primary_expression): Likewise.
5084 (pp_c_expression): Likewise.
5085
66dfe4c4
GDR
50862013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5087
5088 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5089 virtual function.
5090 (pp_c_id_expression): Remove.
5091 (pp_id_expression): Adjust.
5092 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5093 pp_c_id_expression. Adjust.
5094 (pp_c_postfix_expression): Use pp_id_expression.
5095 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5096
ca43e9d5
GDR
50972013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5098
5099 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5100 member function.
5101 (pp_constant): Adjust.
5102 (pp_c_constant): Remove.
5103 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5104 pp_c_constant. Adjust.
5105 (pp_c_constant)
5106 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5107 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5108
da6ca2b5
GDR
51092013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5110
5111 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5112 (c_pretty_printer::c_pretty_printer): Declare.
5113 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5114 c_pretty_printer_init. Adjust.
5115 (print_c_tree): Do not call c_pretty_printer_init.
5116 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5117
65a372f4
AC
51182013-08-09 Arnaud Charlet <charlet@adacore.com>
5119
5120 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5121
fd9b0f32
PC
51222013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5123
5124 PR c++/58080
5125 * c-common.c (pointer_int_sum): Add bool parameter.
5126 * c-common.h (pointer_int_sum): Adjust declaration.
5127
e0aec1e9
GDR
51282013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5129
5130 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5131 c_pretty_printer variable.
5132
b066401f
GDR
51332013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5134
5135 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5136 (pp_base): Remove.
5137 (pp_c_base): Likewise. Adjust users.
5138 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5139 (pp_c_whitespace): Do not call pp_base.
5140 (pp_c_left_paren): Likewise.
5141 (pp_c_right_paren): Likewise.
5142 (pp_c_left_brace): Likewise.
5143 (pp_c_right_brace): Likewise.
5144 (pp_c_left_bracket): Likewise.
5145 (pp_c_right_bracket): Likewise.
5146 (pp_c_dot): Likewise.
5147 (pp_c_ampersand): Likewise.
5148 (pp_c_star): Likewise.
5149 (pp_c_arrow): Likewise.
5150 (pp_c_semicolon): Likewise.
5151 (pp_c_complement): Likewise.
5152 (pp_c_exclamation): Likewise.
5153 (pp_c_direct_declarator): Likewise.
5154 (pp_c_ws_string): Likewise.
5155 (pp_c_identifier): Likewise.
5156 (pp_c_statement): Likewise.
5157 (print_c_tree): Likewise.
5158
65e5a578
ESR
51592013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5160
5161 PR c++/58072
5162 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5163 provide useful error strings.
5164
137a1a27
GDR
51652013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5166
5167 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5168 printer functions instead of pp_string or operators and punctuators.
5169 (dump_generic_ada_node): Likewise.
5170 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5171 (pp_c_relational_expression): Likewise.
5172 (pp_c_logical_or_expression): Likewise.
5173
07838b13
GDR
51742013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5175
5176 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5177 functions instead of pp_character.
5178 (pp_ada_tree_identifier): Likewise.
5179 (dump_ada_double_name): Likewise.
5180 (dump_ada_function_declaration): Likewise.
5181 (dump_ada_array_domains): Likewise.
5182 (dump_template_types): Likewise.
5183 (dump_generic_ada_node): Likewise.
5184 (print_ada_declaration): Likewise.
5185 (print_ada_struct_decl): Likewise.
5186 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5187
433cc7b0
TT
51882013-07-23 Tom Tromey <tromey@redhat.com>
5189
5190 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5191 * c-common.c (c_common_reswords): Add _Generic.
5192
688010ba
OB
51932013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5194
5195 * c-common.c: Fix typos.
5196 * c-common.h: Likewise.
5197
2a99e5e6
LL
51982013-07-13 Lubos Lunak <l.lunak@suse.cz>
5199
5200 PR c++/55203
5201 * c-common.c (c_common_attribute_table): Add warn_unused.
5202 (handle_warn_unused_attribute): New.
5203
c26302d5
JJ
52042013-07-10 Jakub Jelinek <jakub@redhat.com>
5205
5206 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5207 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5208
dfeadaa0
PC
52092013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5210
5211 PR c++/57869
5212 * c.opt: Add Wconditionally-supported.
5213
6a2fa4b2
GS
52142013-07-08 Graham Stott <graham.stott@btinternet.com>
5215
adfac8df 5216 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
5217 unused variables l_length and l_node.
5218
ecdbd01a 52192013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
5220
5221 PR c/57821
5222 * c-common.c (complete_array_type): Delay folding first index
5223 like other indices. When folding, check for index overflow.
5224
bedc293e
MG
52252013-06-27 Marc Glisse <marc.glisse@inria.fr>
5226
5227 PR c++/57509
5228 * c-common.h (c_build_vec_perm_expr): New complain argument.
5229 * c-common.c (c_build_vec_perm_expr): Likewise.
5230 Use save_expr also in C++.
5231
604b2bfc
GDR
52322013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5233
5234 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5235 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5236 * c-opts.c (c_common_post_options): Likewise.
5237
dfeadaa0 52382013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
5239
5240 * array-notation-common.c (length_mismatch_in_expr): Changed the
5241 parameter type's from a dynamic array to a vec_tree. Also removed
5242 the size parameters.
5243 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5244 the change above.
5245
2ce86d2e
BI
52462013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5247
5248 * c-common.h (struct cilkplus_an_parts): New structure.
5249 (struct cilkplus_an_loop_parts): Likewise.
5250 (cilkplus_extract_an_triplets): New prototype.
5251 (fix_sec_implicit_args): Likewise.
5252 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5253 (fix_sec_implicit_args): Likewise.
604b2bfc 5254
07a6825b
BI
52552013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5256
5257 * array-notation-common.c (find_inv_trees): Removed an unwanted
5258 typecasting.
5259 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5260 enum rid to enum tree_code.
5261
08346abd
JH
52622013-06-11 Jan Hubicka <jh@suse.cz>
5263
5264 * c-common.c (handle_alias_ifunc_attribute): Do not set
5265 DECL_EXTERNAL for weakref variables.
5266 * c-pragma.c (handle_pragma_weak): Make sure aliases
5267 are not declared as external.
5268
d60f1706
BI
52692013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5270
5271 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5272 function from c/c-array-notation.c.
5273 (is_cilkplus_reduce_builtin): Likewise.
5274 (find_rank): Likewise.
5275 (extract_array_notation_exprs): Likewise.
5276 (replace_array_notations): Likewise.
5277 (find_inv_trees): Likewise.
5278 (replace_inv_trees): Likewise.
5279 (contains_array_notation_expr): Likewise.
5280 (find_correct_array_notation_type): Likewise.
5281 * c-common.h (struct inv_list): Moved this struct from the file
5282 c/c-array-notation.c and added a new field called additional tcodes.
5283 (length_mismatch_in_expr_p): New prototype.
5284 (is_cilkplus_reduce_builtin): Likewise.
5285 (find_rank): Likewise.
5286 (extract_array_notation_exprs): Likewise.
5287 (replace_array_notation): Likewise.
5288 (find_inv_trees): Likewise.
5289 (replace_inv_trees): Likewise.
5290 (find_correct_array_notation_type): Likewise.
dfeadaa0 5291
36536d79
BI
52922013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5293
5294 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5295 function array_notation_init_builtins is called.
5296 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5297 * c-common.def (ARRAY_NOTATION_REF): New tree.
5298 * c-common.h (build_array_notation_expr): New function declaration.
5299 (build_array_notation_ref): Likewise.
5300 (extract_sec_implicit_index_arg): New extern declaration.
5301 (is_sec_implicit_index_fn): Likewise.
5302 (ARRAY_NOTATION_CHECK): New define.
5303 (ARRAY_NOTATION_ARRAY): Likewise.
5304 (ARRAY_NOTATION_START): Likewise.
5305 (ARRAY_NOTATION_LENGTH): Likewise.
5306 (ARRAY_NOTATION_STRIDE): Likewise.
5307 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5308 ARRAY_NOTATION_REF.
5309 (pp_c_expression): Likewise.
5310 * c.opt (flag_enable_cilkplus): New flag.
5311 * array-notation-common.c: New file.
5312
f7716d57
JJ
53132013-05-14 Jakub Jelinek <jakub@redhat.com>
5314
5315 PR c++/57274
5316 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5317
a5e0cd1d
MG
53182013-05-10 Marc Glisse <marc.glisse@inria.fr>
5319
5320 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5321 vectors.
5322
f6bc1c4a
HS
53232013-05-07 Han Shen <shenhan@google.com>
5324
5325 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5326
3f12f6e9
SKS
53272013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5328
5329 * c-common.c (check_user_alignment): Emit error for negative values.
5330
61949153
PC
53312013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5332
5333 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5334
e93e18e9
PC
53352013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5336
5337 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5338 __GXX_EXPERIMENTAL_CXX1Y__.
5339
44d90fe1 53402013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 5341 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
5342
5343 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5344 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5345 to simply use OPT_Wpointer_arith.
5346 (c_sizeof_or_alignof_type): Likewise.
5347
13f39b2e
PC
53482013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5349
5350 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5351
4b84d650
JJ
53522013-04-12 Jakub Jelinek <jakub@redhat.com>
5353
5354 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5355 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5356 specifiers.
5357
fb037b5d
SB
53582013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5359
5360 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5361
4e856798
PC
53622013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5363
5364 * c-common.c (pointer_int_sum): Remove dead code.
5365
4b1baac8
RS
53662013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5367
5368 PR middle-end/56524
5369 * c-common.c (handle_optimize_attribute): Don't call
5370 save_optabs_if_changed.
5371
0b50e654
JJ
53722013-03-05 Jakub Jelinek <jakub@redhat.com>
5373
5374 PR middle-end/56461
5375 * c-pch.c (pch_init): Free target_validity at the end.
5376
48c41403
JJ
53772013-03-04 Jakub Jelinek <jakub@redhat.com>
5378
5379 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5380
e664c61c
KS
53812013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5382 Jakub Jelinek <jakub@redhat.com>
5383
5384 PR sanitizer/56454
5385 * c-common.c (handle_no_sanitize_address_attribute): New function.
5386 (c_common_attribute_table): Add no_sanitize_address attribute.
5387 (handle_no_address_safety_analysis_attribute): Add
5388 no_sanitize_address attribute, not no_address_safety_analysis
5389 attribute.
5390
a475fd3d 53912013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
5392
5393 PR target/52555
5394 * c-common.c (handle_optimize_attribute): Call
5395 save_optabs_if_changed.
5396
f6007d99
JJ
53972013-02-18 Jakub Jelinek <jakub@redhat.com>
5398 Steven Bosscher <steven@gcc.gnu.org>
5399
5400 PR pch/54117
5401 * c-opts.c (c_common_post_options): If debug info is enabled
5402 and non-dwarf*, refuse to load PCH files and when writing PCH
5403 file warn.
5404
cf35e2b1
JJ
54052013-02-05 Jakub Jelinek <jakub@redhat.com>
5406
5407 PR middle-end/56167
5408 * c-common.c (handle_error_attribute): Fix condition.
5409
32887460
JJ
54102013-01-30 Jakub Jelinek <jakub@redhat.com>
5411
5412 PR c++/55742
5413 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5414
5af057d8
JM
54152013-01-18 Jason Merrill <jason@redhat.com>
5416
5417 PR target/54908
5418 * c.opt (-fextern-tls-init): New.
5419 * c-opts.c (c_common_post_options): Handle it.
5420
cc83c823
JJ
54212013-01-09 Jakub Jelinek <jakub@redhat.com>
5422
5423 PR c/48418
5424 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5425 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5426 and is either negative or bigger or equal to type precision
5427 of the first operand.
5428
a859517f
MP
54292012-12-03 Marek Polacek <polacek@redhat.com>
5430
5431 PR c/55570
5432 * c-common.c (check_user_alignment): Swap order of tests,
5433 check TREE_CODE first.
5434
2d7aa578
ESR
54352012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5436
5437 PR c++/52654
5438 * c-common.h (overflow_type): New enum.
5439 (build_userdef_literal): Add overflow_type argument.
5440 (tree_userdef_literal): Add overflow_type.
5441 (USERDEF_LITERAL_OVERFLOW): New access macro.
5442 * c-common.c (build_userdef_literal): Add overflow_type
5443 argument.
5444 * c-lex.c (c_lex_with_flags): Add overflow_type to
5445 build_userdef_literal calls.
5446 (interpret_integer, interpret_float): Add overflow_type argument.
5447
cc3c4f62
RB
54482012-11-28 Richard Biener <rguenther@suse.de>
5449
5450 PR c/35634
5451 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5452 here and use a type with proper overflow behavior for types that would
5453 need to be promoted for the arithmetic.
5454
77bc5132
JJ
54552012-11-23 Jakub Jelinek <jakub@redhat.com>
5456
5457 PR sanitizer/55435
5458 * c-common.c (handle_no_address_safety_analysis_attribute): New
5459 function.
5460 (c_common_attribute_table): Add no_address_safety_analysis.
5461
5dc99c46
SB
54622012-11-16 Simon Baldwin <simonb@google.com>
5463
5464 * c.opt: Add f[no-]canonical-system-headers.
5465 * c-opts.c (c_common_handle_option): Handle
5466 OPT_fcanonical_system_headers.
5467
a4a0016d
ESR
54682012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5469
5470 PR c++/54413
5471 * c-opts.c (c_common_handle_option): Set new flags.
5472 * c.opt: Describe new flags.
5473
7dbb85a7
JM
54742012-11-09 Jason Merrill <jason@redhat.com>
5475
5476 * c.opt (Wabi-tag): New.
5477
ad7bac31
AK
54782012-11-09 Andi Kleen <ak@linux.intel.com>
5479
5480 PR 55139
5481 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 5482 MEMMODEL_MASK
ad7bac31 5483
7332899a
MLI
54842012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5485
5486 PR c/53063
5487 * c.opt (Wformat): Make it Alias Wformat=1.
5488 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5489 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5490 LangEnabledBy.
5491 (Wformat=): RejectNegative. Use LangEnabledBy.
5492 (Wnonnull): Use LangEnabledBy.
5493 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5494 * c-format.c (set_Wformat): Delete.
5495 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
5496 (maybe_read_dollar_number): Likewise.
5497 (avoid_dollar_number): Likewise.
5498 (finish_dollar_format_checking): Likewise.
5499 (check_format_info): Likewise.
5500 (check_format_info_main): Likewise.
5501 (check_format_types): Likewise.
5502 (format_type_warning): Likewise.
5503 * c-common.c (int): Likewise.
5504 (check_function_sentinel): Likewise.
5505 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 5506
34a180a6
MLI
55072012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5508
5509 PR c/53063
5510 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5511 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5512 Use LangEnabledBy.
5513 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5514 common.opt.
5515 (Wvariadic-macros): Init(1).
5516 * c-opts.c (c_common_handle_option): Do not handle them
5517 explicitly.
5518 (c_common_post_options): Likewise.
5519 (sanitize_cpp_opts): warn_unused_macros is now
5520 cpp_warn_unused_macros.
5521 (push_command_line_include): Likewise.
5522 * c-common.c (warn_unknown_pragmas): Do not define.
5523 * c-common.h (warn_unknown_pragmas): Do not declare.
5524
3f46d6a5
MLI
55252012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5526
5527 PR c/51294
5528 * c-common.c (conversion_warning): Handle conditional expressions.
5529
880661a4
JW
55302012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5531
5532 PR c++/54930
5533 * c.opt (Wreturn_local_addr): Define new option.
5534
4514a96b
JM
55352012-10-25 Jason Merrill <jason@redhat.com>
5536
f14edc1a
JM
5537 * c.opt (Wvirtual-move-assign): New.
5538
4514a96b
JM
5539 * c.opt (Winherited-variadic-ctor): New.
5540
93100c6b
MG
55412012-10-25 Marc Glisse <marc.glisse@inria.fr>
5542
5543 PR c++/54427
5544 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5545
1efcb8c6
JM
55462012-10-23 Joseph Myers <joseph@codesourcery.com>
5547
5548 * c-common.h (pch_cpp_save_state): Declare.
5549 * c-target.def (c_preinclude): New hook.
5550 * c-opts.c (done_preinclude): New.
5551 (push_command_line_include): Handle default preincluded header.
5552 (cb_file_change): Call pch_cpp_save_state when calling
5553 push_command_line_include.
5554 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5555 (pch_cpp_save_state): New.
5556 (pch_init): Call pch_cpp_save_state conditionally, instead of
5557 calling cpp_save_state.
5558
4a0ae68e
MLI
55592012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5560
5561 PR c/53063
5562 PR c/40989
5563 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5564 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5565 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5566 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5567 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5568 * c-opts.c (c_common_handle_option): Remove explicit handling from
5569 here.
5570 (c_common_post_options): Likewise.
5571
67e4210b
EB
55722012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5573
5574 * c-ada-spec.c (LOCATION_COL): Delete.
5575 (compare_location): New function.
5576 (compare_node): Use it.
5577 (compare_comment): Likewise.
5578
65d4f2cd
MLI
55792012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5580
5581 PR c/53063
5582 PR c/40989
5583 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5584 * c-opts.c (c_common_handle_option): Do not set them here. Add
5585 comment.
5586 (c_common_post_options): Likewise.
5587
909881cb
EB
55882012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5589
5590 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5591 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5592 Remove POINTER_TYPE handling, add large unsigned handling and use
5593 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5594
3a785c97
JJ
55952012-10-12 Jakub Jelinek <jakub@redhat.com>
5596
5597 PR c/54381
5598 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5599 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5600 locs and array of 3 trees instead of just single loc and single
5601 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5602 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5603 For *cmp* builtins that take two sources strings report warnings
5604 about first and second source, not about destination and source.
5605
5e54f81d
MG
56062012-10-12 Marc Glisse <marc.glisse@inria.fr>
5607
5608 PR c++/53055
5609 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5610
f5b02f1e
EB
56112012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5612
5613 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5614 declaring something coming from another file.
5615
b46dbc6c
AC
56162012-10-10 Arnaud Charlet <charlet@adacore.com>
5617
f5b02f1e 5618 PR ada/54845
b46dbc6c
AC
5619 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5620
5d9de0d0
PC
56212012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5622
5623 PR c++/54194
5624 * c-common.c (warn_about_parentheses): Add location_t parameter;
5625 use EXPR_LOC_OR_LOC.
5626 * c-common.h: Update declaration.
5627
a212e43f
MG
56282012-10-09 Marc Glisse <marc.glisse@inria.fr>
5629
5630 PR c++/54427
5631 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5632 more operations. Make error messages optional.
5633 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5634 (scalar_to_vector): Declare.
5635
b1db7f91
JM
56362012-10-08 Jason Merrill <jason@redhat.com>
5637
5638 * c-common.c (c_common_reswords): Add thread_local.
5639
e28d52cf
DS
56402012-10-08 Dodji Seketeli <dodji@redhat.com>
5641
5642 PR c++/53528 C++11 attribute support
5643 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5644 new functions.
5645 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5646 static function.
5647 (handle_aligned_attribute): In choose strictest alignment
5648 among many. Use new check_cxx_fundamental_alignment_constraints.
5649 (handle_transparent_union_attribute): In c++11 attribute syntax,
5650 don't look through typedefs.
5651
3b78de56
AC
56522012-10-04 Arnaud Charlet <charlet@adacore.com>
5653
5654 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5655 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5656 out of dumpfile.h.
5657
6040bb5f
DC
56582012-09-25 Dehao Chen <dehao@google.com>
5659
5660 PR middle-end/54645
3b78de56 5661 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
5662 map when read in the pch.
5663
3f8257db 56642012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
5665
5666 * c-ada-spec.c: Style fixes.
5667
3f8257db 56682012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
5669
5670 * c.opt (-fada-spec-parent): Define new command line switch.
5671 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5672 is specified, generate binding spec as a child of the specified unit.
5673
0ccb505d
PC
56742012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5675 Manuel López-Ibáñez <manu@gcc.gnu.org>
5676
5677 PR c++/53210
5678 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5679
c583af79
AC
56802012-08-23 Arnaud Charlet <charlet@adacore.com>
5681
5682 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5683 for pointers, and add missing Convention C pragma.
5684 (print_ada_struct_decl): Add missing aliased keyword.
5685 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5686
1a4049e7
JJ
56872012-08-17 Jakub Jelinek <jakub@redhat.com>
5688
5689 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5690 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5691 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5692 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5693 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5694
70b5e7dc
RG
56952012-08-10 Richard Guenther <rguenther@suse.de>
5696
5697 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5698
f8923f7e
SB
56992012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5700
5701 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5702 instead of separate pp_newline and pp_flush.
5703 (print_c_tree): Likewise.
5704
e45abe1f
RH
57052012-07-26 Richard Henderson <rth@redhat.com>
5706
5707 * c-common.c (handle_hot_attribute): Allow labels.
5708 (handle_cold_attribute): Likewise.
5709
332f1d24
JJ
57102012-07-20 Jakub Jelinek <jakub@redhat.com>
5711
5712 PR c++/28656
5713 * c-common.c (check_function_nonnull): Handle multiple nonnull
5714 attributes properly.
5715
7ee2468b
SB
57162012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5717
5718 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5719 * c-ada-spec.c: Likewise.
5720 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5721
ee7b28eb
SB
57222012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5723
5724 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5725 Remove code conditional on it.
5726
6bdf3519
SB
57272012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5728
5729 * c-gimplify.c: Do not include basic-block.h.
5730 * c-common.c: Do not include linfuncs.h.
5731
532aafad
SB
57322012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5733
5734 * c-common.h: Include tree.h.
5735
8d0d1915
JM
57362012-07-02 Jason Merrill <jason@redhat.com>
5737
5738 PR c++/53524
5739 * c-common.c (get_priority): Call default_conversion.
5740
fbc873ad
UB
57412012-07-01 Uros Bizjak <ubizjak@gmail.com>
5742
5743 * c-pch.c (c_common_write_pch): Remove unused variables.
5744
d4a10d0a
SB
57452012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5746
5747 * cppspec.c: Moved from gcc/ to here.
5748
6f3a2e23
KT
57492012-06-27 Kai Tietz <ktietz@redhat.com>
5750
5751 PR preprocessor/37215
5752 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5753
8ca92d04
SB
57542012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5755
5756 * c-common.h (c_common_print_pch_checksum): Remove.
5757 * c-pch.c: Do not include output.h.
5758 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5759 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5760 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5761 (struct c_pch_header): Remove.
5762 (get_ident): Update gpch version.
5763 (pch_init): Do not print executable_checksum to asm_out_file.
5764 Do not fail if there is no asm_out_file to read back from. Set
5765 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5766 (c_common_write_pch): Verify that nothing was written to asm_out_file
5767 since pch_init was called. Do not write a c_pch_header, and do not
5768 copy from asm_out_file to the PCH.
5769 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5770 the content of asm_out_file from the PCH.
5771 (c_common_print_pch_checksum): Remove.
5772 * c-opts.c (c_common_init): Print out executable_checksum directly.
5773
70f42967
SB
57742012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5775
5776 * c-target.def (objc_declare_unresolved_class_reference,
5777 objc_declare_class_definition): Add new hooks.
5778
a8781821
SB
57792012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5780
5781 * c-lex.c: Do not include output.h.
5782 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5783 Remove uses of ASM_OUTPUT_IDENT.
5784
9e1a8dd1
RR
57852012-06-15 Marc Glisse <marc.glisse@inria.fr>
5786
5787 PR c++/51033
5788 * c-common.h (c_build_vec_perm_expr): Move decl here.
5789 * c-common.c (c_build_vec_perm_expr): Move definition
5790 here.
5791
6f07a821
SB
57922012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5793
5794 * c.opt (fconserve-space): Turn into a no-op.
5795
9faeb493 57962012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
5797
5798 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5799 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5800 both the start and end of the function.
5801
a4b7d13c
SB
58022012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5803
5804 * c-common.c: Do not include output.h.
5805 * c-pragma.c: Likewise.
5806
c265f413
SA
58072012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5808
5809 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5810 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5811 (lang_decl_name): Handle namespace decls.
5812
be7a421e
SB
58132012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5814
5815 * c-ada-spec.c: Do not include output.h.
5816 * c-semantics.c: Likewise.
5817
65de6659
JM
58182012-05-29 Joseph Myers <joseph@codesourcery.com>
5819
5820 * c-common.c: Fix typo.
5821
ca5f4331
MM
58222012-05-29 Michael Matz <matz@suse.de>
5823
5824 * c-common.h (c_expand_decl): Remove prototype.
5825
4f7f7aca
MLI
58262012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5827
5828 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5829 * c-opts.c (c_common_handle_option): Remove code handling
5830 warn_missing_braces.
5831
4a792f9b
PC
58322012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5833
5834 PR c++/25137
5835 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5836 -Wmissing_braces.
5837
650dc14a
DS
58382012-05-22 Dodji Seketeli <dodji@redhat.com>
5839
5840 PR c++/53322
5841 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5842
9b095bf1
MLI
58432012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5844
5845 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5846 * c-opts.c (c_common_handle_option): Do not handle explicitly
5847 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5848
0b2c4be5
DS
58492012-05-16 Dodji Seketeli <dodji@redhat.com>
5850
5851 PR preprocessor/7263
5852 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5853 to cpp_classify_number. For diagnostics, use the precise location
5854 instead of the global input_location.
5855
a1bde5af
PC
58562012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5857
d02924ef 5858 PR c++/11856
a1bde5af
PC
5859 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5860
d1ede5f4
BS
58612012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5862
a1bde5af 5863 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 5864
f2bc201f
MLI
58652012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5866
5867 PR 53063
5868 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5869 Wreorder): Use LangEnabledBy.
5870 * c-opts.c (c_common_handle_option): Do not enable them
5871 explicitly. Call lang-specific generated functions.
5872 (c_common_post_options): Do not set them here.
5873
95744782
MLI
58742012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5875
5876 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5877 Wmissing-field-initializers,Wmissing-parameter-type,
5878 Wold-style-declaration,Woverride-init): Use EnabledBy.
5879 * c-opts.c (c_common_post_options): Do not set here explicitly.
5880
7d5a5747
MLI
58812012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5882
5883 PR 53063
5884 * c-opts.c (c_common_handle_option): Use handle_generated_option
5885 to enable sub-options.
5886
5a3c9cf2
PC
58872012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5888
5889 PR c++/53158
5890 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5891
3ac8781c
RG
58922012-05-10 Richard Guenther <rguenther@suse.de>
5893
5894 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5895 adjust commentary about TYPE_IS_SIZETYPE types.
5896
1e537948
MLI
58972012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5898
5899 PR c++/53261
5900 * c-common.c (warn_logical_operator): Check that argument of
5901 integer_zerop is not NULL.
5902
f2c4a785
MLI
59032012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5904
5905 PR c/43772
5906 * c-common.c (warn_logical_operator): Do not warn if either side
5907 is already true or false.
5908
50f305ca
MLI
59092012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5910
5911 PR c/51712
5912 * c-common.c (expr_original_type): New.
5913 (shorten_compare): Do not warn for enumeration types.
5914
0c3641b0
MLI
59152012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5916
5917 * c.opt (fpermissive): Add Var(flag_permissive).
5918
7edaa4d2
MG
59192012-04-30 Marc Glisse <marc.glisse@inria.fr>
5920
5921 PR c++/51033
5922 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5923 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5924
b9c8da34
DS
59252012-04-30 Dodji Seketeli <dodji@redhat.com>
5926
5927 Add -Wvarargs option
5928 * c.opt (Wvarargs): Define new option.
5929
e6c69da0
MLI
59302012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5931
5932 * c-common.c (check_function_arguments): Replace
5933 Wmissing-format-attribute with Wsuggest-attribute=format.
5934
90137d8f
MLI
59352012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5936
5937 * c.opt (Wsuggest-attribute=format): New. Alias of
5938 Wmissing-format-attribute.
5939 * c-format.c (decode_format_type): Replace
5940 Wmissing-format-attribute with Wsuggest-attribute=format.
5941 (check_function_format): Likewise.
5942
9faeb493 59432012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
5944
5945 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5946 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5947 * c.opt: Add Wliteral-suffix.
5948
c1771a20
MLI
59492012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5950
5951 PR c/44774
5952 * c.opt (Wpedantic): New.
5953 (pedantic): Alias Wpedantic.
5954 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5955 (c_common_post_options): Likewise.
5956 (sanitize_cpp_opts): Likewise.
5957 * c-lex.c (interpret_float): Likewise.
5958 * c-format.c (check_format_types): Likewise.
5959 * c-common.c (pointer_int_sum): Likewise.
5960 (c_sizeof_or_alignof_type): Likewise.
5961 (c_add_case_label): Likewise.
5962 (c_do_switch_warnings): Likewise.
5963 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5964
04b391c1
JM
59652012-04-15 Jason Merrill <jason@redhat.com>
5966
5967 PR c++/52818
5968 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5969 (C_STD_NAME): Distinguish between C++98 and C++11.
5970
ac868f29
EB
59712012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5972
5973 PR target/52624
5974 * c-common.h (uint16_type_node): Rename into...
5975 (c_uint16_type_node): ...this.
5976 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5977 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5978
fd4116f4
MLI
59792012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5980
5981 * c-common.c (warn_if_unused_value): Move definition to here.
5982 * c-common.h (warn_if_unused_value): Move declaration to here.
5983
573ac65e
WB
59842012-03-23 William Bader <williambader@hotmail.com>
5985
5986 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5987
552b8185
JM
59882012-03-20 Jason Merrill <jason@redhat.com>
5989
5990 * c-common.h (enum cxx_dialect): Add cxx1y.
5991 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5992 test.
5993 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5994 * c-opts.c (c_common_post_options): Likewise.
5995 (set_std_cxx1y): New.
5996 (c_common_handle_option): Call it.
5997 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5998
04398fa8
PC
59992012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
6000
6001 PR c++/14710
6002 * c.opt ([Wuseless-cast]): Add.
6003
d2a12ae7
RG
60042012-03-16 Richard Guenther <rguenther@suse.de>
6005
6006 * c-pretty-print.c (pp_c_initializer_list): Adjust.
6007
a12bf402
MLI
60082012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
6009
6010 PR c++/44783
6011 * c.opt (ftemplate-backtrace-limit) Add.
6012
5c30094f
RO
60132012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6014
6015 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
6016 handling.
6017 * c-pragma.c (handle_pragma_extern_prefix): Remove.
6018 (init_pragma): Don't register extern_prefix.
6019
21fa2faf
RG
60202012-03-12 Richard Guenther <rguenther@suse.de>
6021
6022 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
6023 (builtin_type_for_size): Likewise.
6024
e3793c6f
JJ
60252012-02-13 Jakub Jelinek <jakub@redhat.com>
6026
6027 PR c++/52215
6028 * c-common.c (sync_resolve_params): Don't decide whether to convert
6029 or not based on TYPE_SIZE comparison, convert whenever arg_type
6030 is unsigned INTEGER_TYPE.
6031
93286335
PC
60322012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6033
6034 PR c/52118
6035 * c.opt ([Wunused-local-typedefs]): Fix description.
6036
7a421706
MS
60372012-01-24 Mike Stump <mikestump@comcast.net>
6038
6039 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6040 exactly.
6041
ba9b1f11
RG
60422012-01-18 Richard Guenther <rguenther@suse.de>
6043
6044 * c-opts.c (c_common_post_options): Reset LTO flags if
6045 we are about to generate a PCH.
6046
465406be
PC
60472012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6048
6049 PR c++/51777
6050 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6051 use pp_unsigned_wide_integer.
6052
aee15221
RG
60532012-01-10 Richard Guenther <rguenther@suse.de>
6054
6055 PR middle-end/51806
6056 * c-opts.c (c_common_handle_option): Move -Werror handling
6057 to language independent code.
6058
5720c0dc
RG
60592012-01-05 Richard Guenther <rguenther@suse.de>
6060
6061 PR middle-end/51764
6062 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6063 from common.opt.
6064
73ac190a
PC
60652011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6066
6067 PR c++/51316
6068 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6069 of array types with an unknown bound.
6070
48b0b196
JM
60712011-12-20 Joseph Myers <joseph@codesourcery.com>
6072
6073 * c-common.c (flag_isoc99): Update comment to refer to C11.
6074 (flag_isoc1x): Change to flag_isoc11.
6075 * c-common.h (flag_isoc99): Update comment to refer to C11.
6076 (flag_isoc1x): Change to flag_isoc11.
6077 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6078 C11.
6079 * c-opts.c (set_std_c1x): Change to set_std_c11.
6080 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6081 Call set_std_c11.
6082 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6083 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6084 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6085 standard.
6086 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6087 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6088 (std=gnu1x): Make alias of std=gnu11.
6089
d58d6eb5
JM
60902011-12-19 Jason Merrill <jason@redhat.com>
6091
6092 PR c++/51228
6093 * c-common.c (handle_transparent_union_attribute): Check the first
6094 field if the type is complete.
6095
b3908fcc
JW
60962011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6097
6098 PR libstdc++/51365
6099 * c-common.c (RID_IS_FINAL): Add.
6100 * c-common.h (RID_IS_FINAL): Add.
6101
fea3ca91
IS
61022011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6103
6104 * c.opt (fgnu-runtime): Provide full description.
6105 (fnext-runtime): Likewise.
6106 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6107
62bad7cd
AM
61082011-11-28 Andrew MacLeod <amacleod@redhat.com>
6109
6110 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6111 predefines in one place. Add LOCK_FREE predefines.
6112 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6113 new func.
6114
c466c4ff
AM
61152011-11-24 Andrew MacLeod <amacleod@redhat.com>
6116
6117 PR c/51256
9faeb493 6118 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 6119 conditions
9faeb493
UB
6120 (resolve_overloaded_atomic_exchange,
6121 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
6122 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6123 error_mark_node for error conditions.
9faeb493 6124
a5952633
RG
61252011-11-08 Richard Guenther <rguenther@suse.de>
6126
6127 PR middle-end/51010
6128 c-family/
6129
0a35513e
AH
61302011-11-07 Richard Henderson <rth@redhat.com>
6131 Aldy Hernandez <aldyh@redhat.com>
6132 Torvald Riegel <triegel@redhat.com>
6133
6134 Merged from transactional-memory.
6135
6136 * c-common.c (handle_tm_wrap_attribute,
6137 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6138 (struct c_common_reswords): Added __transaction* keywords.
6139 (struct c_common_attribute_table): Added transaction* and tm_regparm
6140 attributes.
6141 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6142 masks.
6143 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6144 find_tm_attribute): Declare.
6145
6d87092d
JM
61462011-11-07 Jason Merrill <jason@redhat.com>
6147
6148 PR c++/35688
6149 * c-common.c, c-common.h: Revert yesterday's changes.
6150
8e7860a1
JM
61512011-11-06 Jason Merrill <jason@redhat.com>
6152
6153 PR c++/35688
6154 * c-common.c (decl_has_visibility_attr): Split out from...
6155 (c_determine_visibility): ...here.
6156 * c-common.h: Declare it.
6157
d19fa6b5
JM
61582011-11-06 Joseph Myers <joseph@codesourcery.com>
6159
6160 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6161 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6162 type.
6163 (check_user_alignment): New. Split out of
6164 handle_aligned_attribute. Disallow integer constants with
6165 noninteger types. Conditionally allow zero.
6166 (handle_aligned_attribute): Use check_user_alignment.
6167 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6168
86951993
AM
61692011-11-06 Andrew MacLeod <amacleod@redhat.com>
6170 Richard Henderson <rth@redhat.com>
6171
6172 Merged from cxx-mem-model.
6173
6174 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 6175 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
6176 parameters that are the same type size.
6177 (get_atomic_generic_size): New. Find size of generic
6178 atomic function parameters and do typechecking.
6179 (add_atomic_size_parameter): New. Insert size into parameter list.
6180 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6181 either __atomic_exchange_n or external library call.
9faeb493 6182 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 6183 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 6184 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
6185 __atomic_load_n or an external library call.
6186 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6187 __atomic_store_n or an external library call.
6188 (resolve_overloaded_builtin): Handle new __atomic builtins.
6189
cf9e9959
EB
61902011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6191
6192 PR c++/50608
6193 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6194 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6195 <INDIRECT_REF>: Return the argument.
6196 <ARRAY_REF>: Remove special code for negative offset.
6197 Call fold_build_pointer_plus instead of size_binop.
6198 (fold_offsetof): Remove STOP_REF argument and adjust.
6199 * c-common.h (fold_offsetof_1): Declare.
6200 (fold_offsetof): Remove STOP_REF argument.
6201
25339f10
JM
62022011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6203
6204 PR c++/50810
6205 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6206 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6207 Wnarrowing for C++0x and C++98.
6208 * c.opt ([Wnarrowing]): Update.
6209
89401152
PC
62102011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6211
6212 PR c++/44277
6213 * c.opt: Add Wzero-as-null-pointer-constant.
6214
97e3ad20
JM
62152011-10-31 Jason Merrill <jason@redhat.com>
6216
15694fdd
JM
6217 * c.opt (-fdeduce-init-list): Off by default.
6218
97e3ad20
JM
6219 PR c++/50920
6220 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6221 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6222 and -Wc++11-compat.
6223 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6224
fb9120e3
RAV
62252011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6226
6227 PR c++/30066
6228 * c.opt (fvisibility-inlines-hidden): Description change.
6229
3ce4f9e4
ESR
62302011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6231
6232 Implement C++11 user-defined literals.
6233 * c-common.c (build_userdef_literal): New.
6234 * c-common.def: New tree code.
6235 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6236 * c-lex.c (interpret_float): Add suffix parm.
6237 (c_lex_with_flags): Build literal tokens.
6238
5f53c243
PC
62392011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6240
6241 PR c++/50841
6242 Revert:
6243 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6244
6245 PR c++/50810
6246 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6247 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6248 Wnarrowing for C++0x and C++98.
6249 * c.opt ([Wnarrowing]): Update.
6250
263734e1
PC
62512011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6252
6253 PR c++/50810
6254 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6255 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6256 Wnarrowing for C++0x and C++98.
6257 * c.opt ([Wnarrowing]): Update.
6258
d2e312d7
PC
62592011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6260
6261 PR c++/45385
6262 * c-common.c (conversion_warning): Remove code looking for
6263 artificial operands.
6264
d17687f6
DS
62652011-10-18 Dodji Seketeli <dodji@redhat.com>
6266
6267 PR bootstrap/50760
6268 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 6269 !NO_IMPLICIT_EXTERN_C.
d17687f6 6270
fc8396e9
PC
62712011-10-17 Michael Spertus <mike_spertus@symantec.com>
6272
6273 * c-common.c (c_common_reswords): Add __bases,
6274 __direct_bases.
6275 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6276
62772011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6278
6279 PR c++/50757
6280 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6281
847e697a
TT
62822011-10-15 Tom Tromey <tromey@redhat.com>
6283 Dodji Seketeli <dodji@redhat.com>
6284
6285 * c.opt (fdebug-cpp): New option.
6286 * c-opts.c (c_common_handle_option): Handle the option.
6287 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6288 output stream in parameter. Factorized from ...
6289 (maybe_print_line): ... this. Dump location debug information when
6290 -fdebug-cpp is in effect.
6291 (print_line_1): New static function. Takes an output stream in
6292 parameter. Factorized from ...
6293 (print_line): ... here. Dump location information when -fdebug-cpp
6294 is in effect.
6295 (scan_translation_unit): Dump location information when
6296 -fdebug-cpp is in effect.
6297
92582b75
TT
62982011-10-15 Tom Tromey <tromey@redhat.com>
6299 Dodji Seketeli <dodji@redhat.com>
6300
6301 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6302 without argument.
6303 * c-opts.c (c_common_handle_option)<case
6304 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6305 cases. Handle -ftrack-macro-expansion with and without argument.
6306
46427374
TT
63072011-10-15 Tom Tromey <tromey@redhat.com>
6308 Dodji Seketeli <dodji@redhat.com>
6309
6310 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6311 (print_line, cb_define, do_line_change): Adjust to avoid touching
6312 the internals of struct line_map. Use the public API instead.
6313 * c-pch.c (c_common_read_pch): Likewise.
6314 * c-lex.c (fe_file_change): Likewise.
6315
fc8396e9
PC
63162011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6317
6318 PR c++/17212
6319 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6320
63212011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6322
6323 PR c++/33067
6324 * c-pretty-print.c (pp_c_floating_constant): Output
6325 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6326
e79983f4
MM
63272011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6328
6329 * c-common.c (def_builtin_1): Delete old interface with two
6330 parallel arrays to hold standard builtin declarations, and replace
6331 it with a function based interface that can support creating
6332 builtins on the fly in the future. Change all uses, and poison
6333 the old names. Make sure 0 is not a legitimate builtin index.
6334 * c-omp.c (c_finish_omp_barrier): Ditto.
6335 (c_finish_omp_taskwait): Ditto.
6336 (c_finish_omp_flush): Ditto.
6337
6637388f
TG
63382011-10-11 Tristan Gingold <gingold@adacore.com>
6339
6340 * c.opt: (fallow-parameterless-variadic-functions): New.
6341
3797cb21
DS
63422011-09-08 Dodji Seketeli <dodji@redhat.com>
6343
6344 PR c++/33255 - Support -Wunused-local-typedefs warning
6345 * c-common.h (struct c_language_function::local_typedefs): New
6346 field.
9faeb493
UB
6347 (record_locally_defined_typedef, maybe_record_typedef_use)
6348 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 6349 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
6350 (maybe_record_typedef_use)
6351 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
6352 * c.opt: Declare new -Wunused-local-typedefs flag.
6353
693ddb1b
EB
63542011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6355
6356 PR middle-end/50266
6357 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6358 computations.
6359
830c740f
RG
63602011-09-05 Richard Guenther <rguenther@suse.de>
6361
6362 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6363 of integer_minus_one_node for empty array upper bounds.
6364
892a371f
DS
63652011-08-28 Dodji Seketeli <dodji@redhat.com>
6366
6367 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6368 it's the first time it's being called on this main TU.
6369
0e3fdb48
RB
63702011-08-24 Richard Guenther <rguenther@suse.de>
6371
6372 PR c/49396
6373 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6374
63752011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
6376
6377 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6378 defined in cpp_init_builtins and c_cpp_builtins.
6379
d4a83c10
JM
63802011-08-19 Joseph Myers <joseph@codesourcery.com>
6381
6382 * c-common.c (c_common_reswords): Add __builtin_complex.
6383 * c-common.h (RID_BUILTIN_COMPLEX): New.
6384
bbceee64
JM
63852011-08-18 Joseph Myers <joseph@codesourcery.com>
6386
6387 * c-common.c (c_common_reswords): Add _Noreturn.
6388 (keyword_is_function_specifier): Handle RID_NORETURN.
6389 * c-common.h (RID_NORETURN): New.
6390
3f8257db 63912011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
6392
6393 * c-common.c (unsafe_conversion_p): New function. Check if it is
6394 unsafe to convert an expression to the type.
6395 (conversion_warning): Adjust, use unsafe_conversion_p.
6396 * c-common.h (unsafe_conversion_p): New function declaration.
6397
20906c66
JJ
63982011-08-02 Jakub Jelinek <jakub@redhat.com>
6399
6400 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6401 (c_finish_omp_taskyield): New prototype.
6402 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6403 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6404 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6405 or RHS1 have side-effects, evaluate those too in the right spot,
6406 if it is a decl and LHS is also a decl, error out if they
6407 aren't the same.
6408 (c_finish_omp_taskyield): New function.
6409 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6410 * c-pragma.c (omp_pragmas): Add taskyield.
6411 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6412 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6413 PRAGMA_OMP_CLAUSE_MERGEABLE.
6414
770e5a2e
DS
64152011-07-25 Dodji Seketeli <dodji@redhat.com>
6416
6417 * c-common.h (set_underlying_type): Remove parm name from
6418 declaration.
6419
1baae426
RG
64202011-07-25 Romain Geissler <romain.geissler@gmail.com>
6421
6422 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 6423
fcb21722
JM
64242011-07-22 Jason Merrill <jason@redhat.com>
6425
76f86d00
JM
6426 PR c++/49793
6427 * c.opt (Wnarrowing): New.
6428
3a636414
JM
6429 PR c++/30112
6430 * c-common.h: Declare c_linkage_bindings.
6431 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6432
fcb21722
JM
6433 PR c++/49813
6434 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6435 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6436 as flag_isoc99 for 'restrict'.
6437 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6438
02614448
ILT
64392011-07-21 Ian Lance Taylor <iant@google.com>
6440
6441 PR middle-end/49705
6442 * c-common.c (c_disable_warnings): New static function.
6443 (c_enable_warnings): New static function.
6444 (c_fully_fold_internal): Change local unused_p to bool. Call
6445 c_disable_warnings and c_enable_warnings rather than change
6446 c_inhibit_evaluation_warnings.
6447
34429675
JM
64482011-07-20 Jason Merrill <jason@redhat.com>
6449
6450 PR c++/6709 (DR 743)
6451 PR c++/42603 (DR 950)
6452 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6453 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6454 (CPP_DECLTYPE): New.
6455 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6456
5d49b6a7
RG
64572011-07-19 Richard Guenther <rguenther@suse.de>
6458
6459 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6460 * c-omp.c (c_finish_omp_for): Likewise.
6461
e84a58ff
EB
64622011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6463
6464 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6465 body on the next line.
6466
329af3c7
JM
64672011-07-08 Jason Merrill <jason@redhat.com>
6468
4063e61b
JM
6469 PR c++/45437
6470 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6471
329af3c7
JM
6472 PR c++/49673
6473 * c-common.c (c_apply_type_quals_to_decl): Don't check
6474 TYPE_NEEDS_CONSTRUCTING.
6475
1a072294
RG
64762011-07-06 Richard Guenther <rguenther@suse.de>
6477
6478 * c-common.c (c_common_nodes_and_builtins):
6479 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6480
fce5dddd
RG
64812011-07-05 Richard Guenther <rguenther@suse.de>
6482
6483 * c-common.c (c_common_nodes_and_builtins): Build all common
6484 tree nodes first.
6485
45d439ac
JJ
64862011-06-27 Jakub Jelinek <jakub@redhat.com>
6487
56300785
JJ
6488 * c-common.h (c_tree_chain_next): New static inline function.
6489
45d439ac
JJ
6490 * c-common.c (check_builtin_function_arguments): Handle
6491 BUILT_IN_ASSUME_ALIGNED.
6492
e0a8ecf2
AM
64932011-06-21 Andrew MacLeod <amacleod@redhat.com>
6494
6495 * c-common.c: Add sync_ or SYNC__ to builtin names.
6496 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
6497
64982011-06-20 Pierre Vittet <piervit@pvittet.com>
6499
6500 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6501 handler.
6502 (gen_pragma_handler): New union.
6503 (internal_pragma_handler): New type.
6504 (c_register_pragma_with_data)
6505 (c_register_pragma_with_expansion_and_data): New functions.
6506
6507 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6508 (c_register_pragma, c_register_pragma_with_expansion)
6509 (c_invoke_pragma_handler): Changed to work with
6510 internal_pragma_handler.
6511 (c_register_pragma_with_data)
6512 (c_register_pragma_with_expansion_and_data): New functions.
6513
677f3fa8
JM
65142011-06-14 Joseph Myers <joseph@codesourcery.com>
6515
6516 * c-common.c: Include common/common-target.h.
6517 (handle_section_attribute): Use
6518 targetm_common.have_named_sections.
6519 * c-cppbuiltin.c: Include common/common-target.h.
6520 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6521
d7fc8c14
RG
65222011-06-10 Richard Guenther <rguenther@suse.de>
6523
6524 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6525 to print a IDENTIFIER_NODE.
6526
10e48e39
RO
65272011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6528 Joseph Myers <joseph@codesourcery.com>
6529
6530 * c.opt (fbuilding-libgcc): New option.
6531 * c-cppbuiltin.c (c_cpp_builtins): Define
6532 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6533
6976ae51
JM
65342011-06-07 Jason Merrill <jason@redhat.com>
6535
3ff60975
JM
6536 * c-common.c (max_tinst_depth): Lower default to 900.
6537
6976ae51
JM
6538 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6539
009db074
RG
65402011-06-07 Richard Guenther <rguenther@suse.de>
6541
6542 * c-common.c (c_common_nodes_and_builtins): Do not set
6543 size_type_node or call set_sizetype.
6544
b4592b92
DS
65452011-06-07 Dodji Seketeli <dodji@redhat.com>
6546
6547 PR debug/49130
6548 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 6549 type when using pointer comparison to compare types.
b4592b92 6550
014ab419
JW
65512011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6552
6553 * c.opt: Add -Wdelete-non-virtual-dtor.
6554 * c-opts.c (c_common_handle_option): Include it in -Wall.
6555
4f60111f
NF
65562011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6557
6558 PR bootstrap/49190
6559
6560 Revert:
6561 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6562
6563 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6564 not tree_common.
6565
4cc4f2f4
JJ
65662011-05-27 Jakub Jelinek <jakub@redhat.com>
6567
6568 PR c++/49165
6569 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6570 C++ don't call c_common_truthvalue_conversion on void type arms.
6571
38e01f9e
NF
65722011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6573
6574 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6575 (stmt_list_stack): Define.
6576 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6577 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6578
92e948a8
NF
65792011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6580
6581 * c-common.c (warning_candidate_p): Check for BLOCKs.
6582
a2fc3e63
NF
65832011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6584
6585 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6586 not tree_common.
6587
0957c029
JJ
65882011-05-25 Jakub Jelinek <jakub@redhat.com>
6589
6590 * c-common.c (def_fn_type): Remove extra va_end.
6591
828fb3ba
JM
65922011-05-23 Jason Merrill <jason@redhat.com>
6593
6594 PR c++/48106
6595 * c-common.c (c_common_get_narrower): New.
6596 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6597
dde05067
NF
65982011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6599
6600 * c-common.h (check_function_arguments): Tweak prototype of
6601 check_function_arguments.
6602 * c-common.c (check_function_arguments): Likewise. Adjust
6603 calls to check_function_nonnull, check_function_format, and
6604 check_function_sentinel.
6605 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6606 separate attributes and typelist arguments. Use
6607 FOREACH_FUNCTION_ARGS to iterate over argument types.
6608
3c0d13bf
PC
66092011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6610
6611 * c-common.c (c_common_reswords): Reorder.
6612 * c-common.h (rid): Likewise.
6613
8242dd04
NF
66142011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6615
6616 * c-common.c (def_fn_type): Don't call build_function_type, call
6617 build_function_type_array or build_varargs_function_type_array
6618 instead.
6619 (c_common_nodes_and_builtins): Likewise.
6620
3d528853
NF
66212011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6622
6623 * c-common.c (c_add_case_label): Omit the loc argument to
6624 build_case_label.
6625 * c-common.h (build_case_label): Remove.
6626 * c-semantics.c (build_case_label): Remove.
6627
a04a722b
JM
66282011-05-05 Joseph Myers <joseph@codesourcery.com>
6629
6630 * c-objc.h (objc_start_method_definition): Update prototype.
6631 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6632
e19a18d4
NF
66332011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6634
6635 * c-common.c (check_main_parameter_types): Reindent. Don't use
6636 TYPE_ARG_TYPES directly.
6637 (handle_nonnull_attribute): Likewise.
6638 (sync_resolve_params): Likewise.
6639 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6640 to check_format_string.
6641 (handle_format_attribute): Likewise.
6642 (check_format_string): Take a function type to examine instead of
6643 a type list. Use a function_arg_iterator to step through argument
6644 types.
6645
c62c040f
RG
66462011-05-04 Richard Guenther <rguenther@suse.de>
6647
6648 * c-common.c (fix_string_type): Use size_int for index type bounds.
6649 (start_fname_decls): Do not pass NULL to build_int_cst.
6650 (c_init_attributes): Likewise.
6651 * c-lex.c (c_lex_with_flags): Likewise.
6652
c12ff9d8
JM
66532011-04-27 Jason Merrill <jason@redhat.com>
6654
6655 * c-common.c (make_tree_vector_from_list): New.
6656 * c-common.h: Declare it.
6657
304dfbe3
RG
66582011-04-26 Richard Guenther <rguenther@suse.de>
6659
6660 PR preprocessor/48248
6661 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6662 for output size with -P.
6663
3c0d13bf
PC
66642011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6665
6666 * c-common.c (struct c_common_resword): Add __underlying_type.
6667 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6668
04695783
JM
66692011-04-20 Jim Meyering <meyering@redhat.com>
6670
6671 * c-format.c (init_dollar_format_checking): Remove useless
6672 if-before-free.
6673
0dc33c3c
NP
66742011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6675
6676 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 6677 (objc_detect_field_duplicates): New.
0dc33c3c 6678 * stub-objc.c: Likewise.
3c0d13bf 6679
c59633d9
NP
66802011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6681
6682 * stub-objc.c (objc_declare_protocols): Renamed to
6683 objc_declare_protocol.
6684 * c-objc.h: Likewise.
3c0d13bf 6685
32dabdaf
NP
66862011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6687
6688 * stub-objc.c (objc_declare_class): Updated argument name.
6689
81f653d6
NF
66902011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6691
6692 * c-common.h (c_common_init_ts): Declare.
6693 * c-common.c (c_common_init_ts): Define.
6694
eb345401
NP
66952011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6696
6697 * c-objc.h (objc_build_message_expr): Updated prototype.
6698 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 6699
a358e188
MJ
67002011-04-12 Martin Jambor <mjambor@suse.cz>
6701
6702 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6703 of cgraph_node.
6704
e6313a78
RG
67052011-04-11 Richard Guenther <rguenther@suse.de>
6706
6707 * c-common.c (complete_array_type): Build a range type of
6708 proper type.
6709
dcf0c47e
NF
67102011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6711
6712 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6713 (handle_type_generic_attribute): Likewise.
6714
1ee44b26
JM
67152011-04-07 Jason Merrill <jason@redhat.com>
6716
6717 PR c++/48450
6718 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6719 conversion from C++0x scoped enum.
6720
acce4e77
JM
67212011-04-06 Joseph Myers <joseph@codesourcery.com>
6722
6723 * c-target-def.h: New file.
6724 * c-target.def: New file.
6725 * c-target.h: New file.
6726 * c-common.c (targetcm): Don't define here.
6727 * c-common.h (default_handle_c_option): Declare.
6728 * c-format.c: Include c-target.h instead of target.h.
6729 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6730 include tm.h.
6731 (default_handle_c_option): Move from targhooks.c.
6732
e2eefb55
JJ
67332011-03-29 Jakub Jelinek <jakub@redhat.com>
6734
6735 PR preprocessor/48248
6736 * c-ppoutput.c (print): Add src_file field.
6737 (init_pp_output): Initialize it.
6738 (maybe_print_line): Don't optimize by adding up to 8 newlines
6739 if map->to_file and print.src_file are different file.
6740 (print_line): Update print.src_file.
6741
ba78087b
KT
67422011-03-25 Kai Tietz <ktietz@redhat.com>
6743
6744 * c-ada-spec.c (compare_comment): Use filename_cmp
6745 instead of strcmp for filename.
6746
0edf1bb2
JL
67472011-03-25 Jeff Law <law@redhat.com>
6748
adfac8df 6749 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 6750
c7dc8804
JM
67512011-03-25 Jason Merrill <jason@redhat.com>
6752
6753 * c.opt: Add -std=c++03.
6754
d1d879b1
EB
67552011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6756
6757 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6758
3f8257db 67592011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
6760
6761 PR target/12171
5050afdf
KT
6762 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6763 Display allowed attributes for function pointer types.
6764 (pp_c_attributes_display): New function to display
6765 attributes having affects_type_identity flag set to true.
6766 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6767
62d784f7
KT
6768 * c-common.c (c_common_attribute_table):
6769 Add new element.
6770 (c_common_format_attribute_table): Likewise.
6771
82d37118
JM
67722011-03-18 Jason Merrill <jason@redhat.com>
6773
49a000c3
JM
6774 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6775 * c-common.h: Don't declare it here.
6776 * c-common.c: Or define it here.
6777 * c-opts.c (c_common_handle_option): Or set it here.
6778
82d37118
JM
6779 PR c++/35315
6780 * c-common.c (handle_transparent_union_attribute): Don't
6781 make a duplicate type in C++.
6782
17bc631c
JM
67832011-03-15 Jason Merrill <jason@redhat.com>
6784
6785 * c-common.c (max_constexpr_depth): New.
6786 * c-common.h: Declare it.
6787 * c-opts.c (c_common_handle_option): Set it.
6788 * c.opt (fconstexpr-depth): New option.
6789
1b9b91a6
JM
67902011-03-11 Jason Merrill <jason@redhat.com>
6791
f231b5ff
JM
6792 * c-common.c (attribute_takes_identifier_p): Add missing const.
6793
1b9b91a6
JM
6794 PR c++/46803
6795 * c-common.c (attribute_takes_identifier_p): Assume that an
6796 unknown attribute takes an identifier.
6797
a19e4d44
NF
67982011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6799
6800 PR c/47786
6801 * c-common.c (c_type_hash): Call list_length instead of iterating
6802 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6803
982d62f6
JJ
68042011-02-19 Jakub Jelinek <jakub@redhat.com>
6805
6806 PR c/47809
6807 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6808
0a256240
NP
68092011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6810
6811 * c.opt (fobjc-abi-version=) New.
6812 (fobjc-nilcheck): New.
6813
ba9e6dd5
NF
68142011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6815
6816 PR c++/46890
6817 * c-common.h (keyword_is_decl_specifier): Declare.
6818 * c-common.c (keyword_is_decl_specifier): Define.
6819 (keyword_is_function_specifier): New function.
6820
7273813a
JJ
68212011-01-26 Jakub Jelinek <jakub@redhat.com>
6822
6823 PR c/47473
6824 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6825 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6826 REAL_TYPE.
6827
908ef79b
AC
68282011-01-26 Arnaud Charlet <charlet@adacore.com>
6829
6830 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6831
237e9384
JJ
68322011-01-26 Jakub Jelinek <jakub@redhat.com>
6833
6834 PR pch/47430
6835 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6836 after init_c_lex if pch_file is set.
6837
47ea1edf
DK
68382011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6839
d4dba752 6840 PR c++/43601
47ea1edf
DK
6841 * c.opt (-fkeep-inline-dllexport): New switch.
6842
2aa9c6ae
RG
68432011-01-12 Richard Guenther <rguenther@suse.de>
6844
6845 PR middle-end/32511
6846 * c-common.c (handle_weak_attribute): Warn instead of error
6847 on declaring an inline function weak.
6848
7bd11157
TT
68492011-01-05 Tom Tromey <tromey@redhat.com>
6850
6851 * c-common.h (lvalue_error): Update.
6852 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6853 not error.
6854
0e66e494 68552010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 6856
b4f588c4
NP
6857 PR objc/47075
6858 * c-objc.h (objc_finish_message_expr): Added argument to
6859 prototype.
6860
f4da8dce
NF
68612010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6862
6863 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6864 Use prototype_p.
6865
46270f14
NP
68662010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6867
6868 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 6869 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 6870
4816c593
NF
68712010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6872
6873 * c-common.h (readonly_error): Declare.
6874 * c-common.c (readonly_error): Define.
6875
7a6daeb0
NF
68762010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6877
6878 * c-common.h (invalid_indirection_error): Declare.
6879 * c-common.c (invalid_indirection_error): Define.
6880
892f6119
RG
68812010-12-03 Richard Guenther <rguenther@suse.de>
6882
6883 PR c/46745
6884 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6885 (pp_c_unary_expression): Likewise.
6886 (pp_c_expression): Likewise.
6887
6c39e757
NP
68882010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6889
6890 * c-common.h (objc_finish_function): New.
6891 (objc_non_volatilized_type): Removed.
6892 (objc_type_quals_match): Removed.
6893 * stub-objc.c (objc_finish_function): New.
6894 (objc_non_volatilized_type): Removed.
6895 (objc_type_quals_match): Removed.
9faeb493 6896
7c475d11
JM
68972010-11-30 Joseph Myers <joseph@codesourcery.com>
6898
6899 * c-common.h (parse_optimize_options): Declare.
6900 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6901 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6902
71f3e391
JM
69032010-11-29 Joseph Myers <joseph@codesourcery.com>
6904
6905 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6906 GET_ENVIRONMENT.
6907 * c-pch.c (O_BINARY): Don't define here.
6908 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6909
d5fabb58
JM
69102010-11-25 Joseph Myers <joseph@codesourcery.com>
6911
6912 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6913 targetm.except_unwind_info.
6914
299404a1
JM
69152010-11-23 Joseph Myers <joseph@codesourcery.com>
6916
6917 * c-opts.c (c_common_handle_option): Pass location to
6918 set_struct_debug_option.
6919
c98cd5bf
JM
69202010-11-23 Joseph Myers <joseph@codesourcery.com>
6921
6922 * c-common.c (visibility_options): Move from ../opts.c.
6923 * c-common.h (struct visibility_flags, visibility_options):
6924 Declare here.
6925 * c-opts.c (finish_options): Rename to c_finish_options.
6926 (c_common_init): Update call to finish_options.
6927
a9546771
NP
69282010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6929
6930 PR objc/34033
6931 * c-lex.c (lex_string): Check that each string in an Objective-C
6932 string concat sequence starts with either one or zero '@', and
6933 that there are no spurious '@' signs at the end.
6934
24a57808
JM
69352010-11-20 Joseph Myers <joseph@codesourcery.com>
6936
6937 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6938 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6939 HANDLE_PRAGMA_VISIBILITY.
6940 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6941 HANDLE_PRAGMA_VISIBILITY): Don't define.
6942 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6943
a9aa2c3a
NF
69442010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6945
6946 PR c++/16189
6947 PR c++/36888
6948 PR c++/45331
6949 * c-common.h (keyword_begins_type_specifier): Declare.
6950 (keyword_is_storage_class_specifier): Declare.
6951 (keyword_is_type_qualifier): Declare.
6952 * c-common.c (keyword_begins_type_specifier): New function.
6953 (keyword_is_storage_class_specifier): New function.
6954 (keyword_is_type_qualifier): Declare.
6955
5386338c
JM
69562010-11-19 Joseph Myers <joseph@codesourcery.com>
6957
6958 PR c/46547
6959 * c-common.c (in_late_binary_op): Define.
6960 (c_common_truthvalue_conversion): Check in_late_binary_op before
6961 calling c_save_expr.
6962 * c-common.h (in_late_binary_op): Declare.
6963
69ccdddb
JM
69642010-11-19 Joseph Myers <joseph@codesourcery.com>
6965
6966 * c-opts.c (c_common_handle_option): Update calls to
6967 set_struct_debug_option.
6968
6b192a09
NP
69692010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6970
6971 * c-common.h (objc_declare_protocols): Added additional argument.
6972 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 6973
fb52b50a
NF
69742010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6975
6976 PR c/33193
6977 * c-common.h (build_real_imag_expr): Declare.
6978 * c-semantics.c (build_real_imag_expr): Define.
6979
b37421c6
JM
69802010-11-17 Joseph Myers <joseph@codesourcery.com>
6981
6982 * c-opts.c (c_common_parse_file): Take no arguments.
6983 * c-common.h (c_common_parse_file): Update prototype.
6984
07078664
JJ
69852010-11-16 Jakub Jelinek <jakub@redhat.com>
6986
6987 PR c++/46401
6988 * c-common.c (warning_candidate_p): Don't track non-const calls
6989 or STRING_CSTs.
6990
c6a13190
ILT
69912010-11-15 Ian Lance Taylor <iant@google.com>
6992
6993 * c-lex.c (init_c_lex): Set macro debug callbacks if
6994 flag_dump_go_spec is set.
6995
925e8657
NP
69962010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6997
6998 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6999 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
7000
bb0a9581
NF
70012010-11-15 Nathan Froyd <froydnj@codesourcery.com>
7002
7003 PR preprocessor/45038
7004 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
7005 dialects.
7006
c5fa0890
JM
70072010-11-12 Joseph Myers <joseph@codesourcery.com>
7008
7009 * c-common.h (c_family_lang_mask): Declare.
7010 * c-opts.c (c_family_lang_mask): Make extern.
7011 * c-pragma.c (handle_pragma_diagnostic): Use
7012 control_warning_option.
7013
a4d8c676
JM
70142010-11-12 Joseph Myers <joseph@codesourcery.com>
7015
7016 * c-common.c (parse_optimize_options): Update call to
7017 decode_options.
7018 * c-common.h (c_common_handle_option): Update prototype.
7019 * c-opts.c (c_common_handle_option): Take location_t parameter and
7020 pass it to other functions.
7021
f954bd2c
JM
70222010-11-11 Joseph Myers <joseph@codesourcery.com>
7023
7024 * c-opts.c (warning_as_error_callback): Remove.
7025 (c_common_initialize_diagnostics): Don't call
7026 register_warning_as_error_callback.
7027 (c_common_handle_option): Handle -Werror=normalized= here.
7028
d8a07487
JM
70292010-11-10 Joseph Myers <joseph@codesourcery.com>
7030
7031 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
7032 in diagnostic.
7033 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7034 letter.
7035 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7036 Remove trailing '.' from diagnostics.
7037 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7038
d5478783
JM
70392010-11-10 Joseph Myers <joseph@codesourcery.com>
7040
7041 * c-common.c (parse_optimize_options): Pass global_dc to
7042 decode_options.
7043 * c-opts.c (c_common_handle_option): Pass &global_options to
7044 set_Wstrict_aliasing.
7045 * c.opt (v): Don't mark Common or document here.
7046
91ebb981
IS
70472010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7048
7049 PR target/44981
7050 * c-format.c (format_type): New type gcc_objc_string_format_type.
7051 (valid_stringptr_type_p): New.
7052 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 7053 (check_format_string): Pass expected type, use
91ebb981
IS
7054 valid_stringptr_type_p (), check that the format string types are
7055 consistent with the format specification.
7056 (decode_format_attr): Warn if NSString is used outside objective-c.
7057 (format_types_orig): Add NSString.
7058 (format_name): New.
7059 (format_flags): New.
7060 (check_format_arg): Handle format strings requiring an external parser.
7061 first_target_format_type: New variable.
7062 (handle_format_attribute): Set up first_target_format_type, pass the
7063 expected format arg string type to check_format_string().
7064 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7065 * stub-objc.c (objc_string_ref_type_p): New.
7066 (objc_check_format_arg): New.
7067
bede2adc
NP
70682010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7069
9faeb493 7070 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
7071 * c-common.h (objc_build_class_component_ref): New.
7072 * stub-objc.c (objc_build_class_component_ref): New.
7073
9a179d01
NP
70742010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7075
7076 * c.opt (Wproperty-assign-default): New option.
7077
22d8d616
NP
70782010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7079
7080 Implemented -fobjc-std=objc1 flag.
7081 * c.opt (fobjc-std=objc1): New option.
7082
2debdb4f
NP
70832010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7084
7085 Implemented format and noreturn attributes for Objective-C methods.
7086 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7087 attribute for Objective-C methods.
7088
ec52b111
JM
70892010-10-31 Jason Merrill <jason@redhat.com>
7090
7091 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7092 EXPR_LOC_OR_HERE.
7093
46a88c12
NP
70942010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7095
7096 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7097 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7098 (objc_add_property_declaration): Removed arguments for copies and
7099 ivar.
7100 (objc_build_getter_call): Renamed to
7101 objc_maybe_build_component_ref.
7102 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7103 (objc_is_property_ref): New.
7104 * c-common.c (c_common_reswords): Removed copies and ivar.
7105 * stub-objc.c (objc_add_property_declaration): Removed arguments
7106 for copies and ivar.
7107 (objc_build_getter_call): Renamed to
7108 objc_maybe_build_component_ref.
7109 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7110 (objc_is_property_ref): New.
9faeb493 7111
1e4bf85b
AC
71122010-10-29 Arnaud Charlet <charlet@adacore.com>
7113 Matthew Gingell <gingell@adacore.com>
7114
7115 * c-ada-spec.c (separate_class_package): New function.
7116 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7117 name of their enclosing package.
7118 (print_ada_declaration): Use separate_class_package.
7119
81f0bab2
JM
71202010-10-27 Jason Merrill <jason@redhat.com>
7121
2b08f2c5
JM
7122 * c-common.c (c_common_reswords): Add __is_literal_type.
7123 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7124
81f0bab2
JM
7125 * c-common.c (check_case_value): Remove special C++ code.
7126
200290f2
NP
71272010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7128
7129 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7130 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7131 and RID_LAST_PATTR.
7132 (objc_add_property_declaration): Added additional arguments.
7133 (objc_property_attribute_kind): Removed.
7134 (objc_set_property_attr): Removed.
7135 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7136 copy and nonatomic.
7137 * stub-objc.c (objc_add_property_declaration): Added additional
7138 arguments.
7139 (objc_set_property_attr): Removed.
9faeb493 7140
f614132b
NP
71412010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7142
7143 * c-common.h (objc_add_property_variable): Renamed to
7144 objc_add_property_declaration. Added location argument.
7145 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 7146
b8a18805
NP
71472010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7148
7149 * c-common.h (objc_maybe_printable_name): New.
7150 * stub-objc.c (objc_maybe_printable_name): New.
7151
3f8257db
JJ
71522010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7153 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
7154
7155 * c-common.h (c_common_mark_addressable_vec): Declare.
7156 * c-common.c (c_common_mark_addressable_vec): New function.
7157
249a82c4
NP
71582010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7159
7160 * c-common.h (objc_set_method_type): Removed.
7161 (objc_add_method_declaration): Added boolean argument.
7162 (objc_start_method_definition): Same change.
7163 (objc_build_method_signature): Same change.
7164 * stub-objc.c (objc_set_method_type): Removed.
7165 (objc_add_method_declaration): Added boolean argument.
7166 (objc_start_method_definition): Same change.
7167 (objc_build_method_signature): Same change.
7168
977e30bc
NP
71692010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7170
7171 * c-common.h (finish_file): Removed.
7172 (objc_write_global_declarations): New.
7173 * c-opts.c (c_common_parse_file): Do not call finish_file.
7174 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 7175
da57d1b9
NP
71762010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7177
7178 Implemented parsing @synthesize and @dynamic for
7179 Objective-C/Objective-C++.
7180 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7181 (objc_add_synthesize_declaration): New.
7182 (objc_add_dynamic_declaration): New.
7183 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7184 * stub-objc.c (objc_add_synthesize_declaration): New.
7185 (objc_add_dynamic_declaration): New.
9faeb493 7186
0069111f
MM
71872010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7188
7189 PR target/46041
7190 * c-cppbuiltin.c (mode_has_fma): Move function here from
7191 builtins.c. Don't use the fma optab, instead just use the
7192 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7193 using -save-temps.
7194
e426b47b
NP
71952010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7196
7197 Merge from 'apple/trunk' branch on FSF servers.
0069111f 7198
3f8257db 7199 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 7200
9faeb493 7201 Radar 4330422
e426b47b
NP
7202 * c-common.h (objc_non_volatilized_type): New declaration
7203 * stub-objc.c (objc_non_volatilized_type): New stub.
7204
90fbfdc3
NP
72052010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7206
e426b47b 7207 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 7208
3f8257db 7209 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 7210
9faeb493 7211 Radar 4133425
90fbfdc3 7212 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 7213 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 7214
c37d8c30
IS
72152010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7216
7217 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7218 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7219 (objc_ivar_visibility_kind): New enum.
7220 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 7221 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
7222 visibility enum.
7223
1b1562a5
MM
72242010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7225
7226 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7227 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7228 has the appropriate fma builtins.
7229 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7230
668ea4b1
IS
72312010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7232
1b1562a5 7233 merge from FSF apple 'trunk' branch.
3f8257db 7234 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 7235
668ea4b1
IS
7236 Radars 4436866, 4505126, 4506903, 4517826
7237 * c-common.c (c_common_resword): Define @property and its attributes.
7238 * c-common.h: Define property attribute enum entries.
7239 (OBJC_IS_PATTR_KEYWORD): New.
7240 (objc_property_attribute_kind): New enum.
7241 Declare objc_set_property_attr (), objc_add_property_variable (),
7242 objc_build_getter_call () and objc_build_setter_call ().
7243 * stub-objc.c (objc_set_property_attr): New stub.
7244 (objc_add_property_variable): Likewise.
7245 (objc_build_getter_call): Likewise.
7246 (objc_build_setter_call) Likewise.
1b1562a5 7247
a1178b30
IS
72482010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7249
1b1562a5 7250 merge from FSF apple 'trunk' branch.
3f8257db 7251 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
7252
7253 Radar 3803157 (method attributes)
7254 * c-common.c (handle_deprecated_attribute): Recognize
7255 objc methods as valid declarations.
7256 * c-common.h: Declare objc_method_decl ().
1b1562a5 7257 * stub-objc.c (objc_method_decl): New stub.
a1178b30 7258
a75bfaa6
JM
72592010-10-08 Joseph Myers <joseph@codesourcery.com>
7260
7261 * c-common.c (parse_optimize_options): Call
7262 decode_cmdline_options_to_array_default_mask before
7263 decode_options. Update arguments to decode_options.
7264 * c-common.h (c_common_init_options_struct): Declare.
7265 * c-opts.c (c_common_init_options_struct): New. Split out from
7266 c_common_init_options.
7267
f05b9d93
NP
72682010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7269
7270 Implemented fast enumeration for Objective-C.
7271 * c-common.h (objc_finish_foreach_loop): New.
7272 * stub-objc.c (objc_finish_foreach_loop): New.
7273
1ebe4b4f
JM
72742010-10-05 Joseph Myers <joseph@codesourcery.com>
7275
7276 * c-common.h (struct diagnostic_context): Don't declare here.
7277 (c_common_initialize_diagnostics): Declare using
7278 diagnostic_context typedef.
7279 * c-opts.c (c_common_handle_option): Pass global_dc to
7280 handle_generated_option.
7281
d4d24ba4
JM
72822010-10-04 Joseph Myers <joseph@codesourcery.com>
7283
7284 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7285 handle_generated_option.
7286
478a1c5b
ILT
72872010-10-03 Ian Lance Taylor <iant@google.com>
7288
7289 * c.opt (-fplan9-extensions): New option.
7290
82a1c2fe
FXC
72912010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7292
7293 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7294 Remove.
7295 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7296 of duplicating code.
7297
92902b1b
IS
72982010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7299
7300 * c-common.c: Add two new entries for @optional
7301 and @required keywords.
7302
7303 merge from FSF 'apple/trunk' branch.
3f8257db 7304 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
7305
7306 Radar 4386773
7307 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7308 objective-c keywords.
7309 (objc_set_method_opt): New declaration.
7310 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 7311
46625112
JM
73122010-09-30 Joseph Myers <joseph@codesourcery.com>
7313
7314 * c-common.c (handle_optimize_attribute): Pass &global_options to
7315 cl_optimization_save and cl_optimization_restore.
7316 * c-opts.c (c_common_handle_option): Pass &global_options to
7317 handle_generated_option.
7318 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7319 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7320 &global_options to cl_optimization_restore.
7321
49b91f05
NP
73222010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7323
7324 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7325 Objective-C/Objective-C++ keywords.
7326
13ed556f 73272010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 7328
9faeb493
UB
7329 Merge from 'apple/trunk' branch on FSF servers.
7330
3f8257db 7331 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
7332
7333 Radar 4281748
7334 * c-common.h (objc_check_global_decl): New declaration.
7335 * stub-objc.c (objc_check_global_decl): New stub.
7336
f0036cca
JM
73372010-09-29 Joseph Myers <joseph@codesourcery.com>
7338
7339 * c.opt: Don't use VarExists.
7340
e3339d0f
JM
73412010-09-29 Joseph Myers <joseph@codesourcery.com>
7342
7343 * c-common.c (c_cpp_error): Update names of diagnostic_context
7344 members.
7345 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7346 cl_optimization members.
7347 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7348 sanitize_cpp_opts, finish_options): Update names of cpp_options
7349 members.
7350
1973201f
NP
73512010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7352
7353 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7354 (objc_is_reserved_word): Removed.
7355 * c-common.c: Updated comments.
7356 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7357 objc_is_reserved_word.
7358 * stub-objc.c (objc_is_reserved_word): Removed.
7359
f7e71da5
IS
73602010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7361
9faeb493 7362 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
7363 include attributes.
7364 (objc_start_method_definition): Likewise.
7365 (objc_build_keyword_decl): Likewise.
7366 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7367 (objc_start_method_definition): Likewise.
7368 (objc_build_keyword_decl): Likewise.
7369
c165dca7
IS
73702010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7371
7372 * c-common.h (objc_start_class_interface): Adjust prototype.
7373 (objc_start_category_interface): Likewise.
7374 (objc_start_protocol): Likewise.
7375 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7376 (objc_start_class_interface): Likewise.
7377 (objc_start_category_interface): Likewise.
7378
7458026b
ILT
73792010-09-27 Ian Lance Taylor <iant@google.com>
7380
7381 * c-common.c (c_common_attribute_table): Add no_split_stack.
7382 (handle_no_split_stack_attribute): New static function.
7383
b581b85b
NP
73842010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7385
9faeb493 7386 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 7387
3f8257db 7388 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 7389
9faeb493 7390 Radar 4229905
b581b85b
NP
7391 * c-common.h (objc_have_common_type): New declaration.
7392 * stub-objc.c (objc_have_common_type): New stub.
7393
7394 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7395
7396 Radar 4154928
7397 * c-common.h (objc_common_type): New prototype.
9faeb493 7398 * stub-objc.c (objc_common_type): New stub.
b581b85b 7399
46a4da10
JH
74002010-09-24 Jan Hubicka <jh@suse.cz>
7401
7402 * c-common.c (handle_leaf_attribute): New function.
7403 (struct attribute_spec c_common_att): Add leaf.
7404
e200444e
JM
74052010-09-22 Joseph Myers <joseph@codesourcery.com>
7406
7407 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7408 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7409 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7410 -include-barrier, -include-directory, -include-directory=,
7411 -include-directory-after, -include-directory-after=,
7412 -include-prefix, -include-prefix=, -include-with-prefix,
7413 -include-with-prefix=, -include-with-prefix-after,
7414 -include-with-prefix-after=, -include-with-prefix-before,
7415 -include-with-prefix-before=, -no-integrated-cpp,
7416 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7417 -output=, -pedantic, -pedantic-errors, -preprocess,
7418 -print-missing-file-dependencies, -trace-includes, -traditional,
7419 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7420 -user-dependencies, -verbose, -write-dependencies,
7421 -write-user-dependencies, no-integrated-cpp, traditional): New.
7422
29a80ea6
NP
74232010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7424
7425 PR objc/23710
ac1fc2fc
NP
7426 * c-common.h (objc_start_method_definition): Return bool instead
7427 of void.
7428 * stub-objc.c (objc_start_method_definition): Return bool instead
7429 of void.
7430
74312010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7432
7433 PR objc/25965
7434 * c-common.h (objc_get_interface_ivars): New declaration.
7435 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 7436
de621752
ILT
74372010-09-15 Ian Lance Taylor <iant@google.com>
7438
7439 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 7440 messages. Remove period at end of warning message.
de621752 7441
ba885ec5
NS
74422010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7443
7444 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7445 (handle_alias_attribute): ... here.
7446 (handle_ifunc_attribute): New.
7447
c5ee1358
MM
74482010-09-06 Mark Mitchell <mark@codesourcery.com>
7449
7450 * c-common.h (do_warn_double_promotion): Declare.
7451 * c-common.c (do_warn_double_promotion): Define.
7452
0a0b3574
MM
74532010-09-05 Mark Mitchell <mark@codesourcery.com>
7454
7455 * c.opt (Wdouble-promotion): New.
7456
d1779886
JM
74572010-09-02 Joseph Myers <joseph@codesourcery.com>
7458
7459 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7460 fvtable-thunks, fxref): Mark no longer supported in help text.
7461
2d2bd949
JM
74622010-09-02 Joseph Myers <joseph@codesourcery.com>
7463
7464 * c.opt (Wimport, fall-virtual, falt-external-templates,
7465 fdefault-inline, fenum-int-equiv, fexternal-templates,
7466 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7467 fname-mangling-version-, fnew-abi, fnonnull-objects,
7468 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7469 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7470 applicable.
7471 (fhandle-exceptions): Mark with Alias and Warn.
7472 * c-opts.c (c_common_handle_option): Don't handle options marked
7473 as ignored.
7474
5de8299c
JM
74752010-09-02 Joseph Myers <joseph@codesourcery.com>
7476
7477 * c.opt (Wcomments, Werror-implicit-function-declaration,
7478 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7479 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7480 aliases.
7481 * c-common.c (option_codes): Use OPT_Wcomment instead of
7482 OPT_Wcomments.
7483 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7484 Don't handle options marked as aliases.
7485
0ceb0201
RG
74862010-08-25 Richard Guenther <rguenther@suse.de>
7487
7488 * c-common.c (c_common_get_alias_set): Remove special
7489 handling for pointers.
7490
ac47786e
NF
74912010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7492
7493 * c-common.c: Use FOR_EACH_VEC_ELT.
7494 * c-gimplify.c: Likewise.
7495 * c-pragma.c: Likewise.
7496
c878765b
JM
74972010-08-16 Joseph Myers <joseph@codesourcery.com>
7498
7499 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7500 RejectDriver.
7501 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7502 RejectDriver.
7503 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7504 instead of OPT_MDX and OPT_MMDX.
7505
603349bf
JM
75062010-08-16 Joseph Myers <joseph@codesourcery.com>
7507
7508 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7509
644fa7ac
JM
75102010-08-12 Joseph Myers <joseph@codesourcery.com>
7511
7512 * c.opt (MD, MMD): Change to MDX and MMDX.
7513 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7514
481e1176
JM
75152010-08-11 Joseph Myers <joseph@codesourcery.com>
7516
7517 * c-opts.c (c_common_handle_option): Call handle_generated_option
7518 instead of handle_option.
7519
ac8dc9f7
NF
75202010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7521
7522 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7523 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7524
4f8c876d
NF
75252010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7526
7527 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7528 (pending_redefine_extname): Change type to a VEC.
7529 (add_to_renaming_pragma_list): Update for new type of
7530 pending_redefine_extname.
ac8dc9f7 7531 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 7532
3b0c690e
AC
75332010-08-04 Arnaud Charlet <charlet@adacore.com>
7534
7535 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7536 visited.
7537 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7538 decide whether a type has already been declared/seen.
7539 Do not go to the original type.
7540 (dump_nested_types): New parameter forward.
7541 Generate forward declaration if needed and mark type as visited.
7542 (print_ada_declaration): Call dump_nested_types if not already done.
7543 Mark types as visited.
7544
1890bccc
JM
75452010-08-03 Joseph Myers <joseph@codesourcery.com>
7546
7547 * c.opt (-print-pch-checksum): Remove option.
7548 * c-opts.c (c_common_handle_option): Don't handle
7549 OPT_print_pch_checksum.
7550
5f20c657
JM
75512010-07-27 Joseph Myers <joseph@codesourcery.com>
7552
7553 * c-common.h (c_common_handle_option): Update prototype and return
7554 value type.
7555 * c-opts.c (c_common_handle_option): Update prototype and return
7556 value type. Update calls to handle_option and
7557 enable_warning_as_error.
7558
f551f80c
JJ
75592010-07-27 Jakub Jelinek <jakub@redhat.com>
7560
7561 PR c/45079
7562 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7563
61ff2bdc
JM
75642010-07-27 Joseph Myers <joseph@codesourcery.com>
7565
7566 * c-common.h (c_common_missing_argument): Remove.
7567 * c-opts.c (c_common_missing_argument): Remove.
7568 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7569 idirafter, imacros, include, isysroot, isystem, iquote): Add
7570 MissingArgError.
7571 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7572
7a9bf9a4
JM
75732010-07-27 Joseph Myers <joseph@codesourcery.com>
7574
7575 * c-common.h (c_common_option_lang_mask,
7576 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7577 New.
7578 (c_common_init_options): Update prototype.
7579 * c-opts.c (c_common_option_lang_mask): New.
7580 (c_common_initialize_diagnostics): Split out of
7581 c_common_init_options.
7582 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7583 New.
7584 (c_common_init_options): Update prototype. Use decoded options in
7585 search for -lang-asm.
7586
910ad8de
NF
75872010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7588
7589 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7590 * c-format.c: Likewise.
7591
718f9c0f
MLI
75922010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7593
7594 * c-common.h: Include diagnostic-core.h. Error if already
7595 included.
7596 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7597
4d451982
MLI
75982010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7599
adfac8df 7600 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
7601 Do not include expr.h
7602 (vector_mode_valid_p): Move here.
7603
119fe915
SB
76042010-06-21 DJ Delorie <dj@redhat.com>
7605
7606 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7607 allow these pragmas anywhere.
7608
76092010-06-14 Jakub Jelinek <jakub@redhat.com>
7610
7611 PR bootstrap/44509
7612 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7613 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7614 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7615 ggc_strdup instead of xstrdup.
7616
76172010-06-10 Jakub Jelinek <jakub@redhat.com>
7618
7619 * c-cppbuiltin.c: Include cpp-id-data.h.
7620 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7621 (lazy_hex_fp_value): New function.
7622 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7623
6662d794
MLI
76242010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7625
7626 * c-gimplify.c: Do not include tree-flow.h
7627
38f8b050
JR
76282010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7629
7630 PR other/44034
7631 * c-common.c: Rename targetm member:
7632 targetm.enum_va_list -> targetm.enum_va_list_p
7633
9589f23e
AS
76342010-06-28 Anatoly Sokolov <aesok@post.ru>
7635
7636 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7637
3b06d379
SB
76382010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7639
7640 * c-cppbuiltin.c: Do not include except.h.
7641
d166d4c3
AK
76422010-06-24 Andi Kleen <ak@linux.intel.com>
7643
9faeb493
UB
7644 * c-common.c (warn_for_omitted_condop): New.
7645 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 7646
70cb8be6
JM
76472010-06-21 Joseph Myers <joseph@codesourcery.com>
7648
7649 * c.opt (lang-objc): Remove.
7650 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7651
a4c97feb
JR
76522010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7653
7654 * c-opts.c: Include "tm_p.h".
7655
6e2f1956
JM
76562010-06-20 Joseph Myers <joseph@codesourcery.com>
7657
7658 * c-common.c (parse_optimize_options): Update call to
7659 decode_options.
7660
bc87224e
NF
76612010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7662
7663 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7664 new type of types_used_by_cur_var_decl.
7665
b49cf425
JR
76662010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7667
7668 PR bootstrap/44512
7669 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7670 for C++ standard compliance.
7671
59f9c2ed
JM
76722010-06-16 Jason Merrill <jason@redhat.com>
7673
7674 * c.opt: Add -Wnoexcept.
7675
33766b66
RG
76762010-06-16 Richard Guenther <rguenther@suse.de>
7677
7678 PR c/44555
7679 * c-common.c (c_common_truthvalue_conversion): Remove
7680 premature and wrong optimization concering ADDR_EXPRs.
7681
eff7e30c
AC
76822010-06-15 Arnaud Charlet <charlet@adacore.com>
7683
7684 * c-ada-spec.c (dump_sloc): Remove column info.
7685 (is_simple_enum): New function.
7686 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7687 enum types when relevant.
7688
6312e84d
MLI
76892010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7690
9faeb493 7691 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
7692 location.
7693
1cb42611
JM
76942010-06-10 Joseph Myers <joseph@codesourcery.com>
7695
7696 * c-opts.c (c_common_handle_option): Don't handle
7697 OPT_fshow_column.
7698
a9429e29
LB
76992010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7700
7701 * c-pragma.c (push_alignment): Use typed GC allocation.
7702 (handle_pragma_push_options): Likewise.
7703
7704 * c-common.c (parse_optimize_options): Likewise.
7705
7706 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7707 option.
7708
5498f011
JM
77092010-06-07 Joseph Myers <joseph@codesourcery.com>
7710
7711 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7712 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7713 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7714 flag_signed_bitfields, warn_strict_null_sentinel,
7715 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7716 flag_gen_declaration, flag_no_gnu_keywords,
7717 flag_implement_inlines, flag_implicit_templates,
7718 flag_implicit_inline_templates, flag_optional_diags,
7719 flag_elide_constructors, flag_default_inline, flag_rtti,
7720 flag_conserve_space, flag_access_control, flag_check_new,
7721 flag_new_for_scope, flag_weak, flag_working_directory,
7722 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7723 flag_enforce_eh_specs, flag_threadsafe_statics,
7724 flag_pretty_templates): Remove.
7725 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7726 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7727 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7728 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7729 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7730 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7731 flag_no_gnu_keywords, flag_implement_inlines,
7732 flag_implicit_templates, flag_implicit_inline_templates,
7733 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7734 flag_rtti, flag_conserve_space, flag_access_control,
7735 flag_check_new, flag_new_for_scope, flag_weak,
7736 flag_working_directory, flag_use_cxa_atexit,
7737 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7738 flag_threadsafe_statics, flag_pretty_templates,
7739 warn_strict_null_sentinel): Remove.
7740 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7741 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7742 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7743 fimplicit-inline-templates, fimplicit-templates,
7744 flax-vector-conversions, fms-extensions, fnil-receivers,
7745 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7746 frtti, fshort-double, fshort-enums, fshort-wchar,
7747 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7748 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7749 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7750 gen-decls, undef): Use Var.
7751 (fdefault-inline, foptional-diags): Document as doing nothing.
7752 * c-opts.c (c_common_handle_option): Remove cases for options now
7753 using Var. Mark ignored options as such.
7754
39dabefd
SB
77552010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7756
9faeb493 7757 * c-common.c: Moved to here from parent directory.
39dabefd
SB
7758 * c-common.def: Likewise.
7759 * c-common.h: Likewise.
7760 * c-cppbuiltin.c: Likewise.
7761 * c-dump.c: Likewise.
7762 * c-format.c: Likewise.
7763 * c-format.h : Likewise.
7764 * c-gimplify.c: Likewise.
7765 * c-lex.c: Likewise.
7766 * c-omp.c: Likewise.
7767 * c.opt: Likewise.
7768 * c-opts.c: Likewise.
7769 * c-pch.c: Likewise.
7770 * c-ppoutput.c: Likewise.
7771 * c-pragma.c: Likewise.
7772 * c-pragma.h: Likewise.
7773 * c-pretty-print.c: Likewise.
7774 * c-pretty-print.h: Likewise.
7775 * c-semantics.c: Likewise.
7776 * stub-objc.c: Likewise.
7777
7778 * c-common.c: Include gt-c-family-c-common.h.
7779 * c-pragma.c: Include gt-c-family-c-pragma.h.
7780\f
cbe34bb5 7781Copyright (C) 2010-2017 Free Software Foundation, Inc.
39dabefd
SB
7782
7783Copying and distribution of this file, with or without modification,
7784are permitted in any medium without royalty provided the copyright
7785notice and this notice are preserved.
This page took 2.710067 seconds and 5 git commands to generate.