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