]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR/67682, break SLP groups up if only some elements match
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
2fc5e987 12015-11-12 James Norris <jnorris@codesourcery.com>
2 Joseph Myers <joseph@codesourcery.com>
3
4 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
6 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
7 PRAGMA_OACC_CLAUSE_LINK.
8
81b1b2a8 92015-11-11 Marek Polacek <polacek@redhat.com>
10
11 PR c/68107
12 PR c++/68266
13 * c-common.c (valid_array_size_p): New function.
14 * c-common.h (valid_array_size_p): Declare.
15
4f3707ca 162015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
17
18 PR bootstrap/68271
19 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
20
6e803544 212015-11-11 Andrew MacLeod <amacleod@redhat.com>
22
23 * array-notation-common.c: Remove unused header files.
24 * c-ada-spec.c: Likewise.
25 * c-cilkplus.c: Likewise.
26 * c-common.c: Likewise.
27 * c-cppbuiltin.c: Likewise.
28 * c-dump.c: Likewise.
29 * c-format.c: Likewise.
30 * c-gimplify.c: Likewise.
31 * c-indentation.c: Likewise.
32 * c-lex.c: Likewise.
33 * c-omp.c: Likewise.
34 * c-opts.c: Likewise.
35 * c-pch.c: Likewise.
36 * c-ppoutput.c: Likewise.
37 * c-pragma.c: Likewise.
38 * c-pretty-print.c: Likewise.
39 * c-semantics.c: Likewise.
40 * c-ubsan.c: Likewise.
41 * cilk.c: Likewise.
42 * stub-objc.c: Likewise.
43
a1b7fe4b 442015-11-09 Thomas Schwinge <thomas@codesourcery.com>
45 Cesar Philippidis <cesar@codesourcery.com>
46 James Norris <jnorris@codesourcery.com>
47 Julian Brown <julian@codesourcery.com>
48 Nathan Sidwell <nathan@codesourcery.com>
49
50 * c-pragma.c (oacc_pragmas): Add "routine".
51 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
52
292237f3 532015-11-08 Eric Botcazou <ebotcazou@adacore.com>
54
55 * c-common.c (c_common_attributes): Add scalar_storage_order.
56 (handle_scalar_storage_order_attribute): New function.
57 * c-pragma.c (global_sso): New variable.
58 (maybe_apply_pragma_scalar_storage_order): New function.
59 (handle_pragma_scalar_storage_order): Likewise.
60 (init_pragma): Register scalar_storage_order.
61 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
62 * c.opt (Wscalar-storage-order): New warning.
63 (fsso-struct=): New option.
64
b4a4c5fa 652015-11-08 Martin Sebor <msebor@redhat.com>
66
67 * c.opt (Wplacement-new): Add a period to the end of a sentence.
68
ac677063 692015-11-07 Richard Sandiford <richard.sandiford@arm.com>
70
71 * c-common.c: Don't undef DEF_BUILTIN.
72
f0479000 732015-11-06 David Malcolm <dmalcolm@redhat.com>
74
75 * c-common.c (c_cpp_error): Convert parameter from location_t to
76 rich_location *. Eliminate the "column_override" parameter and
77 the call to diagnostic_override_column.
78 Update the "done_lexing" clause to set range 0
79 on the rich_location, rather than overwriting a location_t.
80 * c-common.h (c_cpp_error): Convert parameter from location_t to
81 rich_location *. Eliminate the "column_override" parameter.
82
ef014f95 832015-11-05 Cesar Philippidis <cesar@codesourcery.com>
84 Thomas Schwinge <thomas@codesourcery.com>
85 James Norris <jnorris@codesourcery.com>
86
87 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
88 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
89 clauses with parallel and kernels and loops.
90 * c-pragma.h (enum pragma_omp_clause): Add entries for
91 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
92 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
93 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
94 INDEPENDENT,SEQ}.
95 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
96
e520488c 972015-11-05 Martin Sebor <msebor@redhat.com>
98
99 PR c++/67942
100 * c.opt (-Wplacement-new): New option.
101
9561765e 1022015-11-05 Jakub Jelinek <jakub@redhat.com>
103
104 * c-common.h (c_finish_omp_atomic): Add TEST argument.
105 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
106 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
107 save_expr or create_tmp_var* if TEST is true.
108 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
109 Don't call add_stmt here.
110 (struct c_omp_check_loop_iv_data): New type.
111 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
112 c_omp_check_loop_iv_exprs): New functions.
113 (c_omp_split_clauses): Adjust for lastprivate being allowed on
114 distribute.
115 (c_omp_declare_simd_clauses_to_numbers): Change
116 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
117 (c_omp_declare_simd_clauses_to_decls): Similarly change those
118 from numbers to PARM_DECLs.
119
5e8689fb 1202015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
121
122 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
123 flag_checking.
124
aeaccb75 1252015-11-03 Bernd Schmidt <bschmidt@redhat.com>
126
127 PR c++-common/67882
128 * c-family/c-common.h (fold_offsetof_1): Add argument.
129 * c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
130 offsetof expressions that reference elements past the end of
131 an array.
132
9e10bfb7 1332015-11-03 Thomas Schwinge <thomas@codesourcery.com>
134 Chung-Lin Tang <cltang@codesourcery.com>
135
136 * c-pragma.c (oacc_pragmas): Add "atomic".
137 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
138
ab50af2a 1392015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
140
141 * c-common.c (handle_target_clones_attribute): New.
142 (c_common_attribute_table): Add handle_target_clones_attribute.
143 (handle_always_inline_attribute): Add check on target_clones attribute.
144 (handle_target_attribute): Ditto.
145
4cba6f60 1462015-10-29 Andrew MacLeod <amacleod@redhat.com>
147
148 * array-notation-common.c: Reorder #include's and remove duplicates.
149 * c-ada-spec.c: Likewise.
150 * c-cilkplus.c: Likewise.
151 * c-common.c: Likewise.
152 * c-cppbuiltin.c: Likewise.
153 * c-dump.c: Likewise.
154 * c-format.c: Likewise.
155 * c-gimplify.c: Likewise.
156 * c-indentation.c: Likewise.
157 * c-lex.c: Likewise.
158 * c-omp.c: Likewise.
159 * c-opts.c: Likewise.
160 * c-pch.c: Likewise.
161 * c-ppoutput.c: Likewise.
162 * c-pragma.c: Likewise.
163 * c-pretty-print.c: Likewise.
164 * c-semantics.c: Likewise.
165 * c-ubsan.c: Likewise.
166 * cilk.c: Likewise.
167 * stub-objc.c: Likewise.
168
f576a2e4 1692015-10-28 Jason Merrill <jason@redhat.com>
170
171 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
172
2c4c8725 1732015-10-27 Thomas Schwinge <thomas@codesourcery.com>
174 James Norris <jnorris@codesourcery.com>
175 Cesar Philippidis <cesar@codesourcery.com>
176
177 PR c/64765
178 PR c/64880
179 * c-common.h (c_oacc_split_loop_clauses): Declare function.
180 * c-omp.c (c_oacc_split_loop_clauses): New function.
181
8204c077 1822015-10-21 Martin Sebor <msebor@redhat.com>
183
184 PR driver/68043
185 * c.opt: End each sentence that describes an option with a period.
186
8523243e 1872015-10-20 Marek Polacek <polacek@redhat.com>
188
189 * array-notation-common.c (is_cilkplus_vector_p): Define.
190 * c-common.h (is_cilkplus_vector_p): Declare.
191
08881cb8 1922015-10-20 Marek Polacek <polacek@redhat.com>
193
194 * c.opt (std=gnu++11): Do not describe as experimental.
195 (std=gnu++14): Likewise.
196
a36e5e5e 1972015-10-19 Jason Merrill <jason@redhat.com>
198
199 * c-cppbuiltin.c (c_cpp_builtins): Define
200 __cpp_nontype_template_args.
201
a349de0a 2022015-10-19 Jason Merrill <jason@redhat.com>
203
204 * c-cppbuiltin.c (c_cpp_builtins): Define
205 __cpp_enumerator_attributes, __cpp_fold_expressions,
206 __cpp_unicode_characters.
207
43895be5 2082015-10-13 Jakub Jelinek <jakub@redhat.com>
209 Aldy Hernandez <aldyh@redhat.com>
210
211 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
212 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
213 (c_define_builtins): Likewise.
214 * c-common.h (enum c_omp_clause_split): Add
215 C_OMP_CLAUSE_SPLIT_TASKLOOP.
216 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
217 (c_finish_omp_for): Add ORIG_DECLV argument.
218 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
219 201511 instead of 201307.
220 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
221 OMP_CRITICAL_CLAUSES to it.
222 (c_finish_omp_ordered): Add CLAUSES argument, set
223 OMP_ORDERED_CLAUSES to it.
224 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
225 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
226 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
227 constructs and new OpenMP 4.5 clauses. Clear
228 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
229 verification code.
230 * c-pragma.c (omp_pragmas_simd): Add taskloop.
231 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
232 (enum pragma_omp_clause): Add
233 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
234 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
235
20cb53c9 2362015-10-05 Richard Sandiford <richard.sandiford@arm.com>
237
238 * c-lex.c (interpret_float): Use real_equal instead of
239 REAL_VALUES_EQUAL.
240
6d02e6b2 2412015-10-04 Jason Merrill <jason@redhat.com>
242
243 Implement N4514, C++ Extensions for Transactional Memory.
244 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
245 (c_common_attribute_table): Add transaction_safe_dynamic.
246 transaction_safe now affects type identity.
247 (handle_tm_attribute): Handle transaction_safe_dynamic.
248 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
249 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
250 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
251 (D_TRANSMEM): New.
252 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
253 * c-pretty-print.c (pp_c_attributes_display): Don't print
254 transaction_safe in C++.
255
c0999a5d 2562015-10-02 Marek Polacek <polacek@redhat.com>
257
258 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
259
ef17a71a 2602015-10-02 Marek Polacek <polacek@redhat.com>
261
262 PR c/64249
263 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
264 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
265 * c.opt (Wduplicated-cond): New option.
266
05b84e7b 2672015-10-01 Joseph Myers <joseph@codesourcery.com>
268
269 * c.opt (std=c11): Do not describe as experimental.
270 (std=gnu11): Likewise.
271 (std=iso9899:2011): Likewise.
272
e561d5e1 2732015-09-28 Nathan Sidwell <nathan@codesourcery.com>
274
275 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
276 (DEF_FUNCTION_TYPE_VAR_11): Delete.
277
bd4b90d2 2782015-09-25 Marek Polacek <polacek@redhat.com>
279
280 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
281 (ubsan_instrument_shift): Likewise.
282
ac13b2b2 2832015-09-25 Marek Polacek <polacek@redhat.com>
284
285 PR sanitizer/64906
286 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
287
a3c82f4c 2882015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
289
290 * c-indentation.c (should_warn_for_misleading_indentation):
291 Compare next_stmt_vis_column with guard_line_first_nws instead
292 of with guard_line_vis_column.
293
5eef101d 2942015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
295
296 PR c/49654
297 PR c/49655
298 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
299 options and options not valid for the current language.
300
60897493 3012015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
302
303 * c-indentation.c (should_warn_for_misleading_indentation):
304 Float out and consolidate the calls to get_visual_column that
305 are passed guard_exploc as an argument. Compare
306 next_stmt_vis_column with guard_line_first_nws instead of with
307 body_line_first_nws.
308
85c93154 3092015-09-22 Nathan Sidwell <nathan@codesourcery.com>
310
311 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
312 Wnamespaces): New C++ warnings.
313
229a58b1 3142015-09-22 Jason Merrill <jason@redhat.com>
315
316 * c-common.h (abi_compat_version_crosses): New.
317 (warn_abi_version): Declare.
318 * c-common.c: Define it.
319 * c-opts.c (c_common_post_options): Handle it.
320 flag_abi_compat_version defaults to 8.
321
2d2de569 3222015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
323
324 Complete the implementation of N4230, Nested namespace definition.
325 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
326 __cpp_nested_namespace_definitions.
327
2b897e68 3282015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
329
330 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
331
ed536208 3322015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
333
334 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
335 when warning.
336 * c-pragma.h (pragma_lex): Add optional loc argument.
337
1dc6c44d 3382015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
339
340 * c-format.c (check_format_arg): Adjust to use common block size in all
341 object pools.
342
be812248 3432015-09-15 David Malcolm <dmalcolm@redhat.com>
344
345 * c-format.c (location_from_offset): Update for change in
346 signature of location_get_source_line.
347 * c-indentation.c (get_visual_column): Likewise.
348 (line_contains_hash_if): Likewise.
349
e4cc057f 3502015-09-14 Marek Polacek <polacek@redhat.com>
351
352 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
353 setting various warnings.
354
85f5e2ee 3552015-09-14 Marek Polacek <polacek@redhat.com>
356
357 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
358 a negative value.
359
1bca8cbd 3602015-09-11 Mark Wielaard <mjw@redhat.com>
361
362 PR c/28901
363 * c.opt (Wunused-variable): Option from common.opt.
364 (Wunused-const-variable): New option.
365
ee48893a 3662015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
367
368 PR c++/53184
369 * c.opt ([Wsubobject-linkage]): Add.
370
547c6b1f 3712015-09-03 Martin Sebor <msebor@redhat.com>
372
373 PR c/66516
374 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
375 functions.
376 * c-common.c (reject_gcc_builtin): Define.
377
7e976b10 3782015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
379
380 PR middle-end/60586
381 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
382 prototype.
383 * c-gimplify.c (c_gimplify_expr): Added a call to the function
384 cilk_gimplify_call_params_in_spawned_fn.
385 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
386 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
387 unwrapping.
388
9e6bcade 3892015-08-25 Marek Polacek <polacek@redhat.com>
390
391 PR middle-end/67330
392 * c-common.c (handle_weak_attribute): Don't check whether the
393 visibility can be changed here.
394
af9de21d 3952015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
396
397 * c-lex.c (c_lex_with_flags): Use explicit locations.
398
6dc50383 3992015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
400
401 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
402 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
403
10902624 4042015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
405
406 PR middle-end/36757
407 * c-common.c (check_builtin_function_arguments): Add check
408 for BUILT_IN_SIGNBIT argument.
409
a03a71ab 4102015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
411
412 PR c++/67160
413 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
414 in c++1z mode.
415
22723c26 4162015-08-17 Marek Polacek <polacek@redhat.com>
417
418 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
419 with whitespaces before qualifier names.
420
f4809955 4212015-08-12 Marek Polacek <polacek@redhat.com>
422
423 PR c++/55095
424 * c-common.c (maybe_warn_shift_overflow): Properly handle
425 left-shifting 1 into the sign bit.
426
5463f502 4272015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
428
429 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
430
56c12fd4 4312015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
432 Braden Obrzut <admin@maniacsvault.net>
433 Jason Merrill <jason@redhat.com>
434
435 Add C++ Concepts TS support.
436 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
437 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
438 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
439 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
440 * c-opts.c (set_std_cxx1z): Set flag_concepts.
441 * c.opt (fconcepts): New.
442
17afcef6 4432015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
444
445 * c-indentation.c (should_warn_for_misleading_indentation):
446 Improve heuristics.
447
f95bfdd4 4482015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
449
450 * c-indentation.c (get_visual_column): Add parameter first_nws,
451 use it. Update comment documenting the function.
452 (is_first_nonwhitespace_on_line): Remove.
453 (should_warn_for_misleading_indentation): Replace usage of
454 of is_first_nonwhitespace_on_line with get_visual_column.
455
9255be07 4562015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
457
458 * c-indentation.h (struct token_indent_info): Define.
459 (get_token_indent_info): Define.
460 (warn_for_misleading_information): Declare.
461 * c-common.h (warn_for_misleading_information): Remove.
462 * c-identation.c (warn_for_misleading_indentation):
463 Change declaration to take three token_indent_infos. Adjust
464 accordingly.
465 * c-identation.c (should_warn_for_misleading_indentation):
466 Likewise. Bail out early if the body is a compound statement.
467 (guard_tinfo_to_string): Define.
468
e880695c 4692015-07-30 Jason Merrill <jason@redhat.com>
470
471 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
472 '*' for reference decay.
473
f58dd84b 4742015-07-30 Marek Polacek <polacek@redhat.com>
475
476 * c-common.c (warn_tautological_cmp): Bail for float types.
477
d9e4fe27 4782015-07-27 Marek Polacek <polacek@redhat.com>
479
480 PR bootstrap/67030
481 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
482
6784a472 4832015-07-27 Marek Polacek <polacek@redhat.com>
484
485 PR c++/66555
486 PR c/54979
487 * c-common.c (find_array_ref_with_const_idx_r): New function.
488 (warn_tautological_cmp): New function.
489 * c-common.h (warn_tautological_cmp): Declare.
490 * c.opt (Wtautological-compare): New option.
491
08034975 4922015-07-23 Marek Polacek <polacek@redhat.com>
493
494 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
495 (ubsan_instrument_shift): Likewise.
496
f6f5e49b 4972015-07-23 Marek Polacek <polacek@redhat.com>
498
499 PR sanitizer/66908
500 * c-ubsan.c: Include gimplify.h.
501 (ubsan_instrument_division): Unshare OP0 and OP1.
502 (ubsan_instrument_shift): Likewise.
503
8d669e79 5042015-07-20 Marek Polacek <polacek@redhat.com>
505 Richard Sandiford <richard.sandiford@arm.com>
506
507 PR c++/55095
508 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
509 Use EXPR_LOC_OR_LOC.
510 (maybe_warn_shift_overflow): New function.
511 * c-common.h (maybe_warn_shift_overflow): Declare.
512 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
513 * c.opt (Wshift-overflow): New option.
514
e16712b1 5152015-07-16 Martin Liska <mliska@suse.cz>
516
517 * c-format.c (static void check_format_info_main): Use
518 object_allocator instead of pool_allocator.
519 (check_format_arg): Likewise.
520 (check_format_info_main): Likewise.
521
e51764ad 5222015-07-15 Andrew MacLeod <amacleod@redhat.com>
523
524 * c-opts.c: Remove multiline #include comment.
525
47ae02b7 5262015-07-12 Aldy Hernandez <aldyh@redhat.com>
527
528 * c-common.c: Fix double word typos.
529
ed2b2eb2 5302015-07-10 Eric Botcazou <ebotcazou@adacore.com>
531
532 * c-ada-spec.h (cpp_operation): Revert latest change.
533 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
534 constructors and destructors.
535
1eacc14a 5362015-07-09 Andrew MacLeod <amacleod@redhat.com>
537
538 * c-common.h: Adjust includes for flags.h changes.
539 * stub-objc.c: Likewise.
47ae02b7 540
0124237f 5412015-07-08 Eric Botcazou <ebotcazou@adacore.com>
542
543 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
544 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
545
386ef929 5462015-07-08 Jakub Jelinek <jakub@redhat.com>
547
548 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
549 are to be removed, return NULL rather than original clauses list.
550
9ef16211 5512015-07-07 Andrew MacLeod <amacleod@redhat.com>
552
553 * array-notation-common.c: Adjust includes.
554 * c-ada-spec.c: Likewise.
555 * c-cilkplus.c: Likewise.
556 * c-common.h: Likewise.
557 * c-cppbuiltin.c: Likewise.
558 * c-dump.c: Likewise.
559 * c-format.c: Likewise.
560 * c-gimplify.c: Likewise.
561 * c-indentation.c: Likewise.
562 * c-lex.c: Likewise.
563 * c-omp.c: Likewise.
564 * c-opts.c: Likewise.
565 * c-pch.c: Likewise.
566 * c-ppoutput.c: Likewise.
567 * c-pragma.c: Likewise.
568 * c-pretty-print.c: Likewise.
569 * c-semantics.c: Likewise.
570 * c-ubsan.c: Likewise.
571 * cilk.c: Likewise.
572 * stub-objc.c: Likewise.
573
67ede3e4 5742015-07-07 Eric Botcazou <ebotcazou@adacore.com>
575
576 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
577 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
578
42af8c2a 5792015-07-01 Jason Merrill <jason@redhat.com>
580
fa769cc5 581 * c-common.h (D_CXX11): Rename from D_CXX0X.
582 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
583 * c-common.c: Adjust.
584
97e9c847 585 * c-opts.c (c_common_post_options): Default to C++14.
586
42af8c2a 587 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
588
30b1ba42 5892015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
590
591 Implement N4197 - Adding u8 character literals
95858835 592 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
593 CPP_CHAR.
594 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
595 CPP_UTF8CHAR_USERDEF tokens.
596 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
597 and CPP_UTF8CHAR tokens.
598 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 599
0949f227 6002015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
601
602 PR fortran/66605
603 * c-common.c (do_warn_unused_parameter): Move here.
604 * c-common.h (do_warn_unused_parameter): Declare.
605
be23b16f 6062015-06-29 Marek Polacek <polacek@redhat.com>
607
608 PR c/66322
609 * c-common.c (check_case_bounds): Add bool * parameter. Set
610 OUTSIDE_RANGE_P.
611 (c_add_case_label): Add bool * parameter. Pass it down to
612 check_case_bounds.
613 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
614 warning here.
615 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
616 declarations.
617
6290f0db 6182015-06-27 Marek Polacek <polacek@redhat.com>
619
620 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
621 or VECTOR_INTEGER_TYPE_P throughout.
622 * c-gimplify.c: Likewise.
623
aa3e402e 6242015-06-26 Marek Polacek <polacek@redhat.com>
625
626 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
627 * c-common.c (c_fully_fold_internal): Likewise.
628 (c_alignof_expr): Likewise.
629 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
630 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 631 * cilk.c (create_parm_list): Likewise.
aa3e402e 632
4e81b384 6332015-06-26 Marek Polacek <polacek@redhat.com>
634
635 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
636
ec2e0095 6372015-06-25 Andrew MacLeod <amacleod@redhat.com>
638
639 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
640 * c-gimplify.c: Likewise.
641 * c-pragma.c: Likewise.
642 * c-ubsan.c: Likewise.
643 * cilk.c: Likewise.
644
b594087e 6452015-06-25 Richard Sandiford <richard.sandiford@arm.com>
646
647 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
648 ggc_hasher.
649
a3c76fda 6502015-06-25 Andrew MacLeod <amacleod@redhat.com>
651
652 * cilk.c: Move calls.h after tm.h in the include chain.
653
f48c7f4a 6542015-06-25 Marek Polacek <polacek@redhat.com>
655
656 * array-notation-common.c: Use VAR_P throughout.
657 * c-ada-spec.c: Likewise.
658 * c-common.c: Likewise.
659 * c-format.c: Likewise.
660 * c-gimplify.c: Likewise.
661 * c-omp.c: Likewise.
662 * c-pragma.c: Likewise.
663 * c-pretty-print.c: Likewise.
664 * cilk.c: Likewise.
665
ce41e81a 6662015-06-25 Marek Polacek <polacek@redhat.com>
667
668 * cilk.c (extract_free_variables): Use is_global_var.
669
de231ec2 6702015-06-23 Richard Sandiford <richard.sandiford@arm.com>
671
672 * c-common.c: Don't include target-def.h.
673
0200602e 6742015-06-23 Marek Polacek <polacek@redhat.com>
675
676 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
677 when comparing INTEGER_CSTs.
678
99838ed7 6792015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
680
681 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
682 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
683 (dump_ada_template): Skip partially specialized types.
684
a4f59596 6852015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
686
687 * c-common.c (scalar_to_vector): Use std::swap instead of manually
688 swapping.
689
f2ab3bac 6902015-06-17 Andrew MacLeod <amacleod@redhat.com>
691
692 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
693 * c-ada-spec.c: Likewise.
694 * c-cilkplus.c: Likewise.
695 * c-common.c: Likewise.
696 * c-common.h: Likewise.
697 * c-cppbuiltin.c: Likewise.
698 * c-dump.c: Likewise.
699 * c-format.c: Likewise.
700 * c-gimplify.c: Likewise.
701 * c-indentation.c: Likewise.
702 * c-lex.c: Likewise.
703 * c-omp.c: Likewise.
704 * c-opts.c: Likewise.
705 * c-pch.c: Likewise.
706 * c-ppoutput.c: Likewise.
707 * c-pragma.c: Likewise.
708 * c-pretty-print.c: Likewise.
709 * c-semantics.c: Likewise.
710 * c-ubsan.c: Likewise.
711 * cilk.c: Likewise.
712 * stub-objc.c: Likewise.
713
db3d1ffc 7142015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
715
716 PR c++/65168
717 * c-common.c (c_common_truthvalue_conversion): Warn when
718 converting an address of a reference to a truth value.
719
64486212 7202015-06-08 Andrew MacLeod <amacleod@redhat.com>
721
722 * array-notation-common.c : Adjust include files.
723 * c-ada-spec.c : Likewise.
724 * c-cilkplus.c : Likewise.
725 * c-common.c : Likewise.
726 * c-common.h : Likewise.
727 * c-cppbuiltin.c : Likewise.
728 * c-dump.c : Likewise.
729 * c-format.c : Likewise.
730 * c-gimplify.c : Likewise.
731 * c-indentation.c : Likewise.
732 * c-lex.c : Likewise.
733 * c-omp.c : Likewise.
734 * c-opts.c : Likewise.
735 * c-pch.c : Likewise.
736 * c-ppoutput.c : Likewise.
737 * c-pragma.c : Likewise.
738 * c-pretty-print.c : Likewise.
739 * c-semantics.c : Likewise.
740 * c-ubsan.c : Likewise.
741 * cilk.c : Likewise.
742 * stub-objc.c : Likewise.
743
6e84ccad 7442015-06-08 Marek Polacek <polacek@redhat.com>
745
746 PR c/66415
747 * c-format.c (location_from_offset): Return LOC if LINE is null.
748
3a1c9df2 7492015-06-05 Aldy Hernandez <aldyh@redhat.com>
750
751 * c-common.h (c_parse_final_cleanups): New prototype.
752 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
753
f77c0292 7542015-06-04 Andrew MacLeod <amacleod@redhat.com>
755
756 * array-notation-common.c: Adjust includes for restructured coretypes.h.
757 * c-ada-spec.c: Likewise.
758 * c-cilkplus.c: Likewise.
759 * c-common.c: Likewise.
760 * c-common.h: Likewise.
761 * c-cppbuiltin.c: Likewise.
762 * c-dump.c: Likewise.
763 * c-format.c: Likewise.
764 * c-gimplify.c: Likewise.
765 * c-indentation.c: Likewise.
766 * c-lex.c: Likewise.
767 * c-omp.c: Likewise.
768 * c-opts.c: Likewise.
769 * c-pch.c: Likewise.
770 * c-ppoutput.c: Likewise.
771 * c-pragma.c: Likewise.
772 * c-pretty-print.c: Likewise.
773 * c-semantics.c: Likewise.
774 * c-ubsan.c: Likewise.
775 * cilk.c: Likewise.
776 * stub-objc.c: Likewise.
777
7c62dfbb 7782015-06-02 David Malcolm <dmalcolm@redhat.com>
779
780 PR c/66220:
781 * c-indentation.c (should_warn_for_misleading_indentation): Use
782 expand_location rather than expand_location_to_spelling_point.
783 Don't warn if the guarding statement is more indented than the
784 next/body stmts.
785
9af7c176 7862015-06-02 David Malcolm <dmalcolm@redhat.com>
787
788 * c-indentation.c (warn_for_misleading_indentation): Bail out
789 immediately if -Wmisleading-indentation isn't enabled.
790
eebcf436 7912015-06-01 Martin Liska <mliska@suse.cz>
792
793 * c-format.c (check_format_arg):Use new type-based pool allocator.
794 (check_format_info_main) Likewise.
795
b0a23e2f 7962015-05-31 Eric Botcazou <ebotcazou@adacore.com>
797
798 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
799 (has_nontrivial_methods): Likewise.
800
63dc1330 8012015-05-25 Marek Polacek <polacek@redhat.com>
802
803 * c-ubsan.c (ubsan_instrument_shift): Use type0.
804
5a4c69dd 8052015-05-22 Marek Polacek <polacek@redhat.com>
806
807 PR c/47043
808 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
809
044580bb 8102015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 811
812 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
813 STACK_GROWS_DOWNWARD.
814
044580bb 8152015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 816
817 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
818 STACK_GROWS_DOWNWARD rather than if it is defined.
819
d5a2ddc7 8202015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 821
d5a2ddc7 822 PR c/52952
823 * c-format.c (location_column_from_byte_offset): New.
824 (location_from_offset): New.
825 (struct format_wanted_type): Add offset_loc field.
826 (check_format_info): Move handling of location for extra arguments
827 closer to the point of warning.
828 (check_format_info_main): Pass the result of location_from_offset
829 to warning_at.
830 (format_type_warning): Pass the result of location_from_offset
831 to warning_at.
832
72f8014e 8332015-05-20 Marek Polacek <polacek@redhat.com>
834
835 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
836
74efe522 8372015-05-20 Marek Polacek <polacek@redhat.com>
838
839 * c-ada-spec.c (dump_sloc): Use DECL_P.
840
b443c459 8412015-05-20 Marek Polacek <polacek@redhat.com>
842
843 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
844 * c-common.c: Likewise.
845
551e34da 8462015-05-19 David Malcolm <dmalcolm@redhat.com>
847
848 * c-common.h (fe_file_change): Strengthen param from
849 const line_map * to const line_map_ordinary *.
850 (pp_file_change): Likewise.
851 * c-lex.c (fe_file_change): Likewise.
852 (cb_define): Use linemap_check_ordinary when invoking
853 SOURCE_LINE.
854 (cb_undef): Likewise.
855 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
856 invoking cb_file_change.
857 (c_finish_options): Likewise.
858 (push_command_line_include): Likewise.
859 (cb_file_change): Strengthen param "new_map" from
860 const line_map * to const line_map_ordinary *.
861 * c-ppoutput.c (cb_define): Likewise for local "map".
862 (pp_file_change): Likewise for param "map" and local "from".
863
dfcf26a5 8642015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
865
866 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
867
2e474820 8682015-05-18 Tom de Vries <tom@codesourcery.com>
869
870 * c-common.c (build_va_arg_1): New function.
871 (build_va_arg): Add address operator to va_list operand if necessary.
872
e53013a8 8732015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
874
875 PR c/48956
876 * c-common.c (int_safely_convertible_to_real_p): Define.
877 (unsafe_conversion_p): Check conversions involving complex types.
878 (conversion_warning): Add new warning message for conversions which
879 discard imaginary component.
880 * c-common.h: (enum conversion_safety): Add new enumerator for such
881 conversions.
882
aac24642 8832015-05-14 Marek Polacek <polacek@redhat.com>
884
885 PR c/66066
886 PR c/66127
887 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
888 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
889 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
890 use it. If FOR_INT_CONST, require that all evaluated operands be
891 INTEGER_CSTs.
892
e5f01cba 8932015-05-12 David Malcolm <dmalcolm@redhat.com>
894
895 * c-common.h (warn_for_misleading_indentation): New prototype.
896 * c-indentation.c: New file.
897 * c.opt (Wmisleading-indentation): New option.
898
c37be9ec 8992015-05-12 Tom de Vries <tom@codesourcery.com>
900
901 PR tree-optimization/66010
902 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
903
7290114b 9042015-05-09 Jason Merrill <jason@redhat.com>
905
3c665566 906 * c-opts.c (c_common_post_options): Also clear
907 cpp_opts->cpp_warn_cxx11_compat.
908
d875b9d2 909 * c-common.h (enum cxx_dialect): Add cxx_unset.
910 * c-common.c (cxx_dialect): Initialize to cxx_unset.
911 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
912
7290114b 913 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
914 (std=gnu++0x): Mark as Undocumented.
915 (std=gnu++1y): Add deprecated message.
916
1b03cc89 9172015-05-08 Jason Merrill <jason@redhat.com>
918
1c5f7aba 919 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
920 * c-opts.c: Adjust.
921
1b03cc89 922 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
923
dc5945dc 9242015-05-08 Marek Polacek <polacek@redhat.com>
925
926 PR c/64918
927 * c.opt (Woverride-init-side-effects): New option.
928
cdc64059 9292015-05-07 Marek Polacek <polacek@redhat.com>
930
931 PR c/65179
932 * c-common.c (c_fully_fold_internal): Warn when left shifting a
933 negative value.
934 * c.opt (Wshift-negative-value): New option.
935 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
936 when -Wextra and C99/C++11 mode.
937
8cafe283 9382015-05-07 Marek Polacek <polacek@redhat.com>
939 Martin Uecker <uecker@eecs.berkeley.edu>
940
941 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
942 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
943
cb40a6f7 9442015-05-05 Jason Merrill <jason@redhat.com>
945
946 * c.opt (Wterminate): New.
947
14744a16 9482015-04-30 Marek Polacek <polacek@redhat.com>
949
950 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
951 require that the non-constant be of a boolean type.
952
9866562d 9532015-04-29 Josh Triplett <josh@joshtriplett.org>
954
8cafe283 955 * c-common.c (handle_section_attribute): Refactor to reduce
956 nesting and distinguish between error cases.
9866562d 957
a720ab1c 9582015-04-29 Marek Polacek <polacek@redhat.com>
959
960 PR c/64610
961 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
962 with 0/1.
963
8c072e52 9642015-04-29 Jakub Jelinek <jakub@redhat.com>
965
966 * c-common.h (omp_clause_mask): Unconditionally define as a class.
967 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
968 HOST_BITS_PER_WIDE_INT.
969
f7fec1c7 9702015-04-28 Tom de Vries <tom@codesourcery.com>
971
972 PR tree-optimization/65887
973 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
974
483b3d26 9752015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 976 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 977
978 * c-ada-spec.c (in_function): Delete.
979 (dump_generic_ada_node): Do not change in_function and remove the
980 redundant code dealing with it.
981 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
982 (print_ada_methods): Output the static member functions in a nested
983 package after the regular methods as well as associated renamings.
984
f11bdffb 9852015-04-24 Marek Polacek <polacek@redhat.com>
986
987 PR c/65830
988 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
989 and OPT_Wshift_count_overflow.
990
485f6b9c 991 PR c/63357
992 * c-common.c (warn_logical_operator): Warn if the operands have the
993 same expressions.
994
439606a9 9952015-04-24 Marek Polacek <polacek@redhat.com>
996
997 PR c/61534
998 * c-common.c (warn_logical_operator): Bail if either operand comes
999 from a macro expansion.
1000
de801c28 10012015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1002
1003 PR target/55143
1004 * c-common.c (c_default_pointer_mode): Add definition.
1005 * c-common.h (c_default_pointer_mode): Add declaration.
1006
76738f56 10072015-03-11 Jakub Jelinek <jakub@redhat.com>
1008
1009 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1010 on record_builtin_type argument.
1011
16f958b3 10122015-03-10 Jakub Jelinek <jakub@redhat.com>
1013
1014 PR c/65120
1015 * c-common.c (warn_logical_not_parentheses): Don't warn for
1016 !x == 0 or !x != 0.
1017
9b22f73f 10182015-03-07 Marek Polacek <polacek@redhat.com>
1019
1020 PR sanitizer/65280
1021 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1022 before trying to figure out whether we have a flexible array member.
1023
a864b7d4 10242015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1025 Jonathan Wakely <jwakely.gcc@gmail.com>
1026
1027 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1028
9bf8c90b 10292015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1030
1031 PR ada/65319
1032 * c-ada-spec.c (print_destructor): Remove obsolete code.
1033
037ac54f 10342015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1035
1036 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1037 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1038 DECL_TEMPLATE_RESULT emulations.
1039 (dump_ada_template)): Add guard for TYPE_METHODS.
1040
495cbfb8 10412015-02-27 Marek Polacek <polacek@redhat.com>
1042
1043 PR c/65040
1044 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1045
688a864e 10462015-02-27 Kai Tietz <ktietz@redhat.com>
1047
1048 PR c/35330
1049 * c-pragma.c (handle_pragma_weak): Do not try to create
1050 weak/alias of declarations not being function, or variable
1051 declarations.
1052
6349b8cc 10532015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1054
1055 PR libgomp/64625
1056 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1057 Remove macros.
1058 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1059
3afd5369 10602015-02-16 Marek Polacek <polacek@redhat.com>
1061
1062 PR c/65066
1063 * c-format.c (check_format_types): Handle null param.
1064
46173d1b 10652015-02-13 Marek Polacek <polacek@redhat.com>
1066
1067 PR c/65040
1068 * c-format.c (check_format_types): Don't warn about different
1069 signedness if the original value is in the range of WANTED_TYPE.
1070
1d524ff7 10712015-02-12 Jason Merrill <jason@redhat.com>
1072
1073 PR c++/64956
1074 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1075 to the current highest version.
1076 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1077
bbf8fbec 10782015-02-04 Jakub Jelinek <jakub@redhat.com>
1079
1080 PR c/64824
1081 PR c/64868
1082 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1083 instead of RDIV_EXPR. Use build_binary_op instead of
1084 build2_loc.
1085
c05be867 10862015-01-30 Joseph Myers <joseph@codesourcery.com>
1087
1088 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1089 to pass input_location as first argument.
1090
85977647 10912015-01-23 Tom de Vries <tom@codesourcery.com>
1092
1093 PR libgomp/64672
1094 * c.opt (fopenacc): Mark as LTO option.
1095
fa175926 10962015-01-23 Tom de Vries <tom@codesourcery.com>
1097
1098 PR libgomp/64707
1099 * c.opt (fopenmp): Mark as LTO option.
1100
20aad5ba 11012015-01-21 Jakub Jelinek <jakub@redhat.com>
1102
1103 PR c/63307
8204c077 1104 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1105 (compare_decls): Fix up formatting.
1106
11072015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1108
1109 PR c/63307
1110 * cilk.c: Include vec.h.
1111 (struct cilk_decls): New structure.
1112 (wrapper_parm_cb): Split this function to...
1113 (fill_decls_vec): ...this...
1114 (create_parm_list): ...and this.
1115 (compare_decls): New function.
1116 (for_local_cb): Remove.
1117 (wrapper_local_cb): Ditto.
1118 (build_wrapper_type): For now first traverse and fill vector of
1119 declarations then sort it and then deal with sorted vector.
1120 (cilk_outline): Ditto.
1121 (declare_one_free_variable): Ditto.
1122
60b77e28 11232015-01-21 Jason Merrill <jason@redhat.com>
1124
1125 PR c++/64629
1126 * c-format.c (check_format_arg): Call decl_constant_value.
1127
85fbea97 11282015-01-19 Martin Liska <mliska@suse.cz>
1129
1130 * c-common.c (handle_noicf_attribute): New function.
1131
ca4c3545 11322015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1133 Bernd Schmidt <bernds@codesourcery.com>
1134 James Norris <jnorris@codesourcery.com>
1135 Cesar Philippidis <cesar@codesourcery.com>
1136 Ilmir Usmanov <i.usmanov@samsung.com>
1137 Jakub Jelinek <jakub@redhat.com>
1138
1139 * c.opt (fopenacc): New option.
1140 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1141 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1142 New macros.
1143 * c-common.h (c_finish_oacc_wait): New prototype.
1144 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1145 (c_finish_oacc_wait): New function.
1146 * c-pragma.c (oacc_pragmas): New variable.
1147 (c_pp_lookup_pragma, init_pragma): Handle it.
1148 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1149 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1150 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1151 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1152 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1153 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1154 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1155 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1156 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1157 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1158 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1159 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1160 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1161 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1162 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1163 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1164 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1165 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1166 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1167 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1168 PRAGMA_OACC_CLAUSE_WORKER.
1169
947aa916 11702015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1171
1172 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1173 for the new option fstack-protector_explicit.
1174 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1175 (handle_stack_protect_attribute): New function.
1176
e4fd7af1 11772015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1178
1179 * c.opt: New option -Warray-bounds=.
1180
1f78217c 11812015-01-09 Michael Collison <michael.collison@linaro.org>
1182
1183 * array-notation-common.c: Include hash-set.h, machmode.h,
1184 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1185 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1186 * c-ada-spec.c: Ditto.
1187 * c-cilkplus.c: Ditto.
1188 * c-common.c: Include input.h due to flattening of tree.h.
1189 Define macro GCC_C_COMMON_C.
1190 * c-common.h: Flatten tree.h header files into c-common.h.
1191 Remove include of tree-core.h.
1192 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1193 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1194 fold-const.h, wide-int.h, and inchash.h due to
1195 flattening of tree.h.
1196 * c-dump.c: Ditto.
1197 * c-format.c: Flatten tree.h header files into c-common.h.
1198 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1199 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1200 fold-const.h, wide-int.h, and inchash.h due to
1201 flattening of tree.h.
1202 * c-dump.c: Include hash-set.h, machmode.h,
1203 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1204 fold-const.h, wide-int.h, and inchash.h due to
1205 flattening of tree.h.
1206 * c-format.c: Include hash-set.h, machmode.h,
1207 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1208 fold-const.h, wide-int.h, inchash.h and real.h due to
1209 flattening of tree.h.
1210 * c-gimplify.c: Include hash-set.h, machmode.h,
1211 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1212 fold-const.h, wide-int.h, and inchash.h due to
1213 flattening of tree.h.
1214 * cilk.c: Ditto.
1215 * c-lex.c: Ditto.
1216 * c-omp.c: Ditto.
1217 * c-opts.c: Ditto.
1218 * c-pch.c: Ditto.
1219 * c-ppoutput.c: Ditto.
1220 * c-pragma.c: Ditto.
1221 * c-pretty-print.c: Ditto.
1222 * c-semantics.c: Ditto.
1223 * c-ubsan.c: Ditto.
1224 * stub-objc.c: Ditto.
1225
411b7663 12262015-01-08 Jason Merrill <jason@redhat.com>
1227
1228 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1229 do_ubsan_in_current_function.
1230 (ubsan_maybe_instrument_reference_or_call): Likewise.
1231 * c-ubsan.h: Declare it.
1232
d1e96383 12332015-01-08 Mike Stump <mikestump@comcast.net>
1234
1235 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1236
b57910fa 12372015-01-07 Marek Polacek <polacek@redhat.com>
1238
1239 PR c/64440
1240 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1241 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1242
678a4e3e 12432015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1244
1245 PR c++/31397
1246 * c.opt (Wsuggest-override): New option.
1247
d353bf18 12482015-01-05 Jakub Jelinek <jakub@redhat.com>
1249
1250 Update copyright years.
1251
92b63884 12522015-01-05 Marek Polacek <polacek@redhat.com>
1253
1254 PR c/64423
1255 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1256 parameter. Use it.
1257 * c-common.h (warn_array_subscript_with_type_char): Update
1258 declaration.
1259
83715bc4 12602014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1261
1262 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1263 Control macro with flag_sized_deallocation.
1264
8a8211df 12652014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1266
1267 * c.opt (Wdiscarded-array-qualifiers): New option.
1268
33058239 12692014-12-19 Jakub Jelinek <jakub@redhat.com>
1270
1271 PR preprocessor/63831
1272 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1273 and __has_cpp_attribute here.
1274 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1275 c_common_has_attribute.
1276 * c-common.h (c_common_has_attribute): New prototype.
1277 * c-lex.c (init_c_lex): Set cb->has_attribute to
1278 c_common_has_attribute instead of cb_has_attribute.
1279 (get_token_no_padding): New function.
1280 (cb_has_attribute): Renamed to ...
1281 (c_common_has_attribute): ... this. No longer static. Use
1282 get_token_no_padding, require ()s, don't build TREE_LIST
1283 unnecessarily, fix up formatting, adjust diagnostics, call
1284 init_attributes.
1285
d1856d2c 12862014-12-15 Jason Merrill <jason@redhat.com>
1287
1288 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1289 (-Wsized-deallocation): New.
1290 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1291 to on in C++14 and up.
1292
4972ed5d 12932014-12-11 Jason Merrill <jason@redhat.com>
1294
7d7fa964 1295 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1296
4972ed5d 1297 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1298 we aren't complaining about VLAs.
1299
5ebccf71 13002014-12-06 Marek Polacek <polacek@redhat.com>
1301
1302 PR tree-optimization/64183
1303 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1304 shift-expression if it is integer_type_node. Use types_compatible_p.
1305
f9e245b2 13062014-11-29 Jakub Jelinek <jakub@redhat.com>
1307
1308 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1309 last argument from create_tmp_var_raw and create_tmp_var calls.
1310 * cilk.c (gimplify_cilk_spawn): Likewise.
1311 * c-omp.c (c_finish_omp_atomic): Likewise.
1312
d2f60593 13132014-11-28 Marek Polacek <polacek@redhat.com>
1314
1315 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1316 instead of unsigned_type_node.
1317
fce2dbd1 13182014-11-28 Marek Polacek <polacek@redhat.com>
1319
1320 PR c/63862
1321 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1322 to op1_utype.
1323 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1324 expression to unsigned_type_node.
1325
3a4a2292 13262014-11-20 Mark Wielaard <mjw@redhat.com>
1327
1328 PR debug/38757
1329 * c-opts.c (set_std_c89): Set lang_hooks.name.
1330 (set_std_c99): Likewise.
1331 (set_std_c11): Likewise.
1332 (set_std_cxx98): Likewise.
1333 (set_std_cxx11): Likewise.
1334 (set_std_cxx14): Likewise.
1335 (set_std_cxx1z): Likewise.
1336
c61ef207 13372014-11-21 Jakub Jelinek <jakub@redhat.com>
1338
1339 PR target/63764
1340 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1341 return type to bool.
c9ed79de 1342 * c-common.c: Include gimple-expr.h.
c61ef207 1343 (convert_vector_to_pointer_for_subscript): Change return type to
1344 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1345 and copy it into a TARGET_EXPR and use that instead of *vecp
1346 directly.
1347
1a91d914 13482014-11-19 David Malcolm <dmalcolm@redhat.com>
1349
1350 Merger of git branch "gimple-classes-v2-option-3".
1351 * ChangeLog.gimple-classes: New.
1352 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1353 from being just a vec<gimple> to a vec<gbind *>.
1354
f8fc8b8e 13552014-11-18 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR sanitizer/63813
1358 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1359 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1360 get_pointer_alignment for non-pointers. Use ptype, or if it is
1361 reference type, corresponding pointer type, as type of kind
1362 argument.
1363 (ubsan_maybe_instrument_reference,
1364 ubsan_maybe_instrument_member_call): Adjust callers.
1365
8315e35e 13662014-11-15 Marek Polacek <polacek@redhat.com>
1367
1368 PR middle-end/63884
1369 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1370 for NULL fndecl.
1371 (extract_array_notation_exprs): Return for NULL node.
1372
86b9f14b 13732014-11-12 Joseph Myers <joseph@codesourcery.com>
1374
1375 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1376 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1377
0c93c8a9 13782014-11-12 Jakub Jelinek <jakub@redhat.com>
1379
1380 PR c/59708
1381 * c-common.c (check_builtin_function_arguments): Handle
1382 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1383
fdd735a7 13842014-11-10 Andi Kleen <ak@linux.intel.com>
1385
1386 PR c/60804
1387 * c-common.h (check_no_cilk): Declare.
1388 * cilk.c (get_error_location): New function.
1389 (check_no_cilk): Dito.
1390
5cb678b4 13912014-11-10 Andi Kleen <ak@linux.intel.com>
1392
1393 * cilk.c (recognize_spawn): Use expression location
1394 for error message.
1395
0feb4de1 13962014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1397
1398 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1399
3aa2fa44 14002014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1401
1402 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1403 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1404 (__cpp_range_based_for, __cpp_initializer_lists,
1405 __cpp_delegating_constructors, __cpp_nsdmi,
1406 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1407 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1408 __has_cpp_attribute.
1409 * c-lex.c (cb_has_attribute): New callback CPP function;
1410 (init_c_lex): Set has_attribute callback.
1411
7fd22aae 14122014-11-04 Richard Biener <rguenther@suse.de>
1413
1414 * c-common.c (shorten_compare): Do not shorten mixed
1415 DFP and non-DFP compares.
1416
4af203ac 14172014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1418
1419 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1420 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1421 Commentary and rearrangement of tests.
1422 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1423 Commentary and rearrangement of tests.
1424 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1425 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1426
3754d046 14272014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1428
1429 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1430 enum from machine_mode.
1431
1140c305 14322014-10-28 Andrew MacLeod <amacleod@redhat.com>
1433
1f78217c 1434 * c-common.c: Adjust include files.
1435 * c-gimplify.c: Ditto.
1436 * cilk.c: Ditto.
1437 * c-pragma.c: Ditto.
1438 * c-ubsan.c: Ditto.
1140c305 1439
94ea8568 14402014-10-27 Andrew MacLeod <amacleod@redhat.com>
1441
1442 * c-gimplify.c: Adjust include files.
1443
32ecf960 14442014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1445
1446 PR c++/53061
1447 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1448 c_common_initialize_diagnostics.
1449 * c-common.h: Likewise.
1450
85fecbe2 14512014-10-24 Marek Polacek <polacek@redhat.com>
1452
1453 PR c/56980
1454 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1455 print "struct"/"union"/"enum" for typedefed names.
1456
e7ec033a 14572014-10-23 Marek Polacek <polacek@redhat.com>
1458
1459 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1460 in unsigned type.
1461
c2598081 14622014-10-22 Jakub Jelinek <jakub@redhat.com>
1463 Yury Gribov <y.gribov@samsung.com>
1464
1465 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1466 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1467 instead of flag_sanitize_recover as bool flag.
1468
acebb7e2 14692014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1470
1471 * cilk.c: Revert previous change.
1472
6115016c 14732014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1474
1475 PR c/63307
1476 * cilk.c: Include vec.h.
1477 (struct cilk_decls): New structure.
1478 (wrapper_parm_cb): Split this function to...
1479 (fill_decls_vec): ...this...
1480 (create_parm_list): ...and this.
1481 (compare_decls): New function.
1482 (for_local_cb): Remove.
1483 (wrapper_local_cb): Ditto.
1484 (build_wrapper_type): For now first traverse and fill vector of
1485 declarations then sort it and then deal with sorted vector.
1486 (cilk_outline): Ditto.
1487 (declare_one_free_variable): Ditto.
1488
e610d2b2 14892014-10-17 Marek Polacek <polacek@redhat.com>
1490
1491 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1492 * c.opt (Wimplicit-int): Initialize to -1.
1493
a3020f2f 14942014-10-16 Andrew MacLeod <amacleod@redhat.com>
1495
1496 * c-pragma.c: Adjust include files.
1497 * c-semantics.c: Likewise.
1498
926ddd2c 14992014-10-16 DJ Delorie <dj@redhat.com>
1500
1501 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1502 multiples of bytes.
1503
b0542e7c 15042014-10-14 Jason Merrill <jason@redhat.com>
1505
1506 PR c++/63455
1507 * c-common.h (CPP_PREPARSED_EXPR): New.
1508 (N_CP_TTYPES): Adjust.
1509
b2601928 15102014-10-15 Marek Polacek <polacek@redhat.com>
1511
1512 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1513
9f75f026 15142014-10-14 DJ Delorie <dj@redhat.com>
1515
1516 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1517 types, not just __int128.
1518 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1519 types, not just __int128.
1520 (cpp_atomic_builtins): Round pointer sizes up.
1521 (type_suffix): Use type precision, not specific types.
1522 * c-common.c (c_common_reswords): Remove __int128 special case.
1523 (c_common_type_for_size): Check for all __intN types, not just
1524 __int128.
1525 (c_common_type_for_mode): Likewise.
1526 (c_common_signed_or_unsigned_type): Likewise.
1527 (c_build_bitfield_integer_type): Likewise.
1528 (c_common_nodes_and_builtins): Likewise.
1529 (keyword_begins_type_specifier): Likewise.
1530 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1531 __intN variants.
1532
2ef51f0e 15332014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1534
1535 * c-common.c: Use hash_table instead of hashtab.
1536
5b8257e3 15372014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1538
1f78217c 1539 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1540 C++11 section.
1541
5e84569c 15422014-10-03 Marc Glisse <marc.glisse@inria.fr>
1543
1544 PR c++/54427
1545 PR c++/57198
1546 PR c++/58845
1547 * c-common.c (warn_logical_operator): Punt for vectors.
1548
f6751ff2 15492014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1550
1551 Implement SD-6: SG10 Feature Test Recommendations
1552 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1553 macros and the __has_header macro.
1554
c33e051d 15552014-09-30 Jason Merrill <jason@redhat.com>
1556
f76a9aa8 1557 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1558 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1559 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1560
717e52f9 1561 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1562 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1563
c33e051d 1564 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1565 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1566
5213d6c9 15672014-09-24 Marek Polacek <polacek@redhat.com>
1568
1569 PR c/61405
1570 PR c/53874
1571 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1572
6b722052 15732014-09-23 Andi Kleen <ak@linux.intel.com>
1574
1575 * c-common.c (handle_no_reorder_attribute): New function.
1576 (c_common_attribute_table): Add no_reorder attribute.
1577
0cb69d12 15782014-09-22 Joseph Myers <joseph@codesourcery.com>
1579
1580 * c-cppbuiltin.c (c_cpp_builtins): Define
1581 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1582 modes.
1583
168dfbf0 15842014-09-18 Joseph Myers <joseph@codesourcery.com>
1585
1586 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1587 for supported floating-point modes.
1588
b83705f4 15892014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1590
1591 * c.opt (Wpsabi): Use LangEnabledBy.
1592 * c-opts.c (c_common_handle_option): Do not handle here.
1593
d5957f0d 15942014-09-12 Joseph Myers <joseph@codesourcery.com>
1595
1596 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1597 macros for floating-point modes.
1598
bae6edff 15992014-09-11 Marc Glisse <marc.glisse@inria.fr>
1600
1601 PR target/58757
1602 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1603 __*_DENORM_MIN__ without denormals.
1604
73a69d02 16052014-09-10 Jakub Jelinek <jakub@redhat.com>
1606
1607 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1608 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1609 ubsan_create_data callers.
1610 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1611 index is constant or BIT_AND_EXPR with constant mask and is
1612 small enough for the bound.
1613 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1614 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1615
7ff8db31 16162014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1617
1618 * c.opt: Add CppReason to various flags.
1619 (Wdate-time): Re-sort.
1620 * c-common.c: Include c-common.h earlier.
1621 (struct reason_option_codes_t): Delete.
1622 (c_option_controlling_cpp_error): Prefix global type and struct
1623 with cpp_.
1624
bcc1f37e 16252014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1626
1627 * c.opt (Wnormalized): New.
1628 (Wnormalized=): Use Enum and Reject Negative.
1629 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1630
b660d3c6 16312014-09-08 Joseph Myers <joseph@codesourcery.com>
1632
1633 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1634 digits of floating-point modes if -fbuilding-libgcc.
1635
325b8c3c 16362014-09-05 Joseph Myers <joseph@codesourcery.com>
1637
1638 * c-cppbuiltin.c (c_cpp_builtins): Also define
1639 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1640 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1641 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1642 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1643 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1644 __LIBGCC_STACK_GROWS_DOWNWARD__,
1645 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1646 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1647 __LIBGCC_DWARF_FRAME_REGISTERS__,
1648 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1649 __LIBGCC_STACK_POINTER_REGNUM__ and
1650 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1651 (builtin_define_with_value): Handle backslash-escaping in string
1652 macro values.
1653
1e074e77 16542014-09-05 Richard Biener <rguenther@suse.de>
1655
1656 PR middle-end/63148
1657 * c-format.c (check_format_arg): Properly handle
1658 effectively signed POINTER_PLUS_EXPR offset.
1659
04afd878 16602014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1661
1662 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1663 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1664 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1665 and Init.
1666 * c-opts.c (c_common_handle_option): Do not handle here.
1667 (sanitize_cpp_opts): Likewise.
1668 * c-common.c (struct reason_option_codes_t): Handle
1669 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1670
a3f448f0 16712014-09-03 Marek Polacek <polacek@redhat.com>
1672
1673 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1674
40750995 16752014-09-02 Jakub Jelinek <jakub@redhat.com>
1676 Balaji V. Iyer <balaji.v.iyer@intel.com>
1677 Igor Zamyatin <igor.zamyatin@intel.com>
1678
1679 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1680 * c-common.c (c_common_reswords): Added _Cilk_for.
1681 * c-common.h (enum rid): Added RID_CILK_FOR.
1682 (cilk_for_number_of_iterations): Add declaration.
1683 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1684 CILK_FOR.
1685 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1686 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1687
f0fbe519 16882014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1689
1690 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1691 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1692 Wundef): Use CPP, Var and Init.
1693 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1694
a7d2e480 16952014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1696
1697 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1698 * c-opts.c (c_common_handle_option): Do not handle here.
1699
c35e53f1 17002014-08-25 Jason Merrill <jason@redhat.com>
1701
1702 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1703 -std=c++14 and -std=gnu++14, rather than the reverse.
1704 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1705 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1706 * c-common.h (cxx_dialect): Remove cxx1y.
1707
4e454776 17082014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1709
1710 * c-common.h (enum cxx_dialect): Add cxx14.
1711 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1712 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1713 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1714
af1a80f2 17152014-08-22 Jason Merrill <jason@redhat.com>
1716
1717 * c.opt (std=gnu++17): Fix alias.
1718
dc6229e8 17192014-08-22 Marek Polacek <polacek@redhat.com>
1720
1721 PR c++/62199
1722 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1723 check for vector types. Drop LHS argument.
1724 * c-common.h (warn_logical_not_parentheses): Adjust.
1725
ba7f7c88 17262014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1727
1728 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1729 (Wmultichar): Likewise.
1730 (Wdate-time): Use C-family languages instead of Common. Use CPP
1731 and Var.
1732 * c-opts.c (c_common_handle_option): Do not handle the above
1733 options here.
1734 (sanitize_cpp_opts): Likewise.
1735
399d4f80 17362014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1737
1738 PR fortran/44054
1739 * c-opts.c: Include tree-diagnostics.h.
1740 (c_diagnostic_finalizer): New.
1741 (c_common_initialize_diagnostics): Use it.
1742
1babed5f 17432014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1744
1745 PR preprocessor/51303
1746 * c-common.c (struct reason_option_codes_t option_codes):
1747 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1748
3636964b 17492014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1750
1751 PR c/60975
1752 PR c/53063
1753 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1754 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1755 (c_common_post_options): Call init_global_opts_from_cpp.
1756 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1757
78bf4156 17582014-08-19 Marek Polacek <polacek@redhat.com>
1759
1760 PR c++/62153
1761 * c-common.c (maybe_warn_bool_compare): New function.
1762 * c-common.h (maybe_warn_bool_compare): Declare.
1763 * c.opt (Wbool-compare): New option.
1764
508ea33a 17652014-08-19 Marek Polacek <polacek@redhat.com>
1766
1767 * c.opt (Wc99-c11-compat): New option.
1768
806fe15e 17692014-08-19 Marek Polacek <polacek@redhat.com>
1770
1771 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1772 to warn_c90_c99_compat.
1773 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1774 to -1.
1775
6c867de1 17762014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1777 Steven Bosscher <steven@gcc.gnu.org>
1778
1779 PR c/52952
1780 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1781 format_check_results.
1782 (check_function_format): Use true and add comment for boolean
1783 argument.
1784 (finish_dollar_format_checking): Use explicit location when warning.
1785 (check_format_info): Likewise.
1786 (check_format_arg): Set extra_arg_loc and format_string_loc.
1787 (check_format_info_main): Use explicit location when warning.
1788 (check_format_types): Pass explicit location.
1789 (format_type_warning): Likewise.
1790
dc8078a3 17912014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1792
1793 PR fortran/44054
1794 * c-format.c: Handle Fortran flags.
1795
d271ec7e 17962014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1797
1798 PR other/61962
1799 * array-notation-common.c (find_rank): Added handling for other
1800 types of references.
1801
890c2e2f 18022014-08-10 Marek Polacek <polacek@redhat.com>
1803
1804 PR c/51849
1805 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1806 * c.opt (Wc90-c99-compat): Add option.
1807
7149db5f 18082014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1809
1810 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1811
2d2f6a15 18122014-08-03 Marek Polacek <polacek@redhat.com>
1813
1814 * c-common.c (check_case_value): Add location_t parameter. Use it.
1815 (c_add_case_label): Pass loc to check_case_value.
1816
06ecf488 18172014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1818
1819 * cilk.c: Use hash_map instead of pointer_map.
1820
431205b7 18212014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1822
1823 * c-gimplify.c: Use hash_set instead of pointer_set.
1824
3394c80c 18252014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1826
1827 PR middle-end/61455
1828 * array-notation-common.c (extract_array_notation_exprs): Handling
1829 of DECL_EXPR added.
1830
392dee1e 18312014-08-01 Jakub Jelinek <jakub@redhat.com>
1832
1833 * c-common.h (min_align_of_type): Removed prototype.
1834 * c-common.c (min_align_of_type): Removed.
1835 * c-ubsan.h (ubsan_maybe_instrument_reference,
1836 ubsan_maybe_instrument_member_call): New prototypes.
1837 * c-ubsan.c: Include stor-layout.h and builtins.h.
1838 (ubsan_maybe_instrument_reference_or_call,
1839 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1840 functions.
1841
f22a2cb7 18422014-07-31 Marc Glisse <marc.glisse@inria.fr>
1843
1844 PR c++/60517
1845 * c.opt (-Wreturn-local-addr): Move to common.opt.
1846
87b0198f 18472014-07-30 Jason Merrill <jason@redhat.com>
1848
1849 PR c++/61659
1850 PR c++/61687
1851 Revert:
1852 * c.opt (-fuse-all-virtuals): New.
1853
74691f46 18542014-07-30 Tom Tromey <tromey@redhat.com>
1855
1856 PR c/59855
1857 * c.opt (Wdesignated-init): New option.
1858 * c-common.c (c_common_attribute_table): Add "designated_init".
1859 (handle_designated_init): New function.
1860
9140d56f 18612014-07-24 Marek Polacek <polacek@redhat.com>
1862
1863 PR c/57653
1864 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1865
a09c5cc2 18662014-07-16 Dodji Seketeli <dodji@redhat.com>
1867
1868 PR preprocessor/60723 - missing system-ness marks for macro tokens
1869 * c-ppoutput.c (struct print::prev_was_system_token): New data
1870 member.
1871 (init_pp_output): Initialize it.
1872 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1873 (do_line_change): Return a flag saying if a line marker was
1874 emitted or not.
1875 (scan_translation_unit): Detect if the system-ness of the token we
1876 are about to emit is different from the one of the previously
1877 emitted token. If so, emit a line marker. Avoid emitting useless
1878 adjacent line markers. Avoid emitting line markers for tokens
1879 originating from the expansion of built-in macros.
1880 (scan_translation_unit_directives_only): Adjust.
1881
2b25b62f 18822014-07-15 Marek Polacek <polacek@redhat.com>
1883
1884 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1885 TYPE_MAX_VALUE is NULL.
1886
305d96bc 18872014-07-14 Jakub Jelinek <jakub@redhat.com>
1888
1889 PR middle-end/61294
1890 * c.opt (Wmemset-transposed-args): New warning.
1891
8ea4660d 18922014-07-10 Jason Merrill <jason@redhat.com>
1893
1894 PR c++/61659
1895 PR c++/61687
1896 * c.opt (-fuse-all-virtuals): New.
1897
cd480f3d 18982014-07-09 Richard Biener <rguenther@suse.de>
1899
1900 PR c-family/61741
1901 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1902 using unsigned arithmetic if overflow does not wrap instead of
1903 if overflow is undefined.
1904
87d59e72 19052014-07-06 Marek Polacek <polacek@redhat.com>
1906
1907 PR c/6940
1908 * c.opt (Wsizeof-array-argument): New option.
1909
d69521d8 19102014-07-03 Jakub Jelinek <jakub@redhat.com>
1911
8204c077 1912 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 1913 comments->count <= 1, as comments->entries might be NULL.
1914
1207866e 19152014-07-01 Marek Polacek <polacek@redhat.com>
1916
1917 * c.opt (Wint-conversion): New option.
1918
7a6bbb76 19192014-07-01 Marek Polacek <polacek@redhat.com>
1920
1921 PR c/58286
1922 * c.opt (Wincompatible-pointer-types): New option.
1923
9d4eeb52 19242014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1925
1926 PR c++/51400
1927 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1928 Do not discard TYPE_QUALS of type.
1929
4b53bc0f 19302014-06-26 Jason Merrill <jason@redhat.com>
1931
1932 * c-common.h (enum cxx_dialect): Add cxx1z.
1933 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1934 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1935
a8a8d4ea 19362014-06-26 Teresa Johnson <tejohnson@google.com>
1937
1938 * c-common.h (get_dump_info): Declare.
1939 * c-gimplify.c (c_genericize): Use saved dump files.
1940 * c-opts.c (c_common_parse_file): Begin and end dumps
1941 once around parsing invocation.
1942 (get_dump_info): New function.
1943
1f6be080 19442014-06-23 Marek Polacek <polacek@redhat.com>
1945 Andrew MacLeod <amacleod@redhat.com>
1946
1947 PR c/61553
1948 * c-common.c (get_atomic_generic_size): Don't segfault if the
1949 type doesn't have a size.
1950
5ef6b660 19512014-06-20 Marek Polacek <polacek@redhat.com>
1952
1953 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1954 (ubsan_walk_array_refs_r): New function.
1955 (c_genericize): Instrument array bounds.
1956 * c-ubsan.c: Include "internal-fn.h".
1957 (ubsan_instrument_division): Mark instrumented arrays as having
1958 side effects. Adjust ubsan_type_descriptor call.
1959 (ubsan_instrument_shift): Likewise.
1960 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1961 (ubsan_instrument_bounds): New function.
1962 (ubsan_array_ref_instrumented_p): New function.
1963 (ubsan_maybe_instrument_array_ref): New function.
1964 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1965 (ubsan_array_ref_instrumented_p): Declare.
1966 (ubsan_maybe_instrument_array_ref): Declare.
1967
19682014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1969
1970 PR lto/61123
1971 * c.opt (fshort-enums): Add to LTO.
1972 * c.opt (fshort-wchar): Likewise.
1973
78438f31 19742014-06-16 Marek Polacek <polacek@redhat.com>
1975
1976 PR c/60439
1977 * c.opt (Wswitch-bool): Add Var.
1978
5fddcf34 19792014-06-12 Jakub Jelinek <jakub@redhat.com>
1980
1981 PR middle-end/61486
1982 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1983 #pragma omp target teams or
1984 #pragma omp {,target }teams distribute simd.
1985
74b777e5 19862014-06-12 Jason Merrill <jason@redhat.com>
1987
1988 * c.opt (Wabi=, fabi-compat-version): New.
1989 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1990 (c_common_post_options): Handle flag_abi_compat_version default.
1991 Disallow -fabi-compat-version=1.
1992 * c-common.h (abi_version_crosses): New.
1993
738a6bda 19942014-06-11 Jan Hubicka <hubicka@ucw.cz>
1995
1f78217c 1996 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1997 section names that are no longer trees.
1998
cf5f881f 19992014-06-10 Jakub Jelinek <jakub@redhat.com>
2000
2001 PR fortran/60928
2002 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2003 (omp_pragmas): ... back here.
2004
32dc1512 20052014-06-05 Marek Polacek <polacek@redhat.com>
2006
2007 PR c/49706
2008 * c-common.c (warn_logical_not_parentheses): New function.
2009 * c-common.h (warn_logical_not_parentheses): Declare.
2010 * c.opt (Wlogical-not-parentheses): New option.
2011
f61a9bc2 20122014-06-04 Marek Polacek <polacek@redhat.com>
2013
2014 PR c/30020
2015 * c-common.c (check_case_bounds): Add location parameter.
2016 Use it.
2017 (c_add_case_label): Pass loc to check_case_bounds.
2018
c69ec07d 20192014-06-03 Marek Polacek <polacek@redhat.com>
2020
2021 PR c/60439
2022 * c.opt (Wswitch-bool): New option.
2023
3c77ca67 20242014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2025
68a2c870 2026 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2027 Remove prototypes.
2028 (record_types_used_by_current_var_decl): Move prototype to where
2029 it belongs.
2030
3c77ca67 2031 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2032 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2033 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2034
3ab4693e 20352014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2036
2037 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2038 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2039 void_zero_node.
2040 * c-pretty-print.c (pp_c_void_constant): New function.
2041 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2042 (c_pretty_printer::expression): Handle VOID_CST.
2043 * cilk.c (extract_free_variables): Likewise.
2044 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2045 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2046
25a27413 20472014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2048
2049 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2050 * c-pragma.c (push_alignment): Adjust.
2051 (handle_pragma_push_options): Likewise.
2052
3e5a8b00 20532014-05-09 Marek Polacek <polacek@redhat.com>
2054
2055 PR c/50459
2056 * c-common.c (check_user_alignment): Return -1 if alignment is error
2057 node.
2058 (handle_aligned_attribute): Don't call default_conversion on
2059 FUNCTION_DECLs.
2060 (handle_vector_size_attribute): Likewise.
2061 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2062 (handle_sentinel_attribute): Call default_conversion and allow even
2063 integral types as an argument.
2064
c2c4ae8d 20652014-05-08 Marek Polacek <polacek@redhat.com>
2066
2067 PR c/61053
2068 * c-common.c (min_align_of_type): New function factored out from...
2069 (c_sizeof_or_alignof_type): ...here.
2070 * c-common.h (min_align_of_type): Declare.
2071
2026249a 20722014-05-08 Marek Polacek <polacek@redhat.com>
2073
2074 PR c/61077
2075 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2076 parameter type of main.
2077
33c8dcfe 20782014-05-07 DJ Delorie <dj@redhat.com>
2079
2080 * c-cppbuiltin.c (print_bits_of_hex): New.
2081 (builtin_define_type_minmax): Print values using hex so as not to
2082 require a pre-computed list of string values.
2083
960d5a55 20842014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2085 Mike Stump <mikestump@comcast.net>
2086 Richard Sandiford <rdsandiford@googlemail.com>
2087
2088 * c-ada-spec.c: Include wide-int.h.
2089 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2090 (dump_generic_ada_node): Use wide-int interfaces.
2091 * c-common.c: Include wide-int-print.h.
2092 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2093 (pointer_int_sum): Use wide-int interfaces.
2094 (c_common_nodes_and_builtins): Use make_int_cst.
2095 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2096 (handle_alloc_size_attribute): Use wide-int interfaces.
2097 (get_nonnull_operand): Likewise.
2098 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2099 * c-lex.c: Include wide-int.h.
2100 (narrowest_unsigned_type): Take a widest_int rather than two
2101 HOST_WIDE_INTs.
2102 (narrowest_signed_type): Likewise.
2103 (interpret_integer): Update accordingly. Use wide-int interfaces.
2104 (lex_charconst): Use wide-int interfaces.
2105 * c-pretty-print.c: Include wide-int.h.
2106 (pp_c_integer_constant): Use wide-int interfaces.
2107 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2108 INT_CST_LT_UNSIGNED.
2109
bbb88b31 21102014-05-06 Richard Biener <rguenther@suse.de>
2111
2112 * c-opts.c (c_common_post_options): For -freestanding,
2113 -fno-hosted and -fno-builtin disable pattern recognition
2114 if not enabled explicitely.
2115
022d4718 21162014-05-02 Marek Polacek <polacek@redhat.com>
2117
2118 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2119
e4ab2ef3 21202014-05-01 Marek Polacek <polacek@redhat.com>
2121
2122 PR c/43245
2123 * c.opt (Wdiscarded-qualifiers): Add.
2124
52cc0072 21252014-04-30 Marek Polacek <polacek@redhat.com>
2126
2127 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2128 INT_MIN / -1 sanitization only for integer types.
2129
4a026b48 21302014-04-25 Marek Polacek <polacek@redhat.com>
2131
2132 PR c/18079
2133 * c-common.c (handle_noinline_attribute): Warn if the attribute
2134 conflicts with always_inline attribute.
2135 (handle_always_inline_attribute): Warn if the attribute conflicts
2136 with noinline attribute.
2137
90e645fa 21382014-04-25 Marek Polacek <polacek@redhat.com>
2139
2140 PR c/60156
2141 * c-common.c (check_main_parameter_types): Warn about variadic main.
2142
db103ea4 21432014-04-24 Mike Stump <mikestump@comcast.net>
2144
2145 * c.opt (Wshadow-ivar): Default to on.
2146
06511efd 21472014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2148
2149 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2150
cdf34fca 21512014-04-23 Marek Polacek <polacek@redhat.com>
2152
2153 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2154
7311d7c1 21552014-04-22 Jakub Jelinek <jakub@redhat.com>
2156
2157 PR sanitizer/60275
2158 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2159 if flag_sanitize_undefined_trap_on_error.
2160 (ubsan_instrument_division, ubsan_instrument_shift,
2161 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2162 if !flag_sanitize_recover.
2163
c1917557 21642014-04-22 Marc Glisse <marc.glisse@inria.fr>
2165
2166 PR libstdc++/43622
2167 * c-common.c (registered_builtin_types): Make non-static.
2168 * c-common.h (registered_builtin_types): Declare.
2169
b2ca6510 21702014-04-14 Richard Biener <rguenther@suse.de>
2171 Marc Glisse <marc.glisse@inria.fr>
2172
2173 PR c/60819
2174 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2175 apply may-alias the scalar pointer type when applicable.
2176
855372a3 21772014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2178
2179 PR middle-end/60467
2180 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2181 as possible argument for Cilk_spawn.
2182
4012a986 21832014-04-11 Tobias Burnus <burnus@net-b.de>
2184
2185 PR c/60194
2186 * c.opt (Wformat-signedness): Add
2187 * c-format.c(check_format_types): Use it.
2188
0d284870 21892014-04-11 Jason Merrill <jason@redhat.com>
2190
2191 PR c++/57926
2192 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2193 default_conversion for an array argument.
2194
a34c1231 21952014-04-08 Marek Polacek <polacek@redhat.com>
2196
2197 PR sanitizer/60745
2198 * c-ubsan.c: Include asan.h.
2199 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2200
a35a8e18 22012014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2202
2203 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2204
b23e42b6 22052014-04-02 Marek Polacek <polacek@redhat.com>
2206
2207 * c-common.h (c_expand_expr): Remove declaration.
2208
5a672e62 22092014-03-28 Jakub Jelinek <jakub@redhat.com>
2210
2211 PR c++/60689
2212 * c-common.c (add_atomic_size_parameter): When creating new
2213 params vector, push the size argument first.
2214
d4d068c0 22152014-03-26 Jakub Jelinek <jakub@redhat.com>
2216
2217 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2218 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2219 ubsan_create_data callers.
2220
446bdf5f 22212014-03-22 Jakub Jelinek <jakub@redhat.com>
2222
2223 PR debug/60603
2224 * c-opts.c (c_finish_options): Restore cb_file_change call to
2225 <built-in>.
2226
8895f0a3 22272014-03-13 Jakub Jelinek <jakub@redhat.com>
2228
2229 PR middle-end/36282
2230 * c-pragma.c (apply_pragma_weak): Only look at
2231 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2232 DECL_ASSEMBLER_NAME_SET_P (decl).
2233 (maybe_apply_pending_pragma_weaks): Exit early if
2234 vec_safe_is_empty (pending_weaks) rather than only when
2235 !pending_weaks.
2236 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2237 set assembler name back to NULL afterwards.
2238
7a5da2cd 22392014-03-11 Jason Merrill <jason@redhat.com>
2240
2241 * c.opt: Add -std=gnu++14.
2242
95093889 22432014-03-11 Ian Bolton <ian.bolton@arm.com>
2244
2245 * c-opts.c (c_common_post_options): Don't override
2246 -ffp-contract=fast if unsafe-math-optimizations is on.
2247
c9a24b37 22482014-03-08 Paulo Matos <paulo@matos-sorge.com>
2249
2250 * c.opt: Enable LTO FE for fshort-double.
2251
3f6dba6e 22522014-03-07 Jason Merrill <jason@redhat.com>
2253
2254 * c.opt: Add -std=c++14.
2255
3bfdc94f 22562014-03-06 Marek Polacek <polacek@redhat.com>
2257
2258 PR c/60197
2259 * cilk.c (contains_cilk_spawn_stmt): New function.
2260 (contains_cilk_spawn_stmt_walker): Likewise.
2261 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2262 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2263
8b3a6a4c 22642014-03-03 Jakub Jelinek <jakub@redhat.com>
2265
2266 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2267 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2268 even when flag_preprocess_only.
2269
734ec290 22702014-02-26 Jason Merrill <jason@redhat.com>
2271
2272 PR c++/59231
2273 PR c++/11586
2274 * c-common.c (shorten_compare): Don't check
2275 c_inhibit_evaluation_warnings.
2276
81aec8b8 22772014-02-19 Jakub Jelinek <jakub@redhat.com>
2278
d1081017 2279 PR c/37743
2280 * c-common.c (c_common_nodes_and_builtins): When initializing
2281 c_uint{16,32,64}_type_node, also set corresponding
2282 uint{16,32,64}_type_node to the same value.
2283
81aec8b8 2284 PR c++/60267
2285 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2286 for PRAGMA_IVDEP if flag_preprocess_only.
2287
312243bb 22882014-02-12 Jakub Jelinek <jakub@redhat.com>
2289
2290 PR c/60101
2291 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2292 if false, add ADD itself, rather than vice versa.
2293 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2294 copy. For SAVE_EXPR, only call merge_tlist once.
2295
237e78b1 22962014-02-08 Jakub Jelinek <jakub@redhat.com>
2297
2298 PR middle-end/60092
2299 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2300 and tree_to_uhwi.
2301 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2302 functions.
2303 (c_common_attribute_table): Add alloc_align and assume_aligned
2304 attributes.
2305
76fdceeb 23062014-02-06 Marek Polacek <polacek@redhat.com>
2307
2308 PR c/60087
2309 * c-common.c (warn_for_sign_compare): Call warning_at with location
2310 instead of warning.
2311
4a4dea42 23122014-02-05 Marek Polacek <polacek@redhat.com>
2313
2314 PR c/53123
2315 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2316 statement.
2317
ec704957 23182014-02-04 Marek Polacek <polacek@redhat.com>
2319
2320 PR c/60036
2321 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2322 SAVE_EXPR.
2323
caf62483 23242014-02-03 Marc Glisse <marc.glisse@inria.fr>
2325
2326 PR c++/53017
2327 PR c++/59211
2328 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2329 handle_vector_size_attribute, handle_nonnull_attribute): Call
2330 default_conversion on the attribute argument.
2331 (handle_nonnull_attribute): Increment the argument number.
2332
ec761d5a 23332014-01-31 Marek Polacek <polacek@redhat.com>
2334
2335 PR c/59963
2336 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2337 build_function_call_vec.
2338 (resolve_overloaded_builtin): Likewise.
2339 * c-common.h (build_function_call_vec): Adjust declaration.
2340
22a75734 23412014-01-30 Marek Polacek <polacek@redhat.com>
2342
2343 PR c/59940
2344 * c-common.h (unsafe_conversion_p): Adjust declaration.
2345 (warnings_for_convert_and_check): Likewise.
2346 (convert_and_check): Likewise.
2347 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2348 expansion_point_location_if_in_system_header on it.
2349 (warnings_for_convert_and_check): Add location parameter. Call
2350 expansion_point_location_if_in_system_header on it. Use it.
2351 (convert_and_check): Add location parameter. Use it.
2352 (conversion_warning): Likewise.
2353 (c_add_case_label): Adjust convert_and_check calls.
2354 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2355
a89e6c15 23562014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2357
2358 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2359 flag_cilkplus.
2360 * c-pragma.c (init_pragma): Likewise.
2361 * c.opt: Likewise.
2362
2623625f 23632014-01-23 Marek Polacek <polacek@redhat.com>
2364
2365 PR c/59846
2366 * c-common.c (shorten_compare): Add location_t parameter.
2367 * c-common.h (shorten_binary_op): Adjust declaration.
2368
46da3601 23692014-01-23 Marek Polacek <polacek@redhat.com>
2370
2371 PR c/58346
2372 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2373 * c-common.h: Declare it.
2374
c9743c6a 23752014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2376
2377 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2378 * c-ada-spec.c (dump_ads): Likewise.
2379 (cpp_check): Likewise.
2380 (dump_ada_specs): Likewise.
2381
23822014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2383
2384 PR c++/49718
2385 * c-common.c (handle_no_instrument_function_attribute): Allow
2386 no_instrument_function attribute in class member
2387 definition/declaration.
2388
1248c663 23892014-01-15 Jakub Jelinek <jakub@redhat.com>
2390
2391 PR c/58943
2392 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2393 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2394 being COMPOUND_EXPR.
2395 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2396 operand a SAVE_EXPR and second MODIFY_EXPR.
2397
6e5c480b 23982014-01-09 Jakub Jelinek <jakub@redhat.com>
2399
2400 PR target/58115
2401 * c-pch.c (c_common_write_pch): Call
2402 prepare_target_option_nodes_for_pch.
2403
3aea1f79 24042014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2405
2406 Update copyright years
2407
e4f22041 24082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2409
2410 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2411 the copyright notice.
2412
7fb0fe24 24132013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2414
2415 * c-ada-spec.c (print_constructor): New function.
2416 (print_destructor): Retrieve the origin of the destructor.
2417 (print_ada_declaration): Revamp handling of constructors/destructors.
2418
468088ac 24192013-12-23 Stuart Hastings <stuart@apple.com>
2420 Bill Maddox <maddox@google.com>
2421 Jason Merrill <jason@redhat.com>
2422
2423 * c.opt: Add -fdeclone-ctor-dtor.
2424 * c-opts.c (c_common_post_options): Default to on iff -Os.
2425
74acc703 24262013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2427
2428 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2429 attribute.
2430 * c-pragma.h (enum pragma_cilk_clause): Remove.
2431 (enum pragma_omp_clause): Added the following fields:
2432 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2433 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2434 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2435 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2436 PRAGMA_CILK_CLAUSE_UNIFORM.
2437
8204c077 2438
433e804e 24392013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2440
2441 * cilk.c (cilk_outline): Made this function non-static.
2442 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2443 (create_cilk_wrapper): Added a new parameter: a function pointer.
2444 (c_install_body_w_frame_cleanup): Remove
2445 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2446 * c-common.h (cilk_outline): New prototype.
2447 (gimplify_cilk_spawn): Removed two parameters.
2448 (cilk_install_body_with_frame_cleanup): New prototype.
2449 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2450 CILK_SPAWN_STMT case.
2451
5bcc7e60 24522013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2453
e66325ea 2454 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2455
5bcc7e60 2456 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2457 (int_array_type_node): Remove.
2458 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2459
0b26ec77 24602013-12-05 Marek Polacek <polacek@redhat.com>
2461
2462 PR c/52023
2463 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2464 [ADJUST_FIELD_ALIGN].
2465
a179a7dc 24662013-12-04 Joseph Myers <joseph@codesourcery.com>
2467
2468 PR c/52023
2469 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2470 and check field alignment if set.
2471 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2472 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2473
8204c077 24742013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 2475 Marek Polacek <polacek@redhat.com>
2476
2477 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2478 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2479
648fd348 24802013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2481
2482 PR c/59309
2483 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2484 arguments.
2485
253e1cae 24862013-11-29 Jakub Jelinek <jakub@redhat.com>
2487
2488 PR c/59280
2489 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2490 goto invalid. If it is error_mark_node, don't issue further
2491 diagnostics.
2492
3e398f5b 24932013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2494
2495 * c.opt (Wopenmp-simd): New.
2496
020bc656 24972013-11-22 Jakub Jelinek <jakub@redhat.com>
2498
2499 * c-ubsan.h (ubsan_instrument_return): New prototype.
2500 * c-ubsan.c (ubsan_instrument_return): New function.
2501
bc61cadb 25022013-11-22 Andrew MacLeod <amacleod@redhat.com>
2503
2504 * c-common.c: Add required include files from gimple.h.
2505 * c-gimplify.c: Likewise
2506 * cilk.c: Likewise
2507
3df42822 25082013-11-22 David Malcolm <dmalcolm@redhat.com>
2509
2510 * c-common.c (unsafe_conversion_p): Remove use of
2511 EXPR_LOC_OR_HERE macro.
2512 (conversion_warning): Likewise.
2513 (warnings_for_convert_and_check): Likewise.
2514 (warn_for_collisions_1): Likewise.
2515 (shorten_compare): Likewise, and remove use of in_system_header
2516 macro, using the location from the former.
2517 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2518 (cb_def_pragma): Remove use of in_system_header macro.
2519 (lex_string): Likewise.
2520 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2521
8c53c46c 25222013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2523 Mike Stump <mikestump@comcast.net>
2524 Richard Sandiford <rdsandiford@googlemail.com>
2525
2526 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2527 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2528 tree_fits_shwi_p or tree_fits_uhwi_p.
2529 (dump_generic_ada_node): Likewise.
2530 * c-format.c (check_format_arg): Likewise.
2531 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2532
5200ef07 25332013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2534
2535 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2536
ca9d7d74 25372013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2538
2539 PR c/53001
2540 * c-common.c (unsafe_conversion_p): Make this function
2541 return an enumeration with more detail.
2542 (conversion_warning): Use the new return type of
2543 unsafe_conversion_p to separately warn either about conversions
2544 that lower floating point number precision or about the other
2545 kinds of conversions.
2546 * c-common.h (enum conversion_safety): New enumeration.
2547 (unsafe_conversion_p): switching return type to
2548 conversion_safety enumeration.
2549 * c.opt: Adding new warning -Wfloat-conversion and
2550 enabling it with -Wconversion.
2551
0391a567 25522013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2553
2554 * c-opts.c: Include plugin.h.
2555 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2556
19b928d9 25572013-11-19 Marek Polacek <polacek@redhat.com>
2558
2559 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2560 call.
2561 (ubsan_instrument_shift): Likewise.
2562 (ubsan_instrument_vla): Likewise.
2563
aa59f000 25642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2565
2566 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2567 cast to unsigned type.
2568
08f817b3 25692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2570
2571 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2572 tree_low_cst.
2573 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2574 rather than tree_low_cst.
2575
6a0712d4 25762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2577
2578 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2579 tree_to_uhwi throughout.
2580
fcb97e84 25812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2582
2583 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2584 tree_low_cst (..., 0) with tree_to_shwi throughout.
2585
cd4547bf 25862013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2587
2588 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2589 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2590
35ec552a 25912013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2592
2593 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2594 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2595
f2697631 25962013-11-15 Aldy Hernandez <aldyh@redhat.com>
2597
2598 * c-cilkplus.c: New file.
2599 * c-common.c (readonly_error): Add location argument.
2600 * c-common.h (readonly_error): Same.
2601 (c_finish_cilk_clauses): Protoize.
2602 (c_check_cilk_loop): Same.
2603 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2604 Do not fail on error_mark_node.
2605 Abstract increment canonicalization to here...
2606 (c_omp_for_incr_canonicalize_ptr): New.
2607 c-pragma.c (init_pragma): Register "simd" pragma.
2608 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2609 (enum pragma_cilk_clause): New.
2610
0aa8c34e 26112013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2612
2613 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2614 wchar_type and host_integerp checks.
2615
e795d6e1 26162013-11-14 Andrew MacLeod <amacleod@redhat.com>
2617
2618 * c-common.c: Likewise.
2619 * c-gimplify.c: Likewise.
2620 * cilk.c: Likewise.
2621
9ed99284 26222013-11-14 Diego Novillo <dnovillo@google.com>
2623
2624 * c-common.c: Include fold-const.h.
2625 Include stor-layout.h.
2626 Include calls.h.
2627 Include stringpool.h.
2628 Include attribs.h.
2629 Include varasm.h.
2630 Include trans-mem.h.
2631 * c-cppbuiltin.c: Include stor-layout.h.
2632 Include stringpool.h.
2633 * c-format.c: Include stringpool.h.
2634 * c-lex.c: Include stringpool.h.
2635 Include stor-layout.h.
2636 * c-pragma.c: Include stringpool.h.
2637 Include attribs.h.
2638 Include varasm.h.
2639 Include gcc-symtab.h.
2640 * c-pretty-print.c: Include stor-layout.h.
2641 Include attribs.h.
2642 * cilk.c: Include stringpool.h.
2643 Include calls.h.
2644
4fba5eb9 26452013-11-13 Joseph Myers <joseph@codesourcery.com>
2646
2647 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2648 * c-common.c (c_common_reswords): Add __auto_type.
2649 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2650
a8783bee 26512013-11-12 Andrew MacLeod <amacleod@redhat.com>
2652
e795d6e1 2653 * c-common.c: Include gimplify.h.
2654 * c-gimplify.c: Likewise.
2655 * cilk.c: Likewise.
2656 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2657 * c-ubsan.c: Don't include gimple.h.
a8783bee 2658
d184e0c0 26592013-11-12 Joseph Myers <joseph@codesourcery.com>
2660
2661 * c-common.c (c_common_reswords): Add _Thread_local.
2662
a056826c 26632013-11-09 Joseph Myers <joseph@codesourcery.com>
2664
2665 * c-common.c (atomic_size_supported_p): New function.
2666 (resolve_overloaded_atomic_exchange)
2667 (resolve_overloaded_atomic_compare_exchange)
2668 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2669 Use it instead of comparing size with a local list of sizes.
2670
b560fabd 26712013-11-07 Andrew MacLeod <amacleod@redhat.com>
2672 Joseph Myers <joseph@codesourcery.com>
2673
2674 * c-common.h (enum rid): Add RID_ATOMIC.
2675 * c-common.c (c_common_reswords): Add _Atomic.
2676 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2677 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2678 * c-format.c (check_format_types): Check for extra _Atomic
2679 qualifiers in format argument.
2680 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2681 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2682
5b1a0622 26832013-11-06 Tobias Burnus <burnus@net-b.de>
2684
2685 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2686
4f8f4cb8 26872013-11-06 Joseph Myers <joseph@codesourcery.com>
2688
2689 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2690 standards modes.
2691 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2692 to mean lack of IEEE 754 support.
2693
9148bda3 26942013-11-05 Tobias Burnus <burnus@net-b.de>
2695
2696 * c.opt (-Wdate-time): New option
2697 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2698
08c5f4d5 26992013-11-05 Joseph Myers <joseph@codesourcery.com>
2700
2701 * c-cppbuiltin.c (cpp_iec_559_value): Test
2702 flag_excess_precision_cmdline not flag_excess_precision.
2703
c630ef93 27042013-11-05 Tobias Burnus <burnus@net-b.de>
2705
2706 * c.opt (fopenmp-simd): New option.
2707 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2708 (omp_pragmas): ... this new struct.
2709 (c_pp_lookup_pragma): Also walk omp_pragmas.
2710 (init_pragma): Init pragmas for -fopenmp-simd.
2711
7354a89b 27122013-11-04 Marek Polacek <polacek@redhat.com>
2713
2714 PR c++/58979
2715 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2716
4c866b9b 27172013-11-04 Joseph Myers <joseph@codesourcery.com>
2718
2719 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2720 New functions.
2721 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2722
e2a6a333 27232013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2724
2725 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2726 (dump_ada_specs): Adjust prototype of second callback.
2727 * c-ada-spec.c (cpp_check): New global variable.
2728 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2729 (print_generic_ada_decl): Likewise.
2730 (has_static_fields): Change return type to bool and add guard.
2731 (has_nontrivial_methods): New predicate.
2732 (is_tagged_type): Change return type to bool.
2733 (separate_class_package): Call has_nontrivial_methods.
2734 (pp_ada_tree_identifier): Minor tweaks.
2735 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2736 (dump_ada_array_domains): Likewise.
2737 (dump_ada_array_type): Likewise.
2738 (dump_template_types): Remove cpp_check parameter and do not pass it to
2739 dump_generic_ada_node.
2740 (dump_ada_template): Likewise.
2741 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2742 recursively.
2743 (print_ada_methods): Change return type to integer. Remove cpp_check
2744 parameter and do not pass it down.
2745 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2746 dump_generic_ada_node.
2747 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2748 accessing methods.
2749 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2750 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2751 value of print_ada_methods.
2752 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2753 Set cpp_check to it before invoking dump_ada_nodes.
2754 (dump_ada_specs): Likewise.
2755
2c4c3477 27562013-11-03 Marek Polacek <polacek@redhat.com>
2757
2758 * c-ubsan.c: Don't include hash-table.h.
2759 (ubsan_instrument_vla): New function.
2760 * c-ubsan.h: Declare it.
2761
452659af 27622013-10-31 David Malcolm <dmalcolm@redhat.com>
2763
2764 Automated part of renaming of symtab_node_base to symtab_node.
2765
2766 Patch autogenerated by rename_symtab.py from
2767 https://github.com/davidmalcolm/gcc-refactoring-scripts
2768 revision 58bb219cc090b2f4516a9297d868c245495ee622
2769
2770 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2771 symtab_node_base to symtab_node.
2772
4d6f7dd4 27732013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2774
2775 Implement C++14 digit separators.
2776 * c-lex.c (interpret_float): Remove digit separators from scratch string
2777 before building real literal.
2778
06cfe805 27792013-10-30 Jakub Jelinek <jakub@redhat.com>
2780
2781 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2782
d037099f 27832013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2784
2785 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2786 fields.
2787 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2788 enabled.
2789 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2790 (insert_cilk_frame): New prototype.
2791 (cilk_init_builtins): Likewise.
2792 (gimplify_cilk_spawn): Likewise.
2793 (c_cilk_install_body_w_frame_cleanup): Likewise.
2794 (cilk_detect_spawn_and_unwrap): Likewise.
2795 (cilk_set_spawn_marker): Likewise.
2796 (build_cilk_sync): Likewise.
2797 (build_cilk_spawn): Likewise.
2798 * cilk.c: New file.
2799
02774f2d 28002013-10-29 David Malcolm <dmalcolm@redhat.com>
2801
2802 Patch autogenerated by refactor_symtab.py from
2803 https://github.com/davidmalcolm/gcc-refactoring-scripts
2804 revision 58bb219cc090b2f4516a9297d868c245495ee622
2805
2806 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2807 to a true class hierarchy.
2808 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2809
31fe10fd 28102013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2811
2812 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2813
b1c06ff9 28142013-10-26 Jeff Law <law@redhat.com>
2815
1f78217c 2816 * c-common.c (c_define_builtins): Remove mudflap support.
2817 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 2818
48a972c8 28192013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2820
2821 PR other/33426
2822 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2823 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2824
546a04b1 28252013-10-23 Jason Merrill <jason@redhat.com>
2826
2827 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2828
bc7bff74 28292013-10-11 Jakub Jelinek <jakub@redhat.com>
2830
d62c713e 2831 * c-common.h (omp_clause_mask::operator !=): New method.
2832 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2833 instead of if (mask & something) tests everywhere.
2834
bc7bff74 2835 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2836 201307 instead of 201107.
2837 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2838 (c_common_attribute_table): Add "omp declare target" and
2839 "omp declare simd" attributes.
2840 (handle_omp_declare_target_attribute,
2841 handle_omp_declare_simd_attribute): New functions.
2842 * c-omp.c: Include c-pragma.h.
2843 (c_finish_omp_taskgroup): New function.
2844 (c_finish_omp_atomic): Add swapped argument, if true,
2845 build the operation first with rhs, lhs arguments and use NOP_EXPR
2846 build_modify_expr.
2847 (c_finish_omp_for): Add code argument, pass it down to make_code.
2848 (c_omp_split_clauses): New function.
2849 (c_split_parallel_clauses): Removed.
2850 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2851 c_omp_declare_simd_clauses_to_decls): New functions.
2852 * c-common.h (omp_clause_mask): New type.
2853 (OMP_CLAUSE_MASK_1): Define.
2854 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2855 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2856 omp_clause_mask::operator |, omp_clause_mask::operator &,
2857 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2858 omp_clause_mask::operator ==): New methods.
2859 (enum c_omp_clause_split): New.
2860 (c_finish_omp_taskgroup): New prototype.
2861 (c_finish_omp_atomic): Add swapped argument.
2862 (c_finish_omp_for): Add code argument.
2863 (c_omp_split_clauses): New prototype.
2864 (c_split_parallel_clauses): Removed.
2865 (c_omp_declare_simd_clauses_to_numbers,
2866 c_omp_declare_simd_clauses_to_decls): New prototypes.
2867 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2868 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2869 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2870 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2871 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2872 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2873 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2874 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2875 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2876 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2877 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2878 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2879 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2880 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2881 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2882 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2883 PRAGMA_OMP_CLAUSE_UNIFORM.
2884
d7dcba40 28852013-10-09 Marc Glisse <marc.glisse@inria.fr>
2886
2887 PR tree-optimization/20318
2888 * c-common.c (handle_returns_nonnull_attribute): New function.
2889 (c_common_attribute_table): Add returns_nonnull.
2890
0b7282f1 28912013-10-03 Marc Glisse <marc.glisse@inria.fr>
2892
2893 PR c++/19476
2894 * c.opt (fcheck-new): Move to common.opt.
2895
51f553af 28962013-09-25 Marek Polacek <polacek@redhat.com>
2897 Jakub Jelinek <jakub@redhat.com>
2898
2899 PR sanitizer/58413
2900 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2901 an expression if we can prove it is correct.
2902 (ubsan_instrument_division): Likewise. Remove unnecessary
2903 check.
2904
05f893e1 29052013-09-18 Marek Polacek <polacek@redhat.com>
2906
2907 PR sanitizer/58411
2908 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2909 Declare it.
2910 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2911
236ce1d1 29122013-09-14 Iain Sandoe <iain@codesourcery.com>
2913
2914 PR target/48094
2915 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2916 fobjc-gc, freplace-objc-classes): Accept for LTO.
2917
f9f68d35 29182013-09-13 Jacek Caban <jacek@codeweavers.com>
2919
2920 * c-target.def: New hook
2921
ba2f764e 29222013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2923
2924 PR c++/43452
2925 * c.opt (Wdelete-incomplete): Add.
2926
73437615 29272013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2928
2929 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2930 (vector_types_compatible_elements_p): New function.
2931 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2932 declaration.
2933 (vector_types_compatible_elements_p): Declare.
2934
95af4c75 29352013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2936
2937 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2938 a virtual member function.
2939 (pp_simple_type_specifier): Remove.
2940 (pp_c_type_specifier): Likewise.
2941 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2942 Rename from pp_c_type_specifier. Adjust.
2943 (c_pretty_printer::c_pretty_printer): Do not assign to
2944 simple_type_specifier.
2945
eaab24b9 29462013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2947
2948 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2949 member function.
2950 (c_pretty_printer::storage_class_specifier): Likewise.
2951 (c_pretty_printer::initializer): Likewise.
2952 (pp_declaration): Remove.
2953 (pp_declaration_specifiers): Likewise.
2954 (pp_abstract_declarator): Likewise.
2955 (pp_declarator): Likewise.
2956 (pp_type_id): Likewise.
2957 (pp_statement): Likewise.
2958 (pp_constant): Likewise.
2959 (pp_id_expression): Likewise.
2960 (pp_primary_expression): Likewise.
2961 (pp_unary_expression): Likewise.
2962 (pp_multiplicative_expression): Likewise.
2963 (pp_conditional_expression): Likewise.
2964 (pp_assignment_expression): Likewise.
2965 (pp_expression): Likewise.
2966 (pp_c_type_id): Likewise.
2967 (pp_c_storage_class_specifier): Likewise.
2968 * c-pretty-print.c (pp_c_type_cast): Tidy.
2969 (pp_c_pointer): Likewise.
2970 (pp_c_type_specifier): Likewise.
2971 (pp_c_parameter_type_list): Likewise.
2972 (pp_c_function_definition): Likewise.
2973 (pp_c_init_declarator): Likewise.
2974 (pp_c_initializer_list): Likewise.
2975 (pp_c_constructor_elts): Likewise.
2976 (c_pretty_printer::direct_abstract_declarator): Likewise.
2977 (c_pretty_printer::declaration_specifiers): Likewise.
2978 (c_pretty_printer::primary_expression): Likewise.
2979 (c_pretty_printer::postfix_expression): Likewise.
2980 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2981 (c_pretty_printer::storage_class_specifier): Rename from
2982 pp_c_storage_class_specifier.
2983 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2984 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2985 storage_class_specifier, initializer, offset_list, flags.
2986
9e46467d 29872013-08-30 Marek Polacek <polacek@redhat.com>
2988
2989 * c-ubsan.c: New file.
2990 * c-ubsan.h: New file.
2991
36a8d9b9 29922013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2993
2994 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2995 member function.
2996 (c_pretty_printer::declaration_specifiers): Likewise.
2997 (c_pretty_printer::declarator): Likewise.
2998 (c_pretty_printer::abstract_declarator): Likewise.
2999 (c_pretty_printer::direct_abstract_declarator): Likewise.
3000 (c_pretty_printer::direct_declarator): Likewise.
3001 (c_pretty_printer::function_specifier): Likewise.
3002 (pp_declaration): Adjust.
3003 (pp_declaration_specifiers): Likewise.
3004 (pp_abstract_declarator): Likewise.
3005 (pp_direct_declarator): Likewise.
3006 (pp_function_specifier): Likewise.
3007 (pp_direct_abstract_declarator): Remove as unused.
3008 (pp_c_declaration): Remove.
3009 (pp_c_declaration_specifiers): Likewise.
3010 (pp_c_declarator): Likewise.
3011 (pp_c_direct_declarator): Likewise.
3012 (pp_c_function_specifier): Likewise.
3013 (pp_c_direct_abstract_declarator): Likewise.
3014 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3015 from pp_c_abstract_declarator. Adjust.
3016 (c_pretty_printer::direct_abstract_declarator): Rename from
3017 pp_c_direct_abstract_declarator. Adjust.
3018 (c_pretty_printer::function_specifier): Rename from
3019 pp_c_function_specifier. Adjust.
3020 (c_pretty_printer::declaration_specifiers): Rename from
3021 pp_c_declaration_specifiers. Adjust.
3022 (c_pretty_printer::direct_declarator): Rename from
3023 pp_c_direct_declarator. Adjust.
3024 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3025 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3026 (c_pretty_printer::c_pretty_printer): Do not assign to
3027 declaration, declaration_specifiers, declarator,
3028 direct_declarator, direct_abstract_declarator, function_specifier.
3029
30635c2e 30302013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3031
3032 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3033 virtual member function.
3034 (c_pretty_printer::multiplicative_expression): Likewise.
3035 (c_pretty_printer::conditional_expression): Likewise.
3036 (c_pretty_printer::assignment_expression): Likewise.
3037 (c_pretty_printer::expression): Likewise.
3038 (pp_unary_expression): Adjust.
3039 (pp_multiplicative_expression): Likewise.
3040 (pp_assignment_expression): Likewise.
3041 (pp_conditional_expression): Likewise.
3042 (pp_expression): Likewise.
3043 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3044 from pp_c_unary_expression. Adjust.
3045 (c_pretty_printer::multiplicative_expression): Rename from
3046 pp_c_multiplicative_expression. Adjust.
3047 (c_pretty_printer::conditional_expression): Rename from
3048 pp_c_conditional_expression. Adjust.
3049 (c_pretty_printer::assignment_expression): Rename from
3050 pp_c_assignment_expression. Adjust.
3051 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3052 (c_pretty_printer::c_pretty_printer): Do not assign to
3053 unary_expression, multiplicative_expression,
3054 conditional_expression, expression.
3055
027d08ed 30562013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3057
3058 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3059 virtual member function.
3060 (pp_postfix_expression): Adjust.
3061 (pp_c_postfix_expression): Remove.
3062 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3063 from pp_c_postfix_expression. Adjust.
3064 (c_pretty_printer::c_pretty_printer): Do not assign to
3065 postfix_expression.
3066
f873303a 30672013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3068
3069 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3070 virtua member function.
3071 (pp_primary_expression): Adjust.
3072 (pp_c_primary_expression): Remove.
3073 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3074 from pp_c_primary_expression. Adjust.
3075 (pp_c_initializer_list): Use pp_primary_expression.
3076 (c_pretty_printer::c_pretty_printer): Do not assign to
3077 primary_expression.
3078
08e3e481 30792013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3080
3081 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3082 * c-pretty-print.c (M_): Remove.
3083 (c_pretty_printer::translate_string): Define.
3084 (pp_c_type_specifier): Use it.
3085 (pp_c_primary_expression): Likewise.
3086 (pp_c_expression): Likewise.
3087
1fc4a87f 30882013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3089
3090 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3091 virtual function.
3092 (pp_c_id_expression): Remove.
3093 (pp_id_expression): Adjust.
3094 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3095 pp_c_id_expression. Adjust.
3096 (pp_c_postfix_expression): Use pp_id_expression.
3097 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3098
a6cb161b 30992013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3100
3101 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3102 member function.
3103 (pp_constant): Adjust.
3104 (pp_c_constant): Remove.
3105 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3106 pp_c_constant. Adjust.
3107 (pp_c_constant)
3108 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3109 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3110
eed6bc21 31112013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3112
3113 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3114 (c_pretty_printer::c_pretty_printer): Declare.
3115 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3116 c_pretty_printer_init. Adjust.
3117 (print_c_tree): Do not call c_pretty_printer_init.
3118 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3119
df558d2e 31202013-08-09 Arnaud Charlet <charlet@adacore.com>
3121
3122 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3123
42f9a786 31242013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3125
3126 PR c++/58080
3127 * c-common.c (pointer_int_sum): Add bool parameter.
3128 * c-common.h (pointer_int_sum): Adjust declaration.
3129
f874ddad 31302013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3131
3132 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3133 c_pretty_printer variable.
3134
a94db6b0 31352013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3136
3137 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3138 (pp_base): Remove.
3139 (pp_c_base): Likewise. Adjust users.
3140 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3141 (pp_c_whitespace): Do not call pp_base.
3142 (pp_c_left_paren): Likewise.
3143 (pp_c_right_paren): Likewise.
3144 (pp_c_left_brace): Likewise.
3145 (pp_c_right_brace): Likewise.
3146 (pp_c_left_bracket): Likewise.
3147 (pp_c_right_bracket): Likewise.
3148 (pp_c_dot): Likewise.
3149 (pp_c_ampersand): Likewise.
3150 (pp_c_star): Likewise.
3151 (pp_c_arrow): Likewise.
3152 (pp_c_semicolon): Likewise.
3153 (pp_c_complement): Likewise.
3154 (pp_c_exclamation): Likewise.
3155 (pp_c_direct_declarator): Likewise.
3156 (pp_c_ws_string): Likewise.
3157 (pp_c_identifier): Likewise.
3158 (pp_c_statement): Likewise.
3159 (print_c_tree): Likewise.
3160
1898176c 31612013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3162
3163 PR c++/58072
3164 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3165 provide useful error strings.
3166
70d60d1d 31672013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3168
3169 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3170 printer functions instead of pp_string or operators and punctuators.
3171 (dump_generic_ada_node): Likewise.
3172 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3173 (pp_c_relational_expression): Likewise.
3174 (pp_c_logical_or_expression): Likewise.
3175
dda4f0ec 31762013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3177
3178 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3179 functions instead of pp_character.
3180 (pp_ada_tree_identifier): Likewise.
3181 (dump_ada_double_name): Likewise.
3182 (dump_ada_function_declaration): Likewise.
3183 (dump_ada_array_domains): Likewise.
3184 (dump_template_types): Likewise.
3185 (dump_generic_ada_node): Likewise.
3186 (print_ada_declaration): Likewise.
3187 (print_ada_struct_decl): Likewise.
3188 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3189
7aa04c8d 31902013-07-23 Tom Tromey <tromey@redhat.com>
3191
3192 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3193 * c-common.c (c_common_reswords): Add _Generic.
3194
a04e8d62 31952013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3196
3197 * c-common.c: Fix typos.
3198 * c-common.h: Likewise.
3199
a96c3cc1 32002013-07-13 Lubos Lunak <l.lunak@suse.cz>
3201
3202 PR c++/55203
3203 * c-common.c (c_common_attribute_table): Add warn_unused.
3204 (handle_warn_unused_attribute): New.
3205
da31536d 32062013-07-10 Jakub Jelinek <jakub@redhat.com>
3207
3208 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3209 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3210
839f2f70 32112013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3212
3213 PR c++/57869
3214 * c.opt: Add Wconditionally-supported.
3215
73f353d0 32162013-07-08 Graham Stott <graham.stott@btinternet.com>
3217
1f78217c 3218 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3219 unused variables l_length and l_node.
3220
21ebaa24 32212013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3222
3223 PR c/57821
3224 * c-common.c (complete_array_type): Delay folding first index
3225 like other indices. When folding, check for index overflow.
3226
68ea4406 32272013-06-27 Marc Glisse <marc.glisse@inria.fr>
3228
3229 PR c++/57509
3230 * c-common.h (c_build_vec_perm_expr): New complain argument.
3231 * c-common.c (c_build_vec_perm_expr): Likewise.
3232 Use save_expr also in C++.
3233
60777f69 32342013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3235
3236 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3237 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3238 * c-opts.c (c_common_post_options): Likewise.
3239
839f2f70 32402013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3241
3242 * array-notation-common.c (length_mismatch_in_expr): Changed the
3243 parameter type's from a dynamic array to a vec_tree. Also removed
3244 the size parameters.
3245 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3246 the change above.
3247
e9331eab 32482013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3249
3250 * c-common.h (struct cilkplus_an_parts): New structure.
3251 (struct cilkplus_an_loop_parts): Likewise.
3252 (cilkplus_extract_an_triplets): New prototype.
3253 (fix_sec_implicit_args): Likewise.
3254 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3255 (fix_sec_implicit_args): Likewise.
60777f69 3256
a9c99fc4 32572013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3258
3259 * array-notation-common.c (find_inv_trees): Removed an unwanted
3260 typecasting.
3261 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3262 enum rid to enum tree_code.
3263
f2526cce 32642013-06-11 Jan Hubicka <jh@suse.cz>
3265
3266 * c-common.c (handle_alias_ifunc_attribute): Do not set
3267 DECL_EXTERNAL for weakref variables.
3268 * c-pragma.c (handle_pragma_weak): Make sure aliases
3269 are not declared as external.
3270
09970d67 32712013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3272
3273 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3274 function from c/c-array-notation.c.
3275 (is_cilkplus_reduce_builtin): Likewise.
3276 (find_rank): Likewise.
3277 (extract_array_notation_exprs): Likewise.
3278 (replace_array_notations): Likewise.
3279 (find_inv_trees): Likewise.
3280 (replace_inv_trees): Likewise.
3281 (contains_array_notation_expr): Likewise.
3282 (find_correct_array_notation_type): Likewise.
3283 * c-common.h (struct inv_list): Moved this struct from the file
3284 c/c-array-notation.c and added a new field called additional tcodes.
3285 (length_mismatch_in_expr_p): New prototype.
3286 (is_cilkplus_reduce_builtin): Likewise.
3287 (find_rank): Likewise.
3288 (extract_array_notation_exprs): Likewise.
3289 (replace_array_notation): Likewise.
3290 (find_inv_trees): Likewise.
3291 (replace_inv_trees): Likewise.
3292 (find_correct_array_notation_type): Likewise.
839f2f70 3293
3c6d4197 32942013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3295
3296 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3297 function array_notation_init_builtins is called.
3298 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3299 * c-common.def (ARRAY_NOTATION_REF): New tree.
3300 * c-common.h (build_array_notation_expr): New function declaration.
3301 (build_array_notation_ref): Likewise.
3302 (extract_sec_implicit_index_arg): New extern declaration.
3303 (is_sec_implicit_index_fn): Likewise.
3304 (ARRAY_NOTATION_CHECK): New define.
3305 (ARRAY_NOTATION_ARRAY): Likewise.
3306 (ARRAY_NOTATION_START): Likewise.
3307 (ARRAY_NOTATION_LENGTH): Likewise.
3308 (ARRAY_NOTATION_STRIDE): Likewise.
3309 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3310 ARRAY_NOTATION_REF.
3311 (pp_c_expression): Likewise.
3312 * c.opt (flag_enable_cilkplus): New flag.
3313 * array-notation-common.c: New file.
3314
8e71dad2 33152013-05-14 Jakub Jelinek <jakub@redhat.com>
3316
3317 PR c++/57274
3318 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3319
432dd330 33202013-05-10 Marc Glisse <marc.glisse@inria.fr>
3321
3322 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3323 vectors.
3324
b156ec37 33252013-05-07 Han Shen <shenhan@google.com>
3326
3327 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3328
1a087624 33292013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3330
3331 * c-common.c (check_user_alignment): Emit error for negative values.
3332
1638c736 33332013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3334
3335 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3336
949dbf93 33372013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3338
3339 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3340 __GXX_EXPERIMENTAL_CXX1Y__.
3341
9205a6cc 33422013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3343 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3344
3345 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3346 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3347 to simply use OPT_Wpointer_arith.
3348 (c_sizeof_or_alignof_type): Likewise.
3349
05d0bce1 33502013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3351
3352 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3353
41609f8b 33542013-04-12 Jakub Jelinek <jakub@redhat.com>
3355
3356 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3357 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3358 specifiers.
3359
c671dc4f 33602013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3361
3362 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3363
ba125576 33642013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3365
3366 * c-common.c (pointer_int_sum): Remove dead code.
3367
9d3fa937 33682013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3369
3370 PR middle-end/56524
3371 * c-common.c (handle_optimize_attribute): Don't call
3372 save_optabs_if_changed.
3373
5ceebb21 33742013-03-05 Jakub Jelinek <jakub@redhat.com>
3375
3376 PR middle-end/56461
3377 * c-pch.c (pch_init): Free target_validity at the end.
3378
18eeed2b 33792013-03-04 Jakub Jelinek <jakub@redhat.com>
3380
3381 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3382
a9196da9 33832013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3384 Jakub Jelinek <jakub@redhat.com>
3385
3386 PR sanitizer/56454
3387 * c-common.c (handle_no_sanitize_address_attribute): New function.
3388 (c_common_attribute_table): Add no_sanitize_address attribute.
3389 (handle_no_address_safety_analysis_attribute): Add
3390 no_sanitize_address attribute, not no_address_safety_analysis
3391 attribute.
3392
15c27dda 33932013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3394
3395 PR target/52555
3396 * c-common.c (handle_optimize_attribute): Call
3397 save_optabs_if_changed.
3398
19426fe1 33992013-02-18 Jakub Jelinek <jakub@redhat.com>
3400 Steven Bosscher <steven@gcc.gnu.org>
3401
3402 PR pch/54117
3403 * c-opts.c (c_common_post_options): If debug info is enabled
3404 and non-dwarf*, refuse to load PCH files and when writing PCH
3405 file warn.
3406
df936998 34072013-02-05 Jakub Jelinek <jakub@redhat.com>
3408
3409 PR middle-end/56167
3410 * c-common.c (handle_error_attribute): Fix condition.
3411
ae0c3984 34122013-01-30 Jakub Jelinek <jakub@redhat.com>
3413
3414 PR c++/55742
3415 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3416
1c4973d7 34172013-01-18 Jason Merrill <jason@redhat.com>
3418
3419 PR target/54908
3420 * c.opt (-fextern-tls-init): New.
3421 * c-opts.c (c_common_post_options): Handle it.
3422
7c834436 34232013-01-09 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR c/48418
3426 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3427 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3428 and is either negative or bigger or equal to type precision
3429 of the first operand.
3430
5abaa10a 34312012-12-03 Marek Polacek <polacek@redhat.com>
3432
3433 PR c/55570
3434 * c-common.c (check_user_alignment): Swap order of tests,
3435 check TREE_CODE first.
3436
324ca377 34372012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3438
3439 PR c++/52654
3440 * c-common.h (overflow_type): New enum.
3441 (build_userdef_literal): Add overflow_type argument.
3442 (tree_userdef_literal): Add overflow_type.
3443 (USERDEF_LITERAL_OVERFLOW): New access macro.
3444 * c-common.c (build_userdef_literal): Add overflow_type
3445 argument.
3446 * c-lex.c (c_lex_with_flags): Add overflow_type to
3447 build_userdef_literal calls.
3448 (interpret_integer, interpret_float): Add overflow_type argument.
3449
b4c4a429 34502012-11-28 Richard Biener <rguenther@suse.de>
3451
3452 PR c/35634
3453 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3454 here and use a type with proper overflow behavior for types that would
3455 need to be promoted for the arithmetic.
3456
d413ffdd 34572012-11-23 Jakub Jelinek <jakub@redhat.com>
3458
3459 PR sanitizer/55435
3460 * c-common.c (handle_no_address_safety_analysis_attribute): New
3461 function.
3462 (c_common_attribute_table): Add no_address_safety_analysis.
3463
52bc861d 34642012-11-16 Simon Baldwin <simonb@google.com>
3465
3466 * c.opt: Add f[no-]canonical-system-headers.
3467 * c-opts.c (c_common_handle_option): Handle
3468 OPT_fcanonical_system_headers.
3469
2dd00636 34702012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3471
3472 PR c++/54413
3473 * c-opts.c (c_common_handle_option): Set new flags.
3474 * c.opt: Describe new flags.
3475
d4701f6c 34762012-11-09 Jason Merrill <jason@redhat.com>
3477
3478 * c.opt (Wabi-tag): New.
3479
72d65da9 34802012-11-09 Andi Kleen <ak@linux.intel.com>
3481
3482 PR 55139
3483 * c-common.c (get_atomic_generic_size): Mask with
3484 MEMMODEL_MASK
3485
77a357e3 34862012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3487
3488 PR c/53063
3489 * c.opt (Wformat): Make it Alias Wformat=1.
3490 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3491 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3492 LangEnabledBy.
3493 (Wformat=): RejectNegative. Use LangEnabledBy.
3494 (Wnonnull): Use LangEnabledBy.
3495 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3496 * c-format.c (set_Wformat): Delete.
3497 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3498 (maybe_read_dollar_number): Likewise.
3499 (avoid_dollar_number): Likewise.
3500 (finish_dollar_format_checking): Likewise.
3501 (check_format_info): Likewise.
3502 (check_format_info_main): Likewise.
3503 (check_format_types): Likewise.
3504 (format_type_warning): Likewise.
3505 * c-common.c (int): Likewise.
3506 (check_function_sentinel): Likewise.
3507 * c-common.h (warn_format,set_Wformat): Do not declare here.
3508
45efa6b9 35092012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3510
3511 PR c/53063
3512 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3513 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3514 Use LangEnabledBy.
3515 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3516 common.opt.
3517 (Wvariadic-macros): Init(1).
3518 * c-opts.c (c_common_handle_option): Do not handle them
3519 explicitly.
3520 (c_common_post_options): Likewise.
3521 (sanitize_cpp_opts): warn_unused_macros is now
3522 cpp_warn_unused_macros.
3523 (push_command_line_include): Likewise.
3524 * c-common.c (warn_unknown_pragmas): Do not define.
3525 * c-common.h (warn_unknown_pragmas): Do not declare.
3526
0e4e775a 35272012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3528
3529 PR c/51294
3530 * c-common.c (conversion_warning): Handle conditional expressions.
3531
8b447d3f 35322012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3533
3534 PR c++/54930
3535 * c.opt (Wreturn_local_addr): Define new option.
3536
f4a61754 35372012-10-25 Jason Merrill <jason@redhat.com>
3538
ecb10e6a 3539 * c.opt (Wvirtual-move-assign): New.
3540
f4a61754 3541 * c.opt (Winherited-variadic-ctor): New.
3542
7b463b19 35432012-10-25 Marc Glisse <marc.glisse@inria.fr>
3544
3545 PR c++/54427
3546 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3547
6adc88f8 35482012-10-23 Joseph Myers <joseph@codesourcery.com>
3549
3550 * c-common.h (pch_cpp_save_state): Declare.
3551 * c-target.def (c_preinclude): New hook.
3552 * c-opts.c (done_preinclude): New.
3553 (push_command_line_include): Handle default preincluded header.
3554 (cb_file_change): Call pch_cpp_save_state when calling
3555 push_command_line_include.
3556 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3557 (pch_cpp_save_state): New.
3558 (pch_init): Call pch_cpp_save_state conditionally, instead of
3559 calling cpp_save_state.
3560
fa816b0b 35612012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3562
3563 PR c/53063
3564 PR c/40989
3565 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3566 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3567 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3568 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3569 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3570 * c-opts.c (c_common_handle_option): Remove explicit handling from
3571 here.
3572 (c_common_post_options): Likewise.
3573
d214ccee 35742012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3575
3576 * c-ada-spec.c (LOCATION_COL): Delete.
3577 (compare_location): New function.
3578 (compare_node): Use it.
3579 (compare_comment): Likewise.
3580
77b27208 35812012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3582
3583 PR c/53063
3584 PR c/40989
3585 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3586 * c-opts.c (c_common_handle_option): Do not set them here. Add
3587 comment.
3588 (c_common_post_options): Likewise.
3589
cc02ca4d 35902012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3591
3592 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3593 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3594 Remove POINTER_TYPE handling, add large unsigned handling and use
3595 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3596
57f872a2 35972012-10-12 Jakub Jelinek <jakub@redhat.com>
3598
3599 PR c/54381
3600 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3601 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3602 locs and array of 3 trees instead of just single loc and single
3603 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3604 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3605 For *cmp* builtins that take two sources strings report warnings
3606 about first and second source, not about destination and source.
3607
7354ad2e 36082012-10-12 Marc Glisse <marc.glisse@inria.fr>
3609
3610 PR c++/53055
3611 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3612
1ac7f120 36132012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3614
3615 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3616 declaring something coming from another file.
3617
1e0cc9e3 36182012-10-10 Arnaud Charlet <charlet@adacore.com>
3619
1ac7f120 3620 PR ada/54845
1e0cc9e3 3621 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3622
b0e7825e 36232012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3624
3625 PR c++/54194
3626 * c-common.c (warn_about_parentheses): Add location_t parameter;
3627 use EXPR_LOC_OR_LOC.
3628 * c-common.h: Update declaration.
3629
41ed701a 36302012-10-09 Marc Glisse <marc.glisse@inria.fr>
3631
3632 PR c++/54427
3633 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3634 more operations. Make error messages optional.
3635 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3636 (scalar_to_vector): Declare.
3637
3740094c 36382012-10-08 Jason Merrill <jason@redhat.com>
3639
3640 * c-common.c (c_common_reswords): Add thread_local.
3641
ffcdbf9c 36422012-10-08 Dodji Seketeli <dodji@redhat.com>
3643
3644 PR c++/53528 C++11 attribute support
3645 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3646 new functions.
3647 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3648 static function.
3649 (handle_aligned_attribute): In choose strictest alignment
3650 among many. Use new check_cxx_fundamental_alignment_constraints.
3651 (handle_transparent_union_attribute): In c++11 attribute syntax,
3652 don't look through typedefs.
3653
ef34afc1 36542012-10-04 Arnaud Charlet <charlet@adacore.com>
3655
3656 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3657 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3658 out of dumpfile.h.
3659
f1ff4562 36602012-09-25 Dehao Chen <dehao@google.com>
3661
3662 PR middle-end/54645
ef34afc1 3663 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3664 map when read in the pch.
3665
735538a1 36662012-09-18 Arnaud Charlet <charlet@adacore.com>
3667
3668 * c-ada-spec.c: Style fixes.
3669
9120cdc8 36702012-09-18 Thomas Quinot <quinot@adacore.com>
3671
3672 * c.opt (-fada-spec-parent): Define new command line switch.
3673 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3674 is specified, generate binding spec as a child of the specified unit.
3675
8eba82c2 36762012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3677 Manuel López-Ibáñez <manu@gcc.gnu.org>
3678
3679 PR c++/53210
3680 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3681
38682990 36822012-08-23 Arnaud Charlet <charlet@adacore.com>
3683
3684 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3685 for pointers, and add missing Convention C pragma.
3686 (print_ada_struct_decl): Add missing aliased keyword.
3687 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3688
f003f5dc 36892012-08-17 Jakub Jelinek <jakub@redhat.com>
3690
3691 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3692 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3693 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3694 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3695 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3696
ec11736b 36972012-08-10 Richard Guenther <rguenther@suse.de>
3698
3699 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3700
5f7f600e 37012012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3702
3703 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3704 instead of separate pp_newline and pp_flush.
3705 (print_c_tree): Likewise.
3706
758a38ab 37072012-07-26 Richard Henderson <rth@redhat.com>
3708
3709 * c-common.c (handle_hot_attribute): Allow labels.
3710 (handle_cold_attribute): Likewise.
3711
9ca77b08 37122012-07-20 Jakub Jelinek <jakub@redhat.com>
3713
3714 PR c++/28656
3715 * c-common.c (check_function_nonnull): Handle multiple nonnull
3716 attributes properly.
3717
b9ed1410 37182012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3719
3720 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3721 * c-ada-spec.c: Likewise.
3722 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3723
c2a65b90 37242012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3725
3726 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3727 Remove code conditional on it.
3728
88c5a1d1 37292012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3730
3731 * c-gimplify.c: Do not include basic-block.h.
3732 * c-common.c: Do not include linfuncs.h.
3733
4a020a8c 37342012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3735
3736 * c-common.h: Include tree.h.
3737
c28ddc97 37382012-07-02 Jason Merrill <jason@redhat.com>
3739
3740 PR c++/53524
3741 * c-common.c (get_priority): Call default_conversion.
3742
405ed67f 37432012-07-01 Uros Bizjak <ubizjak@gmail.com>
3744
3745 * c-pch.c (c_common_write_pch): Remove unused variables.
3746
e53d55e7 37472012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3748
3749 * cppspec.c: Moved from gcc/ to here.
3750
3d9c25ec 37512012-06-27 Kai Tietz <ktietz@redhat.com>
3752
3753 PR preprocessor/37215
3754 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3755
3169c57a 37562012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3757
3758 * c-common.h (c_common_print_pch_checksum): Remove.
3759 * c-pch.c: Do not include output.h.
3760 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3761 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3762 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3763 (struct c_pch_header): Remove.
3764 (get_ident): Update gpch version.
3765 (pch_init): Do not print executable_checksum to asm_out_file.
3766 Do not fail if there is no asm_out_file to read back from. Set
3767 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3768 (c_common_write_pch): Verify that nothing was written to asm_out_file
3769 since pch_init was called. Do not write a c_pch_header, and do not
3770 copy from asm_out_file to the PCH.
3771 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3772 the content of asm_out_file from the PCH.
3773 (c_common_print_pch_checksum): Remove.
3774 * c-opts.c (c_common_init): Print out executable_checksum directly.
3775
ff6624bc 37762012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3777
3778 * c-target.def (objc_declare_unresolved_class_reference,
3779 objc_declare_class_definition): Add new hooks.
3780
367b1459 37812012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3782
3783 * c-lex.c: Do not include output.h.
3784 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3785 Remove uses of ASM_OUTPUT_IDENT.
3786
bf0cb017 37872012-06-15 Marc Glisse <marc.glisse@inria.fr>
3788
3789 PR c++/51033
3790 * c-common.h (c_build_vec_perm_expr): Move decl here.
3791 * c-common.c (c_build_vec_perm_expr): Move definition
3792 here.
3793
b37a3600 37942012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3795
3796 * c.opt (fconserve-space): Turn into a no-op.
3797
19931eea 37982012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3799
3800 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3801 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3802 both the start and end of the function.
3803
dff12c10 38042012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3805
3806 * c-common.c: Do not include output.h.
3807 * c-pragma.c: Likewise.
3808
5f9e7dd5 38092012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3810
3811 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3812 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3813 (lang_decl_name): Handle namespace decls.
3814
b5369b7d 38152012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3816
3817 * c-ada-spec.c: Do not include output.h.
3818 * c-semantics.c: Likewise.
3819
8032877c 38202012-05-29 Joseph Myers <joseph@codesourcery.com>
3821
3822 * c-common.c: Fix typo.
3823
7843e4bc 38242012-05-29 Michael Matz <matz@suse.de>
3825
3826 * c-common.h (c_expand_decl): Remove prototype.
3827
8cf857d4 38282012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3829
3830 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3831 * c-opts.c (c_common_handle_option): Remove code handling
3832 warn_missing_braces.
3833
8b64dc3c 38342012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3835
3836 PR c++/25137
3837 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3838 -Wmissing_braces.
3839
43cbde16 38402012-05-22 Dodji Seketeli <dodji@redhat.com>
3841
3842 PR c++/53322
3843 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3844
db490cb6 38452012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3846
3847 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3848 * c-opts.c (c_common_handle_option): Do not handle explicitly
3849 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3850
a60f3e81 38512012-05-16 Dodji Seketeli <dodji@redhat.com>
3852
3853 PR preprocessor/7263
3854 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3855 to cpp_classify_number. For diagnostics, use the precise location
3856 instead of the global input_location.
3857
82e6ef7c 38582012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3859
cd4797ff 3860 PR c++/11856
82e6ef7c 3861 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3862
258a168d 38632012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3864
82e6ef7c 3865 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 3866
d3b7ee7c 38672012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3868
3869 PR 53063
3870 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3871 Wreorder): Use LangEnabledBy.
3872 * c-opts.c (c_common_handle_option): Do not enable them
3873 explicitly. Call lang-specific generated functions.
3874 (c_common_post_options): Do not set them here.
3875
70059cea 38762012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3877
3878 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3879 Wmissing-field-initializers,Wmissing-parameter-type,
3880 Wold-style-declaration,Woverride-init): Use EnabledBy.
3881 * c-opts.c (c_common_post_options): Do not set here explicitly.
3882
fbb6fbd8 38832012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3884
3885 PR 53063
3886 * c-opts.c (c_common_handle_option): Use handle_generated_option
3887 to enable sub-options.
3888
61f69bc9 38892012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3890
3891 PR c++/53158
3892 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3893
5a1fe2db 38942012-05-10 Richard Guenther <rguenther@suse.de>
3895
3896 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3897 adjust commentary about TYPE_IS_SIZETYPE types.
3898
d42e7c5a 38992012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3900
3901 PR c++/53261
3902 * c-common.c (warn_logical_operator): Check that argument of
3903 integer_zerop is not NULL.
3904
686369e8 39052012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3906
3907 PR c/43772
3908 * c-common.c (warn_logical_operator): Do not warn if either side
3909 is already true or false.
3910
03fe1dc2 39112012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3912
3913 PR c/51712
3914 * c-common.c (expr_original_type): New.
3915 (shorten_compare): Do not warn for enumeration types.
3916
bba5a206 39172012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3918
3919 * c.opt (fpermissive): Add Var(flag_permissive).
3920
7059d45d 39212012-04-30 Marc Glisse <marc.glisse@inria.fr>
3922
3923 PR c++/51033
3924 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3925 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3926
7edb1062 39272012-04-30 Dodji Seketeli <dodji@redhat.com>
3928
3929 Add -Wvarargs option
3930 * c.opt (Wvarargs): Define new option.
3931
068bea1e 39322012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3933
3934 * c-common.c (check_function_arguments): Replace
3935 Wmissing-format-attribute with Wsuggest-attribute=format.
3936
b86527d8 39372012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3938
3939 * c.opt (Wsuggest-attribute=format): New. Alias of
3940 Wmissing-format-attribute.
3941 * c-format.c (decode_format_type): Replace
3942 Wmissing-format-attribute with Wsuggest-attribute=format.
3943 (check_function_format): Likewise.
3944
19931eea 39452012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3946
3947 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3948 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3949 * c.opt: Add Wliteral-suffix.
3950
29438999 39512012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3952
3953 PR c/44774
3954 * c.opt (Wpedantic): New.
3955 (pedantic): Alias Wpedantic.
3956 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3957 (c_common_post_options): Likewise.
3958 (sanitize_cpp_opts): Likewise.
3959 * c-lex.c (interpret_float): Likewise.
3960 * c-format.c (check_format_types): Likewise.
3961 * c-common.c (pointer_int_sum): Likewise.
3962 (c_sizeof_or_alignof_type): Likewise.
3963 (c_add_case_label): Likewise.
3964 (c_do_switch_warnings): Likewise.
3965 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3966
4f9d6b8b 39672012-04-15 Jason Merrill <jason@redhat.com>
3968
3969 PR c++/52818
3970 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3971 (C_STD_NAME): Distinguish between C++98 and C++11.
3972
74bdbe96 39732012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3974
3975 PR target/52624
3976 * c-common.h (uint16_type_node): Rename into...
3977 (c_uint16_type_node): ...this.
3978 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3979 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3980
3d177e8c 39812012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3982
3983 * c-common.c (warn_if_unused_value): Move definition to here.
3984 * c-common.h (warn_if_unused_value): Move declaration to here.
3985
6a9a958f 39862012-03-23 William Bader <williambader@hotmail.com>
3987
3988 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3989
543efdbe 39902012-03-20 Jason Merrill <jason@redhat.com>
3991
3992 * c-common.h (enum cxx_dialect): Add cxx1y.
3993 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3994 test.
3995 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3996 * c-opts.c (c_common_post_options): Likewise.
3997 (set_std_cxx1y): New.
3998 (c_common_handle_option): Call it.
3999 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4000
62206d34 40012012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4002
4003 PR c++/14710
4004 * c.opt ([Wuseless-cast]): Add.
4005
fadf62f4 40062012-03-16 Richard Guenther <rguenther@suse.de>
4007
4008 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4009
249faa35 40102012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4011
4012 PR c++/44783
4013 * c.opt (ftemplate-backtrace-limit) Add.
4014
126b6848 40152012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4016
4017 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4018 handling.
4019 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4020 (init_pragma): Don't register extern_prefix.
4021
a51edb4c 40222012-03-12 Richard Guenther <rguenther@suse.de>
4023
4024 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4025 (builtin_type_for_size): Likewise.
4026
0f6a7cb7 40272012-02-13 Jakub Jelinek <jakub@redhat.com>
4028
4029 PR c++/52215
4030 * c-common.c (sync_resolve_params): Don't decide whether to convert
4031 or not based on TYPE_SIZE comparison, convert whenever arg_type
4032 is unsigned INTEGER_TYPE.
4033
0779e32c 40342012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4035
4036 PR c/52118
4037 * c.opt ([Wunused-local-typedefs]): Fix description.
4038
baec58e1 40392012-01-24 Mike Stump <mikestump@comcast.net>
4040
4041 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4042 exactly.
4043
c779d8cc 40442012-01-18 Richard Guenther <rguenther@suse.de>
4045
4046 * c-opts.c (c_common_post_options): Reset LTO flags if
4047 we are about to generate a PCH.
4048
ee917d24 40492012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4050
4051 PR c++/51777
4052 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4053 use pp_unsigned_wide_integer.
4054
90e2341f 40552012-01-10 Richard Guenther <rguenther@suse.de>
4056
4057 PR middle-end/51806
4058 * c-opts.c (c_common_handle_option): Move -Werror handling
4059 to language independent code.
4060
9ea022ce 40612012-01-05 Richard Guenther <rguenther@suse.de>
4062
4063 PR middle-end/51764
4064 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4065 from common.opt.
4066
3df19e1b 40672011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4068
4069 PR c++/51316
4070 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4071 of array types with an unknown bound.
4072
32074525 40732011-12-20 Joseph Myers <joseph@codesourcery.com>
4074
4075 * c-common.c (flag_isoc99): Update comment to refer to C11.
4076 (flag_isoc1x): Change to flag_isoc11.
4077 * c-common.h (flag_isoc99): Update comment to refer to C11.
4078 (flag_isoc1x): Change to flag_isoc11.
4079 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4080 C11.
4081 * c-opts.c (set_std_c1x): Change to set_std_c11.
4082 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4083 Call set_std_c11.
4084 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4085 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4086 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4087 standard.
4088 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4089 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4090 (std=gnu1x): Make alias of std=gnu11.
4091
fca86134 40922011-12-19 Jason Merrill <jason@redhat.com>
4093
4094 PR c++/51228
4095 * c-common.c (handle_transparent_union_attribute): Check the first
4096 field if the type is complete.
4097
aa4313eb 40982011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4099
4100 PR libstdc++/51365
4101 * c-common.c (RID_IS_FINAL): Add.
4102 * c-common.h (RID_IS_FINAL): Add.
4103
3f3d5ad4 41042011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4105
4106 * c.opt (fgnu-runtime): Provide full description.
4107 (fnext-runtime): Likewise.
4108 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4109
c4606d19 41102011-11-28 Andrew MacLeod <amacleod@redhat.com>
4111
4112 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4113 predefines in one place. Add LOCK_FREE predefines.
4114 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4115 new func.
4116
1d581089 41172011-11-24 Andrew MacLeod <amacleod@redhat.com>
4118
4119 PR c/51256
19931eea 4120 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4121 conditions
19931eea 4122 (resolve_overloaded_atomic_exchange,
4123 resolve_overloaded_atomic_compare_exchange,
1d581089 4124 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4125 error_mark_node for error conditions.
19931eea 4126
6aa221fa 41272011-11-08 Richard Guenther <rguenther@suse.de>
4128
4129 PR middle-end/51010
4130 c-family/
4131
4c0315d0 41322011-11-07 Richard Henderson <rth@redhat.com>
4133 Aldy Hernandez <aldyh@redhat.com>
4134 Torvald Riegel <triegel@redhat.com>
4135
4136 Merged from transactional-memory.
4137
4138 * c-common.c (handle_tm_wrap_attribute,
4139 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4140 (struct c_common_reswords): Added __transaction* keywords.
4141 (struct c_common_attribute_table): Added transaction* and tm_regparm
4142 attributes.
4143 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4144 masks.
4145 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4146 find_tm_attribute): Declare.
4147
920f5a70 41482011-11-07 Jason Merrill <jason@redhat.com>
4149
4150 PR c++/35688
4151 * c-common.c, c-common.h: Revert yesterday's changes.
4152
b4f861b4 41532011-11-06 Jason Merrill <jason@redhat.com>
4154
4155 PR c++/35688
4156 * c-common.c (decl_has_visibility_attr): Split out from...
4157 (c_determine_visibility): ...here.
4158 * c-common.h: Declare it.
4159
83e25171 41602011-11-06 Joseph Myers <joseph@codesourcery.com>
4161
4162 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4163 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4164 type.
4165 (check_user_alignment): New. Split out of
4166 handle_aligned_attribute. Disallow integer constants with
4167 noninteger types. Conditionally allow zero.
4168 (handle_aligned_attribute): Use check_user_alignment.
4169 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4170
1cd6e20d 41712011-11-06 Andrew MacLeod <amacleod@redhat.com>
4172 Richard Henderson <rth@redhat.com>
4173
4174 Merged from cxx-mem-model.
4175
4176 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4177 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4178 parameters that are the same type size.
4179 (get_atomic_generic_size): New. Find size of generic
4180 atomic function parameters and do typechecking.
4181 (add_atomic_size_parameter): New. Insert size into parameter list.
4182 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4183 either __atomic_exchange_n or external library call.
19931eea 4184 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4185 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4186 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4187 __atomic_load_n or an external library call.
4188 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4189 __atomic_store_n or an external library call.
4190 (resolve_overloaded_builtin): Handle new __atomic builtins.
4191
7549df0d 41922011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4193
4194 PR c++/50608
4195 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4196 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4197 <INDIRECT_REF>: Return the argument.
4198 <ARRAY_REF>: Remove special code for negative offset.
4199 Call fold_build_pointer_plus instead of size_binop.
4200 (fold_offsetof): Remove STOP_REF argument and adjust.
4201 * c-common.h (fold_offsetof_1): Declare.
4202 (fold_offsetof): Remove STOP_REF argument.
4203
7e783eb3 42042011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4205
4206 PR c++/50810
4207 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4208 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4209 Wnarrowing for C++0x and C++98.
4210 * c.opt ([Wnarrowing]): Update.
4211
8fe701f5 42122011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4213
4214 PR c++/44277
4215 * c.opt: Add Wzero-as-null-pointer-constant.
4216
0d84dc2d 42172011-10-31 Jason Merrill <jason@redhat.com>
4218
67031f52 4219 * c.opt (-fdeduce-init-list): Off by default.
4220
0d84dc2d 4221 PR c++/50920
4222 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4223 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4224 and -Wc++11-compat.
4225 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4226
66f24c41 42272011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4228
4229 PR c++/30066
4230 * c.opt (fvisibility-inlines-hidden): Description change.
4231
244db24d 42322011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4233
4234 Implement C++11 user-defined literals.
4235 * c-common.c (build_userdef_literal): New.
4236 * c-common.def: New tree code.
4237 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4238 * c-lex.c (interpret_float): Add suffix parm.
4239 (c_lex_with_flags): Build literal tokens.
4240
235be70f 42412011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4242
4243 PR c++/50841
4244 Revert:
4245 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4246
4247 PR c++/50810
4248 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4249 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4250 Wnarrowing for C++0x and C++98.
4251 * c.opt ([Wnarrowing]): Update.
4252
4fe0fb1c 42532011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4254
4255 PR c++/50810
4256 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4257 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4258 Wnarrowing for C++0x and C++98.
4259 * c.opt ([Wnarrowing]): Update.
4260
5f7504f9 42612011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4262
4263 PR c++/45385
4264 * c-common.c (conversion_warning): Remove code looking for
4265 artificial operands.
4266
2a688977 42672011-10-18 Dodji Seketeli <dodji@redhat.com>
4268
4269 PR bootstrap/50760
4270 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4271 !NO_IMPLICIT_EXTERN_C.
2a688977 4272
326e3391 42732011-10-17 Michael Spertus <mike_spertus@symantec.com>
4274
4275 * c-common.c (c_common_reswords): Add __bases,
4276 __direct_bases.
4277 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4278
42792011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4280
4281 PR c++/50757
4282 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4283
62db153a 42842011-10-15 Tom Tromey <tromey@redhat.com>
4285 Dodji Seketeli <dodji@redhat.com>
4286
4287 * c.opt (fdebug-cpp): New option.
4288 * c-opts.c (c_common_handle_option): Handle the option.
4289 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4290 output stream in parameter. Factorized from ...
4291 (maybe_print_line): ... this. Dump location debug information when
4292 -fdebug-cpp is in effect.
4293 (print_line_1): New static function. Takes an output stream in
4294 parameter. Factorized from ...
4295 (print_line): ... here. Dump location information when -fdebug-cpp
4296 is in effect.
4297 (scan_translation_unit): Dump location information when
4298 -fdebug-cpp is in effect.
4299
ce70f433 43002011-10-15 Tom Tromey <tromey@redhat.com>
4301 Dodji Seketeli <dodji@redhat.com>
4302
4303 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4304 without argument.
4305 * c-opts.c (c_common_handle_option)<case
4306 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4307 cases. Handle -ftrack-macro-expansion with and without argument.
4308
97bfb9ef 43092011-10-15 Tom Tromey <tromey@redhat.com>
4310 Dodji Seketeli <dodji@redhat.com>
4311
4312 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4313 (print_line, cb_define, do_line_change): Adjust to avoid touching
4314 the internals of struct line_map. Use the public API instead.
4315 * c-pch.c (c_common_read_pch): Likewise.
4316 * c-lex.c (fe_file_change): Likewise.
4317
326e3391 43182011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4319
4320 PR c++/17212
4321 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4322
43232011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4324
4325 PR c++/33067
4326 * c-pretty-print.c (pp_c_floating_constant): Output
4327 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4328
b9a16870 43292011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4330
4331 * c-common.c (def_builtin_1): Delete old interface with two
4332 parallel arrays to hold standard builtin declarations, and replace
4333 it with a function based interface that can support creating
4334 builtins on the fly in the future. Change all uses, and poison
4335 the old names. Make sure 0 is not a legitimate builtin index.
4336 * c-omp.c (c_finish_omp_barrier): Ditto.
4337 (c_finish_omp_taskwait): Ditto.
4338 (c_finish_omp_flush): Ditto.
4339
c7964868 43402011-10-11 Tristan Gingold <gingold@adacore.com>
4341
4342 * c.opt: (fallow-parameterless-variadic-functions): New.
4343
a4e3ffad 43442011-09-08 Dodji Seketeli <dodji@redhat.com>
4345
4346 PR c++/33255 - Support -Wunused-local-typedefs warning
4347 * c-common.h (struct c_language_function::local_typedefs): New
4348 field.
19931eea 4349 (record_locally_defined_typedef, maybe_record_typedef_use)
4350 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4351 * c-common.c (record_locally_defined_typedef)
19931eea 4352 (maybe_record_typedef_use)
4353 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4354 * c.opt: Declare new -Wunused-local-typedefs flag.
4355
737a23cc 43562011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4357
4358 PR middle-end/50266
4359 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4360 computations.
4361
7542c3b4 43622011-09-05 Richard Guenther <rguenther@suse.de>
4363
4364 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4365 of integer_minus_one_node for empty array upper bounds.
4366
1dc92c59 43672011-08-28 Dodji Seketeli <dodji@redhat.com>
4368
4369 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4370 it's the first time it's being called on this main TU.
4371
2bdf2b6e 43722011-08-24 Richard Guenther <rguenther@suse.de>
4373
4374 PR c/49396
4375 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4376
43772011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4378
4379 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4380 defined in cpp_init_builtins and c_cpp_builtins.
4381
bff4ad11 43822011-08-19 Joseph Myers <joseph@codesourcery.com>
4383
4384 * c-common.c (c_common_reswords): Add __builtin_complex.
4385 * c-common.h (RID_BUILTIN_COMPLEX): New.
4386
985c6e3a 43872011-08-18 Joseph Myers <joseph@codesourcery.com>
4388
4389 * c-common.c (c_common_reswords): Add _Noreturn.
4390 (keyword_is_function_specifier): Handle RID_NORETURN.
4391 * c-common.h (RID_NORETURN): New.
4392
7dfa155b 43932011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4394
4395 * c-common.c (unsafe_conversion_p): New function. Check if it is
4396 unsafe to convert an expression to the type.
4397 (conversion_warning): Adjust, use unsafe_conversion_p.
4398 * c-common.h (unsafe_conversion_p): New function declaration.
4399
2169f33b 44002011-08-02 Jakub Jelinek <jakub@redhat.com>
4401
4402 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4403 (c_finish_omp_taskyield): New prototype.
4404 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4405 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4406 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4407 or RHS1 have side-effects, evaluate those too in the right spot,
4408 if it is a decl and LHS is also a decl, error out if they
4409 aren't the same.
4410 (c_finish_omp_taskyield): New function.
4411 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4412 * c-pragma.c (omp_pragmas): Add taskyield.
4413 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4414 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4415 PRAGMA_OMP_CLAUSE_MERGEABLE.
4416
ab77850e 44172011-07-25 Dodji Seketeli <dodji@redhat.com>
4418
4419 * c-common.h (set_underlying_type): Remove parm name from
4420 declaration.
4421
6ee97920 44222011-07-25 Romain Geissler <romain.geissler@gmail.com>
4423
4424 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4425
dc251364 44262011-07-22 Jason Merrill <jason@redhat.com>
4427
1a2a35f0 4428 PR c++/49793
4429 * c.opt (Wnarrowing): New.
4430
27282252 4431 PR c++/30112
4432 * c-common.h: Declare c_linkage_bindings.
4433 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4434
dc251364 4435 PR c++/49813
4436 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4437 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4438 as flag_isoc99 for 'restrict'.
4439 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4440
fc501191 44412011-07-21 Ian Lance Taylor <iant@google.com>
4442
4443 PR middle-end/49705
4444 * c-common.c (c_disable_warnings): New static function.
4445 (c_enable_warnings): New static function.
4446 (c_fully_fold_internal): Change local unused_p to bool. Call
4447 c_disable_warnings and c_enable_warnings rather than change
4448 c_inhibit_evaluation_warnings.
4449
07b8f133 44502011-07-20 Jason Merrill <jason@redhat.com>
4451
4452 PR c++/6709 (DR 743)
4453 PR c++/42603 (DR 950)
4454 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4455 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4456 (CPP_DECLTYPE): New.
4457 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4458
2cc66f2a 44592011-07-19 Richard Guenther <rguenther@suse.de>
4460
4461 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4462 * c-omp.c (c_finish_omp_for): Likewise.
4463
3c802a1e 44642011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4465
4466 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4467 body on the next line.
4468
98a33d9f 44692011-07-08 Jason Merrill <jason@redhat.com>
4470
3115bda0 4471 PR c++/45437
4472 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4473
98a33d9f 4474 PR c++/49673
4475 * c-common.c (c_apply_type_quals_to_decl): Don't check
4476 TYPE_NEEDS_CONSTRUCTING.
4477
c38a75b7 44782011-07-06 Richard Guenther <rguenther@suse.de>
4479
4480 * c-common.c (c_common_nodes_and_builtins):
4481 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4482
e593356b 44832011-07-05 Richard Guenther <rguenther@suse.de>
4484
4485 * c-common.c (c_common_nodes_and_builtins): Build all common
4486 tree nodes first.
4487
fca0886c 44882011-06-27 Jakub Jelinek <jakub@redhat.com>
4489
a68f7a8d 4490 * c-common.h (c_tree_chain_next): New static inline function.
4491
fca0886c 4492 * c-common.c (check_builtin_function_arguments): Handle
4493 BUILT_IN_ASSUME_ALIGNED.
4494
2797f13a 44952011-06-21 Andrew MacLeod <amacleod@redhat.com>
4496
4497 * c-common.c: Add sync_ or SYNC__ to builtin names.
4498 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4499
45002011-06-20 Pierre Vittet <piervit@pvittet.com>
4501
4502 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4503 handler.
4504 (gen_pragma_handler): New union.
4505 (internal_pragma_handler): New type.
4506 (c_register_pragma_with_data)
4507 (c_register_pragma_with_expansion_and_data): New functions.
4508
4509 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4510 (c_register_pragma, c_register_pragma_with_expansion)
4511 (c_invoke_pragma_handler): Changed to work with
4512 internal_pragma_handler.
4513 (c_register_pragma_with_data)
4514 (c_register_pragma_with_expansion_and_data): New functions.
4515
218e3e4e 45162011-06-14 Joseph Myers <joseph@codesourcery.com>
4517
4518 * c-common.c: Include common/common-target.h.
4519 (handle_section_attribute): Use
4520 targetm_common.have_named_sections.
4521 * c-cppbuiltin.c: Include common/common-target.h.
4522 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4523
41e53ed2 45242011-06-10 Richard Guenther <rguenther@suse.de>
4525
4526 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4527 to print a IDENTIFIER_NODE.
4528
a6f06169 45292011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4530 Joseph Myers <joseph@codesourcery.com>
4531
4532 * c.opt (fbuilding-libgcc): New option.
4533 * c-cppbuiltin.c (c_cpp_builtins): Define
4534 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4535
1ea9269b 45362011-06-07 Jason Merrill <jason@redhat.com>
4537
8ce59854 4538 * c-common.c (max_tinst_depth): Lower default to 900.
4539
1ea9269b 4540 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4541
1af0124d 45422011-06-07 Richard Guenther <rguenther@suse.de>
4543
4544 * c-common.c (c_common_nodes_and_builtins): Do not set
4545 size_type_node or call set_sizetype.
4546
0e9a4c01 45472011-06-07 Dodji Seketeli <dodji@redhat.com>
4548
4549 PR debug/49130
4550 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4551 type when using pointer comparison to compare types.
0e9a4c01 4552
90b40725 45532011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4554
4555 * c.opt: Add -Wdelete-non-virtual-dtor.
4556 * c-opts.c (c_common_handle_option): Include it in -Wall.
4557
fc9c9e87 45582011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4559
4560 PR bootstrap/49190
4561
4562 Revert:
4563 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4564
4565 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4566 not tree_common.
4567
d0389adc 45682011-05-27 Jakub Jelinek <jakub@redhat.com>
4569
4570 PR c++/49165
4571 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4572 C++ don't call c_common_truthvalue_conversion on void type arms.
4573
cacfdc02 45742011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4575
4576 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4577 (stmt_list_stack): Define.
4578 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4579 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4580
027fc6ef 45812011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4582
4583 * c-common.c (warning_candidate_p): Check for BLOCKs.
4584
f21317a1 45852011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4586
4587 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4588 not tree_common.
4589
789e953d 45902011-05-25 Jakub Jelinek <jakub@redhat.com>
4591
4592 * c-common.c (def_fn_type): Remove extra va_end.
4593
7f506bca 45942011-05-23 Jason Merrill <jason@redhat.com>
4595
4596 PR c++/48106
4597 * c-common.c (c_common_get_narrower): New.
4598 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4599
774e9d58 46002011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4601
4602 * c-common.h (check_function_arguments): Tweak prototype of
4603 check_function_arguments.
4604 * c-common.c (check_function_arguments): Likewise. Adjust
4605 calls to check_function_nonnull, check_function_format, and
4606 check_function_sentinel.
4607 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4608 separate attributes and typelist arguments. Use
4609 FOREACH_FUNCTION_ARGS to iterate over argument types.
4610
23407dc9 46112011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4612
4613 * c-common.c (c_common_reswords): Reorder.
4614 * c-common.h (rid): Likewise.
4615
3a939d12 46162011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4617
4618 * c-common.c (def_fn_type): Don't call build_function_type, call
4619 build_function_type_array or build_varargs_function_type_array
4620 instead.
4621 (c_common_nodes_and_builtins): Likewise.
4622
b6e3dd65 46232011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4624
4625 * c-common.c (c_add_case_label): Omit the loc argument to
4626 build_case_label.
4627 * c-common.h (build_case_label): Remove.
4628 * c-semantics.c (build_case_label): Remove.
4629
4232a958 46302011-05-05 Joseph Myers <joseph@codesourcery.com>
4631
4632 * c-objc.h (objc_start_method_definition): Update prototype.
4633 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4634
d0af78c5 46352011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4636
4637 * c-common.c (check_main_parameter_types): Reindent. Don't use
4638 TYPE_ARG_TYPES directly.
4639 (handle_nonnull_attribute): Likewise.
4640 (sync_resolve_params): Likewise.
4641 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4642 to check_format_string.
4643 (handle_format_attribute): Likewise.
4644 (check_format_string): Take a function type to examine instead of
4645 a type list. Use a function_arg_iterator to step through argument
4646 types.
4647
ceb7b692 46482011-05-04 Richard Guenther <rguenther@suse.de>
4649
4650 * c-common.c (fix_string_type): Use size_int for index type bounds.
4651 (start_fname_decls): Do not pass NULL to build_int_cst.
4652 (c_init_attributes): Likewise.
4653 * c-lex.c (c_lex_with_flags): Likewise.
4654
c66c81be 46552011-04-27 Jason Merrill <jason@redhat.com>
4656
4657 * c-common.c (make_tree_vector_from_list): New.
4658 * c-common.h: Declare it.
4659
16930c72 46602011-04-26 Richard Guenther <rguenther@suse.de>
4661
4662 PR preprocessor/48248
4663 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4664 for output size with -P.
4665
23407dc9 46662011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4667
4668 * c-common.c (struct c_common_resword): Add __underlying_type.
4669 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4670
dd045aee 46712011-04-20 Jim Meyering <meyering@redhat.com>
4672
4673 * c-format.c (init_dollar_format_checking): Remove useless
4674 if-before-free.
4675
394dd737 46762011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4677
4678 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4679 (objc_detect_field_duplicates): New.
394dd737 4680 * stub-objc.c: Likewise.
23407dc9 4681
a758bf7d 46822011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4683
4684 * stub-objc.c (objc_declare_protocols): Renamed to
4685 objc_declare_protocol.
4686 * c-objc.h: Likewise.
23407dc9 4687
29d7200d 46882011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4689
4690 * stub-objc.c (objc_declare_class): Updated argument name.
4691
9b88d08d 46922011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4693
4694 * c-common.h (c_common_init_ts): Declare.
4695 * c-common.c (c_common_init_ts): Define.
4696
4185cf58 46972011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4698
4699 * c-objc.h (objc_build_message_expr): Updated prototype.
4700 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4701
5a90471f 47022011-04-12 Martin Jambor <mjambor@suse.cz>
4703
4704 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4705 of cgraph_node.
4706
783bb57e 47072011-04-11 Richard Guenther <rguenther@suse.de>
4708
4709 * c-common.c (complete_array_type): Build a range type of
4710 proper type.
4711
c33080b9 47122011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4713
4714 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4715 (handle_type_generic_attribute): Likewise.
4716
f8913d47 47172011-04-07 Jason Merrill <jason@redhat.com>
4718
4719 PR c++/48450
4720 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4721 conversion from C++0x scoped enum.
4722
c94b1d0e 47232011-04-06 Joseph Myers <joseph@codesourcery.com>
4724
4725 * c-target-def.h: New file.
4726 * c-target.def: New file.
4727 * c-target.h: New file.
4728 * c-common.c (targetcm): Don't define here.
4729 * c-common.h (default_handle_c_option): Declare.
4730 * c-format.c: Include c-target.h instead of target.h.
4731 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4732 include tm.h.
4733 (default_handle_c_option): Move from targhooks.c.
4734
acb10f41 47352011-03-29 Jakub Jelinek <jakub@redhat.com>
4736
4737 PR preprocessor/48248
4738 * c-ppoutput.c (print): Add src_file field.
4739 (init_pp_output): Initialize it.
4740 (maybe_print_line): Don't optimize by adding up to 8 newlines
4741 if map->to_file and print.src_file are different file.
4742 (print_line): Update print.src_file.
4743
82715bcd 47442011-03-25 Kai Tietz <ktietz@redhat.com>
4745
4746 * c-ada-spec.c (compare_comment): Use filename_cmp
4747 instead of strcmp for filename.
4748
451c8e2f 47492011-03-25 Jeff Law <law@redhat.com>
4750
1f78217c 4751 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4752
3c47771c 47532011-03-25 Jason Merrill <jason@redhat.com>
4754
4755 * c.opt: Add -std=c++03.
4756
97e6200f 47572011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4758
4759 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4760
ac86af5d 47612011-03-17 Kai Tietz
4762
4763 PR target/12171
ee212425 4764 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4765 Display allowed attributes for function pointer types.
4766 (pp_c_attributes_display): New function to display
4767 attributes having affects_type_identity flag set to true.
4768 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4769
ac86af5d 4770 * c-common.c (c_common_attribute_table):
4771 Add new element.
4772 (c_common_format_attribute_table): Likewise.
4773
914d1151 47742011-03-18 Jason Merrill <jason@redhat.com>
4775
69788bdf 4776 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4777 * c-common.h: Don't declare it here.
4778 * c-common.c: Or define it here.
4779 * c-opts.c (c_common_handle_option): Or set it here.
4780
914d1151 4781 PR c++/35315
4782 * c-common.c (handle_transparent_union_attribute): Don't
4783 make a duplicate type in C++.
4784
54cf6eed 47852011-03-15 Jason Merrill <jason@redhat.com>
4786
4787 * c-common.c (max_constexpr_depth): New.
4788 * c-common.h: Declare it.
4789 * c-opts.c (c_common_handle_option): Set it.
4790 * c.opt (fconstexpr-depth): New option.
4791
02cb1060 47922011-03-11 Jason Merrill <jason@redhat.com>
4793
9bf1c74e 4794 * c-common.c (attribute_takes_identifier_p): Add missing const.
4795
02cb1060 4796 PR c++/46803
4797 * c-common.c (attribute_takes_identifier_p): Assume that an
4798 unknown attribute takes an identifier.
4799
ecf2703d 48002011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4801
4802 PR c/47786
4803 * c-common.c (c_type_hash): Call list_length instead of iterating
4804 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4805
2b19dfe4 48062011-02-19 Jakub Jelinek <jakub@redhat.com>
4807
4808 PR c/47809
4809 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4810
29cf2335 48112011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4812
4813 * c.opt (fobjc-abi-version=) New.
4814 (fobjc-nilcheck): New.
4815
fad3f658 48162011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4817
4818 PR c++/46890
4819 * c-common.h (keyword_is_decl_specifier): Declare.
4820 * c-common.c (keyword_is_decl_specifier): Define.
4821 (keyword_is_function_specifier): New function.
4822
a12319b3 48232011-01-26 Jakub Jelinek <jakub@redhat.com>
4824
4825 PR c/47473
4826 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4827 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4828 REAL_TYPE.
4829
5c128dc8 48302011-01-26 Arnaud Charlet <charlet@adacore.com>
4831
4832 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4833
8d67b0c7 48342011-01-26 Jakub Jelinek <jakub@redhat.com>
4835
4836 PR pch/47430
4837 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4838 after init_c_lex if pch_file is set.
4839
0675168d 48402011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4841
e8911163 4842 PR c++/43601
0675168d 4843 * c.opt (-fkeep-inline-dllexport): New switch.
4844
0725e25c 48452011-01-12 Richard Guenther <rguenther@suse.de>
4846
4847 PR middle-end/32511
4848 * c-common.c (handle_weak_attribute): Warn instead of error
4849 on declaring an inline function weak.
4850
fdd84b77 48512011-01-05 Tom Tromey <tromey@redhat.com>
4852
4853 * c-common.h (lvalue_error): Update.
4854 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4855 not error.
4856
e6e73d14 48572010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 4858
d67e8485 4859 PR objc/47075
4860 * c-objc.h (objc_finish_message_expr): Added argument to
4861 prototype.
4862
a36cf284 48632010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4864
4865 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4866 Use prototype_p.
4867
33b3681f 48682010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4869
4870 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 4871 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 4872
a1f90215 48732010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4874
4875 * c-common.h (readonly_error): Declare.
4876 * c-common.c (readonly_error): Define.
4877
b1bbc8e5 48782010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4879
4880 * c-common.h (invalid_indirection_error): Declare.
4881 * c-common.c (invalid_indirection_error): Define.
4882
b0d55af9 48832010-12-03 Richard Guenther <rguenther@suse.de>
4884
4885 PR c/46745
4886 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4887 (pp_c_unary_expression): Likewise.
4888 (pp_c_expression): Likewise.
4889
d7489d8d 48902010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4891
4892 * c-common.h (objc_finish_function): New.
4893 (objc_non_volatilized_type): Removed.
4894 (objc_type_quals_match): Removed.
4895 * stub-objc.c (objc_finish_function): New.
4896 (objc_non_volatilized_type): Removed.
4897 (objc_type_quals_match): Removed.
19931eea 4898
92468061 48992010-11-30 Joseph Myers <joseph@codesourcery.com>
4900
4901 * c-common.h (parse_optimize_options): Declare.
4902 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4903 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4904
967958e4 49052010-11-29 Joseph Myers <joseph@codesourcery.com>
4906
4907 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4908 GET_ENVIRONMENT.
4909 * c-pch.c (O_BINARY): Don't define here.
4910 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4911
b213bf24 49122010-11-25 Joseph Myers <joseph@codesourcery.com>
4913
4914 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4915 targetm.except_unwind_info.
4916
9faf44d6 49172010-11-23 Joseph Myers <joseph@codesourcery.com>
4918
4919 * c-opts.c (c_common_handle_option): Pass location to
4920 set_struct_debug_option.
4921
79396169 49222010-11-23 Joseph Myers <joseph@codesourcery.com>
4923
4924 * c-common.c (visibility_options): Move from ../opts.c.
4925 * c-common.h (struct visibility_flags, visibility_options):
4926 Declare here.
4927 * c-opts.c (finish_options): Rename to c_finish_options.
4928 (c_common_init): Update call to finish_options.
4929
b4aa4123 49302010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4931
4932 PR objc/34033
4933 * c-lex.c (lex_string): Check that each string in an Objective-C
4934 string concat sequence starts with either one or zero '@', and
4935 that there are no spurious '@' signs at the end.
4936
3e0e49f2 49372010-11-20 Joseph Myers <joseph@codesourcery.com>
4938
4939 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4940 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4941 HANDLE_PRAGMA_VISIBILITY.
4942 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4943 HANDLE_PRAGMA_VISIBILITY): Don't define.
4944 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4945
a9ffdd35 49462010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4947
4948 PR c++/16189
4949 PR c++/36888
4950 PR c++/45331
4951 * c-common.h (keyword_begins_type_specifier): Declare.
4952 (keyword_is_storage_class_specifier): Declare.
4953 (keyword_is_type_qualifier): Declare.
4954 * c-common.c (keyword_begins_type_specifier): New function.
4955 (keyword_is_storage_class_specifier): New function.
4956 (keyword_is_type_qualifier): Declare.
4957
93be21c0 49582010-11-19 Joseph Myers <joseph@codesourcery.com>
4959
4960 PR c/46547
4961 * c-common.c (in_late_binary_op): Define.
4962 (c_common_truthvalue_conversion): Check in_late_binary_op before
4963 calling c_save_expr.
4964 * c-common.h (in_late_binary_op): Declare.
4965
d7175aef 49662010-11-19 Joseph Myers <joseph@codesourcery.com>
4967
4968 * c-opts.c (c_common_handle_option): Update calls to
4969 set_struct_debug_option.
4970
c213e196 49712010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4972
4973 * c-common.h (objc_declare_protocols): Added additional argument.
4974 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4975
0b5fc5d6 49762010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4977
4978 PR c/33193
4979 * c-common.h (build_real_imag_expr): Declare.
4980 * c-semantics.c (build_real_imag_expr): Define.
4981
b8ba44e7 49822010-11-17 Joseph Myers <joseph@codesourcery.com>
4983
4984 * c-opts.c (c_common_parse_file): Take no arguments.
4985 * c-common.h (c_common_parse_file): Update prototype.
4986
6ef8d12f 49872010-11-16 Jakub Jelinek <jakub@redhat.com>
4988
4989 PR c++/46401
4990 * c-common.c (warning_candidate_p): Don't track non-const calls
4991 or STRING_CSTs.
4992
929d2a90 49932010-11-15 Ian Lance Taylor <iant@google.com>
4994
4995 * c-lex.c (init_c_lex): Set macro debug callbacks if
4996 flag_dump_go_spec is set.
4997
e4a7640a 49982010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4999
5000 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5001 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5002
597d2d81 50032010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5004
5005 PR preprocessor/45038
5006 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5007 dialects.
5008
c123f04d 50092010-11-12 Joseph Myers <joseph@codesourcery.com>
5010
5011 * c-common.h (c_family_lang_mask): Declare.
5012 * c-opts.c (c_family_lang_mask): Make extern.
5013 * c-pragma.c (handle_pragma_diagnostic): Use
5014 control_warning_option.
5015
3c6c0e40 50162010-11-12 Joseph Myers <joseph@codesourcery.com>
5017
5018 * c-common.c (parse_optimize_options): Update call to
5019 decode_options.
5020 * c-common.h (c_common_handle_option): Update prototype.
5021 * c-opts.c (c_common_handle_option): Take location_t parameter and
5022 pass it to other functions.
5023
19ec5c9e 50242010-11-11 Joseph Myers <joseph@codesourcery.com>
5025
5026 * c-opts.c (warning_as_error_callback): Remove.
5027 (c_common_initialize_diagnostics): Don't call
5028 register_warning_as_error_callback.
5029 (c_common_handle_option): Handle -Werror=normalized= here.
5030
bf776685 50312010-11-10 Joseph Myers <joseph@codesourcery.com>
5032
5033 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5034 in diagnostic.
5035 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5036 letter.
5037 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5038 Remove trailing '.' from diagnostics.
5039 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5040
6bd9d862 50412010-11-10 Joseph Myers <joseph@codesourcery.com>
5042
5043 * c-common.c (parse_optimize_options): Pass global_dc to
5044 decode_options.
5045 * c-opts.c (c_common_handle_option): Pass &global_options to
5046 set_Wstrict_aliasing.
5047 * c.opt (v): Don't mark Common or document here.
5048
1f6616ee 50492010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5050
5051 PR target/44981
5052 * c-format.c (format_type): New type gcc_objc_string_format_type.
5053 (valid_stringptr_type_p): New.
5054 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5055 (check_format_string): Pass expected type, use
1f6616ee 5056 valid_stringptr_type_p (), check that the format string types are
5057 consistent with the format specification.
5058 (decode_format_attr): Warn if NSString is used outside objective-c.
5059 (format_types_orig): Add NSString.
5060 (format_name): New.
5061 (format_flags): New.
5062 (check_format_arg): Handle format strings requiring an external parser.
5063 first_target_format_type: New variable.
5064 (handle_format_attribute): Set up first_target_format_type, pass the
5065 expected format arg string type to check_format_string().
5066 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5067 * stub-objc.c (objc_string_ref_type_p): New.
5068 (objc_check_format_arg): New.
5069
b0d0931f 50702010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5071
19931eea 5072 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5073 * c-common.h (objc_build_class_component_ref): New.
5074 * stub-objc.c (objc_build_class_component_ref): New.
5075
f26877d5 50762010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5077
5078 * c.opt (Wproperty-assign-default): New option.
5079
1ef143b6 50802010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5081
5082 Implemented -fobjc-std=objc1 flag.
5083 * c.opt (fobjc-std=objc1): New option.
5084
8c582e4f 50852010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5086
5087 Implemented format and noreturn attributes for Objective-C methods.
5088 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5089 attribute for Objective-C methods.
5090
8637f1db 50912010-10-31 Jason Merrill <jason@redhat.com>
5092
5093 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5094 EXPR_LOC_OR_HERE.
5095
9d9f5bb3 50962010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5097
5098 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5099 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5100 (objc_add_property_declaration): Removed arguments for copies and
5101 ivar.
5102 (objc_build_getter_call): Renamed to
5103 objc_maybe_build_component_ref.
5104 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5105 (objc_is_property_ref): New.
5106 * c-common.c (c_common_reswords): Removed copies and ivar.
5107 * stub-objc.c (objc_add_property_declaration): Removed arguments
5108 for copies and ivar.
5109 (objc_build_getter_call): Renamed to
5110 objc_maybe_build_component_ref.
5111 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5112 (objc_is_property_ref): New.
19931eea 5113
56f907a0 51142010-10-29 Arnaud Charlet <charlet@adacore.com>
5115 Matthew Gingell <gingell@adacore.com>
5116
5117 * c-ada-spec.c (separate_class_package): New function.
5118 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5119 name of their enclosing package.
5120 (print_ada_declaration): Use separate_class_package.
5121
b5fa273e 51222010-10-27 Jason Merrill <jason@redhat.com>
5123
5290e253 5124 * c-common.c (c_common_reswords): Add __is_literal_type.
5125 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5126
b5fa273e 5127 * c-common.c (check_case_value): Remove special C++ code.
5128
7590f0e5 51292010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5130
5131 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5132 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5133 and RID_LAST_PATTR.
5134 (objc_add_property_declaration): Added additional arguments.
5135 (objc_property_attribute_kind): Removed.
5136 (objc_set_property_attr): Removed.
5137 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5138 copy and nonatomic.
5139 * stub-objc.c (objc_add_property_declaration): Added additional
5140 arguments.
5141 (objc_set_property_attr): Removed.
19931eea 5142
1d894bcf 51432010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5144
5145 * c-common.h (objc_add_property_variable): Renamed to
5146 objc_add_property_declaration. Added location argument.
5147 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5148
e23bf1fb 51492010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5150
5151 * c-common.h (objc_maybe_printable_name): New.
5152 * stub-objc.c (objc_maybe_printable_name): New.
5153
93426222 51542010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5155 Andrew Pinski <pinskia@gmail.com>
5156
5157 * c-common.h (c_common_mark_addressable_vec): Declare.
5158 * c-common.c (c_common_mark_addressable_vec): New function.
5159
45b2b110 51602010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5161
5162 * c-common.h (objc_set_method_type): Removed.
5163 (objc_add_method_declaration): Added boolean argument.
5164 (objc_start_method_definition): Same change.
5165 (objc_build_method_signature): Same change.
5166 * stub-objc.c (objc_set_method_type): Removed.
5167 (objc_add_method_declaration): Added boolean argument.
5168 (objc_start_method_definition): Same change.
5169 (objc_build_method_signature): Same change.
5170
64cd9619 51712010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5172
5173 * c-common.h (finish_file): Removed.
5174 (objc_write_global_declarations): New.
5175 * c-opts.c (c_common_parse_file): Do not call finish_file.
5176 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5177
e1f293c0 51782010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5179
5180 Implemented parsing @synthesize and @dynamic for
5181 Objective-C/Objective-C++.
5182 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5183 (objc_add_synthesize_declaration): New.
5184 (objc_add_dynamic_declaration): New.
5185 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5186 * stub-objc.c (objc_add_synthesize_declaration): New.
5187 (objc_add_dynamic_declaration): New.
19931eea 5188
ef97a312 51892010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5190
5191 PR target/46041
5192 * c-cppbuiltin.c (mode_has_fma): Move function here from
5193 builtins.c. Don't use the fma optab, instead just use the
5194 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5195 using -save-temps.
5196
69b07042 51972010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5198
5199 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5200
69b07042 5201 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5202
19931eea 5203 Radar 4330422
69b07042 5204 * c-common.h (objc_non_volatilized_type): New declaration
5205 * stub-objc.c (objc_non_volatilized_type): New stub.
5206
f15f2e56 52072010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5208
69b07042 5209 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5210
5211 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5212
19931eea 5213 Radar 4133425
f15f2e56 5214 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5215 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5216
4a8875ed 52172010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5218
5219 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5220 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5221 (objc_ivar_visibility_kind): New enum.
5222 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5223 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5224 visibility enum.
5225
7e0713b1 52262010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5227
5228 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5229 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5230 has the appropriate fma builtins.
5231 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5232
86c110ac 52332010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5234
7e0713b1 5235 merge from FSF apple 'trunk' branch.
86c110ac 5236 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5237
86c110ac 5238 Radars 4436866, 4505126, 4506903, 4517826
5239 * c-common.c (c_common_resword): Define @property and its attributes.
5240 * c-common.h: Define property attribute enum entries.
5241 (OBJC_IS_PATTR_KEYWORD): New.
5242 (objc_property_attribute_kind): New enum.
5243 Declare objc_set_property_attr (), objc_add_property_variable (),
5244 objc_build_getter_call () and objc_build_setter_call ().
5245 * stub-objc.c (objc_set_property_attr): New stub.
5246 (objc_add_property_variable): Likewise.
5247 (objc_build_getter_call): Likewise.
5248 (objc_build_setter_call) Likewise.
7e0713b1 5249
40c8d1dd 52502010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5251
7e0713b1 5252 merge from FSF apple 'trunk' branch.
40c8d1dd 5253 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5254
5255 Radar 3803157 (method attributes)
5256 * c-common.c (handle_deprecated_attribute): Recognize
5257 objc methods as valid declarations.
5258 * c-common.h: Declare objc_method_decl ().
7e0713b1 5259 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5260
f3f006ad 52612010-10-08 Joseph Myers <joseph@codesourcery.com>
5262
5263 * c-common.c (parse_optimize_options): Call
5264 decode_cmdline_options_to_array_default_mask before
5265 decode_options. Update arguments to decode_options.
5266 * c-common.h (c_common_init_options_struct): Declare.
5267 * c-opts.c (c_common_init_options_struct): New. Split out from
5268 c_common_init_options.
5269
0a65c3bb 52702010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5271
5272 Implemented fast enumeration for Objective-C.
5273 * c-common.h (objc_finish_foreach_loop): New.
5274 * stub-objc.c (objc_finish_foreach_loop): New.
5275
24ca3b4e 52762010-10-05 Joseph Myers <joseph@codesourcery.com>
5277
5278 * c-common.h (struct diagnostic_context): Don't declare here.
5279 (c_common_initialize_diagnostics): Declare using
5280 diagnostic_context typedef.
5281 * c-opts.c (c_common_handle_option): Pass global_dc to
5282 handle_generated_option.
5283
f83b64ca 52842010-10-04 Joseph Myers <joseph@codesourcery.com>
5285
5286 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5287 handle_generated_option.
5288
2fdec027 52892010-10-03 Ian Lance Taylor <iant@google.com>
5290
5291 * c.opt (-fplan9-extensions): New option.
5292
41acdfa4 52932010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5294
5295 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5296 Remove.
5297 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5298 of duplicating code.
5299
069761fb 53002010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5301
5302 * c-common.c: Add two new entries for @optional
5303 and @required keywords.
5304
5305 merge from FSF 'apple/trunk' branch.
5306 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5307
5308 Radar 4386773
5309 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5310 objective-c keywords.
5311 (objc_set_method_opt): New declaration.
5312 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5313
2c5d2e39 53142010-09-30 Joseph Myers <joseph@codesourcery.com>
5315
5316 * c-common.c (handle_optimize_attribute): Pass &global_options to
5317 cl_optimization_save and cl_optimization_restore.
5318 * c-opts.c (c_common_handle_option): Pass &global_options to
5319 handle_generated_option.
5320 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5321 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5322 &global_options to cl_optimization_restore.
5323
e5c75ac3 53242010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5325
5326 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5327 Objective-C/Objective-C++ keywords.
5328
3511333e 53292010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5330
19931eea 5331 Merge from 'apple/trunk' branch on FSF servers.
5332
e147d6aa 5333 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5334
5335 Radar 4281748
5336 * c-common.h (objc_check_global_decl): New declaration.
5337 * stub-objc.c (objc_check_global_decl): New stub.
5338
5461e683 53392010-09-29 Joseph Myers <joseph@codesourcery.com>
5340
5341 * c.opt: Don't use VarExists.
5342
5ae82d58 53432010-09-29 Joseph Myers <joseph@codesourcery.com>
5344
5345 * c-common.c (c_cpp_error): Update names of diagnostic_context
5346 members.
5347 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5348 cl_optimization members.
5349 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5350 sanitize_cpp_opts, finish_options): Update names of cpp_options
5351 members.
5352
b27e241e 53532010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5354
5355 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5356 (objc_is_reserved_word): Removed.
5357 * c-common.c: Updated comments.
5358 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5359 objc_is_reserved_word.
5360 * stub-objc.c (objc_is_reserved_word): Removed.
5361
03fc2271 53622010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5363
19931eea 5364 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5365 include attributes.
5366 (objc_start_method_definition): Likewise.
5367 (objc_build_keyword_decl): Likewise.
5368 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5369 (objc_start_method_definition): Likewise.
5370 (objc_build_keyword_decl): Likewise.
5371
a336eb4b 53722010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5373
5374 * c-common.h (objc_start_class_interface): Adjust prototype.
5375 (objc_start_category_interface): Likewise.
5376 (objc_start_protocol): Likewise.
5377 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5378 (objc_start_class_interface): Likewise.
5379 (objc_start_category_interface): Likewise.
5380
48b14f50 53812010-09-27 Ian Lance Taylor <iant@google.com>
5382
5383 * c-common.c (c_common_attribute_table): Add no_split_stack.
5384 (handle_no_split_stack_attribute): New static function.
5385
4abfc532 53862010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5387
19931eea 5388 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5389
5390 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5391
19931eea 5392 Radar 4229905
4abfc532 5393 * c-common.h (objc_have_common_type): New declaration.
5394 * stub-objc.c (objc_have_common_type): New stub.
5395
5396 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5397
5398 Radar 4154928
5399 * c-common.h (objc_common_type): New prototype.
19931eea 5400 * stub-objc.c (objc_common_type): New stub.
4abfc532 5401
7bd95dfd 54022010-09-24 Jan Hubicka <jh@suse.cz>
5403
5404 * c-common.c (handle_leaf_attribute): New function.
5405 (struct attribute_spec c_common_att): Add leaf.
5406
5789e05b 54072010-09-22 Joseph Myers <joseph@codesourcery.com>
5408
5409 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5410 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5411 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5412 -include-barrier, -include-directory, -include-directory=,
5413 -include-directory-after, -include-directory-after=,
5414 -include-prefix, -include-prefix=, -include-with-prefix,
5415 -include-with-prefix=, -include-with-prefix-after,
5416 -include-with-prefix-after=, -include-with-prefix-before,
5417 -include-with-prefix-before=, -no-integrated-cpp,
5418 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5419 -output=, -pedantic, -pedantic-errors, -preprocess,
5420 -print-missing-file-dependencies, -trace-includes, -traditional,
5421 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5422 -user-dependencies, -verbose, -write-dependencies,
5423 -write-user-dependencies, no-integrated-cpp, traditional): New.
5424
e6fb54ba 54252010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5426
5427 PR objc/23710
9b60f3b0 5428 * c-common.h (objc_start_method_definition): Return bool instead
5429 of void.
5430 * stub-objc.c (objc_start_method_definition): Return bool instead
5431 of void.
5432
54332010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5434
5435 PR objc/25965
5436 * c-common.h (objc_get_interface_ivars): New declaration.
5437 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5438
e44b0a1f 54392010-09-15 Ian Lance Taylor <iant@google.com>
5440
5441 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5442 messages. Remove period at end of warning message.
e44b0a1f 5443
85c0a25c 54442010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5445
5446 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5447 (handle_alias_attribute): ... here.
5448 (handle_ifunc_attribute): New.
5449
5ba33bf4 54502010-09-06 Mark Mitchell <mark@codesourcery.com>
5451
5452 * c-common.h (do_warn_double_promotion): Declare.
5453 * c-common.c (do_warn_double_promotion): Define.
5454
c920faa3 54552010-09-05 Mark Mitchell <mark@codesourcery.com>
5456
5457 * c.opt (Wdouble-promotion): New.
5458
9604e070 54592010-09-02 Joseph Myers <joseph@codesourcery.com>
5460
5461 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5462 fvtable-thunks, fxref): Mark no longer supported in help text.
5463
3b0273a1 54642010-09-02 Joseph Myers <joseph@codesourcery.com>
5465
5466 * c.opt (Wimport, fall-virtual, falt-external-templates,
5467 fdefault-inline, fenum-int-equiv, fexternal-templates,
5468 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5469 fname-mangling-version-, fnew-abi, fnonnull-objects,
5470 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5471 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5472 applicable.
5473 (fhandle-exceptions): Mark with Alias and Warn.
5474 * c-opts.c (c_common_handle_option): Don't handle options marked
5475 as ignored.
5476
67089c6b 54772010-09-02 Joseph Myers <joseph@codesourcery.com>
5478
5479 * c.opt (Wcomments, Werror-implicit-function-declaration,
5480 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5481 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5482 aliases.
5483 * c-common.c (option_codes): Use OPT_Wcomment instead of
5484 OPT_Wcomments.
5485 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5486 Don't handle options marked as aliases.
5487
2af087f2 54882010-08-25 Richard Guenther <rguenther@suse.de>
5489
5490 * c-common.c (c_common_get_alias_set): Remove special
5491 handling for pointers.
5492
48148244 54932010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5494
5495 * c-common.c: Use FOR_EACH_VEC_ELT.
5496 * c-gimplify.c: Likewise.
5497 * c-pragma.c: Likewise.
5498
89c69892 54992010-08-16 Joseph Myers <joseph@codesourcery.com>
5500
5501 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5502 RejectDriver.
5503 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5504 RejectDriver.
5505 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5506 instead of OPT_MDX and OPT_MMDX.
5507
e28aa114 55082010-08-16 Joseph Myers <joseph@codesourcery.com>
5509
5510 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5511
99b66d21 55122010-08-12 Joseph Myers <joseph@codesourcery.com>
5513
5514 * c.opt (MD, MMD): Change to MDX and MMDX.
5515 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5516
666f4bf0 55172010-08-11 Joseph Myers <joseph@codesourcery.com>
5518
5519 * c-opts.c (c_common_handle_option): Call handle_generated_option
5520 instead of handle_option.
5521
5ec815f6 55222010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5523
5524 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5525 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5526
d13143cf 55272010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5528
5529 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5530 (pending_redefine_extname): Change type to a VEC.
5531 (add_to_renaming_pragma_list): Update for new type of
5532 pending_redefine_extname.
5ec815f6 5533 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5534
2008c983 55352010-08-04 Arnaud Charlet <charlet@adacore.com>
5536
5537 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5538 visited.
5539 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5540 decide whether a type has already been declared/seen.
5541 Do not go to the original type.
5542 (dump_nested_types): New parameter forward.
5543 Generate forward declaration if needed and mark type as visited.
5544 (print_ada_declaration): Call dump_nested_types if not already done.
5545 Mark types as visited.
5546
9b091a73 55472010-08-03 Joseph Myers <joseph@codesourcery.com>
5548
5549 * c.opt (-print-pch-checksum): Remove option.
5550 * c-opts.c (c_common_handle_option): Don't handle
5551 OPT_print_pch_checksum.
5552
b78351e5 55532010-07-27 Joseph Myers <joseph@codesourcery.com>
5554
5555 * c-common.h (c_common_handle_option): Update prototype and return
5556 value type.
5557 * c-opts.c (c_common_handle_option): Update prototype and return
5558 value type. Update calls to handle_option and
5559 enable_warning_as_error.
5560
34416a90 55612010-07-27 Jakub Jelinek <jakub@redhat.com>
5562
5563 PR c/45079
5564 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5565
fecf9011 55662010-07-27 Joseph Myers <joseph@codesourcery.com>
5567
5568 * c-common.h (c_common_missing_argument): Remove.
5569 * c-opts.c (c_common_missing_argument): Remove.
5570 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5571 idirafter, imacros, include, isysroot, isystem, iquote): Add
5572 MissingArgError.
5573 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5574
e88d34f6 55752010-07-27 Joseph Myers <joseph@codesourcery.com>
5576
5577 * c-common.h (c_common_option_lang_mask,
5578 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5579 New.
5580 (c_common_init_options): Update prototype.
5581 * c-opts.c (c_common_option_lang_mask): New.
5582 (c_common_initialize_diagnostics): Split out of
5583 c_common_init_options.
5584 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5585 New.
5586 (c_common_init_options): Update prototype. Use decoded options in
5587 search for -lang-asm.
5588
1767a056 55892010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5590
5591 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5592 * c-format.c: Likewise.
5593
0b205f4c 55942010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5595
5596 * c-common.h: Include diagnostic-core.h. Error if already
5597 included.
5598 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5599
1c58e3f1 56002010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5601
1f78217c 5602 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5603 Do not include expr.h
5604 (vector_mode_valid_p): Move here.
5605
33cc157c 56062010-06-21 DJ Delorie <dj@redhat.com>
5607
5608 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5609 allow these pragmas anywhere.
5610
56112010-06-14 Jakub Jelinek <jakub@redhat.com>
5612
5613 PR bootstrap/44509
5614 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5615 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5616 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5617 ggc_strdup instead of xstrdup.
5618
56192010-06-10 Jakub Jelinek <jakub@redhat.com>
5620
5621 * c-cppbuiltin.c: Include cpp-id-data.h.
5622 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5623 (lazy_hex_fp_value): New function.
5624 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5625
9b40bfbf 56262010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5627
5628 * c-gimplify.c: Do not include tree-flow.h
5629
202d6e5f 56302010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5631
5632 PR other/44034
5633 * c-common.c: Rename targetm member:
5634 targetm.enum_va_list -> targetm.enum_va_list_p
5635
d3237426 56362010-06-28 Anatoly Sokolov <aesok@post.ru>
5637
5638 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5639
596981c8 56402010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5641
5642 * c-cppbuiltin.c: Do not include except.h.
5643
b9bdfa0b 56442010-06-24 Andi Kleen <ak@linux.intel.com>
5645
19931eea 5646 * c-common.c (warn_for_omitted_condop): New.
5647 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5648
55ad092d 56492010-06-21 Joseph Myers <joseph@codesourcery.com>
5650
5651 * c.opt (lang-objc): Remove.
5652 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5653
9e7c2572 56542010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5655
5656 * c-opts.c: Include "tm_p.h".
5657
615ef0bb 56582010-06-20 Joseph Myers <joseph@codesourcery.com>
5659
5660 * c-common.c (parse_optimize_options): Update call to
5661 decode_options.
5662
aef48c9a 56632010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5664
5665 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5666 new type of types_used_by_cur_var_decl.
5667
d74003b4 56682010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5669
5670 PR bootstrap/44512
5671 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5672 for C++ standard compliance.
5673
1194d077 56742010-06-16 Jason Merrill <jason@redhat.com>
5675
5676 * c.opt: Add -Wnoexcept.
5677
d473d901 56782010-06-16 Richard Guenther <rguenther@suse.de>
5679
5680 PR c/44555
5681 * c-common.c (c_common_truthvalue_conversion): Remove
5682 premature and wrong optimization concering ADDR_EXPRs.
5683
b62dbfd3 56842010-06-15 Arnaud Charlet <charlet@adacore.com>
5685
5686 * c-ada-spec.c (dump_sloc): Remove column info.
5687 (is_simple_enum): New function.
5688 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5689 enum types when relevant.
5690
200dd99c 56912010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5692
19931eea 5693 * c-common.c (conversion_warning): Warn at expression
200dd99c 5694 location.
5695
abf6a617 56962010-06-10 Joseph Myers <joseph@codesourcery.com>
5697
5698 * c-opts.c (c_common_handle_option): Don't handle
5699 OPT_fshow_column.
5700
ba72912a 57012010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5702
5703 * c-pragma.c (push_alignment): Use typed GC allocation.
5704 (handle_pragma_push_options): Likewise.
5705
5706 * c-common.c (parse_optimize_options): Likewise.
5707
5708 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5709 option.
5710
4aafe913 57112010-06-07 Joseph Myers <joseph@codesourcery.com>
5712
5713 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5714 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5715 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5716 flag_signed_bitfields, warn_strict_null_sentinel,
5717 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5718 flag_gen_declaration, flag_no_gnu_keywords,
5719 flag_implement_inlines, flag_implicit_templates,
5720 flag_implicit_inline_templates, flag_optional_diags,
5721 flag_elide_constructors, flag_default_inline, flag_rtti,
5722 flag_conserve_space, flag_access_control, flag_check_new,
5723 flag_new_for_scope, flag_weak, flag_working_directory,
5724 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5725 flag_enforce_eh_specs, flag_threadsafe_statics,
5726 flag_pretty_templates): Remove.
5727 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5728 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5729 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5730 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5731 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5732 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5733 flag_no_gnu_keywords, flag_implement_inlines,
5734 flag_implicit_templates, flag_implicit_inline_templates,
5735 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5736 flag_rtti, flag_conserve_space, flag_access_control,
5737 flag_check_new, flag_new_for_scope, flag_weak,
5738 flag_working_directory, flag_use_cxa_atexit,
5739 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5740 flag_threadsafe_statics, flag_pretty_templates,
5741 warn_strict_null_sentinel): Remove.
5742 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5743 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5744 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5745 fimplicit-inline-templates, fimplicit-templates,
5746 flax-vector-conversions, fms-extensions, fnil-receivers,
5747 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5748 frtti, fshort-double, fshort-enums, fshort-wchar,
5749 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5750 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5751 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5752 gen-decls, undef): Use Var.
5753 (fdefault-inline, foptional-diags): Document as doing nothing.
5754 * c-opts.c (c_common_handle_option): Remove cases for options now
5755 using Var. Mark ignored options as such.
5756
7bedc3a0 57572010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5758
19931eea 5759 * c-common.c: Moved to here from parent directory.
7bedc3a0 5760 * c-common.def: Likewise.
5761 * c-common.h: Likewise.
5762 * c-cppbuiltin.c: Likewise.
5763 * c-dump.c: Likewise.
5764 * c-format.c: Likewise.
5765 * c-format.h : Likewise.
5766 * c-gimplify.c: Likewise.
5767 * c-lex.c: Likewise.
5768 * c-omp.c: Likewise.
5769 * c.opt: Likewise.
5770 * c-opts.c: Likewise.
5771 * c-pch.c: Likewise.
5772 * c-ppoutput.c: Likewise.
5773 * c-pragma.c: Likewise.
5774 * c-pragma.h: Likewise.
5775 * c-pretty-print.c: Likewise.
5776 * c-pretty-print.h: Likewise.
5777 * c-semantics.c: Likewise.
5778 * stub-objc.c: Likewise.
5779
5780 * c-common.c: Include gt-c-family-c-common.h.
5781 * c-pragma.c: Include gt-c-family-c-pragma.h.
5782\f
d353bf18 5783Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5784
5785Copying and distribution of this file, with or without modification,
5786are permitted in any medium without royalty provided the copyright
5787notice and this notice are preserved.