]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
ee45a32d
EB
12015-11-08 Eric Botcazou <ebotcazou@adacore.com>
2
3 * c-common.c (c_common_attributes): Add scalar_storage_order.
4 (handle_scalar_storage_order_attribute): New function.
5 * c-pragma.c (global_sso): New variable.
6 (maybe_apply_pragma_scalar_storage_order): New function.
7 (handle_pragma_scalar_storage_order): Likewise.
8 (init_pragma): Register scalar_storage_order.
9 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
10 * c.opt (Wscalar-storage-order): New warning.
11 (fsso-struct=): New option.
12
eb11eb15
MS
132015-11-08 Martin Sebor <msebor@redhat.com>
14
15 * c.opt (Wplacement-new): Add a period to the end of a sentence.
16
0aad0198
RS
172015-11-07 Richard Sandiford <richard.sandiford@arm.com>
18
19 * c-common.c: Don't undef DEF_BUILTIN.
20
8a645150
DM
212015-11-06 David Malcolm <dmalcolm@redhat.com>
22
23 * c-common.c (c_cpp_error): Convert parameter from location_t to
24 rich_location *. Eliminate the "column_override" parameter and
25 the call to diagnostic_override_column.
26 Update the "done_lexing" clause to set range 0
27 on the rich_location, rather than overwriting a location_t.
28 * c-common.h (c_cpp_error): Convert parameter from location_t to
29 rich_location *. Eliminate the "column_override" parameter.
30
7a5e4956
CP
312015-11-05 Cesar Philippidis <cesar@codesourcery.com>
32 Thomas Schwinge <thomas@codesourcery.com>
33 James Norris <jnorris@codesourcery.com>
34
35 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
36 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
37 clauses with parallel and kernels and loops.
38 * c-pragma.h (enum pragma_omp_clause): Add entries for
39 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
40 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
41 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
42 INDEPENDENT,SEQ}.
43 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
44
e2f5cc96
MS
452015-11-05 Martin Sebor <msebor@redhat.com>
46
47 PR c++/67942
48 * c.opt (-Wplacement-new): New option.
49
e01d41e5
JJ
502015-11-05 Jakub Jelinek <jakub@redhat.com>
51
52 * c-common.h (c_finish_omp_atomic): Add TEST argument.
53 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
54 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
55 save_expr or create_tmp_var* if TEST is true.
56 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
57 Don't call add_stmt here.
58 (struct c_omp_check_loop_iv_data): New type.
59 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
60 c_omp_check_loop_iv_exprs): New functions.
61 (c_omp_split_clauses): Adjust for lastprivate being allowed on
62 distribute.
63 (c_omp_declare_simd_clauses_to_numbers): Change
64 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
65 (c_omp_declare_simd_clauses_to_decls): Similarly change those
66 from numbers to PARM_DECLs.
67
595278be
MM
682015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
69
70 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
71 flag_checking.
72
c85158de
MS
732015-11-03 Bernd Schmidt <bschmidt@redhat.com>
74
75 PR c++-common/67882
76 * c-family/c-common.h (fold_offsetof_1): Add argument.
77 * c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
78 offsetof expressions that reference elements past the end of
79 an array.
80
4bf9e5a8
TS
812015-11-03 Thomas Schwinge <thomas@codesourcery.com>
82 Chung-Lin Tang <cltang@codesourcery.com>
83
84 * c-pragma.c (oacc_pragmas): Add "atomic".
85 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
86
3b1661a9
ES
872015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
88
89 * c-common.c (handle_target_clones_attribute): New.
90 (c_common_attribute_table): Add handle_target_clones_attribute.
91 (handle_always_inline_attribute): Add check on target_clones attribute.
92 (handle_target_attribute): Ditto.
93
2adfab87
AM
942015-10-29 Andrew MacLeod <amacleod@redhat.com>
95
96 * array-notation-common.c: Reorder #include's and remove duplicates.
97 * c-ada-spec.c: Likewise.
98 * c-cilkplus.c: Likewise.
99 * c-common.c: Likewise.
100 * c-cppbuiltin.c: Likewise.
101 * c-dump.c: Likewise.
102 * c-format.c: Likewise.
103 * c-gimplify.c: Likewise.
104 * c-indentation.c: Likewise.
105 * c-lex.c: Likewise.
106 * c-omp.c: Likewise.
107 * c-opts.c: Likewise.
108 * c-pch.c: Likewise.
109 * c-ppoutput.c: Likewise.
110 * c-pragma.c: Likewise.
111 * c-pretty-print.c: Likewise.
112 * c-semantics.c: Likewise.
113 * c-ubsan.c: Likewise.
114 * cilk.c: Likewise.
115 * stub-objc.c: Likewise.
116
d90ec4f2
JM
1172015-10-28 Jason Merrill <jason@redhat.com>
118
119 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
120
88bae6f4
TS
1212015-10-27 Thomas Schwinge <thomas@codesourcery.com>
122 James Norris <jnorris@codesourcery.com>
123 Cesar Philippidis <cesar@codesourcery.com>
124
125 PR c/64765
126 PR c/64880
127 * c-common.h (c_oacc_split_loop_clauses): Declare function.
128 * c-omp.c (c_oacc_split_loop_clauses): New function.
129
b1726d6c
MS
1302015-10-21 Martin Sebor <msebor@redhat.com>
131
132 PR driver/68043
133 * c.opt: End each sentence that describes an option with a period.
134
fa60eeb9
MP
1352015-10-20 Marek Polacek <polacek@redhat.com>
136
137 * array-notation-common.c (is_cilkplus_vector_p): Define.
138 * c-common.h (is_cilkplus_vector_p): Declare.
139
95979049
MP
1402015-10-20 Marek Polacek <polacek@redhat.com>
141
142 * c.opt (std=gnu++11): Do not describe as experimental.
143 (std=gnu++14): Likewise.
144
2a9fb712
JM
1452015-10-19 Jason Merrill <jason@redhat.com>
146
147 * c-cppbuiltin.c (c_cpp_builtins): Define
148 __cpp_nontype_template_args.
149
13b380a3
JM
1502015-10-19 Jason Merrill <jason@redhat.com>
151
152 * c-cppbuiltin.c (c_cpp_builtins): Define
153 __cpp_enumerator_attributes, __cpp_fold_expressions,
154 __cpp_unicode_characters.
155
d9a6bd32
JJ
1562015-10-13 Jakub Jelinek <jakub@redhat.com>
157 Aldy Hernandez <aldyh@redhat.com>
158
159 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
160 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
161 (c_define_builtins): Likewise.
162 * c-common.h (enum c_omp_clause_split): Add
163 C_OMP_CLAUSE_SPLIT_TASKLOOP.
164 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
165 (c_finish_omp_for): Add ORIG_DECLV argument.
166 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
167 201511 instead of 201307.
168 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
169 OMP_CRITICAL_CLAUSES to it.
170 (c_finish_omp_ordered): Add CLAUSES argument, set
171 OMP_ORDERED_CLAUSES to it.
172 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
173 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
174 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
175 constructs and new OpenMP 4.5 clauses. Clear
176 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
177 verification code.
178 * c-pragma.c (omp_pragmas_simd): Add taskloop.
179 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
180 (enum pragma_omp_clause): Add
181 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
182 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
183
624d31fe
RS
1842015-10-05 Richard Sandiford <richard.sandiford@arm.com>
185
186 * c-lex.c (interpret_float): Use real_equal instead of
187 REAL_VALUES_EQUAL.
188
b8fd7909
JM
1892015-10-04 Jason Merrill <jason@redhat.com>
190
191 Implement N4514, C++ Extensions for Transactional Memory.
192 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
193 (c_common_attribute_table): Add transaction_safe_dynamic.
194 transaction_safe now affects type identity.
195 (handle_tm_attribute): Handle transaction_safe_dynamic.
196 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
197 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
198 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
199 (D_TRANSMEM): New.
200 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
201 * c-pretty-print.c (pp_c_attributes_display): Don't print
202 transaction_safe in C++.
203
12651878
MP
2042015-10-02 Marek Polacek <polacek@redhat.com>
205
206 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
207
3e3b8d63
MP
2082015-10-02 Marek Polacek <polacek@redhat.com>
209
210 PR c/64249
211 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
212 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
213 * c.opt (Wduplicated-cond): New option.
214
0d1a8f75
JM
2152015-10-01 Joseph Myers <joseph@codesourcery.com>
216
217 * c.opt (std=c11): Do not describe as experimental.
218 (std=gnu11): Likewise.
219 (std=iso9899:2011): Likewise.
220
3e32ee19
NS
2212015-09-28 Nathan Sidwell <nathan@codesourcery.com>
222
223 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
224 (DEF_FUNCTION_TYPE_VAR_11): Delete.
225
974348ee
MP
2262015-09-25 Marek Polacek <polacek@redhat.com>
227
228 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
229 (ubsan_instrument_shift): Likewise.
230
15dbc1a6
MP
2312015-09-25 Marek Polacek <polacek@redhat.com>
232
233 PR sanitizer/64906
234 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
235
6b95d7cc
PP
2362015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
237
238 * c-indentation.c (should_warn_for_misleading_indentation):
239 Compare next_stmt_vis_column with guard_line_first_nws instead
240 of with guard_line_vis_column.
241
c1822f9c
MLI
2422015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
243
244 PR c/49654
245 PR c/49655
246 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
247 options and options not valid for the current language.
248
d5398058
PP
2492015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
250
251 * c-indentation.c (should_warn_for_misleading_indentation):
252 Float out and consolidate the calls to get_visual_column that
253 are passed guard_exploc as an argument. Compare
254 next_stmt_vis_column with guard_line_first_nws instead of with
255 body_line_first_nws.
256
6b333269
NS
2572015-09-22 Nathan Sidwell <nathan@codesourcery.com>
258
259 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
260 Wnamespaces): New C++ warnings.
261
a75f1574
JM
2622015-09-22 Jason Merrill <jason@redhat.com>
263
264 * c-common.h (abi_compat_version_crosses): New.
265 (warn_abi_version): Declare.
266 * c-common.c: Define it.
267 * c-opts.c (c_common_post_options): Handle it.
268 flag_abi_compat_version defaults to 8.
269
bdaaa8b7
VV
2702015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
271
272 Complete the implementation of N4230, Nested namespace definition.
273 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
274 __cpp_nested_namespace_definitions.
275
eaa797e8
MLI
2762015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
277
278 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
279
c4914de6
MLI
2802015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
281
282 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
283 when warning.
284 * c-pragma.h (pragma_lex): Add optional loc argument.
285
fcb87c50
MM
2862015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
287
288 * c-format.c (check_format_arg): Adjust to use common block size in all
289 object pools.
290
31bdd08a
DM
2912015-09-15 David Malcolm <dmalcolm@redhat.com>
292
293 * c-format.c (location_from_offset): Update for change in
294 signature of location_get_source_line.
295 * c-indentation.c (get_visual_column): Likewise.
296 (line_contains_hash_if): Likewise.
297
aa9f4b4c
MP
2982015-09-14 Marek Polacek <polacek@redhat.com>
299
300 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
301 setting various warnings.
302
aa256c4a
MP
3032015-09-14 Marek Polacek <polacek@redhat.com>
304
305 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
306 a negative value.
307
0f876f22
MW
3082015-09-11 Mark Wielaard <mjw@redhat.com>
309
310 PR c/28901
311 * c.opt (Wunused-variable): Option from common.opt.
312 (Wunused-const-variable): New option.
313
273aa49e
PC
3142015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
315
316 PR c++/53184
317 * c.opt ([Wsubobject-linkage]): Add.
318
1807ffc1
MS
3192015-09-03 Martin Sebor <msebor@redhat.com>
320
321 PR c/66516
322 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
323 functions.
324 * c-common.c (reject_gcc_builtin): Define.
325
38942840
BI
3262015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
327
328 PR middle-end/60586
329 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
330 prototype.
331 * c-gimplify.c (c_gimplify_expr): Added a call to the function
332 cilk_gimplify_call_params_in_spawned_fn.
333 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
334 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
335 unwrapping.
336
c316b5e4
MP
3372015-08-25 Marek Polacek <polacek@redhat.com>
338
339 PR middle-end/67330
340 * c-common.c (handle_weak_attribute): Don't check whether the
341 visibility can be changed here.
342
584a7c46
MLI
3432015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
344
345 * c-lex.c (c_lex_with_flags): Use explicit locations.
346
a79683d5
TS
3472015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
348
349 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
350 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
351
61717a45
FXC
3522015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
353
354 PR middle-end/36757
355 * c-common.c (check_builtin_function_arguments): Add check
356 for BUILT_IN_SIGNBIT argument.
357
329524f5
PC
3582015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
359
360 PR c++/67160
361 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
362 in c++1z mode.
363
4ee55665
MP
3642015-08-17 Marek Polacek <polacek@redhat.com>
365
366 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
367 with whitespaces before qualifier names.
368
b893e375
MP
3692015-08-12 Marek Polacek <polacek@redhat.com>
370
371 PR c++/55095
372 * c-common.c (maybe_warn_shift_overflow): Properly handle
373 left-shifting 1 into the sign bit.
374
c2d89095
MLI
3752015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
376
377 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
378
971e17ff
AS
3792015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
380 Braden Obrzut <admin@maniacsvault.net>
381 Jason Merrill <jason@redhat.com>
382
383 Add C++ Concepts TS support.
384 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
385 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
386 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
387 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
388 * c-opts.c (set_std_cxx1z): Set flag_concepts.
389 * c.opt (fconcepts): New.
390
8ebca419
PP
3912015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
392
393 * c-indentation.c (should_warn_for_misleading_indentation):
394 Improve heuristics.
395
1a1e101f
PP
3962015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
397
398 * c-indentation.c (get_visual_column): Add parameter first_nws,
399 use it. Update comment documenting the function.
400 (is_first_nonwhitespace_on_line): Remove.
401 (should_warn_for_misleading_indentation): Replace usage of
402 of is_first_nonwhitespace_on_line with get_visual_column.
403
992118a1
PP
4042015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
405
406 * c-indentation.h (struct token_indent_info): Define.
407 (get_token_indent_info): Define.
408 (warn_for_misleading_information): Declare.
409 * c-common.h (warn_for_misleading_information): Remove.
410 * c-identation.c (warn_for_misleading_indentation):
411 Change declaration to take three token_indent_infos. Adjust
412 accordingly.
413 * c-identation.c (should_warn_for_misleading_indentation):
414 Likewise. Bail out early if the body is a compound statement.
415 (guard_tinfo_to_string): Define.
416
e8fa3817
JM
4172015-07-30 Jason Merrill <jason@redhat.com>
418
419 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
420 '*' for reference decay.
421
173864e8
MP
4222015-07-30 Marek Polacek <polacek@redhat.com>
423
424 * c-common.c (warn_tautological_cmp): Bail for float types.
425
f2afe6dd
MP
4262015-07-27 Marek Polacek <polacek@redhat.com>
427
428 PR bootstrap/67030
429 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
430
05b28fd6
MP
4312015-07-27 Marek Polacek <polacek@redhat.com>
432
433 PR c++/66555
434 PR c/54979
435 * c-common.c (find_array_ref_with_const_idx_r): New function.
436 (warn_tautological_cmp): New function.
437 * c-common.h (warn_tautological_cmp): Declare.
438 * c.opt (Wtautological-compare): New option.
439
5a5062b8
MP
4402015-07-23 Marek Polacek <polacek@redhat.com>
441
442 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
443 (ubsan_instrument_shift): Likewise.
444
dc891fe7
MP
4452015-07-23 Marek Polacek <polacek@redhat.com>
446
447 PR sanitizer/66908
448 * c-ubsan.c: Include gimplify.h.
449 (ubsan_instrument_division): Unshare OP0 and OP1.
450 (ubsan_instrument_shift): Likewise.
451
451b5e48
MP
4522015-07-20 Marek Polacek <polacek@redhat.com>
453 Richard Sandiford <richard.sandiford@arm.com>
454
455 PR c++/55095
456 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
457 Use EXPR_LOC_OR_LOC.
458 (maybe_warn_shift_overflow): New function.
459 * c-common.h (maybe_warn_shift_overflow): Declare.
460 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
461 * c.opt (Wshift-overflow): New option.
462
fb0b2914
ML
4632015-07-16 Martin Liska <mliska@suse.cz>
464
465 * c-format.c (static void check_format_info_main): Use
466 object_allocator instead of pool_allocator.
467 (check_format_arg): Likewise.
468 (check_format_info_main): Likewise.
469
903f5c23
AM
4702015-07-15 Andrew MacLeod <amacleod@redhat.com>
471
472 * c-opts.c: Remove multiline #include comment.
473
026c3cfd
AH
4742015-07-12 Aldy Hernandez <aldyh@redhat.com>
475
476 * c-common.c: Fix double word typos.
477
bb49ee66
EB
4782015-07-10 Eric Botcazou <ebotcazou@adacore.com>
479
480 * c-ada-spec.h (cpp_operation): Revert latest change.
481 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
482 constructors and destructors.
483
1916bcb5
AM
4842015-07-09 Andrew MacLeod <amacleod@redhat.com>
485
486 * c-common.h: Adjust includes for flags.h changes.
487 * stub-objc.c: Likewise.
026c3cfd 488
a9dcd529
EB
4892015-07-08 Eric Botcazou <ebotcazou@adacore.com>
490
491 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
492 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
493
b03b462f
JJ
4942015-07-08 Jakub Jelinek <jakub@redhat.com>
495
496 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
497 are to be removed, return NULL rather than original clauses list.
498
c7131fb2
AM
4992015-07-07 Andrew MacLeod <amacleod@redhat.com>
500
501 * array-notation-common.c: Adjust includes.
502 * c-ada-spec.c: Likewise.
503 * c-cilkplus.c: Likewise.
504 * c-common.h: Likewise.
505 * c-cppbuiltin.c: Likewise.
506 * c-dump.c: Likewise.
507 * c-format.c: Likewise.
508 * c-gimplify.c: Likewise.
509 * c-indentation.c: Likewise.
510 * c-lex.c: Likewise.
511 * c-omp.c: Likewise.
512 * c-opts.c: Likewise.
513 * c-pch.c: Likewise.
514 * c-ppoutput.c: Likewise.
515 * c-pragma.c: Likewise.
516 * c-pretty-print.c: Likewise.
517 * c-semantics.c: Likewise.
518 * c-ubsan.c: Likewise.
519 * cilk.c: Likewise.
520 * stub-objc.c: Likewise.
521
2a7fb83f
EB
5222015-07-07 Eric Botcazou <ebotcazou@adacore.com>
523
524 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
525 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
526
a03c9bf1
JM
5272015-07-01 Jason Merrill <jason@redhat.com>
528
36a85135
JM
529 * c-common.h (D_CXX11): Rename from D_CXX0X.
530 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
531 * c-common.c: Adjust.
532
e7fa68d5
JM
533 * c-opts.c (c_common_post_options): Default to C++14.
534
a03c9bf1
JM
535 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
536
fe95b036
ESR
5372015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
538
539 Implement N4197 - Adding u8 character literals
a64be36b
EB
540 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
541 CPP_CHAR.
542 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
543 CPP_UTF8CHAR_USERDEF tokens.
544 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
545 and CPP_UTF8CHAR tokens.
546 (lex_charconst): Treat CPP_UTF8CHAR token.
fe95b036 547
da2e71c9
MLI
5482015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
549
550 PR fortran/66605
551 * c-common.c (do_warn_unused_parameter): Move here.
552 * c-common.h (do_warn_unused_parameter): Declare.
553
b155cfd9
MP
5542015-06-29 Marek Polacek <polacek@redhat.com>
555
556 PR c/66322
557 * c-common.c (check_case_bounds): Add bool * parameter. Set
558 OUTSIDE_RANGE_P.
559 (c_add_case_label): Add bool * parameter. Pass it down to
560 check_case_bounds.
561 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
562 warning here.
563 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
564 declarations.
565
31521951
MP
5662015-06-27 Marek Polacek <polacek@redhat.com>
567
568 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
569 or VECTOR_INTEGER_TYPE_P throughout.
570 * c-gimplify.c: Likewise.
571
22d03525
MP
5722015-06-26 Marek Polacek <polacek@redhat.com>
573
574 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
575 * c-common.c (c_fully_fold_internal): Likewise.
576 (c_alignof_expr): Likewise.
577 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
578 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
b1726d6c 579 * cilk.c (create_parm_list): Likewise.
22d03525 580
af05e6e5
MP
5812015-06-26 Marek Polacek <polacek@redhat.com>
582
583 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
584
f0889939
AM
5852015-06-25 Andrew MacLeod <amacleod@redhat.com>
586
587 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
588 * c-gimplify.c: Likewise.
589 * c-pragma.c: Likewise.
590 * c-ubsan.c: Likewise.
591 * cilk.c: Likewise.
592
ca752f39
RS
5932015-06-25 Richard Sandiford <richard.sandiford@arm.com>
594
595 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
596 ggc_hasher.
597
16a16ec7
AM
5982015-06-25 Andrew MacLeod <amacleod@redhat.com>
599
600 * cilk.c: Move calls.h after tm.h in the include chain.
601
0ae9bd27
MP
6022015-06-25 Marek Polacek <polacek@redhat.com>
603
604 * array-notation-common.c: Use VAR_P throughout.
605 * c-ada-spec.c: Likewise.
606 * c-common.c: Likewise.
607 * c-format.c: Likewise.
608 * c-gimplify.c: Likewise.
609 * c-omp.c: Likewise.
610 * c-pragma.c: Likewise.
611 * c-pretty-print.c: Likewise.
612 * cilk.c: Likewise.
613
62f9079a
MP
6142015-06-25 Marek Polacek <polacek@redhat.com>
615
616 * cilk.c (extract_free_variables): Use is_global_var.
617
0fa16060
RS
6182015-06-23 Richard Sandiford <richard.sandiford@arm.com>
619
620 * c-common.c: Don't include target-def.h.
621
a68ae2e1
MP
6222015-06-23 Marek Polacek <polacek@redhat.com>
623
624 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
625 when comparing INTEGER_CSTs.
626
c6a2f2d9
PMR
6272015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
628
629 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
630 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
631 (dump_ada_template): Skip partially specialized types.
632
6b4db501
MM
6332015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
634
635 * c-common.c (scalar_to_vector): Use std::swap instead of manually
636 swapping.
637
abb226c9
AM
6382015-06-17 Andrew MacLeod <amacleod@redhat.com>
639
640 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
641 * c-ada-spec.c: Likewise.
642 * c-cilkplus.c: Likewise.
643 * c-common.c: Likewise.
644 * c-common.h: Likewise.
645 * c-cppbuiltin.c: Likewise.
646 * c-dump.c: Likewise.
647 * c-format.c: Likewise.
648 * c-gimplify.c: Likewise.
649 * c-indentation.c: Likewise.
650 * c-lex.c: Likewise.
651 * c-omp.c: Likewise.
652 * c-opts.c: Likewise.
653 * c-pch.c: Likewise.
654 * c-ppoutput.c: Likewise.
655 * c-pragma.c: Likewise.
656 * c-pretty-print.c: Likewise.
657 * c-semantics.c: Likewise.
658 * c-ubsan.c: Likewise.
659 * cilk.c: Likewise.
660 * stub-objc.c: Likewise.
661
076fecad
PP
6622015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
663
664 PR c++/65168
665 * c-common.c (c_common_truthvalue_conversion): Warn when
666 converting an address of a reference to a truth value.
667
13fdf2e2
AM
6682015-06-08 Andrew MacLeod <amacleod@redhat.com>
669
670 * array-notation-common.c : Adjust include files.
671 * c-ada-spec.c : Likewise.
672 * c-cilkplus.c : Likewise.
673 * c-common.c : Likewise.
674 * c-common.h : Likewise.
675 * c-cppbuiltin.c : Likewise.
676 * c-dump.c : Likewise.
677 * c-format.c : Likewise.
678 * c-gimplify.c : Likewise.
679 * c-indentation.c : Likewise.
680 * c-lex.c : Likewise.
681 * c-omp.c : Likewise.
682 * c-opts.c : Likewise.
683 * c-pch.c : Likewise.
684 * c-ppoutput.c : Likewise.
685 * c-pragma.c : Likewise.
686 * c-pretty-print.c : Likewise.
687 * c-semantics.c : Likewise.
688 * c-ubsan.c : Likewise.
689 * cilk.c : Likewise.
690 * stub-objc.c : Likewise.
691
a1661b90
MP
6922015-06-08 Marek Polacek <polacek@redhat.com>
693
694 PR c/66415
695 * c-format.c (location_from_offset): Return LOC if LINE is null.
696
d7438551
AH
6972015-06-05 Aldy Hernandez <aldyh@redhat.com>
698
699 * c-common.h (c_parse_final_cleanups): New prototype.
700 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
701
ecb9f223
AM
7022015-06-04 Andrew MacLeod <amacleod@redhat.com>
703
704 * array-notation-common.c: Adjust includes for restructured coretypes.h.
705 * c-ada-spec.c: Likewise.
706 * c-cilkplus.c: Likewise.
707 * c-common.c: Likewise.
708 * c-common.h: Likewise.
709 * c-cppbuiltin.c: Likewise.
710 * c-dump.c: Likewise.
711 * c-format.c: Likewise.
712 * c-gimplify.c: Likewise.
713 * c-indentation.c: Likewise.
714 * c-lex.c: Likewise.
715 * c-omp.c: Likewise.
716 * c-opts.c: Likewise.
717 * c-pch.c: Likewise.
718 * c-ppoutput.c: Likewise.
719 * c-pragma.c: Likewise.
720 * c-pretty-print.c: Likewise.
721 * c-semantics.c: Likewise.
722 * c-ubsan.c: Likewise.
723 * cilk.c: Likewise.
724 * stub-objc.c: Likewise.
725
6ac48155
DM
7262015-06-02 David Malcolm <dmalcolm@redhat.com>
727
728 PR c/66220:
729 * c-indentation.c (should_warn_for_misleading_indentation): Use
730 expand_location rather than expand_location_to_spelling_point.
731 Don't warn if the guarding statement is more indented than the
732 next/body stmts.
733
773ce42e
DM
7342015-06-02 David Malcolm <dmalcolm@redhat.com>
735
736 * c-indentation.c (warn_for_misleading_indentation): Bail out
737 immediately if -Wmisleading-indentation isn't enabled.
738
4fef8379
ML
7392015-06-01 Martin Liska <mliska@suse.cz>
740
741 * c-format.c (check_format_arg):Use new type-based pool allocator.
742 (check_format_info_main) Likewise.
743
1edfb384
EB
7442015-05-31 Eric Botcazou <ebotcazou@adacore.com>
745
746 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
747 (has_nontrivial_methods): Likewise.
748
9677ef52
MP
7492015-05-25 Marek Polacek <polacek@redhat.com>
750
751 * c-ubsan.c (ubsan_instrument_shift): Use type0.
752
fd5c817a
MP
7532015-05-22 Marek Polacek <polacek@redhat.com>
754
755 PR c/47043
756 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
757
a2f45fe6 7582015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
581edfa3
TS
759
760 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
761 STACK_GROWS_DOWNWARD.
762
a2f45fe6 7632015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
62f9f30b
TS
764
765 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
766 STACK_GROWS_DOWNWARD rather than if it is defined.
767
0fee2ac2 7682015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
b1726d6c 769
0fee2ac2
MLI
770 PR c/52952
771 * c-format.c (location_column_from_byte_offset): New.
772 (location_from_offset): New.
773 (struct format_wanted_type): Add offset_loc field.
774 (check_format_info): Move handling of location for extra arguments
775 closer to the point of warning.
776 (check_format_info_main): Pass the result of location_from_offset
777 to warning_at.
778 (format_type_warning): Pass the result of location_from_offset
779 to warning_at.
780
cf4ef6f7
MP
7812015-05-20 Marek Polacek <polacek@redhat.com>
782
783 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
784
3a65ee74
MP
7852015-05-20 Marek Polacek <polacek@redhat.com>
786
787 * c-ada-spec.c (dump_sloc): Use DECL_P.
788
21b634ae
MP
7892015-05-20 Marek Polacek <polacek@redhat.com>
790
791 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
792 * c-common.c: Likewise.
793
0e50b624
DM
7942015-05-19 David Malcolm <dmalcolm@redhat.com>
795
796 * c-common.h (fe_file_change): Strengthen param from
797 const line_map * to const line_map_ordinary *.
798 (pp_file_change): Likewise.
799 * c-lex.c (fe_file_change): Likewise.
800 (cb_define): Use linemap_check_ordinary when invoking
801 SOURCE_LINE.
802 (cb_undef): Likewise.
803 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
804 invoking cb_file_change.
805 (c_finish_options): Likewise.
806 (push_command_line_include): Likewise.
807 (cb_file_change): Strengthen param "new_map" from
808 const line_map * to const line_map_ordinary *.
809 * c-ppoutput.c (cb_define): Likewise for local "map".
810 (pp_file_change): Likewise for param "map" and local "from".
811
fab27f52
MM
8122015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
813
814 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
815
2fe1d762
TV
8162015-05-18 Tom de Vries <tom@codesourcery.com>
817
818 * c-common.c (build_va_arg_1): New function.
819 (build_va_arg): Add address operator to va_list operand if necessary.
820
7a37fa90
MM
8212015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
822
823 PR c/48956
824 * c-common.c (int_safely_convertible_to_real_p): Define.
825 (unsafe_conversion_p): Check conversions involving complex types.
826 (conversion_warning): Add new warning message for conversions which
827 discard imaginary component.
828 * c-common.h: (enum conversion_safety): Add new enumerator for such
829 conversions.
830
3aa3c9fc
MP
8312015-05-14 Marek Polacek <polacek@redhat.com>
832
833 PR c/66066
834 PR c/66127
835 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
836 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
837 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
838 use it. If FOR_INT_CONST, require that all evaluated operands be
839 INTEGER_CSTs.
840
c3388e62
DM
8412015-05-12 David Malcolm <dmalcolm@redhat.com>
842
843 * c-common.h (warn_for_misleading_indentation): New prototype.
844 * c-indentation.c: New file.
845 * c.opt (Wmisleading-indentation): New option.
846
c7b38fd5
TV
8472015-05-12 Tom de Vries <tom@codesourcery.com>
848
849 PR tree-optimization/66010
850 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
851
381bf11e
JM
8522015-05-09 Jason Merrill <jason@redhat.com>
853
edff0c06
JM
854 * c-opts.c (c_common_post_options): Also clear
855 cpp_opts->cpp_warn_cxx11_compat.
856
129211bc
JM
857 * c-common.h (enum cxx_dialect): Add cxx_unset.
858 * c-common.c (cxx_dialect): Initialize to cxx_unset.
859 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
860
381bf11e
JM
861 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
862 (std=gnu++0x): Mark as Undocumented.
863 (std=gnu++1y): Add deprecated message.
864
fe191308
JM
8652015-05-08 Jason Merrill <jason@redhat.com>
866
765189ff
JM
867 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
868 * c-opts.c: Adjust.
869
fe191308
JM
870 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
871
755e528f
MP
8722015-05-08 Marek Polacek <polacek@redhat.com>
873
874 PR c/64918
875 * c.opt (Woverride-init-side-effects): New option.
876
0173bd2a
MP
8772015-05-07 Marek Polacek <polacek@redhat.com>
878
879 PR c/65179
880 * c-common.c (c_fully_fold_internal): Warn when left shifting a
881 negative value.
882 * c.opt (Wshift-negative-value): New option.
883 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
884 when -Wextra and C99/C++11 mode.
885
e0f0d3b9
MP
8862015-05-07 Marek Polacek <polacek@redhat.com>
887 Martin Uecker <uecker@eecs.berkeley.edu>
888
889 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
890 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
891
8243e2a9
JM
8922015-05-05 Jason Merrill <jason@redhat.com>
893
894 * c.opt (Wterminate): New.
895
577cd070
MP
8962015-04-30 Marek Polacek <polacek@redhat.com>
897
898 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
899 require that the non-constant be of a boolean type.
900
0373796b
JT
9012015-04-29 Josh Triplett <josh@joshtriplett.org>
902
e0f0d3b9
MP
903 * c-common.c (handle_section_attribute): Refactor to reduce
904 nesting and distinguish between error cases.
0373796b 905
716c0ba6
MP
9062015-04-29 Marek Polacek <polacek@redhat.com>
907
908 PR c/64610
909 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
910 with 0/1.
911
8848828b
JJ
9122015-04-29 Jakub Jelinek <jakub@redhat.com>
913
914 * c-common.h (omp_clause_mask): Unconditionally define as a class.
915 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
916 HOST_BITS_PER_WIDE_INT.
917
ecd0e562
TV
9182015-04-28 Tom de Vries <tom@codesourcery.com>
919
920 PR tree-optimization/65887
921 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
922
2a877204 9232015-04-28 Eric Botcazou <ebotcazou@adacore.com>
e0f0d3b9 924 Pierre-Marie de Rodat <derodat@adacore.com>
2a877204
EB
925
926 * c-ada-spec.c (in_function): Delete.
927 (dump_generic_ada_node): Do not change in_function and remove the
928 redundant code dealing with it.
929 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
930 (print_ada_methods): Output the static member functions in a nested
931 package after the regular methods as well as associated renamings.
932
4853031e
MP
9332015-04-24 Marek Polacek <polacek@redhat.com>
934
935 PR c/65830
936 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
937 and OPT_Wshift_count_overflow.
938
8c2b7f79
MP
939 PR c/63357
940 * c-common.c (warn_logical_operator): Warn if the operands have the
941 same expressions.
942
b8787813
MP
9432015-04-24 Marek Polacek <polacek@redhat.com>
944
945 PR c/61534
946 * c-common.c (warn_logical_operator): Bail if either operand comes
947 from a macro expansion.
948
8fba1830
BRF
9492015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
950
951 PR target/55143
952 * c-common.c (c_default_pointer_mode): Add definition.
953 * c-common.h (c_default_pointer_mode): Add declaration.
954
17958621
JJ
9552015-03-11 Jakub Jelinek <jakub@redhat.com>
956
957 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
958 on record_builtin_type argument.
959
7ccb1a11
JJ
9602015-03-10 Jakub Jelinek <jakub@redhat.com>
961
962 PR c/65120
963 * c-common.c (warn_logical_not_parentheses): Don't warn for
964 !x == 0 or !x != 0.
965
04fd785e
MP
9662015-03-07 Marek Polacek <polacek@redhat.com>
967
968 PR sanitizer/65280
969 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
970 before trying to figure out whether we have a flexible array member.
971
a4e26206
EB
9722015-03-06 Eric Botcazou <ebotcazou@adacore.com>
973 Jonathan Wakely <jwakely.gcc@gmail.com>
974
975 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
976
0d2489f4
EB
9772015-03-05 Eric Botcazou <ebotcazou@adacore.com>
978
979 PR ada/65319
980 * c-ada-spec.c (print_destructor): Remove obsolete code.
981
83ed54d7
EB
9822015-03-01 Eric Botcazou <ebotcazou@adacore.com>
983
984 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
985 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
986 DECL_TEMPLATE_RESULT emulations.
987 (dump_ada_template)): Add guard for TYPE_METHODS.
988
7631f0e2
MP
9892015-02-27 Marek Polacek <polacek@redhat.com>
990
991 PR c/65040
992 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
993
d1783ae5
KT
9942015-02-27 Kai Tietz <ktietz@redhat.com>
995
996 PR c/35330
997 * c-pragma.c (handle_pragma_weak): Do not try to create
998 weak/alias of declarations not being function, or variable
999 declarations.
1000
56a9f6bc
TS
10012015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1002
1003 PR libgomp/64625
1004 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1005 Remove macros.
1006 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1007
3d5cb23d
MP
10082015-02-16 Marek Polacek <polacek@redhat.com>
1009
1010 PR c/65066
1011 * c-format.c (check_format_types): Handle null param.
1012
fa008882
MP
10132015-02-13 Marek Polacek <polacek@redhat.com>
1014
1015 PR c/65040
1016 * c-format.c (check_format_types): Don't warn about different
1017 signedness if the original value is in the range of WANTED_TYPE.
1018
785f21af
JM
10192015-02-12 Jason Merrill <jason@redhat.com>
1020
1021 PR c++/64956
1022 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1023 to the current highest version.
1024 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1025
4886ec8e
JJ
10262015-02-04 Jakub Jelinek <jakub@redhat.com>
1027
1028 PR c/64824
1029 PR c/64868
1030 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1031 instead of RDIV_EXPR. Use build_binary_op instead of
1032 build2_loc.
1033
40fecdd6
JM
10342015-01-30 Joseph Myers <joseph@codesourcery.com>
1035
1036 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1037 to pass input_location as first argument.
1038
a0c88d06
TV
10392015-01-23 Tom de Vries <tom@codesourcery.com>
1040
1041 PR libgomp/64672
1042 * c.opt (fopenacc): Mark as LTO option.
1043
1506ae0e
TV
10442015-01-23 Tom de Vries <tom@codesourcery.com>
1045
1046 PR libgomp/64707
1047 * c.opt (fopenmp): Mark as LTO option.
1048
31be63ab
JJ
10492015-01-21 Jakub Jelinek <jakub@redhat.com>
1050
1051 PR c/63307
b1726d6c 1052 * cilk.c (fill_decls_vec): Only put decls into vector v.
31be63ab
JJ
1053 (compare_decls): Fix up formatting.
1054
10552015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1056
1057 PR c/63307
1058 * cilk.c: Include vec.h.
1059 (struct cilk_decls): New structure.
1060 (wrapper_parm_cb): Split this function to...
1061 (fill_decls_vec): ...this...
1062 (create_parm_list): ...and this.
1063 (compare_decls): New function.
1064 (for_local_cb): Remove.
1065 (wrapper_local_cb): Ditto.
1066 (build_wrapper_type): For now first traverse and fill vector of
1067 declarations then sort it and then deal with sorted vector.
1068 (cilk_outline): Ditto.
1069 (declare_one_free_variable): Ditto.
1070
6875457f
JM
10712015-01-21 Jason Merrill <jason@redhat.com>
1072
1073 PR c++/64629
1074 * c-format.c (check_format_arg): Call decl_constant_value.
1075
185c9e56
ML
10762015-01-19 Martin Liska <mliska@suse.cz>
1077
1078 * c-common.c (handle_noicf_attribute): New function.
1079
41dbbb37
TS
10802015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1081 Bernd Schmidt <bernds@codesourcery.com>
1082 James Norris <jnorris@codesourcery.com>
1083 Cesar Philippidis <cesar@codesourcery.com>
1084 Ilmir Usmanov <i.usmanov@samsung.com>
1085 Jakub Jelinek <jakub@redhat.com>
1086
1087 * c.opt (fopenacc): New option.
1088 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1089 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1090 New macros.
1091 * c-common.h (c_finish_oacc_wait): New prototype.
1092 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1093 (c_finish_oacc_wait): New function.
1094 * c-pragma.c (oacc_pragmas): New variable.
1095 (c_pp_lookup_pragma, init_pragma): Handle it.
1096 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1097 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1098 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1099 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1100 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1101 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1102 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1103 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1104 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1105 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1106 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1107 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1108 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1109 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1110 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1111 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1112 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1113 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1114 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1115 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1116 PRAGMA_OACC_CLAUSE_WORKER.
1117
5434dc07
MD
11182015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1119
1120 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1121 for the new option fstack-protector_explicit.
1122 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1123 (handle_stack_protect_attribute): New function.
1124
de1b5c17
MU
11252015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1126
1127 * c.opt: New option -Warray-bounds=.
1128
adfac8df
JJ
11292015-01-09 Michael Collison <michael.collison@linaro.org>
1130
1131 * array-notation-common.c: Include hash-set.h, machmode.h,
1132 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1133 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1134 * c-ada-spec.c: Ditto.
1135 * c-cilkplus.c: Ditto.
1136 * c-common.c: Include input.h due to flattening of tree.h.
1137 Define macro GCC_C_COMMON_C.
1138 * c-common.h: Flatten tree.h header files into c-common.h.
1139 Remove include of tree-core.h.
1140 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1141 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1142 fold-const.h, wide-int.h, and inchash.h due to
1143 flattening of tree.h.
1144 * c-dump.c: Ditto.
1145 * c-format.c: Flatten tree.h header files into c-common.h.
1146 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1147 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1148 fold-const.h, wide-int.h, and inchash.h due to
1149 flattening of tree.h.
1150 * c-dump.c: Include hash-set.h, machmode.h,
1151 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1152 fold-const.h, wide-int.h, and inchash.h due to
1153 flattening of tree.h.
1154 * c-format.c: Include hash-set.h, machmode.h,
1155 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1156 fold-const.h, wide-int.h, inchash.h and real.h due to
1157 flattening of tree.h.
1158 * c-gimplify.c: Include hash-set.h, machmode.h,
1159 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1160 fold-const.h, wide-int.h, and inchash.h due to
1161 flattening of tree.h.
1162 * cilk.c: Ditto.
1163 * c-lex.c: Ditto.
1164 * c-omp.c: Ditto.
1165 * c-opts.c: Ditto.
1166 * c-pch.c: Ditto.
1167 * c-ppoutput.c: Ditto.
1168 * c-pragma.c: Ditto.
1169 * c-pretty-print.c: Ditto.
1170 * c-semantics.c: Ditto.
1171 * c-ubsan.c: Ditto.
1172 * stub-objc.c: Ditto.
1173
f5481fc4
JM
11742015-01-08 Jason Merrill <jason@redhat.com>
1175
1176 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1177 do_ubsan_in_current_function.
1178 (ubsan_maybe_instrument_reference_or_call): Likewise.
1179 * c-ubsan.h: Declare it.
1180
de35aa66
MS
11812015-01-08 Mike Stump <mikestump@comcast.net>
1182
1183 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1184
4a9a42ab
MP
11852015-01-07 Marek Polacek <polacek@redhat.com>
1186
1187 PR c/64440
1188 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1189 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1190
2f42e5de
TS
11912015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1192
1193 PR c++/31397
1194 * c.opt (Wsuggest-override): New option.
1195
5624e564
JJ
11962015-01-05 Jakub Jelinek <jakub@redhat.com>
1197
1198 Update copyright years.
1199
5bd012f8
MP
12002015-01-05 Marek Polacek <polacek@redhat.com>
1201
1202 PR c/64423
1203 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1204 parameter. Use it.
1205 * c-common.h (warn_array_subscript_with_type_char): Update
1206 declaration.
1207
a7fa8d18
ESR
12082014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1209
1210 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1211 Control macro with flag_sized_deallocation.
1212
768952be
MU
12132014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1214
1215 * c.opt (Wdiscarded-array-qualifiers): New option.
1216
1f8d3e84
JJ
12172014-12-19 Jakub Jelinek <jakub@redhat.com>
1218
1219 PR preprocessor/63831
1220 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1221 and __has_cpp_attribute here.
1222 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1223 c_common_has_attribute.
1224 * c-common.h (c_common_has_attribute): New prototype.
1225 * c-lex.c (init_c_lex): Set cb->has_attribute to
1226 c_common_has_attribute instead of cb_has_attribute.
1227 (get_token_no_padding): New function.
1228 (cb_has_attribute): Renamed to ...
1229 (c_common_has_attribute): ... this. No longer static. Use
1230 get_token_no_padding, require ()s, don't build TREE_LIST
1231 unnecessarily, fix up formatting, adjust diagnostics, call
1232 init_attributes.
1233
20b06add
JM
12342014-12-15 Jason Merrill <jason@redhat.com>
1235
1236 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1237 (-Wsized-deallocation): New.
1238 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1239 to on in C++14 and up.
1240
94a073b2
JM
12412014-12-11 Jason Merrill <jason@redhat.com>
1242
acaa5911
JM
1243 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1244
94a073b2
JM
1245 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1246 we aren't complaining about VLAs.
1247
7fb66c15
MP
12482014-12-06 Marek Polacek <polacek@redhat.com>
1249
1250 PR tree-optimization/64183
1251 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1252 shift-expression if it is integer_type_node. Use types_compatible_p.
1253
b731b390
JJ
12542014-11-29 Jakub Jelinek <jakub@redhat.com>
1255
1256 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1257 last argument from create_tmp_var_raw and create_tmp_var calls.
1258 * cilk.c (gimplify_cilk_spawn): Likewise.
1259 * c-omp.c (c_finish_omp_atomic): Likewise.
1260
6a4da643
MP
12612014-11-28 Marek Polacek <polacek@redhat.com>
1262
1263 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1264 instead of unsigned_type_node.
1265
541e35a6
MP
12662014-11-28 Marek Polacek <polacek@redhat.com>
1267
1268 PR c/63862
1269 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1270 to op1_utype.
1271 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1272 expression to unsigned_type_node.
1273
dcc97066
MW
12742014-11-20 Mark Wielaard <mjw@redhat.com>
1275
1276 PR debug/38757
1277 * c-opts.c (set_std_c89): Set lang_hooks.name.
1278 (set_std_c99): Likewise.
1279 (set_std_c11): Likewise.
1280 (set_std_cxx98): Likewise.
1281 (set_std_cxx11): Likewise.
1282 (set_std_cxx14): Likewise.
1283 (set_std_cxx1z): Likewise.
1284
aa7da51a
JJ
12852014-11-21 Jakub Jelinek <jakub@redhat.com>
1286
1287 PR target/63764
1288 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1289 return type to bool.
009a3480 1290 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
1291 (convert_vector_to_pointer_for_subscript): Change return type to
1292 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1293 and copy it into a TARGET_EXPR and use that instead of *vecp
1294 directly.
1295
538dd0b7
DM
12962014-11-19 David Malcolm <dmalcolm@redhat.com>
1297
1298 Merger of git branch "gimple-classes-v2-option-3".
1299 * ChangeLog.gimple-classes: New.
1300 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1301 from being just a vec<gimple> to a vec<gbind *>.
1302
c39a5e99
JJ
13032014-11-18 Jakub Jelinek <jakub@redhat.com>
1304
1305 PR sanitizer/63813
1306 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1307 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1308 get_pointer_alignment for non-pointers. Use ptype, or if it is
1309 reference type, corresponding pointer type, as type of kind
1310 argument.
1311 (ubsan_maybe_instrument_reference,
1312 ubsan_maybe_instrument_member_call): Adjust callers.
1313
8537a4a9
MP
13142014-11-15 Marek Polacek <polacek@redhat.com>
1315
1316 PR middle-end/63884
1317 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1318 for NULL fndecl.
1319 (extract_array_notation_exprs): Return for NULL node.
1320
2079956a
JM
13212014-11-12 Joseph Myers <joseph@codesourcery.com>
1322
1323 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1324 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1325
1304953e
JJ
13262014-11-12 Jakub Jelinek <jakub@redhat.com>
1327
1328 PR c/59708
1329 * c-common.c (check_builtin_function_arguments): Handle
1330 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1331
e5e44252
AK
13322014-11-10 Andi Kleen <ak@linux.intel.com>
1333
1334 PR c/60804
1335 * c-common.h (check_no_cilk): Declare.
1336 * cilk.c (get_error_location): New function.
1337 (check_no_cilk): Dito.
1338
e64b984d
AK
13392014-11-10 Andi Kleen <ak@linux.intel.com>
1340
1341 * cilk.c (recognize_spawn): Use expression location
1342 for error message.
1343
13c21655
PC
13442014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1345
1346 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1347
42fd12b1
ESR
13482014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1349
1350 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1351 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1352 (__cpp_range_based_for, __cpp_initializer_lists,
1353 __cpp_delegating_constructors, __cpp_nsdmi,
1354 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1355 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1356 __has_cpp_attribute.
1357 * c-lex.c (cb_has_attribute): New callback CPP function;
1358 (init_c_lex): Set has_attribute callback.
1359
6f450181
RB
13602014-11-04 Richard Biener <rguenther@suse.de>
1361
1362 * c-common.c (shorten_compare): Do not shorten mixed
1363 DFP and non-DFP compares.
1364
26f0e1d6
ESR
13652014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1366
1367 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1368 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1369 Commentary and rearrangement of tests.
1370 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1371 Commentary and rearrangement of tests.
1372 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1373 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1374
ef4bddc2
RS
13752014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1376
1377 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1378 enum from machine_mode.
1379
c582198b
AM
13802014-10-28 Andrew MacLeod <amacleod@redhat.com>
1381
adfac8df
JJ
1382 * c-common.c: Adjust include files.
1383 * c-gimplify.c: Ditto.
1384 * cilk.c: Ditto.
1385 * c-pragma.c: Ditto.
1386 * c-ubsan.c: Ditto.
c582198b 1387
60393bbc
AM
13882014-10-27 Andrew MacLeod <amacleod@redhat.com>
1389
1390 * c-gimplify.c: Adjust include files.
1391
d723bb7c
MLI
13922014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1393
1394 PR c++/53061
1395 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1396 c_common_initialize_diagnostics.
1397 * c-common.h: Likewise.
1398
90f3520e
MP
13992014-10-24 Marek Polacek <polacek@redhat.com>
1400
1401 PR c/56980
1402 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1403 print "struct"/"union"/"enum" for typedefed names.
1404
59d7607a
MP
14052014-10-23 Marek Polacek <polacek@redhat.com>
1406
1407 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1408 in unsigned type.
1409
d95a2703
JJ
14102014-10-22 Jakub Jelinek <jakub@redhat.com>
1411 Yury Gribov <y.gribov@samsung.com>
1412
1413 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1414 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1415 instead of flag_sanitize_recover as bool flag.
1416
8e6ef852
KY
14172014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1418
1419 * cilk.c: Revert previous change.
1420
948cf550
IZ
14212014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1422
1423 PR c/63307
1424 * cilk.c: Include vec.h.
1425 (struct cilk_decls): New structure.
1426 (wrapper_parm_cb): Split this function to...
1427 (fill_decls_vec): ...this...
1428 (create_parm_list): ...and this.
1429 (compare_decls): New function.
1430 (for_local_cb): Remove.
1431 (wrapper_local_cb): Ditto.
1432 (build_wrapper_type): For now first traverse and fill vector of
1433 declarations then sort it and then deal with sorted vector.
1434 (cilk_outline): Ditto.
1435 (declare_one_free_variable): Ditto.
1436
92574c7c
MP
14372014-10-17 Marek Polacek <polacek@redhat.com>
1438
1439 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1440 * c.opt (Wimplicit-int): Initialize to -1.
1441
83685514
AM
14422014-10-16 Andrew MacLeod <amacleod@redhat.com>
1443
1444 * c-pragma.c: Adjust include files.
1445 * c-semantics.c: Likewise.
1446
5b8300ea
DD
14472014-10-16 DJ Delorie <dj@redhat.com>
1448
1449 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1450 multiples of bytes.
1451
5f83e90b
JM
14522014-10-14 Jason Merrill <jason@redhat.com>
1453
1454 PR c++/63455
1455 * c-common.h (CPP_PREPARSED_EXPR): New.
1456 (N_CP_TTYPES): Adjust.
1457
d73326ca
MP
14582014-10-15 Marek Polacek <polacek@redhat.com>
1459
1460 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1461
78a7c317
DD
14622014-10-14 DJ Delorie <dj@redhat.com>
1463
1464 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1465 types, not just __int128.
1466 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1467 types, not just __int128.
1468 (cpp_atomic_builtins): Round pointer sizes up.
1469 (type_suffix): Use type precision, not specific types.
1470 * c-common.c (c_common_reswords): Remove __int128 special case.
1471 (c_common_type_for_size): Check for all __intN types, not just
1472 __int128.
1473 (c_common_type_for_mode): Likewise.
1474 (c_common_signed_or_unsigned_type): Likewise.
1475 (c_build_bitfield_integer_type): Likewise.
1476 (c_common_nodes_and_builtins): Likewise.
1477 (keyword_begins_type_specifier): Likewise.
1478 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1479 __intN variants.
1480
2a22f99c
TS
14812014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1482
1483 * c-common.c: Use hash_table instead of hashtab.
1484
2a8ef767
ESR
14852014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1486
adfac8df 1487 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
1488 C++11 section.
1489
3c9aabbd
MG
14902014-10-03 Marc Glisse <marc.glisse@inria.fr>
1491
1492 PR c++/54427
1493 PR c++/57198
1494 PR c++/58845
1495 * c-common.c (warn_logical_operator): Punt for vectors.
1496
a15f7cb8
ESR
14972014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1498
1499 Implement SD-6: SG10 Feature Test Recommendations
1500 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1501 macros and the __has_header macro.
1502
8d0cf15e
JM
15032014-09-30 Jason Merrill <jason@redhat.com>
1504
dd5d5481
JM
1505 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1506 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1507 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1508
b752325e
JM
1509 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1510 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1511
8d0cf15e
JM
1512 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1513 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1514
083e891e
MP
15152014-09-24 Marek Polacek <polacek@redhat.com>
1516
1517 PR c/61405
1518 PR c/53874
1519 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1520
7861b648
AK
15212014-09-23 Andi Kleen <ak@linux.intel.com>
1522
1523 * c-common.c (handle_no_reorder_attribute): New function.
1524 (c_common_attribute_table): Add no_reorder attribute.
1525
9a79452d
JM
15262014-09-22 Joseph Myers <joseph@codesourcery.com>
1527
1528 * c-cppbuiltin.c (c_cpp_builtins): Define
1529 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1530 modes.
1531
dd69f047
JM
15322014-09-18 Joseph Myers <joseph@codesourcery.com>
1533
1534 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1535 for supported floating-point modes.
1536
737a4826
MLI
15372014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1538
1539 * c.opt (Wpsabi): Use LangEnabledBy.
1540 * c-opts.c (c_common_handle_option): Do not handle here.
1541
8cc4b7a2
JM
15422014-09-12 Joseph Myers <joseph@codesourcery.com>
1543
1544 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1545 macros for floating-point modes.
1546
179b5a55
MG
15472014-09-11 Marc Glisse <marc.glisse@inria.fr>
1548
1549 PR target/58757
1550 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1551 __*_DENORM_MIN__ without denormals.
1552
570a11fe
JJ
15532014-09-10 Jakub Jelinek <jakub@redhat.com>
1554
1555 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1556 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1557 ubsan_create_data callers.
1558 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1559 index is constant or BIT_AND_EXPR with constant mask and is
1560 small enough for the bound.
1561 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1562 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1563
b559c810
MLI
15642014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1565
1566 * c.opt: Add CppReason to various flags.
1567 (Wdate-time): Re-sort.
1568 * c-common.c: Include c-common.h earlier.
1569 (struct reason_option_codes_t): Delete.
1570 (c_option_controlling_cpp_error): Prefix global type and struct
1571 with cpp_.
1572
1ef33fd4
MLI
15732014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1574
1575 * c.opt (Wnormalized): New.
1576 (Wnormalized=): Use Enum and Reject Negative.
1577 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1578
66bb34c0
JM
15792014-09-08 Joseph Myers <joseph@codesourcery.com>
1580
1581 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1582 digits of floating-point modes if -fbuilding-libgcc.
1583
53d68b9f
JM
15842014-09-05 Joseph Myers <joseph@codesourcery.com>
1585
1586 * c-cppbuiltin.c (c_cpp_builtins): Also define
1587 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1588 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1589 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1590 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1591 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1592 __LIBGCC_STACK_GROWS_DOWNWARD__,
1593 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1594 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1595 __LIBGCC_DWARF_FRAME_REGISTERS__,
1596 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1597 __LIBGCC_STACK_POINTER_REGNUM__ and
1598 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1599 (builtin_define_with_value): Handle backslash-escaping in string
1600 macro values.
1601
f65586dc
RB
16022014-09-05 Richard Biener <rguenther@suse.de>
1603
1604 PR middle-end/63148
1605 * c-format.c (check_format_arg): Properly handle
1606 effectively signed POINTER_PLUS_EXPR offset.
1607
2b71f4a4
MLI
16082014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1609
1610 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1611 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1612 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1613 and Init.
1614 * c-opts.c (c_common_handle_option): Do not handle here.
1615 (sanitize_cpp_opts): Likewise.
1616 * c-common.c (struct reason_option_codes_t): Handle
1617 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1618
d2e4feca
MP
16192014-09-03 Marek Polacek <polacek@redhat.com>
1620
1621 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1622
9a771876
JJ
16232014-09-02 Jakub Jelinek <jakub@redhat.com>
1624 Balaji V. Iyer <balaji.v.iyer@intel.com>
1625 Igor Zamyatin <igor.zamyatin@intel.com>
1626
1627 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1628 * c-common.c (c_common_reswords): Added _Cilk_for.
1629 * c-common.h (enum rid): Added RID_CILK_FOR.
1630 (cilk_for_number_of_iterations): Add declaration.
1631 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1632 CILK_FOR.
1633 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1634 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1635
81b5d104
MLI
16362014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1637
1638 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1639 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1640 Wundef): Use CPP, Var and Init.
1641 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1642
b753b37b
MLI
16432014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1644
1645 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1646 * c-opts.c (c_common_handle_option): Do not handle here.
1647
028aee17
JM
16482014-08-25 Jason Merrill <jason@redhat.com>
1649
1650 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1651 -std=c++14 and -std=gnu++14, rather than the reverse.
1652 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1653 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1654 * c-common.h (cxx_dialect): Remove cxx1y.
1655
e4276ba5
ESR
16562014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1657
1658 * c-common.h (enum cxx_dialect): Add cxx14.
1659 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1660 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1661 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1662
a545cacd
JM
16632014-08-22 Jason Merrill <jason@redhat.com>
1664
1665 * c.opt (std=gnu++17): Fix alias.
1666
59ea0364
MP
16672014-08-22 Marek Polacek <polacek@redhat.com>
1668
1669 PR c++/62199
1670 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1671 check for vector types. Drop LHS argument.
1672 * c-common.h (warn_logical_not_parentheses): Adjust.
1673
596e808c
MLI
16742014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1675
1676 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1677 (Wmultichar): Likewise.
1678 (Wdate-time): Use C-family languages instead of Common. Use CPP
1679 and Var.
1680 * c-opts.c (c_common_handle_option): Do not handle the above
1681 options here.
1682 (sanitize_cpp_opts): Likewise.
1683
18767f65
MLI
16842014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1685
1686 PR fortran/44054
1687 * c-opts.c: Include tree-diagnostics.h.
1688 (c_diagnostic_finalizer): New.
1689 (c_common_initialize_diagnostics): Use it.
1690
b4413594
MLI
16912014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1692
1693 PR preprocessor/51303
1694 * c-common.c (struct reason_option_codes_t option_codes):
1695 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1696
43f9a13c
MLI
16972014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1698
1699 PR c/60975
1700 PR c/53063
1701 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1702 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1703 (c_common_post_options): Call init_global_opts_from_cpp.
1704 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1705
04159acf
MP
17062014-08-19 Marek Polacek <polacek@redhat.com>
1707
1708 PR c++/62153
1709 * c-common.c (maybe_warn_bool_compare): New function.
1710 * c-common.h (maybe_warn_bool_compare): Declare.
1711 * c.opt (Wbool-compare): New option.
1712
35aff4fb
MP
17132014-08-19 Marek Polacek <polacek@redhat.com>
1714
1715 * c.opt (Wc99-c11-compat): New option.
1716
177cce46
MP
17172014-08-19 Marek Polacek <polacek@redhat.com>
1718
1719 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1720 to warn_c90_c99_compat.
1721 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1722 to -1.
1723
6ae9194f
MLI
17242014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1725 Steven Bosscher <steven@gcc.gnu.org>
1726
1727 PR c/52952
1728 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1729 format_check_results.
1730 (check_function_format): Use true and add comment for boolean
1731 argument.
1732 (finish_dollar_format_checking): Use explicit location when warning.
1733 (check_format_info): Likewise.
1734 (check_format_arg): Set extra_arg_loc and format_string_loc.
1735 (check_format_info_main): Use explicit location when warning.
1736 (check_format_types): Pass explicit location.
1737 (format_type_warning): Likewise.
1738
8e54f6d3
MLI
17392014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1740
1741 PR fortran/44054
1742 * c-format.c: Handle Fortran flags.
1743
cd4e76fc
IZ
17442014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1745
1746 PR other/61962
1747 * array-notation-common.c (find_rank): Added handling for other
1748 types of references.
1749
f3bede71
MP
17502014-08-10 Marek Polacek <polacek@redhat.com>
1751
1752 PR c/51849
1753 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1754 * c.opt (Wc90-c99-compat): Add option.
1755
9f25a338
TS
17562014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1757
1758 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1759
62e4eb35
MP
17602014-08-03 Marek Polacek <polacek@redhat.com>
1761
1762 * c-common.c (check_case_value): Add location_t parameter. Use it.
1763 (c_add_case_label): Pass loc to check_case_value.
1764
b787e7a2
TS
17652014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1766
1767 * cilk.c: Use hash_map instead of pointer_map.
1768
6e2830c3
TS
17692014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1770
1771 * c-gimplify.c: Use hash_set instead of pointer_set.
1772
a7ee52fb
IZ
17732014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1774
1775 PR middle-end/61455
1776 * array-notation-common.c (extract_array_notation_exprs): Handling
1777 of DECL_EXPR added.
1778
944fa280
JJ
17792014-08-01 Jakub Jelinek <jakub@redhat.com>
1780
1781 * c-common.h (min_align_of_type): Removed prototype.
1782 * c-common.c (min_align_of_type): Removed.
1783 * c-ubsan.h (ubsan_maybe_instrument_reference,
1784 ubsan_maybe_instrument_member_call): New prototypes.
1785 * c-ubsan.c: Include stor-layout.h and builtins.h.
1786 (ubsan_maybe_instrument_reference_or_call,
1787 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1788 functions.
1789
b4dfdc11
MG
17902014-07-31 Marc Glisse <marc.glisse@inria.fr>
1791
1792 PR c++/60517
1793 * c.opt (-Wreturn-local-addr): Move to common.opt.
1794
a41844e5
JM
17952014-07-30 Jason Merrill <jason@redhat.com>
1796
1797 PR c++/61659
1798 PR c++/61687
1799 Revert:
1800 * c.opt (-fuse-all-virtuals): New.
1801
976d5a22
TT
18022014-07-30 Tom Tromey <tromey@redhat.com>
1803
1804 PR c/59855
1805 * c.opt (Wdesignated-init): New option.
1806 * c-common.c (c_common_attribute_table): Add "designated_init".
1807 (handle_designated_init): New function.
1808
cdc94aca
MP
18092014-07-24 Marek Polacek <polacek@redhat.com>
1810
1811 PR c/57653
1812 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1813
f41373b6
DS
18142014-07-16 Dodji Seketeli <dodji@redhat.com>
1815
1816 PR preprocessor/60723 - missing system-ness marks for macro tokens
1817 * c-ppoutput.c (struct print::prev_was_system_token): New data
1818 member.
1819 (init_pp_output): Initialize it.
1820 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1821 (do_line_change): Return a flag saying if a line marker was
1822 emitted or not.
1823 (scan_translation_unit): Detect if the system-ness of the token we
1824 are about to emit is different from the one of the previously
1825 emitted token. If so, emit a line marker. Avoid emitting useless
1826 adjacent line markers. Avoid emitting line markers for tokens
1827 originating from the expansion of built-in macros.
1828 (scan_translation_unit_directives_only): Adjust.
1829
4d661eaa
MP
18302014-07-15 Marek Polacek <polacek@redhat.com>
1831
1832 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1833 TYPE_MAX_VALUE is NULL.
1834
b108f48f
JJ
18352014-07-14 Jakub Jelinek <jakub@redhat.com>
1836
1837 PR middle-end/61294
1838 * c.opt (Wmemset-transposed-args): New warning.
1839
c0221884
JM
18402014-07-10 Jason Merrill <jason@redhat.com>
1841
1842 PR c++/61659
1843 PR c++/61687
1844 * c.opt (-fuse-all-virtuals): New.
1845
63dfbb95
RB
18462014-07-09 Richard Biener <rguenther@suse.de>
1847
1848 PR c-family/61741
1849 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1850 using unsigned arithmetic if overflow does not wrap instead of
1851 if overflow is undefined.
1852
773ec47f
MP
18532014-07-06 Marek Polacek <polacek@redhat.com>
1854
1855 PR c/6940
1856 * c.opt (Wsizeof-array-argument): New option.
1857
00a7ba58
JJ
18582014-07-03 Jakub Jelinek <jakub@redhat.com>
1859
b1726d6c 1860 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
00a7ba58
JJ
1861 comments->count <= 1, as comments->entries might be NULL.
1862
52ec0ea3
MP
18632014-07-01 Marek Polacek <polacek@redhat.com>
1864
1865 * c.opt (Wint-conversion): New option.
1866
d5c3d343
MP
18672014-07-01 Marek Polacek <polacek@redhat.com>
1868
1869 PR c/58286
1870 * c.opt (Wincompatible-pointer-types): New option.
1871
6e7ceb17
PC
18722014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1873
1874 PR c++/51400
1875 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1876 Do not discard TYPE_QUALS of type.
1877
da73100b
JM
18782014-06-26 Jason Merrill <jason@redhat.com>
1879
1880 * c-common.h (enum cxx_dialect): Add cxx1z.
1881 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1882 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1883
08eedf75
TJ
18842014-06-26 Teresa Johnson <tejohnson@google.com>
1885
1886 * c-common.h (get_dump_info): Declare.
1887 * c-gimplify.c (c_genericize): Use saved dump files.
1888 * c-opts.c (c_common_parse_file): Begin and end dumps
1889 once around parsing invocation.
1890 (get_dump_info): New function.
1891
7b56b2f8
MP
18922014-06-23 Marek Polacek <polacek@redhat.com>
1893 Andrew MacLeod <amacleod@redhat.com>
1894
1895 PR c/61553
1896 * c-common.c (get_atomic_generic_size): Don't segfault if the
1897 type doesn't have a size.
1898
0e37a2f3
MP
18992014-06-20 Marek Polacek <polacek@redhat.com>
1900
1901 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1902 (ubsan_walk_array_refs_r): New function.
1903 (c_genericize): Instrument array bounds.
1904 * c-ubsan.c: Include "internal-fn.h".
1905 (ubsan_instrument_division): Mark instrumented arrays as having
1906 side effects. Adjust ubsan_type_descriptor call.
1907 (ubsan_instrument_shift): Likewise.
1908 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1909 (ubsan_instrument_bounds): New function.
1910 (ubsan_array_ref_instrumented_p): New function.
1911 (ubsan_maybe_instrument_array_ref): New function.
1912 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1913 (ubsan_array_ref_instrumented_p): Declare.
1914 (ubsan_maybe_instrument_array_ref): Declare.
1915
19162014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
1917
1918 PR lto/61123
1919 * c.opt (fshort-enums): Add to LTO.
1920 * c.opt (fshort-wchar): Likewise.
1921
5c3d09f7
MP
19222014-06-16 Marek Polacek <polacek@redhat.com>
1923
1924 PR c/60439
1925 * c.opt (Wswitch-bool): Add Var.
1926
9cf32741
JJ
19272014-06-12 Jakub Jelinek <jakub@redhat.com>
1928
1929 PR middle-end/61486
1930 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1931 #pragma omp target teams or
1932 #pragma omp {,target }teams distribute simd.
1933
62984918
JM
19342014-06-12 Jason Merrill <jason@redhat.com>
1935
1936 * c.opt (Wabi=, fabi-compat-version): New.
1937 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1938 (c_common_post_options): Handle flag_abi_compat_version default.
1939 Disallow -fabi-compat-version=1.
1940 * c-common.h (abi_version_crosses): New.
1941
f961457f
JH
19422014-06-11 Jan Hubicka <hubicka@ucw.cz>
1943
adfac8df 1944 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
1945 section names that are no longer trees.
1946
92d28cbb
JJ
19472014-06-10 Jakub Jelinek <jakub@redhat.com>
1948
1949 PR fortran/60928
1950 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1951 (omp_pragmas): ... back here.
1952
742938c9
MP
19532014-06-05 Marek Polacek <polacek@redhat.com>
1954
1955 PR c/49706
1956 * c-common.c (warn_logical_not_parentheses): New function.
1957 * c-common.h (warn_logical_not_parentheses): Declare.
1958 * c.opt (Wlogical-not-parentheses): New option.
1959
9d548dfb
MP
19602014-06-04 Marek Polacek <polacek@redhat.com>
1961
1962 PR c/30020
1963 * c-common.c (check_case_bounds): Add location parameter.
1964 Use it.
1965 (c_add_case_label): Pass loc to check_case_bounds.
1966
fedfecef
MP
19672014-06-03 Marek Polacek <polacek@redhat.com>
1968
1969 PR c/60439
1970 * c.opt (Wswitch-bool): New option.
1971
f6a7cffc
TS
19722014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1973
040d18b6
TS
1974 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1975 Remove prototypes.
1976 (record_types_used_by_current_var_decl): Move prototype to where
1977 it belongs.
1978
f6a7cffc
TS
1979 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1980 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1981 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1982
632f2871
RS
19832014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1984
1985 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1986 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1987 void_zero_node.
1988 * c-pretty-print.c (pp_c_void_constant): New function.
1989 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1990 (c_pretty_printer::expression): Handle VOID_CST.
1991 * cilk.c (extract_free_variables): Likewise.
1992 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1993 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1994
766090c2
TS
19952014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1996
1997 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1998 * c-pragma.c (push_alignment): Adjust.
1999 (handle_pragma_push_options): Likewise.
2000
661a0813
MP
20012014-05-09 Marek Polacek <polacek@redhat.com>
2002
2003 PR c/50459
2004 * c-common.c (check_user_alignment): Return -1 if alignment is error
2005 node.
2006 (handle_aligned_attribute): Don't call default_conversion on
2007 FUNCTION_DECLs.
2008 (handle_vector_size_attribute): Likewise.
2009 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2010 (handle_sentinel_attribute): Call default_conversion and allow even
2011 integral types as an argument.
2012
2793eeab
MP
20132014-05-08 Marek Polacek <polacek@redhat.com>
2014
2015 PR c/61053
2016 * c-common.c (min_align_of_type): New function factored out from...
2017 (c_sizeof_or_alignof_type): ...here.
2018 * c-common.h (min_align_of_type): Declare.
2019
f827930a
MP
20202014-05-08 Marek Polacek <polacek@redhat.com>
2021
2022 PR c/61077
2023 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2024 parameter type of main.
2025
ca49b74e
DD
20262014-05-07 DJ Delorie <dj@redhat.com>
2027
2028 * c-cppbuiltin.c (print_bits_of_hex): New.
2029 (builtin_define_type_minmax): Print values using hex so as not to
2030 require a pre-computed list of string values.
2031
1d60af08
KZ
20322014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2033 Mike Stump <mikestump@comcast.net>
2034 Richard Sandiford <rdsandiford@googlemail.com>
2035
2036 * c-ada-spec.c: Include wide-int.h.
2037 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2038 (dump_generic_ada_node): Use wide-int interfaces.
2039 * c-common.c: Include wide-int-print.h.
2040 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2041 (pointer_int_sum): Use wide-int interfaces.
2042 (c_common_nodes_and_builtins): Use make_int_cst.
2043 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2044 (handle_alloc_size_attribute): Use wide-int interfaces.
2045 (get_nonnull_operand): Likewise.
2046 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2047 * c-lex.c: Include wide-int.h.
2048 (narrowest_unsigned_type): Take a widest_int rather than two
2049 HOST_WIDE_INTs.
2050 (narrowest_signed_type): Likewise.
2051 (interpret_integer): Update accordingly. Use wide-int interfaces.
2052 (lex_charconst): Use wide-int interfaces.
2053 * c-pretty-print.c: Include wide-int.h.
2054 (pp_c_integer_constant): Use wide-int interfaces.
2055 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2056 INT_CST_LT_UNSIGNED.
2057
b15458be
RB
20582014-05-06 Richard Biener <rguenther@suse.de>
2059
2060 * c-opts.c (c_common_post_options): For -freestanding,
2061 -fno-hosted and -fno-builtin disable pattern recognition
2062 if not enabled explicitely.
2063
6577374e
MP
20642014-05-02 Marek Polacek <polacek@redhat.com>
2065
2066 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2067
d00887e8
MP
20682014-05-01 Marek Polacek <polacek@redhat.com>
2069
2070 PR c/43245
2071 * c.opt (Wdiscarded-qualifiers): Add.
2072
f8ed5150
MP
20732014-04-30 Marek Polacek <polacek@redhat.com>
2074
2075 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2076 INT_MIN / -1 sanitization only for integer types.
2077
45484dcf
MP
20782014-04-25 Marek Polacek <polacek@redhat.com>
2079
2080 PR c/18079
2081 * c-common.c (handle_noinline_attribute): Warn if the attribute
2082 conflicts with always_inline attribute.
2083 (handle_always_inline_attribute): Warn if the attribute conflicts
2084 with noinline attribute.
2085
38e514c0
MP
20862014-04-25 Marek Polacek <polacek@redhat.com>
2087
2088 PR c/60156
2089 * c-common.c (check_main_parameter_types): Warn about variadic main.
2090
44875f92
MS
20912014-04-24 Mike Stump <mikestump@comcast.net>
2092
2093 * c.opt (Wshadow-ivar): Default to on.
2094
dcaaa5a0
DP
20952014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2096
2097 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2098
c07d7c02
MP
20992014-04-23 Marek Polacek <polacek@redhat.com>
2100
2101 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2102
1c33c9b7
JJ
21032014-04-22 Jakub Jelinek <jakub@redhat.com>
2104
2105 PR sanitizer/60275
2106 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2107 if flag_sanitize_undefined_trap_on_error.
2108 (ubsan_instrument_division, ubsan_instrument_shift,
2109 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2110 if !flag_sanitize_recover.
2111
793c625f
MG
21122014-04-22 Marc Glisse <marc.glisse@inria.fr>
2113
2114 PR libstdc++/43622
2115 * c-common.c (registered_builtin_types): Make non-static.
2116 * c-common.h (registered_builtin_types): Declare.
2117
b0f1bf36
RB
21182014-04-14 Richard Biener <rguenther@suse.de>
2119 Marc Glisse <marc.glisse@inria.fr>
2120
2121 PR c/60819
2122 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2123 apply may-alias the scalar pointer type when applicable.
2124
3b07fa4a
IZ
21252014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2126
2127 PR middle-end/60467
2128 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2129 as possible argument for Cilk_spawn.
2130
cbbd2b1c
TB
21312014-04-11 Tobias Burnus <burnus@net-b.de>
2132
2133 PR c/60194
2134 * c.opt (Wformat-signedness): Add
2135 * c-format.c(check_format_types): Use it.
2136
6415bd5d
JM
21372014-04-11 Jason Merrill <jason@redhat.com>
2138
2139 PR c++/57926
2140 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2141 default_conversion for an array argument.
2142
6525783a
MP
21432014-04-08 Marek Polacek <polacek@redhat.com>
2144
2145 PR sanitizer/60745
2146 * c-ubsan.c: Include asan.h.
2147 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2148
880a467b
NS
21492014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2150
2151 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2152
7b59ff2d
MP
21532014-04-02 Marek Polacek <polacek@redhat.com>
2154
2155 * c-common.h (c_expand_expr): Remove declaration.
2156
8edbfaa6
JJ
21572014-03-28 Jakub Jelinek <jakub@redhat.com>
2158
2159 PR c++/60689
2160 * c-common.c (add_atomic_size_parameter): When creating new
2161 params vector, push the size argument first.
2162
07d72e1d
JJ
21632014-03-26 Jakub Jelinek <jakub@redhat.com>
2164
2165 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2166 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2167 ubsan_create_data callers.
2168
b35e0fa0
JJ
21692014-03-22 Jakub Jelinek <jakub@redhat.com>
2170
2171 PR debug/60603
2172 * c-opts.c (c_finish_options): Restore cb_file_change call to
2173 <built-in>.
2174
39a1ebb3
JJ
21752014-03-13 Jakub Jelinek <jakub@redhat.com>
2176
2177 PR middle-end/36282
2178 * c-pragma.c (apply_pragma_weak): Only look at
2179 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2180 DECL_ASSEMBLER_NAME_SET_P (decl).
2181 (maybe_apply_pending_pragma_weaks): Exit early if
2182 vec_safe_is_empty (pending_weaks) rather than only when
2183 !pending_weaks.
2184 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2185 set assembler name back to NULL afterwards.
2186
a07f6ed2
JM
21872014-03-11 Jason Merrill <jason@redhat.com>
2188
2189 * c.opt: Add -std=gnu++14.
2190
75b107f5
IB
21912014-03-11 Ian Bolton <ian.bolton@arm.com>
2192
2193 * c-opts.c (c_common_post_options): Don't override
2194 -ffp-contract=fast if unsafe-math-optimizations is on.
2195
f42c637e
PM
21962014-03-08 Paulo Matos <paulo@matos-sorge.com>
2197
2198 * c.opt: Enable LTO FE for fshort-double.
2199
70e24808
JM
22002014-03-07 Jason Merrill <jason@redhat.com>
2201
2202 * c.opt: Add -std=c++14.
2203
3af9c5e9
MP
22042014-03-06 Marek Polacek <polacek@redhat.com>
2205
2206 PR c/60197
2207 * cilk.c (contains_cilk_spawn_stmt): New function.
2208 (contains_cilk_spawn_stmt_walker): Likewise.
2209 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2210 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2211
b3bdf019
JJ
22122014-03-03 Jakub Jelinek <jakub@redhat.com>
2213
2214 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2215 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2216 even when flag_preprocess_only.
2217
ca7e759d
JM
22182014-02-26 Jason Merrill <jason@redhat.com>
2219
2220 PR c++/59231
2221 PR c++/11586
2222 * c-common.c (shorten_compare): Don't check
2223 c_inhibit_evaluation_warnings.
2224
28e41874
JJ
22252014-02-19 Jakub Jelinek <jakub@redhat.com>
2226
cca615af
JJ
2227 PR c/37743
2228 * c-common.c (c_common_nodes_and_builtins): When initializing
2229 c_uint{16,32,64}_type_node, also set corresponding
2230 uint{16,32,64}_type_node to the same value.
2231
28e41874
JJ
2232 PR c++/60267
2233 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2234 for PRAGMA_IVDEP if flag_preprocess_only.
2235
c2bf53a1
JJ
22362014-02-12 Jakub Jelinek <jakub@redhat.com>
2237
2238 PR c/60101
2239 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2240 if false, add ADD itself, rather than vice versa.
2241 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2242 copy. For SAVE_EXPR, only call merge_tlist once.
2243
8fcbce72
JJ
22442014-02-08 Jakub Jelinek <jakub@redhat.com>
2245
2246 PR middle-end/60092
2247 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2248 and tree_to_uhwi.
2249 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2250 functions.
2251 (c_common_attribute_table): Add alloc_align and assume_aligned
2252 attributes.
2253
0a756a3f
MP
22542014-02-06 Marek Polacek <polacek@redhat.com>
2255
2256 PR c/60087
2257 * c-common.c (warn_for_sign_compare): Call warning_at with location
2258 instead of warning.
2259
7ec4847a
MP
22602014-02-05 Marek Polacek <polacek@redhat.com>
2261
2262 PR c/53123
2263 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2264 statement.
2265
66f20604
MP
22662014-02-04 Marek Polacek <polacek@redhat.com>
2267
2268 PR c/60036
2269 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2270 SAVE_EXPR.
2271
5d77fb19
MG
22722014-02-03 Marc Glisse <marc.glisse@inria.fr>
2273
2274 PR c++/53017
2275 PR c++/59211
2276 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2277 handle_vector_size_attribute, handle_nonnull_attribute): Call
2278 default_conversion on the attribute argument.
2279 (handle_nonnull_attribute): Increment the argument number.
2280
81e5eca8
MP
22812014-01-31 Marek Polacek <polacek@redhat.com>
2282
2283 PR c/59963
2284 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2285 build_function_call_vec.
2286 (resolve_overloaded_builtin): Likewise.
2287 * c-common.h (build_function_call_vec): Adjust declaration.
2288
68fca595
MP
22892014-01-30 Marek Polacek <polacek@redhat.com>
2290
2291 PR c/59940
2292 * c-common.h (unsafe_conversion_p): Adjust declaration.
2293 (warnings_for_convert_and_check): Likewise.
2294 (convert_and_check): Likewise.
2295 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2296 expansion_point_location_if_in_system_header on it.
2297 (warnings_for_convert_and_check): Add location parameter. Call
2298 expansion_point_location_if_in_system_header on it. Use it.
2299 (convert_and_check): Add location parameter. Use it.
2300 (conversion_warning): Likewise.
2301 (c_add_case_label): Adjust convert_and_check calls.
2302 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2303
b72271b9
BI
23042014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2305
2306 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2307 flag_cilkplus.
2308 * c-pragma.c (init_pragma): Likewise.
2309 * c.opt: Likewise.
2310
393e8e8b
MP
23112014-01-23 Marek Polacek <polacek@redhat.com>
2312
2313 PR c/59846
2314 * c-common.c (shorten_compare): Add location_t parameter.
2315 * c-common.h (shorten_binary_op): Adjust declaration.
2316
f04dda30
MP
23172014-01-23 Marek Polacek <polacek@redhat.com>
2318
2319 PR c/58346
2320 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2321 * c-common.h: Declare it.
2322
621955cb
EB
23232014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2324
2325 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2326 * c-ada-spec.c (dump_ads): Likewise.
2327 (cpp_check): Likewise.
2328 (dump_ada_specs): Likewise.
2329
23302014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
2331
2332 PR c++/49718
2333 * c-common.c (handle_no_instrument_function_attribute): Allow
2334 no_instrument_function attribute in class member
2335 definition/declaration.
2336
241f845a
JJ
23372014-01-15 Jakub Jelinek <jakub@redhat.com>
2338
2339 PR c/58943
2340 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2341 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2342 being COMPOUND_EXPR.
2343 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2344 operand a SAVE_EXPR and second MODIFY_EXPR.
2345
e83b8e2e
JJ
23462014-01-09 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR target/58115
2349 * c-pch.c (c_common_write_pch): Call
2350 prepare_target_option_nodes_for_pch.
2351
23a5b65a
RS
23522014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2353
2354 Update copyright years
2355
f9030485
RS
23562014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2357
2358 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2359 the copyright notice.
2360
f2aa696b
EB
23612013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2362
2363 * c-ada-spec.c (print_constructor): New function.
2364 (print_destructor): Retrieve the origin of the destructor.
2365 (print_ada_declaration): Revamp handling of constructors/destructors.
2366
1f26ac87
JM
23672013-12-23 Stuart Hastings <stuart@apple.com>
2368 Bill Maddox <maddox@google.com>
2369 Jason Merrill <jason@redhat.com>
2370
2371 * c.opt: Add -fdeclone-ctor-dtor.
2372 * c-opts.c (c_common_post_options): Default to on iff -Os.
2373
41958c28
BI
23742013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2375
2376 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2377 attribute.
2378 * c-pragma.h (enum pragma_cilk_clause): Remove.
2379 (enum pragma_omp_clause): Added the following fields:
2380 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2381 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2382 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2383 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2384 PRAGMA_CILK_CLAUSE_UNIFORM.
2385
b1726d6c 2386
12893402
BI
23872013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2388
2389 * cilk.c (cilk_outline): Made this function non-static.
2390 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2391 (create_cilk_wrapper): Added a new parameter: a function pointer.
2392 (c_install_body_w_frame_cleanup): Remove
2393 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2394 * c-common.h (cilk_outline): New prototype.
2395 (gimplify_cilk_spawn): Removed two parameters.
2396 (cilk_install_body_with_frame_cleanup): New prototype.
2397 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2398 CILK_SPAWN_STMT case.
2399
085b42ed
BS
24002013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2401
2ce064c3
BS
2402 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2403
085b42ed
BS
2404 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2405 (int_array_type_node): Remove.
2406 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2407
9e36c9ed
MP
24082013-12-05 Marek Polacek <polacek@redhat.com>
2409
2410 PR c/52023
2411 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2412 [ADJUST_FIELD_ALIGN].
2413
296674db
JM
24142013-12-04 Joseph Myers <joseph@codesourcery.com>
2415
2416 PR c/52023
2417 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2418 and check field alignment if set.
2419 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2420 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2421
b1726d6c 24222013-12-04 Jakub Jelinek <jakub@redhat.com>
31e071ae
MP
2423 Marek Polacek <polacek@redhat.com>
2424
2425 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2426 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2427
d7947e19
L
24282013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2429
2430 PR c/59309
2431 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2432 arguments.
2433
fad7652e
JJ
24342013-11-29 Jakub Jelinek <jakub@redhat.com>
2435
2436 PR c/59280
2437 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2438 goto invalid. If it is error_mark_node, don't issue further
2439 diagnostics.
2440
8b5e1202
SO
24412013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2442
2443 * c.opt (Wopenmp-simd): New.
2444
0a508bb6
JJ
24452013-11-22 Jakub Jelinek <jakub@redhat.com>
2446
2447 * c-ubsan.h (ubsan_instrument_return): New prototype.
2448 * c-ubsan.c (ubsan_instrument_return): New function.
2449
2fb9a547
AM
24502013-11-22 Andrew MacLeod <amacleod@redhat.com>
2451
2452 * c-common.c: Add required include files from gimple.h.
2453 * c-gimplify.c: Likewise
2454 * cilk.c: Likewise
2455
8400e75e
DM
24562013-11-22 David Malcolm <dmalcolm@redhat.com>
2457
2458 * c-common.c (unsafe_conversion_p): Remove use of
2459 EXPR_LOC_OR_HERE macro.
2460 (conversion_warning): Likewise.
2461 (warnings_for_convert_and_check): Likewise.
2462 (warn_for_collisions_1): Likewise.
2463 (shorten_compare): Likewise, and remove use of in_system_header
2464 macro, using the location from the former.
2465 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2466 (cb_def_pragma): Remove use of in_system_header macro.
2467 (lex_string): Likewise.
2468 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2469
eb1ce453
KZ
24702013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2471 Mike Stump <mikestump@comcast.net>
2472 Richard Sandiford <rdsandiford@googlemail.com>
2473
2474 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2475 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2476 tree_fits_shwi_p or tree_fits_uhwi_p.
2477 (dump_generic_ada_node): Likewise.
2478 * c-format.c (check_format_arg): Likewise.
2479 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2480
6b3b8c27
KZ
24812013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2482
2483 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2484
49b0aa18
JC
24852013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2486
2487 PR c/53001
2488 * c-common.c (unsafe_conversion_p): Make this function
2489 return an enumeration with more detail.
2490 (conversion_warning): Use the new return type of
2491 unsafe_conversion_p to separately warn either about conversions
2492 that lower floating point number precision or about the other
2493 kinds of conversions.
2494 * c-common.h (enum conversion_safety): New enumeration.
2495 (unsafe_conversion_p): switching return type to
2496 conversion_safety enumeration.
2497 * c.opt: Adding new warning -Wfloat-conversion and
2498 enabling it with -Wconversion.
2499
b826515a
BS
25002013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2501
2502 * c-opts.c: Include plugin.h.
2503 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2504
b9a55b13
MP
25052013-11-19 Marek Polacek <polacek@redhat.com>
2506
2507 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2508 call.
2509 (ubsan_instrument_shift): Likewise.
2510 (ubsan_instrument_vla): Likewise.
2511
7d362f6c
RS
25122013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2513
2514 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2515 cast to unsigned type.
2516
386b1f1f
RS
25172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2518
2519 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2520 tree_low_cst.
2521 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2522 rather than tree_low_cst.
2523
ae7e9ddd
RS
25242013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2525
2526 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2527 tree_to_uhwi throughout.
2528
9439e9a1
RS
25292013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2530
2531 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2532 tree_low_cst (..., 0) with tree_to_shwi throughout.
2533
cc269bb6
RS
25342013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2535
2536 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2537 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2538
9541ffee
RS
25392013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2540
2541 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2542 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2543
c02065fc
AH
25442013-11-15 Aldy Hernandez <aldyh@redhat.com>
2545
2546 * c-cilkplus.c: New file.
2547 * c-common.c (readonly_error): Add location argument.
2548 * c-common.h (readonly_error): Same.
2549 (c_finish_cilk_clauses): Protoize.
2550 (c_check_cilk_loop): Same.
2551 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2552 Do not fail on error_mark_node.
2553 Abstract increment canonicalization to here...
2554 (c_omp_for_incr_canonicalize_ptr): New.
2555 c-pragma.c (init_pragma): Register "simd" pragma.
2556 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2557 (enum pragma_cilk_clause): New.
2558
9cc65f15
RS
25592013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2560
2561 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2562 wchar_type and host_integerp checks.
2563
18f429e2
AM
25642013-11-14 Andrew MacLeod <amacleod@redhat.com>
2565
2566 * c-common.c: Likewise.
2567 * c-gimplify.c: Likewise.
2568 * cilk.c: Likewise.
2569
d8a2d370
DN
25702013-11-14 Diego Novillo <dnovillo@google.com>
2571
2572 * c-common.c: Include fold-const.h.
2573 Include stor-layout.h.
2574 Include calls.h.
2575 Include stringpool.h.
2576 Include attribs.h.
2577 Include varasm.h.
2578 Include trans-mem.h.
2579 * c-cppbuiltin.c: Include stor-layout.h.
2580 Include stringpool.h.
2581 * c-format.c: Include stringpool.h.
2582 * c-lex.c: Include stringpool.h.
2583 Include stor-layout.h.
2584 * c-pragma.c: Include stringpool.h.
2585 Include attribs.h.
2586 Include varasm.h.
2587 Include gcc-symtab.h.
2588 * c-pretty-print.c: Include stor-layout.h.
2589 Include attribs.h.
2590 * cilk.c: Include stringpool.h.
2591 Include calls.h.
2592
38b7bc7f
JM
25932013-11-13 Joseph Myers <joseph@codesourcery.com>
2594
2595 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2596 * c-common.c (c_common_reswords): Add __auto_type.
2597 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2598
45b0be94
AM
25992013-11-12 Andrew MacLeod <amacleod@redhat.com>
2600
18f429e2
AM
2601 * c-common.c: Include gimplify.h.
2602 * c-gimplify.c: Likewise.
2603 * cilk.c: Likewise.
2604 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2605 * c-ubsan.c: Don't include gimple.h.
45b0be94 2606
582d9b50
JM
26072013-11-12 Joseph Myers <joseph@codesourcery.com>
2608
2609 * c-common.c (c_common_reswords): Add _Thread_local.
2610
6b28e197
JM
26112013-11-09 Joseph Myers <joseph@codesourcery.com>
2612
2613 * c-common.c (atomic_size_supported_p): New function.
2614 (resolve_overloaded_atomic_exchange)
2615 (resolve_overloaded_atomic_compare_exchange)
2616 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2617 Use it instead of comparing size with a local list of sizes.
2618
267bac10
JM
26192013-11-07 Andrew MacLeod <amacleod@redhat.com>
2620 Joseph Myers <joseph@codesourcery.com>
2621
2622 * c-common.h (enum rid): Add RID_ATOMIC.
2623 * c-common.c (c_common_reswords): Add _Atomic.
2624 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2625 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2626 * c-format.c (check_format_types): Check for extra _Atomic
2627 qualifiers in format argument.
2628 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2629 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2630
5157b91e
TB
26312013-11-06 Tobias Burnus <burnus@net-b.de>
2632
2633 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2634
6dbe0958
JM
26352013-11-06 Joseph Myers <joseph@codesourcery.com>
2636
2637 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2638 standards modes.
2639 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2640 to mean lack of IEEE 754 support.
2641
e8ff5196
TB
26422013-11-05 Tobias Burnus <burnus@net-b.de>
2643
2644 * c.opt (-Wdate-time): New option
2645 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2646
254a0760
JM
26472013-11-05 Joseph Myers <joseph@codesourcery.com>
2648
2649 * c-cppbuiltin.c (cpp_iec_559_value): Test
2650 flag_excess_precision_cmdline not flag_excess_precision.
2651
6d7f7e0a
TB
26522013-11-05 Tobias Burnus <burnus@net-b.de>
2653
2654 * c.opt (fopenmp-simd): New option.
2655 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2656 (omp_pragmas): ... this new struct.
2657 (c_pp_lookup_pragma): Also walk omp_pragmas.
2658 (init_pragma): Init pragmas for -fopenmp-simd.
2659
55a7f02f
MP
26602013-11-04 Marek Polacek <polacek@redhat.com>
2661
2662 PR c++/58979
2663 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2664
9193fb05
JM
26652013-11-04 Joseph Myers <joseph@codesourcery.com>
2666
2667 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2668 New functions.
2669 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2670
94159ecf
EB
26712013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2672
2673 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2674 (dump_ada_specs): Adjust prototype of second callback.
2675 * c-ada-spec.c (cpp_check): New global variable.
2676 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2677 (print_generic_ada_decl): Likewise.
2678 (has_static_fields): Change return type to bool and add guard.
2679 (has_nontrivial_methods): New predicate.
2680 (is_tagged_type): Change return type to bool.
2681 (separate_class_package): Call has_nontrivial_methods.
2682 (pp_ada_tree_identifier): Minor tweaks.
2683 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2684 (dump_ada_array_domains): Likewise.
2685 (dump_ada_array_type): Likewise.
2686 (dump_template_types): Remove cpp_check parameter and do not pass it to
2687 dump_generic_ada_node.
2688 (dump_ada_template): Likewise.
2689 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2690 recursively.
2691 (print_ada_methods): Change return type to integer. Remove cpp_check
2692 parameter and do not pass it down.
2693 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2694 dump_generic_ada_node.
2695 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2696 accessing methods.
2697 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2698 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2699 value of print_ada_methods.
2700 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2701 Set cpp_check to it before invoking dump_ada_nodes.
2702 (dump_ada_specs): Likewise.
2703
b906f4ca
MP
27042013-11-03 Marek Polacek <polacek@redhat.com>
2705
2706 * c-ubsan.c: Don't include hash-table.h.
2707 (ubsan_instrument_vla): New function.
2708 * c-ubsan.h: Declare it.
2709
5e20cdc9
DM
27102013-10-31 David Malcolm <dmalcolm@redhat.com>
2711
2712 Automated part of renaming of symtab_node_base to symtab_node.
2713
2714 Patch autogenerated by rename_symtab.py from
2715 https://github.com/davidmalcolm/gcc-refactoring-scripts
2716 revision 58bb219cc090b2f4516a9297d868c245495ee622
2717
2718 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2719 symtab_node_base to symtab_node.
2720
7057e645
ESR
27212013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2722
2723 Implement C++14 digit separators.
2724 * c-lex.c (interpret_float): Remove digit separators from scratch string
2725 before building real literal.
2726
193ea7bc
JJ
27272013-10-30 Jakub Jelinek <jakub@redhat.com>
2728
2729 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2730
939b37da
BI
27312013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2732
2733 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2734 fields.
2735 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2736 enabled.
2737 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2738 (insert_cilk_frame): New prototype.
2739 (cilk_init_builtins): Likewise.
2740 (gimplify_cilk_spawn): Likewise.
2741 (c_cilk_install_body_w_frame_cleanup): Likewise.
2742 (cilk_detect_spawn_and_unwrap): Likewise.
2743 (cilk_set_spawn_marker): Likewise.
2744 (build_cilk_sync): Likewise.
2745 (build_cilk_spawn): Likewise.
2746 * cilk.c: New file.
2747
67348ccc
DM
27482013-10-29 David Malcolm <dmalcolm@redhat.com>
2749
2750 Patch autogenerated by refactor_symtab.py from
2751 https://github.com/davidmalcolm/gcc-refactoring-scripts
2752 revision 58bb219cc090b2f4516a9297d868c245495ee622
2753
2754 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2755 to a true class hierarchy.
2756 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2757
d570872d
RS
27582013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2759
2760 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2761
98906124
JL
27622013-10-26 Jeff Law <law@redhat.com>
2763
adfac8df
JJ
2764 * c-common.c (c_define_builtins): Remove mudflap support.
2765 * c.opt: Ignore and warn for mudflap options.
98906124 2766
d73749df 27672013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
2768
2769 PR other/33426
2770 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2771 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2772
3f04b1bb
JM
27732013-10-23 Jason Merrill <jason@redhat.com>
2774
2775 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2776
acf0174b
JJ
27772013-10-11 Jakub Jelinek <jakub@redhat.com>
2778
acd15a28
JJ
2779 * c-common.h (omp_clause_mask::operator !=): New method.
2780 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2781 instead of if (mask & something) tests everywhere.
2782
acf0174b
JJ
2783 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2784 201307 instead of 201107.
2785 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2786 (c_common_attribute_table): Add "omp declare target" and
2787 "omp declare simd" attributes.
2788 (handle_omp_declare_target_attribute,
2789 handle_omp_declare_simd_attribute): New functions.
2790 * c-omp.c: Include c-pragma.h.
2791 (c_finish_omp_taskgroup): New function.
2792 (c_finish_omp_atomic): Add swapped argument, if true,
2793 build the operation first with rhs, lhs arguments and use NOP_EXPR
2794 build_modify_expr.
2795 (c_finish_omp_for): Add code argument, pass it down to make_code.
2796 (c_omp_split_clauses): New function.
2797 (c_split_parallel_clauses): Removed.
2798 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2799 c_omp_declare_simd_clauses_to_decls): New functions.
2800 * c-common.h (omp_clause_mask): New type.
2801 (OMP_CLAUSE_MASK_1): Define.
2802 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2803 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2804 omp_clause_mask::operator |, omp_clause_mask::operator &,
2805 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2806 omp_clause_mask::operator ==): New methods.
2807 (enum c_omp_clause_split): New.
2808 (c_finish_omp_taskgroup): New prototype.
2809 (c_finish_omp_atomic): Add swapped argument.
2810 (c_finish_omp_for): Add code argument.
2811 (c_omp_split_clauses): New prototype.
2812 (c_split_parallel_clauses): Removed.
2813 (c_omp_declare_simd_clauses_to_numbers,
2814 c_omp_declare_simd_clauses_to_decls): New prototypes.
2815 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2816 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2817 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2818 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2819 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2820 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2821 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2822 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2823 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2824 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2825 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2826 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2827 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2828 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2829 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2830 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2831 PRAGMA_OMP_CLAUSE_UNIFORM.
2832
826cacfe
MG
28332013-10-09 Marc Glisse <marc.glisse@inria.fr>
2834
2835 PR tree-optimization/20318
2836 * c-common.c (handle_returns_nonnull_attribute): New function.
2837 (c_common_attribute_table): Add returns_nonnull.
2838
2284b034
MG
28392013-10-03 Marc Glisse <marc.glisse@inria.fr>
2840
2841 PR c++/19476
2842 * c.opt (fcheck-new): Move to common.opt.
2843
b56e9788
MP
28442013-09-25 Marek Polacek <polacek@redhat.com>
2845 Jakub Jelinek <jakub@redhat.com>
2846
2847 PR sanitizer/58413
2848 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2849 an expression if we can prove it is correct.
2850 (ubsan_instrument_division): Likewise. Remove unnecessary
2851 check.
2852
ce6923c5
MP
28532013-09-18 Marek Polacek <polacek@redhat.com>
2854
2855 PR sanitizer/58411
2856 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2857 Declare it.
2858 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2859
fb5610fb
IS
28602013-09-14 Iain Sandoe <iain@codesourcery.com>
2861
2862 PR target/48094
2863 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2864 fobjc-gc, freplace-objc-classes): Accept for LTO.
2865
88b0e79e
JC
28662013-09-13 Jacek Caban <jacek@codeweavers.com>
2867
2868 * c-target.def: New hook
2869
c9b0866a
PC
28702013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2871
2872 PR c++/43452
2873 * c.opt (Wdelete-incomplete): Add.
2874
0af94e6f
JR
28752013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2876
2877 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2878 (vector_types_compatible_elements_p): New function.
2879 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2880 declaration.
2881 (vector_types_compatible_elements_p): Declare.
2882
7c26172c
GDR
28832013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2884
2885 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2886 a virtual member function.
2887 (pp_simple_type_specifier): Remove.
2888 (pp_c_type_specifier): Likewise.
2889 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2890 Rename from pp_c_type_specifier. Adjust.
2891 (c_pretty_printer::c_pretty_printer): Do not assign to
2892 simple_type_specifier.
2893
20059c8b
GDR
28942013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2895
2896 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2897 member function.
2898 (c_pretty_printer::storage_class_specifier): Likewise.
2899 (c_pretty_printer::initializer): Likewise.
2900 (pp_declaration): Remove.
2901 (pp_declaration_specifiers): Likewise.
2902 (pp_abstract_declarator): Likewise.
2903 (pp_declarator): Likewise.
2904 (pp_type_id): Likewise.
2905 (pp_statement): Likewise.
2906 (pp_constant): Likewise.
2907 (pp_id_expression): Likewise.
2908 (pp_primary_expression): Likewise.
2909 (pp_unary_expression): Likewise.
2910 (pp_multiplicative_expression): Likewise.
2911 (pp_conditional_expression): Likewise.
2912 (pp_assignment_expression): Likewise.
2913 (pp_expression): Likewise.
2914 (pp_c_type_id): Likewise.
2915 (pp_c_storage_class_specifier): Likewise.
2916 * c-pretty-print.c (pp_c_type_cast): Tidy.
2917 (pp_c_pointer): Likewise.
2918 (pp_c_type_specifier): Likewise.
2919 (pp_c_parameter_type_list): Likewise.
2920 (pp_c_function_definition): Likewise.
2921 (pp_c_init_declarator): Likewise.
2922 (pp_c_initializer_list): Likewise.
2923 (pp_c_constructor_elts): Likewise.
2924 (c_pretty_printer::direct_abstract_declarator): Likewise.
2925 (c_pretty_printer::declaration_specifiers): Likewise.
2926 (c_pretty_printer::primary_expression): Likewise.
2927 (c_pretty_printer::postfix_expression): Likewise.
2928 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2929 (c_pretty_printer::storage_class_specifier): Rename from
2930 pp_c_storage_class_specifier.
2931 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2932 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2933 storage_class_specifier, initializer, offset_list, flags.
2934
de5a5fa1
MP
29352013-08-30 Marek Polacek <polacek@redhat.com>
2936
2937 * c-ubsan.c: New file.
2938 * c-ubsan.h: New file.
2939
8f0e4d72
GDR
29402013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2941
2942 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2943 member function.
2944 (c_pretty_printer::declaration_specifiers): Likewise.
2945 (c_pretty_printer::declarator): Likewise.
2946 (c_pretty_printer::abstract_declarator): Likewise.
2947 (c_pretty_printer::direct_abstract_declarator): Likewise.
2948 (c_pretty_printer::direct_declarator): Likewise.
2949 (c_pretty_printer::function_specifier): Likewise.
2950 (pp_declaration): Adjust.
2951 (pp_declaration_specifiers): Likewise.
2952 (pp_abstract_declarator): Likewise.
2953 (pp_direct_declarator): Likewise.
2954 (pp_function_specifier): Likewise.
2955 (pp_direct_abstract_declarator): Remove as unused.
2956 (pp_c_declaration): Remove.
2957 (pp_c_declaration_specifiers): Likewise.
2958 (pp_c_declarator): Likewise.
2959 (pp_c_direct_declarator): Likewise.
2960 (pp_c_function_specifier): Likewise.
2961 (pp_c_direct_abstract_declarator): Likewise.
2962 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2963 from pp_c_abstract_declarator. Adjust.
2964 (c_pretty_printer::direct_abstract_declarator): Rename from
2965 pp_c_direct_abstract_declarator. Adjust.
2966 (c_pretty_printer::function_specifier): Rename from
2967 pp_c_function_specifier. Adjust.
2968 (c_pretty_printer::declaration_specifiers): Rename from
2969 pp_c_declaration_specifiers. Adjust.
2970 (c_pretty_printer::direct_declarator): Rename from
2971 pp_c_direct_declarator. Adjust.
2972 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2973 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2974 (c_pretty_printer::c_pretty_printer): Do not assign to
2975 declaration, declaration_specifiers, declarator,
2976 direct_declarator, direct_abstract_declarator, function_specifier.
2977
00d34d3a
GDR
29782013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2979
2980 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2981 virtual member function.
2982 (c_pretty_printer::multiplicative_expression): Likewise.
2983 (c_pretty_printer::conditional_expression): Likewise.
2984 (c_pretty_printer::assignment_expression): Likewise.
2985 (c_pretty_printer::expression): Likewise.
2986 (pp_unary_expression): Adjust.
2987 (pp_multiplicative_expression): Likewise.
2988 (pp_assignment_expression): Likewise.
2989 (pp_conditional_expression): Likewise.
2990 (pp_expression): Likewise.
2991 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2992 from pp_c_unary_expression. Adjust.
2993 (c_pretty_printer::multiplicative_expression): Rename from
2994 pp_c_multiplicative_expression. Adjust.
2995 (c_pretty_printer::conditional_expression): Rename from
2996 pp_c_conditional_expression. Adjust.
2997 (c_pretty_printer::assignment_expression): Rename from
2998 pp_c_assignment_expression. Adjust.
2999 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3000 (c_pretty_printer::c_pretty_printer): Do not assign to
3001 unary_expression, multiplicative_expression,
3002 conditional_expression, expression.
3003
fb22178f
GDR
30042013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3005
3006 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3007 virtual member function.
3008 (pp_postfix_expression): Adjust.
3009 (pp_c_postfix_expression): Remove.
3010 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3011 from pp_c_postfix_expression. Adjust.
3012 (c_pretty_printer::c_pretty_printer): Do not assign to
3013 postfix_expression.
3014
7ecc2600
GDR
30152013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3016
3017 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3018 virtua member function.
3019 (pp_primary_expression): Adjust.
3020 (pp_c_primary_expression): Remove.
3021 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3022 from pp_c_primary_expression. Adjust.
3023 (pp_c_initializer_list): Use pp_primary_expression.
3024 (c_pretty_printer::c_pretty_printer): Do not assign to
3025 primary_expression.
3026
0691175f
GDR
30272013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3028
3029 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3030 * c-pretty-print.c (M_): Remove.
3031 (c_pretty_printer::translate_string): Define.
3032 (pp_c_type_specifier): Use it.
3033 (pp_c_primary_expression): Likewise.
3034 (pp_c_expression): Likewise.
3035
66dfe4c4
GDR
30362013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3037
3038 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3039 virtual function.
3040 (pp_c_id_expression): Remove.
3041 (pp_id_expression): Adjust.
3042 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3043 pp_c_id_expression. Adjust.
3044 (pp_c_postfix_expression): Use pp_id_expression.
3045 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3046
ca43e9d5
GDR
30472013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3048
3049 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3050 member function.
3051 (pp_constant): Adjust.
3052 (pp_c_constant): Remove.
3053 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3054 pp_c_constant. Adjust.
3055 (pp_c_constant)
3056 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3057 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3058
da6ca2b5
GDR
30592013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3060
3061 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3062 (c_pretty_printer::c_pretty_printer): Declare.
3063 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3064 c_pretty_printer_init. Adjust.
3065 (print_c_tree): Do not call c_pretty_printer_init.
3066 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3067
65a372f4
AC
30682013-08-09 Arnaud Charlet <charlet@adacore.com>
3069
3070 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3071
fd9b0f32
PC
30722013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3073
3074 PR c++/58080
3075 * c-common.c (pointer_int_sum): Add bool parameter.
3076 * c-common.h (pointer_int_sum): Adjust declaration.
3077
e0aec1e9
GDR
30782013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3079
3080 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3081 c_pretty_printer variable.
3082
b066401f
GDR
30832013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3084
3085 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3086 (pp_base): Remove.
3087 (pp_c_base): Likewise. Adjust users.
3088 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3089 (pp_c_whitespace): Do not call pp_base.
3090 (pp_c_left_paren): Likewise.
3091 (pp_c_right_paren): Likewise.
3092 (pp_c_left_brace): Likewise.
3093 (pp_c_right_brace): Likewise.
3094 (pp_c_left_bracket): Likewise.
3095 (pp_c_right_bracket): Likewise.
3096 (pp_c_dot): Likewise.
3097 (pp_c_ampersand): Likewise.
3098 (pp_c_star): Likewise.
3099 (pp_c_arrow): Likewise.
3100 (pp_c_semicolon): Likewise.
3101 (pp_c_complement): Likewise.
3102 (pp_c_exclamation): Likewise.
3103 (pp_c_direct_declarator): Likewise.
3104 (pp_c_ws_string): Likewise.
3105 (pp_c_identifier): Likewise.
3106 (pp_c_statement): Likewise.
3107 (print_c_tree): Likewise.
3108
65e5a578
ESR
31092013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3110
3111 PR c++/58072
3112 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3113 provide useful error strings.
3114
137a1a27
GDR
31152013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3116
3117 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3118 printer functions instead of pp_string or operators and punctuators.
3119 (dump_generic_ada_node): Likewise.
3120 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3121 (pp_c_relational_expression): Likewise.
3122 (pp_c_logical_or_expression): Likewise.
3123
07838b13
GDR
31242013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3125
3126 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3127 functions instead of pp_character.
3128 (pp_ada_tree_identifier): Likewise.
3129 (dump_ada_double_name): Likewise.
3130 (dump_ada_function_declaration): Likewise.
3131 (dump_ada_array_domains): Likewise.
3132 (dump_template_types): Likewise.
3133 (dump_generic_ada_node): Likewise.
3134 (print_ada_declaration): Likewise.
3135 (print_ada_struct_decl): Likewise.
3136 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3137
433cc7b0
TT
31382013-07-23 Tom Tromey <tromey@redhat.com>
3139
3140 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3141 * c-common.c (c_common_reswords): Add _Generic.
3142
688010ba
OB
31432013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3144
3145 * c-common.c: Fix typos.
3146 * c-common.h: Likewise.
3147
2a99e5e6
LL
31482013-07-13 Lubos Lunak <l.lunak@suse.cz>
3149
3150 PR c++/55203
3151 * c-common.c (c_common_attribute_table): Add warn_unused.
3152 (handle_warn_unused_attribute): New.
3153
c26302d5
JJ
31542013-07-10 Jakub Jelinek <jakub@redhat.com>
3155
3156 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3157 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3158
dfeadaa0
PC
31592013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3160
3161 PR c++/57869
3162 * c.opt: Add Wconditionally-supported.
3163
6a2fa4b2
GS
31642013-07-08 Graham Stott <graham.stott@btinternet.com>
3165
adfac8df 3166 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
3167 unused variables l_length and l_node.
3168
ecdbd01a 31692013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
3170
3171 PR c/57821
3172 * c-common.c (complete_array_type): Delay folding first index
3173 like other indices. When folding, check for index overflow.
3174
bedc293e
MG
31752013-06-27 Marc Glisse <marc.glisse@inria.fr>
3176
3177 PR c++/57509
3178 * c-common.h (c_build_vec_perm_expr): New complain argument.
3179 * c-common.c (c_build_vec_perm_expr): Likewise.
3180 Use save_expr also in C++.
3181
604b2bfc
GDR
31822013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3183
3184 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3185 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3186 * c-opts.c (c_common_post_options): Likewise.
3187
dfeadaa0 31882013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
3189
3190 * array-notation-common.c (length_mismatch_in_expr): Changed the
3191 parameter type's from a dynamic array to a vec_tree. Also removed
3192 the size parameters.
3193 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3194 the change above.
3195
2ce86d2e
BI
31962013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3197
3198 * c-common.h (struct cilkplus_an_parts): New structure.
3199 (struct cilkplus_an_loop_parts): Likewise.
3200 (cilkplus_extract_an_triplets): New prototype.
3201 (fix_sec_implicit_args): Likewise.
3202 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3203 (fix_sec_implicit_args): Likewise.
604b2bfc 3204
07a6825b
BI
32052013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3206
3207 * array-notation-common.c (find_inv_trees): Removed an unwanted
3208 typecasting.
3209 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3210 enum rid to enum tree_code.
3211
08346abd
JH
32122013-06-11 Jan Hubicka <jh@suse.cz>
3213
3214 * c-common.c (handle_alias_ifunc_attribute): Do not set
3215 DECL_EXTERNAL for weakref variables.
3216 * c-pragma.c (handle_pragma_weak): Make sure aliases
3217 are not declared as external.
3218
d60f1706
BI
32192013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3220
3221 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3222 function from c/c-array-notation.c.
3223 (is_cilkplus_reduce_builtin): Likewise.
3224 (find_rank): Likewise.
3225 (extract_array_notation_exprs): Likewise.
3226 (replace_array_notations): Likewise.
3227 (find_inv_trees): Likewise.
3228 (replace_inv_trees): Likewise.
3229 (contains_array_notation_expr): Likewise.
3230 (find_correct_array_notation_type): Likewise.
3231 * c-common.h (struct inv_list): Moved this struct from the file
3232 c/c-array-notation.c and added a new field called additional tcodes.
3233 (length_mismatch_in_expr_p): New prototype.
3234 (is_cilkplus_reduce_builtin): Likewise.
3235 (find_rank): Likewise.
3236 (extract_array_notation_exprs): Likewise.
3237 (replace_array_notation): Likewise.
3238 (find_inv_trees): Likewise.
3239 (replace_inv_trees): Likewise.
3240 (find_correct_array_notation_type): Likewise.
dfeadaa0 3241
36536d79
BI
32422013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3243
3244 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3245 function array_notation_init_builtins is called.
3246 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3247 * c-common.def (ARRAY_NOTATION_REF): New tree.
3248 * c-common.h (build_array_notation_expr): New function declaration.
3249 (build_array_notation_ref): Likewise.
3250 (extract_sec_implicit_index_arg): New extern declaration.
3251 (is_sec_implicit_index_fn): Likewise.
3252 (ARRAY_NOTATION_CHECK): New define.
3253 (ARRAY_NOTATION_ARRAY): Likewise.
3254 (ARRAY_NOTATION_START): Likewise.
3255 (ARRAY_NOTATION_LENGTH): Likewise.
3256 (ARRAY_NOTATION_STRIDE): Likewise.
3257 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3258 ARRAY_NOTATION_REF.
3259 (pp_c_expression): Likewise.
3260 * c.opt (flag_enable_cilkplus): New flag.
3261 * array-notation-common.c: New file.
3262
f7716d57
JJ
32632013-05-14 Jakub Jelinek <jakub@redhat.com>
3264
3265 PR c++/57274
3266 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3267
a5e0cd1d
MG
32682013-05-10 Marc Glisse <marc.glisse@inria.fr>
3269
3270 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3271 vectors.
3272
f6bc1c4a
HS
32732013-05-07 Han Shen <shenhan@google.com>
3274
3275 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3276
3f12f6e9
SKS
32772013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3278
3279 * c-common.c (check_user_alignment): Emit error for negative values.
3280
61949153
PC
32812013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3282
3283 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3284
e93e18e9
PC
32852013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3286
3287 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3288 __GXX_EXPERIMENTAL_CXX1Y__.
3289
44d90fe1
PC
32902013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3291 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3292
3293 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3294 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3295 to simply use OPT_Wpointer_arith.
3296 (c_sizeof_or_alignof_type): Likewise.
3297
13f39b2e
PC
32982013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3299
3300 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3301
4b84d650
JJ
33022013-04-12 Jakub Jelinek <jakub@redhat.com>
3303
3304 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3305 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3306 specifiers.
3307
fb037b5d
SB
33082013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3309
3310 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3311
4e856798
PC
33122013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3313
3314 * c-common.c (pointer_int_sum): Remove dead code.
3315
4b1baac8
RS
33162013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3317
3318 PR middle-end/56524
3319 * c-common.c (handle_optimize_attribute): Don't call
3320 save_optabs_if_changed.
3321
0b50e654
JJ
33222013-03-05 Jakub Jelinek <jakub@redhat.com>
3323
3324 PR middle-end/56461
3325 * c-pch.c (pch_init): Free target_validity at the end.
3326
48c41403
JJ
33272013-03-04 Jakub Jelinek <jakub@redhat.com>
3328
3329 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3330
e664c61c
KS
33312013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3332 Jakub Jelinek <jakub@redhat.com>
3333
3334 PR sanitizer/56454
3335 * c-common.c (handle_no_sanitize_address_attribute): New function.
3336 (c_common_attribute_table): Add no_sanitize_address attribute.
3337 (handle_no_address_safety_analysis_attribute): Add
3338 no_sanitize_address attribute, not no_address_safety_analysis
3339 attribute.
3340
a475fd3d 33412013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
3342
3343 PR target/52555
3344 * c-common.c (handle_optimize_attribute): Call
3345 save_optabs_if_changed.
3346
f6007d99
JJ
33472013-02-18 Jakub Jelinek <jakub@redhat.com>
3348 Steven Bosscher <steven@gcc.gnu.org>
3349
3350 PR pch/54117
3351 * c-opts.c (c_common_post_options): If debug info is enabled
3352 and non-dwarf*, refuse to load PCH files and when writing PCH
3353 file warn.
3354
cf35e2b1
JJ
33552013-02-05 Jakub Jelinek <jakub@redhat.com>
3356
3357 PR middle-end/56167
3358 * c-common.c (handle_error_attribute): Fix condition.
3359
32887460
JJ
33602013-01-30 Jakub Jelinek <jakub@redhat.com>
3361
3362 PR c++/55742
3363 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3364
5af057d8
JM
33652013-01-18 Jason Merrill <jason@redhat.com>
3366
3367 PR target/54908
3368 * c.opt (-fextern-tls-init): New.
3369 * c-opts.c (c_common_post_options): Handle it.
3370
cc83c823
JJ
33712013-01-09 Jakub Jelinek <jakub@redhat.com>
3372
3373 PR c/48418
3374 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3375 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3376 and is either negative or bigger or equal to type precision
3377 of the first operand.
3378
a859517f
MP
33792012-12-03 Marek Polacek <polacek@redhat.com>
3380
3381 PR c/55570
3382 * c-common.c (check_user_alignment): Swap order of tests,
3383 check TREE_CODE first.
3384
2d7aa578
ESR
33852012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3386
3387 PR c++/52654
3388 * c-common.h (overflow_type): New enum.
3389 (build_userdef_literal): Add overflow_type argument.
3390 (tree_userdef_literal): Add overflow_type.
3391 (USERDEF_LITERAL_OVERFLOW): New access macro.
3392 * c-common.c (build_userdef_literal): Add overflow_type
3393 argument.
3394 * c-lex.c (c_lex_with_flags): Add overflow_type to
3395 build_userdef_literal calls.
3396 (interpret_integer, interpret_float): Add overflow_type argument.
3397
cc3c4f62
RB
33982012-11-28 Richard Biener <rguenther@suse.de>
3399
3400 PR c/35634
3401 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3402 here and use a type with proper overflow behavior for types that would
3403 need to be promoted for the arithmetic.
3404
77bc5132
JJ
34052012-11-23 Jakub Jelinek <jakub@redhat.com>
3406
3407 PR sanitizer/55435
3408 * c-common.c (handle_no_address_safety_analysis_attribute): New
3409 function.
3410 (c_common_attribute_table): Add no_address_safety_analysis.
3411
5dc99c46
SB
34122012-11-16 Simon Baldwin <simonb@google.com>
3413
3414 * c.opt: Add f[no-]canonical-system-headers.
3415 * c-opts.c (c_common_handle_option): Handle
3416 OPT_fcanonical_system_headers.
3417
a4a0016d
ESR
34182012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3419
3420 PR c++/54413
3421 * c-opts.c (c_common_handle_option): Set new flags.
3422 * c.opt: Describe new flags.
3423
7dbb85a7
JM
34242012-11-09 Jason Merrill <jason@redhat.com>
3425
3426 * c.opt (Wabi-tag): New.
3427
ad7bac31
AK
34282012-11-09 Andi Kleen <ak@linux.intel.com>
3429
3430 PR 55139
3431 * c-common.c (get_atomic_generic_size): Mask with
3432 MEMMODEL_MASK
3433
7332899a
MLI
34342012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3435
3436 PR c/53063
3437 * c.opt (Wformat): Make it Alias Wformat=1.
3438 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3439 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3440 LangEnabledBy.
3441 (Wformat=): RejectNegative. Use LangEnabledBy.
3442 (Wnonnull): Use LangEnabledBy.
3443 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3444 * c-format.c (set_Wformat): Delete.
3445 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3446 (maybe_read_dollar_number): Likewise.
3447 (avoid_dollar_number): Likewise.
3448 (finish_dollar_format_checking): Likewise.
3449 (check_format_info): Likewise.
3450 (check_format_info_main): Likewise.
3451 (check_format_types): Likewise.
3452 (format_type_warning): Likewise.
3453 * c-common.c (int): Likewise.
3454 (check_function_sentinel): Likewise.
3455 * c-common.h (warn_format,set_Wformat): Do not declare here.
3456
34a180a6
MLI
34572012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3458
3459 PR c/53063
3460 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3461 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3462 Use LangEnabledBy.
3463 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3464 common.opt.
3465 (Wvariadic-macros): Init(1).
3466 * c-opts.c (c_common_handle_option): Do not handle them
3467 explicitly.
3468 (c_common_post_options): Likewise.
3469 (sanitize_cpp_opts): warn_unused_macros is now
3470 cpp_warn_unused_macros.
3471 (push_command_line_include): Likewise.
3472 * c-common.c (warn_unknown_pragmas): Do not define.
3473 * c-common.h (warn_unknown_pragmas): Do not declare.
3474
3f46d6a5
MLI
34752012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3476
3477 PR c/51294
3478 * c-common.c (conversion_warning): Handle conditional expressions.
3479
880661a4
JW
34802012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3481
3482 PR c++/54930
3483 * c.opt (Wreturn_local_addr): Define new option.
3484
4514a96b
JM
34852012-10-25 Jason Merrill <jason@redhat.com>
3486
f14edc1a
JM
3487 * c.opt (Wvirtual-move-assign): New.
3488
4514a96b
JM
3489 * c.opt (Winherited-variadic-ctor): New.
3490
93100c6b
MG
34912012-10-25 Marc Glisse <marc.glisse@inria.fr>
3492
3493 PR c++/54427
3494 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3495
1efcb8c6
JM
34962012-10-23 Joseph Myers <joseph@codesourcery.com>
3497
3498 * c-common.h (pch_cpp_save_state): Declare.
3499 * c-target.def (c_preinclude): New hook.
3500 * c-opts.c (done_preinclude): New.
3501 (push_command_line_include): Handle default preincluded header.
3502 (cb_file_change): Call pch_cpp_save_state when calling
3503 push_command_line_include.
3504 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3505 (pch_cpp_save_state): New.
3506 (pch_init): Call pch_cpp_save_state conditionally, instead of
3507 calling cpp_save_state.
3508
4a0ae68e
MLI
35092012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3510
3511 PR c/53063
3512 PR c/40989
3513 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3514 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3515 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3516 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3517 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3518 * c-opts.c (c_common_handle_option): Remove explicit handling from
3519 here.
3520 (c_common_post_options): Likewise.
3521
67e4210b
EB
35222012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3523
3524 * c-ada-spec.c (LOCATION_COL): Delete.
3525 (compare_location): New function.
3526 (compare_node): Use it.
3527 (compare_comment): Likewise.
3528
65d4f2cd
MLI
35292012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3530
3531 PR c/53063
3532 PR c/40989
3533 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3534 * c-opts.c (c_common_handle_option): Do not set them here. Add
3535 comment.
3536 (c_common_post_options): Likewise.
3537
909881cb
EB
35382012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3539
3540 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3541 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3542 Remove POINTER_TYPE handling, add large unsigned handling and use
3543 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3544
3a785c97
JJ
35452012-10-12 Jakub Jelinek <jakub@redhat.com>
3546
3547 PR c/54381
3548 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3549 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3550 locs and array of 3 trees instead of just single loc and single
3551 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3552 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3553 For *cmp* builtins that take two sources strings report warnings
3554 about first and second source, not about destination and source.
3555
5e54f81d
MG
35562012-10-12 Marc Glisse <marc.glisse@inria.fr>
3557
3558 PR c++/53055
3559 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3560
f5b02f1e
EB
35612012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3562
3563 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3564 declaring something coming from another file.
3565
b46dbc6c
AC
35662012-10-10 Arnaud Charlet <charlet@adacore.com>
3567
f5b02f1e 3568 PR ada/54845
b46dbc6c
AC
3569 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3570
5d9de0d0
PC
35712012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3572
3573 PR c++/54194
3574 * c-common.c (warn_about_parentheses): Add location_t parameter;
3575 use EXPR_LOC_OR_LOC.
3576 * c-common.h: Update declaration.
3577
a212e43f
MG
35782012-10-09 Marc Glisse <marc.glisse@inria.fr>
3579
3580 PR c++/54427
3581 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3582 more operations. Make error messages optional.
3583 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3584 (scalar_to_vector): Declare.
3585
b1db7f91
JM
35862012-10-08 Jason Merrill <jason@redhat.com>
3587
3588 * c-common.c (c_common_reswords): Add thread_local.
3589
e28d52cf
DS
35902012-10-08 Dodji Seketeli <dodji@redhat.com>
3591
3592 PR c++/53528 C++11 attribute support
3593 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3594 new functions.
3595 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3596 static function.
3597 (handle_aligned_attribute): In choose strictest alignment
3598 among many. Use new check_cxx_fundamental_alignment_constraints.
3599 (handle_transparent_union_attribute): In c++11 attribute syntax,
3600 don't look through typedefs.
3601
3b78de56
AC
36022012-10-04 Arnaud Charlet <charlet@adacore.com>
3603
3604 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3605 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3606 out of dumpfile.h.
3607
6040bb5f
DC
36082012-09-25 Dehao Chen <dehao@google.com>
3609
3610 PR middle-end/54645
3b78de56 3611 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
3612 map when read in the pch.
3613
0b07a57e
AC
36142012-09-18 Arnaud Charlet <charlet@adacore.com>
3615
3616 * c-ada-spec.c: Style fixes.
3617
da5182be
TQ
36182012-09-18 Thomas Quinot <quinot@adacore.com>
3619
3620 * c.opt (-fada-spec-parent): Define new command line switch.
3621 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3622 is specified, generate binding spec as a child of the specified unit.
3623
0ccb505d
PC
36242012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3625 Manuel López-Ibáñez <manu@gcc.gnu.org>
3626
3627 PR c++/53210
3628 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3629
c583af79
AC
36302012-08-23 Arnaud Charlet <charlet@adacore.com>
3631
3632 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3633 for pointers, and add missing Convention C pragma.
3634 (print_ada_struct_decl): Add missing aliased keyword.
3635 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3636
1a4049e7
JJ
36372012-08-17 Jakub Jelinek <jakub@redhat.com>
3638
3639 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3640 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3641 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3642 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3643 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3644
70b5e7dc
RG
36452012-08-10 Richard Guenther <rguenther@suse.de>
3646
3647 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3648
f8923f7e
SB
36492012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3650
3651 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3652 instead of separate pp_newline and pp_flush.
3653 (print_c_tree): Likewise.
3654
e45abe1f
RH
36552012-07-26 Richard Henderson <rth@redhat.com>
3656
3657 * c-common.c (handle_hot_attribute): Allow labels.
3658 (handle_cold_attribute): Likewise.
3659
332f1d24
JJ
36602012-07-20 Jakub Jelinek <jakub@redhat.com>
3661
3662 PR c++/28656
3663 * c-common.c (check_function_nonnull): Handle multiple nonnull
3664 attributes properly.
3665
7ee2468b
SB
36662012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3667
3668 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3669 * c-ada-spec.c: Likewise.
3670 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3671
ee7b28eb
SB
36722012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3673
3674 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3675 Remove code conditional on it.
3676
6bdf3519
SB
36772012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3678
3679 * c-gimplify.c: Do not include basic-block.h.
3680 * c-common.c: Do not include linfuncs.h.
3681
532aafad
SB
36822012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3683
3684 * c-common.h: Include tree.h.
3685
8d0d1915
JM
36862012-07-02 Jason Merrill <jason@redhat.com>
3687
3688 PR c++/53524
3689 * c-common.c (get_priority): Call default_conversion.
3690
fbc873ad
UB
36912012-07-01 Uros Bizjak <ubizjak@gmail.com>
3692
3693 * c-pch.c (c_common_write_pch): Remove unused variables.
3694
d4a10d0a
SB
36952012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3696
3697 * cppspec.c: Moved from gcc/ to here.
3698
6f3a2e23
KT
36992012-06-27 Kai Tietz <ktietz@redhat.com>
3700
3701 PR preprocessor/37215
3702 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3703
8ca92d04
SB
37042012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3705
3706 * c-common.h (c_common_print_pch_checksum): Remove.
3707 * c-pch.c: Do not include output.h.
3708 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3709 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3710 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3711 (struct c_pch_header): Remove.
3712 (get_ident): Update gpch version.
3713 (pch_init): Do not print executable_checksum to asm_out_file.
3714 Do not fail if there is no asm_out_file to read back from. Set
3715 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3716 (c_common_write_pch): Verify that nothing was written to asm_out_file
3717 since pch_init was called. Do not write a c_pch_header, and do not
3718 copy from asm_out_file to the PCH.
3719 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3720 the content of asm_out_file from the PCH.
3721 (c_common_print_pch_checksum): Remove.
3722 * c-opts.c (c_common_init): Print out executable_checksum directly.
3723
70f42967
SB
37242012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3725
3726 * c-target.def (objc_declare_unresolved_class_reference,
3727 objc_declare_class_definition): Add new hooks.
3728
a8781821
SB
37292012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3730
3731 * c-lex.c: Do not include output.h.
3732 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3733 Remove uses of ASM_OUTPUT_IDENT.
3734
9e1a8dd1
RR
37352012-06-15 Marc Glisse <marc.glisse@inria.fr>
3736
3737 PR c++/51033
3738 * c-common.h (c_build_vec_perm_expr): Move decl here.
3739 * c-common.c (c_build_vec_perm_expr): Move definition
3740 here.
3741
6f07a821
SB
37422012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3743
3744 * c.opt (fconserve-space): Turn into a no-op.
3745
9faeb493 37462012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
3747
3748 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3749 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3750 both the start and end of the function.
3751
a4b7d13c
SB
37522012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3753
3754 * c-common.c: Do not include output.h.
3755 * c-pragma.c: Likewise.
3756
c265f413
SA
37572012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3758
3759 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3760 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3761 (lang_decl_name): Handle namespace decls.
3762
be7a421e
SB
37632012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3764
3765 * c-ada-spec.c: Do not include output.h.
3766 * c-semantics.c: Likewise.
3767
65de6659
JM
37682012-05-29 Joseph Myers <joseph@codesourcery.com>
3769
3770 * c-common.c: Fix typo.
3771
ca5f4331
MM
37722012-05-29 Michael Matz <matz@suse.de>
3773
3774 * c-common.h (c_expand_decl): Remove prototype.
3775
4f7f7aca
MLI
37762012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3777
3778 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3779 * c-opts.c (c_common_handle_option): Remove code handling
3780 warn_missing_braces.
3781
4a792f9b
PC
37822012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3783
3784 PR c++/25137
3785 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3786 -Wmissing_braces.
3787
650dc14a
DS
37882012-05-22 Dodji Seketeli <dodji@redhat.com>
3789
3790 PR c++/53322
3791 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3792
9b095bf1
MLI
37932012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3794
3795 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3796 * c-opts.c (c_common_handle_option): Do not handle explicitly
3797 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3798
0b2c4be5
DS
37992012-05-16 Dodji Seketeli <dodji@redhat.com>
3800
3801 PR preprocessor/7263
3802 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3803 to cpp_classify_number. For diagnostics, use the precise location
3804 instead of the global input_location.
3805
a1bde5af
PC
38062012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3807
d02924ef 3808 PR c++/11856
a1bde5af
PC
3809 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3810
d1ede5f4
BS
38112012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3812
a1bde5af 3813 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 3814
f2bc201f
MLI
38152012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3816
3817 PR 53063
3818 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3819 Wreorder): Use LangEnabledBy.
3820 * c-opts.c (c_common_handle_option): Do not enable them
3821 explicitly. Call lang-specific generated functions.
3822 (c_common_post_options): Do not set them here.
3823
95744782
MLI
38242012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3825
3826 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3827 Wmissing-field-initializers,Wmissing-parameter-type,
3828 Wold-style-declaration,Woverride-init): Use EnabledBy.
3829 * c-opts.c (c_common_post_options): Do not set here explicitly.
3830
7d5a5747
MLI
38312012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3832
3833 PR 53063
3834 * c-opts.c (c_common_handle_option): Use handle_generated_option
3835 to enable sub-options.
3836
5a3c9cf2
PC
38372012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3838
3839 PR c++/53158
3840 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3841
3ac8781c
RG
38422012-05-10 Richard Guenther <rguenther@suse.de>
3843
3844 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3845 adjust commentary about TYPE_IS_SIZETYPE types.
3846
1e537948
MLI
38472012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3848
3849 PR c++/53261
3850 * c-common.c (warn_logical_operator): Check that argument of
3851 integer_zerop is not NULL.
3852
f2c4a785
MLI
38532012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3854
3855 PR c/43772
3856 * c-common.c (warn_logical_operator): Do not warn if either side
3857 is already true or false.
3858
50f305ca
MLI
38592012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3860
3861 PR c/51712
3862 * c-common.c (expr_original_type): New.
3863 (shorten_compare): Do not warn for enumeration types.
3864
0c3641b0
MLI
38652012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3866
3867 * c.opt (fpermissive): Add Var(flag_permissive).
3868
7edaa4d2
MG
38692012-04-30 Marc Glisse <marc.glisse@inria.fr>
3870
3871 PR c++/51033
3872 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3873 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3874
b9c8da34
DS
38752012-04-30 Dodji Seketeli <dodji@redhat.com>
3876
3877 Add -Wvarargs option
3878 * c.opt (Wvarargs): Define new option.
3879
e6c69da0
MLI
38802012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3881
3882 * c-common.c (check_function_arguments): Replace
3883 Wmissing-format-attribute with Wsuggest-attribute=format.
3884
90137d8f
MLI
38852012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3886
3887 * c.opt (Wsuggest-attribute=format): New. Alias of
3888 Wmissing-format-attribute.
3889 * c-format.c (decode_format_type): Replace
3890 Wmissing-format-attribute with Wsuggest-attribute=format.
3891 (check_function_format): Likewise.
3892
9faeb493 38932012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
3894
3895 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3896 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3897 * c.opt: Add Wliteral-suffix.
3898
c1771a20
MLI
38992012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3900
3901 PR c/44774
3902 * c.opt (Wpedantic): New.
3903 (pedantic): Alias Wpedantic.
3904 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3905 (c_common_post_options): Likewise.
3906 (sanitize_cpp_opts): Likewise.
3907 * c-lex.c (interpret_float): Likewise.
3908 * c-format.c (check_format_types): Likewise.
3909 * c-common.c (pointer_int_sum): Likewise.
3910 (c_sizeof_or_alignof_type): Likewise.
3911 (c_add_case_label): Likewise.
3912 (c_do_switch_warnings): Likewise.
3913 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3914
04b391c1
JM
39152012-04-15 Jason Merrill <jason@redhat.com>
3916
3917 PR c++/52818
3918 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3919 (C_STD_NAME): Distinguish between C++98 and C++11.
3920
ac868f29
EB
39212012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3922
3923 PR target/52624
3924 * c-common.h (uint16_type_node): Rename into...
3925 (c_uint16_type_node): ...this.
3926 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3927 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3928
fd4116f4
MLI
39292012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3930
3931 * c-common.c (warn_if_unused_value): Move definition to here.
3932 * c-common.h (warn_if_unused_value): Move declaration to here.
3933
573ac65e
WB
39342012-03-23 William Bader <williambader@hotmail.com>
3935
3936 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3937
552b8185
JM
39382012-03-20 Jason Merrill <jason@redhat.com>
3939
3940 * c-common.h (enum cxx_dialect): Add cxx1y.
3941 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3942 test.
3943 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3944 * c-opts.c (c_common_post_options): Likewise.
3945 (set_std_cxx1y): New.
3946 (c_common_handle_option): Call it.
3947 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3948
04398fa8
PC
39492012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3950
3951 PR c++/14710
3952 * c.opt ([Wuseless-cast]): Add.
3953
d2a12ae7
RG
39542012-03-16 Richard Guenther <rguenther@suse.de>
3955
3956 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3957
a12bf402
MLI
39582012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3959
3960 PR c++/44783
3961 * c.opt (ftemplate-backtrace-limit) Add.
3962
5c30094f
RO
39632012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3964
3965 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3966 handling.
3967 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3968 (init_pragma): Don't register extern_prefix.
3969
21fa2faf
RG
39702012-03-12 Richard Guenther <rguenther@suse.de>
3971
3972 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3973 (builtin_type_for_size): Likewise.
3974
e3793c6f
JJ
39752012-02-13 Jakub Jelinek <jakub@redhat.com>
3976
3977 PR c++/52215
3978 * c-common.c (sync_resolve_params): Don't decide whether to convert
3979 or not based on TYPE_SIZE comparison, convert whenever arg_type
3980 is unsigned INTEGER_TYPE.
3981
93286335
PC
39822012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3983
3984 PR c/52118
3985 * c.opt ([Wunused-local-typedefs]): Fix description.
3986
7a421706
MS
39872012-01-24 Mike Stump <mikestump@comcast.net>
3988
3989 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3990 exactly.
3991
ba9b1f11
RG
39922012-01-18 Richard Guenther <rguenther@suse.de>
3993
3994 * c-opts.c (c_common_post_options): Reset LTO flags if
3995 we are about to generate a PCH.
3996
465406be
PC
39972012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3998
3999 PR c++/51777
4000 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4001 use pp_unsigned_wide_integer.
4002
aee15221
RG
40032012-01-10 Richard Guenther <rguenther@suse.de>
4004
4005 PR middle-end/51806
4006 * c-opts.c (c_common_handle_option): Move -Werror handling
4007 to language independent code.
4008
5720c0dc
RG
40092012-01-05 Richard Guenther <rguenther@suse.de>
4010
4011 PR middle-end/51764
4012 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4013 from common.opt.
4014
73ac190a
PC
40152011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4016
4017 PR c++/51316
4018 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4019 of array types with an unknown bound.
4020
48b0b196
JM
40212011-12-20 Joseph Myers <joseph@codesourcery.com>
4022
4023 * c-common.c (flag_isoc99): Update comment to refer to C11.
4024 (flag_isoc1x): Change to flag_isoc11.
4025 * c-common.h (flag_isoc99): Update comment to refer to C11.
4026 (flag_isoc1x): Change to flag_isoc11.
4027 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4028 C11.
4029 * c-opts.c (set_std_c1x): Change to set_std_c11.
4030 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4031 Call set_std_c11.
4032 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4033 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4034 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4035 standard.
4036 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4037 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4038 (std=gnu1x): Make alias of std=gnu11.
4039
d58d6eb5
JM
40402011-12-19 Jason Merrill <jason@redhat.com>
4041
4042 PR c++/51228
4043 * c-common.c (handle_transparent_union_attribute): Check the first
4044 field if the type is complete.
4045
b3908fcc
JW
40462011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4047
4048 PR libstdc++/51365
4049 * c-common.c (RID_IS_FINAL): Add.
4050 * c-common.h (RID_IS_FINAL): Add.
4051
fea3ca91
IS
40522011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4053
4054 * c.opt (fgnu-runtime): Provide full description.
4055 (fnext-runtime): Likewise.
4056 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4057
62bad7cd
AM
40582011-11-28 Andrew MacLeod <amacleod@redhat.com>
4059
4060 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4061 predefines in one place. Add LOCK_FREE predefines.
4062 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4063 new func.
4064
c466c4ff
AM
40652011-11-24 Andrew MacLeod <amacleod@redhat.com>
4066
4067 PR c/51256
9faeb493 4068 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 4069 conditions
9faeb493
UB
4070 (resolve_overloaded_atomic_exchange,
4071 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
4072 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4073 error_mark_node for error conditions.
9faeb493 4074
a5952633
RG
40752011-11-08 Richard Guenther <rguenther@suse.de>
4076
4077 PR middle-end/51010
4078 c-family/
4079
0a35513e
AH
40802011-11-07 Richard Henderson <rth@redhat.com>
4081 Aldy Hernandez <aldyh@redhat.com>
4082 Torvald Riegel <triegel@redhat.com>
4083
4084 Merged from transactional-memory.
4085
4086 * c-common.c (handle_tm_wrap_attribute,
4087 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4088 (struct c_common_reswords): Added __transaction* keywords.
4089 (struct c_common_attribute_table): Added transaction* and tm_regparm
4090 attributes.
4091 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4092 masks.
4093 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4094 find_tm_attribute): Declare.
4095
6d87092d
JM
40962011-11-07 Jason Merrill <jason@redhat.com>
4097
4098 PR c++/35688
4099 * c-common.c, c-common.h: Revert yesterday's changes.
4100
8e7860a1
JM
41012011-11-06 Jason Merrill <jason@redhat.com>
4102
4103 PR c++/35688
4104 * c-common.c (decl_has_visibility_attr): Split out from...
4105 (c_determine_visibility): ...here.
4106 * c-common.h: Declare it.
4107
d19fa6b5
JM
41082011-11-06 Joseph Myers <joseph@codesourcery.com>
4109
4110 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4111 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4112 type.
4113 (check_user_alignment): New. Split out of
4114 handle_aligned_attribute. Disallow integer constants with
4115 noninteger types. Conditionally allow zero.
4116 (handle_aligned_attribute): Use check_user_alignment.
4117 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4118
86951993
AM
41192011-11-06 Andrew MacLeod <amacleod@redhat.com>
4120 Richard Henderson <rth@redhat.com>
4121
4122 Merged from cxx-mem-model.
4123
4124 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 4125 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
4126 parameters that are the same type size.
4127 (get_atomic_generic_size): New. Find size of generic
4128 atomic function parameters and do typechecking.
4129 (add_atomic_size_parameter): New. Insert size into parameter list.
4130 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4131 either __atomic_exchange_n or external library call.
9faeb493 4132 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 4133 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 4134 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
4135 __atomic_load_n or an external library call.
4136 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4137 __atomic_store_n or an external library call.
4138 (resolve_overloaded_builtin): Handle new __atomic builtins.
4139
cf9e9959
EB
41402011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4141
4142 PR c++/50608
4143 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4144 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4145 <INDIRECT_REF>: Return the argument.
4146 <ARRAY_REF>: Remove special code for negative offset.
4147 Call fold_build_pointer_plus instead of size_binop.
4148 (fold_offsetof): Remove STOP_REF argument and adjust.
4149 * c-common.h (fold_offsetof_1): Declare.
4150 (fold_offsetof): Remove STOP_REF argument.
4151
25339f10
JM
41522011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4153
4154 PR c++/50810
4155 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4156 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4157 Wnarrowing for C++0x and C++98.
4158 * c.opt ([Wnarrowing]): Update.
4159
89401152
PC
41602011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4161
4162 PR c++/44277
4163 * c.opt: Add Wzero-as-null-pointer-constant.
4164
97e3ad20
JM
41652011-10-31 Jason Merrill <jason@redhat.com>
4166
15694fdd
JM
4167 * c.opt (-fdeduce-init-list): Off by default.
4168
97e3ad20
JM
4169 PR c++/50920
4170 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4171 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4172 and -Wc++11-compat.
4173 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4174
fb9120e3
RAV
41752011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4176
4177 PR c++/30066
4178 * c.opt (fvisibility-inlines-hidden): Description change.
4179
3ce4f9e4
ESR
41802011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4181
4182 Implement C++11 user-defined literals.
4183 * c-common.c (build_userdef_literal): New.
4184 * c-common.def: New tree code.
4185 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4186 * c-lex.c (interpret_float): Add suffix parm.
4187 (c_lex_with_flags): Build literal tokens.
4188
5f53c243
PC
41892011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4190
4191 PR c++/50841
4192 Revert:
4193 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4194
4195 PR c++/50810
4196 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4197 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4198 Wnarrowing for C++0x and C++98.
4199 * c.opt ([Wnarrowing]): Update.
4200
263734e1
PC
42012011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4202
4203 PR c++/50810
4204 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4205 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4206 Wnarrowing for C++0x and C++98.
4207 * c.opt ([Wnarrowing]): Update.
4208
d2e312d7
PC
42092011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4210
4211 PR c++/45385
4212 * c-common.c (conversion_warning): Remove code looking for
4213 artificial operands.
4214
d17687f6
DS
42152011-10-18 Dodji Seketeli <dodji@redhat.com>
4216
4217 PR bootstrap/50760
4218 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 4219 !NO_IMPLICIT_EXTERN_C.
d17687f6 4220
fc8396e9
PC
42212011-10-17 Michael Spertus <mike_spertus@symantec.com>
4222
4223 * c-common.c (c_common_reswords): Add __bases,
4224 __direct_bases.
4225 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4226
42272011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4228
4229 PR c++/50757
4230 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4231
847e697a
TT
42322011-10-15 Tom Tromey <tromey@redhat.com>
4233 Dodji Seketeli <dodji@redhat.com>
4234
4235 * c.opt (fdebug-cpp): New option.
4236 * c-opts.c (c_common_handle_option): Handle the option.
4237 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4238 output stream in parameter. Factorized from ...
4239 (maybe_print_line): ... this. Dump location debug information when
4240 -fdebug-cpp is in effect.
4241 (print_line_1): New static function. Takes an output stream in
4242 parameter. Factorized from ...
4243 (print_line): ... here. Dump location information when -fdebug-cpp
4244 is in effect.
4245 (scan_translation_unit): Dump location information when
4246 -fdebug-cpp is in effect.
4247
92582b75
TT
42482011-10-15 Tom Tromey <tromey@redhat.com>
4249 Dodji Seketeli <dodji@redhat.com>
4250
4251 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4252 without argument.
4253 * c-opts.c (c_common_handle_option)<case
4254 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4255 cases. Handle -ftrack-macro-expansion with and without argument.
4256
46427374
TT
42572011-10-15 Tom Tromey <tromey@redhat.com>
4258 Dodji Seketeli <dodji@redhat.com>
4259
4260 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4261 (print_line, cb_define, do_line_change): Adjust to avoid touching
4262 the internals of struct line_map. Use the public API instead.
4263 * c-pch.c (c_common_read_pch): Likewise.
4264 * c-lex.c (fe_file_change): Likewise.
4265
fc8396e9
PC
42662011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4267
4268 PR c++/17212
4269 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4270
42712011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4272
4273 PR c++/33067
4274 * c-pretty-print.c (pp_c_floating_constant): Output
4275 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4276
e79983f4
MM
42772011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4278
4279 * c-common.c (def_builtin_1): Delete old interface with two
4280 parallel arrays to hold standard builtin declarations, and replace
4281 it with a function based interface that can support creating
4282 builtins on the fly in the future. Change all uses, and poison
4283 the old names. Make sure 0 is not a legitimate builtin index.
4284 * c-omp.c (c_finish_omp_barrier): Ditto.
4285 (c_finish_omp_taskwait): Ditto.
4286 (c_finish_omp_flush): Ditto.
4287
6637388f
TG
42882011-10-11 Tristan Gingold <gingold@adacore.com>
4289
4290 * c.opt: (fallow-parameterless-variadic-functions): New.
4291
3797cb21
DS
42922011-09-08 Dodji Seketeli <dodji@redhat.com>
4293
4294 PR c++/33255 - Support -Wunused-local-typedefs warning
4295 * c-common.h (struct c_language_function::local_typedefs): New
4296 field.
9faeb493
UB
4297 (record_locally_defined_typedef, maybe_record_typedef_use)
4298 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 4299 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
4300 (maybe_record_typedef_use)
4301 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
4302 * c.opt: Declare new -Wunused-local-typedefs flag.
4303
693ddb1b
EB
43042011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4305
4306 PR middle-end/50266
4307 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4308 computations.
4309
830c740f
RG
43102011-09-05 Richard Guenther <rguenther@suse.de>
4311
4312 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4313 of integer_minus_one_node for empty array upper bounds.
4314
892a371f
DS
43152011-08-28 Dodji Seketeli <dodji@redhat.com>
4316
4317 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4318 it's the first time it's being called on this main TU.
4319
0e3fdb48
RB
43202011-08-24 Richard Guenther <rguenther@suse.de>
4321
4322 PR c/49396
4323 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4324
43252011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
4326
4327 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4328 defined in cpp_init_builtins and c_cpp_builtins.
4329
d4a83c10
JM
43302011-08-19 Joseph Myers <joseph@codesourcery.com>
4331
4332 * c-common.c (c_common_reswords): Add __builtin_complex.
4333 * c-common.h (RID_BUILTIN_COMPLEX): New.
4334
bbceee64
JM
43352011-08-18 Joseph Myers <joseph@codesourcery.com>
4336
4337 * c-common.c (c_common_reswords): Add _Noreturn.
4338 (keyword_is_function_specifier): Handle RID_NORETURN.
4339 * c-common.h (RID_NORETURN): New.
4340
0e3a99ae
AS
43412011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4342
4343 * c-common.c (unsafe_conversion_p): New function. Check if it is
4344 unsafe to convert an expression to the type.
4345 (conversion_warning): Adjust, use unsafe_conversion_p.
4346 * c-common.h (unsafe_conversion_p): New function declaration.
4347
20906c66
JJ
43482011-08-02 Jakub Jelinek <jakub@redhat.com>
4349
4350 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4351 (c_finish_omp_taskyield): New prototype.
4352 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4353 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4354 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4355 or RHS1 have side-effects, evaluate those too in the right spot,
4356 if it is a decl and LHS is also a decl, error out if they
4357 aren't the same.
4358 (c_finish_omp_taskyield): New function.
4359 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4360 * c-pragma.c (omp_pragmas): Add taskyield.
4361 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4362 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4363 PRAGMA_OMP_CLAUSE_MERGEABLE.
4364
770e5a2e
DS
43652011-07-25 Dodji Seketeli <dodji@redhat.com>
4366
4367 * c-common.h (set_underlying_type): Remove parm name from
4368 declaration.
4369
1baae426
RG
43702011-07-25 Romain Geissler <romain.geissler@gmail.com>
4371
4372 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 4373
fcb21722
JM
43742011-07-22 Jason Merrill <jason@redhat.com>
4375
76f86d00
JM
4376 PR c++/49793
4377 * c.opt (Wnarrowing): New.
4378
3a636414
JM
4379 PR c++/30112
4380 * c-common.h: Declare c_linkage_bindings.
4381 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4382
fcb21722
JM
4383 PR c++/49813
4384 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4385 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4386 as flag_isoc99 for 'restrict'.
4387 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4388
02614448
ILT
43892011-07-21 Ian Lance Taylor <iant@google.com>
4390
4391 PR middle-end/49705
4392 * c-common.c (c_disable_warnings): New static function.
4393 (c_enable_warnings): New static function.
4394 (c_fully_fold_internal): Change local unused_p to bool. Call
4395 c_disable_warnings and c_enable_warnings rather than change
4396 c_inhibit_evaluation_warnings.
4397
34429675
JM
43982011-07-20 Jason Merrill <jason@redhat.com>
4399
4400 PR c++/6709 (DR 743)
4401 PR c++/42603 (DR 950)
4402 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4403 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4404 (CPP_DECLTYPE): New.
4405 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4406
5d49b6a7
RG
44072011-07-19 Richard Guenther <rguenther@suse.de>
4408
4409 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4410 * c-omp.c (c_finish_omp_for): Likewise.
4411
e84a58ff
EB
44122011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4413
4414 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4415 body on the next line.
4416
329af3c7
JM
44172011-07-08 Jason Merrill <jason@redhat.com>
4418
4063e61b
JM
4419 PR c++/45437
4420 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4421
329af3c7
JM
4422 PR c++/49673
4423 * c-common.c (c_apply_type_quals_to_decl): Don't check
4424 TYPE_NEEDS_CONSTRUCTING.
4425
1a072294
RG
44262011-07-06 Richard Guenther <rguenther@suse.de>
4427
4428 * c-common.c (c_common_nodes_and_builtins):
4429 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4430
fce5dddd
RG
44312011-07-05 Richard Guenther <rguenther@suse.de>
4432
4433 * c-common.c (c_common_nodes_and_builtins): Build all common
4434 tree nodes first.
4435
45d439ac
JJ
44362011-06-27 Jakub Jelinek <jakub@redhat.com>
4437
56300785
JJ
4438 * c-common.h (c_tree_chain_next): New static inline function.
4439
45d439ac
JJ
4440 * c-common.c (check_builtin_function_arguments): Handle
4441 BUILT_IN_ASSUME_ALIGNED.
4442
e0a8ecf2
AM
44432011-06-21 Andrew MacLeod <amacleod@redhat.com>
4444
4445 * c-common.c: Add sync_ or SYNC__ to builtin names.
4446 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
4447
44482011-06-20 Pierre Vittet <piervit@pvittet.com>
4449
4450 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4451 handler.
4452 (gen_pragma_handler): New union.
4453 (internal_pragma_handler): New type.
4454 (c_register_pragma_with_data)
4455 (c_register_pragma_with_expansion_and_data): New functions.
4456
4457 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4458 (c_register_pragma, c_register_pragma_with_expansion)
4459 (c_invoke_pragma_handler): Changed to work with
4460 internal_pragma_handler.
4461 (c_register_pragma_with_data)
4462 (c_register_pragma_with_expansion_and_data): New functions.
4463
677f3fa8
JM
44642011-06-14 Joseph Myers <joseph@codesourcery.com>
4465
4466 * c-common.c: Include common/common-target.h.
4467 (handle_section_attribute): Use
4468 targetm_common.have_named_sections.
4469 * c-cppbuiltin.c: Include common/common-target.h.
4470 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4471
d7fc8c14
RG
44722011-06-10 Richard Guenther <rguenther@suse.de>
4473
4474 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4475 to print a IDENTIFIER_NODE.
4476
10e48e39
RO
44772011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4478 Joseph Myers <joseph@codesourcery.com>
4479
4480 * c.opt (fbuilding-libgcc): New option.
4481 * c-cppbuiltin.c (c_cpp_builtins): Define
4482 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4483
6976ae51
JM
44842011-06-07 Jason Merrill <jason@redhat.com>
4485
3ff60975
JM
4486 * c-common.c (max_tinst_depth): Lower default to 900.
4487
6976ae51
JM
4488 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4489
009db074
RG
44902011-06-07 Richard Guenther <rguenther@suse.de>
4491
4492 * c-common.c (c_common_nodes_and_builtins): Do not set
4493 size_type_node or call set_sizetype.
4494
b4592b92
DS
44952011-06-07 Dodji Seketeli <dodji@redhat.com>
4496
4497 PR debug/49130
4498 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 4499 type when using pointer comparison to compare types.
b4592b92 4500
014ab419
JW
45012011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4502
4503 * c.opt: Add -Wdelete-non-virtual-dtor.
4504 * c-opts.c (c_common_handle_option): Include it in -Wall.
4505
4f60111f
NF
45062011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4507
4508 PR bootstrap/49190
4509
4510 Revert:
4511 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4512
4513 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4514 not tree_common.
4515
4cc4f2f4
JJ
45162011-05-27 Jakub Jelinek <jakub@redhat.com>
4517
4518 PR c++/49165
4519 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4520 C++ don't call c_common_truthvalue_conversion on void type arms.
4521
38e01f9e
NF
45222011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4523
4524 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4525 (stmt_list_stack): Define.
4526 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4527 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4528
92e948a8
NF
45292011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4530
4531 * c-common.c (warning_candidate_p): Check for BLOCKs.
4532
a2fc3e63
NF
45332011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4534
4535 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4536 not tree_common.
4537
0957c029
JJ
45382011-05-25 Jakub Jelinek <jakub@redhat.com>
4539
4540 * c-common.c (def_fn_type): Remove extra va_end.
4541
828fb3ba
JM
45422011-05-23 Jason Merrill <jason@redhat.com>
4543
4544 PR c++/48106
4545 * c-common.c (c_common_get_narrower): New.
4546 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4547
dde05067
NF
45482011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4549
4550 * c-common.h (check_function_arguments): Tweak prototype of
4551 check_function_arguments.
4552 * c-common.c (check_function_arguments): Likewise. Adjust
4553 calls to check_function_nonnull, check_function_format, and
4554 check_function_sentinel.
4555 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4556 separate attributes and typelist arguments. Use
4557 FOREACH_FUNCTION_ARGS to iterate over argument types.
4558
3c0d13bf
PC
45592011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4560
4561 * c-common.c (c_common_reswords): Reorder.
4562 * c-common.h (rid): Likewise.
4563
8242dd04
NF
45642011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4565
4566 * c-common.c (def_fn_type): Don't call build_function_type, call
4567 build_function_type_array or build_varargs_function_type_array
4568 instead.
4569 (c_common_nodes_and_builtins): Likewise.
4570
3d528853
NF
45712011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4572
4573 * c-common.c (c_add_case_label): Omit the loc argument to
4574 build_case_label.
4575 * c-common.h (build_case_label): Remove.
4576 * c-semantics.c (build_case_label): Remove.
4577
a04a722b
JM
45782011-05-05 Joseph Myers <joseph@codesourcery.com>
4579
4580 * c-objc.h (objc_start_method_definition): Update prototype.
4581 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4582
e19a18d4
NF
45832011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4584
4585 * c-common.c (check_main_parameter_types): Reindent. Don't use
4586 TYPE_ARG_TYPES directly.
4587 (handle_nonnull_attribute): Likewise.
4588 (sync_resolve_params): Likewise.
4589 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4590 to check_format_string.
4591 (handle_format_attribute): Likewise.
4592 (check_format_string): Take a function type to examine instead of
4593 a type list. Use a function_arg_iterator to step through argument
4594 types.
4595
c62c040f
RG
45962011-05-04 Richard Guenther <rguenther@suse.de>
4597
4598 * c-common.c (fix_string_type): Use size_int for index type bounds.
4599 (start_fname_decls): Do not pass NULL to build_int_cst.
4600 (c_init_attributes): Likewise.
4601 * c-lex.c (c_lex_with_flags): Likewise.
4602
c12ff9d8
JM
46032011-04-27 Jason Merrill <jason@redhat.com>
4604
4605 * c-common.c (make_tree_vector_from_list): New.
4606 * c-common.h: Declare it.
4607
304dfbe3
RG
46082011-04-26 Richard Guenther <rguenther@suse.de>
4609
4610 PR preprocessor/48248
4611 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4612 for output size with -P.
4613
3c0d13bf
PC
46142011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4615
4616 * c-common.c (struct c_common_resword): Add __underlying_type.
4617 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4618
04695783
JM
46192011-04-20 Jim Meyering <meyering@redhat.com>
4620
4621 * c-format.c (init_dollar_format_checking): Remove useless
4622 if-before-free.
4623
0dc33c3c
NP
46242011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4625
4626 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 4627 (objc_detect_field_duplicates): New.
0dc33c3c 4628 * stub-objc.c: Likewise.
3c0d13bf 4629
c59633d9
NP
46302011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4631
4632 * stub-objc.c (objc_declare_protocols): Renamed to
4633 objc_declare_protocol.
4634 * c-objc.h: Likewise.
3c0d13bf 4635
32dabdaf
NP
46362011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4637
4638 * stub-objc.c (objc_declare_class): Updated argument name.
4639
81f653d6
NF
46402011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4641
4642 * c-common.h (c_common_init_ts): Declare.
4643 * c-common.c (c_common_init_ts): Define.
4644
eb345401
NP
46452011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4646
4647 * c-objc.h (objc_build_message_expr): Updated prototype.
4648 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 4649
a358e188
MJ
46502011-04-12 Martin Jambor <mjambor@suse.cz>
4651
4652 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4653 of cgraph_node.
4654
e6313a78
RG
46552011-04-11 Richard Guenther <rguenther@suse.de>
4656
4657 * c-common.c (complete_array_type): Build a range type of
4658 proper type.
4659
dcf0c47e
NF
46602011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4661
4662 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4663 (handle_type_generic_attribute): Likewise.
4664
1ee44b26
JM
46652011-04-07 Jason Merrill <jason@redhat.com>
4666
4667 PR c++/48450
4668 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4669 conversion from C++0x scoped enum.
4670
acce4e77
JM
46712011-04-06 Joseph Myers <joseph@codesourcery.com>
4672
4673 * c-target-def.h: New file.
4674 * c-target.def: New file.
4675 * c-target.h: New file.
4676 * c-common.c (targetcm): Don't define here.
4677 * c-common.h (default_handle_c_option): Declare.
4678 * c-format.c: Include c-target.h instead of target.h.
4679 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4680 include tm.h.
4681 (default_handle_c_option): Move from targhooks.c.
4682
e2eefb55
JJ
46832011-03-29 Jakub Jelinek <jakub@redhat.com>
4684
4685 PR preprocessor/48248
4686 * c-ppoutput.c (print): Add src_file field.
4687 (init_pp_output): Initialize it.
4688 (maybe_print_line): Don't optimize by adding up to 8 newlines
4689 if map->to_file and print.src_file are different file.
4690 (print_line): Update print.src_file.
4691
ba78087b
KT
46922011-03-25 Kai Tietz <ktietz@redhat.com>
4693
4694 * c-ada-spec.c (compare_comment): Use filename_cmp
4695 instead of strcmp for filename.
4696
0edf1bb2
JL
46972011-03-25 Jeff Law <law@redhat.com>
4698
adfac8df 4699 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 4700
c7dc8804
JM
47012011-03-25 Jason Merrill <jason@redhat.com>
4702
4703 * c.opt: Add -std=c++03.
4704
d1d879b1
EB
47052011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4706
4707 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4708
62d784f7
KT
47092011-03-17 Kai Tietz
4710
4711 PR target/12171
5050afdf
KT
4712 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4713 Display allowed attributes for function pointer types.
4714 (pp_c_attributes_display): New function to display
4715 attributes having affects_type_identity flag set to true.
4716 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4717
62d784f7
KT
4718 * c-common.c (c_common_attribute_table):
4719 Add new element.
4720 (c_common_format_attribute_table): Likewise.
4721
82d37118
JM
47222011-03-18 Jason Merrill <jason@redhat.com>
4723
49a000c3
JM
4724 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4725 * c-common.h: Don't declare it here.
4726 * c-common.c: Or define it here.
4727 * c-opts.c (c_common_handle_option): Or set it here.
4728
82d37118
JM
4729 PR c++/35315
4730 * c-common.c (handle_transparent_union_attribute): Don't
4731 make a duplicate type in C++.
4732
17bc631c
JM
47332011-03-15 Jason Merrill <jason@redhat.com>
4734
4735 * c-common.c (max_constexpr_depth): New.
4736 * c-common.h: Declare it.
4737 * c-opts.c (c_common_handle_option): Set it.
4738 * c.opt (fconstexpr-depth): New option.
4739
1b9b91a6
JM
47402011-03-11 Jason Merrill <jason@redhat.com>
4741
f231b5ff
JM
4742 * c-common.c (attribute_takes_identifier_p): Add missing const.
4743
1b9b91a6
JM
4744 PR c++/46803
4745 * c-common.c (attribute_takes_identifier_p): Assume that an
4746 unknown attribute takes an identifier.
4747
a19e4d44
NF
47482011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4749
4750 PR c/47786
4751 * c-common.c (c_type_hash): Call list_length instead of iterating
4752 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4753
982d62f6
JJ
47542011-02-19 Jakub Jelinek <jakub@redhat.com>
4755
4756 PR c/47809
4757 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4758
0a256240
NP
47592011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4760
4761 * c.opt (fobjc-abi-version=) New.
4762 (fobjc-nilcheck): New.
4763
ba9e6dd5
NF
47642011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4765
4766 PR c++/46890
4767 * c-common.h (keyword_is_decl_specifier): Declare.
4768 * c-common.c (keyword_is_decl_specifier): Define.
4769 (keyword_is_function_specifier): New function.
4770
7273813a
JJ
47712011-01-26 Jakub Jelinek <jakub@redhat.com>
4772
4773 PR c/47473
4774 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4775 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4776 REAL_TYPE.
4777
908ef79b
AC
47782011-01-26 Arnaud Charlet <charlet@adacore.com>
4779
4780 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4781
237e9384
JJ
47822011-01-26 Jakub Jelinek <jakub@redhat.com>
4783
4784 PR pch/47430
4785 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4786 after init_c_lex if pch_file is set.
4787
47ea1edf
DK
47882011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4789
d4dba752 4790 PR c++/43601
47ea1edf
DK
4791 * c.opt (-fkeep-inline-dllexport): New switch.
4792
2aa9c6ae
RG
47932011-01-12 Richard Guenther <rguenther@suse.de>
4794
4795 PR middle-end/32511
4796 * c-common.c (handle_weak_attribute): Warn instead of error
4797 on declaring an inline function weak.
4798
7bd11157
TT
47992011-01-05 Tom Tromey <tromey@redhat.com>
4800
4801 * c-common.h (lvalue_error): Update.
4802 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4803 not error.
4804
0e66e494 48052010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 4806
b4f588c4
NP
4807 PR objc/47075
4808 * c-objc.h (objc_finish_message_expr): Added argument to
4809 prototype.
4810
f4da8dce
NF
48112010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4812
4813 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4814 Use prototype_p.
4815
46270f14
NP
48162010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4817
4818 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 4819 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 4820
4816c593
NF
48212010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4822
4823 * c-common.h (readonly_error): Declare.
4824 * c-common.c (readonly_error): Define.
4825
7a6daeb0
NF
48262010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4827
4828 * c-common.h (invalid_indirection_error): Declare.
4829 * c-common.c (invalid_indirection_error): Define.
4830
892f6119
RG
48312010-12-03 Richard Guenther <rguenther@suse.de>
4832
4833 PR c/46745
4834 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4835 (pp_c_unary_expression): Likewise.
4836 (pp_c_expression): Likewise.
4837
6c39e757
NP
48382010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4839
4840 * c-common.h (objc_finish_function): New.
4841 (objc_non_volatilized_type): Removed.
4842 (objc_type_quals_match): Removed.
4843 * stub-objc.c (objc_finish_function): New.
4844 (objc_non_volatilized_type): Removed.
4845 (objc_type_quals_match): Removed.
9faeb493 4846
7c475d11
JM
48472010-11-30 Joseph Myers <joseph@codesourcery.com>
4848
4849 * c-common.h (parse_optimize_options): Declare.
4850 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4851 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4852
71f3e391
JM
48532010-11-29 Joseph Myers <joseph@codesourcery.com>
4854
4855 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4856 GET_ENVIRONMENT.
4857 * c-pch.c (O_BINARY): Don't define here.
4858 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4859
d5fabb58
JM
48602010-11-25 Joseph Myers <joseph@codesourcery.com>
4861
4862 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4863 targetm.except_unwind_info.
4864
299404a1
JM
48652010-11-23 Joseph Myers <joseph@codesourcery.com>
4866
4867 * c-opts.c (c_common_handle_option): Pass location to
4868 set_struct_debug_option.
4869
c98cd5bf
JM
48702010-11-23 Joseph Myers <joseph@codesourcery.com>
4871
4872 * c-common.c (visibility_options): Move from ../opts.c.
4873 * c-common.h (struct visibility_flags, visibility_options):
4874 Declare here.
4875 * c-opts.c (finish_options): Rename to c_finish_options.
4876 (c_common_init): Update call to finish_options.
4877
a9546771
NP
48782010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4879
4880 PR objc/34033
4881 * c-lex.c (lex_string): Check that each string in an Objective-C
4882 string concat sequence starts with either one or zero '@', and
4883 that there are no spurious '@' signs at the end.
4884
24a57808
JM
48852010-11-20 Joseph Myers <joseph@codesourcery.com>
4886
4887 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4888 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4889 HANDLE_PRAGMA_VISIBILITY.
4890 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4891 HANDLE_PRAGMA_VISIBILITY): Don't define.
4892 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4893
a9aa2c3a
NF
48942010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4895
4896 PR c++/16189
4897 PR c++/36888
4898 PR c++/45331
4899 * c-common.h (keyword_begins_type_specifier): Declare.
4900 (keyword_is_storage_class_specifier): Declare.
4901 (keyword_is_type_qualifier): Declare.
4902 * c-common.c (keyword_begins_type_specifier): New function.
4903 (keyword_is_storage_class_specifier): New function.
4904 (keyword_is_type_qualifier): Declare.
4905
5386338c
JM
49062010-11-19 Joseph Myers <joseph@codesourcery.com>
4907
4908 PR c/46547
4909 * c-common.c (in_late_binary_op): Define.
4910 (c_common_truthvalue_conversion): Check in_late_binary_op before
4911 calling c_save_expr.
4912 * c-common.h (in_late_binary_op): Declare.
4913
69ccdddb
JM
49142010-11-19 Joseph Myers <joseph@codesourcery.com>
4915
4916 * c-opts.c (c_common_handle_option): Update calls to
4917 set_struct_debug_option.
4918
6b192a09
NP
49192010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4920
4921 * c-common.h (objc_declare_protocols): Added additional argument.
4922 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 4923
fb52b50a
NF
49242010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4925
4926 PR c/33193
4927 * c-common.h (build_real_imag_expr): Declare.
4928 * c-semantics.c (build_real_imag_expr): Define.
4929
b37421c6
JM
49302010-11-17 Joseph Myers <joseph@codesourcery.com>
4931
4932 * c-opts.c (c_common_parse_file): Take no arguments.
4933 * c-common.h (c_common_parse_file): Update prototype.
4934
07078664
JJ
49352010-11-16 Jakub Jelinek <jakub@redhat.com>
4936
4937 PR c++/46401
4938 * c-common.c (warning_candidate_p): Don't track non-const calls
4939 or STRING_CSTs.
4940
c6a13190
ILT
49412010-11-15 Ian Lance Taylor <iant@google.com>
4942
4943 * c-lex.c (init_c_lex): Set macro debug callbacks if
4944 flag_dump_go_spec is set.
4945
925e8657
NP
49462010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4947
4948 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4949 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4950
bb0a9581
NF
49512010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4952
4953 PR preprocessor/45038
4954 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4955 dialects.
4956
c5fa0890
JM
49572010-11-12 Joseph Myers <joseph@codesourcery.com>
4958
4959 * c-common.h (c_family_lang_mask): Declare.
4960 * c-opts.c (c_family_lang_mask): Make extern.
4961 * c-pragma.c (handle_pragma_diagnostic): Use
4962 control_warning_option.
4963
a4d8c676
JM
49642010-11-12 Joseph Myers <joseph@codesourcery.com>
4965
4966 * c-common.c (parse_optimize_options): Update call to
4967 decode_options.
4968 * c-common.h (c_common_handle_option): Update prototype.
4969 * c-opts.c (c_common_handle_option): Take location_t parameter and
4970 pass it to other functions.
4971
f954bd2c
JM
49722010-11-11 Joseph Myers <joseph@codesourcery.com>
4973
4974 * c-opts.c (warning_as_error_callback): Remove.
4975 (c_common_initialize_diagnostics): Don't call
4976 register_warning_as_error_callback.
4977 (c_common_handle_option): Handle -Werror=normalized= here.
4978
d8a07487
JM
49792010-11-10 Joseph Myers <joseph@codesourcery.com>
4980
4981 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4982 in diagnostic.
4983 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4984 letter.
4985 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4986 Remove trailing '.' from diagnostics.
4987 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4988
d5478783
JM
49892010-11-10 Joseph Myers <joseph@codesourcery.com>
4990
4991 * c-common.c (parse_optimize_options): Pass global_dc to
4992 decode_options.
4993 * c-opts.c (c_common_handle_option): Pass &global_options to
4994 set_Wstrict_aliasing.
4995 * c.opt (v): Don't mark Common or document here.
4996
91ebb981
IS
49972010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4998
4999 PR target/44981
5000 * c-format.c (format_type): New type gcc_objc_string_format_type.
5001 (valid_stringptr_type_p): New.
5002 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 5003 (check_format_string): Pass expected type, use
91ebb981
IS
5004 valid_stringptr_type_p (), check that the format string types are
5005 consistent with the format specification.
5006 (decode_format_attr): Warn if NSString is used outside objective-c.
5007 (format_types_orig): Add NSString.
5008 (format_name): New.
5009 (format_flags): New.
5010 (check_format_arg): Handle format strings requiring an external parser.
5011 first_target_format_type: New variable.
5012 (handle_format_attribute): Set up first_target_format_type, pass the
5013 expected format arg string type to check_format_string().
5014 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5015 * stub-objc.c (objc_string_ref_type_p): New.
5016 (objc_check_format_arg): New.
5017
bede2adc
NP
50182010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5019
9faeb493 5020 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
5021 * c-common.h (objc_build_class_component_ref): New.
5022 * stub-objc.c (objc_build_class_component_ref): New.
5023
9a179d01
NP
50242010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5025
5026 * c.opt (Wproperty-assign-default): New option.
5027
22d8d616
NP
50282010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5029
5030 Implemented -fobjc-std=objc1 flag.
5031 * c.opt (fobjc-std=objc1): New option.
5032
2debdb4f
NP
50332010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5034
5035 Implemented format and noreturn attributes for Objective-C methods.
5036 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5037 attribute for Objective-C methods.
5038
ec52b111
JM
50392010-10-31 Jason Merrill <jason@redhat.com>
5040
5041 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5042 EXPR_LOC_OR_HERE.
5043
46a88c12
NP
50442010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5045
5046 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5047 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5048 (objc_add_property_declaration): Removed arguments for copies and
5049 ivar.
5050 (objc_build_getter_call): Renamed to
5051 objc_maybe_build_component_ref.
5052 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5053 (objc_is_property_ref): New.
5054 * c-common.c (c_common_reswords): Removed copies and ivar.
5055 * stub-objc.c (objc_add_property_declaration): Removed arguments
5056 for copies and ivar.
5057 (objc_build_getter_call): Renamed to
5058 objc_maybe_build_component_ref.
5059 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5060 (objc_is_property_ref): New.
9faeb493 5061
1e4bf85b
AC
50622010-10-29 Arnaud Charlet <charlet@adacore.com>
5063 Matthew Gingell <gingell@adacore.com>
5064
5065 * c-ada-spec.c (separate_class_package): New function.
5066 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5067 name of their enclosing package.
5068 (print_ada_declaration): Use separate_class_package.
5069
81f0bab2
JM
50702010-10-27 Jason Merrill <jason@redhat.com>
5071
2b08f2c5
JM
5072 * c-common.c (c_common_reswords): Add __is_literal_type.
5073 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5074
81f0bab2
JM
5075 * c-common.c (check_case_value): Remove special C++ code.
5076
200290f2
NP
50772010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5078
5079 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5080 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5081 and RID_LAST_PATTR.
5082 (objc_add_property_declaration): Added additional arguments.
5083 (objc_property_attribute_kind): Removed.
5084 (objc_set_property_attr): Removed.
5085 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5086 copy and nonatomic.
5087 * stub-objc.c (objc_add_property_declaration): Added additional
5088 arguments.
5089 (objc_set_property_attr): Removed.
9faeb493 5090
f614132b
NP
50912010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5092
5093 * c-common.h (objc_add_property_variable): Renamed to
5094 objc_add_property_declaration. Added location argument.
5095 * stub-objc.c (objc_add_property_variable): Same change.
b1726d6c 5096
b8a18805
NP
50972010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5098
5099 * c-common.h (objc_maybe_printable_name): New.
5100 * stub-objc.c (objc_maybe_printable_name): New.
5101
30cd1c5d
AS
51022010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5103 Andrew Pinski <pinskia@gmail.com>
5104
5105 * c-common.h (c_common_mark_addressable_vec): Declare.
5106 * c-common.c (c_common_mark_addressable_vec): New function.
5107
249a82c4
NP
51082010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5109
5110 * c-common.h (objc_set_method_type): Removed.
5111 (objc_add_method_declaration): Added boolean argument.
5112 (objc_start_method_definition): Same change.
5113 (objc_build_method_signature): Same change.
5114 * stub-objc.c (objc_set_method_type): Removed.
5115 (objc_add_method_declaration): Added boolean argument.
5116 (objc_start_method_definition): Same change.
5117 (objc_build_method_signature): Same change.
5118
977e30bc
NP
51192010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5120
5121 * c-common.h (finish_file): Removed.
5122 (objc_write_global_declarations): New.
5123 * c-opts.c (c_common_parse_file): Do not call finish_file.
5124 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 5125
da57d1b9
NP
51262010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5127
5128 Implemented parsing @synthesize and @dynamic for
5129 Objective-C/Objective-C++.
5130 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5131 (objc_add_synthesize_declaration): New.
5132 (objc_add_dynamic_declaration): New.
5133 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5134 * stub-objc.c (objc_add_synthesize_declaration): New.
5135 (objc_add_dynamic_declaration): New.
9faeb493 5136
0069111f
MM
51372010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5138
5139 PR target/46041
5140 * c-cppbuiltin.c (mode_has_fma): Move function here from
5141 builtins.c. Don't use the fma optab, instead just use the
5142 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5143 using -save-temps.
5144
e426b47b
NP
51452010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5146
5147 Merge from 'apple/trunk' branch on FSF servers.
0069111f 5148
e426b47b
NP
5149 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5150
9faeb493 5151 Radar 4330422
e426b47b
NP
5152 * c-common.h (objc_non_volatilized_type): New declaration
5153 * stub-objc.c (objc_non_volatilized_type): New stub.
5154
90fbfdc3
NP
51552010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5156
e426b47b 5157 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3
NP
5158
5159 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5160
9faeb493 5161 Radar 4133425
90fbfdc3 5162 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 5163 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 5164
c37d8c30
IS
51652010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5166
5167 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5168 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5169 (objc_ivar_visibility_kind): New enum.
5170 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 5171 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
5172 visibility enum.
5173
1b1562a5
MM
51742010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5175
5176 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5177 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5178 has the appropriate fma builtins.
5179 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5180
668ea4b1
IS
51812010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5182
1b1562a5 5183 merge from FSF apple 'trunk' branch.
668ea4b1 5184 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 5185
668ea4b1
IS
5186 Radars 4436866, 4505126, 4506903, 4517826
5187 * c-common.c (c_common_resword): Define @property and its attributes.
5188 * c-common.h: Define property attribute enum entries.
5189 (OBJC_IS_PATTR_KEYWORD): New.
5190 (objc_property_attribute_kind): New enum.
5191 Declare objc_set_property_attr (), objc_add_property_variable (),
5192 objc_build_getter_call () and objc_build_setter_call ().
5193 * stub-objc.c (objc_set_property_attr): New stub.
5194 (objc_add_property_variable): Likewise.
5195 (objc_build_getter_call): Likewise.
5196 (objc_build_setter_call) Likewise.
1b1562a5 5197
a1178b30
IS
51982010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5199
1b1562a5 5200 merge from FSF apple 'trunk' branch.
a1178b30
IS
5201 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5202
5203 Radar 3803157 (method attributes)
5204 * c-common.c (handle_deprecated_attribute): Recognize
5205 objc methods as valid declarations.
5206 * c-common.h: Declare objc_method_decl ().
1b1562a5 5207 * stub-objc.c (objc_method_decl): New stub.
a1178b30 5208
a75bfaa6
JM
52092010-10-08 Joseph Myers <joseph@codesourcery.com>
5210
5211 * c-common.c (parse_optimize_options): Call
5212 decode_cmdline_options_to_array_default_mask before
5213 decode_options. Update arguments to decode_options.
5214 * c-common.h (c_common_init_options_struct): Declare.
5215 * c-opts.c (c_common_init_options_struct): New. Split out from
5216 c_common_init_options.
5217
f05b9d93
NP
52182010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5219
5220 Implemented fast enumeration for Objective-C.
5221 * c-common.h (objc_finish_foreach_loop): New.
5222 * stub-objc.c (objc_finish_foreach_loop): New.
5223
1ebe4b4f
JM
52242010-10-05 Joseph Myers <joseph@codesourcery.com>
5225
5226 * c-common.h (struct diagnostic_context): Don't declare here.
5227 (c_common_initialize_diagnostics): Declare using
5228 diagnostic_context typedef.
5229 * c-opts.c (c_common_handle_option): Pass global_dc to
5230 handle_generated_option.
5231
d4d24ba4
JM
52322010-10-04 Joseph Myers <joseph@codesourcery.com>
5233
5234 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5235 handle_generated_option.
5236
478a1c5b
ILT
52372010-10-03 Ian Lance Taylor <iant@google.com>
5238
5239 * c.opt (-fplan9-extensions): New option.
5240
82a1c2fe
FXC
52412010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5242
5243 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5244 Remove.
5245 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5246 of duplicating code.
5247
92902b1b
IS
52482010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5249
5250 * c-common.c: Add two new entries for @optional
5251 and @required keywords.
5252
5253 merge from FSF 'apple/trunk' branch.
5254 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5255
5256 Radar 4386773
5257 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5258 objective-c keywords.
5259 (objc_set_method_opt): New declaration.
5260 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 5261
46625112
JM
52622010-09-30 Joseph Myers <joseph@codesourcery.com>
5263
5264 * c-common.c (handle_optimize_attribute): Pass &global_options to
5265 cl_optimization_save and cl_optimization_restore.
5266 * c-opts.c (c_common_handle_option): Pass &global_options to
5267 handle_generated_option.
5268 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5269 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5270 &global_options to cl_optimization_restore.
5271
49b91f05
NP
52722010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5273
5274 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5275 Objective-C/Objective-C++ keywords.
5276
13ed556f 52772010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 5278
9faeb493
UB
5279 Merge from 'apple/trunk' branch on FSF servers.
5280
a6341d57
NP
5281 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5282
5283 Radar 4281748
5284 * c-common.h (objc_check_global_decl): New declaration.
5285 * stub-objc.c (objc_check_global_decl): New stub.
5286
f0036cca
JM
52872010-09-29 Joseph Myers <joseph@codesourcery.com>
5288
5289 * c.opt: Don't use VarExists.
5290
e3339d0f
JM
52912010-09-29 Joseph Myers <joseph@codesourcery.com>
5292
5293 * c-common.c (c_cpp_error): Update names of diagnostic_context
5294 members.
5295 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5296 cl_optimization members.
5297 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5298 sanitize_cpp_opts, finish_options): Update names of cpp_options
5299 members.
5300
1973201f
NP
53012010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5302
5303 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5304 (objc_is_reserved_word): Removed.
5305 * c-common.c: Updated comments.
5306 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5307 objc_is_reserved_word.
5308 * stub-objc.c (objc_is_reserved_word): Removed.
5309
f7e71da5
IS
53102010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5311
9faeb493 5312 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
5313 include attributes.
5314 (objc_start_method_definition): Likewise.
5315 (objc_build_keyword_decl): Likewise.
5316 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5317 (objc_start_method_definition): Likewise.
5318 (objc_build_keyword_decl): Likewise.
5319
c165dca7
IS
53202010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5321
5322 * c-common.h (objc_start_class_interface): Adjust prototype.
5323 (objc_start_category_interface): Likewise.
5324 (objc_start_protocol): Likewise.
5325 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5326 (objc_start_class_interface): Likewise.
5327 (objc_start_category_interface): Likewise.
5328
7458026b
ILT
53292010-09-27 Ian Lance Taylor <iant@google.com>
5330
5331 * c-common.c (c_common_attribute_table): Add no_split_stack.
5332 (handle_no_split_stack_attribute): New static function.
5333
b581b85b
NP
53342010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5335
9faeb493 5336 Merge from 'apple/trunk' branch on FSF servers.
b581b85b
NP
5337
5338 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5339
9faeb493 5340 Radar 4229905
b581b85b
NP
5341 * c-common.h (objc_have_common_type): New declaration.
5342 * stub-objc.c (objc_have_common_type): New stub.
5343
5344 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5345
5346 Radar 4154928
5347 * c-common.h (objc_common_type): New prototype.
9faeb493 5348 * stub-objc.c (objc_common_type): New stub.
b581b85b 5349
46a4da10
JH
53502010-09-24 Jan Hubicka <jh@suse.cz>
5351
5352 * c-common.c (handle_leaf_attribute): New function.
5353 (struct attribute_spec c_common_att): Add leaf.
5354
e200444e
JM
53552010-09-22 Joseph Myers <joseph@codesourcery.com>
5356
5357 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5358 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5359 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5360 -include-barrier, -include-directory, -include-directory=,
5361 -include-directory-after, -include-directory-after=,
5362 -include-prefix, -include-prefix=, -include-with-prefix,
5363 -include-with-prefix=, -include-with-prefix-after,
5364 -include-with-prefix-after=, -include-with-prefix-before,
5365 -include-with-prefix-before=, -no-integrated-cpp,
5366 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5367 -output=, -pedantic, -pedantic-errors, -preprocess,
5368 -print-missing-file-dependencies, -trace-includes, -traditional,
5369 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5370 -user-dependencies, -verbose, -write-dependencies,
5371 -write-user-dependencies, no-integrated-cpp, traditional): New.
5372
29a80ea6
NP
53732010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5374
5375 PR objc/23710
ac1fc2fc
NP
5376 * c-common.h (objc_start_method_definition): Return bool instead
5377 of void.
5378 * stub-objc.c (objc_start_method_definition): Return bool instead
5379 of void.
5380
53812010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5382
5383 PR objc/25965
5384 * c-common.h (objc_get_interface_ivars): New declaration.
5385 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 5386
de621752
ILT
53872010-09-15 Ian Lance Taylor <iant@google.com>
5388
5389 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 5390 messages. Remove period at end of warning message.
de621752 5391
ba885ec5
NS
53922010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5393
5394 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5395 (handle_alias_attribute): ... here.
5396 (handle_ifunc_attribute): New.
5397
c5ee1358
MM
53982010-09-06 Mark Mitchell <mark@codesourcery.com>
5399
5400 * c-common.h (do_warn_double_promotion): Declare.
5401 * c-common.c (do_warn_double_promotion): Define.
5402
0a0b3574
MM
54032010-09-05 Mark Mitchell <mark@codesourcery.com>
5404
5405 * c.opt (Wdouble-promotion): New.
5406
d1779886
JM
54072010-09-02 Joseph Myers <joseph@codesourcery.com>
5408
5409 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5410 fvtable-thunks, fxref): Mark no longer supported in help text.
5411
2d2bd949
JM
54122010-09-02 Joseph Myers <joseph@codesourcery.com>
5413
5414 * c.opt (Wimport, fall-virtual, falt-external-templates,
5415 fdefault-inline, fenum-int-equiv, fexternal-templates,
5416 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5417 fname-mangling-version-, fnew-abi, fnonnull-objects,
5418 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5419 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5420 applicable.
5421 (fhandle-exceptions): Mark with Alias and Warn.
5422 * c-opts.c (c_common_handle_option): Don't handle options marked
5423 as ignored.
5424
5de8299c
JM
54252010-09-02 Joseph Myers <joseph@codesourcery.com>
5426
5427 * c.opt (Wcomments, Werror-implicit-function-declaration,
5428 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5429 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5430 aliases.
5431 * c-common.c (option_codes): Use OPT_Wcomment instead of
5432 OPT_Wcomments.
5433 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5434 Don't handle options marked as aliases.
5435
0ceb0201
RG
54362010-08-25 Richard Guenther <rguenther@suse.de>
5437
5438 * c-common.c (c_common_get_alias_set): Remove special
5439 handling for pointers.
5440
ac47786e
NF
54412010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5442
5443 * c-common.c: Use FOR_EACH_VEC_ELT.
5444 * c-gimplify.c: Likewise.
5445 * c-pragma.c: Likewise.
5446
c878765b
JM
54472010-08-16 Joseph Myers <joseph@codesourcery.com>
5448
5449 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5450 RejectDriver.
5451 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5452 RejectDriver.
5453 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5454 instead of OPT_MDX and OPT_MMDX.
5455
603349bf
JM
54562010-08-16 Joseph Myers <joseph@codesourcery.com>
5457
5458 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5459
644fa7ac
JM
54602010-08-12 Joseph Myers <joseph@codesourcery.com>
5461
5462 * c.opt (MD, MMD): Change to MDX and MMDX.
5463 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5464
481e1176
JM
54652010-08-11 Joseph Myers <joseph@codesourcery.com>
5466
5467 * c-opts.c (c_common_handle_option): Call handle_generated_option
5468 instead of handle_option.
5469
ac8dc9f7
NF
54702010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5471
5472 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5473 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5474
4f8c876d
NF
54752010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5476
5477 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5478 (pending_redefine_extname): Change type to a VEC.
5479 (add_to_renaming_pragma_list): Update for new type of
5480 pending_redefine_extname.
ac8dc9f7 5481 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 5482
3b0c690e
AC
54832010-08-04 Arnaud Charlet <charlet@adacore.com>
5484
5485 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5486 visited.
5487 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5488 decide whether a type has already been declared/seen.
5489 Do not go to the original type.
5490 (dump_nested_types): New parameter forward.
5491 Generate forward declaration if needed and mark type as visited.
5492 (print_ada_declaration): Call dump_nested_types if not already done.
5493 Mark types as visited.
5494
1890bccc
JM
54952010-08-03 Joseph Myers <joseph@codesourcery.com>
5496
5497 * c.opt (-print-pch-checksum): Remove option.
5498 * c-opts.c (c_common_handle_option): Don't handle
5499 OPT_print_pch_checksum.
5500
5f20c657
JM
55012010-07-27 Joseph Myers <joseph@codesourcery.com>
5502
5503 * c-common.h (c_common_handle_option): Update prototype and return
5504 value type.
5505 * c-opts.c (c_common_handle_option): Update prototype and return
5506 value type. Update calls to handle_option and
5507 enable_warning_as_error.
5508
f551f80c
JJ
55092010-07-27 Jakub Jelinek <jakub@redhat.com>
5510
5511 PR c/45079
5512 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5513
61ff2bdc
JM
55142010-07-27 Joseph Myers <joseph@codesourcery.com>
5515
5516 * c-common.h (c_common_missing_argument): Remove.
5517 * c-opts.c (c_common_missing_argument): Remove.
5518 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5519 idirafter, imacros, include, isysroot, isystem, iquote): Add
5520 MissingArgError.
5521 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5522
7a9bf9a4
JM
55232010-07-27 Joseph Myers <joseph@codesourcery.com>
5524
5525 * c-common.h (c_common_option_lang_mask,
5526 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5527 New.
5528 (c_common_init_options): Update prototype.
5529 * c-opts.c (c_common_option_lang_mask): New.
5530 (c_common_initialize_diagnostics): Split out of
5531 c_common_init_options.
5532 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5533 New.
5534 (c_common_init_options): Update prototype. Use decoded options in
5535 search for -lang-asm.
5536
910ad8de
NF
55372010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5538
5539 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5540 * c-format.c: Likewise.
5541
718f9c0f
MLI
55422010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5543
5544 * c-common.h: Include diagnostic-core.h. Error if already
5545 included.
5546 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5547
4d451982
MLI
55482010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5549
adfac8df 5550 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
5551 Do not include expr.h
5552 (vector_mode_valid_p): Move here.
5553
119fe915
SB
55542010-06-21 DJ Delorie <dj@redhat.com>
5555
5556 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5557 allow these pragmas anywhere.
5558
55592010-06-14 Jakub Jelinek <jakub@redhat.com>
5560
5561 PR bootstrap/44509
5562 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5563 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5564 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5565 ggc_strdup instead of xstrdup.
5566
55672010-06-10 Jakub Jelinek <jakub@redhat.com>
5568
5569 * c-cppbuiltin.c: Include cpp-id-data.h.
5570 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5571 (lazy_hex_fp_value): New function.
5572 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5573
6662d794
MLI
55742010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5575
5576 * c-gimplify.c: Do not include tree-flow.h
5577
38f8b050
JR
55782010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5579
5580 PR other/44034
5581 * c-common.c: Rename targetm member:
5582 targetm.enum_va_list -> targetm.enum_va_list_p
5583
9589f23e
AS
55842010-06-28 Anatoly Sokolov <aesok@post.ru>
5585
5586 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5587
3b06d379
SB
55882010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5589
5590 * c-cppbuiltin.c: Do not include except.h.
5591
d166d4c3
AK
55922010-06-24 Andi Kleen <ak@linux.intel.com>
5593
9faeb493
UB
5594 * c-common.c (warn_for_omitted_condop): New.
5595 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 5596
70cb8be6
JM
55972010-06-21 Joseph Myers <joseph@codesourcery.com>
5598
5599 * c.opt (lang-objc): Remove.
5600 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5601
a4c97feb
JR
56022010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5603
5604 * c-opts.c: Include "tm_p.h".
5605
6e2f1956
JM
56062010-06-20 Joseph Myers <joseph@codesourcery.com>
5607
5608 * c-common.c (parse_optimize_options): Update call to
5609 decode_options.
5610
bc87224e
NF
56112010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5612
5613 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5614 new type of types_used_by_cur_var_decl.
5615
b49cf425
JR
56162010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5617
5618 PR bootstrap/44512
5619 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5620 for C++ standard compliance.
5621
59f9c2ed
JM
56222010-06-16 Jason Merrill <jason@redhat.com>
5623
5624 * c.opt: Add -Wnoexcept.
5625
33766b66
RG
56262010-06-16 Richard Guenther <rguenther@suse.de>
5627
5628 PR c/44555
5629 * c-common.c (c_common_truthvalue_conversion): Remove
5630 premature and wrong optimization concering ADDR_EXPRs.
5631
eff7e30c
AC
56322010-06-15 Arnaud Charlet <charlet@adacore.com>
5633
5634 * c-ada-spec.c (dump_sloc): Remove column info.
5635 (is_simple_enum): New function.
5636 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5637 enum types when relevant.
5638
6312e84d
MLI
56392010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5640
9faeb493 5641 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
5642 location.
5643
1cb42611
JM
56442010-06-10 Joseph Myers <joseph@codesourcery.com>
5645
5646 * c-opts.c (c_common_handle_option): Don't handle
5647 OPT_fshow_column.
5648
a9429e29
LB
56492010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5650
5651 * c-pragma.c (push_alignment): Use typed GC allocation.
5652 (handle_pragma_push_options): Likewise.
5653
5654 * c-common.c (parse_optimize_options): Likewise.
5655
5656 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5657 option.
5658
5498f011
JM
56592010-06-07 Joseph Myers <joseph@codesourcery.com>
5660
5661 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5662 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5663 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5664 flag_signed_bitfields, warn_strict_null_sentinel,
5665 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5666 flag_gen_declaration, flag_no_gnu_keywords,
5667 flag_implement_inlines, flag_implicit_templates,
5668 flag_implicit_inline_templates, flag_optional_diags,
5669 flag_elide_constructors, flag_default_inline, flag_rtti,
5670 flag_conserve_space, flag_access_control, flag_check_new,
5671 flag_new_for_scope, flag_weak, flag_working_directory,
5672 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5673 flag_enforce_eh_specs, flag_threadsafe_statics,
5674 flag_pretty_templates): Remove.
5675 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5676 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5677 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5678 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5679 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5680 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5681 flag_no_gnu_keywords, flag_implement_inlines,
5682 flag_implicit_templates, flag_implicit_inline_templates,
5683 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5684 flag_rtti, flag_conserve_space, flag_access_control,
5685 flag_check_new, flag_new_for_scope, flag_weak,
5686 flag_working_directory, flag_use_cxa_atexit,
5687 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5688 flag_threadsafe_statics, flag_pretty_templates,
5689 warn_strict_null_sentinel): Remove.
5690 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5691 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5692 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5693 fimplicit-inline-templates, fimplicit-templates,
5694 flax-vector-conversions, fms-extensions, fnil-receivers,
5695 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5696 frtti, fshort-double, fshort-enums, fshort-wchar,
5697 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5698 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5699 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5700 gen-decls, undef): Use Var.
5701 (fdefault-inline, foptional-diags): Document as doing nothing.
5702 * c-opts.c (c_common_handle_option): Remove cases for options now
5703 using Var. Mark ignored options as such.
5704
39dabefd
SB
57052010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5706
9faeb493 5707 * c-common.c: Moved to here from parent directory.
39dabefd
SB
5708 * c-common.def: Likewise.
5709 * c-common.h: Likewise.
5710 * c-cppbuiltin.c: Likewise.
5711 * c-dump.c: Likewise.
5712 * c-format.c: Likewise.
5713 * c-format.h : Likewise.
5714 * c-gimplify.c: Likewise.
5715 * c-lex.c: Likewise.
5716 * c-omp.c: Likewise.
5717 * c.opt: Likewise.
5718 * c-opts.c: Likewise.
5719 * c-pch.c: Likewise.
5720 * c-ppoutput.c: Likewise.
5721 * c-pragma.c: Likewise.
5722 * c-pragma.h: Likewise.
5723 * c-pretty-print.c: Likewise.
5724 * c-pretty-print.h: Likewise.
5725 * c-semantics.c: Likewise.
5726 * stub-objc.c: Likewise.
5727
5728 * c-common.c: Include gt-c-family-c-common.h.
5729 * c-pragma.c: Include gt-c-family-c-pragma.h.
5730\f
5624e564 5731Copyright (C) 2010-2015 Free Software Foundation, Inc.
39dabefd
SB
5732
5733Copying and distribution of this file, with or without modification,
5734are permitted in any medium without royalty provided the copyright
5735notice and this notice are preserved.