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