]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR tree-optimization/66768
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
78adba87 12017-02-28 Martin Liska <mliska@suse.cz>
2
3 * c.opt: Replace space with tabular for options of <number>
4 type.
5
6ac368bb 62017-02-28 Martin Liska <mliska@suse.cz>
7
8 * c.opt: Fix --help=option -Q for options which are of
9 an enum type.
10
bbd5521e 112017-02-24 Jakub Jelinek <jakub@redhat.com>
12
13 PR c++/79588
14 * c-common.c (check_function_restrict): New function.
15 (check_function_arguments): Add FNDECL argument. Call
16 check_function_restrict if -Wrestrict.
17 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
18 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
19 * c-common.h (check_function_arguments): Add FNDECL argument.
20 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
21
e967bbfd 222017-02-24 Eric Botcazou <ebotcazou@adacore.com>
23
24 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
25 treatment of parameters with pointer-to-tagged type and tidy up.
26 (print_ada_methods): Remove the special treatment of C++ static member
27 functions.
28
52ccf715 292017-02-22 Martin Liska <mliska@suse.cz>
30
31 * c.opt: Replace inequality signs with square brackets
32 for -Wnornalized.
33
a42e4e13 342017-02-21 Jakub Jelinek <jakub@redhat.com>
35
36 PR c++/79641
37 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
38 preserve quals.
39
f6202e1a 402017-02-17 Joseph Myers <joseph@codesourcery.com>
41
42 * c-cppbuiltin.c (builtin_define_float_constants): Define
43 __DECIMAL_DIG__ to the value for long double.
44
0396f790 452017-02-15 Marek Polacek <polacek@redhat.com>
46
47 PR c/79515
48 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
49 conversion has occured.
50
175e0d6b 512017-01-24 David Malcolm <dmalcolm@redhat.com>
52
53 * c-common.c (c_common_reswords): Add "__RTL".
54 * c-common.h (enum rid): Add RID_RTL.
55
3ef7eab1 562017-01-20 Marek Polacek <polacek@redhat.com>
57
58 PR c/64279
59 * c-common.h (do_warn_duplicated_branches_r): Declare.
60 * c-gimplify.c (c_genericize): Walk the function tree calling
61 do_warn_duplicated_branches_r.
62 * c-warn.c (expr_from_macro_expansion_r): New.
63 (do_warn_duplicated_branches): New.
64 (do_warn_duplicated_branches_r): New.
65 * c.opt (Wduplicated-branches): New option.
66
32641de7 672017-01-17 David Malcolm <dmalcolm@redhat.com>
68
69 PR c++/71497
70 * c-indentation.c (warn_for_misleading_indentation): Use the past
71 subjunctive in the note.
72
7e66f344 732017-01-17 Aldy Hernandez <aldyh@redhat.com>
74
75 PR c/79116
76 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
77 start type to integer_type.
78
14234f77 792017-01-16 Jakub Jelinek <jakub@redhat.com>
80
81 PR driver/49726
82 * c.opt (gen-decls): Add Driver flag.
83
ba5a0dd7 842017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
85
86 Revert:
87 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
88
89 PR c++/71737
90 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
91
231589de 922017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
93
94 PR c++/71737
95 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
96
78cf39ca 972017-01-12 Martin Sebor <msebor@redhat.com>
98
99 (-Wformat-overflow): ...to this.
100
1a1ce9a6 1012017-01-11 Martin Sebor <msebor@redhat.com>
102
103 PR c/78768
104 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
105 Also enable for LTO.
106
3386344d 1072017-01-10 Jason Merrill <jason@redhat.com>
108
109 Implement P0195R2, C++17 variadic using.
110 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
111
d0abd9e0 1122017-01-09 Jakub Jelinek <jakub@redhat.com>
113
114 PR translation/79019
115 PR translation/79020
116 * c.opt (Wnormalized=): Fix typo in description.
117
aba01341 1182017-01-08 Martin Sebor <msebor@redhat.com>
119
120 PR middle-end/77708
121 * c.opt (-Wformat-truncation): New option.
122
2792c2c7 1232017-01-06 Alexandre Oliva <aoliva@redhat.com>
124
125 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
126 value to unsigned short to fit in 4 hex digits without
127 warnings.
128
3389a464 1292017-01-05 Eric Botcazou <ebotcazou@adacore.com>
130
131 * c.opt (fsso-struct): Add 'native' value.
132
f6deeb21 1332017-01-05 Martin Liska <mliska@suse.cz>
134
135 PR pch/78970
136 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
137 header.
138
6124217c 1392017-01-04 Marek Polacek <polacek@redhat.com>
140
141 PR c++/64767
142 * c.opt (Wpointer-compare): New option.
143
48284845 1442017-01-04 Jakub Jelinek <jakub@redhat.com>
145
146 PR driver/78957
147 * c.opt (fsso-struct=): Add RejectNegative.
148
aad93da1 1492017-01-01 Jakub Jelinek <jakub@redhat.com>
150
151 Update copyright years.
152
7dbe2449 1532016-12-29 Martin Liska <mliska@suse.cz>
154
155 PR c/78933
156 * c.opt (strong-eval-order): Add RejectNegative keyword.
157
23ea3d01 1582016-12-22 Jason Merrill <jason@redhat.com>
159
160 Implement P0522R0, matching of template template arguments.
161 * c-cppbuiltin.c (c_cpp_builtins): Define
162 __cpp_template_template_args.
163
184fac50 1642016-12-21 Jakub Jelinek <jakub@redhat.com>
165
166 PR bootstrap/78817
167 * c-common.c (struct nonnull_arg_ctx): New type.
168 (check_function_nonnull): Return bool instead of void. Use
169 nonnull_arg_ctx as context rather than just location_t.
170 (check_nonnull_arg): Adjust for the new context type, set
171 warned_p to true if a warning has been diagnosed.
172 (check_function_arguments): Return bool instead of void.
173 * c-common.h (check_function_arguments): Adjust prototype.
174
7806e079 1752016-12-21 Jason Merrill <jason@redhat.com>
176
177 * c.opt (-fnew-ttp-matching): New flag.
178 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
179
4954efd4 1802016-12-14 Martin Jambor <mjambor@suse.cz>
181
182 * c-omp.c: Include omp-general.h instead of omp-low.h.
183 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
184 name.
185
5cfa3fc8 1862016-12-14 Martin Sebor <msebor@redhat.com>
187
188 PR c/17308
189 * c-common.c (check_nonnull_arg): Disable when optimization
190 is enabled.
191
bbdce47f 1922016-12-12 Marek Polacek <polacek@redhat.com>
193
194 PR c++/78647
195 * c-common.c (attribute_fallthrough_p): Return false for
196 error_mark_node.
197
370e45b9 1982016-12-08 Martin Sebor <msebor@redhat.com>
199
200 PR c/78284
201 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
202
3bb246b3 2032016-12-08 Martin Sebor <msebor@redhat.com>
204
205 PR c/78165
206 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
207 suffix.
208gcc/testsuite/ChangeLog:
209
5aef8938 2102016-12-07 Martin Sebor <msebor@redhat.com>
211
212 PR c/53562
213 PR middle-end/77784
214 PR middle-end/78149
215 PR middle-end/78138
216 * c.opt (-Wstringop-overflow): New option.
217
47c3d0de 2182016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
219
220 * c-attribs.c (asan odr indicator): New attribute.
221 (handle_asan_odr_indicator_attribute): New function.
222
c932c990 2232016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
224
225 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
226 ptrdiff_type_node;
227
c39beb8a 2282016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
229
230 * c-common.c (excess_precision_mode_join): New.
231 (c_ts18661_flt_eval_method): New.
232 (c_c11_flt_eval_method): Likewise.
233 (c_flt_eval_method): Likewise.
234 * c-common.h (excess_precision_mode_join): New.
235 (c_flt_eval_method): Likewise.
236 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
237 (cpp_iec_559_value): Call it.
238 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
239 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
240 __FLT_EVAL_METHOD_TS_18661_3__.
241
a998ac00 2422016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
243
244 * c-opts.c (c_common_post_options): Add logic to handle the default
245 case for -fpermitted-flt-eval-methods.
246
6e47b422 2472016-11-23 Paolo Bonzini <bonzini@gnu.org>
248
249 * c.opt (Wexpansion-to-defined): New.
250
0d65cc6c 2512016-11-23 Jakub Jelinek <jakub@redhat.com>
252
253 PR target/78451
254 * c-pragma.c (handle_pragma_target): Don't replace
255 current_target_pragma, but chainon the new args to the current one.
256
ff6497a3 2572016-11-22 Nathan Sidwell <nathan@acm.org>
258
259 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
bacc5324 260 indentation and formatting.
ff6497a3 261
13341287 2622016-11-21 Martin Sebor <msebor@redhat.com>
263
264 * c.opt (-fprintf-return-value): Enable by default.
265
f1b3e1c9 2662016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
267
268 PR c++/71973
269 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
270 * c-common.c (c_common_nodes_and_builtins): Initialize
271 const_tm_ptr_type_node.
272
6c1f90ee 2732016-11-16 Marek Polacek <polacek@redhat.com>
274
275 PR c/78285
276 * c-common.c (c_add_case_label): Turn error_at calls into inform.
277
a49621cf 2782016-11-14 Jakub Jelinek <jakub@redhat.com>
279
280 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
281
b1f04d34 2822016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
a49621cf 283 Richard Biener <rguenther@suse.de>
284
285 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
286 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
287 * c.opt (fgimple): New option.
b1f04d34 288
9b8f3aa1 2892016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
290
291 PR c/35503
292 * c-common.h (warn_for_restrict): Declare.
293 * c-warn.c: Include gcc-rich-location.h.
294 (warn_for_restrict): New function.
295 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
296 (gcc_cdiag_char_table): Likewise.
297 (gcc_cxxdiag_char_table): Likewise.
298 * c.opt (Wrestrict): New option.
299
7907d43b 3002016-11-13 Eric Botcazou <ebotcazou@adacore.com>
301
302 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
303 for nested types only if the type is a record or union and dump SLOC.
304
b1363399 3052016-11-09 Jason Merrill <jason@redhat.com>
306
307 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
308
58721d0c 3092016-11-09 Jakub Jelinek <jakub@redhat.com>
310
311 * c-ubsan.c (ubsan_instrument_shift): Handle split
312 -fsanitize=shift-base and -fsanitize=shift-exponent.
313
2e9e9363 3142016-11-07 Jason Merrill <jason@redhat.com>
315
316 * c.opt (Wc++1z-compat): New.
317 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
318
629b6abc 3192016-11-07 Martin Liska <mliska@suse.cz>
320
321 * c-warn.c (warn_for_unused_label): Save all labels used
322 in goto or in &label.
323
2f1c4c07 3242016-11-03 Jason Merrill <jason@redhat.com>
325
326 * c-cppbuiltin.c (c_cpp_builtins): Correct
327 __cpp_inheriting_constructors.
328
7896267d 3292016-11-01 Jason Merrill <jason@redhat.com>
330
02a9e65f 331 * c-cppbuiltin.c (c_cpp_builtins): Update
332 __cpp_inheriting_constructors.
333
7896267d 334 * c.opt (-fnew-inheriting-ctors): New.
335 * c-opts.c: Default to on for ABI 11+.
336
f6f44a1d 3372016-10-31 Jakub Jelinek <jakub@redhat.com>
338
339 PR c++/77948
340 * c.opt (fext-numeric-literals): Add Var and Init.
341 * c-opts.c (c_common_handle_option): Don't clear
342 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
343 (c_common_post_options): Clear it here if not set
344 explicitly.
345
d24c4079 3462016-10-28 Aldy Hernandez <aldyh@redhat.com>
347
348 PR debug/77773
349 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
350 if NULL.
351
6e1b2ffb 3522016-10-25 Jakub Jelinek <jakub@redhat.com>
353
354 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
355 * c-common.c (c_common_reswords): Add __builtin_launder.
356
5f64e688 3572016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
358
359 * c-common.c (c_common_truthvalue_conversion): Warn for
360 multiplications in boolean context. Fix the quoting of '<<' and '<'
361 in the shift warning.
362
3645e924 3632016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
364
365 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
366
146cbd63 3672016-10-20 Jason Merrill <jason@redhat.com>
368
369 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
370
5c2ba578 3712016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
372
373 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
374 integer shift ops in boolean context.
375
3762016-10-18 Aldy Hernandez <aldyh@redhat.com>
da6cf191 377
378 * c.opt (Walloca): New.
379 (Walloca-larger-than=): New.
380 (Wvla-larger-than=): New.
381
876d4bc9 3822016-10-17 Marek Polacek <polacek@redhat.com>
383
384 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
385 Return immediately when finding a match.
386 (warn_tautological_cmp): Remove a boolean variable that is no longer
387 needed.
388
b0c98c23 3892016-10-17 Marek Polacek <polacek@redhat.com>
390
391 * c-attribs.c: New file.
392 * c-common.c: Move attributes handling to c-attribs.c.
393 (get_nonnull_operand): No longer static.
394 * c-common.h: Move the declarations from c-attribs.c to its own section.
395
2ab6420c 3962016-10-14 Jason Merrill <jason@redhat.com>
397
398 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
399 and __cpp_deduction_guides.
400
81f19d90 4012016-10-13 Jason Merrill <jason@redhat.com>
402
403 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
404
ad7b10a2 4052016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
406
407 * c-cppbuiltin.c: Include memmodel.h.
408 * c-opts.c: Likewise.
409 * c-pragma.c: Likewise.
410 * c-warn.c: Likewise.
411
12663602 4122016-10-12 Jakub Jelinek <jakub@redhat.com>
413
414 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
415 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
416 * c-opts.c (sanitize_cpp_opts): Initialize
417 cpp_opts->cpp_warn_implicit_fallthrough.
418
424b2d7d 4192016-10-11 Marek Polacek <polacek@redhat.com>
420
421 * c-common.c (warning_candidate_p): Change the return type to bool
422 and return true/false instead of 1/0.
423 (vector_mode_valid_p): Likewise.
424
0f4cea33 4252016-10-11 Marek Polacek <polacek@redhat.com>
426
427 * c-common.c (fold_for_warn): No longer static.
428 (bool_promoted_to_int_p): Likewise.
429 (c_common_get_narrower): Likewise.
430 (constant_expression_warning): Move to c-warn.c.
431 (constant_expression_error): Likewise.
432 (overflow_warning): Likewise.
433 (warn_logical_operator): Likewise.
434 (find_array_ref_with_const_idx_r): Likewise.
435 (warn_tautological_cmp): Likewise.
436 (expr_has_boolean_operands_p): Likewise.
437 (warn_logical_not_parentheses): Likewise.
438 (warn_if_unused_value): Likewise.
439 (strict_aliasing_warning): Likewise.
440 (sizeof_pointer_memaccess_warning): Likewise.
441 (check_main_parameter_types): Likewise.
442 (conversion_warning): Likewise.
443 (warnings_for_convert_and_check): Likewise.
444 (match_case_to_enum_1): Likewise.
445 (match_case_to_enum): Likewise.
446 (c_do_switch_warnings): Likewise.
447 (warn_for_omitted_condop): Likewise.
448 (readonly_error): Likewise.
449 (lvalue_error): Likewise.
450 (invalid_indirection_error): Likewise.
451 (warn_array_subscript_with_type_char): Likewise.
452 (warn_about_parentheses): Likewise.
453 (warn_for_unused_label): Likewise.
454 (warn_for_div_by_zero): Likewise.
455 (warn_for_memset): Likewise.
456 (warn_for_sign_compare): Likewise.
457 (do_warn_double_promotion): Likewise.
458 (do_warn_unused_parameter): Likewise.
459 (record_locally_defined_typedef): Likewise.
460 (maybe_record_typedef_use): Likewise.
461 (maybe_warn_unused_local_typedefs): Likewise.
462 (maybe_warn_bool_compare): Likewise.
463 (maybe_warn_shift_overflow): Likewise.
464 (warn_duplicated_cond_add_or_warn): Likewise.
465 (diagnose_mismatched_attributes): Likewise.
466 * c-common.h: Move the declarations from c-warn.c to its own section.
467 * c-warn.c: New file.
468
7a7ca07c 4692016-10-08 Jason Merrill <jason@redhat.com>
470
471 * c-common.c (c_common_truthvalue_conversion): Don't distribute
472 into COND_EXPR in C++.
473
ad0c1dec 4742016-10-08 Jakub Jelinek <jakub@redhat.com>
475
476 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
477 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
478 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
479
cd45162d 4802016-10-07 Jakub Jelinek <jakub@redhat.com>
481
482 Implement LWG2296 helper intrinsic
483 * c-common.h (enum rid): Add RID_ADDRESSOF.
484 * c-common.c (c_common_reswords): Add __builtin_addressof.
485
0365bfa8 4862016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
487
488 PR c++/77700
489 * c-common.c (c_common_truthvalue_conversion): Warn also for
490 suspicious enum values in boolean context.
491
adeca879 4922016-10-06 Jakub Jelinek <jakub@redhat.com>
493
494 Implement P0258R2 - helper for C++17
495 std::has_unique_object_representations trait
496 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
497 * c-common.c (c_common_reswords): Add
498 __has_unique_object_representations.
499
c6958264 5002016-10-05 Jakub Jelinek <jakub@redhat.com>
501
502 PR sanitizer/66343
503 * c-ubsan.c (ubsan_instrument_return): Don't call
504 initialize_sanitizer_builtins here.
505
2b6903a5 5062016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
507
508 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
509 conditional expression in boolean context when only one arm is
510 non-boolean.
511
5c176ebe 5122016-10-05 Jakub Jelinek <jakub@redhat.com>
513
c7b01e77 514 PR sanitizer/77823
515 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
516 is not integral.
517
5c176ebe 518 * c-common.c (c_common_reswords): Update comment for C++11.
519
492ab670 5202016-10-04 Jason Merrill <jason@redhat.com>
521
522 * c-common.c (make_tree_vector_from_ctor): New.
523 * c-common.h: Declare it.
524
bc6b11a7 5252016-10-04 Jakub Jelinek <jakub@redhat.com>
526
527 * c-cppbuiltin.c (c_cpp_builtins): Don't define
528 __LIBGCC_JCR_SECTION_NAME__.
529
255beb07 5302016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
531
532 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
533 left shift in boolean context.
534
c5d89bae 5352016-09-29 Jakub Jelinek <jakub@redhat.com>
536
537 Implement P0001R1 - C++17 removal of register storage class specifier
538 * c.opt (Wregister): New warning.
539 * c-opts.c (c_common_post_options): Enable -Wregister by
540 default for C++17.
541
4267ed07 5422016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
543
544 * c-opts.c (c_common_post_options): Remove special case for
545 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
546 in C++.
547
0b72b025 5482016-09-27 Jakub Jelinek <jakub@redhat.com>
549
4fd4e9e0 550 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
551 -std=c++1z.
552
0b72b025 553 * c-ada-spec.c (print_ada_declaration): Remove break after return.
554
ea36272b 5552016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
556
557 * c-common.c: Include memmodel.h.
558
e997bd3a 5592016-09-26 Marek Polacek <polacek@redhat.com>
560
561 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
562
3c77f69c 5632016-09-26 Marek Polacek <polacek@redhat.com>
564
565 PR c/7652
566 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
567 (handle_fallthrough_attribute): New function.
568 (attribute_fallthrough_p): New function.
569 * c-common.h (attribute_fallthrough_p): Declare.
570
481ce481 5712016-09-24 Marek Polacek <polacek@redhat.com>
572
573 PR c/77490
574 * c.opt (Wbool-operation): New.
575
a5fe0b37 5762016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
577
578 * c-common.c (c_common_truthvalue_conversion): Inhibit
579 Wint-in-bool-context warning with from_macro_definition_at.
580 Mention the expression will always evaluate to true.
581
90f40f08 5822016-09-21 Martin Sebor <msebor@redhat.com>
583
584 PR bootstrap/77676
585 * c.opt (fprintf-return-value): Temporarily initialize to zero
586 to unblock bootstrap failures.
587
98aa0f57 5882016-09-21 Jakub Jelinek <jakub@redhat.com>
589
590 PR c++/77651
591 * c.opt (Waligned-new=): Add RejectNegative.
592 (faligned-new=): Likewise. Spelling fix - change
593 aligned_new_threshhold to aligned_new_threshold.
594 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
595 to aligned_new_threshold.
596
b9833bfd 5972016-09-20 Martin Sebor <msebor@redhat.com>
598
599 PR middle-end/49905
600 * c.opt: Add -Wformat-length and -fprintf-return-value.
601
bed03df1 6022016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
603
604 PR c++/77434
605 * c.opt (Wint-in-bool-context): New warning.
606 * c-common.c (c_common_truthvalue_conversion): Warn on integer
607 constants in boolean context.
608
9b5c49ef 6092016-09-19 Joseph Myers <joseph@codesourcery.com>
610
611 * c-common.c (max_align_t_align): Also consider alignment of
612 float128_type_node.
613
cc4b5c58 6142016-09-15 Jason Merrill <jason@redhat.com>
615
616 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
617 DECL_EXTERNAL.
618
ef45c4c0 6192016-09-14 Jason Merrill <jason@redhat.com>
620
621 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
622 limit FIELD_DECL, either.
623
b99cc6da 6242016-09-14 Marek Polacek <polacek@redhat.com>
625
626 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
627 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
628 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
629
68ef907c 6302016-09-13 David Malcolm <dmalcolm@redhat.com>
631
632 * c-common.c (warn_logical_not_parentheses): Replace
633 rich_location::add_fixit_insert calls with add_fixit_insert_before
634 and add_fixit_insert_after, eliminating the "next_loc" calculation.
635
2c24fd5e 6362016-09-13 Jason Merrill <jason@redhat.com>
637 Tom de Vries <tom@codesourcery.com>
638
639 PR c++/77427
640 * c-common.c (set_underlying_type): Don't treat array as builtin type.
641
005248bc 6422016-09-13 Jason Merrill <jason@redhat.com>
643
644 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
645 limit types at all.
646
0c893604 6472016-09-12 Jason Merrill <jason@redhat.com>
648
649 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
650 bit/byte confusion, allow large alignment for types.
651
7a21b590 6522016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
653
654 PR c++/77496
655 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
656
00434032 6572016-09-12 David Malcolm <dmalcolm@redhat.com>
658
659 PR c/72858
660 * c-format.c (argument_parser::check_argument_type): Add params
661 "type_start" and "conversion_char". Use the former to generate
662 offset_to_type_start and pass it and conversion_char to
663 check_format_types.
664 (check_format_info_main): Capture the start of the type
665 information as "type_start", and pass it an format_char
666 to arg_parser.check_argument_type.
667 (check_format_types): Provide an example in the leading comment.
668 Add params "offset_to_type_start" and "conversion_char"; pass
669 them to format_type_warning calls.
670 (test_get_modifier_for_format_len): Likewise.
671 (matching_type_p): New function.
672 (get_format_for_type): Add param "conversion_char" and move
673 implementation into...
674 (get_format_for_type_1): ...new function, called twice.
675 Use new function matching_type_p rather than checking for
676 TYPE_CANONICAL equality.
677 (get_corrected_substring): New function.
678 (format_type_warning): Provide an example in the leading comment.
679 Add params "offset_to_type_start" and "conversion_char". Replace
680 call to get_format_for_type with call to get_corrected_substring
681 and move rejection of hints for widths/precisions there.
682 (assert_format_for_type_streq): Add param "conversion_char".
683 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
684 (test_get_format_for_type_printf): Add conversion chars to the
685 tests, adding coverage for various combinations of integer
686 vs double conversions, and for preserving octal and hexadecimal
687 conversions.
688 (test_get_format_for_type_scanf): Add conversion chars to the
689 tests.
690
3bb45f76 6912016-09-10 Tom de Vries <tom@codesourcery.com>
692
693 PR C/71602
694 * c-common.c (build_va_arg): Handle more strict
695 targetm.canonical_va_list_type. Replace first argument type error with
696 assert.
697
911ea34a 6982016-09-09 Martin Sebor <msebor@redhat.com>
699
700 PR c/77520
701 PR c/77521
702 * c-format.c (argument_parser::find_format_char_info): Use %qc
703 format directive unconditionally.
704
db8ffb40 7052016-09-09 Jason Merrill <jason@redhat.com>
706
707 Implement C++17 new of over-aligned types.
708 * c.opt: Add -faligned-new and -Waligned-new.
709 * c-common.c (max_align_t_align): Split out from...
710 (cxx_fundamental_alignment_p): ...here.
711 * c-common.h: Declare it.
712 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
713
c5eddaf9 7142016-09-09 Joseph Myers <joseph@codesourcery.com>
715
716 * c-cppbuiltin.c (builtin_define_type_width): New function.
717 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
718 macros.
719
3da97ff7 7202016-09-07 David Malcolm <dmalcolm@redhat.com>
721
722 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
723 a POINTER_TYPE.
724 (substring_loc::get_location): Move to substring-locations.c,
725 keeping implementation as...
726 (c_get_substring_location): New function, from the above, reworked
727 to use accessors rather than member lookup.
728 * c-common.h (class substring_loc): Move to substring-locations.h,
729 replacing with a forward decl.
730 (c_get_substring_location): New decl.
731 * c-format.c: Include "substring-locations.h".
732 (format_warning_va): Move to substring-locations.c.
733 (format_warning_at_substring): Likewise.
734
f9b3f702 7352016-09-06 Martin Sebor <msebor@redhat.com>
736
737 PR c/77336
738 * c-format.c (check_function_format): Avoid issuing warnings for
739 functions unless they call format functions with non-constant
740 format strings.
741
4c04bcce 7422016-09-06 Richard Biener <rguenther@suse.de>
743
744 PR c/77450
745 * c-common.c (c_common_mark_addressable_vec): Handle
746 COMPOUND_LITERAL_EXPR.
747
8f8828ba 7482016-09-05 Marek Polacek <polacek@redhat.com>
749
750 PR c/77423
751 * c-common.c (bool_promoted_to_int_p): New function.
752 (expr_has_boolean_operands_p): New function.
753 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
754 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
755
8ff61e58 7562016-09-04 Tom de Vries <tom@codesourcery.com>
757
758 revert:
759 2016-08-29 Tom de Vries <tom@codesourcery.com>
760
761 * c-common.c (build_va_arg): Replace first argument type error
762 with assert.
763
0b80c4b2 7642016-09-02 Jakub Jelinek <jakub@redhat.com>
765
766 PR c/65467
767 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
768 (c_finish_omp_for): Reject _Atomic qualified iterators.
769
7702016-09-01 Martin Sebor <msebor@redhat.com>
b18dea91 771
772 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
773 size to guarantee it fits the output of the formatted function
774 regardless of its arguments.
775
c7afb782 7762016-09-01 Marek Polacek <polacek@redhat.com>
777
778 PR c/7652
779 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
780 FALLTHRU comments.
781
f293b7f2 7822016-08-29 Marek Polacek <polacek@redhat.com>
783
784 PR c/77292
785 * c-common.c (warn_logical_not_parentheses): Don't warn for
786 a comparison or a logical operator.
787
839e4d28 7882016-08-29 Tom de Vries <tom@codesourcery.com>
789
790 * c-common.c (build_va_arg): Fix type comparison assert.
791
0acb92b8 7922016-08-29 Tom de Vries <tom@codesourcery.com>
793
794 * c-common.c (build_va_arg): Replace first argument type error
795 with assert.
796
ea2ec8f6 7972016-08-29 Tom de Vries <tom@codesourcery.com>
798
799 PR c/77398
800 * c-common.c (build_va_arg): Add first argument error. Build va_arg
801 with error_mark_node as va_list instead of with illegal va_list.
802
c4963714 8032016-08-25 Marek Polacek <polacek@redhat.com>
804 David Malcolm <dmalcolm@redhat.com>
805
806 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
807 * c-common.h (warn_logical_not_parentheses): Update declaration.
808
364743f3 8092016-08-22 Marek Polacek <polacek@redhat.com>
810
811 PR c++/77321
812 * c-common.c (warn_for_memset): Check type for null.
813
012f068a 8142016-08-22 Joseph Myers <joseph@codesourcery.com>
815
816 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
817 _FloatNx types for suffixes for built-in functions.
818
82c85aba 8192016-08-19 Joseph Myers <joseph@codesourcery.com>
820
821 PR c/32187
822 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
823 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
824 (RID_FLOAT128X): New enum rid values.
825 (CASE_RID_FLOATN_NX): New macro.
826 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
827 keywords.
828 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
829 corresponding complex types.
830 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
831 _FloatNx and corresponding complex types.
832 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
833 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
834 and _FloatNx types for the widest type for determining
835 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
836 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
837 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
838 and _FloatNx types.
839 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
840 constants.
841 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
842 _FloatNx types.
843
48a7392b 8442016-08-18 David Malcolm <dmalcolm@redhat.com>
845
846 * c-opts.c (c_diagnostic_finalizer): Update for change to
847 diagnostic_show_locus.
848
5c8151fa 8492016-08-18 David Malcolm <dmalcolm@redhat.com>
850
851 * c-common.c: Include "spellcheck.h".
852 (cb_get_suggestion): New function.
853 * c-common.h (cb_get_suggestion): New decl.
854 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
855 cb_get_suggestion.
856
26040f06 8572016-08-18 Marek Polacek <polacek@redhat.com>
858
859 PR c/71514
860 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
861 and pointer-to-VLA.
862
5927e78e 8632016-08-16 David Malcolm <dmalcolm@redhat.com>
864
865 PR c/72857
866 * c-common.c (substring_loc::get_range): Rename to...
867 (substring_loc::get_location): ...this, converting param from a
868 source_range * to a location_t *. Call
869 get_source_location_for_substring rather than
870 get_source_range_for_substring, and pass in m_caret_idx.
871 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
872 (substring_loc::get_range): Replace with...
873 (substring_loc::get_location): ...this.
874 (substring_loc::set_caret_index): New method.
875 (substring_loc): Add field m_caret_idx.
876 * c-format.c (format_warning_va): Update for above changes.
877 Rename local "substring_loc" to "fmt_substring_loc" to avoid
878 clashing with type name.
879 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
880 (check_argument_type): Likewise.
881 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
882 Use a copy when emitting warnings, setting the caret index from TYPE.
883
6ce66d38 8842016-08-16 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 885 Arnaud Charlet <charlet@adacore.com>
6ce66d38 886
887 * c-ada-spec.c (dump_number): New function.
888 (handle_escape_character): Likewise.
889 (print_ada_macros): Add handling of constant integers and strings.
890
e3533433 8912016-08-12 Marek Polacek <polacek@redhat.com>
892
893 PR c/7652
894 * c-common.c (scalar_to_vector): Adjust fall through comment.
895 * c-opts.c (c_common_handle_option): Likewise.
896 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
897 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
898 fall through comment.
899 * cilk.c (extract_free_variables): Add FALLTHRU.
900
0f463aec 9012016-08-10 Jason Merrill <jason@redhat.com>
902
903 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
904
80488e20 9052016-08-09 Jason Merrill <jason@redhat.com>
906
907 * c-common.c (c_common_attribute_table): vector_size affects type
908 identity.
909
a319e7f4 9102016-08-09 Marek Polacek <polacek@redhat.com>
911
912 PR c/7652
913 * c-ada-spec.c (dump_generic_ada_node): Add return.
914
33603066 9152016-08-09 Jason Merrill <jason@redhat.com>
916
917 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
918 C++17 constexpr lambdas.
919
7af4d06b 9202016-08-08 David Malcolm <dmalcolm@redhat.com>
921
922 PR c/64955
923 * c-common.h (selftest::c_format_c_tests): New declaration.
924 (selftest::run_c_tests): New declaration.
925 * c-format.c: Include "selftest.h.
926 (format_warning_va): Add param "corrected_substring" and use
927 it to add a replacement fix-it hint.
928 (format_warning_at_substring): Likewise.
929 (format_warning_at_char): Update for new param of
930 format_warning_va.
931 (argument_parser::check_argument_type): Pass "fki" to
932 check_format_types.
933 (check_format_types): Add param "fki" and pass it to
934 format_type_warning.
935 (deref_n_times): New function.
936 (get_modifier_for_format_len): New function.
937 (selftest::test_get_modifier_for_format_len): New function.
938 (get_format_for_type): New function.
939 (format_type_warning): Add param "fki" and use it to attempt
940 to provide hints for argument types when calling
941 format_warning_at_substring.
942 (selftest::get_info): New function.
943 (selftest::assert_format_for_type_streq): New function.
944 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
945 (selftest::test_get_format_for_type_printf): New function.
946 (selftest::test_get_format_for_type_scanf): New function.
947 (selftest::c_format_c_tests): New function.
948
d189b094 9492016-08-08 David Malcolm <dmalcolm@redhat.com>
950
951 PR c/52952
952 * c-format.c: Include "diagnostic.h".
953 (location_column_from_byte_offset): Delete.
954 (location_from_offset): Delete.
955 (format_warning_va): New function.
956 (format_warning_at_substring): New function.
957 (format_warning_at_char): New function.
958 (check_format_arg): Capture location of format_tree and pass to
959 check_format_info_main.
960 (argument_parser): Add fields "start_of_this_format" and
961 "format_string_cst".
962 (flag_chars_t::validate): Add param "format_string_cst". Convert
963 warning_at call using location_from_offset to call to
964 format_warning_at_char.
965 (argument_parser::argument_parser): Add param "format_string_cst_"
966 and use use it to initialize field "format_string_cst".
967 Initialize new field "start_of_this_format".
968 (argument_parser::read_format_flags): Convert warning_at call
969 using location_from_offset to a call to format_warning_at_char.
970 (argument_parser::read_any_format_left_precision): Likewise.
971 (argument_parser::read_any_format_precision): Likewise.
972 (argument_parser::read_any_other_modifier): Likewise.
973 (argument_parser::find_format_char_info): Likewise, in three places.
974 (argument_parser::parse_any_scan_set): Likewise, in one place.
975 (argument_parser::handle_conversions): Likewise, in two places.
976 (argument_parser::check_argument_type): Add param "fmt_param_loc"
977 and use it to make a substring_loc. Pass the latter to
978 check_format_types.
979 (check_format_info_main): Add params "fmt_param_loc" and
980 "format_string_cst". Convert warning_at calls using
981 location_from_offset to calls to format_warning_at_char. Pass the
982 new params to the arg_parser ctor. Pass "format_string_cst" to
983 flag_chars.validate. Pass "fmt_param_loc" to
984 arg_parser.check_argument_type.
985 (check_format_types): Convert first param from a location_t
986 to a const substring_loc & and rename to "fmt_loc". Attempt
987 to extract the range of the relevant parameter and pass it
988 to format_type_warning.
989 (format_type_warning): Convert first param from a location_t
990 to a const substring_loc & and rename to "fmt_loc". Add
991 params "param_range" and "type". Replace calls to warning_at
992 with calls to format_warning_at_substring.
993
0dae5fef 9942016-08-08 David Malcolm <dmalcolm@redhat.com>
995
996 * c-format.c (class flag_chars_t): New class.
997 (struct length_modifier): New struct.
998 (class argument_parser): New class.
999 (flag_chars_t::flag_chars_t): New ctor.
1000 (flag_chars_t::has_char_p): New method.
1001 (flag_chars_t::add_char): New method.
1002 (flag_chars_t::validate): New method.
1003 (flag_chars_t::get_alloc_flag): New method.
1004 (flag_chars_t::assignment_suppression_p): New method.
1005 (argument_parser::argument_parser): New ctor.
1006 (argument_parser::read_any_dollar): New method.
1007 (argument_parser::read_format_flags): New method.
1008 (argument_parser::read_any_format_width): New method.
1009 (argument_parser::read_any_format_left_precision): New method.
1010 (argument_parser::read_any_format_precision): New method.
1011 (argument_parser::handle_alloc_chars): New method.
1012 (argument_parser::read_any_length_modifier): New method.
1013 (argument_parser::read_any_other_modifier): New method.
1014 (argument_parser::find_format_char_info): New method.
1015 (argument_parser::validate_flag_pairs): New method.
1016 (argument_parser::give_y2k_warnings): New method.
1017 (argument_parser::parse_any_scan_set): New method.
1018 (argument_parser::handle_conversions): New method.
1019 (argument_parser::check_argument_type): New method.
1020 (check_format_info_main): Introduce classes argument_parser
1021 and flag_chars_t, moving the code within the loop into methods
1022 of these classes. Make various locals "const".
1023
d4166bdc 10242016-08-05 David Malcolm <dmalcolm@redhat.com>
1025
1026 * c-common.c: Include "substring-locations.h".
1027 (get_cpp_ttype_from_string_type): New function.
1028 (g_string_concat_db): New global.
1029 (substring_loc::get_range): New method.
1030 * c-common.h (g_string_concat_db): New declaration.
1031 (class substring_loc): New class.
1032 * c-lex.c (lex_string): When concatenating strings, capture the
1033 locations of all tokens using a new obstack, and record the
1034 concatenation locations within g_string_concat_db.
1035 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1036 on the ggc-heap.
1037
7648c9c7 10382016-07-29 Marek Polacek <polacek@redhat.com>
1039
8ae70602 1040 PR c/71926
1041 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1042 parentheses warning.
1043
7648c9c7 1044 PR c/71574
1045 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1046
595e387a 10472016-07-28 Martin Liska <mliska@suse.cz>
1048
1049 PR gcov-profile/68025
1050 * c-common.c (handle_no_profile_instrument_function_attribute):
1051
296103aa 10522016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1053
1054 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1055 BITS_PER_UNIT_LOG.
1056
21483ab7 10572016-07-25 Jason Merrill <jason@redhat.com>
1058
1059 PR c++/65970
1060 * c.opt (fconstexpr-loop-limit): New.
1061
0b80c4b2 10622016-07-22 Martin Sebor <msebor@redhat.com>
efa8e86e 1063
1064 PR c++/71675
1065 * c-common.c (resolve_overloaded_builtin): Avoid converting
1066 __atomic_compare_exchange_n return type to that of what its
1067 first argument points to.
1068
59c1507a 10692016-07-22 Uros Bizjak <ubizjak@gmail.com>
1070
1071 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1072 ~(unsigned HOST_WIDE_INT) 0.
1073
45648efe 10742016-07-22 Martin Liska <mliska@suse.cz>
1075
1076 PR gcov-profile/69028
1077 PR gcov-profile/62047
1078 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1079 to the current_function_decl.
1080
0c0f63cb 10812016-07-21 Jason Merrill <jason@redhat.com>
1082
1083 PR c++/65168
1084 * c-common.c (c_common_truthvalue_conversion): Check
1085 c_inhibit_evaluation_warnings for warning about address of
1086 reference.
1087
d208f6e6 10882016-07-20 David Malcolm <dmalcolm@redhat.com>
1089
1090 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1091 const char *.
1092
0238e35e 10932016-07-15 Jason Merrill <jason@redhat.com>
1094
1095 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1096
0dd7db3b 10972016-07-15 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR c/71858
1100 * c-common.h (enum lookup_name_fuzzy_kind): Add
1101 FUZZY_LOOKUP_FUNCTION_NAME.
1102
e59cff35 11032016-07-08 Jason Merrill <jason@redhat.com>
1104
1105 P0145: Refining Expression Order for C++.
1106 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1107 * c-opts.c: Adjust.
1108
faee03ad 11092016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1110
1111 PR c++/71214
1112 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1113
a4dd89cb 11142016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1115
1116 * c-pragma.h (enum pragma_kind): Rename
1117 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1118 users.
1119
b6a4a0f5 11202016-06-29 Richard Biener <rguenther@suse.de>
1121
1122 PR middle-end/71002
1123 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1124
176aa551 11252016-06-24 Jason Merrill <jason@redhat.com>
1126
1127 P0145R2: Refining Expression Order for C++.
1128 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1129 MODIFY_EXPR.
1130
77104764 11312016-06-24 Jakub Jelinek <jakub@redhat.com>
1132
1133 * c-common.c (check_builtin_function_arguments): Require last
1134 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1135 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1136 if the last argument is pointer to enumerated or boolean type.
1137
8469aece 11382016-06-22 David Malcolm <dmalcolm@redhat.com>
1139
1140 PR c/70339
1141 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1142 (lookup_name_fuzzy): New prototype.
1143
bd08c370 11442016-06-21 John David Anglin <danglin@gcc.gnu.org>
1145
1146 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1147
06c75b9a 11482016-06-14 Jason Merrill <jason@redhat.com>
1149
1150 P0145R2: Refining Expression Order for C++.
1151 * c.opt (fargs-in-order): New.
1152 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1153
9720103d 11542016-06-13 Jakub Jelinek <jakub@redhat.com>
1155
12cb8367 1156 PR sanitizer/71498
1157 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1158 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1159
9720103d 1160 PR preprocessor/71183
1161 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1162 to cb_get_source_date_epoch.
1163
8ec29807 11642016-06-10 Jakub Jelinek <jakub@redhat.com>
1165
1166 PR c/68657
1167 * c.opt (Wpsabi): Add Warning flag.
1168
1dc4d519 11692016-06-10 Martin Sebor <msebor@redhat.com>
1170
1171 PR c/71392
1172 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1173 the nonnull attribute in type-generic builtins.
1174
23b101c5 11752016-06-09 Martin Sebor <msebor@redhat.com>
1176
1177 PR c/70883
1178 * c-common.c (builtin_function_validate_nargs): Make text of error
1179 message consistent with others like it.
1180
732905bb 11812016-06-08 Martin Sebor <msebor@redhat.com>
1182 Jakub Jelinek <jakub@redhat.com>
1183
1184 PR c++/70507
1185 PR c/68120
1186 * c-common.c (check_builtin_function_arguments): Handle
1187 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1188
86a5f91c 11892016-06-08 Richard Biener <rguenther@suse.de>
1190
1191 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1192
b032c4dd 11932016-06-07 Richard Biener <rguenther@suse.de>
1194
1195 PR c/61564
1196 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1197 options and warn about others.
1198
dfa5c0d3 11992016-06-01 Eduard Sanou <dhole@openmailbox.org>
1200
1201 * c-common.c (get_source_date_epoch): Rename to
1202 cb_get_source_date_epoch.
1203 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1204 message when the parsing fails. Use error_at instead of fatal_error.
1205 * c-common.h (get_source_date_epoch): Rename to
1206 cb_get_source_date_epoch.
1207 * c-common.h (cb_get_source_date_epoch): Prototype.
1208 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1209 * c-common.h (c_omp_region_type): Remove trailing comma.
1210 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1211 * c-lex.c (c_lex_with_flags): Remove initialization of
1212 pfile->source_date_epoch.
1213
b6431756 12142016-05-30 Jakub Jelinek <jakub@redhat.com>
1215
1216 PR c++/71349
1217 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1218 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1219 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1220 instead of C_OMP_CLAUSE_SPLIT_FOR.
1221
7345b977 12222016-05-24 Richard Biener <rguenther@suse.de>
1223
1224 PR middle-end/70434
1225 PR c/69504
1226 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1227 (convert_vector_to_array_for_subscript): ... this.
1228 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1229 VIEW_CONVERT_EXPR to an array type. Rename to ...
1230 (convert_vector_to_array_for_subscript): ... this.
1231
22a3f7bd 12322016-05-12 Marek Polacek <polacek@redhat.com>
1233
1234 PR c/70756
1235 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1236 size_in_bytes and pass LOC to it.
1237
54c4d22e 12382016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1239
1240 PR c/43651
1241 * c.opt (Wduplicate-decl-specifier): New option.
1242
7f8012a5 12432016-05-11 Marek Polacek <polacek@redhat.com>
1244
1245 PR c++/71024
1246 * c-common.c (diagnose_mismatched_attributes): New function.
1247 * c-common.h (diagnose_mismatched_attributes): Declare.
1248
1d52c456 12492016-05-04 Marek Polacek <polacek@redhat.com>
1250
1251 * c.opt (Wdangling-else): New option.
1252
5d4db8ef 12532016-05-03 Marek Polacek <polacek@redhat.com>
1254
1255 PR c/70859
1256 * c-common.c (builtin_function_validate_nargs): Add location
1257 parameter. Use it.
1258 (check_builtin_function_arguments): Add location and arguments
1259 parameters. Use them.
1260 * c-common.h (check_builtin_function_arguments): Update declaration.
1261
9ae1b28a 12622016-05-03 Richard Biener <rguenther@suse.de>
1263
1264 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1265 allow call args to gimplify to SSA names.
1266
4341e093 12672016-05-03 Marek Polacek <polacek@redhat.com>
1268
1269 * c-common.h (enum c_omp_region_type): Remove stray comma.
1270
b5e88f74 12712016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1272
1273 * c-common.h (enum c_omp_region_type): Define.
1274
ee31dd3d 12752016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1276
1277 * c-common.c (shorten_compare): Use wi::to_wide.
1278
4d0a8bac 12792016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1280
1281 PR middle-end/70626
1282 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1283 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1284 reduction clauses in acc parallel loops.
1285
025dd1e0 12862016-04-29 Marek Polacek <polacek@redhat.com>
1287
1288 PR c/70852
1289 * c-common.c (warn_for_memset): Check domain before accessing it.
1290
eb16928e 12912016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1292
1293 PR/69089
1294 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1295 "aligned" attribute.
1296
ddd2a3d4 12972016-04-28 Jason Merrill <jason@redhat.com>
1298
1299 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1300
e3e8c48c 13012016-04-28 Eduard Sanou <dhole@openmailbox.org>
1302 Matthias Klose <doko@debian.org>
1303
1304 * c-common.c (get_source_date_epoch): New function, gets the environment
1305 variable SOURCE_DATE_EPOCH and parses it as long long with error
1306 handling.
1307 * c-common.h (get_source_date_epoch): Prototype.
1308 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1309
605a4556 13102015-04-27 Ryan Burn <contact@rnburn.com>
1311
1312 PR c++/69024
1313 PR c++/68997
1314 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1315 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1316 external linkage.
1317 (cilk_detect_and_unwrap): Corresponding changes.
1318 (extract_free_variables): Don't extract free variables from
1319 AGGR_INIT_EXPR slot.
1320 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1321 (cilk_recognize_spawn): Likewise.
1322
40385231 13232016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1324
1325 * c.opt (Wmemset-elt-size): New option.
1326 * c-common.c (warn_for_memset): New function.
1327 * c-common.h (warn_for_memset): Declare.
1328
f5d49c14 13292016-04-25 Jason Merrill <jason@redhat.com>
1330
1331 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1332 No longer static.
1333 * c-common.h: Declare it.
1334 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1335
9c980ab5 13362016-04-22 Jason Merrill <jason@redhat.com>
1337
1338 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1339
70574e60 13402016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1341
1342 PR c++/69363
1343 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1344 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1345
5d4b30ea 13462016-04-18 Michael Matz <matz@suse.de>
1347
1348 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1349 and SET_DECL_ALIGN.
1350
021ad2f3 13512016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1352
1353 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1354 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1355 to incomplete types.
1356 (dump_nested_type): Remove redundant tests and tidy up.
1357 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1358 a type which is the typedef of an original type.
1359
926f9422 13602016-04-15 Marek Polacek <polacek@redhat.com>
1361
1362 PR c/70651
1363 * c-common.c (build_va_arg): Change two asserts into errors and return
1364 error_mark_node.
1365
92c53257 13662016-04-13 Marek Polacek <polacek@redhat.com>
1367
1368 PR c++/70639
1369 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1370 for switch statements, too.
1371
a3ae889f 13722016-03-28 Jason Merrill <jason@redhat.com>
1373
1374 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1375
62d2a6dc 13762016-03-23 Marek Polacek <polacek@redhat.com>
1377
1378 PR c++/69884
1379 * c.opt (Wignored-attributes): New option.
1380
4baec9f2 13812016-03-22 David Malcolm <dmalcolm@redhat.com>
1382
1383 PR c/69993
1384 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1385 diagnostic text, reversing the order of the warning and note so
1386 that they appear in source order.
1387
92e7ab1e 13882016-03-17 Marek Polacek <polacek@redhat.com>
1389
1390 PR c/69407
1391 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1392 operations.
1393
6f895832 13942016-03-14 Jason Merrill <jason@redhat.com>
1395
14c36b14 1396 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1397
6f895832 1398 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1399
42bb3bfb 14002016-03-09 Richard Biener <rguenther@suse.de>
1401
1402 PR c/70143
1403 * c-common.c (strict_aliasing_warning): Add back
1404 alias_sets_conflict_p check.
1405
3556aa80 14062016-03-08 Jason Merrill <jason@redhat.com>
1407
1408 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1409
0060768a 14102016-03-04 David Malcolm <dmalcolm@redhat.com>
1411
1412 PR c/68187
1413 * c-indentation.c (get_visual_column): Move code to determine next
1414 tab stop to...
1415 (next_tab_stop): ...this new function.
1416 (line_contains_hash_if): Delete function.
1417 (detect_preprocessor_logic): Delete function.
1418 (get_first_nws_vis_column): New function.
1419 (detect_intervening_unindent): New function.
1420 (should_warn_for_misleading_indentation): Replace call to
1421 detect_preprocessor_logic with a call to
1422 detect_intervening_unindent.
1423
74c6fd40 14242016-03-04 David Malcolm <dmalcolm@redhat.com>
1425
1426 PR c/68187
1427 * c-indentation.c (should_warn_for_misleading_indentation): When
1428 suppressing warnings about cases where the guard and body are on
1429 the same column, only use the first non-whitespace column in place
1430 of the guard token column when dealing with "else" clauses.
1431 When rejecting aligned BODY and NEXT, loosen the requirement
1432 from equality with the first non-whitespace of guard to simply
1433 that they not be indented relative to it.
1434
e692d332 14352016-03-04 Richard Biener <rguenther@suse.de>
1436
1437 PR c++/70054
1438 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1439 instead of alias_sets_conflict_p.
1440
12cc1225 14412016-03-01 Marek Polacek <polacek@redhat.com>
1442
1443 PR c++/69795
1444 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1445 any DECL.
1446
8c38d887 14472016-02-22 Martin Sebor <msebor@redhat.com>
1448
1449 PR middle-end/69780
1450 * c-common.c (check_builtin_function_arguments): Validate and
1451 reject invalid arguments to __builtin_alloca_with_align.
1452
e53f41d5 14532016-02-20 Mark Wielaard <mjw@redhat.com>
1454
1455 PR c/28901
1456 * c.opt (Wunused-const-variable): Turn into Alias for...
1457 (Wunused-const-variable=): New option.
1458
9cce8384 14592016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1460
1461 PR c++/69865
1462 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1463 here...
1464 (c_common_init_options): ...to here.
1465 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1466
563d5cb8 14672016-02-19 Jakub Jelinek <jakub@redhat.com>
1468
1469 PR c++/69826
1470 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1471 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1472 flag_preprocess_only.
1473
7675e968 14742016-02-16 Jakub Jelinek <jakub@redhat.com>
1475
1476 PR c/69835
1477 * c.opt (Wnonnull-compare): Enable for -Wall.
1478
77454e6e 14792016-02-15 Jakub Jelinek <jakub@redhat.com>
1480
1481 PR c++/69797
1482 * c-common.c (sync_resolve_size): Diagnose too few arguments
1483 even when params is non-NULL empty vector.
1484
600695e0 14852016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1486
1487 PR target/60410
1488 * c.opt (fshort-double): Remove.
1489
a7cc1f94 14902016-02-05 Martin Sebor <msebor@redhat.com>
1491
1492 PR c++/69662
1493 * c.opt (Warning options): Update -Wplacement-new to take
1494 an optional argument.
1495
6f13b088 14962016-02-01 Jakub Jelinek <jakub@redhat.com>
1497
1498 PR preprocessor/69543
1499 PR c/69558
1500 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1501 instead of loc to control_warning_option.
1502
948eee2f 15032016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1504
1505 * c.opt (fopenacc-dim=): New option.
1506
5fa82c11 15072016-01-27 Ryan Burn <contact@rnburn.com>
1508
1509 PR cilkplus/69267
1510 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1511 gimplify_arg. Removed superfluous post_p argument.
1512 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1513 superfluous post_p argument.
1514 * c-gimplify.c (c_gimplify_expr): Likewise.
1515
3752e5b1 15162016-01-26 David Malcolm <dmalcolm@redhat.com>
1517
1518 PR other/69006
1519 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1520 pp_newline_and_flush with pp_flush.
1521
bbbbe8ab 15222016-01-20 Martin Sebor <msebor@redhat.com>
1523
1524 PR c/69405
1525 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1526 an incompatible argument when the argument isn't a valid tree node.
1527
f6dfb86a 15282016-01-18 Jason Merrill <jason@redhat.com>
1529
1530 PR c++/68767
1531 * c-common.c (check_function_arguments_recurse): Fold the whole
1532 COND_EXPR, not just the condition.
1533
f672c103 15342016-01-18 Tom de Vries <tom@codesourcery.com>
1535
1536 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1537 classify as loop clause.
1538
c8ef893c 15392016-01-15 Jakub Jelinek <jakub@redhat.com>
1540
1541 PR bootstrap/68271
1542 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1543 C++ FE no longer has limit on number of pragmas.
1544
15452015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 1546
1547 PR c++/69048
1548 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 1549 to add missing cleanup point.
7d600da5 1550
a7ed4583 15512016-01-14 David Malcolm <dmalcolm@redhat.com>
1552
1553 PR c++/68819
1554 * c-indentation.c (get_visual_column): Add location_t param.
1555 Handle the column number being zero by effectively disabling the
1556 warning, with an "inform".
1557 (should_warn_for_misleading_indentation): Add location_t argument
1558 for all uses of get_visual_column.
1559
b933e511 15602016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1561
1562 PR c++/69029
1563 * c-indentation.c (should_warn_for_misleading_indentation):
1564 Don't warn about do-while statements.
1565
517906ff 15662016-01-07 Martin Sebor <msebor@redhat.com>
1567
1568 PR c/68966
1569 * c-common.c (sync_resolve_size): Reject first argument when it's
1570 a pointer to _Bool.
1571
d42aa619 15722016-01-05 David Malcolm <dmalcolm@redhat.com>
1573
1574 PR c/69122
1575 * c-indentation.c (get_visual_column): Remove default argument.
1576 (should_warn_for_misleading_indentation): For the multiline case,
1577 update call to get_visual_column for next_stmt_exploc so that it
1578 captures the location of the first non-whitespace character in the
1579 relevant line. Don't issue warnings if there is non-whitespace
1580 before the next statement.
1581
f1717362 15822016-01-04 Jakub Jelinek <jakub@redhat.com>
1583
1584 Update copyright years.
1585
c0bf500c 15862015-12-21 David Malcolm <dmalcolm@redhat.com>
1587
1588 * c-common.c (binary_op_error): Convert first param from
1589 location_t to rich_location * and use it when emitting an error.
1590 * c-common.h (binary_op_error): Convert first param from
1591 location_t to rich_location *.
1592
dbd79382 15932015-12-16 David Malcolm <dmalcolm@redhat.com>
1594
1595 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1596 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1597
c0998828 15982015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1599
1600 * c-common.c (c_common_attribute_table): Handle "omp declare target
1601 link" attribute.
1602
7ca909c6 16032015-12-14 Jakub Jelinek <jakub@redhat.com>
1604
1605 PR c/68833
1606 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1607
d9102cbe 16082014-12-12 Tobias Burnus <burnus@net-b.de>
1609
1610 PR fortran/68815
1611 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1612 specifiers (%d, %i,%u and %c).
1613
a515ebdf 16142015-12-10 David Malcolm <dmalcolm@redhat.com>
1615
1616 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1617
31ba81bd 16182015-12-08 Jakub Jelinek <jakub@redhat.com>
1619
1620 PR c/48088
1621 PR c/68657
1622 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1623 * c-pragma.c (handle_pragma_diagnostic): Adjust
1624 control_warning_option caller.
1625
d0f713f4 16262015-12-07 David Malcolm <dmalcolm@redhat.com>
1627
1628 * c-common.c (c_cpp_error): Update for change to
1629 rich_location::set_range.
1630
32d050b5 16312015-12-04 Paolo Bonzini <bonzini@gnu.org>
1632
1633 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1634 shifting 1 out of the sign bit.
1635
16362015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1637
1638 * c-common.c (c_common_attribute_table[]): Update max arguments
1639 count for "simd" attribute.
1640 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1641
6a8fbd7a 16422015-12-03 Jakub Jelinek <jakub@redhat.com>
1643
1644 PR preprocessor/57580
1645 * c-ppoutput.c (print): Change printed field to bool.
1646 Move src_file last for smaller padding.
1647 (init_pp_output): Set print.printed to false instead of 0.
1648 (scan_translation_unit): Fix up formatting. Set print.printed
1649 to true after printing something other than newline.
1650 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1651 (maybe_print_line_1): Set print.printed to false instead of 0.
1652 (print_line_1): Likewise.
1653 (do_line_change): Set print.printed to true instead of 1.
1654 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1655 dump_macro): Set print.printed to false after printing newline.
1656
da562e32 16572015-12-02 Jason Merrill <jason@redhat.com>
1658
9c691dbd 1659 * c-common.c (fold_for_warn): New.
1660 (warn_logical_operator, warn_tautological_cmp)
1661 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1662
da562e32 1663 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1664 (c_fully_fold_internal, decl_constant_value_for_optimization):
1665 Move to c/c-fold.c.
1666 * c-common.h: Don't declare decl_constant_value_for_optimization.
1667
89f16034 16682015-12-02 Joseph Myers <joseph@codesourcery.com>
1669
1670 PR c/68162
1671 * c-common.h (c_build_qualified_type): Add extra default
1672 arguments.
1673
571b3486 16742015-12-01 Julian Brown <julian@codesourcery.com>
1675 Cesar Philippidis <cesar@codesourcery.com>
1676 James Norris <James_Norris@mentor.com>
1677
1678 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1679 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1680 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1681
ed92a461 16822015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1683
1684 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1685 (decl_sloc_common): Delete and move bulk of processing to...
1686 (decl_sloc): ...here.
1687 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1688 (dump_ada_double_name): Remove S parameter and compute the suffix.
1689 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1690 element type and deal with an anonymous one.
1691 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1692 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1693 and remove reference to QUAL_UNION_TYPE.
1694 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1695 (dump_nested_type): ...here. New function extracted from above.
1696 Generate a full declaration for anonymous element type of arrays.
1697 (print_ada_declaration): Really skip anonymous declarations. Remove
1698 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1699 Clean up processing of declarations of array types and objects.
1700 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1701 Remove obsolete code and tidy up.
1702
c25b3e3f 17032015-11-29 Jan Hubicka <hubicka@ucw.cz>
1704
1705 PR c/67581
1706 * c-common.c (handle_transparent_union_attribute): Update
1707 also type variants.
1708
d4e328e9 17092015-11-27 Martin Liska <mliska@suse.cz>
1710
1711 PR c++/68312
1712 * array-notation-common.c (cilkplus_extract_an_triplets):
1713 Release vector of vectors.
1714 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1715
f63d9c4e 17162015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1717
1718 PR c++/68527
1719 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1720 (print_ada_struct_decl): Likewise.
1721
8d63c601 17222015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1723
1724 PR c++/68001
1725 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1726 * cilk.c (recognize_spawn): Determine location in a more precise
1727 way.
1728
01f11119 17292015-11-19 Jason Merrill <jason@redhat.com>
1730
1731 * c-common.c (shorten_compare): But look through macros from
1732 system headers.
1733
2d3d3af7 17342015-11-18 Jason Merrill <jason@redhat.com>
1735
1736 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1737 non-constant operand comes from a macro.
1738
7991eeee 17392015-11-17 Jason Merrill <jason@redhat.com>
1740
1741 PR bootstrap/68346
1742 * c-common.c (warn_tautological_cmp): Fold before checking for
1743 constants.
1744
73f67931 17452015-11-16 Marek Polacek <polacek@redhat.com>
1746
1747 PR c++/68362
1748 * c-common.c (check_case_bounds): Fold low and high cases.
1749
8e539fdc 17502015-11-16 Marek Polacek <polacek@redhat.com>
1751
1752 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1753 * c-common.c (c_common_get_alias_set): Likewise.
1754 (handle_visibility_attribute): Likewise.
1755
c58a4cfd 17562015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1757
1758 * c-common.c (handle_simd_attribute): New.
1759 (struct attribute_spec): Add entry for "simd".
1760 (handle_simd_attribute): New.
1761
bb036391 17622015-11-13 Kai Tietz <ktietz70@googlemail.com>
1763
1764 * c-lex.c (interpret_float): Use fold_convert.
1765
a96cefb2 17662015-11-13 David Malcolm <dmalcolm@redhat.com>
1767
1768 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1769 and store it on the result.
1770 * c-opts.c (c_common_init_options): Set
1771 global_dc->colorize_source_p.
1772
2fc5e987 17732015-11-12 James Norris <jnorris@codesourcery.com>
1774 Joseph Myers <joseph@codesourcery.com>
1775
1776 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1777 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1778 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1779 PRAGMA_OACC_CLAUSE_LINK.
1780
81b1b2a8 17812015-11-11 Marek Polacek <polacek@redhat.com>
1782
1783 PR c/68107
1784 PR c++/68266
1785 * c-common.c (valid_array_size_p): New function.
1786 * c-common.h (valid_array_size_p): Declare.
1787
92a44a68 17882015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
4f3707ca 1789
1790 PR bootstrap/68271
1791 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1792
6e803544 17932015-11-11 Andrew MacLeod <amacleod@redhat.com>
1794
1795 * array-notation-common.c: Remove unused header files.
1796 * c-ada-spec.c: Likewise.
1797 * c-cilkplus.c: Likewise.
1798 * c-common.c: Likewise.
1799 * c-cppbuiltin.c: Likewise.
1800 * c-dump.c: Likewise.
1801 * c-format.c: Likewise.
1802 * c-gimplify.c: Likewise.
1803 * c-indentation.c: Likewise.
1804 * c-lex.c: Likewise.
1805 * c-omp.c: Likewise.
1806 * c-opts.c: Likewise.
1807 * c-pch.c: Likewise.
1808 * c-ppoutput.c: Likewise.
1809 * c-pragma.c: Likewise.
1810 * c-pretty-print.c: Likewise.
1811 * c-semantics.c: Likewise.
1812 * c-ubsan.c: Likewise.
1813 * cilk.c: Likewise.
1814 * stub-objc.c: Likewise.
1815
a1b7fe4b 18162015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1817 Cesar Philippidis <cesar@codesourcery.com>
1818 James Norris <jnorris@codesourcery.com>
1819 Julian Brown <julian@codesourcery.com>
1820 Nathan Sidwell <nathan@codesourcery.com>
1821
1822 * c-pragma.c (oacc_pragmas): Add "routine".
1823 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1824
292237f3 18252015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1826
1827 * c-common.c (c_common_attributes): Add scalar_storage_order.
1828 (handle_scalar_storage_order_attribute): New function.
1829 * c-pragma.c (global_sso): New variable.
1830 (maybe_apply_pragma_scalar_storage_order): New function.
1831 (handle_pragma_scalar_storage_order): Likewise.
1832 (init_pragma): Register scalar_storage_order.
1833 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1834 * c.opt (Wscalar-storage-order): New warning.
1835 (fsso-struct=): New option.
1836
b4a4c5fa 18372015-11-08 Martin Sebor <msebor@redhat.com>
1838
1839 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1840
ac677063 18412015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1842
1843 * c-common.c: Don't undef DEF_BUILTIN.
1844
f0479000 18452015-11-06 David Malcolm <dmalcolm@redhat.com>
1846
1847 * c-common.c (c_cpp_error): Convert parameter from location_t to
1848 rich_location *. Eliminate the "column_override" parameter and
1849 the call to diagnostic_override_column.
1850 Update the "done_lexing" clause to set range 0
1851 on the rich_location, rather than overwriting a location_t.
1852 * c-common.h (c_cpp_error): Convert parameter from location_t to
1853 rich_location *. Eliminate the "column_override" parameter.
1854
ef014f95 18552015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1856 Thomas Schwinge <thomas@codesourcery.com>
1857 James Norris <jnorris@codesourcery.com>
1858
1859 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1860 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1861 clauses with parallel and kernels and loops.
1862 * c-pragma.h (enum pragma_omp_clause): Add entries for
1863 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1864 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1865 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1866 INDEPENDENT,SEQ}.
1867 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1868
e520488c 18692015-11-05 Martin Sebor <msebor@redhat.com>
1870
1871 PR c++/67942
1872 * c.opt (-Wplacement-new): New option.
1873
9561765e 18742015-11-05 Jakub Jelinek <jakub@redhat.com>
1875
1876 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1877 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1878 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1879 save_expr or create_tmp_var* if TEST is true.
1880 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1881 Don't call add_stmt here.
1882 (struct c_omp_check_loop_iv_data): New type.
1883 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1884 c_omp_check_loop_iv_exprs): New functions.
1885 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1886 distribute.
1887 (c_omp_declare_simd_clauses_to_numbers): Change
1888 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1889 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1890 from numbers to PARM_DECLs.
1891
5e8689fb 18922015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1893
1894 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1895 flag_checking.
1896
92a44a68 18972015-11-03 Bernd Schmidt <bschmidt@redhat.com>
aeaccb75 1898
1899 PR c++-common/67882
32d050b5 1900 * c-common.h (fold_offsetof_1): Add argument.
1901 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 1902 offsetof expressions that reference elements past the end of
1903 an array.
1904
9e10bfb7 19052015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1906 Chung-Lin Tang <cltang@codesourcery.com>
1907
1908 * c-pragma.c (oacc_pragmas): Add "atomic".
1909 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1910
ab50af2a 19112015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1912
1913 * c-common.c (handle_target_clones_attribute): New.
1914 (c_common_attribute_table): Add handle_target_clones_attribute.
1915 (handle_always_inline_attribute): Add check on target_clones attribute.
1916 (handle_target_attribute): Ditto.
1917
4cba6f60 19182015-10-29 Andrew MacLeod <amacleod@redhat.com>
1919
1920 * array-notation-common.c: Reorder #include's and remove duplicates.
1921 * c-ada-spec.c: Likewise.
1922 * c-cilkplus.c: Likewise.
1923 * c-common.c: Likewise.
1924 * c-cppbuiltin.c: Likewise.
1925 * c-dump.c: Likewise.
1926 * c-format.c: Likewise.
1927 * c-gimplify.c: Likewise.
1928 * c-indentation.c: Likewise.
1929 * c-lex.c: Likewise.
1930 * c-omp.c: Likewise.
1931 * c-opts.c: Likewise.
1932 * c-pch.c: Likewise.
1933 * c-ppoutput.c: Likewise.
1934 * c-pragma.c: Likewise.
1935 * c-pretty-print.c: Likewise.
1936 * c-semantics.c: Likewise.
1937 * c-ubsan.c: Likewise.
1938 * cilk.c: Likewise.
1939 * stub-objc.c: Likewise.
1940
f576a2e4 19412015-10-28 Jason Merrill <jason@redhat.com>
1942
1943 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
1944
2c4c8725 19452015-10-27 Thomas Schwinge <thomas@codesourcery.com>
1946 James Norris <jnorris@codesourcery.com>
1947 Cesar Philippidis <cesar@codesourcery.com>
1948
1949 PR c/64765
1950 PR c/64880
1951 * c-common.h (c_oacc_split_loop_clauses): Declare function.
1952 * c-omp.c (c_oacc_split_loop_clauses): New function.
1953
8204c077 19542015-10-21 Martin Sebor <msebor@redhat.com>
1955
1956 PR driver/68043
1957 * c.opt: End each sentence that describes an option with a period.
1958
8523243e 19592015-10-20 Marek Polacek <polacek@redhat.com>
1960
1961 * array-notation-common.c (is_cilkplus_vector_p): Define.
1962 * c-common.h (is_cilkplus_vector_p): Declare.
1963
08881cb8 19642015-10-20 Marek Polacek <polacek@redhat.com>
1965
1966 * c.opt (std=gnu++11): Do not describe as experimental.
1967 (std=gnu++14): Likewise.
1968
a36e5e5e 19692015-10-19 Jason Merrill <jason@redhat.com>
1970
1971 * c-cppbuiltin.c (c_cpp_builtins): Define
1972 __cpp_nontype_template_args.
1973
a349de0a 19742015-10-19 Jason Merrill <jason@redhat.com>
1975
1976 * c-cppbuiltin.c (c_cpp_builtins): Define
1977 __cpp_enumerator_attributes, __cpp_fold_expressions,
1978 __cpp_unicode_characters.
1979
43895be5 19802015-10-13 Jakub Jelinek <jakub@redhat.com>
1981 Aldy Hernandez <aldyh@redhat.com>
1982
1983 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
1984 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
1985 (c_define_builtins): Likewise.
1986 * c-common.h (enum c_omp_clause_split): Add
1987 C_OMP_CLAUSE_SPLIT_TASKLOOP.
1988 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
1989 (c_finish_omp_for): Add ORIG_DECLV argument.
1990 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
1991 201511 instead of 201307.
1992 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
1993 OMP_CRITICAL_CLAUSES to it.
1994 (c_finish_omp_ordered): Add CLAUSES argument, set
1995 OMP_ORDERED_CLAUSES to it.
1996 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
1997 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
1998 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
1999 constructs and new OpenMP 4.5 clauses. Clear
2000 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2001 verification code.
2002 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2003 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2004 (enum pragma_omp_clause): Add
2005 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2006 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2007
20cb53c9 20082015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2009
2010 * c-lex.c (interpret_float): Use real_equal instead of
2011 REAL_VALUES_EQUAL.
2012
6d02e6b2 20132015-10-04 Jason Merrill <jason@redhat.com>
2014
2015 Implement N4514, C++ Extensions for Transactional Memory.
2016 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2017 (c_common_attribute_table): Add transaction_safe_dynamic.
2018 transaction_safe now affects type identity.
2019 (handle_tm_attribute): Handle transaction_safe_dynamic.
2020 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2021 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2022 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2023 (D_TRANSMEM): New.
2024 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2025 * c-pretty-print.c (pp_c_attributes_display): Don't print
2026 transaction_safe in C++.
2027
c0999a5d 20282015-10-02 Marek Polacek <polacek@redhat.com>
2029
2030 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2031
ef17a71a 20322015-10-02 Marek Polacek <polacek@redhat.com>
2033
2034 PR c/64249
2035 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2036 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2037 * c.opt (Wduplicated-cond): New option.
2038
05b84e7b 20392015-10-01 Joseph Myers <joseph@codesourcery.com>
2040
2041 * c.opt (std=c11): Do not describe as experimental.
2042 (std=gnu11): Likewise.
2043 (std=iso9899:2011): Likewise.
2044
e561d5e1 20452015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2046
2047 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2048 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2049
bd4b90d2 20502015-09-25 Marek Polacek <polacek@redhat.com>
2051
2052 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2053 (ubsan_instrument_shift): Likewise.
2054
ac13b2b2 20552015-09-25 Marek Polacek <polacek@redhat.com>
2056
2057 PR sanitizer/64906
2058 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2059
a3c82f4c 20602015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2061
2062 * c-indentation.c (should_warn_for_misleading_indentation):
2063 Compare next_stmt_vis_column with guard_line_first_nws instead
2064 of with guard_line_vis_column.
2065
5eef101d 20662015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2067
2068 PR c/49654
2069 PR c/49655
2070 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2071 options and options not valid for the current language.
2072
60897493 20732015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2074
2075 * c-indentation.c (should_warn_for_misleading_indentation):
2076 Float out and consolidate the calls to get_visual_column that
2077 are passed guard_exploc as an argument. Compare
2078 next_stmt_vis_column with guard_line_first_nws instead of with
2079 body_line_first_nws.
2080
85c93154 20812015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2082
2083 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2084 Wnamespaces): New C++ warnings.
2085
229a58b1 20862015-09-22 Jason Merrill <jason@redhat.com>
2087
2088 * c-common.h (abi_compat_version_crosses): New.
2089 (warn_abi_version): Declare.
2090 * c-common.c: Define it.
2091 * c-opts.c (c_common_post_options): Handle it.
2092 flag_abi_compat_version defaults to 8.
2093
2d2de569 20942015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2095
2096 Complete the implementation of N4230, Nested namespace definition.
2097 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2098 __cpp_nested_namespace_definitions.
2099
2b897e68 21002015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2101
2102 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2103
ed536208 21042015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2105
2106 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2107 when warning.
2108 * c-pragma.h (pragma_lex): Add optional loc argument.
2109
1dc6c44d 21102015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2111
2112 * c-format.c (check_format_arg): Adjust to use common block size in all
2113 object pools.
2114
be812248 21152015-09-15 David Malcolm <dmalcolm@redhat.com>
2116
2117 * c-format.c (location_from_offset): Update for change in
2118 signature of location_get_source_line.
2119 * c-indentation.c (get_visual_column): Likewise.
2120 (line_contains_hash_if): Likewise.
2121
e4cc057f 21222015-09-14 Marek Polacek <polacek@redhat.com>
2123
2124 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2125 setting various warnings.
2126
85f5e2ee 21272015-09-14 Marek Polacek <polacek@redhat.com>
2128
2129 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2130 a negative value.
2131
1bca8cbd 21322015-09-11 Mark Wielaard <mjw@redhat.com>
2133
2134 PR c/28901
2135 * c.opt (Wunused-variable): Option from common.opt.
2136 (Wunused-const-variable): New option.
2137
ee48893a 21382015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2139
2140 PR c++/53184
2141 * c.opt ([Wsubobject-linkage]): Add.
2142
547c6b1f 21432015-09-03 Martin Sebor <msebor@redhat.com>
2144
2145 PR c/66516
2146 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2147 functions.
2148 * c-common.c (reject_gcc_builtin): Define.
2149
7e976b10 21502015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2151
2152 PR middle-end/60586
2153 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2154 prototype.
2155 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2156 cilk_gimplify_call_params_in_spawned_fn.
2157 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2158 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2159 unwrapping.
2160
9e6bcade 21612015-08-25 Marek Polacek <polacek@redhat.com>
2162
2163 PR middle-end/67330
2164 * c-common.c (handle_weak_attribute): Don't check whether the
2165 visibility can be changed here.
2166
af9de21d 21672015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2168
2169 * c-lex.c (c_lex_with_flags): Use explicit locations.
2170
6dc50383 21712015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2172
2173 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2174 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2175
10902624 21762015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2177
2178 PR middle-end/36757
2179 * c-common.c (check_builtin_function_arguments): Add check
2180 for BUILT_IN_SIGNBIT argument.
2181
a03a71ab 21822015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2183
2184 PR c++/67160
2185 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2186 in c++1z mode.
2187
22723c26 21882015-08-17 Marek Polacek <polacek@redhat.com>
2189
2190 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2191 with whitespaces before qualifier names.
2192
f4809955 21932015-08-12 Marek Polacek <polacek@redhat.com>
2194
2195 PR c++/55095
2196 * c-common.c (maybe_warn_shift_overflow): Properly handle
2197 left-shifting 1 into the sign bit.
2198
5463f502 21992015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2200
2201 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2202
56c12fd4 22032015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2204 Braden Obrzut <admin@maniacsvault.net>
2205 Jason Merrill <jason@redhat.com>
2206
2207 Add C++ Concepts TS support.
2208 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2209 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2210 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2211 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2212 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2213 * c.opt (fconcepts): New.
2214
32d050b5 22152015-08-02 Martin Sebor <msebor@redhat.com>
2216
2217 * c.opt (-Wframe-address): New warning option.
2218
17afcef6 22192015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2220
2221 * c-indentation.c (should_warn_for_misleading_indentation):
2222 Improve heuristics.
2223
f95bfdd4 22242015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2225
2226 * c-indentation.c (get_visual_column): Add parameter first_nws,
2227 use it. Update comment documenting the function.
2228 (is_first_nonwhitespace_on_line): Remove.
2229 (should_warn_for_misleading_indentation): Replace usage of
2230 of is_first_nonwhitespace_on_line with get_visual_column.
2231
9255be07 22322015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2233
2234 * c-indentation.h (struct token_indent_info): Define.
2235 (get_token_indent_info): Define.
2236 (warn_for_misleading_information): Declare.
2237 * c-common.h (warn_for_misleading_information): Remove.
2238 * c-identation.c (warn_for_misleading_indentation):
2239 Change declaration to take three token_indent_infos. Adjust
2240 accordingly.
2241 * c-identation.c (should_warn_for_misleading_indentation):
2242 Likewise. Bail out early if the body is a compound statement.
2243 (guard_tinfo_to_string): Define.
2244
e880695c 22452015-07-30 Jason Merrill <jason@redhat.com>
2246
2247 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2248 '*' for reference decay.
2249
f58dd84b 22502015-07-30 Marek Polacek <polacek@redhat.com>
2251
2252 * c-common.c (warn_tautological_cmp): Bail for float types.
2253
d9e4fe27 22542015-07-27 Marek Polacek <polacek@redhat.com>
2255
2256 PR bootstrap/67030
2257 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2258
6784a472 22592015-07-27 Marek Polacek <polacek@redhat.com>
2260
2261 PR c++/66555
2262 PR c/54979
2263 * c-common.c (find_array_ref_with_const_idx_r): New function.
2264 (warn_tautological_cmp): New function.
2265 * c-common.h (warn_tautological_cmp): Declare.
2266 * c.opt (Wtautological-compare): New option.
2267
08034975 22682015-07-23 Marek Polacek <polacek@redhat.com>
2269
2270 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2271 (ubsan_instrument_shift): Likewise.
2272
f6f5e49b 22732015-07-23 Marek Polacek <polacek@redhat.com>
2274
2275 PR sanitizer/66908
2276 * c-ubsan.c: Include gimplify.h.
2277 (ubsan_instrument_division): Unshare OP0 and OP1.
2278 (ubsan_instrument_shift): Likewise.
2279
8d669e79 22802015-07-20 Marek Polacek <polacek@redhat.com>
2281 Richard Sandiford <richard.sandiford@arm.com>
2282
2283 PR c++/55095
2284 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2285 Use EXPR_LOC_OR_LOC.
2286 (maybe_warn_shift_overflow): New function.
2287 * c-common.h (maybe_warn_shift_overflow): Declare.
2288 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2289 * c.opt (Wshift-overflow): New option.
2290
e16712b1 22912015-07-16 Martin Liska <mliska@suse.cz>
2292
2293 * c-format.c (static void check_format_info_main): Use
2294 object_allocator instead of pool_allocator.
2295 (check_format_arg): Likewise.
2296 (check_format_info_main): Likewise.
2297
e51764ad 22982015-07-15 Andrew MacLeod <amacleod@redhat.com>
2299
2300 * c-opts.c: Remove multiline #include comment.
2301
47ae02b7 23022015-07-12 Aldy Hernandez <aldyh@redhat.com>
2303
2304 * c-common.c: Fix double word typos.
2305
ed2b2eb2 23062015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2307
2308 * c-ada-spec.h (cpp_operation): Revert latest change.
2309 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2310 constructors and destructors.
2311
1eacc14a 23122015-07-09 Andrew MacLeod <amacleod@redhat.com>
2313
2314 * c-common.h: Adjust includes for flags.h changes.
2315 * stub-objc.c: Likewise.
47ae02b7 2316
0124237f 23172015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2318
2319 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2320 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2321
386ef929 23222015-07-08 Jakub Jelinek <jakub@redhat.com>
2323
2324 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2325 are to be removed, return NULL rather than original clauses list.
2326
9ef16211 23272015-07-07 Andrew MacLeod <amacleod@redhat.com>
2328
2329 * array-notation-common.c: Adjust includes.
2330 * c-ada-spec.c: Likewise.
2331 * c-cilkplus.c: Likewise.
2332 * c-common.h: Likewise.
2333 * c-cppbuiltin.c: Likewise.
2334 * c-dump.c: Likewise.
2335 * c-format.c: Likewise.
2336 * c-gimplify.c: Likewise.
2337 * c-indentation.c: Likewise.
2338 * c-lex.c: Likewise.
2339 * c-omp.c: Likewise.
2340 * c-opts.c: Likewise.
2341 * c-pch.c: Likewise.
2342 * c-ppoutput.c: Likewise.
2343 * c-pragma.c: Likewise.
2344 * c-pretty-print.c: Likewise.
2345 * c-semantics.c: Likewise.
2346 * c-ubsan.c: Likewise.
2347 * cilk.c: Likewise.
2348 * stub-objc.c: Likewise.
2349
67ede3e4 23502015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2351
2352 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2353 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2354
42af8c2a 23552015-07-01 Jason Merrill <jason@redhat.com>
2356
fa769cc5 2357 * c-common.h (D_CXX11): Rename from D_CXX0X.
2358 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2359 * c-common.c: Adjust.
2360
97e9c847 2361 * c-opts.c (c_common_post_options): Default to C++14.
2362
42af8c2a 2363 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2364
30b1ba42 23652015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2366
2367 Implement N4197 - Adding u8 character literals
32d050b5 2368 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 2369 CPP_CHAR.
32d050b5 2370 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 2371 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 2372 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 2373 and CPP_UTF8CHAR tokens.
2374 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 2375
0949f227 23762015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2377
2378 PR fortran/66605
2379 * c-common.c (do_warn_unused_parameter): Move here.
2380 * c-common.h (do_warn_unused_parameter): Declare.
2381
be23b16f 23822015-06-29 Marek Polacek <polacek@redhat.com>
2383
2384 PR c/66322
2385 * c-common.c (check_case_bounds): Add bool * parameter. Set
2386 OUTSIDE_RANGE_P.
2387 (c_add_case_label): Add bool * parameter. Pass it down to
2388 check_case_bounds.
2389 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2390 warning here.
2391 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2392 declarations.
2393
6290f0db 23942015-06-27 Marek Polacek <polacek@redhat.com>
2395
2396 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2397 or VECTOR_INTEGER_TYPE_P throughout.
2398 * c-gimplify.c: Likewise.
2399
aa3e402e 24002015-06-26 Marek Polacek <polacek@redhat.com>
2401
2402 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2403 * c-common.c (c_fully_fold_internal): Likewise.
2404 (c_alignof_expr): Likewise.
2405 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2406 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 2407 * cilk.c (create_parm_list): Likewise.
aa3e402e 2408
4e81b384 24092015-06-26 Marek Polacek <polacek@redhat.com>
2410
2411 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2412
ec2e0095 24132015-06-25 Andrew MacLeod <amacleod@redhat.com>
2414
2415 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2416 * c-gimplify.c: Likewise.
2417 * c-pragma.c: Likewise.
2418 * c-ubsan.c: Likewise.
2419 * cilk.c: Likewise.
2420
b594087e 24212015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2422
2423 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2424 ggc_hasher.
2425
a3c76fda 24262015-06-25 Andrew MacLeod <amacleod@redhat.com>
2427
2428 * cilk.c: Move calls.h after tm.h in the include chain.
2429
f48c7f4a 24302015-06-25 Marek Polacek <polacek@redhat.com>
2431
2432 * array-notation-common.c: Use VAR_P throughout.
2433 * c-ada-spec.c: Likewise.
2434 * c-common.c: Likewise.
2435 * c-format.c: Likewise.
2436 * c-gimplify.c: Likewise.
2437 * c-omp.c: Likewise.
2438 * c-pragma.c: Likewise.
2439 * c-pretty-print.c: Likewise.
2440 * cilk.c: Likewise.
2441
ce41e81a 24422015-06-25 Marek Polacek <polacek@redhat.com>
2443
2444 * cilk.c (extract_free_variables): Use is_global_var.
2445
de231ec2 24462015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2447
2448 * c-common.c: Don't include target-def.h.
2449
0200602e 24502015-06-23 Marek Polacek <polacek@redhat.com>
2451
2452 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2453 when comparing INTEGER_CSTs.
2454
99838ed7 24552015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2456
2457 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2458 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2459 (dump_ada_template): Skip partially specialized types.
2460
a4f59596 24612015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2462
2463 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2464 swapping.
2465
f2ab3bac 24662015-06-17 Andrew MacLeod <amacleod@redhat.com>
2467
2468 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2469 * c-ada-spec.c: Likewise.
2470 * c-cilkplus.c: Likewise.
2471 * c-common.c: Likewise.
2472 * c-common.h: Likewise.
2473 * c-cppbuiltin.c: Likewise.
2474 * c-dump.c: Likewise.
2475 * c-format.c: Likewise.
2476 * c-gimplify.c: Likewise.
2477 * c-indentation.c: Likewise.
2478 * c-lex.c: Likewise.
2479 * c-omp.c: Likewise.
2480 * c-opts.c: Likewise.
2481 * c-pch.c: Likewise.
2482 * c-ppoutput.c: Likewise.
2483 * c-pragma.c: Likewise.
2484 * c-pretty-print.c: Likewise.
2485 * c-semantics.c: Likewise.
2486 * c-ubsan.c: Likewise.
2487 * cilk.c: Likewise.
2488 * stub-objc.c: Likewise.
2489
db3d1ffc 24902015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2491
2492 PR c++/65168
2493 * c-common.c (c_common_truthvalue_conversion): Warn when
2494 converting an address of a reference to a truth value.
2495
64486212 24962015-06-08 Andrew MacLeod <amacleod@redhat.com>
2497
2498 * array-notation-common.c : Adjust include files.
2499 * c-ada-spec.c : Likewise.
2500 * c-cilkplus.c : Likewise.
2501 * c-common.c : Likewise.
2502 * c-common.h : Likewise.
2503 * c-cppbuiltin.c : Likewise.
2504 * c-dump.c : Likewise.
2505 * c-format.c : Likewise.
2506 * c-gimplify.c : Likewise.
2507 * c-indentation.c : Likewise.
2508 * c-lex.c : Likewise.
2509 * c-omp.c : Likewise.
2510 * c-opts.c : Likewise.
2511 * c-pch.c : Likewise.
2512 * c-ppoutput.c : Likewise.
2513 * c-pragma.c : Likewise.
2514 * c-pretty-print.c : Likewise.
2515 * c-semantics.c : Likewise.
2516 * c-ubsan.c : Likewise.
2517 * cilk.c : Likewise.
2518 * stub-objc.c : Likewise.
2519
6e84ccad 25202015-06-08 Marek Polacek <polacek@redhat.com>
2521
2522 PR c/66415
2523 * c-format.c (location_from_offset): Return LOC if LINE is null.
2524
3a1c9df2 25252015-06-05 Aldy Hernandez <aldyh@redhat.com>
2526
2527 * c-common.h (c_parse_final_cleanups): New prototype.
2528 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2529
32d050b5 25302015-06-04 Sriraman Tallam <tmsriram@google.com>
2531
2532 * c-common.c (noplt): New attribute.
2533 (handle_noplt_attribute): New handler.
2534
f77c0292 25352015-06-04 Andrew MacLeod <amacleod@redhat.com>
2536
2537 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2538 * c-ada-spec.c: Likewise.
2539 * c-cilkplus.c: Likewise.
2540 * c-common.c: Likewise.
2541 * c-common.h: Likewise.
2542 * c-cppbuiltin.c: Likewise.
2543 * c-dump.c: Likewise.
2544 * c-format.c: Likewise.
2545 * c-gimplify.c: Likewise.
2546 * c-indentation.c: Likewise.
2547 * c-lex.c: Likewise.
2548 * c-omp.c: Likewise.
2549 * c-opts.c: Likewise.
2550 * c-pch.c: Likewise.
2551 * c-ppoutput.c: Likewise.
2552 * c-pragma.c: Likewise.
2553 * c-pretty-print.c: Likewise.
2554 * c-semantics.c: Likewise.
2555 * c-ubsan.c: Likewise.
2556 * cilk.c: Likewise.
2557 * stub-objc.c: Likewise.
2558
7c62dfbb 25592015-06-02 David Malcolm <dmalcolm@redhat.com>
2560
2561 PR c/66220:
2562 * c-indentation.c (should_warn_for_misleading_indentation): Use
2563 expand_location rather than expand_location_to_spelling_point.
2564 Don't warn if the guarding statement is more indented than the
2565 next/body stmts.
2566
9af7c176 25672015-06-02 David Malcolm <dmalcolm@redhat.com>
2568
2569 * c-indentation.c (warn_for_misleading_indentation): Bail out
2570 immediately if -Wmisleading-indentation isn't enabled.
2571
eebcf436 25722015-06-01 Martin Liska <mliska@suse.cz>
2573
2574 * c-format.c (check_format_arg):Use new type-based pool allocator.
2575 (check_format_info_main) Likewise.
2576
b0a23e2f 25772015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2578
2579 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2580 (has_nontrivial_methods): Likewise.
2581
63dc1330 25822015-05-25 Marek Polacek <polacek@redhat.com>
2583
2584 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2585
5a4c69dd 25862015-05-22 Marek Polacek <polacek@redhat.com>
2587
2588 PR c/47043
2589 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2590
044580bb 25912015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 2592
2593 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2594 STACK_GROWS_DOWNWARD.
2595
044580bb 25962015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 2597
2598 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2599 STACK_GROWS_DOWNWARD rather than if it is defined.
2600
d5a2ddc7 26012015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 2602
d5a2ddc7 2603 PR c/52952
2604 * c-format.c (location_column_from_byte_offset): New.
2605 (location_from_offset): New.
2606 (struct format_wanted_type): Add offset_loc field.
2607 (check_format_info): Move handling of location for extra arguments
2608 closer to the point of warning.
2609 (check_format_info_main): Pass the result of location_from_offset
2610 to warning_at.
2611 (format_type_warning): Pass the result of location_from_offset
2612 to warning_at.
2613
72f8014e 26142015-05-20 Marek Polacek <polacek@redhat.com>
2615
2616 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2617
74efe522 26182015-05-20 Marek Polacek <polacek@redhat.com>
2619
2620 * c-ada-spec.c (dump_sloc): Use DECL_P.
2621
b443c459 26222015-05-20 Marek Polacek <polacek@redhat.com>
2623
2624 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2625 * c-common.c: Likewise.
2626
551e34da 26272015-05-19 David Malcolm <dmalcolm@redhat.com>
2628
2629 * c-common.h (fe_file_change): Strengthen param from
2630 const line_map * to const line_map_ordinary *.
2631 (pp_file_change): Likewise.
2632 * c-lex.c (fe_file_change): Likewise.
2633 (cb_define): Use linemap_check_ordinary when invoking
2634 SOURCE_LINE.
2635 (cb_undef): Likewise.
2636 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2637 invoking cb_file_change.
2638 (c_finish_options): Likewise.
2639 (push_command_line_include): Likewise.
2640 (cb_file_change): Strengthen param "new_map" from
2641 const line_map * to const line_map_ordinary *.
2642 * c-ppoutput.c (cb_define): Likewise for local "map".
2643 (pp_file_change): Likewise for param "map" and local "from".
2644
dfcf26a5 26452015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2646
2647 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2648
2e474820 26492015-05-18 Tom de Vries <tom@codesourcery.com>
2650
2651 * c-common.c (build_va_arg_1): New function.
2652 (build_va_arg): Add address operator to va_list operand if necessary.
2653
e53013a8 26542015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2655
2656 PR c/48956
2657 * c-common.c (int_safely_convertible_to_real_p): Define.
2658 (unsafe_conversion_p): Check conversions involving complex types.
2659 (conversion_warning): Add new warning message for conversions which
2660 discard imaginary component.
2661 * c-common.h: (enum conversion_safety): Add new enumerator for such
2662 conversions.
2663
aac24642 26642015-05-14 Marek Polacek <polacek@redhat.com>
2665
2666 PR c/66066
2667 PR c/66127
2668 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2669 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2670 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2671 use it. If FOR_INT_CONST, require that all evaluated operands be
2672 INTEGER_CSTs.
2673
e5f01cba 26742015-05-12 David Malcolm <dmalcolm@redhat.com>
2675
2676 * c-common.h (warn_for_misleading_indentation): New prototype.
2677 * c-indentation.c: New file.
2678 * c.opt (Wmisleading-indentation): New option.
2679
c37be9ec 26802015-05-12 Tom de Vries <tom@codesourcery.com>
2681
2682 PR tree-optimization/66010
2683 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2684
7290114b 26852015-05-09 Jason Merrill <jason@redhat.com>
2686
3c665566 2687 * c-opts.c (c_common_post_options): Also clear
2688 cpp_opts->cpp_warn_cxx11_compat.
2689
d875b9d2 2690 * c-common.h (enum cxx_dialect): Add cxx_unset.
2691 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2692 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2693
7290114b 2694 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2695 (std=gnu++0x): Mark as Undocumented.
2696 (std=gnu++1y): Add deprecated message.
2697
1b03cc89 26982015-05-08 Jason Merrill <jason@redhat.com>
2699
1c5f7aba 2700 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2701 * c-opts.c: Adjust.
2702
1b03cc89 2703 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2704
dc5945dc 27052015-05-08 Marek Polacek <polacek@redhat.com>
2706
2707 PR c/64918
2708 * c.opt (Woverride-init-side-effects): New option.
2709
cdc64059 27102015-05-07 Marek Polacek <polacek@redhat.com>
2711
2712 PR c/65179
2713 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2714 negative value.
2715 * c.opt (Wshift-negative-value): New option.
2716 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2717 when -Wextra and C99/C++11 mode.
2718
8cafe283 27192015-05-07 Marek Polacek <polacek@redhat.com>
2720 Martin Uecker <uecker@eecs.berkeley.edu>
2721
2722 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2723 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2724
cb40a6f7 27252015-05-05 Jason Merrill <jason@redhat.com>
2726
2727 * c.opt (Wterminate): New.
2728
14744a16 27292015-04-30 Marek Polacek <polacek@redhat.com>
2730
2731 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2732 require that the non-constant be of a boolean type.
2733
9866562d 27342015-04-29 Josh Triplett <josh@joshtriplett.org>
2735
8cafe283 2736 * c-common.c (handle_section_attribute): Refactor to reduce
2737 nesting and distinguish between error cases.
9866562d 2738
a720ab1c 27392015-04-29 Marek Polacek <polacek@redhat.com>
2740
2741 PR c/64610
2742 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2743 with 0/1.
2744
8c072e52 27452015-04-29 Jakub Jelinek <jakub@redhat.com>
2746
2747 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2748 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2749 HOST_BITS_PER_WIDE_INT.
2750
f7fec1c7 27512015-04-28 Tom de Vries <tom@codesourcery.com>
2752
2753 PR tree-optimization/65887
2754 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2755
483b3d26 27562015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 2757 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 2758
2759 * c-ada-spec.c (in_function): Delete.
2760 (dump_generic_ada_node): Do not change in_function and remove the
2761 redundant code dealing with it.
2762 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2763 (print_ada_methods): Output the static member functions in a nested
2764 package after the regular methods as well as associated renamings.
2765
f11bdffb 27662015-04-24 Marek Polacek <polacek@redhat.com>
2767
2768 PR c/65830
2769 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2770 and OPT_Wshift_count_overflow.
2771
485f6b9c 2772 PR c/63357
2773 * c-common.c (warn_logical_operator): Warn if the operands have the
2774 same expressions.
2775
439606a9 27762015-04-24 Marek Polacek <polacek@redhat.com>
2777
2778 PR c/61534
2779 * c-common.c (warn_logical_operator): Bail if either operand comes
2780 from a macro expansion.
2781
de801c28 27822015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2783
2784 PR target/55143
2785 * c-common.c (c_default_pointer_mode): Add definition.
2786 * c-common.h (c_default_pointer_mode): Add declaration.
2787
76738f56 27882015-03-11 Jakub Jelinek <jakub@redhat.com>
2789
2790 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2791 on record_builtin_type argument.
2792
16f958b3 27932015-03-10 Jakub Jelinek <jakub@redhat.com>
2794
2795 PR c/65120
2796 * c-common.c (warn_logical_not_parentheses): Don't warn for
2797 !x == 0 or !x != 0.
2798
9b22f73f 27992015-03-07 Marek Polacek <polacek@redhat.com>
2800
2801 PR sanitizer/65280
2802 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2803 before trying to figure out whether we have a flexible array member.
2804
a864b7d4 28052015-03-06 Eric Botcazou <ebotcazou@adacore.com>
a49621cf 2806 Jonathan Wakely <jwakely.gcc@gmail.com>
a864b7d4 2807
2808 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2809
9bf8c90b 28102015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2811
2812 PR ada/65319
2813 * c-ada-spec.c (print_destructor): Remove obsolete code.
2814
037ac54f 28152015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2816
2817 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2818 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2819 DECL_TEMPLATE_RESULT emulations.
2820 (dump_ada_template)): Add guard for TYPE_METHODS.
2821
495cbfb8 28222015-02-27 Marek Polacek <polacek@redhat.com>
2823
2824 PR c/65040
2825 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2826
688a864e 28272015-02-27 Kai Tietz <ktietz@redhat.com>
2828
2829 PR c/35330
2830 * c-pragma.c (handle_pragma_weak): Do not try to create
2831 weak/alias of declarations not being function, or variable
2832 declarations.
2833
6349b8cc 28342015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2835
2836 PR libgomp/64625
2837 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2838 Remove macros.
2839 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2840
3afd5369 28412015-02-16 Marek Polacek <polacek@redhat.com>
2842
2843 PR c/65066
2844 * c-format.c (check_format_types): Handle null param.
2845
46173d1b 28462015-02-13 Marek Polacek <polacek@redhat.com>
2847
2848 PR c/65040
2849 * c-format.c (check_format_types): Don't warn about different
2850 signedness if the original value is in the range of WANTED_TYPE.
2851
1d524ff7 28522015-02-12 Jason Merrill <jason@redhat.com>
2853
2854 PR c++/64956
2855 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2856 to the current highest version.
2857 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2858
bbf8fbec 28592015-02-04 Jakub Jelinek <jakub@redhat.com>
2860
2861 PR c/64824
2862 PR c/64868
2863 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2864 instead of RDIV_EXPR. Use build_binary_op instead of
2865 build2_loc.
2866
c05be867 28672015-01-30 Joseph Myers <joseph@codesourcery.com>
2868
2869 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2870 to pass input_location as first argument.
2871
85977647 28722015-01-23 Tom de Vries <tom@codesourcery.com>
2873
2874 PR libgomp/64672
2875 * c.opt (fopenacc): Mark as LTO option.
2876
fa175926 28772015-01-23 Tom de Vries <tom@codesourcery.com>
2878
2879 PR libgomp/64707
2880 * c.opt (fopenmp): Mark as LTO option.
2881
20aad5ba 28822015-01-21 Jakub Jelinek <jakub@redhat.com>
2883
2884 PR c/63307
8204c077 2885 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 2886 (compare_decls): Fix up formatting.
2887
28882015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2889
2890 PR c/63307
2891 * cilk.c: Include vec.h.
2892 (struct cilk_decls): New structure.
2893 (wrapper_parm_cb): Split this function to...
2894 (fill_decls_vec): ...this...
2895 (create_parm_list): ...and this.
2896 (compare_decls): New function.
2897 (for_local_cb): Remove.
2898 (wrapper_local_cb): Ditto.
2899 (build_wrapper_type): For now first traverse and fill vector of
2900 declarations then sort it and then deal with sorted vector.
2901 (cilk_outline): Ditto.
2902 (declare_one_free_variable): Ditto.
2903
60b77e28 29042015-01-21 Jason Merrill <jason@redhat.com>
2905
2906 PR c++/64629
2907 * c-format.c (check_format_arg): Call decl_constant_value.
2908
85fbea97 29092015-01-19 Martin Liska <mliska@suse.cz>
2910
2911 * c-common.c (handle_noicf_attribute): New function.
2912
ca4c3545 29132015-01-15 Thomas Schwinge <thomas@codesourcery.com>
2914 Bernd Schmidt <bernds@codesourcery.com>
2915 James Norris <jnorris@codesourcery.com>
2916 Cesar Philippidis <cesar@codesourcery.com>
2917 Ilmir Usmanov <i.usmanov@samsung.com>
2918 Jakub Jelinek <jakub@redhat.com>
2919
2920 * c.opt (fopenacc): New option.
2921 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
2922 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2923 New macros.
2924 * c-common.h (c_finish_oacc_wait): New prototype.
2925 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
2926 (c_finish_oacc_wait): New function.
2927 * c-pragma.c (oacc_pragmas): New variable.
2928 (c_pp_lookup_pragma, init_pragma): Handle it.
2929 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
2930 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
2931 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
2932 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
2933 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
2934 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
2935 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
2936 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
2937 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
2938 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
2939 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
2940 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
2941 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
2942 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
2943 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
2944 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
2945 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
2946 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
2947 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
2948 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
2949 PRAGMA_OACC_CLAUSE_WORKER.
2950
92a44a68 29512015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
947aa916 2952
2953 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
2954 for the new option fstack-protector_explicit.
2955 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
2956 (handle_stack_protect_attribute): New function.
2957
92a44a68 29582015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
e4fd7af1 2959
2960 * c.opt: New option -Warray-bounds=.
2961
1f78217c 29622015-01-09 Michael Collison <michael.collison@linaro.org>
2963
2964 * array-notation-common.c: Include hash-set.h, machmode.h,
2965 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2966 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
2967 * c-ada-spec.c: Ditto.
2968 * c-cilkplus.c: Ditto.
2969 * c-common.c: Include input.h due to flattening of tree.h.
2970 Define macro GCC_C_COMMON_C.
2971 * c-common.h: Flatten tree.h header files into c-common.h.
2972 Remove include of tree-core.h.
2973 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2974 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2975 fold-const.h, wide-int.h, and inchash.h due to
2976 flattening of tree.h.
2977 * c-dump.c: Ditto.
2978 * c-format.c: Flatten tree.h header files into c-common.h.
2979 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
2980 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2981 fold-const.h, wide-int.h, and inchash.h due to
2982 flattening of tree.h.
2983 * c-dump.c: Include hash-set.h, machmode.h,
2984 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2985 fold-const.h, wide-int.h, and inchash.h due to
2986 flattening of tree.h.
2987 * c-format.c: Include hash-set.h, machmode.h,
2988 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2989 fold-const.h, wide-int.h, inchash.h and real.h due to
2990 flattening of tree.h.
2991 * c-gimplify.c: Include hash-set.h, machmode.h,
2992 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
2993 fold-const.h, wide-int.h, and inchash.h due to
2994 flattening of tree.h.
2995 * cilk.c: Ditto.
2996 * c-lex.c: Ditto.
2997 * c-omp.c: Ditto.
2998 * c-opts.c: Ditto.
2999 * c-pch.c: Ditto.
3000 * c-ppoutput.c: Ditto.
3001 * c-pragma.c: Ditto.
3002 * c-pretty-print.c: Ditto.
3003 * c-semantics.c: Ditto.
3004 * c-ubsan.c: Ditto.
3005 * stub-objc.c: Ditto.
3006
411b7663 30072015-01-08 Jason Merrill <jason@redhat.com>
3008
3009 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3010 do_ubsan_in_current_function.
3011 (ubsan_maybe_instrument_reference_or_call): Likewise.
3012 * c-ubsan.h: Declare it.
3013
d1e96383 30142015-01-08 Mike Stump <mikestump@comcast.net>
3015
3016 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3017
b57910fa 30182015-01-07 Marek Polacek <polacek@redhat.com>
3019
3020 PR c/64440
3021 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3022 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3023
678a4e3e 30242015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3025
3026 PR c++/31397
3027 * c.opt (Wsuggest-override): New option.
3028
d353bf18 30292015-01-05 Jakub Jelinek <jakub@redhat.com>
3030
3031 Update copyright years.
3032
92b63884 30332015-01-05 Marek Polacek <polacek@redhat.com>
3034
3035 PR c/64423
3036 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3037 parameter. Use it.
3038 * c-common.h (warn_array_subscript_with_type_char): Update
3039 declaration.
3040
83715bc4 30412014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3042
3043 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3044 Control macro with flag_sized_deallocation.
3045
92a44a68 30462014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
8a8211df 3047
3048 * c.opt (Wdiscarded-array-qualifiers): New option.
3049
33058239 30502014-12-19 Jakub Jelinek <jakub@redhat.com>
3051
3052 PR preprocessor/63831
3053 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3054 and __has_cpp_attribute here.
3055 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3056 c_common_has_attribute.
3057 * c-common.h (c_common_has_attribute): New prototype.
3058 * c-lex.c (init_c_lex): Set cb->has_attribute to
3059 c_common_has_attribute instead of cb_has_attribute.
3060 (get_token_no_padding): New function.
3061 (cb_has_attribute): Renamed to ...
3062 (c_common_has_attribute): ... this. No longer static. Use
3063 get_token_no_padding, require ()s, don't build TREE_LIST
3064 unnecessarily, fix up formatting, adjust diagnostics, call
3065 init_attributes.
3066
d1856d2c 30672014-12-15 Jason Merrill <jason@redhat.com>
3068
3069 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3070 (-Wsized-deallocation): New.
3071 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3072 to on in C++14 and up.
3073
4972ed5d 30742014-12-11 Jason Merrill <jason@redhat.com>
3075
7d7fa964 3076 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3077
4972ed5d 3078 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3079 we aren't complaining about VLAs.
3080
5ebccf71 30812014-12-06 Marek Polacek <polacek@redhat.com>
3082
3083 PR tree-optimization/64183
3084 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3085 shift-expression if it is integer_type_node. Use types_compatible_p.
3086
f9e245b2 30872014-11-29 Jakub Jelinek <jakub@redhat.com>
3088
3089 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3090 last argument from create_tmp_var_raw and create_tmp_var calls.
3091 * cilk.c (gimplify_cilk_spawn): Likewise.
3092 * c-omp.c (c_finish_omp_atomic): Likewise.
3093
d2f60593 30942014-11-28 Marek Polacek <polacek@redhat.com>
3095
3096 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3097 instead of unsigned_type_node.
3098
fce2dbd1 30992014-11-28 Marek Polacek <polacek@redhat.com>
3100
3101 PR c/63862
3102 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3103 to op1_utype.
3104 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3105 expression to unsigned_type_node.
3106
3a4a2292 31072014-11-20 Mark Wielaard <mjw@redhat.com>
3108
3109 PR debug/38757
3110 * c-opts.c (set_std_c89): Set lang_hooks.name.
3111 (set_std_c99): Likewise.
3112 (set_std_c11): Likewise.
3113 (set_std_cxx98): Likewise.
3114 (set_std_cxx11): Likewise.
3115 (set_std_cxx14): Likewise.
3116 (set_std_cxx1z): Likewise.
3117
c61ef207 31182014-11-21 Jakub Jelinek <jakub@redhat.com>
3119
3120 PR target/63764
3121 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3122 return type to bool.
c9ed79de 3123 * c-common.c: Include gimple-expr.h.
c61ef207 3124 (convert_vector_to_pointer_for_subscript): Change return type to
3125 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3126 and copy it into a TARGET_EXPR and use that instead of *vecp
3127 directly.
3128
1a91d914 31292014-11-19 David Malcolm <dmalcolm@redhat.com>
3130
3131 Merger of git branch "gimple-classes-v2-option-3".
3132 * ChangeLog.gimple-classes: New.
3133 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3134 from being just a vec<gimple> to a vec<gbind *>.
3135
f8fc8b8e 31362014-11-18 Jakub Jelinek <jakub@redhat.com>
3137
3138 PR sanitizer/63813
3139 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3140 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3141 get_pointer_alignment for non-pointers. Use ptype, or if it is
3142 reference type, corresponding pointer type, as type of kind
3143 argument.
3144 (ubsan_maybe_instrument_reference,
3145 ubsan_maybe_instrument_member_call): Adjust callers.
3146
8315e35e 31472014-11-15 Marek Polacek <polacek@redhat.com>
3148
3149 PR middle-end/63884
3150 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3151 for NULL fndecl.
3152 (extract_array_notation_exprs): Return for NULL node.
3153
86b9f14b 31542014-11-12 Joseph Myers <joseph@codesourcery.com>
3155
3156 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3157 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3158
0c93c8a9 31592014-11-12 Jakub Jelinek <jakub@redhat.com>
3160
3161 PR c/59708
3162 * c-common.c (check_builtin_function_arguments): Handle
3163 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3164
fdd735a7 31652014-11-10 Andi Kleen <ak@linux.intel.com>
3166
3167 PR c/60804
3168 * c-common.h (check_no_cilk): Declare.
3169 * cilk.c (get_error_location): New function.
3170 (check_no_cilk): Dito.
3171
5cb678b4 31722014-11-10 Andi Kleen <ak@linux.intel.com>
3173
3174 * cilk.c (recognize_spawn): Use expression location
3175 for error message.
3176
0feb4de1 31772014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3178
3179 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3180
3aa2fa44 31812014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3182
3183 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3184 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3185 (__cpp_range_based_for, __cpp_initializer_lists,
3186 __cpp_delegating_constructors, __cpp_nsdmi,
3187 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3188 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3189 __has_cpp_attribute.
3190 * c-lex.c (cb_has_attribute): New callback CPP function;
3191 (init_c_lex): Set has_attribute callback.
3192
7fd22aae 31932014-11-04 Richard Biener <rguenther@suse.de>
3194
3195 * c-common.c (shorten_compare): Do not shorten mixed
3196 DFP and non-DFP compares.
3197
4af203ac 31982014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3199
3200 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3201 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3202 Commentary and rearrangement of tests.
3203 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3204 Commentary and rearrangement of tests.
3205 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3206 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3207
3754d046 32082014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3209
3210 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3211 enum from machine_mode.
3212
1140c305 32132014-10-28 Andrew MacLeod <amacleod@redhat.com>
3214
1f78217c 3215 * c-common.c: Adjust include files.
3216 * c-gimplify.c: Ditto.
3217 * cilk.c: Ditto.
3218 * c-pragma.c: Ditto.
3219 * c-ubsan.c: Ditto.
1140c305 3220
94ea8568 32212014-10-27 Andrew MacLeod <amacleod@redhat.com>
3222
3223 * c-gimplify.c: Adjust include files.
3224
32ecf960 32252014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3226
3227 PR c++/53061
3228 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3229 c_common_initialize_diagnostics.
3230 * c-common.h: Likewise.
3231
85fecbe2 32322014-10-24 Marek Polacek <polacek@redhat.com>
3233
3234 PR c/56980
3235 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3236 print "struct"/"union"/"enum" for typedefed names.
3237
e7ec033a 32382014-10-23 Marek Polacek <polacek@redhat.com>
3239
3240 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3241 in unsigned type.
3242
c2598081 32432014-10-22 Jakub Jelinek <jakub@redhat.com>
3244 Yury Gribov <y.gribov@samsung.com>
3245
3246 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3247 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3248 instead of flag_sanitize_recover as bool flag.
3249
acebb7e2 32502014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3251
3252 * cilk.c: Revert previous change.
3253
6115016c 32542014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3255
3256 PR c/63307
3257 * cilk.c: Include vec.h.
3258 (struct cilk_decls): New structure.
3259 (wrapper_parm_cb): Split this function to...
3260 (fill_decls_vec): ...this...
3261 (create_parm_list): ...and this.
3262 (compare_decls): New function.
3263 (for_local_cb): Remove.
3264 (wrapper_local_cb): Ditto.
3265 (build_wrapper_type): For now first traverse and fill vector of
3266 declarations then sort it and then deal with sorted vector.
3267 (cilk_outline): Ditto.
3268 (declare_one_free_variable): Ditto.
3269
e610d2b2 32702014-10-17 Marek Polacek <polacek@redhat.com>
3271
3272 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3273 * c.opt (Wimplicit-int): Initialize to -1.
3274
a3020f2f 32752014-10-16 Andrew MacLeod <amacleod@redhat.com>
3276
3277 * c-pragma.c: Adjust include files.
3278 * c-semantics.c: Likewise.
3279
926ddd2c 32802014-10-16 DJ Delorie <dj@redhat.com>
3281
3282 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3283 multiples of bytes.
3284
b0542e7c 32852014-10-14 Jason Merrill <jason@redhat.com>
3286
3287 PR c++/63455
3288 * c-common.h (CPP_PREPARSED_EXPR): New.
3289 (N_CP_TTYPES): Adjust.
3290
b2601928 32912014-10-15 Marek Polacek <polacek@redhat.com>
3292
3293 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3294
9f75f026 32952014-10-14 DJ Delorie <dj@redhat.com>
3296
3297 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3298 types, not just __int128.
3299 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3300 types, not just __int128.
3301 (cpp_atomic_builtins): Round pointer sizes up.
3302 (type_suffix): Use type precision, not specific types.
3303 * c-common.c (c_common_reswords): Remove __int128 special case.
3304 (c_common_type_for_size): Check for all __intN types, not just
3305 __int128.
3306 (c_common_type_for_mode): Likewise.
3307 (c_common_signed_or_unsigned_type): Likewise.
3308 (c_build_bitfield_integer_type): Likewise.
3309 (c_common_nodes_and_builtins): Likewise.
3310 (keyword_begins_type_specifier): Likewise.
3311 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3312 __intN variants.
3313
2ef51f0e 33142014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3315
3316 * c-common.c: Use hash_table instead of hashtab.
3317
5b8257e3 33182014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3319
1f78217c 3320 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 3321 C++11 section.
3322
5e84569c 33232014-10-03 Marc Glisse <marc.glisse@inria.fr>
3324
3325 PR c++/54427
3326 PR c++/57198
3327 PR c++/58845
3328 * c-common.c (warn_logical_operator): Punt for vectors.
3329
f6751ff2 33302014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3331
3332 Implement SD-6: SG10 Feature Test Recommendations
3333 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3334 macros and the __has_header macro.
3335
c33e051d 33362014-09-30 Jason Merrill <jason@redhat.com>
3337
f76a9aa8 3338 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3339 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3340 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3341
717e52f9 3342 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3343 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3344
c33e051d 3345 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3346 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3347
5213d6c9 33482014-09-24 Marek Polacek <polacek@redhat.com>
3349
3350 PR c/61405
3351 PR c/53874
3352 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3353
6b722052 33542014-09-23 Andi Kleen <ak@linux.intel.com>
3355
3356 * c-common.c (handle_no_reorder_attribute): New function.
3357 (c_common_attribute_table): Add no_reorder attribute.
3358
0cb69d12 33592014-09-22 Joseph Myers <joseph@codesourcery.com>
3360
3361 * c-cppbuiltin.c (c_cpp_builtins): Define
3362 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3363 modes.
3364
168dfbf0 33652014-09-18 Joseph Myers <joseph@codesourcery.com>
3366
3367 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3368 for supported floating-point modes.
3369
b83705f4 33702014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3371
3372 * c.opt (Wpsabi): Use LangEnabledBy.
3373 * c-opts.c (c_common_handle_option): Do not handle here.
3374
d5957f0d 33752014-09-12 Joseph Myers <joseph@codesourcery.com>
3376
3377 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3378 macros for floating-point modes.
3379
bae6edff 33802014-09-11 Marc Glisse <marc.glisse@inria.fr>
3381
3382 PR target/58757
3383 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3384 __*_DENORM_MIN__ without denormals.
3385
73a69d02 33862014-09-10 Jakub Jelinek <jakub@redhat.com>
3387
3388 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3389 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3390 ubsan_create_data callers.
3391 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3392 index is constant or BIT_AND_EXPR with constant mask and is
3393 small enough for the bound.
3394 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3395 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3396
7ff8db31 33972014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3398
3399 * c.opt: Add CppReason to various flags.
3400 (Wdate-time): Re-sort.
3401 * c-common.c: Include c-common.h earlier.
3402 (struct reason_option_codes_t): Delete.
3403 (c_option_controlling_cpp_error): Prefix global type and struct
3404 with cpp_.
3405
bcc1f37e 34062014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3407
3408 * c.opt (Wnormalized): New.
3409 (Wnormalized=): Use Enum and Reject Negative.
3410 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3411
b660d3c6 34122014-09-08 Joseph Myers <joseph@codesourcery.com>
3413
3414 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3415 digits of floating-point modes if -fbuilding-libgcc.
3416
325b8c3c 34172014-09-05 Joseph Myers <joseph@codesourcery.com>
3418
3419 * c-cppbuiltin.c (c_cpp_builtins): Also define
3420 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3421 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3422 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3423 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3424 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3425 __LIBGCC_STACK_GROWS_DOWNWARD__,
3426 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3427 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3428 __LIBGCC_DWARF_FRAME_REGISTERS__,
3429 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3430 __LIBGCC_STACK_POINTER_REGNUM__ and
3431 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3432 (builtin_define_with_value): Handle backslash-escaping in string
3433 macro values.
3434
1e074e77 34352014-09-05 Richard Biener <rguenther@suse.de>
3436
3437 PR middle-end/63148
3438 * c-format.c (check_format_arg): Properly handle
3439 effectively signed POINTER_PLUS_EXPR offset.
3440
04afd878 34412014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3442
3443 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3444 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3445 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3446 and Init.
3447 * c-opts.c (c_common_handle_option): Do not handle here.
3448 (sanitize_cpp_opts): Likewise.
3449 * c-common.c (struct reason_option_codes_t): Handle
3450 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3451
a3f448f0 34522014-09-03 Marek Polacek <polacek@redhat.com>
3453
3454 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3455
40750995 34562014-09-02 Jakub Jelinek <jakub@redhat.com>
3457 Balaji V. Iyer <balaji.v.iyer@intel.com>
3458 Igor Zamyatin <igor.zamyatin@intel.com>
3459
3460 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3461 * c-common.c (c_common_reswords): Added _Cilk_for.
3462 * c-common.h (enum rid): Added RID_CILK_FOR.
3463 (cilk_for_number_of_iterations): Add declaration.
3464 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3465 CILK_FOR.
3466 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3467 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3468
f0fbe519 34692014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3470
3471 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3472 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3473 Wundef): Use CPP, Var and Init.
3474 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3475
a7d2e480 34762014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3477
3478 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3479 * c-opts.c (c_common_handle_option): Do not handle here.
3480
c35e53f1 34812014-08-25 Jason Merrill <jason@redhat.com>
3482
3483 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3484 -std=c++14 and -std=gnu++14, rather than the reverse.
3485 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3486 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3487 * c-common.h (cxx_dialect): Remove cxx1y.
3488
4e454776 34892014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3490
3491 * c-common.h (enum cxx_dialect): Add cxx14.
3492 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3493 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3494 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3495
af1a80f2 34962014-08-22 Jason Merrill <jason@redhat.com>
3497
3498 * c.opt (std=gnu++17): Fix alias.
3499
dc6229e8 35002014-08-22 Marek Polacek <polacek@redhat.com>
3501
3502 PR c++/62199
3503 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3504 check for vector types. Drop LHS argument.
3505 * c-common.h (warn_logical_not_parentheses): Adjust.
3506
ba7f7c88 35072014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3508
3509 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3510 (Wmultichar): Likewise.
3511 (Wdate-time): Use C-family languages instead of Common. Use CPP
3512 and Var.
3513 * c-opts.c (c_common_handle_option): Do not handle the above
3514 options here.
3515 (sanitize_cpp_opts): Likewise.
3516
399d4f80 35172014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3518
3519 PR fortran/44054
3520 * c-opts.c: Include tree-diagnostics.h.
3521 (c_diagnostic_finalizer): New.
3522 (c_common_initialize_diagnostics): Use it.
3523
1babed5f 35242014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3525
3526 PR preprocessor/51303
3527 * c-common.c (struct reason_option_codes_t option_codes):
3528 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3529
3636964b 35302014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3531
3532 PR c/60975
3533 PR c/53063
3534 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3535 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3536 (c_common_post_options): Call init_global_opts_from_cpp.
3537 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3538
78bf4156 35392014-08-19 Marek Polacek <polacek@redhat.com>
3540
3541 PR c++/62153
3542 * c-common.c (maybe_warn_bool_compare): New function.
3543 * c-common.h (maybe_warn_bool_compare): Declare.
3544 * c.opt (Wbool-compare): New option.
3545
508ea33a 35462014-08-19 Marek Polacek <polacek@redhat.com>
3547
3548 * c.opt (Wc99-c11-compat): New option.
3549
806fe15e 35502014-08-19 Marek Polacek <polacek@redhat.com>
3551
3552 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3553 to warn_c90_c99_compat.
3554 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3555 to -1.
3556
6c867de1 35572014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3558 Steven Bosscher <steven@gcc.gnu.org>
3559
3560 PR c/52952
3561 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3562 format_check_results.
3563 (check_function_format): Use true and add comment for boolean
3564 argument.
3565 (finish_dollar_format_checking): Use explicit location when warning.
3566 (check_format_info): Likewise.
3567 (check_format_arg): Set extra_arg_loc and format_string_loc.
3568 (check_format_info_main): Use explicit location when warning.
3569 (check_format_types): Pass explicit location.
3570 (format_type_warning): Likewise.
3571
dc8078a3 35722014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3573
3574 PR fortran/44054
3575 * c-format.c: Handle Fortran flags.
3576
d271ec7e 35772014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3578
3579 PR other/61962
3580 * array-notation-common.c (find_rank): Added handling for other
3581 types of references.
3582
890c2e2f 35832014-08-10 Marek Polacek <polacek@redhat.com>
3584
3585 PR c/51849
3586 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3587 * c.opt (Wc90-c99-compat): Add option.
3588
7149db5f 35892014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3590
3591 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3592
2d2f6a15 35932014-08-03 Marek Polacek <polacek@redhat.com>
3594
3595 * c-common.c (check_case_value): Add location_t parameter. Use it.
3596 (c_add_case_label): Pass loc to check_case_value.
3597
06ecf488 35982014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3599
3600 * cilk.c: Use hash_map instead of pointer_map.
3601
431205b7 36022014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3603
3604 * c-gimplify.c: Use hash_set instead of pointer_set.
3605
3394c80c 36062014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3607
3608 PR middle-end/61455
3609 * array-notation-common.c (extract_array_notation_exprs): Handling
3610 of DECL_EXPR added.
3611
392dee1e 36122014-08-01 Jakub Jelinek <jakub@redhat.com>
3613
3614 * c-common.h (min_align_of_type): Removed prototype.
3615 * c-common.c (min_align_of_type): Removed.
3616 * c-ubsan.h (ubsan_maybe_instrument_reference,
3617 ubsan_maybe_instrument_member_call): New prototypes.
3618 * c-ubsan.c: Include stor-layout.h and builtins.h.
3619 (ubsan_maybe_instrument_reference_or_call,
3620 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3621 functions.
3622
f22a2cb7 36232014-07-31 Marc Glisse <marc.glisse@inria.fr>
3624
3625 PR c++/60517
3626 * c.opt (-Wreturn-local-addr): Move to common.opt.
3627
87b0198f 36282014-07-30 Jason Merrill <jason@redhat.com>
3629
3630 PR c++/61659
3631 PR c++/61687
3632 Revert:
3633 * c.opt (-fuse-all-virtuals): New.
3634
74691f46 36352014-07-30 Tom Tromey <tromey@redhat.com>
3636
3637 PR c/59855
3638 * c.opt (Wdesignated-init): New option.
3639 * c-common.c (c_common_attribute_table): Add "designated_init".
3640 (handle_designated_init): New function.
3641
9140d56f 36422014-07-24 Marek Polacek <polacek@redhat.com>
3643
3644 PR c/57653
3645 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3646
a09c5cc2 36472014-07-16 Dodji Seketeli <dodji@redhat.com>
3648
3649 PR preprocessor/60723 - missing system-ness marks for macro tokens
3650 * c-ppoutput.c (struct print::prev_was_system_token): New data
3651 member.
3652 (init_pp_output): Initialize it.
3653 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3654 (do_line_change): Return a flag saying if a line marker was
3655 emitted or not.
3656 (scan_translation_unit): Detect if the system-ness of the token we
3657 are about to emit is different from the one of the previously
3658 emitted token. If so, emit a line marker. Avoid emitting useless
3659 adjacent line markers. Avoid emitting line markers for tokens
3660 originating from the expansion of built-in macros.
3661 (scan_translation_unit_directives_only): Adjust.
3662
2b25b62f 36632014-07-15 Marek Polacek <polacek@redhat.com>
3664
3665 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3666 TYPE_MAX_VALUE is NULL.
3667
305d96bc 36682014-07-14 Jakub Jelinek <jakub@redhat.com>
3669
3670 PR middle-end/61294
3671 * c.opt (Wmemset-transposed-args): New warning.
3672
8ea4660d 36732014-07-10 Jason Merrill <jason@redhat.com>
3674
3675 PR c++/61659
3676 PR c++/61687
3677 * c.opt (-fuse-all-virtuals): New.
3678
cd480f3d 36792014-07-09 Richard Biener <rguenther@suse.de>
3680
3681 PR c-family/61741
3682 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3683 using unsigned arithmetic if overflow does not wrap instead of
3684 if overflow is undefined.
3685
87d59e72 36862014-07-06 Marek Polacek <polacek@redhat.com>
3687
3688 PR c/6940
3689 * c.opt (Wsizeof-array-argument): New option.
3690
d69521d8 36912014-07-03 Jakub Jelinek <jakub@redhat.com>
3692
8204c077 3693 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 3694 comments->count <= 1, as comments->entries might be NULL.
3695
1207866e 36962014-07-01 Marek Polacek <polacek@redhat.com>
3697
3698 * c.opt (Wint-conversion): New option.
3699
7a6bbb76 37002014-07-01 Marek Polacek <polacek@redhat.com>
3701
3702 PR c/58286
3703 * c.opt (Wincompatible-pointer-types): New option.
3704
9d4eeb52 37052014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3706
3707 PR c++/51400
3708 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3709 Do not discard TYPE_QUALS of type.
3710
4b53bc0f 37112014-06-26 Jason Merrill <jason@redhat.com>
3712
3713 * c-common.h (enum cxx_dialect): Add cxx1z.
3714 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3715 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3716
a8a8d4ea 37172014-06-26 Teresa Johnson <tejohnson@google.com>
3718
3719 * c-common.h (get_dump_info): Declare.
3720 * c-gimplify.c (c_genericize): Use saved dump files.
3721 * c-opts.c (c_common_parse_file): Begin and end dumps
3722 once around parsing invocation.
3723 (get_dump_info): New function.
3724
1f6be080 37252014-06-23 Marek Polacek <polacek@redhat.com>
3726 Andrew MacLeod <amacleod@redhat.com>
3727
3728 PR c/61553
3729 * c-common.c (get_atomic_generic_size): Don't segfault if the
3730 type doesn't have a size.
3731
5ef6b660 37322014-06-20 Marek Polacek <polacek@redhat.com>
3733
3734 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3735 (ubsan_walk_array_refs_r): New function.
3736 (c_genericize): Instrument array bounds.
3737 * c-ubsan.c: Include "internal-fn.h".
3738 (ubsan_instrument_division): Mark instrumented arrays as having
3739 side effects. Adjust ubsan_type_descriptor call.
3740 (ubsan_instrument_shift): Likewise.
3741 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3742 (ubsan_instrument_bounds): New function.
3743 (ubsan_array_ref_instrumented_p): New function.
3744 (ubsan_maybe_instrument_array_ref): New function.
3745 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3746 (ubsan_array_ref_instrumented_p): Declare.
3747 (ubsan_maybe_instrument_array_ref): Declare.
3748
37492014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 3750
3751 PR lto/61123
3752 * c.opt (fshort-enums): Add to LTO.
3753 * c.opt (fshort-wchar): Likewise.
3754
78438f31 37552014-06-16 Marek Polacek <polacek@redhat.com>
3756
3757 PR c/60439
3758 * c.opt (Wswitch-bool): Add Var.
3759
5fddcf34 37602014-06-12 Jakub Jelinek <jakub@redhat.com>
3761
3762 PR middle-end/61486
3763 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3764 #pragma omp target teams or
3765 #pragma omp {,target }teams distribute simd.
3766
74b777e5 37672014-06-12 Jason Merrill <jason@redhat.com>
3768
3769 * c.opt (Wabi=, fabi-compat-version): New.
3770 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3771 (c_common_post_options): Handle flag_abi_compat_version default.
3772 Disallow -fabi-compat-version=1.
3773 * c-common.h (abi_version_crosses): New.
3774
738a6bda 37752014-06-11 Jan Hubicka <hubicka@ucw.cz>
3776
1f78217c 3777 * c-common.c (handle_section_attribute): Update handling for
738a6bda 3778 section names that are no longer trees.
3779
cf5f881f 37802014-06-10 Jakub Jelinek <jakub@redhat.com>
3781
3782 PR fortran/60928
3783 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3784 (omp_pragmas): ... back here.
3785
32dc1512 37862014-06-05 Marek Polacek <polacek@redhat.com>
3787
3788 PR c/49706
3789 * c-common.c (warn_logical_not_parentheses): New function.
3790 * c-common.h (warn_logical_not_parentheses): Declare.
3791 * c.opt (Wlogical-not-parentheses): New option.
3792
f61a9bc2 37932014-06-04 Marek Polacek <polacek@redhat.com>
3794
3795 PR c/30020
3796 * c-common.c (check_case_bounds): Add location parameter.
3797 Use it.
3798 (c_add_case_label): Pass loc to check_case_bounds.
3799
c69ec07d 38002014-06-03 Marek Polacek <polacek@redhat.com>
3801
3802 PR c/60439
3803 * c.opt (Wswitch-bool): New option.
3804
3c77ca67 38052014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3806
68a2c870 3807 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3808 Remove prototypes.
3809 (record_types_used_by_current_var_decl): Move prototype to where
3810 it belongs.
3811
3c77ca67 3812 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3813 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3814 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3815
3ab4693e 38162014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3817
3818 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3819 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3820 void_zero_node.
3821 * c-pretty-print.c (pp_c_void_constant): New function.
3822 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3823 (c_pretty_printer::expression): Handle VOID_CST.
3824 * cilk.c (extract_free_variables): Likewise.
3825 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3826 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3827
25a27413 38282014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3829
3830 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3831 * c-pragma.c (push_alignment): Adjust.
3832 (handle_pragma_push_options): Likewise.
3833
3e5a8b00 38342014-05-09 Marek Polacek <polacek@redhat.com>
3835
3836 PR c/50459
3837 * c-common.c (check_user_alignment): Return -1 if alignment is error
3838 node.
3839 (handle_aligned_attribute): Don't call default_conversion on
3840 FUNCTION_DECLs.
3841 (handle_vector_size_attribute): Likewise.
3842 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3843 (handle_sentinel_attribute): Call default_conversion and allow even
3844 integral types as an argument.
3845
c2c4ae8d 38462014-05-08 Marek Polacek <polacek@redhat.com>
3847
3848 PR c/61053
3849 * c-common.c (min_align_of_type): New function factored out from...
3850 (c_sizeof_or_alignof_type): ...here.
3851 * c-common.h (min_align_of_type): Declare.
3852
2026249a 38532014-05-08 Marek Polacek <polacek@redhat.com>
3854
3855 PR c/61077
3856 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3857 parameter type of main.
3858
33c8dcfe 38592014-05-07 DJ Delorie <dj@redhat.com>
3860
3861 * c-cppbuiltin.c (print_bits_of_hex): New.
3862 (builtin_define_type_minmax): Print values using hex so as not to
3863 require a pre-computed list of string values.
3864
960d5a55 38652014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3866 Mike Stump <mikestump@comcast.net>
3867 Richard Sandiford <rdsandiford@googlemail.com>
3868
3869 * c-ada-spec.c: Include wide-int.h.
3870 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3871 (dump_generic_ada_node): Use wide-int interfaces.
3872 * c-common.c: Include wide-int-print.h.
3873 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3874 (pointer_int_sum): Use wide-int interfaces.
3875 (c_common_nodes_and_builtins): Use make_int_cst.
3876 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3877 (handle_alloc_size_attribute): Use wide-int interfaces.
3878 (get_nonnull_operand): Likewise.
3879 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3880 * c-lex.c: Include wide-int.h.
3881 (narrowest_unsigned_type): Take a widest_int rather than two
3882 HOST_WIDE_INTs.
3883 (narrowest_signed_type): Likewise.
3884 (interpret_integer): Update accordingly. Use wide-int interfaces.
3885 (lex_charconst): Use wide-int interfaces.
3886 * c-pretty-print.c: Include wide-int.h.
3887 (pp_c_integer_constant): Use wide-int interfaces.
3888 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3889 INT_CST_LT_UNSIGNED.
3890
bbb88b31 38912014-05-06 Richard Biener <rguenther@suse.de>
3892
3893 * c-opts.c (c_common_post_options): For -freestanding,
3894 -fno-hosted and -fno-builtin disable pattern recognition
3895 if not enabled explicitely.
3896
022d4718 38972014-05-02 Marek Polacek <polacek@redhat.com>
3898
3899 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3900
e4ab2ef3 39012014-05-01 Marek Polacek <polacek@redhat.com>
3902
3903 PR c/43245
3904 * c.opt (Wdiscarded-qualifiers): Add.
3905
52cc0072 39062014-04-30 Marek Polacek <polacek@redhat.com>
3907
3908 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3909 INT_MIN / -1 sanitization only for integer types.
3910
4a026b48 39112014-04-25 Marek Polacek <polacek@redhat.com>
3912
3913 PR c/18079
3914 * c-common.c (handle_noinline_attribute): Warn if the attribute
3915 conflicts with always_inline attribute.
3916 (handle_always_inline_attribute): Warn if the attribute conflicts
3917 with noinline attribute.
3918
90e645fa 39192014-04-25 Marek Polacek <polacek@redhat.com>
3920
3921 PR c/60156
3922 * c-common.c (check_main_parameter_types): Warn about variadic main.
3923
db103ea4 39242014-04-24 Mike Stump <mikestump@comcast.net>
3925
3926 * c.opt (Wshadow-ivar): Default to on.
3927
06511efd 39282014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
3929
3930 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
3931
cdf34fca 39322014-04-23 Marek Polacek <polacek@redhat.com>
3933
3934 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
3935
7311d7c1 39362014-04-22 Jakub Jelinek <jakub@redhat.com>
3937
3938 PR sanitizer/60275
3939 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
3940 if flag_sanitize_undefined_trap_on_error.
3941 (ubsan_instrument_division, ubsan_instrument_shift,
3942 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
3943 if !flag_sanitize_recover.
3944
c1917557 39452014-04-22 Marc Glisse <marc.glisse@inria.fr>
3946
3947 PR libstdc++/43622
3948 * c-common.c (registered_builtin_types): Make non-static.
3949 * c-common.h (registered_builtin_types): Declare.
3950
b2ca6510 39512014-04-14 Richard Biener <rguenther@suse.de>
3952 Marc Glisse <marc.glisse@inria.fr>
3953
3954 PR c/60819
3955 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
3956 apply may-alias the scalar pointer type when applicable.
3957
855372a3 39582014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
3959
3960 PR middle-end/60467
3961 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
3962 as possible argument for Cilk_spawn.
3963
4012a986 39642014-04-11 Tobias Burnus <burnus@net-b.de>
3965
3966 PR c/60194
3967 * c.opt (Wformat-signedness): Add
3968 * c-format.c(check_format_types): Use it.
3969
0d284870 39702014-04-11 Jason Merrill <jason@redhat.com>
3971
3972 PR c++/57926
3973 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
3974 default_conversion for an array argument.
3975
a34c1231 39762014-04-08 Marek Polacek <polacek@redhat.com>
3977
3978 PR sanitizer/60745
3979 * c-ubsan.c: Include asan.h.
3980 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
3981
a35a8e18 39822014-04-03 Nathan Sidwell <nathan@codesourcery.com>
3983
3984 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
3985
b23e42b6 39862014-04-02 Marek Polacek <polacek@redhat.com>
3987
3988 * c-common.h (c_expand_expr): Remove declaration.
3989
5a672e62 39902014-03-28 Jakub Jelinek <jakub@redhat.com>
3991
3992 PR c++/60689
3993 * c-common.c (add_atomic_size_parameter): When creating new
3994 params vector, push the size argument first.
3995
d4d068c0 39962014-03-26 Jakub Jelinek <jakub@redhat.com>
3997
3998 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3999 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4000 ubsan_create_data callers.
4001
446bdf5f 40022014-03-22 Jakub Jelinek <jakub@redhat.com>
4003
4004 PR debug/60603
4005 * c-opts.c (c_finish_options): Restore cb_file_change call to
4006 <built-in>.
4007
8895f0a3 40082014-03-13 Jakub Jelinek <jakub@redhat.com>
4009
4010 PR middle-end/36282
4011 * c-pragma.c (apply_pragma_weak): Only look at
4012 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4013 DECL_ASSEMBLER_NAME_SET_P (decl).
4014 (maybe_apply_pending_pragma_weaks): Exit early if
4015 vec_safe_is_empty (pending_weaks) rather than only when
4016 !pending_weaks.
4017 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4018 set assembler name back to NULL afterwards.
4019
7a5da2cd 40202014-03-11 Jason Merrill <jason@redhat.com>
4021
4022 * c.opt: Add -std=gnu++14.
4023
95093889 40242014-03-11 Ian Bolton <ian.bolton@arm.com>
4025
4026 * c-opts.c (c_common_post_options): Don't override
4027 -ffp-contract=fast if unsafe-math-optimizations is on.
4028
c9a24b37 40292014-03-08 Paulo Matos <paulo@matos-sorge.com>
4030
9b8f3aa1 4031 * c.opt: Enable LTO FE for fshort-double.
c9a24b37 4032
3f6dba6e 40332014-03-07 Jason Merrill <jason@redhat.com>
4034
4035 * c.opt: Add -std=c++14.
4036
3bfdc94f 40372014-03-06 Marek Polacek <polacek@redhat.com>
4038
4039 PR c/60197
4040 * cilk.c (contains_cilk_spawn_stmt): New function.
4041 (contains_cilk_spawn_stmt_walker): Likewise.
4042 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4043 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4044
8b3a6a4c 40452014-03-03 Jakub Jelinek <jakub@redhat.com>
4046
4047 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4048 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4049 even when flag_preprocess_only.
4050
734ec290 40512014-02-26 Jason Merrill <jason@redhat.com>
4052
4053 PR c++/59231
4054 PR c++/11586
4055 * c-common.c (shorten_compare): Don't check
4056 c_inhibit_evaluation_warnings.
4057
81aec8b8 40582014-02-19 Jakub Jelinek <jakub@redhat.com>
4059
d1081017 4060 PR c/37743
4061 * c-common.c (c_common_nodes_and_builtins): When initializing
4062 c_uint{16,32,64}_type_node, also set corresponding
4063 uint{16,32,64}_type_node to the same value.
4064
81aec8b8 4065 PR c++/60267
4066 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4067 for PRAGMA_IVDEP if flag_preprocess_only.
4068
312243bb 40692014-02-12 Jakub Jelinek <jakub@redhat.com>
4070
4071 PR c/60101
4072 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4073 if false, add ADD itself, rather than vice versa.
4074 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4075 copy. For SAVE_EXPR, only call merge_tlist once.
4076
237e78b1 40772014-02-08 Jakub Jelinek <jakub@redhat.com>
4078
4079 PR middle-end/60092
4080 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4081 and tree_to_uhwi.
4082 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4083 functions.
4084 (c_common_attribute_table): Add alloc_align and assume_aligned
4085 attributes.
4086
76fdceeb 40872014-02-06 Marek Polacek <polacek@redhat.com>
4088
4089 PR c/60087
4090 * c-common.c (warn_for_sign_compare): Call warning_at with location
4091 instead of warning.
4092
4a4dea42 40932014-02-05 Marek Polacek <polacek@redhat.com>
4094
4095 PR c/53123
4096 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4097 statement.
4098
ec704957 40992014-02-04 Marek Polacek <polacek@redhat.com>
4100
4101 PR c/60036
4102 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4103 SAVE_EXPR.
4104
caf62483 41052014-02-03 Marc Glisse <marc.glisse@inria.fr>
4106
4107 PR c++/53017
4108 PR c++/59211
4109 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4110 handle_vector_size_attribute, handle_nonnull_attribute): Call
4111 default_conversion on the attribute argument.
4112 (handle_nonnull_attribute): Increment the argument number.
4113
ec761d5a 41142014-01-31 Marek Polacek <polacek@redhat.com>
4115
4116 PR c/59963
4117 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4118 build_function_call_vec.
4119 (resolve_overloaded_builtin): Likewise.
4120 * c-common.h (build_function_call_vec): Adjust declaration.
4121
22a75734 41222014-01-30 Marek Polacek <polacek@redhat.com>
4123
4124 PR c/59940
4125 * c-common.h (unsafe_conversion_p): Adjust declaration.
4126 (warnings_for_convert_and_check): Likewise.
4127 (convert_and_check): Likewise.
4128 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4129 expansion_point_location_if_in_system_header on it.
4130 (warnings_for_convert_and_check): Add location parameter. Call
4131 expansion_point_location_if_in_system_header on it. Use it.
4132 (convert_and_check): Add location parameter. Use it.
4133 (conversion_warning): Likewise.
4134 (c_add_case_label): Adjust convert_and_check calls.
4135 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4136
a89e6c15 41372014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4138
4139 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4140 flag_cilkplus.
4141 * c-pragma.c (init_pragma): Likewise.
4142 * c.opt: Likewise.
4143
2623625f 41442014-01-23 Marek Polacek <polacek@redhat.com>
4145
4146 PR c/59846
4147 * c-common.c (shorten_compare): Add location_t parameter.
4148 * c-common.h (shorten_binary_op): Adjust declaration.
4149
46da3601 41502014-01-23 Marek Polacek <polacek@redhat.com>
4151
4152 PR c/58346
4153 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4154 * c-common.h: Declare it.
4155
c9743c6a 41562014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4157
4158 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4159 * c-ada-spec.c (dump_ads): Likewise.
4160 (cpp_check): Likewise.
4161 (dump_ada_specs): Likewise.
4162
41632014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 4164
4165 PR c++/49718
4166 * c-common.c (handle_no_instrument_function_attribute): Allow
4167 no_instrument_function attribute in class member
4168 definition/declaration.
4169
1248c663 41702014-01-15 Jakub Jelinek <jakub@redhat.com>
4171
4172 PR c/58943
4173 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4174 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4175 being COMPOUND_EXPR.
4176 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4177 operand a SAVE_EXPR and second MODIFY_EXPR.
4178
6e5c480b 41792014-01-09 Jakub Jelinek <jakub@redhat.com>
4180
4181 PR target/58115
4182 * c-pch.c (c_common_write_pch): Call
4183 prepare_target_option_nodes_for_pch.
4184
3aea1f79 41852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4186
4187 Update copyright years
4188
e4f22041 41892014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4190
4191 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4192 the copyright notice.
4193
7fb0fe24 41942013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4195
4196 * c-ada-spec.c (print_constructor): New function.
4197 (print_destructor): Retrieve the origin of the destructor.
4198 (print_ada_declaration): Revamp handling of constructors/destructors.
4199
92a44a68 42002013-12-23 Stuart Hastings <stuart@apple.com>
468088ac 4201 Bill Maddox <maddox@google.com>
4202 Jason Merrill <jason@redhat.com>
4203
4204 * c.opt: Add -fdeclone-ctor-dtor.
4205 * c-opts.c (c_common_post_options): Default to on iff -Os.
4206
74acc703 42072013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4208
4209 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4210 attribute.
4211 * c-pragma.h (enum pragma_cilk_clause): Remove.
4212 (enum pragma_omp_clause): Added the following fields:
4213 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4214 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4215 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4216 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4217 PRAGMA_CILK_CLAUSE_UNIFORM.
4218
8204c077 4219
433e804e 42202013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4221
4222 * cilk.c (cilk_outline): Made this function non-static.
4223 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4224 (create_cilk_wrapper): Added a new parameter: a function pointer.
4225 (c_install_body_w_frame_cleanup): Remove
4226 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4227 * c-common.h (cilk_outline): New prototype.
4228 (gimplify_cilk_spawn): Removed two parameters.
4229 (cilk_install_body_with_frame_cleanup): New prototype.
4230 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4231 CILK_SPAWN_STMT case.
4232
5bcc7e60 42332013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4234
e66325ea 4235 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4236
5bcc7e60 4237 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4238 (int_array_type_node): Remove.
4239 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4240
0b26ec77 42412013-12-05 Marek Polacek <polacek@redhat.com>
4242
4243 PR c/52023
4244 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4245 [ADJUST_FIELD_ALIGN].
4246
a179a7dc 42472013-12-04 Joseph Myers <joseph@codesourcery.com>
4248
4249 PR c/52023
4250 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4251 and check field alignment if set.
4252 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4253 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4254
8204c077 42552013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 4256 Marek Polacek <polacek@redhat.com>
4257
4258 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4259 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4260
648fd348 42612013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4262
4263 PR c/59309
4264 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4265 arguments.
4266
253e1cae 42672013-11-29 Jakub Jelinek <jakub@redhat.com>
4268
4269 PR c/59280
4270 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4271 goto invalid. If it is error_mark_node, don't issue further
4272 diagnostics.
4273
3e398f5b 42742013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4275
4276 * c.opt (Wopenmp-simd): New.
4277
020bc656 42782013-11-22 Jakub Jelinek <jakub@redhat.com>
4279
4280 * c-ubsan.h (ubsan_instrument_return): New prototype.
4281 * c-ubsan.c (ubsan_instrument_return): New function.
4282
bc61cadb 42832013-11-22 Andrew MacLeod <amacleod@redhat.com>
4284
4285 * c-common.c: Add required include files from gimple.h.
4286 * c-gimplify.c: Likewise
4287 * cilk.c: Likewise
4288
3df42822 42892013-11-22 David Malcolm <dmalcolm@redhat.com>
4290
4291 * c-common.c (unsafe_conversion_p): Remove use of
4292 EXPR_LOC_OR_HERE macro.
4293 (conversion_warning): Likewise.
4294 (warnings_for_convert_and_check): Likewise.
4295 (warn_for_collisions_1): Likewise.
4296 (shorten_compare): Likewise, and remove use of in_system_header
4297 macro, using the location from the former.
4298 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4299 (cb_def_pragma): Remove use of in_system_header macro.
4300 (lex_string): Likewise.
4301 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4302
8c53c46c 43032013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4304 Mike Stump <mikestump@comcast.net>
4305 Richard Sandiford <rdsandiford@googlemail.com>
4306
4307 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4308 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4309 tree_fits_shwi_p or tree_fits_uhwi_p.
4310 (dump_generic_ada_node): Likewise.
4311 * c-format.c (check_format_arg): Likewise.
4312 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4313
5200ef07 43142013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4315
4316 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4317
ca9d7d74 43182013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4319
4320 PR c/53001
4321 * c-common.c (unsafe_conversion_p): Make this function
4322 return an enumeration with more detail.
4323 (conversion_warning): Use the new return type of
4324 unsafe_conversion_p to separately warn either about conversions
4325 that lower floating point number precision or about the other
4326 kinds of conversions.
4327 * c-common.h (enum conversion_safety): New enumeration.
a49621cf 4328 (unsafe_conversion_p): switching return type to
4329 conversion_safety enumeration.
ca9d7d74 4330 * c.opt: Adding new warning -Wfloat-conversion and
4331 enabling it with -Wconversion.
4332
0391a567 43332013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4334
a49621cf 4335 * c-opts.c: Include plugin.h.
4336 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
0391a567 4337
19b928d9 43382013-11-19 Marek Polacek <polacek@redhat.com>
4339
4340 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4341 call.
4342 (ubsan_instrument_shift): Likewise.
4343 (ubsan_instrument_vla): Likewise.
4344
aa59f000 43452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4346
4347 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4348 cast to unsigned type.
4349
08f817b3 43502013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4351
4352 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4353 tree_low_cst.
4354 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4355 rather than tree_low_cst.
4356
6a0712d4 43572013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4358
4359 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4360 tree_to_uhwi throughout.
4361
fcb97e84 43622013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4363
4364 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4365 tree_low_cst (..., 0) with tree_to_shwi throughout.
4366
cd4547bf 43672013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4368
4369 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4370 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4371
35ec552a 43722013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4373
4374 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4375 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4376
f2697631 43772013-11-15 Aldy Hernandez <aldyh@redhat.com>
4378
4379 * c-cilkplus.c: New file.
4380 * c-common.c (readonly_error): Add location argument.
4381 * c-common.h (readonly_error): Same.
4382 (c_finish_cilk_clauses): Protoize.
4383 (c_check_cilk_loop): Same.
4384 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4385 Do not fail on error_mark_node.
4386 Abstract increment canonicalization to here...
4387 (c_omp_for_incr_canonicalize_ptr): New.
4388 c-pragma.c (init_pragma): Register "simd" pragma.
4389 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4390 (enum pragma_cilk_clause): New.
4391
0aa8c34e 43922013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4393
4394 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4395 wchar_type and host_integerp checks.
4396
e795d6e1 43972013-11-14 Andrew MacLeod <amacleod@redhat.com>
4398
4399 * c-common.c: Likewise.
4400 * c-gimplify.c: Likewise.
4401 * cilk.c: Likewise.
4402
9ed99284 44032013-11-14 Diego Novillo <dnovillo@google.com>
4404
4405 * c-common.c: Include fold-const.h.
4406 Include stor-layout.h.
4407 Include calls.h.
4408 Include stringpool.h.
4409 Include attribs.h.
4410 Include varasm.h.
4411 Include trans-mem.h.
4412 * c-cppbuiltin.c: Include stor-layout.h.
4413 Include stringpool.h.
4414 * c-format.c: Include stringpool.h.
4415 * c-lex.c: Include stringpool.h.
4416 Include stor-layout.h.
4417 * c-pragma.c: Include stringpool.h.
4418 Include attribs.h.
4419 Include varasm.h.
4420 Include gcc-symtab.h.
4421 * c-pretty-print.c: Include stor-layout.h.
4422 Include attribs.h.
4423 * cilk.c: Include stringpool.h.
4424 Include calls.h.
4425
4fba5eb9 44262013-11-13 Joseph Myers <joseph@codesourcery.com>
4427
4428 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4429 * c-common.c (c_common_reswords): Add __auto_type.
4430 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4431
a8783bee 44322013-11-12 Andrew MacLeod <amacleod@redhat.com>
4433
e795d6e1 4434 * c-common.c: Include gimplify.h.
4435 * c-gimplify.c: Likewise.
4436 * cilk.c: Likewise.
4437 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4438 * c-ubsan.c: Don't include gimple.h.
a8783bee 4439
d184e0c0 44402013-11-12 Joseph Myers <joseph@codesourcery.com>
4441
4442 * c-common.c (c_common_reswords): Add _Thread_local.
4443
a056826c 44442013-11-09 Joseph Myers <joseph@codesourcery.com>
4445
4446 * c-common.c (atomic_size_supported_p): New function.
4447 (resolve_overloaded_atomic_exchange)
4448 (resolve_overloaded_atomic_compare_exchange)
4449 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4450 Use it instead of comparing size with a local list of sizes.
4451
b560fabd 44522013-11-07 Andrew MacLeod <amacleod@redhat.com>
4453 Joseph Myers <joseph@codesourcery.com>
4454
4455 * c-common.h (enum rid): Add RID_ATOMIC.
4456 * c-common.c (c_common_reswords): Add _Atomic.
4457 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4458 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4459 * c-format.c (check_format_types): Check for extra _Atomic
4460 qualifiers in format argument.
4461 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4462 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4463
5b1a0622 44642013-11-06 Tobias Burnus <burnus@net-b.de>
4465
4466 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4467
4f8f4cb8 44682013-11-06 Joseph Myers <joseph@codesourcery.com>
4469
4470 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4471 standards modes.
4472 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4473 to mean lack of IEEE 754 support.
4474
9148bda3 44752013-11-05 Tobias Burnus <burnus@net-b.de>
4476
4477 * c.opt (-Wdate-time): New option
4478 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4479
08c5f4d5 44802013-11-05 Joseph Myers <joseph@codesourcery.com>
4481
4482 * c-cppbuiltin.c (cpp_iec_559_value): Test
4483 flag_excess_precision_cmdline not flag_excess_precision.
4484
c630ef93 44852013-11-05 Tobias Burnus <burnus@net-b.de>
4486
4487 * c.opt (fopenmp-simd): New option.
4488 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4489 (omp_pragmas): ... this new struct.
4490 (c_pp_lookup_pragma): Also walk omp_pragmas.
4491 (init_pragma): Init pragmas for -fopenmp-simd.
4492
7354a89b 44932013-11-04 Marek Polacek <polacek@redhat.com>
4494
4495 PR c++/58979
4496 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4497
4c866b9b 44982013-11-04 Joseph Myers <joseph@codesourcery.com>
4499
4500 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4501 New functions.
4502 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4503
e2a6a333 45042013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4505
4506 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4507 (dump_ada_specs): Adjust prototype of second callback.
4508 * c-ada-spec.c (cpp_check): New global variable.
4509 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4510 (print_generic_ada_decl): Likewise.
4511 (has_static_fields): Change return type to bool and add guard.
4512 (has_nontrivial_methods): New predicate.
4513 (is_tagged_type): Change return type to bool.
4514 (separate_class_package): Call has_nontrivial_methods.
4515 (pp_ada_tree_identifier): Minor tweaks.
4516 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4517 (dump_ada_array_domains): Likewise.
4518 (dump_ada_array_type): Likewise.
4519 (dump_template_types): Remove cpp_check parameter and do not pass it to
4520 dump_generic_ada_node.
4521 (dump_ada_template): Likewise.
4522 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4523 recursively.
4524 (print_ada_methods): Change return type to integer. Remove cpp_check
4525 parameter and do not pass it down.
4526 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4527 dump_generic_ada_node.
4528 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4529 accessing methods.
4530 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4531 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4532 value of print_ada_methods.
4533 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4534 Set cpp_check to it before invoking dump_ada_nodes.
4535 (dump_ada_specs): Likewise.
4536
2c4c3477 45372013-11-03 Marek Polacek <polacek@redhat.com>
4538
4539 * c-ubsan.c: Don't include hash-table.h.
4540 (ubsan_instrument_vla): New function.
4541 * c-ubsan.h: Declare it.
4542
452659af 45432013-10-31 David Malcolm <dmalcolm@redhat.com>
4544
4545 Automated part of renaming of symtab_node_base to symtab_node.
4546
4547 Patch autogenerated by rename_symtab.py from
4548 https://github.com/davidmalcolm/gcc-refactoring-scripts
4549 revision 58bb219cc090b2f4516a9297d868c245495ee622
4550
4551 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4552 symtab_node_base to symtab_node.
4553
4d6f7dd4 45542013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4555
a49621cf 4556 Implement C++14 digit separators.
4d6f7dd4 4557 * c-lex.c (interpret_float): Remove digit separators from scratch string
4558 before building real literal.
4559
06cfe805 45602013-10-30 Jakub Jelinek <jakub@redhat.com>
4561
4562 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4563
d037099f 45642013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4565
4566 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4567 fields.
4568 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4569 enabled.
4570 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4571 (insert_cilk_frame): New prototype.
4572 (cilk_init_builtins): Likewise.
4573 (gimplify_cilk_spawn): Likewise.
4574 (c_cilk_install_body_w_frame_cleanup): Likewise.
4575 (cilk_detect_spawn_and_unwrap): Likewise.
4576 (cilk_set_spawn_marker): Likewise.
4577 (build_cilk_sync): Likewise.
4578 (build_cilk_spawn): Likewise.
4579 * cilk.c: New file.
4580
02774f2d 45812013-10-29 David Malcolm <dmalcolm@redhat.com>
4582
4583 Patch autogenerated by refactor_symtab.py from
4584 https://github.com/davidmalcolm/gcc-refactoring-scripts
4585 revision 58bb219cc090b2f4516a9297d868c245495ee622
4586
4587 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4588 to a true class hierarchy.
4589 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4590
31fe10fd 45912013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4592
4593 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4594
b1c06ff9 45952013-10-26 Jeff Law <law@redhat.com>
4596
1f78217c 4597 * c-common.c (c_define_builtins): Remove mudflap support.
4598 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 4599
48a972c8 46002013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 4601
4602 PR other/33426
4603 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4604 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4605
546a04b1 46062013-10-23 Jason Merrill <jason@redhat.com>
4607
4608 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4609
bc7bff74 46102013-10-11 Jakub Jelinek <jakub@redhat.com>
4611
d62c713e 4612 * c-common.h (omp_clause_mask::operator !=): New method.
4613 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4614 instead of if (mask & something) tests everywhere.
4615
bc7bff74 4616 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4617 201307 instead of 201107.
4618 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4619 (c_common_attribute_table): Add "omp declare target" and
4620 "omp declare simd" attributes.
4621 (handle_omp_declare_target_attribute,
4622 handle_omp_declare_simd_attribute): New functions.
4623 * c-omp.c: Include c-pragma.h.
4624 (c_finish_omp_taskgroup): New function.
4625 (c_finish_omp_atomic): Add swapped argument, if true,
4626 build the operation first with rhs, lhs arguments and use NOP_EXPR
4627 build_modify_expr.
4628 (c_finish_omp_for): Add code argument, pass it down to make_code.
4629 (c_omp_split_clauses): New function.
4630 (c_split_parallel_clauses): Removed.
4631 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4632 c_omp_declare_simd_clauses_to_decls): New functions.
4633 * c-common.h (omp_clause_mask): New type.
4634 (OMP_CLAUSE_MASK_1): Define.
4635 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4636 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4637 omp_clause_mask::operator |, omp_clause_mask::operator &,
4638 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4639 omp_clause_mask::operator ==): New methods.
4640 (enum c_omp_clause_split): New.
4641 (c_finish_omp_taskgroup): New prototype.
4642 (c_finish_omp_atomic): Add swapped argument.
4643 (c_finish_omp_for): Add code argument.
4644 (c_omp_split_clauses): New prototype.
4645 (c_split_parallel_clauses): Removed.
4646 (c_omp_declare_simd_clauses_to_numbers,
4647 c_omp_declare_simd_clauses_to_decls): New prototypes.
4648 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4649 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4650 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4651 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4652 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4653 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4654 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4655 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4656 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4657 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4658 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4659 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4660 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4661 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4662 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4663 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4664 PRAGMA_OMP_CLAUSE_UNIFORM.
4665
d7dcba40 46662013-10-09 Marc Glisse <marc.glisse@inria.fr>
4667
4668 PR tree-optimization/20318
4669 * c-common.c (handle_returns_nonnull_attribute): New function.
4670 (c_common_attribute_table): Add returns_nonnull.
4671
0b7282f1 46722013-10-03 Marc Glisse <marc.glisse@inria.fr>
4673
4674 PR c++/19476
4675 * c.opt (fcheck-new): Move to common.opt.
4676
51f553af 46772013-09-25 Marek Polacek <polacek@redhat.com>
4678 Jakub Jelinek <jakub@redhat.com>
4679
4680 PR sanitizer/58413
4681 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4682 an expression if we can prove it is correct.
4683 (ubsan_instrument_division): Likewise. Remove unnecessary
4684 check.
4685
05f893e1 46862013-09-18 Marek Polacek <polacek@redhat.com>
4687
4688 PR sanitizer/58411
4689 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4690 Declare it.
4691 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4692
236ce1d1 46932013-09-14 Iain Sandoe <iain@codesourcery.com>
4694
4695 PR target/48094
4696 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4697 fobjc-gc, freplace-objc-classes): Accept for LTO.
4698
f9f68d35 46992013-09-13 Jacek Caban <jacek@codeweavers.com>
4700
4701 * c-target.def: New hook
4702
ba2f764e 47032013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4704
4705 PR c++/43452
4706 * c.opt (Wdelete-incomplete): Add.
4707
73437615 47082013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4709
4710 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4711 (vector_types_compatible_elements_p): New function.
4712 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4713 declaration.
4714 (vector_types_compatible_elements_p): Declare.
4715
95af4c75 47162013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4717
4718 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4719 a virtual member function.
4720 (pp_simple_type_specifier): Remove.
4721 (pp_c_type_specifier): Likewise.
4722 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4723 Rename from pp_c_type_specifier. Adjust.
4724 (c_pretty_printer::c_pretty_printer): Do not assign to
4725 simple_type_specifier.
4726
eaab24b9 47272013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4728
4729 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4730 member function.
4731 (c_pretty_printer::storage_class_specifier): Likewise.
4732 (c_pretty_printer::initializer): Likewise.
4733 (pp_declaration): Remove.
4734 (pp_declaration_specifiers): Likewise.
4735 (pp_abstract_declarator): Likewise.
4736 (pp_declarator): Likewise.
4737 (pp_type_id): Likewise.
4738 (pp_statement): Likewise.
4739 (pp_constant): Likewise.
4740 (pp_id_expression): Likewise.
4741 (pp_primary_expression): Likewise.
4742 (pp_unary_expression): Likewise.
4743 (pp_multiplicative_expression): Likewise.
4744 (pp_conditional_expression): Likewise.
4745 (pp_assignment_expression): Likewise.
4746 (pp_expression): Likewise.
4747 (pp_c_type_id): Likewise.
4748 (pp_c_storage_class_specifier): Likewise.
4749 * c-pretty-print.c (pp_c_type_cast): Tidy.
4750 (pp_c_pointer): Likewise.
4751 (pp_c_type_specifier): Likewise.
4752 (pp_c_parameter_type_list): Likewise.
4753 (pp_c_function_definition): Likewise.
4754 (pp_c_init_declarator): Likewise.
4755 (pp_c_initializer_list): Likewise.
4756 (pp_c_constructor_elts): Likewise.
4757 (c_pretty_printer::direct_abstract_declarator): Likewise.
4758 (c_pretty_printer::declaration_specifiers): Likewise.
4759 (c_pretty_printer::primary_expression): Likewise.
4760 (c_pretty_printer::postfix_expression): Likewise.
4761 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4762 (c_pretty_printer::storage_class_specifier): Rename from
4763 pp_c_storage_class_specifier.
4764 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4765 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4766 storage_class_specifier, initializer, offset_list, flags.
4767
9e46467d 47682013-08-30 Marek Polacek <polacek@redhat.com>
4769
4770 * c-ubsan.c: New file.
4771 * c-ubsan.h: New file.
4772
36a8d9b9 47732013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4774
4775 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4776 member function.
4777 (c_pretty_printer::declaration_specifiers): Likewise.
4778 (c_pretty_printer::declarator): Likewise.
4779 (c_pretty_printer::abstract_declarator): Likewise.
4780 (c_pretty_printer::direct_abstract_declarator): Likewise.
4781 (c_pretty_printer::direct_declarator): Likewise.
4782 (c_pretty_printer::function_specifier): Likewise.
4783 (pp_declaration): Adjust.
4784 (pp_declaration_specifiers): Likewise.
4785 (pp_abstract_declarator): Likewise.
4786 (pp_direct_declarator): Likewise.
4787 (pp_function_specifier): Likewise.
4788 (pp_direct_abstract_declarator): Remove as unused.
4789 (pp_c_declaration): Remove.
4790 (pp_c_declaration_specifiers): Likewise.
4791 (pp_c_declarator): Likewise.
4792 (pp_c_direct_declarator): Likewise.
4793 (pp_c_function_specifier): Likewise.
4794 (pp_c_direct_abstract_declarator): Likewise.
4795 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4796 from pp_c_abstract_declarator. Adjust.
4797 (c_pretty_printer::direct_abstract_declarator): Rename from
4798 pp_c_direct_abstract_declarator. Adjust.
4799 (c_pretty_printer::function_specifier): Rename from
4800 pp_c_function_specifier. Adjust.
4801 (c_pretty_printer::declaration_specifiers): Rename from
4802 pp_c_declaration_specifiers. Adjust.
4803 (c_pretty_printer::direct_declarator): Rename from
4804 pp_c_direct_declarator. Adjust.
4805 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4806 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4807 (c_pretty_printer::c_pretty_printer): Do not assign to
4808 declaration, declaration_specifiers, declarator,
4809 direct_declarator, direct_abstract_declarator, function_specifier.
4810
30635c2e 48112013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4812
4813 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4814 virtual member function.
4815 (c_pretty_printer::multiplicative_expression): Likewise.
4816 (c_pretty_printer::conditional_expression): Likewise.
4817 (c_pretty_printer::assignment_expression): Likewise.
4818 (c_pretty_printer::expression): Likewise.
4819 (pp_unary_expression): Adjust.
4820 (pp_multiplicative_expression): Likewise.
4821 (pp_assignment_expression): Likewise.
4822 (pp_conditional_expression): Likewise.
4823 (pp_expression): Likewise.
4824 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4825 from pp_c_unary_expression. Adjust.
4826 (c_pretty_printer::multiplicative_expression): Rename from
4827 pp_c_multiplicative_expression. Adjust.
4828 (c_pretty_printer::conditional_expression): Rename from
4829 pp_c_conditional_expression. Adjust.
4830 (c_pretty_printer::assignment_expression): Rename from
4831 pp_c_assignment_expression. Adjust.
4832 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4833 (c_pretty_printer::c_pretty_printer): Do not assign to
4834 unary_expression, multiplicative_expression,
4835 conditional_expression, expression.
4836
027d08ed 48372013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4838
4839 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4840 virtual member function.
4841 (pp_postfix_expression): Adjust.
4842 (pp_c_postfix_expression): Remove.
4843 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4844 from pp_c_postfix_expression. Adjust.
4845 (c_pretty_printer::c_pretty_printer): Do not assign to
4846 postfix_expression.
4847
f873303a 48482013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4849
4850 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4851 virtua member function.
4852 (pp_primary_expression): Adjust.
4853 (pp_c_primary_expression): Remove.
4854 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4855 from pp_c_primary_expression. Adjust.
4856 (pp_c_initializer_list): Use pp_primary_expression.
4857 (c_pretty_printer::c_pretty_printer): Do not assign to
4858 primary_expression.
4859
08e3e481 48602013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4861
4862 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4863 * c-pretty-print.c (M_): Remove.
4864 (c_pretty_printer::translate_string): Define.
4865 (pp_c_type_specifier): Use it.
4866 (pp_c_primary_expression): Likewise.
4867 (pp_c_expression): Likewise.
4868
1fc4a87f 48692013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4870
4871 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4872 virtual function.
4873 (pp_c_id_expression): Remove.
4874 (pp_id_expression): Adjust.
4875 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4876 pp_c_id_expression. Adjust.
4877 (pp_c_postfix_expression): Use pp_id_expression.
4878 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4879
a6cb161b 48802013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4881
4882 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4883 member function.
4884 (pp_constant): Adjust.
4885 (pp_c_constant): Remove.
4886 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4887 pp_c_constant. Adjust.
4888 (pp_c_constant)
4889 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4890 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4891
eed6bc21 48922013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4893
4894 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4895 (c_pretty_printer::c_pretty_printer): Declare.
4896 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4897 c_pretty_printer_init. Adjust.
4898 (print_c_tree): Do not call c_pretty_printer_init.
4899 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4900
df558d2e 49012013-08-09 Arnaud Charlet <charlet@adacore.com>
4902
4903 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4904
42f9a786 49052013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4906
4907 PR c++/58080
4908 * c-common.c (pointer_int_sum): Add bool parameter.
4909 * c-common.h (pointer_int_sum): Adjust declaration.
4910
f874ddad 49112013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4912
4913 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
4914 c_pretty_printer variable.
4915
a94db6b0 49162013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4917
4918 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
4919 (pp_base): Remove.
4920 (pp_c_base): Likewise. Adjust users.
4921 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
4922 (pp_c_whitespace): Do not call pp_base.
4923 (pp_c_left_paren): Likewise.
4924 (pp_c_right_paren): Likewise.
4925 (pp_c_left_brace): Likewise.
4926 (pp_c_right_brace): Likewise.
4927 (pp_c_left_bracket): Likewise.
4928 (pp_c_right_bracket): Likewise.
4929 (pp_c_dot): Likewise.
4930 (pp_c_ampersand): Likewise.
4931 (pp_c_star): Likewise.
4932 (pp_c_arrow): Likewise.
4933 (pp_c_semicolon): Likewise.
4934 (pp_c_complement): Likewise.
4935 (pp_c_exclamation): Likewise.
4936 (pp_c_direct_declarator): Likewise.
4937 (pp_c_ws_string): Likewise.
4938 (pp_c_identifier): Likewise.
4939 (pp_c_statement): Likewise.
4940 (print_c_tree): Likewise.
4941
1898176c 49422013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
4943
4944 PR c++/58072
4945 * c-common.c (c_parse_error): Catch user-defined literal tokens and
4946 provide useful error strings.
4947
70d60d1d 49482013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4949
4950 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
4951 printer functions instead of pp_string or operators and punctuators.
4952 (dump_generic_ada_node): Likewise.
4953 * c-pretty-print.c (pp_c_type_specifier): Likewise.
4954 (pp_c_relational_expression): Likewise.
4955 (pp_c_logical_or_expression): Likewise.
4956
dda4f0ec 49572013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4958
4959 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
4960 functions instead of pp_character.
4961 (pp_ada_tree_identifier): Likewise.
4962 (dump_ada_double_name): Likewise.
4963 (dump_ada_function_declaration): Likewise.
4964 (dump_ada_array_domains): Likewise.
4965 (dump_template_types): Likewise.
4966 (dump_generic_ada_node): Likewise.
4967 (print_ada_declaration): Likewise.
4968 (print_ada_struct_decl): Likewise.
4969 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4970
7aa04c8d 49712013-07-23 Tom Tromey <tromey@redhat.com>
4972
4973 * c-common.h (enum rid) <RID_GENERIC>: New constant.
4974 * c-common.c (c_common_reswords): Add _Generic.
4975
a04e8d62 49762013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
4977
4978 * c-common.c: Fix typos.
4979 * c-common.h: Likewise.
4980
a96c3cc1 49812013-07-13 Lubos Lunak <l.lunak@suse.cz>
4982
4983 PR c++/55203
4984 * c-common.c (c_common_attribute_table): Add warn_unused.
4985 (handle_warn_unused_attribute): New.
4986
da31536d 49872013-07-10 Jakub Jelinek <jakub@redhat.com>
4988
4989 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
4990 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
4991
839f2f70 49922013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
4993
4994 PR c++/57869
4995 * c.opt: Add Wconditionally-supported.
4996
73f353d0 49972013-07-08 Graham Stott <graham.stott@btinternet.com>
4998
1f78217c 4999 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 5000 unused variables l_length and l_node.
5001
21ebaa24 50022013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 5003
5004 PR c/57821
5005 * c-common.c (complete_array_type): Delay folding first index
5006 like other indices. When folding, check for index overflow.
5007
68ea4406 50082013-06-27 Marc Glisse <marc.glisse@inria.fr>
5009
5010 PR c++/57509
5011 * c-common.h (c_build_vec_perm_expr): New complain argument.
5012 * c-common.c (c_build_vec_perm_expr): Likewise.
5013 Use save_expr also in C++.
5014
60777f69 50152013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5016
5017 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5018 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5019 * c-opts.c (c_common_post_options): Likewise.
5020
839f2f70 50212013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 5022
5023 * array-notation-common.c (length_mismatch_in_expr): Changed the
5024 parameter type's from a dynamic array to a vec_tree. Also removed
5025 the size parameters.
5026 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5027 the change above.
5028
e9331eab 50292013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5030
5031 * c-common.h (struct cilkplus_an_parts): New structure.
5032 (struct cilkplus_an_loop_parts): Likewise.
5033 (cilkplus_extract_an_triplets): New prototype.
5034 (fix_sec_implicit_args): Likewise.
5035 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5036 (fix_sec_implicit_args): Likewise.
60777f69 5037
a9c99fc4 50382013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5039
5040 * array-notation-common.c (find_inv_trees): Removed an unwanted
5041 typecasting.
5042 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5043 enum rid to enum tree_code.
5044
f2526cce 50452013-06-11 Jan Hubicka <jh@suse.cz>
5046
5047 * c-common.c (handle_alias_ifunc_attribute): Do not set
5048 DECL_EXTERNAL for weakref variables.
5049 * c-pragma.c (handle_pragma_weak): Make sure aliases
5050 are not declared as external.
5051
09970d67 50522013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5053
5054 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5055 function from c/c-array-notation.c.
5056 (is_cilkplus_reduce_builtin): Likewise.
5057 (find_rank): Likewise.
5058 (extract_array_notation_exprs): Likewise.
5059 (replace_array_notations): Likewise.
5060 (find_inv_trees): Likewise.
5061 (replace_inv_trees): Likewise.
5062 (contains_array_notation_expr): Likewise.
5063 (find_correct_array_notation_type): Likewise.
5064 * c-common.h (struct inv_list): Moved this struct from the file
5065 c/c-array-notation.c and added a new field called additional tcodes.
5066 (length_mismatch_in_expr_p): New prototype.
5067 (is_cilkplus_reduce_builtin): Likewise.
5068 (find_rank): Likewise.
5069 (extract_array_notation_exprs): Likewise.
5070 (replace_array_notation): Likewise.
5071 (find_inv_trees): Likewise.
5072 (replace_inv_trees): Likewise.
5073 (find_correct_array_notation_type): Likewise.
839f2f70 5074
3c6d4197 50752013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5076
5077 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5078 function array_notation_init_builtins is called.
5079 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5080 * c-common.def (ARRAY_NOTATION_REF): New tree.
5081 * c-common.h (build_array_notation_expr): New function declaration.
5082 (build_array_notation_ref): Likewise.
5083 (extract_sec_implicit_index_arg): New extern declaration.
5084 (is_sec_implicit_index_fn): Likewise.
5085 (ARRAY_NOTATION_CHECK): New define.
5086 (ARRAY_NOTATION_ARRAY): Likewise.
5087 (ARRAY_NOTATION_START): Likewise.
5088 (ARRAY_NOTATION_LENGTH): Likewise.
5089 (ARRAY_NOTATION_STRIDE): Likewise.
5090 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5091 ARRAY_NOTATION_REF.
5092 (pp_c_expression): Likewise.
5093 * c.opt (flag_enable_cilkplus): New flag.
5094 * array-notation-common.c: New file.
5095
8e71dad2 50962013-05-14 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR c++/57274
5099 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5100
432dd330 51012013-05-10 Marc Glisse <marc.glisse@inria.fr>
5102
5103 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5104 vectors.
5105
b156ec37 51062013-05-07 Han Shen <shenhan@google.com>
5107
5108 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5109
1a087624 51102013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5111
5112 * c-common.c (check_user_alignment): Emit error for negative values.
5113
1638c736 51142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5115
5116 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5117
949dbf93 51182013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5119
5120 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5121 __GXX_EXPERIMENTAL_CXX1Y__.
5122
9205a6cc 51232013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
a49621cf 5124 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9205a6cc 5125
5126 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5127 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5128 to simply use OPT_Wpointer_arith.
5129 (c_sizeof_or_alignof_type): Likewise.
5130
05d0bce1 51312013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5132
5133 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5134
41609f8b 51352013-04-12 Jakub Jelinek <jakub@redhat.com>
5136
5137 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5138 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5139 specifiers.
5140
c671dc4f 51412013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5142
5143 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5144
ba125576 51452013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5146
5147 * c-common.c (pointer_int_sum): Remove dead code.
5148
9d3fa937 51492013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5150
5151 PR middle-end/56524
5152 * c-common.c (handle_optimize_attribute): Don't call
5153 save_optabs_if_changed.
5154
5ceebb21 51552013-03-05 Jakub Jelinek <jakub@redhat.com>
5156
5157 PR middle-end/56461
5158 * c-pch.c (pch_init): Free target_validity at the end.
5159
18eeed2b 51602013-03-04 Jakub Jelinek <jakub@redhat.com>
5161
5162 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5163
a9196da9 51642013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5165 Jakub Jelinek <jakub@redhat.com>
5166
5167 PR sanitizer/56454
5168 * c-common.c (handle_no_sanitize_address_attribute): New function.
5169 (c_common_attribute_table): Add no_sanitize_address attribute.
5170 (handle_no_address_safety_analysis_attribute): Add
5171 no_sanitize_address attribute, not no_address_safety_analysis
5172 attribute.
5173
15c27dda 51742013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 5175
5176 PR target/52555
5177 * c-common.c (handle_optimize_attribute): Call
5178 save_optabs_if_changed.
5179
19426fe1 51802013-02-18 Jakub Jelinek <jakub@redhat.com>
5181 Steven Bosscher <steven@gcc.gnu.org>
5182
5183 PR pch/54117
5184 * c-opts.c (c_common_post_options): If debug info is enabled
5185 and non-dwarf*, refuse to load PCH files and when writing PCH
5186 file warn.
5187
df936998 51882013-02-05 Jakub Jelinek <jakub@redhat.com>
5189
5190 PR middle-end/56167
5191 * c-common.c (handle_error_attribute): Fix condition.
5192
ae0c3984 51932013-01-30 Jakub Jelinek <jakub@redhat.com>
5194
5195 PR c++/55742
5196 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5197
1c4973d7 51982013-01-18 Jason Merrill <jason@redhat.com>
5199
5200 PR target/54908
5201 * c.opt (-fextern-tls-init): New.
5202 * c-opts.c (c_common_post_options): Handle it.
5203
7c834436 52042013-01-09 Jakub Jelinek <jakub@redhat.com>
5205
5206 PR c/48418
5207 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5208 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5209 and is either negative or bigger or equal to type precision
5210 of the first operand.
5211
5abaa10a 52122012-12-03 Marek Polacek <polacek@redhat.com>
5213
5214 PR c/55570
5215 * c-common.c (check_user_alignment): Swap order of tests,
5216 check TREE_CODE first.
5217
324ca377 52182012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5219
5220 PR c++/52654
5221 * c-common.h (overflow_type): New enum.
5222 (build_userdef_literal): Add overflow_type argument.
5223 (tree_userdef_literal): Add overflow_type.
5224 (USERDEF_LITERAL_OVERFLOW): New access macro.
5225 * c-common.c (build_userdef_literal): Add overflow_type
5226 argument.
5227 * c-lex.c (c_lex_with_flags): Add overflow_type to
5228 build_userdef_literal calls.
5229 (interpret_integer, interpret_float): Add overflow_type argument.
5230
b4c4a429 52312012-11-28 Richard Biener <rguenther@suse.de>
5232
5233 PR c/35634
5234 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5235 here and use a type with proper overflow behavior for types that would
5236 need to be promoted for the arithmetic.
5237
d413ffdd 52382012-11-23 Jakub Jelinek <jakub@redhat.com>
5239
5240 PR sanitizer/55435
5241 * c-common.c (handle_no_address_safety_analysis_attribute): New
5242 function.
5243 (c_common_attribute_table): Add no_address_safety_analysis.
5244
52bc861d 52452012-11-16 Simon Baldwin <simonb@google.com>
5246
5247 * c.opt: Add f[no-]canonical-system-headers.
5248 * c-opts.c (c_common_handle_option): Handle
5249 OPT_fcanonical_system_headers.
5250
2dd00636 52512012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5252
5253 PR c++/54413
5254 * c-opts.c (c_common_handle_option): Set new flags.
5255 * c.opt: Describe new flags.
5256
d4701f6c 52572012-11-09 Jason Merrill <jason@redhat.com>
5258
5259 * c.opt (Wabi-tag): New.
5260
72d65da9 52612012-11-09 Andi Kleen <ak@linux.intel.com>
5262
5263 PR 55139
5264 * c-common.c (get_atomic_generic_size): Mask with
a49621cf 5265 MEMMODEL_MASK
72d65da9 5266
77a357e3 52672012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5268
5269 PR c/53063
5270 * c.opt (Wformat): Make it Alias Wformat=1.
5271 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5272 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5273 LangEnabledBy.
5274 (Wformat=): RejectNegative. Use LangEnabledBy.
5275 (Wnonnull): Use LangEnabledBy.
5276 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5277 * c-format.c (set_Wformat): Delete.
5278 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
a49621cf 5279 (maybe_read_dollar_number): Likewise.
5280 (avoid_dollar_number): Likewise.
5281 (finish_dollar_format_checking): Likewise.
5282 (check_format_info): Likewise.
5283 (check_format_info_main): Likewise.
5284 (check_format_types): Likewise.
5285 (format_type_warning): Likewise.
5286 * c-common.c (int): Likewise.
5287 (check_function_sentinel): Likewise.
5288 * c-common.h (warn_format,set_Wformat): Do not declare here.
77a357e3 5289
45efa6b9 52902012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5291
5292 PR c/53063
5293 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5294 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5295 Use LangEnabledBy.
5296 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5297 common.opt.
5298 (Wvariadic-macros): Init(1).
5299 * c-opts.c (c_common_handle_option): Do not handle them
5300 explicitly.
5301 (c_common_post_options): Likewise.
5302 (sanitize_cpp_opts): warn_unused_macros is now
5303 cpp_warn_unused_macros.
5304 (push_command_line_include): Likewise.
5305 * c-common.c (warn_unknown_pragmas): Do not define.
5306 * c-common.h (warn_unknown_pragmas): Do not declare.
5307
0e4e775a 53082012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5309
5310 PR c/51294
5311 * c-common.c (conversion_warning): Handle conditional expressions.
5312
8b447d3f 53132012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5314
5315 PR c++/54930
5316 * c.opt (Wreturn_local_addr): Define new option.
5317
f4a61754 53182012-10-25 Jason Merrill <jason@redhat.com>
5319
ecb10e6a 5320 * c.opt (Wvirtual-move-assign): New.
5321
f4a61754 5322 * c.opt (Winherited-variadic-ctor): New.
5323
7b463b19 53242012-10-25 Marc Glisse <marc.glisse@inria.fr>
5325
5326 PR c++/54427
5327 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5328
6adc88f8 53292012-10-23 Joseph Myers <joseph@codesourcery.com>
5330
5331 * c-common.h (pch_cpp_save_state): Declare.
5332 * c-target.def (c_preinclude): New hook.
5333 * c-opts.c (done_preinclude): New.
5334 (push_command_line_include): Handle default preincluded header.
5335 (cb_file_change): Call pch_cpp_save_state when calling
5336 push_command_line_include.
5337 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5338 (pch_cpp_save_state): New.
5339 (pch_init): Call pch_cpp_save_state conditionally, instead of
5340 calling cpp_save_state.
5341
fa816b0b 53422012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5343
5344 PR c/53063
5345 PR c/40989
5346 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5347 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5348 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5349 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5350 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5351 * c-opts.c (c_common_handle_option): Remove explicit handling from
5352 here.
5353 (c_common_post_options): Likewise.
5354
d214ccee 53552012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5356
5357 * c-ada-spec.c (LOCATION_COL): Delete.
5358 (compare_location): New function.
5359 (compare_node): Use it.
5360 (compare_comment): Likewise.
5361
77b27208 53622012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5363
5364 PR c/53063
5365 PR c/40989
5366 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5367 * c-opts.c (c_common_handle_option): Do not set them here. Add
5368 comment.
5369 (c_common_post_options): Likewise.
5370
cc02ca4d 53712012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5372
5373 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5374 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5375 Remove POINTER_TYPE handling, add large unsigned handling and use
5376 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5377
57f872a2 53782012-10-12 Jakub Jelinek <jakub@redhat.com>
5379
5380 PR c/54381
5381 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5382 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5383 locs and array of 3 trees instead of just single loc and single
5384 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5385 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5386 For *cmp* builtins that take two sources strings report warnings
5387 about first and second source, not about destination and source.
5388
7354ad2e 53892012-10-12 Marc Glisse <marc.glisse@inria.fr>
5390
5391 PR c++/53055
5392 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5393
1ac7f120 53942012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5395
5396 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5397 declaring something coming from another file.
5398
1e0cc9e3 53992012-10-10 Arnaud Charlet <charlet@adacore.com>
5400
1ac7f120 5401 PR ada/54845
1e0cc9e3 5402 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5403
b0e7825e 54042012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5405
5406 PR c++/54194
5407 * c-common.c (warn_about_parentheses): Add location_t parameter;
5408 use EXPR_LOC_OR_LOC.
5409 * c-common.h: Update declaration.
5410
41ed701a 54112012-10-09 Marc Glisse <marc.glisse@inria.fr>
5412
5413 PR c++/54427
5414 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5415 more operations. Make error messages optional.
5416 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5417 (scalar_to_vector): Declare.
5418
3740094c 54192012-10-08 Jason Merrill <jason@redhat.com>
5420
5421 * c-common.c (c_common_reswords): Add thread_local.
5422
ffcdbf9c 54232012-10-08 Dodji Seketeli <dodji@redhat.com>
5424
5425 PR c++/53528 C++11 attribute support
5426 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5427 new functions.
5428 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5429 static function.
5430 (handle_aligned_attribute): In choose strictest alignment
5431 among many. Use new check_cxx_fundamental_alignment_constraints.
5432 (handle_transparent_union_attribute): In c++11 attribute syntax,
5433 don't look through typedefs.
5434
ef34afc1 54352012-10-04 Arnaud Charlet <charlet@adacore.com>
5436
5437 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5438 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5439 out of dumpfile.h.
5440
f1ff4562 54412012-09-25 Dehao Chen <dehao@google.com>
5442
5443 PR middle-end/54645
ef34afc1 5444 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 5445 map when read in the pch.
5446
92a44a68 54472012-09-18 Arnaud Charlet <charlet@adacore.com>
735538a1 5448
5449 * c-ada-spec.c: Style fixes.
5450
92a44a68 54512012-09-18 Thomas Quinot <quinot@adacore.com>
9120cdc8 5452
5453 * c.opt (-fada-spec-parent): Define new command line switch.
5454 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5455 is specified, generate binding spec as a child of the specified unit.
5456
8eba82c2 54572012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5458 Manuel López-Ibáñez <manu@gcc.gnu.org>
5459
5460 PR c++/53210
5461 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5462
38682990 54632012-08-23 Arnaud Charlet <charlet@adacore.com>
5464
5465 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5466 for pointers, and add missing Convention C pragma.
5467 (print_ada_struct_decl): Add missing aliased keyword.
5468 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5469
f003f5dc 54702012-08-17 Jakub Jelinek <jakub@redhat.com>
5471
5472 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5473 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5474 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5475 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5476 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5477
ec11736b 54782012-08-10 Richard Guenther <rguenther@suse.de>
5479
5480 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5481
5f7f600e 54822012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5483
5484 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5485 instead of separate pp_newline and pp_flush.
5486 (print_c_tree): Likewise.
5487
758a38ab 54882012-07-26 Richard Henderson <rth@redhat.com>
5489
5490 * c-common.c (handle_hot_attribute): Allow labels.
5491 (handle_cold_attribute): Likewise.
5492
9ca77b08 54932012-07-20 Jakub Jelinek <jakub@redhat.com>
5494
5495 PR c++/28656
5496 * c-common.c (check_function_nonnull): Handle multiple nonnull
5497 attributes properly.
5498
b9ed1410 54992012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5500
5501 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5502 * c-ada-spec.c: Likewise.
5503 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5504
c2a65b90 55052012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5506
5507 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5508 Remove code conditional on it.
5509
88c5a1d1 55102012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5511
5512 * c-gimplify.c: Do not include basic-block.h.
5513 * c-common.c: Do not include linfuncs.h.
5514
4a020a8c 55152012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5516
5517 * c-common.h: Include tree.h.
5518
c28ddc97 55192012-07-02 Jason Merrill <jason@redhat.com>
5520
5521 PR c++/53524
5522 * c-common.c (get_priority): Call default_conversion.
5523
405ed67f 55242012-07-01 Uros Bizjak <ubizjak@gmail.com>
5525
5526 * c-pch.c (c_common_write_pch): Remove unused variables.
5527
e53d55e7 55282012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5529
5530 * cppspec.c: Moved from gcc/ to here.
5531
3d9c25ec 55322012-06-27 Kai Tietz <ktietz@redhat.com>
5533
5534 PR preprocessor/37215
5535 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5536
3169c57a 55372012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5538
5539 * c-common.h (c_common_print_pch_checksum): Remove.
5540 * c-pch.c: Do not include output.h.
5541 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5542 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5543 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5544 (struct c_pch_header): Remove.
5545 (get_ident): Update gpch version.
5546 (pch_init): Do not print executable_checksum to asm_out_file.
5547 Do not fail if there is no asm_out_file to read back from. Set
5548 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5549 (c_common_write_pch): Verify that nothing was written to asm_out_file
5550 since pch_init was called. Do not write a c_pch_header, and do not
5551 copy from asm_out_file to the PCH.
5552 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5553 the content of asm_out_file from the PCH.
5554 (c_common_print_pch_checksum): Remove.
5555 * c-opts.c (c_common_init): Print out executable_checksum directly.
5556
ff6624bc 55572012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5558
5559 * c-target.def (objc_declare_unresolved_class_reference,
5560 objc_declare_class_definition): Add new hooks.
5561
367b1459 55622012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5563
5564 * c-lex.c: Do not include output.h.
5565 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5566 Remove uses of ASM_OUTPUT_IDENT.
5567
bf0cb017 55682012-06-15 Marc Glisse <marc.glisse@inria.fr>
5569
5570 PR c++/51033
5571 * c-common.h (c_build_vec_perm_expr): Move decl here.
5572 * c-common.c (c_build_vec_perm_expr): Move definition
5573 here.
5574
b37a3600 55752012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5576
5577 * c.opt (fconserve-space): Turn into a no-op.
5578
19931eea 55792012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 5580
5581 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5582 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5583 both the start and end of the function.
5584
dff12c10 55852012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5586
5587 * c-common.c: Do not include output.h.
5588 * c-pragma.c: Likewise.
5589
5f9e7dd5 55902012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5591
5592 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5593 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5594 (lang_decl_name): Handle namespace decls.
5595
b5369b7d 55962012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5597
5598 * c-ada-spec.c: Do not include output.h.
5599 * c-semantics.c: Likewise.
5600
8032877c 56012012-05-29 Joseph Myers <joseph@codesourcery.com>
5602
5603 * c-common.c: Fix typo.
5604
7843e4bc 56052012-05-29 Michael Matz <matz@suse.de>
5606
5607 * c-common.h (c_expand_decl): Remove prototype.
5608
8cf857d4 56092012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5610
5611 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5612 * c-opts.c (c_common_handle_option): Remove code handling
5613 warn_missing_braces.
5614
8b64dc3c 56152012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5616
5617 PR c++/25137
5618 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5619 -Wmissing_braces.
5620
43cbde16 56212012-05-22 Dodji Seketeli <dodji@redhat.com>
5622
5623 PR c++/53322
5624 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5625
db490cb6 56262012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5627
5628 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5629 * c-opts.c (c_common_handle_option): Do not handle explicitly
5630 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5631
a60f3e81 56322012-05-16 Dodji Seketeli <dodji@redhat.com>
5633
5634 PR preprocessor/7263
5635 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5636 to cpp_classify_number. For diagnostics, use the precise location
5637 instead of the global input_location.
5638
82e6ef7c 56392012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5640
cd4797ff 5641 PR c++/11856
82e6ef7c 5642 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5643
258a168d 56442012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5645
82e6ef7c 5646 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 5647
d3b7ee7c 56482012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5649
5650 PR 53063
5651 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5652 Wreorder): Use LangEnabledBy.
5653 * c-opts.c (c_common_handle_option): Do not enable them
5654 explicitly. Call lang-specific generated functions.
5655 (c_common_post_options): Do not set them here.
5656
70059cea 56572012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5658
5659 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5660 Wmissing-field-initializers,Wmissing-parameter-type,
5661 Wold-style-declaration,Woverride-init): Use EnabledBy.
5662 * c-opts.c (c_common_post_options): Do not set here explicitly.
5663
fbb6fbd8 56642012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5665
5666 PR 53063
5667 * c-opts.c (c_common_handle_option): Use handle_generated_option
5668 to enable sub-options.
5669
61f69bc9 56702012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5671
5672 PR c++/53158
5673 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5674
5a1fe2db 56752012-05-10 Richard Guenther <rguenther@suse.de>
5676
5677 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5678 adjust commentary about TYPE_IS_SIZETYPE types.
5679
d42e7c5a 56802012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5681
5682 PR c++/53261
5683 * c-common.c (warn_logical_operator): Check that argument of
5684 integer_zerop is not NULL.
5685
686369e8 56862012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5687
5688 PR c/43772
5689 * c-common.c (warn_logical_operator): Do not warn if either side
5690 is already true or false.
5691
03fe1dc2 56922012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5693
5694 PR c/51712
5695 * c-common.c (expr_original_type): New.
5696 (shorten_compare): Do not warn for enumeration types.
5697
bba5a206 56982012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5699
5700 * c.opt (fpermissive): Add Var(flag_permissive).
5701
7059d45d 57022012-04-30 Marc Glisse <marc.glisse@inria.fr>
5703
5704 PR c++/51033
5705 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5706 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5707
7edb1062 57082012-04-30 Dodji Seketeli <dodji@redhat.com>
5709
5710 Add -Wvarargs option
5711 * c.opt (Wvarargs): Define new option.
5712
068bea1e 57132012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5714
5715 * c-common.c (check_function_arguments): Replace
5716 Wmissing-format-attribute with Wsuggest-attribute=format.
5717
b86527d8 57182012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5719
5720 * c.opt (Wsuggest-attribute=format): New. Alias of
5721 Wmissing-format-attribute.
5722 * c-format.c (decode_format_type): Replace
5723 Wmissing-format-attribute with Wsuggest-attribute=format.
5724 (check_function_format): Likewise.
5725
19931eea 57262012-04-27 Ollie Wild <aaw@google.com>
76d340ac 5727
5728 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5729 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5730 * c.opt: Add Wliteral-suffix.
5731
29438999 57322012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5733
5734 PR c/44774
5735 * c.opt (Wpedantic): New.
5736 (pedantic): Alias Wpedantic.
5737 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5738 (c_common_post_options): Likewise.
5739 (sanitize_cpp_opts): Likewise.
5740 * c-lex.c (interpret_float): Likewise.
5741 * c-format.c (check_format_types): Likewise.
5742 * c-common.c (pointer_int_sum): Likewise.
5743 (c_sizeof_or_alignof_type): Likewise.
5744 (c_add_case_label): Likewise.
5745 (c_do_switch_warnings): Likewise.
5746 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5747
4f9d6b8b 57482012-04-15 Jason Merrill <jason@redhat.com>
5749
5750 PR c++/52818
5751 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5752 (C_STD_NAME): Distinguish between C++98 and C++11.
5753
74bdbe96 57542012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5755
5756 PR target/52624
5757 * c-common.h (uint16_type_node): Rename into...
5758 (c_uint16_type_node): ...this.
5759 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5760 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5761
3d177e8c 57622012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5763
5764 * c-common.c (warn_if_unused_value): Move definition to here.
5765 * c-common.h (warn_if_unused_value): Move declaration to here.
5766
6a9a958f 57672012-03-23 William Bader <williambader@hotmail.com>
5768
5769 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5770
543efdbe 57712012-03-20 Jason Merrill <jason@redhat.com>
5772
5773 * c-common.h (enum cxx_dialect): Add cxx1y.
5774 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5775 test.
5776 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5777 * c-opts.c (c_common_post_options): Likewise.
5778 (set_std_cxx1y): New.
5779 (c_common_handle_option): Call it.
5780 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5781
62206d34 57822012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5783
5784 PR c++/14710
5785 * c.opt ([Wuseless-cast]): Add.
5786
fadf62f4 57872012-03-16 Richard Guenther <rguenther@suse.de>
5788
5789 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5790
249faa35 57912012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5792
5793 PR c++/44783
5794 * c.opt (ftemplate-backtrace-limit) Add.
5795
126b6848 57962012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5797
5798 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5799 handling.
5800 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5801 (init_pragma): Don't register extern_prefix.
5802
a51edb4c 58032012-03-12 Richard Guenther <rguenther@suse.de>
5804
5805 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5806 (builtin_type_for_size): Likewise.
5807
0f6a7cb7 58082012-02-13 Jakub Jelinek <jakub@redhat.com>
5809
5810 PR c++/52215
5811 * c-common.c (sync_resolve_params): Don't decide whether to convert
5812 or not based on TYPE_SIZE comparison, convert whenever arg_type
5813 is unsigned INTEGER_TYPE.
5814
0779e32c 58152012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5816
5817 PR c/52118
5818 * c.opt ([Wunused-local-typedefs]): Fix description.
5819
baec58e1 58202012-01-24 Mike Stump <mikestump@comcast.net>
5821
5822 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5823 exactly.
5824
c779d8cc 58252012-01-18 Richard Guenther <rguenther@suse.de>
5826
5827 * c-opts.c (c_common_post_options): Reset LTO flags if
5828 we are about to generate a PCH.
5829
ee917d24 58302012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5831
5832 PR c++/51777
5833 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5834 use pp_unsigned_wide_integer.
5835
90e2341f 58362012-01-10 Richard Guenther <rguenther@suse.de>
5837
5838 PR middle-end/51806
5839 * c-opts.c (c_common_handle_option): Move -Werror handling
5840 to language independent code.
5841
9ea022ce 58422012-01-05 Richard Guenther <rguenther@suse.de>
5843
5844 PR middle-end/51764
5845 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5846 from common.opt.
5847
3df19e1b 58482011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5849
5850 PR c++/51316
5851 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5852 of array types with an unknown bound.
5853
32074525 58542011-12-20 Joseph Myers <joseph@codesourcery.com>
5855
5856 * c-common.c (flag_isoc99): Update comment to refer to C11.
5857 (flag_isoc1x): Change to flag_isoc11.
5858 * c-common.h (flag_isoc99): Update comment to refer to C11.
5859 (flag_isoc1x): Change to flag_isoc11.
5860 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5861 C11.
5862 * c-opts.c (set_std_c1x): Change to set_std_c11.
5863 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5864 Call set_std_c11.
5865 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5866 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5867 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5868 standard.
5869 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5870 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5871 (std=gnu1x): Make alias of std=gnu11.
5872
fca86134 58732011-12-19 Jason Merrill <jason@redhat.com>
5874
5875 PR c++/51228
5876 * c-common.c (handle_transparent_union_attribute): Check the first
5877 field if the type is complete.
5878
aa4313eb 58792011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5880
5881 PR libstdc++/51365
5882 * c-common.c (RID_IS_FINAL): Add.
5883 * c-common.h (RID_IS_FINAL): Add.
5884
3f3d5ad4 58852011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5886
5887 * c.opt (fgnu-runtime): Provide full description.
5888 (fnext-runtime): Likewise.
5889 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5890
c4606d19 58912011-11-28 Andrew MacLeod <amacleod@redhat.com>
5892
5893 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5894 predefines in one place. Add LOCK_FREE predefines.
5895 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5896 new func.
5897
1d581089 58982011-11-24 Andrew MacLeod <amacleod@redhat.com>
5899
5900 PR c/51256
19931eea 5901 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 5902 conditions
19931eea 5903 (resolve_overloaded_atomic_exchange,
5904 resolve_overloaded_atomic_compare_exchange,
1d581089 5905 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5906 error_mark_node for error conditions.
19931eea 5907
6aa221fa 59082011-11-08 Richard Guenther <rguenther@suse.de>
5909
5910 PR middle-end/51010
5911 c-family/
5912
4c0315d0 59132011-11-07 Richard Henderson <rth@redhat.com>
5914 Aldy Hernandez <aldyh@redhat.com>
5915 Torvald Riegel <triegel@redhat.com>
5916
5917 Merged from transactional-memory.
5918
5919 * c-common.c (handle_tm_wrap_attribute,
5920 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
5921 (struct c_common_reswords): Added __transaction* keywords.
5922 (struct c_common_attribute_table): Added transaction* and tm_regparm
5923 attributes.
5924 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
5925 masks.
5926 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
5927 find_tm_attribute): Declare.
5928
920f5a70 59292011-11-07 Jason Merrill <jason@redhat.com>
5930
5931 PR c++/35688
5932 * c-common.c, c-common.h: Revert yesterday's changes.
5933
b4f861b4 59342011-11-06 Jason Merrill <jason@redhat.com>
5935
5936 PR c++/35688
5937 * c-common.c (decl_has_visibility_attr): Split out from...
5938 (c_determine_visibility): ...here.
5939 * c-common.h: Declare it.
5940
83e25171 59412011-11-06 Joseph Myers <joseph@codesourcery.com>
5942
5943 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
5944 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
5945 type.
5946 (check_user_alignment): New. Split out of
5947 handle_aligned_attribute. Disallow integer constants with
5948 noninteger types. Conditionally allow zero.
5949 (handle_aligned_attribute): Use check_user_alignment.
5950 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
5951
1cd6e20d 59522011-11-06 Andrew MacLeod <amacleod@redhat.com>
5953 Richard Henderson <rth@redhat.com>
5954
5955 Merged from cxx-mem-model.
5956
5957 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 5958 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 5959 parameters that are the same type size.
5960 (get_atomic_generic_size): New. Find size of generic
5961 atomic function parameters and do typechecking.
5962 (add_atomic_size_parameter): New. Insert size into parameter list.
5963 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
5964 either __atomic_exchange_n or external library call.
19931eea 5965 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 5966 __atomic_compare_exchange to either _n variant or external library call.
19931eea 5967 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 5968 __atomic_load_n or an external library call.
5969 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
5970 __atomic_store_n or an external library call.
5971 (resolve_overloaded_builtin): Handle new __atomic builtins.
5972
7549df0d 59732011-11-04 Eric Botcazou <ebotcazou@adacore.com>
5974
5975 PR c++/50608
5976 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
5977 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
5978 <INDIRECT_REF>: Return the argument.
5979 <ARRAY_REF>: Remove special code for negative offset.
5980 Call fold_build_pointer_plus instead of size_binop.
5981 (fold_offsetof): Remove STOP_REF argument and adjust.
5982 * c-common.h (fold_offsetof_1): Declare.
5983 (fold_offsetof): Remove STOP_REF argument.
5984
7e783eb3 59852011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
5986
5987 PR c++/50810
5988 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
5989 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
5990 Wnarrowing for C++0x and C++98.
5991 * c.opt ([Wnarrowing]): Update.
5992
8fe701f5 59932011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
5994
5995 PR c++/44277
5996 * c.opt: Add Wzero-as-null-pointer-constant.
5997
0d84dc2d 59982011-10-31 Jason Merrill <jason@redhat.com>
5999
67031f52 6000 * c.opt (-fdeduce-init-list): Off by default.
6001
0d84dc2d 6002 PR c++/50920
6003 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6004 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6005 and -Wc++11-compat.
6006 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6007
66f24c41 60082011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6009
6010 PR c++/30066
6011 * c.opt (fvisibility-inlines-hidden): Description change.
6012
244db24d 60132011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6014
6015 Implement C++11 user-defined literals.
6016 * c-common.c (build_userdef_literal): New.
6017 * c-common.def: New tree code.
6018 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6019 * c-lex.c (interpret_float): Add suffix parm.
6020 (c_lex_with_flags): Build literal tokens.
6021
235be70f 60222011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6023
6024 PR c++/50841
6025 Revert:
6026 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6027
6028 PR c++/50810
6029 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6030 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6031 Wnarrowing for C++0x and C++98.
6032 * c.opt ([Wnarrowing]): Update.
6033
4fe0fb1c 60342011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6035
6036 PR c++/50810
6037 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6038 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6039 Wnarrowing for C++0x and C++98.
6040 * c.opt ([Wnarrowing]): Update.
6041
5f7504f9 60422011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6043
6044 PR c++/45385
6045 * c-common.c (conversion_warning): Remove code looking for
6046 artificial operands.
6047
2a688977 60482011-10-18 Dodji Seketeli <dodji@redhat.com>
6049
6050 PR bootstrap/50760
6051 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 6052 !NO_IMPLICIT_EXTERN_C.
2a688977 6053
326e3391 60542011-10-17 Michael Spertus <mike_spertus@symantec.com>
6055
6056 * c-common.c (c_common_reswords): Add __bases,
6057 __direct_bases.
6058 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6059
60602011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6061
6062 PR c++/50757
6063 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6064
62db153a 60652011-10-15 Tom Tromey <tromey@redhat.com>
6066 Dodji Seketeli <dodji@redhat.com>
6067
6068 * c.opt (fdebug-cpp): New option.
6069 * c-opts.c (c_common_handle_option): Handle the option.
6070 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6071 output stream in parameter. Factorized from ...
6072 (maybe_print_line): ... this. Dump location debug information when
6073 -fdebug-cpp is in effect.
6074 (print_line_1): New static function. Takes an output stream in
6075 parameter. Factorized from ...
6076 (print_line): ... here. Dump location information when -fdebug-cpp
6077 is in effect.
6078 (scan_translation_unit): Dump location information when
6079 -fdebug-cpp is in effect.
6080
ce70f433 60812011-10-15 Tom Tromey <tromey@redhat.com>
6082 Dodji Seketeli <dodji@redhat.com>
6083
6084 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6085 without argument.
6086 * c-opts.c (c_common_handle_option)<case
6087 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6088 cases. Handle -ftrack-macro-expansion with and without argument.
6089
97bfb9ef 60902011-10-15 Tom Tromey <tromey@redhat.com>
6091 Dodji Seketeli <dodji@redhat.com>
6092
6093 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6094 (print_line, cb_define, do_line_change): Adjust to avoid touching
6095 the internals of struct line_map. Use the public API instead.
6096 * c-pch.c (c_common_read_pch): Likewise.
6097 * c-lex.c (fe_file_change): Likewise.
6098
326e3391 60992011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6100
6101 PR c++/17212
6102 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6103
61042011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6105
6106 PR c++/33067
6107 * c-pretty-print.c (pp_c_floating_constant): Output
6108 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6109
b9a16870 61102011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6111
6112 * c-common.c (def_builtin_1): Delete old interface with two
6113 parallel arrays to hold standard builtin declarations, and replace
6114 it with a function based interface that can support creating
6115 builtins on the fly in the future. Change all uses, and poison
6116 the old names. Make sure 0 is not a legitimate builtin index.
6117 * c-omp.c (c_finish_omp_barrier): Ditto.
6118 (c_finish_omp_taskwait): Ditto.
6119 (c_finish_omp_flush): Ditto.
6120
c7964868 61212011-10-11 Tristan Gingold <gingold@adacore.com>
6122
6123 * c.opt: (fallow-parameterless-variadic-functions): New.
6124
a4e3ffad 61252011-09-08 Dodji Seketeli <dodji@redhat.com>
6126
6127 PR c++/33255 - Support -Wunused-local-typedefs warning
6128 * c-common.h (struct c_language_function::local_typedefs): New
6129 field.
19931eea 6130 (record_locally_defined_typedef, maybe_record_typedef_use)
6131 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 6132 * c-common.c (record_locally_defined_typedef)
19931eea 6133 (maybe_record_typedef_use)
6134 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 6135 * c.opt: Declare new -Wunused-local-typedefs flag.
6136
737a23cc 61372011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6138
6139 PR middle-end/50266
6140 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6141 computations.
6142
7542c3b4 61432011-09-05 Richard Guenther <rguenther@suse.de>
6144
6145 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6146 of integer_minus_one_node for empty array upper bounds.
6147
1dc92c59 61482011-08-28 Dodji Seketeli <dodji@redhat.com>
6149
6150 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6151 it's the first time it's being called on this main TU.
6152
2bdf2b6e 61532011-08-24 Richard Guenther <rguenther@suse.de>
6154
6155 PR c/49396
6156 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6157
61582011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 6159
6160 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6161 defined in cpp_init_builtins and c_cpp_builtins.
6162
bff4ad11 61632011-08-19 Joseph Myers <joseph@codesourcery.com>
6164
6165 * c-common.c (c_common_reswords): Add __builtin_complex.
6166 * c-common.h (RID_BUILTIN_COMPLEX): New.
6167
985c6e3a 61682011-08-18 Joseph Myers <joseph@codesourcery.com>
6169
6170 * c-common.c (c_common_reswords): Add _Noreturn.
6171 (keyword_is_function_specifier): Handle RID_NORETURN.
6172 * c-common.h (RID_NORETURN): New.
6173
92a44a68 61742011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7dfa155b 6175
6176 * c-common.c (unsafe_conversion_p): New function. Check if it is
6177 unsafe to convert an expression to the type.
6178 (conversion_warning): Adjust, use unsafe_conversion_p.
6179 * c-common.h (unsafe_conversion_p): New function declaration.
6180
2169f33b 61812011-08-02 Jakub Jelinek <jakub@redhat.com>
6182
6183 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6184 (c_finish_omp_taskyield): New prototype.
6185 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6186 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6187 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6188 or RHS1 have side-effects, evaluate those too in the right spot,
6189 if it is a decl and LHS is also a decl, error out if they
6190 aren't the same.
6191 (c_finish_omp_taskyield): New function.
6192 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6193 * c-pragma.c (omp_pragmas): Add taskyield.
6194 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6195 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6196 PRAGMA_OMP_CLAUSE_MERGEABLE.
6197
ab77850e 61982011-07-25 Dodji Seketeli <dodji@redhat.com>
6199
6200 * c-common.h (set_underlying_type): Remove parm name from
6201 declaration.
6202
6ee97920 62032011-07-25 Romain Geissler <romain.geissler@gmail.com>
6204
6205 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 6206
dc251364 62072011-07-22 Jason Merrill <jason@redhat.com>
6208
1a2a35f0 6209 PR c++/49793
6210 * c.opt (Wnarrowing): New.
6211
27282252 6212 PR c++/30112
6213 * c-common.h: Declare c_linkage_bindings.
6214 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6215
dc251364 6216 PR c++/49813
6217 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6218 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6219 as flag_isoc99 for 'restrict'.
6220 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6221
fc501191 62222011-07-21 Ian Lance Taylor <iant@google.com>
6223
6224 PR middle-end/49705
6225 * c-common.c (c_disable_warnings): New static function.
6226 (c_enable_warnings): New static function.
6227 (c_fully_fold_internal): Change local unused_p to bool. Call
6228 c_disable_warnings and c_enable_warnings rather than change
6229 c_inhibit_evaluation_warnings.
6230
07b8f133 62312011-07-20 Jason Merrill <jason@redhat.com>
6232
6233 PR c++/6709 (DR 743)
6234 PR c++/42603 (DR 950)
6235 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6236 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6237 (CPP_DECLTYPE): New.
6238 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6239
2cc66f2a 62402011-07-19 Richard Guenther <rguenther@suse.de>
6241
6242 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6243 * c-omp.c (c_finish_omp_for): Likewise.
6244
3c802a1e 62452011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6246
6247 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6248 body on the next line.
6249
98a33d9f 62502011-07-08 Jason Merrill <jason@redhat.com>
6251
3115bda0 6252 PR c++/45437
6253 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6254
98a33d9f 6255 PR c++/49673
6256 * c-common.c (c_apply_type_quals_to_decl): Don't check
6257 TYPE_NEEDS_CONSTRUCTING.
6258
c38a75b7 62592011-07-06 Richard Guenther <rguenther@suse.de>
6260
6261 * c-common.c (c_common_nodes_and_builtins):
6262 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6263
e593356b 62642011-07-05 Richard Guenther <rguenther@suse.de>
6265
6266 * c-common.c (c_common_nodes_and_builtins): Build all common
6267 tree nodes first.
6268
fca0886c 62692011-06-27 Jakub Jelinek <jakub@redhat.com>
6270
a68f7a8d 6271 * c-common.h (c_tree_chain_next): New static inline function.
6272
fca0886c 6273 * c-common.c (check_builtin_function_arguments): Handle
6274 BUILT_IN_ASSUME_ALIGNED.
6275
2797f13a 62762011-06-21 Andrew MacLeod <amacleod@redhat.com>
6277
6278 * c-common.c: Add sync_ or SYNC__ to builtin names.
6279 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 6280
62812011-06-20 Pierre Vittet <piervit@pvittet.com>
6282
6283 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6284 handler.
6285 (gen_pragma_handler): New union.
6286 (internal_pragma_handler): New type.
6287 (c_register_pragma_with_data)
6288 (c_register_pragma_with_expansion_and_data): New functions.
6289
6290 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6291 (c_register_pragma, c_register_pragma_with_expansion)
6292 (c_invoke_pragma_handler): Changed to work with
6293 internal_pragma_handler.
6294 (c_register_pragma_with_data)
6295 (c_register_pragma_with_expansion_and_data): New functions.
6296
218e3e4e 62972011-06-14 Joseph Myers <joseph@codesourcery.com>
6298
6299 * c-common.c: Include common/common-target.h.
6300 (handle_section_attribute): Use
6301 targetm_common.have_named_sections.
6302 * c-cppbuiltin.c: Include common/common-target.h.
6303 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6304
41e53ed2 63052011-06-10 Richard Guenther <rguenther@suse.de>
6306
6307 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6308 to print a IDENTIFIER_NODE.
6309
a6f06169 63102011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6311 Joseph Myers <joseph@codesourcery.com>
6312
6313 * c.opt (fbuilding-libgcc): New option.
6314 * c-cppbuiltin.c (c_cpp_builtins): Define
6315 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6316
1ea9269b 63172011-06-07 Jason Merrill <jason@redhat.com>
6318
8ce59854 6319 * c-common.c (max_tinst_depth): Lower default to 900.
6320
1ea9269b 6321 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6322
1af0124d 63232011-06-07 Richard Guenther <rguenther@suse.de>
6324
6325 * c-common.c (c_common_nodes_and_builtins): Do not set
6326 size_type_node or call set_sizetype.
6327
0e9a4c01 63282011-06-07 Dodji Seketeli <dodji@redhat.com>
6329
6330 PR debug/49130
6331 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 6332 type when using pointer comparison to compare types.
0e9a4c01 6333
90b40725 63342011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6335
6336 * c.opt: Add -Wdelete-non-virtual-dtor.
6337 * c-opts.c (c_common_handle_option): Include it in -Wall.
6338
fc9c9e87 63392011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6340
6341 PR bootstrap/49190
6342
6343 Revert:
6344 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6345
6346 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6347 not tree_common.
6348
d0389adc 63492011-05-27 Jakub Jelinek <jakub@redhat.com>
6350
6351 PR c++/49165
6352 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6353 C++ don't call c_common_truthvalue_conversion on void type arms.
6354
cacfdc02 63552011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6356
6357 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6358 (stmt_list_stack): Define.
6359 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6360 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6361
027fc6ef 63622011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6363
6364 * c-common.c (warning_candidate_p): Check for BLOCKs.
6365
f21317a1 63662011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6367
6368 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6369 not tree_common.
6370
789e953d 63712011-05-25 Jakub Jelinek <jakub@redhat.com>
6372
6373 * c-common.c (def_fn_type): Remove extra va_end.
6374
7f506bca 63752011-05-23 Jason Merrill <jason@redhat.com>
6376
6377 PR c++/48106
6378 * c-common.c (c_common_get_narrower): New.
6379 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6380
774e9d58 63812011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6382
6383 * c-common.h (check_function_arguments): Tweak prototype of
6384 check_function_arguments.
6385 * c-common.c (check_function_arguments): Likewise. Adjust
6386 calls to check_function_nonnull, check_function_format, and
6387 check_function_sentinel.
6388 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6389 separate attributes and typelist arguments. Use
6390 FOREACH_FUNCTION_ARGS to iterate over argument types.
6391
23407dc9 63922011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6393
6394 * c-common.c (c_common_reswords): Reorder.
6395 * c-common.h (rid): Likewise.
6396
3a939d12 63972011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6398
6399 * c-common.c (def_fn_type): Don't call build_function_type, call
6400 build_function_type_array or build_varargs_function_type_array
6401 instead.
6402 (c_common_nodes_and_builtins): Likewise.
6403
b6e3dd65 64042011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6405
6406 * c-common.c (c_add_case_label): Omit the loc argument to
6407 build_case_label.
6408 * c-common.h (build_case_label): Remove.
6409 * c-semantics.c (build_case_label): Remove.
6410
4232a958 64112011-05-05 Joseph Myers <joseph@codesourcery.com>
6412
6413 * c-objc.h (objc_start_method_definition): Update prototype.
6414 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6415
d0af78c5 64162011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6417
6418 * c-common.c (check_main_parameter_types): Reindent. Don't use
6419 TYPE_ARG_TYPES directly.
6420 (handle_nonnull_attribute): Likewise.
6421 (sync_resolve_params): Likewise.
6422 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6423 to check_format_string.
6424 (handle_format_attribute): Likewise.
6425 (check_format_string): Take a function type to examine instead of
6426 a type list. Use a function_arg_iterator to step through argument
6427 types.
6428
ceb7b692 64292011-05-04 Richard Guenther <rguenther@suse.de>
6430
6431 * c-common.c (fix_string_type): Use size_int for index type bounds.
6432 (start_fname_decls): Do not pass NULL to build_int_cst.
6433 (c_init_attributes): Likewise.
6434 * c-lex.c (c_lex_with_flags): Likewise.
6435
c66c81be 64362011-04-27 Jason Merrill <jason@redhat.com>
6437
6438 * c-common.c (make_tree_vector_from_list): New.
6439 * c-common.h: Declare it.
6440
16930c72 64412011-04-26 Richard Guenther <rguenther@suse.de>
6442
6443 PR preprocessor/48248
6444 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6445 for output size with -P.
6446
23407dc9 64472011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6448
6449 * c-common.c (struct c_common_resword): Add __underlying_type.
6450 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6451
dd045aee 64522011-04-20 Jim Meyering <meyering@redhat.com>
6453
6454 * c-format.c (init_dollar_format_checking): Remove useless
6455 if-before-free.
6456
394dd737 64572011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6458
6459 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 6460 (objc_detect_field_duplicates): New.
394dd737 6461 * stub-objc.c: Likewise.
23407dc9 6462
a758bf7d 64632011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6464
6465 * stub-objc.c (objc_declare_protocols): Renamed to
6466 objc_declare_protocol.
6467 * c-objc.h: Likewise.
23407dc9 6468
29d7200d 64692011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6470
6471 * stub-objc.c (objc_declare_class): Updated argument name.
6472
9b88d08d 64732011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6474
6475 * c-common.h (c_common_init_ts): Declare.
6476 * c-common.c (c_common_init_ts): Define.
6477
4185cf58 64782011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6479
6480 * c-objc.h (objc_build_message_expr): Updated prototype.
6481 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 6482
5a90471f 64832011-04-12 Martin Jambor <mjambor@suse.cz>
6484
6485 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6486 of cgraph_node.
6487
783bb57e 64882011-04-11 Richard Guenther <rguenther@suse.de>
6489
6490 * c-common.c (complete_array_type): Build a range type of
6491 proper type.
6492
c33080b9 64932011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6494
6495 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6496 (handle_type_generic_attribute): Likewise.
6497
f8913d47 64982011-04-07 Jason Merrill <jason@redhat.com>
6499
6500 PR c++/48450
6501 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6502 conversion from C++0x scoped enum.
6503
c94b1d0e 65042011-04-06 Joseph Myers <joseph@codesourcery.com>
6505
6506 * c-target-def.h: New file.
6507 * c-target.def: New file.
6508 * c-target.h: New file.
6509 * c-common.c (targetcm): Don't define here.
6510 * c-common.h (default_handle_c_option): Declare.
6511 * c-format.c: Include c-target.h instead of target.h.
6512 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6513 include tm.h.
6514 (default_handle_c_option): Move from targhooks.c.
6515
acb10f41 65162011-03-29 Jakub Jelinek <jakub@redhat.com>
6517
6518 PR preprocessor/48248
6519 * c-ppoutput.c (print): Add src_file field.
6520 (init_pp_output): Initialize it.
6521 (maybe_print_line): Don't optimize by adding up to 8 newlines
6522 if map->to_file and print.src_file are different file.
6523 (print_line): Update print.src_file.
6524
82715bcd 65252011-03-25 Kai Tietz <ktietz@redhat.com>
6526
6527 * c-ada-spec.c (compare_comment): Use filename_cmp
6528 instead of strcmp for filename.
6529
451c8e2f 65302011-03-25 Jeff Law <law@redhat.com>
6531
1f78217c 6532 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 6533
3c47771c 65342011-03-25 Jason Merrill <jason@redhat.com>
6535
6536 * c.opt: Add -std=c++03.
6537
97e6200f 65382011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6539
6540 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6541
92a44a68 65422011-03-17 Kai Tietz <ktietz@redhat.com>
ac86af5d 6543
6544 PR target/12171
ee212425 6545 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6546 Display allowed attributes for function pointer types.
6547 (pp_c_attributes_display): New function to display
6548 attributes having affects_type_identity flag set to true.
6549 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6550
ac86af5d 6551 * c-common.c (c_common_attribute_table):
6552 Add new element.
6553 (c_common_format_attribute_table): Likewise.
6554
914d1151 65552011-03-18 Jason Merrill <jason@redhat.com>
6556
69788bdf 6557 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6558 * c-common.h: Don't declare it here.
6559 * c-common.c: Or define it here.
6560 * c-opts.c (c_common_handle_option): Or set it here.
6561
914d1151 6562 PR c++/35315
6563 * c-common.c (handle_transparent_union_attribute): Don't
6564 make a duplicate type in C++.
6565
54cf6eed 65662011-03-15 Jason Merrill <jason@redhat.com>
6567
6568 * c-common.c (max_constexpr_depth): New.
6569 * c-common.h: Declare it.
6570 * c-opts.c (c_common_handle_option): Set it.
6571 * c.opt (fconstexpr-depth): New option.
6572
02cb1060 65732011-03-11 Jason Merrill <jason@redhat.com>
6574
9bf1c74e 6575 * c-common.c (attribute_takes_identifier_p): Add missing const.
6576
02cb1060 6577 PR c++/46803
6578 * c-common.c (attribute_takes_identifier_p): Assume that an
6579 unknown attribute takes an identifier.
6580
ecf2703d 65812011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6582
6583 PR c/47786
6584 * c-common.c (c_type_hash): Call list_length instead of iterating
6585 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6586
2b19dfe4 65872011-02-19 Jakub Jelinek <jakub@redhat.com>
6588
6589 PR c/47809
6590 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6591
29cf2335 65922011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6593
6594 * c.opt (fobjc-abi-version=) New.
6595 (fobjc-nilcheck): New.
6596
fad3f658 65972011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6598
6599 PR c++/46890
6600 * c-common.h (keyword_is_decl_specifier): Declare.
6601 * c-common.c (keyword_is_decl_specifier): Define.
6602 (keyword_is_function_specifier): New function.
6603
a12319b3 66042011-01-26 Jakub Jelinek <jakub@redhat.com>
6605
6606 PR c/47473
6607 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6608 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6609 REAL_TYPE.
6610
5c128dc8 66112011-01-26 Arnaud Charlet <charlet@adacore.com>
6612
6613 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6614
8d67b0c7 66152011-01-26 Jakub Jelinek <jakub@redhat.com>
6616
6617 PR pch/47430
6618 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6619 after init_c_lex if pch_file is set.
6620
0675168d 66212011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6622
e8911163 6623 PR c++/43601
0675168d 6624 * c.opt (-fkeep-inline-dllexport): New switch.
6625
0725e25c 66262011-01-12 Richard Guenther <rguenther@suse.de>
6627
6628 PR middle-end/32511
6629 * c-common.c (handle_weak_attribute): Warn instead of error
6630 on declaring an inline function weak.
6631
fdd84b77 66322011-01-05 Tom Tromey <tromey@redhat.com>
6633
6634 * c-common.h (lvalue_error): Update.
6635 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6636 not error.
6637
e6e73d14 66382010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 6639
d67e8485 6640 PR objc/47075
6641 * c-objc.h (objc_finish_message_expr): Added argument to
6642 prototype.
6643
a36cf284 66442010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6645
6646 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6647 Use prototype_p.
6648
33b3681f 66492010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6650
6651 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 6652 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 6653
a1f90215 66542010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6655
6656 * c-common.h (readonly_error): Declare.
6657 * c-common.c (readonly_error): Define.
6658
b1bbc8e5 66592010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6660
6661 * c-common.h (invalid_indirection_error): Declare.
6662 * c-common.c (invalid_indirection_error): Define.
6663
b0d55af9 66642010-12-03 Richard Guenther <rguenther@suse.de>
6665
6666 PR c/46745
6667 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6668 (pp_c_unary_expression): Likewise.
6669 (pp_c_expression): Likewise.
6670
d7489d8d 66712010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6672
6673 * c-common.h (objc_finish_function): New.
6674 (objc_non_volatilized_type): Removed.
6675 (objc_type_quals_match): Removed.
6676 * stub-objc.c (objc_finish_function): New.
6677 (objc_non_volatilized_type): Removed.
6678 (objc_type_quals_match): Removed.
19931eea 6679
92468061 66802010-11-30 Joseph Myers <joseph@codesourcery.com>
6681
6682 * c-common.h (parse_optimize_options): Declare.
6683 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6684 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6685
967958e4 66862010-11-29 Joseph Myers <joseph@codesourcery.com>
6687
6688 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6689 GET_ENVIRONMENT.
6690 * c-pch.c (O_BINARY): Don't define here.
6691 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6692
b213bf24 66932010-11-25 Joseph Myers <joseph@codesourcery.com>
6694
6695 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6696 targetm.except_unwind_info.
6697
9faf44d6 66982010-11-23 Joseph Myers <joseph@codesourcery.com>
6699
6700 * c-opts.c (c_common_handle_option): Pass location to
6701 set_struct_debug_option.
6702
79396169 67032010-11-23 Joseph Myers <joseph@codesourcery.com>
6704
6705 * c-common.c (visibility_options): Move from ../opts.c.
6706 * c-common.h (struct visibility_flags, visibility_options):
6707 Declare here.
6708 * c-opts.c (finish_options): Rename to c_finish_options.
6709 (c_common_init): Update call to finish_options.
6710
b4aa4123 67112010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6712
6713 PR objc/34033
6714 * c-lex.c (lex_string): Check that each string in an Objective-C
6715 string concat sequence starts with either one or zero '@', and
6716 that there are no spurious '@' signs at the end.
6717
3e0e49f2 67182010-11-20 Joseph Myers <joseph@codesourcery.com>
6719
6720 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6721 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6722 HANDLE_PRAGMA_VISIBILITY.
6723 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6724 HANDLE_PRAGMA_VISIBILITY): Don't define.
6725 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6726
a9ffdd35 67272010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6728
6729 PR c++/16189
6730 PR c++/36888
6731 PR c++/45331
6732 * c-common.h (keyword_begins_type_specifier): Declare.
6733 (keyword_is_storage_class_specifier): Declare.
6734 (keyword_is_type_qualifier): Declare.
6735 * c-common.c (keyword_begins_type_specifier): New function.
6736 (keyword_is_storage_class_specifier): New function.
6737 (keyword_is_type_qualifier): Declare.
6738
93be21c0 67392010-11-19 Joseph Myers <joseph@codesourcery.com>
6740
6741 PR c/46547
6742 * c-common.c (in_late_binary_op): Define.
6743 (c_common_truthvalue_conversion): Check in_late_binary_op before
6744 calling c_save_expr.
6745 * c-common.h (in_late_binary_op): Declare.
6746
d7175aef 67472010-11-19 Joseph Myers <joseph@codesourcery.com>
6748
6749 * c-opts.c (c_common_handle_option): Update calls to
6750 set_struct_debug_option.
6751
c213e196 67522010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6753
6754 * c-common.h (objc_declare_protocols): Added additional argument.
6755 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 6756
0b5fc5d6 67572010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6758
6759 PR c/33193
6760 * c-common.h (build_real_imag_expr): Declare.
6761 * c-semantics.c (build_real_imag_expr): Define.
6762
b8ba44e7 67632010-11-17 Joseph Myers <joseph@codesourcery.com>
6764
6765 * c-opts.c (c_common_parse_file): Take no arguments.
6766 * c-common.h (c_common_parse_file): Update prototype.
6767
6ef8d12f 67682010-11-16 Jakub Jelinek <jakub@redhat.com>
6769
6770 PR c++/46401
6771 * c-common.c (warning_candidate_p): Don't track non-const calls
6772 or STRING_CSTs.
6773
929d2a90 67742010-11-15 Ian Lance Taylor <iant@google.com>
6775
6776 * c-lex.c (init_c_lex): Set macro debug callbacks if
6777 flag_dump_go_spec is set.
6778
e4a7640a 67792010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6780
6781 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6782 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6783
597d2d81 67842010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6785
6786 PR preprocessor/45038
6787 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6788 dialects.
6789
c123f04d 67902010-11-12 Joseph Myers <joseph@codesourcery.com>
6791
6792 * c-common.h (c_family_lang_mask): Declare.
6793 * c-opts.c (c_family_lang_mask): Make extern.
6794 * c-pragma.c (handle_pragma_diagnostic): Use
6795 control_warning_option.
6796
3c6c0e40 67972010-11-12 Joseph Myers <joseph@codesourcery.com>
6798
6799 * c-common.c (parse_optimize_options): Update call to
6800 decode_options.
6801 * c-common.h (c_common_handle_option): Update prototype.
6802 * c-opts.c (c_common_handle_option): Take location_t parameter and
6803 pass it to other functions.
6804
19ec5c9e 68052010-11-11 Joseph Myers <joseph@codesourcery.com>
6806
6807 * c-opts.c (warning_as_error_callback): Remove.
6808 (c_common_initialize_diagnostics): Don't call
6809 register_warning_as_error_callback.
6810 (c_common_handle_option): Handle -Werror=normalized= here.
6811
bf776685 68122010-11-10 Joseph Myers <joseph@codesourcery.com>
6813
6814 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6815 in diagnostic.
6816 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6817 letter.
6818 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6819 Remove trailing '.' from diagnostics.
6820 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6821
6bd9d862 68222010-11-10 Joseph Myers <joseph@codesourcery.com>
6823
6824 * c-common.c (parse_optimize_options): Pass global_dc to
6825 decode_options.
6826 * c-opts.c (c_common_handle_option): Pass &global_options to
6827 set_Wstrict_aliasing.
6828 * c.opt (v): Don't mark Common or document here.
6829
1f6616ee 68302010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6831
6832 PR target/44981
6833 * c-format.c (format_type): New type gcc_objc_string_format_type.
6834 (valid_stringptr_type_p): New.
6835 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 6836 (check_format_string): Pass expected type, use
1f6616ee 6837 valid_stringptr_type_p (), check that the format string types are
6838 consistent with the format specification.
6839 (decode_format_attr): Warn if NSString is used outside objective-c.
6840 (format_types_orig): Add NSString.
6841 (format_name): New.
6842 (format_flags): New.
6843 (check_format_arg): Handle format strings requiring an external parser.
6844 first_target_format_type: New variable.
6845 (handle_format_attribute): Set up first_target_format_type, pass the
6846 expected format arg string type to check_format_string().
6847 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6848 * stub-objc.c (objc_string_ref_type_p): New.
6849 (objc_check_format_arg): New.
6850
b0d0931f 68512010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6852
19931eea 6853 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 6854 * c-common.h (objc_build_class_component_ref): New.
6855 * stub-objc.c (objc_build_class_component_ref): New.
6856
f26877d5 68572010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6858
6859 * c.opt (Wproperty-assign-default): New option.
6860
1ef143b6 68612010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6862
6863 Implemented -fobjc-std=objc1 flag.
6864 * c.opt (fobjc-std=objc1): New option.
6865
8c582e4f 68662010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6867
6868 Implemented format and noreturn attributes for Objective-C methods.
6869 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6870 attribute for Objective-C methods.
6871
8637f1db 68722010-10-31 Jason Merrill <jason@redhat.com>
6873
6874 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6875 EXPR_LOC_OR_HERE.
6876
9d9f5bb3 68772010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6878
6879 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6880 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6881 (objc_add_property_declaration): Removed arguments for copies and
6882 ivar.
6883 (objc_build_getter_call): Renamed to
6884 objc_maybe_build_component_ref.
6885 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6886 (objc_is_property_ref): New.
6887 * c-common.c (c_common_reswords): Removed copies and ivar.
6888 * stub-objc.c (objc_add_property_declaration): Removed arguments
6889 for copies and ivar.
6890 (objc_build_getter_call): Renamed to
6891 objc_maybe_build_component_ref.
6892 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6893 (objc_is_property_ref): New.
19931eea 6894
56f907a0 68952010-10-29 Arnaud Charlet <charlet@adacore.com>
6896 Matthew Gingell <gingell@adacore.com>
6897
6898 * c-ada-spec.c (separate_class_package): New function.
6899 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6900 name of their enclosing package.
6901 (print_ada_declaration): Use separate_class_package.
6902
b5fa273e 69032010-10-27 Jason Merrill <jason@redhat.com>
6904
5290e253 6905 * c-common.c (c_common_reswords): Add __is_literal_type.
6906 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6907
b5fa273e 6908 * c-common.c (check_case_value): Remove special C++ code.
6909
7590f0e5 69102010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6911
6912 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6913 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
6914 and RID_LAST_PATTR.
6915 (objc_add_property_declaration): Added additional arguments.
6916 (objc_property_attribute_kind): Removed.
6917 (objc_set_property_attr): Removed.
6918 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
6919 copy and nonatomic.
6920 * stub-objc.c (objc_add_property_declaration): Added additional
6921 arguments.
6922 (objc_set_property_attr): Removed.
19931eea 6923
1d894bcf 69242010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6925
6926 * c-common.h (objc_add_property_variable): Renamed to
6927 objc_add_property_declaration. Added location argument.
6928 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 6929
e23bf1fb 69302010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
6931
6932 * c-common.h (objc_maybe_printable_name): New.
6933 * stub-objc.c (objc_maybe_printable_name): New.
6934
92a44a68 69352010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6936 Andrew Pinski <pinskia@gmail.com>
93426222 6937
6938 * c-common.h (c_common_mark_addressable_vec): Declare.
6939 * c-common.c (c_common_mark_addressable_vec): New function.
6940
45b2b110 69412010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6942
6943 * c-common.h (objc_set_method_type): Removed.
6944 (objc_add_method_declaration): Added boolean argument.
6945 (objc_start_method_definition): Same change.
6946 (objc_build_method_signature): Same change.
6947 * stub-objc.c (objc_set_method_type): Removed.
6948 (objc_add_method_declaration): Added boolean argument.
6949 (objc_start_method_definition): Same change.
6950 (objc_build_method_signature): Same change.
6951
64cd9619 69522010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
6953
6954 * c-common.h (finish_file): Removed.
6955 (objc_write_global_declarations): New.
6956 * c-opts.c (c_common_parse_file): Do not call finish_file.
6957 * stub-objc.c (objc_write_global_declarations): New.
19931eea 6958
e1f293c0 69592010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6960
6961 Implemented parsing @synthesize and @dynamic for
6962 Objective-C/Objective-C++.
6963 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
6964 (objc_add_synthesize_declaration): New.
6965 (objc_add_dynamic_declaration): New.
6966 * c-common.c (c_common_reswords): Add synthesize and dynamic.
6967 * stub-objc.c (objc_add_synthesize_declaration): New.
6968 (objc_add_dynamic_declaration): New.
19931eea 6969
ef97a312 69702010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6971
6972 PR target/46041
6973 * c-cppbuiltin.c (mode_has_fma): Move function here from
6974 builtins.c. Don't use the fma optab, instead just use the
6975 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
6976 using -save-temps.
6977
69b07042 69782010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
6979
6980 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 6981
92a44a68 6982 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
69b07042 6983
19931eea 6984 Radar 4330422
69b07042 6985 * c-common.h (objc_non_volatilized_type): New declaration
6986 * stub-objc.c (objc_non_volatilized_type): New stub.
6987
f15f2e56 69882010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
6989
69b07042 6990 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 6991
92a44a68 6992 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
f15f2e56 6993
19931eea 6994 Radar 4133425
f15f2e56 6995 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 6996 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 6997
4a8875ed 69982010-10-17 Iain Sandoe <iains@gcc.gnu.org>
6999
7000 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7001 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7002 (objc_ivar_visibility_kind): New enum.
7003 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 7004 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 7005 visibility enum.
7006
7e0713b1 70072010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7008
7009 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7010 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7011 has the appropriate fma builtins.
7012 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7013
86c110ac 70142010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7015
7e0713b1 7016 merge from FSF apple 'trunk' branch.
92a44a68 7017 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 7018
86c110ac 7019 Radars 4436866, 4505126, 4506903, 4517826
7020 * c-common.c (c_common_resword): Define @property and its attributes.
7021 * c-common.h: Define property attribute enum entries.
7022 (OBJC_IS_PATTR_KEYWORD): New.
7023 (objc_property_attribute_kind): New enum.
7024 Declare objc_set_property_attr (), objc_add_property_variable (),
7025 objc_build_getter_call () and objc_build_setter_call ().
7026 * stub-objc.c (objc_set_property_attr): New stub.
7027 (objc_add_property_variable): Likewise.
7028 (objc_build_getter_call): Likewise.
7029 (objc_build_setter_call) Likewise.
7e0713b1 7030
40c8d1dd 70312010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7032
7e0713b1 7033 merge from FSF apple 'trunk' branch.
92a44a68 7034 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
40c8d1dd 7035
7036 Radar 3803157 (method attributes)
7037 * c-common.c (handle_deprecated_attribute): Recognize
7038 objc methods as valid declarations.
7039 * c-common.h: Declare objc_method_decl ().
7e0713b1 7040 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 7041
f3f006ad 70422010-10-08 Joseph Myers <joseph@codesourcery.com>
7043
7044 * c-common.c (parse_optimize_options): Call
7045 decode_cmdline_options_to_array_default_mask before
7046 decode_options. Update arguments to decode_options.
7047 * c-common.h (c_common_init_options_struct): Declare.
7048 * c-opts.c (c_common_init_options_struct): New. Split out from
7049 c_common_init_options.
7050
0a65c3bb 70512010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7052
7053 Implemented fast enumeration for Objective-C.
7054 * c-common.h (objc_finish_foreach_loop): New.
7055 * stub-objc.c (objc_finish_foreach_loop): New.
7056
24ca3b4e 70572010-10-05 Joseph Myers <joseph@codesourcery.com>
7058
7059 * c-common.h (struct diagnostic_context): Don't declare here.
7060 (c_common_initialize_diagnostics): Declare using
7061 diagnostic_context typedef.
7062 * c-opts.c (c_common_handle_option): Pass global_dc to
7063 handle_generated_option.
7064
f83b64ca 70652010-10-04 Joseph Myers <joseph@codesourcery.com>
7066
7067 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7068 handle_generated_option.
7069
2fdec027 70702010-10-03 Ian Lance Taylor <iant@google.com>
7071
7072 * c.opt (-fplan9-extensions): New option.
7073
41acdfa4 70742010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7075
7076 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7077 Remove.
7078 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7079 of duplicating code.
7080
069761fb 70812010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7082
7083 * c-common.c: Add two new entries for @optional
7084 and @required keywords.
7085
7086 merge from FSF 'apple/trunk' branch.
92a44a68 7087 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
069761fb 7088
7089 Radar 4386773
7090 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7091 objective-c keywords.
7092 (objc_set_method_opt): New declaration.
7093 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 7094
2c5d2e39 70952010-09-30 Joseph Myers <joseph@codesourcery.com>
7096
7097 * c-common.c (handle_optimize_attribute): Pass &global_options to
7098 cl_optimization_save and cl_optimization_restore.
7099 * c-opts.c (c_common_handle_option): Pass &global_options to
7100 handle_generated_option.
7101 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7102 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7103 &global_options to cl_optimization_restore.
7104
e5c75ac3 71052010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7106
7107 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7108 Objective-C/Objective-C++ keywords.
7109
3511333e 71102010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 7111
19931eea 7112 Merge from 'apple/trunk' branch on FSF servers.
7113
92a44a68 7114 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
e147d6aa 7115
7116 Radar 4281748
7117 * c-common.h (objc_check_global_decl): New declaration.
7118 * stub-objc.c (objc_check_global_decl): New stub.
7119
5461e683 71202010-09-29 Joseph Myers <joseph@codesourcery.com>
7121
7122 * c.opt: Don't use VarExists.
7123
5ae82d58 71242010-09-29 Joseph Myers <joseph@codesourcery.com>
7125
7126 * c-common.c (c_cpp_error): Update names of diagnostic_context
7127 members.
7128 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7129 cl_optimization members.
7130 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7131 sanitize_cpp_opts, finish_options): Update names of cpp_options
7132 members.
7133
b27e241e 71342010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7135
7136 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7137 (objc_is_reserved_word): Removed.
7138 * c-common.c: Updated comments.
7139 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7140 objc_is_reserved_word.
7141 * stub-objc.c (objc_is_reserved_word): Removed.
7142
03fc2271 71432010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7144
19931eea 7145 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 7146 include attributes.
7147 (objc_start_method_definition): Likewise.
7148 (objc_build_keyword_decl): Likewise.
7149 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7150 (objc_start_method_definition): Likewise.
7151 (objc_build_keyword_decl): Likewise.
7152
a336eb4b 71532010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7154
7155 * c-common.h (objc_start_class_interface): Adjust prototype.
7156 (objc_start_category_interface): Likewise.
7157 (objc_start_protocol): Likewise.
7158 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7159 (objc_start_class_interface): Likewise.
7160 (objc_start_category_interface): Likewise.
7161
48b14f50 71622010-09-27 Ian Lance Taylor <iant@google.com>
7163
7164 * c-common.c (c_common_attribute_table): Add no_split_stack.
7165 (handle_no_split_stack_attribute): New static function.
7166
4abfc532 71672010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7168
19931eea 7169 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 7170
92a44a68 7171 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4abfc532 7172
19931eea 7173 Radar 4229905
4abfc532 7174 * c-common.h (objc_have_common_type): New declaration.
7175 * stub-objc.c (objc_have_common_type): New stub.
7176
7177 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7178
7179 Radar 4154928
7180 * c-common.h (objc_common_type): New prototype.
19931eea 7181 * stub-objc.c (objc_common_type): New stub.
4abfc532 7182
7bd95dfd 71832010-09-24 Jan Hubicka <jh@suse.cz>
7184
7185 * c-common.c (handle_leaf_attribute): New function.
7186 (struct attribute_spec c_common_att): Add leaf.
7187
5789e05b 71882010-09-22 Joseph Myers <joseph@codesourcery.com>
7189
7190 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7191 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7192 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7193 -include-barrier, -include-directory, -include-directory=,
7194 -include-directory-after, -include-directory-after=,
7195 -include-prefix, -include-prefix=, -include-with-prefix,
7196 -include-with-prefix=, -include-with-prefix-after,
7197 -include-with-prefix-after=, -include-with-prefix-before,
7198 -include-with-prefix-before=, -no-integrated-cpp,
7199 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7200 -output=, -pedantic, -pedantic-errors, -preprocess,
7201 -print-missing-file-dependencies, -trace-includes, -traditional,
7202 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7203 -user-dependencies, -verbose, -write-dependencies,
7204 -write-user-dependencies, no-integrated-cpp, traditional): New.
7205
e6fb54ba 72062010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7207
7208 PR objc/23710
9b60f3b0 7209 * c-common.h (objc_start_method_definition): Return bool instead
7210 of void.
7211 * stub-objc.c (objc_start_method_definition): Return bool instead
7212 of void.
7213
72142010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7215
7216 PR objc/25965
7217 * c-common.h (objc_get_interface_ivars): New declaration.
7218 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 7219
e44b0a1f 72202010-09-15 Ian Lance Taylor <iant@google.com>
7221
7222 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 7223 messages. Remove period at end of warning message.
e44b0a1f 7224
85c0a25c 72252010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7226
7227 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7228 (handle_alias_attribute): ... here.
7229 (handle_ifunc_attribute): New.
7230
5ba33bf4 72312010-09-06 Mark Mitchell <mark@codesourcery.com>
7232
7233 * c-common.h (do_warn_double_promotion): Declare.
7234 * c-common.c (do_warn_double_promotion): Define.
7235
c920faa3 72362010-09-05 Mark Mitchell <mark@codesourcery.com>
7237
7238 * c.opt (Wdouble-promotion): New.
7239
9604e070 72402010-09-02 Joseph Myers <joseph@codesourcery.com>
7241
7242 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7243 fvtable-thunks, fxref): Mark no longer supported in help text.
7244
3b0273a1 72452010-09-02 Joseph Myers <joseph@codesourcery.com>
7246
7247 * c.opt (Wimport, fall-virtual, falt-external-templates,
7248 fdefault-inline, fenum-int-equiv, fexternal-templates,
7249 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7250 fname-mangling-version-, fnew-abi, fnonnull-objects,
7251 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7252 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7253 applicable.
7254 (fhandle-exceptions): Mark with Alias and Warn.
7255 * c-opts.c (c_common_handle_option): Don't handle options marked
7256 as ignored.
7257
67089c6b 72582010-09-02 Joseph Myers <joseph@codesourcery.com>
7259
7260 * c.opt (Wcomments, Werror-implicit-function-declaration,
7261 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7262 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7263 aliases.
7264 * c-common.c (option_codes): Use OPT_Wcomment instead of
7265 OPT_Wcomments.
7266 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7267 Don't handle options marked as aliases.
7268
2af087f2 72692010-08-25 Richard Guenther <rguenther@suse.de>
7270
7271 * c-common.c (c_common_get_alias_set): Remove special
7272 handling for pointers.
7273
48148244 72742010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7275
7276 * c-common.c: Use FOR_EACH_VEC_ELT.
7277 * c-gimplify.c: Likewise.
7278 * c-pragma.c: Likewise.
7279
89c69892 72802010-08-16 Joseph Myers <joseph@codesourcery.com>
7281
7282 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7283 RejectDriver.
7284 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7285 RejectDriver.
7286 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7287 instead of OPT_MDX and OPT_MMDX.
7288
e28aa114 72892010-08-16 Joseph Myers <joseph@codesourcery.com>
7290
7291 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7292
99b66d21 72932010-08-12 Joseph Myers <joseph@codesourcery.com>
7294
7295 * c.opt (MD, MMD): Change to MDX and MMDX.
7296 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7297
666f4bf0 72982010-08-11 Joseph Myers <joseph@codesourcery.com>
7299
7300 * c-opts.c (c_common_handle_option): Call handle_generated_option
7301 instead of handle_option.
7302
5ec815f6 73032010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7304
7305 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7306 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7307
d13143cf 73082010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7309
7310 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7311 (pending_redefine_extname): Change type to a VEC.
7312 (add_to_renaming_pragma_list): Update for new type of
7313 pending_redefine_extname.
5ec815f6 7314 (maybe_apply_renaming_pragma): Likewise.
d13143cf 7315
2008c983 73162010-08-04 Arnaud Charlet <charlet@adacore.com>
7317
7318 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7319 visited.
7320 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7321 decide whether a type has already been declared/seen.
7322 Do not go to the original type.
7323 (dump_nested_types): New parameter forward.
7324 Generate forward declaration if needed and mark type as visited.
7325 (print_ada_declaration): Call dump_nested_types if not already done.
7326 Mark types as visited.
7327
9b091a73 73282010-08-03 Joseph Myers <joseph@codesourcery.com>
7329
7330 * c.opt (-print-pch-checksum): Remove option.
7331 * c-opts.c (c_common_handle_option): Don't handle
7332 OPT_print_pch_checksum.
7333
b78351e5 73342010-07-27 Joseph Myers <joseph@codesourcery.com>
7335
7336 * c-common.h (c_common_handle_option): Update prototype and return
7337 value type.
7338 * c-opts.c (c_common_handle_option): Update prototype and return
7339 value type. Update calls to handle_option and
7340 enable_warning_as_error.
7341
34416a90 73422010-07-27 Jakub Jelinek <jakub@redhat.com>
7343
7344 PR c/45079
7345 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7346
fecf9011 73472010-07-27 Joseph Myers <joseph@codesourcery.com>
7348
7349 * c-common.h (c_common_missing_argument): Remove.
7350 * c-opts.c (c_common_missing_argument): Remove.
7351 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7352 idirafter, imacros, include, isysroot, isystem, iquote): Add
7353 MissingArgError.
7354 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7355
e88d34f6 73562010-07-27 Joseph Myers <joseph@codesourcery.com>
7357
7358 * c-common.h (c_common_option_lang_mask,
7359 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7360 New.
7361 (c_common_init_options): Update prototype.
7362 * c-opts.c (c_common_option_lang_mask): New.
7363 (c_common_initialize_diagnostics): Split out of
7364 c_common_init_options.
7365 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7366 New.
7367 (c_common_init_options): Update prototype. Use decoded options in
7368 search for -lang-asm.
7369
1767a056 73702010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7371
7372 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7373 * c-format.c: Likewise.
7374
0b205f4c 73752010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7376
7377 * c-common.h: Include diagnostic-core.h. Error if already
7378 included.
7379 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7380
1c58e3f1 73812010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7382
1f78217c 7383 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 7384 Do not include expr.h
7385 (vector_mode_valid_p): Move here.
7386
33cc157c 73872010-06-21 DJ Delorie <dj@redhat.com>
7388
7389 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7390 allow these pragmas anywhere.
7391
73922010-06-14 Jakub Jelinek <jakub@redhat.com>
7393
7394 PR bootstrap/44509
7395 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7396 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7397 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7398 ggc_strdup instead of xstrdup.
7399
74002010-06-10 Jakub Jelinek <jakub@redhat.com>
7401
7402 * c-cppbuiltin.c: Include cpp-id-data.h.
7403 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7404 (lazy_hex_fp_value): New function.
7405 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7406
9b40bfbf 74072010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7408
7409 * c-gimplify.c: Do not include tree-flow.h
7410
202d6e5f 74112010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7412
7413 PR other/44034
7414 * c-common.c: Rename targetm member:
7415 targetm.enum_va_list -> targetm.enum_va_list_p
7416
d3237426 74172010-06-28 Anatoly Sokolov <aesok@post.ru>
7418
7419 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7420
596981c8 74212010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7422
7423 * c-cppbuiltin.c: Do not include except.h.
7424
b9bdfa0b 74252010-06-24 Andi Kleen <ak@linux.intel.com>
7426
19931eea 7427 * c-common.c (warn_for_omitted_condop): New.
7428 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 7429
55ad092d 74302010-06-21 Joseph Myers <joseph@codesourcery.com>
7431
7432 * c.opt (lang-objc): Remove.
7433 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7434
9e7c2572 74352010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7436
7437 * c-opts.c: Include "tm_p.h".
7438
615ef0bb 74392010-06-20 Joseph Myers <joseph@codesourcery.com>
7440
7441 * c-common.c (parse_optimize_options): Update call to
7442 decode_options.
7443
aef48c9a 74442010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7445
7446 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7447 new type of types_used_by_cur_var_decl.
7448
d74003b4 74492010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7450
7451 PR bootstrap/44512
7452 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7453 for C++ standard compliance.
7454
1194d077 74552010-06-16 Jason Merrill <jason@redhat.com>
7456
7457 * c.opt: Add -Wnoexcept.
7458
d473d901 74592010-06-16 Richard Guenther <rguenther@suse.de>
7460
7461 PR c/44555
7462 * c-common.c (c_common_truthvalue_conversion): Remove
7463 premature and wrong optimization concering ADDR_EXPRs.
7464
b62dbfd3 74652010-06-15 Arnaud Charlet <charlet@adacore.com>
7466
7467 * c-ada-spec.c (dump_sloc): Remove column info.
7468 (is_simple_enum): New function.
7469 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7470 enum types when relevant.
7471
200dd99c 74722010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7473
19931eea 7474 * c-common.c (conversion_warning): Warn at expression
200dd99c 7475 location.
7476
abf6a617 74772010-06-10 Joseph Myers <joseph@codesourcery.com>
7478
7479 * c-opts.c (c_common_handle_option): Don't handle
7480 OPT_fshow_column.
7481
ba72912a 74822010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7483
7484 * c-pragma.c (push_alignment): Use typed GC allocation.
7485 (handle_pragma_push_options): Likewise.
7486
7487 * c-common.c (parse_optimize_options): Likewise.
7488
7489 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7490 option.
7491
4aafe913 74922010-06-07 Joseph Myers <joseph@codesourcery.com>
7493
7494 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7495 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7496 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7497 flag_signed_bitfields, warn_strict_null_sentinel,
7498 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7499 flag_gen_declaration, flag_no_gnu_keywords,
7500 flag_implement_inlines, flag_implicit_templates,
7501 flag_implicit_inline_templates, flag_optional_diags,
7502 flag_elide_constructors, flag_default_inline, flag_rtti,
7503 flag_conserve_space, flag_access_control, flag_check_new,
7504 flag_new_for_scope, flag_weak, flag_working_directory,
7505 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7506 flag_enforce_eh_specs, flag_threadsafe_statics,
7507 flag_pretty_templates): Remove.
7508 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7509 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7510 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7511 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7512 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7513 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7514 flag_no_gnu_keywords, flag_implement_inlines,
7515 flag_implicit_templates, flag_implicit_inline_templates,
7516 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7517 flag_rtti, flag_conserve_space, flag_access_control,
7518 flag_check_new, flag_new_for_scope, flag_weak,
7519 flag_working_directory, flag_use_cxa_atexit,
7520 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7521 flag_threadsafe_statics, flag_pretty_templates,
7522 warn_strict_null_sentinel): Remove.
7523 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7524 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7525 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7526 fimplicit-inline-templates, fimplicit-templates,
7527 flax-vector-conversions, fms-extensions, fnil-receivers,
7528 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7529 frtti, fshort-double, fshort-enums, fshort-wchar,
7530 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7531 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7532 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7533 gen-decls, undef): Use Var.
7534 (fdefault-inline, foptional-diags): Document as doing nothing.
7535 * c-opts.c (c_common_handle_option): Remove cases for options now
7536 using Var. Mark ignored options as such.
7537
7bedc3a0 75382010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7539
19931eea 7540 * c-common.c: Moved to here from parent directory.
7bedc3a0 7541 * c-common.def: Likewise.
7542 * c-common.h: Likewise.
7543 * c-cppbuiltin.c: Likewise.
7544 * c-dump.c: Likewise.
7545 * c-format.c: Likewise.
7546 * c-format.h : Likewise.
7547 * c-gimplify.c: Likewise.
7548 * c-lex.c: Likewise.
7549 * c-omp.c: Likewise.
7550 * c.opt: Likewise.
7551 * c-opts.c: Likewise.
7552 * c-pch.c: Likewise.
7553 * c-ppoutput.c: Likewise.
7554 * c-pragma.c: Likewise.
7555 * c-pragma.h: Likewise.
7556 * c-pretty-print.c: Likewise.
7557 * c-pretty-print.h: Likewise.
7558 * c-semantics.c: Likewise.
7559 * stub-objc.c: Likewise.
7560
7561 * c-common.c: Include gt-c-family-c-common.h.
7562 * c-pragma.c: Include gt-c-family-c-pragma.h.
7563\f
aad93da1 7564Copyright (C) 2010-2017 Free Software Foundation, Inc.
7bedc3a0 7565
7566Copying and distribution of this file, with or without modification,
7567are permitted in any medium without royalty provided the copyright
7568notice and this notice are preserved.