]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Update copyright years.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
f1717362 12016-01-04 Jakub Jelinek <jakub@redhat.com>
2
3 Update copyright years.
4
c0bf500c 52015-12-21 David Malcolm <dmalcolm@redhat.com>
6
7 * c-common.c (binary_op_error): Convert first param from
8 location_t to rich_location * and use it when emitting an error.
9 * c-common.h (binary_op_error): Convert first param from
10 location_t to rich_location *.
11
dbd79382 122015-12-16 David Malcolm <dmalcolm@redhat.com>
13
14 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
15 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
16
c0998828 172015-12-15 Ilya Verbin <ilya.verbin@intel.com>
18
19 * c-common.c (c_common_attribute_table): Handle "omp declare target
20 link" attribute.
21
7ca909c6 222015-12-14 Jakub Jelinek <jakub@redhat.com>
23
24 PR c/68833
25 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
26
d9102cbe 272014-12-12 Tobias Burnus <burnus@net-b.de>
28
29 PR fortran/68815
30 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
31 specifiers (%d, %i,%u and %c).
32
a515ebdf 332015-12-10 David Malcolm <dmalcolm@redhat.com>
34
35 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
36
31ba81bd 372015-12-08 Jakub Jelinek <jakub@redhat.com>
38
39 PR c/48088
40 PR c/68657
41 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
42 * c-pragma.c (handle_pragma_diagnostic): Adjust
43 control_warning_option caller.
44
d0f713f4 452015-12-07 David Malcolm <dmalcolm@redhat.com>
46
47 * c-common.c (c_cpp_error): Update for change to
48 rich_location::set_range.
49
32d050b5 502015-12-04 Paolo Bonzini <bonzini@gnu.org>
51
52 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
53 shifting 1 out of the sign bit.
54
552015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
56
57 * c-common.c (c_common_attribute_table[]): Update max arguments
58 count for "simd" attribute.
59 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
60
6a8fbd7a 612015-12-03 Jakub Jelinek <jakub@redhat.com>
62
63 PR preprocessor/57580
64 * c-ppoutput.c (print): Change printed field to bool.
65 Move src_file last for smaller padding.
66 (init_pp_output): Set print.printed to false instead of 0.
67 (scan_translation_unit): Fix up formatting. Set print.printed
68 to true after printing something other than newline.
69 (scan_translation_unit_trad): Set print.printed to true instead of 1.
70 (maybe_print_line_1): Set print.printed to false instead of 0.
71 (print_line_1): Likewise.
72 (do_line_change): Set print.printed to true instead of 1.
73 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
74 dump_macro): Set print.printed to false after printing newline.
75
da562e32 762015-12-02 Jason Merrill <jason@redhat.com>
77
9c691dbd 78 * c-common.c (fold_for_warn): New.
79 (warn_logical_operator, warn_tautological_cmp)
80 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
81
da562e32 82 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
83 (c_fully_fold_internal, decl_constant_value_for_optimization):
84 Move to c/c-fold.c.
85 * c-common.h: Don't declare decl_constant_value_for_optimization.
86
89f16034 872015-12-02 Joseph Myers <joseph@codesourcery.com>
88
89 PR c/68162
90 * c-common.h (c_build_qualified_type): Add extra default
91 arguments.
92
571b3486 932015-12-01 Julian Brown <julian@codesourcery.com>
94 Cesar Philippidis <cesar@codesourcery.com>
95 James Norris <James_Norris@mentor.com>
96
97 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
98 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
99 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
100
ed92a461 1012015-11-30 Eric Botcazou <ebotcazou@adacore.com>
102
103 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
104 (decl_sloc_common): Delete and move bulk of processing to...
105 (decl_sloc): ...here.
106 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
107 (dump_ada_double_name): Remove S parameter and compute the suffix.
108 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
109 element type and deal with an anonymous one.
110 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
111 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
112 and remove reference to QUAL_UNION_TYPE.
113 (dump_nested_types): Make 2 passes on the fields and move bulk to...
114 (dump_nested_type): ...here. New function extracted from above.
115 Generate a full declaration for anonymous element type of arrays.
116 (print_ada_declaration): Really skip anonymous declarations. Remove
117 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
118 Clean up processing of declarations of array types and objects.
119 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
120 Remove obsolete code and tidy up.
121
c25b3e3f 1222015-11-29 Jan Hubicka <hubicka@ucw.cz>
123
124 PR c/67581
125 * c-common.c (handle_transparent_union_attribute): Update
126 also type variants.
127
d4e328e9 1282015-11-27 Martin Liska <mliska@suse.cz>
129
130 PR c++/68312
131 * array-notation-common.c (cilkplus_extract_an_triplets):
132 Release vector of vectors.
133 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
134
f63d9c4e 1352015-11-26 Eric Botcazou <ebotcazou@adacore.com>
136
137 PR c++/68527
138 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
139 (print_ada_struct_decl): Likewise.
140
8d63c601 1412015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
142
143 PR c++/68001
144 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
145 * cilk.c (recognize_spawn): Determine location in a more precise
146 way.
147
01f11119 1482015-11-19 Jason Merrill <jason@redhat.com>
149
150 * c-common.c (shorten_compare): But look through macros from
151 system headers.
152
2d3d3af7 1532015-11-18 Jason Merrill <jason@redhat.com>
154
155 * c-common.c (shorten_compare): Don't -Wtype-limits if the
156 non-constant operand comes from a macro.
157
7991eeee 1582015-11-17 Jason Merrill <jason@redhat.com>
159
160 PR bootstrap/68346
161 * c-common.c (warn_tautological_cmp): Fold before checking for
162 constants.
163
73f67931 1642015-11-16 Marek Polacek <polacek@redhat.com>
165
166 PR c++/68362
167 * c-common.c (check_case_bounds): Fold low and high cases.
168
8e539fdc 1692015-11-16 Marek Polacek <polacek@redhat.com>
170
171 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
172 * c-common.c (c_common_get_alias_set): Likewise.
173 (handle_visibility_attribute): Likewise.
174
c58a4cfd 1752015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
176
177 * c-common.c (handle_simd_attribute): New.
178 (struct attribute_spec): Add entry for "simd".
179 (handle_simd_attribute): New.
180
bb036391 1812015-11-13 Kai Tietz <ktietz70@googlemail.com>
182
183 * c-lex.c (interpret_float): Use fold_convert.
184
a96cefb2 1852015-11-13 David Malcolm <dmalcolm@redhat.com>
186
187 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
188 and store it on the result.
189 * c-opts.c (c_common_init_options): Set
190 global_dc->colorize_source_p.
191
2fc5e987 1922015-11-12 James Norris <jnorris@codesourcery.com>
193 Joseph Myers <joseph@codesourcery.com>
194
195 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
196 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
197 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
198 PRAGMA_OACC_CLAUSE_LINK.
199
81b1b2a8 2002015-11-11 Marek Polacek <polacek@redhat.com>
201
202 PR c/68107
203 PR c++/68266
204 * c-common.c (valid_array_size_p): New function.
205 * c-common.h (valid_array_size_p): Declare.
206
4f3707ca 2072015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
208
209 PR bootstrap/68271
210 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
211
6e803544 2122015-11-11 Andrew MacLeod <amacleod@redhat.com>
213
214 * array-notation-common.c: Remove unused header files.
215 * c-ada-spec.c: Likewise.
216 * c-cilkplus.c: Likewise.
217 * c-common.c: Likewise.
218 * c-cppbuiltin.c: Likewise.
219 * c-dump.c: Likewise.
220 * c-format.c: Likewise.
221 * c-gimplify.c: Likewise.
222 * c-indentation.c: Likewise.
223 * c-lex.c: Likewise.
224 * c-omp.c: Likewise.
225 * c-opts.c: Likewise.
226 * c-pch.c: Likewise.
227 * c-ppoutput.c: Likewise.
228 * c-pragma.c: Likewise.
229 * c-pretty-print.c: Likewise.
230 * c-semantics.c: Likewise.
231 * c-ubsan.c: Likewise.
232 * cilk.c: Likewise.
233 * stub-objc.c: Likewise.
234
a1b7fe4b 2352015-11-09 Thomas Schwinge <thomas@codesourcery.com>
236 Cesar Philippidis <cesar@codesourcery.com>
237 James Norris <jnorris@codesourcery.com>
238 Julian Brown <julian@codesourcery.com>
239 Nathan Sidwell <nathan@codesourcery.com>
240
241 * c-pragma.c (oacc_pragmas): Add "routine".
242 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
243
292237f3 2442015-11-08 Eric Botcazou <ebotcazou@adacore.com>
245
246 * c-common.c (c_common_attributes): Add scalar_storage_order.
247 (handle_scalar_storage_order_attribute): New function.
248 * c-pragma.c (global_sso): New variable.
249 (maybe_apply_pragma_scalar_storage_order): New function.
250 (handle_pragma_scalar_storage_order): Likewise.
251 (init_pragma): Register scalar_storage_order.
252 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
253 * c.opt (Wscalar-storage-order): New warning.
254 (fsso-struct=): New option.
255
b4a4c5fa 2562015-11-08 Martin Sebor <msebor@redhat.com>
257
258 * c.opt (Wplacement-new): Add a period to the end of a sentence.
259
ac677063 2602015-11-07 Richard Sandiford <richard.sandiford@arm.com>
261
262 * c-common.c: Don't undef DEF_BUILTIN.
263
f0479000 2642015-11-06 David Malcolm <dmalcolm@redhat.com>
265
266 * c-common.c (c_cpp_error): Convert parameter from location_t to
267 rich_location *. Eliminate the "column_override" parameter and
268 the call to diagnostic_override_column.
269 Update the "done_lexing" clause to set range 0
270 on the rich_location, rather than overwriting a location_t.
271 * c-common.h (c_cpp_error): Convert parameter from location_t to
272 rich_location *. Eliminate the "column_override" parameter.
273
ef014f95 2742015-11-05 Cesar Philippidis <cesar@codesourcery.com>
275 Thomas Schwinge <thomas@codesourcery.com>
276 James Norris <jnorris@codesourcery.com>
277
278 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
279 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
280 clauses with parallel and kernels and loops.
281 * c-pragma.h (enum pragma_omp_clause): Add entries for
282 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
283 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
284 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
285 INDEPENDENT,SEQ}.
286 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
287
e520488c 2882015-11-05 Martin Sebor <msebor@redhat.com>
289
290 PR c++/67942
291 * c.opt (-Wplacement-new): New option.
292
9561765e 2932015-11-05 Jakub Jelinek <jakub@redhat.com>
294
295 * c-common.h (c_finish_omp_atomic): Add TEST argument.
296 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
297 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
298 save_expr or create_tmp_var* if TEST is true.
299 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
300 Don't call add_stmt here.
301 (struct c_omp_check_loop_iv_data): New type.
302 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
303 c_omp_check_loop_iv_exprs): New functions.
304 (c_omp_split_clauses): Adjust for lastprivate being allowed on
305 distribute.
306 (c_omp_declare_simd_clauses_to_numbers): Change
307 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
308 (c_omp_declare_simd_clauses_to_decls): Similarly change those
309 from numbers to PARM_DECLs.
310
5e8689fb 3112015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
312
313 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
314 flag_checking.
315
aeaccb75 3162015-11-03 Bernd Schmidt <bschmidt@redhat.com>
317
318 PR c++-common/67882
32d050b5 319 * c-common.h (fold_offsetof_1): Add argument.
320 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 321 offsetof expressions that reference elements past the end of
322 an array.
323
9e10bfb7 3242015-11-03 Thomas Schwinge <thomas@codesourcery.com>
325 Chung-Lin Tang <cltang@codesourcery.com>
326
327 * c-pragma.c (oacc_pragmas): Add "atomic".
328 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
329
ab50af2a 3302015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
331
332 * c-common.c (handle_target_clones_attribute): New.
333 (c_common_attribute_table): Add handle_target_clones_attribute.
334 (handle_always_inline_attribute): Add check on target_clones attribute.
335 (handle_target_attribute): Ditto.
336
4cba6f60 3372015-10-29 Andrew MacLeod <amacleod@redhat.com>
338
339 * array-notation-common.c: Reorder #include's and remove duplicates.
340 * c-ada-spec.c: Likewise.
341 * c-cilkplus.c: Likewise.
342 * c-common.c: Likewise.
343 * c-cppbuiltin.c: Likewise.
344 * c-dump.c: Likewise.
345 * c-format.c: Likewise.
346 * c-gimplify.c: Likewise.
347 * c-indentation.c: Likewise.
348 * c-lex.c: Likewise.
349 * c-omp.c: Likewise.
350 * c-opts.c: Likewise.
351 * c-pch.c: Likewise.
352 * c-ppoutput.c: Likewise.
353 * c-pragma.c: Likewise.
354 * c-pretty-print.c: Likewise.
355 * c-semantics.c: Likewise.
356 * c-ubsan.c: Likewise.
357 * cilk.c: Likewise.
358 * stub-objc.c: Likewise.
359
f576a2e4 3602015-10-28 Jason Merrill <jason@redhat.com>
361
362 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
363
2c4c8725 3642015-10-27 Thomas Schwinge <thomas@codesourcery.com>
365 James Norris <jnorris@codesourcery.com>
366 Cesar Philippidis <cesar@codesourcery.com>
367
368 PR c/64765
369 PR c/64880
370 * c-common.h (c_oacc_split_loop_clauses): Declare function.
371 * c-omp.c (c_oacc_split_loop_clauses): New function.
372
8204c077 3732015-10-21 Martin Sebor <msebor@redhat.com>
374
375 PR driver/68043
376 * c.opt: End each sentence that describes an option with a period.
377
8523243e 3782015-10-20 Marek Polacek <polacek@redhat.com>
379
380 * array-notation-common.c (is_cilkplus_vector_p): Define.
381 * c-common.h (is_cilkplus_vector_p): Declare.
382
08881cb8 3832015-10-20 Marek Polacek <polacek@redhat.com>
384
385 * c.opt (std=gnu++11): Do not describe as experimental.
386 (std=gnu++14): Likewise.
387
a36e5e5e 3882015-10-19 Jason Merrill <jason@redhat.com>
389
390 * c-cppbuiltin.c (c_cpp_builtins): Define
391 __cpp_nontype_template_args.
392
a349de0a 3932015-10-19 Jason Merrill <jason@redhat.com>
394
395 * c-cppbuiltin.c (c_cpp_builtins): Define
396 __cpp_enumerator_attributes, __cpp_fold_expressions,
397 __cpp_unicode_characters.
398
43895be5 3992015-10-13 Jakub Jelinek <jakub@redhat.com>
400 Aldy Hernandez <aldyh@redhat.com>
401
402 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
403 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
404 (c_define_builtins): Likewise.
405 * c-common.h (enum c_omp_clause_split): Add
406 C_OMP_CLAUSE_SPLIT_TASKLOOP.
407 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
408 (c_finish_omp_for): Add ORIG_DECLV argument.
409 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
410 201511 instead of 201307.
411 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
412 OMP_CRITICAL_CLAUSES to it.
413 (c_finish_omp_ordered): Add CLAUSES argument, set
414 OMP_ORDERED_CLAUSES to it.
415 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
416 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
417 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
418 constructs and new OpenMP 4.5 clauses. Clear
419 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
420 verification code.
421 * c-pragma.c (omp_pragmas_simd): Add taskloop.
422 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
423 (enum pragma_omp_clause): Add
424 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
425 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
426
20cb53c9 4272015-10-05 Richard Sandiford <richard.sandiford@arm.com>
428
429 * c-lex.c (interpret_float): Use real_equal instead of
430 REAL_VALUES_EQUAL.
431
6d02e6b2 4322015-10-04 Jason Merrill <jason@redhat.com>
433
434 Implement N4514, C++ Extensions for Transactional Memory.
435 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
436 (c_common_attribute_table): Add transaction_safe_dynamic.
437 transaction_safe now affects type identity.
438 (handle_tm_attribute): Handle transaction_safe_dynamic.
439 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
440 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
441 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
442 (D_TRANSMEM): New.
443 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
444 * c-pretty-print.c (pp_c_attributes_display): Don't print
445 transaction_safe in C++.
446
c0999a5d 4472015-10-02 Marek Polacek <polacek@redhat.com>
448
449 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
450
ef17a71a 4512015-10-02 Marek Polacek <polacek@redhat.com>
452
453 PR c/64249
454 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
455 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
456 * c.opt (Wduplicated-cond): New option.
457
05b84e7b 4582015-10-01 Joseph Myers <joseph@codesourcery.com>
459
460 * c.opt (std=c11): Do not describe as experimental.
461 (std=gnu11): Likewise.
462 (std=iso9899:2011): Likewise.
463
e561d5e1 4642015-09-28 Nathan Sidwell <nathan@codesourcery.com>
465
466 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
467 (DEF_FUNCTION_TYPE_VAR_11): Delete.
468
bd4b90d2 4692015-09-25 Marek Polacek <polacek@redhat.com>
470
471 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
472 (ubsan_instrument_shift): Likewise.
473
ac13b2b2 4742015-09-25 Marek Polacek <polacek@redhat.com>
475
476 PR sanitizer/64906
477 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
478
a3c82f4c 4792015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
480
481 * c-indentation.c (should_warn_for_misleading_indentation):
482 Compare next_stmt_vis_column with guard_line_first_nws instead
483 of with guard_line_vis_column.
484
5eef101d 4852015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
486
487 PR c/49654
488 PR c/49655
489 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
490 options and options not valid for the current language.
491
60897493 4922015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
493
494 * c-indentation.c (should_warn_for_misleading_indentation):
495 Float out and consolidate the calls to get_visual_column that
496 are passed guard_exploc as an argument. Compare
497 next_stmt_vis_column with guard_line_first_nws instead of with
498 body_line_first_nws.
499
85c93154 5002015-09-22 Nathan Sidwell <nathan@codesourcery.com>
501
502 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
503 Wnamespaces): New C++ warnings.
504
229a58b1 5052015-09-22 Jason Merrill <jason@redhat.com>
506
507 * c-common.h (abi_compat_version_crosses): New.
508 (warn_abi_version): Declare.
509 * c-common.c: Define it.
510 * c-opts.c (c_common_post_options): Handle it.
511 flag_abi_compat_version defaults to 8.
512
2d2de569 5132015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
514
515 Complete the implementation of N4230, Nested namespace definition.
516 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
517 __cpp_nested_namespace_definitions.
518
2b897e68 5192015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
520
521 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
522
ed536208 5232015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
524
525 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
526 when warning.
527 * c-pragma.h (pragma_lex): Add optional loc argument.
528
1dc6c44d 5292015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
530
531 * c-format.c (check_format_arg): Adjust to use common block size in all
532 object pools.
533
be812248 5342015-09-15 David Malcolm <dmalcolm@redhat.com>
535
536 * c-format.c (location_from_offset): Update for change in
537 signature of location_get_source_line.
538 * c-indentation.c (get_visual_column): Likewise.
539 (line_contains_hash_if): Likewise.
540
e4cc057f 5412015-09-14 Marek Polacek <polacek@redhat.com>
542
543 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
544 setting various warnings.
545
85f5e2ee 5462015-09-14 Marek Polacek <polacek@redhat.com>
547
548 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
549 a negative value.
550
1bca8cbd 5512015-09-11 Mark Wielaard <mjw@redhat.com>
552
553 PR c/28901
554 * c.opt (Wunused-variable): Option from common.opt.
555 (Wunused-const-variable): New option.
556
ee48893a 5572015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
558
559 PR c++/53184
560 * c.opt ([Wsubobject-linkage]): Add.
561
547c6b1f 5622015-09-03 Martin Sebor <msebor@redhat.com>
563
564 PR c/66516
565 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
566 functions.
567 * c-common.c (reject_gcc_builtin): Define.
568
7e976b10 5692015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
570
571 PR middle-end/60586
572 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
573 prototype.
574 * c-gimplify.c (c_gimplify_expr): Added a call to the function
575 cilk_gimplify_call_params_in_spawned_fn.
576 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
577 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
578 unwrapping.
579
9e6bcade 5802015-08-25 Marek Polacek <polacek@redhat.com>
581
582 PR middle-end/67330
583 * c-common.c (handle_weak_attribute): Don't check whether the
584 visibility can be changed here.
585
af9de21d 5862015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
587
588 * c-lex.c (c_lex_with_flags): Use explicit locations.
589
6dc50383 5902015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
591
592 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
593 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
594
10902624 5952015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
596
597 PR middle-end/36757
598 * c-common.c (check_builtin_function_arguments): Add check
599 for BUILT_IN_SIGNBIT argument.
600
a03a71ab 6012015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
602
603 PR c++/67160
604 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
605 in c++1z mode.
606
22723c26 6072015-08-17 Marek Polacek <polacek@redhat.com>
608
609 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
610 with whitespaces before qualifier names.
611
f4809955 6122015-08-12 Marek Polacek <polacek@redhat.com>
613
614 PR c++/55095
615 * c-common.c (maybe_warn_shift_overflow): Properly handle
616 left-shifting 1 into the sign bit.
617
5463f502 6182015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
619
620 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
621
56c12fd4 6222015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
623 Braden Obrzut <admin@maniacsvault.net>
624 Jason Merrill <jason@redhat.com>
625
626 Add C++ Concepts TS support.
627 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
628 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
629 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
630 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
631 * c-opts.c (set_std_cxx1z): Set flag_concepts.
632 * c.opt (fconcepts): New.
633
32d050b5 6342015-08-02 Martin Sebor <msebor@redhat.com>
635
636 * c.opt (-Wframe-address): New warning option.
637
17afcef6 6382015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
639
640 * c-indentation.c (should_warn_for_misleading_indentation):
641 Improve heuristics.
642
f95bfdd4 6432015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
644
645 * c-indentation.c (get_visual_column): Add parameter first_nws,
646 use it. Update comment documenting the function.
647 (is_first_nonwhitespace_on_line): Remove.
648 (should_warn_for_misleading_indentation): Replace usage of
649 of is_first_nonwhitespace_on_line with get_visual_column.
650
9255be07 6512015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
652
653 * c-indentation.h (struct token_indent_info): Define.
654 (get_token_indent_info): Define.
655 (warn_for_misleading_information): Declare.
656 * c-common.h (warn_for_misleading_information): Remove.
657 * c-identation.c (warn_for_misleading_indentation):
658 Change declaration to take three token_indent_infos. Adjust
659 accordingly.
660 * c-identation.c (should_warn_for_misleading_indentation):
661 Likewise. Bail out early if the body is a compound statement.
662 (guard_tinfo_to_string): Define.
663
e880695c 6642015-07-30 Jason Merrill <jason@redhat.com>
665
666 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
667 '*' for reference decay.
668
f58dd84b 6692015-07-30 Marek Polacek <polacek@redhat.com>
670
671 * c-common.c (warn_tautological_cmp): Bail for float types.
672
d9e4fe27 6732015-07-27 Marek Polacek <polacek@redhat.com>
674
675 PR bootstrap/67030
676 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
677
6784a472 6782015-07-27 Marek Polacek <polacek@redhat.com>
679
680 PR c++/66555
681 PR c/54979
682 * c-common.c (find_array_ref_with_const_idx_r): New function.
683 (warn_tautological_cmp): New function.
684 * c-common.h (warn_tautological_cmp): Declare.
685 * c.opt (Wtautological-compare): New option.
686
08034975 6872015-07-23 Marek Polacek <polacek@redhat.com>
688
689 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
690 (ubsan_instrument_shift): Likewise.
691
f6f5e49b 6922015-07-23 Marek Polacek <polacek@redhat.com>
693
694 PR sanitizer/66908
695 * c-ubsan.c: Include gimplify.h.
696 (ubsan_instrument_division): Unshare OP0 and OP1.
697 (ubsan_instrument_shift): Likewise.
698
8d669e79 6992015-07-20 Marek Polacek <polacek@redhat.com>
700 Richard Sandiford <richard.sandiford@arm.com>
701
702 PR c++/55095
703 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
704 Use EXPR_LOC_OR_LOC.
705 (maybe_warn_shift_overflow): New function.
706 * c-common.h (maybe_warn_shift_overflow): Declare.
707 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
708 * c.opt (Wshift-overflow): New option.
709
e16712b1 7102015-07-16 Martin Liska <mliska@suse.cz>
711
712 * c-format.c (static void check_format_info_main): Use
713 object_allocator instead of pool_allocator.
714 (check_format_arg): Likewise.
715 (check_format_info_main): Likewise.
716
e51764ad 7172015-07-15 Andrew MacLeod <amacleod@redhat.com>
718
719 * c-opts.c: Remove multiline #include comment.
720
47ae02b7 7212015-07-12 Aldy Hernandez <aldyh@redhat.com>
722
723 * c-common.c: Fix double word typos.
724
ed2b2eb2 7252015-07-10 Eric Botcazou <ebotcazou@adacore.com>
726
727 * c-ada-spec.h (cpp_operation): Revert latest change.
728 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
729 constructors and destructors.
730
1eacc14a 7312015-07-09 Andrew MacLeod <amacleod@redhat.com>
732
733 * c-common.h: Adjust includes for flags.h changes.
734 * stub-objc.c: Likewise.
47ae02b7 735
0124237f 7362015-07-08 Eric Botcazou <ebotcazou@adacore.com>
737
738 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
739 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
740
386ef929 7412015-07-08 Jakub Jelinek <jakub@redhat.com>
742
743 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
744 are to be removed, return NULL rather than original clauses list.
745
9ef16211 7462015-07-07 Andrew MacLeod <amacleod@redhat.com>
747
748 * array-notation-common.c: Adjust includes.
749 * c-ada-spec.c: Likewise.
750 * c-cilkplus.c: Likewise.
751 * c-common.h: Likewise.
752 * c-cppbuiltin.c: Likewise.
753 * c-dump.c: Likewise.
754 * c-format.c: Likewise.
755 * c-gimplify.c: Likewise.
756 * c-indentation.c: Likewise.
757 * c-lex.c: Likewise.
758 * c-omp.c: Likewise.
759 * c-opts.c: Likewise.
760 * c-pch.c: Likewise.
761 * c-ppoutput.c: Likewise.
762 * c-pragma.c: Likewise.
763 * c-pretty-print.c: Likewise.
764 * c-semantics.c: Likewise.
765 * c-ubsan.c: Likewise.
766 * cilk.c: Likewise.
767 * stub-objc.c: Likewise.
768
67ede3e4 7692015-07-07 Eric Botcazou <ebotcazou@adacore.com>
770
771 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
772 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
773
42af8c2a 7742015-07-01 Jason Merrill <jason@redhat.com>
775
fa769cc5 776 * c-common.h (D_CXX11): Rename from D_CXX0X.
777 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
778 * c-common.c: Adjust.
779
97e9c847 780 * c-opts.c (c_common_post_options): Default to C++14.
781
42af8c2a 782 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
783
30b1ba42 7842015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
785
786 Implement N4197 - Adding u8 character literals
32d050b5 787 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 788 CPP_CHAR.
32d050b5 789 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 790 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 791 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 792 and CPP_UTF8CHAR tokens.
793 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 794
0949f227 7952015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
796
797 PR fortran/66605
798 * c-common.c (do_warn_unused_parameter): Move here.
799 * c-common.h (do_warn_unused_parameter): Declare.
800
be23b16f 8012015-06-29 Marek Polacek <polacek@redhat.com>
802
803 PR c/66322
804 * c-common.c (check_case_bounds): Add bool * parameter. Set
805 OUTSIDE_RANGE_P.
806 (c_add_case_label): Add bool * parameter. Pass it down to
807 check_case_bounds.
808 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
809 warning here.
810 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
811 declarations.
812
6290f0db 8132015-06-27 Marek Polacek <polacek@redhat.com>
814
815 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
816 or VECTOR_INTEGER_TYPE_P throughout.
817 * c-gimplify.c: Likewise.
818
aa3e402e 8192015-06-26 Marek Polacek <polacek@redhat.com>
820
821 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
822 * c-common.c (c_fully_fold_internal): Likewise.
823 (c_alignof_expr): Likewise.
824 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
825 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 826 * cilk.c (create_parm_list): Likewise.
aa3e402e 827
4e81b384 8282015-06-26 Marek Polacek <polacek@redhat.com>
829
830 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
831
ec2e0095 8322015-06-25 Andrew MacLeod <amacleod@redhat.com>
833
834 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
835 * c-gimplify.c: Likewise.
836 * c-pragma.c: Likewise.
837 * c-ubsan.c: Likewise.
838 * cilk.c: Likewise.
839
b594087e 8402015-06-25 Richard Sandiford <richard.sandiford@arm.com>
841
842 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
843 ggc_hasher.
844
a3c76fda 8452015-06-25 Andrew MacLeod <amacleod@redhat.com>
846
847 * cilk.c: Move calls.h after tm.h in the include chain.
848
f48c7f4a 8492015-06-25 Marek Polacek <polacek@redhat.com>
850
851 * array-notation-common.c: Use VAR_P throughout.
852 * c-ada-spec.c: Likewise.
853 * c-common.c: Likewise.
854 * c-format.c: Likewise.
855 * c-gimplify.c: Likewise.
856 * c-omp.c: Likewise.
857 * c-pragma.c: Likewise.
858 * c-pretty-print.c: Likewise.
859 * cilk.c: Likewise.
860
ce41e81a 8612015-06-25 Marek Polacek <polacek@redhat.com>
862
863 * cilk.c (extract_free_variables): Use is_global_var.
864
de231ec2 8652015-06-23 Richard Sandiford <richard.sandiford@arm.com>
866
867 * c-common.c: Don't include target-def.h.
868
0200602e 8692015-06-23 Marek Polacek <polacek@redhat.com>
870
871 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
872 when comparing INTEGER_CSTs.
873
99838ed7 8742015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
875
876 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
877 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
878 (dump_ada_template): Skip partially specialized types.
879
a4f59596 8802015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
881
882 * c-common.c (scalar_to_vector): Use std::swap instead of manually
883 swapping.
884
f2ab3bac 8852015-06-17 Andrew MacLeod <amacleod@redhat.com>
886
887 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
888 * c-ada-spec.c: Likewise.
889 * c-cilkplus.c: Likewise.
890 * c-common.c: Likewise.
891 * c-common.h: Likewise.
892 * c-cppbuiltin.c: Likewise.
893 * c-dump.c: Likewise.
894 * c-format.c: Likewise.
895 * c-gimplify.c: Likewise.
896 * c-indentation.c: Likewise.
897 * c-lex.c: Likewise.
898 * c-omp.c: Likewise.
899 * c-opts.c: Likewise.
900 * c-pch.c: Likewise.
901 * c-ppoutput.c: Likewise.
902 * c-pragma.c: Likewise.
903 * c-pretty-print.c: Likewise.
904 * c-semantics.c: Likewise.
905 * c-ubsan.c: Likewise.
906 * cilk.c: Likewise.
907 * stub-objc.c: Likewise.
908
db3d1ffc 9092015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
910
911 PR c++/65168
912 * c-common.c (c_common_truthvalue_conversion): Warn when
913 converting an address of a reference to a truth value.
914
64486212 9152015-06-08 Andrew MacLeod <amacleod@redhat.com>
916
917 * array-notation-common.c : Adjust include files.
918 * c-ada-spec.c : Likewise.
919 * c-cilkplus.c : Likewise.
920 * c-common.c : Likewise.
921 * c-common.h : Likewise.
922 * c-cppbuiltin.c : Likewise.
923 * c-dump.c : Likewise.
924 * c-format.c : Likewise.
925 * c-gimplify.c : Likewise.
926 * c-indentation.c : Likewise.
927 * c-lex.c : Likewise.
928 * c-omp.c : Likewise.
929 * c-opts.c : Likewise.
930 * c-pch.c : Likewise.
931 * c-ppoutput.c : Likewise.
932 * c-pragma.c : Likewise.
933 * c-pretty-print.c : Likewise.
934 * c-semantics.c : Likewise.
935 * c-ubsan.c : Likewise.
936 * cilk.c : Likewise.
937 * stub-objc.c : Likewise.
938
6e84ccad 9392015-06-08 Marek Polacek <polacek@redhat.com>
940
941 PR c/66415
942 * c-format.c (location_from_offset): Return LOC if LINE is null.
943
3a1c9df2 9442015-06-05 Aldy Hernandez <aldyh@redhat.com>
945
946 * c-common.h (c_parse_final_cleanups): New prototype.
947 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
948
32d050b5 9492015-06-04 Sriraman Tallam <tmsriram@google.com>
950
951 * c-common.c (noplt): New attribute.
952 (handle_noplt_attribute): New handler.
953
f77c0292 9542015-06-04 Andrew MacLeod <amacleod@redhat.com>
955
956 * array-notation-common.c: Adjust includes for restructured coretypes.h.
957 * c-ada-spec.c: Likewise.
958 * c-cilkplus.c: Likewise.
959 * c-common.c: Likewise.
960 * c-common.h: Likewise.
961 * c-cppbuiltin.c: Likewise.
962 * c-dump.c: Likewise.
963 * c-format.c: Likewise.
964 * c-gimplify.c: Likewise.
965 * c-indentation.c: Likewise.
966 * c-lex.c: Likewise.
967 * c-omp.c: Likewise.
968 * c-opts.c: Likewise.
969 * c-pch.c: Likewise.
970 * c-ppoutput.c: Likewise.
971 * c-pragma.c: Likewise.
972 * c-pretty-print.c: Likewise.
973 * c-semantics.c: Likewise.
974 * c-ubsan.c: Likewise.
975 * cilk.c: Likewise.
976 * stub-objc.c: Likewise.
977
7c62dfbb 9782015-06-02 David Malcolm <dmalcolm@redhat.com>
979
980 PR c/66220:
981 * c-indentation.c (should_warn_for_misleading_indentation): Use
982 expand_location rather than expand_location_to_spelling_point.
983 Don't warn if the guarding statement is more indented than the
984 next/body stmts.
985
9af7c176 9862015-06-02 David Malcolm <dmalcolm@redhat.com>
987
988 * c-indentation.c (warn_for_misleading_indentation): Bail out
989 immediately if -Wmisleading-indentation isn't enabled.
990
eebcf436 9912015-06-01 Martin Liska <mliska@suse.cz>
992
993 * c-format.c (check_format_arg):Use new type-based pool allocator.
994 (check_format_info_main) Likewise.
995
b0a23e2f 9962015-05-31 Eric Botcazou <ebotcazou@adacore.com>
997
998 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
999 (has_nontrivial_methods): Likewise.
1000
63dc1330 10012015-05-25 Marek Polacek <polacek@redhat.com>
1002
1003 * c-ubsan.c (ubsan_instrument_shift): Use type0.
1004
5a4c69dd 10052015-05-22 Marek Polacek <polacek@redhat.com>
1006
1007 PR c/47043
1008 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
1009
044580bb 10102015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 1011
1012 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
1013 STACK_GROWS_DOWNWARD.
1014
044580bb 10152015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 1016
1017 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1018 STACK_GROWS_DOWNWARD rather than if it is defined.
1019
d5a2ddc7 10202015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 1021
d5a2ddc7 1022 PR c/52952
1023 * c-format.c (location_column_from_byte_offset): New.
1024 (location_from_offset): New.
1025 (struct format_wanted_type): Add offset_loc field.
1026 (check_format_info): Move handling of location for extra arguments
1027 closer to the point of warning.
1028 (check_format_info_main): Pass the result of location_from_offset
1029 to warning_at.
1030 (format_type_warning): Pass the result of location_from_offset
1031 to warning_at.
1032
72f8014e 10332015-05-20 Marek Polacek <polacek@redhat.com>
1034
1035 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1036
74efe522 10372015-05-20 Marek Polacek <polacek@redhat.com>
1038
1039 * c-ada-spec.c (dump_sloc): Use DECL_P.
1040
b443c459 10412015-05-20 Marek Polacek <polacek@redhat.com>
1042
1043 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1044 * c-common.c: Likewise.
1045
551e34da 10462015-05-19 David Malcolm <dmalcolm@redhat.com>
1047
1048 * c-common.h (fe_file_change): Strengthen param from
1049 const line_map * to const line_map_ordinary *.
1050 (pp_file_change): Likewise.
1051 * c-lex.c (fe_file_change): Likewise.
1052 (cb_define): Use linemap_check_ordinary when invoking
1053 SOURCE_LINE.
1054 (cb_undef): Likewise.
1055 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1056 invoking cb_file_change.
1057 (c_finish_options): Likewise.
1058 (push_command_line_include): Likewise.
1059 (cb_file_change): Strengthen param "new_map" from
1060 const line_map * to const line_map_ordinary *.
1061 * c-ppoutput.c (cb_define): Likewise for local "map".
1062 (pp_file_change): Likewise for param "map" and local "from".
1063
dfcf26a5 10642015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1065
1066 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1067
2e474820 10682015-05-18 Tom de Vries <tom@codesourcery.com>
1069
1070 * c-common.c (build_va_arg_1): New function.
1071 (build_va_arg): Add address operator to va_list operand if necessary.
1072
e53013a8 10732015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1074
1075 PR c/48956
1076 * c-common.c (int_safely_convertible_to_real_p): Define.
1077 (unsafe_conversion_p): Check conversions involving complex types.
1078 (conversion_warning): Add new warning message for conversions which
1079 discard imaginary component.
1080 * c-common.h: (enum conversion_safety): Add new enumerator for such
1081 conversions.
1082
aac24642 10832015-05-14 Marek Polacek <polacek@redhat.com>
1084
1085 PR c/66066
1086 PR c/66127
1087 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1088 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1089 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1090 use it. If FOR_INT_CONST, require that all evaluated operands be
1091 INTEGER_CSTs.
1092
e5f01cba 10932015-05-12 David Malcolm <dmalcolm@redhat.com>
1094
1095 * c-common.h (warn_for_misleading_indentation): New prototype.
1096 * c-indentation.c: New file.
1097 * c.opt (Wmisleading-indentation): New option.
1098
c37be9ec 10992015-05-12 Tom de Vries <tom@codesourcery.com>
1100
1101 PR tree-optimization/66010
1102 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1103
7290114b 11042015-05-09 Jason Merrill <jason@redhat.com>
1105
3c665566 1106 * c-opts.c (c_common_post_options): Also clear
1107 cpp_opts->cpp_warn_cxx11_compat.
1108
d875b9d2 1109 * c-common.h (enum cxx_dialect): Add cxx_unset.
1110 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1111 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1112
7290114b 1113 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1114 (std=gnu++0x): Mark as Undocumented.
1115 (std=gnu++1y): Add deprecated message.
1116
1b03cc89 11172015-05-08 Jason Merrill <jason@redhat.com>
1118
1c5f7aba 1119 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
1120 * c-opts.c: Adjust.
1121
1b03cc89 1122 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
1123
dc5945dc 11242015-05-08 Marek Polacek <polacek@redhat.com>
1125
1126 PR c/64918
1127 * c.opt (Woverride-init-side-effects): New option.
1128
cdc64059 11292015-05-07 Marek Polacek <polacek@redhat.com>
1130
1131 PR c/65179
1132 * c-common.c (c_fully_fold_internal): Warn when left shifting a
1133 negative value.
1134 * c.opt (Wshift-negative-value): New option.
1135 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1136 when -Wextra and C99/C++11 mode.
1137
8cafe283 11382015-05-07 Marek Polacek <polacek@redhat.com>
1139 Martin Uecker <uecker@eecs.berkeley.edu>
1140
1141 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1142 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1143
cb40a6f7 11442015-05-05 Jason Merrill <jason@redhat.com>
1145
1146 * c.opt (Wterminate): New.
1147
14744a16 11482015-04-30 Marek Polacek <polacek@redhat.com>
1149
1150 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1151 require that the non-constant be of a boolean type.
1152
9866562d 11532015-04-29 Josh Triplett <josh@joshtriplett.org>
1154
8cafe283 1155 * c-common.c (handle_section_attribute): Refactor to reduce
1156 nesting and distinguish between error cases.
9866562d 1157
a720ab1c 11582015-04-29 Marek Polacek <polacek@redhat.com>
1159
1160 PR c/64610
1161 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1162 with 0/1.
1163
8c072e52 11642015-04-29 Jakub Jelinek <jakub@redhat.com>
1165
1166 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1167 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1168 HOST_BITS_PER_WIDE_INT.
1169
f7fec1c7 11702015-04-28 Tom de Vries <tom@codesourcery.com>
1171
1172 PR tree-optimization/65887
1173 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1174
483b3d26 11752015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 1176 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 1177
1178 * c-ada-spec.c (in_function): Delete.
1179 (dump_generic_ada_node): Do not change in_function and remove the
1180 redundant code dealing with it.
1181 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1182 (print_ada_methods): Output the static member functions in a nested
1183 package after the regular methods as well as associated renamings.
1184
f11bdffb 11852015-04-24 Marek Polacek <polacek@redhat.com>
1186
1187 PR c/65830
1188 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1189 and OPT_Wshift_count_overflow.
1190
485f6b9c 1191 PR c/63357
1192 * c-common.c (warn_logical_operator): Warn if the operands have the
1193 same expressions.
1194
439606a9 11952015-04-24 Marek Polacek <polacek@redhat.com>
1196
1197 PR c/61534
1198 * c-common.c (warn_logical_operator): Bail if either operand comes
1199 from a macro expansion.
1200
de801c28 12012015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1202
1203 PR target/55143
1204 * c-common.c (c_default_pointer_mode): Add definition.
1205 * c-common.h (c_default_pointer_mode): Add declaration.
1206
76738f56 12072015-03-11 Jakub Jelinek <jakub@redhat.com>
1208
1209 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1210 on record_builtin_type argument.
1211
16f958b3 12122015-03-10 Jakub Jelinek <jakub@redhat.com>
1213
1214 PR c/65120
1215 * c-common.c (warn_logical_not_parentheses): Don't warn for
1216 !x == 0 or !x != 0.
1217
9b22f73f 12182015-03-07 Marek Polacek <polacek@redhat.com>
1219
1220 PR sanitizer/65280
1221 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1222 before trying to figure out whether we have a flexible array member.
1223
a864b7d4 12242015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1225 Jonathan Wakely <jwakely.gcc@gmail.com>
1226
1227 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1228
9bf8c90b 12292015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1230
1231 PR ada/65319
1232 * c-ada-spec.c (print_destructor): Remove obsolete code.
1233
037ac54f 12342015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1235
1236 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1237 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1238 DECL_TEMPLATE_RESULT emulations.
1239 (dump_ada_template)): Add guard for TYPE_METHODS.
1240
495cbfb8 12412015-02-27 Marek Polacek <polacek@redhat.com>
1242
1243 PR c/65040
1244 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1245
688a864e 12462015-02-27 Kai Tietz <ktietz@redhat.com>
1247
1248 PR c/35330
1249 * c-pragma.c (handle_pragma_weak): Do not try to create
1250 weak/alias of declarations not being function, or variable
1251 declarations.
1252
6349b8cc 12532015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1254
1255 PR libgomp/64625
1256 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1257 Remove macros.
1258 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1259
3afd5369 12602015-02-16 Marek Polacek <polacek@redhat.com>
1261
1262 PR c/65066
1263 * c-format.c (check_format_types): Handle null param.
1264
46173d1b 12652015-02-13 Marek Polacek <polacek@redhat.com>
1266
1267 PR c/65040
1268 * c-format.c (check_format_types): Don't warn about different
1269 signedness if the original value is in the range of WANTED_TYPE.
1270
1d524ff7 12712015-02-12 Jason Merrill <jason@redhat.com>
1272
1273 PR c++/64956
1274 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1275 to the current highest version.
1276 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1277
bbf8fbec 12782015-02-04 Jakub Jelinek <jakub@redhat.com>
1279
1280 PR c/64824
1281 PR c/64868
1282 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1283 instead of RDIV_EXPR. Use build_binary_op instead of
1284 build2_loc.
1285
c05be867 12862015-01-30 Joseph Myers <joseph@codesourcery.com>
1287
1288 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1289 to pass input_location as first argument.
1290
85977647 12912015-01-23 Tom de Vries <tom@codesourcery.com>
1292
1293 PR libgomp/64672
1294 * c.opt (fopenacc): Mark as LTO option.
1295
fa175926 12962015-01-23 Tom de Vries <tom@codesourcery.com>
1297
1298 PR libgomp/64707
1299 * c.opt (fopenmp): Mark as LTO option.
1300
20aad5ba 13012015-01-21 Jakub Jelinek <jakub@redhat.com>
1302
1303 PR c/63307
8204c077 1304 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1305 (compare_decls): Fix up formatting.
1306
13072015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1308
1309 PR c/63307
1310 * cilk.c: Include vec.h.
1311 (struct cilk_decls): New structure.
1312 (wrapper_parm_cb): Split this function to...
1313 (fill_decls_vec): ...this...
1314 (create_parm_list): ...and this.
1315 (compare_decls): New function.
1316 (for_local_cb): Remove.
1317 (wrapper_local_cb): Ditto.
1318 (build_wrapper_type): For now first traverse and fill vector of
1319 declarations then sort it and then deal with sorted vector.
1320 (cilk_outline): Ditto.
1321 (declare_one_free_variable): Ditto.
1322
60b77e28 13232015-01-21 Jason Merrill <jason@redhat.com>
1324
1325 PR c++/64629
1326 * c-format.c (check_format_arg): Call decl_constant_value.
1327
85fbea97 13282015-01-19 Martin Liska <mliska@suse.cz>
1329
1330 * c-common.c (handle_noicf_attribute): New function.
1331
ca4c3545 13322015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1333 Bernd Schmidt <bernds@codesourcery.com>
1334 James Norris <jnorris@codesourcery.com>
1335 Cesar Philippidis <cesar@codesourcery.com>
1336 Ilmir Usmanov <i.usmanov@samsung.com>
1337 Jakub Jelinek <jakub@redhat.com>
1338
1339 * c.opt (fopenacc): New option.
1340 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1341 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1342 New macros.
1343 * c-common.h (c_finish_oacc_wait): New prototype.
1344 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1345 (c_finish_oacc_wait): New function.
1346 * c-pragma.c (oacc_pragmas): New variable.
1347 (c_pp_lookup_pragma, init_pragma): Handle it.
1348 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1349 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1350 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1351 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1352 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1353 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1354 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1355 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1356 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1357 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1358 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1359 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1360 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1361 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1362 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1363 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1364 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1365 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1366 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1367 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1368 PRAGMA_OACC_CLAUSE_WORKER.
1369
947aa916 13702015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1371
1372 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1373 for the new option fstack-protector_explicit.
1374 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1375 (handle_stack_protect_attribute): New function.
1376
e4fd7af1 13772015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1378
1379 * c.opt: New option -Warray-bounds=.
1380
1f78217c 13812015-01-09 Michael Collison <michael.collison@linaro.org>
1382
1383 * array-notation-common.c: Include hash-set.h, machmode.h,
1384 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1385 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1386 * c-ada-spec.c: Ditto.
1387 * c-cilkplus.c: Ditto.
1388 * c-common.c: Include input.h due to flattening of tree.h.
1389 Define macro GCC_C_COMMON_C.
1390 * c-common.h: Flatten tree.h header files into c-common.h.
1391 Remove include of tree-core.h.
1392 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1393 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1394 fold-const.h, wide-int.h, and inchash.h due to
1395 flattening of tree.h.
1396 * c-dump.c: Ditto.
1397 * c-format.c: Flatten tree.h header files into c-common.h.
1398 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1399 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1400 fold-const.h, wide-int.h, and inchash.h due to
1401 flattening of tree.h.
1402 * c-dump.c: Include hash-set.h, machmode.h,
1403 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1404 fold-const.h, wide-int.h, and inchash.h due to
1405 flattening of tree.h.
1406 * c-format.c: Include hash-set.h, machmode.h,
1407 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1408 fold-const.h, wide-int.h, inchash.h and real.h due to
1409 flattening of tree.h.
1410 * c-gimplify.c: Include hash-set.h, machmode.h,
1411 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1412 fold-const.h, wide-int.h, and inchash.h due to
1413 flattening of tree.h.
1414 * cilk.c: Ditto.
1415 * c-lex.c: Ditto.
1416 * c-omp.c: Ditto.
1417 * c-opts.c: Ditto.
1418 * c-pch.c: Ditto.
1419 * c-ppoutput.c: Ditto.
1420 * c-pragma.c: Ditto.
1421 * c-pretty-print.c: Ditto.
1422 * c-semantics.c: Ditto.
1423 * c-ubsan.c: Ditto.
1424 * stub-objc.c: Ditto.
1425
411b7663 14262015-01-08 Jason Merrill <jason@redhat.com>
1427
1428 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1429 do_ubsan_in_current_function.
1430 (ubsan_maybe_instrument_reference_or_call): Likewise.
1431 * c-ubsan.h: Declare it.
1432
d1e96383 14332015-01-08 Mike Stump <mikestump@comcast.net>
1434
1435 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1436
b57910fa 14372015-01-07 Marek Polacek <polacek@redhat.com>
1438
1439 PR c/64440
1440 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1441 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1442
678a4e3e 14432015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1444
1445 PR c++/31397
1446 * c.opt (Wsuggest-override): New option.
1447
d353bf18 14482015-01-05 Jakub Jelinek <jakub@redhat.com>
1449
1450 Update copyright years.
1451
92b63884 14522015-01-05 Marek Polacek <polacek@redhat.com>
1453
1454 PR c/64423
1455 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1456 parameter. Use it.
1457 * c-common.h (warn_array_subscript_with_type_char): Update
1458 declaration.
1459
83715bc4 14602014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1461
1462 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1463 Control macro with flag_sized_deallocation.
1464
8a8211df 14652014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1466
1467 * c.opt (Wdiscarded-array-qualifiers): New option.
1468
33058239 14692014-12-19 Jakub Jelinek <jakub@redhat.com>
1470
1471 PR preprocessor/63831
1472 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1473 and __has_cpp_attribute here.
1474 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1475 c_common_has_attribute.
1476 * c-common.h (c_common_has_attribute): New prototype.
1477 * c-lex.c (init_c_lex): Set cb->has_attribute to
1478 c_common_has_attribute instead of cb_has_attribute.
1479 (get_token_no_padding): New function.
1480 (cb_has_attribute): Renamed to ...
1481 (c_common_has_attribute): ... this. No longer static. Use
1482 get_token_no_padding, require ()s, don't build TREE_LIST
1483 unnecessarily, fix up formatting, adjust diagnostics, call
1484 init_attributes.
1485
d1856d2c 14862014-12-15 Jason Merrill <jason@redhat.com>
1487
1488 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1489 (-Wsized-deallocation): New.
1490 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1491 to on in C++14 and up.
1492
4972ed5d 14932014-12-11 Jason Merrill <jason@redhat.com>
1494
7d7fa964 1495 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1496
4972ed5d 1497 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1498 we aren't complaining about VLAs.
1499
5ebccf71 15002014-12-06 Marek Polacek <polacek@redhat.com>
1501
1502 PR tree-optimization/64183
1503 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1504 shift-expression if it is integer_type_node. Use types_compatible_p.
1505
f9e245b2 15062014-11-29 Jakub Jelinek <jakub@redhat.com>
1507
1508 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1509 last argument from create_tmp_var_raw and create_tmp_var calls.
1510 * cilk.c (gimplify_cilk_spawn): Likewise.
1511 * c-omp.c (c_finish_omp_atomic): Likewise.
1512
d2f60593 15132014-11-28 Marek Polacek <polacek@redhat.com>
1514
1515 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1516 instead of unsigned_type_node.
1517
fce2dbd1 15182014-11-28 Marek Polacek <polacek@redhat.com>
1519
1520 PR c/63862
1521 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1522 to op1_utype.
1523 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1524 expression to unsigned_type_node.
1525
3a4a2292 15262014-11-20 Mark Wielaard <mjw@redhat.com>
1527
1528 PR debug/38757
1529 * c-opts.c (set_std_c89): Set lang_hooks.name.
1530 (set_std_c99): Likewise.
1531 (set_std_c11): Likewise.
1532 (set_std_cxx98): Likewise.
1533 (set_std_cxx11): Likewise.
1534 (set_std_cxx14): Likewise.
1535 (set_std_cxx1z): Likewise.
1536
c61ef207 15372014-11-21 Jakub Jelinek <jakub@redhat.com>
1538
1539 PR target/63764
1540 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1541 return type to bool.
c9ed79de 1542 * c-common.c: Include gimple-expr.h.
c61ef207 1543 (convert_vector_to_pointer_for_subscript): Change return type to
1544 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1545 and copy it into a TARGET_EXPR and use that instead of *vecp
1546 directly.
1547
1a91d914 15482014-11-19 David Malcolm <dmalcolm@redhat.com>
1549
1550 Merger of git branch "gimple-classes-v2-option-3".
1551 * ChangeLog.gimple-classes: New.
1552 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1553 from being just a vec<gimple> to a vec<gbind *>.
1554
f8fc8b8e 15552014-11-18 Jakub Jelinek <jakub@redhat.com>
1556
1557 PR sanitizer/63813
1558 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1559 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1560 get_pointer_alignment for non-pointers. Use ptype, or if it is
1561 reference type, corresponding pointer type, as type of kind
1562 argument.
1563 (ubsan_maybe_instrument_reference,
1564 ubsan_maybe_instrument_member_call): Adjust callers.
1565
8315e35e 15662014-11-15 Marek Polacek <polacek@redhat.com>
1567
1568 PR middle-end/63884
1569 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1570 for NULL fndecl.
1571 (extract_array_notation_exprs): Return for NULL node.
1572
86b9f14b 15732014-11-12 Joseph Myers <joseph@codesourcery.com>
1574
1575 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1576 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1577
0c93c8a9 15782014-11-12 Jakub Jelinek <jakub@redhat.com>
1579
1580 PR c/59708
1581 * c-common.c (check_builtin_function_arguments): Handle
1582 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1583
fdd735a7 15842014-11-10 Andi Kleen <ak@linux.intel.com>
1585
1586 PR c/60804
1587 * c-common.h (check_no_cilk): Declare.
1588 * cilk.c (get_error_location): New function.
1589 (check_no_cilk): Dito.
1590
5cb678b4 15912014-11-10 Andi Kleen <ak@linux.intel.com>
1592
1593 * cilk.c (recognize_spawn): Use expression location
1594 for error message.
1595
0feb4de1 15962014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1597
1598 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1599
3aa2fa44 16002014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1601
1602 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1603 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1604 (__cpp_range_based_for, __cpp_initializer_lists,
1605 __cpp_delegating_constructors, __cpp_nsdmi,
1606 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1607 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1608 __has_cpp_attribute.
1609 * c-lex.c (cb_has_attribute): New callback CPP function;
1610 (init_c_lex): Set has_attribute callback.
1611
7fd22aae 16122014-11-04 Richard Biener <rguenther@suse.de>
1613
1614 * c-common.c (shorten_compare): Do not shorten mixed
1615 DFP and non-DFP compares.
1616
4af203ac 16172014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1618
1619 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1620 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1621 Commentary and rearrangement of tests.
1622 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1623 Commentary and rearrangement of tests.
1624 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1625 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1626
3754d046 16272014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1628
1629 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1630 enum from machine_mode.
1631
1140c305 16322014-10-28 Andrew MacLeod <amacleod@redhat.com>
1633
1f78217c 1634 * c-common.c: Adjust include files.
1635 * c-gimplify.c: Ditto.
1636 * cilk.c: Ditto.
1637 * c-pragma.c: Ditto.
1638 * c-ubsan.c: Ditto.
1140c305 1639
94ea8568 16402014-10-27 Andrew MacLeod <amacleod@redhat.com>
1641
1642 * c-gimplify.c: Adjust include files.
1643
32ecf960 16442014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1645
1646 PR c++/53061
1647 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1648 c_common_initialize_diagnostics.
1649 * c-common.h: Likewise.
1650
85fecbe2 16512014-10-24 Marek Polacek <polacek@redhat.com>
1652
1653 PR c/56980
1654 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1655 print "struct"/"union"/"enum" for typedefed names.
1656
e7ec033a 16572014-10-23 Marek Polacek <polacek@redhat.com>
1658
1659 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1660 in unsigned type.
1661
c2598081 16622014-10-22 Jakub Jelinek <jakub@redhat.com>
1663 Yury Gribov <y.gribov@samsung.com>
1664
1665 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1666 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1667 instead of flag_sanitize_recover as bool flag.
1668
acebb7e2 16692014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1670
1671 * cilk.c: Revert previous change.
1672
6115016c 16732014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1674
1675 PR c/63307
1676 * cilk.c: Include vec.h.
1677 (struct cilk_decls): New structure.
1678 (wrapper_parm_cb): Split this function to...
1679 (fill_decls_vec): ...this...
1680 (create_parm_list): ...and this.
1681 (compare_decls): New function.
1682 (for_local_cb): Remove.
1683 (wrapper_local_cb): Ditto.
1684 (build_wrapper_type): For now first traverse and fill vector of
1685 declarations then sort it and then deal with sorted vector.
1686 (cilk_outline): Ditto.
1687 (declare_one_free_variable): Ditto.
1688
e610d2b2 16892014-10-17 Marek Polacek <polacek@redhat.com>
1690
1691 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1692 * c.opt (Wimplicit-int): Initialize to -1.
1693
a3020f2f 16942014-10-16 Andrew MacLeod <amacleod@redhat.com>
1695
1696 * c-pragma.c: Adjust include files.
1697 * c-semantics.c: Likewise.
1698
926ddd2c 16992014-10-16 DJ Delorie <dj@redhat.com>
1700
1701 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1702 multiples of bytes.
1703
b0542e7c 17042014-10-14 Jason Merrill <jason@redhat.com>
1705
1706 PR c++/63455
1707 * c-common.h (CPP_PREPARSED_EXPR): New.
1708 (N_CP_TTYPES): Adjust.
1709
b2601928 17102014-10-15 Marek Polacek <polacek@redhat.com>
1711
1712 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1713
9f75f026 17142014-10-14 DJ Delorie <dj@redhat.com>
1715
1716 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1717 types, not just __int128.
1718 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1719 types, not just __int128.
1720 (cpp_atomic_builtins): Round pointer sizes up.
1721 (type_suffix): Use type precision, not specific types.
1722 * c-common.c (c_common_reswords): Remove __int128 special case.
1723 (c_common_type_for_size): Check for all __intN types, not just
1724 __int128.
1725 (c_common_type_for_mode): Likewise.
1726 (c_common_signed_or_unsigned_type): Likewise.
1727 (c_build_bitfield_integer_type): Likewise.
1728 (c_common_nodes_and_builtins): Likewise.
1729 (keyword_begins_type_specifier): Likewise.
1730 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1731 __intN variants.
1732
2ef51f0e 17332014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1734
1735 * c-common.c: Use hash_table instead of hashtab.
1736
5b8257e3 17372014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1738
1f78217c 1739 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1740 C++11 section.
1741
5e84569c 17422014-10-03 Marc Glisse <marc.glisse@inria.fr>
1743
1744 PR c++/54427
1745 PR c++/57198
1746 PR c++/58845
1747 * c-common.c (warn_logical_operator): Punt for vectors.
1748
f6751ff2 17492014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1750
1751 Implement SD-6: SG10 Feature Test Recommendations
1752 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1753 macros and the __has_header macro.
1754
c33e051d 17552014-09-30 Jason Merrill <jason@redhat.com>
1756
f76a9aa8 1757 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1758 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1759 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1760
717e52f9 1761 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1762 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1763
c33e051d 1764 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1765 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1766
5213d6c9 17672014-09-24 Marek Polacek <polacek@redhat.com>
1768
1769 PR c/61405
1770 PR c/53874
1771 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1772
6b722052 17732014-09-23 Andi Kleen <ak@linux.intel.com>
1774
1775 * c-common.c (handle_no_reorder_attribute): New function.
1776 (c_common_attribute_table): Add no_reorder attribute.
1777
0cb69d12 17782014-09-22 Joseph Myers <joseph@codesourcery.com>
1779
1780 * c-cppbuiltin.c (c_cpp_builtins): Define
1781 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1782 modes.
1783
168dfbf0 17842014-09-18 Joseph Myers <joseph@codesourcery.com>
1785
1786 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1787 for supported floating-point modes.
1788
b83705f4 17892014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1790
1791 * c.opt (Wpsabi): Use LangEnabledBy.
1792 * c-opts.c (c_common_handle_option): Do not handle here.
1793
d5957f0d 17942014-09-12 Joseph Myers <joseph@codesourcery.com>
1795
1796 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1797 macros for floating-point modes.
1798
bae6edff 17992014-09-11 Marc Glisse <marc.glisse@inria.fr>
1800
1801 PR target/58757
1802 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1803 __*_DENORM_MIN__ without denormals.
1804
73a69d02 18052014-09-10 Jakub Jelinek <jakub@redhat.com>
1806
1807 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1808 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1809 ubsan_create_data callers.
1810 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1811 index is constant or BIT_AND_EXPR with constant mask and is
1812 small enough for the bound.
1813 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1814 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1815
7ff8db31 18162014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1817
1818 * c.opt: Add CppReason to various flags.
1819 (Wdate-time): Re-sort.
1820 * c-common.c: Include c-common.h earlier.
1821 (struct reason_option_codes_t): Delete.
1822 (c_option_controlling_cpp_error): Prefix global type and struct
1823 with cpp_.
1824
bcc1f37e 18252014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1826
1827 * c.opt (Wnormalized): New.
1828 (Wnormalized=): Use Enum and Reject Negative.
1829 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1830
b660d3c6 18312014-09-08 Joseph Myers <joseph@codesourcery.com>
1832
1833 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1834 digits of floating-point modes if -fbuilding-libgcc.
1835
325b8c3c 18362014-09-05 Joseph Myers <joseph@codesourcery.com>
1837
1838 * c-cppbuiltin.c (c_cpp_builtins): Also define
1839 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1840 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1841 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1842 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1843 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1844 __LIBGCC_STACK_GROWS_DOWNWARD__,
1845 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1846 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1847 __LIBGCC_DWARF_FRAME_REGISTERS__,
1848 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1849 __LIBGCC_STACK_POINTER_REGNUM__ and
1850 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1851 (builtin_define_with_value): Handle backslash-escaping in string
1852 macro values.
1853
1e074e77 18542014-09-05 Richard Biener <rguenther@suse.de>
1855
1856 PR middle-end/63148
1857 * c-format.c (check_format_arg): Properly handle
1858 effectively signed POINTER_PLUS_EXPR offset.
1859
04afd878 18602014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1861
1862 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1863 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1864 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1865 and Init.
1866 * c-opts.c (c_common_handle_option): Do not handle here.
1867 (sanitize_cpp_opts): Likewise.
1868 * c-common.c (struct reason_option_codes_t): Handle
1869 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1870
a3f448f0 18712014-09-03 Marek Polacek <polacek@redhat.com>
1872
1873 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1874
40750995 18752014-09-02 Jakub Jelinek <jakub@redhat.com>
1876 Balaji V. Iyer <balaji.v.iyer@intel.com>
1877 Igor Zamyatin <igor.zamyatin@intel.com>
1878
1879 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1880 * c-common.c (c_common_reswords): Added _Cilk_for.
1881 * c-common.h (enum rid): Added RID_CILK_FOR.
1882 (cilk_for_number_of_iterations): Add declaration.
1883 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1884 CILK_FOR.
1885 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1886 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1887
f0fbe519 18882014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1889
1890 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1891 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1892 Wundef): Use CPP, Var and Init.
1893 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1894
a7d2e480 18952014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1896
1897 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1898 * c-opts.c (c_common_handle_option): Do not handle here.
1899
c35e53f1 19002014-08-25 Jason Merrill <jason@redhat.com>
1901
1902 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1903 -std=c++14 and -std=gnu++14, rather than the reverse.
1904 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1905 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1906 * c-common.h (cxx_dialect): Remove cxx1y.
1907
4e454776 19082014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1909
1910 * c-common.h (enum cxx_dialect): Add cxx14.
1911 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1912 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1913 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1914
af1a80f2 19152014-08-22 Jason Merrill <jason@redhat.com>
1916
1917 * c.opt (std=gnu++17): Fix alias.
1918
dc6229e8 19192014-08-22 Marek Polacek <polacek@redhat.com>
1920
1921 PR c++/62199
1922 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1923 check for vector types. Drop LHS argument.
1924 * c-common.h (warn_logical_not_parentheses): Adjust.
1925
ba7f7c88 19262014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1927
1928 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1929 (Wmultichar): Likewise.
1930 (Wdate-time): Use C-family languages instead of Common. Use CPP
1931 and Var.
1932 * c-opts.c (c_common_handle_option): Do not handle the above
1933 options here.
1934 (sanitize_cpp_opts): Likewise.
1935
399d4f80 19362014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1937
1938 PR fortran/44054
1939 * c-opts.c: Include tree-diagnostics.h.
1940 (c_diagnostic_finalizer): New.
1941 (c_common_initialize_diagnostics): Use it.
1942
1babed5f 19432014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1944
1945 PR preprocessor/51303
1946 * c-common.c (struct reason_option_codes_t option_codes):
1947 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1948
3636964b 19492014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1950
1951 PR c/60975
1952 PR c/53063
1953 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1954 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1955 (c_common_post_options): Call init_global_opts_from_cpp.
1956 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1957
78bf4156 19582014-08-19 Marek Polacek <polacek@redhat.com>
1959
1960 PR c++/62153
1961 * c-common.c (maybe_warn_bool_compare): New function.
1962 * c-common.h (maybe_warn_bool_compare): Declare.
1963 * c.opt (Wbool-compare): New option.
1964
508ea33a 19652014-08-19 Marek Polacek <polacek@redhat.com>
1966
1967 * c.opt (Wc99-c11-compat): New option.
1968
806fe15e 19692014-08-19 Marek Polacek <polacek@redhat.com>
1970
1971 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1972 to warn_c90_c99_compat.
1973 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1974 to -1.
1975
6c867de1 19762014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1977 Steven Bosscher <steven@gcc.gnu.org>
1978
1979 PR c/52952
1980 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1981 format_check_results.
1982 (check_function_format): Use true and add comment for boolean
1983 argument.
1984 (finish_dollar_format_checking): Use explicit location when warning.
1985 (check_format_info): Likewise.
1986 (check_format_arg): Set extra_arg_loc and format_string_loc.
1987 (check_format_info_main): Use explicit location when warning.
1988 (check_format_types): Pass explicit location.
1989 (format_type_warning): Likewise.
1990
dc8078a3 19912014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1992
1993 PR fortran/44054
1994 * c-format.c: Handle Fortran flags.
1995
d271ec7e 19962014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1997
1998 PR other/61962
1999 * array-notation-common.c (find_rank): Added handling for other
2000 types of references.
2001
890c2e2f 20022014-08-10 Marek Polacek <polacek@redhat.com>
2003
2004 PR c/51849
2005 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
2006 * c.opt (Wc90-c99-compat): Add option.
2007
7149db5f 20082014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2009
2010 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
2011
2d2f6a15 20122014-08-03 Marek Polacek <polacek@redhat.com>
2013
2014 * c-common.c (check_case_value): Add location_t parameter. Use it.
2015 (c_add_case_label): Pass loc to check_case_value.
2016
06ecf488 20172014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2018
2019 * cilk.c: Use hash_map instead of pointer_map.
2020
431205b7 20212014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2022
2023 * c-gimplify.c: Use hash_set instead of pointer_set.
2024
3394c80c 20252014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2026
2027 PR middle-end/61455
2028 * array-notation-common.c (extract_array_notation_exprs): Handling
2029 of DECL_EXPR added.
2030
392dee1e 20312014-08-01 Jakub Jelinek <jakub@redhat.com>
2032
2033 * c-common.h (min_align_of_type): Removed prototype.
2034 * c-common.c (min_align_of_type): Removed.
2035 * c-ubsan.h (ubsan_maybe_instrument_reference,
2036 ubsan_maybe_instrument_member_call): New prototypes.
2037 * c-ubsan.c: Include stor-layout.h and builtins.h.
2038 (ubsan_maybe_instrument_reference_or_call,
2039 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2040 functions.
2041
f22a2cb7 20422014-07-31 Marc Glisse <marc.glisse@inria.fr>
2043
2044 PR c++/60517
2045 * c.opt (-Wreturn-local-addr): Move to common.opt.
2046
87b0198f 20472014-07-30 Jason Merrill <jason@redhat.com>
2048
2049 PR c++/61659
2050 PR c++/61687
2051 Revert:
2052 * c.opt (-fuse-all-virtuals): New.
2053
74691f46 20542014-07-30 Tom Tromey <tromey@redhat.com>
2055
2056 PR c/59855
2057 * c.opt (Wdesignated-init): New option.
2058 * c-common.c (c_common_attribute_table): Add "designated_init".
2059 (handle_designated_init): New function.
2060
9140d56f 20612014-07-24 Marek Polacek <polacek@redhat.com>
2062
2063 PR c/57653
2064 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2065
a09c5cc2 20662014-07-16 Dodji Seketeli <dodji@redhat.com>
2067
2068 PR preprocessor/60723 - missing system-ness marks for macro tokens
2069 * c-ppoutput.c (struct print::prev_was_system_token): New data
2070 member.
2071 (init_pp_output): Initialize it.
2072 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2073 (do_line_change): Return a flag saying if a line marker was
2074 emitted or not.
2075 (scan_translation_unit): Detect if the system-ness of the token we
2076 are about to emit is different from the one of the previously
2077 emitted token. If so, emit a line marker. Avoid emitting useless
2078 adjacent line markers. Avoid emitting line markers for tokens
2079 originating from the expansion of built-in macros.
2080 (scan_translation_unit_directives_only): Adjust.
2081
2b25b62f 20822014-07-15 Marek Polacek <polacek@redhat.com>
2083
2084 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2085 TYPE_MAX_VALUE is NULL.
2086
305d96bc 20872014-07-14 Jakub Jelinek <jakub@redhat.com>
2088
2089 PR middle-end/61294
2090 * c.opt (Wmemset-transposed-args): New warning.
2091
8ea4660d 20922014-07-10 Jason Merrill <jason@redhat.com>
2093
2094 PR c++/61659
2095 PR c++/61687
2096 * c.opt (-fuse-all-virtuals): New.
2097
cd480f3d 20982014-07-09 Richard Biener <rguenther@suse.de>
2099
2100 PR c-family/61741
2101 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2102 using unsigned arithmetic if overflow does not wrap instead of
2103 if overflow is undefined.
2104
87d59e72 21052014-07-06 Marek Polacek <polacek@redhat.com>
2106
2107 PR c/6940
2108 * c.opt (Wsizeof-array-argument): New option.
2109
d69521d8 21102014-07-03 Jakub Jelinek <jakub@redhat.com>
2111
8204c077 2112 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 2113 comments->count <= 1, as comments->entries might be NULL.
2114
1207866e 21152014-07-01 Marek Polacek <polacek@redhat.com>
2116
2117 * c.opt (Wint-conversion): New option.
2118
7a6bbb76 21192014-07-01 Marek Polacek <polacek@redhat.com>
2120
2121 PR c/58286
2122 * c.opt (Wincompatible-pointer-types): New option.
2123
9d4eeb52 21242014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2125
2126 PR c++/51400
2127 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
2128 Do not discard TYPE_QUALS of type.
2129
4b53bc0f 21302014-06-26 Jason Merrill <jason@redhat.com>
2131
2132 * c-common.h (enum cxx_dialect): Add cxx1z.
2133 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
2134 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
2135
a8a8d4ea 21362014-06-26 Teresa Johnson <tejohnson@google.com>
2137
2138 * c-common.h (get_dump_info): Declare.
2139 * c-gimplify.c (c_genericize): Use saved dump files.
2140 * c-opts.c (c_common_parse_file): Begin and end dumps
2141 once around parsing invocation.
2142 (get_dump_info): New function.
2143
1f6be080 21442014-06-23 Marek Polacek <polacek@redhat.com>
2145 Andrew MacLeod <amacleod@redhat.com>
2146
2147 PR c/61553
2148 * c-common.c (get_atomic_generic_size): Don't segfault if the
2149 type doesn't have a size.
2150
5ef6b660 21512014-06-20 Marek Polacek <polacek@redhat.com>
2152
2153 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2154 (ubsan_walk_array_refs_r): New function.
2155 (c_genericize): Instrument array bounds.
2156 * c-ubsan.c: Include "internal-fn.h".
2157 (ubsan_instrument_division): Mark instrumented arrays as having
2158 side effects. Adjust ubsan_type_descriptor call.
2159 (ubsan_instrument_shift): Likewise.
2160 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2161 (ubsan_instrument_bounds): New function.
2162 (ubsan_array_ref_instrumented_p): New function.
2163 (ubsan_maybe_instrument_array_ref): New function.
2164 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2165 (ubsan_array_ref_instrumented_p): Declare.
2166 (ubsan_maybe_instrument_array_ref): Declare.
2167
21682014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 2169
2170 PR lto/61123
2171 * c.opt (fshort-enums): Add to LTO.
2172 * c.opt (fshort-wchar): Likewise.
2173
78438f31 21742014-06-16 Marek Polacek <polacek@redhat.com>
2175
2176 PR c/60439
2177 * c.opt (Wswitch-bool): Add Var.
2178
5fddcf34 21792014-06-12 Jakub Jelinek <jakub@redhat.com>
2180
2181 PR middle-end/61486
2182 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2183 #pragma omp target teams or
2184 #pragma omp {,target }teams distribute simd.
2185
74b777e5 21862014-06-12 Jason Merrill <jason@redhat.com>
2187
2188 * c.opt (Wabi=, fabi-compat-version): New.
2189 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2190 (c_common_post_options): Handle flag_abi_compat_version default.
2191 Disallow -fabi-compat-version=1.
2192 * c-common.h (abi_version_crosses): New.
2193
738a6bda 21942014-06-11 Jan Hubicka <hubicka@ucw.cz>
2195
1f78217c 2196 * c-common.c (handle_section_attribute): Update handling for
738a6bda 2197 section names that are no longer trees.
2198
cf5f881f 21992014-06-10 Jakub Jelinek <jakub@redhat.com>
2200
2201 PR fortran/60928
2202 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2203 (omp_pragmas): ... back here.
2204
32dc1512 22052014-06-05 Marek Polacek <polacek@redhat.com>
2206
2207 PR c/49706
2208 * c-common.c (warn_logical_not_parentheses): New function.
2209 * c-common.h (warn_logical_not_parentheses): Declare.
2210 * c.opt (Wlogical-not-parentheses): New option.
2211
f61a9bc2 22122014-06-04 Marek Polacek <polacek@redhat.com>
2213
2214 PR c/30020
2215 * c-common.c (check_case_bounds): Add location parameter.
2216 Use it.
2217 (c_add_case_label): Pass loc to check_case_bounds.
2218
c69ec07d 22192014-06-03 Marek Polacek <polacek@redhat.com>
2220
2221 PR c/60439
2222 * c.opt (Wswitch-bool): New option.
2223
3c77ca67 22242014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2225
68a2c870 2226 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2227 Remove prototypes.
2228 (record_types_used_by_current_var_decl): Move prototype to where
2229 it belongs.
2230
3c77ca67 2231 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2232 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2233 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2234
3ab4693e 22352014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2236
2237 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2238 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2239 void_zero_node.
2240 * c-pretty-print.c (pp_c_void_constant): New function.
2241 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2242 (c_pretty_printer::expression): Handle VOID_CST.
2243 * cilk.c (extract_free_variables): Likewise.
2244 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2245 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2246
25a27413 22472014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2248
2249 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2250 * c-pragma.c (push_alignment): Adjust.
2251 (handle_pragma_push_options): Likewise.
2252
3e5a8b00 22532014-05-09 Marek Polacek <polacek@redhat.com>
2254
2255 PR c/50459
2256 * c-common.c (check_user_alignment): Return -1 if alignment is error
2257 node.
2258 (handle_aligned_attribute): Don't call default_conversion on
2259 FUNCTION_DECLs.
2260 (handle_vector_size_attribute): Likewise.
2261 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2262 (handle_sentinel_attribute): Call default_conversion and allow even
2263 integral types as an argument.
2264
c2c4ae8d 22652014-05-08 Marek Polacek <polacek@redhat.com>
2266
2267 PR c/61053
2268 * c-common.c (min_align_of_type): New function factored out from...
2269 (c_sizeof_or_alignof_type): ...here.
2270 * c-common.h (min_align_of_type): Declare.
2271
2026249a 22722014-05-08 Marek Polacek <polacek@redhat.com>
2273
2274 PR c/61077
2275 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2276 parameter type of main.
2277
33c8dcfe 22782014-05-07 DJ Delorie <dj@redhat.com>
2279
2280 * c-cppbuiltin.c (print_bits_of_hex): New.
2281 (builtin_define_type_minmax): Print values using hex so as not to
2282 require a pre-computed list of string values.
2283
960d5a55 22842014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2285 Mike Stump <mikestump@comcast.net>
2286 Richard Sandiford <rdsandiford@googlemail.com>
2287
2288 * c-ada-spec.c: Include wide-int.h.
2289 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2290 (dump_generic_ada_node): Use wide-int interfaces.
2291 * c-common.c: Include wide-int-print.h.
2292 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2293 (pointer_int_sum): Use wide-int interfaces.
2294 (c_common_nodes_and_builtins): Use make_int_cst.
2295 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2296 (handle_alloc_size_attribute): Use wide-int interfaces.
2297 (get_nonnull_operand): Likewise.
2298 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2299 * c-lex.c: Include wide-int.h.
2300 (narrowest_unsigned_type): Take a widest_int rather than two
2301 HOST_WIDE_INTs.
2302 (narrowest_signed_type): Likewise.
2303 (interpret_integer): Update accordingly. Use wide-int interfaces.
2304 (lex_charconst): Use wide-int interfaces.
2305 * c-pretty-print.c: Include wide-int.h.
2306 (pp_c_integer_constant): Use wide-int interfaces.
2307 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2308 INT_CST_LT_UNSIGNED.
2309
bbb88b31 23102014-05-06 Richard Biener <rguenther@suse.de>
2311
2312 * c-opts.c (c_common_post_options): For -freestanding,
2313 -fno-hosted and -fno-builtin disable pattern recognition
2314 if not enabled explicitely.
2315
022d4718 23162014-05-02 Marek Polacek <polacek@redhat.com>
2317
2318 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2319
e4ab2ef3 23202014-05-01 Marek Polacek <polacek@redhat.com>
2321
2322 PR c/43245
2323 * c.opt (Wdiscarded-qualifiers): Add.
2324
52cc0072 23252014-04-30 Marek Polacek <polacek@redhat.com>
2326
2327 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2328 INT_MIN / -1 sanitization only for integer types.
2329
4a026b48 23302014-04-25 Marek Polacek <polacek@redhat.com>
2331
2332 PR c/18079
2333 * c-common.c (handle_noinline_attribute): Warn if the attribute
2334 conflicts with always_inline attribute.
2335 (handle_always_inline_attribute): Warn if the attribute conflicts
2336 with noinline attribute.
2337
90e645fa 23382014-04-25 Marek Polacek <polacek@redhat.com>
2339
2340 PR c/60156
2341 * c-common.c (check_main_parameter_types): Warn about variadic main.
2342
db103ea4 23432014-04-24 Mike Stump <mikestump@comcast.net>
2344
2345 * c.opt (Wshadow-ivar): Default to on.
2346
06511efd 23472014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2348
2349 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2350
cdf34fca 23512014-04-23 Marek Polacek <polacek@redhat.com>
2352
2353 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2354
7311d7c1 23552014-04-22 Jakub Jelinek <jakub@redhat.com>
2356
2357 PR sanitizer/60275
2358 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2359 if flag_sanitize_undefined_trap_on_error.
2360 (ubsan_instrument_division, ubsan_instrument_shift,
2361 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2362 if !flag_sanitize_recover.
2363
c1917557 23642014-04-22 Marc Glisse <marc.glisse@inria.fr>
2365
2366 PR libstdc++/43622
2367 * c-common.c (registered_builtin_types): Make non-static.
2368 * c-common.h (registered_builtin_types): Declare.
2369
b2ca6510 23702014-04-14 Richard Biener <rguenther@suse.de>
2371 Marc Glisse <marc.glisse@inria.fr>
2372
2373 PR c/60819
2374 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2375 apply may-alias the scalar pointer type when applicable.
2376
855372a3 23772014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2378
2379 PR middle-end/60467
2380 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2381 as possible argument for Cilk_spawn.
2382
4012a986 23832014-04-11 Tobias Burnus <burnus@net-b.de>
2384
2385 PR c/60194
2386 * c.opt (Wformat-signedness): Add
2387 * c-format.c(check_format_types): Use it.
2388
0d284870 23892014-04-11 Jason Merrill <jason@redhat.com>
2390
2391 PR c++/57926
2392 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2393 default_conversion for an array argument.
2394
a34c1231 23952014-04-08 Marek Polacek <polacek@redhat.com>
2396
2397 PR sanitizer/60745
2398 * c-ubsan.c: Include asan.h.
2399 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2400
a35a8e18 24012014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2402
2403 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2404
b23e42b6 24052014-04-02 Marek Polacek <polacek@redhat.com>
2406
2407 * c-common.h (c_expand_expr): Remove declaration.
2408
5a672e62 24092014-03-28 Jakub Jelinek <jakub@redhat.com>
2410
2411 PR c++/60689
2412 * c-common.c (add_atomic_size_parameter): When creating new
2413 params vector, push the size argument first.
2414
d4d068c0 24152014-03-26 Jakub Jelinek <jakub@redhat.com>
2416
2417 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2418 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2419 ubsan_create_data callers.
2420
446bdf5f 24212014-03-22 Jakub Jelinek <jakub@redhat.com>
2422
2423 PR debug/60603
2424 * c-opts.c (c_finish_options): Restore cb_file_change call to
2425 <built-in>.
2426
8895f0a3 24272014-03-13 Jakub Jelinek <jakub@redhat.com>
2428
2429 PR middle-end/36282
2430 * c-pragma.c (apply_pragma_weak): Only look at
2431 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2432 DECL_ASSEMBLER_NAME_SET_P (decl).
2433 (maybe_apply_pending_pragma_weaks): Exit early if
2434 vec_safe_is_empty (pending_weaks) rather than only when
2435 !pending_weaks.
2436 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2437 set assembler name back to NULL afterwards.
2438
7a5da2cd 24392014-03-11 Jason Merrill <jason@redhat.com>
2440
2441 * c.opt: Add -std=gnu++14.
2442
95093889 24432014-03-11 Ian Bolton <ian.bolton@arm.com>
2444
2445 * c-opts.c (c_common_post_options): Don't override
2446 -ffp-contract=fast if unsafe-math-optimizations is on.
2447
c9a24b37 24482014-03-08 Paulo Matos <paulo@matos-sorge.com>
2449
2450 * c.opt: Enable LTO FE for fshort-double.
2451
3f6dba6e 24522014-03-07 Jason Merrill <jason@redhat.com>
2453
2454 * c.opt: Add -std=c++14.
2455
3bfdc94f 24562014-03-06 Marek Polacek <polacek@redhat.com>
2457
2458 PR c/60197
2459 * cilk.c (contains_cilk_spawn_stmt): New function.
2460 (contains_cilk_spawn_stmt_walker): Likewise.
2461 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2462 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2463
8b3a6a4c 24642014-03-03 Jakub Jelinek <jakub@redhat.com>
2465
2466 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2467 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2468 even when flag_preprocess_only.
2469
734ec290 24702014-02-26 Jason Merrill <jason@redhat.com>
2471
2472 PR c++/59231
2473 PR c++/11586
2474 * c-common.c (shorten_compare): Don't check
2475 c_inhibit_evaluation_warnings.
2476
81aec8b8 24772014-02-19 Jakub Jelinek <jakub@redhat.com>
2478
d1081017 2479 PR c/37743
2480 * c-common.c (c_common_nodes_and_builtins): When initializing
2481 c_uint{16,32,64}_type_node, also set corresponding
2482 uint{16,32,64}_type_node to the same value.
2483
81aec8b8 2484 PR c++/60267
2485 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2486 for PRAGMA_IVDEP if flag_preprocess_only.
2487
312243bb 24882014-02-12 Jakub Jelinek <jakub@redhat.com>
2489
2490 PR c/60101
2491 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2492 if false, add ADD itself, rather than vice versa.
2493 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2494 copy. For SAVE_EXPR, only call merge_tlist once.
2495
237e78b1 24962014-02-08 Jakub Jelinek <jakub@redhat.com>
2497
2498 PR middle-end/60092
2499 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2500 and tree_to_uhwi.
2501 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2502 functions.
2503 (c_common_attribute_table): Add alloc_align and assume_aligned
2504 attributes.
2505
76fdceeb 25062014-02-06 Marek Polacek <polacek@redhat.com>
2507
2508 PR c/60087
2509 * c-common.c (warn_for_sign_compare): Call warning_at with location
2510 instead of warning.
2511
4a4dea42 25122014-02-05 Marek Polacek <polacek@redhat.com>
2513
2514 PR c/53123
2515 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2516 statement.
2517
ec704957 25182014-02-04 Marek Polacek <polacek@redhat.com>
2519
2520 PR c/60036
2521 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2522 SAVE_EXPR.
2523
caf62483 25242014-02-03 Marc Glisse <marc.glisse@inria.fr>
2525
2526 PR c++/53017
2527 PR c++/59211
2528 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2529 handle_vector_size_attribute, handle_nonnull_attribute): Call
2530 default_conversion on the attribute argument.
2531 (handle_nonnull_attribute): Increment the argument number.
2532
ec761d5a 25332014-01-31 Marek Polacek <polacek@redhat.com>
2534
2535 PR c/59963
2536 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2537 build_function_call_vec.
2538 (resolve_overloaded_builtin): Likewise.
2539 * c-common.h (build_function_call_vec): Adjust declaration.
2540
22a75734 25412014-01-30 Marek Polacek <polacek@redhat.com>
2542
2543 PR c/59940
2544 * c-common.h (unsafe_conversion_p): Adjust declaration.
2545 (warnings_for_convert_and_check): Likewise.
2546 (convert_and_check): Likewise.
2547 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2548 expansion_point_location_if_in_system_header on it.
2549 (warnings_for_convert_and_check): Add location parameter. Call
2550 expansion_point_location_if_in_system_header on it. Use it.
2551 (convert_and_check): Add location parameter. Use it.
2552 (conversion_warning): Likewise.
2553 (c_add_case_label): Adjust convert_and_check calls.
2554 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2555
a89e6c15 25562014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2557
2558 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2559 flag_cilkplus.
2560 * c-pragma.c (init_pragma): Likewise.
2561 * c.opt: Likewise.
2562
2623625f 25632014-01-23 Marek Polacek <polacek@redhat.com>
2564
2565 PR c/59846
2566 * c-common.c (shorten_compare): Add location_t parameter.
2567 * c-common.h (shorten_binary_op): Adjust declaration.
2568
46da3601 25692014-01-23 Marek Polacek <polacek@redhat.com>
2570
2571 PR c/58346
2572 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2573 * c-common.h: Declare it.
2574
c9743c6a 25752014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2576
2577 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2578 * c-ada-spec.c (dump_ads): Likewise.
2579 (cpp_check): Likewise.
2580 (dump_ada_specs): Likewise.
2581
25822014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2583
2584 PR c++/49718
2585 * c-common.c (handle_no_instrument_function_attribute): Allow
2586 no_instrument_function attribute in class member
2587 definition/declaration.
2588
1248c663 25892014-01-15 Jakub Jelinek <jakub@redhat.com>
2590
2591 PR c/58943
2592 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2593 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2594 being COMPOUND_EXPR.
2595 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2596 operand a SAVE_EXPR and second MODIFY_EXPR.
2597
6e5c480b 25982014-01-09 Jakub Jelinek <jakub@redhat.com>
2599
2600 PR target/58115
2601 * c-pch.c (c_common_write_pch): Call
2602 prepare_target_option_nodes_for_pch.
2603
3aea1f79 26042014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2605
2606 Update copyright years
2607
e4f22041 26082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2609
2610 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2611 the copyright notice.
2612
7fb0fe24 26132013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2614
2615 * c-ada-spec.c (print_constructor): New function.
2616 (print_destructor): Retrieve the origin of the destructor.
2617 (print_ada_declaration): Revamp handling of constructors/destructors.
2618
468088ac 26192013-12-23 Stuart Hastings <stuart@apple.com>
2620 Bill Maddox <maddox@google.com>
2621 Jason Merrill <jason@redhat.com>
2622
2623 * c.opt: Add -fdeclone-ctor-dtor.
2624 * c-opts.c (c_common_post_options): Default to on iff -Os.
2625
74acc703 26262013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2627
2628 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2629 attribute.
2630 * c-pragma.h (enum pragma_cilk_clause): Remove.
2631 (enum pragma_omp_clause): Added the following fields:
2632 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2633 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2634 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2635 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2636 PRAGMA_CILK_CLAUSE_UNIFORM.
2637
8204c077 2638
433e804e 26392013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2640
2641 * cilk.c (cilk_outline): Made this function non-static.
2642 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2643 (create_cilk_wrapper): Added a new parameter: a function pointer.
2644 (c_install_body_w_frame_cleanup): Remove
2645 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2646 * c-common.h (cilk_outline): New prototype.
2647 (gimplify_cilk_spawn): Removed two parameters.
2648 (cilk_install_body_with_frame_cleanup): New prototype.
2649 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2650 CILK_SPAWN_STMT case.
2651
5bcc7e60 26522013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2653
e66325ea 2654 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2655
5bcc7e60 2656 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2657 (int_array_type_node): Remove.
2658 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2659
0b26ec77 26602013-12-05 Marek Polacek <polacek@redhat.com>
2661
2662 PR c/52023
2663 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2664 [ADJUST_FIELD_ALIGN].
2665
a179a7dc 26662013-12-04 Joseph Myers <joseph@codesourcery.com>
2667
2668 PR c/52023
2669 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2670 and check field alignment if set.
2671 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2672 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2673
8204c077 26742013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 2675 Marek Polacek <polacek@redhat.com>
2676
2677 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2678 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2679
648fd348 26802013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2681
2682 PR c/59309
2683 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2684 arguments.
2685
253e1cae 26862013-11-29 Jakub Jelinek <jakub@redhat.com>
2687
2688 PR c/59280
2689 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2690 goto invalid. If it is error_mark_node, don't issue further
2691 diagnostics.
2692
3e398f5b 26932013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2694
2695 * c.opt (Wopenmp-simd): New.
2696
020bc656 26972013-11-22 Jakub Jelinek <jakub@redhat.com>
2698
2699 * c-ubsan.h (ubsan_instrument_return): New prototype.
2700 * c-ubsan.c (ubsan_instrument_return): New function.
2701
bc61cadb 27022013-11-22 Andrew MacLeod <amacleod@redhat.com>
2703
2704 * c-common.c: Add required include files from gimple.h.
2705 * c-gimplify.c: Likewise
2706 * cilk.c: Likewise
2707
3df42822 27082013-11-22 David Malcolm <dmalcolm@redhat.com>
2709
2710 * c-common.c (unsafe_conversion_p): Remove use of
2711 EXPR_LOC_OR_HERE macro.
2712 (conversion_warning): Likewise.
2713 (warnings_for_convert_and_check): Likewise.
2714 (warn_for_collisions_1): Likewise.
2715 (shorten_compare): Likewise, and remove use of in_system_header
2716 macro, using the location from the former.
2717 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2718 (cb_def_pragma): Remove use of in_system_header macro.
2719 (lex_string): Likewise.
2720 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2721
8c53c46c 27222013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2723 Mike Stump <mikestump@comcast.net>
2724 Richard Sandiford <rdsandiford@googlemail.com>
2725
2726 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2727 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2728 tree_fits_shwi_p or tree_fits_uhwi_p.
2729 (dump_generic_ada_node): Likewise.
2730 * c-format.c (check_format_arg): Likewise.
2731 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2732
5200ef07 27332013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2734
2735 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2736
ca9d7d74 27372013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2738
2739 PR c/53001
2740 * c-common.c (unsafe_conversion_p): Make this function
2741 return an enumeration with more detail.
2742 (conversion_warning): Use the new return type of
2743 unsafe_conversion_p to separately warn either about conversions
2744 that lower floating point number precision or about the other
2745 kinds of conversions.
2746 * c-common.h (enum conversion_safety): New enumeration.
2747 (unsafe_conversion_p): switching return type to
2748 conversion_safety enumeration.
2749 * c.opt: Adding new warning -Wfloat-conversion and
2750 enabling it with -Wconversion.
2751
0391a567 27522013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2753
2754 * c-opts.c: Include plugin.h.
2755 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2756
19b928d9 27572013-11-19 Marek Polacek <polacek@redhat.com>
2758
2759 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2760 call.
2761 (ubsan_instrument_shift): Likewise.
2762 (ubsan_instrument_vla): Likewise.
2763
aa59f000 27642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2765
2766 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2767 cast to unsigned type.
2768
08f817b3 27692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2770
2771 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2772 tree_low_cst.
2773 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2774 rather than tree_low_cst.
2775
6a0712d4 27762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2777
2778 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2779 tree_to_uhwi throughout.
2780
fcb97e84 27812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2782
2783 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2784 tree_low_cst (..., 0) with tree_to_shwi throughout.
2785
cd4547bf 27862013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2787
2788 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2789 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2790
35ec552a 27912013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2792
2793 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2794 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2795
f2697631 27962013-11-15 Aldy Hernandez <aldyh@redhat.com>
2797
2798 * c-cilkplus.c: New file.
2799 * c-common.c (readonly_error): Add location argument.
2800 * c-common.h (readonly_error): Same.
2801 (c_finish_cilk_clauses): Protoize.
2802 (c_check_cilk_loop): Same.
2803 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2804 Do not fail on error_mark_node.
2805 Abstract increment canonicalization to here...
2806 (c_omp_for_incr_canonicalize_ptr): New.
2807 c-pragma.c (init_pragma): Register "simd" pragma.
2808 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2809 (enum pragma_cilk_clause): New.
2810
0aa8c34e 28112013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2812
2813 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2814 wchar_type and host_integerp checks.
2815
e795d6e1 28162013-11-14 Andrew MacLeod <amacleod@redhat.com>
2817
2818 * c-common.c: Likewise.
2819 * c-gimplify.c: Likewise.
2820 * cilk.c: Likewise.
2821
9ed99284 28222013-11-14 Diego Novillo <dnovillo@google.com>
2823
2824 * c-common.c: Include fold-const.h.
2825 Include stor-layout.h.
2826 Include calls.h.
2827 Include stringpool.h.
2828 Include attribs.h.
2829 Include varasm.h.
2830 Include trans-mem.h.
2831 * c-cppbuiltin.c: Include stor-layout.h.
2832 Include stringpool.h.
2833 * c-format.c: Include stringpool.h.
2834 * c-lex.c: Include stringpool.h.
2835 Include stor-layout.h.
2836 * c-pragma.c: Include stringpool.h.
2837 Include attribs.h.
2838 Include varasm.h.
2839 Include gcc-symtab.h.
2840 * c-pretty-print.c: Include stor-layout.h.
2841 Include attribs.h.
2842 * cilk.c: Include stringpool.h.
2843 Include calls.h.
2844
4fba5eb9 28452013-11-13 Joseph Myers <joseph@codesourcery.com>
2846
2847 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2848 * c-common.c (c_common_reswords): Add __auto_type.
2849 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2850
a8783bee 28512013-11-12 Andrew MacLeod <amacleod@redhat.com>
2852
e795d6e1 2853 * c-common.c: Include gimplify.h.
2854 * c-gimplify.c: Likewise.
2855 * cilk.c: Likewise.
2856 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2857 * c-ubsan.c: Don't include gimple.h.
a8783bee 2858
d184e0c0 28592013-11-12 Joseph Myers <joseph@codesourcery.com>
2860
2861 * c-common.c (c_common_reswords): Add _Thread_local.
2862
a056826c 28632013-11-09 Joseph Myers <joseph@codesourcery.com>
2864
2865 * c-common.c (atomic_size_supported_p): New function.
2866 (resolve_overloaded_atomic_exchange)
2867 (resolve_overloaded_atomic_compare_exchange)
2868 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2869 Use it instead of comparing size with a local list of sizes.
2870
b560fabd 28712013-11-07 Andrew MacLeod <amacleod@redhat.com>
2872 Joseph Myers <joseph@codesourcery.com>
2873
2874 * c-common.h (enum rid): Add RID_ATOMIC.
2875 * c-common.c (c_common_reswords): Add _Atomic.
2876 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2877 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2878 * c-format.c (check_format_types): Check for extra _Atomic
2879 qualifiers in format argument.
2880 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2881 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2882
5b1a0622 28832013-11-06 Tobias Burnus <burnus@net-b.de>
2884
2885 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2886
4f8f4cb8 28872013-11-06 Joseph Myers <joseph@codesourcery.com>
2888
2889 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2890 standards modes.
2891 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2892 to mean lack of IEEE 754 support.
2893
9148bda3 28942013-11-05 Tobias Burnus <burnus@net-b.de>
2895
2896 * c.opt (-Wdate-time): New option
2897 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2898
08c5f4d5 28992013-11-05 Joseph Myers <joseph@codesourcery.com>
2900
2901 * c-cppbuiltin.c (cpp_iec_559_value): Test
2902 flag_excess_precision_cmdline not flag_excess_precision.
2903
c630ef93 29042013-11-05 Tobias Burnus <burnus@net-b.de>
2905
2906 * c.opt (fopenmp-simd): New option.
2907 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2908 (omp_pragmas): ... this new struct.
2909 (c_pp_lookup_pragma): Also walk omp_pragmas.
2910 (init_pragma): Init pragmas for -fopenmp-simd.
2911
7354a89b 29122013-11-04 Marek Polacek <polacek@redhat.com>
2913
2914 PR c++/58979
2915 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2916
4c866b9b 29172013-11-04 Joseph Myers <joseph@codesourcery.com>
2918
2919 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2920 New functions.
2921 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2922
e2a6a333 29232013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2924
2925 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2926 (dump_ada_specs): Adjust prototype of second callback.
2927 * c-ada-spec.c (cpp_check): New global variable.
2928 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2929 (print_generic_ada_decl): Likewise.
2930 (has_static_fields): Change return type to bool and add guard.
2931 (has_nontrivial_methods): New predicate.
2932 (is_tagged_type): Change return type to bool.
2933 (separate_class_package): Call has_nontrivial_methods.
2934 (pp_ada_tree_identifier): Minor tweaks.
2935 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2936 (dump_ada_array_domains): Likewise.
2937 (dump_ada_array_type): Likewise.
2938 (dump_template_types): Remove cpp_check parameter and do not pass it to
2939 dump_generic_ada_node.
2940 (dump_ada_template): Likewise.
2941 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2942 recursively.
2943 (print_ada_methods): Change return type to integer. Remove cpp_check
2944 parameter and do not pass it down.
2945 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2946 dump_generic_ada_node.
2947 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2948 accessing methods.
2949 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2950 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2951 value of print_ada_methods.
2952 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2953 Set cpp_check to it before invoking dump_ada_nodes.
2954 (dump_ada_specs): Likewise.
2955
2c4c3477 29562013-11-03 Marek Polacek <polacek@redhat.com>
2957
2958 * c-ubsan.c: Don't include hash-table.h.
2959 (ubsan_instrument_vla): New function.
2960 * c-ubsan.h: Declare it.
2961
452659af 29622013-10-31 David Malcolm <dmalcolm@redhat.com>
2963
2964 Automated part of renaming of symtab_node_base to symtab_node.
2965
2966 Patch autogenerated by rename_symtab.py from
2967 https://github.com/davidmalcolm/gcc-refactoring-scripts
2968 revision 58bb219cc090b2f4516a9297d868c245495ee622
2969
2970 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2971 symtab_node_base to symtab_node.
2972
4d6f7dd4 29732013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2974
2975 Implement C++14 digit separators.
2976 * c-lex.c (interpret_float): Remove digit separators from scratch string
2977 before building real literal.
2978
06cfe805 29792013-10-30 Jakub Jelinek <jakub@redhat.com>
2980
2981 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2982
d037099f 29832013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2984
2985 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2986 fields.
2987 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2988 enabled.
2989 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2990 (insert_cilk_frame): New prototype.
2991 (cilk_init_builtins): Likewise.
2992 (gimplify_cilk_spawn): Likewise.
2993 (c_cilk_install_body_w_frame_cleanup): Likewise.
2994 (cilk_detect_spawn_and_unwrap): Likewise.
2995 (cilk_set_spawn_marker): Likewise.
2996 (build_cilk_sync): Likewise.
2997 (build_cilk_spawn): Likewise.
2998 * cilk.c: New file.
2999
02774f2d 30002013-10-29 David Malcolm <dmalcolm@redhat.com>
3001
3002 Patch autogenerated by refactor_symtab.py from
3003 https://github.com/davidmalcolm/gcc-refactoring-scripts
3004 revision 58bb219cc090b2f4516a9297d868c245495ee622
3005
3006 * c-gimplify.c (c_genericize): Update for conversion of symtab types
3007 to a true class hierarchy.
3008 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
3009
31fe10fd 30102013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
3011
3012 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
3013
b1c06ff9 30142013-10-26 Jeff Law <law@redhat.com>
3015
1f78217c 3016 * c-common.c (c_define_builtins): Remove mudflap support.
3017 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 3018
48a972c8 30192013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 3020
3021 PR other/33426
3022 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3023 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3024
546a04b1 30252013-10-23 Jason Merrill <jason@redhat.com>
3026
3027 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3028
bc7bff74 30292013-10-11 Jakub Jelinek <jakub@redhat.com>
3030
d62c713e 3031 * c-common.h (omp_clause_mask::operator !=): New method.
3032 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3033 instead of if (mask & something) tests everywhere.
3034
bc7bff74 3035 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3036 201307 instead of 201107.
3037 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3038 (c_common_attribute_table): Add "omp declare target" and
3039 "omp declare simd" attributes.
3040 (handle_omp_declare_target_attribute,
3041 handle_omp_declare_simd_attribute): New functions.
3042 * c-omp.c: Include c-pragma.h.
3043 (c_finish_omp_taskgroup): New function.
3044 (c_finish_omp_atomic): Add swapped argument, if true,
3045 build the operation first with rhs, lhs arguments and use NOP_EXPR
3046 build_modify_expr.
3047 (c_finish_omp_for): Add code argument, pass it down to make_code.
3048 (c_omp_split_clauses): New function.
3049 (c_split_parallel_clauses): Removed.
3050 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3051 c_omp_declare_simd_clauses_to_decls): New functions.
3052 * c-common.h (omp_clause_mask): New type.
3053 (OMP_CLAUSE_MASK_1): Define.
3054 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3055 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3056 omp_clause_mask::operator |, omp_clause_mask::operator &,
3057 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3058 omp_clause_mask::operator ==): New methods.
3059 (enum c_omp_clause_split): New.
3060 (c_finish_omp_taskgroup): New prototype.
3061 (c_finish_omp_atomic): Add swapped argument.
3062 (c_finish_omp_for): Add code argument.
3063 (c_omp_split_clauses): New prototype.
3064 (c_split_parallel_clauses): Removed.
3065 (c_omp_declare_simd_clauses_to_numbers,
3066 c_omp_declare_simd_clauses_to_decls): New prototypes.
3067 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3068 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3069 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3070 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3071 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3072 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3073 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3074 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3075 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3076 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3077 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3078 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3079 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3080 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3081 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3082 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3083 PRAGMA_OMP_CLAUSE_UNIFORM.
3084
d7dcba40 30852013-10-09 Marc Glisse <marc.glisse@inria.fr>
3086
3087 PR tree-optimization/20318
3088 * c-common.c (handle_returns_nonnull_attribute): New function.
3089 (c_common_attribute_table): Add returns_nonnull.
3090
0b7282f1 30912013-10-03 Marc Glisse <marc.glisse@inria.fr>
3092
3093 PR c++/19476
3094 * c.opt (fcheck-new): Move to common.opt.
3095
51f553af 30962013-09-25 Marek Polacek <polacek@redhat.com>
3097 Jakub Jelinek <jakub@redhat.com>
3098
3099 PR sanitizer/58413
3100 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3101 an expression if we can prove it is correct.
3102 (ubsan_instrument_division): Likewise. Remove unnecessary
3103 check.
3104
05f893e1 31052013-09-18 Marek Polacek <polacek@redhat.com>
3106
3107 PR sanitizer/58411
3108 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3109 Declare it.
3110 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3111
236ce1d1 31122013-09-14 Iain Sandoe <iain@codesourcery.com>
3113
3114 PR target/48094
3115 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
3116 fobjc-gc, freplace-objc-classes): Accept for LTO.
3117
f9f68d35 31182013-09-13 Jacek Caban <jacek@codeweavers.com>
3119
3120 * c-target.def: New hook
3121
ba2f764e 31222013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3123
3124 PR c++/43452
3125 * c.opt (Wdelete-incomplete): Add.
3126
73437615 31272013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3128
3129 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
3130 (vector_types_compatible_elements_p): New function.
3131 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
3132 declaration.
3133 (vector_types_compatible_elements_p): Declare.
3134
95af4c75 31352013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3136
3137 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3138 a virtual member function.
3139 (pp_simple_type_specifier): Remove.
3140 (pp_c_type_specifier): Likewise.
3141 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3142 Rename from pp_c_type_specifier. Adjust.
3143 (c_pretty_printer::c_pretty_printer): Do not assign to
3144 simple_type_specifier.
3145
eaab24b9 31462013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3147
3148 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3149 member function.
3150 (c_pretty_printer::storage_class_specifier): Likewise.
3151 (c_pretty_printer::initializer): Likewise.
3152 (pp_declaration): Remove.
3153 (pp_declaration_specifiers): Likewise.
3154 (pp_abstract_declarator): Likewise.
3155 (pp_declarator): Likewise.
3156 (pp_type_id): Likewise.
3157 (pp_statement): Likewise.
3158 (pp_constant): Likewise.
3159 (pp_id_expression): Likewise.
3160 (pp_primary_expression): Likewise.
3161 (pp_unary_expression): Likewise.
3162 (pp_multiplicative_expression): Likewise.
3163 (pp_conditional_expression): Likewise.
3164 (pp_assignment_expression): Likewise.
3165 (pp_expression): Likewise.
3166 (pp_c_type_id): Likewise.
3167 (pp_c_storage_class_specifier): Likewise.
3168 * c-pretty-print.c (pp_c_type_cast): Tidy.
3169 (pp_c_pointer): Likewise.
3170 (pp_c_type_specifier): Likewise.
3171 (pp_c_parameter_type_list): Likewise.
3172 (pp_c_function_definition): Likewise.
3173 (pp_c_init_declarator): Likewise.
3174 (pp_c_initializer_list): Likewise.
3175 (pp_c_constructor_elts): Likewise.
3176 (c_pretty_printer::direct_abstract_declarator): Likewise.
3177 (c_pretty_printer::declaration_specifiers): Likewise.
3178 (c_pretty_printer::primary_expression): Likewise.
3179 (c_pretty_printer::postfix_expression): Likewise.
3180 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3181 (c_pretty_printer::storage_class_specifier): Rename from
3182 pp_c_storage_class_specifier.
3183 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3184 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3185 storage_class_specifier, initializer, offset_list, flags.
3186
9e46467d 31872013-08-30 Marek Polacek <polacek@redhat.com>
3188
3189 * c-ubsan.c: New file.
3190 * c-ubsan.h: New file.
3191
36a8d9b9 31922013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3193
3194 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3195 member function.
3196 (c_pretty_printer::declaration_specifiers): Likewise.
3197 (c_pretty_printer::declarator): Likewise.
3198 (c_pretty_printer::abstract_declarator): Likewise.
3199 (c_pretty_printer::direct_abstract_declarator): Likewise.
3200 (c_pretty_printer::direct_declarator): Likewise.
3201 (c_pretty_printer::function_specifier): Likewise.
3202 (pp_declaration): Adjust.
3203 (pp_declaration_specifiers): Likewise.
3204 (pp_abstract_declarator): Likewise.
3205 (pp_direct_declarator): Likewise.
3206 (pp_function_specifier): Likewise.
3207 (pp_direct_abstract_declarator): Remove as unused.
3208 (pp_c_declaration): Remove.
3209 (pp_c_declaration_specifiers): Likewise.
3210 (pp_c_declarator): Likewise.
3211 (pp_c_direct_declarator): Likewise.
3212 (pp_c_function_specifier): Likewise.
3213 (pp_c_direct_abstract_declarator): Likewise.
3214 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3215 from pp_c_abstract_declarator. Adjust.
3216 (c_pretty_printer::direct_abstract_declarator): Rename from
3217 pp_c_direct_abstract_declarator. Adjust.
3218 (c_pretty_printer::function_specifier): Rename from
3219 pp_c_function_specifier. Adjust.
3220 (c_pretty_printer::declaration_specifiers): Rename from
3221 pp_c_declaration_specifiers. Adjust.
3222 (c_pretty_printer::direct_declarator): Rename from
3223 pp_c_direct_declarator. Adjust.
3224 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3225 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3226 (c_pretty_printer::c_pretty_printer): Do not assign to
3227 declaration, declaration_specifiers, declarator,
3228 direct_declarator, direct_abstract_declarator, function_specifier.
3229
30635c2e 32302013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3231
3232 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3233 virtual member function.
3234 (c_pretty_printer::multiplicative_expression): Likewise.
3235 (c_pretty_printer::conditional_expression): Likewise.
3236 (c_pretty_printer::assignment_expression): Likewise.
3237 (c_pretty_printer::expression): Likewise.
3238 (pp_unary_expression): Adjust.
3239 (pp_multiplicative_expression): Likewise.
3240 (pp_assignment_expression): Likewise.
3241 (pp_conditional_expression): Likewise.
3242 (pp_expression): Likewise.
3243 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3244 from pp_c_unary_expression. Adjust.
3245 (c_pretty_printer::multiplicative_expression): Rename from
3246 pp_c_multiplicative_expression. Adjust.
3247 (c_pretty_printer::conditional_expression): Rename from
3248 pp_c_conditional_expression. Adjust.
3249 (c_pretty_printer::assignment_expression): Rename from
3250 pp_c_assignment_expression. Adjust.
3251 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3252 (c_pretty_printer::c_pretty_printer): Do not assign to
3253 unary_expression, multiplicative_expression,
3254 conditional_expression, expression.
3255
027d08ed 32562013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3257
3258 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3259 virtual member function.
3260 (pp_postfix_expression): Adjust.
3261 (pp_c_postfix_expression): Remove.
3262 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3263 from pp_c_postfix_expression. Adjust.
3264 (c_pretty_printer::c_pretty_printer): Do not assign to
3265 postfix_expression.
3266
f873303a 32672013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3268
3269 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3270 virtua member function.
3271 (pp_primary_expression): Adjust.
3272 (pp_c_primary_expression): Remove.
3273 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3274 from pp_c_primary_expression. Adjust.
3275 (pp_c_initializer_list): Use pp_primary_expression.
3276 (c_pretty_printer::c_pretty_printer): Do not assign to
3277 primary_expression.
3278
08e3e481 32792013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3280
3281 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3282 * c-pretty-print.c (M_): Remove.
3283 (c_pretty_printer::translate_string): Define.
3284 (pp_c_type_specifier): Use it.
3285 (pp_c_primary_expression): Likewise.
3286 (pp_c_expression): Likewise.
3287
1fc4a87f 32882013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3289
3290 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3291 virtual function.
3292 (pp_c_id_expression): Remove.
3293 (pp_id_expression): Adjust.
3294 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3295 pp_c_id_expression. Adjust.
3296 (pp_c_postfix_expression): Use pp_id_expression.
3297 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3298
a6cb161b 32992013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3300
3301 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3302 member function.
3303 (pp_constant): Adjust.
3304 (pp_c_constant): Remove.
3305 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3306 pp_c_constant. Adjust.
3307 (pp_c_constant)
3308 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3309 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3310
eed6bc21 33112013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3312
3313 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3314 (c_pretty_printer::c_pretty_printer): Declare.
3315 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3316 c_pretty_printer_init. Adjust.
3317 (print_c_tree): Do not call c_pretty_printer_init.
3318 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3319
df558d2e 33202013-08-09 Arnaud Charlet <charlet@adacore.com>
3321
3322 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3323
42f9a786 33242013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3325
3326 PR c++/58080
3327 * c-common.c (pointer_int_sum): Add bool parameter.
3328 * c-common.h (pointer_int_sum): Adjust declaration.
3329
f874ddad 33302013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3331
3332 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3333 c_pretty_printer variable.
3334
a94db6b0 33352013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3336
3337 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3338 (pp_base): Remove.
3339 (pp_c_base): Likewise. Adjust users.
3340 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3341 (pp_c_whitespace): Do not call pp_base.
3342 (pp_c_left_paren): Likewise.
3343 (pp_c_right_paren): Likewise.
3344 (pp_c_left_brace): Likewise.
3345 (pp_c_right_brace): Likewise.
3346 (pp_c_left_bracket): Likewise.
3347 (pp_c_right_bracket): Likewise.
3348 (pp_c_dot): Likewise.
3349 (pp_c_ampersand): Likewise.
3350 (pp_c_star): Likewise.
3351 (pp_c_arrow): Likewise.
3352 (pp_c_semicolon): Likewise.
3353 (pp_c_complement): Likewise.
3354 (pp_c_exclamation): Likewise.
3355 (pp_c_direct_declarator): Likewise.
3356 (pp_c_ws_string): Likewise.
3357 (pp_c_identifier): Likewise.
3358 (pp_c_statement): Likewise.
3359 (print_c_tree): Likewise.
3360
1898176c 33612013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3362
3363 PR c++/58072
3364 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3365 provide useful error strings.
3366
70d60d1d 33672013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3368
3369 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3370 printer functions instead of pp_string or operators and punctuators.
3371 (dump_generic_ada_node): Likewise.
3372 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3373 (pp_c_relational_expression): Likewise.
3374 (pp_c_logical_or_expression): Likewise.
3375
dda4f0ec 33762013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3377
3378 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3379 functions instead of pp_character.
3380 (pp_ada_tree_identifier): Likewise.
3381 (dump_ada_double_name): Likewise.
3382 (dump_ada_function_declaration): Likewise.
3383 (dump_ada_array_domains): Likewise.
3384 (dump_template_types): Likewise.
3385 (dump_generic_ada_node): Likewise.
3386 (print_ada_declaration): Likewise.
3387 (print_ada_struct_decl): Likewise.
3388 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3389
7aa04c8d 33902013-07-23 Tom Tromey <tromey@redhat.com>
3391
3392 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3393 * c-common.c (c_common_reswords): Add _Generic.
3394
a04e8d62 33952013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3396
3397 * c-common.c: Fix typos.
3398 * c-common.h: Likewise.
3399
a96c3cc1 34002013-07-13 Lubos Lunak <l.lunak@suse.cz>
3401
3402 PR c++/55203
3403 * c-common.c (c_common_attribute_table): Add warn_unused.
3404 (handle_warn_unused_attribute): New.
3405
da31536d 34062013-07-10 Jakub Jelinek <jakub@redhat.com>
3407
3408 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3409 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3410
839f2f70 34112013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3412
3413 PR c++/57869
3414 * c.opt: Add Wconditionally-supported.
3415
73f353d0 34162013-07-08 Graham Stott <graham.stott@btinternet.com>
3417
1f78217c 3418 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3419 unused variables l_length and l_node.
3420
21ebaa24 34212013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3422
3423 PR c/57821
3424 * c-common.c (complete_array_type): Delay folding first index
3425 like other indices. When folding, check for index overflow.
3426
68ea4406 34272013-06-27 Marc Glisse <marc.glisse@inria.fr>
3428
3429 PR c++/57509
3430 * c-common.h (c_build_vec_perm_expr): New complain argument.
3431 * c-common.c (c_build_vec_perm_expr): Likewise.
3432 Use save_expr also in C++.
3433
60777f69 34342013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3435
3436 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3437 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3438 * c-opts.c (c_common_post_options): Likewise.
3439
839f2f70 34402013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3441
3442 * array-notation-common.c (length_mismatch_in_expr): Changed the
3443 parameter type's from a dynamic array to a vec_tree. Also removed
3444 the size parameters.
3445 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3446 the change above.
3447
e9331eab 34482013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3449
3450 * c-common.h (struct cilkplus_an_parts): New structure.
3451 (struct cilkplus_an_loop_parts): Likewise.
3452 (cilkplus_extract_an_triplets): New prototype.
3453 (fix_sec_implicit_args): Likewise.
3454 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3455 (fix_sec_implicit_args): Likewise.
60777f69 3456
a9c99fc4 34572013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3458
3459 * array-notation-common.c (find_inv_trees): Removed an unwanted
3460 typecasting.
3461 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3462 enum rid to enum tree_code.
3463
f2526cce 34642013-06-11 Jan Hubicka <jh@suse.cz>
3465
3466 * c-common.c (handle_alias_ifunc_attribute): Do not set
3467 DECL_EXTERNAL for weakref variables.
3468 * c-pragma.c (handle_pragma_weak): Make sure aliases
3469 are not declared as external.
3470
09970d67 34712013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3472
3473 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3474 function from c/c-array-notation.c.
3475 (is_cilkplus_reduce_builtin): Likewise.
3476 (find_rank): Likewise.
3477 (extract_array_notation_exprs): Likewise.
3478 (replace_array_notations): Likewise.
3479 (find_inv_trees): Likewise.
3480 (replace_inv_trees): Likewise.
3481 (contains_array_notation_expr): Likewise.
3482 (find_correct_array_notation_type): Likewise.
3483 * c-common.h (struct inv_list): Moved this struct from the file
3484 c/c-array-notation.c and added a new field called additional tcodes.
3485 (length_mismatch_in_expr_p): New prototype.
3486 (is_cilkplus_reduce_builtin): Likewise.
3487 (find_rank): Likewise.
3488 (extract_array_notation_exprs): Likewise.
3489 (replace_array_notation): Likewise.
3490 (find_inv_trees): Likewise.
3491 (replace_inv_trees): Likewise.
3492 (find_correct_array_notation_type): Likewise.
839f2f70 3493
3c6d4197 34942013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3495
3496 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3497 function array_notation_init_builtins is called.
3498 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3499 * c-common.def (ARRAY_NOTATION_REF): New tree.
3500 * c-common.h (build_array_notation_expr): New function declaration.
3501 (build_array_notation_ref): Likewise.
3502 (extract_sec_implicit_index_arg): New extern declaration.
3503 (is_sec_implicit_index_fn): Likewise.
3504 (ARRAY_NOTATION_CHECK): New define.
3505 (ARRAY_NOTATION_ARRAY): Likewise.
3506 (ARRAY_NOTATION_START): Likewise.
3507 (ARRAY_NOTATION_LENGTH): Likewise.
3508 (ARRAY_NOTATION_STRIDE): Likewise.
3509 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3510 ARRAY_NOTATION_REF.
3511 (pp_c_expression): Likewise.
3512 * c.opt (flag_enable_cilkplus): New flag.
3513 * array-notation-common.c: New file.
3514
8e71dad2 35152013-05-14 Jakub Jelinek <jakub@redhat.com>
3516
3517 PR c++/57274
3518 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3519
432dd330 35202013-05-10 Marc Glisse <marc.glisse@inria.fr>
3521
3522 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3523 vectors.
3524
b156ec37 35252013-05-07 Han Shen <shenhan@google.com>
3526
3527 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3528
1a087624 35292013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3530
3531 * c-common.c (check_user_alignment): Emit error for negative values.
3532
1638c736 35332013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3534
3535 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3536
949dbf93 35372013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3538
3539 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3540 __GXX_EXPERIMENTAL_CXX1Y__.
3541
9205a6cc 35422013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3543 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3544
3545 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3546 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3547 to simply use OPT_Wpointer_arith.
3548 (c_sizeof_or_alignof_type): Likewise.
3549
05d0bce1 35502013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3551
3552 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3553
41609f8b 35542013-04-12 Jakub Jelinek <jakub@redhat.com>
3555
3556 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3557 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3558 specifiers.
3559
c671dc4f 35602013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3561
3562 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3563
ba125576 35642013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3565
3566 * c-common.c (pointer_int_sum): Remove dead code.
3567
9d3fa937 35682013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3569
3570 PR middle-end/56524
3571 * c-common.c (handle_optimize_attribute): Don't call
3572 save_optabs_if_changed.
3573
5ceebb21 35742013-03-05 Jakub Jelinek <jakub@redhat.com>
3575
3576 PR middle-end/56461
3577 * c-pch.c (pch_init): Free target_validity at the end.
3578
18eeed2b 35792013-03-04 Jakub Jelinek <jakub@redhat.com>
3580
3581 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3582
a9196da9 35832013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3584 Jakub Jelinek <jakub@redhat.com>
3585
3586 PR sanitizer/56454
3587 * c-common.c (handle_no_sanitize_address_attribute): New function.
3588 (c_common_attribute_table): Add no_sanitize_address attribute.
3589 (handle_no_address_safety_analysis_attribute): Add
3590 no_sanitize_address attribute, not no_address_safety_analysis
3591 attribute.
3592
15c27dda 35932013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3594
3595 PR target/52555
3596 * c-common.c (handle_optimize_attribute): Call
3597 save_optabs_if_changed.
3598
19426fe1 35992013-02-18 Jakub Jelinek <jakub@redhat.com>
3600 Steven Bosscher <steven@gcc.gnu.org>
3601
3602 PR pch/54117
3603 * c-opts.c (c_common_post_options): If debug info is enabled
3604 and non-dwarf*, refuse to load PCH files and when writing PCH
3605 file warn.
3606
df936998 36072013-02-05 Jakub Jelinek <jakub@redhat.com>
3608
3609 PR middle-end/56167
3610 * c-common.c (handle_error_attribute): Fix condition.
3611
ae0c3984 36122013-01-30 Jakub Jelinek <jakub@redhat.com>
3613
3614 PR c++/55742
3615 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3616
1c4973d7 36172013-01-18 Jason Merrill <jason@redhat.com>
3618
3619 PR target/54908
3620 * c.opt (-fextern-tls-init): New.
3621 * c-opts.c (c_common_post_options): Handle it.
3622
7c834436 36232013-01-09 Jakub Jelinek <jakub@redhat.com>
3624
3625 PR c/48418
3626 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3627 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3628 and is either negative or bigger or equal to type precision
3629 of the first operand.
3630
5abaa10a 36312012-12-03 Marek Polacek <polacek@redhat.com>
3632
3633 PR c/55570
3634 * c-common.c (check_user_alignment): Swap order of tests,
3635 check TREE_CODE first.
3636
324ca377 36372012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3638
3639 PR c++/52654
3640 * c-common.h (overflow_type): New enum.
3641 (build_userdef_literal): Add overflow_type argument.
3642 (tree_userdef_literal): Add overflow_type.
3643 (USERDEF_LITERAL_OVERFLOW): New access macro.
3644 * c-common.c (build_userdef_literal): Add overflow_type
3645 argument.
3646 * c-lex.c (c_lex_with_flags): Add overflow_type to
3647 build_userdef_literal calls.
3648 (interpret_integer, interpret_float): Add overflow_type argument.
3649
b4c4a429 36502012-11-28 Richard Biener <rguenther@suse.de>
3651
3652 PR c/35634
3653 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3654 here and use a type with proper overflow behavior for types that would
3655 need to be promoted for the arithmetic.
3656
d413ffdd 36572012-11-23 Jakub Jelinek <jakub@redhat.com>
3658
3659 PR sanitizer/55435
3660 * c-common.c (handle_no_address_safety_analysis_attribute): New
3661 function.
3662 (c_common_attribute_table): Add no_address_safety_analysis.
3663
52bc861d 36642012-11-16 Simon Baldwin <simonb@google.com>
3665
3666 * c.opt: Add f[no-]canonical-system-headers.
3667 * c-opts.c (c_common_handle_option): Handle
3668 OPT_fcanonical_system_headers.
3669
2dd00636 36702012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3671
3672 PR c++/54413
3673 * c-opts.c (c_common_handle_option): Set new flags.
3674 * c.opt: Describe new flags.
3675
d4701f6c 36762012-11-09 Jason Merrill <jason@redhat.com>
3677
3678 * c.opt (Wabi-tag): New.
3679
72d65da9 36802012-11-09 Andi Kleen <ak@linux.intel.com>
3681
3682 PR 55139
3683 * c-common.c (get_atomic_generic_size): Mask with
3684 MEMMODEL_MASK
3685
77a357e3 36862012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3687
3688 PR c/53063
3689 * c.opt (Wformat): Make it Alias Wformat=1.
3690 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3691 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3692 LangEnabledBy.
3693 (Wformat=): RejectNegative. Use LangEnabledBy.
3694 (Wnonnull): Use LangEnabledBy.
3695 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3696 * c-format.c (set_Wformat): Delete.
3697 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3698 (maybe_read_dollar_number): Likewise.
3699 (avoid_dollar_number): Likewise.
3700 (finish_dollar_format_checking): Likewise.
3701 (check_format_info): Likewise.
3702 (check_format_info_main): Likewise.
3703 (check_format_types): Likewise.
3704 (format_type_warning): Likewise.
3705 * c-common.c (int): Likewise.
3706 (check_function_sentinel): Likewise.
3707 * c-common.h (warn_format,set_Wformat): Do not declare here.
3708
45efa6b9 37092012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3710
3711 PR c/53063
3712 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3713 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3714 Use LangEnabledBy.
3715 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3716 common.opt.
3717 (Wvariadic-macros): Init(1).
3718 * c-opts.c (c_common_handle_option): Do not handle them
3719 explicitly.
3720 (c_common_post_options): Likewise.
3721 (sanitize_cpp_opts): warn_unused_macros is now
3722 cpp_warn_unused_macros.
3723 (push_command_line_include): Likewise.
3724 * c-common.c (warn_unknown_pragmas): Do not define.
3725 * c-common.h (warn_unknown_pragmas): Do not declare.
3726
0e4e775a 37272012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3728
3729 PR c/51294
3730 * c-common.c (conversion_warning): Handle conditional expressions.
3731
8b447d3f 37322012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3733
3734 PR c++/54930
3735 * c.opt (Wreturn_local_addr): Define new option.
3736
f4a61754 37372012-10-25 Jason Merrill <jason@redhat.com>
3738
ecb10e6a 3739 * c.opt (Wvirtual-move-assign): New.
3740
f4a61754 3741 * c.opt (Winherited-variadic-ctor): New.
3742
7b463b19 37432012-10-25 Marc Glisse <marc.glisse@inria.fr>
3744
3745 PR c++/54427
3746 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3747
6adc88f8 37482012-10-23 Joseph Myers <joseph@codesourcery.com>
3749
3750 * c-common.h (pch_cpp_save_state): Declare.
3751 * c-target.def (c_preinclude): New hook.
3752 * c-opts.c (done_preinclude): New.
3753 (push_command_line_include): Handle default preincluded header.
3754 (cb_file_change): Call pch_cpp_save_state when calling
3755 push_command_line_include.
3756 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3757 (pch_cpp_save_state): New.
3758 (pch_init): Call pch_cpp_save_state conditionally, instead of
3759 calling cpp_save_state.
3760
fa816b0b 37612012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3762
3763 PR c/53063
3764 PR c/40989
3765 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3766 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3767 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3768 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3769 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3770 * c-opts.c (c_common_handle_option): Remove explicit handling from
3771 here.
3772 (c_common_post_options): Likewise.
3773
d214ccee 37742012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3775
3776 * c-ada-spec.c (LOCATION_COL): Delete.
3777 (compare_location): New function.
3778 (compare_node): Use it.
3779 (compare_comment): Likewise.
3780
77b27208 37812012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3782
3783 PR c/53063
3784 PR c/40989
3785 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3786 * c-opts.c (c_common_handle_option): Do not set them here. Add
3787 comment.
3788 (c_common_post_options): Likewise.
3789
cc02ca4d 37902012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3791
3792 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3793 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3794 Remove POINTER_TYPE handling, add large unsigned handling and use
3795 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3796
57f872a2 37972012-10-12 Jakub Jelinek <jakub@redhat.com>
3798
3799 PR c/54381
3800 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3801 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3802 locs and array of 3 trees instead of just single loc and single
3803 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3804 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3805 For *cmp* builtins that take two sources strings report warnings
3806 about first and second source, not about destination and source.
3807
7354ad2e 38082012-10-12 Marc Glisse <marc.glisse@inria.fr>
3809
3810 PR c++/53055
3811 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3812
1ac7f120 38132012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3814
3815 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3816 declaring something coming from another file.
3817
1e0cc9e3 38182012-10-10 Arnaud Charlet <charlet@adacore.com>
3819
1ac7f120 3820 PR ada/54845
1e0cc9e3 3821 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3822
b0e7825e 38232012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3824
3825 PR c++/54194
3826 * c-common.c (warn_about_parentheses): Add location_t parameter;
3827 use EXPR_LOC_OR_LOC.
3828 * c-common.h: Update declaration.
3829
41ed701a 38302012-10-09 Marc Glisse <marc.glisse@inria.fr>
3831
3832 PR c++/54427
3833 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3834 more operations. Make error messages optional.
3835 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3836 (scalar_to_vector): Declare.
3837
3740094c 38382012-10-08 Jason Merrill <jason@redhat.com>
3839
3840 * c-common.c (c_common_reswords): Add thread_local.
3841
ffcdbf9c 38422012-10-08 Dodji Seketeli <dodji@redhat.com>
3843
3844 PR c++/53528 C++11 attribute support
3845 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3846 new functions.
3847 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3848 static function.
3849 (handle_aligned_attribute): In choose strictest alignment
3850 among many. Use new check_cxx_fundamental_alignment_constraints.
3851 (handle_transparent_union_attribute): In c++11 attribute syntax,
3852 don't look through typedefs.
3853
ef34afc1 38542012-10-04 Arnaud Charlet <charlet@adacore.com>
3855
3856 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3857 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3858 out of dumpfile.h.
3859
f1ff4562 38602012-09-25 Dehao Chen <dehao@google.com>
3861
3862 PR middle-end/54645
ef34afc1 3863 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3864 map when read in the pch.
3865
735538a1 38662012-09-18 Arnaud Charlet <charlet@adacore.com>
3867
3868 * c-ada-spec.c: Style fixes.
3869
9120cdc8 38702012-09-18 Thomas Quinot <quinot@adacore.com>
3871
3872 * c.opt (-fada-spec-parent): Define new command line switch.
3873 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3874 is specified, generate binding spec as a child of the specified unit.
3875
8eba82c2 38762012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3877 Manuel López-Ibáñez <manu@gcc.gnu.org>
3878
3879 PR c++/53210
3880 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3881
38682990 38822012-08-23 Arnaud Charlet <charlet@adacore.com>
3883
3884 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3885 for pointers, and add missing Convention C pragma.
3886 (print_ada_struct_decl): Add missing aliased keyword.
3887 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3888
f003f5dc 38892012-08-17 Jakub Jelinek <jakub@redhat.com>
3890
3891 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3892 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3893 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3894 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3895 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3896
ec11736b 38972012-08-10 Richard Guenther <rguenther@suse.de>
3898
3899 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3900
5f7f600e 39012012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3902
3903 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3904 instead of separate pp_newline and pp_flush.
3905 (print_c_tree): Likewise.
3906
758a38ab 39072012-07-26 Richard Henderson <rth@redhat.com>
3908
3909 * c-common.c (handle_hot_attribute): Allow labels.
3910 (handle_cold_attribute): Likewise.
3911
9ca77b08 39122012-07-20 Jakub Jelinek <jakub@redhat.com>
3913
3914 PR c++/28656
3915 * c-common.c (check_function_nonnull): Handle multiple nonnull
3916 attributes properly.
3917
b9ed1410 39182012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3919
3920 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3921 * c-ada-spec.c: Likewise.
3922 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3923
c2a65b90 39242012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3925
3926 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3927 Remove code conditional on it.
3928
88c5a1d1 39292012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3930
3931 * c-gimplify.c: Do not include basic-block.h.
3932 * c-common.c: Do not include linfuncs.h.
3933
4a020a8c 39342012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3935
3936 * c-common.h: Include tree.h.
3937
c28ddc97 39382012-07-02 Jason Merrill <jason@redhat.com>
3939
3940 PR c++/53524
3941 * c-common.c (get_priority): Call default_conversion.
3942
405ed67f 39432012-07-01 Uros Bizjak <ubizjak@gmail.com>
3944
3945 * c-pch.c (c_common_write_pch): Remove unused variables.
3946
e53d55e7 39472012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3948
3949 * cppspec.c: Moved from gcc/ to here.
3950
3d9c25ec 39512012-06-27 Kai Tietz <ktietz@redhat.com>
3952
3953 PR preprocessor/37215
3954 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3955
3169c57a 39562012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3957
3958 * c-common.h (c_common_print_pch_checksum): Remove.
3959 * c-pch.c: Do not include output.h.
3960 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3961 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3962 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3963 (struct c_pch_header): Remove.
3964 (get_ident): Update gpch version.
3965 (pch_init): Do not print executable_checksum to asm_out_file.
3966 Do not fail if there is no asm_out_file to read back from. Set
3967 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3968 (c_common_write_pch): Verify that nothing was written to asm_out_file
3969 since pch_init was called. Do not write a c_pch_header, and do not
3970 copy from asm_out_file to the PCH.
3971 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3972 the content of asm_out_file from the PCH.
3973 (c_common_print_pch_checksum): Remove.
3974 * c-opts.c (c_common_init): Print out executable_checksum directly.
3975
ff6624bc 39762012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3977
3978 * c-target.def (objc_declare_unresolved_class_reference,
3979 objc_declare_class_definition): Add new hooks.
3980
367b1459 39812012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3982
3983 * c-lex.c: Do not include output.h.
3984 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3985 Remove uses of ASM_OUTPUT_IDENT.
3986
bf0cb017 39872012-06-15 Marc Glisse <marc.glisse@inria.fr>
3988
3989 PR c++/51033
3990 * c-common.h (c_build_vec_perm_expr): Move decl here.
3991 * c-common.c (c_build_vec_perm_expr): Move definition
3992 here.
3993
b37a3600 39942012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3995
3996 * c.opt (fconserve-space): Turn into a no-op.
3997
19931eea 39982012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3999
4000 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
4001 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
4002 both the start and end of the function.
4003
dff12c10 40042012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4005
4006 * c-common.c: Do not include output.h.
4007 * c-pragma.c: Likewise.
4008
5f9e7dd5 40092012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4010
4011 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
4012 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
4013 (lang_decl_name): Handle namespace decls.
4014
b5369b7d 40152012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4016
4017 * c-ada-spec.c: Do not include output.h.
4018 * c-semantics.c: Likewise.
4019
8032877c 40202012-05-29 Joseph Myers <joseph@codesourcery.com>
4021
4022 * c-common.c: Fix typo.
4023
7843e4bc 40242012-05-29 Michael Matz <matz@suse.de>
4025
4026 * c-common.h (c_expand_decl): Remove prototype.
4027
8cf857d4 40282012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4029
4030 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4031 * c-opts.c (c_common_handle_option): Remove code handling
4032 warn_missing_braces.
4033
8b64dc3c 40342012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4035
4036 PR c++/25137
4037 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4038 -Wmissing_braces.
4039
43cbde16 40402012-05-22 Dodji Seketeli <dodji@redhat.com>
4041
4042 PR c++/53322
4043 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4044
db490cb6 40452012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4046
4047 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4048 * c-opts.c (c_common_handle_option): Do not handle explicitly
4049 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4050
a60f3e81 40512012-05-16 Dodji Seketeli <dodji@redhat.com>
4052
4053 PR preprocessor/7263
4054 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4055 to cpp_classify_number. For diagnostics, use the precise location
4056 instead of the global input_location.
4057
82e6ef7c 40582012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4059
cd4797ff 4060 PR c++/11856
82e6ef7c 4061 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4062
258a168d 40632012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4064
82e6ef7c 4065 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 4066
d3b7ee7c 40672012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4068
4069 PR 53063
4070 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4071 Wreorder): Use LangEnabledBy.
4072 * c-opts.c (c_common_handle_option): Do not enable them
4073 explicitly. Call lang-specific generated functions.
4074 (c_common_post_options): Do not set them here.
4075
70059cea 40762012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4077
4078 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4079 Wmissing-field-initializers,Wmissing-parameter-type,
4080 Wold-style-declaration,Woverride-init): Use EnabledBy.
4081 * c-opts.c (c_common_post_options): Do not set here explicitly.
4082
fbb6fbd8 40832012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4084
4085 PR 53063
4086 * c-opts.c (c_common_handle_option): Use handle_generated_option
4087 to enable sub-options.
4088
61f69bc9 40892012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4090
4091 PR c++/53158
4092 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4093
5a1fe2db 40942012-05-10 Richard Guenther <rguenther@suse.de>
4095
4096 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4097 adjust commentary about TYPE_IS_SIZETYPE types.
4098
d42e7c5a 40992012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4100
4101 PR c++/53261
4102 * c-common.c (warn_logical_operator): Check that argument of
4103 integer_zerop is not NULL.
4104
686369e8 41052012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4106
4107 PR c/43772
4108 * c-common.c (warn_logical_operator): Do not warn if either side
4109 is already true or false.
4110
03fe1dc2 41112012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4112
4113 PR c/51712
4114 * c-common.c (expr_original_type): New.
4115 (shorten_compare): Do not warn for enumeration types.
4116
bba5a206 41172012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4118
4119 * c.opt (fpermissive): Add Var(flag_permissive).
4120
7059d45d 41212012-04-30 Marc Glisse <marc.glisse@inria.fr>
4122
4123 PR c++/51033
4124 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
4125 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
4126
7edb1062 41272012-04-30 Dodji Seketeli <dodji@redhat.com>
4128
4129 Add -Wvarargs option
4130 * c.opt (Wvarargs): Define new option.
4131
068bea1e 41322012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4133
4134 * c-common.c (check_function_arguments): Replace
4135 Wmissing-format-attribute with Wsuggest-attribute=format.
4136
b86527d8 41372012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4138
4139 * c.opt (Wsuggest-attribute=format): New. Alias of
4140 Wmissing-format-attribute.
4141 * c-format.c (decode_format_type): Replace
4142 Wmissing-format-attribute with Wsuggest-attribute=format.
4143 (check_function_format): Likewise.
4144
19931eea 41452012-04-27 Ollie Wild <aaw@google.com>
76d340ac 4146
4147 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4148 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4149 * c.opt: Add Wliteral-suffix.
4150
29438999 41512012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4152
4153 PR c/44774
4154 * c.opt (Wpedantic): New.
4155 (pedantic): Alias Wpedantic.
4156 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4157 (c_common_post_options): Likewise.
4158 (sanitize_cpp_opts): Likewise.
4159 * c-lex.c (interpret_float): Likewise.
4160 * c-format.c (check_format_types): Likewise.
4161 * c-common.c (pointer_int_sum): Likewise.
4162 (c_sizeof_or_alignof_type): Likewise.
4163 (c_add_case_label): Likewise.
4164 (c_do_switch_warnings): Likewise.
4165 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4166
4f9d6b8b 41672012-04-15 Jason Merrill <jason@redhat.com>
4168
4169 PR c++/52818
4170 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4171 (C_STD_NAME): Distinguish between C++98 and C++11.
4172
74bdbe96 41732012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4174
4175 PR target/52624
4176 * c-common.h (uint16_type_node): Rename into...
4177 (c_uint16_type_node): ...this.
4178 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4179 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4180
3d177e8c 41812012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4182
4183 * c-common.c (warn_if_unused_value): Move definition to here.
4184 * c-common.h (warn_if_unused_value): Move declaration to here.
4185
6a9a958f 41862012-03-23 William Bader <williambader@hotmail.com>
4187
4188 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4189
543efdbe 41902012-03-20 Jason Merrill <jason@redhat.com>
4191
4192 * c-common.h (enum cxx_dialect): Add cxx1y.
4193 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4194 test.
4195 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4196 * c-opts.c (c_common_post_options): Likewise.
4197 (set_std_cxx1y): New.
4198 (c_common_handle_option): Call it.
4199 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4200
62206d34 42012012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4202
4203 PR c++/14710
4204 * c.opt ([Wuseless-cast]): Add.
4205
fadf62f4 42062012-03-16 Richard Guenther <rguenther@suse.de>
4207
4208 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4209
249faa35 42102012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4211
4212 PR c++/44783
4213 * c.opt (ftemplate-backtrace-limit) Add.
4214
126b6848 42152012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4216
4217 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4218 handling.
4219 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4220 (init_pragma): Don't register extern_prefix.
4221
a51edb4c 42222012-03-12 Richard Guenther <rguenther@suse.de>
4223
4224 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4225 (builtin_type_for_size): Likewise.
4226
0f6a7cb7 42272012-02-13 Jakub Jelinek <jakub@redhat.com>
4228
4229 PR c++/52215
4230 * c-common.c (sync_resolve_params): Don't decide whether to convert
4231 or not based on TYPE_SIZE comparison, convert whenever arg_type
4232 is unsigned INTEGER_TYPE.
4233
0779e32c 42342012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4235
4236 PR c/52118
4237 * c.opt ([Wunused-local-typedefs]): Fix description.
4238
baec58e1 42392012-01-24 Mike Stump <mikestump@comcast.net>
4240
4241 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4242 exactly.
4243
c779d8cc 42442012-01-18 Richard Guenther <rguenther@suse.de>
4245
4246 * c-opts.c (c_common_post_options): Reset LTO flags if
4247 we are about to generate a PCH.
4248
ee917d24 42492012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4250
4251 PR c++/51777
4252 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4253 use pp_unsigned_wide_integer.
4254
90e2341f 42552012-01-10 Richard Guenther <rguenther@suse.de>
4256
4257 PR middle-end/51806
4258 * c-opts.c (c_common_handle_option): Move -Werror handling
4259 to language independent code.
4260
9ea022ce 42612012-01-05 Richard Guenther <rguenther@suse.de>
4262
4263 PR middle-end/51764
4264 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4265 from common.opt.
4266
3df19e1b 42672011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4268
4269 PR c++/51316
4270 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4271 of array types with an unknown bound.
4272
32074525 42732011-12-20 Joseph Myers <joseph@codesourcery.com>
4274
4275 * c-common.c (flag_isoc99): Update comment to refer to C11.
4276 (flag_isoc1x): Change to flag_isoc11.
4277 * c-common.h (flag_isoc99): Update comment to refer to C11.
4278 (flag_isoc1x): Change to flag_isoc11.
4279 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4280 C11.
4281 * c-opts.c (set_std_c1x): Change to set_std_c11.
4282 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4283 Call set_std_c11.
4284 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4285 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4286 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4287 standard.
4288 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4289 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4290 (std=gnu1x): Make alias of std=gnu11.
4291
fca86134 42922011-12-19 Jason Merrill <jason@redhat.com>
4293
4294 PR c++/51228
4295 * c-common.c (handle_transparent_union_attribute): Check the first
4296 field if the type is complete.
4297
aa4313eb 42982011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4299
4300 PR libstdc++/51365
4301 * c-common.c (RID_IS_FINAL): Add.
4302 * c-common.h (RID_IS_FINAL): Add.
4303
3f3d5ad4 43042011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4305
4306 * c.opt (fgnu-runtime): Provide full description.
4307 (fnext-runtime): Likewise.
4308 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4309
c4606d19 43102011-11-28 Andrew MacLeod <amacleod@redhat.com>
4311
4312 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4313 predefines in one place. Add LOCK_FREE predefines.
4314 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4315 new func.
4316
1d581089 43172011-11-24 Andrew MacLeod <amacleod@redhat.com>
4318
4319 PR c/51256
19931eea 4320 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4321 conditions
19931eea 4322 (resolve_overloaded_atomic_exchange,
4323 resolve_overloaded_atomic_compare_exchange,
1d581089 4324 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4325 error_mark_node for error conditions.
19931eea 4326
6aa221fa 43272011-11-08 Richard Guenther <rguenther@suse.de>
4328
4329 PR middle-end/51010
4330 c-family/
4331
4c0315d0 43322011-11-07 Richard Henderson <rth@redhat.com>
4333 Aldy Hernandez <aldyh@redhat.com>
4334 Torvald Riegel <triegel@redhat.com>
4335
4336 Merged from transactional-memory.
4337
4338 * c-common.c (handle_tm_wrap_attribute,
4339 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4340 (struct c_common_reswords): Added __transaction* keywords.
4341 (struct c_common_attribute_table): Added transaction* and tm_regparm
4342 attributes.
4343 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4344 masks.
4345 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4346 find_tm_attribute): Declare.
4347
920f5a70 43482011-11-07 Jason Merrill <jason@redhat.com>
4349
4350 PR c++/35688
4351 * c-common.c, c-common.h: Revert yesterday's changes.
4352
b4f861b4 43532011-11-06 Jason Merrill <jason@redhat.com>
4354
4355 PR c++/35688
4356 * c-common.c (decl_has_visibility_attr): Split out from...
4357 (c_determine_visibility): ...here.
4358 * c-common.h: Declare it.
4359
83e25171 43602011-11-06 Joseph Myers <joseph@codesourcery.com>
4361
4362 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4363 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4364 type.
4365 (check_user_alignment): New. Split out of
4366 handle_aligned_attribute. Disallow integer constants with
4367 noninteger types. Conditionally allow zero.
4368 (handle_aligned_attribute): Use check_user_alignment.
4369 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4370
1cd6e20d 43712011-11-06 Andrew MacLeod <amacleod@redhat.com>
4372 Richard Henderson <rth@redhat.com>
4373
4374 Merged from cxx-mem-model.
4375
4376 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4377 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4378 parameters that are the same type size.
4379 (get_atomic_generic_size): New. Find size of generic
4380 atomic function parameters and do typechecking.
4381 (add_atomic_size_parameter): New. Insert size into parameter list.
4382 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4383 either __atomic_exchange_n or external library call.
19931eea 4384 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4385 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4386 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4387 __atomic_load_n or an external library call.
4388 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4389 __atomic_store_n or an external library call.
4390 (resolve_overloaded_builtin): Handle new __atomic builtins.
4391
7549df0d 43922011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4393
4394 PR c++/50608
4395 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4396 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4397 <INDIRECT_REF>: Return the argument.
4398 <ARRAY_REF>: Remove special code for negative offset.
4399 Call fold_build_pointer_plus instead of size_binop.
4400 (fold_offsetof): Remove STOP_REF argument and adjust.
4401 * c-common.h (fold_offsetof_1): Declare.
4402 (fold_offsetof): Remove STOP_REF argument.
4403
7e783eb3 44042011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4405
4406 PR c++/50810
4407 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4408 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4409 Wnarrowing for C++0x and C++98.
4410 * c.opt ([Wnarrowing]): Update.
4411
8fe701f5 44122011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4413
4414 PR c++/44277
4415 * c.opt: Add Wzero-as-null-pointer-constant.
4416
0d84dc2d 44172011-10-31 Jason Merrill <jason@redhat.com>
4418
67031f52 4419 * c.opt (-fdeduce-init-list): Off by default.
4420
0d84dc2d 4421 PR c++/50920
4422 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4423 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4424 and -Wc++11-compat.
4425 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4426
66f24c41 44272011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4428
4429 PR c++/30066
4430 * c.opt (fvisibility-inlines-hidden): Description change.
4431
244db24d 44322011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4433
4434 Implement C++11 user-defined literals.
4435 * c-common.c (build_userdef_literal): New.
4436 * c-common.def: New tree code.
4437 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4438 * c-lex.c (interpret_float): Add suffix parm.
4439 (c_lex_with_flags): Build literal tokens.
4440
235be70f 44412011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4442
4443 PR c++/50841
4444 Revert:
4445 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4446
4447 PR c++/50810
4448 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4449 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4450 Wnarrowing for C++0x and C++98.
4451 * c.opt ([Wnarrowing]): Update.
4452
4fe0fb1c 44532011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4454
4455 PR c++/50810
4456 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4457 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4458 Wnarrowing for C++0x and C++98.
4459 * c.opt ([Wnarrowing]): Update.
4460
5f7504f9 44612011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4462
4463 PR c++/45385
4464 * c-common.c (conversion_warning): Remove code looking for
4465 artificial operands.
4466
2a688977 44672011-10-18 Dodji Seketeli <dodji@redhat.com>
4468
4469 PR bootstrap/50760
4470 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4471 !NO_IMPLICIT_EXTERN_C.
2a688977 4472
326e3391 44732011-10-17 Michael Spertus <mike_spertus@symantec.com>
4474
4475 * c-common.c (c_common_reswords): Add __bases,
4476 __direct_bases.
4477 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4478
44792011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4480
4481 PR c++/50757
4482 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4483
62db153a 44842011-10-15 Tom Tromey <tromey@redhat.com>
4485 Dodji Seketeli <dodji@redhat.com>
4486
4487 * c.opt (fdebug-cpp): New option.
4488 * c-opts.c (c_common_handle_option): Handle the option.
4489 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4490 output stream in parameter. Factorized from ...
4491 (maybe_print_line): ... this. Dump location debug information when
4492 -fdebug-cpp is in effect.
4493 (print_line_1): New static function. Takes an output stream in
4494 parameter. Factorized from ...
4495 (print_line): ... here. Dump location information when -fdebug-cpp
4496 is in effect.
4497 (scan_translation_unit): Dump location information when
4498 -fdebug-cpp is in effect.
4499
ce70f433 45002011-10-15 Tom Tromey <tromey@redhat.com>
4501 Dodji Seketeli <dodji@redhat.com>
4502
4503 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4504 without argument.
4505 * c-opts.c (c_common_handle_option)<case
4506 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4507 cases. Handle -ftrack-macro-expansion with and without argument.
4508
97bfb9ef 45092011-10-15 Tom Tromey <tromey@redhat.com>
4510 Dodji Seketeli <dodji@redhat.com>
4511
4512 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4513 (print_line, cb_define, do_line_change): Adjust to avoid touching
4514 the internals of struct line_map. Use the public API instead.
4515 * c-pch.c (c_common_read_pch): Likewise.
4516 * c-lex.c (fe_file_change): Likewise.
4517
326e3391 45182011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4519
4520 PR c++/17212
4521 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4522
45232011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4524
4525 PR c++/33067
4526 * c-pretty-print.c (pp_c_floating_constant): Output
4527 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4528
b9a16870 45292011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4530
4531 * c-common.c (def_builtin_1): Delete old interface with two
4532 parallel arrays to hold standard builtin declarations, and replace
4533 it with a function based interface that can support creating
4534 builtins on the fly in the future. Change all uses, and poison
4535 the old names. Make sure 0 is not a legitimate builtin index.
4536 * c-omp.c (c_finish_omp_barrier): Ditto.
4537 (c_finish_omp_taskwait): Ditto.
4538 (c_finish_omp_flush): Ditto.
4539
c7964868 45402011-10-11 Tristan Gingold <gingold@adacore.com>
4541
4542 * c.opt: (fallow-parameterless-variadic-functions): New.
4543
a4e3ffad 45442011-09-08 Dodji Seketeli <dodji@redhat.com>
4545
4546 PR c++/33255 - Support -Wunused-local-typedefs warning
4547 * c-common.h (struct c_language_function::local_typedefs): New
4548 field.
19931eea 4549 (record_locally_defined_typedef, maybe_record_typedef_use)
4550 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4551 * c-common.c (record_locally_defined_typedef)
19931eea 4552 (maybe_record_typedef_use)
4553 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4554 * c.opt: Declare new -Wunused-local-typedefs flag.
4555
737a23cc 45562011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4557
4558 PR middle-end/50266
4559 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4560 computations.
4561
7542c3b4 45622011-09-05 Richard Guenther <rguenther@suse.de>
4563
4564 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4565 of integer_minus_one_node for empty array upper bounds.
4566
1dc92c59 45672011-08-28 Dodji Seketeli <dodji@redhat.com>
4568
4569 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4570 it's the first time it's being called on this main TU.
4571
2bdf2b6e 45722011-08-24 Richard Guenther <rguenther@suse.de>
4573
4574 PR c/49396
4575 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4576
45772011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4578
4579 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4580 defined in cpp_init_builtins and c_cpp_builtins.
4581
bff4ad11 45822011-08-19 Joseph Myers <joseph@codesourcery.com>
4583
4584 * c-common.c (c_common_reswords): Add __builtin_complex.
4585 * c-common.h (RID_BUILTIN_COMPLEX): New.
4586
985c6e3a 45872011-08-18 Joseph Myers <joseph@codesourcery.com>
4588
4589 * c-common.c (c_common_reswords): Add _Noreturn.
4590 (keyword_is_function_specifier): Handle RID_NORETURN.
4591 * c-common.h (RID_NORETURN): New.
4592
7dfa155b 45932011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4594
4595 * c-common.c (unsafe_conversion_p): New function. Check if it is
4596 unsafe to convert an expression to the type.
4597 (conversion_warning): Adjust, use unsafe_conversion_p.
4598 * c-common.h (unsafe_conversion_p): New function declaration.
4599
2169f33b 46002011-08-02 Jakub Jelinek <jakub@redhat.com>
4601
4602 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4603 (c_finish_omp_taskyield): New prototype.
4604 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4605 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4606 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4607 or RHS1 have side-effects, evaluate those too in the right spot,
4608 if it is a decl and LHS is also a decl, error out if they
4609 aren't the same.
4610 (c_finish_omp_taskyield): New function.
4611 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4612 * c-pragma.c (omp_pragmas): Add taskyield.
4613 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4614 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4615 PRAGMA_OMP_CLAUSE_MERGEABLE.
4616
ab77850e 46172011-07-25 Dodji Seketeli <dodji@redhat.com>
4618
4619 * c-common.h (set_underlying_type): Remove parm name from
4620 declaration.
4621
6ee97920 46222011-07-25 Romain Geissler <romain.geissler@gmail.com>
4623
4624 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4625
dc251364 46262011-07-22 Jason Merrill <jason@redhat.com>
4627
1a2a35f0 4628 PR c++/49793
4629 * c.opt (Wnarrowing): New.
4630
27282252 4631 PR c++/30112
4632 * c-common.h: Declare c_linkage_bindings.
4633 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4634
dc251364 4635 PR c++/49813
4636 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4637 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4638 as flag_isoc99 for 'restrict'.
4639 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4640
fc501191 46412011-07-21 Ian Lance Taylor <iant@google.com>
4642
4643 PR middle-end/49705
4644 * c-common.c (c_disable_warnings): New static function.
4645 (c_enable_warnings): New static function.
4646 (c_fully_fold_internal): Change local unused_p to bool. Call
4647 c_disable_warnings and c_enable_warnings rather than change
4648 c_inhibit_evaluation_warnings.
4649
07b8f133 46502011-07-20 Jason Merrill <jason@redhat.com>
4651
4652 PR c++/6709 (DR 743)
4653 PR c++/42603 (DR 950)
4654 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4655 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4656 (CPP_DECLTYPE): New.
4657 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4658
2cc66f2a 46592011-07-19 Richard Guenther <rguenther@suse.de>
4660
4661 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4662 * c-omp.c (c_finish_omp_for): Likewise.
4663
3c802a1e 46642011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4665
4666 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4667 body on the next line.
4668
98a33d9f 46692011-07-08 Jason Merrill <jason@redhat.com>
4670
3115bda0 4671 PR c++/45437
4672 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4673
98a33d9f 4674 PR c++/49673
4675 * c-common.c (c_apply_type_quals_to_decl): Don't check
4676 TYPE_NEEDS_CONSTRUCTING.
4677
c38a75b7 46782011-07-06 Richard Guenther <rguenther@suse.de>
4679
4680 * c-common.c (c_common_nodes_and_builtins):
4681 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4682
e593356b 46832011-07-05 Richard Guenther <rguenther@suse.de>
4684
4685 * c-common.c (c_common_nodes_and_builtins): Build all common
4686 tree nodes first.
4687
fca0886c 46882011-06-27 Jakub Jelinek <jakub@redhat.com>
4689
a68f7a8d 4690 * c-common.h (c_tree_chain_next): New static inline function.
4691
fca0886c 4692 * c-common.c (check_builtin_function_arguments): Handle
4693 BUILT_IN_ASSUME_ALIGNED.
4694
2797f13a 46952011-06-21 Andrew MacLeod <amacleod@redhat.com>
4696
4697 * c-common.c: Add sync_ or SYNC__ to builtin names.
4698 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4699
47002011-06-20 Pierre Vittet <piervit@pvittet.com>
4701
4702 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4703 handler.
4704 (gen_pragma_handler): New union.
4705 (internal_pragma_handler): New type.
4706 (c_register_pragma_with_data)
4707 (c_register_pragma_with_expansion_and_data): New functions.
4708
4709 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4710 (c_register_pragma, c_register_pragma_with_expansion)
4711 (c_invoke_pragma_handler): Changed to work with
4712 internal_pragma_handler.
4713 (c_register_pragma_with_data)
4714 (c_register_pragma_with_expansion_and_data): New functions.
4715
218e3e4e 47162011-06-14 Joseph Myers <joseph@codesourcery.com>
4717
4718 * c-common.c: Include common/common-target.h.
4719 (handle_section_attribute): Use
4720 targetm_common.have_named_sections.
4721 * c-cppbuiltin.c: Include common/common-target.h.
4722 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4723
41e53ed2 47242011-06-10 Richard Guenther <rguenther@suse.de>
4725
4726 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4727 to print a IDENTIFIER_NODE.
4728
a6f06169 47292011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4730 Joseph Myers <joseph@codesourcery.com>
4731
4732 * c.opt (fbuilding-libgcc): New option.
4733 * c-cppbuiltin.c (c_cpp_builtins): Define
4734 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4735
1ea9269b 47362011-06-07 Jason Merrill <jason@redhat.com>
4737
8ce59854 4738 * c-common.c (max_tinst_depth): Lower default to 900.
4739
1ea9269b 4740 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4741
1af0124d 47422011-06-07 Richard Guenther <rguenther@suse.de>
4743
4744 * c-common.c (c_common_nodes_and_builtins): Do not set
4745 size_type_node or call set_sizetype.
4746
0e9a4c01 47472011-06-07 Dodji Seketeli <dodji@redhat.com>
4748
4749 PR debug/49130
4750 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4751 type when using pointer comparison to compare types.
0e9a4c01 4752
90b40725 47532011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4754
4755 * c.opt: Add -Wdelete-non-virtual-dtor.
4756 * c-opts.c (c_common_handle_option): Include it in -Wall.
4757
fc9c9e87 47582011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4759
4760 PR bootstrap/49190
4761
4762 Revert:
4763 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4764
4765 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4766 not tree_common.
4767
d0389adc 47682011-05-27 Jakub Jelinek <jakub@redhat.com>
4769
4770 PR c++/49165
4771 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4772 C++ don't call c_common_truthvalue_conversion on void type arms.
4773
cacfdc02 47742011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4775
4776 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4777 (stmt_list_stack): Define.
4778 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4779 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4780
027fc6ef 47812011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4782
4783 * c-common.c (warning_candidate_p): Check for BLOCKs.
4784
f21317a1 47852011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4786
4787 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4788 not tree_common.
4789
789e953d 47902011-05-25 Jakub Jelinek <jakub@redhat.com>
4791
4792 * c-common.c (def_fn_type): Remove extra va_end.
4793
7f506bca 47942011-05-23 Jason Merrill <jason@redhat.com>
4795
4796 PR c++/48106
4797 * c-common.c (c_common_get_narrower): New.
4798 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4799
774e9d58 48002011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4801
4802 * c-common.h (check_function_arguments): Tweak prototype of
4803 check_function_arguments.
4804 * c-common.c (check_function_arguments): Likewise. Adjust
4805 calls to check_function_nonnull, check_function_format, and
4806 check_function_sentinel.
4807 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4808 separate attributes and typelist arguments. Use
4809 FOREACH_FUNCTION_ARGS to iterate over argument types.
4810
23407dc9 48112011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4812
4813 * c-common.c (c_common_reswords): Reorder.
4814 * c-common.h (rid): Likewise.
4815
3a939d12 48162011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4817
4818 * c-common.c (def_fn_type): Don't call build_function_type, call
4819 build_function_type_array or build_varargs_function_type_array
4820 instead.
4821 (c_common_nodes_and_builtins): Likewise.
4822
b6e3dd65 48232011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4824
4825 * c-common.c (c_add_case_label): Omit the loc argument to
4826 build_case_label.
4827 * c-common.h (build_case_label): Remove.
4828 * c-semantics.c (build_case_label): Remove.
4829
4232a958 48302011-05-05 Joseph Myers <joseph@codesourcery.com>
4831
4832 * c-objc.h (objc_start_method_definition): Update prototype.
4833 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4834
d0af78c5 48352011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4836
4837 * c-common.c (check_main_parameter_types): Reindent. Don't use
4838 TYPE_ARG_TYPES directly.
4839 (handle_nonnull_attribute): Likewise.
4840 (sync_resolve_params): Likewise.
4841 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4842 to check_format_string.
4843 (handle_format_attribute): Likewise.
4844 (check_format_string): Take a function type to examine instead of
4845 a type list. Use a function_arg_iterator to step through argument
4846 types.
4847
ceb7b692 48482011-05-04 Richard Guenther <rguenther@suse.de>
4849
4850 * c-common.c (fix_string_type): Use size_int for index type bounds.
4851 (start_fname_decls): Do not pass NULL to build_int_cst.
4852 (c_init_attributes): Likewise.
4853 * c-lex.c (c_lex_with_flags): Likewise.
4854
c66c81be 48552011-04-27 Jason Merrill <jason@redhat.com>
4856
4857 * c-common.c (make_tree_vector_from_list): New.
4858 * c-common.h: Declare it.
4859
16930c72 48602011-04-26 Richard Guenther <rguenther@suse.de>
4861
4862 PR preprocessor/48248
4863 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4864 for output size with -P.
4865
23407dc9 48662011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4867
4868 * c-common.c (struct c_common_resword): Add __underlying_type.
4869 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4870
dd045aee 48712011-04-20 Jim Meyering <meyering@redhat.com>
4872
4873 * c-format.c (init_dollar_format_checking): Remove useless
4874 if-before-free.
4875
394dd737 48762011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4877
4878 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4879 (objc_detect_field_duplicates): New.
394dd737 4880 * stub-objc.c: Likewise.
23407dc9 4881
a758bf7d 48822011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4883
4884 * stub-objc.c (objc_declare_protocols): Renamed to
4885 objc_declare_protocol.
4886 * c-objc.h: Likewise.
23407dc9 4887
29d7200d 48882011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4889
4890 * stub-objc.c (objc_declare_class): Updated argument name.
4891
9b88d08d 48922011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4893
4894 * c-common.h (c_common_init_ts): Declare.
4895 * c-common.c (c_common_init_ts): Define.
4896
4185cf58 48972011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4898
4899 * c-objc.h (objc_build_message_expr): Updated prototype.
4900 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4901
5a90471f 49022011-04-12 Martin Jambor <mjambor@suse.cz>
4903
4904 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4905 of cgraph_node.
4906
783bb57e 49072011-04-11 Richard Guenther <rguenther@suse.de>
4908
4909 * c-common.c (complete_array_type): Build a range type of
4910 proper type.
4911
c33080b9 49122011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4913
4914 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4915 (handle_type_generic_attribute): Likewise.
4916
f8913d47 49172011-04-07 Jason Merrill <jason@redhat.com>
4918
4919 PR c++/48450
4920 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4921 conversion from C++0x scoped enum.
4922
c94b1d0e 49232011-04-06 Joseph Myers <joseph@codesourcery.com>
4924
4925 * c-target-def.h: New file.
4926 * c-target.def: New file.
4927 * c-target.h: New file.
4928 * c-common.c (targetcm): Don't define here.
4929 * c-common.h (default_handle_c_option): Declare.
4930 * c-format.c: Include c-target.h instead of target.h.
4931 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4932 include tm.h.
4933 (default_handle_c_option): Move from targhooks.c.
4934
acb10f41 49352011-03-29 Jakub Jelinek <jakub@redhat.com>
4936
4937 PR preprocessor/48248
4938 * c-ppoutput.c (print): Add src_file field.
4939 (init_pp_output): Initialize it.
4940 (maybe_print_line): Don't optimize by adding up to 8 newlines
4941 if map->to_file and print.src_file are different file.
4942 (print_line): Update print.src_file.
4943
82715bcd 49442011-03-25 Kai Tietz <ktietz@redhat.com>
4945
4946 * c-ada-spec.c (compare_comment): Use filename_cmp
4947 instead of strcmp for filename.
4948
451c8e2f 49492011-03-25 Jeff Law <law@redhat.com>
4950
1f78217c 4951 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4952
3c47771c 49532011-03-25 Jason Merrill <jason@redhat.com>
4954
4955 * c.opt: Add -std=c++03.
4956
97e6200f 49572011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4958
4959 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4960
ac86af5d 49612011-03-17 Kai Tietz
4962
4963 PR target/12171
ee212425 4964 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4965 Display allowed attributes for function pointer types.
4966 (pp_c_attributes_display): New function to display
4967 attributes having affects_type_identity flag set to true.
4968 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4969
ac86af5d 4970 * c-common.c (c_common_attribute_table):
4971 Add new element.
4972 (c_common_format_attribute_table): Likewise.
4973
914d1151 49742011-03-18 Jason Merrill <jason@redhat.com>
4975
69788bdf 4976 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4977 * c-common.h: Don't declare it here.
4978 * c-common.c: Or define it here.
4979 * c-opts.c (c_common_handle_option): Or set it here.
4980
914d1151 4981 PR c++/35315
4982 * c-common.c (handle_transparent_union_attribute): Don't
4983 make a duplicate type in C++.
4984
54cf6eed 49852011-03-15 Jason Merrill <jason@redhat.com>
4986
4987 * c-common.c (max_constexpr_depth): New.
4988 * c-common.h: Declare it.
4989 * c-opts.c (c_common_handle_option): Set it.
4990 * c.opt (fconstexpr-depth): New option.
4991
02cb1060 49922011-03-11 Jason Merrill <jason@redhat.com>
4993
9bf1c74e 4994 * c-common.c (attribute_takes_identifier_p): Add missing const.
4995
02cb1060 4996 PR c++/46803
4997 * c-common.c (attribute_takes_identifier_p): Assume that an
4998 unknown attribute takes an identifier.
4999
ecf2703d 50002011-03-07 Nathan Froyd <froydnj@codesourcery.com>
5001
5002 PR c/47786
5003 * c-common.c (c_type_hash): Call list_length instead of iterating
5004 through DECL_CHAIN. Rename 'i' to 'n_elements'.
5005
2b19dfe4 50062011-02-19 Jakub Jelinek <jakub@redhat.com>
5007
5008 PR c/47809
5009 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
5010
29cf2335 50112011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5012
5013 * c.opt (fobjc-abi-version=) New.
5014 (fobjc-nilcheck): New.
5015
fad3f658 50162011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5017
5018 PR c++/46890
5019 * c-common.h (keyword_is_decl_specifier): Declare.
5020 * c-common.c (keyword_is_decl_specifier): Define.
5021 (keyword_is_function_specifier): New function.
5022
a12319b3 50232011-01-26 Jakub Jelinek <jakub@redhat.com>
5024
5025 PR c/47473
5026 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5027 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5028 REAL_TYPE.
5029
5c128dc8 50302011-01-26 Arnaud Charlet <charlet@adacore.com>
5031
5032 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5033
8d67b0c7 50342011-01-26 Jakub Jelinek <jakub@redhat.com>
5035
5036 PR pch/47430
5037 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5038 after init_c_lex if pch_file is set.
5039
0675168d 50402011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5041
e8911163 5042 PR c++/43601
0675168d 5043 * c.opt (-fkeep-inline-dllexport): New switch.
5044
0725e25c 50452011-01-12 Richard Guenther <rguenther@suse.de>
5046
5047 PR middle-end/32511
5048 * c-common.c (handle_weak_attribute): Warn instead of error
5049 on declaring an inline function weak.
5050
fdd84b77 50512011-01-05 Tom Tromey <tromey@redhat.com>
5052
5053 * c-common.h (lvalue_error): Update.
5054 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5055 not error.
5056
e6e73d14 50572010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 5058
d67e8485 5059 PR objc/47075
5060 * c-objc.h (objc_finish_message_expr): Added argument to
5061 prototype.
5062
a36cf284 50632010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5064
5065 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5066 Use prototype_p.
5067
33b3681f 50682010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5069
5070 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 5071 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 5072
a1f90215 50732010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5074
5075 * c-common.h (readonly_error): Declare.
5076 * c-common.c (readonly_error): Define.
5077
b1bbc8e5 50782010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5079
5080 * c-common.h (invalid_indirection_error): Declare.
5081 * c-common.c (invalid_indirection_error): Define.
5082
b0d55af9 50832010-12-03 Richard Guenther <rguenther@suse.de>
5084
5085 PR c/46745
5086 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5087 (pp_c_unary_expression): Likewise.
5088 (pp_c_expression): Likewise.
5089
d7489d8d 50902010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5091
5092 * c-common.h (objc_finish_function): New.
5093 (objc_non_volatilized_type): Removed.
5094 (objc_type_quals_match): Removed.
5095 * stub-objc.c (objc_finish_function): New.
5096 (objc_non_volatilized_type): Removed.
5097 (objc_type_quals_match): Removed.
19931eea 5098
92468061 50992010-11-30 Joseph Myers <joseph@codesourcery.com>
5100
5101 * c-common.h (parse_optimize_options): Declare.
5102 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5103 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5104
967958e4 51052010-11-29 Joseph Myers <joseph@codesourcery.com>
5106
5107 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5108 GET_ENVIRONMENT.
5109 * c-pch.c (O_BINARY): Don't define here.
5110 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5111
b213bf24 51122010-11-25 Joseph Myers <joseph@codesourcery.com>
5113
5114 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5115 targetm.except_unwind_info.
5116
9faf44d6 51172010-11-23 Joseph Myers <joseph@codesourcery.com>
5118
5119 * c-opts.c (c_common_handle_option): Pass location to
5120 set_struct_debug_option.
5121
79396169 51222010-11-23 Joseph Myers <joseph@codesourcery.com>
5123
5124 * c-common.c (visibility_options): Move from ../opts.c.
5125 * c-common.h (struct visibility_flags, visibility_options):
5126 Declare here.
5127 * c-opts.c (finish_options): Rename to c_finish_options.
5128 (c_common_init): Update call to finish_options.
5129
b4aa4123 51302010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
5131
5132 PR objc/34033
5133 * c-lex.c (lex_string): Check that each string in an Objective-C
5134 string concat sequence starts with either one or zero '@', and
5135 that there are no spurious '@' signs at the end.
5136
3e0e49f2 51372010-11-20 Joseph Myers <joseph@codesourcery.com>
5138
5139 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5140 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5141 HANDLE_PRAGMA_VISIBILITY.
5142 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5143 HANDLE_PRAGMA_VISIBILITY): Don't define.
5144 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5145
a9ffdd35 51462010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5147
5148 PR c++/16189
5149 PR c++/36888
5150 PR c++/45331
5151 * c-common.h (keyword_begins_type_specifier): Declare.
5152 (keyword_is_storage_class_specifier): Declare.
5153 (keyword_is_type_qualifier): Declare.
5154 * c-common.c (keyword_begins_type_specifier): New function.
5155 (keyword_is_storage_class_specifier): New function.
5156 (keyword_is_type_qualifier): Declare.
5157
93be21c0 51582010-11-19 Joseph Myers <joseph@codesourcery.com>
5159
5160 PR c/46547
5161 * c-common.c (in_late_binary_op): Define.
5162 (c_common_truthvalue_conversion): Check in_late_binary_op before
5163 calling c_save_expr.
5164 * c-common.h (in_late_binary_op): Declare.
5165
d7175aef 51662010-11-19 Joseph Myers <joseph@codesourcery.com>
5167
5168 * c-opts.c (c_common_handle_option): Update calls to
5169 set_struct_debug_option.
5170
c213e196 51712010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5172
5173 * c-common.h (objc_declare_protocols): Added additional argument.
5174 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 5175
0b5fc5d6 51762010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5177
5178 PR c/33193
5179 * c-common.h (build_real_imag_expr): Declare.
5180 * c-semantics.c (build_real_imag_expr): Define.
5181
b8ba44e7 51822010-11-17 Joseph Myers <joseph@codesourcery.com>
5183
5184 * c-opts.c (c_common_parse_file): Take no arguments.
5185 * c-common.h (c_common_parse_file): Update prototype.
5186
6ef8d12f 51872010-11-16 Jakub Jelinek <jakub@redhat.com>
5188
5189 PR c++/46401
5190 * c-common.c (warning_candidate_p): Don't track non-const calls
5191 or STRING_CSTs.
5192
929d2a90 51932010-11-15 Ian Lance Taylor <iant@google.com>
5194
5195 * c-lex.c (init_c_lex): Set macro debug callbacks if
5196 flag_dump_go_spec is set.
5197
e4a7640a 51982010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5199
5200 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5201 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5202
597d2d81 52032010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5204
5205 PR preprocessor/45038
5206 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5207 dialects.
5208
c123f04d 52092010-11-12 Joseph Myers <joseph@codesourcery.com>
5210
5211 * c-common.h (c_family_lang_mask): Declare.
5212 * c-opts.c (c_family_lang_mask): Make extern.
5213 * c-pragma.c (handle_pragma_diagnostic): Use
5214 control_warning_option.
5215
3c6c0e40 52162010-11-12 Joseph Myers <joseph@codesourcery.com>
5217
5218 * c-common.c (parse_optimize_options): Update call to
5219 decode_options.
5220 * c-common.h (c_common_handle_option): Update prototype.
5221 * c-opts.c (c_common_handle_option): Take location_t parameter and
5222 pass it to other functions.
5223
19ec5c9e 52242010-11-11 Joseph Myers <joseph@codesourcery.com>
5225
5226 * c-opts.c (warning_as_error_callback): Remove.
5227 (c_common_initialize_diagnostics): Don't call
5228 register_warning_as_error_callback.
5229 (c_common_handle_option): Handle -Werror=normalized= here.
5230
bf776685 52312010-11-10 Joseph Myers <joseph@codesourcery.com>
5232
5233 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5234 in diagnostic.
5235 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5236 letter.
5237 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5238 Remove trailing '.' from diagnostics.
5239 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5240
6bd9d862 52412010-11-10 Joseph Myers <joseph@codesourcery.com>
5242
5243 * c-common.c (parse_optimize_options): Pass global_dc to
5244 decode_options.
5245 * c-opts.c (c_common_handle_option): Pass &global_options to
5246 set_Wstrict_aliasing.
5247 * c.opt (v): Don't mark Common or document here.
5248
1f6616ee 52492010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5250
5251 PR target/44981
5252 * c-format.c (format_type): New type gcc_objc_string_format_type.
5253 (valid_stringptr_type_p): New.
5254 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5255 (check_format_string): Pass expected type, use
1f6616ee 5256 valid_stringptr_type_p (), check that the format string types are
5257 consistent with the format specification.
5258 (decode_format_attr): Warn if NSString is used outside objective-c.
5259 (format_types_orig): Add NSString.
5260 (format_name): New.
5261 (format_flags): New.
5262 (check_format_arg): Handle format strings requiring an external parser.
5263 first_target_format_type: New variable.
5264 (handle_format_attribute): Set up first_target_format_type, pass the
5265 expected format arg string type to check_format_string().
5266 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5267 * stub-objc.c (objc_string_ref_type_p): New.
5268 (objc_check_format_arg): New.
5269
b0d0931f 52702010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5271
19931eea 5272 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5273 * c-common.h (objc_build_class_component_ref): New.
5274 * stub-objc.c (objc_build_class_component_ref): New.
5275
f26877d5 52762010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5277
5278 * c.opt (Wproperty-assign-default): New option.
5279
1ef143b6 52802010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5281
5282 Implemented -fobjc-std=objc1 flag.
5283 * c.opt (fobjc-std=objc1): New option.
5284
8c582e4f 52852010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5286
5287 Implemented format and noreturn attributes for Objective-C methods.
5288 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5289 attribute for Objective-C methods.
5290
8637f1db 52912010-10-31 Jason Merrill <jason@redhat.com>
5292
5293 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5294 EXPR_LOC_OR_HERE.
5295
9d9f5bb3 52962010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5297
5298 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5299 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5300 (objc_add_property_declaration): Removed arguments for copies and
5301 ivar.
5302 (objc_build_getter_call): Renamed to
5303 objc_maybe_build_component_ref.
5304 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5305 (objc_is_property_ref): New.
5306 * c-common.c (c_common_reswords): Removed copies and ivar.
5307 * stub-objc.c (objc_add_property_declaration): Removed arguments
5308 for copies and ivar.
5309 (objc_build_getter_call): Renamed to
5310 objc_maybe_build_component_ref.
5311 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5312 (objc_is_property_ref): New.
19931eea 5313
56f907a0 53142010-10-29 Arnaud Charlet <charlet@adacore.com>
5315 Matthew Gingell <gingell@adacore.com>
5316
5317 * c-ada-spec.c (separate_class_package): New function.
5318 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5319 name of their enclosing package.
5320 (print_ada_declaration): Use separate_class_package.
5321
b5fa273e 53222010-10-27 Jason Merrill <jason@redhat.com>
5323
5290e253 5324 * c-common.c (c_common_reswords): Add __is_literal_type.
5325 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5326
b5fa273e 5327 * c-common.c (check_case_value): Remove special C++ code.
5328
7590f0e5 53292010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5330
5331 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5332 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5333 and RID_LAST_PATTR.
5334 (objc_add_property_declaration): Added additional arguments.
5335 (objc_property_attribute_kind): Removed.
5336 (objc_set_property_attr): Removed.
5337 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5338 copy and nonatomic.
5339 * stub-objc.c (objc_add_property_declaration): Added additional
5340 arguments.
5341 (objc_set_property_attr): Removed.
19931eea 5342
1d894bcf 53432010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5344
5345 * c-common.h (objc_add_property_variable): Renamed to
5346 objc_add_property_declaration. Added location argument.
5347 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5348
e23bf1fb 53492010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5350
5351 * c-common.h (objc_maybe_printable_name): New.
5352 * stub-objc.c (objc_maybe_printable_name): New.
5353
93426222 53542010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5355 Andrew Pinski <pinskia@gmail.com>
5356
5357 * c-common.h (c_common_mark_addressable_vec): Declare.
5358 * c-common.c (c_common_mark_addressable_vec): New function.
5359
45b2b110 53602010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5361
5362 * c-common.h (objc_set_method_type): Removed.
5363 (objc_add_method_declaration): Added boolean argument.
5364 (objc_start_method_definition): Same change.
5365 (objc_build_method_signature): Same change.
5366 * stub-objc.c (objc_set_method_type): Removed.
5367 (objc_add_method_declaration): Added boolean argument.
5368 (objc_start_method_definition): Same change.
5369 (objc_build_method_signature): Same change.
5370
64cd9619 53712010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5372
5373 * c-common.h (finish_file): Removed.
5374 (objc_write_global_declarations): New.
5375 * c-opts.c (c_common_parse_file): Do not call finish_file.
5376 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5377
e1f293c0 53782010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5379
5380 Implemented parsing @synthesize and @dynamic for
5381 Objective-C/Objective-C++.
5382 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5383 (objc_add_synthesize_declaration): New.
5384 (objc_add_dynamic_declaration): New.
5385 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5386 * stub-objc.c (objc_add_synthesize_declaration): New.
5387 (objc_add_dynamic_declaration): New.
19931eea 5388
ef97a312 53892010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5390
5391 PR target/46041
5392 * c-cppbuiltin.c (mode_has_fma): Move function here from
5393 builtins.c. Don't use the fma optab, instead just use the
5394 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5395 using -save-temps.
5396
69b07042 53972010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5398
5399 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5400
69b07042 5401 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5402
19931eea 5403 Radar 4330422
69b07042 5404 * c-common.h (objc_non_volatilized_type): New declaration
5405 * stub-objc.c (objc_non_volatilized_type): New stub.
5406
f15f2e56 54072010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5408
69b07042 5409 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5410
5411 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5412
19931eea 5413 Radar 4133425
f15f2e56 5414 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5415 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5416
4a8875ed 54172010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5418
5419 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5420 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5421 (objc_ivar_visibility_kind): New enum.
5422 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5423 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5424 visibility enum.
5425
7e0713b1 54262010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5427
5428 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5429 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5430 has the appropriate fma builtins.
5431 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5432
86c110ac 54332010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5434
7e0713b1 5435 merge from FSF apple 'trunk' branch.
86c110ac 5436 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5437
86c110ac 5438 Radars 4436866, 4505126, 4506903, 4517826
5439 * c-common.c (c_common_resword): Define @property and its attributes.
5440 * c-common.h: Define property attribute enum entries.
5441 (OBJC_IS_PATTR_KEYWORD): New.
5442 (objc_property_attribute_kind): New enum.
5443 Declare objc_set_property_attr (), objc_add_property_variable (),
5444 objc_build_getter_call () and objc_build_setter_call ().
5445 * stub-objc.c (objc_set_property_attr): New stub.
5446 (objc_add_property_variable): Likewise.
5447 (objc_build_getter_call): Likewise.
5448 (objc_build_setter_call) Likewise.
7e0713b1 5449
40c8d1dd 54502010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5451
7e0713b1 5452 merge from FSF apple 'trunk' branch.
40c8d1dd 5453 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5454
5455 Radar 3803157 (method attributes)
5456 * c-common.c (handle_deprecated_attribute): Recognize
5457 objc methods as valid declarations.
5458 * c-common.h: Declare objc_method_decl ().
7e0713b1 5459 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5460
f3f006ad 54612010-10-08 Joseph Myers <joseph@codesourcery.com>
5462
5463 * c-common.c (parse_optimize_options): Call
5464 decode_cmdline_options_to_array_default_mask before
5465 decode_options. Update arguments to decode_options.
5466 * c-common.h (c_common_init_options_struct): Declare.
5467 * c-opts.c (c_common_init_options_struct): New. Split out from
5468 c_common_init_options.
5469
0a65c3bb 54702010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5471
5472 Implemented fast enumeration for Objective-C.
5473 * c-common.h (objc_finish_foreach_loop): New.
5474 * stub-objc.c (objc_finish_foreach_loop): New.
5475
24ca3b4e 54762010-10-05 Joseph Myers <joseph@codesourcery.com>
5477
5478 * c-common.h (struct diagnostic_context): Don't declare here.
5479 (c_common_initialize_diagnostics): Declare using
5480 diagnostic_context typedef.
5481 * c-opts.c (c_common_handle_option): Pass global_dc to
5482 handle_generated_option.
5483
f83b64ca 54842010-10-04 Joseph Myers <joseph@codesourcery.com>
5485
5486 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5487 handle_generated_option.
5488
2fdec027 54892010-10-03 Ian Lance Taylor <iant@google.com>
5490
5491 * c.opt (-fplan9-extensions): New option.
5492
41acdfa4 54932010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5494
5495 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5496 Remove.
5497 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5498 of duplicating code.
5499
069761fb 55002010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5501
5502 * c-common.c: Add two new entries for @optional
5503 and @required keywords.
5504
5505 merge from FSF 'apple/trunk' branch.
5506 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5507
5508 Radar 4386773
5509 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5510 objective-c keywords.
5511 (objc_set_method_opt): New declaration.
5512 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5513
2c5d2e39 55142010-09-30 Joseph Myers <joseph@codesourcery.com>
5515
5516 * c-common.c (handle_optimize_attribute): Pass &global_options to
5517 cl_optimization_save and cl_optimization_restore.
5518 * c-opts.c (c_common_handle_option): Pass &global_options to
5519 handle_generated_option.
5520 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5521 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5522 &global_options to cl_optimization_restore.
5523
e5c75ac3 55242010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5525
5526 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5527 Objective-C/Objective-C++ keywords.
5528
3511333e 55292010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5530
19931eea 5531 Merge from 'apple/trunk' branch on FSF servers.
5532
e147d6aa 5533 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5534
5535 Radar 4281748
5536 * c-common.h (objc_check_global_decl): New declaration.
5537 * stub-objc.c (objc_check_global_decl): New stub.
5538
5461e683 55392010-09-29 Joseph Myers <joseph@codesourcery.com>
5540
5541 * c.opt: Don't use VarExists.
5542
5ae82d58 55432010-09-29 Joseph Myers <joseph@codesourcery.com>
5544
5545 * c-common.c (c_cpp_error): Update names of diagnostic_context
5546 members.
5547 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5548 cl_optimization members.
5549 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5550 sanitize_cpp_opts, finish_options): Update names of cpp_options
5551 members.
5552
b27e241e 55532010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5554
5555 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5556 (objc_is_reserved_word): Removed.
5557 * c-common.c: Updated comments.
5558 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5559 objc_is_reserved_word.
5560 * stub-objc.c (objc_is_reserved_word): Removed.
5561
03fc2271 55622010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5563
19931eea 5564 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5565 include attributes.
5566 (objc_start_method_definition): Likewise.
5567 (objc_build_keyword_decl): Likewise.
5568 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5569 (objc_start_method_definition): Likewise.
5570 (objc_build_keyword_decl): Likewise.
5571
a336eb4b 55722010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5573
5574 * c-common.h (objc_start_class_interface): Adjust prototype.
5575 (objc_start_category_interface): Likewise.
5576 (objc_start_protocol): Likewise.
5577 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5578 (objc_start_class_interface): Likewise.
5579 (objc_start_category_interface): Likewise.
5580
48b14f50 55812010-09-27 Ian Lance Taylor <iant@google.com>
5582
5583 * c-common.c (c_common_attribute_table): Add no_split_stack.
5584 (handle_no_split_stack_attribute): New static function.
5585
4abfc532 55862010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5587
19931eea 5588 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5589
5590 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5591
19931eea 5592 Radar 4229905
4abfc532 5593 * c-common.h (objc_have_common_type): New declaration.
5594 * stub-objc.c (objc_have_common_type): New stub.
5595
5596 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5597
5598 Radar 4154928
5599 * c-common.h (objc_common_type): New prototype.
19931eea 5600 * stub-objc.c (objc_common_type): New stub.
4abfc532 5601
7bd95dfd 56022010-09-24 Jan Hubicka <jh@suse.cz>
5603
5604 * c-common.c (handle_leaf_attribute): New function.
5605 (struct attribute_spec c_common_att): Add leaf.
5606
5789e05b 56072010-09-22 Joseph Myers <joseph@codesourcery.com>
5608
5609 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5610 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5611 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5612 -include-barrier, -include-directory, -include-directory=,
5613 -include-directory-after, -include-directory-after=,
5614 -include-prefix, -include-prefix=, -include-with-prefix,
5615 -include-with-prefix=, -include-with-prefix-after,
5616 -include-with-prefix-after=, -include-with-prefix-before,
5617 -include-with-prefix-before=, -no-integrated-cpp,
5618 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5619 -output=, -pedantic, -pedantic-errors, -preprocess,
5620 -print-missing-file-dependencies, -trace-includes, -traditional,
5621 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5622 -user-dependencies, -verbose, -write-dependencies,
5623 -write-user-dependencies, no-integrated-cpp, traditional): New.
5624
e6fb54ba 56252010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5626
5627 PR objc/23710
9b60f3b0 5628 * c-common.h (objc_start_method_definition): Return bool instead
5629 of void.
5630 * stub-objc.c (objc_start_method_definition): Return bool instead
5631 of void.
5632
56332010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5634
5635 PR objc/25965
5636 * c-common.h (objc_get_interface_ivars): New declaration.
5637 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5638
e44b0a1f 56392010-09-15 Ian Lance Taylor <iant@google.com>
5640
5641 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5642 messages. Remove period at end of warning message.
e44b0a1f 5643
85c0a25c 56442010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5645
5646 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5647 (handle_alias_attribute): ... here.
5648 (handle_ifunc_attribute): New.
5649
5ba33bf4 56502010-09-06 Mark Mitchell <mark@codesourcery.com>
5651
5652 * c-common.h (do_warn_double_promotion): Declare.
5653 * c-common.c (do_warn_double_promotion): Define.
5654
c920faa3 56552010-09-05 Mark Mitchell <mark@codesourcery.com>
5656
5657 * c.opt (Wdouble-promotion): New.
5658
9604e070 56592010-09-02 Joseph Myers <joseph@codesourcery.com>
5660
5661 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5662 fvtable-thunks, fxref): Mark no longer supported in help text.
5663
3b0273a1 56642010-09-02 Joseph Myers <joseph@codesourcery.com>
5665
5666 * c.opt (Wimport, fall-virtual, falt-external-templates,
5667 fdefault-inline, fenum-int-equiv, fexternal-templates,
5668 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5669 fname-mangling-version-, fnew-abi, fnonnull-objects,
5670 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5671 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5672 applicable.
5673 (fhandle-exceptions): Mark with Alias and Warn.
5674 * c-opts.c (c_common_handle_option): Don't handle options marked
5675 as ignored.
5676
67089c6b 56772010-09-02 Joseph Myers <joseph@codesourcery.com>
5678
5679 * c.opt (Wcomments, Werror-implicit-function-declaration,
5680 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5681 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5682 aliases.
5683 * c-common.c (option_codes): Use OPT_Wcomment instead of
5684 OPT_Wcomments.
5685 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5686 Don't handle options marked as aliases.
5687
2af087f2 56882010-08-25 Richard Guenther <rguenther@suse.de>
5689
5690 * c-common.c (c_common_get_alias_set): Remove special
5691 handling for pointers.
5692
48148244 56932010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5694
5695 * c-common.c: Use FOR_EACH_VEC_ELT.
5696 * c-gimplify.c: Likewise.
5697 * c-pragma.c: Likewise.
5698
89c69892 56992010-08-16 Joseph Myers <joseph@codesourcery.com>
5700
5701 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5702 RejectDriver.
5703 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5704 RejectDriver.
5705 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5706 instead of OPT_MDX and OPT_MMDX.
5707
e28aa114 57082010-08-16 Joseph Myers <joseph@codesourcery.com>
5709
5710 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5711
99b66d21 57122010-08-12 Joseph Myers <joseph@codesourcery.com>
5713
5714 * c.opt (MD, MMD): Change to MDX and MMDX.
5715 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5716
666f4bf0 57172010-08-11 Joseph Myers <joseph@codesourcery.com>
5718
5719 * c-opts.c (c_common_handle_option): Call handle_generated_option
5720 instead of handle_option.
5721
5ec815f6 57222010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5723
5724 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5725 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5726
d13143cf 57272010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5728
5729 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5730 (pending_redefine_extname): Change type to a VEC.
5731 (add_to_renaming_pragma_list): Update for new type of
5732 pending_redefine_extname.
5ec815f6 5733 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5734
2008c983 57352010-08-04 Arnaud Charlet <charlet@adacore.com>
5736
5737 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5738 visited.
5739 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5740 decide whether a type has already been declared/seen.
5741 Do not go to the original type.
5742 (dump_nested_types): New parameter forward.
5743 Generate forward declaration if needed and mark type as visited.
5744 (print_ada_declaration): Call dump_nested_types if not already done.
5745 Mark types as visited.
5746
9b091a73 57472010-08-03 Joseph Myers <joseph@codesourcery.com>
5748
5749 * c.opt (-print-pch-checksum): Remove option.
5750 * c-opts.c (c_common_handle_option): Don't handle
5751 OPT_print_pch_checksum.
5752
b78351e5 57532010-07-27 Joseph Myers <joseph@codesourcery.com>
5754
5755 * c-common.h (c_common_handle_option): Update prototype and return
5756 value type.
5757 * c-opts.c (c_common_handle_option): Update prototype and return
5758 value type. Update calls to handle_option and
5759 enable_warning_as_error.
5760
34416a90 57612010-07-27 Jakub Jelinek <jakub@redhat.com>
5762
5763 PR c/45079
5764 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5765
fecf9011 57662010-07-27 Joseph Myers <joseph@codesourcery.com>
5767
5768 * c-common.h (c_common_missing_argument): Remove.
5769 * c-opts.c (c_common_missing_argument): Remove.
5770 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5771 idirafter, imacros, include, isysroot, isystem, iquote): Add
5772 MissingArgError.
5773 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5774
e88d34f6 57752010-07-27 Joseph Myers <joseph@codesourcery.com>
5776
5777 * c-common.h (c_common_option_lang_mask,
5778 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5779 New.
5780 (c_common_init_options): Update prototype.
5781 * c-opts.c (c_common_option_lang_mask): New.
5782 (c_common_initialize_diagnostics): Split out of
5783 c_common_init_options.
5784 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5785 New.
5786 (c_common_init_options): Update prototype. Use decoded options in
5787 search for -lang-asm.
5788
1767a056 57892010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5790
5791 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5792 * c-format.c: Likewise.
5793
0b205f4c 57942010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5795
5796 * c-common.h: Include diagnostic-core.h. Error if already
5797 included.
5798 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5799
1c58e3f1 58002010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5801
1f78217c 5802 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5803 Do not include expr.h
5804 (vector_mode_valid_p): Move here.
5805
33cc157c 58062010-06-21 DJ Delorie <dj@redhat.com>
5807
5808 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5809 allow these pragmas anywhere.
5810
58112010-06-14 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR bootstrap/44509
5814 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5815 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5816 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5817 ggc_strdup instead of xstrdup.
5818
58192010-06-10 Jakub Jelinek <jakub@redhat.com>
5820
5821 * c-cppbuiltin.c: Include cpp-id-data.h.
5822 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5823 (lazy_hex_fp_value): New function.
5824 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5825
9b40bfbf 58262010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5827
5828 * c-gimplify.c: Do not include tree-flow.h
5829
202d6e5f 58302010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5831
5832 PR other/44034
5833 * c-common.c: Rename targetm member:
5834 targetm.enum_va_list -> targetm.enum_va_list_p
5835
d3237426 58362010-06-28 Anatoly Sokolov <aesok@post.ru>
5837
5838 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5839
596981c8 58402010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5841
5842 * c-cppbuiltin.c: Do not include except.h.
5843
b9bdfa0b 58442010-06-24 Andi Kleen <ak@linux.intel.com>
5845
19931eea 5846 * c-common.c (warn_for_omitted_condop): New.
5847 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5848
55ad092d 58492010-06-21 Joseph Myers <joseph@codesourcery.com>
5850
5851 * c.opt (lang-objc): Remove.
5852 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5853
9e7c2572 58542010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5855
5856 * c-opts.c: Include "tm_p.h".
5857
615ef0bb 58582010-06-20 Joseph Myers <joseph@codesourcery.com>
5859
5860 * c-common.c (parse_optimize_options): Update call to
5861 decode_options.
5862
aef48c9a 58632010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5864
5865 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5866 new type of types_used_by_cur_var_decl.
5867
d74003b4 58682010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5869
5870 PR bootstrap/44512
5871 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5872 for C++ standard compliance.
5873
1194d077 58742010-06-16 Jason Merrill <jason@redhat.com>
5875
5876 * c.opt: Add -Wnoexcept.
5877
d473d901 58782010-06-16 Richard Guenther <rguenther@suse.de>
5879
5880 PR c/44555
5881 * c-common.c (c_common_truthvalue_conversion): Remove
5882 premature and wrong optimization concering ADDR_EXPRs.
5883
b62dbfd3 58842010-06-15 Arnaud Charlet <charlet@adacore.com>
5885
5886 * c-ada-spec.c (dump_sloc): Remove column info.
5887 (is_simple_enum): New function.
5888 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5889 enum types when relevant.
5890
200dd99c 58912010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5892
19931eea 5893 * c-common.c (conversion_warning): Warn at expression
200dd99c 5894 location.
5895
abf6a617 58962010-06-10 Joseph Myers <joseph@codesourcery.com>
5897
5898 * c-opts.c (c_common_handle_option): Don't handle
5899 OPT_fshow_column.
5900
ba72912a 59012010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5902
5903 * c-pragma.c (push_alignment): Use typed GC allocation.
5904 (handle_pragma_push_options): Likewise.
5905
5906 * c-common.c (parse_optimize_options): Likewise.
5907
5908 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5909 option.
5910
4aafe913 59112010-06-07 Joseph Myers <joseph@codesourcery.com>
5912
5913 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5914 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5915 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5916 flag_signed_bitfields, warn_strict_null_sentinel,
5917 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5918 flag_gen_declaration, flag_no_gnu_keywords,
5919 flag_implement_inlines, flag_implicit_templates,
5920 flag_implicit_inline_templates, flag_optional_diags,
5921 flag_elide_constructors, flag_default_inline, flag_rtti,
5922 flag_conserve_space, flag_access_control, flag_check_new,
5923 flag_new_for_scope, flag_weak, flag_working_directory,
5924 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5925 flag_enforce_eh_specs, flag_threadsafe_statics,
5926 flag_pretty_templates): Remove.
5927 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5928 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5929 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5930 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5931 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5932 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5933 flag_no_gnu_keywords, flag_implement_inlines,
5934 flag_implicit_templates, flag_implicit_inline_templates,
5935 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5936 flag_rtti, flag_conserve_space, flag_access_control,
5937 flag_check_new, flag_new_for_scope, flag_weak,
5938 flag_working_directory, flag_use_cxa_atexit,
5939 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5940 flag_threadsafe_statics, flag_pretty_templates,
5941 warn_strict_null_sentinel): Remove.
5942 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5943 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5944 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5945 fimplicit-inline-templates, fimplicit-templates,
5946 flax-vector-conversions, fms-extensions, fnil-receivers,
5947 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5948 frtti, fshort-double, fshort-enums, fshort-wchar,
5949 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5950 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5951 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5952 gen-decls, undef): Use Var.
5953 (fdefault-inline, foptional-diags): Document as doing nothing.
5954 * c-opts.c (c_common_handle_option): Remove cases for options now
5955 using Var. Mark ignored options as such.
5956
7bedc3a0 59572010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5958
19931eea 5959 * c-common.c: Moved to here from parent directory.
7bedc3a0 5960 * c-common.def: Likewise.
5961 * c-common.h: Likewise.
5962 * c-cppbuiltin.c: Likewise.
5963 * c-dump.c: Likewise.
5964 * c-format.c: Likewise.
5965 * c-format.h : Likewise.
5966 * c-gimplify.c: Likewise.
5967 * c-lex.c: Likewise.
5968 * c-omp.c: Likewise.
5969 * c.opt: Likewise.
5970 * c-opts.c: Likewise.
5971 * c-pch.c: Likewise.
5972 * c-ppoutput.c: Likewise.
5973 * c-pragma.c: Likewise.
5974 * c-pragma.h: Likewise.
5975 * c-pretty-print.c: Likewise.
5976 * c-pretty-print.h: Likewise.
5977 * c-semantics.c: Likewise.
5978 * stub-objc.c: Likewise.
5979
5980 * c-common.c: Include gt-c-family-c-common.h.
5981 * c-pragma.c: Include gt-c-family-c-pragma.h.
5982\f
f1717362 5983Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 5984
5985Copying and distribution of this file, with or without modification,
5986are permitted in any medium without royalty provided the copyright
5987notice and this notice are preserved.