]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR c++/71528
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
9720103d 12016-06-13 Jakub Jelinek <jakub@redhat.com>
2
12cb8367 3 PR sanitizer/71498
4 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
5 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
6
9720103d 7 PR preprocessor/71183
8 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
9 to cb_get_source_date_epoch.
10
8ec29807 112016-06-10 Jakub Jelinek <jakub@redhat.com>
12
13 PR c/68657
14 * c.opt (Wpsabi): Add Warning flag.
15
1dc4d519 162016-06-10 Martin Sebor <msebor@redhat.com>
17
18 PR c/71392
19 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept
20 the nonnull attribute in type-generic builtins.
21
23b101c5 222016-06-09 Martin Sebor <msebor@redhat.com>
23
24 PR c/70883
25 * c-common.c (builtin_function_validate_nargs): Make text of error
26 message consistent with others like it.
27
732905bb 282016-06-08 Martin Sebor <msebor@redhat.com>
29 Jakub Jelinek <jakub@redhat.com>
30
31 PR c++/70507
32 PR c/68120
33 * c-common.c (check_builtin_function_arguments): Handle
34 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
35
86a5f91c 362016-06-08 Richard Biener <rguenther@suse.de>
37
38 * c-common.c (parse_optimize_options): Improve diagnostic messages.
39
b032c4dd 402016-06-07 Richard Biener <rguenther@suse.de>
41
42 PR c/61564
43 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
44 options and warn about others.
45
dfa5c0d3 462016-06-01 Eduard Sanou <dhole@openmailbox.org>
47
48 * c-common.c (get_source_date_epoch): Rename to
49 cb_get_source_date_epoch.
50 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
51 message when the parsing fails. Use error_at instead of fatal_error.
52 * c-common.h (get_source_date_epoch): Rename to
53 cb_get_source_date_epoch.
54 * c-common.h (cb_get_source_date_epoch): Prototype.
55 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
56 * c-common.h (c_omp_region_type): Remove trailing comma.
57 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
58 * c-lex.c (c_lex_with_flags): Remove initialization of
59 pfile->source_date_epoch.
60
b6431756 612016-05-30 Jakub Jelinek <jakub@redhat.com>
62
63 PR c++/71349
64 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
65 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
66 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
67 instead of C_OMP_CLAUSE_SPLIT_FOR.
68
7345b977 692016-05-24 Richard Biener <rguenther@suse.de>
70
71 PR middle-end/70434
72 PR c/69504
73 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
74 (convert_vector_to_array_for_subscript): ... this.
75 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
76 VIEW_CONVERT_EXPR to an array type. Rename to ...
77 (convert_vector_to_array_for_subscript): ... this.
78
22a3f7bd 792016-05-12 Marek Polacek <polacek@redhat.com>
80
81 PR c/70756
82 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
83 size_in_bytes and pass LOC to it.
84
54c4d22e 852016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
86
87 PR c/43651
88 * c.opt (Wduplicate-decl-specifier): New option.
89
7f8012a5 902016-05-11 Marek Polacek <polacek@redhat.com>
91
92 PR c++/71024
93 * c-common.c (diagnose_mismatched_attributes): New function.
94 * c-common.h (diagnose_mismatched_attributes): Declare.
95
1d52c456 962016-05-04 Marek Polacek <polacek@redhat.com>
97
98 * c.opt (Wdangling-else): New option.
99
5d4db8ef 1002016-05-03 Marek Polacek <polacek@redhat.com>
101
102 PR c/70859
103 * c-common.c (builtin_function_validate_nargs): Add location
104 parameter. Use it.
105 (check_builtin_function_arguments): Add location and arguments
106 parameters. Use them.
107 * c-common.h (check_builtin_function_arguments): Update declaration.
108
9ae1b28a 1092016-05-03 Richard Biener <rguenther@suse.de>
110
111 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
112 allow call args to gimplify to SSA names.
113
4341e093 1142016-05-03 Marek Polacek <polacek@redhat.com>
115
116 * c-common.h (enum c_omp_region_type): Remove stray comma.
117
b5e88f74 1182016-05-02 Cesar Philippidis <cesar@codesourcery.com>
119
120 * c-common.h (enum c_omp_region_type): Define.
121
ee31dd3d 1222016-05-02 Richard Sandiford <richard.sandiford@arm.com>
123
124 * c-common.c (shorten_compare): Use wi::to_wide.
125
4d0a8bac 1262016-04-29 Cesar Philippidis <cesar@codesourcery.com>
127
128 PR middle-end/70626
129 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
130 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
131 reduction clauses in acc parallel loops.
132
025dd1e0 1332016-04-29 Marek Polacek <polacek@redhat.com>
134
135 PR c/70852
136 * c-common.c (warn_for_memset): Check domain before accessing it.
137
eb16928e 1382016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
139
140 PR/69089
141 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
142 "aligned" attribute.
143
ddd2a3d4 1442016-04-28 Jason Merrill <jason@redhat.com>
145
146 * c-lex.c (c_common_has_attribute): Handle nodiscard.
147
e3e8c48c 1482016-04-28 Eduard Sanou <dhole@openmailbox.org>
149 Matthias Klose <doko@debian.org>
150
151 * c-common.c (get_source_date_epoch): New function, gets the environment
152 variable SOURCE_DATE_EPOCH and parses it as long long with error
153 handling.
154 * c-common.h (get_source_date_epoch): Prototype.
155 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
156
605a4556 1572015-04-27 Ryan Burn <contact@rnburn.com>
158
159 PR c++/69024
160 PR c++/68997
161 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
162 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
163 external linkage.
164 (cilk_detect_and_unwrap): Corresponding changes.
165 (extract_free_variables): Don't extract free variables from
166 AGGR_INIT_EXPR slot.
167 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
168 (cilk_recognize_spawn): Likewise.
169
40385231 1702016-04-27 Bernd Schmidt <bschmidt@redhat.com>
171
172 * c.opt (Wmemset-elt-size): New option.
173 * c-common.c (warn_for_memset): New function.
174 * c-common.h (warn_for_memset): Declare.
175
f5d49c14 1762016-04-25 Jason Merrill <jason@redhat.com>
177
178 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
179 No longer static.
180 * c-common.h: Declare it.
181 * c-lex.c (c_common_has_attribute): Add maybe_unused.
182
9c980ab5 1832016-04-22 Jason Merrill <jason@redhat.com>
184
185 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
186
70574e60 1872016-04-20 Ilya Verbin <ilya.verbin@intel.com>
188
189 PR c++/69363
190 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
191 * c-common.h (c_finish_cilk_clauses): Remove declaration.
192
5d4b30ea 1932016-04-18 Michael Matz <matz@suse.de>
194
195 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
196 and SET_DECL_ALIGN.
197
021ad2f3 1982016-04-17 Eric Botcazou <ebotcazou@adacore.com>
199
200 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
201 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
202 to incomplete types.
203 (dump_nested_type): Remove redundant tests and tidy up.
204 (print_ada_declaration): Also set TREE_VISITED on the declaration of
205 a type which is the typedef of an original type.
206
926f9422 2072016-04-15 Marek Polacek <polacek@redhat.com>
208
209 PR c/70651
210 * c-common.c (build_va_arg): Change two asserts into errors and return
211 error_mark_node.
212
92c53257 2132016-04-13 Marek Polacek <polacek@redhat.com>
214
215 PR c++/70639
216 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
217 for switch statements, too.
218
a3ae889f 2192016-03-28 Jason Merrill <jason@redhat.com>
220
221 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
222
62d2a6dc 2232016-03-23 Marek Polacek <polacek@redhat.com>
224
225 PR c++/69884
226 * c.opt (Wignored-attributes): New option.
227
4baec9f2 2282016-03-22 David Malcolm <dmalcolm@redhat.com>
229
230 PR c/69993
231 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
232 diagnostic text, reversing the order of the warning and note so
233 that they appear in source order.
234
92e7ab1e 2352016-03-17 Marek Polacek <polacek@redhat.com>
236
237 PR c/69407
238 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
239 operations.
240
6f895832 2412016-03-14 Jason Merrill <jason@redhat.com>
242
14c36b14 243 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
244
6f895832 245 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
246
42bb3bfb 2472016-03-09 Richard Biener <rguenther@suse.de>
248
249 PR c/70143
250 * c-common.c (strict_aliasing_warning): Add back
251 alias_sets_conflict_p check.
252
3556aa80 2532016-03-08 Jason Merrill <jason@redhat.com>
254
255 * c-opts.c (set_std_cxx1z): Don't enable concepts.
256
0060768a 2572016-03-04 David Malcolm <dmalcolm@redhat.com>
258
259 PR c/68187
260 * c-indentation.c (get_visual_column): Move code to determine next
261 tab stop to...
262 (next_tab_stop): ...this new function.
263 (line_contains_hash_if): Delete function.
264 (detect_preprocessor_logic): Delete function.
265 (get_first_nws_vis_column): New function.
266 (detect_intervening_unindent): New function.
267 (should_warn_for_misleading_indentation): Replace call to
268 detect_preprocessor_logic with a call to
269 detect_intervening_unindent.
270
74c6fd40 2712016-03-04 David Malcolm <dmalcolm@redhat.com>
272
273 PR c/68187
274 * c-indentation.c (should_warn_for_misleading_indentation): When
275 suppressing warnings about cases where the guard and body are on
276 the same column, only use the first non-whitespace column in place
277 of the guard token column when dealing with "else" clauses.
278 When rejecting aligned BODY and NEXT, loosen the requirement
279 from equality with the first non-whitespace of guard to simply
280 that they not be indented relative to it.
281
e692d332 2822016-03-04 Richard Biener <rguenther@suse.de>
283
284 PR c++/70054
285 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
286 instead of alias_sets_conflict_p.
287
12cc1225 2882016-03-01 Marek Polacek <polacek@redhat.com>
289
290 PR c++/69795
291 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
292 any DECL.
293
8c38d887 2942016-02-22 Martin Sebor <msebor@redhat.com>
295
296 PR middle-end/69780
297 * c-common.c (check_builtin_function_arguments): Validate and
298 reject invalid arguments to __builtin_alloca_with_align.
299
e53f41d5 3002016-02-20 Mark Wielaard <mjw@redhat.com>
301
302 PR c/28901
303 * c.opt (Wunused-const-variable): Turn into Alias for...
304 (Wunused-const-variable=): New option.
305
9cce8384 3062016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
307
308 PR c++/69865
309 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
310 here...
311 (c_common_init_options): ...to here.
312 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
313
563d5cb8 3142016-02-19 Jakub Jelinek <jakub@redhat.com>
315
316 PR c++/69826
317 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
318 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
319 flag_preprocess_only.
320
7675e968 3212016-02-16 Jakub Jelinek <jakub@redhat.com>
322
323 PR c/69835
324 * c.opt (Wnonnull-compare): Enable for -Wall.
325
77454e6e 3262016-02-15 Jakub Jelinek <jakub@redhat.com>
327
328 PR c++/69797
329 * c-common.c (sync_resolve_size): Diagnose too few arguments
330 even when params is non-NULL empty vector.
331
600695e0 3322016-02-08 Bernd Schmidt <bschmidt@redhat.com>
333
334 PR target/60410
335 * c.opt (fshort-double): Remove.
336
a7cc1f94 3372016-02-05 Martin Sebor <msebor@redhat.com>
338
339 PR c++/69662
340 * c.opt (Warning options): Update -Wplacement-new to take
341 an optional argument.
342
6f13b088 3432016-02-01 Jakub Jelinek <jakub@redhat.com>
344
345 PR preprocessor/69543
346 PR c/69558
347 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
348 instead of loc to control_warning_option.
349
948eee2f 3502016-02-01 Nathan Sidwell <nathan@codesourcery.com>
351
352 * c.opt (fopenacc-dim=): New option.
353
5fa82c11 3542016-01-27 Ryan Burn <contact@rnburn.com>
355
356 PR cilkplus/69267
357 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
358 gimplify_arg. Removed superfluous post_p argument.
359 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
360 superfluous post_p argument.
361 * c-gimplify.c (c_gimplify_expr): Likewise.
362
3752e5b1 3632016-01-26 David Malcolm <dmalcolm@redhat.com>
364
365 PR other/69006
366 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
367 pp_newline_and_flush with pp_flush.
368
bbbbe8ab 3692016-01-20 Martin Sebor <msebor@redhat.com>
370
371 PR c/69405
372 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
373 an incompatible argument when the argument isn't a valid tree node.
374
f6dfb86a 3752016-01-18 Jason Merrill <jason@redhat.com>
376
377 PR c++/68767
378 * c-common.c (check_function_arguments_recurse): Fold the whole
379 COND_EXPR, not just the condition.
380
f672c103 3812016-01-18 Tom de Vries <tom@codesourcery.com>
382
383 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
384 classify as loop clause.
385
c8ef893c 3862016-01-15 Jakub Jelinek <jakub@redhat.com>
387
388 PR bootstrap/68271
389 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
390 C++ FE no longer has limit on number of pragmas.
391
3922015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 393
394 PR c++/69048
395 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 396 to add missing cleanup point.
7d600da5 397
a7ed4583 3982016-01-14 David Malcolm <dmalcolm@redhat.com>
399
400 PR c++/68819
401 * c-indentation.c (get_visual_column): Add location_t param.
402 Handle the column number being zero by effectively disabling the
403 warning, with an "inform".
404 (should_warn_for_misleading_indentation): Add location_t argument
405 for all uses of get_visual_column.
406
b933e511 4072016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
408
409 PR c++/69029
410 * c-indentation.c (should_warn_for_misleading_indentation):
411 Don't warn about do-while statements.
412
517906ff 4132016-01-07 Martin Sebor <msebor@redhat.com>
414
415 PR c/68966
416 * c-common.c (sync_resolve_size): Reject first argument when it's
417 a pointer to _Bool.
418
d42aa619 4192016-01-05 David Malcolm <dmalcolm@redhat.com>
420
421 PR c/69122
422 * c-indentation.c (get_visual_column): Remove default argument.
423 (should_warn_for_misleading_indentation): For the multiline case,
424 update call to get_visual_column for next_stmt_exploc so that it
425 captures the location of the first non-whitespace character in the
426 relevant line. Don't issue warnings if there is non-whitespace
427 before the next statement.
428
f1717362 4292016-01-04 Jakub Jelinek <jakub@redhat.com>
430
431 Update copyright years.
432
c0bf500c 4332015-12-21 David Malcolm <dmalcolm@redhat.com>
434
435 * c-common.c (binary_op_error): Convert first param from
436 location_t to rich_location * and use it when emitting an error.
437 * c-common.h (binary_op_error): Convert first param from
438 location_t to rich_location *.
439
dbd79382 4402015-12-16 David Malcolm <dmalcolm@redhat.com>
441
442 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
443 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
444
c0998828 4452015-12-15 Ilya Verbin <ilya.verbin@intel.com>
446
447 * c-common.c (c_common_attribute_table): Handle "omp declare target
448 link" attribute.
449
7ca909c6 4502015-12-14 Jakub Jelinek <jakub@redhat.com>
451
452 PR c/68833
453 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
454
d9102cbe 4552014-12-12 Tobias Burnus <burnus@net-b.de>
456
457 PR fortran/68815
458 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
459 specifiers (%d, %i,%u and %c).
460
a515ebdf 4612015-12-10 David Malcolm <dmalcolm@redhat.com>
462
463 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
464
31ba81bd 4652015-12-08 Jakub Jelinek <jakub@redhat.com>
466
467 PR c/48088
468 PR c/68657
469 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
470 * c-pragma.c (handle_pragma_diagnostic): Adjust
471 control_warning_option caller.
472
d0f713f4 4732015-12-07 David Malcolm <dmalcolm@redhat.com>
474
475 * c-common.c (c_cpp_error): Update for change to
476 rich_location::set_range.
477
32d050b5 4782015-12-04 Paolo Bonzini <bonzini@gnu.org>
479
480 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
481 shifting 1 out of the sign bit.
482
4832015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
484
485 * c-common.c (c_common_attribute_table[]): Update max arguments
486 count for "simd" attribute.
487 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
488
6a8fbd7a 4892015-12-03 Jakub Jelinek <jakub@redhat.com>
490
491 PR preprocessor/57580
492 * c-ppoutput.c (print): Change printed field to bool.
493 Move src_file last for smaller padding.
494 (init_pp_output): Set print.printed to false instead of 0.
495 (scan_translation_unit): Fix up formatting. Set print.printed
496 to true after printing something other than newline.
497 (scan_translation_unit_trad): Set print.printed to true instead of 1.
498 (maybe_print_line_1): Set print.printed to false instead of 0.
499 (print_line_1): Likewise.
500 (do_line_change): Set print.printed to true instead of 1.
501 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
502 dump_macro): Set print.printed to false after printing newline.
503
da562e32 5042015-12-02 Jason Merrill <jason@redhat.com>
505
9c691dbd 506 * c-common.c (fold_for_warn): New.
507 (warn_logical_operator, warn_tautological_cmp)
508 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
509
da562e32 510 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
511 (c_fully_fold_internal, decl_constant_value_for_optimization):
512 Move to c/c-fold.c.
513 * c-common.h: Don't declare decl_constant_value_for_optimization.
514
89f16034 5152015-12-02 Joseph Myers <joseph@codesourcery.com>
516
517 PR c/68162
518 * c-common.h (c_build_qualified_type): Add extra default
519 arguments.
520
571b3486 5212015-12-01 Julian Brown <julian@codesourcery.com>
522 Cesar Philippidis <cesar@codesourcery.com>
523 James Norris <James_Norris@mentor.com>
524
525 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
526 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
527 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
528
ed92a461 5292015-11-30 Eric Botcazou <ebotcazou@adacore.com>
530
531 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
532 (decl_sloc_common): Delete and move bulk of processing to...
533 (decl_sloc): ...here.
534 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
535 (dump_ada_double_name): Remove S parameter and compute the suffix.
536 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
537 element type and deal with an anonymous one.
538 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
539 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
540 and remove reference to QUAL_UNION_TYPE.
541 (dump_nested_types): Make 2 passes on the fields and move bulk to...
542 (dump_nested_type): ...here. New function extracted from above.
543 Generate a full declaration for anonymous element type of arrays.
544 (print_ada_declaration): Really skip anonymous declarations. Remove
545 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
546 Clean up processing of declarations of array types and objects.
547 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
548 Remove obsolete code and tidy up.
549
c25b3e3f 5502015-11-29 Jan Hubicka <hubicka@ucw.cz>
551
552 PR c/67581
553 * c-common.c (handle_transparent_union_attribute): Update
554 also type variants.
555
d4e328e9 5562015-11-27 Martin Liska <mliska@suse.cz>
557
558 PR c++/68312
559 * array-notation-common.c (cilkplus_extract_an_triplets):
560 Release vector of vectors.
561 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
562
f63d9c4e 5632015-11-26 Eric Botcazou <ebotcazou@adacore.com>
564
565 PR c++/68527
566 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
567 (print_ada_struct_decl): Likewise.
568
8d63c601 5692015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
570
571 PR c++/68001
572 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
573 * cilk.c (recognize_spawn): Determine location in a more precise
574 way.
575
01f11119 5762015-11-19 Jason Merrill <jason@redhat.com>
577
578 * c-common.c (shorten_compare): But look through macros from
579 system headers.
580
2d3d3af7 5812015-11-18 Jason Merrill <jason@redhat.com>
582
583 * c-common.c (shorten_compare): Don't -Wtype-limits if the
584 non-constant operand comes from a macro.
585
7991eeee 5862015-11-17 Jason Merrill <jason@redhat.com>
587
588 PR bootstrap/68346
589 * c-common.c (warn_tautological_cmp): Fold before checking for
590 constants.
591
73f67931 5922015-11-16 Marek Polacek <polacek@redhat.com>
593
594 PR c++/68362
595 * c-common.c (check_case_bounds): Fold low and high cases.
596
8e539fdc 5972015-11-16 Marek Polacek <polacek@redhat.com>
598
599 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
600 * c-common.c (c_common_get_alias_set): Likewise.
601 (handle_visibility_attribute): Likewise.
602
c58a4cfd 6032015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
604
605 * c-common.c (handle_simd_attribute): New.
606 (struct attribute_spec): Add entry for "simd".
607 (handle_simd_attribute): New.
608
bb036391 6092015-11-13 Kai Tietz <ktietz70@googlemail.com>
610
611 * c-lex.c (interpret_float): Use fold_convert.
612
a96cefb2 6132015-11-13 David Malcolm <dmalcolm@redhat.com>
614
615 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
616 and store it on the result.
617 * c-opts.c (c_common_init_options): Set
618 global_dc->colorize_source_p.
619
2fc5e987 6202015-11-12 James Norris <jnorris@codesourcery.com>
621 Joseph Myers <joseph@codesourcery.com>
622
623 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
624 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
625 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
626 PRAGMA_OACC_CLAUSE_LINK.
627
81b1b2a8 6282015-11-11 Marek Polacek <polacek@redhat.com>
629
630 PR c/68107
631 PR c++/68266
632 * c-common.c (valid_array_size_p): New function.
633 * c-common.h (valid_array_size_p): Declare.
634
4f3707ca 6352015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
636
637 PR bootstrap/68271
638 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
639
6e803544 6402015-11-11 Andrew MacLeod <amacleod@redhat.com>
641
642 * array-notation-common.c: Remove unused header files.
643 * c-ada-spec.c: Likewise.
644 * c-cilkplus.c: Likewise.
645 * c-common.c: Likewise.
646 * c-cppbuiltin.c: Likewise.
647 * c-dump.c: Likewise.
648 * c-format.c: Likewise.
649 * c-gimplify.c: Likewise.
650 * c-indentation.c: Likewise.
651 * c-lex.c: Likewise.
652 * c-omp.c: Likewise.
653 * c-opts.c: Likewise.
654 * c-pch.c: Likewise.
655 * c-ppoutput.c: Likewise.
656 * c-pragma.c: Likewise.
657 * c-pretty-print.c: Likewise.
658 * c-semantics.c: Likewise.
659 * c-ubsan.c: Likewise.
660 * cilk.c: Likewise.
661 * stub-objc.c: Likewise.
662
a1b7fe4b 6632015-11-09 Thomas Schwinge <thomas@codesourcery.com>
664 Cesar Philippidis <cesar@codesourcery.com>
665 James Norris <jnorris@codesourcery.com>
666 Julian Brown <julian@codesourcery.com>
667 Nathan Sidwell <nathan@codesourcery.com>
668
669 * c-pragma.c (oacc_pragmas): Add "routine".
670 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
671
292237f3 6722015-11-08 Eric Botcazou <ebotcazou@adacore.com>
673
674 * c-common.c (c_common_attributes): Add scalar_storage_order.
675 (handle_scalar_storage_order_attribute): New function.
676 * c-pragma.c (global_sso): New variable.
677 (maybe_apply_pragma_scalar_storage_order): New function.
678 (handle_pragma_scalar_storage_order): Likewise.
679 (init_pragma): Register scalar_storage_order.
680 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
681 * c.opt (Wscalar-storage-order): New warning.
682 (fsso-struct=): New option.
683
b4a4c5fa 6842015-11-08 Martin Sebor <msebor@redhat.com>
685
686 * c.opt (Wplacement-new): Add a period to the end of a sentence.
687
ac677063 6882015-11-07 Richard Sandiford <richard.sandiford@arm.com>
689
690 * c-common.c: Don't undef DEF_BUILTIN.
691
f0479000 6922015-11-06 David Malcolm <dmalcolm@redhat.com>
693
694 * c-common.c (c_cpp_error): Convert parameter from location_t to
695 rich_location *. Eliminate the "column_override" parameter and
696 the call to diagnostic_override_column.
697 Update the "done_lexing" clause to set range 0
698 on the rich_location, rather than overwriting a location_t.
699 * c-common.h (c_cpp_error): Convert parameter from location_t to
700 rich_location *. Eliminate the "column_override" parameter.
701
ef014f95 7022015-11-05 Cesar Philippidis <cesar@codesourcery.com>
703 Thomas Schwinge <thomas@codesourcery.com>
704 James Norris <jnorris@codesourcery.com>
705
706 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
707 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
708 clauses with parallel and kernels and loops.
709 * c-pragma.h (enum pragma_omp_clause): Add entries for
710 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
711 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
712 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
713 INDEPENDENT,SEQ}.
714 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
715
e520488c 7162015-11-05 Martin Sebor <msebor@redhat.com>
717
718 PR c++/67942
719 * c.opt (-Wplacement-new): New option.
720
9561765e 7212015-11-05 Jakub Jelinek <jakub@redhat.com>
722
723 * c-common.h (c_finish_omp_atomic): Add TEST argument.
724 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
725 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
726 save_expr or create_tmp_var* if TEST is true.
727 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
728 Don't call add_stmt here.
729 (struct c_omp_check_loop_iv_data): New type.
730 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
731 c_omp_check_loop_iv_exprs): New functions.
732 (c_omp_split_clauses): Adjust for lastprivate being allowed on
733 distribute.
734 (c_omp_declare_simd_clauses_to_numbers): Change
735 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
736 (c_omp_declare_simd_clauses_to_decls): Similarly change those
737 from numbers to PARM_DECLs.
738
5e8689fb 7392015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
740
741 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
742 flag_checking.
743
aeaccb75 7442015-11-03 Bernd Schmidt <bschmidt@redhat.com>
745
746 PR c++-common/67882
32d050b5 747 * c-common.h (fold_offsetof_1): Add argument.
748 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 749 offsetof expressions that reference elements past the end of
750 an array.
751
9e10bfb7 7522015-11-03 Thomas Schwinge <thomas@codesourcery.com>
753 Chung-Lin Tang <cltang@codesourcery.com>
754
755 * c-pragma.c (oacc_pragmas): Add "atomic".
756 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
757
ab50af2a 7582015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
759
760 * c-common.c (handle_target_clones_attribute): New.
761 (c_common_attribute_table): Add handle_target_clones_attribute.
762 (handle_always_inline_attribute): Add check on target_clones attribute.
763 (handle_target_attribute): Ditto.
764
4cba6f60 7652015-10-29 Andrew MacLeod <amacleod@redhat.com>
766
767 * array-notation-common.c: Reorder #include's and remove duplicates.
768 * c-ada-spec.c: Likewise.
769 * c-cilkplus.c: Likewise.
770 * c-common.c: Likewise.
771 * c-cppbuiltin.c: Likewise.
772 * c-dump.c: Likewise.
773 * c-format.c: Likewise.
774 * c-gimplify.c: Likewise.
775 * c-indentation.c: Likewise.
776 * c-lex.c: Likewise.
777 * c-omp.c: Likewise.
778 * c-opts.c: Likewise.
779 * c-pch.c: Likewise.
780 * c-ppoutput.c: Likewise.
781 * c-pragma.c: Likewise.
782 * c-pretty-print.c: Likewise.
783 * c-semantics.c: Likewise.
784 * c-ubsan.c: Likewise.
785 * cilk.c: Likewise.
786 * stub-objc.c: Likewise.
787
f576a2e4 7882015-10-28 Jason Merrill <jason@redhat.com>
789
790 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
791
2c4c8725 7922015-10-27 Thomas Schwinge <thomas@codesourcery.com>
793 James Norris <jnorris@codesourcery.com>
794 Cesar Philippidis <cesar@codesourcery.com>
795
796 PR c/64765
797 PR c/64880
798 * c-common.h (c_oacc_split_loop_clauses): Declare function.
799 * c-omp.c (c_oacc_split_loop_clauses): New function.
800
8204c077 8012015-10-21 Martin Sebor <msebor@redhat.com>
802
803 PR driver/68043
804 * c.opt: End each sentence that describes an option with a period.
805
8523243e 8062015-10-20 Marek Polacek <polacek@redhat.com>
807
808 * array-notation-common.c (is_cilkplus_vector_p): Define.
809 * c-common.h (is_cilkplus_vector_p): Declare.
810
08881cb8 8112015-10-20 Marek Polacek <polacek@redhat.com>
812
813 * c.opt (std=gnu++11): Do not describe as experimental.
814 (std=gnu++14): Likewise.
815
a36e5e5e 8162015-10-19 Jason Merrill <jason@redhat.com>
817
818 * c-cppbuiltin.c (c_cpp_builtins): Define
819 __cpp_nontype_template_args.
820
a349de0a 8212015-10-19 Jason Merrill <jason@redhat.com>
822
823 * c-cppbuiltin.c (c_cpp_builtins): Define
824 __cpp_enumerator_attributes, __cpp_fold_expressions,
825 __cpp_unicode_characters.
826
43895be5 8272015-10-13 Jakub Jelinek <jakub@redhat.com>
828 Aldy Hernandez <aldyh@redhat.com>
829
830 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
831 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
832 (c_define_builtins): Likewise.
833 * c-common.h (enum c_omp_clause_split): Add
834 C_OMP_CLAUSE_SPLIT_TASKLOOP.
835 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
836 (c_finish_omp_for): Add ORIG_DECLV argument.
837 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
838 201511 instead of 201307.
839 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
840 OMP_CRITICAL_CLAUSES to it.
841 (c_finish_omp_ordered): Add CLAUSES argument, set
842 OMP_ORDERED_CLAUSES to it.
843 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
844 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
845 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
846 constructs and new OpenMP 4.5 clauses. Clear
847 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
848 verification code.
849 * c-pragma.c (omp_pragmas_simd): Add taskloop.
850 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
851 (enum pragma_omp_clause): Add
852 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
853 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
854
20cb53c9 8552015-10-05 Richard Sandiford <richard.sandiford@arm.com>
856
857 * c-lex.c (interpret_float): Use real_equal instead of
858 REAL_VALUES_EQUAL.
859
6d02e6b2 8602015-10-04 Jason Merrill <jason@redhat.com>
861
862 Implement N4514, C++ Extensions for Transactional Memory.
863 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
864 (c_common_attribute_table): Add transaction_safe_dynamic.
865 transaction_safe now affects type identity.
866 (handle_tm_attribute): Handle transaction_safe_dynamic.
867 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
868 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
869 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
870 (D_TRANSMEM): New.
871 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
872 * c-pretty-print.c (pp_c_attributes_display): Don't print
873 transaction_safe in C++.
874
c0999a5d 8752015-10-02 Marek Polacek <polacek@redhat.com>
876
877 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
878
ef17a71a 8792015-10-02 Marek Polacek <polacek@redhat.com>
880
881 PR c/64249
882 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
883 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
884 * c.opt (Wduplicated-cond): New option.
885
05b84e7b 8862015-10-01 Joseph Myers <joseph@codesourcery.com>
887
888 * c.opt (std=c11): Do not describe as experimental.
889 (std=gnu11): Likewise.
890 (std=iso9899:2011): Likewise.
891
e561d5e1 8922015-09-28 Nathan Sidwell <nathan@codesourcery.com>
893
894 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
895 (DEF_FUNCTION_TYPE_VAR_11): Delete.
896
bd4b90d2 8972015-09-25 Marek Polacek <polacek@redhat.com>
898
899 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
900 (ubsan_instrument_shift): Likewise.
901
ac13b2b2 9022015-09-25 Marek Polacek <polacek@redhat.com>
903
904 PR sanitizer/64906
905 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
906
a3c82f4c 9072015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
908
909 * c-indentation.c (should_warn_for_misleading_indentation):
910 Compare next_stmt_vis_column with guard_line_first_nws instead
911 of with guard_line_vis_column.
912
5eef101d 9132015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
914
915 PR c/49654
916 PR c/49655
917 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
918 options and options not valid for the current language.
919
60897493 9202015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
921
922 * c-indentation.c (should_warn_for_misleading_indentation):
923 Float out and consolidate the calls to get_visual_column that
924 are passed guard_exploc as an argument. Compare
925 next_stmt_vis_column with guard_line_first_nws instead of with
926 body_line_first_nws.
927
85c93154 9282015-09-22 Nathan Sidwell <nathan@codesourcery.com>
929
930 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
931 Wnamespaces): New C++ warnings.
932
229a58b1 9332015-09-22 Jason Merrill <jason@redhat.com>
934
935 * c-common.h (abi_compat_version_crosses): New.
936 (warn_abi_version): Declare.
937 * c-common.c: Define it.
938 * c-opts.c (c_common_post_options): Handle it.
939 flag_abi_compat_version defaults to 8.
940
2d2de569 9412015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
942
943 Complete the implementation of N4230, Nested namespace definition.
944 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
945 __cpp_nested_namespace_definitions.
946
2b897e68 9472015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
948
949 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
950
ed536208 9512015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
952
953 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
954 when warning.
955 * c-pragma.h (pragma_lex): Add optional loc argument.
956
1dc6c44d 9572015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
958
959 * c-format.c (check_format_arg): Adjust to use common block size in all
960 object pools.
961
be812248 9622015-09-15 David Malcolm <dmalcolm@redhat.com>
963
964 * c-format.c (location_from_offset): Update for change in
965 signature of location_get_source_line.
966 * c-indentation.c (get_visual_column): Likewise.
967 (line_contains_hash_if): Likewise.
968
e4cc057f 9692015-09-14 Marek Polacek <polacek@redhat.com>
970
971 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
972 setting various warnings.
973
85f5e2ee 9742015-09-14 Marek Polacek <polacek@redhat.com>
975
976 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
977 a negative value.
978
1bca8cbd 9792015-09-11 Mark Wielaard <mjw@redhat.com>
980
981 PR c/28901
982 * c.opt (Wunused-variable): Option from common.opt.
983 (Wunused-const-variable): New option.
984
ee48893a 9852015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
986
987 PR c++/53184
988 * c.opt ([Wsubobject-linkage]): Add.
989
547c6b1f 9902015-09-03 Martin Sebor <msebor@redhat.com>
991
992 PR c/66516
993 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
994 functions.
995 * c-common.c (reject_gcc_builtin): Define.
996
7e976b10 9972015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
998
999 PR middle-end/60586
1000 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
1001 prototype.
1002 * c-gimplify.c (c_gimplify_expr): Added a call to the function
1003 cilk_gimplify_call_params_in_spawned_fn.
1004 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
1005 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
1006 unwrapping.
1007
9e6bcade 10082015-08-25 Marek Polacek <polacek@redhat.com>
1009
1010 PR middle-end/67330
1011 * c-common.c (handle_weak_attribute): Don't check whether the
1012 visibility can be changed here.
1013
af9de21d 10142015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1015
1016 * c-lex.c (c_lex_with_flags): Use explicit locations.
1017
6dc50383 10182015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
1019
1020 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
1021 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
1022
10902624 10232015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1024
1025 PR middle-end/36757
1026 * c-common.c (check_builtin_function_arguments): Add check
1027 for BUILT_IN_SIGNBIT argument.
1028
a03a71ab 10292015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
1030
1031 PR c++/67160
1032 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
1033 in c++1z mode.
1034
22723c26 10352015-08-17 Marek Polacek <polacek@redhat.com>
1036
1037 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
1038 with whitespaces before qualifier names.
1039
f4809955 10402015-08-12 Marek Polacek <polacek@redhat.com>
1041
1042 PR c++/55095
1043 * c-common.c (maybe_warn_shift_overflow): Properly handle
1044 left-shifting 1 into the sign bit.
1045
5463f502 10462015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1047
1048 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
1049
56c12fd4 10502015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
1051 Braden Obrzut <admin@maniacsvault.net>
1052 Jason Merrill <jason@redhat.com>
1053
1054 Add C++ Concepts TS support.
1055 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
1056 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
1057 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
1058 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
1059 * c-opts.c (set_std_cxx1z): Set flag_concepts.
1060 * c.opt (fconcepts): New.
1061
32d050b5 10622015-08-02 Martin Sebor <msebor@redhat.com>
1063
1064 * c.opt (-Wframe-address): New warning option.
1065
17afcef6 10662015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1067
1068 * c-indentation.c (should_warn_for_misleading_indentation):
1069 Improve heuristics.
1070
f95bfdd4 10712015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1072
1073 * c-indentation.c (get_visual_column): Add parameter first_nws,
1074 use it. Update comment documenting the function.
1075 (is_first_nonwhitespace_on_line): Remove.
1076 (should_warn_for_misleading_indentation): Replace usage of
1077 of is_first_nonwhitespace_on_line with get_visual_column.
1078
9255be07 10792015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
1080
1081 * c-indentation.h (struct token_indent_info): Define.
1082 (get_token_indent_info): Define.
1083 (warn_for_misleading_information): Declare.
1084 * c-common.h (warn_for_misleading_information): Remove.
1085 * c-identation.c (warn_for_misleading_indentation):
1086 Change declaration to take three token_indent_infos. Adjust
1087 accordingly.
1088 * c-identation.c (should_warn_for_misleading_indentation):
1089 Likewise. Bail out early if the body is a compound statement.
1090 (guard_tinfo_to_string): Define.
1091
e880695c 10922015-07-30 Jason Merrill <jason@redhat.com>
1093
1094 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
1095 '*' for reference decay.
1096
f58dd84b 10972015-07-30 Marek Polacek <polacek@redhat.com>
1098
1099 * c-common.c (warn_tautological_cmp): Bail for float types.
1100
d9e4fe27 11012015-07-27 Marek Polacek <polacek@redhat.com>
1102
1103 PR bootstrap/67030
1104 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
1105
6784a472 11062015-07-27 Marek Polacek <polacek@redhat.com>
1107
1108 PR c++/66555
1109 PR c/54979
1110 * c-common.c (find_array_ref_with_const_idx_r): New function.
1111 (warn_tautological_cmp): New function.
1112 * c-common.h (warn_tautological_cmp): Declare.
1113 * c.opt (Wtautological-compare): New option.
1114
08034975 11152015-07-23 Marek Polacek <polacek@redhat.com>
1116
1117 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
1118 (ubsan_instrument_shift): Likewise.
1119
f6f5e49b 11202015-07-23 Marek Polacek <polacek@redhat.com>
1121
1122 PR sanitizer/66908
1123 * c-ubsan.c: Include gimplify.h.
1124 (ubsan_instrument_division): Unshare OP0 and OP1.
1125 (ubsan_instrument_shift): Likewise.
1126
8d669e79 11272015-07-20 Marek Polacek <polacek@redhat.com>
1128 Richard Sandiford <richard.sandiford@arm.com>
1129
1130 PR c++/55095
1131 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
1132 Use EXPR_LOC_OR_LOC.
1133 (maybe_warn_shift_overflow): New function.
1134 * c-common.h (maybe_warn_shift_overflow): Declare.
1135 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
1136 * c.opt (Wshift-overflow): New option.
1137
e16712b1 11382015-07-16 Martin Liska <mliska@suse.cz>
1139
1140 * c-format.c (static void check_format_info_main): Use
1141 object_allocator instead of pool_allocator.
1142 (check_format_arg): Likewise.
1143 (check_format_info_main): Likewise.
1144
e51764ad 11452015-07-15 Andrew MacLeod <amacleod@redhat.com>
1146
1147 * c-opts.c: Remove multiline #include comment.
1148
47ae02b7 11492015-07-12 Aldy Hernandez <aldyh@redhat.com>
1150
1151 * c-common.c: Fix double word typos.
1152
ed2b2eb2 11532015-07-10 Eric Botcazou <ebotcazou@adacore.com>
1154
1155 * c-ada-spec.h (cpp_operation): Revert latest change.
1156 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
1157 constructors and destructors.
1158
1eacc14a 11592015-07-09 Andrew MacLeod <amacleod@redhat.com>
1160
1161 * c-common.h: Adjust includes for flags.h changes.
1162 * stub-objc.c: Likewise.
47ae02b7 1163
0124237f 11642015-07-08 Eric Botcazou <ebotcazou@adacore.com>
1165
1166 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
1167 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
1168
386ef929 11692015-07-08 Jakub Jelinek <jakub@redhat.com>
1170
1171 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
1172 are to be removed, return NULL rather than original clauses list.
1173
9ef16211 11742015-07-07 Andrew MacLeod <amacleod@redhat.com>
1175
1176 * array-notation-common.c: Adjust includes.
1177 * c-ada-spec.c: Likewise.
1178 * c-cilkplus.c: Likewise.
1179 * c-common.h: Likewise.
1180 * c-cppbuiltin.c: Likewise.
1181 * c-dump.c: Likewise.
1182 * c-format.c: Likewise.
1183 * c-gimplify.c: Likewise.
1184 * c-indentation.c: Likewise.
1185 * c-lex.c: Likewise.
1186 * c-omp.c: Likewise.
1187 * c-opts.c: Likewise.
1188 * c-pch.c: Likewise.
1189 * c-ppoutput.c: Likewise.
1190 * c-pragma.c: Likewise.
1191 * c-pretty-print.c: Likewise.
1192 * c-semantics.c: Likewise.
1193 * c-ubsan.c: Likewise.
1194 * cilk.c: Likewise.
1195 * stub-objc.c: Likewise.
1196
67ede3e4 11972015-07-07 Eric Botcazou <ebotcazou@adacore.com>
1198
1199 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
1200 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
1201
42af8c2a 12022015-07-01 Jason Merrill <jason@redhat.com>
1203
fa769cc5 1204 * c-common.h (D_CXX11): Rename from D_CXX0X.
1205 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
1206 * c-common.c: Adjust.
1207
97e9c847 1208 * c-opts.c (c_common_post_options): Default to C++14.
1209
42af8c2a 1210 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
1211
30b1ba42 12122015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
1213
1214 Implement N4197 - Adding u8 character literals
32d050b5 1215 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 1216 CPP_CHAR.
32d050b5 1217 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 1218 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 1219 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 1220 and CPP_UTF8CHAR tokens.
1221 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 1222
0949f227 12232015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1224
1225 PR fortran/66605
1226 * c-common.c (do_warn_unused_parameter): Move here.
1227 * c-common.h (do_warn_unused_parameter): Declare.
1228
be23b16f 12292015-06-29 Marek Polacek <polacek@redhat.com>
1230
1231 PR c/66322
1232 * c-common.c (check_case_bounds): Add bool * parameter. Set
1233 OUTSIDE_RANGE_P.
1234 (c_add_case_label): Add bool * parameter. Pass it down to
1235 check_case_bounds.
1236 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
1237 warning here.
1238 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
1239 declarations.
1240
6290f0db 12412015-06-27 Marek Polacek <polacek@redhat.com>
1242
1243 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
1244 or VECTOR_INTEGER_TYPE_P throughout.
1245 * c-gimplify.c: Likewise.
1246
aa3e402e 12472015-06-26 Marek Polacek <polacek@redhat.com>
1248
1249 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
1250 * c-common.c (c_fully_fold_internal): Likewise.
1251 (c_alignof_expr): Likewise.
1252 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
1253 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 1254 * cilk.c (create_parm_list): Likewise.
aa3e402e 1255
4e81b384 12562015-06-26 Marek Polacek <polacek@redhat.com>
1257
1258 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
1259
ec2e0095 12602015-06-25 Andrew MacLeod <amacleod@redhat.com>
1261
1262 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
1263 * c-gimplify.c: Likewise.
1264 * c-pragma.c: Likewise.
1265 * c-ubsan.c: Likewise.
1266 * cilk.c: Likewise.
1267
b594087e 12682015-06-25 Richard Sandiford <richard.sandiford@arm.com>
1269
1270 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
1271 ggc_hasher.
1272
a3c76fda 12732015-06-25 Andrew MacLeod <amacleod@redhat.com>
1274
1275 * cilk.c: Move calls.h after tm.h in the include chain.
1276
f48c7f4a 12772015-06-25 Marek Polacek <polacek@redhat.com>
1278
1279 * array-notation-common.c: Use VAR_P throughout.
1280 * c-ada-spec.c: Likewise.
1281 * c-common.c: Likewise.
1282 * c-format.c: Likewise.
1283 * c-gimplify.c: Likewise.
1284 * c-omp.c: Likewise.
1285 * c-pragma.c: Likewise.
1286 * c-pretty-print.c: Likewise.
1287 * cilk.c: Likewise.
1288
ce41e81a 12892015-06-25 Marek Polacek <polacek@redhat.com>
1290
1291 * cilk.c (extract_free_variables): Use is_global_var.
1292
de231ec2 12932015-06-23 Richard Sandiford <richard.sandiford@arm.com>
1294
1295 * c-common.c: Don't include target-def.h.
1296
0200602e 12972015-06-23 Marek Polacek <polacek@redhat.com>
1298
1299 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
1300 when comparing INTEGER_CSTs.
1301
99838ed7 13022015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
1303
1304 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
1305 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
1306 (dump_ada_template): Skip partially specialized types.
1307
a4f59596 13082015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
1309
1310 * c-common.c (scalar_to_vector): Use std::swap instead of manually
1311 swapping.
1312
f2ab3bac 13132015-06-17 Andrew MacLeod <amacleod@redhat.com>
1314
1315 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
1316 * c-ada-spec.c: Likewise.
1317 * c-cilkplus.c: Likewise.
1318 * c-common.c: Likewise.
1319 * c-common.h: Likewise.
1320 * c-cppbuiltin.c: Likewise.
1321 * c-dump.c: Likewise.
1322 * c-format.c: Likewise.
1323 * c-gimplify.c: Likewise.
1324 * c-indentation.c: Likewise.
1325 * c-lex.c: Likewise.
1326 * c-omp.c: Likewise.
1327 * c-opts.c: Likewise.
1328 * c-pch.c: Likewise.
1329 * c-ppoutput.c: Likewise.
1330 * c-pragma.c: Likewise.
1331 * c-pretty-print.c: Likewise.
1332 * c-semantics.c: Likewise.
1333 * c-ubsan.c: Likewise.
1334 * cilk.c: Likewise.
1335 * stub-objc.c: Likewise.
1336
db3d1ffc 13372015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
1338
1339 PR c++/65168
1340 * c-common.c (c_common_truthvalue_conversion): Warn when
1341 converting an address of a reference to a truth value.
1342
64486212 13432015-06-08 Andrew MacLeod <amacleod@redhat.com>
1344
1345 * array-notation-common.c : Adjust include files.
1346 * c-ada-spec.c : Likewise.
1347 * c-cilkplus.c : Likewise.
1348 * c-common.c : Likewise.
1349 * c-common.h : Likewise.
1350 * c-cppbuiltin.c : Likewise.
1351 * c-dump.c : Likewise.
1352 * c-format.c : Likewise.
1353 * c-gimplify.c : Likewise.
1354 * c-indentation.c : Likewise.
1355 * c-lex.c : Likewise.
1356 * c-omp.c : Likewise.
1357 * c-opts.c : Likewise.
1358 * c-pch.c : Likewise.
1359 * c-ppoutput.c : Likewise.
1360 * c-pragma.c : Likewise.
1361 * c-pretty-print.c : Likewise.
1362 * c-semantics.c : Likewise.
1363 * c-ubsan.c : Likewise.
1364 * cilk.c : Likewise.
1365 * stub-objc.c : Likewise.
1366
6e84ccad 13672015-06-08 Marek Polacek <polacek@redhat.com>
1368
1369 PR c/66415
1370 * c-format.c (location_from_offset): Return LOC if LINE is null.
1371
3a1c9df2 13722015-06-05 Aldy Hernandez <aldyh@redhat.com>
1373
1374 * c-common.h (c_parse_final_cleanups): New prototype.
1375 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
1376
32d050b5 13772015-06-04 Sriraman Tallam <tmsriram@google.com>
1378
1379 * c-common.c (noplt): New attribute.
1380 (handle_noplt_attribute): New handler.
1381
f77c0292 13822015-06-04 Andrew MacLeod <amacleod@redhat.com>
1383
1384 * array-notation-common.c: Adjust includes for restructured coretypes.h.
1385 * c-ada-spec.c: Likewise.
1386 * c-cilkplus.c: Likewise.
1387 * c-common.c: Likewise.
1388 * c-common.h: Likewise.
1389 * c-cppbuiltin.c: Likewise.
1390 * c-dump.c: Likewise.
1391 * c-format.c: Likewise.
1392 * c-gimplify.c: Likewise.
1393 * c-indentation.c: Likewise.
1394 * c-lex.c: Likewise.
1395 * c-omp.c: Likewise.
1396 * c-opts.c: Likewise.
1397 * c-pch.c: Likewise.
1398 * c-ppoutput.c: Likewise.
1399 * c-pragma.c: Likewise.
1400 * c-pretty-print.c: Likewise.
1401 * c-semantics.c: Likewise.
1402 * c-ubsan.c: Likewise.
1403 * cilk.c: Likewise.
1404 * stub-objc.c: Likewise.
1405
7c62dfbb 14062015-06-02 David Malcolm <dmalcolm@redhat.com>
1407
1408 PR c/66220:
1409 * c-indentation.c (should_warn_for_misleading_indentation): Use
1410 expand_location rather than expand_location_to_spelling_point.
1411 Don't warn if the guarding statement is more indented than the
1412 next/body stmts.
1413
9af7c176 14142015-06-02 David Malcolm <dmalcolm@redhat.com>
1415
1416 * c-indentation.c (warn_for_misleading_indentation): Bail out
1417 immediately if -Wmisleading-indentation isn't enabled.
1418
eebcf436 14192015-06-01 Martin Liska <mliska@suse.cz>
1420
1421 * c-format.c (check_format_arg):Use new type-based pool allocator.
1422 (check_format_info_main) Likewise.
1423
b0a23e2f 14242015-05-31 Eric Botcazou <ebotcazou@adacore.com>
1425
1426 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
1427 (has_nontrivial_methods): Likewise.
1428
63dc1330 14292015-05-25 Marek Polacek <polacek@redhat.com>
1430
1431 * c-ubsan.c (ubsan_instrument_shift): Use type0.
1432
5a4c69dd 14332015-05-22 Marek Polacek <polacek@redhat.com>
1434
1435 PR c/47043
1436 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
1437
044580bb 14382015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 1439
1440 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
1441 STACK_GROWS_DOWNWARD.
1442
044580bb 14432015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 1444
1445 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1446 STACK_GROWS_DOWNWARD rather than if it is defined.
1447
d5a2ddc7 14482015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 1449
d5a2ddc7 1450 PR c/52952
1451 * c-format.c (location_column_from_byte_offset): New.
1452 (location_from_offset): New.
1453 (struct format_wanted_type): Add offset_loc field.
1454 (check_format_info): Move handling of location for extra arguments
1455 closer to the point of warning.
1456 (check_format_info_main): Pass the result of location_from_offset
1457 to warning_at.
1458 (format_type_warning): Pass the result of location_from_offset
1459 to warning_at.
1460
72f8014e 14612015-05-20 Marek Polacek <polacek@redhat.com>
1462
1463 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1464
74efe522 14652015-05-20 Marek Polacek <polacek@redhat.com>
1466
1467 * c-ada-spec.c (dump_sloc): Use DECL_P.
1468
b443c459 14692015-05-20 Marek Polacek <polacek@redhat.com>
1470
1471 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1472 * c-common.c: Likewise.
1473
551e34da 14742015-05-19 David Malcolm <dmalcolm@redhat.com>
1475
1476 * c-common.h (fe_file_change): Strengthen param from
1477 const line_map * to const line_map_ordinary *.
1478 (pp_file_change): Likewise.
1479 * c-lex.c (fe_file_change): Likewise.
1480 (cb_define): Use linemap_check_ordinary when invoking
1481 SOURCE_LINE.
1482 (cb_undef): Likewise.
1483 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1484 invoking cb_file_change.
1485 (c_finish_options): Likewise.
1486 (push_command_line_include): Likewise.
1487 (cb_file_change): Strengthen param "new_map" from
1488 const line_map * to const line_map_ordinary *.
1489 * c-ppoutput.c (cb_define): Likewise for local "map".
1490 (pp_file_change): Likewise for param "map" and local "from".
1491
dfcf26a5 14922015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1493
1494 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1495
2e474820 14962015-05-18 Tom de Vries <tom@codesourcery.com>
1497
1498 * c-common.c (build_va_arg_1): New function.
1499 (build_va_arg): Add address operator to va_list operand if necessary.
1500
e53013a8 15012015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1502
1503 PR c/48956
1504 * c-common.c (int_safely_convertible_to_real_p): Define.
1505 (unsafe_conversion_p): Check conversions involving complex types.
1506 (conversion_warning): Add new warning message for conversions which
1507 discard imaginary component.
1508 * c-common.h: (enum conversion_safety): Add new enumerator for such
1509 conversions.
1510
aac24642 15112015-05-14 Marek Polacek <polacek@redhat.com>
1512
1513 PR c/66066
1514 PR c/66127
1515 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1516 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1517 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1518 use it. If FOR_INT_CONST, require that all evaluated operands be
1519 INTEGER_CSTs.
1520
e5f01cba 15212015-05-12 David Malcolm <dmalcolm@redhat.com>
1522
1523 * c-common.h (warn_for_misleading_indentation): New prototype.
1524 * c-indentation.c: New file.
1525 * c.opt (Wmisleading-indentation): New option.
1526
c37be9ec 15272015-05-12 Tom de Vries <tom@codesourcery.com>
1528
1529 PR tree-optimization/66010
1530 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1531
7290114b 15322015-05-09 Jason Merrill <jason@redhat.com>
1533
3c665566 1534 * c-opts.c (c_common_post_options): Also clear
1535 cpp_opts->cpp_warn_cxx11_compat.
1536
d875b9d2 1537 * c-common.h (enum cxx_dialect): Add cxx_unset.
1538 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1539 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1540
7290114b 1541 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1542 (std=gnu++0x): Mark as Undocumented.
1543 (std=gnu++1y): Add deprecated message.
1544
1b03cc89 15452015-05-08 Jason Merrill <jason@redhat.com>
1546
1c5f7aba 1547 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
1548 * c-opts.c: Adjust.
1549
1b03cc89 1550 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
1551
dc5945dc 15522015-05-08 Marek Polacek <polacek@redhat.com>
1553
1554 PR c/64918
1555 * c.opt (Woverride-init-side-effects): New option.
1556
cdc64059 15572015-05-07 Marek Polacek <polacek@redhat.com>
1558
1559 PR c/65179
1560 * c-common.c (c_fully_fold_internal): Warn when left shifting a
1561 negative value.
1562 * c.opt (Wshift-negative-value): New option.
1563 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1564 when -Wextra and C99/C++11 mode.
1565
8cafe283 15662015-05-07 Marek Polacek <polacek@redhat.com>
1567 Martin Uecker <uecker@eecs.berkeley.edu>
1568
1569 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1570 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1571
cb40a6f7 15722015-05-05 Jason Merrill <jason@redhat.com>
1573
1574 * c.opt (Wterminate): New.
1575
14744a16 15762015-04-30 Marek Polacek <polacek@redhat.com>
1577
1578 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1579 require that the non-constant be of a boolean type.
1580
9866562d 15812015-04-29 Josh Triplett <josh@joshtriplett.org>
1582
8cafe283 1583 * c-common.c (handle_section_attribute): Refactor to reduce
1584 nesting and distinguish between error cases.
9866562d 1585
a720ab1c 15862015-04-29 Marek Polacek <polacek@redhat.com>
1587
1588 PR c/64610
1589 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1590 with 0/1.
1591
8c072e52 15922015-04-29 Jakub Jelinek <jakub@redhat.com>
1593
1594 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1595 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1596 HOST_BITS_PER_WIDE_INT.
1597
f7fec1c7 15982015-04-28 Tom de Vries <tom@codesourcery.com>
1599
1600 PR tree-optimization/65887
1601 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1602
483b3d26 16032015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 1604 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 1605
1606 * c-ada-spec.c (in_function): Delete.
1607 (dump_generic_ada_node): Do not change in_function and remove the
1608 redundant code dealing with it.
1609 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1610 (print_ada_methods): Output the static member functions in a nested
1611 package after the regular methods as well as associated renamings.
1612
f11bdffb 16132015-04-24 Marek Polacek <polacek@redhat.com>
1614
1615 PR c/65830
1616 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1617 and OPT_Wshift_count_overflow.
1618
485f6b9c 1619 PR c/63357
1620 * c-common.c (warn_logical_operator): Warn if the operands have the
1621 same expressions.
1622
439606a9 16232015-04-24 Marek Polacek <polacek@redhat.com>
1624
1625 PR c/61534
1626 * c-common.c (warn_logical_operator): Bail if either operand comes
1627 from a macro expansion.
1628
de801c28 16292015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1630
1631 PR target/55143
1632 * c-common.c (c_default_pointer_mode): Add definition.
1633 * c-common.h (c_default_pointer_mode): Add declaration.
1634
76738f56 16352015-03-11 Jakub Jelinek <jakub@redhat.com>
1636
1637 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1638 on record_builtin_type argument.
1639
16f958b3 16402015-03-10 Jakub Jelinek <jakub@redhat.com>
1641
1642 PR c/65120
1643 * c-common.c (warn_logical_not_parentheses): Don't warn for
1644 !x == 0 or !x != 0.
1645
9b22f73f 16462015-03-07 Marek Polacek <polacek@redhat.com>
1647
1648 PR sanitizer/65280
1649 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1650 before trying to figure out whether we have a flexible array member.
1651
a864b7d4 16522015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1653 Jonathan Wakely <jwakely.gcc@gmail.com>
1654
1655 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1656
9bf8c90b 16572015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1658
1659 PR ada/65319
1660 * c-ada-spec.c (print_destructor): Remove obsolete code.
1661
037ac54f 16622015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1663
1664 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1665 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1666 DECL_TEMPLATE_RESULT emulations.
1667 (dump_ada_template)): Add guard for TYPE_METHODS.
1668
495cbfb8 16692015-02-27 Marek Polacek <polacek@redhat.com>
1670
1671 PR c/65040
1672 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1673
688a864e 16742015-02-27 Kai Tietz <ktietz@redhat.com>
1675
1676 PR c/35330
1677 * c-pragma.c (handle_pragma_weak): Do not try to create
1678 weak/alias of declarations not being function, or variable
1679 declarations.
1680
6349b8cc 16812015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1682
1683 PR libgomp/64625
1684 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1685 Remove macros.
1686 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1687
3afd5369 16882015-02-16 Marek Polacek <polacek@redhat.com>
1689
1690 PR c/65066
1691 * c-format.c (check_format_types): Handle null param.
1692
46173d1b 16932015-02-13 Marek Polacek <polacek@redhat.com>
1694
1695 PR c/65040
1696 * c-format.c (check_format_types): Don't warn about different
1697 signedness if the original value is in the range of WANTED_TYPE.
1698
1d524ff7 16992015-02-12 Jason Merrill <jason@redhat.com>
1700
1701 PR c++/64956
1702 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1703 to the current highest version.
1704 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1705
bbf8fbec 17062015-02-04 Jakub Jelinek <jakub@redhat.com>
1707
1708 PR c/64824
1709 PR c/64868
1710 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1711 instead of RDIV_EXPR. Use build_binary_op instead of
1712 build2_loc.
1713
c05be867 17142015-01-30 Joseph Myers <joseph@codesourcery.com>
1715
1716 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1717 to pass input_location as first argument.
1718
85977647 17192015-01-23 Tom de Vries <tom@codesourcery.com>
1720
1721 PR libgomp/64672
1722 * c.opt (fopenacc): Mark as LTO option.
1723
fa175926 17242015-01-23 Tom de Vries <tom@codesourcery.com>
1725
1726 PR libgomp/64707
1727 * c.opt (fopenmp): Mark as LTO option.
1728
20aad5ba 17292015-01-21 Jakub Jelinek <jakub@redhat.com>
1730
1731 PR c/63307
8204c077 1732 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1733 (compare_decls): Fix up formatting.
1734
17352015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1736
1737 PR c/63307
1738 * cilk.c: Include vec.h.
1739 (struct cilk_decls): New structure.
1740 (wrapper_parm_cb): Split this function to...
1741 (fill_decls_vec): ...this...
1742 (create_parm_list): ...and this.
1743 (compare_decls): New function.
1744 (for_local_cb): Remove.
1745 (wrapper_local_cb): Ditto.
1746 (build_wrapper_type): For now first traverse and fill vector of
1747 declarations then sort it and then deal with sorted vector.
1748 (cilk_outline): Ditto.
1749 (declare_one_free_variable): Ditto.
1750
60b77e28 17512015-01-21 Jason Merrill <jason@redhat.com>
1752
1753 PR c++/64629
1754 * c-format.c (check_format_arg): Call decl_constant_value.
1755
85fbea97 17562015-01-19 Martin Liska <mliska@suse.cz>
1757
1758 * c-common.c (handle_noicf_attribute): New function.
1759
ca4c3545 17602015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1761 Bernd Schmidt <bernds@codesourcery.com>
1762 James Norris <jnorris@codesourcery.com>
1763 Cesar Philippidis <cesar@codesourcery.com>
1764 Ilmir Usmanov <i.usmanov@samsung.com>
1765 Jakub Jelinek <jakub@redhat.com>
1766
1767 * c.opt (fopenacc): New option.
1768 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1769 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1770 New macros.
1771 * c-common.h (c_finish_oacc_wait): New prototype.
1772 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1773 (c_finish_oacc_wait): New function.
1774 * c-pragma.c (oacc_pragmas): New variable.
1775 (c_pp_lookup_pragma, init_pragma): Handle it.
1776 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1777 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1778 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1779 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1780 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1781 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1782 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1783 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1784 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1785 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1786 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1787 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1788 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1789 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1790 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1791 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1792 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1793 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1794 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1795 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1796 PRAGMA_OACC_CLAUSE_WORKER.
1797
947aa916 17982015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1799
1800 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1801 for the new option fstack-protector_explicit.
1802 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1803 (handle_stack_protect_attribute): New function.
1804
e4fd7af1 18052015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1806
1807 * c.opt: New option -Warray-bounds=.
1808
1f78217c 18092015-01-09 Michael Collison <michael.collison@linaro.org>
1810
1811 * array-notation-common.c: Include hash-set.h, machmode.h,
1812 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1813 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1814 * c-ada-spec.c: Ditto.
1815 * c-cilkplus.c: Ditto.
1816 * c-common.c: Include input.h due to flattening of tree.h.
1817 Define macro GCC_C_COMMON_C.
1818 * c-common.h: Flatten tree.h header files into c-common.h.
1819 Remove include of tree-core.h.
1820 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1821 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1822 fold-const.h, wide-int.h, and inchash.h due to
1823 flattening of tree.h.
1824 * c-dump.c: Ditto.
1825 * c-format.c: Flatten tree.h header files into c-common.h.
1826 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1827 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1828 fold-const.h, wide-int.h, and inchash.h due to
1829 flattening of tree.h.
1830 * c-dump.c: Include hash-set.h, machmode.h,
1831 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1832 fold-const.h, wide-int.h, and inchash.h due to
1833 flattening of tree.h.
1834 * c-format.c: Include hash-set.h, machmode.h,
1835 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1836 fold-const.h, wide-int.h, inchash.h and real.h due to
1837 flattening of tree.h.
1838 * c-gimplify.c: Include hash-set.h, machmode.h,
1839 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1840 fold-const.h, wide-int.h, and inchash.h due to
1841 flattening of tree.h.
1842 * cilk.c: Ditto.
1843 * c-lex.c: Ditto.
1844 * c-omp.c: Ditto.
1845 * c-opts.c: Ditto.
1846 * c-pch.c: Ditto.
1847 * c-ppoutput.c: Ditto.
1848 * c-pragma.c: Ditto.
1849 * c-pretty-print.c: Ditto.
1850 * c-semantics.c: Ditto.
1851 * c-ubsan.c: Ditto.
1852 * stub-objc.c: Ditto.
1853
411b7663 18542015-01-08 Jason Merrill <jason@redhat.com>
1855
1856 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1857 do_ubsan_in_current_function.
1858 (ubsan_maybe_instrument_reference_or_call): Likewise.
1859 * c-ubsan.h: Declare it.
1860
d1e96383 18612015-01-08 Mike Stump <mikestump@comcast.net>
1862
1863 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1864
b57910fa 18652015-01-07 Marek Polacek <polacek@redhat.com>
1866
1867 PR c/64440
1868 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1869 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1870
678a4e3e 18712015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1872
1873 PR c++/31397
1874 * c.opt (Wsuggest-override): New option.
1875
d353bf18 18762015-01-05 Jakub Jelinek <jakub@redhat.com>
1877
1878 Update copyright years.
1879
92b63884 18802015-01-05 Marek Polacek <polacek@redhat.com>
1881
1882 PR c/64423
1883 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1884 parameter. Use it.
1885 * c-common.h (warn_array_subscript_with_type_char): Update
1886 declaration.
1887
83715bc4 18882014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1889
1890 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1891 Control macro with flag_sized_deallocation.
1892
8a8211df 18932014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1894
1895 * c.opt (Wdiscarded-array-qualifiers): New option.
1896
33058239 18972014-12-19 Jakub Jelinek <jakub@redhat.com>
1898
1899 PR preprocessor/63831
1900 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1901 and __has_cpp_attribute here.
1902 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1903 c_common_has_attribute.
1904 * c-common.h (c_common_has_attribute): New prototype.
1905 * c-lex.c (init_c_lex): Set cb->has_attribute to
1906 c_common_has_attribute instead of cb_has_attribute.
1907 (get_token_no_padding): New function.
1908 (cb_has_attribute): Renamed to ...
1909 (c_common_has_attribute): ... this. No longer static. Use
1910 get_token_no_padding, require ()s, don't build TREE_LIST
1911 unnecessarily, fix up formatting, adjust diagnostics, call
1912 init_attributes.
1913
d1856d2c 19142014-12-15 Jason Merrill <jason@redhat.com>
1915
1916 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1917 (-Wsized-deallocation): New.
1918 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1919 to on in C++14 and up.
1920
4972ed5d 19212014-12-11 Jason Merrill <jason@redhat.com>
1922
7d7fa964 1923 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1924
4972ed5d 1925 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1926 we aren't complaining about VLAs.
1927
5ebccf71 19282014-12-06 Marek Polacek <polacek@redhat.com>
1929
1930 PR tree-optimization/64183
1931 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1932 shift-expression if it is integer_type_node. Use types_compatible_p.
1933
f9e245b2 19342014-11-29 Jakub Jelinek <jakub@redhat.com>
1935
1936 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1937 last argument from create_tmp_var_raw and create_tmp_var calls.
1938 * cilk.c (gimplify_cilk_spawn): Likewise.
1939 * c-omp.c (c_finish_omp_atomic): Likewise.
1940
d2f60593 19412014-11-28 Marek Polacek <polacek@redhat.com>
1942
1943 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1944 instead of unsigned_type_node.
1945
fce2dbd1 19462014-11-28 Marek Polacek <polacek@redhat.com>
1947
1948 PR c/63862
1949 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1950 to op1_utype.
1951 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1952 expression to unsigned_type_node.
1953
3a4a2292 19542014-11-20 Mark Wielaard <mjw@redhat.com>
1955
1956 PR debug/38757
1957 * c-opts.c (set_std_c89): Set lang_hooks.name.
1958 (set_std_c99): Likewise.
1959 (set_std_c11): Likewise.
1960 (set_std_cxx98): Likewise.
1961 (set_std_cxx11): Likewise.
1962 (set_std_cxx14): Likewise.
1963 (set_std_cxx1z): Likewise.
1964
c61ef207 19652014-11-21 Jakub Jelinek <jakub@redhat.com>
1966
1967 PR target/63764
1968 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1969 return type to bool.
c9ed79de 1970 * c-common.c: Include gimple-expr.h.
c61ef207 1971 (convert_vector_to_pointer_for_subscript): Change return type to
1972 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1973 and copy it into a TARGET_EXPR and use that instead of *vecp
1974 directly.
1975
1a91d914 19762014-11-19 David Malcolm <dmalcolm@redhat.com>
1977
1978 Merger of git branch "gimple-classes-v2-option-3".
1979 * ChangeLog.gimple-classes: New.
1980 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1981 from being just a vec<gimple> to a vec<gbind *>.
1982
f8fc8b8e 19832014-11-18 Jakub Jelinek <jakub@redhat.com>
1984
1985 PR sanitizer/63813
1986 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1987 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1988 get_pointer_alignment for non-pointers. Use ptype, or if it is
1989 reference type, corresponding pointer type, as type of kind
1990 argument.
1991 (ubsan_maybe_instrument_reference,
1992 ubsan_maybe_instrument_member_call): Adjust callers.
1993
8315e35e 19942014-11-15 Marek Polacek <polacek@redhat.com>
1995
1996 PR middle-end/63884
1997 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1998 for NULL fndecl.
1999 (extract_array_notation_exprs): Return for NULL node.
2000
86b9f14b 20012014-11-12 Joseph Myers <joseph@codesourcery.com>
2002
2003 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
2004 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
2005
0c93c8a9 20062014-11-12 Jakub Jelinek <jakub@redhat.com>
2007
2008 PR c/59708
2009 * c-common.c (check_builtin_function_arguments): Handle
2010 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
2011
fdd735a7 20122014-11-10 Andi Kleen <ak@linux.intel.com>
2013
2014 PR c/60804
2015 * c-common.h (check_no_cilk): Declare.
2016 * cilk.c (get_error_location): New function.
2017 (check_no_cilk): Dito.
2018
5cb678b4 20192014-11-10 Andi Kleen <ak@linux.intel.com>
2020
2021 * cilk.c (recognize_spawn): Use expression location
2022 for error message.
2023
0feb4de1 20242014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2025
2026 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
2027
3aa2fa44 20282014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
2029
2030 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
2031 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
2032 (__cpp_range_based_for, __cpp_initializer_lists,
2033 __cpp_delegating_constructors, __cpp_nsdmi,
2034 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
2035 for C++11; (__cpp_attribute_deprecated): Remove in favor of
2036 __has_cpp_attribute.
2037 * c-lex.c (cb_has_attribute): New callback CPP function;
2038 (init_c_lex): Set has_attribute callback.
2039
7fd22aae 20402014-11-04 Richard Biener <rguenther@suse.de>
2041
2042 * c-common.c (shorten_compare): Do not shorten mixed
2043 DFP and non-DFP compares.
2044
4af203ac 20452014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2046
2047 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
2048 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
2049 Commentary and rearrangement of tests.
2050 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
2051 Commentary and rearrangement of tests.
2052 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
2053 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
2054
3754d046 20552014-10-29 Richard Sandiford <richard.sandiford@arm.com>
2056
2057 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
2058 enum from machine_mode.
2059
1140c305 20602014-10-28 Andrew MacLeod <amacleod@redhat.com>
2061
1f78217c 2062 * c-common.c: Adjust include files.
2063 * c-gimplify.c: Ditto.
2064 * cilk.c: Ditto.
2065 * c-pragma.c: Ditto.
2066 * c-ubsan.c: Ditto.
1140c305 2067
94ea8568 20682014-10-27 Andrew MacLeod <amacleod@redhat.com>
2069
2070 * c-gimplify.c: Adjust include files.
2071
32ecf960 20722014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
2073
2074 PR c++/53061
2075 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
2076 c_common_initialize_diagnostics.
2077 * c-common.h: Likewise.
2078
85fecbe2 20792014-10-24 Marek Polacek <polacek@redhat.com>
2080
2081 PR c/56980
2082 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
2083 print "struct"/"union"/"enum" for typedefed names.
2084
e7ec033a 20852014-10-23 Marek Polacek <polacek@redhat.com>
2086
2087 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
2088 in unsigned type.
2089
c2598081 20902014-10-22 Jakub Jelinek <jakub@redhat.com>
2091 Yury Gribov <y.gribov@samsung.com>
2092
2093 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2094 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
2095 instead of flag_sanitize_recover as bool flag.
2096
acebb7e2 20972014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
2098
2099 * cilk.c: Revert previous change.
2100
6115016c 21012014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
2102
2103 PR c/63307
2104 * cilk.c: Include vec.h.
2105 (struct cilk_decls): New structure.
2106 (wrapper_parm_cb): Split this function to...
2107 (fill_decls_vec): ...this...
2108 (create_parm_list): ...and this.
2109 (compare_decls): New function.
2110 (for_local_cb): Remove.
2111 (wrapper_local_cb): Ditto.
2112 (build_wrapper_type): For now first traverse and fill vector of
2113 declarations then sort it and then deal with sorted vector.
2114 (cilk_outline): Ditto.
2115 (declare_one_free_variable): Ditto.
2116
e610d2b2 21172014-10-17 Marek Polacek <polacek@redhat.com>
2118
2119 * c-opts.c (c_common_post_options): Set warn_implicit_int.
2120 * c.opt (Wimplicit-int): Initialize to -1.
2121
a3020f2f 21222014-10-16 Andrew MacLeod <amacleod@redhat.com>
2123
2124 * c-pragma.c: Adjust include files.
2125 * c-semantics.c: Likewise.
2126
926ddd2c 21272014-10-16 DJ Delorie <dj@redhat.com>
2128
2129 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
2130 multiples of bytes.
2131
b0542e7c 21322014-10-14 Jason Merrill <jason@redhat.com>
2133
2134 PR c++/63455
2135 * c-common.h (CPP_PREPARSED_EXPR): New.
2136 (N_CP_TTYPES): Adjust.
2137
b2601928 21382014-10-15 Marek Polacek <polacek@redhat.com>
2139
2140 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
2141
9f75f026 21422014-10-14 DJ Delorie <dj@redhat.com>
2143
2144 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
2145 types, not just __int128.
2146 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
2147 types, not just __int128.
2148 (cpp_atomic_builtins): Round pointer sizes up.
2149 (type_suffix): Use type precision, not specific types.
2150 * c-common.c (c_common_reswords): Remove __int128 special case.
2151 (c_common_type_for_size): Check for all __intN types, not just
2152 __int128.
2153 (c_common_type_for_mode): Likewise.
2154 (c_common_signed_or_unsigned_type): Likewise.
2155 (c_build_bitfield_integer_type): Likewise.
2156 (c_common_nodes_and_builtins): Likewise.
2157 (keyword_begins_type_specifier): Likewise.
2158 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
2159 __intN variants.
2160
2ef51f0e 21612014-10-12 Trevor Saunders <tsaunders@mozilla.com>
2162
2163 * c-common.c: Use hash_table instead of hashtab.
2164
5b8257e3 21652014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
2166
1f78217c 2167 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 2168 C++11 section.
2169
5e84569c 21702014-10-03 Marc Glisse <marc.glisse@inria.fr>
2171
2172 PR c++/54427
2173 PR c++/57198
2174 PR c++/58845
2175 * c-common.c (warn_logical_operator): Punt for vectors.
2176
f6751ff2 21772014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
2178
2179 Implement SD-6: SG10 Feature Test Recommendations
2180 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
2181 macros and the __has_header macro.
2182
c33e051d 21832014-09-30 Jason Merrill <jason@redhat.com>
2184
f76a9aa8 2185 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
2186 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
2187 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2188
717e52f9 2189 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
2190 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
2191
c33e051d 2192 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
2193 * c-common.c (c_common_reswords): Remove __is_convertible_to.
2194
5213d6c9 21952014-09-24 Marek Polacek <polacek@redhat.com>
2196
2197 PR c/61405
2198 PR c/53874
2199 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
2200
6b722052 22012014-09-23 Andi Kleen <ak@linux.intel.com>
2202
2203 * c-common.c (handle_no_reorder_attribute): New function.
2204 (c_common_attribute_table): Add no_reorder attribute.
2205
0cb69d12 22062014-09-22 Joseph Myers <joseph@codesourcery.com>
2207
2208 * c-cppbuiltin.c (c_cpp_builtins): Define
2209 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
2210 modes.
2211
168dfbf0 22122014-09-18 Joseph Myers <joseph@codesourcery.com>
2213
2214 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
2215 for supported floating-point modes.
2216
b83705f4 22172014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2218
2219 * c.opt (Wpsabi): Use LangEnabledBy.
2220 * c-opts.c (c_common_handle_option): Do not handle here.
2221
d5957f0d 22222014-09-12 Joseph Myers <joseph@codesourcery.com>
2223
2224 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
2225 macros for floating-point modes.
2226
bae6edff 22272014-09-11 Marc Glisse <marc.glisse@inria.fr>
2228
2229 PR target/58757
2230 * c-cppbuiltin.c (builtin_define_float_constants): Correct
2231 __*_DENORM_MIN__ without denormals.
2232
73a69d02 22332014-09-10 Jakub Jelinek <jakub@redhat.com>
2234
2235 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2236 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2237 ubsan_create_data callers.
2238 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
2239 index is constant or BIT_AND_EXPR with constant mask and is
2240 small enough for the bound.
2241 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
2242 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
2243
7ff8db31 22442014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2245
2246 * c.opt: Add CppReason to various flags.
2247 (Wdate-time): Re-sort.
2248 * c-common.c: Include c-common.h earlier.
2249 (struct reason_option_codes_t): Delete.
2250 (c_option_controlling_cpp_error): Prefix global type and struct
2251 with cpp_.
2252
bcc1f37e 22532014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2254
2255 * c.opt (Wnormalized): New.
2256 (Wnormalized=): Use Enum and Reject Negative.
2257 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
2258
b660d3c6 22592014-09-08 Joseph Myers <joseph@codesourcery.com>
2260
2261 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
2262 digits of floating-point modes if -fbuilding-libgcc.
2263
325b8c3c 22642014-09-05 Joseph Myers <joseph@codesourcery.com>
2265
2266 * c-cppbuiltin.c (c_cpp_builtins): Also define
2267 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
2268 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
2269 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
2270 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
2271 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
2272 __LIBGCC_STACK_GROWS_DOWNWARD__,
2273 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
2274 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
2275 __LIBGCC_DWARF_FRAME_REGISTERS__,
2276 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
2277 __LIBGCC_STACK_POINTER_REGNUM__ and
2278 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
2279 (builtin_define_with_value): Handle backslash-escaping in string
2280 macro values.
2281
1e074e77 22822014-09-05 Richard Biener <rguenther@suse.de>
2283
2284 PR middle-end/63148
2285 * c-format.c (check_format_arg): Properly handle
2286 effectively signed POINTER_PLUS_EXPR offset.
2287
04afd878 22882014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2289
2290 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
2291 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
2292 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
2293 and Init.
2294 * c-opts.c (c_common_handle_option): Do not handle here.
2295 (sanitize_cpp_opts): Likewise.
2296 * c-common.c (struct reason_option_codes_t): Handle
2297 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
2298
a3f448f0 22992014-09-03 Marek Polacek <polacek@redhat.com>
2300
2301 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
2302
40750995 23032014-09-02 Jakub Jelinek <jakub@redhat.com>
2304 Balaji V. Iyer <balaji.v.iyer@intel.com>
2305 Igor Zamyatin <igor.zamyatin@intel.com>
2306
2307 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
2308 * c-common.c (c_common_reswords): Added _Cilk_for.
2309 * c-common.h (enum rid): Added RID_CILK_FOR.
2310 (cilk_for_number_of_iterations): Add declaration.
2311 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
2312 CILK_FOR.
2313 * c-pragma.c (init_pragma): Register "grainsize" pragma.
2314 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
2315
f0fbe519 23162014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2317
2318 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
2319 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
2320 Wundef): Use CPP, Var and Init.
2321 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
2322
a7d2e480 23232014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2324
2325 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
2326 * c-opts.c (c_common_handle_option): Do not handle here.
2327
c35e53f1 23282014-08-25 Jason Merrill <jason@redhat.com>
2329
2330 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
2331 -std=c++14 and -std=gnu++14, rather than the reverse.
2332 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
2333 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
2334 * c-common.h (cxx_dialect): Remove cxx1y.
2335
4e454776 23362014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
2337
2338 * c-common.h (enum cxx_dialect): Add cxx14.
2339 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
2340 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
2341 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
2342
af1a80f2 23432014-08-22 Jason Merrill <jason@redhat.com>
2344
2345 * c.opt (std=gnu++17): Fix alias.
2346
dc6229e8 23472014-08-22 Marek Polacek <polacek@redhat.com>
2348
2349 PR c++/62199
2350 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
2351 check for vector types. Drop LHS argument.
2352 * c-common.h (warn_logical_not_parentheses): Adjust.
2353
ba7f7c88 23542014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2355
2356 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
2357 (Wmultichar): Likewise.
2358 (Wdate-time): Use C-family languages instead of Common. Use CPP
2359 and Var.
2360 * c-opts.c (c_common_handle_option): Do not handle the above
2361 options here.
2362 (sanitize_cpp_opts): Likewise.
2363
399d4f80 23642014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2365
2366 PR fortran/44054
2367 * c-opts.c: Include tree-diagnostics.h.
2368 (c_diagnostic_finalizer): New.
2369 (c_common_initialize_diagnostics): Use it.
2370
1babed5f 23712014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2372
2373 PR preprocessor/51303
2374 * c-common.c (struct reason_option_codes_t option_codes):
2375 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
2376
3636964b 23772014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2378
2379 PR c/60975
2380 PR c/53063
2381 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
2382 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
2383 (c_common_post_options): Call init_global_opts_from_cpp.
2384 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
2385
78bf4156 23862014-08-19 Marek Polacek <polacek@redhat.com>
2387
2388 PR c++/62153
2389 * c-common.c (maybe_warn_bool_compare): New function.
2390 * c-common.h (maybe_warn_bool_compare): Declare.
2391 * c.opt (Wbool-compare): New option.
2392
508ea33a 23932014-08-19 Marek Polacek <polacek@redhat.com>
2394
2395 * c.opt (Wc99-c11-compat): New option.
2396
806fe15e 23972014-08-19 Marek Polacek <polacek@redhat.com>
2398
2399 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
2400 to warn_c90_c99_compat.
2401 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
2402 to -1.
2403
6c867de1 24042014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
2405 Steven Bosscher <steven@gcc.gnu.org>
2406
2407 PR c/52952
2408 * c-format.c: Add extra_arg_loc and format_string_loc to struct
2409 format_check_results.
2410 (check_function_format): Use true and add comment for boolean
2411 argument.
2412 (finish_dollar_format_checking): Use explicit location when warning.
2413 (check_format_info): Likewise.
2414 (check_format_arg): Set extra_arg_loc and format_string_loc.
2415 (check_format_info_main): Use explicit location when warning.
2416 (check_format_types): Pass explicit location.
2417 (format_type_warning): Likewise.
2418
dc8078a3 24192014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2420
2421 PR fortran/44054
2422 * c-format.c: Handle Fortran flags.
2423
d271ec7e 24242014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
2425
2426 PR other/61962
2427 * array-notation-common.c (find_rank): Added handling for other
2428 types of references.
2429
890c2e2f 24302014-08-10 Marek Polacek <polacek@redhat.com>
2431
2432 PR c/51849
2433 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
2434 * c.opt (Wc90-c99-compat): Add option.
2435
7149db5f 24362014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2437
2438 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
2439
2d2f6a15 24402014-08-03 Marek Polacek <polacek@redhat.com>
2441
2442 * c-common.c (check_case_value): Add location_t parameter. Use it.
2443 (c_add_case_label): Pass loc to check_case_value.
2444
06ecf488 24452014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2446
2447 * cilk.c: Use hash_map instead of pointer_map.
2448
431205b7 24492014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2450
2451 * c-gimplify.c: Use hash_set instead of pointer_set.
2452
3394c80c 24532014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2454
2455 PR middle-end/61455
2456 * array-notation-common.c (extract_array_notation_exprs): Handling
2457 of DECL_EXPR added.
2458
392dee1e 24592014-08-01 Jakub Jelinek <jakub@redhat.com>
2460
2461 * c-common.h (min_align_of_type): Removed prototype.
2462 * c-common.c (min_align_of_type): Removed.
2463 * c-ubsan.h (ubsan_maybe_instrument_reference,
2464 ubsan_maybe_instrument_member_call): New prototypes.
2465 * c-ubsan.c: Include stor-layout.h and builtins.h.
2466 (ubsan_maybe_instrument_reference_or_call,
2467 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2468 functions.
2469
f22a2cb7 24702014-07-31 Marc Glisse <marc.glisse@inria.fr>
2471
2472 PR c++/60517
2473 * c.opt (-Wreturn-local-addr): Move to common.opt.
2474
87b0198f 24752014-07-30 Jason Merrill <jason@redhat.com>
2476
2477 PR c++/61659
2478 PR c++/61687
2479 Revert:
2480 * c.opt (-fuse-all-virtuals): New.
2481
74691f46 24822014-07-30 Tom Tromey <tromey@redhat.com>
2483
2484 PR c/59855
2485 * c.opt (Wdesignated-init): New option.
2486 * c-common.c (c_common_attribute_table): Add "designated_init".
2487 (handle_designated_init): New function.
2488
9140d56f 24892014-07-24 Marek Polacek <polacek@redhat.com>
2490
2491 PR c/57653
2492 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2493
a09c5cc2 24942014-07-16 Dodji Seketeli <dodji@redhat.com>
2495
2496 PR preprocessor/60723 - missing system-ness marks for macro tokens
2497 * c-ppoutput.c (struct print::prev_was_system_token): New data
2498 member.
2499 (init_pp_output): Initialize it.
2500 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2501 (do_line_change): Return a flag saying if a line marker was
2502 emitted or not.
2503 (scan_translation_unit): Detect if the system-ness of the token we
2504 are about to emit is different from the one of the previously
2505 emitted token. If so, emit a line marker. Avoid emitting useless
2506 adjacent line markers. Avoid emitting line markers for tokens
2507 originating from the expansion of built-in macros.
2508 (scan_translation_unit_directives_only): Adjust.
2509
2b25b62f 25102014-07-15 Marek Polacek <polacek@redhat.com>
2511
2512 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2513 TYPE_MAX_VALUE is NULL.
2514
305d96bc 25152014-07-14 Jakub Jelinek <jakub@redhat.com>
2516
2517 PR middle-end/61294
2518 * c.opt (Wmemset-transposed-args): New warning.
2519
8ea4660d 25202014-07-10 Jason Merrill <jason@redhat.com>
2521
2522 PR c++/61659
2523 PR c++/61687
2524 * c.opt (-fuse-all-virtuals): New.
2525
cd480f3d 25262014-07-09 Richard Biener <rguenther@suse.de>
2527
2528 PR c-family/61741
2529 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2530 using unsigned arithmetic if overflow does not wrap instead of
2531 if overflow is undefined.
2532
87d59e72 25332014-07-06 Marek Polacek <polacek@redhat.com>
2534
2535 PR c/6940
2536 * c.opt (Wsizeof-array-argument): New option.
2537
d69521d8 25382014-07-03 Jakub Jelinek <jakub@redhat.com>
2539
8204c077 2540 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 2541 comments->count <= 1, as comments->entries might be NULL.
2542
1207866e 25432014-07-01 Marek Polacek <polacek@redhat.com>
2544
2545 * c.opt (Wint-conversion): New option.
2546
7a6bbb76 25472014-07-01 Marek Polacek <polacek@redhat.com>
2548
2549 PR c/58286
2550 * c.opt (Wincompatible-pointer-types): New option.
2551
9d4eeb52 25522014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2553
2554 PR c++/51400
2555 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
2556 Do not discard TYPE_QUALS of type.
2557
4b53bc0f 25582014-06-26 Jason Merrill <jason@redhat.com>
2559
2560 * c-common.h (enum cxx_dialect): Add cxx1z.
2561 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
2562 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
2563
a8a8d4ea 25642014-06-26 Teresa Johnson <tejohnson@google.com>
2565
2566 * c-common.h (get_dump_info): Declare.
2567 * c-gimplify.c (c_genericize): Use saved dump files.
2568 * c-opts.c (c_common_parse_file): Begin and end dumps
2569 once around parsing invocation.
2570 (get_dump_info): New function.
2571
1f6be080 25722014-06-23 Marek Polacek <polacek@redhat.com>
2573 Andrew MacLeod <amacleod@redhat.com>
2574
2575 PR c/61553
2576 * c-common.c (get_atomic_generic_size): Don't segfault if the
2577 type doesn't have a size.
2578
5ef6b660 25792014-06-20 Marek Polacek <polacek@redhat.com>
2580
2581 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2582 (ubsan_walk_array_refs_r): New function.
2583 (c_genericize): Instrument array bounds.
2584 * c-ubsan.c: Include "internal-fn.h".
2585 (ubsan_instrument_division): Mark instrumented arrays as having
2586 side effects. Adjust ubsan_type_descriptor call.
2587 (ubsan_instrument_shift): Likewise.
2588 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2589 (ubsan_instrument_bounds): New function.
2590 (ubsan_array_ref_instrumented_p): New function.
2591 (ubsan_maybe_instrument_array_ref): New function.
2592 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2593 (ubsan_array_ref_instrumented_p): Declare.
2594 (ubsan_maybe_instrument_array_ref): Declare.
2595
25962014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 2597
2598 PR lto/61123
2599 * c.opt (fshort-enums): Add to LTO.
2600 * c.opt (fshort-wchar): Likewise.
2601
78438f31 26022014-06-16 Marek Polacek <polacek@redhat.com>
2603
2604 PR c/60439
2605 * c.opt (Wswitch-bool): Add Var.
2606
5fddcf34 26072014-06-12 Jakub Jelinek <jakub@redhat.com>
2608
2609 PR middle-end/61486
2610 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2611 #pragma omp target teams or
2612 #pragma omp {,target }teams distribute simd.
2613
74b777e5 26142014-06-12 Jason Merrill <jason@redhat.com>
2615
2616 * c.opt (Wabi=, fabi-compat-version): New.
2617 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2618 (c_common_post_options): Handle flag_abi_compat_version default.
2619 Disallow -fabi-compat-version=1.
2620 * c-common.h (abi_version_crosses): New.
2621
738a6bda 26222014-06-11 Jan Hubicka <hubicka@ucw.cz>
2623
1f78217c 2624 * c-common.c (handle_section_attribute): Update handling for
738a6bda 2625 section names that are no longer trees.
2626
cf5f881f 26272014-06-10 Jakub Jelinek <jakub@redhat.com>
2628
2629 PR fortran/60928
2630 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2631 (omp_pragmas): ... back here.
2632
32dc1512 26332014-06-05 Marek Polacek <polacek@redhat.com>
2634
2635 PR c/49706
2636 * c-common.c (warn_logical_not_parentheses): New function.
2637 * c-common.h (warn_logical_not_parentheses): Declare.
2638 * c.opt (Wlogical-not-parentheses): New option.
2639
f61a9bc2 26402014-06-04 Marek Polacek <polacek@redhat.com>
2641
2642 PR c/30020
2643 * c-common.c (check_case_bounds): Add location parameter.
2644 Use it.
2645 (c_add_case_label): Pass loc to check_case_bounds.
2646
c69ec07d 26472014-06-03 Marek Polacek <polacek@redhat.com>
2648
2649 PR c/60439
2650 * c.opt (Wswitch-bool): New option.
2651
3c77ca67 26522014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2653
68a2c870 2654 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2655 Remove prototypes.
2656 (record_types_used_by_current_var_decl): Move prototype to where
2657 it belongs.
2658
3c77ca67 2659 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2660 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2661 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2662
3ab4693e 26632014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2664
2665 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2666 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2667 void_zero_node.
2668 * c-pretty-print.c (pp_c_void_constant): New function.
2669 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2670 (c_pretty_printer::expression): Handle VOID_CST.
2671 * cilk.c (extract_free_variables): Likewise.
2672 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2673 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2674
25a27413 26752014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2676
2677 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2678 * c-pragma.c (push_alignment): Adjust.
2679 (handle_pragma_push_options): Likewise.
2680
3e5a8b00 26812014-05-09 Marek Polacek <polacek@redhat.com>
2682
2683 PR c/50459
2684 * c-common.c (check_user_alignment): Return -1 if alignment is error
2685 node.
2686 (handle_aligned_attribute): Don't call default_conversion on
2687 FUNCTION_DECLs.
2688 (handle_vector_size_attribute): Likewise.
2689 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2690 (handle_sentinel_attribute): Call default_conversion and allow even
2691 integral types as an argument.
2692
c2c4ae8d 26932014-05-08 Marek Polacek <polacek@redhat.com>
2694
2695 PR c/61053
2696 * c-common.c (min_align_of_type): New function factored out from...
2697 (c_sizeof_or_alignof_type): ...here.
2698 * c-common.h (min_align_of_type): Declare.
2699
2026249a 27002014-05-08 Marek Polacek <polacek@redhat.com>
2701
2702 PR c/61077
2703 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2704 parameter type of main.
2705
33c8dcfe 27062014-05-07 DJ Delorie <dj@redhat.com>
2707
2708 * c-cppbuiltin.c (print_bits_of_hex): New.
2709 (builtin_define_type_minmax): Print values using hex so as not to
2710 require a pre-computed list of string values.
2711
960d5a55 27122014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2713 Mike Stump <mikestump@comcast.net>
2714 Richard Sandiford <rdsandiford@googlemail.com>
2715
2716 * c-ada-spec.c: Include wide-int.h.
2717 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2718 (dump_generic_ada_node): Use wide-int interfaces.
2719 * c-common.c: Include wide-int-print.h.
2720 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2721 (pointer_int_sum): Use wide-int interfaces.
2722 (c_common_nodes_and_builtins): Use make_int_cst.
2723 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2724 (handle_alloc_size_attribute): Use wide-int interfaces.
2725 (get_nonnull_operand): Likewise.
2726 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2727 * c-lex.c: Include wide-int.h.
2728 (narrowest_unsigned_type): Take a widest_int rather than two
2729 HOST_WIDE_INTs.
2730 (narrowest_signed_type): Likewise.
2731 (interpret_integer): Update accordingly. Use wide-int interfaces.
2732 (lex_charconst): Use wide-int interfaces.
2733 * c-pretty-print.c: Include wide-int.h.
2734 (pp_c_integer_constant): Use wide-int interfaces.
2735 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2736 INT_CST_LT_UNSIGNED.
2737
bbb88b31 27382014-05-06 Richard Biener <rguenther@suse.de>
2739
2740 * c-opts.c (c_common_post_options): For -freestanding,
2741 -fno-hosted and -fno-builtin disable pattern recognition
2742 if not enabled explicitely.
2743
022d4718 27442014-05-02 Marek Polacek <polacek@redhat.com>
2745
2746 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2747
e4ab2ef3 27482014-05-01 Marek Polacek <polacek@redhat.com>
2749
2750 PR c/43245
2751 * c.opt (Wdiscarded-qualifiers): Add.
2752
52cc0072 27532014-04-30 Marek Polacek <polacek@redhat.com>
2754
2755 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2756 INT_MIN / -1 sanitization only for integer types.
2757
4a026b48 27582014-04-25 Marek Polacek <polacek@redhat.com>
2759
2760 PR c/18079
2761 * c-common.c (handle_noinline_attribute): Warn if the attribute
2762 conflicts with always_inline attribute.
2763 (handle_always_inline_attribute): Warn if the attribute conflicts
2764 with noinline attribute.
2765
90e645fa 27662014-04-25 Marek Polacek <polacek@redhat.com>
2767
2768 PR c/60156
2769 * c-common.c (check_main_parameter_types): Warn about variadic main.
2770
db103ea4 27712014-04-24 Mike Stump <mikestump@comcast.net>
2772
2773 * c.opt (Wshadow-ivar): Default to on.
2774
06511efd 27752014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2776
2777 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2778
cdf34fca 27792014-04-23 Marek Polacek <polacek@redhat.com>
2780
2781 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2782
7311d7c1 27832014-04-22 Jakub Jelinek <jakub@redhat.com>
2784
2785 PR sanitizer/60275
2786 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2787 if flag_sanitize_undefined_trap_on_error.
2788 (ubsan_instrument_division, ubsan_instrument_shift,
2789 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2790 if !flag_sanitize_recover.
2791
c1917557 27922014-04-22 Marc Glisse <marc.glisse@inria.fr>
2793
2794 PR libstdc++/43622
2795 * c-common.c (registered_builtin_types): Make non-static.
2796 * c-common.h (registered_builtin_types): Declare.
2797
b2ca6510 27982014-04-14 Richard Biener <rguenther@suse.de>
2799 Marc Glisse <marc.glisse@inria.fr>
2800
2801 PR c/60819
2802 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2803 apply may-alias the scalar pointer type when applicable.
2804
855372a3 28052014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2806
2807 PR middle-end/60467
2808 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2809 as possible argument for Cilk_spawn.
2810
4012a986 28112014-04-11 Tobias Burnus <burnus@net-b.de>
2812
2813 PR c/60194
2814 * c.opt (Wformat-signedness): Add
2815 * c-format.c(check_format_types): Use it.
2816
0d284870 28172014-04-11 Jason Merrill <jason@redhat.com>
2818
2819 PR c++/57926
2820 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2821 default_conversion for an array argument.
2822
a34c1231 28232014-04-08 Marek Polacek <polacek@redhat.com>
2824
2825 PR sanitizer/60745
2826 * c-ubsan.c: Include asan.h.
2827 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2828
a35a8e18 28292014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2830
2831 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2832
b23e42b6 28332014-04-02 Marek Polacek <polacek@redhat.com>
2834
2835 * c-common.h (c_expand_expr): Remove declaration.
2836
5a672e62 28372014-03-28 Jakub Jelinek <jakub@redhat.com>
2838
2839 PR c++/60689
2840 * c-common.c (add_atomic_size_parameter): When creating new
2841 params vector, push the size argument first.
2842
d4d068c0 28432014-03-26 Jakub Jelinek <jakub@redhat.com>
2844
2845 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2846 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2847 ubsan_create_data callers.
2848
446bdf5f 28492014-03-22 Jakub Jelinek <jakub@redhat.com>
2850
2851 PR debug/60603
2852 * c-opts.c (c_finish_options): Restore cb_file_change call to
2853 <built-in>.
2854
8895f0a3 28552014-03-13 Jakub Jelinek <jakub@redhat.com>
2856
2857 PR middle-end/36282
2858 * c-pragma.c (apply_pragma_weak): Only look at
2859 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2860 DECL_ASSEMBLER_NAME_SET_P (decl).
2861 (maybe_apply_pending_pragma_weaks): Exit early if
2862 vec_safe_is_empty (pending_weaks) rather than only when
2863 !pending_weaks.
2864 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2865 set assembler name back to NULL afterwards.
2866
7a5da2cd 28672014-03-11 Jason Merrill <jason@redhat.com>
2868
2869 * c.opt: Add -std=gnu++14.
2870
95093889 28712014-03-11 Ian Bolton <ian.bolton@arm.com>
2872
2873 * c-opts.c (c_common_post_options): Don't override
2874 -ffp-contract=fast if unsafe-math-optimizations is on.
2875
c9a24b37 28762014-03-08 Paulo Matos <paulo@matos-sorge.com>
2877
2878 * c.opt: Enable LTO FE for fshort-double.
2879
3f6dba6e 28802014-03-07 Jason Merrill <jason@redhat.com>
2881
2882 * c.opt: Add -std=c++14.
2883
3bfdc94f 28842014-03-06 Marek Polacek <polacek@redhat.com>
2885
2886 PR c/60197
2887 * cilk.c (contains_cilk_spawn_stmt): New function.
2888 (contains_cilk_spawn_stmt_walker): Likewise.
2889 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2890 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2891
8b3a6a4c 28922014-03-03 Jakub Jelinek <jakub@redhat.com>
2893
2894 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2895 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2896 even when flag_preprocess_only.
2897
734ec290 28982014-02-26 Jason Merrill <jason@redhat.com>
2899
2900 PR c++/59231
2901 PR c++/11586
2902 * c-common.c (shorten_compare): Don't check
2903 c_inhibit_evaluation_warnings.
2904
81aec8b8 29052014-02-19 Jakub Jelinek <jakub@redhat.com>
2906
d1081017 2907 PR c/37743
2908 * c-common.c (c_common_nodes_and_builtins): When initializing
2909 c_uint{16,32,64}_type_node, also set corresponding
2910 uint{16,32,64}_type_node to the same value.
2911
81aec8b8 2912 PR c++/60267
2913 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2914 for PRAGMA_IVDEP if flag_preprocess_only.
2915
312243bb 29162014-02-12 Jakub Jelinek <jakub@redhat.com>
2917
2918 PR c/60101
2919 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2920 if false, add ADD itself, rather than vice versa.
2921 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2922 copy. For SAVE_EXPR, only call merge_tlist once.
2923
237e78b1 29242014-02-08 Jakub Jelinek <jakub@redhat.com>
2925
2926 PR middle-end/60092
2927 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2928 and tree_to_uhwi.
2929 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2930 functions.
2931 (c_common_attribute_table): Add alloc_align and assume_aligned
2932 attributes.
2933
76fdceeb 29342014-02-06 Marek Polacek <polacek@redhat.com>
2935
2936 PR c/60087
2937 * c-common.c (warn_for_sign_compare): Call warning_at with location
2938 instead of warning.
2939
4a4dea42 29402014-02-05 Marek Polacek <polacek@redhat.com>
2941
2942 PR c/53123
2943 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2944 statement.
2945
ec704957 29462014-02-04 Marek Polacek <polacek@redhat.com>
2947
2948 PR c/60036
2949 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2950 SAVE_EXPR.
2951
caf62483 29522014-02-03 Marc Glisse <marc.glisse@inria.fr>
2953
2954 PR c++/53017
2955 PR c++/59211
2956 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2957 handle_vector_size_attribute, handle_nonnull_attribute): Call
2958 default_conversion on the attribute argument.
2959 (handle_nonnull_attribute): Increment the argument number.
2960
ec761d5a 29612014-01-31 Marek Polacek <polacek@redhat.com>
2962
2963 PR c/59963
2964 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2965 build_function_call_vec.
2966 (resolve_overloaded_builtin): Likewise.
2967 * c-common.h (build_function_call_vec): Adjust declaration.
2968
22a75734 29692014-01-30 Marek Polacek <polacek@redhat.com>
2970
2971 PR c/59940
2972 * c-common.h (unsafe_conversion_p): Adjust declaration.
2973 (warnings_for_convert_and_check): Likewise.
2974 (convert_and_check): Likewise.
2975 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2976 expansion_point_location_if_in_system_header on it.
2977 (warnings_for_convert_and_check): Add location parameter. Call
2978 expansion_point_location_if_in_system_header on it. Use it.
2979 (convert_and_check): Add location parameter. Use it.
2980 (conversion_warning): Likewise.
2981 (c_add_case_label): Adjust convert_and_check calls.
2982 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2983
a89e6c15 29842014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2985
2986 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2987 flag_cilkplus.
2988 * c-pragma.c (init_pragma): Likewise.
2989 * c.opt: Likewise.
2990
2623625f 29912014-01-23 Marek Polacek <polacek@redhat.com>
2992
2993 PR c/59846
2994 * c-common.c (shorten_compare): Add location_t parameter.
2995 * c-common.h (shorten_binary_op): Adjust declaration.
2996
46da3601 29972014-01-23 Marek Polacek <polacek@redhat.com>
2998
2999 PR c/58346
3000 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
3001 * c-common.h: Declare it.
3002
c9743c6a 30032014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3004
3005 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
3006 * c-ada-spec.c (dump_ads): Likewise.
3007 (cpp_check): Likewise.
3008 (dump_ada_specs): Likewise.
3009
30102014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 3011
3012 PR c++/49718
3013 * c-common.c (handle_no_instrument_function_attribute): Allow
3014 no_instrument_function attribute in class member
3015 definition/declaration.
3016
1248c663 30172014-01-15 Jakub Jelinek <jakub@redhat.com>
3018
3019 PR c/58943
3020 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
3021 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
3022 being COMPOUND_EXPR.
3023 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
3024 operand a SAVE_EXPR and second MODIFY_EXPR.
3025
6e5c480b 30262014-01-09 Jakub Jelinek <jakub@redhat.com>
3027
3028 PR target/58115
3029 * c-pch.c (c_common_write_pch): Call
3030 prepare_target_option_nodes_for_pch.
3031
3aea1f79 30322014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3033
3034 Update copyright years
3035
e4f22041 30362014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3037
3038 * array-notation-common.c, c-cilkplus.c: Use the standard form for
3039 the copyright notice.
3040
7fb0fe24 30412013-12-28 Eric Botcazou <ebotcazou@adacore.com>
3042
3043 * c-ada-spec.c (print_constructor): New function.
3044 (print_destructor): Retrieve the origin of the destructor.
3045 (print_ada_declaration): Revamp handling of constructors/destructors.
3046
468088ac 30472013-12-23 Stuart Hastings <stuart@apple.com>
3048 Bill Maddox <maddox@google.com>
3049 Jason Merrill <jason@redhat.com>
3050
3051 * c.opt: Add -fdeclone-ctor-dtor.
3052 * c-opts.c (c_common_post_options): Default to on iff -Os.
3053
74acc703 30542013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
3055
3056 * c-common.c (c_common_attribute_table): Added "cilk simd function"
3057 attribute.
3058 * c-pragma.h (enum pragma_cilk_clause): Remove.
3059 (enum pragma_omp_clause): Added the following fields:
3060 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
3061 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
3062 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
3063 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
3064 PRAGMA_CILK_CLAUSE_UNIFORM.
3065
8204c077 3066
433e804e 30672013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
3068
3069 * cilk.c (cilk_outline): Made this function non-static.
3070 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
3071 (create_cilk_wrapper): Added a new parameter: a function pointer.
3072 (c_install_body_w_frame_cleanup): Remove
3073 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
3074 * c-common.h (cilk_outline): New prototype.
3075 (gimplify_cilk_spawn): Removed two parameters.
3076 (cilk_install_body_with_frame_cleanup): New prototype.
3077 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
3078 CILK_SPAWN_STMT case.
3079
5bcc7e60 30802013-12-11 Bernd Schmidt <bernds@codesourcery.com>
3081
e66325ea 3082 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
3083
5bcc7e60 3084 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
3085 (int_array_type_node): Remove.
3086 * c-common.c (c_common_nodes_and_builtins): Don't build it.
3087
0b26ec77 30882013-12-05 Marek Polacek <polacek@redhat.com>
3089
3090 PR c/52023
3091 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
3092 [ADJUST_FIELD_ALIGN].
3093
a179a7dc 30942013-12-04 Joseph Myers <joseph@codesourcery.com>
3095
3096 PR c/52023
3097 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
3098 and check field alignment if set.
3099 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
3100 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
3101
8204c077 31022013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 3103 Marek Polacek <polacek@redhat.com>
3104
3105 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
3106 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
3107
648fd348 31082013-11-29 H.J. Lu <hongjiu.lu@intel.com>
3109
3110 PR c/59309
3111 * cilk.c (gimplify_cilk_spawn): Properly handle function without
3112 arguments.
3113
253e1cae 31142013-11-29 Jakub Jelinek <jakub@redhat.com>
3115
3116 PR c/59280
3117 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
3118 goto invalid. If it is error_mark_node, don't issue further
3119 diagnostics.
3120
3e398f5b 31212013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
3122
3123 * c.opt (Wopenmp-simd): New.
3124
020bc656 31252013-11-22 Jakub Jelinek <jakub@redhat.com>
3126
3127 * c-ubsan.h (ubsan_instrument_return): New prototype.
3128 * c-ubsan.c (ubsan_instrument_return): New function.
3129
bc61cadb 31302013-11-22 Andrew MacLeod <amacleod@redhat.com>
3131
3132 * c-common.c: Add required include files from gimple.h.
3133 * c-gimplify.c: Likewise
3134 * cilk.c: Likewise
3135
3df42822 31362013-11-22 David Malcolm <dmalcolm@redhat.com>
3137
3138 * c-common.c (unsafe_conversion_p): Remove use of
3139 EXPR_LOC_OR_HERE macro.
3140 (conversion_warning): Likewise.
3141 (warnings_for_convert_and_check): Likewise.
3142 (warn_for_collisions_1): Likewise.
3143 (shorten_compare): Likewise, and remove use of in_system_header
3144 macro, using the location from the former.
3145 * c-lex.c (dump_one_header): Remove use of input_filename macro.
3146 (cb_def_pragma): Remove use of in_system_header macro.
3147 (lex_string): Likewise.
3148 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3149
8c53c46c 31502013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3151 Mike Stump <mikestump@comcast.net>
3152 Richard Sandiford <rdsandiford@googlemail.com>
3153
3154 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
3155 instead of TREE_INT_CST_LOW, in cases where there is a protecting
3156 tree_fits_shwi_p or tree_fits_uhwi_p.
3157 (dump_generic_ada_node): Likewise.
3158 * c-format.c (check_format_arg): Likewise.
3159 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3160
5200ef07 31612013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
3162
3163 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
3164
ca9d7d74 31652013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
3166
3167 PR c/53001
3168 * c-common.c (unsafe_conversion_p): Make this function
3169 return an enumeration with more detail.
3170 (conversion_warning): Use the new return type of
3171 unsafe_conversion_p to separately warn either about conversions
3172 that lower floating point number precision or about the other
3173 kinds of conversions.
3174 * c-common.h (enum conversion_safety): New enumeration.
3175 (unsafe_conversion_p): switching return type to
3176 conversion_safety enumeration.
3177 * c.opt: Adding new warning -Wfloat-conversion and
3178 enabling it with -Wconversion.
3179
0391a567 31802013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
3181
3182 * c-opts.c: Include plugin.h.
3183 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
3184
19b928d9 31852013-11-19 Marek Polacek <polacek@redhat.com>
3186
3187 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
3188 call.
3189 (ubsan_instrument_shift): Likewise.
3190 (ubsan_instrument_vla): Likewise.
3191
aa59f000 31922013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3193
3194 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
3195 cast to unsigned type.
3196
08f817b3 31972013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3198
3199 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
3200 tree_low_cst.
3201 (complete_array_type): Update comment to refer to tree_to_[su]hwi
3202 rather than tree_low_cst.
3203
6a0712d4 32042013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3205
3206 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
3207 tree_to_uhwi throughout.
3208
fcb97e84 32092013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3210
3211 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
3212 tree_low_cst (..., 0) with tree_to_shwi throughout.
3213
cd4547bf 32142013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3215
3216 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
3217 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
3218
35ec552a 32192013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
3220
3221 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
3222 host_integerp (..., 0) with tree_fits_shwi_p throughout.
3223
f2697631 32242013-11-15 Aldy Hernandez <aldyh@redhat.com>
3225
3226 * c-cilkplus.c: New file.
3227 * c-common.c (readonly_error): Add location argument.
3228 * c-common.h (readonly_error): Same.
3229 (c_finish_cilk_clauses): Protoize.
3230 (c_check_cilk_loop): Same.
3231 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
3232 Do not fail on error_mark_node.
3233 Abstract increment canonicalization to here...
3234 (c_omp_for_incr_canonicalize_ptr): New.
3235 c-pragma.c (init_pragma): Register "simd" pragma.
3236 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
3237 (enum pragma_cilk_clause): New.
3238
0aa8c34e 32392013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
3240
3241 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
3242 wchar_type and host_integerp checks.
3243
e795d6e1 32442013-11-14 Andrew MacLeod <amacleod@redhat.com>
3245
3246 * c-common.c: Likewise.
3247 * c-gimplify.c: Likewise.
3248 * cilk.c: Likewise.
3249
9ed99284 32502013-11-14 Diego Novillo <dnovillo@google.com>
3251
3252 * c-common.c: Include fold-const.h.
3253 Include stor-layout.h.
3254 Include calls.h.
3255 Include stringpool.h.
3256 Include attribs.h.
3257 Include varasm.h.
3258 Include trans-mem.h.
3259 * c-cppbuiltin.c: Include stor-layout.h.
3260 Include stringpool.h.
3261 * c-format.c: Include stringpool.h.
3262 * c-lex.c: Include stringpool.h.
3263 Include stor-layout.h.
3264 * c-pragma.c: Include stringpool.h.
3265 Include attribs.h.
3266 Include varasm.h.
3267 Include gcc-symtab.h.
3268 * c-pretty-print.c: Include stor-layout.h.
3269 Include attribs.h.
3270 * cilk.c: Include stringpool.h.
3271 Include calls.h.
3272
4fba5eb9 32732013-11-13 Joseph Myers <joseph@codesourcery.com>
3274
3275 * c-common.h (enum rid): Add RID_AUTO_TYPE.
3276 * c-common.c (c_common_reswords): Add __auto_type.
3277 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
3278
a8783bee 32792013-11-12 Andrew MacLeod <amacleod@redhat.com>
3280
e795d6e1 3281 * c-common.c: Include gimplify.h.
3282 * c-gimplify.c: Likewise.
3283 * cilk.c: Likewise.
3284 * c-omp.c: Include gimple-expr.h instead of gimple.h.
3285 * c-ubsan.c: Don't include gimple.h.
a8783bee 3286
d184e0c0 32872013-11-12 Joseph Myers <joseph@codesourcery.com>
3288
3289 * c-common.c (c_common_reswords): Add _Thread_local.
3290
a056826c 32912013-11-09 Joseph Myers <joseph@codesourcery.com>
3292
3293 * c-common.c (atomic_size_supported_p): New function.
3294 (resolve_overloaded_atomic_exchange)
3295 (resolve_overloaded_atomic_compare_exchange)
3296 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
3297 Use it instead of comparing size with a local list of sizes.
3298
b560fabd 32992013-11-07 Andrew MacLeod <amacleod@redhat.com>
3300 Joseph Myers <joseph@codesourcery.com>
3301
3302 * c-common.h (enum rid): Add RID_ATOMIC.
3303 * c-common.c (c_common_reswords): Add _Atomic.
3304 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
3305 (keyword_is_type_qualifier): Accept RID_ATOMIC.
3306 * c-format.c (check_format_types): Check for extra _Atomic
3307 qualifiers in format argument.
3308 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
3309 (pp_c_type_qualifier_list): Mention _Atomic in comment.
3310
5b1a0622 33112013-11-06 Tobias Burnus <burnus@net-b.de>
3312
3313 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
3314
4f8f4cb8 33152013-11-06 Joseph Myers <joseph@codesourcery.com>
3316
3317 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
3318 standards modes.
3319 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
3320 to mean lack of IEEE 754 support.
3321
9148bda3 33222013-11-05 Tobias Burnus <burnus@net-b.de>
3323
3324 * c.opt (-Wdate-time): New option
3325 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
3326
08c5f4d5 33272013-11-05 Joseph Myers <joseph@codesourcery.com>
3328
3329 * c-cppbuiltin.c (cpp_iec_559_value): Test
3330 flag_excess_precision_cmdline not flag_excess_precision.
3331
c630ef93 33322013-11-05 Tobias Burnus <burnus@net-b.de>
3333
3334 * c.opt (fopenmp-simd): New option.
3335 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
3336 (omp_pragmas): ... this new struct.
3337 (c_pp_lookup_pragma): Also walk omp_pragmas.
3338 (init_pragma): Init pragmas for -fopenmp-simd.
3339
7354a89b 33402013-11-04 Marek Polacek <polacek@redhat.com>
3341
3342 PR c++/58979
3343 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
3344
4c866b9b 33452013-11-04 Joseph Myers <joseph@codesourcery.com>
3346
3347 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
3348 New functions.
3349 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
3350
e2a6a333 33512013-11-04 Eric Botcazou <ebotcazou@adacore.com>
3352
3353 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
3354 (dump_ada_specs): Adjust prototype of second callback.
3355 * c-ada-spec.c (cpp_check): New global variable.
3356 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
3357 (print_generic_ada_decl): Likewise.
3358 (has_static_fields): Change return type to bool and add guard.
3359 (has_nontrivial_methods): New predicate.
3360 (is_tagged_type): Change return type to bool.
3361 (separate_class_package): Call has_nontrivial_methods.
3362 (pp_ada_tree_identifier): Minor tweaks.
3363 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
3364 (dump_ada_array_domains): Likewise.
3365 (dump_ada_array_type): Likewise.
3366 (dump_template_types): Remove cpp_check parameter and do not pass it to
3367 dump_generic_ada_node.
3368 (dump_ada_template): Likewise.
3369 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
3370 recursively.
3371 (print_ada_methods): Change return type to integer. Remove cpp_check
3372 parameter and do not pass it down.
3373 (dump_nested_types): Remove cpp_check parameter and do not pass it to
3374 dump_generic_ada_node.
3375 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
3376 accessing methods.
3377 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
3378 down. Use has_nontrivial_methods to recognize C++ classes. Use return
3379 value of print_ada_methods.
3380 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
3381 Set cpp_check to it before invoking dump_ada_nodes.
3382 (dump_ada_specs): Likewise.
3383
2c4c3477 33842013-11-03 Marek Polacek <polacek@redhat.com>
3385
3386 * c-ubsan.c: Don't include hash-table.h.
3387 (ubsan_instrument_vla): New function.
3388 * c-ubsan.h: Declare it.
3389
452659af 33902013-10-31 David Malcolm <dmalcolm@redhat.com>
3391
3392 Automated part of renaming of symtab_node_base to symtab_node.
3393
3394 Patch autogenerated by rename_symtab.py from
3395 https://github.com/davidmalcolm/gcc-refactoring-scripts
3396 revision 58bb219cc090b2f4516a9297d868c245495ee622
3397
3398 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
3399 symtab_node_base to symtab_node.
3400
4d6f7dd4 34012013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
3402
3403 Implement C++14 digit separators.
3404 * c-lex.c (interpret_float): Remove digit separators from scratch string
3405 before building real literal.
3406
06cfe805 34072013-10-30 Jakub Jelinek <jakub@redhat.com>
3408
3409 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
3410
d037099f 34112013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
3412
3413 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
3414 fields.
3415 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
3416 enabled.
3417 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
3418 (insert_cilk_frame): New prototype.
3419 (cilk_init_builtins): Likewise.
3420 (gimplify_cilk_spawn): Likewise.
3421 (c_cilk_install_body_w_frame_cleanup): Likewise.
3422 (cilk_detect_spawn_and_unwrap): Likewise.
3423 (cilk_set_spawn_marker): Likewise.
3424 (build_cilk_sync): Likewise.
3425 (build_cilk_spawn): Likewise.
3426 * cilk.c: New file.
3427
02774f2d 34282013-10-29 David Malcolm <dmalcolm@redhat.com>
3429
3430 Patch autogenerated by refactor_symtab.py from
3431 https://github.com/davidmalcolm/gcc-refactoring-scripts
3432 revision 58bb219cc090b2f4516a9297d868c245495ee622
3433
3434 * c-gimplify.c (c_genericize): Update for conversion of symtab types
3435 to a true class hierarchy.
3436 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
3437
31fe10fd 34382013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
3439
3440 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
3441
b1c06ff9 34422013-10-26 Jeff Law <law@redhat.com>
3443
1f78217c 3444 * c-common.c (c_define_builtins): Remove mudflap support.
3445 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 3446
48a972c8 34472013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 3448
3449 PR other/33426
3450 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3451 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3452
546a04b1 34532013-10-23 Jason Merrill <jason@redhat.com>
3454
3455 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3456
bc7bff74 34572013-10-11 Jakub Jelinek <jakub@redhat.com>
3458
d62c713e 3459 * c-common.h (omp_clause_mask::operator !=): New method.
3460 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3461 instead of if (mask & something) tests everywhere.
3462
bc7bff74 3463 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3464 201307 instead of 201107.
3465 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3466 (c_common_attribute_table): Add "omp declare target" and
3467 "omp declare simd" attributes.
3468 (handle_omp_declare_target_attribute,
3469 handle_omp_declare_simd_attribute): New functions.
3470 * c-omp.c: Include c-pragma.h.
3471 (c_finish_omp_taskgroup): New function.
3472 (c_finish_omp_atomic): Add swapped argument, if true,
3473 build the operation first with rhs, lhs arguments and use NOP_EXPR
3474 build_modify_expr.
3475 (c_finish_omp_for): Add code argument, pass it down to make_code.
3476 (c_omp_split_clauses): New function.
3477 (c_split_parallel_clauses): Removed.
3478 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3479 c_omp_declare_simd_clauses_to_decls): New functions.
3480 * c-common.h (omp_clause_mask): New type.
3481 (OMP_CLAUSE_MASK_1): Define.
3482 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3483 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3484 omp_clause_mask::operator |, omp_clause_mask::operator &,
3485 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3486 omp_clause_mask::operator ==): New methods.
3487 (enum c_omp_clause_split): New.
3488 (c_finish_omp_taskgroup): New prototype.
3489 (c_finish_omp_atomic): Add swapped argument.
3490 (c_finish_omp_for): Add code argument.
3491 (c_omp_split_clauses): New prototype.
3492 (c_split_parallel_clauses): Removed.
3493 (c_omp_declare_simd_clauses_to_numbers,
3494 c_omp_declare_simd_clauses_to_decls): New prototypes.
3495 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3496 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3497 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3498 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3499 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3500 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3501 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3502 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3503 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3504 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3505 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3506 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3507 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3508 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3509 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3510 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3511 PRAGMA_OMP_CLAUSE_UNIFORM.
3512
d7dcba40 35132013-10-09 Marc Glisse <marc.glisse@inria.fr>
3514
3515 PR tree-optimization/20318
3516 * c-common.c (handle_returns_nonnull_attribute): New function.
3517 (c_common_attribute_table): Add returns_nonnull.
3518
0b7282f1 35192013-10-03 Marc Glisse <marc.glisse@inria.fr>
3520
3521 PR c++/19476
3522 * c.opt (fcheck-new): Move to common.opt.
3523
51f553af 35242013-09-25 Marek Polacek <polacek@redhat.com>
3525 Jakub Jelinek <jakub@redhat.com>
3526
3527 PR sanitizer/58413
3528 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3529 an expression if we can prove it is correct.
3530 (ubsan_instrument_division): Likewise. Remove unnecessary
3531 check.
3532
05f893e1 35332013-09-18 Marek Polacek <polacek@redhat.com>
3534
3535 PR sanitizer/58411
3536 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3537 Declare it.
3538 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3539
236ce1d1 35402013-09-14 Iain Sandoe <iain@codesourcery.com>
3541
3542 PR target/48094
3543 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
3544 fobjc-gc, freplace-objc-classes): Accept for LTO.
3545
f9f68d35 35462013-09-13 Jacek Caban <jacek@codeweavers.com>
3547
3548 * c-target.def: New hook
3549
ba2f764e 35502013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3551
3552 PR c++/43452
3553 * c.opt (Wdelete-incomplete): Add.
3554
73437615 35552013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3556
3557 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
3558 (vector_types_compatible_elements_p): New function.
3559 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
3560 declaration.
3561 (vector_types_compatible_elements_p): Declare.
3562
95af4c75 35632013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3564
3565 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3566 a virtual member function.
3567 (pp_simple_type_specifier): Remove.
3568 (pp_c_type_specifier): Likewise.
3569 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3570 Rename from pp_c_type_specifier. Adjust.
3571 (c_pretty_printer::c_pretty_printer): Do not assign to
3572 simple_type_specifier.
3573
eaab24b9 35742013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3575
3576 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3577 member function.
3578 (c_pretty_printer::storage_class_specifier): Likewise.
3579 (c_pretty_printer::initializer): Likewise.
3580 (pp_declaration): Remove.
3581 (pp_declaration_specifiers): Likewise.
3582 (pp_abstract_declarator): Likewise.
3583 (pp_declarator): Likewise.
3584 (pp_type_id): Likewise.
3585 (pp_statement): Likewise.
3586 (pp_constant): Likewise.
3587 (pp_id_expression): Likewise.
3588 (pp_primary_expression): Likewise.
3589 (pp_unary_expression): Likewise.
3590 (pp_multiplicative_expression): Likewise.
3591 (pp_conditional_expression): Likewise.
3592 (pp_assignment_expression): Likewise.
3593 (pp_expression): Likewise.
3594 (pp_c_type_id): Likewise.
3595 (pp_c_storage_class_specifier): Likewise.
3596 * c-pretty-print.c (pp_c_type_cast): Tidy.
3597 (pp_c_pointer): Likewise.
3598 (pp_c_type_specifier): Likewise.
3599 (pp_c_parameter_type_list): Likewise.
3600 (pp_c_function_definition): Likewise.
3601 (pp_c_init_declarator): Likewise.
3602 (pp_c_initializer_list): Likewise.
3603 (pp_c_constructor_elts): Likewise.
3604 (c_pretty_printer::direct_abstract_declarator): Likewise.
3605 (c_pretty_printer::declaration_specifiers): Likewise.
3606 (c_pretty_printer::primary_expression): Likewise.
3607 (c_pretty_printer::postfix_expression): Likewise.
3608 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3609 (c_pretty_printer::storage_class_specifier): Rename from
3610 pp_c_storage_class_specifier.
3611 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3612 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3613 storage_class_specifier, initializer, offset_list, flags.
3614
9e46467d 36152013-08-30 Marek Polacek <polacek@redhat.com>
3616
3617 * c-ubsan.c: New file.
3618 * c-ubsan.h: New file.
3619
36a8d9b9 36202013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3621
3622 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3623 member function.
3624 (c_pretty_printer::declaration_specifiers): Likewise.
3625 (c_pretty_printer::declarator): Likewise.
3626 (c_pretty_printer::abstract_declarator): Likewise.
3627 (c_pretty_printer::direct_abstract_declarator): Likewise.
3628 (c_pretty_printer::direct_declarator): Likewise.
3629 (c_pretty_printer::function_specifier): Likewise.
3630 (pp_declaration): Adjust.
3631 (pp_declaration_specifiers): Likewise.
3632 (pp_abstract_declarator): Likewise.
3633 (pp_direct_declarator): Likewise.
3634 (pp_function_specifier): Likewise.
3635 (pp_direct_abstract_declarator): Remove as unused.
3636 (pp_c_declaration): Remove.
3637 (pp_c_declaration_specifiers): Likewise.
3638 (pp_c_declarator): Likewise.
3639 (pp_c_direct_declarator): Likewise.
3640 (pp_c_function_specifier): Likewise.
3641 (pp_c_direct_abstract_declarator): Likewise.
3642 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3643 from pp_c_abstract_declarator. Adjust.
3644 (c_pretty_printer::direct_abstract_declarator): Rename from
3645 pp_c_direct_abstract_declarator. Adjust.
3646 (c_pretty_printer::function_specifier): Rename from
3647 pp_c_function_specifier. Adjust.
3648 (c_pretty_printer::declaration_specifiers): Rename from
3649 pp_c_declaration_specifiers. Adjust.
3650 (c_pretty_printer::direct_declarator): Rename from
3651 pp_c_direct_declarator. Adjust.
3652 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3653 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3654 (c_pretty_printer::c_pretty_printer): Do not assign to
3655 declaration, declaration_specifiers, declarator,
3656 direct_declarator, direct_abstract_declarator, function_specifier.
3657
30635c2e 36582013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3659
3660 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3661 virtual member function.
3662 (c_pretty_printer::multiplicative_expression): Likewise.
3663 (c_pretty_printer::conditional_expression): Likewise.
3664 (c_pretty_printer::assignment_expression): Likewise.
3665 (c_pretty_printer::expression): Likewise.
3666 (pp_unary_expression): Adjust.
3667 (pp_multiplicative_expression): Likewise.
3668 (pp_assignment_expression): Likewise.
3669 (pp_conditional_expression): Likewise.
3670 (pp_expression): Likewise.
3671 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3672 from pp_c_unary_expression. Adjust.
3673 (c_pretty_printer::multiplicative_expression): Rename from
3674 pp_c_multiplicative_expression. Adjust.
3675 (c_pretty_printer::conditional_expression): Rename from
3676 pp_c_conditional_expression. Adjust.
3677 (c_pretty_printer::assignment_expression): Rename from
3678 pp_c_assignment_expression. Adjust.
3679 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3680 (c_pretty_printer::c_pretty_printer): Do not assign to
3681 unary_expression, multiplicative_expression,
3682 conditional_expression, expression.
3683
027d08ed 36842013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3685
3686 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3687 virtual member function.
3688 (pp_postfix_expression): Adjust.
3689 (pp_c_postfix_expression): Remove.
3690 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3691 from pp_c_postfix_expression. Adjust.
3692 (c_pretty_printer::c_pretty_printer): Do not assign to
3693 postfix_expression.
3694
f873303a 36952013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3696
3697 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3698 virtua member function.
3699 (pp_primary_expression): Adjust.
3700 (pp_c_primary_expression): Remove.
3701 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3702 from pp_c_primary_expression. Adjust.
3703 (pp_c_initializer_list): Use pp_primary_expression.
3704 (c_pretty_printer::c_pretty_printer): Do not assign to
3705 primary_expression.
3706
08e3e481 37072013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3708
3709 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3710 * c-pretty-print.c (M_): Remove.
3711 (c_pretty_printer::translate_string): Define.
3712 (pp_c_type_specifier): Use it.
3713 (pp_c_primary_expression): Likewise.
3714 (pp_c_expression): Likewise.
3715
1fc4a87f 37162013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3717
3718 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3719 virtual function.
3720 (pp_c_id_expression): Remove.
3721 (pp_id_expression): Adjust.
3722 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3723 pp_c_id_expression. Adjust.
3724 (pp_c_postfix_expression): Use pp_id_expression.
3725 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3726
a6cb161b 37272013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3728
3729 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3730 member function.
3731 (pp_constant): Adjust.
3732 (pp_c_constant): Remove.
3733 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3734 pp_c_constant. Adjust.
3735 (pp_c_constant)
3736 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3737 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3738
eed6bc21 37392013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3740
3741 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3742 (c_pretty_printer::c_pretty_printer): Declare.
3743 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3744 c_pretty_printer_init. Adjust.
3745 (print_c_tree): Do not call c_pretty_printer_init.
3746 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3747
df558d2e 37482013-08-09 Arnaud Charlet <charlet@adacore.com>
3749
3750 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3751
42f9a786 37522013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3753
3754 PR c++/58080
3755 * c-common.c (pointer_int_sum): Add bool parameter.
3756 * c-common.h (pointer_int_sum): Adjust declaration.
3757
f874ddad 37582013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3759
3760 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3761 c_pretty_printer variable.
3762
a94db6b0 37632013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3764
3765 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3766 (pp_base): Remove.
3767 (pp_c_base): Likewise. Adjust users.
3768 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3769 (pp_c_whitespace): Do not call pp_base.
3770 (pp_c_left_paren): Likewise.
3771 (pp_c_right_paren): Likewise.
3772 (pp_c_left_brace): Likewise.
3773 (pp_c_right_brace): Likewise.
3774 (pp_c_left_bracket): Likewise.
3775 (pp_c_right_bracket): Likewise.
3776 (pp_c_dot): Likewise.
3777 (pp_c_ampersand): Likewise.
3778 (pp_c_star): Likewise.
3779 (pp_c_arrow): Likewise.
3780 (pp_c_semicolon): Likewise.
3781 (pp_c_complement): Likewise.
3782 (pp_c_exclamation): Likewise.
3783 (pp_c_direct_declarator): Likewise.
3784 (pp_c_ws_string): Likewise.
3785 (pp_c_identifier): Likewise.
3786 (pp_c_statement): Likewise.
3787 (print_c_tree): Likewise.
3788
1898176c 37892013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3790
3791 PR c++/58072
3792 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3793 provide useful error strings.
3794
70d60d1d 37952013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3796
3797 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3798 printer functions instead of pp_string or operators and punctuators.
3799 (dump_generic_ada_node): Likewise.
3800 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3801 (pp_c_relational_expression): Likewise.
3802 (pp_c_logical_or_expression): Likewise.
3803
dda4f0ec 38042013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3805
3806 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3807 functions instead of pp_character.
3808 (pp_ada_tree_identifier): Likewise.
3809 (dump_ada_double_name): Likewise.
3810 (dump_ada_function_declaration): Likewise.
3811 (dump_ada_array_domains): Likewise.
3812 (dump_template_types): Likewise.
3813 (dump_generic_ada_node): Likewise.
3814 (print_ada_declaration): Likewise.
3815 (print_ada_struct_decl): Likewise.
3816 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3817
7aa04c8d 38182013-07-23 Tom Tromey <tromey@redhat.com>
3819
3820 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3821 * c-common.c (c_common_reswords): Add _Generic.
3822
a04e8d62 38232013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3824
3825 * c-common.c: Fix typos.
3826 * c-common.h: Likewise.
3827
a96c3cc1 38282013-07-13 Lubos Lunak <l.lunak@suse.cz>
3829
3830 PR c++/55203
3831 * c-common.c (c_common_attribute_table): Add warn_unused.
3832 (handle_warn_unused_attribute): New.
3833
da31536d 38342013-07-10 Jakub Jelinek <jakub@redhat.com>
3835
3836 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3837 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3838
839f2f70 38392013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3840
3841 PR c++/57869
3842 * c.opt: Add Wconditionally-supported.
3843
73f353d0 38442013-07-08 Graham Stott <graham.stott@btinternet.com>
3845
1f78217c 3846 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3847 unused variables l_length and l_node.
3848
21ebaa24 38492013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3850
3851 PR c/57821
3852 * c-common.c (complete_array_type): Delay folding first index
3853 like other indices. When folding, check for index overflow.
3854
68ea4406 38552013-06-27 Marc Glisse <marc.glisse@inria.fr>
3856
3857 PR c++/57509
3858 * c-common.h (c_build_vec_perm_expr): New complain argument.
3859 * c-common.c (c_build_vec_perm_expr): Likewise.
3860 Use save_expr also in C++.
3861
60777f69 38622013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3863
3864 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3865 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3866 * c-opts.c (c_common_post_options): Likewise.
3867
839f2f70 38682013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3869
3870 * array-notation-common.c (length_mismatch_in_expr): Changed the
3871 parameter type's from a dynamic array to a vec_tree. Also removed
3872 the size parameters.
3873 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3874 the change above.
3875
e9331eab 38762013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3877
3878 * c-common.h (struct cilkplus_an_parts): New structure.
3879 (struct cilkplus_an_loop_parts): Likewise.
3880 (cilkplus_extract_an_triplets): New prototype.
3881 (fix_sec_implicit_args): Likewise.
3882 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3883 (fix_sec_implicit_args): Likewise.
60777f69 3884
a9c99fc4 38852013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3886
3887 * array-notation-common.c (find_inv_trees): Removed an unwanted
3888 typecasting.
3889 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3890 enum rid to enum tree_code.
3891
f2526cce 38922013-06-11 Jan Hubicka <jh@suse.cz>
3893
3894 * c-common.c (handle_alias_ifunc_attribute): Do not set
3895 DECL_EXTERNAL for weakref variables.
3896 * c-pragma.c (handle_pragma_weak): Make sure aliases
3897 are not declared as external.
3898
09970d67 38992013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3900
3901 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3902 function from c/c-array-notation.c.
3903 (is_cilkplus_reduce_builtin): Likewise.
3904 (find_rank): Likewise.
3905 (extract_array_notation_exprs): Likewise.
3906 (replace_array_notations): Likewise.
3907 (find_inv_trees): Likewise.
3908 (replace_inv_trees): Likewise.
3909 (contains_array_notation_expr): Likewise.
3910 (find_correct_array_notation_type): Likewise.
3911 * c-common.h (struct inv_list): Moved this struct from the file
3912 c/c-array-notation.c and added a new field called additional tcodes.
3913 (length_mismatch_in_expr_p): New prototype.
3914 (is_cilkplus_reduce_builtin): Likewise.
3915 (find_rank): Likewise.
3916 (extract_array_notation_exprs): Likewise.
3917 (replace_array_notation): Likewise.
3918 (find_inv_trees): Likewise.
3919 (replace_inv_trees): Likewise.
3920 (find_correct_array_notation_type): Likewise.
839f2f70 3921
3c6d4197 39222013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3923
3924 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3925 function array_notation_init_builtins is called.
3926 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3927 * c-common.def (ARRAY_NOTATION_REF): New tree.
3928 * c-common.h (build_array_notation_expr): New function declaration.
3929 (build_array_notation_ref): Likewise.
3930 (extract_sec_implicit_index_arg): New extern declaration.
3931 (is_sec_implicit_index_fn): Likewise.
3932 (ARRAY_NOTATION_CHECK): New define.
3933 (ARRAY_NOTATION_ARRAY): Likewise.
3934 (ARRAY_NOTATION_START): Likewise.
3935 (ARRAY_NOTATION_LENGTH): Likewise.
3936 (ARRAY_NOTATION_STRIDE): Likewise.
3937 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3938 ARRAY_NOTATION_REF.
3939 (pp_c_expression): Likewise.
3940 * c.opt (flag_enable_cilkplus): New flag.
3941 * array-notation-common.c: New file.
3942
8e71dad2 39432013-05-14 Jakub Jelinek <jakub@redhat.com>
3944
3945 PR c++/57274
3946 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3947
432dd330 39482013-05-10 Marc Glisse <marc.glisse@inria.fr>
3949
3950 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3951 vectors.
3952
b156ec37 39532013-05-07 Han Shen <shenhan@google.com>
3954
3955 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3956
1a087624 39572013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3958
3959 * c-common.c (check_user_alignment): Emit error for negative values.
3960
1638c736 39612013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3962
3963 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3964
949dbf93 39652013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3966
3967 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3968 __GXX_EXPERIMENTAL_CXX1Y__.
3969
9205a6cc 39702013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3971 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3972
3973 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3974 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3975 to simply use OPT_Wpointer_arith.
3976 (c_sizeof_or_alignof_type): Likewise.
3977
05d0bce1 39782013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3979
3980 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3981
41609f8b 39822013-04-12 Jakub Jelinek <jakub@redhat.com>
3983
3984 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3985 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3986 specifiers.
3987
c671dc4f 39882013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3989
3990 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3991
ba125576 39922013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3993
3994 * c-common.c (pointer_int_sum): Remove dead code.
3995
9d3fa937 39962013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3997
3998 PR middle-end/56524
3999 * c-common.c (handle_optimize_attribute): Don't call
4000 save_optabs_if_changed.
4001
5ceebb21 40022013-03-05 Jakub Jelinek <jakub@redhat.com>
4003
4004 PR middle-end/56461
4005 * c-pch.c (pch_init): Free target_validity at the end.
4006
18eeed2b 40072013-03-04 Jakub Jelinek <jakub@redhat.com>
4008
4009 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
4010
a9196da9 40112013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
4012 Jakub Jelinek <jakub@redhat.com>
4013
4014 PR sanitizer/56454
4015 * c-common.c (handle_no_sanitize_address_attribute): New function.
4016 (c_common_attribute_table): Add no_sanitize_address attribute.
4017 (handle_no_address_safety_analysis_attribute): Add
4018 no_sanitize_address attribute, not no_address_safety_analysis
4019 attribute.
4020
15c27dda 40212013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 4022
4023 PR target/52555
4024 * c-common.c (handle_optimize_attribute): Call
4025 save_optabs_if_changed.
4026
19426fe1 40272013-02-18 Jakub Jelinek <jakub@redhat.com>
4028 Steven Bosscher <steven@gcc.gnu.org>
4029
4030 PR pch/54117
4031 * c-opts.c (c_common_post_options): If debug info is enabled
4032 and non-dwarf*, refuse to load PCH files and when writing PCH
4033 file warn.
4034
df936998 40352013-02-05 Jakub Jelinek <jakub@redhat.com>
4036
4037 PR middle-end/56167
4038 * c-common.c (handle_error_attribute): Fix condition.
4039
ae0c3984 40402013-01-30 Jakub Jelinek <jakub@redhat.com>
4041
4042 PR c++/55742
4043 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
4044
1c4973d7 40452013-01-18 Jason Merrill <jason@redhat.com>
4046
4047 PR target/54908
4048 * c.opt (-fextern-tls-init): New.
4049 * c-opts.c (c_common_post_options): Handle it.
4050
7c834436 40512013-01-09 Jakub Jelinek <jakub@redhat.com>
4052
4053 PR c/48418
4054 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
4055 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
4056 and is either negative or bigger or equal to type precision
4057 of the first operand.
4058
5abaa10a 40592012-12-03 Marek Polacek <polacek@redhat.com>
4060
4061 PR c/55570
4062 * c-common.c (check_user_alignment): Swap order of tests,
4063 check TREE_CODE first.
4064
324ca377 40652012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
4066
4067 PR c++/52654
4068 * c-common.h (overflow_type): New enum.
4069 (build_userdef_literal): Add overflow_type argument.
4070 (tree_userdef_literal): Add overflow_type.
4071 (USERDEF_LITERAL_OVERFLOW): New access macro.
4072 * c-common.c (build_userdef_literal): Add overflow_type
4073 argument.
4074 * c-lex.c (c_lex_with_flags): Add overflow_type to
4075 build_userdef_literal calls.
4076 (interpret_integer, interpret_float): Add overflow_type argument.
4077
b4c4a429 40782012-11-28 Richard Biener <rguenther@suse.de>
4079
4080 PR c/35634
4081 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
4082 here and use a type with proper overflow behavior for types that would
4083 need to be promoted for the arithmetic.
4084
d413ffdd 40852012-11-23 Jakub Jelinek <jakub@redhat.com>
4086
4087 PR sanitizer/55435
4088 * c-common.c (handle_no_address_safety_analysis_attribute): New
4089 function.
4090 (c_common_attribute_table): Add no_address_safety_analysis.
4091
52bc861d 40922012-11-16 Simon Baldwin <simonb@google.com>
4093
4094 * c.opt: Add f[no-]canonical-system-headers.
4095 * c-opts.c (c_common_handle_option): Handle
4096 OPT_fcanonical_system_headers.
4097
2dd00636 40982012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
4099
4100 PR c++/54413
4101 * c-opts.c (c_common_handle_option): Set new flags.
4102 * c.opt: Describe new flags.
4103
d4701f6c 41042012-11-09 Jason Merrill <jason@redhat.com>
4105
4106 * c.opt (Wabi-tag): New.
4107
72d65da9 41082012-11-09 Andi Kleen <ak@linux.intel.com>
4109
4110 PR 55139
4111 * c-common.c (get_atomic_generic_size): Mask with
4112 MEMMODEL_MASK
4113
77a357e3 41142012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4115
4116 PR c/53063
4117 * c.opt (Wformat): Make it Alias Wformat=1.
4118 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
4119 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
4120 LangEnabledBy.
4121 (Wformat=): RejectNegative. Use LangEnabledBy.
4122 (Wnonnull): Use LangEnabledBy.
4123 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
4124 * c-format.c (set_Wformat): Delete.
4125 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
4126 (maybe_read_dollar_number): Likewise.
4127 (avoid_dollar_number): Likewise.
4128 (finish_dollar_format_checking): Likewise.
4129 (check_format_info): Likewise.
4130 (check_format_info_main): Likewise.
4131 (check_format_types): Likewise.
4132 (format_type_warning): Likewise.
4133 * c-common.c (int): Likewise.
4134 (check_function_sentinel): Likewise.
4135 * c-common.h (warn_format,set_Wformat): Do not declare here.
4136
45efa6b9 41372012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4138
4139 PR c/53063
4140 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
4141 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
4142 Use LangEnabledBy.
4143 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
4144 common.opt.
4145 (Wvariadic-macros): Init(1).
4146 * c-opts.c (c_common_handle_option): Do not handle them
4147 explicitly.
4148 (c_common_post_options): Likewise.
4149 (sanitize_cpp_opts): warn_unused_macros is now
4150 cpp_warn_unused_macros.
4151 (push_command_line_include): Likewise.
4152 * c-common.c (warn_unknown_pragmas): Do not define.
4153 * c-common.h (warn_unknown_pragmas): Do not declare.
4154
0e4e775a 41552012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
4156
4157 PR c/51294
4158 * c-common.c (conversion_warning): Handle conditional expressions.
4159
8b447d3f 41602012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
4161
4162 PR c++/54930
4163 * c.opt (Wreturn_local_addr): Define new option.
4164
f4a61754 41652012-10-25 Jason Merrill <jason@redhat.com>
4166
ecb10e6a 4167 * c.opt (Wvirtual-move-assign): New.
4168
f4a61754 4169 * c.opt (Winherited-variadic-ctor): New.
4170
7b463b19 41712012-10-25 Marc Glisse <marc.glisse@inria.fr>
4172
4173 PR c++/54427
4174 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
4175
6adc88f8 41762012-10-23 Joseph Myers <joseph@codesourcery.com>
4177
4178 * c-common.h (pch_cpp_save_state): Declare.
4179 * c-target.def (c_preinclude): New hook.
4180 * c-opts.c (done_preinclude): New.
4181 (push_command_line_include): Handle default preincluded header.
4182 (cb_file_change): Call pch_cpp_save_state when calling
4183 push_command_line_include.
4184 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
4185 (pch_cpp_save_state): New.
4186 (pch_init): Call pch_cpp_save_state conditionally, instead of
4187 calling cpp_save_state.
4188
fa816b0b 41892012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
4190
4191 PR c/53063
4192 PR c/40989
4193 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
4194 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
4195 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
4196 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
4197 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
4198 * c-opts.c (c_common_handle_option): Remove explicit handling from
4199 here.
4200 (c_common_post_options): Likewise.
4201
d214ccee 42022012-10-18 Eric Botcazou <ebotcazou@adacore.com>
4203
4204 * c-ada-spec.c (LOCATION_COL): Delete.
4205 (compare_location): New function.
4206 (compare_node): Use it.
4207 (compare_comment): Likewise.
4208
77b27208 42092012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
4210
4211 PR c/53063
4212 PR c/40989
4213 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
4214 * c-opts.c (c_common_handle_option): Do not set them here. Add
4215 comment.
4216 (c_common_post_options): Likewise.
4217
cc02ca4d 42182012-10-16 Eric Botcazou <ebotcazou@adacore.com>
4219
4220 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
4221 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
4222 Remove POINTER_TYPE handling, add large unsigned handling and use
4223 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
4224
57f872a2 42252012-10-12 Jakub Jelinek <jakub@redhat.com>
4226
4227 PR c/54381
4228 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
4229 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
4230 locs and array of 3 trees instead of just single loc and single
4231 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
4232 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
4233 For *cmp* builtins that take two sources strings report warnings
4234 about first and second source, not about destination and source.
4235
7354ad2e 42362012-10-12 Marc Glisse <marc.glisse@inria.fr>
4237
4238 PR c++/53055
4239 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
4240
1ac7f120 42412012-10-11 Eric Botcazou <ebotcazou@adacore.com>
4242
4243 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
4244 declaring something coming from another file.
4245
1e0cc9e3 42462012-10-10 Arnaud Charlet <charlet@adacore.com>
4247
1ac7f120 4248 PR ada/54845
1e0cc9e3 4249 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
4250
b0e7825e 42512012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
4252
4253 PR c++/54194
4254 * c-common.c (warn_about_parentheses): Add location_t parameter;
4255 use EXPR_LOC_OR_LOC.
4256 * c-common.h: Update declaration.
4257
41ed701a 42582012-10-09 Marc Glisse <marc.glisse@inria.fr>
4259
4260 PR c++/54427
4261 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
4262 more operations. Make error messages optional.
4263 * c-common.h (enum stv_conv): Moved from c-typeck.c.
4264 (scalar_to_vector): Declare.
4265
3740094c 42662012-10-08 Jason Merrill <jason@redhat.com>
4267
4268 * c-common.c (c_common_reswords): Add thread_local.
4269
ffcdbf9c 42702012-10-08 Dodji Seketeli <dodji@redhat.com>
4271
4272 PR c++/53528 C++11 attribute support
4273 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
4274 new functions.
4275 * c-common.c (check_cxx_fundamental_alignment_constraints): New
4276 static function.
4277 (handle_aligned_attribute): In choose strictest alignment
4278 among many. Use new check_cxx_fundamental_alignment_constraints.
4279 (handle_transparent_union_attribute): In c++11 attribute syntax,
4280 don't look through typedefs.
4281
ef34afc1 42822012-10-04 Arnaud Charlet <charlet@adacore.com>
4283
4284 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
4285 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
4286 out of dumpfile.h.
4287
f1ff4562 42882012-09-25 Dehao Chen <dehao@google.com>
4289
4290 PR middle-end/54645
ef34afc1 4291 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 4292 map when read in the pch.
4293
735538a1 42942012-09-18 Arnaud Charlet <charlet@adacore.com>
4295
4296 * c-ada-spec.c: Style fixes.
4297
9120cdc8 42982012-09-18 Thomas Quinot <quinot@adacore.com>
4299
4300 * c.opt (-fada-spec-parent): Define new command line switch.
4301 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
4302 is specified, generate binding spec as a child of the specified unit.
4303
8eba82c2 43042012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
4305 Manuel López-Ibáñez <manu@gcc.gnu.org>
4306
4307 PR c++/53210
4308 * c.opt ([Winit-self]): Enabled by -Wall in C++.
4309
38682990 43102012-08-23 Arnaud Charlet <charlet@adacore.com>
4311
4312 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
4313 for pointers, and add missing Convention C pragma.
4314 (print_ada_struct_decl): Add missing aliased keyword.
4315 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
4316
f003f5dc 43172012-08-17 Jakub Jelinek <jakub@redhat.com>
4318
4319 * c-common.c (sizeof_pointer_memaccess_warning): New function.
4320 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
4321 * c-opts.c (c_common_handle_option): Enable it for -Wall.
4322 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
4323 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
4324
ec11736b 43252012-08-10 Richard Guenther <rguenther@suse.de>
4326
4327 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
4328
5f7f600e 43292012-08-07 Steven Bosscher <steven@gcc.gnu.org>
4330
4331 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
4332 instead of separate pp_newline and pp_flush.
4333 (print_c_tree): Likewise.
4334
758a38ab 43352012-07-26 Richard Henderson <rth@redhat.com>
4336
4337 * c-common.c (handle_hot_attribute): Allow labels.
4338 (handle_cold_attribute): Likewise.
4339
9ca77b08 43402012-07-20 Jakub Jelinek <jakub@redhat.com>
4341
4342 PR c++/28656
4343 * c-common.c (check_function_nonnull): Handle multiple nonnull
4344 attributes properly.
4345
b9ed1410 43462012-07-16 Steven Bosscher <steven@gcc.gnu.org>
4347
4348 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
4349 * c-ada-spec.c: Likewise.
4350 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
4351
c2a65b90 43522012-07-14 Steven Bosscher <steven@gcc.gnu.org>
4353
4354 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
4355 Remove code conditional on it.
4356
88c5a1d1 43572012-07-11 Steven Bosscher <steven@gcc.gnu.org>
4358
4359 * c-gimplify.c: Do not include basic-block.h.
4360 * c-common.c: Do not include linfuncs.h.
4361
4a020a8c 43622012-07-08 Steven Bosscher <steven@gcc.gnu.org>
4363
4364 * c-common.h: Include tree.h.
4365
c28ddc97 43662012-07-02 Jason Merrill <jason@redhat.com>
4367
4368 PR c++/53524
4369 * c-common.c (get_priority): Call default_conversion.
4370
405ed67f 43712012-07-01 Uros Bizjak <ubizjak@gmail.com>
4372
4373 * c-pch.c (c_common_write_pch): Remove unused variables.
4374
e53d55e7 43752012-06-29 Steven Bosscher <steven@gcc.gnu.org>
4376
4377 * cppspec.c: Moved from gcc/ to here.
4378
3d9c25ec 43792012-06-27 Kai Tietz <ktietz@redhat.com>
4380
4381 PR preprocessor/37215
4382 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
4383
3169c57a 43842012-06-21 Steven Bosscher <steven@gcc.gnu.org>
4385
4386 * c-common.h (c_common_print_pch_checksum): Remove.
4387 * c-pch.c: Do not include output.h.
4388 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
4389 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
4390 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
4391 (struct c_pch_header): Remove.
4392 (get_ident): Update gpch version.
4393 (pch_init): Do not print executable_checksum to asm_out_file.
4394 Do not fail if there is no asm_out_file to read back from. Set
4395 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
4396 (c_common_write_pch): Verify that nothing was written to asm_out_file
4397 since pch_init was called. Do not write a c_pch_header, and do not
4398 copy from asm_out_file to the PCH.
4399 (c_common_read_pch): Do not read a c_pch_header, and do not restore
4400 the content of asm_out_file from the PCH.
4401 (c_common_print_pch_checksum): Remove.
4402 * c-opts.c (c_common_init): Print out executable_checksum directly.
4403
ff6624bc 44042012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4405
4406 * c-target.def (objc_declare_unresolved_class_reference,
4407 objc_declare_class_definition): Add new hooks.
4408
367b1459 44092012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4410
4411 * c-lex.c: Do not include output.h.
4412 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
4413 Remove uses of ASM_OUTPUT_IDENT.
4414
bf0cb017 44152012-06-15 Marc Glisse <marc.glisse@inria.fr>
4416
4417 PR c++/51033
4418 * c-common.h (c_build_vec_perm_expr): Move decl here.
4419 * c-common.c (c_build_vec_perm_expr): Move definition
4420 here.
4421
b37a3600 44222012-06-06 Steven Bosscher <steven@gcc.gnu.org>
4423
4424 * c.opt (fconserve-space): Turn into a no-op.
4425
19931eea 44262012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 4427
4428 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
4429 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
4430 both the start and end of the function.
4431
dff12c10 44322012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4433
4434 * c-common.c: Do not include output.h.
4435 * c-pragma.c: Likewise.
4436
5f9e7dd5 44372012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4438
4439 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
4440 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
4441 (lang_decl_name): Handle namespace decls.
4442
b5369b7d 44432012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4444
4445 * c-ada-spec.c: Do not include output.h.
4446 * c-semantics.c: Likewise.
4447
8032877c 44482012-05-29 Joseph Myers <joseph@codesourcery.com>
4449
4450 * c-common.c: Fix typo.
4451
7843e4bc 44522012-05-29 Michael Matz <matz@suse.de>
4453
4454 * c-common.h (c_expand_decl): Remove prototype.
4455
8cf857d4 44562012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4457
4458 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4459 * c-opts.c (c_common_handle_option): Remove code handling
4460 warn_missing_braces.
4461
8b64dc3c 44622012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4463
4464 PR c++/25137
4465 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4466 -Wmissing_braces.
4467
43cbde16 44682012-05-22 Dodji Seketeli <dodji@redhat.com>
4469
4470 PR c++/53322
4471 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4472
db490cb6 44732012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4474
4475 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4476 * c-opts.c (c_common_handle_option): Do not handle explicitly
4477 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4478
a60f3e81 44792012-05-16 Dodji Seketeli <dodji@redhat.com>
4480
4481 PR preprocessor/7263
4482 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4483 to cpp_classify_number. For diagnostics, use the precise location
4484 instead of the global input_location.
4485
82e6ef7c 44862012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4487
cd4797ff 4488 PR c++/11856
82e6ef7c 4489 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4490
258a168d 44912012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4492
82e6ef7c 4493 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 4494
d3b7ee7c 44952012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4496
4497 PR 53063
4498 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4499 Wreorder): Use LangEnabledBy.
4500 * c-opts.c (c_common_handle_option): Do not enable them
4501 explicitly. Call lang-specific generated functions.
4502 (c_common_post_options): Do not set them here.
4503
70059cea 45042012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4505
4506 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4507 Wmissing-field-initializers,Wmissing-parameter-type,
4508 Wold-style-declaration,Woverride-init): Use EnabledBy.
4509 * c-opts.c (c_common_post_options): Do not set here explicitly.
4510
fbb6fbd8 45112012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4512
4513 PR 53063
4514 * c-opts.c (c_common_handle_option): Use handle_generated_option
4515 to enable sub-options.
4516
61f69bc9 45172012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4518
4519 PR c++/53158
4520 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4521
5a1fe2db 45222012-05-10 Richard Guenther <rguenther@suse.de>
4523
4524 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4525 adjust commentary about TYPE_IS_SIZETYPE types.
4526
d42e7c5a 45272012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4528
4529 PR c++/53261
4530 * c-common.c (warn_logical_operator): Check that argument of
4531 integer_zerop is not NULL.
4532
686369e8 45332012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4534
4535 PR c/43772
4536 * c-common.c (warn_logical_operator): Do not warn if either side
4537 is already true or false.
4538
03fe1dc2 45392012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4540
4541 PR c/51712
4542 * c-common.c (expr_original_type): New.
4543 (shorten_compare): Do not warn for enumeration types.
4544
bba5a206 45452012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4546
4547 * c.opt (fpermissive): Add Var(flag_permissive).
4548
7059d45d 45492012-04-30 Marc Glisse <marc.glisse@inria.fr>
4550
4551 PR c++/51033
4552 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
4553 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
4554
7edb1062 45552012-04-30 Dodji Seketeli <dodji@redhat.com>
4556
4557 Add -Wvarargs option
4558 * c.opt (Wvarargs): Define new option.
4559
068bea1e 45602012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4561
4562 * c-common.c (check_function_arguments): Replace
4563 Wmissing-format-attribute with Wsuggest-attribute=format.
4564
b86527d8 45652012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4566
4567 * c.opt (Wsuggest-attribute=format): New. Alias of
4568 Wmissing-format-attribute.
4569 * c-format.c (decode_format_type): Replace
4570 Wmissing-format-attribute with Wsuggest-attribute=format.
4571 (check_function_format): Likewise.
4572
19931eea 45732012-04-27 Ollie Wild <aaw@google.com>
76d340ac 4574
4575 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4576 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4577 * c.opt: Add Wliteral-suffix.
4578
29438999 45792012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4580
4581 PR c/44774
4582 * c.opt (Wpedantic): New.
4583 (pedantic): Alias Wpedantic.
4584 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4585 (c_common_post_options): Likewise.
4586 (sanitize_cpp_opts): Likewise.
4587 * c-lex.c (interpret_float): Likewise.
4588 * c-format.c (check_format_types): Likewise.
4589 * c-common.c (pointer_int_sum): Likewise.
4590 (c_sizeof_or_alignof_type): Likewise.
4591 (c_add_case_label): Likewise.
4592 (c_do_switch_warnings): Likewise.
4593 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4594
4f9d6b8b 45952012-04-15 Jason Merrill <jason@redhat.com>
4596
4597 PR c++/52818
4598 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4599 (C_STD_NAME): Distinguish between C++98 and C++11.
4600
74bdbe96 46012012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4602
4603 PR target/52624
4604 * c-common.h (uint16_type_node): Rename into...
4605 (c_uint16_type_node): ...this.
4606 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4607 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4608
3d177e8c 46092012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4610
4611 * c-common.c (warn_if_unused_value): Move definition to here.
4612 * c-common.h (warn_if_unused_value): Move declaration to here.
4613
6a9a958f 46142012-03-23 William Bader <williambader@hotmail.com>
4615
4616 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4617
543efdbe 46182012-03-20 Jason Merrill <jason@redhat.com>
4619
4620 * c-common.h (enum cxx_dialect): Add cxx1y.
4621 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4622 test.
4623 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4624 * c-opts.c (c_common_post_options): Likewise.
4625 (set_std_cxx1y): New.
4626 (c_common_handle_option): Call it.
4627 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4628
62206d34 46292012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4630
4631 PR c++/14710
4632 * c.opt ([Wuseless-cast]): Add.
4633
fadf62f4 46342012-03-16 Richard Guenther <rguenther@suse.de>
4635
4636 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4637
249faa35 46382012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4639
4640 PR c++/44783
4641 * c.opt (ftemplate-backtrace-limit) Add.
4642
126b6848 46432012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4644
4645 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4646 handling.
4647 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4648 (init_pragma): Don't register extern_prefix.
4649
a51edb4c 46502012-03-12 Richard Guenther <rguenther@suse.de>
4651
4652 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4653 (builtin_type_for_size): Likewise.
4654
0f6a7cb7 46552012-02-13 Jakub Jelinek <jakub@redhat.com>
4656
4657 PR c++/52215
4658 * c-common.c (sync_resolve_params): Don't decide whether to convert
4659 or not based on TYPE_SIZE comparison, convert whenever arg_type
4660 is unsigned INTEGER_TYPE.
4661
0779e32c 46622012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4663
4664 PR c/52118
4665 * c.opt ([Wunused-local-typedefs]): Fix description.
4666
baec58e1 46672012-01-24 Mike Stump <mikestump@comcast.net>
4668
4669 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4670 exactly.
4671
c779d8cc 46722012-01-18 Richard Guenther <rguenther@suse.de>
4673
4674 * c-opts.c (c_common_post_options): Reset LTO flags if
4675 we are about to generate a PCH.
4676
ee917d24 46772012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4678
4679 PR c++/51777
4680 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4681 use pp_unsigned_wide_integer.
4682
90e2341f 46832012-01-10 Richard Guenther <rguenther@suse.de>
4684
4685 PR middle-end/51806
4686 * c-opts.c (c_common_handle_option): Move -Werror handling
4687 to language independent code.
4688
9ea022ce 46892012-01-05 Richard Guenther <rguenther@suse.de>
4690
4691 PR middle-end/51764
4692 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4693 from common.opt.
4694
3df19e1b 46952011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4696
4697 PR c++/51316
4698 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4699 of array types with an unknown bound.
4700
32074525 47012011-12-20 Joseph Myers <joseph@codesourcery.com>
4702
4703 * c-common.c (flag_isoc99): Update comment to refer to C11.
4704 (flag_isoc1x): Change to flag_isoc11.
4705 * c-common.h (flag_isoc99): Update comment to refer to C11.
4706 (flag_isoc1x): Change to flag_isoc11.
4707 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4708 C11.
4709 * c-opts.c (set_std_c1x): Change to set_std_c11.
4710 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4711 Call set_std_c11.
4712 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4713 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4714 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4715 standard.
4716 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4717 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4718 (std=gnu1x): Make alias of std=gnu11.
4719
fca86134 47202011-12-19 Jason Merrill <jason@redhat.com>
4721
4722 PR c++/51228
4723 * c-common.c (handle_transparent_union_attribute): Check the first
4724 field if the type is complete.
4725
aa4313eb 47262011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4727
4728 PR libstdc++/51365
4729 * c-common.c (RID_IS_FINAL): Add.
4730 * c-common.h (RID_IS_FINAL): Add.
4731
3f3d5ad4 47322011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4733
4734 * c.opt (fgnu-runtime): Provide full description.
4735 (fnext-runtime): Likewise.
4736 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4737
c4606d19 47382011-11-28 Andrew MacLeod <amacleod@redhat.com>
4739
4740 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4741 predefines in one place. Add LOCK_FREE predefines.
4742 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4743 new func.
4744
1d581089 47452011-11-24 Andrew MacLeod <amacleod@redhat.com>
4746
4747 PR c/51256
19931eea 4748 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4749 conditions
19931eea 4750 (resolve_overloaded_atomic_exchange,
4751 resolve_overloaded_atomic_compare_exchange,
1d581089 4752 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4753 error_mark_node for error conditions.
19931eea 4754
6aa221fa 47552011-11-08 Richard Guenther <rguenther@suse.de>
4756
4757 PR middle-end/51010
4758 c-family/
4759
4c0315d0 47602011-11-07 Richard Henderson <rth@redhat.com>
4761 Aldy Hernandez <aldyh@redhat.com>
4762 Torvald Riegel <triegel@redhat.com>
4763
4764 Merged from transactional-memory.
4765
4766 * c-common.c (handle_tm_wrap_attribute,
4767 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4768 (struct c_common_reswords): Added __transaction* keywords.
4769 (struct c_common_attribute_table): Added transaction* and tm_regparm
4770 attributes.
4771 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4772 masks.
4773 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4774 find_tm_attribute): Declare.
4775
920f5a70 47762011-11-07 Jason Merrill <jason@redhat.com>
4777
4778 PR c++/35688
4779 * c-common.c, c-common.h: Revert yesterday's changes.
4780
b4f861b4 47812011-11-06 Jason Merrill <jason@redhat.com>
4782
4783 PR c++/35688
4784 * c-common.c (decl_has_visibility_attr): Split out from...
4785 (c_determine_visibility): ...here.
4786 * c-common.h: Declare it.
4787
83e25171 47882011-11-06 Joseph Myers <joseph@codesourcery.com>
4789
4790 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4791 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4792 type.
4793 (check_user_alignment): New. Split out of
4794 handle_aligned_attribute. Disallow integer constants with
4795 noninteger types. Conditionally allow zero.
4796 (handle_aligned_attribute): Use check_user_alignment.
4797 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4798
1cd6e20d 47992011-11-06 Andrew MacLeod <amacleod@redhat.com>
4800 Richard Henderson <rth@redhat.com>
4801
4802 Merged from cxx-mem-model.
4803
4804 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4805 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4806 parameters that are the same type size.
4807 (get_atomic_generic_size): New. Find size of generic
4808 atomic function parameters and do typechecking.
4809 (add_atomic_size_parameter): New. Insert size into parameter list.
4810 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4811 either __atomic_exchange_n or external library call.
19931eea 4812 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4813 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4814 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4815 __atomic_load_n or an external library call.
4816 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4817 __atomic_store_n or an external library call.
4818 (resolve_overloaded_builtin): Handle new __atomic builtins.
4819
7549df0d 48202011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4821
4822 PR c++/50608
4823 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4824 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4825 <INDIRECT_REF>: Return the argument.
4826 <ARRAY_REF>: Remove special code for negative offset.
4827 Call fold_build_pointer_plus instead of size_binop.
4828 (fold_offsetof): Remove STOP_REF argument and adjust.
4829 * c-common.h (fold_offsetof_1): Declare.
4830 (fold_offsetof): Remove STOP_REF argument.
4831
7e783eb3 48322011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4833
4834 PR c++/50810
4835 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4836 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4837 Wnarrowing for C++0x and C++98.
4838 * c.opt ([Wnarrowing]): Update.
4839
8fe701f5 48402011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4841
4842 PR c++/44277
4843 * c.opt: Add Wzero-as-null-pointer-constant.
4844
0d84dc2d 48452011-10-31 Jason Merrill <jason@redhat.com>
4846
67031f52 4847 * c.opt (-fdeduce-init-list): Off by default.
4848
0d84dc2d 4849 PR c++/50920
4850 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4851 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4852 and -Wc++11-compat.
4853 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4854
66f24c41 48552011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4856
4857 PR c++/30066
4858 * c.opt (fvisibility-inlines-hidden): Description change.
4859
244db24d 48602011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4861
4862 Implement C++11 user-defined literals.
4863 * c-common.c (build_userdef_literal): New.
4864 * c-common.def: New tree code.
4865 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4866 * c-lex.c (interpret_float): Add suffix parm.
4867 (c_lex_with_flags): Build literal tokens.
4868
235be70f 48692011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4870
4871 PR c++/50841
4872 Revert:
4873 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4874
4875 PR c++/50810
4876 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4877 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4878 Wnarrowing for C++0x and C++98.
4879 * c.opt ([Wnarrowing]): Update.
4880
4fe0fb1c 48812011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4882
4883 PR c++/50810
4884 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4885 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4886 Wnarrowing for C++0x and C++98.
4887 * c.opt ([Wnarrowing]): Update.
4888
5f7504f9 48892011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4890
4891 PR c++/45385
4892 * c-common.c (conversion_warning): Remove code looking for
4893 artificial operands.
4894
2a688977 48952011-10-18 Dodji Seketeli <dodji@redhat.com>
4896
4897 PR bootstrap/50760
4898 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4899 !NO_IMPLICIT_EXTERN_C.
2a688977 4900
326e3391 49012011-10-17 Michael Spertus <mike_spertus@symantec.com>
4902
4903 * c-common.c (c_common_reswords): Add __bases,
4904 __direct_bases.
4905 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4906
49072011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4908
4909 PR c++/50757
4910 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4911
62db153a 49122011-10-15 Tom Tromey <tromey@redhat.com>
4913 Dodji Seketeli <dodji@redhat.com>
4914
4915 * c.opt (fdebug-cpp): New option.
4916 * c-opts.c (c_common_handle_option): Handle the option.
4917 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4918 output stream in parameter. Factorized from ...
4919 (maybe_print_line): ... this. Dump location debug information when
4920 -fdebug-cpp is in effect.
4921 (print_line_1): New static function. Takes an output stream in
4922 parameter. Factorized from ...
4923 (print_line): ... here. Dump location information when -fdebug-cpp
4924 is in effect.
4925 (scan_translation_unit): Dump location information when
4926 -fdebug-cpp is in effect.
4927
ce70f433 49282011-10-15 Tom Tromey <tromey@redhat.com>
4929 Dodji Seketeli <dodji@redhat.com>
4930
4931 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4932 without argument.
4933 * c-opts.c (c_common_handle_option)<case
4934 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4935 cases. Handle -ftrack-macro-expansion with and without argument.
4936
97bfb9ef 49372011-10-15 Tom Tromey <tromey@redhat.com>
4938 Dodji Seketeli <dodji@redhat.com>
4939
4940 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4941 (print_line, cb_define, do_line_change): Adjust to avoid touching
4942 the internals of struct line_map. Use the public API instead.
4943 * c-pch.c (c_common_read_pch): Likewise.
4944 * c-lex.c (fe_file_change): Likewise.
4945
326e3391 49462011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4947
4948 PR c++/17212
4949 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4950
49512011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4952
4953 PR c++/33067
4954 * c-pretty-print.c (pp_c_floating_constant): Output
4955 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4956
b9a16870 49572011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4958
4959 * c-common.c (def_builtin_1): Delete old interface with two
4960 parallel arrays to hold standard builtin declarations, and replace
4961 it with a function based interface that can support creating
4962 builtins on the fly in the future. Change all uses, and poison
4963 the old names. Make sure 0 is not a legitimate builtin index.
4964 * c-omp.c (c_finish_omp_barrier): Ditto.
4965 (c_finish_omp_taskwait): Ditto.
4966 (c_finish_omp_flush): Ditto.
4967
c7964868 49682011-10-11 Tristan Gingold <gingold@adacore.com>
4969
4970 * c.opt: (fallow-parameterless-variadic-functions): New.
4971
a4e3ffad 49722011-09-08 Dodji Seketeli <dodji@redhat.com>
4973
4974 PR c++/33255 - Support -Wunused-local-typedefs warning
4975 * c-common.h (struct c_language_function::local_typedefs): New
4976 field.
19931eea 4977 (record_locally_defined_typedef, maybe_record_typedef_use)
4978 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4979 * c-common.c (record_locally_defined_typedef)
19931eea 4980 (maybe_record_typedef_use)
4981 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4982 * c.opt: Declare new -Wunused-local-typedefs flag.
4983
737a23cc 49842011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4985
4986 PR middle-end/50266
4987 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4988 computations.
4989
7542c3b4 49902011-09-05 Richard Guenther <rguenther@suse.de>
4991
4992 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4993 of integer_minus_one_node for empty array upper bounds.
4994
1dc92c59 49952011-08-28 Dodji Seketeli <dodji@redhat.com>
4996
4997 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4998 it's the first time it's being called on this main TU.
4999
2bdf2b6e 50002011-08-24 Richard Guenther <rguenther@suse.de>
5001
5002 PR c/49396
5003 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
5004
50052011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 5006
5007 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
5008 defined in cpp_init_builtins and c_cpp_builtins.
5009
bff4ad11 50102011-08-19 Joseph Myers <joseph@codesourcery.com>
5011
5012 * c-common.c (c_common_reswords): Add __builtin_complex.
5013 * c-common.h (RID_BUILTIN_COMPLEX): New.
5014
985c6e3a 50152011-08-18 Joseph Myers <joseph@codesourcery.com>
5016
5017 * c-common.c (c_common_reswords): Add _Noreturn.
5018 (keyword_is_function_specifier): Handle RID_NORETURN.
5019 * c-common.h (RID_NORETURN): New.
5020
7dfa155b 50212011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5022
5023 * c-common.c (unsafe_conversion_p): New function. Check if it is
5024 unsafe to convert an expression to the type.
5025 (conversion_warning): Adjust, use unsafe_conversion_p.
5026 * c-common.h (unsafe_conversion_p): New function declaration.
5027
2169f33b 50282011-08-02 Jakub Jelinek <jakub@redhat.com>
5029
5030 * c-common.h (c_finish_omp_atomic): Adjust prototype.
5031 (c_finish_omp_taskyield): New prototype.
5032 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
5033 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
5034 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
5035 or RHS1 have side-effects, evaluate those too in the right spot,
5036 if it is a decl and LHS is also a decl, error out if they
5037 aren't the same.
5038 (c_finish_omp_taskyield): New function.
5039 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
5040 * c-pragma.c (omp_pragmas): Add taskyield.
5041 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
5042 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
5043 PRAGMA_OMP_CLAUSE_MERGEABLE.
5044
ab77850e 50452011-07-25 Dodji Seketeli <dodji@redhat.com>
5046
5047 * c-common.h (set_underlying_type): Remove parm name from
5048 declaration.
5049
6ee97920 50502011-07-25 Romain Geissler <romain.geissler@gmail.com>
5051
5052 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 5053
dc251364 50542011-07-22 Jason Merrill <jason@redhat.com>
5055
1a2a35f0 5056 PR c++/49793
5057 * c.opt (Wnarrowing): New.
5058
27282252 5059 PR c++/30112
5060 * c-common.h: Declare c_linkage_bindings.
5061 * c-pragma.c (handle_pragma_redefine_extname): Use it.
5062
dc251364 5063 PR c++/49813
5064 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
5065 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
5066 as flag_isoc99 for 'restrict'.
5067 (pp_c_specifier_qualifier_list): Likewise for _Complex.
5068
fc501191 50692011-07-21 Ian Lance Taylor <iant@google.com>
5070
5071 PR middle-end/49705
5072 * c-common.c (c_disable_warnings): New static function.
5073 (c_enable_warnings): New static function.
5074 (c_fully_fold_internal): Change local unused_p to bool. Call
5075 c_disable_warnings and c_enable_warnings rather than change
5076 c_inhibit_evaluation_warnings.
5077
07b8f133 50782011-07-20 Jason Merrill <jason@redhat.com>
5079
5080 PR c++/6709 (DR 743)
5081 PR c++/42603 (DR 950)
5082 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
5083 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
5084 (CPP_DECLTYPE): New.
5085 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
5086
2cc66f2a 50872011-07-19 Richard Guenther <rguenther@suse.de>
5088
5089 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
5090 * c-omp.c (c_finish_omp_for): Likewise.
5091
3c802a1e 50922011-07-12 Eric Botcazou <ebotcazou@adacore.com>
5093
5094 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
5095 body on the next line.
5096
98a33d9f 50972011-07-08 Jason Merrill <jason@redhat.com>
5098
3115bda0 5099 PR c++/45437
5100 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
5101
98a33d9f 5102 PR c++/49673
5103 * c-common.c (c_apply_type_quals_to_decl): Don't check
5104 TYPE_NEEDS_CONSTRUCTING.
5105
c38a75b7 51062011-07-06 Richard Guenther <rguenther@suse.de>
5107
5108 * c-common.c (c_common_nodes_and_builtins):
5109 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
5110
e593356b 51112011-07-05 Richard Guenther <rguenther@suse.de>
5112
5113 * c-common.c (c_common_nodes_and_builtins): Build all common
5114 tree nodes first.
5115
fca0886c 51162011-06-27 Jakub Jelinek <jakub@redhat.com>
5117
a68f7a8d 5118 * c-common.h (c_tree_chain_next): New static inline function.
5119
fca0886c 5120 * c-common.c (check_builtin_function_arguments): Handle
5121 BUILT_IN_ASSUME_ALIGNED.
5122
2797f13a 51232011-06-21 Andrew MacLeod <amacleod@redhat.com>
5124
5125 * c-common.c: Add sync_ or SYNC__ to builtin names.
5126 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 5127
51282011-06-20 Pierre Vittet <piervit@pvittet.com>
5129
5130 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
5131 handler.
5132 (gen_pragma_handler): New union.
5133 (internal_pragma_handler): New type.
5134 (c_register_pragma_with_data)
5135 (c_register_pragma_with_expansion_and_data): New functions.
5136
5137 * c-pragma.c (registered_pragmas, c_register_pragma_1)
5138 (c_register_pragma, c_register_pragma_with_expansion)
5139 (c_invoke_pragma_handler): Changed to work with
5140 internal_pragma_handler.
5141 (c_register_pragma_with_data)
5142 (c_register_pragma_with_expansion_and_data): New functions.
5143
218e3e4e 51442011-06-14 Joseph Myers <joseph@codesourcery.com>
5145
5146 * c-common.c: Include common/common-target.h.
5147 (handle_section_attribute): Use
5148 targetm_common.have_named_sections.
5149 * c-cppbuiltin.c: Include common/common-target.h.
5150 (c_cpp_builtins): Use targetm_common.except_unwind_info.
5151
41e53ed2 51522011-06-10 Richard Guenther <rguenther@suse.de>
5153
5154 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
5155 to print a IDENTIFIER_NODE.
5156
a6f06169 51572011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5158 Joseph Myers <joseph@codesourcery.com>
5159
5160 * c.opt (fbuilding-libgcc): New option.
5161 * c-cppbuiltin.c (c_cpp_builtins): Define
5162 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
5163
1ea9269b 51642011-06-07 Jason Merrill <jason@redhat.com>
5165
8ce59854 5166 * c-common.c (max_tinst_depth): Lower default to 900.
5167
1ea9269b 5168 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
5169
1af0124d 51702011-06-07 Richard Guenther <rguenther@suse.de>
5171
5172 * c-common.c (c_common_nodes_and_builtins): Do not set
5173 size_type_node or call set_sizetype.
5174
0e9a4c01 51752011-06-07 Dodji Seketeli <dodji@redhat.com>
5176
5177 PR debug/49130
5178 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 5179 type when using pointer comparison to compare types.
0e9a4c01 5180
90b40725 51812011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
5182
5183 * c.opt: Add -Wdelete-non-virtual-dtor.
5184 * c-opts.c (c_common_handle_option): Include it in -Wall.
5185
fc9c9e87 51862011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
5187
5188 PR bootstrap/49190
5189
5190 Revert:
5191 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5192
5193 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5194 not tree_common.
5195
d0389adc 51962011-05-27 Jakub Jelinek <jakub@redhat.com>
5197
5198 PR c++/49165
5199 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
5200 C++ don't call c_common_truthvalue_conversion on void type arms.
5201
cacfdc02 52022011-05-27 Nathan Froyd <froydnj@codesourcery.com>
5203
5204 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
5205 (stmt_list_stack): Define.
5206 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
5207 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
5208
027fc6ef 52092011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5210
5211 * c-common.c (warning_candidate_p): Check for BLOCKs.
5212
f21317a1 52132011-05-26 Nathan Froyd <froydnj@codesourcery.com>
5214
5215 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
5216 not tree_common.
5217
789e953d 52182011-05-25 Jakub Jelinek <jakub@redhat.com>
5219
5220 * c-common.c (def_fn_type): Remove extra va_end.
5221
7f506bca 52222011-05-23 Jason Merrill <jason@redhat.com>
5223
5224 PR c++/48106
5225 * c-common.c (c_common_get_narrower): New.
5226 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
5227
774e9d58 52282011-05-23 Nathan Froyd <froydnj@codesourcery.com>
5229
5230 * c-common.h (check_function_arguments): Tweak prototype of
5231 check_function_arguments.
5232 * c-common.c (check_function_arguments): Likewise. Adjust
5233 calls to check_function_nonnull, check_function_format, and
5234 check_function_sentinel.
5235 (check_function_sentinel): Take a FUNCTION_TYPE rather than
5236 separate attributes and typelist arguments. Use
5237 FOREACH_FUNCTION_ARGS to iterate over argument types.
5238
23407dc9 52392011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
5240
5241 * c-common.c (c_common_reswords): Reorder.
5242 * c-common.h (rid): Likewise.
5243
3a939d12 52442011-05-10 Nathan Froyd <froydnj@codesourcery.com>
5245
5246 * c-common.c (def_fn_type): Don't call build_function_type, call
5247 build_function_type_array or build_varargs_function_type_array
5248 instead.
5249 (c_common_nodes_and_builtins): Likewise.
5250
b6e3dd65 52512011-05-05 Nathan Froyd <froydnj@codesourcery.com>
5252
5253 * c-common.c (c_add_case_label): Omit the loc argument to
5254 build_case_label.
5255 * c-common.h (build_case_label): Remove.
5256 * c-semantics.c (build_case_label): Remove.
5257
4232a958 52582011-05-05 Joseph Myers <joseph@codesourcery.com>
5259
5260 * c-objc.h (objc_start_method_definition): Update prototype.
5261 * stub-objc.c (objc_start_method_definition): Add extra parameter.
5262
d0af78c5 52632011-05-04 Nathan Froyd <froydnj@codesourcery.com>
5264
5265 * c-common.c (check_main_parameter_types): Reindent. Don't use
5266 TYPE_ARG_TYPES directly.
5267 (handle_nonnull_attribute): Likewise.
5268 (sync_resolve_params): Likewise.
5269 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
5270 to check_format_string.
5271 (handle_format_attribute): Likewise.
5272 (check_format_string): Take a function type to examine instead of
5273 a type list. Use a function_arg_iterator to step through argument
5274 types.
5275
ceb7b692 52762011-05-04 Richard Guenther <rguenther@suse.de>
5277
5278 * c-common.c (fix_string_type): Use size_int for index type bounds.
5279 (start_fname_decls): Do not pass NULL to build_int_cst.
5280 (c_init_attributes): Likewise.
5281 * c-lex.c (c_lex_with_flags): Likewise.
5282
c66c81be 52832011-04-27 Jason Merrill <jason@redhat.com>
5284
5285 * c-common.c (make_tree_vector_from_list): New.
5286 * c-common.h: Declare it.
5287
16930c72 52882011-04-26 Richard Guenther <rguenther@suse.de>
5289
5290 PR preprocessor/48248
5291 * c-ppoutput.c (maybe_print_line): Always optimize newlines
5292 for output size with -P.
5293
23407dc9 52942011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
5295
5296 * c-common.c (struct c_common_resword): Add __underlying_type.
5297 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
5298
dd045aee 52992011-04-20 Jim Meyering <meyering@redhat.com>
5300
5301 * c-format.c (init_dollar_format_checking): Remove useless
5302 if-before-free.
5303
394dd737 53042011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
5305
5306 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 5307 (objc_detect_field_duplicates): New.
394dd737 5308 * stub-objc.c: Likewise.
23407dc9 5309
a758bf7d 53102011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5311
5312 * stub-objc.c (objc_declare_protocols): Renamed to
5313 objc_declare_protocol.
5314 * c-objc.h: Likewise.
23407dc9 5315
29d7200d 53162011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
5317
5318 * stub-objc.c (objc_declare_class): Updated argument name.
5319
9b88d08d 53202011-04-12 Nathan Froyd <froydnj@codesourcery.com>
5321
5322 * c-common.h (c_common_init_ts): Declare.
5323 * c-common.c (c_common_init_ts): Define.
5324
4185cf58 53252011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
5326
5327 * c-objc.h (objc_build_message_expr): Updated prototype.
5328 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 5329
5a90471f 53302011-04-12 Martin Jambor <mjambor@suse.cz>
5331
5332 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
5333 of cgraph_node.
5334
783bb57e 53352011-04-11 Richard Guenther <rguenther@suse.de>
5336
5337 * c-common.c (complete_array_type): Build a range type of
5338 proper type.
5339
c33080b9 53402011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5341
5342 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
5343 (handle_type_generic_attribute): Likewise.
5344
f8913d47 53452011-04-07 Jason Merrill <jason@redhat.com>
5346
5347 PR c++/48450
5348 * c-common.c (c_common_truthvalue_conversion): Don't ignore
5349 conversion from C++0x scoped enum.
5350
c94b1d0e 53512011-04-06 Joseph Myers <joseph@codesourcery.com>
5352
5353 * c-target-def.h: New file.
5354 * c-target.def: New file.
5355 * c-target.h: New file.
5356 * c-common.c (targetcm): Don't define here.
5357 * c-common.h (default_handle_c_option): Declare.
5358 * c-format.c: Include c-target.h instead of target.h.
5359 * c-opts.c: Include c-target.h instead of target.h. Explicitly
5360 include tm.h.
5361 (default_handle_c_option): Move from targhooks.c.
5362
acb10f41 53632011-03-29 Jakub Jelinek <jakub@redhat.com>
5364
5365 PR preprocessor/48248
5366 * c-ppoutput.c (print): Add src_file field.
5367 (init_pp_output): Initialize it.
5368 (maybe_print_line): Don't optimize by adding up to 8 newlines
5369 if map->to_file and print.src_file are different file.
5370 (print_line): Update print.src_file.
5371
82715bcd 53722011-03-25 Kai Tietz <ktietz@redhat.com>
5373
5374 * c-ada-spec.c (compare_comment): Use filename_cmp
5375 instead of strcmp for filename.
5376
451c8e2f 53772011-03-25 Jeff Law <law@redhat.com>
5378
1f78217c 5379 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 5380
3c47771c 53812011-03-25 Jason Merrill <jason@redhat.com>
5382
5383 * c.opt: Add -std=c++03.
5384
97e6200f 53852011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5386
5387 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
5388
ac86af5d 53892011-03-17 Kai Tietz
5390
5391 PR target/12171
ee212425 5392 * c-pretty-print.c (pp_c_specifier_qualifier_list):
5393 Display allowed attributes for function pointer types.
5394 (pp_c_attributes_display): New function to display
5395 attributes having affects_type_identity flag set to true.
5396 * c-pretty-print.h (pp_c_attributes_display): New prototype.
5397
ac86af5d 5398 * c-common.c (c_common_attribute_table):
5399 Add new element.
5400 (c_common_format_attribute_table): Likewise.
5401
914d1151 54022011-03-18 Jason Merrill <jason@redhat.com>
5403
69788bdf 5404 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
5405 * c-common.h: Don't declare it here.
5406 * c-common.c: Or define it here.
5407 * c-opts.c (c_common_handle_option): Or set it here.
5408
914d1151 5409 PR c++/35315
5410 * c-common.c (handle_transparent_union_attribute): Don't
5411 make a duplicate type in C++.
5412
54cf6eed 54132011-03-15 Jason Merrill <jason@redhat.com>
5414
5415 * c-common.c (max_constexpr_depth): New.
5416 * c-common.h: Declare it.
5417 * c-opts.c (c_common_handle_option): Set it.
5418 * c.opt (fconstexpr-depth): New option.
5419
02cb1060 54202011-03-11 Jason Merrill <jason@redhat.com>
5421
9bf1c74e 5422 * c-common.c (attribute_takes_identifier_p): Add missing const.
5423
02cb1060 5424 PR c++/46803
5425 * c-common.c (attribute_takes_identifier_p): Assume that an
5426 unknown attribute takes an identifier.
5427
ecf2703d 54282011-03-07 Nathan Froyd <froydnj@codesourcery.com>
5429
5430 PR c/47786
5431 * c-common.c (c_type_hash): Call list_length instead of iterating
5432 through DECL_CHAIN. Rename 'i' to 'n_elements'.
5433
2b19dfe4 54342011-02-19 Jakub Jelinek <jakub@redhat.com>
5435
5436 PR c/47809
5437 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
5438
29cf2335 54392011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5440
5441 * c.opt (fobjc-abi-version=) New.
5442 (fobjc-nilcheck): New.
5443
fad3f658 54442011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5445
5446 PR c++/46890
5447 * c-common.h (keyword_is_decl_specifier): Declare.
5448 * c-common.c (keyword_is_decl_specifier): Define.
5449 (keyword_is_function_specifier): New function.
5450
a12319b3 54512011-01-26 Jakub Jelinek <jakub@redhat.com>
5452
5453 PR c/47473
5454 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5455 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5456 REAL_TYPE.
5457
5c128dc8 54582011-01-26 Arnaud Charlet <charlet@adacore.com>
5459
5460 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5461
8d67b0c7 54622011-01-26 Jakub Jelinek <jakub@redhat.com>
5463
5464 PR pch/47430
5465 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5466 after init_c_lex if pch_file is set.
5467
0675168d 54682011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5469
e8911163 5470 PR c++/43601
0675168d 5471 * c.opt (-fkeep-inline-dllexport): New switch.
5472
0725e25c 54732011-01-12 Richard Guenther <rguenther@suse.de>
5474
5475 PR middle-end/32511
5476 * c-common.c (handle_weak_attribute): Warn instead of error
5477 on declaring an inline function weak.
5478
fdd84b77 54792011-01-05 Tom Tromey <tromey@redhat.com>
5480
5481 * c-common.h (lvalue_error): Update.
5482 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5483 not error.
5484
e6e73d14 54852010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 5486
d67e8485 5487 PR objc/47075
5488 * c-objc.h (objc_finish_message_expr): Added argument to
5489 prototype.
5490
a36cf284 54912010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5492
5493 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5494 Use prototype_p.
5495
33b3681f 54962010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5497
5498 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 5499 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 5500
a1f90215 55012010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5502
5503 * c-common.h (readonly_error): Declare.
5504 * c-common.c (readonly_error): Define.
5505
b1bbc8e5 55062010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5507
5508 * c-common.h (invalid_indirection_error): Declare.
5509 * c-common.c (invalid_indirection_error): Define.
5510
b0d55af9 55112010-12-03 Richard Guenther <rguenther@suse.de>
5512
5513 PR c/46745
5514 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5515 (pp_c_unary_expression): Likewise.
5516 (pp_c_expression): Likewise.
5517
d7489d8d 55182010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5519
5520 * c-common.h (objc_finish_function): New.
5521 (objc_non_volatilized_type): Removed.
5522 (objc_type_quals_match): Removed.
5523 * stub-objc.c (objc_finish_function): New.
5524 (objc_non_volatilized_type): Removed.
5525 (objc_type_quals_match): Removed.
19931eea 5526
92468061 55272010-11-30 Joseph Myers <joseph@codesourcery.com>
5528
5529 * c-common.h (parse_optimize_options): Declare.
5530 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5531 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5532
967958e4 55332010-11-29 Joseph Myers <joseph@codesourcery.com>
5534
5535 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5536 GET_ENVIRONMENT.
5537 * c-pch.c (O_BINARY): Don't define here.
5538 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5539
b213bf24 55402010-11-25 Joseph Myers <joseph@codesourcery.com>
5541
5542 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5543 targetm.except_unwind_info.
5544
9faf44d6 55452010-11-23 Joseph Myers <joseph@codesourcery.com>
5546
5547 * c-opts.c (c_common_handle_option): Pass location to
5548 set_struct_debug_option.
5549
79396169 55502010-11-23 Joseph Myers <joseph@codesourcery.com>
5551
5552 * c-common.c (visibility_options): Move from ../opts.c.
5553 * c-common.h (struct visibility_flags, visibility_options):
5554 Declare here.
5555 * c-opts.c (finish_options): Rename to c_finish_options.
5556 (c_common_init): Update call to finish_options.
5557
b4aa4123 55582010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
5559
5560 PR objc/34033
5561 * c-lex.c (lex_string): Check that each string in an Objective-C
5562 string concat sequence starts with either one or zero '@', and
5563 that there are no spurious '@' signs at the end.
5564
3e0e49f2 55652010-11-20 Joseph Myers <joseph@codesourcery.com>
5566
5567 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5568 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5569 HANDLE_PRAGMA_VISIBILITY.
5570 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5571 HANDLE_PRAGMA_VISIBILITY): Don't define.
5572 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5573
a9ffdd35 55742010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5575
5576 PR c++/16189
5577 PR c++/36888
5578 PR c++/45331
5579 * c-common.h (keyword_begins_type_specifier): Declare.
5580 (keyword_is_storage_class_specifier): Declare.
5581 (keyword_is_type_qualifier): Declare.
5582 * c-common.c (keyword_begins_type_specifier): New function.
5583 (keyword_is_storage_class_specifier): New function.
5584 (keyword_is_type_qualifier): Declare.
5585
93be21c0 55862010-11-19 Joseph Myers <joseph@codesourcery.com>
5587
5588 PR c/46547
5589 * c-common.c (in_late_binary_op): Define.
5590 (c_common_truthvalue_conversion): Check in_late_binary_op before
5591 calling c_save_expr.
5592 * c-common.h (in_late_binary_op): Declare.
5593
d7175aef 55942010-11-19 Joseph Myers <joseph@codesourcery.com>
5595
5596 * c-opts.c (c_common_handle_option): Update calls to
5597 set_struct_debug_option.
5598
c213e196 55992010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5600
5601 * c-common.h (objc_declare_protocols): Added additional argument.
5602 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 5603
0b5fc5d6 56042010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5605
5606 PR c/33193
5607 * c-common.h (build_real_imag_expr): Declare.
5608 * c-semantics.c (build_real_imag_expr): Define.
5609
b8ba44e7 56102010-11-17 Joseph Myers <joseph@codesourcery.com>
5611
5612 * c-opts.c (c_common_parse_file): Take no arguments.
5613 * c-common.h (c_common_parse_file): Update prototype.
5614
6ef8d12f 56152010-11-16 Jakub Jelinek <jakub@redhat.com>
5616
5617 PR c++/46401
5618 * c-common.c (warning_candidate_p): Don't track non-const calls
5619 or STRING_CSTs.
5620
929d2a90 56212010-11-15 Ian Lance Taylor <iant@google.com>
5622
5623 * c-lex.c (init_c_lex): Set macro debug callbacks if
5624 flag_dump_go_spec is set.
5625
e4a7640a 56262010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5627
5628 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5629 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5630
597d2d81 56312010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5632
5633 PR preprocessor/45038
5634 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5635 dialects.
5636
c123f04d 56372010-11-12 Joseph Myers <joseph@codesourcery.com>
5638
5639 * c-common.h (c_family_lang_mask): Declare.
5640 * c-opts.c (c_family_lang_mask): Make extern.
5641 * c-pragma.c (handle_pragma_diagnostic): Use
5642 control_warning_option.
5643
3c6c0e40 56442010-11-12 Joseph Myers <joseph@codesourcery.com>
5645
5646 * c-common.c (parse_optimize_options): Update call to
5647 decode_options.
5648 * c-common.h (c_common_handle_option): Update prototype.
5649 * c-opts.c (c_common_handle_option): Take location_t parameter and
5650 pass it to other functions.
5651
19ec5c9e 56522010-11-11 Joseph Myers <joseph@codesourcery.com>
5653
5654 * c-opts.c (warning_as_error_callback): Remove.
5655 (c_common_initialize_diagnostics): Don't call
5656 register_warning_as_error_callback.
5657 (c_common_handle_option): Handle -Werror=normalized= here.
5658
bf776685 56592010-11-10 Joseph Myers <joseph@codesourcery.com>
5660
5661 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5662 in diagnostic.
5663 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5664 letter.
5665 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5666 Remove trailing '.' from diagnostics.
5667 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5668
6bd9d862 56692010-11-10 Joseph Myers <joseph@codesourcery.com>
5670
5671 * c-common.c (parse_optimize_options): Pass global_dc to
5672 decode_options.
5673 * c-opts.c (c_common_handle_option): Pass &global_options to
5674 set_Wstrict_aliasing.
5675 * c.opt (v): Don't mark Common or document here.
5676
1f6616ee 56772010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5678
5679 PR target/44981
5680 * c-format.c (format_type): New type gcc_objc_string_format_type.
5681 (valid_stringptr_type_p): New.
5682 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5683 (check_format_string): Pass expected type, use
1f6616ee 5684 valid_stringptr_type_p (), check that the format string types are
5685 consistent with the format specification.
5686 (decode_format_attr): Warn if NSString is used outside objective-c.
5687 (format_types_orig): Add NSString.
5688 (format_name): New.
5689 (format_flags): New.
5690 (check_format_arg): Handle format strings requiring an external parser.
5691 first_target_format_type: New variable.
5692 (handle_format_attribute): Set up first_target_format_type, pass the
5693 expected format arg string type to check_format_string().
5694 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5695 * stub-objc.c (objc_string_ref_type_p): New.
5696 (objc_check_format_arg): New.
5697
b0d0931f 56982010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5699
19931eea 5700 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5701 * c-common.h (objc_build_class_component_ref): New.
5702 * stub-objc.c (objc_build_class_component_ref): New.
5703
f26877d5 57042010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5705
5706 * c.opt (Wproperty-assign-default): New option.
5707
1ef143b6 57082010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5709
5710 Implemented -fobjc-std=objc1 flag.
5711 * c.opt (fobjc-std=objc1): New option.
5712
8c582e4f 57132010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5714
5715 Implemented format and noreturn attributes for Objective-C methods.
5716 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5717 attribute for Objective-C methods.
5718
8637f1db 57192010-10-31 Jason Merrill <jason@redhat.com>
5720
5721 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5722 EXPR_LOC_OR_HERE.
5723
9d9f5bb3 57242010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5725
5726 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5727 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5728 (objc_add_property_declaration): Removed arguments for copies and
5729 ivar.
5730 (objc_build_getter_call): Renamed to
5731 objc_maybe_build_component_ref.
5732 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5733 (objc_is_property_ref): New.
5734 * c-common.c (c_common_reswords): Removed copies and ivar.
5735 * stub-objc.c (objc_add_property_declaration): Removed arguments
5736 for copies and ivar.
5737 (objc_build_getter_call): Renamed to
5738 objc_maybe_build_component_ref.
5739 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5740 (objc_is_property_ref): New.
19931eea 5741
56f907a0 57422010-10-29 Arnaud Charlet <charlet@adacore.com>
5743 Matthew Gingell <gingell@adacore.com>
5744
5745 * c-ada-spec.c (separate_class_package): New function.
5746 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5747 name of their enclosing package.
5748 (print_ada_declaration): Use separate_class_package.
5749
b5fa273e 57502010-10-27 Jason Merrill <jason@redhat.com>
5751
5290e253 5752 * c-common.c (c_common_reswords): Add __is_literal_type.
5753 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5754
b5fa273e 5755 * c-common.c (check_case_value): Remove special C++ code.
5756
7590f0e5 57572010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5758
5759 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5760 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5761 and RID_LAST_PATTR.
5762 (objc_add_property_declaration): Added additional arguments.
5763 (objc_property_attribute_kind): Removed.
5764 (objc_set_property_attr): Removed.
5765 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5766 copy and nonatomic.
5767 * stub-objc.c (objc_add_property_declaration): Added additional
5768 arguments.
5769 (objc_set_property_attr): Removed.
19931eea 5770
1d894bcf 57712010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5772
5773 * c-common.h (objc_add_property_variable): Renamed to
5774 objc_add_property_declaration. Added location argument.
5775 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5776
e23bf1fb 57772010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5778
5779 * c-common.h (objc_maybe_printable_name): New.
5780 * stub-objc.c (objc_maybe_printable_name): New.
5781
93426222 57822010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5783 Andrew Pinski <pinskia@gmail.com>
5784
5785 * c-common.h (c_common_mark_addressable_vec): Declare.
5786 * c-common.c (c_common_mark_addressable_vec): New function.
5787
45b2b110 57882010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5789
5790 * c-common.h (objc_set_method_type): Removed.
5791 (objc_add_method_declaration): Added boolean argument.
5792 (objc_start_method_definition): Same change.
5793 (objc_build_method_signature): Same change.
5794 * stub-objc.c (objc_set_method_type): Removed.
5795 (objc_add_method_declaration): Added boolean argument.
5796 (objc_start_method_definition): Same change.
5797 (objc_build_method_signature): Same change.
5798
64cd9619 57992010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5800
5801 * c-common.h (finish_file): Removed.
5802 (objc_write_global_declarations): New.
5803 * c-opts.c (c_common_parse_file): Do not call finish_file.
5804 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5805
e1f293c0 58062010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5807
5808 Implemented parsing @synthesize and @dynamic for
5809 Objective-C/Objective-C++.
5810 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5811 (objc_add_synthesize_declaration): New.
5812 (objc_add_dynamic_declaration): New.
5813 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5814 * stub-objc.c (objc_add_synthesize_declaration): New.
5815 (objc_add_dynamic_declaration): New.
19931eea 5816
ef97a312 58172010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5818
5819 PR target/46041
5820 * c-cppbuiltin.c (mode_has_fma): Move function here from
5821 builtins.c. Don't use the fma optab, instead just use the
5822 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5823 using -save-temps.
5824
69b07042 58252010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5826
5827 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5828
69b07042 5829 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5830
19931eea 5831 Radar 4330422
69b07042 5832 * c-common.h (objc_non_volatilized_type): New declaration
5833 * stub-objc.c (objc_non_volatilized_type): New stub.
5834
f15f2e56 58352010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5836
69b07042 5837 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5838
5839 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5840
19931eea 5841 Radar 4133425
f15f2e56 5842 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5843 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5844
4a8875ed 58452010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5846
5847 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5848 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5849 (objc_ivar_visibility_kind): New enum.
5850 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5851 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5852 visibility enum.
5853
7e0713b1 58542010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5855
5856 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5857 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5858 has the appropriate fma builtins.
5859 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5860
86c110ac 58612010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5862
7e0713b1 5863 merge from FSF apple 'trunk' branch.
86c110ac 5864 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5865
86c110ac 5866 Radars 4436866, 4505126, 4506903, 4517826
5867 * c-common.c (c_common_resword): Define @property and its attributes.
5868 * c-common.h: Define property attribute enum entries.
5869 (OBJC_IS_PATTR_KEYWORD): New.
5870 (objc_property_attribute_kind): New enum.
5871 Declare objc_set_property_attr (), objc_add_property_variable (),
5872 objc_build_getter_call () and objc_build_setter_call ().
5873 * stub-objc.c (objc_set_property_attr): New stub.
5874 (objc_add_property_variable): Likewise.
5875 (objc_build_getter_call): Likewise.
5876 (objc_build_setter_call) Likewise.
7e0713b1 5877
40c8d1dd 58782010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5879
7e0713b1 5880 merge from FSF apple 'trunk' branch.
40c8d1dd 5881 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5882
5883 Radar 3803157 (method attributes)
5884 * c-common.c (handle_deprecated_attribute): Recognize
5885 objc methods as valid declarations.
5886 * c-common.h: Declare objc_method_decl ().
7e0713b1 5887 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5888
f3f006ad 58892010-10-08 Joseph Myers <joseph@codesourcery.com>
5890
5891 * c-common.c (parse_optimize_options): Call
5892 decode_cmdline_options_to_array_default_mask before
5893 decode_options. Update arguments to decode_options.
5894 * c-common.h (c_common_init_options_struct): Declare.
5895 * c-opts.c (c_common_init_options_struct): New. Split out from
5896 c_common_init_options.
5897
0a65c3bb 58982010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5899
5900 Implemented fast enumeration for Objective-C.
5901 * c-common.h (objc_finish_foreach_loop): New.
5902 * stub-objc.c (objc_finish_foreach_loop): New.
5903
24ca3b4e 59042010-10-05 Joseph Myers <joseph@codesourcery.com>
5905
5906 * c-common.h (struct diagnostic_context): Don't declare here.
5907 (c_common_initialize_diagnostics): Declare using
5908 diagnostic_context typedef.
5909 * c-opts.c (c_common_handle_option): Pass global_dc to
5910 handle_generated_option.
5911
f83b64ca 59122010-10-04 Joseph Myers <joseph@codesourcery.com>
5913
5914 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5915 handle_generated_option.
5916
2fdec027 59172010-10-03 Ian Lance Taylor <iant@google.com>
5918
5919 * c.opt (-fplan9-extensions): New option.
5920
41acdfa4 59212010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5922
5923 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5924 Remove.
5925 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5926 of duplicating code.
5927
069761fb 59282010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5929
5930 * c-common.c: Add two new entries for @optional
5931 and @required keywords.
5932
5933 merge from FSF 'apple/trunk' branch.
5934 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5935
5936 Radar 4386773
5937 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5938 objective-c keywords.
5939 (objc_set_method_opt): New declaration.
5940 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5941
2c5d2e39 59422010-09-30 Joseph Myers <joseph@codesourcery.com>
5943
5944 * c-common.c (handle_optimize_attribute): Pass &global_options to
5945 cl_optimization_save and cl_optimization_restore.
5946 * c-opts.c (c_common_handle_option): Pass &global_options to
5947 handle_generated_option.
5948 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5949 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5950 &global_options to cl_optimization_restore.
5951
e5c75ac3 59522010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5953
5954 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5955 Objective-C/Objective-C++ keywords.
5956
3511333e 59572010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5958
19931eea 5959 Merge from 'apple/trunk' branch on FSF servers.
5960
e147d6aa 5961 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5962
5963 Radar 4281748
5964 * c-common.h (objc_check_global_decl): New declaration.
5965 * stub-objc.c (objc_check_global_decl): New stub.
5966
5461e683 59672010-09-29 Joseph Myers <joseph@codesourcery.com>
5968
5969 * c.opt: Don't use VarExists.
5970
5ae82d58 59712010-09-29 Joseph Myers <joseph@codesourcery.com>
5972
5973 * c-common.c (c_cpp_error): Update names of diagnostic_context
5974 members.
5975 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5976 cl_optimization members.
5977 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5978 sanitize_cpp_opts, finish_options): Update names of cpp_options
5979 members.
5980
b27e241e 59812010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5982
5983 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5984 (objc_is_reserved_word): Removed.
5985 * c-common.c: Updated comments.
5986 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5987 objc_is_reserved_word.
5988 * stub-objc.c (objc_is_reserved_word): Removed.
5989
03fc2271 59902010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5991
19931eea 5992 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5993 include attributes.
5994 (objc_start_method_definition): Likewise.
5995 (objc_build_keyword_decl): Likewise.
5996 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5997 (objc_start_method_definition): Likewise.
5998 (objc_build_keyword_decl): Likewise.
5999
a336eb4b 60002010-09-28 Iain Sandoe <iains@gcc.gnu.org>
6001
6002 * c-common.h (objc_start_class_interface): Adjust prototype.
6003 (objc_start_category_interface): Likewise.
6004 (objc_start_protocol): Likewise.
6005 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
6006 (objc_start_class_interface): Likewise.
6007 (objc_start_category_interface): Likewise.
6008
48b14f50 60092010-09-27 Ian Lance Taylor <iant@google.com>
6010
6011 * c-common.c (c_common_attribute_table): Add no_split_stack.
6012 (handle_no_split_stack_attribute): New static function.
6013
4abfc532 60142010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
6015
19931eea 6016 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 6017
6018 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
6019
19931eea 6020 Radar 4229905
4abfc532 6021 * c-common.h (objc_have_common_type): New declaration.
6022 * stub-objc.c (objc_have_common_type): New stub.
6023
6024 2005-06-22 Ziemowit Laski <zlaski@apple.com>
6025
6026 Radar 4154928
6027 * c-common.h (objc_common_type): New prototype.
19931eea 6028 * stub-objc.c (objc_common_type): New stub.
4abfc532 6029
7bd95dfd 60302010-09-24 Jan Hubicka <jh@suse.cz>
6031
6032 * c-common.c (handle_leaf_attribute): New function.
6033 (struct attribute_spec c_common_att): Add leaf.
6034
5789e05b 60352010-09-22 Joseph Myers <joseph@codesourcery.com>
6036
6037 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
6038 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
6039 -dump, -dump=, -imacros, -imacros=, -include, -include=,
6040 -include-barrier, -include-directory, -include-directory=,
6041 -include-directory-after, -include-directory-after=,
6042 -include-prefix, -include-prefix=, -include-with-prefix,
6043 -include-with-prefix=, -include-with-prefix-after,
6044 -include-with-prefix-after=, -include-with-prefix-before,
6045 -include-with-prefix-before=, -no-integrated-cpp,
6046 -no-line-commands, -no-standard-includes, -no-warnings, -output,
6047 -output=, -pedantic, -pedantic-errors, -preprocess,
6048 -print-missing-file-dependencies, -trace-includes, -traditional,
6049 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
6050 -user-dependencies, -verbose, -write-dependencies,
6051 -write-user-dependencies, no-integrated-cpp, traditional): New.
6052
e6fb54ba 60532010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6054
6055 PR objc/23710
9b60f3b0 6056 * c-common.h (objc_start_method_definition): Return bool instead
6057 of void.
6058 * stub-objc.c (objc_start_method_definition): Return bool instead
6059 of void.
6060
60612010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
6062
6063 PR objc/25965
6064 * c-common.h (objc_get_interface_ivars): New declaration.
6065 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 6066
e44b0a1f 60672010-09-15 Ian Lance Taylor <iant@google.com>
6068
6069 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 6070 messages. Remove period at end of warning message.
e44b0a1f 6071
85c0a25c 60722010-09-09 Nathan Sidwell <nathan@codesourcery.com>
6073
6074 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
6075 (handle_alias_attribute): ... here.
6076 (handle_ifunc_attribute): New.
6077
5ba33bf4 60782010-09-06 Mark Mitchell <mark@codesourcery.com>
6079
6080 * c-common.h (do_warn_double_promotion): Declare.
6081 * c-common.c (do_warn_double_promotion): Define.
6082
c920faa3 60832010-09-05 Mark Mitchell <mark@codesourcery.com>
6084
6085 * c.opt (Wdouble-promotion): New.
6086
9604e070 60872010-09-02 Joseph Myers <joseph@codesourcery.com>
6088
6089 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
6090 fvtable-thunks, fxref): Mark no longer supported in help text.
6091
3b0273a1 60922010-09-02 Joseph Myers <joseph@codesourcery.com>
6093
6094 * c.opt (Wimport, fall-virtual, falt-external-templates,
6095 fdefault-inline, fenum-int-equiv, fexternal-templates,
6096 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
6097 fname-mangling-version-, fnew-abi, fnonnull-objects,
6098 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
6099 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
6100 applicable.
6101 (fhandle-exceptions): Mark with Alias and Warn.
6102 * c-opts.c (c_common_handle_option): Don't handle options marked
6103 as ignored.
6104
67089c6b 61052010-09-02 Joseph Myers <joseph@codesourcery.com>
6106
6107 * c.opt (Wcomments, Werror-implicit-function-declaration,
6108 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
6109 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
6110 aliases.
6111 * c-common.c (option_codes): Use OPT_Wcomment instead of
6112 OPT_Wcomments.
6113 * c-opts.c (warning_as_error_callback, c_common_handle_option):
6114 Don't handle options marked as aliases.
6115
2af087f2 61162010-08-25 Richard Guenther <rguenther@suse.de>
6117
6118 * c-common.c (c_common_get_alias_set): Remove special
6119 handling for pointers.
6120
48148244 61212010-08-20 Nathan Froyd <froydnj@codesourcery.com>
6122
6123 * c-common.c: Use FOR_EACH_VEC_ELT.
6124 * c-gimplify.c: Likewise.
6125 * c-pragma.c: Likewise.
6126
89c69892 61272010-08-16 Joseph Myers <joseph@codesourcery.com>
6128
6129 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
6130 RejectDriver.
6131 (MMDX): Change back to MMD. Mark NoDriverArg instead of
6132 RejectDriver.
6133 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
6134 instead of OPT_MDX and OPT_MMDX.
6135
e28aa114 61362010-08-16 Joseph Myers <joseph@codesourcery.com>
6137
6138 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
6139
99b66d21 61402010-08-12 Joseph Myers <joseph@codesourcery.com>
6141
6142 * c.opt (MD, MMD): Change to MDX and MMDX.
6143 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
6144
666f4bf0 61452010-08-11 Joseph Myers <joseph@codesourcery.com>
6146
6147 * c-opts.c (c_common_handle_option): Call handle_generated_option
6148 instead of handle_option.
6149
5ec815f6 61502010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6151
6152 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
6153 (maybe_apply_renaming_pragma): Delete unneeded declarations.
6154
d13143cf 61552010-08-08 Nathan Froyd <froydnj@codesourcery.com>
6156
6157 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
6158 (pending_redefine_extname): Change type to a VEC.
6159 (add_to_renaming_pragma_list): Update for new type of
6160 pending_redefine_extname.
5ec815f6 6161 (maybe_apply_renaming_pragma): Likewise.
d13143cf 6162
2008c983 61632010-08-04 Arnaud Charlet <charlet@adacore.com>
6164
6165 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
6166 visited.
6167 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
6168 decide whether a type has already been declared/seen.
6169 Do not go to the original type.
6170 (dump_nested_types): New parameter forward.
6171 Generate forward declaration if needed and mark type as visited.
6172 (print_ada_declaration): Call dump_nested_types if not already done.
6173 Mark types as visited.
6174
9b091a73 61752010-08-03 Joseph Myers <joseph@codesourcery.com>
6176
6177 * c.opt (-print-pch-checksum): Remove option.
6178 * c-opts.c (c_common_handle_option): Don't handle
6179 OPT_print_pch_checksum.
6180
b78351e5 61812010-07-27 Joseph Myers <joseph@codesourcery.com>
6182
6183 * c-common.h (c_common_handle_option): Update prototype and return
6184 value type.
6185 * c-opts.c (c_common_handle_option): Update prototype and return
6186 value type. Update calls to handle_option and
6187 enable_warning_as_error.
6188
34416a90 61892010-07-27 Jakub Jelinek <jakub@redhat.com>
6190
6191 PR c/45079
6192 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
6193
fecf9011 61942010-07-27 Joseph Myers <joseph@codesourcery.com>
6195
6196 * c-common.h (c_common_missing_argument): Remove.
6197 * c-opts.c (c_common_missing_argument): Remove.
6198 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
6199 idirafter, imacros, include, isysroot, isystem, iquote): Add
6200 MissingArgError.
6201 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
6202
e88d34f6 62032010-07-27 Joseph Myers <joseph@codesourcery.com>
6204
6205 * c-common.h (c_common_option_lang_mask,
6206 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
6207 New.
6208 (c_common_init_options): Update prototype.
6209 * c-opts.c (c_common_option_lang_mask): New.
6210 (c_common_initialize_diagnostics): Split out of
6211 c_common_init_options.
6212 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
6213 New.
6214 (c_common_init_options): Update prototype. Use decoded options in
6215 search for -lang-asm.
6216
1767a056 62172010-07-15 Nathan Froyd <froydnj@codesourcery.com>
6218
6219 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
6220 * c-format.c: Likewise.
6221
0b205f4c 62222010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
6223
6224 * c-common.h: Include diagnostic-core.h. Error if already
6225 included.
6226 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
6227
1c58e3f1 62282010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
6229
1f78217c 6230 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 6231 Do not include expr.h
6232 (vector_mode_valid_p): Move here.
6233
33cc157c 62342010-06-21 DJ Delorie <dj@redhat.com>
6235
6236 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
6237 allow these pragmas anywhere.
6238
62392010-06-14 Jakub Jelinek <jakub@redhat.com>
6240
6241 PR bootstrap/44509
6242 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
6243 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
6244 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
6245 ggc_strdup instead of xstrdup.
6246
62472010-06-10 Jakub Jelinek <jakub@redhat.com>
6248
6249 * c-cppbuiltin.c: Include cpp-id-data.h.
6250 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
6251 (lazy_hex_fp_value): New function.
6252 (builtin_define_with_hex_fp_value): Provide definitions lazily.
6253
9b40bfbf 62542010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
6255
6256 * c-gimplify.c: Do not include tree-flow.h
6257
202d6e5f 62582010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
6259
6260 PR other/44034
6261 * c-common.c: Rename targetm member:
6262 targetm.enum_va_list -> targetm.enum_va_list_p
6263
d3237426 62642010-06-28 Anatoly Sokolov <aesok@post.ru>
6265
6266 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
6267
596981c8 62682010-06-28 Steven Bosscher <steven@gcc.gnu.org>
6269
6270 * c-cppbuiltin.c: Do not include except.h.
6271
b9bdfa0b 62722010-06-24 Andi Kleen <ak@linux.intel.com>
6273
19931eea 6274 * c-common.c (warn_for_omitted_condop): New.
6275 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 6276
55ad092d 62772010-06-21 Joseph Myers <joseph@codesourcery.com>
6278
6279 * c.opt (lang-objc): Remove.
6280 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
6281
9e7c2572 62822010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
6283
6284 * c-opts.c: Include "tm_p.h".
6285
615ef0bb 62862010-06-20 Joseph Myers <joseph@codesourcery.com>
6287
6288 * c-common.c (parse_optimize_options): Update call to
6289 decode_options.
6290
aef48c9a 62912010-06-18 Nathan Froyd <froydnj@codesourcery.com>
6292
6293 * c-common.c (record_types_used_by_current_var_decl): Adjust for
6294 new type of types_used_by_cur_var_decl.
6295
d74003b4 62962010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
6297
6298 PR bootstrap/44512
6299 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
6300 for C++ standard compliance.
6301
1194d077 63022010-06-16 Jason Merrill <jason@redhat.com>
6303
6304 * c.opt: Add -Wnoexcept.
6305
d473d901 63062010-06-16 Richard Guenther <rguenther@suse.de>
6307
6308 PR c/44555
6309 * c-common.c (c_common_truthvalue_conversion): Remove
6310 premature and wrong optimization concering ADDR_EXPRs.
6311
b62dbfd3 63122010-06-15 Arnaud Charlet <charlet@adacore.com>
6313
6314 * c-ada-spec.c (dump_sloc): Remove column info.
6315 (is_simple_enum): New function.
6316 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
6317 enum types when relevant.
6318
200dd99c 63192010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6320
19931eea 6321 * c-common.c (conversion_warning): Warn at expression
200dd99c 6322 location.
6323
abf6a617 63242010-06-10 Joseph Myers <joseph@codesourcery.com>
6325
6326 * c-opts.c (c_common_handle_option): Don't handle
6327 OPT_fshow_column.
6328
ba72912a 63292010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
6330
6331 * c-pragma.c (push_alignment): Use typed GC allocation.
6332 (handle_pragma_push_options): Likewise.
6333
6334 * c-common.c (parse_optimize_options): Likewise.
6335
6336 * c-common.h (struct sorted_fields_type): Add variable_size GTY
6337 option.
6338
4aafe913 63392010-06-07 Joseph Myers <joseph@codesourcery.com>
6340
6341 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
6342 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6343 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6344 flag_signed_bitfields, warn_strict_null_sentinel,
6345 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
6346 flag_gen_declaration, flag_no_gnu_keywords,
6347 flag_implement_inlines, flag_implicit_templates,
6348 flag_implicit_inline_templates, flag_optional_diags,
6349 flag_elide_constructors, flag_default_inline, flag_rtti,
6350 flag_conserve_space, flag_access_control, flag_check_new,
6351 flag_new_for_scope, flag_weak, flag_working_directory,
6352 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
6353 flag_enforce_eh_specs, flag_threadsafe_statics,
6354 flag_pretty_templates): Remove.
6355 * c-common.h (flag_preprocess_only, flag_nil_receivers,
6356 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
6357 flag_replace_objc_classes, flag_undef, flag_no_builtin,
6358 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
6359 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
6360 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
6361 flag_no_gnu_keywords, flag_implement_inlines,
6362 flag_implicit_templates, flag_implicit_inline_templates,
6363 flag_optional_diags, flag_elide_constructors, flag_default_inline,
6364 flag_rtti, flag_conserve_space, flag_access_control,
6365 flag_check_new, flag_new_for_scope, flag_weak,
6366 flag_working_directory, flag_use_cxa_atexit,
6367 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
6368 flag_threadsafe_statics, flag_pretty_templates,
6369 warn_strict_null_sentinel): Remove.
6370 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
6371 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
6372 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
6373 fimplicit-inline-templates, fimplicit-templates,
6374 flax-vector-conversions, fms-extensions, fnil-receivers,
6375 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
6376 frtti, fshort-double, fshort-enums, fshort-wchar,
6377 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
6378 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
6379 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
6380 gen-decls, undef): Use Var.
6381 (fdefault-inline, foptional-diags): Document as doing nothing.
6382 * c-opts.c (c_common_handle_option): Remove cases for options now
6383 using Var. Mark ignored options as such.
6384
7bedc3a0 63852010-06-05 Steven Bosscher <steven@gcc.gnu.org>
6386
19931eea 6387 * c-common.c: Moved to here from parent directory.
7bedc3a0 6388 * c-common.def: Likewise.
6389 * c-common.h: Likewise.
6390 * c-cppbuiltin.c: Likewise.
6391 * c-dump.c: Likewise.
6392 * c-format.c: Likewise.
6393 * c-format.h : Likewise.
6394 * c-gimplify.c: Likewise.
6395 * c-lex.c: Likewise.
6396 * c-omp.c: Likewise.
6397 * c.opt: Likewise.
6398 * c-opts.c: Likewise.
6399 * c-pch.c: Likewise.
6400 * c-ppoutput.c: Likewise.
6401 * c-pragma.c: Likewise.
6402 * c-pragma.h: Likewise.
6403 * c-pretty-print.c: Likewise.
6404 * c-pretty-print.h: Likewise.
6405 * c-semantics.c: Likewise.
6406 * stub-objc.c: Likewise.
6407
6408 * c-common.c: Include gt-c-family-c-common.h.
6409 * c-pragma.c: Include gt-c-family-c-pragma.h.
6410\f
f1717362 6411Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 6412
6413Copying and distribution of this file, with or without modification,
6414are permitted in any medium without royalty provided the copyright
6415notice and this notice are preserved.