]> gcc.gnu.org Git - gcc.git/blame - gcc/c-family/ChangeLog
Bye bye, c_save_expr.
[gcc.git] / gcc / c-family / ChangeLog
CommitLineData
b2fa0a8b
MP
12017-05-17 Marek Polacek <polacek@redhat.com>
2
3 * c-common.c (c_save_expr): Remove.
4 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
5 * c-common.h (c_save_expr): Remove declaration.
6
31c2d57d
VR
72017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
8
9 PR c/35441
10 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
11 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
12 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
13 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
14 RDIV_EXPR.
15 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
16
684f84de
MP
172017-05-09 Marek Polacek <polacek@redhat.com>
18
19 PR c/80525
20 * c-warn.c (unwrap_c_maybe_const): New.
21 (warn_logical_operator): Call it.
22
641da50a
NS
232017-05-09 Nathan Sidwell <nathan@acm.org>
24
25 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
26 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
27
631238ac
MS
282017-05-08 Martin Sebor <msebor@redhat.com>
29
30 PR translation/80280
31 * c-format.h (struct format_flag_spec): Add new member.
32 (T89_T): New macro.
33 * c-format.c (local_tree_type_node): New global.
34 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
35 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
36 (strfmon_flag_specs): Likewise.
37 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
38 with distinct quoting properties.
39 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
40 (flag_chars_t::validate): Add argument and handle bad quoting.
41 (check_format_info_main): Handle quoting problems.
42 (init_dynamic_diag_info): Simplify.
43
49f0c04c
JM
442017-05-08 Jason Merrill <jason@redhat.com>
45
46 * c-opts.c (c_common_post_options): Update defaults for
47 flag_abi_version and flag_abi_compat_version.
48
56d35585
DM
492017-05-05 David Malcolm <dmalcolm@redhat.com>
50
51 * c-common.c (c_cpp_error): Replace report_diagnostic
52 with diagnostic_report_diagnostic.
53
0f2c4a8f
MS
542017-05-04 Martin Sebor <msebor@redhat.com>
55
56 PR translation/80280
57 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
58 (handle_weakref_attribute): Same.
59
6fe63fb4
NS
602017-05-03 Nathan Sidwell <nathan@acm.org>
61
62 Canonicalize canonical type hashing
63 * c-common.c (complete_array_type): Use type_hash_canon.
64
815d9cc6
XR
652017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
66
67 PR c++/80038
68 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
69 prototype.
70 (cilk_install_body_pedigree_operations): Likewise.
71 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
72 detatched.
73 (cilk_gimplify_call_params_in_spawned_fn): Remove.
74 (cilk_install_body_pedigree_operations): Likewise.
75 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
76 unwrapping.
77
f8a36447
JJ
782017-04-27 Jakub Jelinek <jakub@redhat.com>
79
80 PR c++/80534
81 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
82 flag on non-aggregate element types.
83
7c145456
BE
842017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
85
86 * c-common.c (c_type_hasher, type_hash_table): Remove.
87 (c_common_get_alias_set): Remove unreachable code.
88 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
89
c3cbcd45
VR
902017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
91
92 * c.opt (Wextra-semi): New C++ warning flag.
93
8a59d466
JJ
942017-04-20 Jakub Jelinek <jakub@redhat.com>
95
96 PR middle-end/80423
97 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
98
8487c9a5
JJ
992017-04-18 Jakub Jelinek <jakub@redhat.com>
100
101 PR middle-end/79788
102 PR middle-end/80375
103 * c-common.c (c_common_type_for_mode): Don't handle
104 widest_*_literal_type_node here.
105 c_common_signed_or_unsigned_type): Likewise.
106 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
107 to *intTI_type_node or *intDI_type_node depending on whether
108 TImode is supported by the target or not.
109
3ee0fb02
ML
1102017-04-10 Martin Liska <mliska@suse.cz>
111
112 PR sanitizer/80350
113 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
114 doing an UBSAN check.
115
5764ee3c
JW
1162017-04-03 Jonathan Wakely <jwakely@redhat.com>
117
118 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
119
6f3af356
JJ
1202017-03-31 Jakub Jelinek <jakub@redhat.com>
121
122 PR c++/79572
123 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
124 tree *.
125 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
126 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
127 REFERENCE_TYPE.
128
f6a7a9d5
DM
1292017-03-31 David Malcolm <dmalcolm@redhat.com>
130
131 PR documentation/78732
132 * c.opt (Wendif-labels): Fix description to refer to
133 #else rather than #elif.
134
af88f557
JJ
1352017-03-31 Jakub Jelinek <jakub@redhat.com>
136
137 PR libstdc++/80251
138 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
139 * c-common.c (c_common_reswords): Add __is_aggregate trait.
140
a9e4a1a5
JJ
1412017-03-27 Jakub Jelinek <jakub@redhat.com>
142
143 PR middle-end/80162
144 * c-common.c (c_common_mark_addressable_vec): Don't set
145 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
146
3f01b620
MS
1472017-03-21 Martin Sebor <msebor@redhat.com>
148
149 PR c++/79548
150 * c-common.c (set_underlying_type): Mark type used only when
151 original del is declared unused.
152
2f6f187a
DM
1532017-03-10 David Malcolm <dmalcolm@redhat.com>
154
155 PR translation/79848
156 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
157 "%qs".
158
a02fa805
DM
1592017-03-10 David Malcolm <dmalcolm@redhat.com>
160
161 PR c/79921
162 * c-indentation.c (warn_for_misleading_indentation): Remove parens
163 from inform's message, so that xgettext can locate it.
164
822a132c
MP
1652017-03-09 Marek Polacek <polacek@redhat.com>
166
167 PR c++/79962
168 PR c++/79984
169 * c-attribs.c (handle_nonnull_attribute): Save the result of default
170 conversion to the attribute list.
171
bba81f1c
ML
1722017-03-09 Martin Liska <mliska@suse.cz>
173
174 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
175
108154ff
JM
1762017-03-03 Jason Merrill <jason@redhat.com>
177
178 * c.opt (Wnoexcept-type): New.
179
eb0e7c34
RB
1802017-03-02 Richard Biener <rguenther@suse.de>
181
182 PR c/79756
183 * c-common.c (c_common_mark_addressable_vec): Look through
184 C_MAYBE_CONST_EXPR.
185
9453ba0a
ML
1862017-02-28 Martin Liska <mliska@suse.cz>
187
188 * c.opt: Replace space with tabular for options of <number>
189 type.
190
6a825afe
ML
1912017-02-28 Martin Liska <mliska@suse.cz>
192
193 * c.opt: Fix --help=option -Q for options which are of
194 an enum type.
195
4227c9ad
JJ
1962017-02-24 Jakub Jelinek <jakub@redhat.com>
197
198 PR c++/79588
199 * c-common.c (check_function_restrict): New function.
200 (check_function_arguments): Add FNDECL argument. Call
201 check_function_restrict if -Wrestrict.
202 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
203 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
204 * c-common.h (check_function_arguments): Add FNDECL argument.
205 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
206
59909673
EB
2072017-02-24 Eric Botcazou <ebotcazou@adacore.com>
208
209 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
210 treatment of parameters with pointer-to-tagged type and tidy up.
211 (print_ada_methods): Remove the special treatment of C++ static member
212 functions.
213
54dcd526
ML
2142017-02-22 Martin Liska <mliska@suse.cz>
215
216 * c.opt: Replace inequality signs with square brackets
217 for -Wnornalized.
218
00bc9de3
JJ
2192017-02-21 Jakub Jelinek <jakub@redhat.com>
220
221 PR c++/79641
222 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
223 preserve quals.
224
97fcf744
JM
2252017-02-17 Joseph Myers <joseph@codesourcery.com>
226
227 * c-cppbuiltin.c (builtin_define_float_constants): Define
228 __DECIMAL_DIG__ to the value for long double.
229
c7545f1c
MP
2302017-02-15 Marek Polacek <polacek@redhat.com>
231
232 PR c/79515
233 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
234 conversion has occured.
235
c2e84327
DM
2362017-01-24 David Malcolm <dmalcolm@redhat.com>
237
238 * c-common.c (c_common_reswords): Add "__RTL".
239 * c-common.h (enum rid): Add RID_RTL.
240
2ebd93e1
MP
2412017-01-20 Marek Polacek <polacek@redhat.com>
242
243 PR c/64279
244 * c-common.h (do_warn_duplicated_branches_r): Declare.
245 * c-gimplify.c (c_genericize): Walk the function tree calling
246 do_warn_duplicated_branches_r.
247 * c-warn.c (expr_from_macro_expansion_r): New.
248 (do_warn_duplicated_branches): New.
249 (do_warn_duplicated_branches_r): New.
250 * c.opt (Wduplicated-branches): New option.
251
0d80ab91
DM
2522017-01-17 David Malcolm <dmalcolm@redhat.com>
253
254 PR c++/71497
255 * c-indentation.c (warn_for_misleading_indentation): Use the past
256 subjunctive in the note.
257
7f991c36
AH
2582017-01-17 Aldy Hernandez <aldyh@redhat.com>
259
260 PR c/79116
261 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
262 start type to integer_type.
263
1c70261c
JJ
2642017-01-16 Jakub Jelinek <jakub@redhat.com>
265
266 PR driver/49726
267 * c.opt (gen-decls): Add Driver flag.
268
1ddca3f3
PC
2692017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
270
271 Revert:
272 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
273
274 PR c++/71737
275 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
276
7d2f3f1d
PC
2772017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
278
279 PR c++/71737
280 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
281
bce6f760
MS
2822017-01-12 Martin Sebor <msebor@redhat.com>
283
284 (-Wformat-overflow): ...to this.
285
bf5fbf46
MS
2862017-01-11 Martin Sebor <msebor@redhat.com>
287
288 PR c/78768
289 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
290 Also enable for LTO.
291
e363df3f
JM
2922017-01-10 Jason Merrill <jason@redhat.com>
293
294 Implement P0195R2, C++17 variadic using.
295 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
296
bd2c6270
JJ
2972017-01-09 Jakub Jelinek <jakub@redhat.com>
298
299 PR translation/79019
300 PR translation/79020
301 * c.opt (Wnormalized=): Fix typo in description.
302
efcc8d38
MS
3032017-01-08 Martin Sebor <msebor@redhat.com>
304
305 PR middle-end/77708
306 * c.opt (-Wformat-truncation): New option.
307
435f3f7a
AO
3082017-01-06 Alexandre Oliva <aoliva@redhat.com>
309
310 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
311 value to unsigned short to fit in 4 hex digits without
312 warnings.
313
4e89adf9
EB
3142017-01-05 Eric Botcazou <ebotcazou@adacore.com>
315
316 * c.opt (fsso-struct): Add 'native' value.
317
cd445b54
ML
3182017-01-05 Martin Liska <mliska@suse.cz>
319
320 PR pch/78970
321 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
322 header.
323
a9342885
MP
3242017-01-04 Marek Polacek <polacek@redhat.com>
325
326 PR c++/64767
327 * c.opt (Wpointer-compare): New option.
328
fc73e60c
JJ
3292017-01-04 Jakub Jelinek <jakub@redhat.com>
330
331 PR driver/78957
332 * c.opt (fsso-struct=): Add RejectNegative.
333
cbe34bb5
JJ
3342017-01-01 Jakub Jelinek <jakub@redhat.com>
335
336 Update copyright years.
337
d4a6c0ea
ML
3382016-12-29 Martin Liska <mliska@suse.cz>
339
340 PR c/78933
341 * c.opt (strong-eval-order): Add RejectNegative keyword.
342
67a5ad7c
JM
3432016-12-22 Jason Merrill <jason@redhat.com>
344
345 Implement P0522R0, matching of template template arguments.
346 * c-cppbuiltin.c (c_cpp_builtins): Define
347 __cpp_template_template_args.
348
0dba7960
JJ
3492016-12-21 Jakub Jelinek <jakub@redhat.com>
350
351 PR bootstrap/78817
352 * c-common.c (struct nonnull_arg_ctx): New type.
353 (check_function_nonnull): Return bool instead of void. Use
354 nonnull_arg_ctx as context rather than just location_t.
355 (check_nonnull_arg): Adjust for the new context type, set
356 warned_p to true if a warning has been diagnosed.
357 (check_function_arguments): Return bool instead of void.
358 * c-common.h (check_function_arguments): Adjust prototype.
359
31bfc9b9
JM
3602016-12-21 Jason Merrill <jason@redhat.com>
361
362 * c.opt (-fnew-ttp-matching): New flag.
363 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
364
629b3d75
MJ
3652016-12-14 Martin Jambor <mjambor@suse.cz>
366
367 * c-omp.c: Include omp-general.h instead of omp-low.h.
368 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
369 name.
370
474da67e
MS
3712016-12-14 Martin Sebor <msebor@redhat.com>
372
373 PR c/17308
374 * c-common.c (check_nonnull_arg): Disable when optimization
375 is enabled.
376
fe366b87
MP
3772016-12-12 Marek Polacek <polacek@redhat.com>
378
379 PR c++/78647
380 * c-common.c (attribute_fallthrough_p): Return false for
381 error_mark_node.
382
8bd9f164
MS
3832016-12-08 Martin Sebor <msebor@redhat.com>
384
385 PR c/78284
386 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
387
060162e0
MS
3882016-12-08 Martin Sebor <msebor@redhat.com>
389
390 PR c/78165
1d0cf89a
MS
391 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
392 suffix.
060162e0 393
ee92e7ba
MS
3942016-12-07 Martin Sebor <msebor@redhat.com>
395
396 PR c/53562
397 PR middle-end/77784
398 PR middle-end/78149
399 PR middle-end/78138
400 * c.opt (-Wstringop-overflow): New option.
401
84b0769e
MO
4022016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
403
404 * c-attribs.c (asan odr indicator): New attribute.
405 (handle_asan_odr_indicator_attribute): New function.
406
7fa6a965
PK
4072016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
408
409 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
410 ptrdiff_type_node;
411
56d8ffc1
JG
4122016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
413
414 * c-common.c (excess_precision_mode_join): New.
415 (c_ts18661_flt_eval_method): New.
416 (c_c11_flt_eval_method): Likewise.
417 (c_flt_eval_method): Likewise.
418 * c-common.h (excess_precision_mode_join): New.
419 (c_flt_eval_method): Likewise.
420 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
421 (cpp_iec_559_value): Call it.
422 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
423 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
424 __FLT_EVAL_METHOD_TS_18661_3__.
425
04f0fcf7
JG
4262016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
427
428 * c-opts.c (c_common_post_options): Add logic to handle the default
429 case for -fpermitted-flt-eval-methods.
430
fb2675cb
PB
4312016-11-23 Paolo Bonzini <bonzini@gnu.org>
432
433 * c.opt (Wexpansion-to-defined): New.
434
ec1c5694
JJ
4352016-11-23 Jakub Jelinek <jakub@redhat.com>
436
437 PR target/78451
438 * c-pragma.c (handle_pragma_target): Don't replace
439 current_target_pragma, but chainon the new args to the current one.
440
730c9e75
NS
4412016-11-22 Nathan Sidwell <nathan@acm.org>
442
443 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
cacd29be 444 indentation and formatting.
730c9e75 445
89990732
MS
4462016-11-21 Martin Sebor <msebor@redhat.com>
447
448 * c.opt (-fprintf-return-value): Enable by default.
449
48330c93
BE
4502016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
451
452 PR c++/71973
453 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
454 * c-common.c (c_common_nodes_and_builtins): Initialize
455 const_tm_ptr_type_node.
456
0d939c95
MP
4572016-11-16 Marek Polacek <polacek@redhat.com>
458
459 PR c/78285
460 * c-common.c (c_add_case_label): Turn error_at calls into inform.
461
8e745a17
JJ
4622016-11-14 Jakub Jelinek <jakub@redhat.com>
463
464 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
465
1ee62b92 4662016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
8e745a17
JJ
467 Richard Biener <rguenther@suse.de>
468
469 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
470 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
471 * c.opt (fgimple): New option.
1ee62b92 472
22b15758
UB
4732016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
474
475 PR c/35503
476 * c-common.h (warn_for_restrict): Declare.
477 * c-warn.c: Include gcc-rich-location.h.
478 (warn_for_restrict): New function.
479 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
480 (gcc_cdiag_char_table): Likewise.
481 (gcc_cxxdiag_char_table): Likewise.
482 * c.opt (Wrestrict): New option.
483
4be719cd
EB
4842016-11-13 Eric Botcazou <ebotcazou@adacore.com>
485
486 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
487 for nested types only if the type is a record or union and dump SLOC.
488
4a826ca6
JM
4892016-11-09 Jason Merrill <jason@redhat.com>
490
491 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
492
2e955d50
JJ
4932016-11-09 Jakub Jelinek <jakub@redhat.com>
494
495 * c-ubsan.c (ubsan_instrument_shift): Handle split
496 -fsanitize=shift-base and -fsanitize=shift-exponent.
497
51dc6603
JM
4982016-11-07 Jason Merrill <jason@redhat.com>
499
500 * c.opt (Wc++1z-compat): New.
501 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
502
6dc4a604
ML
5032016-11-07 Martin Liska <mliska@suse.cz>
504
505 * c-warn.c (warn_for_unused_label): Save all labels used
506 in goto or in &label.
507
b302001e
JM
5082016-11-03 Jason Merrill <jason@redhat.com>
509
510 * c-cppbuiltin.c (c_cpp_builtins): Correct
511 __cpp_inheriting_constructors.
512
31f7f784
JM
5132016-11-01 Jason Merrill <jason@redhat.com>
514
2bc78e3c
JM
515 * c-cppbuiltin.c (c_cpp_builtins): Update
516 __cpp_inheriting_constructors.
517
31f7f784
JM
518 * c.opt (-fnew-inheriting-ctors): New.
519 * c-opts.c: Default to on for ABI 11+.
520
dcb466ec
JJ
5212016-10-31 Jakub Jelinek <jakub@redhat.com>
522
523 PR c++/77948
524 * c.opt (fext-numeric-literals): Add Var and Init.
525 * c-opts.c (c_common_handle_option): Don't clear
526 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
527 (c_common_post_options): Clear it here if not set
528 explicitly.
529
52e1b91e
AH
5302016-10-28 Aldy Hernandez <aldyh@redhat.com>
531
532 PR debug/77773
533 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
534 if NULL.
535
e16f1cc7
JJ
5362016-10-25 Jakub Jelinek <jakub@redhat.com>
537
538 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
539 * c-common.c (c_common_reswords): Add __builtin_launder.
540
f8348061
BE
5412016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
542
543 * c-common.c (c_common_truthvalue_conversion): Warn for
544 multiplications in boolean context. Fix the quoting of '<<' and '<'
545 in the shift warning.
546
eff89e01
BE
5472016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
548
549 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
550
24bc7bf4
JM
5512016-10-20 Jason Merrill <jason@redhat.com>
552
553 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
554
4c712374
BE
5552016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
556
557 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
558 integer shift ops in boolean context.
559
5602016-10-18 Aldy Hernandez <aldyh@redhat.com>
adc577c5
AH
561
562 * c.opt (Walloca): New.
563 (Walloca-larger-than=): New.
564 (Wvla-larger-than=): New.
565
8fa18c06
MP
5662016-10-17 Marek Polacek <polacek@redhat.com>
567
568 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
569 Return immediately when finding a match.
570 (warn_tautological_cmp): Remove a boolean variable that is no longer
571 needed.
572
b12b1915
MP
5732016-10-17 Marek Polacek <polacek@redhat.com>
574
575 * c-attribs.c: New file.
576 * c-common.c: Move attributes handling to c-attribs.c.
577 (get_nonnull_operand): No longer static.
578 * c-common.h: Move the declarations from c-attribs.c to its own section.
579
2045acd9
JM
5802016-10-14 Jason Merrill <jason@redhat.com>
581
582 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
583 and __cpp_deduction_guides.
584
14a2c9aa
JM
5852016-10-13 Jason Merrill <jason@redhat.com>
586
587 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
588
4d0cdd0c
TP
5892016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
590
591 * c-cppbuiltin.c: Include memmodel.h.
592 * c-opts.c: Likewise.
593 * c-pragma.c: Likewise.
594 * c-warn.c: Likewise.
595
70f6d5e1
JJ
5962016-10-12 Jakub Jelinek <jakub@redhat.com>
597
598 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
599 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
600 * c-opts.c (sanitize_cpp_opts): Initialize
601 cpp_opts->cpp_warn_implicit_fallthrough.
602
78f61294
MP
6032016-10-11 Marek Polacek <polacek@redhat.com>
604
605 * c-common.c (warning_candidate_p): Change the return type to bool
606 and return true/false instead of 1/0.
607 (vector_mode_valid_p): Likewise.
608
038b5cc0
MP
6092016-10-11 Marek Polacek <polacek@redhat.com>
610
611 * c-common.c (fold_for_warn): No longer static.
612 (bool_promoted_to_int_p): Likewise.
613 (c_common_get_narrower): Likewise.
614 (constant_expression_warning): Move to c-warn.c.
615 (constant_expression_error): Likewise.
616 (overflow_warning): Likewise.
617 (warn_logical_operator): Likewise.
618 (find_array_ref_with_const_idx_r): Likewise.
619 (warn_tautological_cmp): Likewise.
620 (expr_has_boolean_operands_p): Likewise.
621 (warn_logical_not_parentheses): Likewise.
622 (warn_if_unused_value): Likewise.
623 (strict_aliasing_warning): Likewise.
624 (sizeof_pointer_memaccess_warning): Likewise.
625 (check_main_parameter_types): Likewise.
626 (conversion_warning): Likewise.
627 (warnings_for_convert_and_check): Likewise.
628 (match_case_to_enum_1): Likewise.
629 (match_case_to_enum): Likewise.
630 (c_do_switch_warnings): Likewise.
631 (warn_for_omitted_condop): Likewise.
632 (readonly_error): Likewise.
633 (lvalue_error): Likewise.
634 (invalid_indirection_error): Likewise.
635 (warn_array_subscript_with_type_char): Likewise.
636 (warn_about_parentheses): Likewise.
637 (warn_for_unused_label): Likewise.
638 (warn_for_div_by_zero): Likewise.
639 (warn_for_memset): Likewise.
640 (warn_for_sign_compare): Likewise.
641 (do_warn_double_promotion): Likewise.
642 (do_warn_unused_parameter): Likewise.
643 (record_locally_defined_typedef): Likewise.
644 (maybe_record_typedef_use): Likewise.
645 (maybe_warn_unused_local_typedefs): Likewise.
646 (maybe_warn_bool_compare): Likewise.
647 (maybe_warn_shift_overflow): Likewise.
648 (warn_duplicated_cond_add_or_warn): Likewise.
649 (diagnose_mismatched_attributes): Likewise.
650 * c-common.h: Move the declarations from c-warn.c to its own section.
651 * c-warn.c: New file.
652
627be19f
JM
6532016-10-08 Jason Merrill <jason@redhat.com>
654
655 * c-common.c (c_common_truthvalue_conversion): Don't distribute
656 into COND_EXPR in C++.
657
7bad794a
JJ
6582016-10-08 Jakub Jelinek <jakub@redhat.com>
659
660 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
661 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
662 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
663
be845b04
JJ
6642016-10-07 Jakub Jelinek <jakub@redhat.com>
665
666 Implement LWG2296 helper intrinsic
667 * c-common.h (enum rid): Add RID_ADDRESSOF.
668 * c-common.c (c_common_reswords): Add __builtin_addressof.
669
c09c4992
BE
6702016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
671
672 PR c++/77700
673 * c-common.c (c_common_truthvalue_conversion): Warn also for
674 suspicious enum values in boolean context.
675
342cfb3e
JJ
6762016-10-06 Jakub Jelinek <jakub@redhat.com>
677
678 Implement P0258R2 - helper for C++17
679 std::has_unique_object_representations trait
680 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
681 * c-common.c (c_common_reswords): Add
682 __has_unique_object_representations.
683
2e69f143
JJ
6842016-10-05 Jakub Jelinek <jakub@redhat.com>
685
686 PR sanitizer/66343
687 * c-ubsan.c (ubsan_instrument_return): Don't call
688 initialize_sanitizer_builtins here.
689
700fff34
BE
6902016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
691
692 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
693 conditional expression in boolean context when only one arm is
694 non-boolean.
695
9563bfcd
JJ
6962016-10-05 Jakub Jelinek <jakub@redhat.com>
697
04a32443
JJ
698 PR sanitizer/77823
699 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
700 is not integral.
701
9563bfcd
JJ
702 * c-common.c (c_common_reswords): Update comment for C++11.
703
f1644724
JM
7042016-10-04 Jason Merrill <jason@redhat.com>
705
706 * c-common.c (make_tree_vector_from_ctor): New.
707 * c-common.h: Declare it.
708
5a79befb
JJ
7092016-10-04 Jakub Jelinek <jakub@redhat.com>
710
711 * c-cppbuiltin.c (c_cpp_builtins): Don't define
712 __LIBGCC_JCR_SECTION_NAME__.
713
1633d3b9
BE
7142016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
715
716 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
717 left shift in boolean context.
718
a2c6e7f2
JJ
7192016-09-29 Jakub Jelinek <jakub@redhat.com>
720
721 Implement P0001R1 - C++17 removal of register storage class specifier
722 * c.opt (Wregister): New warning.
723 * c-opts.c (c_common_post_options): Enable -Wregister by
724 default for C++17.
725
75304c87
JG
7262016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
727
728 * c-opts.c (c_common_post_options): Remove special case for
729 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
730 in C++.
731
bbfac6da
JJ
7322016-09-27 Jakub Jelinek <jakub@redhat.com>
733
6e39060a
JJ
734 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
735 -std=c++1z.
736
bbfac6da
JJ
737 * c-ada-spec.c (print_ada_declaration): Remove break after return.
738
e73cf9a2
TP
7392016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
740
741 * c-common.c: Include memmodel.h.
742
c6147dc4
MP
7432016-09-26 Marek Polacek <polacek@redhat.com>
744
745 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
746
81fea426
MP
7472016-09-26 Marek Polacek <polacek@redhat.com>
748
749 PR c/7652
750 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
751 (handle_fallthrough_attribute): New function.
752 (attribute_fallthrough_p): New function.
753 * c-common.h (attribute_fallthrough_p): Declare.
754
9a2300e9
MP
7552016-09-24 Marek Polacek <polacek@redhat.com>
756
757 PR c/77490
758 * c.opt (Wbool-operation): New.
759
a09e9e35
BE
7602016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
761
762 * c-common.c (c_common_truthvalue_conversion): Inhibit
763 Wint-in-bool-context warning with from_macro_definition_at.
764 Mention the expression will always evaluate to true.
765
d43b4ccc
MS
7662016-09-21 Martin Sebor <msebor@redhat.com>
767
768 PR bootstrap/77676
769 * c.opt (fprintf-return-value): Temporarily initialize to zero
770 to unblock bootstrap failures.
771
2e1c20b1
JJ
7722016-09-21 Jakub Jelinek <jakub@redhat.com>
773
774 PR c++/77651
775 * c.opt (Waligned-new=): Add RejectNegative.
776 (faligned-new=): Likewise. Spelling fix - change
777 aligned_new_threshhold to aligned_new_threshold.
778 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
779 to aligned_new_threshold.
780
88d0c3f0
MS
7812016-09-20 Martin Sebor <msebor@redhat.com>
782
783 PR middle-end/49905
784 * c.opt: Add -Wformat-length and -fprintf-return-value.
785
144a96e4
BE
7862016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
787
788 PR c++/77434
789 * c.opt (Wint-in-bool-context): New warning.
790 * c-common.c (c_common_truthvalue_conversion): Warn on integer
791 constants in boolean context.
792
63012d9a
JM
7932016-09-19 Joseph Myers <joseph@codesourcery.com>
794
795 * c-common.c (max_align_t_align): Also consider alignment of
796 float128_type_node.
797
931388ce
JM
7982016-09-15 Jason Merrill <jason@redhat.com>
799
800 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
801 DECL_EXTERNAL.
802
38711381
JM
8032016-09-14 Jason Merrill <jason@redhat.com>
804
805 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
806 limit FIELD_DECL, either.
807
e51fbec3
MP
8082016-09-14 Marek Polacek <polacek@redhat.com>
809
810 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
811 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
812 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
813
254830ba
DM
8142016-09-13 David Malcolm <dmalcolm@redhat.com>
815
816 * c-common.c (warn_logical_not_parentheses): Replace
817 rich_location::add_fixit_insert calls with add_fixit_insert_before
818 and add_fixit_insert_after, eliminating the "next_loc" calculation.
819
42763690
JM
8202016-09-13 Jason Merrill <jason@redhat.com>
821 Tom de Vries <tom@codesourcery.com>
822
823 PR c++/77427
824 * c-common.c (set_underlying_type): Don't treat array as builtin type.
825
9453eee9
JM
8262016-09-13 Jason Merrill <jason@redhat.com>
827
828 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
829 limit types at all.
830
e96809e3
JM
8312016-09-12 Jason Merrill <jason@redhat.com>
832
833 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
834 bit/byte confusion, allow large alignment for types.
835
54dcdb88
BE
8362016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
837
838 PR c++/77496
839 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
840
d1463eb9
DM
8412016-09-12 David Malcolm <dmalcolm@redhat.com>
842
843 PR c/72858
844 * c-format.c (argument_parser::check_argument_type): Add params
845 "type_start" and "conversion_char". Use the former to generate
846 offset_to_type_start and pass it and conversion_char to
847 check_format_types.
848 (check_format_info_main): Capture the start of the type
849 information as "type_start", and pass it an format_char
850 to arg_parser.check_argument_type.
851 (check_format_types): Provide an example in the leading comment.
852 Add params "offset_to_type_start" and "conversion_char"; pass
853 them to format_type_warning calls.
854 (test_get_modifier_for_format_len): Likewise.
855 (matching_type_p): New function.
856 (get_format_for_type): Add param "conversion_char" and move
857 implementation into...
858 (get_format_for_type_1): ...new function, called twice.
859 Use new function matching_type_p rather than checking for
860 TYPE_CANONICAL equality.
861 (get_corrected_substring): New function.
862 (format_type_warning): Provide an example in the leading comment.
863 Add params "offset_to_type_start" and "conversion_char". Replace
864 call to get_format_for_type with call to get_corrected_substring
865 and move rejection of hints for widths/precisions there.
866 (assert_format_for_type_streq): Add param "conversion_char".
867 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
868 (test_get_format_for_type_printf): Add conversion chars to the
869 tests, adding coverage for various combinations of integer
870 vs double conversions, and for preserving octal and hexadecimal
871 conversions.
872 (test_get_format_for_type_scanf): Add conversion chars to the
873 tests.
874
5b28efbb
TV
8752016-09-10 Tom de Vries <tom@codesourcery.com>
876
877 PR C/71602
878 * c-common.c (build_va_arg): Handle more strict
879 targetm.canonical_va_list_type. Replace first argument type error with
880 assert.
881
3f0177e7
MS
8822016-09-09 Martin Sebor <msebor@redhat.com>
883
884 PR c/77520
885 PR c/77521
886 * c-format.c (argument_parser::find_format_char_info): Use %qc
887 format directive unconditionally.
888
af63ba4b
JM
8892016-09-09 Jason Merrill <jason@redhat.com>
890
891 Implement C++17 new of over-aligned types.
892 * c.opt: Add -faligned-new and -Waligned-new.
893 * c-common.c (max_align_t_align): Split out from...
894 (cxx_fundamental_alignment_p): ...here.
895 * c-common.h: Declare it.
896 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
897
c65248cb
JM
8982016-09-09 Joseph Myers <joseph@codesourcery.com>
899
900 * c-cppbuiltin.c (builtin_define_type_width): New function.
901 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
902 macros.
903
e5106e27
DM
9042016-09-07 David Malcolm <dmalcolm@redhat.com>
905
906 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
907 a POINTER_TYPE.
908 (substring_loc::get_location): Move to substring-locations.c,
909 keeping implementation as...
910 (c_get_substring_location): New function, from the above, reworked
911 to use accessors rather than member lookup.
912 * c-common.h (class substring_loc): Move to substring-locations.h,
913 replacing with a forward decl.
914 (c_get_substring_location): New decl.
915 * c-format.c: Include "substring-locations.h".
916 (format_warning_va): Move to substring-locations.c.
917 (format_warning_at_substring): Likewise.
918
a42e7952
MS
9192016-09-06 Martin Sebor <msebor@redhat.com>
920
921 PR c/77336
922 * c-format.c (check_function_format): Avoid issuing warnings for
923 functions unless they call format functions with non-constant
924 format strings.
925
b772a565
RB
9262016-09-06 Richard Biener <rguenther@suse.de>
927
928 PR c/77450
929 * c-common.c (c_common_mark_addressable_vec): Handle
930 COMPOUND_LITERAL_EXPR.
931
25ff5dd3
MP
9322016-09-05 Marek Polacek <polacek@redhat.com>
933
934 PR c/77423
935 * c-common.c (bool_promoted_to_int_p): New function.
936 (expr_has_boolean_operands_p): New function.
937 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
938 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
939
21234eb5
TV
9402016-09-04 Tom de Vries <tom@codesourcery.com>
941
942 revert:
943 2016-08-29 Tom de Vries <tom@codesourcery.com>
944
945 * c-common.c (build_va_arg): Replace first argument type error
946 with assert.
947
9dc5773f
JJ
9482016-09-02 Jakub Jelinek <jakub@redhat.com>
949
950 PR c/65467
951 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
952 (c_finish_omp_for): Reject _Atomic qualified iterators.
953
9542016-09-01 Martin Sebor <msebor@redhat.com>
3d7b83b6
MS
955
956 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
957 size to guarantee it fits the output of the formatted function
958 regardless of its arguments.
959
295844f6
MP
9602016-09-01 Marek Polacek <polacek@redhat.com>
961
962 PR c/7652
963 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
964 FALLTHRU comments.
965
3d06b6f2
MP
9662016-08-29 Marek Polacek <polacek@redhat.com>
967
968 PR c/77292
969 * c-common.c (warn_logical_not_parentheses): Don't warn for
970 a comparison or a logical operator.
971
34cedad5
TV
9722016-08-29 Tom de Vries <tom@codesourcery.com>
973
974 * c-common.c (build_va_arg): Fix type comparison assert.
975
f162d717
TV
9762016-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
ba9bbd6f
TV
9812016-08-29 Tom de Vries <tom@codesourcery.com>
982
983 PR c/77398
984 * c-common.c (build_va_arg): Add first argument error. Build va_arg
985 with error_mark_node as va_list instead of with illegal va_list.
986
ebef225f
MP
9872016-08-25 Marek Polacek <polacek@redhat.com>
988 David Malcolm <dmalcolm@redhat.com>
989
990 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
991 * c-common.h (warn_logical_not_parentheses): Update declaration.
992
b00e6e75
MP
9932016-08-22 Marek Polacek <polacek@redhat.com>
994
995 PR c++/77321
996 * c-common.c (warn_for_memset): Check type for null.
997
6dc198e3
JM
9982016-08-22 Joseph Myers <joseph@codesourcery.com>
999
1000 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
1001 _FloatNx types for suffixes for built-in functions.
1002
c65699ef
JM
10032016-08-19 Joseph Myers <joseph@codesourcery.com>
1004
1005 PR c/32187
1006 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
1007 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
1008 (RID_FLOAT128X): New enum rid values.
1009 (CASE_RID_FLOATN_NX): New macro.
1010 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
1011 keywords.
1012 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
1013 corresponding complex types.
1014 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
1015 _FloatNx and corresponding complex types.
1016 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
1017 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
1018 and _FloatNx types for the widest type for determining
1019 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
1020 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
1021 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
1022 and _FloatNx types.
1023 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
1024 constants.
1025 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
1026 _FloatNx types.
1027
cc015f3a
DM
10282016-08-18 David Malcolm <dmalcolm@redhat.com>
1029
1030 * c-opts.c (c_diagnostic_finalizer): Update for change to
1031 diagnostic_show_locus.
1032
cb18fd07
DM
10332016-08-18 David Malcolm <dmalcolm@redhat.com>
1034
1035 * c-common.c: Include "spellcheck.h".
1036 (cb_get_suggestion): New function.
1037 * c-common.h (cb_get_suggestion): New decl.
1038 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
1039 cb_get_suggestion.
1040
a76989dc
MP
10412016-08-18 Marek Polacek <polacek@redhat.com>
1042
1043 PR c/71514
1044 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
1045 and pointer-to-VLA.
1046
65e736c0
DM
10472016-08-16 David Malcolm <dmalcolm@redhat.com>
1048
1049 PR c/72857
1050 * c-common.c (substring_loc::get_range): Rename to...
1051 (substring_loc::get_location): ...this, converting param from a
1052 source_range * to a location_t *. Call
1053 get_source_location_for_substring rather than
1054 get_source_range_for_substring, and pass in m_caret_idx.
1055 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
1056 (substring_loc::get_range): Replace with...
1057 (substring_loc::get_location): ...this.
1058 (substring_loc::set_caret_index): New method.
1059 (substring_loc): Add field m_caret_idx.
1060 * c-format.c (format_warning_va): Update for above changes.
1061 Rename local "substring_loc" to "fmt_substring_loc" to avoid
1062 clashing with type name.
1063 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
1064 (check_argument_type): Likewise.
1065 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
1066 Use a copy when emitting warnings, setting the caret index from TYPE.
1067
7e1dde14 10682016-08-16 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 1069 Arnaud Charlet <charlet@adacore.com>
7e1dde14
EB
1070
1071 * c-ada-spec.c (dump_number): New function.
1072 (handle_escape_character): Likewise.
1073 (print_ada_macros): Add handling of constant integers and strings.
1074
191816a3
MP
10752016-08-12 Marek Polacek <polacek@redhat.com>
1076
1077 PR c/7652
1078 * c-common.c (scalar_to_vector): Adjust fall through comment.
1079 * c-opts.c (c_common_handle_option): Likewise.
1080 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
1081 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
1082 fall through comment.
1083 * cilk.c (extract_free_variables): Add FALLTHRU.
1084
452df4a4
JM
10852016-08-10 Jason Merrill <jason@redhat.com>
1086
1087 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
1088
f3365c12
JM
10892016-08-09 Jason Merrill <jason@redhat.com>
1090
1091 * c-common.c (c_common_attribute_table): vector_size affects type
1092 identity.
1093
f0bc3323
MP
10942016-08-09 Marek Polacek <polacek@redhat.com>
1095
1096 PR c/7652
1097 * c-ada-spec.c (dump_generic_ada_node): Add return.
1098
98e5a19a
JM
10992016-08-09 Jason Merrill <jason@redhat.com>
1100
1101 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1102 C++17 constexpr lambdas.
1103
895aa8e1
DM
11042016-08-08 David Malcolm <dmalcolm@redhat.com>
1105
1106 PR c/64955
1107 * c-common.h (selftest::c_format_c_tests): New declaration.
1108 (selftest::run_c_tests): New declaration.
1109 * c-format.c: Include "selftest.h.
1110 (format_warning_va): Add param "corrected_substring" and use
1111 it to add a replacement fix-it hint.
1112 (format_warning_at_substring): Likewise.
1113 (format_warning_at_char): Update for new param of
1114 format_warning_va.
1115 (argument_parser::check_argument_type): Pass "fki" to
1116 check_format_types.
1117 (check_format_types): Add param "fki" and pass it to
1118 format_type_warning.
1119 (deref_n_times): New function.
1120 (get_modifier_for_format_len): New function.
1121 (selftest::test_get_modifier_for_format_len): New function.
1122 (get_format_for_type): New function.
1123 (format_type_warning): Add param "fki" and use it to attempt
1124 to provide hints for argument types when calling
1125 format_warning_at_substring.
1126 (selftest::get_info): New function.
1127 (selftest::assert_format_for_type_streq): New function.
1128 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1129 (selftest::test_get_format_for_type_printf): New function.
1130 (selftest::test_get_format_for_type_scanf): New function.
1131 (selftest::c_format_c_tests): New function.
1132
e52ed3fe
DM
11332016-08-08 David Malcolm <dmalcolm@redhat.com>
1134
1135 PR c/52952
1136 * c-format.c: Include "diagnostic.h".
1137 (location_column_from_byte_offset): Delete.
1138 (location_from_offset): Delete.
1139 (format_warning_va): New function.
1140 (format_warning_at_substring): New function.
1141 (format_warning_at_char): New function.
1142 (check_format_arg): Capture location of format_tree and pass to
1143 check_format_info_main.
1144 (argument_parser): Add fields "start_of_this_format" and
1145 "format_string_cst".
1146 (flag_chars_t::validate): Add param "format_string_cst". Convert
1147 warning_at call using location_from_offset to call to
1148 format_warning_at_char.
1149 (argument_parser::argument_parser): Add param "format_string_cst_"
1150 and use use it to initialize field "format_string_cst".
1151 Initialize new field "start_of_this_format".
1152 (argument_parser::read_format_flags): Convert warning_at call
1153 using location_from_offset to a call to format_warning_at_char.
1154 (argument_parser::read_any_format_left_precision): Likewise.
1155 (argument_parser::read_any_format_precision): Likewise.
1156 (argument_parser::read_any_other_modifier): Likewise.
1157 (argument_parser::find_format_char_info): Likewise, in three places.
1158 (argument_parser::parse_any_scan_set): Likewise, in one place.
1159 (argument_parser::handle_conversions): Likewise, in two places.
1160 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1161 and use it to make a substring_loc. Pass the latter to
1162 check_format_types.
1163 (check_format_info_main): Add params "fmt_param_loc" and
1164 "format_string_cst". Convert warning_at calls using
1165 location_from_offset to calls to format_warning_at_char. Pass the
1166 new params to the arg_parser ctor. Pass "format_string_cst" to
1167 flag_chars.validate. Pass "fmt_param_loc" to
1168 arg_parser.check_argument_type.
1169 (check_format_types): Convert first param from a location_t
1170 to a const substring_loc & and rename to "fmt_loc". Attempt
1171 to extract the range of the relevant parameter and pass it
1172 to format_type_warning.
1173 (format_type_warning): Convert first param from a location_t
1174 to a const substring_loc & and rename to "fmt_loc". Add
1175 params "param_range" and "type". Replace calls to warning_at
1176 with calls to format_warning_at_substring.
1177
1c4d457e
DM
11782016-08-08 David Malcolm <dmalcolm@redhat.com>
1179
1180 * c-format.c (class flag_chars_t): New class.
1181 (struct length_modifier): New struct.
1182 (class argument_parser): New class.
1183 (flag_chars_t::flag_chars_t): New ctor.
1184 (flag_chars_t::has_char_p): New method.
1185 (flag_chars_t::add_char): New method.
1186 (flag_chars_t::validate): New method.
1187 (flag_chars_t::get_alloc_flag): New method.
1188 (flag_chars_t::assignment_suppression_p): New method.
1189 (argument_parser::argument_parser): New ctor.
1190 (argument_parser::read_any_dollar): New method.
1191 (argument_parser::read_format_flags): New method.
1192 (argument_parser::read_any_format_width): New method.
1193 (argument_parser::read_any_format_left_precision): New method.
1194 (argument_parser::read_any_format_precision): New method.
1195 (argument_parser::handle_alloc_chars): New method.
1196 (argument_parser::read_any_length_modifier): New method.
1197 (argument_parser::read_any_other_modifier): New method.
1198 (argument_parser::find_format_char_info): New method.
1199 (argument_parser::validate_flag_pairs): New method.
1200 (argument_parser::give_y2k_warnings): New method.
1201 (argument_parser::parse_any_scan_set): New method.
1202 (argument_parser::handle_conversions): New method.
1203 (argument_parser::check_argument_type): New method.
1204 (check_format_info_main): Introduce classes argument_parser
1205 and flag_chars_t, moving the code within the loop into methods
1206 of these classes. Make various locals "const".
1207
88fa5555
DM
12082016-08-05 David Malcolm <dmalcolm@redhat.com>
1209
1210 * c-common.c: Include "substring-locations.h".
1211 (get_cpp_ttype_from_string_type): New function.
1212 (g_string_concat_db): New global.
1213 (substring_loc::get_range): New method.
1214 * c-common.h (g_string_concat_db): New declaration.
1215 (class substring_loc): New class.
1216 * c-lex.c (lex_string): When concatenating strings, capture the
1217 locations of all tokens using a new obstack, and record the
1218 concatenation locations within g_string_concat_db.
1219 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1220 on the ggc-heap.
1221
78169471
MP
12222016-07-29 Marek Polacek <polacek@redhat.com>
1223
638fc14f
MP
1224 PR c/71926
1225 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1226 parentheses warning.
1227
78169471
MP
1228 PR c/71574
1229 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1230
1225d6b1
ML
12312016-07-28 Martin Liska <mliska@suse.cz>
1232
1233 PR gcov-profile/68025
1234 * c-common.c (handle_no_profile_instrument_function_attribute):
1235
ec1e2a40
BE
12362016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1237
1238 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1239 BITS_PER_UNIT_LOG.
1240
5ec2cd9f
JM
12412016-07-25 Jason Merrill <jason@redhat.com>
1242
1243 PR c++/65970
1244 * c.opt (fconstexpr-loop-limit): New.
1245
9dc5773f 12462016-07-22 Martin Sebor <msebor@redhat.com>
2e6b45af
MS
1247
1248 PR c++/71675
1249 * c-common.c (resolve_overloaded_builtin): Avoid converting
1250 __atomic_compare_exchange_n return type to that of what its
1251 first argument points to.
1252
e3fe09c1
UB
12532016-07-22 Uros Bizjak <ubizjak@gmail.com>
1254
1255 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1256 ~(unsigned HOST_WIDE_INT) 0.
1257
bc91c436
ML
12582016-07-22 Martin Liska <mliska@suse.cz>
1259
1260 PR gcov-profile/69028
1261 PR gcov-profile/62047
1262 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1263 to the current_function_decl.
1264
451dcc66
JM
12652016-07-21 Jason Merrill <jason@redhat.com>
1266
1267 PR c++/65168
1268 * c-common.c (c_common_truthvalue_conversion): Check
1269 c_inhibit_evaluation_warnings for warning about address of
1270 reference.
1271
de6a69ee
DM
12722016-07-20 David Malcolm <dmalcolm@redhat.com>
1273
1274 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1275 const char *.
1276
d022c55a
JM
12772016-07-15 Jason Merrill <jason@redhat.com>
1278
1279 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1280
ddbbcb19
JJ
12812016-07-15 Jakub Jelinek <jakub@redhat.com>
1282
1283 PR c/71858
1284 * c-common.h (enum lookup_name_fuzzy_kind): Add
1285 FUZZY_LOOKUP_FUNCTION_NAME.
1286
d0cf395a
JM
12872016-07-08 Jason Merrill <jason@redhat.com>
1288
1289 P0145: Refining Expression Order for C++.
1290 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1291 * c-opts.c: Adjust.
1292
98d44e93
MT
12932016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1294
1295 PR c++/71214
1296 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1297
f9d8d994
TS
12982016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1299
1300 * c-pragma.h (enum pragma_kind): Rename
1301 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1302 users.
1303
4aa83879
RB
13042016-06-29 Richard Biener <rguenther@suse.de>
1305
1306 PR middle-end/71002
1307 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1308
a25bd9e6
JM
13092016-06-24 Jason Merrill <jason@redhat.com>
1310
1311 P0145R2: Refining Expression Order for C++.
1312 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1313 MODIFY_EXPR.
1314
a86451b9
JJ
13152016-06-24 Jakub Jelinek <jakub@redhat.com>
1316
1317 * c-common.c (check_builtin_function_arguments): Require last
1318 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1319 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1320 if the last argument is pointer to enumerated or boolean type.
1321
1a4f11c8
DM
13222016-06-22 David Malcolm <dmalcolm@redhat.com>
1323
1324 PR c/70339
1325 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1326 (lookup_name_fuzzy): New prototype.
1327
fe55692c
JDA
13282016-06-21 John David Anglin <danglin@gcc.gnu.org>
1329
1330 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1331
4eb24e01
JM
13322016-06-14 Jason Merrill <jason@redhat.com>
1333
1334 P0145R2: Refining Expression Order for C++.
1335 * c.opt (fargs-in-order): New.
1336 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1337
ef7cf206
JJ
13382016-06-13 Jakub Jelinek <jakub@redhat.com>
1339
0dda258b
JJ
1340 PR sanitizer/71498
1341 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1342 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1343
ef7cf206
JJ
1344 PR preprocessor/71183
1345 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1346 to cb_get_source_date_epoch.
1347
50b15873
JJ
13482016-06-10 Jakub Jelinek <jakub@redhat.com>
1349
1350 PR c/68657
1351 * c.opt (Wpsabi): Add Warning flag.
1352
4d926e34
MS
13532016-06-10 Martin Sebor <msebor@redhat.com>
1354
1355 PR c/71392
1356 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1357 the nonnull attribute in type-generic builtins.
1358
e01b4e16
MS
13592016-06-09 Martin Sebor <msebor@redhat.com>
1360
1361 PR c/70883
1362 * c-common.c (builtin_function_validate_nargs): Make text of error
1363 message consistent with others like it.
1364
44a845ca
MS
13652016-06-08 Martin Sebor <msebor@redhat.com>
1366 Jakub Jelinek <jakub@redhat.com>
1367
1368 PR c++/70507
1369 PR c/68120
1370 * c-common.c (check_builtin_function_arguments): Handle
1371 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1372
a80a7051
RB
13732016-06-08 Richard Biener <rguenther@suse.de>
1374
1375 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1376
bfd67b47
RB
13772016-06-07 Richard Biener <rguenther@suse.de>
1378
1379 PR c/61564
1380 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1381 options and warn about others.
1382
15c98b2e
ES
13832016-06-01 Eduard Sanou <dhole@openmailbox.org>
1384
1385 * c-common.c (get_source_date_epoch): Rename to
1386 cb_get_source_date_epoch.
1387 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1388 message when the parsing fails. Use error_at instead of fatal_error.
1389 * c-common.h (get_source_date_epoch): Rename to
1390 cb_get_source_date_epoch.
1391 * c-common.h (cb_get_source_date_epoch): Prototype.
1392 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1393 * c-common.h (c_omp_region_type): Remove trailing comma.
1394 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1395 * c-lex.c (c_lex_with_flags): Remove initialization of
1396 pfile->source_date_epoch.
1397
00631022
JJ
13982016-05-30 Jakub Jelinek <jakub@redhat.com>
1399
1400 PR c++/71349
1401 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1402 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1403 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1404 instead of C_OMP_CLAUSE_SPLIT_FOR.
1405
f17a223d
RB
14062016-05-24 Richard Biener <rguenther@suse.de>
1407
1408 PR middle-end/70434
1409 PR c/69504
1410 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1411 (convert_vector_to_array_for_subscript): ... this.
1412 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1413 VIEW_CONVERT_EXPR to an array type. Rename to ...
1414 (convert_vector_to_array_for_subscript): ... this.
1415
4f2e1536
MP
14162016-05-12 Marek Polacek <polacek@redhat.com>
1417
1418 PR c/70756
1419 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1420 size_in_bytes and pass LOC to it.
1421
d6e83a8d
MM
14222016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1423
1424 PR c/43651
1425 * c.opt (Wduplicate-decl-specifier): New option.
1426
5c3a10fb
MP
14272016-05-11 Marek Polacek <polacek@redhat.com>
1428
1429 PR c++/71024
1430 * c-common.c (diagnose_mismatched_attributes): New function.
1431 * c-common.h (diagnose_mismatched_attributes): Declare.
1432
deef7113
MP
14332016-05-04 Marek Polacek <polacek@redhat.com>
1434
1435 * c.opt (Wdangling-else): New option.
1436
79ce98bc
MP
14372016-05-03 Marek Polacek <polacek@redhat.com>
1438
1439 PR c/70859
1440 * c-common.c (builtin_function_validate_nargs): Add location
1441 parameter. Use it.
1442 (check_builtin_function_arguments): Add location and arguments
1443 parameters. Use them.
1444 * c-common.h (check_builtin_function_arguments): Update declaration.
1445
381cdae4
RB
14462016-05-03 Richard Biener <rguenther@suse.de>
1447
1448 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1449 allow call args to gimplify to SSA names.
1450
1d793c34
MP
14512016-05-03 Marek Polacek <polacek@redhat.com>
1452
1453 * c-common.h (enum c_omp_region_type): Remove stray comma.
1454
77886428
CP
14552016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1456
1457 * c-common.h (enum c_omp_region_type): Define.
1458
697e0b28
RS
14592016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1460
1461 * c-common.c (shorten_compare): Use wi::to_wide.
1462
e7ff0319
CP
14632016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1464
1465 PR middle-end/70626
1466 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1467 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1468 reduction clauses in acc parallel loops.
1469
2fff3db8
MP
14702016-04-29 Marek Polacek <polacek@redhat.com>
1471
1472 PR c/70852
1473 * c-common.c (warn_for_memset): Check domain before accessing it.
1474
509063eb
DV
14752016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1476
1477 PR/69089
1478 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1479 "aligned" attribute.
1480
b632761d
JM
14812016-04-28 Jason Merrill <jason@redhat.com>
1482
1483 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1484
174f6622
ES
14852016-04-28 Eduard Sanou <dhole@openmailbox.org>
1486 Matthias Klose <doko@debian.org>
1487
1488 * c-common.c (get_source_date_epoch): New function, gets the environment
1489 variable SOURCE_DATE_EPOCH and parses it as long long with error
1490 handling.
1491 * c-common.h (get_source_date_epoch): Prototype.
1492 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1493
6bc2bb18
RB
14942015-04-27 Ryan Burn <contact@rnburn.com>
1495
1496 PR c++/69024
1497 PR c++/68997
1498 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1499 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1500 external linkage.
1501 (cilk_detect_and_unwrap): Corresponding changes.
1502 (extract_free_variables): Don't extract free variables from
1503 AGGR_INIT_EXPR slot.
1504 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1505 (cilk_recognize_spawn): Likewise.
1506
c1e1f433
BS
15072016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1508
1509 * c.opt (Wmemset-elt-size): New option.
1510 * c-common.c (warn_for_memset): New function.
1511 * c-common.h (warn_for_memset): Declare.
1512
d067e05f
JM
15132016-04-25 Jason Merrill <jason@redhat.com>
1514
1515 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1516 No longer static.
1517 * c-common.h: Declare it.
1518 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1519
9aa36ae5
JM
15202016-04-22 Jason Merrill <jason@redhat.com>
1521
1522 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1523
477d4906
IV
15242016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1525
1526 PR c++/69363
1527 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1528 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1529
fe37c7af
MM
15302016-04-18 Michael Matz <matz@suse.de>
1531
1532 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1533 and SET_DECL_ALIGN.
1534
23f2660f
EB
15352016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1536
1537 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1538 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1539 to incomplete types.
1540 (dump_nested_type): Remove redundant tests and tidy up.
1541 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1542 a type which is the typedef of an original type.
1543
1e77281b
MP
15442016-04-15 Marek Polacek <polacek@redhat.com>
1545
1546 PR c/70651
1547 * c-common.c (build_va_arg): Change two asserts into errors and return
1548 error_mark_node.
1549
b3a77f21
MP
15502016-04-13 Marek Polacek <polacek@redhat.com>
1551
1552 PR c++/70639
1553 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1554 for switch statements, too.
1555
322b8466
JM
15562016-03-28 Jason Merrill <jason@redhat.com>
1557
1558 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1559
fbdb6baf
MP
15602016-03-23 Marek Polacek <polacek@redhat.com>
1561
1562 PR c++/69884
1563 * c.opt (Wignored-attributes): New option.
1564
5c240f4d
DM
15652016-03-22 David Malcolm <dmalcolm@redhat.com>
1566
1567 PR c/69993
1568 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1569 diagnostic text, reversing the order of the warning and note so
1570 that they appear in source order.
1571
14ba7b28
MP
15722016-03-17 Marek Polacek <polacek@redhat.com>
1573
1574 PR c/69407
1575 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1576 operations.
1577
08a1cadc
JM
15782016-03-14 Jason Merrill <jason@redhat.com>
1579
2aaeea19
JM
1580 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1581
08a1cadc
JM
1582 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1583
c06d25bb
RB
15842016-03-09 Richard Biener <rguenther@suse.de>
1585
1586 PR c/70143
1587 * c-common.c (strict_aliasing_warning): Add back
1588 alias_sets_conflict_p check.
1589
80aac5c8
JM
15902016-03-08 Jason Merrill <jason@redhat.com>
1591
1592 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1593
64b23c13
DM
15942016-03-04 David Malcolm <dmalcolm@redhat.com>
1595
1596 PR c/68187
1597 * c-indentation.c (get_visual_column): Move code to determine next
1598 tab stop to...
1599 (next_tab_stop): ...this new function.
1600 (line_contains_hash_if): Delete function.
1601 (detect_preprocessor_logic): Delete function.
1602 (get_first_nws_vis_column): New function.
1603 (detect_intervening_unindent): New function.
1604 (should_warn_for_misleading_indentation): Replace call to
1605 detect_preprocessor_logic with a call to
1606 detect_intervening_unindent.
1607
729526f5
DM
16082016-03-04 David Malcolm <dmalcolm@redhat.com>
1609
1610 PR c/68187
1611 * c-indentation.c (should_warn_for_misleading_indentation): When
1612 suppressing warnings about cases where the guard and body are on
1613 the same column, only use the first non-whitespace column in place
1614 of the guard token column when dealing with "else" clauses.
1615 When rejecting aligned BODY and NEXT, loosen the requirement
1616 from equality with the first non-whitespace of guard to simply
1617 that they not be indented relative to it.
1618
e9a35493
RB
16192016-03-04 Richard Biener <rguenther@suse.de>
1620
1621 PR c++/70054
1622 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1623 instead of alias_sets_conflict_p.
1624
1be56bc5
MP
16252016-03-01 Marek Polacek <polacek@redhat.com>
1626
1627 PR c++/69795
1628 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1629 any DECL.
1630
35886f0b
MS
16312016-02-22 Martin Sebor <msebor@redhat.com>
1632
1633 PR middle-end/69780
1634 * c-common.c (check_builtin_function_arguments): Validate and
1635 reject invalid arguments to __builtin_alloca_with_align.
1636
4246c8da
MW
16372016-02-20 Mark Wielaard <mjw@redhat.com>
1638
1639 PR c/28901
1640 * c.opt (Wunused-const-variable): Turn into Alias for...
1641 (Wunused-const-variable=): New option.
1642
268be88c
BE
16432016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1644
1645 PR c++/69865
1646 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1647 here...
1648 (c_common_init_options): ...to here.
1649 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1650
871b3f47
JJ
16512016-02-19 Jakub Jelinek <jakub@redhat.com>
1652
1653 PR c++/69826
1654 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1655 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1656 flag_preprocess_only.
1657
bf14eba2
JJ
16582016-02-16 Jakub Jelinek <jakub@redhat.com>
1659
1660 PR c/69835
1661 * c.opt (Wnonnull-compare): Enable for -Wall.
1662
ba6b3795
JJ
16632016-02-15 Jakub Jelinek <jakub@redhat.com>
1664
1665 PR c++/69797
1666 * c-common.c (sync_resolve_size): Diagnose too few arguments
1667 even when params is non-NULL empty vector.
1668
a011cd92
BS
16692016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1670
1671 PR target/60410
1672 * c.opt (fshort-double): Remove.
1673
46cb9332
MS
16742016-02-05 Martin Sebor <msebor@redhat.com>
1675
1676 PR c++/69662
1677 * c.opt (Warning options): Update -Wplacement-new to take
1678 an optional argument.
1679
e1b81f2b
JJ
16802016-02-01 Jakub Jelinek <jakub@redhat.com>
1681
1682 PR preprocessor/69543
1683 PR c/69558
1684 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1685 instead of loc to control_warning_option.
1686
b6adbb9f
NS
16872016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1688
1689 * c.opt (fopenacc-dim=): New option.
1690
5d70666e
RB
16912016-01-27 Ryan Burn <contact@rnburn.com>
1692
1693 PR cilkplus/69267
1694 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1695 gimplify_arg. Removed superfluous post_p argument.
1696 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1697 superfluous post_p argument.
1698 * c-gimplify.c (c_gimplify_expr): Likewise.
1699
01e1dea3
DM
17002016-01-26 David Malcolm <dmalcolm@redhat.com>
1701
1702 PR other/69006
1703 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1704 pp_newline_and_flush with pp_flush.
1705
9f04a53e
MS
17062016-01-20 Martin Sebor <msebor@redhat.com>
1707
1708 PR c/69405
1709 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1710 an incompatible argument when the argument isn't a valid tree node.
1711
7f26f7df
JM
17122016-01-18 Jason Merrill <jason@redhat.com>
1713
1714 PR c++/68767
1715 * c-common.c (check_function_arguments_recurse): Fold the whole
1716 COND_EXPR, not just the condition.
1717
f62bf092
TV
17182016-01-18 Tom de Vries <tom@codesourcery.com>
1719
1720 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1721 classify as loop clause.
1722
e0a575ff
JJ
17232016-01-15 Jakub Jelinek <jakub@redhat.com>
1724
1725 PR bootstrap/68271
1726 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1727 C++ FE no longer has limit on number of pragmas.
1728
17292015-01-14 Ryan Burn <contact@rnburn.com>
b6e3db06
RB
1730
1731 PR c++/69048
1732 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
c47eaca6 1733 to add missing cleanup point.
b6e3db06 1734
c7df95d8
DM
17352016-01-14 David Malcolm <dmalcolm@redhat.com>
1736
1737 PR c++/68819
1738 * c-indentation.c (get_visual_column): Add location_t param.
1739 Handle the column number being zero by effectively disabling the
1740 warning, with an "inform".
1741 (should_warn_for_misleading_indentation): Add location_t argument
1742 for all uses of get_visual_column.
1743
21efdd80
PP
17442016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1745
1746 PR c++/69029
1747 * c-indentation.c (should_warn_for_misleading_indentation):
1748 Don't warn about do-while statements.
1749
7a127fa7
MS
17502016-01-07 Martin Sebor <msebor@redhat.com>
1751
1752 PR c/68966
1753 * c-common.c (sync_resolve_size): Reject first argument when it's
1754 a pointer to _Bool.
1755
c589e975
DM
17562016-01-05 David Malcolm <dmalcolm@redhat.com>
1757
1758 PR c/69122
1759 * c-indentation.c (get_visual_column): Remove default argument.
1760 (should_warn_for_misleading_indentation): For the multiline case,
1761 update call to get_visual_column for next_stmt_exploc so that it
1762 captures the location of the first non-whitespace character in the
1763 relevant line. Don't issue warnings if there is non-whitespace
1764 before the next statement.
1765
818ab71a
JJ
17662016-01-04 Jakub Jelinek <jakub@redhat.com>
1767
1768 Update copyright years.
1769
745e411d
DM
17702015-12-21 David Malcolm <dmalcolm@redhat.com>
1771
1772 * c-common.c (binary_op_error): Convert first param from
1773 location_t to rich_location * and use it when emitting an error.
1774 * c-common.h (binary_op_error): Convert first param from
1775 location_t to rich_location *.
1776
de67c4c3
DM
17772015-12-16 David Malcolm <dmalcolm@redhat.com>
1778
1779 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1780 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1781
4a38b02b
IV
17822015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1783
1784 * c-common.c (c_common_attribute_table): Handle "omp declare target
1785 link" attribute.
1786
54d62f51
JJ
17872015-12-14 Jakub Jelinek <jakub@redhat.com>
1788
1789 PR c/68833
1790 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1791
8d4227c8
TB
17922014-12-12 Tobias Burnus <burnus@net-b.de>
1793
1794 PR fortran/68815
1795 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1796 specifiers (%d, %i,%u and %c).
1797
f6069ccc
DM
17982015-12-10 David Malcolm <dmalcolm@redhat.com>
1799
1800 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1801
63bbf46d
JJ
18022015-12-08 Jakub Jelinek <jakub@redhat.com>
1803
1804 PR c/48088
1805 PR c/68657
1806 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1807 * c-pragma.c (handle_pragma_diagnostic): Adjust
1808 control_warning_option caller.
1809
f79520bb
DM
18102015-12-07 David Malcolm <dmalcolm@redhat.com>
1811
1812 * c-common.c (c_cpp_error): Update for change to
1813 rich_location::set_range.
1814
b3d5bc62
JJ
18152015-12-04 Paolo Bonzini <bonzini@gnu.org>
1816
1817 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1818 shifting 1 out of the sign bit.
1819
18202015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1821
1822 * c-common.c (c_common_attribute_table[]): Update max arguments
1823 count for "simd" attribute.
1824 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1825
6eb4a537
JJ
18262015-12-03 Jakub Jelinek <jakub@redhat.com>
1827
1828 PR preprocessor/57580
1829 * c-ppoutput.c (print): Change printed field to bool.
1830 Move src_file last for smaller padding.
1831 (init_pp_output): Set print.printed to false instead of 0.
1832 (scan_translation_unit): Fix up formatting. Set print.printed
1833 to true after printing something other than newline.
1834 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1835 (maybe_print_line_1): Set print.printed to false instead of 0.
1836 (print_line_1): Likewise.
1837 (do_line_change): Set print.printed to true instead of 1.
1838 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1839 dump_macro): Set print.printed to false after printing newline.
1840
4250754e
JM
18412015-12-02 Jason Merrill <jason@redhat.com>
1842
f479b43d
JM
1843 * c-common.c (fold_for_warn): New.
1844 (warn_logical_operator, warn_tautological_cmp)
1845 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1846
4250754e
JM
1847 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1848 (c_fully_fold_internal, decl_constant_value_for_optimization):
1849 Move to c/c-fold.c.
1850 * c-common.h: Don't declare decl_constant_value_for_optimization.
1851
e9e32ee6
JM
18522015-12-02 Joseph Myers <joseph@codesourcery.com>
1853
1854 PR c/68162
1855 * c-common.h (c_build_qualified_type): Add extra default
1856 arguments.
1857
37d5ad46
JB
18582015-12-01 Julian Brown <julian@codesourcery.com>
1859 Cesar Philippidis <cesar@codesourcery.com>
1860 James Norris <James_Norris@mentor.com>
1861
1862 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1863 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1864 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1865
f07862c7
EB
18662015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1867
1868 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1869 (decl_sloc_common): Delete and move bulk of processing to...
1870 (decl_sloc): ...here.
1871 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1872 (dump_ada_double_name): Remove S parameter and compute the suffix.
1873 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1874 element type and deal with an anonymous one.
1875 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1876 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1877 and remove reference to QUAL_UNION_TYPE.
1878 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1879 (dump_nested_type): ...here. New function extracted from above.
1880 Generate a full declaration for anonymous element type of arrays.
1881 (print_ada_declaration): Really skip anonymous declarations. Remove
1882 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1883 Clean up processing of declarations of array types and objects.
1884 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1885 Remove obsolete code and tidy up.
1886
75c8aac3
JH
18872015-11-29 Jan Hubicka <hubicka@ucw.cz>
1888
1889 PR c/67581
1890 * c-common.c (handle_transparent_union_attribute): Update
1891 also type variants.
1892
b58d3df2
ML
18932015-11-27 Martin Liska <mliska@suse.cz>
1894
1895 PR c++/68312
1896 * array-notation-common.c (cilkplus_extract_an_triplets):
1897 Release vector of vectors.
1898 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1899
89a01fcf
EB
19002015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1901
1902 PR c++/68527
1903 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1904 (print_ada_struct_decl): Likewise.
1905
cc5c5226
IZ
19062015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1907
1908 PR c++/68001
1909 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1910 * cilk.c (recognize_spawn): Determine location in a more precise
1911 way.
1912
269adb9d
JM
19132015-11-19 Jason Merrill <jason@redhat.com>
1914
1915 * c-common.c (shorten_compare): But look through macros from
1916 system headers.
1917
d0eccfcd
JM
19182015-11-18 Jason Merrill <jason@redhat.com>
1919
1920 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1921 non-constant operand comes from a macro.
1922
3e44547c
JM
19232015-11-17 Jason Merrill <jason@redhat.com>
1924
1925 PR bootstrap/68346
1926 * c-common.c (warn_tautological_cmp): Fold before checking for
1927 constants.
1928
0f62c7a0
MP
19292015-11-16 Marek Polacek <polacek@redhat.com>
1930
1931 PR c++/68362
1932 * c-common.c (check_case_bounds): Fold low and high cases.
1933
a868811e
MP
19342015-11-16 Marek Polacek <polacek@redhat.com>
1935
1936 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1937 * c-common.c (c_common_get_alias_set): Likewise.
1938 (handle_visibility_attribute): Likewise.
1939
fff77217
KY
19402015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1941
1942 * c-common.c (handle_simd_attribute): New.
1943 (struct attribute_spec): Add entry for "simd".
1944 (handle_simd_attribute): New.
1945
269e63b7
KT
19462015-11-13 Kai Tietz <ktietz70@googlemail.com>
1947
1948 * c-lex.c (interpret_float): Use fold_convert.
1949
ebedc9a3
DM
19502015-11-13 David Malcolm <dmalcolm@redhat.com>
1951
1952 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1953 and store it on the result.
1954 * c-opts.c (c_common_init_options): Set
1955 global_dc->colorize_source_p.
1956
6e232ba4
JN
19572015-11-12 James Norris <jnorris@codesourcery.com>
1958 Joseph Myers <joseph@codesourcery.com>
1959
1960 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1961 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1962 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1963 PRAGMA_OACC_CLAUSE_LINK.
1964
e78bede6
MP
19652015-11-11 Marek Polacek <polacek@redhat.com>
1966
1967 PR c/68107
1968 PR c++/68266
1969 * c-common.c (valid_array_size_p): New function.
1970 * c-common.h (valid_array_size_p): Declare.
1971
3f8257db 19722015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4ac93c7c
DH
1973
1974 PR bootstrap/68271
1975 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1976
69f293c9
AM
19772015-11-11 Andrew MacLeod <amacleod@redhat.com>
1978
1979 * array-notation-common.c: Remove unused header files.
1980 * c-ada-spec.c: Likewise.
1981 * c-cilkplus.c: Likewise.
1982 * c-common.c: Likewise.
1983 * c-cppbuiltin.c: Likewise.
1984 * c-dump.c: Likewise.
1985 * c-format.c: Likewise.
1986 * c-gimplify.c: Likewise.
1987 * c-indentation.c: Likewise.
1988 * c-lex.c: Likewise.
1989 * c-omp.c: Likewise.
1990 * c-opts.c: Likewise.
1991 * c-pch.c: Likewise.
1992 * c-ppoutput.c: Likewise.
1993 * c-pragma.c: Likewise.
1994 * c-pretty-print.c: Likewise.
1995 * c-semantics.c: Likewise.
1996 * c-ubsan.c: Likewise.
1997 * cilk.c: Likewise.
1998 * stub-objc.c: Likewise.
1999
3a40d81d
NS
20002015-11-09 Thomas Schwinge <thomas@codesourcery.com>
2001 Cesar Philippidis <cesar@codesourcery.com>
2002 James Norris <jnorris@codesourcery.com>
2003 Julian Brown <julian@codesourcery.com>
2004 Nathan Sidwell <nathan@codesourcery.com>
2005
2006 * c-pragma.c (oacc_pragmas): Add "routine".
2007 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
2008
ee45a32d
EB
20092015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2010
2011 * c-common.c (c_common_attributes): Add scalar_storage_order.
2012 (handle_scalar_storage_order_attribute): New function.
2013 * c-pragma.c (global_sso): New variable.
2014 (maybe_apply_pragma_scalar_storage_order): New function.
2015 (handle_pragma_scalar_storage_order): Likewise.
2016 (init_pragma): Register scalar_storage_order.
2017 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
2018 * c.opt (Wscalar-storage-order): New warning.
2019 (fsso-struct=): New option.
2020
eb11eb15
MS
20212015-11-08 Martin Sebor <msebor@redhat.com>
2022
2023 * c.opt (Wplacement-new): Add a period to the end of a sentence.
2024
0aad0198
RS
20252015-11-07 Richard Sandiford <richard.sandiford@arm.com>
2026
2027 * c-common.c: Don't undef DEF_BUILTIN.
2028
8a645150
DM
20292015-11-06 David Malcolm <dmalcolm@redhat.com>
2030
2031 * c-common.c (c_cpp_error): Convert parameter from location_t to
2032 rich_location *. Eliminate the "column_override" parameter and
2033 the call to diagnostic_override_column.
2034 Update the "done_lexing" clause to set range 0
2035 on the rich_location, rather than overwriting a location_t.
2036 * c-common.h (c_cpp_error): Convert parameter from location_t to
2037 rich_location *. Eliminate the "column_override" parameter.
2038
7a5e4956
CP
20392015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2040 Thomas Schwinge <thomas@codesourcery.com>
2041 James Norris <jnorris@codesourcery.com>
2042
2043 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
2044 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
2045 clauses with parallel and kernels and loops.
2046 * c-pragma.h (enum pragma_omp_clause): Add entries for
2047 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
2048 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
2049 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
2050 INDEPENDENT,SEQ}.
2051 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
2052
e2f5cc96
MS
20532015-11-05 Martin Sebor <msebor@redhat.com>
2054
2055 PR c++/67942
2056 * c.opt (-Wplacement-new): New option.
2057
e01d41e5
JJ
20582015-11-05 Jakub Jelinek <jakub@redhat.com>
2059
2060 * c-common.h (c_finish_omp_atomic): Add TEST argument.
2061 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
2062 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
2063 save_expr or create_tmp_var* if TEST is true.
2064 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
2065 Don't call add_stmt here.
2066 (struct c_omp_check_loop_iv_data): New type.
2067 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
2068 c_omp_check_loop_iv_exprs): New functions.
2069 (c_omp_split_clauses): Adjust for lastprivate being allowed on
2070 distribute.
2071 (c_omp_declare_simd_clauses_to_numbers): Change
2072 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
2073 (c_omp_declare_simd_clauses_to_decls): Similarly change those
2074 from numbers to PARM_DECLs.
2075
595278be
MM
20762015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2077
2078 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
2079 flag_checking.
2080
3f8257db 20812015-11-03 Bernd Schmidt <bschmidt@redhat.com>
c85158de
MS
2082
2083 PR c++-common/67882
b3d5bc62
JJ
2084 * c-common.h (fold_offsetof_1): Add argument.
2085 * c-common.c (fold_offsetof_1): Diagnose more invalid
c85158de
MS
2086 offsetof expressions that reference elements past the end of
2087 an array.
2088
4bf9e5a8
TS
20892015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2090 Chung-Lin Tang <cltang@codesourcery.com>
2091
2092 * c-pragma.c (oacc_pragmas): Add "atomic".
2093 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
2094
3b1661a9
ES
20952015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2096
2097 * c-common.c (handle_target_clones_attribute): New.
2098 (c_common_attribute_table): Add handle_target_clones_attribute.
2099 (handle_always_inline_attribute): Add check on target_clones attribute.
2100 (handle_target_attribute): Ditto.
2101
2adfab87
AM
21022015-10-29 Andrew MacLeod <amacleod@redhat.com>
2103
2104 * array-notation-common.c: Reorder #include's and remove duplicates.
2105 * c-ada-spec.c: Likewise.
2106 * c-cilkplus.c: Likewise.
2107 * c-common.c: Likewise.
2108 * c-cppbuiltin.c: Likewise.
2109 * c-dump.c: Likewise.
2110 * c-format.c: Likewise.
2111 * c-gimplify.c: Likewise.
2112 * c-indentation.c: Likewise.
2113 * c-lex.c: Likewise.
2114 * c-omp.c: Likewise.
2115 * c-opts.c: Likewise.
2116 * c-pch.c: Likewise.
2117 * c-ppoutput.c: Likewise.
2118 * c-pragma.c: Likewise.
2119 * c-pretty-print.c: Likewise.
2120 * c-semantics.c: Likewise.
2121 * c-ubsan.c: Likewise.
2122 * cilk.c: Likewise.
2123 * stub-objc.c: Likewise.
2124
d90ec4f2
JM
21252015-10-28 Jason Merrill <jason@redhat.com>
2126
2127 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2128
88bae6f4
TS
21292015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2130 James Norris <jnorris@codesourcery.com>
2131 Cesar Philippidis <cesar@codesourcery.com>
2132
2133 PR c/64765
2134 PR c/64880
2135 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2136 * c-omp.c (c_oacc_split_loop_clauses): New function.
2137
b1726d6c
MS
21382015-10-21 Martin Sebor <msebor@redhat.com>
2139
2140 PR driver/68043
2141 * c.opt: End each sentence that describes an option with a period.
2142
fa60eeb9
MP
21432015-10-20 Marek Polacek <polacek@redhat.com>
2144
2145 * array-notation-common.c (is_cilkplus_vector_p): Define.
2146 * c-common.h (is_cilkplus_vector_p): Declare.
2147
95979049
MP
21482015-10-20 Marek Polacek <polacek@redhat.com>
2149
2150 * c.opt (std=gnu++11): Do not describe as experimental.
2151 (std=gnu++14): Likewise.
2152
2a9fb712
JM
21532015-10-19 Jason Merrill <jason@redhat.com>
2154
2155 * c-cppbuiltin.c (c_cpp_builtins): Define
2156 __cpp_nontype_template_args.
2157
13b380a3
JM
21582015-10-19 Jason Merrill <jason@redhat.com>
2159
2160 * c-cppbuiltin.c (c_cpp_builtins): Define
2161 __cpp_enumerator_attributes, __cpp_fold_expressions,
2162 __cpp_unicode_characters.
2163
d9a6bd32
JJ
21642015-10-13 Jakub Jelinek <jakub@redhat.com>
2165 Aldy Hernandez <aldyh@redhat.com>
2166
2167 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2168 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2169 (c_define_builtins): Likewise.
2170 * c-common.h (enum c_omp_clause_split): Add
2171 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2172 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2173 (c_finish_omp_for): Add ORIG_DECLV argument.
2174 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2175 201511 instead of 201307.
2176 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2177 OMP_CRITICAL_CLAUSES to it.
2178 (c_finish_omp_ordered): Add CLAUSES argument, set
2179 OMP_ORDERED_CLAUSES to it.
2180 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2181 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2182 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2183 constructs and new OpenMP 4.5 clauses. Clear
2184 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2185 verification code.
2186 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2187 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2188 (enum pragma_omp_clause): Add
2189 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2190 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2191
624d31fe
RS
21922015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2193
2194 * c-lex.c (interpret_float): Use real_equal instead of
2195 REAL_VALUES_EQUAL.
2196
b8fd7909
JM
21972015-10-04 Jason Merrill <jason@redhat.com>
2198
2199 Implement N4514, C++ Extensions for Transactional Memory.
2200 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2201 (c_common_attribute_table): Add transaction_safe_dynamic.
2202 transaction_safe now affects type identity.
2203 (handle_tm_attribute): Handle transaction_safe_dynamic.
2204 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2205 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2206 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2207 (D_TRANSMEM): New.
2208 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2209 * c-pretty-print.c (pp_c_attributes_display): Don't print
2210 transaction_safe in C++.
2211
12651878
MP
22122015-10-02 Marek Polacek <polacek@redhat.com>
2213
2214 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2215
3e3b8d63
MP
22162015-10-02 Marek Polacek <polacek@redhat.com>
2217
2218 PR c/64249
2219 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2220 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2221 * c.opt (Wduplicated-cond): New option.
2222
0d1a8f75
JM
22232015-10-01 Joseph Myers <joseph@codesourcery.com>
2224
2225 * c.opt (std=c11): Do not describe as experimental.
2226 (std=gnu11): Likewise.
2227 (std=iso9899:2011): Likewise.
2228
3e32ee19
NS
22292015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2230
2231 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2232 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2233
974348ee
MP
22342015-09-25 Marek Polacek <polacek@redhat.com>
2235
2236 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2237 (ubsan_instrument_shift): Likewise.
2238
15dbc1a6
MP
22392015-09-25 Marek Polacek <polacek@redhat.com>
2240
2241 PR sanitizer/64906
2242 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2243
6b95d7cc
PP
22442015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2245
2246 * c-indentation.c (should_warn_for_misleading_indentation):
2247 Compare next_stmt_vis_column with guard_line_first_nws instead
2248 of with guard_line_vis_column.
2249
c1822f9c
MLI
22502015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2251
2252 PR c/49654
2253 PR c/49655
2254 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2255 options and options not valid for the current language.
2256
d5398058
PP
22572015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2258
2259 * c-indentation.c (should_warn_for_misleading_indentation):
2260 Float out and consolidate the calls to get_visual_column that
2261 are passed guard_exploc as an argument. Compare
2262 next_stmt_vis_column with guard_line_first_nws instead of with
2263 body_line_first_nws.
2264
6b333269
NS
22652015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2266
2267 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2268 Wnamespaces): New C++ warnings.
2269
a75f1574
JM
22702015-09-22 Jason Merrill <jason@redhat.com>
2271
2272 * c-common.h (abi_compat_version_crosses): New.
2273 (warn_abi_version): Declare.
2274 * c-common.c: Define it.
2275 * c-opts.c (c_common_post_options): Handle it.
2276 flag_abi_compat_version defaults to 8.
2277
bdaaa8b7
VV
22782015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2279
2280 Complete the implementation of N4230, Nested namespace definition.
2281 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2282 __cpp_nested_namespace_definitions.
2283
eaa797e8
MLI
22842015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2285
2286 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2287
c4914de6
MLI
22882015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2289
2290 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2291 when warning.
2292 * c-pragma.h (pragma_lex): Add optional loc argument.
2293
fcb87c50
MM
22942015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2295
2296 * c-format.c (check_format_arg): Adjust to use common block size in all
2297 object pools.
2298
31bdd08a
DM
22992015-09-15 David Malcolm <dmalcolm@redhat.com>
2300
2301 * c-format.c (location_from_offset): Update for change in
2302 signature of location_get_source_line.
2303 * c-indentation.c (get_visual_column): Likewise.
2304 (line_contains_hash_if): Likewise.
2305
aa9f4b4c
MP
23062015-09-14 Marek Polacek <polacek@redhat.com>
2307
2308 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2309 setting various warnings.
2310
aa256c4a
MP
23112015-09-14 Marek Polacek <polacek@redhat.com>
2312
2313 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2314 a negative value.
2315
0f876f22
MW
23162015-09-11 Mark Wielaard <mjw@redhat.com>
2317
2318 PR c/28901
2319 * c.opt (Wunused-variable): Option from common.opt.
2320 (Wunused-const-variable): New option.
2321
273aa49e
PC
23222015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2323
2324 PR c++/53184
2325 * c.opt ([Wsubobject-linkage]): Add.
2326
1807ffc1
MS
23272015-09-03 Martin Sebor <msebor@redhat.com>
2328
2329 PR c/66516
2330 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2331 functions.
2332 * c-common.c (reject_gcc_builtin): Define.
2333
38942840
BI
23342015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2335
2336 PR middle-end/60586
2337 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2338 prototype.
2339 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2340 cilk_gimplify_call_params_in_spawned_fn.
2341 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2342 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2343 unwrapping.
2344
c316b5e4
MP
23452015-08-25 Marek Polacek <polacek@redhat.com>
2346
2347 PR middle-end/67330
2348 * c-common.c (handle_weak_attribute): Don't check whether the
2349 visibility can be changed here.
2350
584a7c46
MLI
23512015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2352
2353 * c-lex.c (c_lex_with_flags): Use explicit locations.
2354
a79683d5
TS
23552015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2356
2357 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2358 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2359
61717a45
FXC
23602015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2361
2362 PR middle-end/36757
2363 * c-common.c (check_builtin_function_arguments): Add check
2364 for BUILT_IN_SIGNBIT argument.
2365
329524f5
PC
23662015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2367
2368 PR c++/67160
2369 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2370 in c++1z mode.
2371
4ee55665
MP
23722015-08-17 Marek Polacek <polacek@redhat.com>
2373
2374 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2375 with whitespaces before qualifier names.
2376
b893e375
MP
23772015-08-12 Marek Polacek <polacek@redhat.com>
2378
2379 PR c++/55095
2380 * c-common.c (maybe_warn_shift_overflow): Properly handle
2381 left-shifting 1 into the sign bit.
2382
c2d89095
MLI
23832015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2384
2385 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2386
971e17ff
AS
23872015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2388 Braden Obrzut <admin@maniacsvault.net>
2389 Jason Merrill <jason@redhat.com>
2390
2391 Add C++ Concepts TS support.
2392 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2393 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2394 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2395 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2396 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2397 * c.opt (fconcepts): New.
2398
b3d5bc62
JJ
23992015-08-02 Martin Sebor <msebor@redhat.com>
2400
2401 * c.opt (-Wframe-address): New warning option.
2402
8ebca419
PP
24032015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2404
2405 * c-indentation.c (should_warn_for_misleading_indentation):
2406 Improve heuristics.
2407
1a1e101f
PP
24082015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2409
2410 * c-indentation.c (get_visual_column): Add parameter first_nws,
2411 use it. Update comment documenting the function.
2412 (is_first_nonwhitespace_on_line): Remove.
2413 (should_warn_for_misleading_indentation): Replace usage of
2414 of is_first_nonwhitespace_on_line with get_visual_column.
2415
992118a1
PP
24162015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2417
2418 * c-indentation.h (struct token_indent_info): Define.
2419 (get_token_indent_info): Define.
2420 (warn_for_misleading_information): Declare.
2421 * c-common.h (warn_for_misleading_information): Remove.
2422 * c-identation.c (warn_for_misleading_indentation):
2423 Change declaration to take three token_indent_infos. Adjust
2424 accordingly.
2425 * c-identation.c (should_warn_for_misleading_indentation):
2426 Likewise. Bail out early if the body is a compound statement.
2427 (guard_tinfo_to_string): Define.
2428
e8fa3817
JM
24292015-07-30 Jason Merrill <jason@redhat.com>
2430
2431 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2432 '*' for reference decay.
2433
173864e8
MP
24342015-07-30 Marek Polacek <polacek@redhat.com>
2435
2436 * c-common.c (warn_tautological_cmp): Bail for float types.
2437
f2afe6dd
MP
24382015-07-27 Marek Polacek <polacek@redhat.com>
2439
2440 PR bootstrap/67030
2441 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2442
05b28fd6
MP
24432015-07-27 Marek Polacek <polacek@redhat.com>
2444
2445 PR c++/66555
2446 PR c/54979
2447 * c-common.c (find_array_ref_with_const_idx_r): New function.
2448 (warn_tautological_cmp): New function.
2449 * c-common.h (warn_tautological_cmp): Declare.
2450 * c.opt (Wtautological-compare): New option.
2451
5a5062b8
MP
24522015-07-23 Marek Polacek <polacek@redhat.com>
2453
2454 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2455 (ubsan_instrument_shift): Likewise.
2456
dc891fe7
MP
24572015-07-23 Marek Polacek <polacek@redhat.com>
2458
2459 PR sanitizer/66908
2460 * c-ubsan.c: Include gimplify.h.
2461 (ubsan_instrument_division): Unshare OP0 and OP1.
2462 (ubsan_instrument_shift): Likewise.
2463
451b5e48
MP
24642015-07-20 Marek Polacek <polacek@redhat.com>
2465 Richard Sandiford <richard.sandiford@arm.com>
2466
2467 PR c++/55095
2468 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2469 Use EXPR_LOC_OR_LOC.
2470 (maybe_warn_shift_overflow): New function.
2471 * c-common.h (maybe_warn_shift_overflow): Declare.
2472 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2473 * c.opt (Wshift-overflow): New option.
2474
fb0b2914
ML
24752015-07-16 Martin Liska <mliska@suse.cz>
2476
2477 * c-format.c (static void check_format_info_main): Use
2478 object_allocator instead of pool_allocator.
2479 (check_format_arg): Likewise.
2480 (check_format_info_main): Likewise.
2481
903f5c23
AM
24822015-07-15 Andrew MacLeod <amacleod@redhat.com>
2483
2484 * c-opts.c: Remove multiline #include comment.
2485
026c3cfd
AH
24862015-07-12 Aldy Hernandez <aldyh@redhat.com>
2487
2488 * c-common.c: Fix double word typos.
2489
bb49ee66
EB
24902015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2491
2492 * c-ada-spec.h (cpp_operation): Revert latest change.
2493 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2494 constructors and destructors.
2495
1916bcb5
AM
24962015-07-09 Andrew MacLeod <amacleod@redhat.com>
2497
2498 * c-common.h: Adjust includes for flags.h changes.
2499 * stub-objc.c: Likewise.
026c3cfd 2500
a9dcd529
EB
25012015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2502
2503 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2504 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2505
b03b462f
JJ
25062015-07-08 Jakub Jelinek <jakub@redhat.com>
2507
2508 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2509 are to be removed, return NULL rather than original clauses list.
2510
c7131fb2
AM
25112015-07-07 Andrew MacLeod <amacleod@redhat.com>
2512
2513 * array-notation-common.c: Adjust includes.
2514 * c-ada-spec.c: Likewise.
2515 * c-cilkplus.c: Likewise.
2516 * c-common.h: Likewise.
2517 * c-cppbuiltin.c: Likewise.
2518 * c-dump.c: Likewise.
2519 * c-format.c: Likewise.
2520 * c-gimplify.c: Likewise.
2521 * c-indentation.c: Likewise.
2522 * c-lex.c: Likewise.
2523 * c-omp.c: Likewise.
2524 * c-opts.c: Likewise.
2525 * c-pch.c: Likewise.
2526 * c-ppoutput.c: Likewise.
2527 * c-pragma.c: Likewise.
2528 * c-pretty-print.c: Likewise.
2529 * c-semantics.c: Likewise.
2530 * c-ubsan.c: Likewise.
2531 * cilk.c: Likewise.
2532 * stub-objc.c: Likewise.
2533
2a7fb83f
EB
25342015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2535
2536 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2537 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2538
a03c9bf1
JM
25392015-07-01 Jason Merrill <jason@redhat.com>
2540
36a85135
JM
2541 * c-common.h (D_CXX11): Rename from D_CXX0X.
2542 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2543 * c-common.c: Adjust.
2544
e7fa68d5
JM
2545 * c-opts.c (c_common_post_options): Default to C++14.
2546
a03c9bf1
JM
2547 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2548
fe95b036
ESR
25492015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2550
2551 Implement N4197 - Adding u8 character literals
b3d5bc62 2552 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
a64be36b 2553 CPP_CHAR.
b3d5bc62 2554 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
a64be36b 2555 CPP_UTF8CHAR_USERDEF tokens.
b3d5bc62 2556 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
a64be36b
EB
2557 and CPP_UTF8CHAR tokens.
2558 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 2559
da2e71c9
MLI
25602015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2561
2562 PR fortran/66605
2563 * c-common.c (do_warn_unused_parameter): Move here.
2564 * c-common.h (do_warn_unused_parameter): Declare.
2565
b155cfd9
MP
25662015-06-29 Marek Polacek <polacek@redhat.com>
2567
2568 PR c/66322
2569 * c-common.c (check_case_bounds): Add bool * parameter. Set
2570 OUTSIDE_RANGE_P.
2571 (c_add_case_label): Add bool * parameter. Pass it down to
2572 check_case_bounds.
2573 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2574 warning here.
2575 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2576 declarations.
2577
31521951
MP
25782015-06-27 Marek Polacek <polacek@redhat.com>
2579
2580 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2581 or VECTOR_INTEGER_TYPE_P throughout.
2582 * c-gimplify.c: Likewise.
2583
22d03525
MP
25842015-06-26 Marek Polacek <polacek@redhat.com>
2585
2586 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2587 * c-common.c (c_fully_fold_internal): Likewise.
2588 (c_alignof_expr): Likewise.
2589 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2590 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 2591 * cilk.c (create_parm_list): Likewise.
22d03525 2592
af05e6e5
MP
25932015-06-26 Marek Polacek <polacek@redhat.com>
2594
2595 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2596
f0889939
AM
25972015-06-25 Andrew MacLeod <amacleod@redhat.com>
2598
2599 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2600 * c-gimplify.c: Likewise.
2601 * c-pragma.c: Likewise.
2602 * c-ubsan.c: Likewise.
2603 * cilk.c: Likewise.
2604
ca752f39
RS
26052015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2606
2607 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2608 ggc_hasher.
2609
16a16ec7
AM
26102015-06-25 Andrew MacLeod <amacleod@redhat.com>
2611
2612 * cilk.c: Move calls.h after tm.h in the include chain.
2613
0ae9bd27
MP
26142015-06-25 Marek Polacek <polacek@redhat.com>
2615
2616 * array-notation-common.c: Use VAR_P throughout.
2617 * c-ada-spec.c: Likewise.
2618 * c-common.c: Likewise.
2619 * c-format.c: Likewise.
2620 * c-gimplify.c: Likewise.
2621 * c-omp.c: Likewise.
2622 * c-pragma.c: Likewise.
2623 * c-pretty-print.c: Likewise.
2624 * cilk.c: Likewise.
2625
62f9079a
MP
26262015-06-25 Marek Polacek <polacek@redhat.com>
2627
2628 * cilk.c (extract_free_variables): Use is_global_var.
2629
0fa16060
RS
26302015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2631
2632 * c-common.c: Don't include target-def.h.
2633
a68ae2e1
MP
26342015-06-23 Marek Polacek <polacek@redhat.com>
2635
2636 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2637 when comparing INTEGER_CSTs.
2638
c6a2f2d9
PMR
26392015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2640
2641 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2642 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2643 (dump_ada_template): Skip partially specialized types.
2644
6b4db501
MM
26452015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2646
2647 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2648 swapping.
2649
abb226c9
AM
26502015-06-17 Andrew MacLeod <amacleod@redhat.com>
2651
2652 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2653 * c-ada-spec.c: Likewise.
2654 * c-cilkplus.c: Likewise.
2655 * c-common.c: Likewise.
2656 * c-common.h: Likewise.
2657 * c-cppbuiltin.c: Likewise.
2658 * c-dump.c: Likewise.
2659 * c-format.c: Likewise.
2660 * c-gimplify.c: Likewise.
2661 * c-indentation.c: Likewise.
2662 * c-lex.c: Likewise.
2663 * c-omp.c: Likewise.
2664 * c-opts.c: Likewise.
2665 * c-pch.c: Likewise.
2666 * c-ppoutput.c: Likewise.
2667 * c-pragma.c: Likewise.
2668 * c-pretty-print.c: Likewise.
2669 * c-semantics.c: Likewise.
2670 * c-ubsan.c: Likewise.
2671 * cilk.c: Likewise.
2672 * stub-objc.c: Likewise.
2673
076fecad
PP
26742015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2675
2676 PR c++/65168
2677 * c-common.c (c_common_truthvalue_conversion): Warn when
2678 converting an address of a reference to a truth value.
2679
13fdf2e2
AM
26802015-06-08 Andrew MacLeod <amacleod@redhat.com>
2681
2682 * array-notation-common.c : Adjust include files.
2683 * c-ada-spec.c : Likewise.
2684 * c-cilkplus.c : Likewise.
2685 * c-common.c : Likewise.
2686 * c-common.h : Likewise.
2687 * c-cppbuiltin.c : Likewise.
2688 * c-dump.c : Likewise.
2689 * c-format.c : Likewise.
2690 * c-gimplify.c : Likewise.
2691 * c-indentation.c : Likewise.
2692 * c-lex.c : Likewise.
2693 * c-omp.c : Likewise.
2694 * c-opts.c : Likewise.
2695 * c-pch.c : Likewise.
2696 * c-ppoutput.c : Likewise.
2697 * c-pragma.c : Likewise.
2698 * c-pretty-print.c : Likewise.
2699 * c-semantics.c : Likewise.
2700 * c-ubsan.c : Likewise.
2701 * cilk.c : Likewise.
2702 * stub-objc.c : Likewise.
2703
a1661b90
MP
27042015-06-08 Marek Polacek <polacek@redhat.com>
2705
2706 PR c/66415
2707 * c-format.c (location_from_offset): Return LOC if LINE is null.
2708
d7438551
AH
27092015-06-05 Aldy Hernandez <aldyh@redhat.com>
2710
2711 * c-common.h (c_parse_final_cleanups): New prototype.
2712 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2713
b3d5bc62
JJ
27142015-06-04 Sriraman Tallam <tmsriram@google.com>
2715
2716 * c-common.c (noplt): New attribute.
2717 (handle_noplt_attribute): New handler.
2718
ecb9f223
AM
27192015-06-04 Andrew MacLeod <amacleod@redhat.com>
2720
2721 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2722 * c-ada-spec.c: Likewise.
2723 * c-cilkplus.c: Likewise.
2724 * c-common.c: Likewise.
2725 * c-common.h: Likewise.
2726 * c-cppbuiltin.c: Likewise.
2727 * c-dump.c: Likewise.
2728 * c-format.c: Likewise.
2729 * c-gimplify.c: Likewise.
2730 * c-indentation.c: Likewise.
2731 * c-lex.c: Likewise.
2732 * c-omp.c: Likewise.
2733 * c-opts.c: Likewise.
2734 * c-pch.c: Likewise.
2735 * c-ppoutput.c: Likewise.
2736 * c-pragma.c: Likewise.
2737 * c-pretty-print.c: Likewise.
2738 * c-semantics.c: Likewise.
2739 * c-ubsan.c: Likewise.
2740 * cilk.c: Likewise.
2741 * stub-objc.c: Likewise.
2742
6ac48155
DM
27432015-06-02 David Malcolm <dmalcolm@redhat.com>
2744
2745 PR c/66220:
2746 * c-indentation.c (should_warn_for_misleading_indentation): Use
2747 expand_location rather than expand_location_to_spelling_point.
2748 Don't warn if the guarding statement is more indented than the
2749 next/body stmts.
2750
773ce42e
DM
27512015-06-02 David Malcolm <dmalcolm@redhat.com>
2752
2753 * c-indentation.c (warn_for_misleading_indentation): Bail out
2754 immediately if -Wmisleading-indentation isn't enabled.
2755
4fef8379
ML
27562015-06-01 Martin Liska <mliska@suse.cz>
2757
2758 * c-format.c (check_format_arg):Use new type-based pool allocator.
2759 (check_format_info_main) Likewise.
2760
1edfb384
EB
27612015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2762
2763 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2764 (has_nontrivial_methods): Likewise.
2765
9677ef52
MP
27662015-05-25 Marek Polacek <polacek@redhat.com>
2767
2768 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2769
fd5c817a
MP
27702015-05-22 Marek Polacek <polacek@redhat.com>
2771
2772 PR c/47043
2773 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2774
a2f45fe6 27752015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
2776
2777 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2778 STACK_GROWS_DOWNWARD.
2779
a2f45fe6 27802015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
2781
2782 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2783 STACK_GROWS_DOWNWARD rather than if it is defined.
2784
0fee2ac2 27852015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 2786
0fee2ac2
MLI
2787 PR c/52952
2788 * c-format.c (location_column_from_byte_offset): New.
2789 (location_from_offset): New.
2790 (struct format_wanted_type): Add offset_loc field.
2791 (check_format_info): Move handling of location for extra arguments
2792 closer to the point of warning.
2793 (check_format_info_main): Pass the result of location_from_offset
2794 to warning_at.
2795 (format_type_warning): Pass the result of location_from_offset
2796 to warning_at.
2797
cf4ef6f7
MP
27982015-05-20 Marek Polacek <polacek@redhat.com>
2799
2800 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2801
3a65ee74
MP
28022015-05-20 Marek Polacek <polacek@redhat.com>
2803
2804 * c-ada-spec.c (dump_sloc): Use DECL_P.
2805
21b634ae
MP
28062015-05-20 Marek Polacek <polacek@redhat.com>
2807
2808 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2809 * c-common.c: Likewise.
2810
0e50b624
DM
28112015-05-19 David Malcolm <dmalcolm@redhat.com>
2812
2813 * c-common.h (fe_file_change): Strengthen param from
2814 const line_map * to const line_map_ordinary *.
2815 (pp_file_change): Likewise.
2816 * c-lex.c (fe_file_change): Likewise.
2817 (cb_define): Use linemap_check_ordinary when invoking
2818 SOURCE_LINE.
2819 (cb_undef): Likewise.
2820 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2821 invoking cb_file_change.
2822 (c_finish_options): Likewise.
2823 (push_command_line_include): Likewise.
2824 (cb_file_change): Strengthen param "new_map" from
2825 const line_map * to const line_map_ordinary *.
2826 * c-ppoutput.c (cb_define): Likewise for local "map".
2827 (pp_file_change): Likewise for param "map" and local "from".
2828
fab27f52
MM
28292015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2830
2831 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2832
2fe1d762
TV
28332015-05-18 Tom de Vries <tom@codesourcery.com>
2834
2835 * c-common.c (build_va_arg_1): New function.
2836 (build_va_arg): Add address operator to va_list operand if necessary.
2837
7a37fa90
MM
28382015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2839
2840 PR c/48956
2841 * c-common.c (int_safely_convertible_to_real_p): Define.
2842 (unsafe_conversion_p): Check conversions involving complex types.
2843 (conversion_warning): Add new warning message for conversions which
2844 discard imaginary component.
2845 * c-common.h: (enum conversion_safety): Add new enumerator for such
2846 conversions.
2847
3aa3c9fc
MP
28482015-05-14 Marek Polacek <polacek@redhat.com>
2849
2850 PR c/66066
2851 PR c/66127
2852 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2853 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2854 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2855 use it. If FOR_INT_CONST, require that all evaluated operands be
2856 INTEGER_CSTs.
2857
c3388e62
DM
28582015-05-12 David Malcolm <dmalcolm@redhat.com>
2859
2860 * c-common.h (warn_for_misleading_indentation): New prototype.
2861 * c-indentation.c: New file.
2862 * c.opt (Wmisleading-indentation): New option.
2863
c7b38fd5
TV
28642015-05-12 Tom de Vries <tom@codesourcery.com>
2865
2866 PR tree-optimization/66010
2867 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2868
381bf11e
JM
28692015-05-09 Jason Merrill <jason@redhat.com>
2870
edff0c06
JM
2871 * c-opts.c (c_common_post_options): Also clear
2872 cpp_opts->cpp_warn_cxx11_compat.
2873
129211bc
JM
2874 * c-common.h (enum cxx_dialect): Add cxx_unset.
2875 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2876 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2877
381bf11e
JM
2878 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2879 (std=gnu++0x): Mark as Undocumented.
2880 (std=gnu++1y): Add deprecated message.
2881
fe191308
JM
28822015-05-08 Jason Merrill <jason@redhat.com>
2883
765189ff
JM
2884 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2885 * c-opts.c: Adjust.
2886
fe191308
JM
2887 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2888
755e528f
MP
28892015-05-08 Marek Polacek <polacek@redhat.com>
2890
2891 PR c/64918
2892 * c.opt (Woverride-init-side-effects): New option.
2893
0173bd2a
MP
28942015-05-07 Marek Polacek <polacek@redhat.com>
2895
2896 PR c/65179
2897 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2898 negative value.
2899 * c.opt (Wshift-negative-value): New option.
2900 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2901 when -Wextra and C99/C++11 mode.
2902
e0f0d3b9
MP
29032015-05-07 Marek Polacek <polacek@redhat.com>
2904 Martin Uecker <uecker@eecs.berkeley.edu>
2905
2906 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2907 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2908
8243e2a9
JM
29092015-05-05 Jason Merrill <jason@redhat.com>
2910
2911 * c.opt (Wterminate): New.
2912
577cd070
MP
29132015-04-30 Marek Polacek <polacek@redhat.com>
2914
2915 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2916 require that the non-constant be of a boolean type.
2917
0373796b
JT
29182015-04-29 Josh Triplett <josh@joshtriplett.org>
2919
e0f0d3b9
MP
2920 * c-common.c (handle_section_attribute): Refactor to reduce
2921 nesting and distinguish between error cases.
0373796b 2922
716c0ba6
MP
29232015-04-29 Marek Polacek <polacek@redhat.com>
2924
2925 PR c/64610
2926 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2927 with 0/1.
2928
8848828b
JJ
29292015-04-29 Jakub Jelinek <jakub@redhat.com>
2930
2931 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2932 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2933 HOST_BITS_PER_WIDE_INT.
2934
ecd0e562
TV
29352015-04-28 Tom de Vries <tom@codesourcery.com>
2936
2937 PR tree-optimization/65887
2938 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2939
2a877204 29402015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 2941 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
2942
2943 * c-ada-spec.c (in_function): Delete.
2944 (dump_generic_ada_node): Do not change in_function and remove the
2945 redundant code dealing with it.
2946 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2947 (print_ada_methods): Output the static member functions in a nested
2948 package after the regular methods as well as associated renamings.
2949
4853031e
MP
29502015-04-24 Marek Polacek <polacek@redhat.com>
2951
2952 PR c/65830
2953 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2954 and OPT_Wshift_count_overflow.
2955
8c2b7f79
MP
2956 PR c/63357
2957 * c-common.c (warn_logical_operator): Warn if the operands have the
2958 same expressions.
2959
b8787813
MP
29602015-04-24 Marek Polacek <polacek@redhat.com>
2961
2962 PR c/61534
2963 * c-common.c (warn_logical_operator): Bail if either operand comes
2964 from a macro expansion.
2965
8fba1830
BRF
29662015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2967
2968 PR target/55143
2969 * c-common.c (c_default_pointer_mode): Add definition.
2970 * c-common.h (c_default_pointer_mode): Add declaration.
2971
17958621
JJ
29722015-03-11 Jakub Jelinek <jakub@redhat.com>
2973
2974 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2975 on record_builtin_type argument.
2976
7ccb1a11
JJ
29772015-03-10 Jakub Jelinek <jakub@redhat.com>
2978
2979 PR c/65120
2980 * c-common.c (warn_logical_not_parentheses): Don't warn for
2981 !x == 0 or !x != 0.
2982
04fd785e
MP
29832015-03-07 Marek Polacek <polacek@redhat.com>
2984
2985 PR sanitizer/65280
2986 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2987 before trying to figure out whether we have a flexible array member.
2988
a4e26206 29892015-03-06 Eric Botcazou <ebotcazou@adacore.com>
8e745a17 2990 Jonathan Wakely <jwakely.gcc@gmail.com>
a4e26206
EB
2991
2992 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2993
0d2489f4
EB
29942015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2995
2996 PR ada/65319
2997 * c-ada-spec.c (print_destructor): Remove obsolete code.
2998
83ed54d7
EB
29992015-03-01 Eric Botcazou <ebotcazou@adacore.com>
3000
3001 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
3002 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
3003 DECL_TEMPLATE_RESULT emulations.
3004 (dump_ada_template)): Add guard for TYPE_METHODS.
3005
7631f0e2
MP
30062015-02-27 Marek Polacek <polacek@redhat.com>
3007
3008 PR c/65040
3009 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
3010
d1783ae5
KT
30112015-02-27 Kai Tietz <ktietz@redhat.com>
3012
3013 PR c/35330
3014 * c-pragma.c (handle_pragma_weak): Do not try to create
3015 weak/alias of declarations not being function, or variable
3016 declarations.
3017
56a9f6bc
TS
30182015-02-24 Thomas Schwinge <thomas@codesourcery.com>
3019
3020 PR libgomp/64625
3021 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3022 Remove macros.
3023 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
3024
3d5cb23d
MP
30252015-02-16 Marek Polacek <polacek@redhat.com>
3026
3027 PR c/65066
3028 * c-format.c (check_format_types): Handle null param.
3029
fa008882
MP
30302015-02-13 Marek Polacek <polacek@redhat.com>
3031
3032 PR c/65040
3033 * c-format.c (check_format_types): Don't warn about different
3034 signedness if the original value is in the range of WANTED_TYPE.
3035
785f21af
JM
30362015-02-12 Jason Merrill <jason@redhat.com>
3037
3038 PR c++/64956
3039 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
3040 to the current highest version.
3041 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
3042
4886ec8e
JJ
30432015-02-04 Jakub Jelinek <jakub@redhat.com>
3044
3045 PR c/64824
3046 PR c/64868
3047 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
3048 instead of RDIV_EXPR. Use build_binary_op instead of
3049 build2_loc.
3050
40fecdd6
JM
30512015-01-30 Joseph Myers <joseph@codesourcery.com>
3052
3053 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
3054 to pass input_location as first argument.
3055
a0c88d06
TV
30562015-01-23 Tom de Vries <tom@codesourcery.com>
3057
3058 PR libgomp/64672
3059 * c.opt (fopenacc): Mark as LTO option.
3060
1506ae0e
TV
30612015-01-23 Tom de Vries <tom@codesourcery.com>
3062
3063 PR libgomp/64707
3064 * c.opt (fopenmp): Mark as LTO option.
3065
31be63ab
JJ
30662015-01-21 Jakub Jelinek <jakub@redhat.com>
3067
3068 PR c/63307
b1726d6c 3069 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
3070 (compare_decls): Fix up formatting.
3071
30722015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
3073
3074 PR c/63307
3075 * cilk.c: Include vec.h.
3076 (struct cilk_decls): New structure.
3077 (wrapper_parm_cb): Split this function to...
3078 (fill_decls_vec): ...this...
3079 (create_parm_list): ...and this.
3080 (compare_decls): New function.
3081 (for_local_cb): Remove.
3082 (wrapper_local_cb): Ditto.
3083 (build_wrapper_type): For now first traverse and fill vector of
3084 declarations then sort it and then deal with sorted vector.
3085 (cilk_outline): Ditto.
3086 (declare_one_free_variable): Ditto.
3087
6875457f
JM
30882015-01-21 Jason Merrill <jason@redhat.com>
3089
3090 PR c++/64629
3091 * c-format.c (check_format_arg): Call decl_constant_value.
3092
185c9e56
ML
30932015-01-19 Martin Liska <mliska@suse.cz>
3094
3095 * c-common.c (handle_noicf_attribute): New function.
3096
41dbbb37
TS
30972015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3098 Bernd Schmidt <bernds@codesourcery.com>
3099 James Norris <jnorris@codesourcery.com>
3100 Cesar Philippidis <cesar@codesourcery.com>
3101 Ilmir Usmanov <i.usmanov@samsung.com>
3102 Jakub Jelinek <jakub@redhat.com>
3103
3104 * c.opt (fopenacc): New option.
3105 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3106 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3107 New macros.
3108 * c-common.h (c_finish_oacc_wait): New prototype.
3109 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3110 (c_finish_oacc_wait): New function.
3111 * c-pragma.c (oacc_pragmas): New variable.
3112 (c_pp_lookup_pragma, init_pragma): Handle it.
3113 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3114 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3115 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3116 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3117 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3118 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3119 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3120 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3121 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3122 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3123 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3124 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3125 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3126 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3127 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3128 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3129 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3130 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3131 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3132 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3133 PRAGMA_OACC_CLAUSE_WORKER.
3134
3f8257db 31352015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
5434dc07
MD
3136
3137 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3138 for the new option fstack-protector_explicit.
3139 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3140 (handle_stack_protect_attribute): New function.
3141
3f8257db 31422015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
de1b5c17
MU
3143
3144 * c.opt: New option -Warray-bounds=.
3145
adfac8df
JJ
31462015-01-09 Michael Collison <michael.collison@linaro.org>
3147
3148 * array-notation-common.c: Include hash-set.h, machmode.h,
3149 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3150 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3151 * c-ada-spec.c: Ditto.
3152 * c-cilkplus.c: Ditto.
3153 * c-common.c: Include input.h due to flattening of tree.h.
3154 Define macro GCC_C_COMMON_C.
3155 * c-common.h: Flatten tree.h header files into c-common.h.
3156 Remove include of tree-core.h.
3157 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3158 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3159 fold-const.h, wide-int.h, and inchash.h due to
3160 flattening of tree.h.
3161 * c-dump.c: Ditto.
3162 * c-format.c: Flatten tree.h header files into c-common.h.
3163 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3164 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3165 fold-const.h, wide-int.h, and inchash.h due to
3166 flattening of tree.h.
3167 * c-dump.c: Include hash-set.h, machmode.h,
3168 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3169 fold-const.h, wide-int.h, and inchash.h due to
3170 flattening of tree.h.
3171 * c-format.c: Include hash-set.h, machmode.h,
3172 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3173 fold-const.h, wide-int.h, inchash.h and real.h due to
3174 flattening of tree.h.
3175 * c-gimplify.c: Include hash-set.h, machmode.h,
3176 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3177 fold-const.h, wide-int.h, and inchash.h due to
3178 flattening of tree.h.
3179 * cilk.c: Ditto.
3180 * c-lex.c: Ditto.
3181 * c-omp.c: Ditto.
3182 * c-opts.c: Ditto.
3183 * c-pch.c: Ditto.
3184 * c-ppoutput.c: Ditto.
3185 * c-pragma.c: Ditto.
3186 * c-pretty-print.c: Ditto.
3187 * c-semantics.c: Ditto.
3188 * c-ubsan.c: Ditto.
3189 * stub-objc.c: Ditto.
3190
f5481fc4
JM
31912015-01-08 Jason Merrill <jason@redhat.com>
3192
3193 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3194 do_ubsan_in_current_function.
3195 (ubsan_maybe_instrument_reference_or_call): Likewise.
3196 * c-ubsan.h: Declare it.
3197
de35aa66
MS
31982015-01-08 Mike Stump <mikestump@comcast.net>
3199
3200 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3201
4a9a42ab
MP
32022015-01-07 Marek Polacek <polacek@redhat.com>
3203
3204 PR c/64440
3205 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3206 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3207
2f42e5de
TS
32082015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3209
3210 PR c++/31397
3211 * c.opt (Wsuggest-override): New option.
3212
5624e564
JJ
32132015-01-05 Jakub Jelinek <jakub@redhat.com>
3214
3215 Update copyright years.
3216
5bd012f8
MP
32172015-01-05 Marek Polacek <polacek@redhat.com>
3218
3219 PR c/64423
3220 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3221 parameter. Use it.
3222 * c-common.h (warn_array_subscript_with_type_char): Update
3223 declaration.
3224
a7fa8d18
ESR
32252014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3226
3227 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3228 Control macro with flag_sized_deallocation.
3229
3f8257db 32302014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
768952be
MU
3231
3232 * c.opt (Wdiscarded-array-qualifiers): New option.
3233
1f8d3e84
JJ
32342014-12-19 Jakub Jelinek <jakub@redhat.com>
3235
3236 PR preprocessor/63831
3237 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3238 and __has_cpp_attribute here.
3239 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3240 c_common_has_attribute.
3241 * c-common.h (c_common_has_attribute): New prototype.
3242 * c-lex.c (init_c_lex): Set cb->has_attribute to
3243 c_common_has_attribute instead of cb_has_attribute.
3244 (get_token_no_padding): New function.
3245 (cb_has_attribute): Renamed to ...
3246 (c_common_has_attribute): ... this. No longer static. Use
3247 get_token_no_padding, require ()s, don't build TREE_LIST
3248 unnecessarily, fix up formatting, adjust diagnostics, call
3249 init_attributes.
3250
20b06add
JM
32512014-12-15 Jason Merrill <jason@redhat.com>
3252
3253 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3254 (-Wsized-deallocation): New.
3255 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3256 to on in C++14 and up.
3257
94a073b2
JM
32582014-12-11 Jason Merrill <jason@redhat.com>
3259
acaa5911
JM
3260 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3261
94a073b2
JM
3262 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3263 we aren't complaining about VLAs.
3264
7fb66c15
MP
32652014-12-06 Marek Polacek <polacek@redhat.com>
3266
3267 PR tree-optimization/64183
3268 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3269 shift-expression if it is integer_type_node. Use types_compatible_p.
3270
b731b390
JJ
32712014-11-29 Jakub Jelinek <jakub@redhat.com>
3272
3273 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3274 last argument from create_tmp_var_raw and create_tmp_var calls.
3275 * cilk.c (gimplify_cilk_spawn): Likewise.
3276 * c-omp.c (c_finish_omp_atomic): Likewise.
3277
6a4da643
MP
32782014-11-28 Marek Polacek <polacek@redhat.com>
3279
3280 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3281 instead of unsigned_type_node.
3282
541e35a6
MP
32832014-11-28 Marek Polacek <polacek@redhat.com>
3284
3285 PR c/63862
3286 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3287 to op1_utype.
3288 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3289 expression to unsigned_type_node.
3290
dcc97066
MW
32912014-11-20 Mark Wielaard <mjw@redhat.com>
3292
3293 PR debug/38757
3294 * c-opts.c (set_std_c89): Set lang_hooks.name.
3295 (set_std_c99): Likewise.
3296 (set_std_c11): Likewise.
3297 (set_std_cxx98): Likewise.
3298 (set_std_cxx11): Likewise.
3299 (set_std_cxx14): Likewise.
3300 (set_std_cxx1z): Likewise.
3301
aa7da51a
JJ
33022014-11-21 Jakub Jelinek <jakub@redhat.com>
3303
3304 PR target/63764
3305 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3306 return type to bool.
009a3480 3307 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
3308 (convert_vector_to_pointer_for_subscript): Change return type to
3309 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3310 and copy it into a TARGET_EXPR and use that instead of *vecp
3311 directly.
3312
538dd0b7
DM
33132014-11-19 David Malcolm <dmalcolm@redhat.com>
3314
3315 Merger of git branch "gimple-classes-v2-option-3".
3316 * ChangeLog.gimple-classes: New.
3317 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3318 from being just a vec<gimple> to a vec<gbind *>.
3319
c39a5e99
JJ
33202014-11-18 Jakub Jelinek <jakub@redhat.com>
3321
3322 PR sanitizer/63813
3323 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3324 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3325 get_pointer_alignment for non-pointers. Use ptype, or if it is
3326 reference type, corresponding pointer type, as type of kind
3327 argument.
3328 (ubsan_maybe_instrument_reference,
3329 ubsan_maybe_instrument_member_call): Adjust callers.
3330
8537a4a9
MP
33312014-11-15 Marek Polacek <polacek@redhat.com>
3332
3333 PR middle-end/63884
3334 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3335 for NULL fndecl.
3336 (extract_array_notation_exprs): Return for NULL node.
3337
2079956a
JM
33382014-11-12 Joseph Myers <joseph@codesourcery.com>
3339
3340 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3341 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3342
1304953e
JJ
33432014-11-12 Jakub Jelinek <jakub@redhat.com>
3344
3345 PR c/59708
3346 * c-common.c (check_builtin_function_arguments): Handle
3347 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3348
e5e44252
AK
33492014-11-10 Andi Kleen <ak@linux.intel.com>
3350
3351 PR c/60804
3352 * c-common.h (check_no_cilk): Declare.
3353 * cilk.c (get_error_location): New function.
3354 (check_no_cilk): Dito.
3355
e64b984d
AK
33562014-11-10 Andi Kleen <ak@linux.intel.com>
3357
3358 * cilk.c (recognize_spawn): Use expression location
3359 for error message.
3360
13c21655
PC
33612014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3362
3363 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3364
42fd12b1
ESR
33652014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3366
3367 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3368 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3369 (__cpp_range_based_for, __cpp_initializer_lists,
3370 __cpp_delegating_constructors, __cpp_nsdmi,
3371 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3372 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3373 __has_cpp_attribute.
3374 * c-lex.c (cb_has_attribute): New callback CPP function;
3375 (init_c_lex): Set has_attribute callback.
3376
6f450181
RB
33772014-11-04 Richard Biener <rguenther@suse.de>
3378
3379 * c-common.c (shorten_compare): Do not shorten mixed
3380 DFP and non-DFP compares.
3381
26f0e1d6
ESR
33822014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3383
3384 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3385 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3386 Commentary and rearrangement of tests.
3387 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3388 Commentary and rearrangement of tests.
3389 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3390 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3391
ef4bddc2
RS
33922014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3393
3394 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3395 enum from machine_mode.
3396
c582198b
AM
33972014-10-28 Andrew MacLeod <amacleod@redhat.com>
3398
adfac8df
JJ
3399 * c-common.c: Adjust include files.
3400 * c-gimplify.c: Ditto.
3401 * cilk.c: Ditto.
3402 * c-pragma.c: Ditto.
3403 * c-ubsan.c: Ditto.
c582198b 3404
60393bbc
AM
34052014-10-27 Andrew MacLeod <amacleod@redhat.com>
3406
3407 * c-gimplify.c: Adjust include files.
3408
d723bb7c
MLI
34092014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3410
3411 PR c++/53061
3412 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3413 c_common_initialize_diagnostics.
3414 * c-common.h: Likewise.
3415
90f3520e
MP
34162014-10-24 Marek Polacek <polacek@redhat.com>
3417
3418 PR c/56980
3419 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3420 print "struct"/"union"/"enum" for typedefed names.
3421
59d7607a
MP
34222014-10-23 Marek Polacek <polacek@redhat.com>
3423
3424 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3425 in unsigned type.
3426
d95a2703
JJ
34272014-10-22 Jakub Jelinek <jakub@redhat.com>
3428 Yury Gribov <y.gribov@samsung.com>
3429
3430 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3431 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3432 instead of flag_sanitize_recover as bool flag.
3433
8e6ef852
KY
34342014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3435
3436 * cilk.c: Revert previous change.
3437
948cf550
IZ
34382014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3439
3440 PR c/63307
3441 * cilk.c: Include vec.h.
3442 (struct cilk_decls): New structure.
3443 (wrapper_parm_cb): Split this function to...
3444 (fill_decls_vec): ...this...
3445 (create_parm_list): ...and this.
3446 (compare_decls): New function.
3447 (for_local_cb): Remove.
3448 (wrapper_local_cb): Ditto.
3449 (build_wrapper_type): For now first traverse and fill vector of
3450 declarations then sort it and then deal with sorted vector.
3451 (cilk_outline): Ditto.
3452 (declare_one_free_variable): Ditto.
3453
92574c7c
MP
34542014-10-17 Marek Polacek <polacek@redhat.com>
3455
3456 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3457 * c.opt (Wimplicit-int): Initialize to -1.
3458
83685514
AM
34592014-10-16 Andrew MacLeod <amacleod@redhat.com>
3460
3461 * c-pragma.c: Adjust include files.
3462 * c-semantics.c: Likewise.
3463
5b8300ea
DD
34642014-10-16 DJ Delorie <dj@redhat.com>
3465
3466 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3467 multiples of bytes.
3468
5f83e90b
JM
34692014-10-14 Jason Merrill <jason@redhat.com>
3470
3471 PR c++/63455
3472 * c-common.h (CPP_PREPARSED_EXPR): New.
3473 (N_CP_TTYPES): Adjust.
3474
d73326ca
MP
34752014-10-15 Marek Polacek <polacek@redhat.com>
3476
3477 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3478
78a7c317
DD
34792014-10-14 DJ Delorie <dj@redhat.com>
3480
3481 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3482 types, not just __int128.
3483 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3484 types, not just __int128.
3485 (cpp_atomic_builtins): Round pointer sizes up.
3486 (type_suffix): Use type precision, not specific types.
3487 * c-common.c (c_common_reswords): Remove __int128 special case.
3488 (c_common_type_for_size): Check for all __intN types, not just
3489 __int128.
3490 (c_common_type_for_mode): Likewise.
3491 (c_common_signed_or_unsigned_type): Likewise.
3492 (c_build_bitfield_integer_type): Likewise.
3493 (c_common_nodes_and_builtins): Likewise.
3494 (keyword_begins_type_specifier): Likewise.
3495 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3496 __intN variants.
3497
2a22f99c
TS
34982014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3499
3500 * c-common.c: Use hash_table instead of hashtab.
3501
2a8ef767
ESR
35022014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3503
adfac8df 3504 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
3505 C++11 section.
3506
3c9aabbd
MG
35072014-10-03 Marc Glisse <marc.glisse@inria.fr>
3508
3509 PR c++/54427
3510 PR c++/57198
3511 PR c++/58845
3512 * c-common.c (warn_logical_operator): Punt for vectors.
3513
a15f7cb8
ESR
35142014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3515
3516 Implement SD-6: SG10 Feature Test Recommendations
3517 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3518 macros and the __has_header macro.
3519
8d0cf15e
JM
35202014-09-30 Jason Merrill <jason@redhat.com>
3521
dd5d5481
JM
3522 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3523 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3524 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3525
b752325e
JM
3526 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3527 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3528
8d0cf15e
JM
3529 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3530 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3531
083e891e
MP
35322014-09-24 Marek Polacek <polacek@redhat.com>
3533
3534 PR c/61405
3535 PR c/53874
3536 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3537
7861b648
AK
35382014-09-23 Andi Kleen <ak@linux.intel.com>
3539
3540 * c-common.c (handle_no_reorder_attribute): New function.
3541 (c_common_attribute_table): Add no_reorder attribute.
3542
9a79452d
JM
35432014-09-22 Joseph Myers <joseph@codesourcery.com>
3544
3545 * c-cppbuiltin.c (c_cpp_builtins): Define
3546 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3547 modes.
3548
dd69f047
JM
35492014-09-18 Joseph Myers <joseph@codesourcery.com>
3550
3551 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3552 for supported floating-point modes.
3553
737a4826
MLI
35542014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3555
3556 * c.opt (Wpsabi): Use LangEnabledBy.
3557 * c-opts.c (c_common_handle_option): Do not handle here.
3558
8cc4b7a2
JM
35592014-09-12 Joseph Myers <joseph@codesourcery.com>
3560
3561 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3562 macros for floating-point modes.
3563
179b5a55
MG
35642014-09-11 Marc Glisse <marc.glisse@inria.fr>
3565
3566 PR target/58757
3567 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3568 __*_DENORM_MIN__ without denormals.
3569
570a11fe
JJ
35702014-09-10 Jakub Jelinek <jakub@redhat.com>
3571
3572 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3573 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3574 ubsan_create_data callers.
3575 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3576 index is constant or BIT_AND_EXPR with constant mask and is
3577 small enough for the bound.
3578 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3579 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3580
b559c810
MLI
35812014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3582
3583 * c.opt: Add CppReason to various flags.
3584 (Wdate-time): Re-sort.
3585 * c-common.c: Include c-common.h earlier.
3586 (struct reason_option_codes_t): Delete.
3587 (c_option_controlling_cpp_error): Prefix global type and struct
3588 with cpp_.
3589
1ef33fd4
MLI
35902014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3591
3592 * c.opt (Wnormalized): New.
3593 (Wnormalized=): Use Enum and Reject Negative.
3594 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3595
66bb34c0
JM
35962014-09-08 Joseph Myers <joseph@codesourcery.com>
3597
3598 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3599 digits of floating-point modes if -fbuilding-libgcc.
3600
53d68b9f
JM
36012014-09-05 Joseph Myers <joseph@codesourcery.com>
3602
3603 * c-cppbuiltin.c (c_cpp_builtins): Also define
3604 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3605 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3606 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3607 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3608 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3609 __LIBGCC_STACK_GROWS_DOWNWARD__,
3610 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3611 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3612 __LIBGCC_DWARF_FRAME_REGISTERS__,
3613 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3614 __LIBGCC_STACK_POINTER_REGNUM__ and
3615 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3616 (builtin_define_with_value): Handle backslash-escaping in string
3617 macro values.
3618
f65586dc
RB
36192014-09-05 Richard Biener <rguenther@suse.de>
3620
3621 PR middle-end/63148
3622 * c-format.c (check_format_arg): Properly handle
3623 effectively signed POINTER_PLUS_EXPR offset.
3624
2b71f4a4
MLI
36252014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3626
3627 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3628 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3629 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3630 and Init.
3631 * c-opts.c (c_common_handle_option): Do not handle here.
3632 (sanitize_cpp_opts): Likewise.
3633 * c-common.c (struct reason_option_codes_t): Handle
3634 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3635
d2e4feca
MP
36362014-09-03 Marek Polacek <polacek@redhat.com>
3637
3638 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3639
9a771876
JJ
36402014-09-02 Jakub Jelinek <jakub@redhat.com>
3641 Balaji V. Iyer <balaji.v.iyer@intel.com>
3642 Igor Zamyatin <igor.zamyatin@intel.com>
3643
3644 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3645 * c-common.c (c_common_reswords): Added _Cilk_for.
3646 * c-common.h (enum rid): Added RID_CILK_FOR.
3647 (cilk_for_number_of_iterations): Add declaration.
3648 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3649 CILK_FOR.
3650 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3651 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3652
81b5d104
MLI
36532014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3654
3655 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3656 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3657 Wundef): Use CPP, Var and Init.
3658 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3659
b753b37b
MLI
36602014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3661
3662 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3663 * c-opts.c (c_common_handle_option): Do not handle here.
3664
028aee17
JM
36652014-08-25 Jason Merrill <jason@redhat.com>
3666
3667 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3668 -std=c++14 and -std=gnu++14, rather than the reverse.
3669 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3670 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3671 * c-common.h (cxx_dialect): Remove cxx1y.
3672
e4276ba5
ESR
36732014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3674
3675 * c-common.h (enum cxx_dialect): Add cxx14.
3676 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3677 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3678 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3679
a545cacd
JM
36802014-08-22 Jason Merrill <jason@redhat.com>
3681
3682 * c.opt (std=gnu++17): Fix alias.
3683
59ea0364
MP
36842014-08-22 Marek Polacek <polacek@redhat.com>
3685
3686 PR c++/62199
3687 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3688 check for vector types. Drop LHS argument.
3689 * c-common.h (warn_logical_not_parentheses): Adjust.
3690
596e808c
MLI
36912014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3692
3693 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3694 (Wmultichar): Likewise.
3695 (Wdate-time): Use C-family languages instead of Common. Use CPP
3696 and Var.
3697 * c-opts.c (c_common_handle_option): Do not handle the above
3698 options here.
3699 (sanitize_cpp_opts): Likewise.
3700
18767f65
MLI
37012014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3702
3703 PR fortran/44054
3704 * c-opts.c: Include tree-diagnostics.h.
3705 (c_diagnostic_finalizer): New.
3706 (c_common_initialize_diagnostics): Use it.
3707
b4413594
MLI
37082014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3709
3710 PR preprocessor/51303
3711 * c-common.c (struct reason_option_codes_t option_codes):
3712 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3713
43f9a13c
MLI
37142014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3715
3716 PR c/60975
3717 PR c/53063
3718 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3719 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3720 (c_common_post_options): Call init_global_opts_from_cpp.
3721 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3722
04159acf
MP
37232014-08-19 Marek Polacek <polacek@redhat.com>
3724
3725 PR c++/62153
3726 * c-common.c (maybe_warn_bool_compare): New function.
3727 * c-common.h (maybe_warn_bool_compare): Declare.
3728 * c.opt (Wbool-compare): New option.
3729
35aff4fb
MP
37302014-08-19 Marek Polacek <polacek@redhat.com>
3731
3732 * c.opt (Wc99-c11-compat): New option.
3733
177cce46
MP
37342014-08-19 Marek Polacek <polacek@redhat.com>
3735
3736 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3737 to warn_c90_c99_compat.
3738 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3739 to -1.
3740
6ae9194f
MLI
37412014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3742 Steven Bosscher <steven@gcc.gnu.org>
3743
3744 PR c/52952
3745 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3746 format_check_results.
3747 (check_function_format): Use true and add comment for boolean
3748 argument.
3749 (finish_dollar_format_checking): Use explicit location when warning.
3750 (check_format_info): Likewise.
3751 (check_format_arg): Set extra_arg_loc and format_string_loc.
3752 (check_format_info_main): Use explicit location when warning.
3753 (check_format_types): Pass explicit location.
3754 (format_type_warning): Likewise.
3755
8e54f6d3
MLI
37562014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3757
3758 PR fortran/44054
3759 * c-format.c: Handle Fortran flags.
3760
cd4e76fc
IZ
37612014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3762
3763 PR other/61962
3764 * array-notation-common.c (find_rank): Added handling for other
3765 types of references.
3766
f3bede71
MP
37672014-08-10 Marek Polacek <polacek@redhat.com>
3768
3769 PR c/51849
3770 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3771 * c.opt (Wc90-c99-compat): Add option.
3772
9f25a338
TS
37732014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3774
3775 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3776
62e4eb35
MP
37772014-08-03 Marek Polacek <polacek@redhat.com>
3778
3779 * c-common.c (check_case_value): Add location_t parameter. Use it.
3780 (c_add_case_label): Pass loc to check_case_value.
3781
b787e7a2
TS
37822014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3783
3784 * cilk.c: Use hash_map instead of pointer_map.
3785
6e2830c3
TS
37862014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3787
3788 * c-gimplify.c: Use hash_set instead of pointer_set.
3789
a7ee52fb
IZ
37902014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3791
3792 PR middle-end/61455
3793 * array-notation-common.c (extract_array_notation_exprs): Handling
3794 of DECL_EXPR added.
3795
944fa280
JJ
37962014-08-01 Jakub Jelinek <jakub@redhat.com>
3797
3798 * c-common.h (min_align_of_type): Removed prototype.
3799 * c-common.c (min_align_of_type): Removed.
3800 * c-ubsan.h (ubsan_maybe_instrument_reference,
3801 ubsan_maybe_instrument_member_call): New prototypes.
3802 * c-ubsan.c: Include stor-layout.h and builtins.h.
3803 (ubsan_maybe_instrument_reference_or_call,
3804 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3805 functions.
3806
b4dfdc11
MG
38072014-07-31 Marc Glisse <marc.glisse@inria.fr>
3808
3809 PR c++/60517
3810 * c.opt (-Wreturn-local-addr): Move to common.opt.
3811
a41844e5
JM
38122014-07-30 Jason Merrill <jason@redhat.com>
3813
3814 PR c++/61659
3815 PR c++/61687
3816 Revert:
3817 * c.opt (-fuse-all-virtuals): New.
3818
976d5a22
TT
38192014-07-30 Tom Tromey <tromey@redhat.com>
3820
3821 PR c/59855
3822 * c.opt (Wdesignated-init): New option.
3823 * c-common.c (c_common_attribute_table): Add "designated_init".
3824 (handle_designated_init): New function.
3825
cdc94aca
MP
38262014-07-24 Marek Polacek <polacek@redhat.com>
3827
3828 PR c/57653
3829 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3830
f41373b6
DS
38312014-07-16 Dodji Seketeli <dodji@redhat.com>
3832
3833 PR preprocessor/60723 - missing system-ness marks for macro tokens
3834 * c-ppoutput.c (struct print::prev_was_system_token): New data
3835 member.
3836 (init_pp_output): Initialize it.
3837 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3838 (do_line_change): Return a flag saying if a line marker was
3839 emitted or not.
3840 (scan_translation_unit): Detect if the system-ness of the token we
3841 are about to emit is different from the one of the previously
3842 emitted token. If so, emit a line marker. Avoid emitting useless
3843 adjacent line markers. Avoid emitting line markers for tokens
3844 originating from the expansion of built-in macros.
3845 (scan_translation_unit_directives_only): Adjust.
3846
4d661eaa
MP
38472014-07-15 Marek Polacek <polacek@redhat.com>
3848
3849 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3850 TYPE_MAX_VALUE is NULL.
3851
b108f48f
JJ
38522014-07-14 Jakub Jelinek <jakub@redhat.com>
3853
3854 PR middle-end/61294
3855 * c.opt (Wmemset-transposed-args): New warning.
3856
c0221884
JM
38572014-07-10 Jason Merrill <jason@redhat.com>
3858
3859 PR c++/61659
3860 PR c++/61687
3861 * c.opt (-fuse-all-virtuals): New.
3862
63dfbb95
RB
38632014-07-09 Richard Biener <rguenther@suse.de>
3864
3865 PR c-family/61741
3866 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3867 using unsigned arithmetic if overflow does not wrap instead of
3868 if overflow is undefined.
3869
773ec47f
MP
38702014-07-06 Marek Polacek <polacek@redhat.com>
3871
3872 PR c/6940
3873 * c.opt (Wsizeof-array-argument): New option.
3874
00a7ba58
JJ
38752014-07-03 Jakub Jelinek <jakub@redhat.com>
3876
b1726d6c 3877 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
3878 comments->count <= 1, as comments->entries might be NULL.
3879
52ec0ea3
MP
38802014-07-01 Marek Polacek <polacek@redhat.com>
3881
3882 * c.opt (Wint-conversion): New option.
3883
d5c3d343
MP
38842014-07-01 Marek Polacek <polacek@redhat.com>
3885
3886 PR c/58286
3887 * c.opt (Wincompatible-pointer-types): New option.
3888
6e7ceb17
PC
38892014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3890
3891 PR c++/51400
3892 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3893 Do not discard TYPE_QUALS of type.
3894
da73100b
JM
38952014-06-26 Jason Merrill <jason@redhat.com>
3896
3897 * c-common.h (enum cxx_dialect): Add cxx1z.
3898 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3899 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3900
08eedf75
TJ
39012014-06-26 Teresa Johnson <tejohnson@google.com>
3902
3903 * c-common.h (get_dump_info): Declare.
3904 * c-gimplify.c (c_genericize): Use saved dump files.
3905 * c-opts.c (c_common_parse_file): Begin and end dumps
3906 once around parsing invocation.
3907 (get_dump_info): New function.
3908
7b56b2f8
MP
39092014-06-23 Marek Polacek <polacek@redhat.com>
3910 Andrew MacLeod <amacleod@redhat.com>
3911
3912 PR c/61553
3913 * c-common.c (get_atomic_generic_size): Don't segfault if the
3914 type doesn't have a size.
3915
0e37a2f3
MP
39162014-06-20 Marek Polacek <polacek@redhat.com>
3917
3918 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3919 (ubsan_walk_array_refs_r): New function.
3920 (c_genericize): Instrument array bounds.
3921 * c-ubsan.c: Include "internal-fn.h".
3922 (ubsan_instrument_division): Mark instrumented arrays as having
3923 side effects. Adjust ubsan_type_descriptor call.
3924 (ubsan_instrument_shift): Likewise.
3925 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3926 (ubsan_instrument_bounds): New function.
3927 (ubsan_array_ref_instrumented_p): New function.
3928 (ubsan_maybe_instrument_array_ref): New function.
3929 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3930 (ubsan_array_ref_instrumented_p): Declare.
3931 (ubsan_maybe_instrument_array_ref): Declare.
3932
39332014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
3934
3935 PR lto/61123
3936 * c.opt (fshort-enums): Add to LTO.
3937 * c.opt (fshort-wchar): Likewise.
3938
5c3d09f7
MP
39392014-06-16 Marek Polacek <polacek@redhat.com>
3940
3941 PR c/60439
3942 * c.opt (Wswitch-bool): Add Var.
3943
9cf32741
JJ
39442014-06-12 Jakub Jelinek <jakub@redhat.com>
3945
3946 PR middle-end/61486
3947 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3948 #pragma omp target teams or
3949 #pragma omp {,target }teams distribute simd.
3950
62984918
JM
39512014-06-12 Jason Merrill <jason@redhat.com>
3952
3953 * c.opt (Wabi=, fabi-compat-version): New.
3954 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3955 (c_common_post_options): Handle flag_abi_compat_version default.
3956 Disallow -fabi-compat-version=1.
3957 * c-common.h (abi_version_crosses): New.
3958
f961457f
JH
39592014-06-11 Jan Hubicka <hubicka@ucw.cz>
3960
adfac8df 3961 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
3962 section names that are no longer trees.
3963
92d28cbb
JJ
39642014-06-10 Jakub Jelinek <jakub@redhat.com>
3965
3966 PR fortran/60928
3967 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3968 (omp_pragmas): ... back here.
3969
742938c9
MP
39702014-06-05 Marek Polacek <polacek@redhat.com>
3971
3972 PR c/49706
3973 * c-common.c (warn_logical_not_parentheses): New function.
3974 * c-common.h (warn_logical_not_parentheses): Declare.
3975 * c.opt (Wlogical-not-parentheses): New option.
3976
9d548dfb
MP
39772014-06-04 Marek Polacek <polacek@redhat.com>
3978
3979 PR c/30020
3980 * c-common.c (check_case_bounds): Add location parameter.
3981 Use it.
3982 (c_add_case_label): Pass loc to check_case_bounds.
3983
fedfecef
MP
39842014-06-03 Marek Polacek <polacek@redhat.com>
3985
3986 PR c/60439
3987 * c.opt (Wswitch-bool): New option.
3988
f6a7cffc
TS
39892014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3990
040d18b6
TS
3991 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3992 Remove prototypes.
3993 (record_types_used_by_current_var_decl): Move prototype to where
3994 it belongs.
3995
f6a7cffc
TS
3996 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3997 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3998 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3999
632f2871
RS
40002014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4001
4002 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
4003 * c-common.c (c_common_nodes_and_builtins): Don't initialize
4004 void_zero_node.
4005 * c-pretty-print.c (pp_c_void_constant): New function.
4006 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
4007 (c_pretty_printer::expression): Handle VOID_CST.
4008 * cilk.c (extract_free_variables): Likewise.
4009 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
4010 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
4011
766090c2
TS
40122014-05-17 Trevor Saunders <tsaunders@mozilla.com>
4013
4014 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
4015 * c-pragma.c (push_alignment): Adjust.
4016 (handle_pragma_push_options): Likewise.
4017
661a0813
MP
40182014-05-09 Marek Polacek <polacek@redhat.com>
4019
4020 PR c/50459
4021 * c-common.c (check_user_alignment): Return -1 if alignment is error
4022 node.
4023 (handle_aligned_attribute): Don't call default_conversion on
4024 FUNCTION_DECLs.
4025 (handle_vector_size_attribute): Likewise.
4026 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
4027 (handle_sentinel_attribute): Call default_conversion and allow even
4028 integral types as an argument.
4029
2793eeab
MP
40302014-05-08 Marek Polacek <polacek@redhat.com>
4031
4032 PR c/61053
4033 * c-common.c (min_align_of_type): New function factored out from...
4034 (c_sizeof_or_alignof_type): ...here.
4035 * c-common.h (min_align_of_type): Declare.
4036
f827930a
MP
40372014-05-08 Marek Polacek <polacek@redhat.com>
4038
4039 PR c/61077
4040 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
4041 parameter type of main.
4042
ca49b74e
DD
40432014-05-07 DJ Delorie <dj@redhat.com>
4044
4045 * c-cppbuiltin.c (print_bits_of_hex): New.
4046 (builtin_define_type_minmax): Print values using hex so as not to
4047 require a pre-computed list of string values.
4048
1d60af08
KZ
40492014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
4050 Mike Stump <mikestump@comcast.net>
4051 Richard Sandiford <rdsandiford@googlemail.com>
4052
4053 * c-ada-spec.c: Include wide-int.h.
4054 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
4055 (dump_generic_ada_node): Use wide-int interfaces.
4056 * c-common.c: Include wide-int-print.h.
4057 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
4058 (pointer_int_sum): Use wide-int interfaces.
4059 (c_common_nodes_and_builtins): Use make_int_cst.
4060 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
4061 (handle_alloc_size_attribute): Use wide-int interfaces.
4062 (get_nonnull_operand): Likewise.
4063 * c-format.c (get_constant): Use tree_fits_uhwi_p.
4064 * c-lex.c: Include wide-int.h.
4065 (narrowest_unsigned_type): Take a widest_int rather than two
4066 HOST_WIDE_INTs.
4067 (narrowest_signed_type): Likewise.
4068 (interpret_integer): Update accordingly. Use wide-int interfaces.
4069 (lex_charconst): Use wide-int interfaces.
4070 * c-pretty-print.c: Include wide-int.h.
4071 (pp_c_integer_constant): Use wide-int interfaces.
4072 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
4073 INT_CST_LT_UNSIGNED.
4074
b15458be
RB
40752014-05-06 Richard Biener <rguenther@suse.de>
4076
4077 * c-opts.c (c_common_post_options): For -freestanding,
4078 -fno-hosted and -fno-builtin disable pattern recognition
4079 if not enabled explicitely.
4080
6577374e
MP
40812014-05-02 Marek Polacek <polacek@redhat.com>
4082
4083 * c.opt (Wsizeof-pointer-memaccess): Describe option.
4084
d00887e8
MP
40852014-05-01 Marek Polacek <polacek@redhat.com>
4086
4087 PR c/43245
4088 * c.opt (Wdiscarded-qualifiers): Add.
4089
f8ed5150
MP
40902014-04-30 Marek Polacek <polacek@redhat.com>
4091
4092 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
4093 INT_MIN / -1 sanitization only for integer types.
4094
45484dcf
MP
40952014-04-25 Marek Polacek <polacek@redhat.com>
4096
4097 PR c/18079
4098 * c-common.c (handle_noinline_attribute): Warn if the attribute
4099 conflicts with always_inline attribute.
4100 (handle_always_inline_attribute): Warn if the attribute conflicts
4101 with noinline attribute.
4102
38e514c0
MP
41032014-04-25 Marek Polacek <polacek@redhat.com>
4104
4105 PR c/60156
4106 * c-common.c (check_main_parameter_types): Warn about variadic main.
4107
44875f92
MS
41082014-04-24 Mike Stump <mikestump@comcast.net>
4109
4110 * c.opt (Wshadow-ivar): Default to on.
4111
dcaaa5a0
DP
41122014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4113
4114 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4115
c07d7c02
MP
41162014-04-23 Marek Polacek <polacek@redhat.com>
4117
4118 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4119
1c33c9b7
JJ
41202014-04-22 Jakub Jelinek <jakub@redhat.com>
4121
4122 PR sanitizer/60275
4123 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4124 if flag_sanitize_undefined_trap_on_error.
4125 (ubsan_instrument_division, ubsan_instrument_shift,
4126 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4127 if !flag_sanitize_recover.
4128
793c625f
MG
41292014-04-22 Marc Glisse <marc.glisse@inria.fr>
4130
4131 PR libstdc++/43622
4132 * c-common.c (registered_builtin_types): Make non-static.
4133 * c-common.h (registered_builtin_types): Declare.
4134
b0f1bf36
RB
41352014-04-14 Richard Biener <rguenther@suse.de>
4136 Marc Glisse <marc.glisse@inria.fr>
4137
4138 PR c/60819
4139 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4140 apply may-alias the scalar pointer type when applicable.
4141
3b07fa4a
IZ
41422014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4143
4144 PR middle-end/60467
4145 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4146 as possible argument for Cilk_spawn.
4147
cbbd2b1c
TB
41482014-04-11 Tobias Burnus <burnus@net-b.de>
4149
4150 PR c/60194
4151 * c.opt (Wformat-signedness): Add
4152 * c-format.c(check_format_types): Use it.
4153
6415bd5d
JM
41542014-04-11 Jason Merrill <jason@redhat.com>
4155
4156 PR c++/57926
4157 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4158 default_conversion for an array argument.
4159
6525783a
MP
41602014-04-08 Marek Polacek <polacek@redhat.com>
4161
4162 PR sanitizer/60745
4163 * c-ubsan.c: Include asan.h.
4164 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4165
880a467b
NS
41662014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4167
4168 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4169
7b59ff2d
MP
41702014-04-02 Marek Polacek <polacek@redhat.com>
4171
4172 * c-common.h (c_expand_expr): Remove declaration.
4173
8edbfaa6
JJ
41742014-03-28 Jakub Jelinek <jakub@redhat.com>
4175
4176 PR c++/60689
4177 * c-common.c (add_atomic_size_parameter): When creating new
4178 params vector, push the size argument first.
4179
07d72e1d
JJ
41802014-03-26 Jakub Jelinek <jakub@redhat.com>
4181
4182 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4183 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4184 ubsan_create_data callers.
4185
b35e0fa0
JJ
41862014-03-22 Jakub Jelinek <jakub@redhat.com>
4187
4188 PR debug/60603
4189 * c-opts.c (c_finish_options): Restore cb_file_change call to
4190 <built-in>.
4191
39a1ebb3
JJ
41922014-03-13 Jakub Jelinek <jakub@redhat.com>
4193
4194 PR middle-end/36282
4195 * c-pragma.c (apply_pragma_weak): Only look at
4196 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4197 DECL_ASSEMBLER_NAME_SET_P (decl).
4198 (maybe_apply_pending_pragma_weaks): Exit early if
4199 vec_safe_is_empty (pending_weaks) rather than only when
4200 !pending_weaks.
4201 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4202 set assembler name back to NULL afterwards.
4203
a07f6ed2
JM
42042014-03-11 Jason Merrill <jason@redhat.com>
4205
4206 * c.opt: Add -std=gnu++14.
4207
75b107f5
IB
42082014-03-11 Ian Bolton <ian.bolton@arm.com>
4209
4210 * c-opts.c (c_common_post_options): Don't override
4211 -ffp-contract=fast if unsafe-math-optimizations is on.
4212
f42c637e
PM
42132014-03-08 Paulo Matos <paulo@matos-sorge.com>
4214
22b15758 4215 * c.opt: Enable LTO FE for fshort-double.
f42c637e 4216
70e24808
JM
42172014-03-07 Jason Merrill <jason@redhat.com>
4218
4219 * c.opt: Add -std=c++14.
4220
3af9c5e9
MP
42212014-03-06 Marek Polacek <polacek@redhat.com>
4222
4223 PR c/60197
4224 * cilk.c (contains_cilk_spawn_stmt): New function.
4225 (contains_cilk_spawn_stmt_walker): Likewise.
4226 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4227 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4228
b3bdf019
JJ
42292014-03-03 Jakub Jelinek <jakub@redhat.com>
4230
4231 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4232 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4233 even when flag_preprocess_only.
4234
ca7e759d
JM
42352014-02-26 Jason Merrill <jason@redhat.com>
4236
4237 PR c++/59231
4238 PR c++/11586
4239 * c-common.c (shorten_compare): Don't check
4240 c_inhibit_evaluation_warnings.
4241
28e41874
JJ
42422014-02-19 Jakub Jelinek <jakub@redhat.com>
4243
cca615af
JJ
4244 PR c/37743
4245 * c-common.c (c_common_nodes_and_builtins): When initializing
4246 c_uint{16,32,64}_type_node, also set corresponding
4247 uint{16,32,64}_type_node to the same value.
4248
28e41874
JJ
4249 PR c++/60267
4250 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4251 for PRAGMA_IVDEP if flag_preprocess_only.
4252
c2bf53a1
JJ
42532014-02-12 Jakub Jelinek <jakub@redhat.com>
4254
4255 PR c/60101
4256 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4257 if false, add ADD itself, rather than vice versa.
4258 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4259 copy. For SAVE_EXPR, only call merge_tlist once.
4260
8fcbce72
JJ
42612014-02-08 Jakub Jelinek <jakub@redhat.com>
4262
4263 PR middle-end/60092
4264 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4265 and tree_to_uhwi.
4266 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4267 functions.
4268 (c_common_attribute_table): Add alloc_align and assume_aligned
4269 attributes.
4270
0a756a3f
MP
42712014-02-06 Marek Polacek <polacek@redhat.com>
4272
4273 PR c/60087
4274 * c-common.c (warn_for_sign_compare): Call warning_at with location
4275 instead of warning.
4276
7ec4847a
MP
42772014-02-05 Marek Polacek <polacek@redhat.com>
4278
4279 PR c/53123
4280 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4281 statement.
4282
66f20604
MP
42832014-02-04 Marek Polacek <polacek@redhat.com>
4284
4285 PR c/60036
4286 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4287 SAVE_EXPR.
4288
5d77fb19
MG
42892014-02-03 Marc Glisse <marc.glisse@inria.fr>
4290
4291 PR c++/53017
4292 PR c++/59211
4293 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4294 handle_vector_size_attribute, handle_nonnull_attribute): Call
4295 default_conversion on the attribute argument.
4296 (handle_nonnull_attribute): Increment the argument number.
4297
81e5eca8
MP
42982014-01-31 Marek Polacek <polacek@redhat.com>
4299
4300 PR c/59963
4301 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4302 build_function_call_vec.
4303 (resolve_overloaded_builtin): Likewise.
4304 * c-common.h (build_function_call_vec): Adjust declaration.
4305
68fca595
MP
43062014-01-30 Marek Polacek <polacek@redhat.com>
4307
4308 PR c/59940
4309 * c-common.h (unsafe_conversion_p): Adjust declaration.
4310 (warnings_for_convert_and_check): Likewise.
4311 (convert_and_check): Likewise.
4312 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4313 expansion_point_location_if_in_system_header on it.
4314 (warnings_for_convert_and_check): Add location parameter. Call
4315 expansion_point_location_if_in_system_header on it. Use it.
4316 (convert_and_check): Add location parameter. Use it.
4317 (conversion_warning): Likewise.
4318 (c_add_case_label): Adjust convert_and_check calls.
4319 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4320
b72271b9
BI
43212014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4322
4323 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4324 flag_cilkplus.
4325 * c-pragma.c (init_pragma): Likewise.
4326 * c.opt: Likewise.
4327
393e8e8b
MP
43282014-01-23 Marek Polacek <polacek@redhat.com>
4329
4330 PR c/59846
4331 * c-common.c (shorten_compare): Add location_t parameter.
4332 * c-common.h (shorten_binary_op): Adjust declaration.
4333
f04dda30
MP
43342014-01-23 Marek Polacek <polacek@redhat.com>
4335
4336 PR c/58346
4337 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4338 * c-common.h: Declare it.
4339
621955cb
EB
43402014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4341
4342 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4343 * c-ada-spec.c (dump_ads): Likewise.
4344 (cpp_check): Likewise.
4345 (dump_ada_specs): Likewise.
4346
43472014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
4348
4349 PR c++/49718
4350 * c-common.c (handle_no_instrument_function_attribute): Allow
4351 no_instrument_function attribute in class member
4352 definition/declaration.
4353
241f845a
JJ
43542014-01-15 Jakub Jelinek <jakub@redhat.com>
4355
4356 PR c/58943
4357 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4358 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4359 being COMPOUND_EXPR.
4360 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4361 operand a SAVE_EXPR and second MODIFY_EXPR.
4362
e83b8e2e
JJ
43632014-01-09 Jakub Jelinek <jakub@redhat.com>
4364
4365 PR target/58115
4366 * c-pch.c (c_common_write_pch): Call
4367 prepare_target_option_nodes_for_pch.
4368
23a5b65a
RS
43692014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4370
4371 Update copyright years
4372
f9030485
RS
43732014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4374
4375 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4376 the copyright notice.
4377
f2aa696b
EB
43782013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4379
4380 * c-ada-spec.c (print_constructor): New function.
4381 (print_destructor): Retrieve the origin of the destructor.
4382 (print_ada_declaration): Revamp handling of constructors/destructors.
4383
3f8257db 43842013-12-23 Stuart Hastings <stuart@apple.com>
1f26ac87
JM
4385 Bill Maddox <maddox@google.com>
4386 Jason Merrill <jason@redhat.com>
4387
4388 * c.opt: Add -fdeclone-ctor-dtor.
4389 * c-opts.c (c_common_post_options): Default to on iff -Os.
4390
41958c28
BI
43912013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4392
4393 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4394 attribute.
4395 * c-pragma.h (enum pragma_cilk_clause): Remove.
4396 (enum pragma_omp_clause): Added the following fields:
4397 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4398 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4399 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4400 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4401 PRAGMA_CILK_CLAUSE_UNIFORM.
4402
b1726d6c 4403
12893402
BI
44042013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4405
4406 * cilk.c (cilk_outline): Made this function non-static.
4407 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4408 (create_cilk_wrapper): Added a new parameter: a function pointer.
4409 (c_install_body_w_frame_cleanup): Remove
4410 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4411 * c-common.h (cilk_outline): New prototype.
4412 (gimplify_cilk_spawn): Removed two parameters.
4413 (cilk_install_body_with_frame_cleanup): New prototype.
4414 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4415 CILK_SPAWN_STMT case.
4416
085b42ed
BS
44172013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4418
2ce064c3
BS
4419 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4420
085b42ed
BS
4421 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4422 (int_array_type_node): Remove.
4423 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4424
9e36c9ed
MP
44252013-12-05 Marek Polacek <polacek@redhat.com>
4426
4427 PR c/52023
4428 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4429 [ADJUST_FIELD_ALIGN].
4430
296674db
JM
44312013-12-04 Joseph Myers <joseph@codesourcery.com>
4432
4433 PR c/52023
4434 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4435 and check field alignment if set.
4436 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4437 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4438
b1726d6c 44392013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
4440 Marek Polacek <polacek@redhat.com>
4441
4442 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4443 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4444
d7947e19
L
44452013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4446
4447 PR c/59309
4448 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4449 arguments.
4450
fad7652e
JJ
44512013-11-29 Jakub Jelinek <jakub@redhat.com>
4452
4453 PR c/59280
4454 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4455 goto invalid. If it is error_mark_node, don't issue further
4456 diagnostics.
4457
8b5e1202
SO
44582013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4459
4460 * c.opt (Wopenmp-simd): New.
4461
0a508bb6
JJ
44622013-11-22 Jakub Jelinek <jakub@redhat.com>
4463
4464 * c-ubsan.h (ubsan_instrument_return): New prototype.
4465 * c-ubsan.c (ubsan_instrument_return): New function.
4466
2fb9a547
AM
44672013-11-22 Andrew MacLeod <amacleod@redhat.com>
4468
4469 * c-common.c: Add required include files from gimple.h.
4470 * c-gimplify.c: Likewise
4471 * cilk.c: Likewise
4472
8400e75e
DM
44732013-11-22 David Malcolm <dmalcolm@redhat.com>
4474
4475 * c-common.c (unsafe_conversion_p): Remove use of
4476 EXPR_LOC_OR_HERE macro.
4477 (conversion_warning): Likewise.
4478 (warnings_for_convert_and_check): Likewise.
4479 (warn_for_collisions_1): Likewise.
4480 (shorten_compare): Likewise, and remove use of in_system_header
4481 macro, using the location from the former.
4482 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4483 (cb_def_pragma): Remove use of in_system_header macro.
4484 (lex_string): Likewise.
4485 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4486
eb1ce453
KZ
44872013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4488 Mike Stump <mikestump@comcast.net>
4489 Richard Sandiford <rdsandiford@googlemail.com>
4490
4491 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4492 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4493 tree_fits_shwi_p or tree_fits_uhwi_p.
4494 (dump_generic_ada_node): Likewise.
4495 * c-format.c (check_format_arg): Likewise.
4496 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4497
6b3b8c27
KZ
44982013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4499
4500 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4501
49b0aa18
JC
45022013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4503
4504 PR c/53001
4505 * c-common.c (unsafe_conversion_p): Make this function
4506 return an enumeration with more detail.
4507 (conversion_warning): Use the new return type of
4508 unsafe_conversion_p to separately warn either about conversions
4509 that lower floating point number precision or about the other
4510 kinds of conversions.
4511 * c-common.h (enum conversion_safety): New enumeration.
8e745a17
JJ
4512 (unsafe_conversion_p): switching return type to
4513 conversion_safety enumeration.
49b0aa18
JC
4514 * c.opt: Adding new warning -Wfloat-conversion and
4515 enabling it with -Wconversion.
4516
b826515a
BS
45172013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4518
8e745a17
JJ
4519 * c-opts.c: Include plugin.h.
4520 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
b826515a 4521
b9a55b13
MP
45222013-11-19 Marek Polacek <polacek@redhat.com>
4523
4524 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4525 call.
4526 (ubsan_instrument_shift): Likewise.
4527 (ubsan_instrument_vla): Likewise.
4528
7d362f6c
RS
45292013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4530
4531 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4532 cast to unsigned type.
4533
386b1f1f
RS
45342013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4535
4536 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4537 tree_low_cst.
4538 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4539 rather than tree_low_cst.
4540
ae7e9ddd
RS
45412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4542
4543 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4544 tree_to_uhwi throughout.
4545
9439e9a1
RS
45462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4547
4548 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4549 tree_low_cst (..., 0) with tree_to_shwi throughout.
4550
cc269bb6
RS
45512013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4552
4553 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4554 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4555
9541ffee
RS
45562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4557
4558 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4559 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4560
c02065fc
AH
45612013-11-15 Aldy Hernandez <aldyh@redhat.com>
4562
4563 * c-cilkplus.c: New file.
4564 * c-common.c (readonly_error): Add location argument.
4565 * c-common.h (readonly_error): Same.
4566 (c_finish_cilk_clauses): Protoize.
4567 (c_check_cilk_loop): Same.
4568 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4569 Do not fail on error_mark_node.
4570 Abstract increment canonicalization to here...
4571 (c_omp_for_incr_canonicalize_ptr): New.
4572 c-pragma.c (init_pragma): Register "simd" pragma.
4573 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4574 (enum pragma_cilk_clause): New.
4575
9cc65f15
RS
45762013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4577
4578 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4579 wchar_type and host_integerp checks.
4580
18f429e2
AM
45812013-11-14 Andrew MacLeod <amacleod@redhat.com>
4582
4583 * c-common.c: Likewise.
4584 * c-gimplify.c: Likewise.
4585 * cilk.c: Likewise.
4586
d8a2d370
DN
45872013-11-14 Diego Novillo <dnovillo@google.com>
4588
4589 * c-common.c: Include fold-const.h.
4590 Include stor-layout.h.
4591 Include calls.h.
4592 Include stringpool.h.
4593 Include attribs.h.
4594 Include varasm.h.
4595 Include trans-mem.h.
4596 * c-cppbuiltin.c: Include stor-layout.h.
4597 Include stringpool.h.
4598 * c-format.c: Include stringpool.h.
4599 * c-lex.c: Include stringpool.h.
4600 Include stor-layout.h.
4601 * c-pragma.c: Include stringpool.h.
4602 Include attribs.h.
4603 Include varasm.h.
4604 Include gcc-symtab.h.
4605 * c-pretty-print.c: Include stor-layout.h.
4606 Include attribs.h.
4607 * cilk.c: Include stringpool.h.
4608 Include calls.h.
4609
38b7bc7f
JM
46102013-11-13 Joseph Myers <joseph@codesourcery.com>
4611
4612 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4613 * c-common.c (c_common_reswords): Add __auto_type.
4614 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4615
45b0be94
AM
46162013-11-12 Andrew MacLeod <amacleod@redhat.com>
4617
18f429e2
AM
4618 * c-common.c: Include gimplify.h.
4619 * c-gimplify.c: Likewise.
4620 * cilk.c: Likewise.
4621 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4622 * c-ubsan.c: Don't include gimple.h.
45b0be94 4623
582d9b50
JM
46242013-11-12 Joseph Myers <joseph@codesourcery.com>
4625
4626 * c-common.c (c_common_reswords): Add _Thread_local.
4627
6b28e197
JM
46282013-11-09 Joseph Myers <joseph@codesourcery.com>
4629
4630 * c-common.c (atomic_size_supported_p): New function.
4631 (resolve_overloaded_atomic_exchange)
4632 (resolve_overloaded_atomic_compare_exchange)
4633 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4634 Use it instead of comparing size with a local list of sizes.
4635
267bac10
JM
46362013-11-07 Andrew MacLeod <amacleod@redhat.com>
4637 Joseph Myers <joseph@codesourcery.com>
4638
4639 * c-common.h (enum rid): Add RID_ATOMIC.
4640 * c-common.c (c_common_reswords): Add _Atomic.
4641 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4642 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4643 * c-format.c (check_format_types): Check for extra _Atomic
4644 qualifiers in format argument.
4645 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4646 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4647
5157b91e
TB
46482013-11-06 Tobias Burnus <burnus@net-b.de>
4649
4650 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4651
6dbe0958
JM
46522013-11-06 Joseph Myers <joseph@codesourcery.com>
4653
4654 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4655 standards modes.
4656 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4657 to mean lack of IEEE 754 support.
4658
e8ff5196
TB
46592013-11-05 Tobias Burnus <burnus@net-b.de>
4660
4661 * c.opt (-Wdate-time): New option
4662 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4663
254a0760
JM
46642013-11-05 Joseph Myers <joseph@codesourcery.com>
4665
4666 * c-cppbuiltin.c (cpp_iec_559_value): Test
4667 flag_excess_precision_cmdline not flag_excess_precision.
4668
6d7f7e0a
TB
46692013-11-05 Tobias Burnus <burnus@net-b.de>
4670
4671 * c.opt (fopenmp-simd): New option.
4672 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4673 (omp_pragmas): ... this new struct.
4674 (c_pp_lookup_pragma): Also walk omp_pragmas.
4675 (init_pragma): Init pragmas for -fopenmp-simd.
4676
55a7f02f
MP
46772013-11-04 Marek Polacek <polacek@redhat.com>
4678
4679 PR c++/58979
4680 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4681
9193fb05
JM
46822013-11-04 Joseph Myers <joseph@codesourcery.com>
4683
4684 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4685 New functions.
4686 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4687
94159ecf
EB
46882013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4689
4690 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4691 (dump_ada_specs): Adjust prototype of second callback.
4692 * c-ada-spec.c (cpp_check): New global variable.
4693 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4694 (print_generic_ada_decl): Likewise.
4695 (has_static_fields): Change return type to bool and add guard.
4696 (has_nontrivial_methods): New predicate.
4697 (is_tagged_type): Change return type to bool.
4698 (separate_class_package): Call has_nontrivial_methods.
4699 (pp_ada_tree_identifier): Minor tweaks.
4700 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4701 (dump_ada_array_domains): Likewise.
4702 (dump_ada_array_type): Likewise.
4703 (dump_template_types): Remove cpp_check parameter and do not pass it to
4704 dump_generic_ada_node.
4705 (dump_ada_template): Likewise.
4706 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4707 recursively.
4708 (print_ada_methods): Change return type to integer. Remove cpp_check
4709 parameter and do not pass it down.
4710 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4711 dump_generic_ada_node.
4712 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4713 accessing methods.
4714 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4715 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4716 value of print_ada_methods.
4717 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4718 Set cpp_check to it before invoking dump_ada_nodes.
4719 (dump_ada_specs): Likewise.
4720
b906f4ca
MP
47212013-11-03 Marek Polacek <polacek@redhat.com>
4722
4723 * c-ubsan.c: Don't include hash-table.h.
4724 (ubsan_instrument_vla): New function.
4725 * c-ubsan.h: Declare it.
4726
5e20cdc9
DM
47272013-10-31 David Malcolm <dmalcolm@redhat.com>
4728
4729 Automated part of renaming of symtab_node_base to symtab_node.
4730
4731 Patch autogenerated by rename_symtab.py from
4732 https://github.com/davidmalcolm/gcc-refactoring-scripts
4733 revision 58bb219cc090b2f4516a9297d868c245495ee622
4734
4735 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4736 symtab_node_base to symtab_node.
4737
7057e645
ESR
47382013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4739
8e745a17 4740 Implement C++14 digit separators.
7057e645
ESR
4741 * c-lex.c (interpret_float): Remove digit separators from scratch string
4742 before building real literal.
4743
193ea7bc
JJ
47442013-10-30 Jakub Jelinek <jakub@redhat.com>
4745
4746 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4747
939b37da
BI
47482013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4749
4750 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4751 fields.
4752 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4753 enabled.
4754 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4755 (insert_cilk_frame): New prototype.
4756 (cilk_init_builtins): Likewise.
4757 (gimplify_cilk_spawn): Likewise.
4758 (c_cilk_install_body_w_frame_cleanup): Likewise.
4759 (cilk_detect_spawn_and_unwrap): Likewise.
4760 (cilk_set_spawn_marker): Likewise.
4761 (build_cilk_sync): Likewise.
4762 (build_cilk_spawn): Likewise.
4763 * cilk.c: New file.
4764
67348ccc
DM
47652013-10-29 David Malcolm <dmalcolm@redhat.com>
4766
4767 Patch autogenerated by refactor_symtab.py from
4768 https://github.com/davidmalcolm/gcc-refactoring-scripts
4769 revision 58bb219cc090b2f4516a9297d868c245495ee622
4770
4771 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4772 to a true class hierarchy.
4773 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4774
d570872d
RS
47752013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4776
4777 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4778
98906124
JL
47792013-10-26 Jeff Law <law@redhat.com>
4780
adfac8df
JJ
4781 * c-common.c (c_define_builtins): Remove mudflap support.
4782 * c.opt: Ignore and warn for mudflap options.
98906124 4783
d73749df 47842013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
4785
4786 PR other/33426
4787 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4788 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4789
3f04b1bb
JM
47902013-10-23 Jason Merrill <jason@redhat.com>
4791
4792 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4793
acf0174b
JJ
47942013-10-11 Jakub Jelinek <jakub@redhat.com>
4795
acd15a28
JJ
4796 * c-common.h (omp_clause_mask::operator !=): New method.
4797 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4798 instead of if (mask & something) tests everywhere.
4799
acf0174b
JJ
4800 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4801 201307 instead of 201107.
4802 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4803 (c_common_attribute_table): Add "omp declare target" and
4804 "omp declare simd" attributes.
4805 (handle_omp_declare_target_attribute,
4806 handle_omp_declare_simd_attribute): New functions.
4807 * c-omp.c: Include c-pragma.h.
4808 (c_finish_omp_taskgroup): New function.
4809 (c_finish_omp_atomic): Add swapped argument, if true,
4810 build the operation first with rhs, lhs arguments and use NOP_EXPR
4811 build_modify_expr.
4812 (c_finish_omp_for): Add code argument, pass it down to make_code.
4813 (c_omp_split_clauses): New function.
4814 (c_split_parallel_clauses): Removed.
4815 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4816 c_omp_declare_simd_clauses_to_decls): New functions.
4817 * c-common.h (omp_clause_mask): New type.
4818 (OMP_CLAUSE_MASK_1): Define.
4819 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4820 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4821 omp_clause_mask::operator |, omp_clause_mask::operator &,
4822 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4823 omp_clause_mask::operator ==): New methods.
4824 (enum c_omp_clause_split): New.
4825 (c_finish_omp_taskgroup): New prototype.
4826 (c_finish_omp_atomic): Add swapped argument.
4827 (c_finish_omp_for): Add code argument.
4828 (c_omp_split_clauses): New prototype.
4829 (c_split_parallel_clauses): Removed.
4830 (c_omp_declare_simd_clauses_to_numbers,
4831 c_omp_declare_simd_clauses_to_decls): New prototypes.
4832 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4833 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4834 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4835 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4836 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4837 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4838 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4839 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4840 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4841 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4842 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4843 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4844 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4845 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4846 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4847 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4848 PRAGMA_OMP_CLAUSE_UNIFORM.
4849
826cacfe
MG
48502013-10-09 Marc Glisse <marc.glisse@inria.fr>
4851
4852 PR tree-optimization/20318
4853 * c-common.c (handle_returns_nonnull_attribute): New function.
4854 (c_common_attribute_table): Add returns_nonnull.
4855
2284b034
MG
48562013-10-03 Marc Glisse <marc.glisse@inria.fr>
4857
4858 PR c++/19476
4859 * c.opt (fcheck-new): Move to common.opt.
4860
b56e9788
MP
48612013-09-25 Marek Polacek <polacek@redhat.com>
4862 Jakub Jelinek <jakub@redhat.com>
4863
4864 PR sanitizer/58413
4865 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4866 an expression if we can prove it is correct.
4867 (ubsan_instrument_division): Likewise. Remove unnecessary
4868 check.
4869
ce6923c5
MP
48702013-09-18 Marek Polacek <polacek@redhat.com>
4871
4872 PR sanitizer/58411
4873 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4874 Declare it.
4875 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4876
fb5610fb
IS
48772013-09-14 Iain Sandoe <iain@codesourcery.com>
4878
4879 PR target/48094
4880 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4881 fobjc-gc, freplace-objc-classes): Accept for LTO.
4882
88b0e79e
JC
48832013-09-13 Jacek Caban <jacek@codeweavers.com>
4884
4885 * c-target.def: New hook
4886
c9b0866a
PC
48872013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4888
4889 PR c++/43452
4890 * c.opt (Wdelete-incomplete): Add.
4891
0af94e6f
JR
48922013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4893
4894 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4895 (vector_types_compatible_elements_p): New function.
4896 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4897 declaration.
4898 (vector_types_compatible_elements_p): Declare.
4899
7c26172c
GDR
49002013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4901
4902 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4903 a virtual member function.
4904 (pp_simple_type_specifier): Remove.
4905 (pp_c_type_specifier): Likewise.
4906 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4907 Rename from pp_c_type_specifier. Adjust.
4908 (c_pretty_printer::c_pretty_printer): Do not assign to
4909 simple_type_specifier.
4910
20059c8b
GDR
49112013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4912
4913 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4914 member function.
4915 (c_pretty_printer::storage_class_specifier): Likewise.
4916 (c_pretty_printer::initializer): Likewise.
4917 (pp_declaration): Remove.
4918 (pp_declaration_specifiers): Likewise.
4919 (pp_abstract_declarator): Likewise.
4920 (pp_declarator): Likewise.
4921 (pp_type_id): Likewise.
4922 (pp_statement): Likewise.
4923 (pp_constant): Likewise.
4924 (pp_id_expression): Likewise.
4925 (pp_primary_expression): Likewise.
4926 (pp_unary_expression): Likewise.
4927 (pp_multiplicative_expression): Likewise.
4928 (pp_conditional_expression): Likewise.
4929 (pp_assignment_expression): Likewise.
4930 (pp_expression): Likewise.
4931 (pp_c_type_id): Likewise.
4932 (pp_c_storage_class_specifier): Likewise.
4933 * c-pretty-print.c (pp_c_type_cast): Tidy.
4934 (pp_c_pointer): Likewise.
4935 (pp_c_type_specifier): Likewise.
4936 (pp_c_parameter_type_list): Likewise.
4937 (pp_c_function_definition): Likewise.
4938 (pp_c_init_declarator): Likewise.
4939 (pp_c_initializer_list): Likewise.
4940 (pp_c_constructor_elts): Likewise.
4941 (c_pretty_printer::direct_abstract_declarator): Likewise.
4942 (c_pretty_printer::declaration_specifiers): Likewise.
4943 (c_pretty_printer::primary_expression): Likewise.
4944 (c_pretty_printer::postfix_expression): Likewise.
4945 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4946 (c_pretty_printer::storage_class_specifier): Rename from
4947 pp_c_storage_class_specifier.
4948 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4949 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4950 storage_class_specifier, initializer, offset_list, flags.
4951
de5a5fa1
MP
49522013-08-30 Marek Polacek <polacek@redhat.com>
4953
4954 * c-ubsan.c: New file.
4955 * c-ubsan.h: New file.
4956
8f0e4d72
GDR
49572013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4958
4959 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4960 member function.
4961 (c_pretty_printer::declaration_specifiers): Likewise.
4962 (c_pretty_printer::declarator): Likewise.
4963 (c_pretty_printer::abstract_declarator): Likewise.
4964 (c_pretty_printer::direct_abstract_declarator): Likewise.
4965 (c_pretty_printer::direct_declarator): Likewise.
4966 (c_pretty_printer::function_specifier): Likewise.
4967 (pp_declaration): Adjust.
4968 (pp_declaration_specifiers): Likewise.
4969 (pp_abstract_declarator): Likewise.
4970 (pp_direct_declarator): Likewise.
4971 (pp_function_specifier): Likewise.
4972 (pp_direct_abstract_declarator): Remove as unused.
4973 (pp_c_declaration): Remove.
4974 (pp_c_declaration_specifiers): Likewise.
4975 (pp_c_declarator): Likewise.
4976 (pp_c_direct_declarator): Likewise.
4977 (pp_c_function_specifier): Likewise.
4978 (pp_c_direct_abstract_declarator): Likewise.
4979 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4980 from pp_c_abstract_declarator. Adjust.
4981 (c_pretty_printer::direct_abstract_declarator): Rename from
4982 pp_c_direct_abstract_declarator. Adjust.
4983 (c_pretty_printer::function_specifier): Rename from
4984 pp_c_function_specifier. Adjust.
4985 (c_pretty_printer::declaration_specifiers): Rename from
4986 pp_c_declaration_specifiers. Adjust.
4987 (c_pretty_printer::direct_declarator): Rename from
4988 pp_c_direct_declarator. Adjust.
4989 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4990 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4991 (c_pretty_printer::c_pretty_printer): Do not assign to
4992 declaration, declaration_specifiers, declarator,
4993 direct_declarator, direct_abstract_declarator, function_specifier.
4994
00d34d3a
GDR
49952013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4996
4997 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4998 virtual member function.
4999 (c_pretty_printer::multiplicative_expression): Likewise.
5000 (c_pretty_printer::conditional_expression): Likewise.
5001 (c_pretty_printer::assignment_expression): Likewise.
5002 (c_pretty_printer::expression): Likewise.
5003 (pp_unary_expression): Adjust.
5004 (pp_multiplicative_expression): Likewise.
5005 (pp_assignment_expression): Likewise.
5006 (pp_conditional_expression): Likewise.
5007 (pp_expression): Likewise.
5008 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
5009 from pp_c_unary_expression. Adjust.
5010 (c_pretty_printer::multiplicative_expression): Rename from
5011 pp_c_multiplicative_expression. Adjust.
5012 (c_pretty_printer::conditional_expression): Rename from
5013 pp_c_conditional_expression. Adjust.
5014 (c_pretty_printer::assignment_expression): Rename from
5015 pp_c_assignment_expression. Adjust.
5016 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
5017 (c_pretty_printer::c_pretty_printer): Do not assign to
5018 unary_expression, multiplicative_expression,
5019 conditional_expression, expression.
5020
fb22178f
GDR
50212013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5022
5023 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
5024 virtual member function.
5025 (pp_postfix_expression): Adjust.
5026 (pp_c_postfix_expression): Remove.
5027 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
5028 from pp_c_postfix_expression. Adjust.
5029 (c_pretty_printer::c_pretty_printer): Do not assign to
5030 postfix_expression.
5031
7ecc2600
GDR
50322013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5033
5034 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
5035 virtua member function.
5036 (pp_primary_expression): Adjust.
5037 (pp_c_primary_expression): Remove.
5038 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
5039 from pp_c_primary_expression. Adjust.
5040 (pp_c_initializer_list): Use pp_primary_expression.
5041 (c_pretty_printer::c_pretty_printer): Do not assign to
5042 primary_expression.
5043
0691175f
GDR
50442013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
5045
5046 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
5047 * c-pretty-print.c (M_): Remove.
5048 (c_pretty_printer::translate_string): Define.
5049 (pp_c_type_specifier): Use it.
5050 (pp_c_primary_expression): Likewise.
5051 (pp_c_expression): Likewise.
5052
66dfe4c4
GDR
50532013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5054
5055 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
5056 virtual function.
5057 (pp_c_id_expression): Remove.
5058 (pp_id_expression): Adjust.
5059 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
5060 pp_c_id_expression. Adjust.
5061 (pp_c_postfix_expression): Use pp_id_expression.
5062 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
5063
ca43e9d5
GDR
50642013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
5065
5066 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
5067 member function.
5068 (pp_constant): Adjust.
5069 (pp_c_constant): Remove.
5070 * c-pretty-print.c (c_pretty_printer::constant): Rename from
5071 pp_c_constant. Adjust.
5072 (pp_c_constant)
5073 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
5074 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
5075
da6ca2b5
GDR
50762013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5077
5078 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
5079 (c_pretty_printer::c_pretty_printer): Declare.
5080 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
5081 c_pretty_printer_init. Adjust.
5082 (print_c_tree): Do not call c_pretty_printer_init.
5083 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
5084
65a372f4
AC
50852013-08-09 Arnaud Charlet <charlet@adacore.com>
5086
5087 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
5088
fd9b0f32
PC
50892013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
5090
5091 PR c++/58080
5092 * c-common.c (pointer_int_sum): Add bool parameter.
5093 * c-common.h (pointer_int_sum): Adjust declaration.
5094
e0aec1e9
GDR
50952013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
5096
5097 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5098 c_pretty_printer variable.
5099
b066401f
GDR
51002013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5101
5102 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5103 (pp_base): Remove.
5104 (pp_c_base): Likewise. Adjust users.
5105 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5106 (pp_c_whitespace): Do not call pp_base.
5107 (pp_c_left_paren): Likewise.
5108 (pp_c_right_paren): Likewise.
5109 (pp_c_left_brace): Likewise.
5110 (pp_c_right_brace): Likewise.
5111 (pp_c_left_bracket): Likewise.
5112 (pp_c_right_bracket): Likewise.
5113 (pp_c_dot): Likewise.
5114 (pp_c_ampersand): Likewise.
5115 (pp_c_star): Likewise.
5116 (pp_c_arrow): Likewise.
5117 (pp_c_semicolon): Likewise.
5118 (pp_c_complement): Likewise.
5119 (pp_c_exclamation): Likewise.
5120 (pp_c_direct_declarator): Likewise.
5121 (pp_c_ws_string): Likewise.
5122 (pp_c_identifier): Likewise.
5123 (pp_c_statement): Likewise.
5124 (print_c_tree): Likewise.
5125
65e5a578
ESR
51262013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5127
5128 PR c++/58072
5129 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5130 provide useful error strings.
5131
137a1a27
GDR
51322013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5133
5134 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5135 printer functions instead of pp_string or operators and punctuators.
5136 (dump_generic_ada_node): Likewise.
5137 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5138 (pp_c_relational_expression): Likewise.
5139 (pp_c_logical_or_expression): Likewise.
5140
07838b13
GDR
51412013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5142
5143 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5144 functions instead of pp_character.
5145 (pp_ada_tree_identifier): Likewise.
5146 (dump_ada_double_name): Likewise.
5147 (dump_ada_function_declaration): Likewise.
5148 (dump_ada_array_domains): Likewise.
5149 (dump_template_types): Likewise.
5150 (dump_generic_ada_node): Likewise.
5151 (print_ada_declaration): Likewise.
5152 (print_ada_struct_decl): Likewise.
5153 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5154
433cc7b0
TT
51552013-07-23 Tom Tromey <tromey@redhat.com>
5156
5157 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5158 * c-common.c (c_common_reswords): Add _Generic.
5159
688010ba
OB
51602013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5161
5162 * c-common.c: Fix typos.
5163 * c-common.h: Likewise.
5164
2a99e5e6
LL
51652013-07-13 Lubos Lunak <l.lunak@suse.cz>
5166
5167 PR c++/55203
5168 * c-common.c (c_common_attribute_table): Add warn_unused.
5169 (handle_warn_unused_attribute): New.
5170
c26302d5
JJ
51712013-07-10 Jakub Jelinek <jakub@redhat.com>
5172
5173 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5174 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5175
dfeadaa0
PC
51762013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5177
5178 PR c++/57869
5179 * c.opt: Add Wconditionally-supported.
5180
6a2fa4b2
GS
51812013-07-08 Graham Stott <graham.stott@btinternet.com>
5182
adfac8df 5183 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
5184 unused variables l_length and l_node.
5185
ecdbd01a 51862013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
5187
5188 PR c/57821
5189 * c-common.c (complete_array_type): Delay folding first index
5190 like other indices. When folding, check for index overflow.
5191
bedc293e
MG
51922013-06-27 Marc Glisse <marc.glisse@inria.fr>
5193
5194 PR c++/57509
5195 * c-common.h (c_build_vec_perm_expr): New complain argument.
5196 * c-common.c (c_build_vec_perm_expr): Likewise.
5197 Use save_expr also in C++.
5198
604b2bfc
GDR
51992013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5200
5201 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5202 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5203 * c-opts.c (c_common_post_options): Likewise.
5204
dfeadaa0 52052013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
5206
5207 * array-notation-common.c (length_mismatch_in_expr): Changed the
5208 parameter type's from a dynamic array to a vec_tree. Also removed
5209 the size parameters.
5210 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5211 the change above.
5212
2ce86d2e
BI
52132013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5214
5215 * c-common.h (struct cilkplus_an_parts): New structure.
5216 (struct cilkplus_an_loop_parts): Likewise.
5217 (cilkplus_extract_an_triplets): New prototype.
5218 (fix_sec_implicit_args): Likewise.
5219 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5220 (fix_sec_implicit_args): Likewise.
604b2bfc 5221
07a6825b
BI
52222013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5223
5224 * array-notation-common.c (find_inv_trees): Removed an unwanted
5225 typecasting.
5226 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5227 enum rid to enum tree_code.
5228
08346abd
JH
52292013-06-11 Jan Hubicka <jh@suse.cz>
5230
5231 * c-common.c (handle_alias_ifunc_attribute): Do not set
5232 DECL_EXTERNAL for weakref variables.
5233 * c-pragma.c (handle_pragma_weak): Make sure aliases
5234 are not declared as external.
5235
d60f1706
BI
52362013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5237
5238 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5239 function from c/c-array-notation.c.
5240 (is_cilkplus_reduce_builtin): Likewise.
5241 (find_rank): Likewise.
5242 (extract_array_notation_exprs): Likewise.
5243 (replace_array_notations): Likewise.
5244 (find_inv_trees): Likewise.
5245 (replace_inv_trees): Likewise.
5246 (contains_array_notation_expr): Likewise.
5247 (find_correct_array_notation_type): Likewise.
5248 * c-common.h (struct inv_list): Moved this struct from the file
5249 c/c-array-notation.c and added a new field called additional tcodes.
5250 (length_mismatch_in_expr_p): New prototype.
5251 (is_cilkplus_reduce_builtin): Likewise.
5252 (find_rank): Likewise.
5253 (extract_array_notation_exprs): Likewise.
5254 (replace_array_notation): Likewise.
5255 (find_inv_trees): Likewise.
5256 (replace_inv_trees): Likewise.
5257 (find_correct_array_notation_type): Likewise.
dfeadaa0 5258
36536d79
BI
52592013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5260
5261 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5262 function array_notation_init_builtins is called.
5263 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5264 * c-common.def (ARRAY_NOTATION_REF): New tree.
5265 * c-common.h (build_array_notation_expr): New function declaration.
5266 (build_array_notation_ref): Likewise.
5267 (extract_sec_implicit_index_arg): New extern declaration.
5268 (is_sec_implicit_index_fn): Likewise.
5269 (ARRAY_NOTATION_CHECK): New define.
5270 (ARRAY_NOTATION_ARRAY): Likewise.
5271 (ARRAY_NOTATION_START): Likewise.
5272 (ARRAY_NOTATION_LENGTH): Likewise.
5273 (ARRAY_NOTATION_STRIDE): Likewise.
5274 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5275 ARRAY_NOTATION_REF.
5276 (pp_c_expression): Likewise.
5277 * c.opt (flag_enable_cilkplus): New flag.
5278 * array-notation-common.c: New file.
5279
f7716d57
JJ
52802013-05-14 Jakub Jelinek <jakub@redhat.com>
5281
5282 PR c++/57274
5283 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5284
a5e0cd1d
MG
52852013-05-10 Marc Glisse <marc.glisse@inria.fr>
5286
5287 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5288 vectors.
5289
f6bc1c4a
HS
52902013-05-07 Han Shen <shenhan@google.com>
5291
5292 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5293
3f12f6e9
SKS
52942013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5295
5296 * c-common.c (check_user_alignment): Emit error for negative values.
5297
61949153
PC
52982013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5299
5300 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5301
e93e18e9
PC
53022013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5303
5304 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5305 __GXX_EXPERIMENTAL_CXX1Y__.
5306
44d90fe1 53072013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8e745a17 5308 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
44d90fe1
PC
5309
5310 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5311 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5312 to simply use OPT_Wpointer_arith.
5313 (c_sizeof_or_alignof_type): Likewise.
5314
13f39b2e
PC
53152013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5316
5317 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5318
4b84d650
JJ
53192013-04-12 Jakub Jelinek <jakub@redhat.com>
5320
5321 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5322 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5323 specifiers.
5324
fb037b5d
SB
53252013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5326
5327 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5328
4e856798
PC
53292013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5330
5331 * c-common.c (pointer_int_sum): Remove dead code.
5332
4b1baac8
RS
53332013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5334
5335 PR middle-end/56524
5336 * c-common.c (handle_optimize_attribute): Don't call
5337 save_optabs_if_changed.
5338
0b50e654
JJ
53392013-03-05 Jakub Jelinek <jakub@redhat.com>
5340
5341 PR middle-end/56461
5342 * c-pch.c (pch_init): Free target_validity at the end.
5343
48c41403
JJ
53442013-03-04 Jakub Jelinek <jakub@redhat.com>
5345
5346 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5347
e664c61c
KS
53482013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5349 Jakub Jelinek <jakub@redhat.com>
5350
5351 PR sanitizer/56454
5352 * c-common.c (handle_no_sanitize_address_attribute): New function.
5353 (c_common_attribute_table): Add no_sanitize_address attribute.
5354 (handle_no_address_safety_analysis_attribute): Add
5355 no_sanitize_address attribute, not no_address_safety_analysis
5356 attribute.
5357
a475fd3d 53582013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
5359
5360 PR target/52555
5361 * c-common.c (handle_optimize_attribute): Call
5362 save_optabs_if_changed.
5363
f6007d99
JJ
53642013-02-18 Jakub Jelinek <jakub@redhat.com>
5365 Steven Bosscher <steven@gcc.gnu.org>
5366
5367 PR pch/54117
5368 * c-opts.c (c_common_post_options): If debug info is enabled
5369 and non-dwarf*, refuse to load PCH files and when writing PCH
5370 file warn.
5371
cf35e2b1
JJ
53722013-02-05 Jakub Jelinek <jakub@redhat.com>
5373
5374 PR middle-end/56167
5375 * c-common.c (handle_error_attribute): Fix condition.
5376
32887460
JJ
53772013-01-30 Jakub Jelinek <jakub@redhat.com>
5378
5379 PR c++/55742
5380 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5381
5af057d8
JM
53822013-01-18 Jason Merrill <jason@redhat.com>
5383
5384 PR target/54908
5385 * c.opt (-fextern-tls-init): New.
5386 * c-opts.c (c_common_post_options): Handle it.
5387
cc83c823
JJ
53882013-01-09 Jakub Jelinek <jakub@redhat.com>
5389
5390 PR c/48418
5391 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5392 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5393 and is either negative or bigger or equal to type precision
5394 of the first operand.
5395
a859517f
MP
53962012-12-03 Marek Polacek <polacek@redhat.com>
5397
5398 PR c/55570
5399 * c-common.c (check_user_alignment): Swap order of tests,
5400 check TREE_CODE first.
5401
2d7aa578
ESR
54022012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5403
5404 PR c++/52654
5405 * c-common.h (overflow_type): New enum.
5406 (build_userdef_literal): Add overflow_type argument.
5407 (tree_userdef_literal): Add overflow_type.
5408 (USERDEF_LITERAL_OVERFLOW): New access macro.
5409 * c-common.c (build_userdef_literal): Add overflow_type
5410 argument.
5411 * c-lex.c (c_lex_with_flags): Add overflow_type to
5412 build_userdef_literal calls.
5413 (interpret_integer, interpret_float): Add overflow_type argument.
5414
cc3c4f62
RB
54152012-11-28 Richard Biener <rguenther@suse.de>
5416
5417 PR c/35634
5418 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5419 here and use a type with proper overflow behavior for types that would
5420 need to be promoted for the arithmetic.
5421
77bc5132
JJ
54222012-11-23 Jakub Jelinek <jakub@redhat.com>
5423
5424 PR sanitizer/55435
5425 * c-common.c (handle_no_address_safety_analysis_attribute): New
5426 function.
5427 (c_common_attribute_table): Add no_address_safety_analysis.
5428
5dc99c46
SB
54292012-11-16 Simon Baldwin <simonb@google.com>
5430
5431 * c.opt: Add f[no-]canonical-system-headers.
5432 * c-opts.c (c_common_handle_option): Handle
5433 OPT_fcanonical_system_headers.
5434
a4a0016d
ESR
54352012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5436
5437 PR c++/54413
5438 * c-opts.c (c_common_handle_option): Set new flags.
5439 * c.opt: Describe new flags.
5440
7dbb85a7
JM
54412012-11-09 Jason Merrill <jason@redhat.com>
5442
5443 * c.opt (Wabi-tag): New.
5444
ad7bac31
AK
54452012-11-09 Andi Kleen <ak@linux.intel.com>
5446
5447 PR 55139
5448 * c-common.c (get_atomic_generic_size): Mask with
8e745a17 5449 MEMMODEL_MASK
ad7bac31 5450
7332899a
MLI
54512012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5452
5453 PR c/53063
5454 * c.opt (Wformat): Make it Alias Wformat=1.
5455 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5456 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5457 LangEnabledBy.
5458 (Wformat=): RejectNegative. Use LangEnabledBy.
5459 (Wnonnull): Use LangEnabledBy.
5460 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5461 * c-format.c (set_Wformat): Delete.
5462 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8e745a17
JJ
5463 (maybe_read_dollar_number): Likewise.
5464 (avoid_dollar_number): Likewise.
5465 (finish_dollar_format_checking): Likewise.
5466 (check_format_info): Likewise.
5467 (check_format_info_main): Likewise.
5468 (check_format_types): Likewise.
5469 (format_type_warning): Likewise.
5470 * c-common.c (int): Likewise.
5471 (check_function_sentinel): Likewise.
5472 * c-common.h (warn_format,set_Wformat): Do not declare here.
7332899a 5473
34a180a6
MLI
54742012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5475
5476 PR c/53063
5477 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5478 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5479 Use LangEnabledBy.
5480 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5481 common.opt.
5482 (Wvariadic-macros): Init(1).
5483 * c-opts.c (c_common_handle_option): Do not handle them
5484 explicitly.
5485 (c_common_post_options): Likewise.
5486 (sanitize_cpp_opts): warn_unused_macros is now
5487 cpp_warn_unused_macros.
5488 (push_command_line_include): Likewise.
5489 * c-common.c (warn_unknown_pragmas): Do not define.
5490 * c-common.h (warn_unknown_pragmas): Do not declare.
5491
3f46d6a5
MLI
54922012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5493
5494 PR c/51294
5495 * c-common.c (conversion_warning): Handle conditional expressions.
5496
880661a4
JW
54972012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5498
5499 PR c++/54930
5500 * c.opt (Wreturn_local_addr): Define new option.
5501
4514a96b
JM
55022012-10-25 Jason Merrill <jason@redhat.com>
5503
f14edc1a
JM
5504 * c.opt (Wvirtual-move-assign): New.
5505
4514a96b
JM
5506 * c.opt (Winherited-variadic-ctor): New.
5507
93100c6b
MG
55082012-10-25 Marc Glisse <marc.glisse@inria.fr>
5509
5510 PR c++/54427
5511 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5512
1efcb8c6
JM
55132012-10-23 Joseph Myers <joseph@codesourcery.com>
5514
5515 * c-common.h (pch_cpp_save_state): Declare.
5516 * c-target.def (c_preinclude): New hook.
5517 * c-opts.c (done_preinclude): New.
5518 (push_command_line_include): Handle default preincluded header.
5519 (cb_file_change): Call pch_cpp_save_state when calling
5520 push_command_line_include.
5521 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5522 (pch_cpp_save_state): New.
5523 (pch_init): Call pch_cpp_save_state conditionally, instead of
5524 calling cpp_save_state.
5525
4a0ae68e
MLI
55262012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5527
5528 PR c/53063
5529 PR c/40989
5530 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5531 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5532 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5533 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5534 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5535 * c-opts.c (c_common_handle_option): Remove explicit handling from
5536 here.
5537 (c_common_post_options): Likewise.
5538
67e4210b
EB
55392012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5540
5541 * c-ada-spec.c (LOCATION_COL): Delete.
5542 (compare_location): New function.
5543 (compare_node): Use it.
5544 (compare_comment): Likewise.
5545
65d4f2cd
MLI
55462012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5547
5548 PR c/53063
5549 PR c/40989
5550 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5551 * c-opts.c (c_common_handle_option): Do not set them here. Add
5552 comment.
5553 (c_common_post_options): Likewise.
5554
909881cb
EB
55552012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5556
5557 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5558 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5559 Remove POINTER_TYPE handling, add large unsigned handling and use
5560 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5561
3a785c97
JJ
55622012-10-12 Jakub Jelinek <jakub@redhat.com>
5563
5564 PR c/54381
5565 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5566 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5567 locs and array of 3 trees instead of just single loc and single
5568 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5569 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5570 For *cmp* builtins that take two sources strings report warnings
5571 about first and second source, not about destination and source.
5572
5e54f81d
MG
55732012-10-12 Marc Glisse <marc.glisse@inria.fr>
5574
5575 PR c++/53055
5576 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5577
f5b02f1e
EB
55782012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5579
5580 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5581 declaring something coming from another file.
5582
b46dbc6c
AC
55832012-10-10 Arnaud Charlet <charlet@adacore.com>
5584
f5b02f1e 5585 PR ada/54845
b46dbc6c
AC
5586 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5587
5d9de0d0
PC
55882012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5589
5590 PR c++/54194
5591 * c-common.c (warn_about_parentheses): Add location_t parameter;
5592 use EXPR_LOC_OR_LOC.
5593 * c-common.h: Update declaration.
5594
a212e43f
MG
55952012-10-09 Marc Glisse <marc.glisse@inria.fr>
5596
5597 PR c++/54427
5598 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5599 more operations. Make error messages optional.
5600 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5601 (scalar_to_vector): Declare.
5602
b1db7f91
JM
56032012-10-08 Jason Merrill <jason@redhat.com>
5604
5605 * c-common.c (c_common_reswords): Add thread_local.
5606
e28d52cf
DS
56072012-10-08 Dodji Seketeli <dodji@redhat.com>
5608
5609 PR c++/53528 C++11 attribute support
5610 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5611 new functions.
5612 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5613 static function.
5614 (handle_aligned_attribute): In choose strictest alignment
5615 among many. Use new check_cxx_fundamental_alignment_constraints.
5616 (handle_transparent_union_attribute): In c++11 attribute syntax,
5617 don't look through typedefs.
5618
3b78de56
AC
56192012-10-04 Arnaud Charlet <charlet@adacore.com>
5620
5621 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5622 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5623 out of dumpfile.h.
5624
6040bb5f
DC
56252012-09-25 Dehao Chen <dehao@google.com>
5626
5627 PR middle-end/54645
3b78de56 5628 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
5629 map when read in the pch.
5630
3f8257db 56312012-09-18 Arnaud Charlet <charlet@adacore.com>
0b07a57e
AC
5632
5633 * c-ada-spec.c: Style fixes.
5634
3f8257db 56352012-09-18 Thomas Quinot <quinot@adacore.com>
da5182be
TQ
5636
5637 * c.opt (-fada-spec-parent): Define new command line switch.
5638 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5639 is specified, generate binding spec as a child of the specified unit.
5640
0ccb505d
PC
56412012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5642 Manuel López-Ibáñez <manu@gcc.gnu.org>
5643
5644 PR c++/53210
5645 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5646
c583af79
AC
56472012-08-23 Arnaud Charlet <charlet@adacore.com>
5648
5649 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5650 for pointers, and add missing Convention C pragma.
5651 (print_ada_struct_decl): Add missing aliased keyword.
5652 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5653
1a4049e7
JJ
56542012-08-17 Jakub Jelinek <jakub@redhat.com>
5655
5656 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5657 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5658 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5659 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5660 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5661
70b5e7dc
RG
56622012-08-10 Richard Guenther <rguenther@suse.de>
5663
5664 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5665
f8923f7e
SB
56662012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5667
5668 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5669 instead of separate pp_newline and pp_flush.
5670 (print_c_tree): Likewise.
5671
e45abe1f
RH
56722012-07-26 Richard Henderson <rth@redhat.com>
5673
5674 * c-common.c (handle_hot_attribute): Allow labels.
5675 (handle_cold_attribute): Likewise.
5676
332f1d24
JJ
56772012-07-20 Jakub Jelinek <jakub@redhat.com>
5678
5679 PR c++/28656
5680 * c-common.c (check_function_nonnull): Handle multiple nonnull
5681 attributes properly.
5682
7ee2468b
SB
56832012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5684
5685 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5686 * c-ada-spec.c: Likewise.
5687 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5688
ee7b28eb
SB
56892012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5690
5691 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5692 Remove code conditional on it.
5693
6bdf3519
SB
56942012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5695
5696 * c-gimplify.c: Do not include basic-block.h.
5697 * c-common.c: Do not include linfuncs.h.
5698
532aafad
SB
56992012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5700
5701 * c-common.h: Include tree.h.
5702
8d0d1915
JM
57032012-07-02 Jason Merrill <jason@redhat.com>
5704
5705 PR c++/53524
5706 * c-common.c (get_priority): Call default_conversion.
5707
fbc873ad
UB
57082012-07-01 Uros Bizjak <ubizjak@gmail.com>
5709
5710 * c-pch.c (c_common_write_pch): Remove unused variables.
5711
d4a10d0a
SB
57122012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5713
5714 * cppspec.c: Moved from gcc/ to here.
5715
6f3a2e23
KT
57162012-06-27 Kai Tietz <ktietz@redhat.com>
5717
5718 PR preprocessor/37215
5719 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5720
8ca92d04
SB
57212012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5722
5723 * c-common.h (c_common_print_pch_checksum): Remove.
5724 * c-pch.c: Do not include output.h.
5725 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5726 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5727 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5728 (struct c_pch_header): Remove.
5729 (get_ident): Update gpch version.
5730 (pch_init): Do not print executable_checksum to asm_out_file.
5731 Do not fail if there is no asm_out_file to read back from. Set
5732 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5733 (c_common_write_pch): Verify that nothing was written to asm_out_file
5734 since pch_init was called. Do not write a c_pch_header, and do not
5735 copy from asm_out_file to the PCH.
5736 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5737 the content of asm_out_file from the PCH.
5738 (c_common_print_pch_checksum): Remove.
5739 * c-opts.c (c_common_init): Print out executable_checksum directly.
5740
70f42967
SB
57412012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5742
5743 * c-target.def (objc_declare_unresolved_class_reference,
5744 objc_declare_class_definition): Add new hooks.
5745
a8781821
SB
57462012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5747
5748 * c-lex.c: Do not include output.h.
5749 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5750 Remove uses of ASM_OUTPUT_IDENT.
5751
9e1a8dd1
RR
57522012-06-15 Marc Glisse <marc.glisse@inria.fr>
5753
5754 PR c++/51033
5755 * c-common.h (c_build_vec_perm_expr): Move decl here.
5756 * c-common.c (c_build_vec_perm_expr): Move definition
5757 here.
5758
6f07a821
SB
57592012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5760
5761 * c.opt (fconserve-space): Turn into a no-op.
5762
9faeb493 57632012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
5764
5765 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5766 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5767 both the start and end of the function.
5768
a4b7d13c
SB
57692012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5770
5771 * c-common.c: Do not include output.h.
5772 * c-pragma.c: Likewise.
5773
c265f413
SA
57742012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5775
5776 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5777 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5778 (lang_decl_name): Handle namespace decls.
5779
be7a421e
SB
57802012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5781
5782 * c-ada-spec.c: Do not include output.h.
5783 * c-semantics.c: Likewise.
5784
65de6659
JM
57852012-05-29 Joseph Myers <joseph@codesourcery.com>
5786
5787 * c-common.c: Fix typo.
5788
ca5f4331
MM
57892012-05-29 Michael Matz <matz@suse.de>
5790
5791 * c-common.h (c_expand_decl): Remove prototype.
5792
4f7f7aca
MLI
57932012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5794
5795 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5796 * c-opts.c (c_common_handle_option): Remove code handling
5797 warn_missing_braces.
5798
4a792f9b
PC
57992012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5800
5801 PR c++/25137
5802 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5803 -Wmissing_braces.
5804
650dc14a
DS
58052012-05-22 Dodji Seketeli <dodji@redhat.com>
5806
5807 PR c++/53322
5808 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5809
9b095bf1
MLI
58102012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5811
5812 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5813 * c-opts.c (c_common_handle_option): Do not handle explicitly
5814 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5815
0b2c4be5
DS
58162012-05-16 Dodji Seketeli <dodji@redhat.com>
5817
5818 PR preprocessor/7263
5819 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5820 to cpp_classify_number. For diagnostics, use the precise location
5821 instead of the global input_location.
5822
a1bde5af
PC
58232012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5824
d02924ef 5825 PR c++/11856
a1bde5af
PC
5826 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5827
d1ede5f4
BS
58282012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5829
a1bde5af 5830 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 5831
f2bc201f
MLI
58322012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5833
5834 PR 53063
5835 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5836 Wreorder): Use LangEnabledBy.
5837 * c-opts.c (c_common_handle_option): Do not enable them
5838 explicitly. Call lang-specific generated functions.
5839 (c_common_post_options): Do not set them here.
5840
95744782
MLI
58412012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5842
5843 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5844 Wmissing-field-initializers,Wmissing-parameter-type,
5845 Wold-style-declaration,Woverride-init): Use EnabledBy.
5846 * c-opts.c (c_common_post_options): Do not set here explicitly.
5847
7d5a5747
MLI
58482012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5849
5850 PR 53063
5851 * c-opts.c (c_common_handle_option): Use handle_generated_option
5852 to enable sub-options.
5853
5a3c9cf2
PC
58542012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5855
5856 PR c++/53158
5857 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5858
3ac8781c
RG
58592012-05-10 Richard Guenther <rguenther@suse.de>
5860
5861 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5862 adjust commentary about TYPE_IS_SIZETYPE types.
5863
1e537948
MLI
58642012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5865
5866 PR c++/53261
5867 * c-common.c (warn_logical_operator): Check that argument of
5868 integer_zerop is not NULL.
5869
f2c4a785
MLI
58702012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5871
5872 PR c/43772
5873 * c-common.c (warn_logical_operator): Do not warn if either side
5874 is already true or false.
5875
50f305ca
MLI
58762012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5877
5878 PR c/51712
5879 * c-common.c (expr_original_type): New.
5880 (shorten_compare): Do not warn for enumeration types.
5881
0c3641b0
MLI
58822012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5883
5884 * c.opt (fpermissive): Add Var(flag_permissive).
5885
7edaa4d2
MG
58862012-04-30 Marc Glisse <marc.glisse@inria.fr>
5887
5888 PR c++/51033
5889 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5890 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5891
b9c8da34
DS
58922012-04-30 Dodji Seketeli <dodji@redhat.com>
5893
5894 Add -Wvarargs option
5895 * c.opt (Wvarargs): Define new option.
5896
e6c69da0
MLI
58972012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5898
5899 * c-common.c (check_function_arguments): Replace
5900 Wmissing-format-attribute with Wsuggest-attribute=format.
5901
90137d8f
MLI
59022012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5903
5904 * c.opt (Wsuggest-attribute=format): New. Alias of
5905 Wmissing-format-attribute.
5906 * c-format.c (decode_format_type): Replace
5907 Wmissing-format-attribute with Wsuggest-attribute=format.
5908 (check_function_format): Likewise.
5909
9faeb493 59102012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
5911
5912 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5913 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5914 * c.opt: Add Wliteral-suffix.
5915
c1771a20
MLI
59162012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5917
5918 PR c/44774
5919 * c.opt (Wpedantic): New.
5920 (pedantic): Alias Wpedantic.
5921 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5922 (c_common_post_options): Likewise.
5923 (sanitize_cpp_opts): Likewise.
5924 * c-lex.c (interpret_float): Likewise.
5925 * c-format.c (check_format_types): Likewise.
5926 * c-common.c (pointer_int_sum): Likewise.
5927 (c_sizeof_or_alignof_type): Likewise.
5928 (c_add_case_label): Likewise.
5929 (c_do_switch_warnings): Likewise.
5930 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5931
04b391c1
JM
59322012-04-15 Jason Merrill <jason@redhat.com>
5933
5934 PR c++/52818
5935 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5936 (C_STD_NAME): Distinguish between C++98 and C++11.
5937
ac868f29
EB
59382012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5939
5940 PR target/52624
5941 * c-common.h (uint16_type_node): Rename into...
5942 (c_uint16_type_node): ...this.
5943 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5944 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5945
fd4116f4
MLI
59462012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5947
5948 * c-common.c (warn_if_unused_value): Move definition to here.
5949 * c-common.h (warn_if_unused_value): Move declaration to here.
5950
573ac65e
WB
59512012-03-23 William Bader <williambader@hotmail.com>
5952
5953 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5954
552b8185
JM
59552012-03-20 Jason Merrill <jason@redhat.com>
5956
5957 * c-common.h (enum cxx_dialect): Add cxx1y.
5958 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5959 test.
5960 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5961 * c-opts.c (c_common_post_options): Likewise.
5962 (set_std_cxx1y): New.
5963 (c_common_handle_option): Call it.
5964 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5965
04398fa8
PC
59662012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5967
5968 PR c++/14710
5969 * c.opt ([Wuseless-cast]): Add.
5970
d2a12ae7
RG
59712012-03-16 Richard Guenther <rguenther@suse.de>
5972
5973 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5974
a12bf402
MLI
59752012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5976
5977 PR c++/44783
5978 * c.opt (ftemplate-backtrace-limit) Add.
5979
5c30094f
RO
59802012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5981
5982 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5983 handling.
5984 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5985 (init_pragma): Don't register extern_prefix.
5986
21fa2faf
RG
59872012-03-12 Richard Guenther <rguenther@suse.de>
5988
5989 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5990 (builtin_type_for_size): Likewise.
5991
e3793c6f
JJ
59922012-02-13 Jakub Jelinek <jakub@redhat.com>
5993
5994 PR c++/52215
5995 * c-common.c (sync_resolve_params): Don't decide whether to convert
5996 or not based on TYPE_SIZE comparison, convert whenever arg_type
5997 is unsigned INTEGER_TYPE.
5998
93286335
PC
59992012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
6000
6001 PR c/52118
6002 * c.opt ([Wunused-local-typedefs]): Fix description.
6003
7a421706
MS
60042012-01-24 Mike Stump <mikestump@comcast.net>
6005
6006 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
6007 exactly.
6008
ba9b1f11
RG
60092012-01-18 Richard Guenther <rguenther@suse.de>
6010
6011 * c-opts.c (c_common_post_options): Reset LTO flags if
6012 we are about to generate a PCH.
6013
465406be
PC
60142012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
6015
6016 PR c++/51777
6017 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
6018 use pp_unsigned_wide_integer.
6019
aee15221
RG
60202012-01-10 Richard Guenther <rguenther@suse.de>
6021
6022 PR middle-end/51806
6023 * c-opts.c (c_common_handle_option): Move -Werror handling
6024 to language independent code.
6025
5720c0dc
RG
60262012-01-05 Richard Guenther <rguenther@suse.de>
6027
6028 PR middle-end/51764
6029 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
6030 from common.opt.
6031
73ac190a
PC
60322011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
6033
6034 PR c++/51316
6035 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
6036 of array types with an unknown bound.
6037
48b0b196
JM
60382011-12-20 Joseph Myers <joseph@codesourcery.com>
6039
6040 * c-common.c (flag_isoc99): Update comment to refer to C11.
6041 (flag_isoc1x): Change to flag_isoc11.
6042 * c-common.h (flag_isoc99): Update comment to refer to C11.
6043 (flag_isoc1x): Change to flag_isoc11.
6044 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
6045 C11.
6046 * c-opts.c (set_std_c1x): Change to set_std_c11.
6047 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
6048 Call set_std_c11.
6049 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
6050 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
6051 * c.opt (std=c1x): Change to std=c11. Document as non-draft
6052 standard.
6053 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
6054 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
6055 (std=gnu1x): Make alias of std=gnu11.
6056
d58d6eb5
JM
60572011-12-19 Jason Merrill <jason@redhat.com>
6058
6059 PR c++/51228
6060 * c-common.c (handle_transparent_union_attribute): Check the first
6061 field if the type is complete.
6062
b3908fcc
JW
60632011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
6064
6065 PR libstdc++/51365
6066 * c-common.c (RID_IS_FINAL): Add.
6067 * c-common.h (RID_IS_FINAL): Add.
6068
fea3ca91
IS
60692011-11-30 Iain Sandoe <iains@gcc.gnu.org>
6070
6071 * c.opt (fgnu-runtime): Provide full description.
6072 (fnext-runtime): Likewise.
6073 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
6074
62bad7cd
AM
60752011-11-28 Andrew MacLeod <amacleod@redhat.com>
6076
6077 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
6078 predefines in one place. Add LOCK_FREE predefines.
6079 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
6080 new func.
6081
c466c4ff
AM
60822011-11-24 Andrew MacLeod <amacleod@redhat.com>
6083
6084 PR c/51256
9faeb493 6085 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 6086 conditions
9faeb493
UB
6087 (resolve_overloaded_atomic_exchange,
6088 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
6089 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
6090 error_mark_node for error conditions.
9faeb493 6091
a5952633
RG
60922011-11-08 Richard Guenther <rguenther@suse.de>
6093
6094 PR middle-end/51010
6095 c-family/
6096
0a35513e
AH
60972011-11-07 Richard Henderson <rth@redhat.com>
6098 Aldy Hernandez <aldyh@redhat.com>
6099 Torvald Riegel <triegel@redhat.com>
6100
6101 Merged from transactional-memory.
6102
6103 * c-common.c (handle_tm_wrap_attribute,
6104 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6105 (struct c_common_reswords): Added __transaction* keywords.
6106 (struct c_common_attribute_table): Added transaction* and tm_regparm
6107 attributes.
6108 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6109 masks.
6110 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6111 find_tm_attribute): Declare.
6112
6d87092d
JM
61132011-11-07 Jason Merrill <jason@redhat.com>
6114
6115 PR c++/35688
6116 * c-common.c, c-common.h: Revert yesterday's changes.
6117
8e7860a1
JM
61182011-11-06 Jason Merrill <jason@redhat.com>
6119
6120 PR c++/35688
6121 * c-common.c (decl_has_visibility_attr): Split out from...
6122 (c_determine_visibility): ...here.
6123 * c-common.h: Declare it.
6124
d19fa6b5
JM
61252011-11-06 Joseph Myers <joseph@codesourcery.com>
6126
6127 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6128 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6129 type.
6130 (check_user_alignment): New. Split out of
6131 handle_aligned_attribute. Disallow integer constants with
6132 noninteger types. Conditionally allow zero.
6133 (handle_aligned_attribute): Use check_user_alignment.
6134 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6135
86951993
AM
61362011-11-06 Andrew MacLeod <amacleod@redhat.com>
6137 Richard Henderson <rth@redhat.com>
6138
6139 Merged from cxx-mem-model.
6140
6141 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 6142 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
6143 parameters that are the same type size.
6144 (get_atomic_generic_size): New. Find size of generic
6145 atomic function parameters and do typechecking.
6146 (add_atomic_size_parameter): New. Insert size into parameter list.
6147 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6148 either __atomic_exchange_n or external library call.
9faeb493 6149 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 6150 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 6151 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
6152 __atomic_load_n or an external library call.
6153 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6154 __atomic_store_n or an external library call.
6155 (resolve_overloaded_builtin): Handle new __atomic builtins.
6156
cf9e9959
EB
61572011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6158
6159 PR c++/50608
6160 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6161 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6162 <INDIRECT_REF>: Return the argument.
6163 <ARRAY_REF>: Remove special code for negative offset.
6164 Call fold_build_pointer_plus instead of size_binop.
6165 (fold_offsetof): Remove STOP_REF argument and adjust.
6166 * c-common.h (fold_offsetof_1): Declare.
6167 (fold_offsetof): Remove STOP_REF argument.
6168
25339f10
JM
61692011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6170
6171 PR c++/50810
6172 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6173 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6174 Wnarrowing for C++0x and C++98.
6175 * c.opt ([Wnarrowing]): Update.
6176
89401152
PC
61772011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6178
6179 PR c++/44277
6180 * c.opt: Add Wzero-as-null-pointer-constant.
6181
97e3ad20
JM
61822011-10-31 Jason Merrill <jason@redhat.com>
6183
15694fdd
JM
6184 * c.opt (-fdeduce-init-list): Off by default.
6185
97e3ad20
JM
6186 PR c++/50920
6187 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6188 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6189 and -Wc++11-compat.
6190 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6191
fb9120e3
RAV
61922011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6193
6194 PR c++/30066
6195 * c.opt (fvisibility-inlines-hidden): Description change.
6196
3ce4f9e4
ESR
61972011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6198
6199 Implement C++11 user-defined literals.
6200 * c-common.c (build_userdef_literal): New.
6201 * c-common.def: New tree code.
6202 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6203 * c-lex.c (interpret_float): Add suffix parm.
6204 (c_lex_with_flags): Build literal tokens.
6205
5f53c243
PC
62062011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6207
6208 PR c++/50841
6209 Revert:
6210 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6211
6212 PR c++/50810
6213 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6214 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6215 Wnarrowing for C++0x and C++98.
6216 * c.opt ([Wnarrowing]): Update.
6217
263734e1
PC
62182011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6219
6220 PR c++/50810
6221 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6222 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6223 Wnarrowing for C++0x and C++98.
6224 * c.opt ([Wnarrowing]): Update.
6225
d2e312d7
PC
62262011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6227
6228 PR c++/45385
6229 * c-common.c (conversion_warning): Remove code looking for
6230 artificial operands.
6231
d17687f6
DS
62322011-10-18 Dodji Seketeli <dodji@redhat.com>
6233
6234 PR bootstrap/50760
6235 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 6236 !NO_IMPLICIT_EXTERN_C.
d17687f6 6237
fc8396e9
PC
62382011-10-17 Michael Spertus <mike_spertus@symantec.com>
6239
6240 * c-common.c (c_common_reswords): Add __bases,
6241 __direct_bases.
6242 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6243
62442011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6245
6246 PR c++/50757
6247 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6248
847e697a
TT
62492011-10-15 Tom Tromey <tromey@redhat.com>
6250 Dodji Seketeli <dodji@redhat.com>
6251
6252 * c.opt (fdebug-cpp): New option.
6253 * c-opts.c (c_common_handle_option): Handle the option.
6254 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6255 output stream in parameter. Factorized from ...
6256 (maybe_print_line): ... this. Dump location debug information when
6257 -fdebug-cpp is in effect.
6258 (print_line_1): New static function. Takes an output stream in
6259 parameter. Factorized from ...
6260 (print_line): ... here. Dump location information when -fdebug-cpp
6261 is in effect.
6262 (scan_translation_unit): Dump location information when
6263 -fdebug-cpp is in effect.
6264
92582b75
TT
62652011-10-15 Tom Tromey <tromey@redhat.com>
6266 Dodji Seketeli <dodji@redhat.com>
6267
6268 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6269 without argument.
6270 * c-opts.c (c_common_handle_option)<case
6271 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6272 cases. Handle -ftrack-macro-expansion with and without argument.
6273
46427374
TT
62742011-10-15 Tom Tromey <tromey@redhat.com>
6275 Dodji Seketeli <dodji@redhat.com>
6276
6277 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6278 (print_line, cb_define, do_line_change): Adjust to avoid touching
6279 the internals of struct line_map. Use the public API instead.
6280 * c-pch.c (c_common_read_pch): Likewise.
6281 * c-lex.c (fe_file_change): Likewise.
6282
fc8396e9
PC
62832011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6284
6285 PR c++/17212
6286 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6287
62882011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6289
6290 PR c++/33067
6291 * c-pretty-print.c (pp_c_floating_constant): Output
6292 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6293
e79983f4
MM
62942011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6295
6296 * c-common.c (def_builtin_1): Delete old interface with two
6297 parallel arrays to hold standard builtin declarations, and replace
6298 it with a function based interface that can support creating
6299 builtins on the fly in the future. Change all uses, and poison
6300 the old names. Make sure 0 is not a legitimate builtin index.
6301 * c-omp.c (c_finish_omp_barrier): Ditto.
6302 (c_finish_omp_taskwait): Ditto.
6303 (c_finish_omp_flush): Ditto.
6304
6637388f
TG
63052011-10-11 Tristan Gingold <gingold@adacore.com>
6306
6307 * c.opt: (fallow-parameterless-variadic-functions): New.
6308
3797cb21
DS
63092011-09-08 Dodji Seketeli <dodji@redhat.com>
6310
6311 PR c++/33255 - Support -Wunused-local-typedefs warning
6312 * c-common.h (struct c_language_function::local_typedefs): New
6313 field.
9faeb493
UB
6314 (record_locally_defined_typedef, maybe_record_typedef_use)
6315 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 6316 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
6317 (maybe_record_typedef_use)
6318 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
6319 * c.opt: Declare new -Wunused-local-typedefs flag.
6320
693ddb1b
EB
63212011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6322
6323 PR middle-end/50266
6324 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6325 computations.
6326
830c740f
RG
63272011-09-05 Richard Guenther <rguenther@suse.de>
6328
6329 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6330 of integer_minus_one_node for empty array upper bounds.
6331
892a371f
DS
63322011-08-28 Dodji Seketeli <dodji@redhat.com>
6333
6334 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6335 it's the first time it's being called on this main TU.
6336
0e3fdb48
RB
63372011-08-24 Richard Guenther <rguenther@suse.de>
6338
6339 PR c/49396
6340 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6341
63422011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
6343
6344 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6345 defined in cpp_init_builtins and c_cpp_builtins.
6346
d4a83c10
JM
63472011-08-19 Joseph Myers <joseph@codesourcery.com>
6348
6349 * c-common.c (c_common_reswords): Add __builtin_complex.
6350 * c-common.h (RID_BUILTIN_COMPLEX): New.
6351
bbceee64
JM
63522011-08-18 Joseph Myers <joseph@codesourcery.com>
6353
6354 * c-common.c (c_common_reswords): Add _Noreturn.
6355 (keyword_is_function_specifier): Handle RID_NORETURN.
6356 * c-common.h (RID_NORETURN): New.
6357
3f8257db 63582011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
0e3a99ae
AS
6359
6360 * c-common.c (unsafe_conversion_p): New function. Check if it is
6361 unsafe to convert an expression to the type.
6362 (conversion_warning): Adjust, use unsafe_conversion_p.
6363 * c-common.h (unsafe_conversion_p): New function declaration.
6364
20906c66
JJ
63652011-08-02 Jakub Jelinek <jakub@redhat.com>
6366
6367 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6368 (c_finish_omp_taskyield): New prototype.
6369 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6370 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6371 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6372 or RHS1 have side-effects, evaluate those too in the right spot,
6373 if it is a decl and LHS is also a decl, error out if they
6374 aren't the same.
6375 (c_finish_omp_taskyield): New function.
6376 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6377 * c-pragma.c (omp_pragmas): Add taskyield.
6378 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6379 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6380 PRAGMA_OMP_CLAUSE_MERGEABLE.
6381
770e5a2e
DS
63822011-07-25 Dodji Seketeli <dodji@redhat.com>
6383
6384 * c-common.h (set_underlying_type): Remove parm name from
6385 declaration.
6386
1baae426
RG
63872011-07-25 Romain Geissler <romain.geissler@gmail.com>
6388
6389 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 6390
fcb21722
JM
63912011-07-22 Jason Merrill <jason@redhat.com>
6392
76f86d00
JM
6393 PR c++/49793
6394 * c.opt (Wnarrowing): New.
6395
3a636414
JM
6396 PR c++/30112
6397 * c-common.h: Declare c_linkage_bindings.
6398 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6399
fcb21722
JM
6400 PR c++/49813
6401 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6402 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6403 as flag_isoc99 for 'restrict'.
6404 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6405
02614448
ILT
64062011-07-21 Ian Lance Taylor <iant@google.com>
6407
6408 PR middle-end/49705
6409 * c-common.c (c_disable_warnings): New static function.
6410 (c_enable_warnings): New static function.
6411 (c_fully_fold_internal): Change local unused_p to bool. Call
6412 c_disable_warnings and c_enable_warnings rather than change
6413 c_inhibit_evaluation_warnings.
6414
34429675
JM
64152011-07-20 Jason Merrill <jason@redhat.com>
6416
6417 PR c++/6709 (DR 743)
6418 PR c++/42603 (DR 950)
6419 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6420 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6421 (CPP_DECLTYPE): New.
6422 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6423
5d49b6a7
RG
64242011-07-19 Richard Guenther <rguenther@suse.de>
6425
6426 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6427 * c-omp.c (c_finish_omp_for): Likewise.
6428
e84a58ff
EB
64292011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6430
6431 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6432 body on the next line.
6433
329af3c7
JM
64342011-07-08 Jason Merrill <jason@redhat.com>
6435
4063e61b
JM
6436 PR c++/45437
6437 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6438
329af3c7
JM
6439 PR c++/49673
6440 * c-common.c (c_apply_type_quals_to_decl): Don't check
6441 TYPE_NEEDS_CONSTRUCTING.
6442
1a072294
RG
64432011-07-06 Richard Guenther <rguenther@suse.de>
6444
6445 * c-common.c (c_common_nodes_and_builtins):
6446 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6447
fce5dddd
RG
64482011-07-05 Richard Guenther <rguenther@suse.de>
6449
6450 * c-common.c (c_common_nodes_and_builtins): Build all common
6451 tree nodes first.
6452
45d439ac
JJ
64532011-06-27 Jakub Jelinek <jakub@redhat.com>
6454
56300785
JJ
6455 * c-common.h (c_tree_chain_next): New static inline function.
6456
45d439ac
JJ
6457 * c-common.c (check_builtin_function_arguments): Handle
6458 BUILT_IN_ASSUME_ALIGNED.
6459
e0a8ecf2
AM
64602011-06-21 Andrew MacLeod <amacleod@redhat.com>
6461
6462 * c-common.c: Add sync_ or SYNC__ to builtin names.
6463 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
6464
64652011-06-20 Pierre Vittet <piervit@pvittet.com>
6466
6467 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6468 handler.
6469 (gen_pragma_handler): New union.
6470 (internal_pragma_handler): New type.
6471 (c_register_pragma_with_data)
6472 (c_register_pragma_with_expansion_and_data): New functions.
6473
6474 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6475 (c_register_pragma, c_register_pragma_with_expansion)
6476 (c_invoke_pragma_handler): Changed to work with
6477 internal_pragma_handler.
6478 (c_register_pragma_with_data)
6479 (c_register_pragma_with_expansion_and_data): New functions.
6480
677f3fa8
JM
64812011-06-14 Joseph Myers <joseph@codesourcery.com>
6482
6483 * c-common.c: Include common/common-target.h.
6484 (handle_section_attribute): Use
6485 targetm_common.have_named_sections.
6486 * c-cppbuiltin.c: Include common/common-target.h.
6487 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6488
d7fc8c14
RG
64892011-06-10 Richard Guenther <rguenther@suse.de>
6490
6491 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6492 to print a IDENTIFIER_NODE.
6493
10e48e39
RO
64942011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6495 Joseph Myers <joseph@codesourcery.com>
6496
6497 * c.opt (fbuilding-libgcc): New option.
6498 * c-cppbuiltin.c (c_cpp_builtins): Define
6499 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6500
6976ae51
JM
65012011-06-07 Jason Merrill <jason@redhat.com>
6502
3ff60975
JM
6503 * c-common.c (max_tinst_depth): Lower default to 900.
6504
6976ae51
JM
6505 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6506
009db074
RG
65072011-06-07 Richard Guenther <rguenther@suse.de>
6508
6509 * c-common.c (c_common_nodes_and_builtins): Do not set
6510 size_type_node or call set_sizetype.
6511
b4592b92
DS
65122011-06-07 Dodji Seketeli <dodji@redhat.com>
6513
6514 PR debug/49130
6515 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 6516 type when using pointer comparison to compare types.
b4592b92 6517
014ab419
JW
65182011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6519
6520 * c.opt: Add -Wdelete-non-virtual-dtor.
6521 * c-opts.c (c_common_handle_option): Include it in -Wall.
6522
4f60111f
NF
65232011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6524
6525 PR bootstrap/49190
6526
6527 Revert:
6528 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6529
6530 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6531 not tree_common.
6532
4cc4f2f4
JJ
65332011-05-27 Jakub Jelinek <jakub@redhat.com>
6534
6535 PR c++/49165
6536 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6537 C++ don't call c_common_truthvalue_conversion on void type arms.
6538
38e01f9e
NF
65392011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6540
6541 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6542 (stmt_list_stack): Define.
6543 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6544 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6545
92e948a8
NF
65462011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6547
6548 * c-common.c (warning_candidate_p): Check for BLOCKs.
6549
a2fc3e63
NF
65502011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6551
6552 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6553 not tree_common.
6554
0957c029
JJ
65552011-05-25 Jakub Jelinek <jakub@redhat.com>
6556
6557 * c-common.c (def_fn_type): Remove extra va_end.
6558
828fb3ba
JM
65592011-05-23 Jason Merrill <jason@redhat.com>
6560
6561 PR c++/48106
6562 * c-common.c (c_common_get_narrower): New.
6563 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6564
dde05067
NF
65652011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6566
6567 * c-common.h (check_function_arguments): Tweak prototype of
6568 check_function_arguments.
6569 * c-common.c (check_function_arguments): Likewise. Adjust
6570 calls to check_function_nonnull, check_function_format, and
6571 check_function_sentinel.
6572 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6573 separate attributes and typelist arguments. Use
6574 FOREACH_FUNCTION_ARGS to iterate over argument types.
6575
3c0d13bf
PC
65762011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6577
6578 * c-common.c (c_common_reswords): Reorder.
6579 * c-common.h (rid): Likewise.
6580
8242dd04
NF
65812011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6582
6583 * c-common.c (def_fn_type): Don't call build_function_type, call
6584 build_function_type_array or build_varargs_function_type_array
6585 instead.
6586 (c_common_nodes_and_builtins): Likewise.
6587
3d528853
NF
65882011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6589
6590 * c-common.c (c_add_case_label): Omit the loc argument to
6591 build_case_label.
6592 * c-common.h (build_case_label): Remove.
6593 * c-semantics.c (build_case_label): Remove.
6594
a04a722b
JM
65952011-05-05 Joseph Myers <joseph@codesourcery.com>
6596
6597 * c-objc.h (objc_start_method_definition): Update prototype.
6598 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6599
e19a18d4
NF
66002011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6601
6602 * c-common.c (check_main_parameter_types): Reindent. Don't use
6603 TYPE_ARG_TYPES directly.
6604 (handle_nonnull_attribute): Likewise.
6605 (sync_resolve_params): Likewise.
6606 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6607 to check_format_string.
6608 (handle_format_attribute): Likewise.
6609 (check_format_string): Take a function type to examine instead of
6610 a type list. Use a function_arg_iterator to step through argument
6611 types.
6612
c62c040f
RG
66132011-05-04 Richard Guenther <rguenther@suse.de>
6614
6615 * c-common.c (fix_string_type): Use size_int for index type bounds.
6616 (start_fname_decls): Do not pass NULL to build_int_cst.
6617 (c_init_attributes): Likewise.
6618 * c-lex.c (c_lex_with_flags): Likewise.
6619
c12ff9d8
JM
66202011-04-27 Jason Merrill <jason@redhat.com>
6621
6622 * c-common.c (make_tree_vector_from_list): New.
6623 * c-common.h: Declare it.
6624
304dfbe3
RG
66252011-04-26 Richard Guenther <rguenther@suse.de>
6626
6627 PR preprocessor/48248
6628 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6629 for output size with -P.
6630
3c0d13bf
PC
66312011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6632
6633 * c-common.c (struct c_common_resword): Add __underlying_type.
6634 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6635
04695783
JM
66362011-04-20 Jim Meyering <meyering@redhat.com>
6637
6638 * c-format.c (init_dollar_format_checking): Remove useless
6639 if-before-free.
6640
0dc33c3c
NP
66412011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6642
6643 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 6644 (objc_detect_field_duplicates): New.
0dc33c3c 6645 * stub-objc.c: Likewise.
3c0d13bf 6646
c59633d9
NP
66472011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6648
6649 * stub-objc.c (objc_declare_protocols): Renamed to
6650 objc_declare_protocol.
6651 * c-objc.h: Likewise.
3c0d13bf 6652
32dabdaf
NP
66532011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6654
6655 * stub-objc.c (objc_declare_class): Updated argument name.
6656
81f653d6
NF
66572011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6658
6659 * c-common.h (c_common_init_ts): Declare.
6660 * c-common.c (c_common_init_ts): Define.
6661
eb345401
NP
66622011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6663
6664 * c-objc.h (objc_build_message_expr): Updated prototype.
6665 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 6666
a358e188
MJ
66672011-04-12 Martin Jambor <mjambor@suse.cz>
6668
6669 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6670 of cgraph_node.
6671
e6313a78
RG
66722011-04-11 Richard Guenther <rguenther@suse.de>
6673
6674 * c-common.c (complete_array_type): Build a range type of
6675 proper type.
6676
dcf0c47e
NF
66772011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6678
6679 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6680 (handle_type_generic_attribute): Likewise.
6681
1ee44b26
JM
66822011-04-07 Jason Merrill <jason@redhat.com>
6683
6684 PR c++/48450
6685 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6686 conversion from C++0x scoped enum.
6687
acce4e77
JM
66882011-04-06 Joseph Myers <joseph@codesourcery.com>
6689
6690 * c-target-def.h: New file.
6691 * c-target.def: New file.
6692 * c-target.h: New file.
6693 * c-common.c (targetcm): Don't define here.
6694 * c-common.h (default_handle_c_option): Declare.
6695 * c-format.c: Include c-target.h instead of target.h.
6696 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6697 include tm.h.
6698 (default_handle_c_option): Move from targhooks.c.
6699
e2eefb55
JJ
67002011-03-29 Jakub Jelinek <jakub@redhat.com>
6701
6702 PR preprocessor/48248
6703 * c-ppoutput.c (print): Add src_file field.
6704 (init_pp_output): Initialize it.
6705 (maybe_print_line): Don't optimize by adding up to 8 newlines
6706 if map->to_file and print.src_file are different file.
6707 (print_line): Update print.src_file.
6708
ba78087b
KT
67092011-03-25 Kai Tietz <ktietz@redhat.com>
6710
6711 * c-ada-spec.c (compare_comment): Use filename_cmp
6712 instead of strcmp for filename.
6713
0edf1bb2
JL
67142011-03-25 Jeff Law <law@redhat.com>
6715
adfac8df 6716 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 6717
c7dc8804
JM
67182011-03-25 Jason Merrill <jason@redhat.com>
6719
6720 * c.opt: Add -std=c++03.
6721
d1d879b1
EB
67222011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6723
6724 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6725
3f8257db 67262011-03-17 Kai Tietz <ktietz@redhat.com>
62d784f7
KT
6727
6728 PR target/12171
5050afdf
KT
6729 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6730 Display allowed attributes for function pointer types.
6731 (pp_c_attributes_display): New function to display
6732 attributes having affects_type_identity flag set to true.
6733 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6734
62d784f7
KT
6735 * c-common.c (c_common_attribute_table):
6736 Add new element.
6737 (c_common_format_attribute_table): Likewise.
6738
82d37118
JM
67392011-03-18 Jason Merrill <jason@redhat.com>
6740
49a000c3
JM
6741 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6742 * c-common.h: Don't declare it here.
6743 * c-common.c: Or define it here.
6744 * c-opts.c (c_common_handle_option): Or set it here.
6745
82d37118
JM
6746 PR c++/35315
6747 * c-common.c (handle_transparent_union_attribute): Don't
6748 make a duplicate type in C++.
6749
17bc631c
JM
67502011-03-15 Jason Merrill <jason@redhat.com>
6751
6752 * c-common.c (max_constexpr_depth): New.
6753 * c-common.h: Declare it.
6754 * c-opts.c (c_common_handle_option): Set it.
6755 * c.opt (fconstexpr-depth): New option.
6756
1b9b91a6
JM
67572011-03-11 Jason Merrill <jason@redhat.com>
6758
f231b5ff
JM
6759 * c-common.c (attribute_takes_identifier_p): Add missing const.
6760
1b9b91a6
JM
6761 PR c++/46803
6762 * c-common.c (attribute_takes_identifier_p): Assume that an
6763 unknown attribute takes an identifier.
6764
a19e4d44
NF
67652011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6766
6767 PR c/47786
6768 * c-common.c (c_type_hash): Call list_length instead of iterating
6769 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6770
982d62f6
JJ
67712011-02-19 Jakub Jelinek <jakub@redhat.com>
6772
6773 PR c/47809
6774 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6775
0a256240
NP
67762011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6777
6778 * c.opt (fobjc-abi-version=) New.
6779 (fobjc-nilcheck): New.
6780
ba9e6dd5
NF
67812011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6782
6783 PR c++/46890
6784 * c-common.h (keyword_is_decl_specifier): Declare.
6785 * c-common.c (keyword_is_decl_specifier): Define.
6786 (keyword_is_function_specifier): New function.
6787
7273813a
JJ
67882011-01-26 Jakub Jelinek <jakub@redhat.com>
6789
6790 PR c/47473
6791 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6792 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6793 REAL_TYPE.
6794
908ef79b
AC
67952011-01-26 Arnaud Charlet <charlet@adacore.com>
6796
6797 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6798
237e9384
JJ
67992011-01-26 Jakub Jelinek <jakub@redhat.com>
6800
6801 PR pch/47430
6802 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6803 after init_c_lex if pch_file is set.
6804
47ea1edf
DK
68052011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6806
d4dba752 6807 PR c++/43601
47ea1edf
DK
6808 * c.opt (-fkeep-inline-dllexport): New switch.
6809
2aa9c6ae
RG
68102011-01-12 Richard Guenther <rguenther@suse.de>
6811
6812 PR middle-end/32511
6813 * c-common.c (handle_weak_attribute): Warn instead of error
6814 on declaring an inline function weak.
6815
7bd11157
TT
68162011-01-05 Tom Tromey <tromey@redhat.com>
6817
6818 * c-common.h (lvalue_error): Update.
6819 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6820 not error.
6821
0e66e494 68222010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 6823
b4f588c4
NP
6824 PR objc/47075
6825 * c-objc.h (objc_finish_message_expr): Added argument to
6826 prototype.
6827
f4da8dce
NF
68282010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6829
6830 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6831 Use prototype_p.
6832
46270f14
NP
68332010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6834
6835 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 6836 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 6837
4816c593
NF
68382010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6839
6840 * c-common.h (readonly_error): Declare.
6841 * c-common.c (readonly_error): Define.
6842
7a6daeb0
NF
68432010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6844
6845 * c-common.h (invalid_indirection_error): Declare.
6846 * c-common.c (invalid_indirection_error): Define.
6847
892f6119
RG
68482010-12-03 Richard Guenther <rguenther@suse.de>
6849
6850 PR c/46745
6851 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6852 (pp_c_unary_expression): Likewise.
6853 (pp_c_expression): Likewise.
6854
6c39e757
NP
68552010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6856
6857 * c-common.h (objc_finish_function): New.
6858 (objc_non_volatilized_type): Removed.
6859 (objc_type_quals_match): Removed.
6860 * stub-objc.c (objc_finish_function): New.
6861 (objc_non_volatilized_type): Removed.
6862 (objc_type_quals_match): Removed.
9faeb493 6863
7c475d11
JM
68642010-11-30 Joseph Myers <joseph@codesourcery.com>
6865
6866 * c-common.h (parse_optimize_options): Declare.
6867 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6868 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6869
71f3e391
JM
68702010-11-29 Joseph Myers <joseph@codesourcery.com>
6871
6872 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6873 GET_ENVIRONMENT.
6874 * c-pch.c (O_BINARY): Don't define here.
6875 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6876
d5fabb58
JM
68772010-11-25 Joseph Myers <joseph@codesourcery.com>
6878
6879 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6880 targetm.except_unwind_info.
6881
299404a1
JM
68822010-11-23 Joseph Myers <joseph@codesourcery.com>
6883
6884 * c-opts.c (c_common_handle_option): Pass location to
6885 set_struct_debug_option.
6886
c98cd5bf
JM
68872010-11-23 Joseph Myers <joseph@codesourcery.com>
6888
6889 * c-common.c (visibility_options): Move from ../opts.c.
6890 * c-common.h (struct visibility_flags, visibility_options):
6891 Declare here.
6892 * c-opts.c (finish_options): Rename to c_finish_options.
6893 (c_common_init): Update call to finish_options.
6894
a9546771
NP
68952010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6896
6897 PR objc/34033
6898 * c-lex.c (lex_string): Check that each string in an Objective-C
6899 string concat sequence starts with either one or zero '@', and
6900 that there are no spurious '@' signs at the end.
6901
24a57808
JM
69022010-11-20 Joseph Myers <joseph@codesourcery.com>
6903
6904 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6905 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6906 HANDLE_PRAGMA_VISIBILITY.
6907 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6908 HANDLE_PRAGMA_VISIBILITY): Don't define.
6909 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6910
a9aa2c3a
NF
69112010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6912
6913 PR c++/16189
6914 PR c++/36888
6915 PR c++/45331
6916 * c-common.h (keyword_begins_type_specifier): Declare.
6917 (keyword_is_storage_class_specifier): Declare.
6918 (keyword_is_type_qualifier): Declare.
6919 * c-common.c (keyword_begins_type_specifier): New function.
6920 (keyword_is_storage_class_specifier): New function.
6921 (keyword_is_type_qualifier): Declare.
6922
5386338c
JM
69232010-11-19 Joseph Myers <joseph@codesourcery.com>
6924
6925 PR c/46547
6926 * c-common.c (in_late_binary_op): Define.
6927 (c_common_truthvalue_conversion): Check in_late_binary_op before
6928 calling c_save_expr.
6929 * c-common.h (in_late_binary_op): Declare.
6930
69ccdddb
JM
69312010-11-19 Joseph Myers <joseph@codesourcery.com>
6932
6933 * c-opts.c (c_common_handle_option): Update calls to
6934 set_struct_debug_option.
6935
6b192a09
NP
69362010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6937
6938 * c-common.h (objc_declare_protocols): Added additional argument.
6939 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 6940
fb52b50a
NF
69412010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6942
6943 PR c/33193
6944 * c-common.h (build_real_imag_expr): Declare.
6945 * c-semantics.c (build_real_imag_expr): Define.
6946
b37421c6
JM
69472010-11-17 Joseph Myers <joseph@codesourcery.com>
6948
6949 * c-opts.c (c_common_parse_file): Take no arguments.
6950 * c-common.h (c_common_parse_file): Update prototype.
6951
07078664
JJ
69522010-11-16 Jakub Jelinek <jakub@redhat.com>
6953
6954 PR c++/46401
6955 * c-common.c (warning_candidate_p): Don't track non-const calls
6956 or STRING_CSTs.
6957
c6a13190
ILT
69582010-11-15 Ian Lance Taylor <iant@google.com>
6959
6960 * c-lex.c (init_c_lex): Set macro debug callbacks if
6961 flag_dump_go_spec is set.
6962
925e8657
NP
69632010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6964
6965 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6966 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6967
bb0a9581
NF
69682010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6969
6970 PR preprocessor/45038
6971 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6972 dialects.
6973
c5fa0890
JM
69742010-11-12 Joseph Myers <joseph@codesourcery.com>
6975
6976 * c-common.h (c_family_lang_mask): Declare.
6977 * c-opts.c (c_family_lang_mask): Make extern.
6978 * c-pragma.c (handle_pragma_diagnostic): Use
6979 control_warning_option.
6980
a4d8c676
JM
69812010-11-12 Joseph Myers <joseph@codesourcery.com>
6982
6983 * c-common.c (parse_optimize_options): Update call to
6984 decode_options.
6985 * c-common.h (c_common_handle_option): Update prototype.
6986 * c-opts.c (c_common_handle_option): Take location_t parameter and
6987 pass it to other functions.
6988
f954bd2c
JM
69892010-11-11 Joseph Myers <joseph@codesourcery.com>
6990
6991 * c-opts.c (warning_as_error_callback): Remove.
6992 (c_common_initialize_diagnostics): Don't call
6993 register_warning_as_error_callback.
6994 (c_common_handle_option): Handle -Werror=normalized= here.
6995
d8a07487
JM
69962010-11-10 Joseph Myers <joseph@codesourcery.com>
6997
6998 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6999 in diagnostic.
7000 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
7001 letter.
7002 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
7003 Remove trailing '.' from diagnostics.
7004 * c.opt (Wwrite-strings_: Avoid '`' in help text.
7005
d5478783
JM
70062010-11-10 Joseph Myers <joseph@codesourcery.com>
7007
7008 * c-common.c (parse_optimize_options): Pass global_dc to
7009 decode_options.
7010 * c-opts.c (c_common_handle_option): Pass &global_options to
7011 set_Wstrict_aliasing.
7012 * c.opt (v): Don't mark Common or document here.
7013
91ebb981
IS
70142010-11-06 Iain Sandoe <iains@gcc.gnu.org>
7015
7016 PR target/44981
7017 * c-format.c (format_type): New type gcc_objc_string_format_type.
7018 (valid_stringptr_type_p): New.
7019 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 7020 (check_format_string): Pass expected type, use
91ebb981
IS
7021 valid_stringptr_type_p (), check that the format string types are
7022 consistent with the format specification.
7023 (decode_format_attr): Warn if NSString is used outside objective-c.
7024 (format_types_orig): Add NSString.
7025 (format_name): New.
7026 (format_flags): New.
7027 (check_format_arg): Handle format strings requiring an external parser.
7028 first_target_format_type: New variable.
7029 (handle_format_attribute): Set up first_target_format_type, pass the
7030 expected format arg string type to check_format_string().
7031 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
7032 * stub-objc.c (objc_string_ref_type_p): New.
7033 (objc_check_format_arg): New.
7034
bede2adc
NP
70352010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
7036
9faeb493 7037 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
7038 * c-common.h (objc_build_class_component_ref): New.
7039 * stub-objc.c (objc_build_class_component_ref): New.
7040
9a179d01
NP
70412010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7042
7043 * c.opt (Wproperty-assign-default): New option.
7044
22d8d616
NP
70452010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
7046
7047 Implemented -fobjc-std=objc1 flag.
7048 * c.opt (fobjc-std=objc1): New option.
7049
2debdb4f
NP
70502010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
7051
7052 Implemented format and noreturn attributes for Objective-C methods.
7053 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
7054 attribute for Objective-C methods.
7055
ec52b111
JM
70562010-10-31 Jason Merrill <jason@redhat.com>
7057
7058 * c-common.c (conversion_warning, warn_for_collisions_1): Use
7059 EXPR_LOC_OR_HERE.
7060
46a88c12
NP
70612010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
7062
7063 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
7064 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
7065 (objc_add_property_declaration): Removed arguments for copies and
7066 ivar.
7067 (objc_build_getter_call): Renamed to
7068 objc_maybe_build_component_ref.
7069 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7070 (objc_is_property_ref): New.
7071 * c-common.c (c_common_reswords): Removed copies and ivar.
7072 * stub-objc.c (objc_add_property_declaration): Removed arguments
7073 for copies and ivar.
7074 (objc_build_getter_call): Renamed to
7075 objc_maybe_build_component_ref.
7076 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
7077 (objc_is_property_ref): New.
9faeb493 7078
1e4bf85b
AC
70792010-10-29 Arnaud Charlet <charlet@adacore.com>
7080 Matthew Gingell <gingell@adacore.com>
7081
7082 * c-ada-spec.c (separate_class_package): New function.
7083 (pp_ada_tree_identifier): Prefix references to C++ classes with the
7084 name of their enclosing package.
7085 (print_ada_declaration): Use separate_class_package.
7086
81f0bab2
JM
70872010-10-27 Jason Merrill <jason@redhat.com>
7088
2b08f2c5
JM
7089 * c-common.c (c_common_reswords): Add __is_literal_type.
7090 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
7091
81f0bab2
JM
7092 * c-common.c (check_case_value): Remove special C++ code.
7093
200290f2
NP
70942010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7095
7096 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
7097 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7098 and RID_LAST_PATTR.
7099 (objc_add_property_declaration): Added additional arguments.
7100 (objc_property_attribute_kind): Removed.
7101 (objc_set_property_attr): Removed.
7102 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7103 copy and nonatomic.
7104 * stub-objc.c (objc_add_property_declaration): Added additional
7105 arguments.
7106 (objc_set_property_attr): Removed.
9faeb493 7107
f614132b
NP
71082010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7109
7110 * c-common.h (objc_add_property_variable): Renamed to
7111 objc_add_property_declaration. Added location argument.
7112 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 7113
b8a18805
NP
71142010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7115
7116 * c-common.h (objc_maybe_printable_name): New.
7117 * stub-objc.c (objc_maybe_printable_name): New.
7118
3f8257db
JJ
71192010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7120 Andrew Pinski <pinskia@gmail.com>
30cd1c5d
AS
7121
7122 * c-common.h (c_common_mark_addressable_vec): Declare.
7123 * c-common.c (c_common_mark_addressable_vec): New function.
7124
249a82c4
NP
71252010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7126
7127 * c-common.h (objc_set_method_type): Removed.
7128 (objc_add_method_declaration): Added boolean argument.
7129 (objc_start_method_definition): Same change.
7130 (objc_build_method_signature): Same change.
7131 * stub-objc.c (objc_set_method_type): Removed.
7132 (objc_add_method_declaration): Added boolean argument.
7133 (objc_start_method_definition): Same change.
7134 (objc_build_method_signature): Same change.
7135
977e30bc
NP
71362010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7137
7138 * c-common.h (finish_file): Removed.
7139 (objc_write_global_declarations): New.
7140 * c-opts.c (c_common_parse_file): Do not call finish_file.
7141 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 7142
da57d1b9
NP
71432010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7144
7145 Implemented parsing @synthesize and @dynamic for
7146 Objective-C/Objective-C++.
7147 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7148 (objc_add_synthesize_declaration): New.
7149 (objc_add_dynamic_declaration): New.
7150 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7151 * stub-objc.c (objc_add_synthesize_declaration): New.
7152 (objc_add_dynamic_declaration): New.
9faeb493 7153
0069111f
MM
71542010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7155
7156 PR target/46041
7157 * c-cppbuiltin.c (mode_has_fma): Move function here from
7158 builtins.c. Don't use the fma optab, instead just use the
7159 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7160 using -save-temps.
7161
e426b47b
NP
71622010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7163
7164 Merge from 'apple/trunk' branch on FSF servers.
0069111f 7165
3f8257db 7166 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
e426b47b 7167
9faeb493 7168 Radar 4330422
e426b47b
NP
7169 * c-common.h (objc_non_volatilized_type): New declaration
7170 * stub-objc.c (objc_non_volatilized_type): New stub.
7171
90fbfdc3
NP
71722010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7173
e426b47b 7174 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3 7175
3f8257db 7176 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
90fbfdc3 7177
9faeb493 7178 Radar 4133425
90fbfdc3 7179 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 7180 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 7181
c37d8c30
IS
71822010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7183
7184 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7185 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7186 (objc_ivar_visibility_kind): New enum.
7187 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 7188 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
7189 visibility enum.
7190
1b1562a5
MM
71912010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7192
7193 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7194 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7195 has the appropriate fma builtins.
7196 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7197
668ea4b1
IS
71982010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7199
1b1562a5 7200 merge from FSF apple 'trunk' branch.
3f8257db 7201 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 7202
668ea4b1
IS
7203 Radars 4436866, 4505126, 4506903, 4517826
7204 * c-common.c (c_common_resword): Define @property and its attributes.
7205 * c-common.h: Define property attribute enum entries.
7206 (OBJC_IS_PATTR_KEYWORD): New.
7207 (objc_property_attribute_kind): New enum.
7208 Declare objc_set_property_attr (), objc_add_property_variable (),
7209 objc_build_getter_call () and objc_build_setter_call ().
7210 * stub-objc.c (objc_set_property_attr): New stub.
7211 (objc_add_property_variable): Likewise.
7212 (objc_build_getter_call): Likewise.
7213 (objc_build_setter_call) Likewise.
1b1562a5 7214
a1178b30
IS
72152010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7216
1b1562a5 7217 merge from FSF apple 'trunk' branch.
3f8257db 7218 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
a1178b30
IS
7219
7220 Radar 3803157 (method attributes)
7221 * c-common.c (handle_deprecated_attribute): Recognize
7222 objc methods as valid declarations.
7223 * c-common.h: Declare objc_method_decl ().
1b1562a5 7224 * stub-objc.c (objc_method_decl): New stub.
a1178b30 7225
a75bfaa6
JM
72262010-10-08 Joseph Myers <joseph@codesourcery.com>
7227
7228 * c-common.c (parse_optimize_options): Call
7229 decode_cmdline_options_to_array_default_mask before
7230 decode_options. Update arguments to decode_options.
7231 * c-common.h (c_common_init_options_struct): Declare.
7232 * c-opts.c (c_common_init_options_struct): New. Split out from
7233 c_common_init_options.
7234
f05b9d93
NP
72352010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7236
7237 Implemented fast enumeration for Objective-C.
7238 * c-common.h (objc_finish_foreach_loop): New.
7239 * stub-objc.c (objc_finish_foreach_loop): New.
7240
1ebe4b4f
JM
72412010-10-05 Joseph Myers <joseph@codesourcery.com>
7242
7243 * c-common.h (struct diagnostic_context): Don't declare here.
7244 (c_common_initialize_diagnostics): Declare using
7245 diagnostic_context typedef.
7246 * c-opts.c (c_common_handle_option): Pass global_dc to
7247 handle_generated_option.
7248
d4d24ba4
JM
72492010-10-04 Joseph Myers <joseph@codesourcery.com>
7250
7251 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7252 handle_generated_option.
7253
478a1c5b
ILT
72542010-10-03 Ian Lance Taylor <iant@google.com>
7255
7256 * c.opt (-fplan9-extensions): New option.
7257
82a1c2fe
FXC
72582010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7259
7260 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7261 Remove.
7262 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7263 of duplicating code.
7264
92902b1b
IS
72652010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7266
7267 * c-common.c: Add two new entries for @optional
7268 and @required keywords.
7269
7270 merge from FSF 'apple/trunk' branch.
3f8257db 7271 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
92902b1b
IS
7272
7273 Radar 4386773
7274 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7275 objective-c keywords.
7276 (objc_set_method_opt): New declaration.
7277 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 7278
46625112
JM
72792010-09-30 Joseph Myers <joseph@codesourcery.com>
7280
7281 * c-common.c (handle_optimize_attribute): Pass &global_options to
7282 cl_optimization_save and cl_optimization_restore.
7283 * c-opts.c (c_common_handle_option): Pass &global_options to
7284 handle_generated_option.
7285 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7286 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7287 &global_options to cl_optimization_restore.
7288
49b91f05
NP
72892010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7290
7291 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7292 Objective-C/Objective-C++ keywords.
7293
13ed556f 72942010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 7295
9faeb493
UB
7296 Merge from 'apple/trunk' branch on FSF servers.
7297
3f8257db 7298 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
a6341d57
NP
7299
7300 Radar 4281748
7301 * c-common.h (objc_check_global_decl): New declaration.
7302 * stub-objc.c (objc_check_global_decl): New stub.
7303
f0036cca
JM
73042010-09-29 Joseph Myers <joseph@codesourcery.com>
7305
7306 * c.opt: Don't use VarExists.
7307
e3339d0f
JM
73082010-09-29 Joseph Myers <joseph@codesourcery.com>
7309
7310 * c-common.c (c_cpp_error): Update names of diagnostic_context
7311 members.
7312 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7313 cl_optimization members.
7314 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7315 sanitize_cpp_opts, finish_options): Update names of cpp_options
7316 members.
7317
1973201f
NP
73182010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7319
7320 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7321 (objc_is_reserved_word): Removed.
7322 * c-common.c: Updated comments.
7323 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7324 objc_is_reserved_word.
7325 * stub-objc.c (objc_is_reserved_word): Removed.
7326
f7e71da5
IS
73272010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7328
9faeb493 7329 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
7330 include attributes.
7331 (objc_start_method_definition): Likewise.
7332 (objc_build_keyword_decl): Likewise.
7333 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7334 (objc_start_method_definition): Likewise.
7335 (objc_build_keyword_decl): Likewise.
7336
c165dca7
IS
73372010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7338
7339 * c-common.h (objc_start_class_interface): Adjust prototype.
7340 (objc_start_category_interface): Likewise.
7341 (objc_start_protocol): Likewise.
7342 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7343 (objc_start_class_interface): Likewise.
7344 (objc_start_category_interface): Likewise.
7345
7458026b
ILT
73462010-09-27 Ian Lance Taylor <iant@google.com>
7347
7348 * c-common.c (c_common_attribute_table): Add no_split_stack.
7349 (handle_no_split_stack_attribute): New static function.
7350
b581b85b
NP
73512010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7352
9faeb493 7353 Merge from 'apple/trunk' branch on FSF servers.
b581b85b 7354
3f8257db 7355 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
b581b85b 7356
9faeb493 7357 Radar 4229905
b581b85b
NP
7358 * c-common.h (objc_have_common_type): New declaration.
7359 * stub-objc.c (objc_have_common_type): New stub.
7360
7361 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7362
7363 Radar 4154928
7364 * c-common.h (objc_common_type): New prototype.
9faeb493 7365 * stub-objc.c (objc_common_type): New stub.
b581b85b 7366
46a4da10
JH
73672010-09-24 Jan Hubicka <jh@suse.cz>
7368
7369 * c-common.c (handle_leaf_attribute): New function.
7370 (struct attribute_spec c_common_att): Add leaf.
7371
e200444e
JM
73722010-09-22 Joseph Myers <joseph@codesourcery.com>
7373
7374 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7375 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7376 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7377 -include-barrier, -include-directory, -include-directory=,
7378 -include-directory-after, -include-directory-after=,
7379 -include-prefix, -include-prefix=, -include-with-prefix,
7380 -include-with-prefix=, -include-with-prefix-after,
7381 -include-with-prefix-after=, -include-with-prefix-before,
7382 -include-with-prefix-before=, -no-integrated-cpp,
7383 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7384 -output=, -pedantic, -pedantic-errors, -preprocess,
7385 -print-missing-file-dependencies, -trace-includes, -traditional,
7386 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7387 -user-dependencies, -verbose, -write-dependencies,
7388 -write-user-dependencies, no-integrated-cpp, traditional): New.
7389
29a80ea6
NP
73902010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7391
7392 PR objc/23710
ac1fc2fc
NP
7393 * c-common.h (objc_start_method_definition): Return bool instead
7394 of void.
7395 * stub-objc.c (objc_start_method_definition): Return bool instead
7396 of void.
7397
73982010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7399
7400 PR objc/25965
7401 * c-common.h (objc_get_interface_ivars): New declaration.
7402 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 7403
de621752
ILT
74042010-09-15 Ian Lance Taylor <iant@google.com>
7405
7406 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 7407 messages. Remove period at end of warning message.
de621752 7408
ba885ec5
NS
74092010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7410
7411 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7412 (handle_alias_attribute): ... here.
7413 (handle_ifunc_attribute): New.
7414
c5ee1358
MM
74152010-09-06 Mark Mitchell <mark@codesourcery.com>
7416
7417 * c-common.h (do_warn_double_promotion): Declare.
7418 * c-common.c (do_warn_double_promotion): Define.
7419
0a0b3574
MM
74202010-09-05 Mark Mitchell <mark@codesourcery.com>
7421
7422 * c.opt (Wdouble-promotion): New.
7423
d1779886
JM
74242010-09-02 Joseph Myers <joseph@codesourcery.com>
7425
7426 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7427 fvtable-thunks, fxref): Mark no longer supported in help text.
7428
2d2bd949
JM
74292010-09-02 Joseph Myers <joseph@codesourcery.com>
7430
7431 * c.opt (Wimport, fall-virtual, falt-external-templates,
7432 fdefault-inline, fenum-int-equiv, fexternal-templates,
7433 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7434 fname-mangling-version-, fnew-abi, fnonnull-objects,
7435 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7436 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7437 applicable.
7438 (fhandle-exceptions): Mark with Alias and Warn.
7439 * c-opts.c (c_common_handle_option): Don't handle options marked
7440 as ignored.
7441
5de8299c
JM
74422010-09-02 Joseph Myers <joseph@codesourcery.com>
7443
7444 * c.opt (Wcomments, Werror-implicit-function-declaration,
7445 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7446 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7447 aliases.
7448 * c-common.c (option_codes): Use OPT_Wcomment instead of
7449 OPT_Wcomments.
7450 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7451 Don't handle options marked as aliases.
7452
0ceb0201
RG
74532010-08-25 Richard Guenther <rguenther@suse.de>
7454
7455 * c-common.c (c_common_get_alias_set): Remove special
7456 handling for pointers.
7457
ac47786e
NF
74582010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7459
7460 * c-common.c: Use FOR_EACH_VEC_ELT.
7461 * c-gimplify.c: Likewise.
7462 * c-pragma.c: Likewise.
7463
c878765b
JM
74642010-08-16 Joseph Myers <joseph@codesourcery.com>
7465
7466 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7467 RejectDriver.
7468 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7469 RejectDriver.
7470 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7471 instead of OPT_MDX and OPT_MMDX.
7472
603349bf
JM
74732010-08-16 Joseph Myers <joseph@codesourcery.com>
7474
7475 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7476
644fa7ac
JM
74772010-08-12 Joseph Myers <joseph@codesourcery.com>
7478
7479 * c.opt (MD, MMD): Change to MDX and MMDX.
7480 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7481
481e1176
JM
74822010-08-11 Joseph Myers <joseph@codesourcery.com>
7483
7484 * c-opts.c (c_common_handle_option): Call handle_generated_option
7485 instead of handle_option.
7486
ac8dc9f7
NF
74872010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7488
7489 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7490 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7491
4f8c876d
NF
74922010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7493
7494 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7495 (pending_redefine_extname): Change type to a VEC.
7496 (add_to_renaming_pragma_list): Update for new type of
7497 pending_redefine_extname.
ac8dc9f7 7498 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 7499
3b0c690e
AC
75002010-08-04 Arnaud Charlet <charlet@adacore.com>
7501
7502 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7503 visited.
7504 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7505 decide whether a type has already been declared/seen.
7506 Do not go to the original type.
7507 (dump_nested_types): New parameter forward.
7508 Generate forward declaration if needed and mark type as visited.
7509 (print_ada_declaration): Call dump_nested_types if not already done.
7510 Mark types as visited.
7511
1890bccc
JM
75122010-08-03 Joseph Myers <joseph@codesourcery.com>
7513
7514 * c.opt (-print-pch-checksum): Remove option.
7515 * c-opts.c (c_common_handle_option): Don't handle
7516 OPT_print_pch_checksum.
7517
5f20c657
JM
75182010-07-27 Joseph Myers <joseph@codesourcery.com>
7519
7520 * c-common.h (c_common_handle_option): Update prototype and return
7521 value type.
7522 * c-opts.c (c_common_handle_option): Update prototype and return
7523 value type. Update calls to handle_option and
7524 enable_warning_as_error.
7525
f551f80c
JJ
75262010-07-27 Jakub Jelinek <jakub@redhat.com>
7527
7528 PR c/45079
7529 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7530
61ff2bdc
JM
75312010-07-27 Joseph Myers <joseph@codesourcery.com>
7532
7533 * c-common.h (c_common_missing_argument): Remove.
7534 * c-opts.c (c_common_missing_argument): Remove.
7535 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7536 idirafter, imacros, include, isysroot, isystem, iquote): Add
7537 MissingArgError.
7538 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7539
7a9bf9a4
JM
75402010-07-27 Joseph Myers <joseph@codesourcery.com>
7541
7542 * c-common.h (c_common_option_lang_mask,
7543 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7544 New.
7545 (c_common_init_options): Update prototype.
7546 * c-opts.c (c_common_option_lang_mask): New.
7547 (c_common_initialize_diagnostics): Split out of
7548 c_common_init_options.
7549 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7550 New.
7551 (c_common_init_options): Update prototype. Use decoded options in
7552 search for -lang-asm.
7553
910ad8de
NF
75542010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7555
7556 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7557 * c-format.c: Likewise.
7558
718f9c0f
MLI
75592010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7560
7561 * c-common.h: Include diagnostic-core.h. Error if already
7562 included.
7563 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7564
4d451982
MLI
75652010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7566
adfac8df 7567 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
7568 Do not include expr.h
7569 (vector_mode_valid_p): Move here.
7570
119fe915
SB
75712010-06-21 DJ Delorie <dj@redhat.com>
7572
7573 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7574 allow these pragmas anywhere.
7575
75762010-06-14 Jakub Jelinek <jakub@redhat.com>
7577
7578 PR bootstrap/44509
7579 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7580 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7581 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7582 ggc_strdup instead of xstrdup.
7583
75842010-06-10 Jakub Jelinek <jakub@redhat.com>
7585
7586 * c-cppbuiltin.c: Include cpp-id-data.h.
7587 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7588 (lazy_hex_fp_value): New function.
7589 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7590
6662d794
MLI
75912010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7592
7593 * c-gimplify.c: Do not include tree-flow.h
7594
38f8b050
JR
75952010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7596
7597 PR other/44034
7598 * c-common.c: Rename targetm member:
7599 targetm.enum_va_list -> targetm.enum_va_list_p
7600
9589f23e
AS
76012010-06-28 Anatoly Sokolov <aesok@post.ru>
7602
7603 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7604
3b06d379
SB
76052010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7606
7607 * c-cppbuiltin.c: Do not include except.h.
7608
d166d4c3
AK
76092010-06-24 Andi Kleen <ak@linux.intel.com>
7610
9faeb493
UB
7611 * c-common.c (warn_for_omitted_condop): New.
7612 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 7613
70cb8be6
JM
76142010-06-21 Joseph Myers <joseph@codesourcery.com>
7615
7616 * c.opt (lang-objc): Remove.
7617 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7618
a4c97feb
JR
76192010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7620
7621 * c-opts.c: Include "tm_p.h".
7622
6e2f1956
JM
76232010-06-20 Joseph Myers <joseph@codesourcery.com>
7624
7625 * c-common.c (parse_optimize_options): Update call to
7626 decode_options.
7627
bc87224e
NF
76282010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7629
7630 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7631 new type of types_used_by_cur_var_decl.
7632
b49cf425
JR
76332010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7634
7635 PR bootstrap/44512
7636 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7637 for C++ standard compliance.
7638
59f9c2ed
JM
76392010-06-16 Jason Merrill <jason@redhat.com>
7640
7641 * c.opt: Add -Wnoexcept.
7642
33766b66
RG
76432010-06-16 Richard Guenther <rguenther@suse.de>
7644
7645 PR c/44555
7646 * c-common.c (c_common_truthvalue_conversion): Remove
7647 premature and wrong optimization concering ADDR_EXPRs.
7648
eff7e30c
AC
76492010-06-15 Arnaud Charlet <charlet@adacore.com>
7650
7651 * c-ada-spec.c (dump_sloc): Remove column info.
7652 (is_simple_enum): New function.
7653 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7654 enum types when relevant.
7655
6312e84d
MLI
76562010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7657
9faeb493 7658 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
7659 location.
7660
1cb42611
JM
76612010-06-10 Joseph Myers <joseph@codesourcery.com>
7662
7663 * c-opts.c (c_common_handle_option): Don't handle
7664 OPT_fshow_column.
7665
a9429e29
LB
76662010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7667
7668 * c-pragma.c (push_alignment): Use typed GC allocation.
7669 (handle_pragma_push_options): Likewise.
7670
7671 * c-common.c (parse_optimize_options): Likewise.
7672
7673 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7674 option.
7675
5498f011
JM
76762010-06-07 Joseph Myers <joseph@codesourcery.com>
7677
7678 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7679 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7680 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7681 flag_signed_bitfields, warn_strict_null_sentinel,
7682 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7683 flag_gen_declaration, flag_no_gnu_keywords,
7684 flag_implement_inlines, flag_implicit_templates,
7685 flag_implicit_inline_templates, flag_optional_diags,
7686 flag_elide_constructors, flag_default_inline, flag_rtti,
7687 flag_conserve_space, flag_access_control, flag_check_new,
7688 flag_new_for_scope, flag_weak, flag_working_directory,
7689 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7690 flag_enforce_eh_specs, flag_threadsafe_statics,
7691 flag_pretty_templates): Remove.
7692 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7693 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7694 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7695 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7696 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7697 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7698 flag_no_gnu_keywords, flag_implement_inlines,
7699 flag_implicit_templates, flag_implicit_inline_templates,
7700 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7701 flag_rtti, flag_conserve_space, flag_access_control,
7702 flag_check_new, flag_new_for_scope, flag_weak,
7703 flag_working_directory, flag_use_cxa_atexit,
7704 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7705 flag_threadsafe_statics, flag_pretty_templates,
7706 warn_strict_null_sentinel): Remove.
7707 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7708 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7709 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7710 fimplicit-inline-templates, fimplicit-templates,
7711 flax-vector-conversions, fms-extensions, fnil-receivers,
7712 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7713 frtti, fshort-double, fshort-enums, fshort-wchar,
7714 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7715 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7716 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7717 gen-decls, undef): Use Var.
7718 (fdefault-inline, foptional-diags): Document as doing nothing.
7719 * c-opts.c (c_common_handle_option): Remove cases for options now
7720 using Var. Mark ignored options as such.
7721
39dabefd
SB
77222010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7723
9faeb493 7724 * c-common.c: Moved to here from parent directory.
39dabefd
SB
7725 * c-common.def: Likewise.
7726 * c-common.h: Likewise.
7727 * c-cppbuiltin.c: Likewise.
7728 * c-dump.c: Likewise.
7729 * c-format.c: Likewise.
7730 * c-format.h : Likewise.
7731 * c-gimplify.c: Likewise.
7732 * c-lex.c: Likewise.
7733 * c-omp.c: Likewise.
7734 * c.opt: Likewise.
7735 * c-opts.c: Likewise.
7736 * c-pch.c: Likewise.
7737 * c-ppoutput.c: Likewise.
7738 * c-pragma.c: Likewise.
7739 * c-pragma.h: Likewise.
7740 * c-pretty-print.c: Likewise.
7741 * c-pretty-print.h: Likewise.
7742 * c-semantics.c: Likewise.
7743 * stub-objc.c: Likewise.
7744
7745 * c-common.c: Include gt-c-family-c-common.h.
7746 * c-pragma.c: Include gt-c-family-c-pragma.h.
7747\f
cbe34bb5 7748Copyright (C) 2010-2017 Free Software Foundation, Inc.
39dabefd
SB
7749
7750Copying and distribution of this file, with or without modification,
7751are permitted in any medium without royalty provided the copyright
7752notice and this notice are preserved.
This page took 2.564674 seconds and 5 git commands to generate.