re PR middle-end/79788 (ICE in expand_expr_real_2, at expr.c:9557)
[gcc.git] / gcc / c-family / ChangeLog
1 2017-04-18 Jakub Jelinek <jakub@redhat.com>
2
3 PR middle-end/79788
4 PR middle-end/80375
5 * c-common.c (c_common_type_for_mode): Don't handle
6 widest_*_literal_type_node here.
7 c_common_signed_or_unsigned_type): Likewise.
8 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
9 to *intTI_type_node or *intDI_type_node depending on whether
10 TImode is supported by the target or not.
11
12 2017-04-10 Martin Liska <mliska@suse.cz>
13
14 PR sanitizer/80350
15 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
16 doing an UBSAN check.
17
18 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
19
20 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
21
22 2017-03-31 Jakub Jelinek <jakub@redhat.com>
23
24 PR c++/79572
25 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
26 tree *.
27 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
28 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
29 REFERENCE_TYPE.
30
31 2017-03-31 David Malcolm <dmalcolm@redhat.com>
32
33 PR documentation/78732
34 * c.opt (Wendif-labels): Fix description to refer to
35 #else rather than #elif.
36
37 2017-03-31 Jakub Jelinek <jakub@redhat.com>
38
39 PR libstdc++/80251
40 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
41 * c-common.c (c_common_reswords): Add __is_aggregate trait.
42
43 2017-03-27 Jakub Jelinek <jakub@redhat.com>
44
45 PR middle-end/80162
46 * c-common.c (c_common_mark_addressable_vec): Don't set
47 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
48
49 2017-03-21 Martin Sebor <msebor@redhat.com>
50
51 PR c++/79548
52 * c-common.c (set_underlying_type): Mark type used only when
53 original del is declared unused.
54
55 2017-03-10 David Malcolm <dmalcolm@redhat.com>
56
57 PR translation/79848
58 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
59 "%qs".
60
61 2017-03-10 David Malcolm <dmalcolm@redhat.com>
62
63 PR c/79921
64 * c-indentation.c (warn_for_misleading_indentation): Remove parens
65 from inform's message, so that xgettext can locate it.
66
67 2017-03-09 Marek Polacek <polacek@redhat.com>
68
69 PR c++/79962
70 PR c++/79984
71 * c-attribs.c (handle_nonnull_attribute): Save the result of default
72 conversion to the attribute list.
73
74 2017-03-09 Martin Liska <mliska@suse.cz>
75
76 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
77
78 2017-03-03 Jason Merrill <jason@redhat.com>
79
80 * c.opt (Wnoexcept-type): New.
81
82 2017-03-02 Richard Biener <rguenther@suse.de>
83
84 PR c/79756
85 * c-common.c (c_common_mark_addressable_vec): Look through
86 C_MAYBE_CONST_EXPR.
87
88 2017-02-28 Martin Liska <mliska@suse.cz>
89
90 * c.opt: Replace space with tabular for options of <number>
91 type.
92
93 2017-02-28 Martin Liska <mliska@suse.cz>
94
95 * c.opt: Fix --help=option -Q for options which are of
96 an enum type.
97
98 2017-02-24 Jakub Jelinek <jakub@redhat.com>
99
100 PR c++/79588
101 * c-common.c (check_function_restrict): New function.
102 (check_function_arguments): Add FNDECL argument. Call
103 check_function_restrict if -Wrestrict.
104 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
105 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
106 * c-common.h (check_function_arguments): Add FNDECL argument.
107 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
108
109 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
110
111 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
112 treatment of parameters with pointer-to-tagged type and tidy up.
113 (print_ada_methods): Remove the special treatment of C++ static member
114 functions.
115
116 2017-02-22 Martin Liska <mliska@suse.cz>
117
118 * c.opt: Replace inequality signs with square brackets
119 for -Wnornalized.
120
121 2017-02-21 Jakub Jelinek <jakub@redhat.com>
122
123 PR c++/79641
124 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
125 preserve quals.
126
127 2017-02-17 Joseph Myers <joseph@codesourcery.com>
128
129 * c-cppbuiltin.c (builtin_define_float_constants): Define
130 __DECIMAL_DIG__ to the value for long double.
131
132 2017-02-15 Marek Polacek <polacek@redhat.com>
133
134 PR c/79515
135 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
136 conversion has occured.
137
138 2017-01-24 David Malcolm <dmalcolm@redhat.com>
139
140 * c-common.c (c_common_reswords): Add "__RTL".
141 * c-common.h (enum rid): Add RID_RTL.
142
143 2017-01-20 Marek Polacek <polacek@redhat.com>
144
145 PR c/64279
146 * c-common.h (do_warn_duplicated_branches_r): Declare.
147 * c-gimplify.c (c_genericize): Walk the function tree calling
148 do_warn_duplicated_branches_r.
149 * c-warn.c (expr_from_macro_expansion_r): New.
150 (do_warn_duplicated_branches): New.
151 (do_warn_duplicated_branches_r): New.
152 * c.opt (Wduplicated-branches): New option.
153
154 2017-01-17 David Malcolm <dmalcolm@redhat.com>
155
156 PR c++/71497
157 * c-indentation.c (warn_for_misleading_indentation): Use the past
158 subjunctive in the note.
159
160 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
161
162 PR c/79116
163 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
164 start type to integer_type.
165
166 2017-01-16 Jakub Jelinek <jakub@redhat.com>
167
168 PR driver/49726
169 * c.opt (gen-decls): Add Driver flag.
170
171 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
172
173 Revert:
174 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
175
176 PR c++/71737
177 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
178
179 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
180
181 PR c++/71737
182 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
183
184 2017-01-12 Martin Sebor <msebor@redhat.com>
185
186 (-Wformat-overflow): ...to this.
187
188 2017-01-11 Martin Sebor <msebor@redhat.com>
189
190 PR c/78768
191 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
192 Also enable for LTO.
193
194 2017-01-10 Jason Merrill <jason@redhat.com>
195
196 Implement P0195R2, C++17 variadic using.
197 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
198
199 2017-01-09 Jakub Jelinek <jakub@redhat.com>
200
201 PR translation/79019
202 PR translation/79020
203 * c.opt (Wnormalized=): Fix typo in description.
204
205 2017-01-08 Martin Sebor <msebor@redhat.com>
206
207 PR middle-end/77708
208 * c.opt (-Wformat-truncation): New option.
209
210 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
211
212 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
213 value to unsigned short to fit in 4 hex digits without
214 warnings.
215
216 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
217
218 * c.opt (fsso-struct): Add 'native' value.
219
220 2017-01-05 Martin Liska <mliska@suse.cz>
221
222 PR pch/78970
223 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
224 header.
225
226 2017-01-04 Marek Polacek <polacek@redhat.com>
227
228 PR c++/64767
229 * c.opt (Wpointer-compare): New option.
230
231 2017-01-04 Jakub Jelinek <jakub@redhat.com>
232
233 PR driver/78957
234 * c.opt (fsso-struct=): Add RejectNegative.
235
236 2017-01-01 Jakub Jelinek <jakub@redhat.com>
237
238 Update copyright years.
239
240 2016-12-29 Martin Liska <mliska@suse.cz>
241
242 PR c/78933
243 * c.opt (strong-eval-order): Add RejectNegative keyword.
244
245 2016-12-22 Jason Merrill <jason@redhat.com>
246
247 Implement P0522R0, matching of template template arguments.
248 * c-cppbuiltin.c (c_cpp_builtins): Define
249 __cpp_template_template_args.
250
251 2016-12-21 Jakub Jelinek <jakub@redhat.com>
252
253 PR bootstrap/78817
254 * c-common.c (struct nonnull_arg_ctx): New type.
255 (check_function_nonnull): Return bool instead of void. Use
256 nonnull_arg_ctx as context rather than just location_t.
257 (check_nonnull_arg): Adjust for the new context type, set
258 warned_p to true if a warning has been diagnosed.
259 (check_function_arguments): Return bool instead of void.
260 * c-common.h (check_function_arguments): Adjust prototype.
261
262 2016-12-21 Jason Merrill <jason@redhat.com>
263
264 * c.opt (-fnew-ttp-matching): New flag.
265 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
266
267 2016-12-14 Martin Jambor <mjambor@suse.cz>
268
269 * c-omp.c: Include omp-general.h instead of omp-low.h.
270 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
271 name.
272
273 2016-12-14 Martin Sebor <msebor@redhat.com>
274
275 PR c/17308
276 * c-common.c (check_nonnull_arg): Disable when optimization
277 is enabled.
278
279 2016-12-12 Marek Polacek <polacek@redhat.com>
280
281 PR c++/78647
282 * c-common.c (attribute_fallthrough_p): Return false for
283 error_mark_node.
284
285 2016-12-08 Martin Sebor <msebor@redhat.com>
286
287 PR c/78284
288 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
289
290 2016-12-08 Martin Sebor <msebor@redhat.com>
291
292 PR c/78165
293 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
294 suffix.
295
296 2016-12-07 Martin Sebor <msebor@redhat.com>
297
298 PR c/53562
299 PR middle-end/77784
300 PR middle-end/78149
301 PR middle-end/78138
302 * c.opt (-Wstringop-overflow): New option.
303
304 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
305
306 * c-attribs.c (asan odr indicator): New attribute.
307 (handle_asan_odr_indicator_attribute): New function.
308
309 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
310
311 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
312 ptrdiff_type_node;
313
314 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
315
316 * c-common.c (excess_precision_mode_join): New.
317 (c_ts18661_flt_eval_method): New.
318 (c_c11_flt_eval_method): Likewise.
319 (c_flt_eval_method): Likewise.
320 * c-common.h (excess_precision_mode_join): New.
321 (c_flt_eval_method): Likewise.
322 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
323 (cpp_iec_559_value): Call it.
324 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
325 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
326 __FLT_EVAL_METHOD_TS_18661_3__.
327
328 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
329
330 * c-opts.c (c_common_post_options): Add logic to handle the default
331 case for -fpermitted-flt-eval-methods.
332
333 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
334
335 * c.opt (Wexpansion-to-defined): New.
336
337 2016-11-23 Jakub Jelinek <jakub@redhat.com>
338
339 PR target/78451
340 * c-pragma.c (handle_pragma_target): Don't replace
341 current_target_pragma, but chainon the new args to the current one.
342
343 2016-11-22 Nathan Sidwell <nathan@acm.org>
344
345 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
346 indentation and formatting.
347
348 2016-11-21 Martin Sebor <msebor@redhat.com>
349
350 * c.opt (-fprintf-return-value): Enable by default.
351
352 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
353
354 PR c++/71973
355 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
356 * c-common.c (c_common_nodes_and_builtins): Initialize
357 const_tm_ptr_type_node.
358
359 2016-11-16 Marek Polacek <polacek@redhat.com>
360
361 PR c/78285
362 * c-common.c (c_add_case_label): Turn error_at calls into inform.
363
364 2016-11-14 Jakub Jelinek <jakub@redhat.com>
365
366 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
367
368 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
369 Richard Biener <rguenther@suse.de>
370
371 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
372 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
373 * c.opt (fgimple): New option.
374
375 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
376
377 PR c/35503
378 * c-common.h (warn_for_restrict): Declare.
379 * c-warn.c: Include gcc-rich-location.h.
380 (warn_for_restrict): New function.
381 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
382 (gcc_cdiag_char_table): Likewise.
383 (gcc_cxxdiag_char_table): Likewise.
384 * c.opt (Wrestrict): New option.
385
386 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
387
388 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
389 for nested types only if the type is a record or union and dump SLOC.
390
391 2016-11-09 Jason Merrill <jason@redhat.com>
392
393 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
394
395 2016-11-09 Jakub Jelinek <jakub@redhat.com>
396
397 * c-ubsan.c (ubsan_instrument_shift): Handle split
398 -fsanitize=shift-base and -fsanitize=shift-exponent.
399
400 2016-11-07 Jason Merrill <jason@redhat.com>
401
402 * c.opt (Wc++1z-compat): New.
403 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
404
405 2016-11-07 Martin Liska <mliska@suse.cz>
406
407 * c-warn.c (warn_for_unused_label): Save all labels used
408 in goto or in &label.
409
410 2016-11-03 Jason Merrill <jason@redhat.com>
411
412 * c-cppbuiltin.c (c_cpp_builtins): Correct
413 __cpp_inheriting_constructors.
414
415 2016-11-01 Jason Merrill <jason@redhat.com>
416
417 * c-cppbuiltin.c (c_cpp_builtins): Update
418 __cpp_inheriting_constructors.
419
420 * c.opt (-fnew-inheriting-ctors): New.
421 * c-opts.c: Default to on for ABI 11+.
422
423 2016-10-31 Jakub Jelinek <jakub@redhat.com>
424
425 PR c++/77948
426 * c.opt (fext-numeric-literals): Add Var and Init.
427 * c-opts.c (c_common_handle_option): Don't clear
428 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
429 (c_common_post_options): Clear it here if not set
430 explicitly.
431
432 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
433
434 PR debug/77773
435 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
436 if NULL.
437
438 2016-10-25 Jakub Jelinek <jakub@redhat.com>
439
440 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
441 * c-common.c (c_common_reswords): Add __builtin_launder.
442
443 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
444
445 * c-common.c (c_common_truthvalue_conversion): Warn for
446 multiplications in boolean context. Fix the quoting of '<<' and '<'
447 in the shift warning.
448
449 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
450
451 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
452
453 2016-10-20 Jason Merrill <jason@redhat.com>
454
455 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
456
457 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
458
459 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
460 integer shift ops in boolean context.
461
462 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
463
464 * c.opt (Walloca): New.
465 (Walloca-larger-than=): New.
466 (Wvla-larger-than=): New.
467
468 2016-10-17 Marek Polacek <polacek@redhat.com>
469
470 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
471 Return immediately when finding a match.
472 (warn_tautological_cmp): Remove a boolean variable that is no longer
473 needed.
474
475 2016-10-17 Marek Polacek <polacek@redhat.com>
476
477 * c-attribs.c: New file.
478 * c-common.c: Move attributes handling to c-attribs.c.
479 (get_nonnull_operand): No longer static.
480 * c-common.h: Move the declarations from c-attribs.c to its own section.
481
482 2016-10-14 Jason Merrill <jason@redhat.com>
483
484 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
485 and __cpp_deduction_guides.
486
487 2016-10-13 Jason Merrill <jason@redhat.com>
488
489 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
490
491 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
492
493 * c-cppbuiltin.c: Include memmodel.h.
494 * c-opts.c: Likewise.
495 * c-pragma.c: Likewise.
496 * c-warn.c: Likewise.
497
498 2016-10-12 Jakub Jelinek <jakub@redhat.com>
499
500 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
501 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
502 * c-opts.c (sanitize_cpp_opts): Initialize
503 cpp_opts->cpp_warn_implicit_fallthrough.
504
505 2016-10-11 Marek Polacek <polacek@redhat.com>
506
507 * c-common.c (warning_candidate_p): Change the return type to bool
508 and return true/false instead of 1/0.
509 (vector_mode_valid_p): Likewise.
510
511 2016-10-11 Marek Polacek <polacek@redhat.com>
512
513 * c-common.c (fold_for_warn): No longer static.
514 (bool_promoted_to_int_p): Likewise.
515 (c_common_get_narrower): Likewise.
516 (constant_expression_warning): Move to c-warn.c.
517 (constant_expression_error): Likewise.
518 (overflow_warning): Likewise.
519 (warn_logical_operator): Likewise.
520 (find_array_ref_with_const_idx_r): Likewise.
521 (warn_tautological_cmp): Likewise.
522 (expr_has_boolean_operands_p): Likewise.
523 (warn_logical_not_parentheses): Likewise.
524 (warn_if_unused_value): Likewise.
525 (strict_aliasing_warning): Likewise.
526 (sizeof_pointer_memaccess_warning): Likewise.
527 (check_main_parameter_types): Likewise.
528 (conversion_warning): Likewise.
529 (warnings_for_convert_and_check): Likewise.
530 (match_case_to_enum_1): Likewise.
531 (match_case_to_enum): Likewise.
532 (c_do_switch_warnings): Likewise.
533 (warn_for_omitted_condop): Likewise.
534 (readonly_error): Likewise.
535 (lvalue_error): Likewise.
536 (invalid_indirection_error): Likewise.
537 (warn_array_subscript_with_type_char): Likewise.
538 (warn_about_parentheses): Likewise.
539 (warn_for_unused_label): Likewise.
540 (warn_for_div_by_zero): Likewise.
541 (warn_for_memset): Likewise.
542 (warn_for_sign_compare): Likewise.
543 (do_warn_double_promotion): Likewise.
544 (do_warn_unused_parameter): Likewise.
545 (record_locally_defined_typedef): Likewise.
546 (maybe_record_typedef_use): Likewise.
547 (maybe_warn_unused_local_typedefs): Likewise.
548 (maybe_warn_bool_compare): Likewise.
549 (maybe_warn_shift_overflow): Likewise.
550 (warn_duplicated_cond_add_or_warn): Likewise.
551 (diagnose_mismatched_attributes): Likewise.
552 * c-common.h: Move the declarations from c-warn.c to its own section.
553 * c-warn.c: New file.
554
555 2016-10-08 Jason Merrill <jason@redhat.com>
556
557 * c-common.c (c_common_truthvalue_conversion): Don't distribute
558 into COND_EXPR in C++.
559
560 2016-10-08 Jakub Jelinek <jakub@redhat.com>
561
562 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
563 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
564 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
565
566 2016-10-07 Jakub Jelinek <jakub@redhat.com>
567
568 Implement LWG2296 helper intrinsic
569 * c-common.h (enum rid): Add RID_ADDRESSOF.
570 * c-common.c (c_common_reswords): Add __builtin_addressof.
571
572 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
573
574 PR c++/77700
575 * c-common.c (c_common_truthvalue_conversion): Warn also for
576 suspicious enum values in boolean context.
577
578 2016-10-06 Jakub Jelinek <jakub@redhat.com>
579
580 Implement P0258R2 - helper for C++17
581 std::has_unique_object_representations trait
582 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
583 * c-common.c (c_common_reswords): Add
584 __has_unique_object_representations.
585
586 2016-10-05 Jakub Jelinek <jakub@redhat.com>
587
588 PR sanitizer/66343
589 * c-ubsan.c (ubsan_instrument_return): Don't call
590 initialize_sanitizer_builtins here.
591
592 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
593
594 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
595 conditional expression in boolean context when only one arm is
596 non-boolean.
597
598 2016-10-05 Jakub Jelinek <jakub@redhat.com>
599
600 PR sanitizer/77823
601 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
602 is not integral.
603
604 * c-common.c (c_common_reswords): Update comment for C++11.
605
606 2016-10-04 Jason Merrill <jason@redhat.com>
607
608 * c-common.c (make_tree_vector_from_ctor): New.
609 * c-common.h: Declare it.
610
611 2016-10-04 Jakub Jelinek <jakub@redhat.com>
612
613 * c-cppbuiltin.c (c_cpp_builtins): Don't define
614 __LIBGCC_JCR_SECTION_NAME__.
615
616 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
617
618 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
619 left shift in boolean context.
620
621 2016-09-29 Jakub Jelinek <jakub@redhat.com>
622
623 Implement P0001R1 - C++17 removal of register storage class specifier
624 * c.opt (Wregister): New warning.
625 * c-opts.c (c_common_post_options): Enable -Wregister by
626 default for C++17.
627
628 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
629
630 * c-opts.c (c_common_post_options): Remove special case for
631 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
632 in C++.
633
634 2016-09-27 Jakub Jelinek <jakub@redhat.com>
635
636 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
637 -std=c++1z.
638
639 * c-ada-spec.c (print_ada_declaration): Remove break after return.
640
641 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
642
643 * c-common.c: Include memmodel.h.
644
645 2016-09-26 Marek Polacek <polacek@redhat.com>
646
647 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
648
649 2016-09-26 Marek Polacek <polacek@redhat.com>
650
651 PR c/7652
652 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
653 (handle_fallthrough_attribute): New function.
654 (attribute_fallthrough_p): New function.
655 * c-common.h (attribute_fallthrough_p): Declare.
656
657 2016-09-24 Marek Polacek <polacek@redhat.com>
658
659 PR c/77490
660 * c.opt (Wbool-operation): New.
661
662 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
663
664 * c-common.c (c_common_truthvalue_conversion): Inhibit
665 Wint-in-bool-context warning with from_macro_definition_at.
666 Mention the expression will always evaluate to true.
667
668 2016-09-21 Martin Sebor <msebor@redhat.com>
669
670 PR bootstrap/77676
671 * c.opt (fprintf-return-value): Temporarily initialize to zero
672 to unblock bootstrap failures.
673
674 2016-09-21 Jakub Jelinek <jakub@redhat.com>
675
676 PR c++/77651
677 * c.opt (Waligned-new=): Add RejectNegative.
678 (faligned-new=): Likewise. Spelling fix - change
679 aligned_new_threshhold to aligned_new_threshold.
680 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
681 to aligned_new_threshold.
682
683 2016-09-20 Martin Sebor <msebor@redhat.com>
684
685 PR middle-end/49905
686 * c.opt: Add -Wformat-length and -fprintf-return-value.
687
688 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
689
690 PR c++/77434
691 * c.opt (Wint-in-bool-context): New warning.
692 * c-common.c (c_common_truthvalue_conversion): Warn on integer
693 constants in boolean context.
694
695 2016-09-19 Joseph Myers <joseph@codesourcery.com>
696
697 * c-common.c (max_align_t_align): Also consider alignment of
698 float128_type_node.
699
700 2016-09-15 Jason Merrill <jason@redhat.com>
701
702 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
703 DECL_EXTERNAL.
704
705 2016-09-14 Jason Merrill <jason@redhat.com>
706
707 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
708 limit FIELD_DECL, either.
709
710 2016-09-14 Marek Polacek <polacek@redhat.com>
711
712 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
713 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
714 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
715
716 2016-09-13 David Malcolm <dmalcolm@redhat.com>
717
718 * c-common.c (warn_logical_not_parentheses): Replace
719 rich_location::add_fixit_insert calls with add_fixit_insert_before
720 and add_fixit_insert_after, eliminating the "next_loc" calculation.
721
722 2016-09-13 Jason Merrill <jason@redhat.com>
723 Tom de Vries <tom@codesourcery.com>
724
725 PR c++/77427
726 * c-common.c (set_underlying_type): Don't treat array as builtin type.
727
728 2016-09-13 Jason Merrill <jason@redhat.com>
729
730 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
731 limit types at all.
732
733 2016-09-12 Jason Merrill <jason@redhat.com>
734
735 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
736 bit/byte confusion, allow large alignment for types.
737
738 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
739
740 PR c++/77496
741 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
742
743 2016-09-12 David Malcolm <dmalcolm@redhat.com>
744
745 PR c/72858
746 * c-format.c (argument_parser::check_argument_type): Add params
747 "type_start" and "conversion_char". Use the former to generate
748 offset_to_type_start and pass it and conversion_char to
749 check_format_types.
750 (check_format_info_main): Capture the start of the type
751 information as "type_start", and pass it an format_char
752 to arg_parser.check_argument_type.
753 (check_format_types): Provide an example in the leading comment.
754 Add params "offset_to_type_start" and "conversion_char"; pass
755 them to format_type_warning calls.
756 (test_get_modifier_for_format_len): Likewise.
757 (matching_type_p): New function.
758 (get_format_for_type): Add param "conversion_char" and move
759 implementation into...
760 (get_format_for_type_1): ...new function, called twice.
761 Use new function matching_type_p rather than checking for
762 TYPE_CANONICAL equality.
763 (get_corrected_substring): New function.
764 (format_type_warning): Provide an example in the leading comment.
765 Add params "offset_to_type_start" and "conversion_char". Replace
766 call to get_format_for_type with call to get_corrected_substring
767 and move rejection of hints for widths/precisions there.
768 (assert_format_for_type_streq): Add param "conversion_char".
769 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
770 (test_get_format_for_type_printf): Add conversion chars to the
771 tests, adding coverage for various combinations of integer
772 vs double conversions, and for preserving octal and hexadecimal
773 conversions.
774 (test_get_format_for_type_scanf): Add conversion chars to the
775 tests.
776
777 2016-09-10 Tom de Vries <tom@codesourcery.com>
778
779 PR C/71602
780 * c-common.c (build_va_arg): Handle more strict
781 targetm.canonical_va_list_type. Replace first argument type error with
782 assert.
783
784 2016-09-09 Martin Sebor <msebor@redhat.com>
785
786 PR c/77520
787 PR c/77521
788 * c-format.c (argument_parser::find_format_char_info): Use %qc
789 format directive unconditionally.
790
791 2016-09-09 Jason Merrill <jason@redhat.com>
792
793 Implement C++17 new of over-aligned types.
794 * c.opt: Add -faligned-new and -Waligned-new.
795 * c-common.c (max_align_t_align): Split out from...
796 (cxx_fundamental_alignment_p): ...here.
797 * c-common.h: Declare it.
798 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
799
800 2016-09-09 Joseph Myers <joseph@codesourcery.com>
801
802 * c-cppbuiltin.c (builtin_define_type_width): New function.
803 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
804 macros.
805
806 2016-09-07 David Malcolm <dmalcolm@redhat.com>
807
808 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
809 a POINTER_TYPE.
810 (substring_loc::get_location): Move to substring-locations.c,
811 keeping implementation as...
812 (c_get_substring_location): New function, from the above, reworked
813 to use accessors rather than member lookup.
814 * c-common.h (class substring_loc): Move to substring-locations.h,
815 replacing with a forward decl.
816 (c_get_substring_location): New decl.
817 * c-format.c: Include "substring-locations.h".
818 (format_warning_va): Move to substring-locations.c.
819 (format_warning_at_substring): Likewise.
820
821 2016-09-06 Martin Sebor <msebor@redhat.com>
822
823 PR c/77336
824 * c-format.c (check_function_format): Avoid issuing warnings for
825 functions unless they call format functions with non-constant
826 format strings.
827
828 2016-09-06 Richard Biener <rguenther@suse.de>
829
830 PR c/77450
831 * c-common.c (c_common_mark_addressable_vec): Handle
832 COMPOUND_LITERAL_EXPR.
833
834 2016-09-05 Marek Polacek <polacek@redhat.com>
835
836 PR c/77423
837 * c-common.c (bool_promoted_to_int_p): New function.
838 (expr_has_boolean_operands_p): New function.
839 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
840 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
841
842 2016-09-04 Tom de Vries <tom@codesourcery.com>
843
844 revert:
845 2016-08-29 Tom de Vries <tom@codesourcery.com>
846
847 * c-common.c (build_va_arg): Replace first argument type error
848 with assert.
849
850 2016-09-02 Jakub Jelinek <jakub@redhat.com>
851
852 PR c/65467
853 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
854 (c_finish_omp_for): Reject _Atomic qualified iterators.
855
856 2016-09-01 Martin Sebor <msebor@redhat.com>
857
858 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
859 size to guarantee it fits the output of the formatted function
860 regardless of its arguments.
861
862 2016-09-01 Marek Polacek <polacek@redhat.com>
863
864 PR c/7652
865 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
866 FALLTHRU comments.
867
868 2016-08-29 Marek Polacek <polacek@redhat.com>
869
870 PR c/77292
871 * c-common.c (warn_logical_not_parentheses): Don't warn for
872 a comparison or a logical operator.
873
874 2016-08-29 Tom de Vries <tom@codesourcery.com>
875
876 * c-common.c (build_va_arg): Fix type comparison assert.
877
878 2016-08-29 Tom de Vries <tom@codesourcery.com>
879
880 * c-common.c (build_va_arg): Replace first argument type error
881 with assert.
882
883 2016-08-29 Tom de Vries <tom@codesourcery.com>
884
885 PR c/77398
886 * c-common.c (build_va_arg): Add first argument error. Build va_arg
887 with error_mark_node as va_list instead of with illegal va_list.
888
889 2016-08-25 Marek Polacek <polacek@redhat.com>
890 David Malcolm <dmalcolm@redhat.com>
891
892 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
893 * c-common.h (warn_logical_not_parentheses): Update declaration.
894
895 2016-08-22 Marek Polacek <polacek@redhat.com>
896
897 PR c++/77321
898 * c-common.c (warn_for_memset): Check type for null.
899
900 2016-08-22 Joseph Myers <joseph@codesourcery.com>
901
902 * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
903 _FloatNx types for suffixes for built-in functions.
904
905 2016-08-19 Joseph Myers <joseph@codesourcery.com>
906
907 PR c/32187
908 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
909 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
910 (RID_FLOAT128X): New enum rid values.
911 (CASE_RID_FLOATN_NX): New macro.
912 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
913 keywords.
914 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
915 corresponding complex types.
916 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
917 _FloatNx and corresponding complex types.
918 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
919 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
920 and _FloatNx types for the widest type for determining
921 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
922 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
923 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
924 and _FloatNx types.
925 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
926 constants.
927 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
928 _FloatNx types.
929
930 2016-08-18 David Malcolm <dmalcolm@redhat.com>
931
932 * c-opts.c (c_diagnostic_finalizer): Update for change to
933 diagnostic_show_locus.
934
935 2016-08-18 David Malcolm <dmalcolm@redhat.com>
936
937 * c-common.c: Include "spellcheck.h".
938 (cb_get_suggestion): New function.
939 * c-common.h (cb_get_suggestion): New decl.
940 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
941 cb_get_suggestion.
942
943 2016-08-18 Marek Polacek <polacek@redhat.com>
944
945 PR c/71514
946 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
947 and pointer-to-VLA.
948
949 2016-08-16 David Malcolm <dmalcolm@redhat.com>
950
951 PR c/72857
952 * c-common.c (substring_loc::get_range): Rename to...
953 (substring_loc::get_location): ...this, converting param from a
954 source_range * to a location_t *. Call
955 get_source_location_for_substring rather than
956 get_source_range_for_substring, and pass in m_caret_idx.
957 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
958 (substring_loc::get_range): Replace with...
959 (substring_loc::get_location): ...this.
960 (substring_loc::set_caret_index): New method.
961 (substring_loc): Add field m_caret_idx.
962 * c-format.c (format_warning_va): Update for above changes.
963 Rename local "substring_loc" to "fmt_substring_loc" to avoid
964 clashing with type name.
965 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
966 (check_argument_type): Likewise.
967 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
968 Use a copy when emitting warnings, setting the caret index from TYPE.
969
970 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
971 Arnaud Charlet <charlet@adacore.com>
972
973 * c-ada-spec.c (dump_number): New function.
974 (handle_escape_character): Likewise.
975 (print_ada_macros): Add handling of constant integers and strings.
976
977 2016-08-12 Marek Polacek <polacek@redhat.com>
978
979 PR c/7652
980 * c-common.c (scalar_to_vector): Adjust fall through comment.
981 * c-opts.c (c_common_handle_option): Likewise.
982 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
983 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
984 fall through comment.
985 * cilk.c (extract_free_variables): Add FALLTHRU.
986
987 2016-08-10 Jason Merrill <jason@redhat.com>
988
989 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
990
991 2016-08-09 Jason Merrill <jason@redhat.com>
992
993 * c-common.c (c_common_attribute_table): vector_size affects type
994 identity.
995
996 2016-08-09 Marek Polacek <polacek@redhat.com>
997
998 PR c/7652
999 * c-ada-spec.c (dump_generic_ada_node): Add return.
1000
1001 2016-08-09 Jason Merrill <jason@redhat.com>
1002
1003 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
1004 C++17 constexpr lambdas.
1005
1006 2016-08-08 David Malcolm <dmalcolm@redhat.com>
1007
1008 PR c/64955
1009 * c-common.h (selftest::c_format_c_tests): New declaration.
1010 (selftest::run_c_tests): New declaration.
1011 * c-format.c: Include "selftest.h.
1012 (format_warning_va): Add param "corrected_substring" and use
1013 it to add a replacement fix-it hint.
1014 (format_warning_at_substring): Likewise.
1015 (format_warning_at_char): Update for new param of
1016 format_warning_va.
1017 (argument_parser::check_argument_type): Pass "fki" to
1018 check_format_types.
1019 (check_format_types): Add param "fki" and pass it to
1020 format_type_warning.
1021 (deref_n_times): New function.
1022 (get_modifier_for_format_len): New function.
1023 (selftest::test_get_modifier_for_format_len): New function.
1024 (get_format_for_type): New function.
1025 (format_type_warning): Add param "fki" and use it to attempt
1026 to provide hints for argument types when calling
1027 format_warning_at_substring.
1028 (selftest::get_info): New function.
1029 (selftest::assert_format_for_type_streq): New function.
1030 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
1031 (selftest::test_get_format_for_type_printf): New function.
1032 (selftest::test_get_format_for_type_scanf): New function.
1033 (selftest::c_format_c_tests): New function.
1034
1035 2016-08-08 David Malcolm <dmalcolm@redhat.com>
1036
1037 PR c/52952
1038 * c-format.c: Include "diagnostic.h".
1039 (location_column_from_byte_offset): Delete.
1040 (location_from_offset): Delete.
1041 (format_warning_va): New function.
1042 (format_warning_at_substring): New function.
1043 (format_warning_at_char): New function.
1044 (check_format_arg): Capture location of format_tree and pass to
1045 check_format_info_main.
1046 (argument_parser): Add fields "start_of_this_format" and
1047 "format_string_cst".
1048 (flag_chars_t::validate): Add param "format_string_cst". Convert
1049 warning_at call using location_from_offset to call to
1050 format_warning_at_char.
1051 (argument_parser::argument_parser): Add param "format_string_cst_"
1052 and use use it to initialize field "format_string_cst".
1053 Initialize new field "start_of_this_format".
1054 (argument_parser::read_format_flags): Convert warning_at call
1055 using location_from_offset to a call to format_warning_at_char.
1056 (argument_parser::read_any_format_left_precision): Likewise.
1057 (argument_parser::read_any_format_precision): Likewise.
1058 (argument_parser::read_any_other_modifier): Likewise.
1059 (argument_parser::find_format_char_info): Likewise, in three places.
1060 (argument_parser::parse_any_scan_set): Likewise, in one place.
1061 (argument_parser::handle_conversions): Likewise, in two places.
1062 (argument_parser::check_argument_type): Add param "fmt_param_loc"
1063 and use it to make a substring_loc. Pass the latter to
1064 check_format_types.
1065 (check_format_info_main): Add params "fmt_param_loc" and
1066 "format_string_cst". Convert warning_at calls using
1067 location_from_offset to calls to format_warning_at_char. Pass the
1068 new params to the arg_parser ctor. Pass "format_string_cst" to
1069 flag_chars.validate. Pass "fmt_param_loc" to
1070 arg_parser.check_argument_type.
1071 (check_format_types): Convert first param from a location_t
1072 to a const substring_loc & and rename to "fmt_loc". Attempt
1073 to extract the range of the relevant parameter and pass it
1074 to format_type_warning.
1075 (format_type_warning): Convert first param from a location_t
1076 to a const substring_loc & and rename to "fmt_loc". Add
1077 params "param_range" and "type". Replace calls to warning_at
1078 with calls to format_warning_at_substring.
1079
1080 2016-08-08 David Malcolm <dmalcolm@redhat.com>
1081
1082 * c-format.c (class flag_chars_t): New class.
1083 (struct length_modifier): New struct.
1084 (class argument_parser): New class.
1085 (flag_chars_t::flag_chars_t): New ctor.
1086 (flag_chars_t::has_char_p): New method.
1087 (flag_chars_t::add_char): New method.
1088 (flag_chars_t::validate): New method.
1089 (flag_chars_t::get_alloc_flag): New method.
1090 (flag_chars_t::assignment_suppression_p): New method.
1091 (argument_parser::argument_parser): New ctor.
1092 (argument_parser::read_any_dollar): New method.
1093 (argument_parser::read_format_flags): New method.
1094 (argument_parser::read_any_format_width): New method.
1095 (argument_parser::read_any_format_left_precision): New method.
1096 (argument_parser::read_any_format_precision): New method.
1097 (argument_parser::handle_alloc_chars): New method.
1098 (argument_parser::read_any_length_modifier): New method.
1099 (argument_parser::read_any_other_modifier): New method.
1100 (argument_parser::find_format_char_info): New method.
1101 (argument_parser::validate_flag_pairs): New method.
1102 (argument_parser::give_y2k_warnings): New method.
1103 (argument_parser::parse_any_scan_set): New method.
1104 (argument_parser::handle_conversions): New method.
1105 (argument_parser::check_argument_type): New method.
1106 (check_format_info_main): Introduce classes argument_parser
1107 and flag_chars_t, moving the code within the loop into methods
1108 of these classes. Make various locals "const".
1109
1110 2016-08-05 David Malcolm <dmalcolm@redhat.com>
1111
1112 * c-common.c: Include "substring-locations.h".
1113 (get_cpp_ttype_from_string_type): New function.
1114 (g_string_concat_db): New global.
1115 (substring_loc::get_range): New method.
1116 * c-common.h (g_string_concat_db): New declaration.
1117 (class substring_loc): New class.
1118 * c-lex.c (lex_string): When concatenating strings, capture the
1119 locations of all tokens using a new obstack, and record the
1120 concatenation locations within g_string_concat_db.
1121 * c-opts.c (c_common_init_options): Construct g_string_concat_db
1122 on the ggc-heap.
1123
1124 2016-07-29 Marek Polacek <polacek@redhat.com>
1125
1126 PR c/71926
1127 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
1128 parentheses warning.
1129
1130 PR c/71574
1131 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
1132
1133 2016-07-28 Martin Liska <mliska@suse.cz>
1134
1135 PR gcov-profile/68025
1136 * c-common.c (handle_no_profile_instrument_function_attribute):
1137
1138 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
1139
1140 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
1141 BITS_PER_UNIT_LOG.
1142
1143 2016-07-25 Jason Merrill <jason@redhat.com>
1144
1145 PR c++/65970
1146 * c.opt (fconstexpr-loop-limit): New.
1147
1148 2016-07-22 Martin Sebor <msebor@redhat.com>
1149
1150 PR c++/71675
1151 * c-common.c (resolve_overloaded_builtin): Avoid converting
1152 __atomic_compare_exchange_n return type to that of what its
1153 first argument points to.
1154
1155 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
1156
1157 * c-common.c: Use HOST_WIDE_INT_M1U instead of
1158 ~(unsigned HOST_WIDE_INT) 0.
1159
1160 2016-07-22 Martin Liska <mliska@suse.cz>
1161
1162 PR gcov-profile/69028
1163 PR gcov-profile/62047
1164 * cilk.c (create_cilk_helper_decl): Set location of a new decl
1165 to the current_function_decl.
1166
1167 2016-07-21 Jason Merrill <jason@redhat.com>
1168
1169 PR c++/65168
1170 * c-common.c (c_common_truthvalue_conversion): Check
1171 c_inhibit_evaluation_warnings for warning about address of
1172 reference.
1173
1174 2016-07-20 David Malcolm <dmalcolm@redhat.com>
1175
1176 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
1177 const char *.
1178
1179 2016-07-15 Jason Merrill <jason@redhat.com>
1180
1181 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
1182
1183 2016-07-15 Jakub Jelinek <jakub@redhat.com>
1184
1185 PR c/71858
1186 * c-common.h (enum lookup_name_fuzzy_kind): Add
1187 FUZZY_LOOKUP_FUNCTION_NAME.
1188
1189 2016-07-08 Jason Merrill <jason@redhat.com>
1190
1191 P0145: Refining Expression Order for C++.
1192 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
1193 * c-opts.c: Adjust.
1194
1195 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
1196
1197 PR c++/71214
1198 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
1199
1200 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
1201
1202 * c-pragma.h (enum pragma_kind): Rename
1203 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
1204 users.
1205
1206 2016-06-29 Richard Biener <rguenther@suse.de>
1207
1208 PR middle-end/71002
1209 * c-common.c (c_common_get_alias_set): Remove union type punning case.
1210
1211 2016-06-24 Jason Merrill <jason@redhat.com>
1212
1213 P0145R2: Refining Expression Order for C++.
1214 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
1215 MODIFY_EXPR.
1216
1217 2016-06-24 Jakub Jelinek <jakub@redhat.com>
1218
1219 * c-common.c (check_builtin_function_arguments): Require last
1220 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
1221 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
1222 if the last argument is pointer to enumerated or boolean type.
1223
1224 2016-06-22 David Malcolm <dmalcolm@redhat.com>
1225
1226 PR c/70339
1227 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
1228 (lookup_name_fuzzy): New prototype.
1229
1230 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
1231
1232 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
1233
1234 2016-06-14 Jason Merrill <jason@redhat.com>
1235
1236 P0145R2: Refining Expression Order for C++.
1237 * c.opt (fargs-in-order): New.
1238 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
1239
1240 2016-06-13 Jakub Jelinek <jakub@redhat.com>
1241
1242 PR sanitizer/71498
1243 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
1244 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
1245
1246 PR preprocessor/71183
1247 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
1248 to cb_get_source_date_epoch.
1249
1250 2016-06-10 Jakub Jelinek <jakub@redhat.com>
1251
1252 PR c/68657
1253 * c.opt (Wpsabi): Add Warning flag.
1254
1255 2016-06-10 Martin Sebor <msebor@redhat.com>
1256
1257 PR c/71392
1258 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
1259 the nonnull attribute in type-generic builtins.
1260
1261 2016-06-09 Martin Sebor <msebor@redhat.com>
1262
1263 PR c/70883
1264 * c-common.c (builtin_function_validate_nargs): Make text of error
1265 message consistent with others like it.
1266
1267 2016-06-08 Martin Sebor <msebor@redhat.com>
1268 Jakub Jelinek <jakub@redhat.com>
1269
1270 PR c++/70507
1271 PR c/68120
1272 * c-common.c (check_builtin_function_arguments): Handle
1273 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
1274
1275 2016-06-08 Richard Biener <rguenther@suse.de>
1276
1277 * c-common.c (parse_optimize_options): Improve diagnostic messages.
1278
1279 2016-06-07 Richard Biener <rguenther@suse.de>
1280
1281 PR c/61564
1282 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
1283 options and warn about others.
1284
1285 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
1286
1287 * c-common.c (get_source_date_epoch): Rename to
1288 cb_get_source_date_epoch.
1289 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
1290 message when the parsing fails. Use error_at instead of fatal_error.
1291 * c-common.h (get_source_date_epoch): Rename to
1292 cb_get_source_date_epoch.
1293 * c-common.h (cb_get_source_date_epoch): Prototype.
1294 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
1295 * c-common.h (c_omp_region_type): Remove trailing comma.
1296 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
1297 * c-lex.c (c_lex_with_flags): Remove initialization of
1298 pfile->source_date_epoch.
1299
1300 2016-05-30 Jakub Jelinek <jakub@redhat.com>
1301
1302 PR c++/71349
1303 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
1304 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
1305 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
1306 instead of C_OMP_CLAUSE_SPLIT_FOR.
1307
1308 2016-05-24 Richard Biener <rguenther@suse.de>
1309
1310 PR middle-end/70434
1311 PR c/69504
1312 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
1313 (convert_vector_to_array_for_subscript): ... this.
1314 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
1315 VIEW_CONVERT_EXPR to an array type. Rename to ...
1316 (convert_vector_to_array_for_subscript): ... this.
1317
1318 2016-05-12 Marek Polacek <polacek@redhat.com>
1319
1320 PR c/70756
1321 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
1322 size_in_bytes and pass LOC to it.
1323
1324 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
1325
1326 PR c/43651
1327 * c.opt (Wduplicate-decl-specifier): New option.
1328
1329 2016-05-11 Marek Polacek <polacek@redhat.com>
1330
1331 PR c++/71024
1332 * c-common.c (diagnose_mismatched_attributes): New function.
1333 * c-common.h (diagnose_mismatched_attributes): Declare.
1334
1335 2016-05-04 Marek Polacek <polacek@redhat.com>
1336
1337 * c.opt (Wdangling-else): New option.
1338
1339 2016-05-03 Marek Polacek <polacek@redhat.com>
1340
1341 PR c/70859
1342 * c-common.c (builtin_function_validate_nargs): Add location
1343 parameter. Use it.
1344 (check_builtin_function_arguments): Add location and arguments
1345 parameters. Use them.
1346 * c-common.h (check_builtin_function_arguments): Update declaration.
1347
1348 2016-05-03 Richard Biener <rguenther@suse.de>
1349
1350 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
1351 allow call args to gimplify to SSA names.
1352
1353 2016-05-03 Marek Polacek <polacek@redhat.com>
1354
1355 * c-common.h (enum c_omp_region_type): Remove stray comma.
1356
1357 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
1358
1359 * c-common.h (enum c_omp_region_type): Define.
1360
1361 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
1362
1363 * c-common.c (shorten_compare): Use wi::to_wide.
1364
1365 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1366
1367 PR middle-end/70626
1368 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
1369 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
1370 reduction clauses in acc parallel loops.
1371
1372 2016-04-29 Marek Polacek <polacek@redhat.com>
1373
1374 PR c/70852
1375 * c-common.c (warn_for_memset): Check domain before accessing it.
1376
1377 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1378
1379 PR/69089
1380 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
1381 "aligned" attribute.
1382
1383 2016-04-28 Jason Merrill <jason@redhat.com>
1384
1385 * c-lex.c (c_common_has_attribute): Handle nodiscard.
1386
1387 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
1388 Matthias Klose <doko@debian.org>
1389
1390 * c-common.c (get_source_date_epoch): New function, gets the environment
1391 variable SOURCE_DATE_EPOCH and parses it as long long with error
1392 handling.
1393 * c-common.h (get_source_date_epoch): Prototype.
1394 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
1395
1396 2015-04-27 Ryan Burn <contact@rnburn.com>
1397
1398 PR c++/69024
1399 PR c++/68997
1400 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
1401 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
1402 external linkage.
1403 (cilk_detect_and_unwrap): Corresponding changes.
1404 (extract_free_variables): Don't extract free variables from
1405 AGGR_INIT_EXPR slot.
1406 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
1407 (cilk_recognize_spawn): Likewise.
1408
1409 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
1410
1411 * c.opt (Wmemset-elt-size): New option.
1412 * c-common.c (warn_for_memset): New function.
1413 * c-common.h (warn_for_memset): Declare.
1414
1415 2016-04-25 Jason Merrill <jason@redhat.com>
1416
1417 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
1418 No longer static.
1419 * c-common.h: Declare it.
1420 * c-lex.c (c_common_has_attribute): Add maybe_unused.
1421
1422 2016-04-22 Jason Merrill <jason@redhat.com>
1423
1424 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
1425
1426 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
1427
1428 PR c++/69363
1429 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
1430 * c-common.h (c_finish_cilk_clauses): Remove declaration.
1431
1432 2016-04-18 Michael Matz <matz@suse.de>
1433
1434 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
1435 and SET_DECL_ALIGN.
1436
1437 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
1438
1439 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
1440 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
1441 to incomplete types.
1442 (dump_nested_type): Remove redundant tests and tidy up.
1443 (print_ada_declaration): Also set TREE_VISITED on the declaration of
1444 a type which is the typedef of an original type.
1445
1446 2016-04-15 Marek Polacek <polacek@redhat.com>
1447
1448 PR c/70651
1449 * c-common.c (build_va_arg): Change two asserts into errors and return
1450 error_mark_node.
1451
1452 2016-04-13 Marek Polacek <polacek@redhat.com>
1453
1454 PR c++/70639
1455 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
1456 for switch statements, too.
1457
1458 2016-03-28 Jason Merrill <jason@redhat.com>
1459
1460 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
1461
1462 2016-03-23 Marek Polacek <polacek@redhat.com>
1463
1464 PR c++/69884
1465 * c.opt (Wignored-attributes): New option.
1466
1467 2016-03-22 David Malcolm <dmalcolm@redhat.com>
1468
1469 PR c/69993
1470 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
1471 diagnostic text, reversing the order of the warning and note so
1472 that they appear in source order.
1473
1474 2016-03-17 Marek Polacek <polacek@redhat.com>
1475
1476 PR c/69407
1477 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
1478 operations.
1479
1480 2016-03-14 Jason Merrill <jason@redhat.com>
1481
1482 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
1483
1484 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
1485
1486 2016-03-09 Richard Biener <rguenther@suse.de>
1487
1488 PR c/70143
1489 * c-common.c (strict_aliasing_warning): Add back
1490 alias_sets_conflict_p check.
1491
1492 2016-03-08 Jason Merrill <jason@redhat.com>
1493
1494 * c-opts.c (set_std_cxx1z): Don't enable concepts.
1495
1496 2016-03-04 David Malcolm <dmalcolm@redhat.com>
1497
1498 PR c/68187
1499 * c-indentation.c (get_visual_column): Move code to determine next
1500 tab stop to...
1501 (next_tab_stop): ...this new function.
1502 (line_contains_hash_if): Delete function.
1503 (detect_preprocessor_logic): Delete function.
1504 (get_first_nws_vis_column): New function.
1505 (detect_intervening_unindent): New function.
1506 (should_warn_for_misleading_indentation): Replace call to
1507 detect_preprocessor_logic with a call to
1508 detect_intervening_unindent.
1509
1510 2016-03-04 David Malcolm <dmalcolm@redhat.com>
1511
1512 PR c/68187
1513 * c-indentation.c (should_warn_for_misleading_indentation): When
1514 suppressing warnings about cases where the guard and body are on
1515 the same column, only use the first non-whitespace column in place
1516 of the guard token column when dealing with "else" clauses.
1517 When rejecting aligned BODY and NEXT, loosen the requirement
1518 from equality with the first non-whitespace of guard to simply
1519 that they not be indented relative to it.
1520
1521 2016-03-04 Richard Biener <rguenther@suse.de>
1522
1523 PR c++/70054
1524 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
1525 instead of alias_sets_conflict_p.
1526
1527 2016-03-01 Marek Polacek <polacek@redhat.com>
1528
1529 PR c++/69795
1530 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
1531 any DECL.
1532
1533 2016-02-22 Martin Sebor <msebor@redhat.com>
1534
1535 PR middle-end/69780
1536 * c-common.c (check_builtin_function_arguments): Validate and
1537 reject invalid arguments to __builtin_alloca_with_align.
1538
1539 2016-02-20 Mark Wielaard <mjw@redhat.com>
1540
1541 PR c/28901
1542 * c.opt (Wunused-const-variable): Turn into Alias for...
1543 (Wunused-const-variable=): New option.
1544
1545 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
1546
1547 PR c++/69865
1548 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
1549 here...
1550 (c_common_init_options): ...to here.
1551 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
1552
1553 2016-02-19 Jakub Jelinek <jakub@redhat.com>
1554
1555 PR c++/69826
1556 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
1557 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
1558 flag_preprocess_only.
1559
1560 2016-02-16 Jakub Jelinek <jakub@redhat.com>
1561
1562 PR c/69835
1563 * c.opt (Wnonnull-compare): Enable for -Wall.
1564
1565 2016-02-15 Jakub Jelinek <jakub@redhat.com>
1566
1567 PR c++/69797
1568 * c-common.c (sync_resolve_size): Diagnose too few arguments
1569 even when params is non-NULL empty vector.
1570
1571 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
1572
1573 PR target/60410
1574 * c.opt (fshort-double): Remove.
1575
1576 2016-02-05 Martin Sebor <msebor@redhat.com>
1577
1578 PR c++/69662
1579 * c.opt (Warning options): Update -Wplacement-new to take
1580 an optional argument.
1581
1582 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1583
1584 PR preprocessor/69543
1585 PR c/69558
1586 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
1587 instead of loc to control_warning_option.
1588
1589 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1590
1591 * c.opt (fopenacc-dim=): New option.
1592
1593 2016-01-27 Ryan Burn <contact@rnburn.com>
1594
1595 PR cilkplus/69267
1596 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
1597 gimplify_arg. Removed superfluous post_p argument.
1598 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
1599 superfluous post_p argument.
1600 * c-gimplify.c (c_gimplify_expr): Likewise.
1601
1602 2016-01-26 David Malcolm <dmalcolm@redhat.com>
1603
1604 PR other/69006
1605 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
1606 pp_newline_and_flush with pp_flush.
1607
1608 2016-01-20 Martin Sebor <msebor@redhat.com>
1609
1610 PR c/69405
1611 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
1612 an incompatible argument when the argument isn't a valid tree node.
1613
1614 2016-01-18 Jason Merrill <jason@redhat.com>
1615
1616 PR c++/68767
1617 * c-common.c (check_function_arguments_recurse): Fold the whole
1618 COND_EXPR, not just the condition.
1619
1620 2016-01-18 Tom de Vries <tom@codesourcery.com>
1621
1622 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
1623 classify as loop clause.
1624
1625 2016-01-15 Jakub Jelinek <jakub@redhat.com>
1626
1627 PR bootstrap/68271
1628 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
1629 C++ FE no longer has limit on number of pragmas.
1630
1631 2015-01-14 Ryan Burn <contact@rnburn.com>
1632
1633 PR c++/69048
1634 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
1635 to add missing cleanup point.
1636
1637 2016-01-14 David Malcolm <dmalcolm@redhat.com>
1638
1639 PR c++/68819
1640 * c-indentation.c (get_visual_column): Add location_t param.
1641 Handle the column number being zero by effectively disabling the
1642 warning, with an "inform".
1643 (should_warn_for_misleading_indentation): Add location_t argument
1644 for all uses of get_visual_column.
1645
1646 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
1647
1648 PR c++/69029
1649 * c-indentation.c (should_warn_for_misleading_indentation):
1650 Don't warn about do-while statements.
1651
1652 2016-01-07 Martin Sebor <msebor@redhat.com>
1653
1654 PR c/68966
1655 * c-common.c (sync_resolve_size): Reject first argument when it's
1656 a pointer to _Bool.
1657
1658 2016-01-05 David Malcolm <dmalcolm@redhat.com>
1659
1660 PR c/69122
1661 * c-indentation.c (get_visual_column): Remove default argument.
1662 (should_warn_for_misleading_indentation): For the multiline case,
1663 update call to get_visual_column for next_stmt_exploc so that it
1664 captures the location of the first non-whitespace character in the
1665 relevant line. Don't issue warnings if there is non-whitespace
1666 before the next statement.
1667
1668 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1669
1670 Update copyright years.
1671
1672 2015-12-21 David Malcolm <dmalcolm@redhat.com>
1673
1674 * c-common.c (binary_op_error): Convert first param from
1675 location_t to rich_location * and use it when emitting an error.
1676 * c-common.h (binary_op_error): Convert first param from
1677 location_t to rich_location *.
1678
1679 2015-12-16 David Malcolm <dmalcolm@redhat.com>
1680
1681 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
1682 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
1683
1684 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1685
1686 * c-common.c (c_common_attribute_table): Handle "omp declare target
1687 link" attribute.
1688
1689 2015-12-14 Jakub Jelinek <jakub@redhat.com>
1690
1691 PR c/68833
1692 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
1693
1694 2014-12-12 Tobias Burnus <burnus@net-b.de>
1695
1696 PR fortran/68815
1697 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
1698 specifiers (%d, %i,%u and %c).
1699
1700 2015-12-10 David Malcolm <dmalcolm@redhat.com>
1701
1702 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
1703
1704 2015-12-08 Jakub Jelinek <jakub@redhat.com>
1705
1706 PR c/48088
1707 PR c/68657
1708 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
1709 * c-pragma.c (handle_pragma_diagnostic): Adjust
1710 control_warning_option caller.
1711
1712 2015-12-07 David Malcolm <dmalcolm@redhat.com>
1713
1714 * c-common.c (c_cpp_error): Update for change to
1715 rich_location::set_range.
1716
1717 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
1718
1719 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
1720 shifting 1 out of the sign bit.
1721
1722 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
1723
1724 * c-common.c (c_common_attribute_table[]): Update max arguments
1725 count for "simd" attribute.
1726 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
1727
1728 2015-12-03 Jakub Jelinek <jakub@redhat.com>
1729
1730 PR preprocessor/57580
1731 * c-ppoutput.c (print): Change printed field to bool.
1732 Move src_file last for smaller padding.
1733 (init_pp_output): Set print.printed to false instead of 0.
1734 (scan_translation_unit): Fix up formatting. Set print.printed
1735 to true after printing something other than newline.
1736 (scan_translation_unit_trad): Set print.printed to true instead of 1.
1737 (maybe_print_line_1): Set print.printed to false instead of 0.
1738 (print_line_1): Likewise.
1739 (do_line_change): Set print.printed to true instead of 1.
1740 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
1741 dump_macro): Set print.printed to false after printing newline.
1742
1743 2015-12-02 Jason Merrill <jason@redhat.com>
1744
1745 * c-common.c (fold_for_warn): New.
1746 (warn_logical_operator, warn_tautological_cmp)
1747 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
1748
1749 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
1750 (c_fully_fold_internal, decl_constant_value_for_optimization):
1751 Move to c/c-fold.c.
1752 * c-common.h: Don't declare decl_constant_value_for_optimization.
1753
1754 2015-12-02 Joseph Myers <joseph@codesourcery.com>
1755
1756 PR c/68162
1757 * c-common.h (c_build_qualified_type): Add extra default
1758 arguments.
1759
1760 2015-12-01 Julian Brown <julian@codesourcery.com>
1761 Cesar Philippidis <cesar@codesourcery.com>
1762 James Norris <James_Norris@mentor.com>
1763
1764 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
1765 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
1766 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
1767
1768 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
1769
1770 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
1771 (decl_sloc_common): Delete and move bulk of processing to...
1772 (decl_sloc): ...here.
1773 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
1774 (dump_ada_double_name): Remove S parameter and compute the suffix.
1775 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
1776 element type and deal with an anonymous one.
1777 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
1778 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
1779 and remove reference to QUAL_UNION_TYPE.
1780 (dump_nested_types): Make 2 passes on the fields and move bulk to...
1781 (dump_nested_type): ...here. New function extracted from above.
1782 Generate a full declaration for anonymous element type of arrays.
1783 (print_ada_declaration): Really skip anonymous declarations. Remove
1784 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
1785 Clean up processing of declarations of array types and objects.
1786 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
1787 Remove obsolete code and tidy up.
1788
1789 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
1790
1791 PR c/67581
1792 * c-common.c (handle_transparent_union_attribute): Update
1793 also type variants.
1794
1795 2015-11-27 Martin Liska <mliska@suse.cz>
1796
1797 PR c++/68312
1798 * array-notation-common.c (cilkplus_extract_an_triplets):
1799 Release vector of vectors.
1800 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
1801
1802 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
1803
1804 PR c++/68527
1805 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
1806 (print_ada_struct_decl): Likewise.
1807
1808 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
1809
1810 PR c++/68001
1811 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
1812 * cilk.c (recognize_spawn): Determine location in a more precise
1813 way.
1814
1815 2015-11-19 Jason Merrill <jason@redhat.com>
1816
1817 * c-common.c (shorten_compare): But look through macros from
1818 system headers.
1819
1820 2015-11-18 Jason Merrill <jason@redhat.com>
1821
1822 * c-common.c (shorten_compare): Don't -Wtype-limits if the
1823 non-constant operand comes from a macro.
1824
1825 2015-11-17 Jason Merrill <jason@redhat.com>
1826
1827 PR bootstrap/68346
1828 * c-common.c (warn_tautological_cmp): Fold before checking for
1829 constants.
1830
1831 2015-11-16 Marek Polacek <polacek@redhat.com>
1832
1833 PR c++/68362
1834 * c-common.c (check_case_bounds): Fold low and high cases.
1835
1836 2015-11-16 Marek Polacek <polacek@redhat.com>
1837
1838 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
1839 * c-common.c (c_common_get_alias_set): Likewise.
1840 (handle_visibility_attribute): Likewise.
1841
1842 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
1843
1844 * c-common.c (handle_simd_attribute): New.
1845 (struct attribute_spec): Add entry for "simd".
1846 (handle_simd_attribute): New.
1847
1848 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
1849
1850 * c-lex.c (interpret_float): Use fold_convert.
1851
1852 2015-11-13 David Malcolm <dmalcolm@redhat.com>
1853
1854 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
1855 and store it on the result.
1856 * c-opts.c (c_common_init_options): Set
1857 global_dc->colorize_source_p.
1858
1859 2015-11-12 James Norris <jnorris@codesourcery.com>
1860 Joseph Myers <joseph@codesourcery.com>
1861
1862 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
1863 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
1864 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
1865 PRAGMA_OACC_CLAUSE_LINK.
1866
1867 2015-11-11 Marek Polacek <polacek@redhat.com>
1868
1869 PR c/68107
1870 PR c++/68266
1871 * c-common.c (valid_array_size_p): New function.
1872 * c-common.h (valid_array_size_p): Declare.
1873
1874 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
1875
1876 PR bootstrap/68271
1877 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
1878
1879 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
1880
1881 * array-notation-common.c: Remove unused header files.
1882 * c-ada-spec.c: Likewise.
1883 * c-cilkplus.c: Likewise.
1884 * c-common.c: Likewise.
1885 * c-cppbuiltin.c: Likewise.
1886 * c-dump.c: Likewise.
1887 * c-format.c: Likewise.
1888 * c-gimplify.c: Likewise.
1889 * c-indentation.c: Likewise.
1890 * c-lex.c: Likewise.
1891 * c-omp.c: Likewise.
1892 * c-opts.c: Likewise.
1893 * c-pch.c: Likewise.
1894 * c-ppoutput.c: Likewise.
1895 * c-pragma.c: Likewise.
1896 * c-pretty-print.c: Likewise.
1897 * c-semantics.c: Likewise.
1898 * c-ubsan.c: Likewise.
1899 * cilk.c: Likewise.
1900 * stub-objc.c: Likewise.
1901
1902 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
1903 Cesar Philippidis <cesar@codesourcery.com>
1904 James Norris <jnorris@codesourcery.com>
1905 Julian Brown <julian@codesourcery.com>
1906 Nathan Sidwell <nathan@codesourcery.com>
1907
1908 * c-pragma.c (oacc_pragmas): Add "routine".
1909 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
1910
1911 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1912
1913 * c-common.c (c_common_attributes): Add scalar_storage_order.
1914 (handle_scalar_storage_order_attribute): New function.
1915 * c-pragma.c (global_sso): New variable.
1916 (maybe_apply_pragma_scalar_storage_order): New function.
1917 (handle_pragma_scalar_storage_order): Likewise.
1918 (init_pragma): Register scalar_storage_order.
1919 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
1920 * c.opt (Wscalar-storage-order): New warning.
1921 (fsso-struct=): New option.
1922
1923 2015-11-08 Martin Sebor <msebor@redhat.com>
1924
1925 * c.opt (Wplacement-new): Add a period to the end of a sentence.
1926
1927 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1928
1929 * c-common.c: Don't undef DEF_BUILTIN.
1930
1931 2015-11-06 David Malcolm <dmalcolm@redhat.com>
1932
1933 * c-common.c (c_cpp_error): Convert parameter from location_t to
1934 rich_location *. Eliminate the "column_override" parameter and
1935 the call to diagnostic_override_column.
1936 Update the "done_lexing" clause to set range 0
1937 on the rich_location, rather than overwriting a location_t.
1938 * c-common.h (c_cpp_error): Convert parameter from location_t to
1939 rich_location *. Eliminate the "column_override" parameter.
1940
1941 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
1942 Thomas Schwinge <thomas@codesourcery.com>
1943 James Norris <jnorris@codesourcery.com>
1944
1945 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
1946 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
1947 clauses with parallel and kernels and loops.
1948 * c-pragma.h (enum pragma_omp_clause): Add entries for
1949 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
1950 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
1951 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
1952 INDEPENDENT,SEQ}.
1953 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
1954
1955 2015-11-05 Martin Sebor <msebor@redhat.com>
1956
1957 PR c++/67942
1958 * c.opt (-Wplacement-new): New option.
1959
1960 2015-11-05 Jakub Jelinek <jakub@redhat.com>
1961
1962 * c-common.h (c_finish_omp_atomic): Add TEST argument.
1963 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
1964 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
1965 save_expr or create_tmp_var* if TEST is true.
1966 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
1967 Don't call add_stmt here.
1968 (struct c_omp_check_loop_iv_data): New type.
1969 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
1970 c_omp_check_loop_iv_exprs): New functions.
1971 (c_omp_split_clauses): Adjust for lastprivate being allowed on
1972 distribute.
1973 (c_omp_declare_simd_clauses_to_numbers): Change
1974 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
1975 (c_omp_declare_simd_clauses_to_decls): Similarly change those
1976 from numbers to PARM_DECLs.
1977
1978 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
1979
1980 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
1981 flag_checking.
1982
1983 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
1984
1985 PR c++-common/67882
1986 * c-common.h (fold_offsetof_1): Add argument.
1987 * c-common.c (fold_offsetof_1): Diagnose more invalid
1988 offsetof expressions that reference elements past the end of
1989 an array.
1990
1991 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
1992 Chung-Lin Tang <cltang@codesourcery.com>
1993
1994 * c-pragma.c (oacc_pragmas): Add "atomic".
1995 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
1996
1997 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
1998
1999 * c-common.c (handle_target_clones_attribute): New.
2000 (c_common_attribute_table): Add handle_target_clones_attribute.
2001 (handle_always_inline_attribute): Add check on target_clones attribute.
2002 (handle_target_attribute): Ditto.
2003
2004 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
2005
2006 * array-notation-common.c: Reorder #include's and remove duplicates.
2007 * c-ada-spec.c: Likewise.
2008 * c-cilkplus.c: Likewise.
2009 * c-common.c: Likewise.
2010 * c-cppbuiltin.c: Likewise.
2011 * c-dump.c: Likewise.
2012 * c-format.c: Likewise.
2013 * c-gimplify.c: Likewise.
2014 * c-indentation.c: Likewise.
2015 * c-lex.c: Likewise.
2016 * c-omp.c: Likewise.
2017 * c-opts.c: Likewise.
2018 * c-pch.c: Likewise.
2019 * c-ppoutput.c: Likewise.
2020 * c-pragma.c: Likewise.
2021 * c-pretty-print.c: Likewise.
2022 * c-semantics.c: Likewise.
2023 * c-ubsan.c: Likewise.
2024 * cilk.c: Likewise.
2025 * stub-objc.c: Likewise.
2026
2027 2015-10-28 Jason Merrill <jason@redhat.com>
2028
2029 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
2030
2031 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2032 James Norris <jnorris@codesourcery.com>
2033 Cesar Philippidis <cesar@codesourcery.com>
2034
2035 PR c/64765
2036 PR c/64880
2037 * c-common.h (c_oacc_split_loop_clauses): Declare function.
2038 * c-omp.c (c_oacc_split_loop_clauses): New function.
2039
2040 2015-10-21 Martin Sebor <msebor@redhat.com>
2041
2042 PR driver/68043
2043 * c.opt: End each sentence that describes an option with a period.
2044
2045 2015-10-20 Marek Polacek <polacek@redhat.com>
2046
2047 * array-notation-common.c (is_cilkplus_vector_p): Define.
2048 * c-common.h (is_cilkplus_vector_p): Declare.
2049
2050 2015-10-20 Marek Polacek <polacek@redhat.com>
2051
2052 * c.opt (std=gnu++11): Do not describe as experimental.
2053 (std=gnu++14): Likewise.
2054
2055 2015-10-19 Jason Merrill <jason@redhat.com>
2056
2057 * c-cppbuiltin.c (c_cpp_builtins): Define
2058 __cpp_nontype_template_args.
2059
2060 2015-10-19 Jason Merrill <jason@redhat.com>
2061
2062 * c-cppbuiltin.c (c_cpp_builtins): Define
2063 __cpp_enumerator_attributes, __cpp_fold_expressions,
2064 __cpp_unicode_characters.
2065
2066 2015-10-13 Jakub Jelinek <jakub@redhat.com>
2067 Aldy Hernandez <aldyh@redhat.com>
2068
2069 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
2070 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
2071 (c_define_builtins): Likewise.
2072 * c-common.h (enum c_omp_clause_split): Add
2073 C_OMP_CLAUSE_SPLIT_TASKLOOP.
2074 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
2075 (c_finish_omp_for): Add ORIG_DECLV argument.
2076 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
2077 201511 instead of 201307.
2078 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
2079 OMP_CRITICAL_CLAUSES to it.
2080 (c_finish_omp_ordered): Add CLAUSES argument, set
2081 OMP_ORDERED_CLAUSES to it.
2082 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
2083 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
2084 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
2085 constructs and new OpenMP 4.5 clauses. Clear
2086 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
2087 verification code.
2088 * c-pragma.c (omp_pragmas_simd): Add taskloop.
2089 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
2090 (enum pragma_omp_clause): Add
2091 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
2092 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
2093
2094 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
2095
2096 * c-lex.c (interpret_float): Use real_equal instead of
2097 REAL_VALUES_EQUAL.
2098
2099 2015-10-04 Jason Merrill <jason@redhat.com>
2100
2101 Implement N4514, C++ Extensions for Transactional Memory.
2102 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
2103 (c_common_attribute_table): Add transaction_safe_dynamic.
2104 transaction_safe now affects type identity.
2105 (handle_tm_attribute): Handle transaction_safe_dynamic.
2106 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
2107 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
2108 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
2109 (D_TRANSMEM): New.
2110 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
2111 * c-pretty-print.c (pp_c_attributes_display): Don't print
2112 transaction_safe in C++.
2113
2114 2015-10-02 Marek Polacek <polacek@redhat.com>
2115
2116 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
2117
2118 2015-10-02 Marek Polacek <polacek@redhat.com>
2119
2120 PR c/64249
2121 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
2122 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
2123 * c.opt (Wduplicated-cond): New option.
2124
2125 2015-10-01 Joseph Myers <joseph@codesourcery.com>
2126
2127 * c.opt (std=c11): Do not describe as experimental.
2128 (std=gnu11): Likewise.
2129 (std=iso9899:2011): Likewise.
2130
2131 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2132
2133 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
2134 (DEF_FUNCTION_TYPE_VAR_11): Delete.
2135
2136 2015-09-25 Marek Polacek <polacek@redhat.com>
2137
2138 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
2139 (ubsan_instrument_shift): Likewise.
2140
2141 2015-09-25 Marek Polacek <polacek@redhat.com>
2142
2143 PR sanitizer/64906
2144 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
2145
2146 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
2147
2148 * c-indentation.c (should_warn_for_misleading_indentation):
2149 Compare next_stmt_vis_column with guard_line_first_nws instead
2150 of with guard_line_vis_column.
2151
2152 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
2153
2154 PR c/49654
2155 PR c/49655
2156 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
2157 options and options not valid for the current language.
2158
2159 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
2160
2161 * c-indentation.c (should_warn_for_misleading_indentation):
2162 Float out and consolidate the calls to get_visual_column that
2163 are passed guard_exploc as an argument. Compare
2164 next_stmt_vis_column with guard_line_first_nws instead of with
2165 body_line_first_nws.
2166
2167 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
2168
2169 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
2170 Wnamespaces): New C++ warnings.
2171
2172 2015-09-22 Jason Merrill <jason@redhat.com>
2173
2174 * c-common.h (abi_compat_version_crosses): New.
2175 (warn_abi_version): Declare.
2176 * c-common.c: Define it.
2177 * c-opts.c (c_common_post_options): Handle it.
2178 flag_abi_compat_version defaults to 8.
2179
2180 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
2181
2182 Complete the implementation of N4230, Nested namespace definition.
2183 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
2184 __cpp_nested_namespace_definitions.
2185
2186 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2187
2188 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
2189
2190 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
2191
2192 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
2193 when warning.
2194 * c-pragma.h (pragma_lex): Add optional loc argument.
2195
2196 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2197
2198 * c-format.c (check_format_arg): Adjust to use common block size in all
2199 object pools.
2200
2201 2015-09-15 David Malcolm <dmalcolm@redhat.com>
2202
2203 * c-format.c (location_from_offset): Update for change in
2204 signature of location_get_source_line.
2205 * c-indentation.c (get_visual_column): Likewise.
2206 (line_contains_hash_if): Likewise.
2207
2208 2015-09-14 Marek Polacek <polacek@redhat.com>
2209
2210 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
2211 setting various warnings.
2212
2213 2015-09-14 Marek Polacek <polacek@redhat.com>
2214
2215 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
2216 a negative value.
2217
2218 2015-09-11 Mark Wielaard <mjw@redhat.com>
2219
2220 PR c/28901
2221 * c.opt (Wunused-variable): Option from common.opt.
2222 (Wunused-const-variable): New option.
2223
2224 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2225
2226 PR c++/53184
2227 * c.opt ([Wsubobject-linkage]): Add.
2228
2229 2015-09-03 Martin Sebor <msebor@redhat.com>
2230
2231 PR c/66516
2232 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
2233 functions.
2234 * c-common.c (reject_gcc_builtin): Define.
2235
2236 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
2237
2238 PR middle-end/60586
2239 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
2240 prototype.
2241 * c-gimplify.c (c_gimplify_expr): Added a call to the function
2242 cilk_gimplify_call_params_in_spawned_fn.
2243 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
2244 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
2245 unwrapping.
2246
2247 2015-08-25 Marek Polacek <polacek@redhat.com>
2248
2249 PR middle-end/67330
2250 * c-common.c (handle_weak_attribute): Don't check whether the
2251 visibility can be changed here.
2252
2253 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2254
2255 * c-lex.c (c_lex_with_flags): Use explicit locations.
2256
2257 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
2258
2259 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
2260 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
2261
2262 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2263
2264 PR middle-end/36757
2265 * c-common.c (check_builtin_function_arguments): Add check
2266 for BUILT_IN_SIGNBIT argument.
2267
2268 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2269
2270 PR c++/67160
2271 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
2272 in c++1z mode.
2273
2274 2015-08-17 Marek Polacek <polacek@redhat.com>
2275
2276 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
2277 with whitespaces before qualifier names.
2278
2279 2015-08-12 Marek Polacek <polacek@redhat.com>
2280
2281 PR c++/55095
2282 * c-common.c (maybe_warn_shift_overflow): Properly handle
2283 left-shifting 1 into the sign bit.
2284
2285 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2286
2287 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
2288
2289 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
2290 Braden Obrzut <admin@maniacsvault.net>
2291 Jason Merrill <jason@redhat.com>
2292
2293 Add C++ Concepts TS support.
2294 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
2295 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
2296 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
2297 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
2298 * c-opts.c (set_std_cxx1z): Set flag_concepts.
2299 * c.opt (fconcepts): New.
2300
2301 2015-08-02 Martin Sebor <msebor@redhat.com>
2302
2303 * c.opt (-Wframe-address): New warning option.
2304
2305 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2306
2307 * c-indentation.c (should_warn_for_misleading_indentation):
2308 Improve heuristics.
2309
2310 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2311
2312 * c-indentation.c (get_visual_column): Add parameter first_nws,
2313 use it. Update comment documenting the function.
2314 (is_first_nonwhitespace_on_line): Remove.
2315 (should_warn_for_misleading_indentation): Replace usage of
2316 of is_first_nonwhitespace_on_line with get_visual_column.
2317
2318 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
2319
2320 * c-indentation.h (struct token_indent_info): Define.
2321 (get_token_indent_info): Define.
2322 (warn_for_misleading_information): Declare.
2323 * c-common.h (warn_for_misleading_information): Remove.
2324 * c-identation.c (warn_for_misleading_indentation):
2325 Change declaration to take three token_indent_infos. Adjust
2326 accordingly.
2327 * c-identation.c (should_warn_for_misleading_indentation):
2328 Likewise. Bail out early if the body is a compound statement.
2329 (guard_tinfo_to_string): Define.
2330
2331 2015-07-30 Jason Merrill <jason@redhat.com>
2332
2333 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
2334 '*' for reference decay.
2335
2336 2015-07-30 Marek Polacek <polacek@redhat.com>
2337
2338 * c-common.c (warn_tautological_cmp): Bail for float types.
2339
2340 2015-07-27 Marek Polacek <polacek@redhat.com>
2341
2342 PR bootstrap/67030
2343 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
2344
2345 2015-07-27 Marek Polacek <polacek@redhat.com>
2346
2347 PR c++/66555
2348 PR c/54979
2349 * c-common.c (find_array_ref_with_const_idx_r): New function.
2350 (warn_tautological_cmp): New function.
2351 * c-common.h (warn_tautological_cmp): Declare.
2352 * c.opt (Wtautological-compare): New option.
2353
2354 2015-07-23 Marek Polacek <polacek@redhat.com>
2355
2356 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
2357 (ubsan_instrument_shift): Likewise.
2358
2359 2015-07-23 Marek Polacek <polacek@redhat.com>
2360
2361 PR sanitizer/66908
2362 * c-ubsan.c: Include gimplify.h.
2363 (ubsan_instrument_division): Unshare OP0 and OP1.
2364 (ubsan_instrument_shift): Likewise.
2365
2366 2015-07-20 Marek Polacek <polacek@redhat.com>
2367 Richard Sandiford <richard.sandiford@arm.com>
2368
2369 PR c++/55095
2370 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
2371 Use EXPR_LOC_OR_LOC.
2372 (maybe_warn_shift_overflow): New function.
2373 * c-common.h (maybe_warn_shift_overflow): Declare.
2374 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
2375 * c.opt (Wshift-overflow): New option.
2376
2377 2015-07-16 Martin Liska <mliska@suse.cz>
2378
2379 * c-format.c (static void check_format_info_main): Use
2380 object_allocator instead of pool_allocator.
2381 (check_format_arg): Likewise.
2382 (check_format_info_main): Likewise.
2383
2384 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
2385
2386 * c-opts.c: Remove multiline #include comment.
2387
2388 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
2389
2390 * c-common.c: Fix double word typos.
2391
2392 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
2393
2394 * c-ada-spec.h (cpp_operation): Revert latest change.
2395 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
2396 constructors and destructors.
2397
2398 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
2399
2400 * c-common.h: Adjust includes for flags.h changes.
2401 * stub-objc.c: Likewise.
2402
2403 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
2404
2405 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
2406 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
2407
2408 2015-07-08 Jakub Jelinek <jakub@redhat.com>
2409
2410 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
2411 are to be removed, return NULL rather than original clauses list.
2412
2413 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
2414
2415 * array-notation-common.c: Adjust includes.
2416 * c-ada-spec.c: Likewise.
2417 * c-cilkplus.c: Likewise.
2418 * c-common.h: Likewise.
2419 * c-cppbuiltin.c: Likewise.
2420 * c-dump.c: Likewise.
2421 * c-format.c: Likewise.
2422 * c-gimplify.c: Likewise.
2423 * c-indentation.c: Likewise.
2424 * c-lex.c: Likewise.
2425 * c-omp.c: Likewise.
2426 * c-opts.c: Likewise.
2427 * c-pch.c: Likewise.
2428 * c-ppoutput.c: Likewise.
2429 * c-pragma.c: Likewise.
2430 * c-pretty-print.c: Likewise.
2431 * c-semantics.c: Likewise.
2432 * c-ubsan.c: Likewise.
2433 * cilk.c: Likewise.
2434 * stub-objc.c: Likewise.
2435
2436 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
2437
2438 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
2439 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
2440
2441 2015-07-01 Jason Merrill <jason@redhat.com>
2442
2443 * c-common.h (D_CXX11): Rename from D_CXX0X.
2444 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
2445 * c-common.c: Adjust.
2446
2447 * c-opts.c (c_common_post_options): Default to C++14.
2448
2449 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
2450
2451 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
2452
2453 Implement N4197 - Adding u8 character literals
2454 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
2455 CPP_CHAR.
2456 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
2457 CPP_UTF8CHAR_USERDEF tokens.
2458 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
2459 and CPP_UTF8CHAR tokens.
2460 (lex_charconst): Treat CPP_UTF8CHAR token.
2461
2462 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2463
2464 PR fortran/66605
2465 * c-common.c (do_warn_unused_parameter): Move here.
2466 * c-common.h (do_warn_unused_parameter): Declare.
2467
2468 2015-06-29 Marek Polacek <polacek@redhat.com>
2469
2470 PR c/66322
2471 * c-common.c (check_case_bounds): Add bool * parameter. Set
2472 OUTSIDE_RANGE_P.
2473 (c_add_case_label): Add bool * parameter. Pass it down to
2474 check_case_bounds.
2475 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
2476 warning here.
2477 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
2478 declarations.
2479
2480 2015-06-27 Marek Polacek <polacek@redhat.com>
2481
2482 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
2483 or VECTOR_INTEGER_TYPE_P throughout.
2484 * c-gimplify.c: Likewise.
2485
2486 2015-06-26 Marek Polacek <polacek@redhat.com>
2487
2488 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
2489 * c-common.c (c_fully_fold_internal): Likewise.
2490 (c_alignof_expr): Likewise.
2491 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
2492 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
2493 * cilk.c (create_parm_list): Likewise.
2494
2495 2015-06-26 Marek Polacek <polacek@redhat.com>
2496
2497 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
2498
2499 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
2500
2501 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
2502 * c-gimplify.c: Likewise.
2503 * c-pragma.c: Likewise.
2504 * c-ubsan.c: Likewise.
2505 * cilk.c: Likewise.
2506
2507 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
2508
2509 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
2510 ggc_hasher.
2511
2512 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
2513
2514 * cilk.c: Move calls.h after tm.h in the include chain.
2515
2516 2015-06-25 Marek Polacek <polacek@redhat.com>
2517
2518 * array-notation-common.c: Use VAR_P throughout.
2519 * c-ada-spec.c: Likewise.
2520 * c-common.c: Likewise.
2521 * c-format.c: Likewise.
2522 * c-gimplify.c: Likewise.
2523 * c-omp.c: Likewise.
2524 * c-pragma.c: Likewise.
2525 * c-pretty-print.c: Likewise.
2526 * cilk.c: Likewise.
2527
2528 2015-06-25 Marek Polacek <polacek@redhat.com>
2529
2530 * cilk.c (extract_free_variables): Use is_global_var.
2531
2532 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
2533
2534 * c-common.c: Don't include target-def.h.
2535
2536 2015-06-23 Marek Polacek <polacek@redhat.com>
2537
2538 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
2539 when comparing INTEGER_CSTs.
2540
2541 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
2542
2543 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
2544 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
2545 (dump_ada_template): Skip partially specialized types.
2546
2547 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
2548
2549 * c-common.c (scalar_to_vector): Use std::swap instead of manually
2550 swapping.
2551
2552 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
2553
2554 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
2555 * c-ada-spec.c: Likewise.
2556 * c-cilkplus.c: Likewise.
2557 * c-common.c: Likewise.
2558 * c-common.h: Likewise.
2559 * c-cppbuiltin.c: Likewise.
2560 * c-dump.c: Likewise.
2561 * c-format.c: Likewise.
2562 * c-gimplify.c: Likewise.
2563 * c-indentation.c: Likewise.
2564 * c-lex.c: Likewise.
2565 * c-omp.c: Likewise.
2566 * c-opts.c: Likewise.
2567 * c-pch.c: Likewise.
2568 * c-ppoutput.c: Likewise.
2569 * c-pragma.c: Likewise.
2570 * c-pretty-print.c: Likewise.
2571 * c-semantics.c: Likewise.
2572 * c-ubsan.c: Likewise.
2573 * cilk.c: Likewise.
2574 * stub-objc.c: Likewise.
2575
2576 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
2577
2578 PR c++/65168
2579 * c-common.c (c_common_truthvalue_conversion): Warn when
2580 converting an address of a reference to a truth value.
2581
2582 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
2583
2584 * array-notation-common.c : Adjust include files.
2585 * c-ada-spec.c : Likewise.
2586 * c-cilkplus.c : Likewise.
2587 * c-common.c : Likewise.
2588 * c-common.h : Likewise.
2589 * c-cppbuiltin.c : Likewise.
2590 * c-dump.c : Likewise.
2591 * c-format.c : Likewise.
2592 * c-gimplify.c : Likewise.
2593 * c-indentation.c : Likewise.
2594 * c-lex.c : Likewise.
2595 * c-omp.c : Likewise.
2596 * c-opts.c : Likewise.
2597 * c-pch.c : Likewise.
2598 * c-ppoutput.c : Likewise.
2599 * c-pragma.c : Likewise.
2600 * c-pretty-print.c : Likewise.
2601 * c-semantics.c : Likewise.
2602 * c-ubsan.c : Likewise.
2603 * cilk.c : Likewise.
2604 * stub-objc.c : Likewise.
2605
2606 2015-06-08 Marek Polacek <polacek@redhat.com>
2607
2608 PR c/66415
2609 * c-format.c (location_from_offset): Return LOC if LINE is null.
2610
2611 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
2612
2613 * c-common.h (c_parse_final_cleanups): New prototype.
2614 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
2615
2616 2015-06-04 Sriraman Tallam <tmsriram@google.com>
2617
2618 * c-common.c (noplt): New attribute.
2619 (handle_noplt_attribute): New handler.
2620
2621 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
2622
2623 * array-notation-common.c: Adjust includes for restructured coretypes.h.
2624 * c-ada-spec.c: Likewise.
2625 * c-cilkplus.c: Likewise.
2626 * c-common.c: Likewise.
2627 * c-common.h: Likewise.
2628 * c-cppbuiltin.c: Likewise.
2629 * c-dump.c: Likewise.
2630 * c-format.c: Likewise.
2631 * c-gimplify.c: Likewise.
2632 * c-indentation.c: Likewise.
2633 * c-lex.c: Likewise.
2634 * c-omp.c: Likewise.
2635 * c-opts.c: Likewise.
2636 * c-pch.c: Likewise.
2637 * c-ppoutput.c: Likewise.
2638 * c-pragma.c: Likewise.
2639 * c-pretty-print.c: Likewise.
2640 * c-semantics.c: Likewise.
2641 * c-ubsan.c: Likewise.
2642 * cilk.c: Likewise.
2643 * stub-objc.c: Likewise.
2644
2645 2015-06-02 David Malcolm <dmalcolm@redhat.com>
2646
2647 PR c/66220:
2648 * c-indentation.c (should_warn_for_misleading_indentation): Use
2649 expand_location rather than expand_location_to_spelling_point.
2650 Don't warn if the guarding statement is more indented than the
2651 next/body stmts.
2652
2653 2015-06-02 David Malcolm <dmalcolm@redhat.com>
2654
2655 * c-indentation.c (warn_for_misleading_indentation): Bail out
2656 immediately if -Wmisleading-indentation isn't enabled.
2657
2658 2015-06-01 Martin Liska <mliska@suse.cz>
2659
2660 * c-format.c (check_format_arg):Use new type-based pool allocator.
2661 (check_format_info_main) Likewise.
2662
2663 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
2664
2665 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
2666 (has_nontrivial_methods): Likewise.
2667
2668 2015-05-25 Marek Polacek <polacek@redhat.com>
2669
2670 * c-ubsan.c (ubsan_instrument_shift): Use type0.
2671
2672 2015-05-22 Marek Polacek <polacek@redhat.com>
2673
2674 PR c/47043
2675 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
2676
2677 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2678
2679 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
2680 STACK_GROWS_DOWNWARD.
2681
2682 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2683
2684 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
2685 STACK_GROWS_DOWNWARD rather than if it is defined.
2686
2687 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2688
2689 PR c/52952
2690 * c-format.c (location_column_from_byte_offset): New.
2691 (location_from_offset): New.
2692 (struct format_wanted_type): Add offset_loc field.
2693 (check_format_info): Move handling of location for extra arguments
2694 closer to the point of warning.
2695 (check_format_info_main): Pass the result of location_from_offset
2696 to warning_at.
2697 (format_type_warning): Pass the result of location_from_offset
2698 to warning_at.
2699
2700 2015-05-20 Marek Polacek <polacek@redhat.com>
2701
2702 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
2703
2704 2015-05-20 Marek Polacek <polacek@redhat.com>
2705
2706 * c-ada-spec.c (dump_sloc): Use DECL_P.
2707
2708 2015-05-20 Marek Polacek <polacek@redhat.com>
2709
2710 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
2711 * c-common.c: Likewise.
2712
2713 2015-05-19 David Malcolm <dmalcolm@redhat.com>
2714
2715 * c-common.h (fe_file_change): Strengthen param from
2716 const line_map * to const line_map_ordinary *.
2717 (pp_file_change): Likewise.
2718 * c-lex.c (fe_file_change): Likewise.
2719 (cb_define): Use linemap_check_ordinary when invoking
2720 SOURCE_LINE.
2721 (cb_undef): Likewise.
2722 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
2723 invoking cb_file_change.
2724 (c_finish_options): Likewise.
2725 (push_command_line_include): Likewise.
2726 (cb_file_change): Strengthen param "new_map" from
2727 const line_map * to const line_map_ordinary *.
2728 * c-ppoutput.c (cb_define): Likewise for local "map".
2729 (pp_file_change): Likewise for param "map" and local "from".
2730
2731 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
2732
2733 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
2734
2735 2015-05-18 Tom de Vries <tom@codesourcery.com>
2736
2737 * c-common.c (build_va_arg_1): New function.
2738 (build_va_arg): Add address operator to va_list operand if necessary.
2739
2740 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
2741
2742 PR c/48956
2743 * c-common.c (int_safely_convertible_to_real_p): Define.
2744 (unsafe_conversion_p): Check conversions involving complex types.
2745 (conversion_warning): Add new warning message for conversions which
2746 discard imaginary component.
2747 * c-common.h: (enum conversion_safety): Add new enumerator for such
2748 conversions.
2749
2750 2015-05-14 Marek Polacek <polacek@redhat.com>
2751
2752 PR c/66066
2753 PR c/66127
2754 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
2755 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
2756 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
2757 use it. If FOR_INT_CONST, require that all evaluated operands be
2758 INTEGER_CSTs.
2759
2760 2015-05-12 David Malcolm <dmalcolm@redhat.com>
2761
2762 * c-common.h (warn_for_misleading_indentation): New prototype.
2763 * c-indentation.c: New file.
2764 * c.opt (Wmisleading-indentation): New option.
2765
2766 2015-05-12 Tom de Vries <tom@codesourcery.com>
2767
2768 PR tree-optimization/66010
2769 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
2770
2771 2015-05-09 Jason Merrill <jason@redhat.com>
2772
2773 * c-opts.c (c_common_post_options): Also clear
2774 cpp_opts->cpp_warn_cxx11_compat.
2775
2776 * c-common.h (enum cxx_dialect): Add cxx_unset.
2777 * c-common.c (cxx_dialect): Initialize to cxx_unset.
2778 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
2779
2780 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
2781 (std=gnu++0x): Mark as Undocumented.
2782 (std=gnu++1y): Add deprecated message.
2783
2784 2015-05-08 Jason Merrill <jason@redhat.com>
2785
2786 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
2787 * c-opts.c: Adjust.
2788
2789 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
2790
2791 2015-05-08 Marek Polacek <polacek@redhat.com>
2792
2793 PR c/64918
2794 * c.opt (Woverride-init-side-effects): New option.
2795
2796 2015-05-07 Marek Polacek <polacek@redhat.com>
2797
2798 PR c/65179
2799 * c-common.c (c_fully_fold_internal): Warn when left shifting a
2800 negative value.
2801 * c.opt (Wshift-negative-value): New option.
2802 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
2803 when -Wextra and C99/C++11 mode.
2804
2805 2015-05-07 Marek Polacek <polacek@redhat.com>
2806 Martin Uecker <uecker@eecs.berkeley.edu>
2807
2808 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
2809 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
2810
2811 2015-05-05 Jason Merrill <jason@redhat.com>
2812
2813 * c.opt (Wterminate): New.
2814
2815 2015-04-30 Marek Polacek <polacek@redhat.com>
2816
2817 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
2818 require that the non-constant be of a boolean type.
2819
2820 2015-04-29 Josh Triplett <josh@joshtriplett.org>
2821
2822 * c-common.c (handle_section_attribute): Refactor to reduce
2823 nesting and distinguish between error cases.
2824
2825 2015-04-29 Marek Polacek <polacek@redhat.com>
2826
2827 PR c/64610
2828 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
2829 with 0/1.
2830
2831 2015-04-29 Jakub Jelinek <jakub@redhat.com>
2832
2833 * c-common.h (omp_clause_mask): Unconditionally define as a class.
2834 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
2835 HOST_BITS_PER_WIDE_INT.
2836
2837 2015-04-28 Tom de Vries <tom@codesourcery.com>
2838
2839 PR tree-optimization/65887
2840 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
2841
2842 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
2843 Pierre-Marie de Rodat <derodat@adacore.com>
2844
2845 * c-ada-spec.c (in_function): Delete.
2846 (dump_generic_ada_node): Do not change in_function and remove the
2847 redundant code dealing with it.
2848 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
2849 (print_ada_methods): Output the static member functions in a nested
2850 package after the regular methods as well as associated renamings.
2851
2852 2015-04-24 Marek Polacek <polacek@redhat.com>
2853
2854 PR c/65830
2855 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
2856 and OPT_Wshift_count_overflow.
2857
2858 PR c/63357
2859 * c-common.c (warn_logical_operator): Warn if the operands have the
2860 same expressions.
2861
2862 2015-04-24 Marek Polacek <polacek@redhat.com>
2863
2864 PR c/61534
2865 * c-common.c (warn_logical_operator): Bail if either operand comes
2866 from a macro expansion.
2867
2868 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2869
2870 PR target/55143
2871 * c-common.c (c_default_pointer_mode): Add definition.
2872 * c-common.h (c_default_pointer_mode): Add declaration.
2873
2874 2015-03-11 Jakub Jelinek <jakub@redhat.com>
2875
2876 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
2877 on record_builtin_type argument.
2878
2879 2015-03-10 Jakub Jelinek <jakub@redhat.com>
2880
2881 PR c/65120
2882 * c-common.c (warn_logical_not_parentheses): Don't warn for
2883 !x == 0 or !x != 0.
2884
2885 2015-03-07 Marek Polacek <polacek@redhat.com>
2886
2887 PR sanitizer/65280
2888 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
2889 before trying to figure out whether we have a flexible array member.
2890
2891 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2892 Jonathan Wakely <jwakely.gcc@gmail.com>
2893
2894 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
2895
2896 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2897
2898 PR ada/65319
2899 * c-ada-spec.c (print_destructor): Remove obsolete code.
2900
2901 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
2902
2903 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
2904 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
2905 DECL_TEMPLATE_RESULT emulations.
2906 (dump_ada_template)): Add guard for TYPE_METHODS.
2907
2908 2015-02-27 Marek Polacek <polacek@redhat.com>
2909
2910 PR c/65040
2911 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
2912
2913 2015-02-27 Kai Tietz <ktietz@redhat.com>
2914
2915 PR c/35330
2916 * c-pragma.c (handle_pragma_weak): Do not try to create
2917 weak/alias of declarations not being function, or variable
2918 declarations.
2919
2920 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
2921
2922 PR libgomp/64625
2923 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
2924 Remove macros.
2925 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
2926
2927 2015-02-16 Marek Polacek <polacek@redhat.com>
2928
2929 PR c/65066
2930 * c-format.c (check_format_types): Handle null param.
2931
2932 2015-02-13 Marek Polacek <polacek@redhat.com>
2933
2934 PR c/65040
2935 * c-format.c (check_format_types): Don't warn about different
2936 signedness if the original value is in the range of WANTED_TYPE.
2937
2938 2015-02-12 Jason Merrill <jason@redhat.com>
2939
2940 PR c++/64956
2941 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
2942 to the current highest version.
2943 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
2944
2945 2015-02-04 Jakub Jelinek <jakub@redhat.com>
2946
2947 PR c/64824
2948 PR c/64868
2949 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
2950 instead of RDIV_EXPR. Use build_binary_op instead of
2951 build2_loc.
2952
2953 2015-01-30 Joseph Myers <joseph@codesourcery.com>
2954
2955 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
2956 to pass input_location as first argument.
2957
2958 2015-01-23 Tom de Vries <tom@codesourcery.com>
2959
2960 PR libgomp/64672
2961 * c.opt (fopenacc): Mark as LTO option.
2962
2963 2015-01-23 Tom de Vries <tom@codesourcery.com>
2964
2965 PR libgomp/64707
2966 * c.opt (fopenmp): Mark as LTO option.
2967
2968 2015-01-21 Jakub Jelinek <jakub@redhat.com>
2969
2970 PR c/63307
2971 * cilk.c (fill_decls_vec): Only put decls into vector v.
2972 (compare_decls): Fix up formatting.
2973
2974 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
2975
2976 PR c/63307
2977 * cilk.c: Include vec.h.
2978 (struct cilk_decls): New structure.
2979 (wrapper_parm_cb): Split this function to...
2980 (fill_decls_vec): ...this...
2981 (create_parm_list): ...and this.
2982 (compare_decls): New function.
2983 (for_local_cb): Remove.
2984 (wrapper_local_cb): Ditto.
2985 (build_wrapper_type): For now first traverse and fill vector of
2986 declarations then sort it and then deal with sorted vector.
2987 (cilk_outline): Ditto.
2988 (declare_one_free_variable): Ditto.
2989
2990 2015-01-21 Jason Merrill <jason@redhat.com>
2991
2992 PR c++/64629
2993 * c-format.c (check_format_arg): Call decl_constant_value.
2994
2995 2015-01-19 Martin Liska <mliska@suse.cz>
2996
2997 * c-common.c (handle_noicf_attribute): New function.
2998
2999 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3000 Bernd Schmidt <bernds@codesourcery.com>
3001 James Norris <jnorris@codesourcery.com>
3002 Cesar Philippidis <cesar@codesourcery.com>
3003 Ilmir Usmanov <i.usmanov@samsung.com>
3004 Jakub Jelinek <jakub@redhat.com>
3005
3006 * c.opt (fopenacc): New option.
3007 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
3008 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
3009 New macros.
3010 * c-common.h (c_finish_oacc_wait): New prototype.
3011 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
3012 (c_finish_oacc_wait): New function.
3013 * c-pragma.c (oacc_pragmas): New variable.
3014 (c_pp_lookup_pragma, init_pragma): Handle it.
3015 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
3016 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
3017 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
3018 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
3019 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
3020 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
3021 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
3022 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
3023 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
3024 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
3025 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
3026 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
3027 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
3028 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
3029 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
3030 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
3031 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
3032 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
3033 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
3034 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
3035 PRAGMA_OACC_CLAUSE_WORKER.
3036
3037 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
3038
3039 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
3040 for the new option fstack-protector_explicit.
3041 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
3042 (handle_stack_protect_attribute): New function.
3043
3044 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
3045
3046 * c.opt: New option -Warray-bounds=.
3047
3048 2015-01-09 Michael Collison <michael.collison@linaro.org>
3049
3050 * array-notation-common.c: Include hash-set.h, machmode.h,
3051 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3052 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
3053 * c-ada-spec.c: Ditto.
3054 * c-cilkplus.c: Ditto.
3055 * c-common.c: Include input.h due to flattening of tree.h.
3056 Define macro GCC_C_COMMON_C.
3057 * c-common.h: Flatten tree.h header files into c-common.h.
3058 Remove include of tree-core.h.
3059 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3060 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3061 fold-const.h, wide-int.h, and inchash.h due to
3062 flattening of tree.h.
3063 * c-dump.c: Ditto.
3064 * c-format.c: Flatten tree.h header files into c-common.h.
3065 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
3066 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3067 fold-const.h, wide-int.h, and inchash.h due to
3068 flattening of tree.h.
3069 * c-dump.c: Include hash-set.h, machmode.h,
3070 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3071 fold-const.h, wide-int.h, and inchash.h due to
3072 flattening of tree.h.
3073 * c-format.c: Include hash-set.h, machmode.h,
3074 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3075 fold-const.h, wide-int.h, inchash.h and real.h due to
3076 flattening of tree.h.
3077 * c-gimplify.c: Include hash-set.h, machmode.h,
3078 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
3079 fold-const.h, wide-int.h, and inchash.h due to
3080 flattening of tree.h.
3081 * cilk.c: Ditto.
3082 * c-lex.c: Ditto.
3083 * c-omp.c: Ditto.
3084 * c-opts.c: Ditto.
3085 * c-pch.c: Ditto.
3086 * c-ppoutput.c: Ditto.
3087 * c-pragma.c: Ditto.
3088 * c-pretty-print.c: Ditto.
3089 * c-semantics.c: Ditto.
3090 * c-ubsan.c: Ditto.
3091 * stub-objc.c: Ditto.
3092
3093 2015-01-08 Jason Merrill <jason@redhat.com>
3094
3095 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
3096 do_ubsan_in_current_function.
3097 (ubsan_maybe_instrument_reference_or_call): Likewise.
3098 * c-ubsan.h: Declare it.
3099
3100 2015-01-08 Mike Stump <mikestump@comcast.net>
3101
3102 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
3103
3104 2015-01-07 Marek Polacek <polacek@redhat.com>
3105
3106 PR c/64440
3107 * c-common.c (c_fully_fold_internal): Warn for division and modulo
3108 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
3109
3110 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
3111
3112 PR c++/31397
3113 * c.opt (Wsuggest-override): New option.
3114
3115 2015-01-05 Jakub Jelinek <jakub@redhat.com>
3116
3117 Update copyright years.
3118
3119 2015-01-05 Marek Polacek <polacek@redhat.com>
3120
3121 PR c/64423
3122 * c-common.c (warn_array_subscript_with_type_char): Add location_t
3123 parameter. Use it.
3124 * c-common.h (warn_array_subscript_with_type_char): Update
3125 declaration.
3126
3127 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
3128
3129 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
3130 Control macro with flag_sized_deallocation.
3131
3132 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
3133
3134 * c.opt (Wdiscarded-array-qualifiers): New option.
3135
3136 2014-12-19 Jakub Jelinek <jakub@redhat.com>
3137
3138 PR preprocessor/63831
3139 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
3140 and __has_cpp_attribute here.
3141 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
3142 c_common_has_attribute.
3143 * c-common.h (c_common_has_attribute): New prototype.
3144 * c-lex.c (init_c_lex): Set cb->has_attribute to
3145 c_common_has_attribute instead of cb_has_attribute.
3146 (get_token_no_padding): New function.
3147 (cb_has_attribute): Renamed to ...
3148 (c_common_has_attribute): ... this. No longer static. Use
3149 get_token_no_padding, require ()s, don't build TREE_LIST
3150 unnecessarily, fix up formatting, adjust diagnostics, call
3151 init_attributes.
3152
3153 2014-12-15 Jason Merrill <jason@redhat.com>
3154
3155 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
3156 (-Wsized-deallocation): New.
3157 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
3158 to on in C++14 and up.
3159
3160 2014-12-11 Jason Merrill <jason@redhat.com>
3161
3162 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
3163
3164 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
3165 we aren't complaining about VLAs.
3166
3167 2014-12-06 Marek Polacek <polacek@redhat.com>
3168
3169 PR tree-optimization/64183
3170 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
3171 shift-expression if it is integer_type_node. Use types_compatible_p.
3172
3173 2014-11-29 Jakub Jelinek <jakub@redhat.com>
3174
3175 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
3176 last argument from create_tmp_var_raw and create_tmp_var calls.
3177 * cilk.c (gimplify_cilk_spawn): Likewise.
3178 * c-omp.c (c_finish_omp_atomic): Likewise.
3179
3180 2014-11-28 Marek Polacek <polacek@redhat.com>
3181
3182 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
3183 instead of unsigned_type_node.
3184
3185 2014-11-28 Marek Polacek <polacek@redhat.com>
3186
3187 PR c/63862
3188 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
3189 to op1_utype.
3190 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
3191 expression to unsigned_type_node.
3192
3193 2014-11-20 Mark Wielaard <mjw@redhat.com>
3194
3195 PR debug/38757
3196 * c-opts.c (set_std_c89): Set lang_hooks.name.
3197 (set_std_c99): Likewise.
3198 (set_std_c11): Likewise.
3199 (set_std_cxx98): Likewise.
3200 (set_std_cxx11): Likewise.
3201 (set_std_cxx14): Likewise.
3202 (set_std_cxx1z): Likewise.
3203
3204 2014-11-21 Jakub Jelinek <jakub@redhat.com>
3205
3206 PR target/63764
3207 * c-common.h (convert_vector_to_pointer_for_subscript): Change
3208 return type to bool.
3209 * c-common.c: Include gimple-expr.h.
3210 (convert_vector_to_pointer_for_subscript): Change return type to
3211 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
3212 and copy it into a TARGET_EXPR and use that instead of *vecp
3213 directly.
3214
3215 2014-11-19 David Malcolm <dmalcolm@redhat.com>
3216
3217 Merger of git branch "gimple-classes-v2-option-3".
3218 * ChangeLog.gimple-classes: New.
3219 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
3220 from being just a vec<gimple> to a vec<gbind *>.
3221
3222 2014-11-18 Jakub Jelinek <jakub@redhat.com>
3223
3224 PR sanitizer/63813
3225 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
3226 argument to ptype, set type to TREE_TYPE (ptype). Don't call
3227 get_pointer_alignment for non-pointers. Use ptype, or if it is
3228 reference type, corresponding pointer type, as type of kind
3229 argument.
3230 (ubsan_maybe_instrument_reference,
3231 ubsan_maybe_instrument_member_call): Adjust callers.
3232
3233 2014-11-15 Marek Polacek <polacek@redhat.com>
3234
3235 PR middle-end/63884
3236 * array-notation-common.c (is_sec_implicit_index_fn): Return false
3237 for NULL fndecl.
3238 (extract_array_notation_exprs): Return for NULL node.
3239
3240 2014-11-12 Joseph Myers <joseph@codesourcery.com>
3241
3242 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
3243 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
3244
3245 2014-11-12 Jakub Jelinek <jakub@redhat.com>
3246
3247 PR c/59708
3248 * c-common.c (check_builtin_function_arguments): Handle
3249 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
3250
3251 2014-11-10 Andi Kleen <ak@linux.intel.com>
3252
3253 PR c/60804
3254 * c-common.h (check_no_cilk): Declare.
3255 * cilk.c (get_error_location): New function.
3256 (check_no_cilk): Dito.
3257
3258 2014-11-10 Andi Kleen <ak@linux.intel.com>
3259
3260 * cilk.c (recognize_spawn): Use expression location
3261 for error message.
3262
3263 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
3264
3265 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
3266
3267 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
3268
3269 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
3270 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
3271 (__cpp_range_based_for, __cpp_initializer_lists,
3272 __cpp_delegating_constructors, __cpp_nsdmi,
3273 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
3274 for C++11; (__cpp_attribute_deprecated): Remove in favor of
3275 __has_cpp_attribute.
3276 * c-lex.c (cb_has_attribute): New callback CPP function;
3277 (init_c_lex): Set has_attribute callback.
3278
3279 2014-11-04 Richard Biener <rguenther@suse.de>
3280
3281 * c-common.c (shorten_compare): Do not shorten mixed
3282 DFP and non-DFP compares.
3283
3284 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3285
3286 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
3287 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
3288 Commentary and rearrangement of tests.
3289 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
3290 Commentary and rearrangement of tests.
3291 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
3292 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
3293
3294 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
3295
3296 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
3297 enum from machine_mode.
3298
3299 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
3300
3301 * c-common.c: Adjust include files.
3302 * c-gimplify.c: Ditto.
3303 * cilk.c: Ditto.
3304 * c-pragma.c: Ditto.
3305 * c-ubsan.c: Ditto.
3306
3307 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
3308
3309 * c-gimplify.c: Adjust include files.
3310
3311 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
3312
3313 PR c++/53061
3314 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
3315 c_common_initialize_diagnostics.
3316 * c-common.h: Likewise.
3317
3318 2014-10-24 Marek Polacek <polacek@redhat.com>
3319
3320 PR c/56980
3321 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
3322 print "struct"/"union"/"enum" for typedefed names.
3323
3324 2014-10-23 Marek Polacek <polacek@redhat.com>
3325
3326 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
3327 in unsigned type.
3328
3329 2014-10-22 Jakub Jelinek <jakub@redhat.com>
3330 Yury Gribov <y.gribov@samsung.com>
3331
3332 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3333 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
3334 instead of flag_sanitize_recover as bool flag.
3335
3336 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
3337
3338 * cilk.c: Revert previous change.
3339
3340 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
3341
3342 PR c/63307
3343 * cilk.c: Include vec.h.
3344 (struct cilk_decls): New structure.
3345 (wrapper_parm_cb): Split this function to...
3346 (fill_decls_vec): ...this...
3347 (create_parm_list): ...and this.
3348 (compare_decls): New function.
3349 (for_local_cb): Remove.
3350 (wrapper_local_cb): Ditto.
3351 (build_wrapper_type): For now first traverse and fill vector of
3352 declarations then sort it and then deal with sorted vector.
3353 (cilk_outline): Ditto.
3354 (declare_one_free_variable): Ditto.
3355
3356 2014-10-17 Marek Polacek <polacek@redhat.com>
3357
3358 * c-opts.c (c_common_post_options): Set warn_implicit_int.
3359 * c.opt (Wimplicit-int): Initialize to -1.
3360
3361 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
3362
3363 * c-pragma.c: Adjust include files.
3364 * c-semantics.c: Likewise.
3365
3366 2014-10-16 DJ Delorie <dj@redhat.com>
3367
3368 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
3369 multiples of bytes.
3370
3371 2014-10-14 Jason Merrill <jason@redhat.com>
3372
3373 PR c++/63455
3374 * c-common.h (CPP_PREPARSED_EXPR): New.
3375 (N_CP_TTYPES): Adjust.
3376
3377 2014-10-15 Marek Polacek <polacek@redhat.com>
3378
3379 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
3380
3381 2014-10-14 DJ Delorie <dj@redhat.com>
3382
3383 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
3384 types, not just __int128.
3385 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
3386 types, not just __int128.
3387 (cpp_atomic_builtins): Round pointer sizes up.
3388 (type_suffix): Use type precision, not specific types.
3389 * c-common.c (c_common_reswords): Remove __int128 special case.
3390 (c_common_type_for_size): Check for all __intN types, not just
3391 __int128.
3392 (c_common_type_for_mode): Likewise.
3393 (c_common_signed_or_unsigned_type): Likewise.
3394 (c_build_bitfield_integer_type): Likewise.
3395 (c_common_nodes_and_builtins): Likewise.
3396 (keyword_begins_type_specifier): Likewise.
3397 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
3398 __intN variants.
3399
3400 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
3401
3402 * c-common.c: Use hash_table instead of hashtab.
3403
3404 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
3405
3406 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
3407 C++11 section.
3408
3409 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
3410
3411 PR c++/54427
3412 PR c++/57198
3413 PR c++/58845
3414 * c-common.c (warn_logical_operator): Punt for vectors.
3415
3416 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3417
3418 Implement SD-6: SG10 Feature Test Recommendations
3419 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
3420 macros and the __has_header macro.
3421
3422 2014-09-30 Jason Merrill <jason@redhat.com>
3423
3424 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
3425 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
3426 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3427
3428 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
3429 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
3430
3431 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
3432 * c-common.c (c_common_reswords): Remove __is_convertible_to.
3433
3434 2014-09-24 Marek Polacek <polacek@redhat.com>
3435
3436 PR c/61405
3437 PR c/53874
3438 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
3439
3440 2014-09-23 Andi Kleen <ak@linux.intel.com>
3441
3442 * c-common.c (handle_no_reorder_attribute): New function.
3443 (c_common_attribute_table): Add no_reorder attribute.
3444
3445 2014-09-22 Joseph Myers <joseph@codesourcery.com>
3446
3447 * c-cppbuiltin.c (c_cpp_builtins): Define
3448 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
3449 modes.
3450
3451 2014-09-18 Joseph Myers <joseph@codesourcery.com>
3452
3453 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
3454 for supported floating-point modes.
3455
3456 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3457
3458 * c.opt (Wpsabi): Use LangEnabledBy.
3459 * c-opts.c (c_common_handle_option): Do not handle here.
3460
3461 2014-09-12 Joseph Myers <joseph@codesourcery.com>
3462
3463 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
3464 macros for floating-point modes.
3465
3466 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
3467
3468 PR target/58757
3469 * c-cppbuiltin.c (builtin_define_float_constants): Correct
3470 __*_DENORM_MIN__ without denormals.
3471
3472 2014-09-10 Jakub Jelinek <jakub@redhat.com>
3473
3474 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
3475 ubsan_instrument_vla, ubsan_instrument_return): Adjust
3476 ubsan_create_data callers.
3477 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
3478 index is constant or BIT_AND_EXPR with constant mask and is
3479 small enough for the bound.
3480 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
3481 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
3482
3483 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3484
3485 * c.opt: Add CppReason to various flags.
3486 (Wdate-time): Re-sort.
3487 * c-common.c: Include c-common.h earlier.
3488 (struct reason_option_codes_t): Delete.
3489 (c_option_controlling_cpp_error): Prefix global type and struct
3490 with cpp_.
3491
3492 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3493
3494 * c.opt (Wnormalized): New.
3495 (Wnormalized=): Use Enum and Reject Negative.
3496 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
3497
3498 2014-09-08 Joseph Myers <joseph@codesourcery.com>
3499
3500 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
3501 digits of floating-point modes if -fbuilding-libgcc.
3502
3503 2014-09-05 Joseph Myers <joseph@codesourcery.com>
3504
3505 * c-cppbuiltin.c (c_cpp_builtins): Also define
3506 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
3507 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
3508 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
3509 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
3510 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
3511 __LIBGCC_STACK_GROWS_DOWNWARD__,
3512 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
3513 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
3514 __LIBGCC_DWARF_FRAME_REGISTERS__,
3515 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
3516 __LIBGCC_STACK_POINTER_REGNUM__ and
3517 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
3518 (builtin_define_with_value): Handle backslash-escaping in string
3519 macro values.
3520
3521 2014-09-05 Richard Biener <rguenther@suse.de>
3522
3523 PR middle-end/63148
3524 * c-format.c (check_format_arg): Properly handle
3525 effectively signed POINTER_PLUS_EXPR offset.
3526
3527 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3528
3529 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
3530 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
3531 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
3532 and Init.
3533 * c-opts.c (c_common_handle_option): Do not handle here.
3534 (sanitize_cpp_opts): Likewise.
3535 * c-common.c (struct reason_option_codes_t): Handle
3536 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
3537
3538 2014-09-03 Marek Polacek <polacek@redhat.com>
3539
3540 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
3541
3542 2014-09-02 Jakub Jelinek <jakub@redhat.com>
3543 Balaji V. Iyer <balaji.v.iyer@intel.com>
3544 Igor Zamyatin <igor.zamyatin@intel.com>
3545
3546 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
3547 * c-common.c (c_common_reswords): Added _Cilk_for.
3548 * c-common.h (enum rid): Added RID_CILK_FOR.
3549 (cilk_for_number_of_iterations): Add declaration.
3550 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
3551 CILK_FOR.
3552 * c-pragma.c (init_pragma): Register "grainsize" pragma.
3553 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
3554
3555 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3556
3557 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
3558 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
3559 Wundef): Use CPP, Var and Init.
3560 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
3561
3562 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3563
3564 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
3565 * c-opts.c (c_common_handle_option): Do not handle here.
3566
3567 2014-08-25 Jason Merrill <jason@redhat.com>
3568
3569 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
3570 -std=c++14 and -std=gnu++14, rather than the reverse.
3571 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
3572 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
3573 * c-common.h (cxx_dialect): Remove cxx1y.
3574
3575 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
3576
3577 * c-common.h (enum cxx_dialect): Add cxx14.
3578 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
3579 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
3580 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
3581
3582 2014-08-22 Jason Merrill <jason@redhat.com>
3583
3584 * c.opt (std=gnu++17): Fix alias.
3585
3586 2014-08-22 Marek Polacek <polacek@redhat.com>
3587
3588 PR c++/62199
3589 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
3590 check for vector types. Drop LHS argument.
3591 * c-common.h (warn_logical_not_parentheses): Adjust.
3592
3593 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3594
3595 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
3596 (Wmultichar): Likewise.
3597 (Wdate-time): Use C-family languages instead of Common. Use CPP
3598 and Var.
3599 * c-opts.c (c_common_handle_option): Do not handle the above
3600 options here.
3601 (sanitize_cpp_opts): Likewise.
3602
3603 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
3604
3605 PR fortran/44054
3606 * c-opts.c: Include tree-diagnostics.h.
3607 (c_diagnostic_finalizer): New.
3608 (c_common_initialize_diagnostics): Use it.
3609
3610 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3611
3612 PR preprocessor/51303
3613 * c-common.c (struct reason_option_codes_t option_codes):
3614 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
3615
3616 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3617
3618 PR c/60975
3619 PR c/53063
3620 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
3621 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
3622 (c_common_post_options): Call init_global_opts_from_cpp.
3623 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
3624
3625 2014-08-19 Marek Polacek <polacek@redhat.com>
3626
3627 PR c++/62153
3628 * c-common.c (maybe_warn_bool_compare): New function.
3629 * c-common.h (maybe_warn_bool_compare): Declare.
3630 * c.opt (Wbool-compare): New option.
3631
3632 2014-08-19 Marek Polacek <polacek@redhat.com>
3633
3634 * c.opt (Wc99-c11-compat): New option.
3635
3636 2014-08-19 Marek Polacek <polacek@redhat.com>
3637
3638 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
3639 to warn_c90_c99_compat.
3640 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
3641 to -1.
3642
3643 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
3644 Steven Bosscher <steven@gcc.gnu.org>
3645
3646 PR c/52952
3647 * c-format.c: Add extra_arg_loc and format_string_loc to struct
3648 format_check_results.
3649 (check_function_format): Use true and add comment for boolean
3650 argument.
3651 (finish_dollar_format_checking): Use explicit location when warning.
3652 (check_format_info): Likewise.
3653 (check_format_arg): Set extra_arg_loc and format_string_loc.
3654 (check_format_info_main): Use explicit location when warning.
3655 (check_format_types): Pass explicit location.
3656 (format_type_warning): Likewise.
3657
3658 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3659
3660 PR fortran/44054
3661 * c-format.c: Handle Fortran flags.
3662
3663 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
3664
3665 PR other/61962
3666 * array-notation-common.c (find_rank): Added handling for other
3667 types of references.
3668
3669 2014-08-10 Marek Polacek <polacek@redhat.com>
3670
3671 PR c/51849
3672 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
3673 * c.opt (Wc90-c99-compat): Add option.
3674
3675 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
3676
3677 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
3678
3679 2014-08-03 Marek Polacek <polacek@redhat.com>
3680
3681 * c-common.c (check_case_value): Add location_t parameter. Use it.
3682 (c_add_case_label): Pass loc to check_case_value.
3683
3684 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3685
3686 * cilk.c: Use hash_map instead of pointer_map.
3687
3688 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
3689
3690 * c-gimplify.c: Use hash_set instead of pointer_set.
3691
3692 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
3693
3694 PR middle-end/61455
3695 * array-notation-common.c (extract_array_notation_exprs): Handling
3696 of DECL_EXPR added.
3697
3698 2014-08-01 Jakub Jelinek <jakub@redhat.com>
3699
3700 * c-common.h (min_align_of_type): Removed prototype.
3701 * c-common.c (min_align_of_type): Removed.
3702 * c-ubsan.h (ubsan_maybe_instrument_reference,
3703 ubsan_maybe_instrument_member_call): New prototypes.
3704 * c-ubsan.c: Include stor-layout.h and builtins.h.
3705 (ubsan_maybe_instrument_reference_or_call,
3706 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
3707 functions.
3708
3709 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
3710
3711 PR c++/60517
3712 * c.opt (-Wreturn-local-addr): Move to common.opt.
3713
3714 2014-07-30 Jason Merrill <jason@redhat.com>
3715
3716 PR c++/61659
3717 PR c++/61687
3718 Revert:
3719 * c.opt (-fuse-all-virtuals): New.
3720
3721 2014-07-30 Tom Tromey <tromey@redhat.com>
3722
3723 PR c/59855
3724 * c.opt (Wdesignated-init): New option.
3725 * c-common.c (c_common_attribute_table): Add "designated_init".
3726 (handle_designated_init): New function.
3727
3728 2014-07-24 Marek Polacek <polacek@redhat.com>
3729
3730 PR c/57653
3731 * c-opts.c (c_finish_options): If -imacros is in effect, return.
3732
3733 2014-07-16 Dodji Seketeli <dodji@redhat.com>
3734
3735 PR preprocessor/60723 - missing system-ness marks for macro tokens
3736 * c-ppoutput.c (struct print::prev_was_system_token): New data
3737 member.
3738 (init_pp_output): Initialize it.
3739 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
3740 (do_line_change): Return a flag saying if a line marker was
3741 emitted or not.
3742 (scan_translation_unit): Detect if the system-ness of the token we
3743 are about to emit is different from the one of the previously
3744 emitted token. If so, emit a line marker. Avoid emitting useless
3745 adjacent line markers. Avoid emitting line markers for tokens
3746 originating from the expansion of built-in macros.
3747 (scan_translation_unit_directives_only): Adjust.
3748
3749 2014-07-15 Marek Polacek <polacek@redhat.com>
3750
3751 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
3752 TYPE_MAX_VALUE is NULL.
3753
3754 2014-07-14 Jakub Jelinek <jakub@redhat.com>
3755
3756 PR middle-end/61294
3757 * c.opt (Wmemset-transposed-args): New warning.
3758
3759 2014-07-10 Jason Merrill <jason@redhat.com>
3760
3761 PR c++/61659
3762 PR c++/61687
3763 * c.opt (-fuse-all-virtuals): New.
3764
3765 2014-07-09 Richard Biener <rguenther@suse.de>
3766
3767 PR c-family/61741
3768 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3769 using unsigned arithmetic if overflow does not wrap instead of
3770 if overflow is undefined.
3771
3772 2014-07-06 Marek Polacek <polacek@redhat.com>
3773
3774 PR c/6940
3775 * c.opt (Wsizeof-array-argument): New option.
3776
3777 2014-07-03 Jakub Jelinek <jakub@redhat.com>
3778
3779 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
3780 comments->count <= 1, as comments->entries might be NULL.
3781
3782 2014-07-01 Marek Polacek <polacek@redhat.com>
3783
3784 * c.opt (Wint-conversion): New option.
3785
3786 2014-07-01 Marek Polacek <polacek@redhat.com>
3787
3788 PR c/58286
3789 * c.opt (Wincompatible-pointer-types): New option.
3790
3791 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
3792
3793 PR c++/51400
3794 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
3795 Do not discard TYPE_QUALS of type.
3796
3797 2014-06-26 Jason Merrill <jason@redhat.com>
3798
3799 * c-common.h (enum cxx_dialect): Add cxx1z.
3800 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
3801 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
3802
3803 2014-06-26 Teresa Johnson <tejohnson@google.com>
3804
3805 * c-common.h (get_dump_info): Declare.
3806 * c-gimplify.c (c_genericize): Use saved dump files.
3807 * c-opts.c (c_common_parse_file): Begin and end dumps
3808 once around parsing invocation.
3809 (get_dump_info): New function.
3810
3811 2014-06-23 Marek Polacek <polacek@redhat.com>
3812 Andrew MacLeod <amacleod@redhat.com>
3813
3814 PR c/61553
3815 * c-common.c (get_atomic_generic_size): Don't segfault if the
3816 type doesn't have a size.
3817
3818 2014-06-20 Marek Polacek <polacek@redhat.com>
3819
3820 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
3821 (ubsan_walk_array_refs_r): New function.
3822 (c_genericize): Instrument array bounds.
3823 * c-ubsan.c: Include "internal-fn.h".
3824 (ubsan_instrument_division): Mark instrumented arrays as having
3825 side effects. Adjust ubsan_type_descriptor call.
3826 (ubsan_instrument_shift): Likewise.
3827 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
3828 (ubsan_instrument_bounds): New function.
3829 (ubsan_array_ref_instrumented_p): New function.
3830 (ubsan_maybe_instrument_array_ref): New function.
3831 * c-ubsan.h (ubsan_instrument_bounds): Declare.
3832 (ubsan_array_ref_instrumented_p): Declare.
3833 (ubsan_maybe_instrument_array_ref): Declare.
3834
3835 2014-06-20 Hale Wang <hale.wang@arm.com>
3836
3837 PR lto/61123
3838 * c.opt (fshort-enums): Add to LTO.
3839 * c.opt (fshort-wchar): Likewise.
3840
3841 2014-06-16 Marek Polacek <polacek@redhat.com>
3842
3843 PR c/60439
3844 * c.opt (Wswitch-bool): Add Var.
3845
3846 2014-06-12 Jakub Jelinek <jakub@redhat.com>
3847
3848 PR middle-end/61486
3849 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
3850 #pragma omp target teams or
3851 #pragma omp {,target }teams distribute simd.
3852
3853 2014-06-12 Jason Merrill <jason@redhat.com>
3854
3855 * c.opt (Wabi=, fabi-compat-version): New.
3856 * c-opts.c (c_common_handle_option): Handle -Wabi=.
3857 (c_common_post_options): Handle flag_abi_compat_version default.
3858 Disallow -fabi-compat-version=1.
3859 * c-common.h (abi_version_crosses): New.
3860
3861 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
3862
3863 * c-common.c (handle_section_attribute): Update handling for
3864 section names that are no longer trees.
3865
3866 2014-06-10 Jakub Jelinek <jakub@redhat.com>
3867
3868 PR fortran/60928
3869 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
3870 (omp_pragmas): ... back here.
3871
3872 2014-06-05 Marek Polacek <polacek@redhat.com>
3873
3874 PR c/49706
3875 * c-common.c (warn_logical_not_parentheses): New function.
3876 * c-common.h (warn_logical_not_parentheses): Declare.
3877 * c.opt (Wlogical-not-parentheses): New option.
3878
3879 2014-06-04 Marek Polacek <polacek@redhat.com>
3880
3881 PR c/30020
3882 * c-common.c (check_case_bounds): Add location parameter.
3883 Use it.
3884 (c_add_case_label): Pass loc to check_case_bounds.
3885
3886 2014-06-03 Marek Polacek <polacek@redhat.com>
3887
3888 PR c/60439
3889 * c.opt (Wswitch-bool): New option.
3890
3891 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
3892
3893 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
3894 Remove prototypes.
3895 (record_types_used_by_current_var_decl): Move prototype to where
3896 it belongs.
3897
3898 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
3899 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
3900 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
3901
3902 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
3903
3904 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
3905 * c-common.c (c_common_nodes_and_builtins): Don't initialize
3906 void_zero_node.
3907 * c-pretty-print.c (pp_c_void_constant): New function.
3908 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
3909 (c_pretty_printer::expression): Handle VOID_CST.
3910 * cilk.c (extract_free_variables): Likewise.
3911 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
3912 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
3913
3914 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3915
3916 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
3917 * c-pragma.c (push_alignment): Adjust.
3918 (handle_pragma_push_options): Likewise.
3919
3920 2014-05-09 Marek Polacek <polacek@redhat.com>
3921
3922 PR c/50459
3923 * c-common.c (check_user_alignment): Return -1 if alignment is error
3924 node.
3925 (handle_aligned_attribute): Don't call default_conversion on
3926 FUNCTION_DECLs.
3927 (handle_vector_size_attribute): Likewise.
3928 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
3929 (handle_sentinel_attribute): Call default_conversion and allow even
3930 integral types as an argument.
3931
3932 2014-05-08 Marek Polacek <polacek@redhat.com>
3933
3934 PR c/61053
3935 * c-common.c (min_align_of_type): New function factored out from...
3936 (c_sizeof_or_alignof_type): ...here.
3937 * c-common.h (min_align_of_type): Declare.
3938
3939 2014-05-08 Marek Polacek <polacek@redhat.com>
3940
3941 PR c/61077
3942 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
3943 parameter type of main.
3944
3945 2014-05-07 DJ Delorie <dj@redhat.com>
3946
3947 * c-cppbuiltin.c (print_bits_of_hex): New.
3948 (builtin_define_type_minmax): Print values using hex so as not to
3949 require a pre-computed list of string values.
3950
3951 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
3952 Mike Stump <mikestump@comcast.net>
3953 Richard Sandiford <rdsandiford@googlemail.com>
3954
3955 * c-ada-spec.c: Include wide-int.h.
3956 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
3957 (dump_generic_ada_node): Use wide-int interfaces.
3958 * c-common.c: Include wide-int-print.h.
3959 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
3960 (pointer_int_sum): Use wide-int interfaces.
3961 (c_common_nodes_and_builtins): Use make_int_cst.
3962 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
3963 (handle_alloc_size_attribute): Use wide-int interfaces.
3964 (get_nonnull_operand): Likewise.
3965 * c-format.c (get_constant): Use tree_fits_uhwi_p.
3966 * c-lex.c: Include wide-int.h.
3967 (narrowest_unsigned_type): Take a widest_int rather than two
3968 HOST_WIDE_INTs.
3969 (narrowest_signed_type): Likewise.
3970 (interpret_integer): Update accordingly. Use wide-int interfaces.
3971 (lex_charconst): Use wide-int interfaces.
3972 * c-pretty-print.c: Include wide-int.h.
3973 (pp_c_integer_constant): Use wide-int interfaces.
3974 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
3975 INT_CST_LT_UNSIGNED.
3976
3977 2014-05-06 Richard Biener <rguenther@suse.de>
3978
3979 * c-opts.c (c_common_post_options): For -freestanding,
3980 -fno-hosted and -fno-builtin disable pattern recognition
3981 if not enabled explicitely.
3982
3983 2014-05-02 Marek Polacek <polacek@redhat.com>
3984
3985 * c.opt (Wsizeof-pointer-memaccess): Describe option.
3986
3987 2014-05-01 Marek Polacek <polacek@redhat.com>
3988
3989 PR c/43245
3990 * c.opt (Wdiscarded-qualifiers): Add.
3991
3992 2014-04-30 Marek Polacek <polacek@redhat.com>
3993
3994 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
3995 INT_MIN / -1 sanitization only for integer types.
3996
3997 2014-04-25 Marek Polacek <polacek@redhat.com>
3998
3999 PR c/18079
4000 * c-common.c (handle_noinline_attribute): Warn if the attribute
4001 conflicts with always_inline attribute.
4002 (handle_always_inline_attribute): Warn if the attribute conflicts
4003 with noinline attribute.
4004
4005 2014-04-25 Marek Polacek <polacek@redhat.com>
4006
4007 PR c/60156
4008 * c-common.c (check_main_parameter_types): Warn about variadic main.
4009
4010 2014-04-24 Mike Stump <mikestump@comcast.net>
4011
4012 * c.opt (Wshadow-ivar): Default to on.
4013
4014 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
4015
4016 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
4017
4018 2014-04-23 Marek Polacek <polacek@redhat.com>
4019
4020 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
4021
4022 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4023
4024 PR sanitizer/60275
4025 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
4026 if flag_sanitize_undefined_trap_on_error.
4027 (ubsan_instrument_division, ubsan_instrument_shift,
4028 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
4029 if !flag_sanitize_recover.
4030
4031 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
4032
4033 PR libstdc++/43622
4034 * c-common.c (registered_builtin_types): Make non-static.
4035 * c-common.h (registered_builtin_types): Declare.
4036
4037 2014-04-14 Richard Biener <rguenther@suse.de>
4038 Marc Glisse <marc.glisse@inria.fr>
4039
4040 PR c/60819
4041 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
4042 apply may-alias the scalar pointer type when applicable.
4043
4044 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
4045
4046 PR middle-end/60467
4047 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
4048 as possible argument for Cilk_spawn.
4049
4050 2014-04-11 Tobias Burnus <burnus@net-b.de>
4051
4052 PR c/60194
4053 * c.opt (Wformat-signedness): Add
4054 * c-format.c(check_format_types): Use it.
4055
4056 2014-04-11 Jason Merrill <jason@redhat.com>
4057
4058 PR c++/57926
4059 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
4060 default_conversion for an array argument.
4061
4062 2014-04-08 Marek Polacek <polacek@redhat.com>
4063
4064 PR sanitizer/60745
4065 * c-ubsan.c: Include asan.h.
4066 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
4067
4068 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
4069
4070 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
4071
4072 2014-04-02 Marek Polacek <polacek@redhat.com>
4073
4074 * c-common.h (c_expand_expr): Remove declaration.
4075
4076 2014-03-28 Jakub Jelinek <jakub@redhat.com>
4077
4078 PR c++/60689
4079 * c-common.c (add_atomic_size_parameter): When creating new
4080 params vector, push the size argument first.
4081
4082 2014-03-26 Jakub Jelinek <jakub@redhat.com>
4083
4084 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
4085 ubsan_instrument_vla, ubsan_instrument_return): Adjust
4086 ubsan_create_data callers.
4087
4088 2014-03-22 Jakub Jelinek <jakub@redhat.com>
4089
4090 PR debug/60603
4091 * c-opts.c (c_finish_options): Restore cb_file_change call to
4092 <built-in>.
4093
4094 2014-03-13 Jakub Jelinek <jakub@redhat.com>
4095
4096 PR middle-end/36282
4097 * c-pragma.c (apply_pragma_weak): Only look at
4098 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
4099 DECL_ASSEMBLER_NAME_SET_P (decl).
4100 (maybe_apply_pending_pragma_weaks): Exit early if
4101 vec_safe_is_empty (pending_weaks) rather than only when
4102 !pending_weaks.
4103 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
4104 set assembler name back to NULL afterwards.
4105
4106 2014-03-11 Jason Merrill <jason@redhat.com>
4107
4108 * c.opt: Add -std=gnu++14.
4109
4110 2014-03-11 Ian Bolton <ian.bolton@arm.com>
4111
4112 * c-opts.c (c_common_post_options): Don't override
4113 -ffp-contract=fast if unsafe-math-optimizations is on.
4114
4115 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
4116
4117 * c.opt: Enable LTO FE for fshort-double.
4118
4119 2014-03-07 Jason Merrill <jason@redhat.com>
4120
4121 * c.opt: Add -std=c++14.
4122
4123 2014-03-06 Marek Polacek <polacek@redhat.com>
4124
4125 PR c/60197
4126 * cilk.c (contains_cilk_spawn_stmt): New function.
4127 (contains_cilk_spawn_stmt_walker): Likewise.
4128 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
4129 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
4130
4131 2014-03-03 Jakub Jelinek <jakub@redhat.com>
4132
4133 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
4134 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
4135 even when flag_preprocess_only.
4136
4137 2014-02-26 Jason Merrill <jason@redhat.com>
4138
4139 PR c++/59231
4140 PR c++/11586
4141 * c-common.c (shorten_compare): Don't check
4142 c_inhibit_evaluation_warnings.
4143
4144 2014-02-19 Jakub Jelinek <jakub@redhat.com>
4145
4146 PR c/37743
4147 * c-common.c (c_common_nodes_and_builtins): When initializing
4148 c_uint{16,32,64}_type_node, also set corresponding
4149 uint{16,32,64}_type_node to the same value.
4150
4151 PR c++/60267
4152 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
4153 for PRAGMA_IVDEP if flag_preprocess_only.
4154
4155 2014-02-12 Jakub Jelinek <jakub@redhat.com>
4156
4157 PR c/60101
4158 * c-common.c (merge_tlist): If copy is true, call new_tlist,
4159 if false, add ADD itself, rather than vice versa.
4160 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
4161 copy. For SAVE_EXPR, only call merge_tlist once.
4162
4163 2014-02-08 Jakub Jelinek <jakub@redhat.com>
4164
4165 PR middle-end/60092
4166 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
4167 and tree_to_uhwi.
4168 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
4169 functions.
4170 (c_common_attribute_table): Add alloc_align and assume_aligned
4171 attributes.
4172
4173 2014-02-06 Marek Polacek <polacek@redhat.com>
4174
4175 PR c/60087
4176 * c-common.c (warn_for_sign_compare): Call warning_at with location
4177 instead of warning.
4178
4179 2014-02-05 Marek Polacek <polacek@redhat.com>
4180
4181 PR c/53123
4182 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
4183 statement.
4184
4185 2014-02-04 Marek Polacek <polacek@redhat.com>
4186
4187 PR c/60036
4188 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
4189 SAVE_EXPR.
4190
4191 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
4192
4193 PR c++/53017
4194 PR c++/59211
4195 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
4196 handle_vector_size_attribute, handle_nonnull_attribute): Call
4197 default_conversion on the attribute argument.
4198 (handle_nonnull_attribute): Increment the argument number.
4199
4200 2014-01-31 Marek Polacek <polacek@redhat.com>
4201
4202 PR c/59963
4203 * c-common.c (add_atomic_size_parameter): Pass vNULL to
4204 build_function_call_vec.
4205 (resolve_overloaded_builtin): Likewise.
4206 * c-common.h (build_function_call_vec): Adjust declaration.
4207
4208 2014-01-30 Marek Polacek <polacek@redhat.com>
4209
4210 PR c/59940
4211 * c-common.h (unsafe_conversion_p): Adjust declaration.
4212 (warnings_for_convert_and_check): Likewise.
4213 (convert_and_check): Likewise.
4214 * c-common.c (unsafe_conversion_p): Add location parameter. Call
4215 expansion_point_location_if_in_system_header on it.
4216 (warnings_for_convert_and_check): Add location parameter. Call
4217 expansion_point_location_if_in_system_header on it. Use it.
4218 (convert_and_check): Add location parameter. Use it.
4219 (conversion_warning): Likewise.
4220 (c_add_case_label): Adjust convert_and_check calls.
4221 (scalar_to_vector): Adjust unsafe_conversion_p calls.
4222
4223 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
4224
4225 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
4226 flag_cilkplus.
4227 * c-pragma.c (init_pragma): Likewise.
4228 * c.opt: Likewise.
4229
4230 2014-01-23 Marek Polacek <polacek@redhat.com>
4231
4232 PR c/59846
4233 * c-common.c (shorten_compare): Add location_t parameter.
4234 * c-common.h (shorten_binary_op): Adjust declaration.
4235
4236 2014-01-23 Marek Polacek <polacek@redhat.com>
4237
4238 PR c/58346
4239 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
4240 * c-common.h: Declare it.
4241
4242 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
4243
4244 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
4245 * c-ada-spec.c (dump_ads): Likewise.
4246 (cpp_check): Likewise.
4247 (dump_ada_specs): Likewise.
4248
4249 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
4250
4251 PR c++/49718
4252 * c-common.c (handle_no_instrument_function_attribute): Allow
4253 no_instrument_function attribute in class member
4254 definition/declaration.
4255
4256 2014-01-15 Jakub Jelinek <jakub@redhat.com>
4257
4258 PR c/58943
4259 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
4260 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
4261 being COMPOUND_EXPR.
4262 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
4263 operand a SAVE_EXPR and second MODIFY_EXPR.
4264
4265 2014-01-09 Jakub Jelinek <jakub@redhat.com>
4266
4267 PR target/58115
4268 * c-pch.c (c_common_write_pch): Call
4269 prepare_target_option_nodes_for_pch.
4270
4271 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4272
4273 Update copyright years
4274
4275 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4276
4277 * array-notation-common.c, c-cilkplus.c: Use the standard form for
4278 the copyright notice.
4279
4280 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
4281
4282 * c-ada-spec.c (print_constructor): New function.
4283 (print_destructor): Retrieve the origin of the destructor.
4284 (print_ada_declaration): Revamp handling of constructors/destructors.
4285
4286 2013-12-23 Stuart Hastings <stuart@apple.com>
4287 Bill Maddox <maddox@google.com>
4288 Jason Merrill <jason@redhat.com>
4289
4290 * c.opt: Add -fdeclone-ctor-dtor.
4291 * c-opts.c (c_common_post_options): Default to on iff -Os.
4292
4293 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
4294
4295 * c-common.c (c_common_attribute_table): Added "cilk simd function"
4296 attribute.
4297 * c-pragma.h (enum pragma_cilk_clause): Remove.
4298 (enum pragma_omp_clause): Added the following fields:
4299 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
4300 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
4301 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
4302 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
4303 PRAGMA_CILK_CLAUSE_UNIFORM.
4304
4305
4306 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
4307
4308 * cilk.c (cilk_outline): Made this function non-static.
4309 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
4310 (create_cilk_wrapper): Added a new parameter: a function pointer.
4311 (c_install_body_w_frame_cleanup): Remove
4312 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
4313 * c-common.h (cilk_outline): New prototype.
4314 (gimplify_cilk_spawn): Removed two parameters.
4315 (cilk_install_body_with_frame_cleanup): New prototype.
4316 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
4317 CILK_SPAWN_STMT case.
4318
4319 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
4320
4321 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
4322
4323 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
4324 (int_array_type_node): Remove.
4325 * c-common.c (c_common_nodes_and_builtins): Don't build it.
4326
4327 2013-12-05 Marek Polacek <polacek@redhat.com>
4328
4329 PR c/52023
4330 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
4331 [ADJUST_FIELD_ALIGN].
4332
4333 2013-12-04 Joseph Myers <joseph@codesourcery.com>
4334
4335 PR c/52023
4336 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
4337 and check field alignment if set.
4338 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
4339 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
4340
4341 2013-12-04 Jakub Jelinek <jakub@redhat.com>
4342 Marek Polacek <polacek@redhat.com>
4343
4344 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
4345 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
4346
4347 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
4348
4349 PR c/59309
4350 * cilk.c (gimplify_cilk_spawn): Properly handle function without
4351 arguments.
4352
4353 2013-11-29 Jakub Jelinek <jakub@redhat.com>
4354
4355 PR c/59280
4356 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
4357 goto invalid. If it is error_mark_node, don't issue further
4358 diagnostics.
4359
4360 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
4361
4362 * c.opt (Wopenmp-simd): New.
4363
4364 2013-11-22 Jakub Jelinek <jakub@redhat.com>
4365
4366 * c-ubsan.h (ubsan_instrument_return): New prototype.
4367 * c-ubsan.c (ubsan_instrument_return): New function.
4368
4369 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
4370
4371 * c-common.c: Add required include files from gimple.h.
4372 * c-gimplify.c: Likewise
4373 * cilk.c: Likewise
4374
4375 2013-11-22 David Malcolm <dmalcolm@redhat.com>
4376
4377 * c-common.c (unsafe_conversion_p): Remove use of
4378 EXPR_LOC_OR_HERE macro.
4379 (conversion_warning): Likewise.
4380 (warnings_for_convert_and_check): Likewise.
4381 (warn_for_collisions_1): Likewise.
4382 (shorten_compare): Likewise, and remove use of in_system_header
4383 macro, using the location from the former.
4384 * c-lex.c (dump_one_header): Remove use of input_filename macro.
4385 (cb_def_pragma): Remove use of in_system_header macro.
4386 (lex_string): Likewise.
4387 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4388
4389 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4390 Mike Stump <mikestump@comcast.net>
4391 Richard Sandiford <rdsandiford@googlemail.com>
4392
4393 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
4394 instead of TREE_INT_CST_LOW, in cases where there is a protecting
4395 tree_fits_shwi_p or tree_fits_uhwi_p.
4396 (dump_generic_ada_node): Likewise.
4397 * c-format.c (check_format_arg): Likewise.
4398 * c-pretty-print.c (pp_c_integer_constant): Likewise.
4399
4400 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
4401
4402 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
4403
4404 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
4405
4406 PR c/53001
4407 * c-common.c (unsafe_conversion_p): Make this function
4408 return an enumeration with more detail.
4409 (conversion_warning): Use the new return type of
4410 unsafe_conversion_p to separately warn either about conversions
4411 that lower floating point number precision or about the other
4412 kinds of conversions.
4413 * c-common.h (enum conversion_safety): New enumeration.
4414 (unsafe_conversion_p): switching return type to
4415 conversion_safety enumeration.
4416 * c.opt: Adding new warning -Wfloat-conversion and
4417 enabling it with -Wconversion.
4418
4419 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
4420
4421 * c-opts.c: Include plugin.h.
4422 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
4423
4424 2013-11-19 Marek Polacek <polacek@redhat.com>
4425
4426 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
4427 call.
4428 (ubsan_instrument_shift): Likewise.
4429 (ubsan_instrument_vla): Likewise.
4430
4431 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4432
4433 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
4434 cast to unsigned type.
4435
4436 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4437
4438 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
4439 tree_low_cst.
4440 (complete_array_type): Update comment to refer to tree_to_[su]hwi
4441 rather than tree_low_cst.
4442
4443 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4444
4445 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
4446 tree_to_uhwi throughout.
4447
4448 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4449
4450 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
4451 tree_low_cst (..., 0) with tree_to_shwi throughout.
4452
4453 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4454
4455 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
4456 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
4457
4458 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
4459
4460 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
4461 host_integerp (..., 0) with tree_fits_shwi_p throughout.
4462
4463 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
4464
4465 * c-cilkplus.c: New file.
4466 * c-common.c (readonly_error): Add location argument.
4467 * c-common.h (readonly_error): Same.
4468 (c_finish_cilk_clauses): Protoize.
4469 (c_check_cilk_loop): Same.
4470 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
4471 Do not fail on error_mark_node.
4472 Abstract increment canonicalization to here...
4473 (c_omp_for_incr_canonicalize_ptr): New.
4474 c-pragma.c (init_pragma): Register "simd" pragma.
4475 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
4476 (enum pragma_cilk_clause): New.
4477
4478 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
4479
4480 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
4481 wchar_type and host_integerp checks.
4482
4483 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
4484
4485 * c-common.c: Likewise.
4486 * c-gimplify.c: Likewise.
4487 * cilk.c: Likewise.
4488
4489 2013-11-14 Diego Novillo <dnovillo@google.com>
4490
4491 * c-common.c: Include fold-const.h.
4492 Include stor-layout.h.
4493 Include calls.h.
4494 Include stringpool.h.
4495 Include attribs.h.
4496 Include varasm.h.
4497 Include trans-mem.h.
4498 * c-cppbuiltin.c: Include stor-layout.h.
4499 Include stringpool.h.
4500 * c-format.c: Include stringpool.h.
4501 * c-lex.c: Include stringpool.h.
4502 Include stor-layout.h.
4503 * c-pragma.c: Include stringpool.h.
4504 Include attribs.h.
4505 Include varasm.h.
4506 Include gcc-symtab.h.
4507 * c-pretty-print.c: Include stor-layout.h.
4508 Include attribs.h.
4509 * cilk.c: Include stringpool.h.
4510 Include calls.h.
4511
4512 2013-11-13 Joseph Myers <joseph@codesourcery.com>
4513
4514 * c-common.h (enum rid): Add RID_AUTO_TYPE.
4515 * c-common.c (c_common_reswords): Add __auto_type.
4516 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
4517
4518 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
4519
4520 * c-common.c: Include gimplify.h.
4521 * c-gimplify.c: Likewise.
4522 * cilk.c: Likewise.
4523 * c-omp.c: Include gimple-expr.h instead of gimple.h.
4524 * c-ubsan.c: Don't include gimple.h.
4525
4526 2013-11-12 Joseph Myers <joseph@codesourcery.com>
4527
4528 * c-common.c (c_common_reswords): Add _Thread_local.
4529
4530 2013-11-09 Joseph Myers <joseph@codesourcery.com>
4531
4532 * c-common.c (atomic_size_supported_p): New function.
4533 (resolve_overloaded_atomic_exchange)
4534 (resolve_overloaded_atomic_compare_exchange)
4535 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
4536 Use it instead of comparing size with a local list of sizes.
4537
4538 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
4539 Joseph Myers <joseph@codesourcery.com>
4540
4541 * c-common.h (enum rid): Add RID_ATOMIC.
4542 * c-common.c (c_common_reswords): Add _Atomic.
4543 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
4544 (keyword_is_type_qualifier): Accept RID_ATOMIC.
4545 * c-format.c (check_format_types): Check for extra _Atomic
4546 qualifiers in format argument.
4547 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
4548 (pp_c_type_qualifier_list): Mention _Atomic in comment.
4549
4550 2013-11-06 Tobias Burnus <burnus@net-b.de>
4551
4552 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
4553
4554 2013-11-06 Joseph Myers <joseph@codesourcery.com>
4555
4556 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
4557 standards modes.
4558 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
4559 to mean lack of IEEE 754 support.
4560
4561 2013-11-05 Tobias Burnus <burnus@net-b.de>
4562
4563 * c.opt (-Wdate-time): New option
4564 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
4565
4566 2013-11-05 Joseph Myers <joseph@codesourcery.com>
4567
4568 * c-cppbuiltin.c (cpp_iec_559_value): Test
4569 flag_excess_precision_cmdline not flag_excess_precision.
4570
4571 2013-11-05 Tobias Burnus <burnus@net-b.de>
4572
4573 * c.opt (fopenmp-simd): New option.
4574 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
4575 (omp_pragmas): ... this new struct.
4576 (c_pp_lookup_pragma): Also walk omp_pragmas.
4577 (init_pragma): Init pragmas for -fopenmp-simd.
4578
4579 2013-11-04 Marek Polacek <polacek@redhat.com>
4580
4581 PR c++/58979
4582 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
4583
4584 2013-11-04 Joseph Myers <joseph@codesourcery.com>
4585
4586 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
4587 New functions.
4588 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
4589
4590 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
4591
4592 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
4593 (dump_ada_specs): Adjust prototype of second callback.
4594 * c-ada-spec.c (cpp_check): New global variable.
4595 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
4596 (print_generic_ada_decl): Likewise.
4597 (has_static_fields): Change return type to bool and add guard.
4598 (has_nontrivial_methods): New predicate.
4599 (is_tagged_type): Change return type to bool.
4600 (separate_class_package): Call has_nontrivial_methods.
4601 (pp_ada_tree_identifier): Minor tweaks.
4602 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
4603 (dump_ada_array_domains): Likewise.
4604 (dump_ada_array_type): Likewise.
4605 (dump_template_types): Remove cpp_check parameter and do not pass it to
4606 dump_generic_ada_node.
4607 (dump_ada_template): Likewise.
4608 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
4609 recursively.
4610 (print_ada_methods): Change return type to integer. Remove cpp_check
4611 parameter and do not pass it down.
4612 (dump_nested_types): Remove cpp_check parameter and do not pass it to
4613 dump_generic_ada_node.
4614 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
4615 accessing methods.
4616 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
4617 down. Use has_nontrivial_methods to recognize C++ classes. Use return
4618 value of print_ada_methods.
4619 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
4620 Set cpp_check to it before invoking dump_ada_nodes.
4621 (dump_ada_specs): Likewise.
4622
4623 2013-11-03 Marek Polacek <polacek@redhat.com>
4624
4625 * c-ubsan.c: Don't include hash-table.h.
4626 (ubsan_instrument_vla): New function.
4627 * c-ubsan.h: Declare it.
4628
4629 2013-10-31 David Malcolm <dmalcolm@redhat.com>
4630
4631 Automated part of renaming of symtab_node_base to symtab_node.
4632
4633 Patch autogenerated by rename_symtab.py from
4634 https://github.com/davidmalcolm/gcc-refactoring-scripts
4635 revision 58bb219cc090b2f4516a9297d868c245495ee622
4636
4637 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
4638 symtab_node_base to symtab_node.
4639
4640 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
4641
4642 Implement C++14 digit separators.
4643 * c-lex.c (interpret_float): Remove digit separators from scratch string
4644 before building real literal.
4645
4646 2013-10-30 Jakub Jelinek <jakub@redhat.com>
4647
4648 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
4649
4650 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
4651
4652 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
4653 fields.
4654 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
4655 enabled.
4656 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
4657 (insert_cilk_frame): New prototype.
4658 (cilk_init_builtins): Likewise.
4659 (gimplify_cilk_spawn): Likewise.
4660 (c_cilk_install_body_w_frame_cleanup): Likewise.
4661 (cilk_detect_spawn_and_unwrap): Likewise.
4662 (cilk_set_spawn_marker): Likewise.
4663 (build_cilk_sync): Likewise.
4664 (build_cilk_spawn): Likewise.
4665 * cilk.c: New file.
4666
4667 2013-10-29 David Malcolm <dmalcolm@redhat.com>
4668
4669 Patch autogenerated by refactor_symtab.py from
4670 https://github.com/davidmalcolm/gcc-refactoring-scripts
4671 revision 58bb219cc090b2f4516a9297d868c245495ee622
4672
4673 * c-gimplify.c (c_genericize): Update for conversion of symtab types
4674 to a true class hierarchy.
4675 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
4676
4677 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
4678
4679 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
4680
4681 2013-10-26 Jeff Law <law@redhat.com>
4682
4683 * c-common.c (c_define_builtins): Remove mudflap support.
4684 * c.opt: Ignore and warn for mudflap options.
4685
4686 2013-10-24 Tobias Burnus <burnus@net-b.de>
4687
4688 PR other/33426
4689 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
4690 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
4691
4692 2013-10-23 Jason Merrill <jason@redhat.com>
4693
4694 * c-format.c (gcc_cxxdiag_char_table): Add %X.
4695
4696 2013-10-11 Jakub Jelinek <jakub@redhat.com>
4697
4698 * c-common.h (omp_clause_mask::operator !=): New method.
4699 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
4700 instead of if (mask & something) tests everywhere.
4701
4702 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
4703 201307 instead of 201107.
4704 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
4705 (c_common_attribute_table): Add "omp declare target" and
4706 "omp declare simd" attributes.
4707 (handle_omp_declare_target_attribute,
4708 handle_omp_declare_simd_attribute): New functions.
4709 * c-omp.c: Include c-pragma.h.
4710 (c_finish_omp_taskgroup): New function.
4711 (c_finish_omp_atomic): Add swapped argument, if true,
4712 build the operation first with rhs, lhs arguments and use NOP_EXPR
4713 build_modify_expr.
4714 (c_finish_omp_for): Add code argument, pass it down to make_code.
4715 (c_omp_split_clauses): New function.
4716 (c_split_parallel_clauses): Removed.
4717 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
4718 c_omp_declare_simd_clauses_to_decls): New functions.
4719 * c-common.h (omp_clause_mask): New type.
4720 (OMP_CLAUSE_MASK_1): Define.
4721 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
4722 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
4723 omp_clause_mask::operator |, omp_clause_mask::operator &,
4724 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
4725 omp_clause_mask::operator ==): New methods.
4726 (enum c_omp_clause_split): New.
4727 (c_finish_omp_taskgroup): New prototype.
4728 (c_finish_omp_atomic): Add swapped argument.
4729 (c_finish_omp_for): Add code argument.
4730 (c_omp_split_clauses): New prototype.
4731 (c_split_parallel_clauses): Removed.
4732 (c_omp_declare_simd_clauses_to_numbers,
4733 c_omp_declare_simd_clauses_to_decls): New prototypes.
4734 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
4735 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
4736 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
4737 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
4738 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
4739 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
4740 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
4741 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
4742 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
4743 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
4744 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
4745 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
4746 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
4747 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
4748 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
4749 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
4750 PRAGMA_OMP_CLAUSE_UNIFORM.
4751
4752 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
4753
4754 PR tree-optimization/20318
4755 * c-common.c (handle_returns_nonnull_attribute): New function.
4756 (c_common_attribute_table): Add returns_nonnull.
4757
4758 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
4759
4760 PR c++/19476
4761 * c.opt (fcheck-new): Move to common.opt.
4762
4763 2013-09-25 Marek Polacek <polacek@redhat.com>
4764 Jakub Jelinek <jakub@redhat.com>
4765
4766 PR sanitizer/58413
4767 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
4768 an expression if we can prove it is correct.
4769 (ubsan_instrument_division): Likewise. Remove unnecessary
4770 check.
4771
4772 2013-09-18 Marek Polacek <polacek@redhat.com>
4773
4774 PR sanitizer/58411
4775 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
4776 Declare it.
4777 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
4778
4779 2013-09-14 Iain Sandoe <iain@codesourcery.com>
4780
4781 PR target/48094
4782 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
4783 fobjc-gc, freplace-objc-classes): Accept for LTO.
4784
4785 2013-09-13 Jacek Caban <jacek@codeweavers.com>
4786
4787 * c-target.def: New hook
4788
4789 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
4790
4791 PR c++/43452
4792 * c.opt (Wdelete-incomplete): Add.
4793
4794 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
4795
4796 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
4797 (vector_types_compatible_elements_p): New function.
4798 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
4799 declaration.
4800 (vector_types_compatible_elements_p): Declare.
4801
4802 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4803
4804 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
4805 a virtual member function.
4806 (pp_simple_type_specifier): Remove.
4807 (pp_c_type_specifier): Likewise.
4808 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
4809 Rename from pp_c_type_specifier. Adjust.
4810 (c_pretty_printer::c_pretty_printer): Do not assign to
4811 simple_type_specifier.
4812
4813 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
4814
4815 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
4816 member function.
4817 (c_pretty_printer::storage_class_specifier): Likewise.
4818 (c_pretty_printer::initializer): Likewise.
4819 (pp_declaration): Remove.
4820 (pp_declaration_specifiers): Likewise.
4821 (pp_abstract_declarator): Likewise.
4822 (pp_declarator): Likewise.
4823 (pp_type_id): Likewise.
4824 (pp_statement): Likewise.
4825 (pp_constant): Likewise.
4826 (pp_id_expression): Likewise.
4827 (pp_primary_expression): Likewise.
4828 (pp_unary_expression): Likewise.
4829 (pp_multiplicative_expression): Likewise.
4830 (pp_conditional_expression): Likewise.
4831 (pp_assignment_expression): Likewise.
4832 (pp_expression): Likewise.
4833 (pp_c_type_id): Likewise.
4834 (pp_c_storage_class_specifier): Likewise.
4835 * c-pretty-print.c (pp_c_type_cast): Tidy.
4836 (pp_c_pointer): Likewise.
4837 (pp_c_type_specifier): Likewise.
4838 (pp_c_parameter_type_list): Likewise.
4839 (pp_c_function_definition): Likewise.
4840 (pp_c_init_declarator): Likewise.
4841 (pp_c_initializer_list): Likewise.
4842 (pp_c_constructor_elts): Likewise.
4843 (c_pretty_printer::direct_abstract_declarator): Likewise.
4844 (c_pretty_printer::declaration_specifiers): Likewise.
4845 (c_pretty_printer::primary_expression): Likewise.
4846 (c_pretty_printer::postfix_expression): Likewise.
4847 (c_pretty_printer::type_id): Rename from pp_c_type_id.
4848 (c_pretty_printer::storage_class_specifier): Rename from
4849 pp_c_storage_class_specifier.
4850 (c_pretty_printer::initializer): Rename from pp_c_initializer.
4851 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
4852 storage_class_specifier, initializer, offset_list, flags.
4853
4854 2013-08-30 Marek Polacek <polacek@redhat.com>
4855
4856 * c-ubsan.c: New file.
4857 * c-ubsan.h: New file.
4858
4859 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
4860
4861 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
4862 member function.
4863 (c_pretty_printer::declaration_specifiers): Likewise.
4864 (c_pretty_printer::declarator): Likewise.
4865 (c_pretty_printer::abstract_declarator): Likewise.
4866 (c_pretty_printer::direct_abstract_declarator): Likewise.
4867 (c_pretty_printer::direct_declarator): Likewise.
4868 (c_pretty_printer::function_specifier): Likewise.
4869 (pp_declaration): Adjust.
4870 (pp_declaration_specifiers): Likewise.
4871 (pp_abstract_declarator): Likewise.
4872 (pp_direct_declarator): Likewise.
4873 (pp_function_specifier): Likewise.
4874 (pp_direct_abstract_declarator): Remove as unused.
4875 (pp_c_declaration): Remove.
4876 (pp_c_declaration_specifiers): Likewise.
4877 (pp_c_declarator): Likewise.
4878 (pp_c_direct_declarator): Likewise.
4879 (pp_c_function_specifier): Likewise.
4880 (pp_c_direct_abstract_declarator): Likewise.
4881 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
4882 from pp_c_abstract_declarator. Adjust.
4883 (c_pretty_printer::direct_abstract_declarator): Rename from
4884 pp_c_direct_abstract_declarator. Adjust.
4885 (c_pretty_printer::function_specifier): Rename from
4886 pp_c_function_specifier. Adjust.
4887 (c_pretty_printer::declaration_specifiers): Rename from
4888 pp_c_declaration_specifiers. Adjust.
4889 (c_pretty_printer::direct_declarator): Rename from
4890 pp_c_direct_declarator. Adjust.
4891 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
4892 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
4893 (c_pretty_printer::c_pretty_printer): Do not assign to
4894 declaration, declaration_specifiers, declarator,
4895 direct_declarator, direct_abstract_declarator, function_specifier.
4896
4897 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
4898
4899 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
4900 virtual member function.
4901 (c_pretty_printer::multiplicative_expression): Likewise.
4902 (c_pretty_printer::conditional_expression): Likewise.
4903 (c_pretty_printer::assignment_expression): Likewise.
4904 (c_pretty_printer::expression): Likewise.
4905 (pp_unary_expression): Adjust.
4906 (pp_multiplicative_expression): Likewise.
4907 (pp_assignment_expression): Likewise.
4908 (pp_conditional_expression): Likewise.
4909 (pp_expression): Likewise.
4910 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
4911 from pp_c_unary_expression. Adjust.
4912 (c_pretty_printer::multiplicative_expression): Rename from
4913 pp_c_multiplicative_expression. Adjust.
4914 (c_pretty_printer::conditional_expression): Rename from
4915 pp_c_conditional_expression. Adjust.
4916 (c_pretty_printer::assignment_expression): Rename from
4917 pp_c_assignment_expression. Adjust.
4918 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
4919 (c_pretty_printer::c_pretty_printer): Do not assign to
4920 unary_expression, multiplicative_expression,
4921 conditional_expression, expression.
4922
4923 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4924
4925 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
4926 virtual member function.
4927 (pp_postfix_expression): Adjust.
4928 (pp_c_postfix_expression): Remove.
4929 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
4930 from pp_c_postfix_expression. Adjust.
4931 (c_pretty_printer::c_pretty_printer): Do not assign to
4932 postfix_expression.
4933
4934 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4935
4936 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
4937 virtua member function.
4938 (pp_primary_expression): Adjust.
4939 (pp_c_primary_expression): Remove.
4940 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
4941 from pp_c_primary_expression. Adjust.
4942 (pp_c_initializer_list): Use pp_primary_expression.
4943 (c_pretty_printer::c_pretty_printer): Do not assign to
4944 primary_expression.
4945
4946 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
4947
4948 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
4949 * c-pretty-print.c (M_): Remove.
4950 (c_pretty_printer::translate_string): Define.
4951 (pp_c_type_specifier): Use it.
4952 (pp_c_primary_expression): Likewise.
4953 (pp_c_expression): Likewise.
4954
4955 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4956
4957 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
4958 virtual function.
4959 (pp_c_id_expression): Remove.
4960 (pp_id_expression): Adjust.
4961 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
4962 pp_c_id_expression. Adjust.
4963 (pp_c_postfix_expression): Use pp_id_expression.
4964 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
4965
4966 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
4967
4968 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
4969 member function.
4970 (pp_constant): Adjust.
4971 (pp_c_constant): Remove.
4972 * c-pretty-print.c (c_pretty_printer::constant): Rename from
4973 pp_c_constant. Adjust.
4974 (pp_c_constant)
4975 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
4976 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
4977
4978 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
4979
4980 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
4981 (c_pretty_printer::c_pretty_printer): Declare.
4982 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
4983 c_pretty_printer_init. Adjust.
4984 (print_c_tree): Do not call c_pretty_printer_init.
4985 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
4986
4987 2013-08-09 Arnaud Charlet <charlet@adacore.com>
4988
4989 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
4990
4991 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
4992
4993 PR c++/58080
4994 * c-common.c (pointer_int_sum): Add bool parameter.
4995 * c-common.h (pointer_int_sum): Adjust declaration.
4996
4997 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
4998
4999 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
5000 c_pretty_printer variable.
5001
5002 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
5003
5004 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
5005 (pp_base): Remove.
5006 (pp_c_base): Likewise. Adjust users.
5007 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
5008 (pp_c_whitespace): Do not call pp_base.
5009 (pp_c_left_paren): Likewise.
5010 (pp_c_right_paren): Likewise.
5011 (pp_c_left_brace): Likewise.
5012 (pp_c_right_brace): Likewise.
5013 (pp_c_left_bracket): Likewise.
5014 (pp_c_right_bracket): Likewise.
5015 (pp_c_dot): Likewise.
5016 (pp_c_ampersand): Likewise.
5017 (pp_c_star): Likewise.
5018 (pp_c_arrow): Likewise.
5019 (pp_c_semicolon): Likewise.
5020 (pp_c_complement): Likewise.
5021 (pp_c_exclamation): Likewise.
5022 (pp_c_direct_declarator): Likewise.
5023 (pp_c_ws_string): Likewise.
5024 (pp_c_identifier): Likewise.
5025 (pp_c_statement): Likewise.
5026 (print_c_tree): Likewise.
5027
5028 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
5029
5030 PR c++/58072
5031 * c-common.c (c_parse_error): Catch user-defined literal tokens and
5032 provide useful error strings.
5033
5034 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5035
5036 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
5037 printer functions instead of pp_string or operators and punctuators.
5038 (dump_generic_ada_node): Likewise.
5039 * c-pretty-print.c (pp_c_type_specifier): Likewise.
5040 (pp_c_relational_expression): Likewise.
5041 (pp_c_logical_or_expression): Likewise.
5042
5043 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
5044
5045 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
5046 functions instead of pp_character.
5047 (pp_ada_tree_identifier): Likewise.
5048 (dump_ada_double_name): Likewise.
5049 (dump_ada_function_declaration): Likewise.
5050 (dump_ada_array_domains): Likewise.
5051 (dump_template_types): Likewise.
5052 (dump_generic_ada_node): Likewise.
5053 (print_ada_declaration): Likewise.
5054 (print_ada_struct_decl): Likewise.
5055 * c-pretty-print.c (pp_c_integer_constant): Likewise.
5056
5057 2013-07-23 Tom Tromey <tromey@redhat.com>
5058
5059 * c-common.h (enum rid) <RID_GENERIC>: New constant.
5060 * c-common.c (c_common_reswords): Add _Generic.
5061
5062 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
5063
5064 * c-common.c: Fix typos.
5065 * c-common.h: Likewise.
5066
5067 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
5068
5069 PR c++/55203
5070 * c-common.c (c_common_attribute_table): Add warn_unused.
5071 (handle_warn_unused_attribute): New.
5072
5073 2013-07-10 Jakub Jelinek <jakub@redhat.com>
5074
5075 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
5076 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
5077
5078 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
5079
5080 PR c++/57869
5081 * c.opt: Add Wconditionally-supported.
5082
5083 2013-07-08 Graham Stott <graham.stott@btinternet.com>
5084
5085 * array-notation-common.c (length_mismatch_in_expr_p): Delete
5086 unused variables l_length and l_node.
5087
5088 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
5089
5090 PR c/57821
5091 * c-common.c (complete_array_type): Delay folding first index
5092 like other indices. When folding, check for index overflow.
5093
5094 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
5095
5096 PR c++/57509
5097 * c-common.h (c_build_vec_perm_expr): New complain argument.
5098 * c-common.c (c_build_vec_perm_expr): Likewise.
5099 Use save_expr also in C++.
5100
5101 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
5102
5103 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
5104 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5105 * c-opts.c (c_common_post_options): Likewise.
5106
5107 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5108
5109 * array-notation-common.c (length_mismatch_in_expr): Changed the
5110 parameter type's from a dynamic array to a vec_tree. Also removed
5111 the size parameters.
5112 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
5113 the change above.
5114
5115 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
5116
5117 * c-common.h (struct cilkplus_an_parts): New structure.
5118 (struct cilkplus_an_loop_parts): Likewise.
5119 (cilkplus_extract_an_triplets): New prototype.
5120 (fix_sec_implicit_args): Likewise.
5121 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
5122 (fix_sec_implicit_args): Likewise.
5123
5124 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
5125
5126 * array-notation-common.c (find_inv_trees): Removed an unwanted
5127 typecasting.
5128 * c-common.h (struct inv_list::additional_tcodes): Changed type from
5129 enum rid to enum tree_code.
5130
5131 2013-06-11 Jan Hubicka <jh@suse.cz>
5132
5133 * c-common.c (handle_alias_ifunc_attribute): Do not set
5134 DECL_EXTERNAL for weakref variables.
5135 * c-pragma.c (handle_pragma_weak): Make sure aliases
5136 are not declared as external.
5137
5138 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
5139
5140 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
5141 function from c/c-array-notation.c.
5142 (is_cilkplus_reduce_builtin): Likewise.
5143 (find_rank): Likewise.
5144 (extract_array_notation_exprs): Likewise.
5145 (replace_array_notations): Likewise.
5146 (find_inv_trees): Likewise.
5147 (replace_inv_trees): Likewise.
5148 (contains_array_notation_expr): Likewise.
5149 (find_correct_array_notation_type): Likewise.
5150 * c-common.h (struct inv_list): Moved this struct from the file
5151 c/c-array-notation.c and added a new field called additional tcodes.
5152 (length_mismatch_in_expr_p): New prototype.
5153 (is_cilkplus_reduce_builtin): Likewise.
5154 (find_rank): Likewise.
5155 (extract_array_notation_exprs): Likewise.
5156 (replace_array_notation): Likewise.
5157 (find_inv_trees): Likewise.
5158 (replace_inv_trees): Likewise.
5159 (find_correct_array_notation_type): Likewise.
5160
5161 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
5162
5163 * c-common.c (c_define_builtins): When cilkplus is enabled, the
5164 function array_notation_init_builtins is called.
5165 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
5166 * c-common.def (ARRAY_NOTATION_REF): New tree.
5167 * c-common.h (build_array_notation_expr): New function declaration.
5168 (build_array_notation_ref): Likewise.
5169 (extract_sec_implicit_index_arg): New extern declaration.
5170 (is_sec_implicit_index_fn): Likewise.
5171 (ARRAY_NOTATION_CHECK): New define.
5172 (ARRAY_NOTATION_ARRAY): Likewise.
5173 (ARRAY_NOTATION_START): Likewise.
5174 (ARRAY_NOTATION_LENGTH): Likewise.
5175 (ARRAY_NOTATION_STRIDE): Likewise.
5176 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
5177 ARRAY_NOTATION_REF.
5178 (pp_c_expression): Likewise.
5179 * c.opt (flag_enable_cilkplus): New flag.
5180 * array-notation-common.c: New file.
5181
5182 2013-05-14 Jakub Jelinek <jakub@redhat.com>
5183
5184 PR c++/57274
5185 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
5186
5187 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
5188
5189 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
5190 vectors.
5191
5192 2013-05-07 Han Shen <shenhan@google.com>
5193
5194 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
5195
5196 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5197
5198 * c-common.c (check_user_alignment): Emit error for negative values.
5199
5200 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5201
5202 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
5203
5204 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5205
5206 * c-cppbuiltin.c (c_cpp_builtins): Do not define
5207 __GXX_EXPERIMENTAL_CXX1Y__.
5208
5209 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5210 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5211
5212 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
5213 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
5214 to simply use OPT_Wpointer_arith.
5215 (c_sizeof_or_alignof_type): Likewise.
5216
5217 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
5218
5219 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
5220
5221 2013-04-12 Jakub Jelinek <jakub@redhat.com>
5222
5223 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
5224 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
5225 specifiers.
5226
5227 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
5228
5229 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
5230
5231 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
5232
5233 * c-common.c (pointer_int_sum): Remove dead code.
5234
5235 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
5236
5237 PR middle-end/56524
5238 * c-common.c (handle_optimize_attribute): Don't call
5239 save_optabs_if_changed.
5240
5241 2013-03-05 Jakub Jelinek <jakub@redhat.com>
5242
5243 PR middle-end/56461
5244 * c-pch.c (pch_init): Free target_validity at the end.
5245
5246 2013-03-04 Jakub Jelinek <jakub@redhat.com>
5247
5248 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
5249
5250 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
5251 Jakub Jelinek <jakub@redhat.com>
5252
5253 PR sanitizer/56454
5254 * c-common.c (handle_no_sanitize_address_attribute): New function.
5255 (c_common_attribute_table): Add no_sanitize_address attribute.
5256 (handle_no_address_safety_analysis_attribute): Add
5257 no_sanitize_address attribute, not no_address_safety_analysis
5258 attribute.
5259
5260 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
5261
5262 PR target/52555
5263 * c-common.c (handle_optimize_attribute): Call
5264 save_optabs_if_changed.
5265
5266 2013-02-18 Jakub Jelinek <jakub@redhat.com>
5267 Steven Bosscher <steven@gcc.gnu.org>
5268
5269 PR pch/54117
5270 * c-opts.c (c_common_post_options): If debug info is enabled
5271 and non-dwarf*, refuse to load PCH files and when writing PCH
5272 file warn.
5273
5274 2013-02-05 Jakub Jelinek <jakub@redhat.com>
5275
5276 PR middle-end/56167
5277 * c-common.c (handle_error_attribute): Fix condition.
5278
5279 2013-01-30 Jakub Jelinek <jakub@redhat.com>
5280
5281 PR c++/55742
5282 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
5283
5284 2013-01-18 Jason Merrill <jason@redhat.com>
5285
5286 PR target/54908
5287 * c.opt (-fextern-tls-init): New.
5288 * c-opts.c (c_common_post_options): Handle it.
5289
5290 2013-01-09 Jakub Jelinek <jakub@redhat.com>
5291
5292 PR c/48418
5293 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
5294 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
5295 and is either negative or bigger or equal to type precision
5296 of the first operand.
5297
5298 2012-12-03 Marek Polacek <polacek@redhat.com>
5299
5300 PR c/55570
5301 * c-common.c (check_user_alignment): Swap order of tests,
5302 check TREE_CODE first.
5303
5304 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
5305
5306 PR c++/52654
5307 * c-common.h (overflow_type): New enum.
5308 (build_userdef_literal): Add overflow_type argument.
5309 (tree_userdef_literal): Add overflow_type.
5310 (USERDEF_LITERAL_OVERFLOW): New access macro.
5311 * c-common.c (build_userdef_literal): Add overflow_type
5312 argument.
5313 * c-lex.c (c_lex_with_flags): Add overflow_type to
5314 build_userdef_literal calls.
5315 (interpret_integer, interpret_float): Add overflow_type argument.
5316
5317 2012-11-28 Richard Biener <rguenther@suse.de>
5318
5319 PR c/35634
5320 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
5321 here and use a type with proper overflow behavior for types that would
5322 need to be promoted for the arithmetic.
5323
5324 2012-11-23 Jakub Jelinek <jakub@redhat.com>
5325
5326 PR sanitizer/55435
5327 * c-common.c (handle_no_address_safety_analysis_attribute): New
5328 function.
5329 (c_common_attribute_table): Add no_address_safety_analysis.
5330
5331 2012-11-16 Simon Baldwin <simonb@google.com>
5332
5333 * c.opt: Add f[no-]canonical-system-headers.
5334 * c-opts.c (c_common_handle_option): Handle
5335 OPT_fcanonical_system_headers.
5336
5337 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
5338
5339 PR c++/54413
5340 * c-opts.c (c_common_handle_option): Set new flags.
5341 * c.opt: Describe new flags.
5342
5343 2012-11-09 Jason Merrill <jason@redhat.com>
5344
5345 * c.opt (Wabi-tag): New.
5346
5347 2012-11-09 Andi Kleen <ak@linux.intel.com>
5348
5349 PR 55139
5350 * c-common.c (get_atomic_generic_size): Mask with
5351 MEMMODEL_MASK
5352
5353 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5354
5355 PR c/53063
5356 * c.opt (Wformat): Make it Alias Wformat=1.
5357 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
5358 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
5359 LangEnabledBy.
5360 (Wformat=): RejectNegative. Use LangEnabledBy.
5361 (Wnonnull): Use LangEnabledBy.
5362 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
5363 * c-format.c (set_Wformat): Delete.
5364 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
5365 (maybe_read_dollar_number): Likewise.
5366 (avoid_dollar_number): Likewise.
5367 (finish_dollar_format_checking): Likewise.
5368 (check_format_info): Likewise.
5369 (check_format_info_main): Likewise.
5370 (check_format_types): Likewise.
5371 (format_type_warning): Likewise.
5372 * c-common.c (int): Likewise.
5373 (check_function_sentinel): Likewise.
5374 * c-common.h (warn_format,set_Wformat): Do not declare here.
5375
5376 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5377
5378 PR c/53063
5379 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
5380 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
5381 Use LangEnabledBy.
5382 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
5383 common.opt.
5384 (Wvariadic-macros): Init(1).
5385 * c-opts.c (c_common_handle_option): Do not handle them
5386 explicitly.
5387 (c_common_post_options): Likewise.
5388 (sanitize_cpp_opts): warn_unused_macros is now
5389 cpp_warn_unused_macros.
5390 (push_command_line_include): Likewise.
5391 * c-common.c (warn_unknown_pragmas): Do not define.
5392 * c-common.h (warn_unknown_pragmas): Do not declare.
5393
5394 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
5395
5396 PR c/51294
5397 * c-common.c (conversion_warning): Handle conditional expressions.
5398
5399 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
5400
5401 PR c++/54930
5402 * c.opt (Wreturn_local_addr): Define new option.
5403
5404 2012-10-25 Jason Merrill <jason@redhat.com>
5405
5406 * c.opt (Wvirtual-move-assign): New.
5407
5408 * c.opt (Winherited-variadic-ctor): New.
5409
5410 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
5411
5412 PR c++/54427
5413 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
5414
5415 2012-10-23 Joseph Myers <joseph@codesourcery.com>
5416
5417 * c-common.h (pch_cpp_save_state): Declare.
5418 * c-target.def (c_preinclude): New hook.
5419 * c-opts.c (done_preinclude): New.
5420 (push_command_line_include): Handle default preincluded header.
5421 (cb_file_change): Call pch_cpp_save_state when calling
5422 push_command_line_include.
5423 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
5424 (pch_cpp_save_state): New.
5425 (pch_init): Call pch_cpp_save_state conditionally, instead of
5426 calling cpp_save_state.
5427
5428 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5429
5430 PR c/53063
5431 PR c/40989
5432 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
5433 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
5434 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
5435 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
5436 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
5437 * c-opts.c (c_common_handle_option): Remove explicit handling from
5438 here.
5439 (c_common_post_options): Likewise.
5440
5441 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
5442
5443 * c-ada-spec.c (LOCATION_COL): Delete.
5444 (compare_location): New function.
5445 (compare_node): Use it.
5446 (compare_comment): Likewise.
5447
5448 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
5449
5450 PR c/53063
5451 PR c/40989
5452 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
5453 * c-opts.c (c_common_handle_option): Do not set them here. Add
5454 comment.
5455 (c_common_post_options): Likewise.
5456
5457 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
5458
5459 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
5460 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
5461 Remove POINTER_TYPE handling, add large unsigned handling and use
5462 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
5463
5464 2012-10-12 Jakub Jelinek <jakub@redhat.com>
5465
5466 PR c/54381
5467 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
5468 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
5469 locs and array of 3 trees instead of just single loc and single
5470 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
5471 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
5472 For *cmp* builtins that take two sources strings report warnings
5473 about first and second source, not about destination and source.
5474
5475 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
5476
5477 PR c++/53055
5478 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
5479
5480 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
5481
5482 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
5483 declaring something coming from another file.
5484
5485 2012-10-10 Arnaud Charlet <charlet@adacore.com>
5486
5487 PR ada/54845
5488 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
5489
5490 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
5491
5492 PR c++/54194
5493 * c-common.c (warn_about_parentheses): Add location_t parameter;
5494 use EXPR_LOC_OR_LOC.
5495 * c-common.h: Update declaration.
5496
5497 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
5498
5499 PR c++/54427
5500 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
5501 more operations. Make error messages optional.
5502 * c-common.h (enum stv_conv): Moved from c-typeck.c.
5503 (scalar_to_vector): Declare.
5504
5505 2012-10-08 Jason Merrill <jason@redhat.com>
5506
5507 * c-common.c (c_common_reswords): Add thread_local.
5508
5509 2012-10-08 Dodji Seketeli <dodji@redhat.com>
5510
5511 PR c++/53528 C++11 attribute support
5512 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
5513 new functions.
5514 * c-common.c (check_cxx_fundamental_alignment_constraints): New
5515 static function.
5516 (handle_aligned_attribute): In choose strictest alignment
5517 among many. Use new check_cxx_fundamental_alignment_constraints.
5518 (handle_transparent_union_attribute): In c++11 attribute syntax,
5519 don't look through typedefs.
5520
5521 2012-10-04 Arnaud Charlet <charlet@adacore.com>
5522
5523 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
5524 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
5525 out of dumpfile.h.
5526
5527 2012-09-25 Dehao Chen <dehao@google.com>
5528
5529 PR middle-end/54645
5530 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
5531 map when read in the pch.
5532
5533 2012-09-18 Arnaud Charlet <charlet@adacore.com>
5534
5535 * c-ada-spec.c: Style fixes.
5536
5537 2012-09-18 Thomas Quinot <quinot@adacore.com>
5538
5539 * c.opt (-fada-spec-parent): Define new command line switch.
5540 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
5541 is specified, generate binding spec as a child of the specified unit.
5542
5543 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
5544 Manuel López-Ibáñez <manu@gcc.gnu.org>
5545
5546 PR c++/53210
5547 * c.opt ([Winit-self]): Enabled by -Wall in C++.
5548
5549 2012-08-23 Arnaud Charlet <charlet@adacore.com>
5550
5551 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
5552 for pointers, and add missing Convention C pragma.
5553 (print_ada_struct_decl): Add missing aliased keyword.
5554 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
5555
5556 2012-08-17 Jakub Jelinek <jakub@redhat.com>
5557
5558 * c-common.c (sizeof_pointer_memaccess_warning): New function.
5559 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
5560 * c-opts.c (c_common_handle_option): Enable it for -Wall.
5561 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
5562 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
5563
5564 2012-08-10 Richard Guenther <rguenther@suse.de>
5565
5566 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
5567
5568 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
5569
5570 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
5571 instead of separate pp_newline and pp_flush.
5572 (print_c_tree): Likewise.
5573
5574 2012-07-26 Richard Henderson <rth@redhat.com>
5575
5576 * c-common.c (handle_hot_attribute): Allow labels.
5577 (handle_cold_attribute): Likewise.
5578
5579 2012-07-20 Jakub Jelinek <jakub@redhat.com>
5580
5581 PR c++/28656
5582 * c-common.c (check_function_nonnull): Handle multiple nonnull
5583 attributes properly.
5584
5585 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
5586
5587 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
5588 * c-ada-spec.c: Likewise.
5589 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
5590
5591 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
5592
5593 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
5594 Remove code conditional on it.
5595
5596 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
5597
5598 * c-gimplify.c: Do not include basic-block.h.
5599 * c-common.c: Do not include linfuncs.h.
5600
5601 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
5602
5603 * c-common.h: Include tree.h.
5604
5605 2012-07-02 Jason Merrill <jason@redhat.com>
5606
5607 PR c++/53524
5608 * c-common.c (get_priority): Call default_conversion.
5609
5610 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
5611
5612 * c-pch.c (c_common_write_pch): Remove unused variables.
5613
5614 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
5615
5616 * cppspec.c: Moved from gcc/ to here.
5617
5618 2012-06-27 Kai Tietz <ktietz@redhat.com>
5619
5620 PR preprocessor/37215
5621 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
5622
5623 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
5624
5625 * c-common.h (c_common_print_pch_checksum): Remove.
5626 * c-pch.c: Do not include output.h.
5627 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
5628 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
5629 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
5630 (struct c_pch_header): Remove.
5631 (get_ident): Update gpch version.
5632 (pch_init): Do not print executable_checksum to asm_out_file.
5633 Do not fail if there is no asm_out_file to read back from. Set
5634 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
5635 (c_common_write_pch): Verify that nothing was written to asm_out_file
5636 since pch_init was called. Do not write a c_pch_header, and do not
5637 copy from asm_out_file to the PCH.
5638 (c_common_read_pch): Do not read a c_pch_header, and do not restore
5639 the content of asm_out_file from the PCH.
5640 (c_common_print_pch_checksum): Remove.
5641 * c-opts.c (c_common_init): Print out executable_checksum directly.
5642
5643 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5644
5645 * c-target.def (objc_declare_unresolved_class_reference,
5646 objc_declare_class_definition): Add new hooks.
5647
5648 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
5649
5650 * c-lex.c: Do not include output.h.
5651 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
5652 Remove uses of ASM_OUTPUT_IDENT.
5653
5654 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
5655
5656 PR c++/51033
5657 * c-common.h (c_build_vec_perm_expr): Move decl here.
5658 * c-common.c (c_build_vec_perm_expr): Move definition
5659 here.
5660
5661 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
5662
5663 * c.opt (fconserve-space): Turn into a no-op.
5664
5665 2012-06-04 Sterling Augustine <saugustine@google.com>
5666
5667 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
5668 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
5669 both the start and end of the function.
5670
5671 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5672
5673 * c-common.c: Do not include output.h.
5674 * c-pragma.c: Likewise.
5675
5676 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
5677
5678 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
5679 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
5680 (lang_decl_name): Handle namespace decls.
5681
5682 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
5683
5684 * c-ada-spec.c: Do not include output.h.
5685 * c-semantics.c: Likewise.
5686
5687 2012-05-29 Joseph Myers <joseph@codesourcery.com>
5688
5689 * c-common.c: Fix typo.
5690
5691 2012-05-29 Michael Matz <matz@suse.de>
5692
5693 * c-common.h (c_expand_decl): Remove prototype.
5694
5695 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
5696
5697 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
5698 * c-opts.c (c_common_handle_option): Remove code handling
5699 warn_missing_braces.
5700
5701 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
5702
5703 PR c++/25137
5704 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
5705 -Wmissing_braces.
5706
5707 2012-05-22 Dodji Seketeli <dodji@redhat.com>
5708
5709 PR c++/53322
5710 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
5711
5712 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
5713
5714 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
5715 * c-opts.c (c_common_handle_option): Do not handle explicitly
5716 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
5717
5718 2012-05-16 Dodji Seketeli <dodji@redhat.com>
5719
5720 PR preprocessor/7263
5721 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
5722 to cpp_classify_number. For diagnostics, use the precise location
5723 instead of the global input_location.
5724
5725 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5726
5727 PR c++/11856
5728 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
5729
5730 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
5731
5732 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
5733
5734 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
5735
5736 PR 53063
5737 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
5738 Wreorder): Use LangEnabledBy.
5739 * c-opts.c (c_common_handle_option): Do not enable them
5740 explicitly. Call lang-specific generated functions.
5741 (c_common_post_options): Do not set them here.
5742
5743 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
5744
5745 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
5746 Wmissing-field-initializers,Wmissing-parameter-type,
5747 Wold-style-declaration,Woverride-init): Use EnabledBy.
5748 * c-opts.c (c_common_post_options): Do not set here explicitly.
5749
5750 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5751
5752 PR 53063
5753 * c-opts.c (c_common_handle_option): Use handle_generated_option
5754 to enable sub-options.
5755
5756 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
5757
5758 PR c++/53158
5759 * c-common.c (warnings_for_convert_and_check): Use warning_at.
5760
5761 2012-05-10 Richard Guenther <rguenther@suse.de>
5762
5763 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
5764 adjust commentary about TYPE_IS_SIZETYPE types.
5765
5766 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5767
5768 PR c++/53261
5769 * c-common.c (warn_logical_operator): Check that argument of
5770 integer_zerop is not NULL.
5771
5772 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
5773
5774 PR c/43772
5775 * c-common.c (warn_logical_operator): Do not warn if either side
5776 is already true or false.
5777
5778 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
5779
5780 PR c/51712
5781 * c-common.c (expr_original_type): New.
5782 (shorten_compare): Do not warn for enumeration types.
5783
5784 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5785
5786 * c.opt (fpermissive): Add Var(flag_permissive).
5787
5788 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
5789
5790 PR c++/51033
5791 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
5792 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
5793
5794 2012-04-30 Dodji Seketeli <dodji@redhat.com>
5795
5796 Add -Wvarargs option
5797 * c.opt (Wvarargs): Define new option.
5798
5799 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5800
5801 * c-common.c (check_function_arguments): Replace
5802 Wmissing-format-attribute with Wsuggest-attribute=format.
5803
5804 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5805
5806 * c.opt (Wsuggest-attribute=format): New. Alias of
5807 Wmissing-format-attribute.
5808 * c-format.c (decode_format_type): Replace
5809 Wmissing-format-attribute with Wsuggest-attribute=format.
5810 (check_function_format): Likewise.
5811
5812 2012-04-27 Ollie Wild <aaw@google.com>
5813
5814 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
5815 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
5816 * c.opt: Add Wliteral-suffix.
5817
5818 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5819
5820 PR c/44774
5821 * c.opt (Wpedantic): New.
5822 (pedantic): Alias Wpedantic.
5823 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
5824 (c_common_post_options): Likewise.
5825 (sanitize_cpp_opts): Likewise.
5826 * c-lex.c (interpret_float): Likewise.
5827 * c-format.c (check_format_types): Likewise.
5828 * c-common.c (pointer_int_sum): Likewise.
5829 (c_sizeof_or_alignof_type): Likewise.
5830 (c_add_case_label): Likewise.
5831 (c_do_switch_warnings): Likewise.
5832 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
5833
5834 2012-04-15 Jason Merrill <jason@redhat.com>
5835
5836 PR c++/52818
5837 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
5838 (C_STD_NAME): Distinguish between C++98 and C++11.
5839
5840 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
5841
5842 PR target/52624
5843 * c-common.h (uint16_type_node): Rename into...
5844 (c_uint16_type_node): ...this.
5845 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
5846 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
5847
5848 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
5849
5850 * c-common.c (warn_if_unused_value): Move definition to here.
5851 * c-common.h (warn_if_unused_value): Move declaration to here.
5852
5853 2012-03-23 William Bader <williambader@hotmail.com>
5854
5855 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
5856
5857 2012-03-20 Jason Merrill <jason@redhat.com>
5858
5859 * c-common.h (enum cxx_dialect): Add cxx1y.
5860 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
5861 test.
5862 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
5863 * c-opts.c (c_common_post_options): Likewise.
5864 (set_std_cxx1y): New.
5865 (c_common_handle_option): Call it.
5866 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
5867
5868 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
5869
5870 PR c++/14710
5871 * c.opt ([Wuseless-cast]): Add.
5872
5873 2012-03-16 Richard Guenther <rguenther@suse.de>
5874
5875 * c-pretty-print.c (pp_c_initializer_list): Adjust.
5876
5877 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
5878
5879 PR c++/44783
5880 * c.opt (ftemplate-backtrace-limit) Add.
5881
5882 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5883
5884 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
5885 handling.
5886 * c-pragma.c (handle_pragma_extern_prefix): Remove.
5887 (init_pragma): Don't register extern_prefix.
5888
5889 2012-03-12 Richard Guenther <rguenther@suse.de>
5890
5891 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
5892 (builtin_type_for_size): Likewise.
5893
5894 2012-02-13 Jakub Jelinek <jakub@redhat.com>
5895
5896 PR c++/52215
5897 * c-common.c (sync_resolve_params): Don't decide whether to convert
5898 or not based on TYPE_SIZE comparison, convert whenever arg_type
5899 is unsigned INTEGER_TYPE.
5900
5901 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
5902
5903 PR c/52118
5904 * c.opt ([Wunused-local-typedefs]): Fix description.
5905
5906 2012-01-24 Mike Stump <mikestump@comcast.net>
5907
5908 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
5909 exactly.
5910
5911 2012-01-18 Richard Guenther <rguenther@suse.de>
5912
5913 * c-opts.c (c_common_post_options): Reset LTO flags if
5914 we are about to generate a PCH.
5915
5916 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
5917
5918 PR c++/51777
5919 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
5920 use pp_unsigned_wide_integer.
5921
5922 2012-01-10 Richard Guenther <rguenther@suse.de>
5923
5924 PR middle-end/51806
5925 * c-opts.c (c_common_handle_option): Move -Werror handling
5926 to language independent code.
5927
5928 2012-01-05 Richard Guenther <rguenther@suse.de>
5929
5930 PR middle-end/51764
5931 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
5932 from common.opt.
5933
5934 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
5935
5936 PR c++/51316
5937 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5938 of array types with an unknown bound.
5939
5940 2011-12-20 Joseph Myers <joseph@codesourcery.com>
5941
5942 * c-common.c (flag_isoc99): Update comment to refer to C11.
5943 (flag_isoc1x): Change to flag_isoc11.
5944 * c-common.h (flag_isoc99): Update comment to refer to C11.
5945 (flag_isoc1x): Change to flag_isoc11.
5946 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
5947 C11.
5948 * c-opts.c (set_std_c1x): Change to set_std_c11.
5949 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
5950 Call set_std_c11.
5951 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
5952 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
5953 * c.opt (std=c1x): Change to std=c11. Document as non-draft
5954 standard.
5955 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
5956 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
5957 (std=gnu1x): Make alias of std=gnu11.
5958
5959 2011-12-19 Jason Merrill <jason@redhat.com>
5960
5961 PR c++/51228
5962 * c-common.c (handle_transparent_union_attribute): Check the first
5963 field if the type is complete.
5964
5965 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
5966
5967 PR libstdc++/51365
5968 * c-common.c (RID_IS_FINAL): Add.
5969 * c-common.h (RID_IS_FINAL): Add.
5970
5971 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
5972
5973 * c.opt (fgnu-runtime): Provide full description.
5974 (fnext-runtime): Likewise.
5975 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
5976
5977 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
5978
5979 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
5980 predefines in one place. Add LOCK_FREE predefines.
5981 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
5982 new func.
5983
5984 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
5985
5986 PR c/51256
5987 * c-common.c (get_atomic_generic_size): Check for various error
5988 conditions
5989 (resolve_overloaded_atomic_exchange,
5990 resolve_overloaded_atomic_compare_exchange,
5991 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
5992 error_mark_node for error conditions.
5993
5994 2011-11-08 Richard Guenther <rguenther@suse.de>
5995
5996 PR middle-end/51010
5997 c-family/
5998
5999 2011-11-07 Richard Henderson <rth@redhat.com>
6000 Aldy Hernandez <aldyh@redhat.com>
6001 Torvald Riegel <triegel@redhat.com>
6002
6003 Merged from transactional-memory.
6004
6005 * c-common.c (handle_tm_wrap_attribute,
6006 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
6007 (struct c_common_reswords): Added __transaction* keywords.
6008 (struct c_common_attribute_table): Added transaction* and tm_regparm
6009 attributes.
6010 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
6011 masks.
6012 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
6013 find_tm_attribute): Declare.
6014
6015 2011-11-07 Jason Merrill <jason@redhat.com>
6016
6017 PR c++/35688
6018 * c-common.c, c-common.h: Revert yesterday's changes.
6019
6020 2011-11-06 Jason Merrill <jason@redhat.com>
6021
6022 PR c++/35688
6023 * c-common.c (decl_has_visibility_attr): Split out from...
6024 (c_determine_visibility): ...here.
6025 * c-common.h: Declare it.
6026
6027 2011-11-06 Joseph Myers <joseph@codesourcery.com>
6028
6029 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
6030 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
6031 type.
6032 (check_user_alignment): New. Split out of
6033 handle_aligned_attribute. Disallow integer constants with
6034 noninteger types. Conditionally allow zero.
6035 (handle_aligned_attribute): Use check_user_alignment.
6036 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
6037
6038 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
6039 Richard Henderson <rth@redhat.com>
6040
6041 Merged from cxx-mem-model.
6042
6043 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
6044 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
6045 parameters that are the same type size.
6046 (get_atomic_generic_size): New. Find size of generic
6047 atomic function parameters and do typechecking.
6048 (add_atomic_size_parameter): New. Insert size into parameter list.
6049 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
6050 either __atomic_exchange_n or external library call.
6051 (resolve_overloaded_atomic_compare_exchange): Restructure
6052 __atomic_compare_exchange to either _n variant or external library call.
6053 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
6054 __atomic_load_n or an external library call.
6055 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
6056 __atomic_store_n or an external library call.
6057 (resolve_overloaded_builtin): Handle new __atomic builtins.
6058
6059 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
6060
6061 PR c++/50608
6062 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
6063 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
6064 <INDIRECT_REF>: Return the argument.
6065 <ARRAY_REF>: Remove special code for negative offset.
6066 Call fold_build_pointer_plus instead of size_binop.
6067 (fold_offsetof): Remove STOP_REF argument and adjust.
6068 * c-common.h (fold_offsetof_1): Declare.
6069 (fold_offsetof): Remove STOP_REF argument.
6070
6071 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
6072
6073 PR c++/50810
6074 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6075 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6076 Wnarrowing for C++0x and C++98.
6077 * c.opt ([Wnarrowing]): Update.
6078
6079 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
6080
6081 PR c++/44277
6082 * c.opt: Add Wzero-as-null-pointer-constant.
6083
6084 2011-10-31 Jason Merrill <jason@redhat.com>
6085
6086 * c.opt (-fdeduce-init-list): Off by default.
6087
6088 PR c++/50920
6089 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
6090 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
6091 and -Wc++11-compat.
6092 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
6093
6094 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
6095
6096 PR c++/30066
6097 * c.opt (fvisibility-inlines-hidden): Description change.
6098
6099 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
6100
6101 Implement C++11 user-defined literals.
6102 * c-common.c (build_userdef_literal): New.
6103 * c-common.def: New tree code.
6104 * c-common.h (tree_userdef_literal): New tree struct and accessors.
6105 * c-lex.c (interpret_float): Add suffix parm.
6106 (c_lex_with_flags): Build literal tokens.
6107
6108 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6109
6110 PR c++/50841
6111 Revert:
6112 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6113
6114 PR c++/50810
6115 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6116 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6117 Wnarrowing for C++0x and C++98.
6118 * c.opt ([Wnarrowing]): Update.
6119
6120 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
6121
6122 PR c++/50810
6123 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
6124 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
6125 Wnarrowing for C++0x and C++98.
6126 * c.opt ([Wnarrowing]): Update.
6127
6128 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
6129
6130 PR c++/45385
6131 * c-common.c (conversion_warning): Remove code looking for
6132 artificial operands.
6133
6134 2011-10-18 Dodji Seketeli <dodji@redhat.com>
6135
6136 PR bootstrap/50760
6137 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
6138 !NO_IMPLICIT_EXTERN_C.
6139
6140 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
6141
6142 * c-common.c (c_common_reswords): Add __bases,
6143 __direct_bases.
6144 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
6145
6146 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
6147
6148 PR c++/50757
6149 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
6150
6151 2011-10-15 Tom Tromey <tromey@redhat.com>
6152 Dodji Seketeli <dodji@redhat.com>
6153
6154 * c.opt (fdebug-cpp): New option.
6155 * c-opts.c (c_common_handle_option): Handle the option.
6156 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
6157 output stream in parameter. Factorized from ...
6158 (maybe_print_line): ... this. Dump location debug information when
6159 -fdebug-cpp is in effect.
6160 (print_line_1): New static function. Takes an output stream in
6161 parameter. Factorized from ...
6162 (print_line): ... here. Dump location information when -fdebug-cpp
6163 is in effect.
6164 (scan_translation_unit): Dump location information when
6165 -fdebug-cpp is in effect.
6166
6167 2011-10-15 Tom Tromey <tromey@redhat.com>
6168 Dodji Seketeli <dodji@redhat.com>
6169
6170 * c.opt (ftrack-macro-expansion): New option. Handle it with and
6171 without argument.
6172 * c-opts.c (c_common_handle_option)<case
6173 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
6174 cases. Handle -ftrack-macro-expansion with and without argument.
6175
6176 2011-10-15 Tom Tromey <tromey@redhat.com>
6177 Dodji Seketeli <dodji@redhat.com>
6178
6179 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
6180 (print_line, cb_define, do_line_change): Adjust to avoid touching
6181 the internals of struct line_map. Use the public API instead.
6182 * c-pch.c (c_common_read_pch): Likewise.
6183 * c-lex.c (fe_file_change): Likewise.
6184
6185 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
6186
6187 PR c++/17212
6188 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
6189
6190 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
6191
6192 PR c++/33067
6193 * c-pretty-print.c (pp_c_floating_constant): Output
6194 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
6195
6196 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
6197
6198 * c-common.c (def_builtin_1): Delete old interface with two
6199 parallel arrays to hold standard builtin declarations, and replace
6200 it with a function based interface that can support creating
6201 builtins on the fly in the future. Change all uses, and poison
6202 the old names. Make sure 0 is not a legitimate builtin index.
6203 * c-omp.c (c_finish_omp_barrier): Ditto.
6204 (c_finish_omp_taskwait): Ditto.
6205 (c_finish_omp_flush): Ditto.
6206
6207 2011-10-11 Tristan Gingold <gingold@adacore.com>
6208
6209 * c.opt: (fallow-parameterless-variadic-functions): New.
6210
6211 2011-09-08 Dodji Seketeli <dodji@redhat.com>
6212
6213 PR c++/33255 - Support -Wunused-local-typedefs warning
6214 * c-common.h (struct c_language_function::local_typedefs): New
6215 field.
6216 (record_locally_defined_typedef, maybe_record_typedef_use)
6217 (maybe_warn_unused_local_typedefs): Declare new functions.
6218 * c-common.c (record_locally_defined_typedef)
6219 (maybe_record_typedef_use)
6220 (maybe_warn_unused_local_typedefs): Define new functions.
6221 * c.opt: Declare new -Wunused-local-typedefs flag.
6222
6223 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
6224
6225 PR middle-end/50266
6226 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
6227 computations.
6228
6229 2011-09-05 Richard Guenther <rguenther@suse.de>
6230
6231 * c-common.c (complete_array_type): Use ssize_int (-1) instead
6232 of integer_minus_one_node for empty array upper bounds.
6233
6234 2011-08-28 Dodji Seketeli <dodji@redhat.com>
6235
6236 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
6237 it's the first time it's being called on this main TU.
6238
6239 2011-08-24 Richard Guenther <rguenther@suse.de>
6240
6241 PR c/49396
6242 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
6243
6244 2011-08-22 Gabriel Charette <gchare@google.com>
6245
6246 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
6247 defined in cpp_init_builtins and c_cpp_builtins.
6248
6249 2011-08-19 Joseph Myers <joseph@codesourcery.com>
6250
6251 * c-common.c (c_common_reswords): Add __builtin_complex.
6252 * c-common.h (RID_BUILTIN_COMPLEX): New.
6253
6254 2011-08-18 Joseph Myers <joseph@codesourcery.com>
6255
6256 * c-common.c (c_common_reswords): Add _Noreturn.
6257 (keyword_is_function_specifier): Handle RID_NORETURN.
6258 * c-common.h (RID_NORETURN): New.
6259
6260 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
6261
6262 * c-common.c (unsafe_conversion_p): New function. Check if it is
6263 unsafe to convert an expression to the type.
6264 (conversion_warning): Adjust, use unsafe_conversion_p.
6265 * c-common.h (unsafe_conversion_p): New function declaration.
6266
6267 2011-08-02 Jakub Jelinek <jakub@redhat.com>
6268
6269 * c-common.h (c_finish_omp_atomic): Adjust prototype.
6270 (c_finish_omp_taskyield): New prototype.
6271 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
6272 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
6273 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
6274 or RHS1 have side-effects, evaluate those too in the right spot,
6275 if it is a decl and LHS is also a decl, error out if they
6276 aren't the same.
6277 (c_finish_omp_taskyield): New function.
6278 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
6279 * c-pragma.c (omp_pragmas): Add taskyield.
6280 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
6281 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
6282 PRAGMA_OMP_CLAUSE_MERGEABLE.
6283
6284 2011-07-25 Dodji Seketeli <dodji@redhat.com>
6285
6286 * c-common.h (set_underlying_type): Remove parm name from
6287 declaration.
6288
6289 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
6290
6291 * c-pretty-print.h: Search c-common.h in c-family.
6292
6293 2011-07-22 Jason Merrill <jason@redhat.com>
6294
6295 PR c++/49793
6296 * c.opt (Wnarrowing): New.
6297
6298 PR c++/30112
6299 * c-common.h: Declare c_linkage_bindings.
6300 * c-pragma.c (handle_pragma_redefine_extname): Use it.
6301
6302 PR c++/49813
6303 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
6304 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
6305 as flag_isoc99 for 'restrict'.
6306 (pp_c_specifier_qualifier_list): Likewise for _Complex.
6307
6308 2011-07-21 Ian Lance Taylor <iant@google.com>
6309
6310 PR middle-end/49705
6311 * c-common.c (c_disable_warnings): New static function.
6312 (c_enable_warnings): New static function.
6313 (c_fully_fold_internal): Change local unused_p to bool. Call
6314 c_disable_warnings and c_enable_warnings rather than change
6315 c_inhibit_evaluation_warnings.
6316
6317 2011-07-20 Jason Merrill <jason@redhat.com>
6318
6319 PR c++/6709 (DR 743)
6320 PR c++/42603 (DR 950)
6321 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
6322 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
6323 (CPP_DECLTYPE): New.
6324 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
6325
6326 2011-07-19 Richard Guenther <rguenther@suse.de>
6327
6328 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
6329 * c-omp.c (c_finish_omp_for): Likewise.
6330
6331 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
6332
6333 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
6334 body on the next line.
6335
6336 2011-07-08 Jason Merrill <jason@redhat.com>
6337
6338 PR c++/45437
6339 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
6340
6341 PR c++/49673
6342 * c-common.c (c_apply_type_quals_to_decl): Don't check
6343 TYPE_NEEDS_CONSTRUCTING.
6344
6345 2011-07-06 Richard Guenther <rguenther@suse.de>
6346
6347 * c-common.c (c_common_nodes_and_builtins):
6348 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
6349
6350 2011-07-05 Richard Guenther <rguenther@suse.de>
6351
6352 * c-common.c (c_common_nodes_and_builtins): Build all common
6353 tree nodes first.
6354
6355 2011-06-27 Jakub Jelinek <jakub@redhat.com>
6356
6357 * c-common.h (c_tree_chain_next): New static inline function.
6358
6359 * c-common.c (check_builtin_function_arguments): Handle
6360 BUILT_IN_ASSUME_ALIGNED.
6361
6362 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
6363
6364 * c-common.c: Add sync_ or SYNC__ to builtin names.
6365 * c-omp.c: Add sync_ or SYNC__ to builtin names.
6366
6367 2011-06-20 Pierre Vittet <piervit@pvittet.com>
6368
6369 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
6370 handler.
6371 (gen_pragma_handler): New union.
6372 (internal_pragma_handler): New type.
6373 (c_register_pragma_with_data)
6374 (c_register_pragma_with_expansion_and_data): New functions.
6375
6376 * c-pragma.c (registered_pragmas, c_register_pragma_1)
6377 (c_register_pragma, c_register_pragma_with_expansion)
6378 (c_invoke_pragma_handler): Changed to work with
6379 internal_pragma_handler.
6380 (c_register_pragma_with_data)
6381 (c_register_pragma_with_expansion_and_data): New functions.
6382
6383 2011-06-14 Joseph Myers <joseph@codesourcery.com>
6384
6385 * c-common.c: Include common/common-target.h.
6386 (handle_section_attribute): Use
6387 targetm_common.have_named_sections.
6388 * c-cppbuiltin.c: Include common/common-target.h.
6389 (c_cpp_builtins): Use targetm_common.except_unwind_info.
6390
6391 2011-06-10 Richard Guenther <rguenther@suse.de>
6392
6393 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
6394 to print a IDENTIFIER_NODE.
6395
6396 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6397 Joseph Myers <joseph@codesourcery.com>
6398
6399 * c.opt (fbuilding-libgcc): New option.
6400 * c-cppbuiltin.c (c_cpp_builtins): Define
6401 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
6402
6403 2011-06-07 Jason Merrill <jason@redhat.com>
6404
6405 * c-common.c (max_tinst_depth): Lower default to 900.
6406
6407 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
6408
6409 2011-06-07 Richard Guenther <rguenther@suse.de>
6410
6411 * c-common.c (c_common_nodes_and_builtins): Do not set
6412 size_type_node or call set_sizetype.
6413
6414 2011-06-07 Dodji Seketeli <dodji@redhat.com>
6415
6416 PR debug/49130
6417 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
6418 type when using pointer comparison to compare types.
6419
6420 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
6421
6422 * c.opt: Add -Wdelete-non-virtual-dtor.
6423 * c-opts.c (c_common_handle_option): Include it in -Wall.
6424
6425 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
6426
6427 PR bootstrap/49190
6428
6429 Revert:
6430 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6431
6432 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6433 not tree_common.
6434
6435 2011-05-27 Jakub Jelinek <jakub@redhat.com>
6436
6437 PR c++/49165
6438 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
6439 C++ don't call c_common_truthvalue_conversion on void type arms.
6440
6441 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
6442
6443 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
6444 (stmt_list_stack): Define.
6445 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
6446 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
6447
6448 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6449
6450 * c-common.c (warning_candidate_p): Check for BLOCKs.
6451
6452 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
6453
6454 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
6455 not tree_common.
6456
6457 2011-05-25 Jakub Jelinek <jakub@redhat.com>
6458
6459 * c-common.c (def_fn_type): Remove extra va_end.
6460
6461 2011-05-23 Jason Merrill <jason@redhat.com>
6462
6463 PR c++/48106
6464 * c-common.c (c_common_get_narrower): New.
6465 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
6466
6467 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
6468
6469 * c-common.h (check_function_arguments): Tweak prototype of
6470 check_function_arguments.
6471 * c-common.c (check_function_arguments): Likewise. Adjust
6472 calls to check_function_nonnull, check_function_format, and
6473 check_function_sentinel.
6474 (check_function_sentinel): Take a FUNCTION_TYPE rather than
6475 separate attributes and typelist arguments. Use
6476 FOREACH_FUNCTION_ARGS to iterate over argument types.
6477
6478 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
6479
6480 * c-common.c (c_common_reswords): Reorder.
6481 * c-common.h (rid): Likewise.
6482
6483 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
6484
6485 * c-common.c (def_fn_type): Don't call build_function_type, call
6486 build_function_type_array or build_varargs_function_type_array
6487 instead.
6488 (c_common_nodes_and_builtins): Likewise.
6489
6490 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
6491
6492 * c-common.c (c_add_case_label): Omit the loc argument to
6493 build_case_label.
6494 * c-common.h (build_case_label): Remove.
6495 * c-semantics.c (build_case_label): Remove.
6496
6497 2011-05-05 Joseph Myers <joseph@codesourcery.com>
6498
6499 * c-objc.h (objc_start_method_definition): Update prototype.
6500 * stub-objc.c (objc_start_method_definition): Add extra parameter.
6501
6502 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
6503
6504 * c-common.c (check_main_parameter_types): Reindent. Don't use
6505 TYPE_ARG_TYPES directly.
6506 (handle_nonnull_attribute): Likewise.
6507 (sync_resolve_params): Likewise.
6508 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
6509 to check_format_string.
6510 (handle_format_attribute): Likewise.
6511 (check_format_string): Take a function type to examine instead of
6512 a type list. Use a function_arg_iterator to step through argument
6513 types.
6514
6515 2011-05-04 Richard Guenther <rguenther@suse.de>
6516
6517 * c-common.c (fix_string_type): Use size_int for index type bounds.
6518 (start_fname_decls): Do not pass NULL to build_int_cst.
6519 (c_init_attributes): Likewise.
6520 * c-lex.c (c_lex_with_flags): Likewise.
6521
6522 2011-04-27 Jason Merrill <jason@redhat.com>
6523
6524 * c-common.c (make_tree_vector_from_list): New.
6525 * c-common.h: Declare it.
6526
6527 2011-04-26 Richard Guenther <rguenther@suse.de>
6528
6529 PR preprocessor/48248
6530 * c-ppoutput.c (maybe_print_line): Always optimize newlines
6531 for output size with -P.
6532
6533 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
6534
6535 * c-common.c (struct c_common_resword): Add __underlying_type.
6536 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
6537
6538 2011-04-20 Jim Meyering <meyering@redhat.com>
6539
6540 * c-format.c (init_dollar_format_checking): Remove useless
6541 if-before-free.
6542
6543 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
6544
6545 * c-objc.h (objc_get_interface_ivars): Removed.
6546 (objc_detect_field_duplicates): New.
6547 * stub-objc.c: Likewise.
6548
6549 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6550
6551 * stub-objc.c (objc_declare_protocols): Renamed to
6552 objc_declare_protocol.
6553 * c-objc.h: Likewise.
6554
6555 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
6556
6557 * stub-objc.c (objc_declare_class): Updated argument name.
6558
6559 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
6560
6561 * c-common.h (c_common_init_ts): Declare.
6562 * c-common.c (c_common_init_ts): Define.
6563
6564 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
6565
6566 * c-objc.h (objc_build_message_expr): Updated prototype.
6567 * stub-objc.c (objc_build_message_expr): Likewise.
6568
6569 2011-04-12 Martin Jambor <mjambor@suse.cz>
6570
6571 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
6572 of cgraph_node.
6573
6574 2011-04-11 Richard Guenther <rguenther@suse.de>
6575
6576 * c-common.c (complete_array_type): Build a range type of
6577 proper type.
6578
6579 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
6580
6581 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
6582 (handle_type_generic_attribute): Likewise.
6583
6584 2011-04-07 Jason Merrill <jason@redhat.com>
6585
6586 PR c++/48450
6587 * c-common.c (c_common_truthvalue_conversion): Don't ignore
6588 conversion from C++0x scoped enum.
6589
6590 2011-04-06 Joseph Myers <joseph@codesourcery.com>
6591
6592 * c-target-def.h: New file.
6593 * c-target.def: New file.
6594 * c-target.h: New file.
6595 * c-common.c (targetcm): Don't define here.
6596 * c-common.h (default_handle_c_option): Declare.
6597 * c-format.c: Include c-target.h instead of target.h.
6598 * c-opts.c: Include c-target.h instead of target.h. Explicitly
6599 include tm.h.
6600 (default_handle_c_option): Move from targhooks.c.
6601
6602 2011-03-29 Jakub Jelinek <jakub@redhat.com>
6603
6604 PR preprocessor/48248
6605 * c-ppoutput.c (print): Add src_file field.
6606 (init_pp_output): Initialize it.
6607 (maybe_print_line): Don't optimize by adding up to 8 newlines
6608 if map->to_file and print.src_file are different file.
6609 (print_line): Update print.src_file.
6610
6611 2011-03-25 Kai Tietz <ktietz@redhat.com>
6612
6613 * c-ada-spec.c (compare_comment): Use filename_cmp
6614 instead of strcmp for filename.
6615
6616 2011-03-25 Jeff Law <law@redhat.com>
6617
6618 * c-common.c (def_fn_type): Add missing va_end.
6619
6620 2011-03-25 Jason Merrill <jason@redhat.com>
6621
6622 * c.opt: Add -std=c++03.
6623
6624 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6625
6626 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
6627
6628 2011-03-17 Kai Tietz <ktietz@redhat.com>
6629
6630 PR target/12171
6631 * c-pretty-print.c (pp_c_specifier_qualifier_list):
6632 Display allowed attributes for function pointer types.
6633 (pp_c_attributes_display): New function to display
6634 attributes having affects_type_identity flag set to true.
6635 * c-pretty-print.h (pp_c_attributes_display): New prototype.
6636
6637 * c-common.c (c_common_attribute_table):
6638 Add new element.
6639 (c_common_format_attribute_table): Likewise.
6640
6641 2011-03-18 Jason Merrill <jason@redhat.com>
6642
6643 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
6644 * c-common.h: Don't declare it here.
6645 * c-common.c: Or define it here.
6646 * c-opts.c (c_common_handle_option): Or set it here.
6647
6648 PR c++/35315
6649 * c-common.c (handle_transparent_union_attribute): Don't
6650 make a duplicate type in C++.
6651
6652 2011-03-15 Jason Merrill <jason@redhat.com>
6653
6654 * c-common.c (max_constexpr_depth): New.
6655 * c-common.h: Declare it.
6656 * c-opts.c (c_common_handle_option): Set it.
6657 * c.opt (fconstexpr-depth): New option.
6658
6659 2011-03-11 Jason Merrill <jason@redhat.com>
6660
6661 * c-common.c (attribute_takes_identifier_p): Add missing const.
6662
6663 PR c++/46803
6664 * c-common.c (attribute_takes_identifier_p): Assume that an
6665 unknown attribute takes an identifier.
6666
6667 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
6668
6669 PR c/47786
6670 * c-common.c (c_type_hash): Call list_length instead of iterating
6671 through DECL_CHAIN. Rename 'i' to 'n_elements'.
6672
6673 2011-02-19 Jakub Jelinek <jakub@redhat.com>
6674
6675 PR c/47809
6676 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
6677
6678 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6679
6680 * c.opt (fobjc-abi-version=) New.
6681 (fobjc-nilcheck): New.
6682
6683 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
6684
6685 PR c++/46890
6686 * c-common.h (keyword_is_decl_specifier): Declare.
6687 * c-common.c (keyword_is_decl_specifier): Define.
6688 (keyword_is_function_specifier): New function.
6689
6690 2011-01-26 Jakub Jelinek <jakub@redhat.com>
6691
6692 PR c/47473
6693 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
6694 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
6695 REAL_TYPE.
6696
6697 2011-01-26 Arnaud Charlet <charlet@adacore.com>
6698
6699 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
6700
6701 2011-01-26 Jakub Jelinek <jakub@redhat.com>
6702
6703 PR pch/47430
6704 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
6705 after init_c_lex if pch_file is set.
6706
6707 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
6708
6709 PR c++/43601
6710 * c.opt (-fkeep-inline-dllexport): New switch.
6711
6712 2011-01-12 Richard Guenther <rguenther@suse.de>
6713
6714 PR middle-end/32511
6715 * c-common.c (handle_weak_attribute): Warn instead of error
6716 on declaring an inline function weak.
6717
6718 2011-01-05 Tom Tromey <tromey@redhat.com>
6719
6720 * c-common.h (lvalue_error): Update.
6721 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
6722 not error.
6723
6724 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
6725
6726 PR objc/47075
6727 * c-objc.h (objc_finish_message_expr): Added argument to
6728 prototype.
6729
6730 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
6731
6732 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
6733 Use prototype_p.
6734
6735 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
6736
6737 * c-objc.h (objc_maybe_warn_exceptions): New.
6738 * stub-objc.c (objc_maybe_warn_exceptions): New.
6739
6740 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
6741
6742 * c-common.h (readonly_error): Declare.
6743 * c-common.c (readonly_error): Define.
6744
6745 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
6746
6747 * c-common.h (invalid_indirection_error): Declare.
6748 * c-common.c (invalid_indirection_error): Define.
6749
6750 2010-12-03 Richard Guenther <rguenther@suse.de>
6751
6752 PR c/46745
6753 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
6754 (pp_c_unary_expression): Likewise.
6755 (pp_c_expression): Likewise.
6756
6757 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
6758
6759 * c-common.h (objc_finish_function): New.
6760 (objc_non_volatilized_type): Removed.
6761 (objc_type_quals_match): Removed.
6762 * stub-objc.c (objc_finish_function): New.
6763 (objc_non_volatilized_type): Removed.
6764 (objc_type_quals_match): Removed.
6765
6766 2010-11-30 Joseph Myers <joseph@codesourcery.com>
6767
6768 * c-common.h (parse_optimize_options): Declare.
6769 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
6770 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
6771
6772 2010-11-29 Joseph Myers <joseph@codesourcery.com>
6773
6774 * c-opts.c (check_deps_environment_vars): Use getenv instead of
6775 GET_ENVIRONMENT.
6776 * c-pch.c (O_BINARY): Don't define here.
6777 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
6778
6779 2010-11-25 Joseph Myers <joseph@codesourcery.com>
6780
6781 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
6782 targetm.except_unwind_info.
6783
6784 2010-11-23 Joseph Myers <joseph@codesourcery.com>
6785
6786 * c-opts.c (c_common_handle_option): Pass location to
6787 set_struct_debug_option.
6788
6789 2010-11-23 Joseph Myers <joseph@codesourcery.com>
6790
6791 * c-common.c (visibility_options): Move from ../opts.c.
6792 * c-common.h (struct visibility_flags, visibility_options):
6793 Declare here.
6794 * c-opts.c (finish_options): Rename to c_finish_options.
6795 (c_common_init): Update call to finish_options.
6796
6797 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
6798
6799 PR objc/34033
6800 * c-lex.c (lex_string): Check that each string in an Objective-C
6801 string concat sequence starts with either one or zero '@', and
6802 that there are no spurious '@' signs at the end.
6803
6804 2010-11-20 Joseph Myers <joseph@codesourcery.com>
6805
6806 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
6807 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
6808 HANDLE_PRAGMA_VISIBILITY.
6809 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
6810 HANDLE_PRAGMA_VISIBILITY): Don't define.
6811 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
6812
6813 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
6814
6815 PR c++/16189
6816 PR c++/36888
6817 PR c++/45331
6818 * c-common.h (keyword_begins_type_specifier): Declare.
6819 (keyword_is_storage_class_specifier): Declare.
6820 (keyword_is_type_qualifier): Declare.
6821 * c-common.c (keyword_begins_type_specifier): New function.
6822 (keyword_is_storage_class_specifier): New function.
6823 (keyword_is_type_qualifier): Declare.
6824
6825 2010-11-19 Joseph Myers <joseph@codesourcery.com>
6826
6827 PR c/46547
6828 * c-common.c (in_late_binary_op): Define.
6829 (c_common_truthvalue_conversion): Check in_late_binary_op before
6830 calling c_save_expr.
6831 * c-common.h (in_late_binary_op): Declare.
6832
6833 2010-11-19 Joseph Myers <joseph@codesourcery.com>
6834
6835 * c-opts.c (c_common_handle_option): Update calls to
6836 set_struct_debug_option.
6837
6838 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
6839
6840 * c-common.h (objc_declare_protocols): Added additional argument.
6841 * stub-objc.c (objc_declare_protocol): Same change.
6842
6843 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
6844
6845 PR c/33193
6846 * c-common.h (build_real_imag_expr): Declare.
6847 * c-semantics.c (build_real_imag_expr): Define.
6848
6849 2010-11-17 Joseph Myers <joseph@codesourcery.com>
6850
6851 * c-opts.c (c_common_parse_file): Take no arguments.
6852 * c-common.h (c_common_parse_file): Update prototype.
6853
6854 2010-11-16 Jakub Jelinek <jakub@redhat.com>
6855
6856 PR c++/46401
6857 * c-common.c (warning_candidate_p): Don't track non-const calls
6858 or STRING_CSTs.
6859
6860 2010-11-15 Ian Lance Taylor <iant@google.com>
6861
6862 * c-lex.c (init_c_lex): Set macro debug callbacks if
6863 flag_dump_go_spec is set.
6864
6865 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
6866
6867 * c-common.h (objc_build_incr_expr_for_property_ref): New.
6868 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
6869
6870 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
6871
6872 PR preprocessor/45038
6873 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
6874 dialects.
6875
6876 2010-11-12 Joseph Myers <joseph@codesourcery.com>
6877
6878 * c-common.h (c_family_lang_mask): Declare.
6879 * c-opts.c (c_family_lang_mask): Make extern.
6880 * c-pragma.c (handle_pragma_diagnostic): Use
6881 control_warning_option.
6882
6883 2010-11-12 Joseph Myers <joseph@codesourcery.com>
6884
6885 * c-common.c (parse_optimize_options): Update call to
6886 decode_options.
6887 * c-common.h (c_common_handle_option): Update prototype.
6888 * c-opts.c (c_common_handle_option): Take location_t parameter and
6889 pass it to other functions.
6890
6891 2010-11-11 Joseph Myers <joseph@codesourcery.com>
6892
6893 * c-opts.c (warning_as_error_callback): Remove.
6894 (c_common_initialize_diagnostics): Don't call
6895 register_warning_as_error_callback.
6896 (c_common_handle_option): Handle -Werror=normalized= here.
6897
6898 2010-11-10 Joseph Myers <joseph@codesourcery.com>
6899
6900 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
6901 in diagnostic.
6902 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
6903 letter.
6904 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
6905 Remove trailing '.' from diagnostics.
6906 * c.opt (Wwrite-strings_: Avoid '`' in help text.
6907
6908 2010-11-10 Joseph Myers <joseph@codesourcery.com>
6909
6910 * c-common.c (parse_optimize_options): Pass global_dc to
6911 decode_options.
6912 * c-opts.c (c_common_handle_option): Pass &global_options to
6913 set_Wstrict_aliasing.
6914 * c.opt (v): Don't mark Common or document here.
6915
6916 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
6917
6918 PR target/44981
6919 * c-format.c (format_type): New type gcc_objc_string_format_type.
6920 (valid_stringptr_type_p): New.
6921 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
6922 (check_format_string): Pass expected type, use
6923 valid_stringptr_type_p (), check that the format string types are
6924 consistent with the format specification.
6925 (decode_format_attr): Warn if NSString is used outside objective-c.
6926 (format_types_orig): Add NSString.
6927 (format_name): New.
6928 (format_flags): New.
6929 (check_format_arg): Handle format strings requiring an external parser.
6930 first_target_format_type: New variable.
6931 (handle_format_attribute): Set up first_target_format_type, pass the
6932 expected format arg string type to check_format_string().
6933 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
6934 * stub-objc.c (objc_string_ref_type_p): New.
6935 (objc_check_format_arg): New.
6936
6937 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
6938
6939 Fixed using the Objective-C 2.0 dot-syntax with class names.
6940 * c-common.h (objc_build_class_component_ref): New.
6941 * stub-objc.c (objc_build_class_component_ref): New.
6942
6943 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6944
6945 * c.opt (Wproperty-assign-default): New option.
6946
6947 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
6948
6949 Implemented -fobjc-std=objc1 flag.
6950 * c.opt (fobjc-std=objc1): New option.
6951
6952 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
6953
6954 Implemented format and noreturn attributes for Objective-C methods.
6955 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
6956 attribute for Objective-C methods.
6957
6958 2010-10-31 Jason Merrill <jason@redhat.com>
6959
6960 * c-common.c (conversion_warning, warn_for_collisions_1): Use
6961 EXPR_LOC_OR_HERE.
6962
6963 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
6964
6965 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
6966 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
6967 (objc_add_property_declaration): Removed arguments for copies and
6968 ivar.
6969 (objc_build_getter_call): Renamed to
6970 objc_maybe_build_component_ref.
6971 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6972 (objc_is_property_ref): New.
6973 * c-common.c (c_common_reswords): Removed copies and ivar.
6974 * stub-objc.c (objc_add_property_declaration): Removed arguments
6975 for copies and ivar.
6976 (objc_build_getter_call): Renamed to
6977 objc_maybe_build_component_ref.
6978 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
6979 (objc_is_property_ref): New.
6980
6981 2010-10-29 Arnaud Charlet <charlet@adacore.com>
6982 Matthew Gingell <gingell@adacore.com>
6983
6984 * c-ada-spec.c (separate_class_package): New function.
6985 (pp_ada_tree_identifier): Prefix references to C++ classes with the
6986 name of their enclosing package.
6987 (print_ada_declaration): Use separate_class_package.
6988
6989 2010-10-27 Jason Merrill <jason@redhat.com>
6990
6991 * c-common.c (c_common_reswords): Add __is_literal_type.
6992 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
6993
6994 * c-common.c (check_case_value): Remove special C++ code.
6995
6996 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
6997
6998 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
6999 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
7000 and RID_LAST_PATTR.
7001 (objc_add_property_declaration): Added additional arguments.
7002 (objc_property_attribute_kind): Removed.
7003 (objc_set_property_attr): Removed.
7004 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
7005 copy and nonatomic.
7006 * stub-objc.c (objc_add_property_declaration): Added additional
7007 arguments.
7008 (objc_set_property_attr): Removed.
7009
7010 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
7011
7012 * c-common.h (objc_add_property_variable): Renamed to
7013 objc_add_property_declaration. Added location argument.
7014 * stub-objc.c (objc_add_property_variable): Same change.
7015
7016 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
7017
7018 * c-common.h (objc_maybe_printable_name): New.
7019 * stub-objc.c (objc_maybe_printable_name): New.
7020
7021 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
7022 Andrew Pinski <pinskia@gmail.com>
7023
7024 * c-common.h (c_common_mark_addressable_vec): Declare.
7025 * c-common.c (c_common_mark_addressable_vec): New function.
7026
7027 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7028
7029 * c-common.h (objc_set_method_type): Removed.
7030 (objc_add_method_declaration): Added boolean argument.
7031 (objc_start_method_definition): Same change.
7032 (objc_build_method_signature): Same change.
7033 * stub-objc.c (objc_set_method_type): Removed.
7034 (objc_add_method_declaration): Added boolean argument.
7035 (objc_start_method_definition): Same change.
7036 (objc_build_method_signature): Same change.
7037
7038 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
7039
7040 * c-common.h (finish_file): Removed.
7041 (objc_write_global_declarations): New.
7042 * c-opts.c (c_common_parse_file): Do not call finish_file.
7043 * stub-objc.c (objc_write_global_declarations): New.
7044
7045 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7046
7047 Implemented parsing @synthesize and @dynamic for
7048 Objective-C/Objective-C++.
7049 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
7050 (objc_add_synthesize_declaration): New.
7051 (objc_add_dynamic_declaration): New.
7052 * c-common.c (c_common_reswords): Add synthesize and dynamic.
7053 * stub-objc.c (objc_add_synthesize_declaration): New.
7054 (objc_add_dynamic_declaration): New.
7055
7056 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7057
7058 PR target/46041
7059 * c-cppbuiltin.c (mode_has_fma): Move function here from
7060 builtins.c. Don't use the fma optab, instead just use the
7061 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
7062 using -save-temps.
7063
7064 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
7065
7066 Merge from 'apple/trunk' branch on FSF servers.
7067
7068 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
7069
7070 Radar 4330422
7071 * c-common.h (objc_non_volatilized_type): New declaration
7072 * stub-objc.c (objc_non_volatilized_type): New stub.
7073
7074 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
7075
7076 Merge from 'apple/trunk' branch on FSF servers.
7077
7078 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
7079
7080 Radar 4133425
7081 * c-common.h (objc_diagnose_private_ivar): New decl.
7082 * stub-objc.c (objc_diagnose_private_ivar): New stub.
7083
7084 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
7085
7086 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
7087 * c-common.h (enum rid): Add RID_AT_PACKAGE.
7088 (objc_ivar_visibility_kind): New enum.
7089 (objc_set_visibility): Adjust prototype to use visibility enum.
7090 * stub-objc.c (objc_set_visibility): Adjust stub to use
7091 visibility enum.
7092
7093 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7094
7095 * c-cppbuiltin.c (builtin_define_float_constants): Emit
7096 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
7097 has the appropriate fma builtins.
7098 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
7099
7100 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
7101
7102 merge from FSF apple 'trunk' branch.
7103 2006 Fariborz Jahanian <fjahanian@apple.com>
7104
7105 Radars 4436866, 4505126, 4506903, 4517826
7106 * c-common.c (c_common_resword): Define @property and its attributes.
7107 * c-common.h: Define property attribute enum entries.
7108 (OBJC_IS_PATTR_KEYWORD): New.
7109 (objc_property_attribute_kind): New enum.
7110 Declare objc_set_property_attr (), objc_add_property_variable (),
7111 objc_build_getter_call () and objc_build_setter_call ().
7112 * stub-objc.c (objc_set_property_attr): New stub.
7113 (objc_add_property_variable): Likewise.
7114 (objc_build_getter_call): Likewise.
7115 (objc_build_setter_call) Likewise.
7116
7117 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
7118
7119 merge from FSF apple 'trunk' branch.
7120 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
7121
7122 Radar 3803157 (method attributes)
7123 * c-common.c (handle_deprecated_attribute): Recognize
7124 objc methods as valid declarations.
7125 * c-common.h: Declare objc_method_decl ().
7126 * stub-objc.c (objc_method_decl): New stub.
7127
7128 2010-10-08 Joseph Myers <joseph@codesourcery.com>
7129
7130 * c-common.c (parse_optimize_options): Call
7131 decode_cmdline_options_to_array_default_mask before
7132 decode_options. Update arguments to decode_options.
7133 * c-common.h (c_common_init_options_struct): Declare.
7134 * c-opts.c (c_common_init_options_struct): New. Split out from
7135 c_common_init_options.
7136
7137 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
7138
7139 Implemented fast enumeration for Objective-C.
7140 * c-common.h (objc_finish_foreach_loop): New.
7141 * stub-objc.c (objc_finish_foreach_loop): New.
7142
7143 2010-10-05 Joseph Myers <joseph@codesourcery.com>
7144
7145 * c-common.h (struct diagnostic_context): Don't declare here.
7146 (c_common_initialize_diagnostics): Declare using
7147 diagnostic_context typedef.
7148 * c-opts.c (c_common_handle_option): Pass global_dc to
7149 handle_generated_option.
7150
7151 2010-10-04 Joseph Myers <joseph@codesourcery.com>
7152
7153 * c-opts.c (c_common_handle_option): Pass &global_options_set to
7154 handle_generated_option.
7155
7156 2010-10-03 Ian Lance Taylor <iant@google.com>
7157
7158 * c.opt (-fplan9-extensions): New option.
7159
7160 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7161
7162 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
7163 Remove.
7164 (c_cpp_builtins): Call functions from cppbuiltin.c instead
7165 of duplicating code.
7166
7167 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
7168
7169 * c-common.c: Add two new entries for @optional
7170 and @required keywords.
7171
7172 merge from FSF 'apple/trunk' branch.
7173 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
7174
7175 Radar 4386773
7176 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
7177 objective-c keywords.
7178 (objc_set_method_opt): New declaration.
7179 * stub-objc.c (objc_set_method_opt): New stub.
7180
7181 2010-09-30 Joseph Myers <joseph@codesourcery.com>
7182
7183 * c-common.c (handle_optimize_attribute): Pass &global_options to
7184 cl_optimization_save and cl_optimization_restore.
7185 * c-opts.c (c_common_handle_option): Pass &global_options to
7186 handle_generated_option.
7187 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
7188 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
7189 &global_options to cl_optimization_restore.
7190
7191 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
7192
7193 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
7194 Objective-C/Objective-C++ keywords.
7195
7196 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7197
7198 Merge from 'apple/trunk' branch on FSF servers.
7199
7200 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
7201
7202 Radar 4281748
7203 * c-common.h (objc_check_global_decl): New declaration.
7204 * stub-objc.c (objc_check_global_decl): New stub.
7205
7206 2010-09-29 Joseph Myers <joseph@codesourcery.com>
7207
7208 * c.opt: Don't use VarExists.
7209
7210 2010-09-29 Joseph Myers <joseph@codesourcery.com>
7211
7212 * c-common.c (c_cpp_error): Update names of diagnostic_context
7213 members.
7214 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
7215 cl_optimization members.
7216 * c-opts.c (warning_as_error_callback, c_common_handle_option,
7217 sanitize_cpp_opts, finish_options): Update names of cpp_options
7218 members.
7219
7220 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
7221
7222 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
7223 (objc_is_reserved_word): Removed.
7224 * c-common.c: Updated comments.
7225 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
7226 objc_is_reserved_word.
7227 * stub-objc.c (objc_is_reserved_word): Removed.
7228
7229 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7230
7231 * c-common.h (objc_add_method_declaration): Adjust prototype to
7232 include attributes.
7233 (objc_start_method_definition): Likewise.
7234 (objc_build_keyword_decl): Likewise.
7235 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
7236 (objc_start_method_definition): Likewise.
7237 (objc_build_keyword_decl): Likewise.
7238
7239 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
7240
7241 * c-common.h (objc_start_class_interface): Adjust prototype.
7242 (objc_start_category_interface): Likewise.
7243 (objc_start_protocol): Likewise.
7244 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
7245 (objc_start_class_interface): Likewise.
7246 (objc_start_category_interface): Likewise.
7247
7248 2010-09-27 Ian Lance Taylor <iant@google.com>
7249
7250 * c-common.c (c_common_attribute_table): Add no_split_stack.
7251 (handle_no_split_stack_attribute): New static function.
7252
7253 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
7254
7255 Merge from 'apple/trunk' branch on FSF servers.
7256
7257 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
7258
7259 Radar 4229905
7260 * c-common.h (objc_have_common_type): New declaration.
7261 * stub-objc.c (objc_have_common_type): New stub.
7262
7263 2005-06-22 Ziemowit Laski <zlaski@apple.com>
7264
7265 Radar 4154928
7266 * c-common.h (objc_common_type): New prototype.
7267 * stub-objc.c (objc_common_type): New stub.
7268
7269 2010-09-24 Jan Hubicka <jh@suse.cz>
7270
7271 * c-common.c (handle_leaf_attribute): New function.
7272 (struct attribute_spec c_common_att): Add leaf.
7273
7274 2010-09-22 Joseph Myers <joseph@codesourcery.com>
7275
7276 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
7277 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
7278 -dump, -dump=, -imacros, -imacros=, -include, -include=,
7279 -include-barrier, -include-directory, -include-directory=,
7280 -include-directory-after, -include-directory-after=,
7281 -include-prefix, -include-prefix=, -include-with-prefix,
7282 -include-with-prefix=, -include-with-prefix-after,
7283 -include-with-prefix-after=, -include-with-prefix-before,
7284 -include-with-prefix-before=, -no-integrated-cpp,
7285 -no-line-commands, -no-standard-includes, -no-warnings, -output,
7286 -output=, -pedantic, -pedantic-errors, -preprocess,
7287 -print-missing-file-dependencies, -trace-includes, -traditional,
7288 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
7289 -user-dependencies, -verbose, -write-dependencies,
7290 -write-user-dependencies, no-integrated-cpp, traditional): New.
7291
7292 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7293
7294 PR objc/23710
7295 * c-common.h (objc_start_method_definition): Return bool instead
7296 of void.
7297 * stub-objc.c (objc_start_method_definition): Return bool instead
7298 of void.
7299
7300 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
7301
7302 PR objc/25965
7303 * c-common.h (objc_get_interface_ivars): New declaration.
7304 * stub-objc.c (objc_get_interface_ivars): New stub.
7305
7306 2010-09-15 Ian Lance Taylor <iant@google.com>
7307
7308 * c-common.c (parse_optimize_options): Do not capitalize warning
7309 messages. Remove period at end of warning message.
7310
7311 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
7312
7313 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
7314 (handle_alias_attribute): ... here.
7315 (handle_ifunc_attribute): New.
7316
7317 2010-09-06 Mark Mitchell <mark@codesourcery.com>
7318
7319 * c-common.h (do_warn_double_promotion): Declare.
7320 * c-common.c (do_warn_double_promotion): Define.
7321
7322 2010-09-05 Mark Mitchell <mark@codesourcery.com>
7323
7324 * c.opt (Wdouble-promotion): New.
7325
7326 2010-09-02 Joseph Myers <joseph@codesourcery.com>
7327
7328 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
7329 fvtable-thunks, fxref): Mark no longer supported in help text.
7330
7331 2010-09-02 Joseph Myers <joseph@codesourcery.com>
7332
7333 * c.opt (Wimport, fall-virtual, falt-external-templates,
7334 fdefault-inline, fenum-int-equiv, fexternal-templates,
7335 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
7336 fname-mangling-version-, fnew-abi, fnonnull-objects,
7337 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
7338 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
7339 applicable.
7340 (fhandle-exceptions): Mark with Alias and Warn.
7341 * c-opts.c (c_common_handle_option): Don't handle options marked
7342 as ignored.
7343
7344 2010-09-02 Joseph Myers <joseph@codesourcery.com>
7345
7346 * c.opt (Wcomments, Werror-implicit-function-declaration,
7347 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
7348 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
7349 aliases.
7350 * c-common.c (option_codes): Use OPT_Wcomment instead of
7351 OPT_Wcomments.
7352 * c-opts.c (warning_as_error_callback, c_common_handle_option):
7353 Don't handle options marked as aliases.
7354
7355 2010-08-25 Richard Guenther <rguenther@suse.de>
7356
7357 * c-common.c (c_common_get_alias_set): Remove special
7358 handling for pointers.
7359
7360 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
7361
7362 * c-common.c: Use FOR_EACH_VEC_ELT.
7363 * c-gimplify.c: Likewise.
7364 * c-pragma.c: Likewise.
7365
7366 2010-08-16 Joseph Myers <joseph@codesourcery.com>
7367
7368 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
7369 RejectDriver.
7370 (MMDX): Change back to MMD. Mark NoDriverArg instead of
7371 RejectDriver.
7372 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
7373 instead of OPT_MDX and OPT_MMDX.
7374
7375 2010-08-16 Joseph Myers <joseph@codesourcery.com>
7376
7377 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
7378
7379 2010-08-12 Joseph Myers <joseph@codesourcery.com>
7380
7381 * c.opt (MD, MMD): Change to MDX and MMDX.
7382 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
7383
7384 2010-08-11 Joseph Myers <joseph@codesourcery.com>
7385
7386 * c-opts.c (c_common_handle_option): Call handle_generated_option
7387 instead of handle_option.
7388
7389 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7390
7391 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
7392 (maybe_apply_renaming_pragma): Delete unneeded declarations.
7393
7394 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
7395
7396 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
7397 (pending_redefine_extname): Change type to a VEC.
7398 (add_to_renaming_pragma_list): Update for new type of
7399 pending_redefine_extname.
7400 (maybe_apply_renaming_pragma): Likewise.
7401
7402 2010-08-04 Arnaud Charlet <charlet@adacore.com>
7403
7404 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
7405 visited.
7406 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
7407 decide whether a type has already been declared/seen.
7408 Do not go to the original type.
7409 (dump_nested_types): New parameter forward.
7410 Generate forward declaration if needed and mark type as visited.
7411 (print_ada_declaration): Call dump_nested_types if not already done.
7412 Mark types as visited.
7413
7414 2010-08-03 Joseph Myers <joseph@codesourcery.com>
7415
7416 * c.opt (-print-pch-checksum): Remove option.
7417 * c-opts.c (c_common_handle_option): Don't handle
7418 OPT_print_pch_checksum.
7419
7420 2010-07-27 Joseph Myers <joseph@codesourcery.com>
7421
7422 * c-common.h (c_common_handle_option): Update prototype and return
7423 value type.
7424 * c-opts.c (c_common_handle_option): Update prototype and return
7425 value type. Update calls to handle_option and
7426 enable_warning_as_error.
7427
7428 2010-07-27 Jakub Jelinek <jakub@redhat.com>
7429
7430 PR c/45079
7431 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
7432
7433 2010-07-27 Joseph Myers <joseph@codesourcery.com>
7434
7435 * c-common.h (c_common_missing_argument): Remove.
7436 * c-opts.c (c_common_missing_argument): Remove.
7437 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
7438 idirafter, imacros, include, isysroot, isystem, iquote): Add
7439 MissingArgError.
7440 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
7441
7442 2010-07-27 Joseph Myers <joseph@codesourcery.com>
7443
7444 * c-common.h (c_common_option_lang_mask,
7445 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
7446 New.
7447 (c_common_init_options): Update prototype.
7448 * c-opts.c (c_common_option_lang_mask): New.
7449 (c_common_initialize_diagnostics): Split out of
7450 c_common_init_options.
7451 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
7452 New.
7453 (c_common_init_options): Update prototype. Use decoded options in
7454 search for -lang-asm.
7455
7456 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
7457
7458 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
7459 * c-format.c: Likewise.
7460
7461 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
7462
7463 * c-common.h: Include diagnostic-core.h. Error if already
7464 included.
7465 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
7466
7467 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
7468
7469 * c-common.c (IN_GCC_FRONTEND): Do not undef.
7470 Do not include expr.h
7471 (vector_mode_valid_p): Move here.
7472
7473 2010-06-21 DJ Delorie <dj@redhat.com>
7474
7475 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
7476 allow these pragmas anywhere.
7477
7478 2010-06-14 Jakub Jelinek <jakub@redhat.com>
7479
7480 PR bootstrap/44509
7481 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
7482 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
7483 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
7484 ggc_strdup instead of xstrdup.
7485
7486 2010-06-10 Jakub Jelinek <jakub@redhat.com>
7487
7488 * c-cppbuiltin.c: Include cpp-id-data.h.
7489 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
7490 (lazy_hex_fp_value): New function.
7491 (builtin_define_with_hex_fp_value): Provide definitions lazily.
7492
7493 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
7494
7495 * c-gimplify.c: Do not include tree-flow.h
7496
7497 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
7498
7499 PR other/44034
7500 * c-common.c: Rename targetm member:
7501 targetm.enum_va_list -> targetm.enum_va_list_p
7502
7503 2010-06-28 Anatoly Sokolov <aesok@post.ru>
7504
7505 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
7506
7507 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
7508
7509 * c-cppbuiltin.c: Do not include except.h.
7510
7511 2010-06-24 Andi Kleen <ak@linux.intel.com>
7512
7513 * c-common.c (warn_for_omitted_condop): New.
7514 * c-common.h (warn_for_omitted_condop): Add prototype.
7515
7516 2010-06-21 Joseph Myers <joseph@codesourcery.com>
7517
7518 * c.opt (lang-objc): Remove.
7519 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
7520
7521 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
7522
7523 * c-opts.c: Include "tm_p.h".
7524
7525 2010-06-20 Joseph Myers <joseph@codesourcery.com>
7526
7527 * c-common.c (parse_optimize_options): Update call to
7528 decode_options.
7529
7530 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
7531
7532 * c-common.c (record_types_used_by_current_var_decl): Adjust for
7533 new type of types_used_by_cur_var_decl.
7534
7535 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
7536
7537 PR bootstrap/44512
7538 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
7539 for C++ standard compliance.
7540
7541 2010-06-16 Jason Merrill <jason@redhat.com>
7542
7543 * c.opt: Add -Wnoexcept.
7544
7545 2010-06-16 Richard Guenther <rguenther@suse.de>
7546
7547 PR c/44555
7548 * c-common.c (c_common_truthvalue_conversion): Remove
7549 premature and wrong optimization concering ADDR_EXPRs.
7550
7551 2010-06-15 Arnaud Charlet <charlet@adacore.com>
7552
7553 * c-ada-spec.c (dump_sloc): Remove column info.
7554 (is_simple_enum): New function.
7555 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
7556 enum types when relevant.
7557
7558 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7559
7560 * c-common.c (conversion_warning): Warn at expression
7561 location.
7562
7563 2010-06-10 Joseph Myers <joseph@codesourcery.com>
7564
7565 * c-opts.c (c_common_handle_option): Don't handle
7566 OPT_fshow_column.
7567
7568 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
7569
7570 * c-pragma.c (push_alignment): Use typed GC allocation.
7571 (handle_pragma_push_options): Likewise.
7572
7573 * c-common.c (parse_optimize_options): Likewise.
7574
7575 * c-common.h (struct sorted_fields_type): Add variable_size GTY
7576 option.
7577
7578 2010-06-07 Joseph Myers <joseph@codesourcery.com>
7579
7580 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
7581 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7582 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7583 flag_signed_bitfields, warn_strict_null_sentinel,
7584 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
7585 flag_gen_declaration, flag_no_gnu_keywords,
7586 flag_implement_inlines, flag_implicit_templates,
7587 flag_implicit_inline_templates, flag_optional_diags,
7588 flag_elide_constructors, flag_default_inline, flag_rtti,
7589 flag_conserve_space, flag_access_control, flag_check_new,
7590 flag_new_for_scope, flag_weak, flag_working_directory,
7591 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
7592 flag_enforce_eh_specs, flag_threadsafe_statics,
7593 flag_pretty_templates): Remove.
7594 * c-common.h (flag_preprocess_only, flag_nil_receivers,
7595 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
7596 flag_replace_objc_classes, flag_undef, flag_no_builtin,
7597 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
7598 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
7599 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
7600 flag_no_gnu_keywords, flag_implement_inlines,
7601 flag_implicit_templates, flag_implicit_inline_templates,
7602 flag_optional_diags, flag_elide_constructors, flag_default_inline,
7603 flag_rtti, flag_conserve_space, flag_access_control,
7604 flag_check_new, flag_new_for_scope, flag_weak,
7605 flag_working_directory, flag_use_cxa_atexit,
7606 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
7607 flag_threadsafe_statics, flag_pretty_templates,
7608 warn_strict_null_sentinel): Remove.
7609 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
7610 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
7611 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
7612 fimplicit-inline-templates, fimplicit-templates,
7613 flax-vector-conversions, fms-extensions, fnil-receivers,
7614 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
7615 frtti, fshort-double, fshort-enums, fshort-wchar,
7616 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
7617 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
7618 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
7619 gen-decls, undef): Use Var.
7620 (fdefault-inline, foptional-diags): Document as doing nothing.
7621 * c-opts.c (c_common_handle_option): Remove cases for options now
7622 using Var. Mark ignored options as such.
7623
7624 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
7625
7626 * c-common.c: Moved to here from parent directory.
7627 * c-common.def: Likewise.
7628 * c-common.h: Likewise.
7629 * c-cppbuiltin.c: Likewise.
7630 * c-dump.c: Likewise.
7631 * c-format.c: Likewise.
7632 * c-format.h : Likewise.
7633 * c-gimplify.c: Likewise.
7634 * c-lex.c: Likewise.
7635 * c-omp.c: Likewise.
7636 * c.opt: Likewise.
7637 * c-opts.c: Likewise.
7638 * c-pch.c: Likewise.
7639 * c-ppoutput.c: Likewise.
7640 * c-pragma.c: Likewise.
7641 * c-pragma.h: Likewise.
7642 * c-pretty-print.c: Likewise.
7643 * c-pretty-print.h: Likewise.
7644 * c-semantics.c: Likewise.
7645 * stub-objc.c: Likewise.
7646
7647 * c-common.c: Include gt-c-family-c-common.h.
7648 * c-pragma.c: Include gt-c-family-c-pragma.h.
7649 \f
7650 Copyright (C) 2010-2017 Free Software Foundation, Inc.
7651
7652 Copying and distribution of this file, with or without modification,
7653 are permitted in any medium without royalty provided the copyright
7654 notice and this notice are preserved.