]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
* config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
d4e328e9 12015-11-27 Martin Liska <mliska@suse.cz>
2
3 PR c++/68312
4 * array-notation-common.c (cilkplus_extract_an_triplets):
5 Release vector of vectors.
6 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
7
f63d9c4e 82015-11-26 Eric Botcazou <ebotcazou@adacore.com>
9
10 PR c++/68527
11 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
12 (print_ada_struct_decl): Likewise.
13
8d63c601 142015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
15
16 PR c++/68001
17 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
18 * cilk.c (recognize_spawn): Determine location in a more precise
19 way.
20
01f11119 212015-11-19 Jason Merrill <jason@redhat.com>
22
23 * c-common.c (shorten_compare): But look through macros from
24 system headers.
25
2d3d3af7 262015-11-18 Jason Merrill <jason@redhat.com>
27
28 * c-common.c (shorten_compare): Don't -Wtype-limits if the
29 non-constant operand comes from a macro.
30
7991eeee 312015-11-17 Jason Merrill <jason@redhat.com>
32
33 PR bootstrap/68346
34 * c-common.c (warn_tautological_cmp): Fold before checking for
35 constants.
36
73f67931 372015-11-16 Marek Polacek <polacek@redhat.com>
38
39 PR c++/68362
40 * c-common.c (check_case_bounds): Fold low and high cases.
41
8e539fdc 422015-11-16 Marek Polacek <polacek@redhat.com>
43
44 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
45 * c-common.c (c_common_get_alias_set): Likewise.
46 (handle_visibility_attribute): Likewise.
47
c58a4cfd 482015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
49
50 * c-common.c (handle_simd_attribute): New.
51 (struct attribute_spec): Add entry for "simd".
52 (handle_simd_attribute): New.
53
bb036391 542015-11-13 Kai Tietz <ktietz70@googlemail.com>
55
56 * c-lex.c (interpret_float): Use fold_convert.
57
a96cefb2 582015-11-13 David Malcolm <dmalcolm@redhat.com>
59
60 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
61 and store it on the result.
62 * c-opts.c (c_common_init_options): Set
63 global_dc->colorize_source_p.
64
2fc5e987 652015-11-12 James Norris <jnorris@codesourcery.com>
66 Joseph Myers <joseph@codesourcery.com>
67
68 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
69 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
70 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
71 PRAGMA_OACC_CLAUSE_LINK.
72
81b1b2a8 732015-11-11 Marek Polacek <polacek@redhat.com>
74
75 PR c/68107
76 PR c++/68266
77 * c-common.c (valid_array_size_p): New function.
78 * c-common.h (valid_array_size_p): Declare.
79
4f3707ca 802015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
81
82 PR bootstrap/68271
83 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
84
6e803544 852015-11-11 Andrew MacLeod <amacleod@redhat.com>
86
87 * array-notation-common.c: Remove unused header files.
88 * c-ada-spec.c: Likewise.
89 * c-cilkplus.c: Likewise.
90 * c-common.c: Likewise.
91 * c-cppbuiltin.c: Likewise.
92 * c-dump.c: Likewise.
93 * c-format.c: Likewise.
94 * c-gimplify.c: Likewise.
95 * c-indentation.c: Likewise.
96 * c-lex.c: Likewise.
97 * c-omp.c: Likewise.
98 * c-opts.c: Likewise.
99 * c-pch.c: Likewise.
100 * c-ppoutput.c: Likewise.
101 * c-pragma.c: Likewise.
102 * c-pretty-print.c: Likewise.
103 * c-semantics.c: Likewise.
104 * c-ubsan.c: Likewise.
105 * cilk.c: Likewise.
106 * stub-objc.c: Likewise.
107
a1b7fe4b 1082015-11-09 Thomas Schwinge <thomas@codesourcery.com>
109 Cesar Philippidis <cesar@codesourcery.com>
110 James Norris <jnorris@codesourcery.com>
111 Julian Brown <julian@codesourcery.com>
112 Nathan Sidwell <nathan@codesourcery.com>
113
114 * c-pragma.c (oacc_pragmas): Add "routine".
115 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
116
292237f3 1172015-11-08 Eric Botcazou <ebotcazou@adacore.com>
118
119 * c-common.c (c_common_attributes): Add scalar_storage_order.
120 (handle_scalar_storage_order_attribute): New function.
121 * c-pragma.c (global_sso): New variable.
122 (maybe_apply_pragma_scalar_storage_order): New function.
123 (handle_pragma_scalar_storage_order): Likewise.
124 (init_pragma): Register scalar_storage_order.
125 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
126 * c.opt (Wscalar-storage-order): New warning.
127 (fsso-struct=): New option.
128
b4a4c5fa 1292015-11-08 Martin Sebor <msebor@redhat.com>
130
131 * c.opt (Wplacement-new): Add a period to the end of a sentence.
132
ac677063 1332015-11-07 Richard Sandiford <richard.sandiford@arm.com>
134
135 * c-common.c: Don't undef DEF_BUILTIN.
136
f0479000 1372015-11-06 David Malcolm <dmalcolm@redhat.com>
138
139 * c-common.c (c_cpp_error): Convert parameter from location_t to
140 rich_location *. Eliminate the "column_override" parameter and
141 the call to diagnostic_override_column.
142 Update the "done_lexing" clause to set range 0
143 on the rich_location, rather than overwriting a location_t.
144 * c-common.h (c_cpp_error): Convert parameter from location_t to
145 rich_location *. Eliminate the "column_override" parameter.
146
ef014f95 1472015-11-05 Cesar Philippidis <cesar@codesourcery.com>
148 Thomas Schwinge <thomas@codesourcery.com>
149 James Norris <jnorris@codesourcery.com>
150
151 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
152 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
153 clauses with parallel and kernels and loops.
154 * c-pragma.h (enum pragma_omp_clause): Add entries for
155 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
156 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
157 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
158 INDEPENDENT,SEQ}.
159 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
160
e520488c 1612015-11-05 Martin Sebor <msebor@redhat.com>
162
163 PR c++/67942
164 * c.opt (-Wplacement-new): New option.
165
9561765e 1662015-11-05 Jakub Jelinek <jakub@redhat.com>
167
168 * c-common.h (c_finish_omp_atomic): Add TEST argument.
169 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
170 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
171 save_expr or create_tmp_var* if TEST is true.
172 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
173 Don't call add_stmt here.
174 (struct c_omp_check_loop_iv_data): New type.
175 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
176 c_omp_check_loop_iv_exprs): New functions.
177 (c_omp_split_clauses): Adjust for lastprivate being allowed on
178 distribute.
179 (c_omp_declare_simd_clauses_to_numbers): Change
180 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
181 (c_omp_declare_simd_clauses_to_decls): Similarly change those
182 from numbers to PARM_DECLs.
183
5e8689fb 1842015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
185
186 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
187 flag_checking.
188
aeaccb75 1892015-11-03 Bernd Schmidt <bschmidt@redhat.com>
190
191 PR c++-common/67882
192 * c-family/c-common.h (fold_offsetof_1): Add argument.
193 * c-family/c-common.c (fold_offsetof_1): Diagnose more invalid
194 offsetof expressions that reference elements past the end of
195 an array.
196
9e10bfb7 1972015-11-03 Thomas Schwinge <thomas@codesourcery.com>
198 Chung-Lin Tang <cltang@codesourcery.com>
199
200 * c-pragma.c (oacc_pragmas): Add "atomic".
201 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
202
ab50af2a 2032015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
204
205 * c-common.c (handle_target_clones_attribute): New.
206 (c_common_attribute_table): Add handle_target_clones_attribute.
207 (handle_always_inline_attribute): Add check on target_clones attribute.
208 (handle_target_attribute): Ditto.
209
4cba6f60 2102015-10-29 Andrew MacLeod <amacleod@redhat.com>
211
212 * array-notation-common.c: Reorder #include's and remove duplicates.
213 * c-ada-spec.c: Likewise.
214 * c-cilkplus.c: Likewise.
215 * c-common.c: Likewise.
216 * c-cppbuiltin.c: Likewise.
217 * c-dump.c: Likewise.
218 * c-format.c: Likewise.
219 * c-gimplify.c: Likewise.
220 * c-indentation.c: Likewise.
221 * c-lex.c: Likewise.
222 * c-omp.c: Likewise.
223 * c-opts.c: Likewise.
224 * c-pch.c: Likewise.
225 * c-ppoutput.c: Likewise.
226 * c-pragma.c: Likewise.
227 * c-pretty-print.c: Likewise.
228 * c-semantics.c: Likewise.
229 * c-ubsan.c: Likewise.
230 * cilk.c: Likewise.
231 * stub-objc.c: Likewise.
232
f576a2e4 2332015-10-28 Jason Merrill <jason@redhat.com>
234
235 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
236
2c4c8725 2372015-10-27 Thomas Schwinge <thomas@codesourcery.com>
238 James Norris <jnorris@codesourcery.com>
239 Cesar Philippidis <cesar@codesourcery.com>
240
241 PR c/64765
242 PR c/64880
243 * c-common.h (c_oacc_split_loop_clauses): Declare function.
244 * c-omp.c (c_oacc_split_loop_clauses): New function.
245
8204c077 2462015-10-21 Martin Sebor <msebor@redhat.com>
247
248 PR driver/68043
249 * c.opt: End each sentence that describes an option with a period.
250
8523243e 2512015-10-20 Marek Polacek <polacek@redhat.com>
252
253 * array-notation-common.c (is_cilkplus_vector_p): Define.
254 * c-common.h (is_cilkplus_vector_p): Declare.
255
08881cb8 2562015-10-20 Marek Polacek <polacek@redhat.com>
257
258 * c.opt (std=gnu++11): Do not describe as experimental.
259 (std=gnu++14): Likewise.
260
a36e5e5e 2612015-10-19 Jason Merrill <jason@redhat.com>
262
263 * c-cppbuiltin.c (c_cpp_builtins): Define
264 __cpp_nontype_template_args.
265
a349de0a 2662015-10-19 Jason Merrill <jason@redhat.com>
267
268 * c-cppbuiltin.c (c_cpp_builtins): Define
269 __cpp_enumerator_attributes, __cpp_fold_expressions,
270 __cpp_unicode_characters.
271
43895be5 2722015-10-13 Jakub Jelinek <jakub@redhat.com>
273 Aldy Hernandez <aldyh@redhat.com>
274
275 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
276 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
277 (c_define_builtins): Likewise.
278 * c-common.h (enum c_omp_clause_split): Add
279 C_OMP_CLAUSE_SPLIT_TASKLOOP.
280 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
281 (c_finish_omp_for): Add ORIG_DECLV argument.
282 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
283 201511 instead of 201307.
284 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
285 OMP_CRITICAL_CLAUSES to it.
286 (c_finish_omp_ordered): Add CLAUSES argument, set
287 OMP_ORDERED_CLAUSES to it.
288 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
289 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
290 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
291 constructs and new OpenMP 4.5 clauses. Clear
292 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
293 verification code.
294 * c-pragma.c (omp_pragmas_simd): Add taskloop.
295 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
296 (enum pragma_omp_clause): Add
297 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
298 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
299
20cb53c9 3002015-10-05 Richard Sandiford <richard.sandiford@arm.com>
301
302 * c-lex.c (interpret_float): Use real_equal instead of
303 REAL_VALUES_EQUAL.
304
6d02e6b2 3052015-10-04 Jason Merrill <jason@redhat.com>
306
307 Implement N4514, C++ Extensions for Transactional Memory.
308 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
309 (c_common_attribute_table): Add transaction_safe_dynamic.
310 transaction_safe now affects type identity.
311 (handle_tm_attribute): Handle transaction_safe_dynamic.
312 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
313 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
314 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
315 (D_TRANSMEM): New.
316 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
317 * c-pretty-print.c (pp_c_attributes_display): Don't print
318 transaction_safe in C++.
319
c0999a5d 3202015-10-02 Marek Polacek <polacek@redhat.com>
321
322 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
323
ef17a71a 3242015-10-02 Marek Polacek <polacek@redhat.com>
325
326 PR c/64249
327 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
328 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
329 * c.opt (Wduplicated-cond): New option.
330
05b84e7b 3312015-10-01 Joseph Myers <joseph@codesourcery.com>
332
333 * c.opt (std=c11): Do not describe as experimental.
334 (std=gnu11): Likewise.
335 (std=iso9899:2011): Likewise.
336
e561d5e1 3372015-09-28 Nathan Sidwell <nathan@codesourcery.com>
338
339 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
340 (DEF_FUNCTION_TYPE_VAR_11): Delete.
341
bd4b90d2 3422015-09-25 Marek Polacek <polacek@redhat.com>
343
344 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
345 (ubsan_instrument_shift): Likewise.
346
ac13b2b2 3472015-09-25 Marek Polacek <polacek@redhat.com>
348
349 PR sanitizer/64906
350 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
351
a3c82f4c 3522015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
353
354 * c-indentation.c (should_warn_for_misleading_indentation):
355 Compare next_stmt_vis_column with guard_line_first_nws instead
356 of with guard_line_vis_column.
357
5eef101d 3582015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
359
360 PR c/49654
361 PR c/49655
362 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
363 options and options not valid for the current language.
364
60897493 3652015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
366
367 * c-indentation.c (should_warn_for_misleading_indentation):
368 Float out and consolidate the calls to get_visual_column that
369 are passed guard_exploc as an argument. Compare
370 next_stmt_vis_column with guard_line_first_nws instead of with
371 body_line_first_nws.
372
85c93154 3732015-09-22 Nathan Sidwell <nathan@codesourcery.com>
374
375 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
376 Wnamespaces): New C++ warnings.
377
229a58b1 3782015-09-22 Jason Merrill <jason@redhat.com>
379
380 * c-common.h (abi_compat_version_crosses): New.
381 (warn_abi_version): Declare.
382 * c-common.c: Define it.
383 * c-opts.c (c_common_post_options): Handle it.
384 flag_abi_compat_version defaults to 8.
385
2d2de569 3862015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
387
388 Complete the implementation of N4230, Nested namespace definition.
389 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
390 __cpp_nested_namespace_definitions.
391
2b897e68 3922015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
393
394 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
395
ed536208 3962015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
397
398 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
399 when warning.
400 * c-pragma.h (pragma_lex): Add optional loc argument.
401
1dc6c44d 4022015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
403
404 * c-format.c (check_format_arg): Adjust to use common block size in all
405 object pools.
406
be812248 4072015-09-15 David Malcolm <dmalcolm@redhat.com>
408
409 * c-format.c (location_from_offset): Update for change in
410 signature of location_get_source_line.
411 * c-indentation.c (get_visual_column): Likewise.
412 (line_contains_hash_if): Likewise.
413
e4cc057f 4142015-09-14 Marek Polacek <polacek@redhat.com>
415
416 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
417 setting various warnings.
418
85f5e2ee 4192015-09-14 Marek Polacek <polacek@redhat.com>
420
421 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
422 a negative value.
423
1bca8cbd 4242015-09-11 Mark Wielaard <mjw@redhat.com>
425
426 PR c/28901
427 * c.opt (Wunused-variable): Option from common.opt.
428 (Wunused-const-variable): New option.
429
ee48893a 4302015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
431
432 PR c++/53184
433 * c.opt ([Wsubobject-linkage]): Add.
434
547c6b1f 4352015-09-03 Martin Sebor <msebor@redhat.com>
436
437 PR c/66516
438 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
439 functions.
440 * c-common.c (reject_gcc_builtin): Define.
441
7e976b10 4422015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
443
444 PR middle-end/60586
445 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
446 prototype.
447 * c-gimplify.c (c_gimplify_expr): Added a call to the function
448 cilk_gimplify_call_params_in_spawned_fn.
449 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
450 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
451 unwrapping.
452
9e6bcade 4532015-08-25 Marek Polacek <polacek@redhat.com>
454
455 PR middle-end/67330
456 * c-common.c (handle_weak_attribute): Don't check whether the
457 visibility can be changed here.
458
af9de21d 4592015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
460
461 * c-lex.c (c_lex_with_flags): Use explicit locations.
462
6dc50383 4632015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
464
465 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
466 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
467
10902624 4682015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
469
470 PR middle-end/36757
471 * c-common.c (check_builtin_function_arguments): Add check
472 for BUILT_IN_SIGNBIT argument.
473
a03a71ab 4742015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
475
476 PR c++/67160
477 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
478 in c++1z mode.
479
22723c26 4802015-08-17 Marek Polacek <polacek@redhat.com>
481
482 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
483 with whitespaces before qualifier names.
484
f4809955 4852015-08-12 Marek Polacek <polacek@redhat.com>
486
487 PR c++/55095
488 * c-common.c (maybe_warn_shift_overflow): Properly handle
489 left-shifting 1 into the sign bit.
490
5463f502 4912015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
492
493 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
494
56c12fd4 4952015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
496 Braden Obrzut <admin@maniacsvault.net>
497 Jason Merrill <jason@redhat.com>
498
499 Add C++ Concepts TS support.
500 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
501 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
502 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
503 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
504 * c-opts.c (set_std_cxx1z): Set flag_concepts.
505 * c.opt (fconcepts): New.
506
17afcef6 5072015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
508
509 * c-indentation.c (should_warn_for_misleading_indentation):
510 Improve heuristics.
511
f95bfdd4 5122015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
513
514 * c-indentation.c (get_visual_column): Add parameter first_nws,
515 use it. Update comment documenting the function.
516 (is_first_nonwhitespace_on_line): Remove.
517 (should_warn_for_misleading_indentation): Replace usage of
518 of is_first_nonwhitespace_on_line with get_visual_column.
519
9255be07 5202015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
521
522 * c-indentation.h (struct token_indent_info): Define.
523 (get_token_indent_info): Define.
524 (warn_for_misleading_information): Declare.
525 * c-common.h (warn_for_misleading_information): Remove.
526 * c-identation.c (warn_for_misleading_indentation):
527 Change declaration to take three token_indent_infos. Adjust
528 accordingly.
529 * c-identation.c (should_warn_for_misleading_indentation):
530 Likewise. Bail out early if the body is a compound statement.
531 (guard_tinfo_to_string): Define.
532
e880695c 5332015-07-30 Jason Merrill <jason@redhat.com>
534
535 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
536 '*' for reference decay.
537
f58dd84b 5382015-07-30 Marek Polacek <polacek@redhat.com>
539
540 * c-common.c (warn_tautological_cmp): Bail for float types.
541
d9e4fe27 5422015-07-27 Marek Polacek <polacek@redhat.com>
543
544 PR bootstrap/67030
545 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
546
6784a472 5472015-07-27 Marek Polacek <polacek@redhat.com>
548
549 PR c++/66555
550 PR c/54979
551 * c-common.c (find_array_ref_with_const_idx_r): New function.
552 (warn_tautological_cmp): New function.
553 * c-common.h (warn_tautological_cmp): Declare.
554 * c.opt (Wtautological-compare): New option.
555
08034975 5562015-07-23 Marek Polacek <polacek@redhat.com>
557
558 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
559 (ubsan_instrument_shift): Likewise.
560
f6f5e49b 5612015-07-23 Marek Polacek <polacek@redhat.com>
562
563 PR sanitizer/66908
564 * c-ubsan.c: Include gimplify.h.
565 (ubsan_instrument_division): Unshare OP0 and OP1.
566 (ubsan_instrument_shift): Likewise.
567
8d669e79 5682015-07-20 Marek Polacek <polacek@redhat.com>
569 Richard Sandiford <richard.sandiford@arm.com>
570
571 PR c++/55095
572 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
573 Use EXPR_LOC_OR_LOC.
574 (maybe_warn_shift_overflow): New function.
575 * c-common.h (maybe_warn_shift_overflow): Declare.
576 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
577 * c.opt (Wshift-overflow): New option.
578
e16712b1 5792015-07-16 Martin Liska <mliska@suse.cz>
580
581 * c-format.c (static void check_format_info_main): Use
582 object_allocator instead of pool_allocator.
583 (check_format_arg): Likewise.
584 (check_format_info_main): Likewise.
585
e51764ad 5862015-07-15 Andrew MacLeod <amacleod@redhat.com>
587
588 * c-opts.c: Remove multiline #include comment.
589
47ae02b7 5902015-07-12 Aldy Hernandez <aldyh@redhat.com>
591
592 * c-common.c: Fix double word typos.
593
ed2b2eb2 5942015-07-10 Eric Botcazou <ebotcazou@adacore.com>
595
596 * c-ada-spec.h (cpp_operation): Revert latest change.
597 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
598 constructors and destructors.
599
1eacc14a 6002015-07-09 Andrew MacLeod <amacleod@redhat.com>
601
602 * c-common.h: Adjust includes for flags.h changes.
603 * stub-objc.c: Likewise.
47ae02b7 604
0124237f 6052015-07-08 Eric Botcazou <ebotcazou@adacore.com>
606
607 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
608 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
609
386ef929 6102015-07-08 Jakub Jelinek <jakub@redhat.com>
611
612 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
613 are to be removed, return NULL rather than original clauses list.
614
9ef16211 6152015-07-07 Andrew MacLeod <amacleod@redhat.com>
616
617 * array-notation-common.c: Adjust includes.
618 * c-ada-spec.c: Likewise.
619 * c-cilkplus.c: Likewise.
620 * c-common.h: Likewise.
621 * c-cppbuiltin.c: Likewise.
622 * c-dump.c: Likewise.
623 * c-format.c: Likewise.
624 * c-gimplify.c: Likewise.
625 * c-indentation.c: Likewise.
626 * c-lex.c: Likewise.
627 * c-omp.c: Likewise.
628 * c-opts.c: Likewise.
629 * c-pch.c: Likewise.
630 * c-ppoutput.c: Likewise.
631 * c-pragma.c: Likewise.
632 * c-pretty-print.c: Likewise.
633 * c-semantics.c: Likewise.
634 * c-ubsan.c: Likewise.
635 * cilk.c: Likewise.
636 * stub-objc.c: Likewise.
637
67ede3e4 6382015-07-07 Eric Botcazou <ebotcazou@adacore.com>
639
640 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
641 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
642
42af8c2a 6432015-07-01 Jason Merrill <jason@redhat.com>
644
fa769cc5 645 * c-common.h (D_CXX11): Rename from D_CXX0X.
646 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
647 * c-common.c: Adjust.
648
97e9c847 649 * c-opts.c (c_common_post_options): Default to C++14.
650
42af8c2a 651 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
652
30b1ba42 6532015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
654
655 Implement N4197 - Adding u8 character literals
95858835 656 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
657 CPP_CHAR.
658 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
659 CPP_UTF8CHAR_USERDEF tokens.
660 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
661 and CPP_UTF8CHAR tokens.
662 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 663
0949f227 6642015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
665
666 PR fortran/66605
667 * c-common.c (do_warn_unused_parameter): Move here.
668 * c-common.h (do_warn_unused_parameter): Declare.
669
be23b16f 6702015-06-29 Marek Polacek <polacek@redhat.com>
671
672 PR c/66322
673 * c-common.c (check_case_bounds): Add bool * parameter. Set
674 OUTSIDE_RANGE_P.
675 (c_add_case_label): Add bool * parameter. Pass it down to
676 check_case_bounds.
677 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
678 warning here.
679 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
680 declarations.
681
6290f0db 6822015-06-27 Marek Polacek <polacek@redhat.com>
683
684 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
685 or VECTOR_INTEGER_TYPE_P throughout.
686 * c-gimplify.c: Likewise.
687
aa3e402e 6882015-06-26 Marek Polacek <polacek@redhat.com>
689
690 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
691 * c-common.c (c_fully_fold_internal): Likewise.
692 (c_alignof_expr): Likewise.
693 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
694 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 695 * cilk.c (create_parm_list): Likewise.
aa3e402e 696
4e81b384 6972015-06-26 Marek Polacek <polacek@redhat.com>
698
699 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
700
ec2e0095 7012015-06-25 Andrew MacLeod <amacleod@redhat.com>
702
703 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
704 * c-gimplify.c: Likewise.
705 * c-pragma.c: Likewise.
706 * c-ubsan.c: Likewise.
707 * cilk.c: Likewise.
708
b594087e 7092015-06-25 Richard Sandiford <richard.sandiford@arm.com>
710
711 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
712 ggc_hasher.
713
a3c76fda 7142015-06-25 Andrew MacLeod <amacleod@redhat.com>
715
716 * cilk.c: Move calls.h after tm.h in the include chain.
717
f48c7f4a 7182015-06-25 Marek Polacek <polacek@redhat.com>
719
720 * array-notation-common.c: Use VAR_P throughout.
721 * c-ada-spec.c: Likewise.
722 * c-common.c: Likewise.
723 * c-format.c: Likewise.
724 * c-gimplify.c: Likewise.
725 * c-omp.c: Likewise.
726 * c-pragma.c: Likewise.
727 * c-pretty-print.c: Likewise.
728 * cilk.c: Likewise.
729
ce41e81a 7302015-06-25 Marek Polacek <polacek@redhat.com>
731
732 * cilk.c (extract_free_variables): Use is_global_var.
733
de231ec2 7342015-06-23 Richard Sandiford <richard.sandiford@arm.com>
735
736 * c-common.c: Don't include target-def.h.
737
0200602e 7382015-06-23 Marek Polacek <polacek@redhat.com>
739
740 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
741 when comparing INTEGER_CSTs.
742
99838ed7 7432015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
744
745 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
746 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
747 (dump_ada_template): Skip partially specialized types.
748
a4f59596 7492015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
750
751 * c-common.c (scalar_to_vector): Use std::swap instead of manually
752 swapping.
753
f2ab3bac 7542015-06-17 Andrew MacLeod <amacleod@redhat.com>
755
756 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
757 * c-ada-spec.c: Likewise.
758 * c-cilkplus.c: Likewise.
759 * c-common.c: Likewise.
760 * c-common.h: Likewise.
761 * c-cppbuiltin.c: Likewise.
762 * c-dump.c: Likewise.
763 * c-format.c: Likewise.
764 * c-gimplify.c: Likewise.
765 * c-indentation.c: Likewise.
766 * c-lex.c: Likewise.
767 * c-omp.c: Likewise.
768 * c-opts.c: Likewise.
769 * c-pch.c: Likewise.
770 * c-ppoutput.c: Likewise.
771 * c-pragma.c: Likewise.
772 * c-pretty-print.c: Likewise.
773 * c-semantics.c: Likewise.
774 * c-ubsan.c: Likewise.
775 * cilk.c: Likewise.
776 * stub-objc.c: Likewise.
777
db3d1ffc 7782015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
779
780 PR c++/65168
781 * c-common.c (c_common_truthvalue_conversion): Warn when
782 converting an address of a reference to a truth value.
783
64486212 7842015-06-08 Andrew MacLeod <amacleod@redhat.com>
785
786 * array-notation-common.c : Adjust include files.
787 * c-ada-spec.c : Likewise.
788 * c-cilkplus.c : Likewise.
789 * c-common.c : Likewise.
790 * c-common.h : Likewise.
791 * c-cppbuiltin.c : Likewise.
792 * c-dump.c : Likewise.
793 * c-format.c : Likewise.
794 * c-gimplify.c : Likewise.
795 * c-indentation.c : Likewise.
796 * c-lex.c : Likewise.
797 * c-omp.c : Likewise.
798 * c-opts.c : Likewise.
799 * c-pch.c : Likewise.
800 * c-ppoutput.c : Likewise.
801 * c-pragma.c : Likewise.
802 * c-pretty-print.c : Likewise.
803 * c-semantics.c : Likewise.
804 * c-ubsan.c : Likewise.
805 * cilk.c : Likewise.
806 * stub-objc.c : Likewise.
807
6e84ccad 8082015-06-08 Marek Polacek <polacek@redhat.com>
809
810 PR c/66415
811 * c-format.c (location_from_offset): Return LOC if LINE is null.
812
3a1c9df2 8132015-06-05 Aldy Hernandez <aldyh@redhat.com>
814
815 * c-common.h (c_parse_final_cleanups): New prototype.
816 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
817
f77c0292 8182015-06-04 Andrew MacLeod <amacleod@redhat.com>
819
820 * array-notation-common.c: Adjust includes for restructured coretypes.h.
821 * c-ada-spec.c: Likewise.
822 * c-cilkplus.c: Likewise.
823 * c-common.c: Likewise.
824 * c-common.h: Likewise.
825 * c-cppbuiltin.c: Likewise.
826 * c-dump.c: Likewise.
827 * c-format.c: Likewise.
828 * c-gimplify.c: Likewise.
829 * c-indentation.c: Likewise.
830 * c-lex.c: Likewise.
831 * c-omp.c: Likewise.
832 * c-opts.c: Likewise.
833 * c-pch.c: Likewise.
834 * c-ppoutput.c: Likewise.
835 * c-pragma.c: Likewise.
836 * c-pretty-print.c: Likewise.
837 * c-semantics.c: Likewise.
838 * c-ubsan.c: Likewise.
839 * cilk.c: Likewise.
840 * stub-objc.c: Likewise.
841
7c62dfbb 8422015-06-02 David Malcolm <dmalcolm@redhat.com>
843
844 PR c/66220:
845 * c-indentation.c (should_warn_for_misleading_indentation): Use
846 expand_location rather than expand_location_to_spelling_point.
847 Don't warn if the guarding statement is more indented than the
848 next/body stmts.
849
9af7c176 8502015-06-02 David Malcolm <dmalcolm@redhat.com>
851
852 * c-indentation.c (warn_for_misleading_indentation): Bail out
853 immediately if -Wmisleading-indentation isn't enabled.
854
eebcf436 8552015-06-01 Martin Liska <mliska@suse.cz>
856
857 * c-format.c (check_format_arg):Use new type-based pool allocator.
858 (check_format_info_main) Likewise.
859
b0a23e2f 8602015-05-31 Eric Botcazou <ebotcazou@adacore.com>
861
862 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
863 (has_nontrivial_methods): Likewise.
864
63dc1330 8652015-05-25 Marek Polacek <polacek@redhat.com>
866
867 * c-ubsan.c (ubsan_instrument_shift): Use type0.
868
5a4c69dd 8692015-05-22 Marek Polacek <polacek@redhat.com>
870
871 PR c/47043
872 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
873
044580bb 8742015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 875
876 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
877 STACK_GROWS_DOWNWARD.
878
044580bb 8792015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 880
881 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
882 STACK_GROWS_DOWNWARD rather than if it is defined.
883
d5a2ddc7 8842015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 885
d5a2ddc7 886 PR c/52952
887 * c-format.c (location_column_from_byte_offset): New.
888 (location_from_offset): New.
889 (struct format_wanted_type): Add offset_loc field.
890 (check_format_info): Move handling of location for extra arguments
891 closer to the point of warning.
892 (check_format_info_main): Pass the result of location_from_offset
893 to warning_at.
894 (format_type_warning): Pass the result of location_from_offset
895 to warning_at.
896
72f8014e 8972015-05-20 Marek Polacek <polacek@redhat.com>
898
899 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
900
74efe522 9012015-05-20 Marek Polacek <polacek@redhat.com>
902
903 * c-ada-spec.c (dump_sloc): Use DECL_P.
904
b443c459 9052015-05-20 Marek Polacek <polacek@redhat.com>
906
907 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
908 * c-common.c: Likewise.
909
551e34da 9102015-05-19 David Malcolm <dmalcolm@redhat.com>
911
912 * c-common.h (fe_file_change): Strengthen param from
913 const line_map * to const line_map_ordinary *.
914 (pp_file_change): Likewise.
915 * c-lex.c (fe_file_change): Likewise.
916 (cb_define): Use linemap_check_ordinary when invoking
917 SOURCE_LINE.
918 (cb_undef): Likewise.
919 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
920 invoking cb_file_change.
921 (c_finish_options): Likewise.
922 (push_command_line_include): Likewise.
923 (cb_file_change): Strengthen param "new_map" from
924 const line_map * to const line_map_ordinary *.
925 * c-ppoutput.c (cb_define): Likewise for local "map".
926 (pp_file_change): Likewise for param "map" and local "from".
927
dfcf26a5 9282015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
929
930 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
931
2e474820 9322015-05-18 Tom de Vries <tom@codesourcery.com>
933
934 * c-common.c (build_va_arg_1): New function.
935 (build_va_arg): Add address operator to va_list operand if necessary.
936
e53013a8 9372015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
938
939 PR c/48956
940 * c-common.c (int_safely_convertible_to_real_p): Define.
941 (unsafe_conversion_p): Check conversions involving complex types.
942 (conversion_warning): Add new warning message for conversions which
943 discard imaginary component.
944 * c-common.h: (enum conversion_safety): Add new enumerator for such
945 conversions.
946
aac24642 9472015-05-14 Marek Polacek <polacek@redhat.com>
948
949 PR c/66066
950 PR c/66127
951 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
952 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
953 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
954 use it. If FOR_INT_CONST, require that all evaluated operands be
955 INTEGER_CSTs.
956
e5f01cba 9572015-05-12 David Malcolm <dmalcolm@redhat.com>
958
959 * c-common.h (warn_for_misleading_indentation): New prototype.
960 * c-indentation.c: New file.
961 * c.opt (Wmisleading-indentation): New option.
962
c37be9ec 9632015-05-12 Tom de Vries <tom@codesourcery.com>
964
965 PR tree-optimization/66010
966 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
967
7290114b 9682015-05-09 Jason Merrill <jason@redhat.com>
969
3c665566 970 * c-opts.c (c_common_post_options): Also clear
971 cpp_opts->cpp_warn_cxx11_compat.
972
d875b9d2 973 * c-common.h (enum cxx_dialect): Add cxx_unset.
974 * c-common.c (cxx_dialect): Initialize to cxx_unset.
975 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
976
7290114b 977 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
978 (std=gnu++0x): Mark as Undocumented.
979 (std=gnu++1y): Add deprecated message.
980
1b03cc89 9812015-05-08 Jason Merrill <jason@redhat.com>
982
1c5f7aba 983 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
984 * c-opts.c: Adjust.
985
1b03cc89 986 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
987
dc5945dc 9882015-05-08 Marek Polacek <polacek@redhat.com>
989
990 PR c/64918
991 * c.opt (Woverride-init-side-effects): New option.
992
cdc64059 9932015-05-07 Marek Polacek <polacek@redhat.com>
994
995 PR c/65179
996 * c-common.c (c_fully_fold_internal): Warn when left shifting a
997 negative value.
998 * c.opt (Wshift-negative-value): New option.
999 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1000 when -Wextra and C99/C++11 mode.
1001
8cafe283 10022015-05-07 Marek Polacek <polacek@redhat.com>
1003 Martin Uecker <uecker@eecs.berkeley.edu>
1004
1005 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1006 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1007
cb40a6f7 10082015-05-05 Jason Merrill <jason@redhat.com>
1009
1010 * c.opt (Wterminate): New.
1011
14744a16 10122015-04-30 Marek Polacek <polacek@redhat.com>
1013
1014 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1015 require that the non-constant be of a boolean type.
1016
9866562d 10172015-04-29 Josh Triplett <josh@joshtriplett.org>
1018
8cafe283 1019 * c-common.c (handle_section_attribute): Refactor to reduce
1020 nesting and distinguish between error cases.
9866562d 1021
a720ab1c 10222015-04-29 Marek Polacek <polacek@redhat.com>
1023
1024 PR c/64610
1025 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1026 with 0/1.
1027
8c072e52 10282015-04-29 Jakub Jelinek <jakub@redhat.com>
1029
1030 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1031 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1032 HOST_BITS_PER_WIDE_INT.
1033
f7fec1c7 10342015-04-28 Tom de Vries <tom@codesourcery.com>
1035
1036 PR tree-optimization/65887
1037 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1038
483b3d26 10392015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 1040 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 1041
1042 * c-ada-spec.c (in_function): Delete.
1043 (dump_generic_ada_node): Do not change in_function and remove the
1044 redundant code dealing with it.
1045 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1046 (print_ada_methods): Output the static member functions in a nested
1047 package after the regular methods as well as associated renamings.
1048
f11bdffb 10492015-04-24 Marek Polacek <polacek@redhat.com>
1050
1051 PR c/65830
1052 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1053 and OPT_Wshift_count_overflow.
1054
485f6b9c 1055 PR c/63357
1056 * c-common.c (warn_logical_operator): Warn if the operands have the
1057 same expressions.
1058
439606a9 10592015-04-24 Marek Polacek <polacek@redhat.com>
1060
1061 PR c/61534
1062 * c-common.c (warn_logical_operator): Bail if either operand comes
1063 from a macro expansion.
1064
de801c28 10652015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1066
1067 PR target/55143
1068 * c-common.c (c_default_pointer_mode): Add definition.
1069 * c-common.h (c_default_pointer_mode): Add declaration.
1070
76738f56 10712015-03-11 Jakub Jelinek <jakub@redhat.com>
1072
1073 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1074 on record_builtin_type argument.
1075
16f958b3 10762015-03-10 Jakub Jelinek <jakub@redhat.com>
1077
1078 PR c/65120
1079 * c-common.c (warn_logical_not_parentheses): Don't warn for
1080 !x == 0 or !x != 0.
1081
9b22f73f 10822015-03-07 Marek Polacek <polacek@redhat.com>
1083
1084 PR sanitizer/65280
1085 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1086 before trying to figure out whether we have a flexible array member.
1087
a864b7d4 10882015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1089 Jonathan Wakely <jwakely.gcc@gmail.com>
1090
1091 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1092
9bf8c90b 10932015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1094
1095 PR ada/65319
1096 * c-ada-spec.c (print_destructor): Remove obsolete code.
1097
037ac54f 10982015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1099
1100 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1101 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1102 DECL_TEMPLATE_RESULT emulations.
1103 (dump_ada_template)): Add guard for TYPE_METHODS.
1104
495cbfb8 11052015-02-27 Marek Polacek <polacek@redhat.com>
1106
1107 PR c/65040
1108 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1109
688a864e 11102015-02-27 Kai Tietz <ktietz@redhat.com>
1111
1112 PR c/35330
1113 * c-pragma.c (handle_pragma_weak): Do not try to create
1114 weak/alias of declarations not being function, or variable
1115 declarations.
1116
6349b8cc 11172015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1118
1119 PR libgomp/64625
1120 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1121 Remove macros.
1122 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1123
3afd5369 11242015-02-16 Marek Polacek <polacek@redhat.com>
1125
1126 PR c/65066
1127 * c-format.c (check_format_types): Handle null param.
1128
46173d1b 11292015-02-13 Marek Polacek <polacek@redhat.com>
1130
1131 PR c/65040
1132 * c-format.c (check_format_types): Don't warn about different
1133 signedness if the original value is in the range of WANTED_TYPE.
1134
1d524ff7 11352015-02-12 Jason Merrill <jason@redhat.com>
1136
1137 PR c++/64956
1138 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1139 to the current highest version.
1140 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1141
bbf8fbec 11422015-02-04 Jakub Jelinek <jakub@redhat.com>
1143
1144 PR c/64824
1145 PR c/64868
1146 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1147 instead of RDIV_EXPR. Use build_binary_op instead of
1148 build2_loc.
1149
c05be867 11502015-01-30 Joseph Myers <joseph@codesourcery.com>
1151
1152 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1153 to pass input_location as first argument.
1154
85977647 11552015-01-23 Tom de Vries <tom@codesourcery.com>
1156
1157 PR libgomp/64672
1158 * c.opt (fopenacc): Mark as LTO option.
1159
fa175926 11602015-01-23 Tom de Vries <tom@codesourcery.com>
1161
1162 PR libgomp/64707
1163 * c.opt (fopenmp): Mark as LTO option.
1164
20aad5ba 11652015-01-21 Jakub Jelinek <jakub@redhat.com>
1166
1167 PR c/63307
8204c077 1168 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1169 (compare_decls): Fix up formatting.
1170
11712015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1172
1173 PR c/63307
1174 * cilk.c: Include vec.h.
1175 (struct cilk_decls): New structure.
1176 (wrapper_parm_cb): Split this function to...
1177 (fill_decls_vec): ...this...
1178 (create_parm_list): ...and this.
1179 (compare_decls): New function.
1180 (for_local_cb): Remove.
1181 (wrapper_local_cb): Ditto.
1182 (build_wrapper_type): For now first traverse and fill vector of
1183 declarations then sort it and then deal with sorted vector.
1184 (cilk_outline): Ditto.
1185 (declare_one_free_variable): Ditto.
1186
60b77e28 11872015-01-21 Jason Merrill <jason@redhat.com>
1188
1189 PR c++/64629
1190 * c-format.c (check_format_arg): Call decl_constant_value.
1191
85fbea97 11922015-01-19 Martin Liska <mliska@suse.cz>
1193
1194 * c-common.c (handle_noicf_attribute): New function.
1195
ca4c3545 11962015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1197 Bernd Schmidt <bernds@codesourcery.com>
1198 James Norris <jnorris@codesourcery.com>
1199 Cesar Philippidis <cesar@codesourcery.com>
1200 Ilmir Usmanov <i.usmanov@samsung.com>
1201 Jakub Jelinek <jakub@redhat.com>
1202
1203 * c.opt (fopenacc): New option.
1204 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1205 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1206 New macros.
1207 * c-common.h (c_finish_oacc_wait): New prototype.
1208 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1209 (c_finish_oacc_wait): New function.
1210 * c-pragma.c (oacc_pragmas): New variable.
1211 (c_pp_lookup_pragma, init_pragma): Handle it.
1212 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1213 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1214 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1215 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1216 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1217 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1218 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1219 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1220 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1221 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1222 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1223 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1224 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1225 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1226 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1227 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1228 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1229 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1230 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1231 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1232 PRAGMA_OACC_CLAUSE_WORKER.
1233
947aa916 12342015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1235
1236 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1237 for the new option fstack-protector_explicit.
1238 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1239 (handle_stack_protect_attribute): New function.
1240
e4fd7af1 12412015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1242
1243 * c.opt: New option -Warray-bounds=.
1244
1f78217c 12452015-01-09 Michael Collison <michael.collison@linaro.org>
1246
1247 * array-notation-common.c: Include hash-set.h, machmode.h,
1248 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1249 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1250 * c-ada-spec.c: Ditto.
1251 * c-cilkplus.c: Ditto.
1252 * c-common.c: Include input.h due to flattening of tree.h.
1253 Define macro GCC_C_COMMON_C.
1254 * c-common.h: Flatten tree.h header files into c-common.h.
1255 Remove include of tree-core.h.
1256 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1257 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1258 fold-const.h, wide-int.h, and inchash.h due to
1259 flattening of tree.h.
1260 * c-dump.c: Ditto.
1261 * c-format.c: Flatten tree.h header files into c-common.h.
1262 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1263 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1264 fold-const.h, wide-int.h, and inchash.h due to
1265 flattening of tree.h.
1266 * c-dump.c: Include hash-set.h, machmode.h,
1267 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1268 fold-const.h, wide-int.h, and inchash.h due to
1269 flattening of tree.h.
1270 * c-format.c: Include hash-set.h, machmode.h,
1271 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1272 fold-const.h, wide-int.h, inchash.h and real.h due to
1273 flattening of tree.h.
1274 * c-gimplify.c: Include hash-set.h, machmode.h,
1275 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1276 fold-const.h, wide-int.h, and inchash.h due to
1277 flattening of tree.h.
1278 * cilk.c: Ditto.
1279 * c-lex.c: Ditto.
1280 * c-omp.c: Ditto.
1281 * c-opts.c: Ditto.
1282 * c-pch.c: Ditto.
1283 * c-ppoutput.c: Ditto.
1284 * c-pragma.c: Ditto.
1285 * c-pretty-print.c: Ditto.
1286 * c-semantics.c: Ditto.
1287 * c-ubsan.c: Ditto.
1288 * stub-objc.c: Ditto.
1289
411b7663 12902015-01-08 Jason Merrill <jason@redhat.com>
1291
1292 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1293 do_ubsan_in_current_function.
1294 (ubsan_maybe_instrument_reference_or_call): Likewise.
1295 * c-ubsan.h: Declare it.
1296
d1e96383 12972015-01-08 Mike Stump <mikestump@comcast.net>
1298
1299 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1300
b57910fa 13012015-01-07 Marek Polacek <polacek@redhat.com>
1302
1303 PR c/64440
1304 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1305 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1306
678a4e3e 13072015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1308
1309 PR c++/31397
1310 * c.opt (Wsuggest-override): New option.
1311
d353bf18 13122015-01-05 Jakub Jelinek <jakub@redhat.com>
1313
1314 Update copyright years.
1315
92b63884 13162015-01-05 Marek Polacek <polacek@redhat.com>
1317
1318 PR c/64423
1319 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1320 parameter. Use it.
1321 * c-common.h (warn_array_subscript_with_type_char): Update
1322 declaration.
1323
83715bc4 13242014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1325
1326 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1327 Control macro with flag_sized_deallocation.
1328
8a8211df 13292014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1330
1331 * c.opt (Wdiscarded-array-qualifiers): New option.
1332
33058239 13332014-12-19 Jakub Jelinek <jakub@redhat.com>
1334
1335 PR preprocessor/63831
1336 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1337 and __has_cpp_attribute here.
1338 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1339 c_common_has_attribute.
1340 * c-common.h (c_common_has_attribute): New prototype.
1341 * c-lex.c (init_c_lex): Set cb->has_attribute to
1342 c_common_has_attribute instead of cb_has_attribute.
1343 (get_token_no_padding): New function.
1344 (cb_has_attribute): Renamed to ...
1345 (c_common_has_attribute): ... this. No longer static. Use
1346 get_token_no_padding, require ()s, don't build TREE_LIST
1347 unnecessarily, fix up formatting, adjust diagnostics, call
1348 init_attributes.
1349
d1856d2c 13502014-12-15 Jason Merrill <jason@redhat.com>
1351
1352 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1353 (-Wsized-deallocation): New.
1354 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1355 to on in C++14 and up.
1356
4972ed5d 13572014-12-11 Jason Merrill <jason@redhat.com>
1358
7d7fa964 1359 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1360
4972ed5d 1361 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1362 we aren't complaining about VLAs.
1363
5ebccf71 13642014-12-06 Marek Polacek <polacek@redhat.com>
1365
1366 PR tree-optimization/64183
1367 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1368 shift-expression if it is integer_type_node. Use types_compatible_p.
1369
f9e245b2 13702014-11-29 Jakub Jelinek <jakub@redhat.com>
1371
1372 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1373 last argument from create_tmp_var_raw and create_tmp_var calls.
1374 * cilk.c (gimplify_cilk_spawn): Likewise.
1375 * c-omp.c (c_finish_omp_atomic): Likewise.
1376
d2f60593 13772014-11-28 Marek Polacek <polacek@redhat.com>
1378
1379 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1380 instead of unsigned_type_node.
1381
fce2dbd1 13822014-11-28 Marek Polacek <polacek@redhat.com>
1383
1384 PR c/63862
1385 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1386 to op1_utype.
1387 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1388 expression to unsigned_type_node.
1389
3a4a2292 13902014-11-20 Mark Wielaard <mjw@redhat.com>
1391
1392 PR debug/38757
1393 * c-opts.c (set_std_c89): Set lang_hooks.name.
1394 (set_std_c99): Likewise.
1395 (set_std_c11): Likewise.
1396 (set_std_cxx98): Likewise.
1397 (set_std_cxx11): Likewise.
1398 (set_std_cxx14): Likewise.
1399 (set_std_cxx1z): Likewise.
1400
c61ef207 14012014-11-21 Jakub Jelinek <jakub@redhat.com>
1402
1403 PR target/63764
1404 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1405 return type to bool.
c9ed79de 1406 * c-common.c: Include gimple-expr.h.
c61ef207 1407 (convert_vector_to_pointer_for_subscript): Change return type to
1408 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1409 and copy it into a TARGET_EXPR and use that instead of *vecp
1410 directly.
1411
1a91d914 14122014-11-19 David Malcolm <dmalcolm@redhat.com>
1413
1414 Merger of git branch "gimple-classes-v2-option-3".
1415 * ChangeLog.gimple-classes: New.
1416 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1417 from being just a vec<gimple> to a vec<gbind *>.
1418
f8fc8b8e 14192014-11-18 Jakub Jelinek <jakub@redhat.com>
1420
1421 PR sanitizer/63813
1422 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1423 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1424 get_pointer_alignment for non-pointers. Use ptype, or if it is
1425 reference type, corresponding pointer type, as type of kind
1426 argument.
1427 (ubsan_maybe_instrument_reference,
1428 ubsan_maybe_instrument_member_call): Adjust callers.
1429
8315e35e 14302014-11-15 Marek Polacek <polacek@redhat.com>
1431
1432 PR middle-end/63884
1433 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1434 for NULL fndecl.
1435 (extract_array_notation_exprs): Return for NULL node.
1436
86b9f14b 14372014-11-12 Joseph Myers <joseph@codesourcery.com>
1438
1439 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1440 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1441
0c93c8a9 14422014-11-12 Jakub Jelinek <jakub@redhat.com>
1443
1444 PR c/59708
1445 * c-common.c (check_builtin_function_arguments): Handle
1446 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1447
fdd735a7 14482014-11-10 Andi Kleen <ak@linux.intel.com>
1449
1450 PR c/60804
1451 * c-common.h (check_no_cilk): Declare.
1452 * cilk.c (get_error_location): New function.
1453 (check_no_cilk): Dito.
1454
5cb678b4 14552014-11-10 Andi Kleen <ak@linux.intel.com>
1456
1457 * cilk.c (recognize_spawn): Use expression location
1458 for error message.
1459
0feb4de1 14602014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1461
1462 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1463
3aa2fa44 14642014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1465
1466 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1467 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1468 (__cpp_range_based_for, __cpp_initializer_lists,
1469 __cpp_delegating_constructors, __cpp_nsdmi,
1470 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1471 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1472 __has_cpp_attribute.
1473 * c-lex.c (cb_has_attribute): New callback CPP function;
1474 (init_c_lex): Set has_attribute callback.
1475
7fd22aae 14762014-11-04 Richard Biener <rguenther@suse.de>
1477
1478 * c-common.c (shorten_compare): Do not shorten mixed
1479 DFP and non-DFP compares.
1480
4af203ac 14812014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1482
1483 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1484 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1485 Commentary and rearrangement of tests.
1486 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1487 Commentary and rearrangement of tests.
1488 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1489 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1490
3754d046 14912014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1492
1493 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1494 enum from machine_mode.
1495
1140c305 14962014-10-28 Andrew MacLeod <amacleod@redhat.com>
1497
1f78217c 1498 * c-common.c: Adjust include files.
1499 * c-gimplify.c: Ditto.
1500 * cilk.c: Ditto.
1501 * c-pragma.c: Ditto.
1502 * c-ubsan.c: Ditto.
1140c305 1503
94ea8568 15042014-10-27 Andrew MacLeod <amacleod@redhat.com>
1505
1506 * c-gimplify.c: Adjust include files.
1507
32ecf960 15082014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1509
1510 PR c++/53061
1511 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1512 c_common_initialize_diagnostics.
1513 * c-common.h: Likewise.
1514
85fecbe2 15152014-10-24 Marek Polacek <polacek@redhat.com>
1516
1517 PR c/56980
1518 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1519 print "struct"/"union"/"enum" for typedefed names.
1520
e7ec033a 15212014-10-23 Marek Polacek <polacek@redhat.com>
1522
1523 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1524 in unsigned type.
1525
c2598081 15262014-10-22 Jakub Jelinek <jakub@redhat.com>
1527 Yury Gribov <y.gribov@samsung.com>
1528
1529 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1530 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1531 instead of flag_sanitize_recover as bool flag.
1532
acebb7e2 15332014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1534
1535 * cilk.c: Revert previous change.
1536
6115016c 15372014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1538
1539 PR c/63307
1540 * cilk.c: Include vec.h.
1541 (struct cilk_decls): New structure.
1542 (wrapper_parm_cb): Split this function to...
1543 (fill_decls_vec): ...this...
1544 (create_parm_list): ...and this.
1545 (compare_decls): New function.
1546 (for_local_cb): Remove.
1547 (wrapper_local_cb): Ditto.
1548 (build_wrapper_type): For now first traverse and fill vector of
1549 declarations then sort it and then deal with sorted vector.
1550 (cilk_outline): Ditto.
1551 (declare_one_free_variable): Ditto.
1552
e610d2b2 15532014-10-17 Marek Polacek <polacek@redhat.com>
1554
1555 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1556 * c.opt (Wimplicit-int): Initialize to -1.
1557
a3020f2f 15582014-10-16 Andrew MacLeod <amacleod@redhat.com>
1559
1560 * c-pragma.c: Adjust include files.
1561 * c-semantics.c: Likewise.
1562
926ddd2c 15632014-10-16 DJ Delorie <dj@redhat.com>
1564
1565 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1566 multiples of bytes.
1567
b0542e7c 15682014-10-14 Jason Merrill <jason@redhat.com>
1569
1570 PR c++/63455
1571 * c-common.h (CPP_PREPARSED_EXPR): New.
1572 (N_CP_TTYPES): Adjust.
1573
b2601928 15742014-10-15 Marek Polacek <polacek@redhat.com>
1575
1576 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1577
9f75f026 15782014-10-14 DJ Delorie <dj@redhat.com>
1579
1580 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1581 types, not just __int128.
1582 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1583 types, not just __int128.
1584 (cpp_atomic_builtins): Round pointer sizes up.
1585 (type_suffix): Use type precision, not specific types.
1586 * c-common.c (c_common_reswords): Remove __int128 special case.
1587 (c_common_type_for_size): Check for all __intN types, not just
1588 __int128.
1589 (c_common_type_for_mode): Likewise.
1590 (c_common_signed_or_unsigned_type): Likewise.
1591 (c_build_bitfield_integer_type): Likewise.
1592 (c_common_nodes_and_builtins): Likewise.
1593 (keyword_begins_type_specifier): Likewise.
1594 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1595 __intN variants.
1596
2ef51f0e 15972014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1598
1599 * c-common.c: Use hash_table instead of hashtab.
1600
5b8257e3 16012014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1602
1f78217c 1603 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1604 C++11 section.
1605
5e84569c 16062014-10-03 Marc Glisse <marc.glisse@inria.fr>
1607
1608 PR c++/54427
1609 PR c++/57198
1610 PR c++/58845
1611 * c-common.c (warn_logical_operator): Punt for vectors.
1612
f6751ff2 16132014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1614
1615 Implement SD-6: SG10 Feature Test Recommendations
1616 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1617 macros and the __has_header macro.
1618
c33e051d 16192014-09-30 Jason Merrill <jason@redhat.com>
1620
f76a9aa8 1621 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1622 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1623 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1624
717e52f9 1625 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1626 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1627
c33e051d 1628 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1629 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1630
5213d6c9 16312014-09-24 Marek Polacek <polacek@redhat.com>
1632
1633 PR c/61405
1634 PR c/53874
1635 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1636
6b722052 16372014-09-23 Andi Kleen <ak@linux.intel.com>
1638
1639 * c-common.c (handle_no_reorder_attribute): New function.
1640 (c_common_attribute_table): Add no_reorder attribute.
1641
0cb69d12 16422014-09-22 Joseph Myers <joseph@codesourcery.com>
1643
1644 * c-cppbuiltin.c (c_cpp_builtins): Define
1645 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1646 modes.
1647
168dfbf0 16482014-09-18 Joseph Myers <joseph@codesourcery.com>
1649
1650 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1651 for supported floating-point modes.
1652
b83705f4 16532014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1654
1655 * c.opt (Wpsabi): Use LangEnabledBy.
1656 * c-opts.c (c_common_handle_option): Do not handle here.
1657
d5957f0d 16582014-09-12 Joseph Myers <joseph@codesourcery.com>
1659
1660 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1661 macros for floating-point modes.
1662
bae6edff 16632014-09-11 Marc Glisse <marc.glisse@inria.fr>
1664
1665 PR target/58757
1666 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1667 __*_DENORM_MIN__ without denormals.
1668
73a69d02 16692014-09-10 Jakub Jelinek <jakub@redhat.com>
1670
1671 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1672 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1673 ubsan_create_data callers.
1674 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1675 index is constant or BIT_AND_EXPR with constant mask and is
1676 small enough for the bound.
1677 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1678 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1679
7ff8db31 16802014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1681
1682 * c.opt: Add CppReason to various flags.
1683 (Wdate-time): Re-sort.
1684 * c-common.c: Include c-common.h earlier.
1685 (struct reason_option_codes_t): Delete.
1686 (c_option_controlling_cpp_error): Prefix global type and struct
1687 with cpp_.
1688
bcc1f37e 16892014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1690
1691 * c.opt (Wnormalized): New.
1692 (Wnormalized=): Use Enum and Reject Negative.
1693 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1694
b660d3c6 16952014-09-08 Joseph Myers <joseph@codesourcery.com>
1696
1697 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1698 digits of floating-point modes if -fbuilding-libgcc.
1699
325b8c3c 17002014-09-05 Joseph Myers <joseph@codesourcery.com>
1701
1702 * c-cppbuiltin.c (c_cpp_builtins): Also define
1703 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1704 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1705 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1706 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1707 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1708 __LIBGCC_STACK_GROWS_DOWNWARD__,
1709 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1710 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1711 __LIBGCC_DWARF_FRAME_REGISTERS__,
1712 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1713 __LIBGCC_STACK_POINTER_REGNUM__ and
1714 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1715 (builtin_define_with_value): Handle backslash-escaping in string
1716 macro values.
1717
1e074e77 17182014-09-05 Richard Biener <rguenther@suse.de>
1719
1720 PR middle-end/63148
1721 * c-format.c (check_format_arg): Properly handle
1722 effectively signed POINTER_PLUS_EXPR offset.
1723
04afd878 17242014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1725
1726 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1727 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1728 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1729 and Init.
1730 * c-opts.c (c_common_handle_option): Do not handle here.
1731 (sanitize_cpp_opts): Likewise.
1732 * c-common.c (struct reason_option_codes_t): Handle
1733 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1734
a3f448f0 17352014-09-03 Marek Polacek <polacek@redhat.com>
1736
1737 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1738
40750995 17392014-09-02 Jakub Jelinek <jakub@redhat.com>
1740 Balaji V. Iyer <balaji.v.iyer@intel.com>
1741 Igor Zamyatin <igor.zamyatin@intel.com>
1742
1743 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1744 * c-common.c (c_common_reswords): Added _Cilk_for.
1745 * c-common.h (enum rid): Added RID_CILK_FOR.
1746 (cilk_for_number_of_iterations): Add declaration.
1747 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1748 CILK_FOR.
1749 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1750 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1751
f0fbe519 17522014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1753
1754 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1755 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1756 Wundef): Use CPP, Var and Init.
1757 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1758
a7d2e480 17592014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1760
1761 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1762 * c-opts.c (c_common_handle_option): Do not handle here.
1763
c35e53f1 17642014-08-25 Jason Merrill <jason@redhat.com>
1765
1766 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1767 -std=c++14 and -std=gnu++14, rather than the reverse.
1768 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1769 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1770 * c-common.h (cxx_dialect): Remove cxx1y.
1771
4e454776 17722014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1773
1774 * c-common.h (enum cxx_dialect): Add cxx14.
1775 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1776 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1777 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1778
af1a80f2 17792014-08-22 Jason Merrill <jason@redhat.com>
1780
1781 * c.opt (std=gnu++17): Fix alias.
1782
dc6229e8 17832014-08-22 Marek Polacek <polacek@redhat.com>
1784
1785 PR c++/62199
1786 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1787 check for vector types. Drop LHS argument.
1788 * c-common.h (warn_logical_not_parentheses): Adjust.
1789
ba7f7c88 17902014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1791
1792 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1793 (Wmultichar): Likewise.
1794 (Wdate-time): Use C-family languages instead of Common. Use CPP
1795 and Var.
1796 * c-opts.c (c_common_handle_option): Do not handle the above
1797 options here.
1798 (sanitize_cpp_opts): Likewise.
1799
399d4f80 18002014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1801
1802 PR fortran/44054
1803 * c-opts.c: Include tree-diagnostics.h.
1804 (c_diagnostic_finalizer): New.
1805 (c_common_initialize_diagnostics): Use it.
1806
1babed5f 18072014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1808
1809 PR preprocessor/51303
1810 * c-common.c (struct reason_option_codes_t option_codes):
1811 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1812
3636964b 18132014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1814
1815 PR c/60975
1816 PR c/53063
1817 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1818 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1819 (c_common_post_options): Call init_global_opts_from_cpp.
1820 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1821
78bf4156 18222014-08-19 Marek Polacek <polacek@redhat.com>
1823
1824 PR c++/62153
1825 * c-common.c (maybe_warn_bool_compare): New function.
1826 * c-common.h (maybe_warn_bool_compare): Declare.
1827 * c.opt (Wbool-compare): New option.
1828
508ea33a 18292014-08-19 Marek Polacek <polacek@redhat.com>
1830
1831 * c.opt (Wc99-c11-compat): New option.
1832
806fe15e 18332014-08-19 Marek Polacek <polacek@redhat.com>
1834
1835 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1836 to warn_c90_c99_compat.
1837 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1838 to -1.
1839
6c867de1 18402014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1841 Steven Bosscher <steven@gcc.gnu.org>
1842
1843 PR c/52952
1844 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1845 format_check_results.
1846 (check_function_format): Use true and add comment for boolean
1847 argument.
1848 (finish_dollar_format_checking): Use explicit location when warning.
1849 (check_format_info): Likewise.
1850 (check_format_arg): Set extra_arg_loc and format_string_loc.
1851 (check_format_info_main): Use explicit location when warning.
1852 (check_format_types): Pass explicit location.
1853 (format_type_warning): Likewise.
1854
dc8078a3 18552014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1856
1857 PR fortran/44054
1858 * c-format.c: Handle Fortran flags.
1859
d271ec7e 18602014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1861
1862 PR other/61962
1863 * array-notation-common.c (find_rank): Added handling for other
1864 types of references.
1865
890c2e2f 18662014-08-10 Marek Polacek <polacek@redhat.com>
1867
1868 PR c/51849
1869 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1870 * c.opt (Wc90-c99-compat): Add option.
1871
7149db5f 18722014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1873
1874 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1875
2d2f6a15 18762014-08-03 Marek Polacek <polacek@redhat.com>
1877
1878 * c-common.c (check_case_value): Add location_t parameter. Use it.
1879 (c_add_case_label): Pass loc to check_case_value.
1880
06ecf488 18812014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1882
1883 * cilk.c: Use hash_map instead of pointer_map.
1884
431205b7 18852014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1886
1887 * c-gimplify.c: Use hash_set instead of pointer_set.
1888
3394c80c 18892014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1890
1891 PR middle-end/61455
1892 * array-notation-common.c (extract_array_notation_exprs): Handling
1893 of DECL_EXPR added.
1894
392dee1e 18952014-08-01 Jakub Jelinek <jakub@redhat.com>
1896
1897 * c-common.h (min_align_of_type): Removed prototype.
1898 * c-common.c (min_align_of_type): Removed.
1899 * c-ubsan.h (ubsan_maybe_instrument_reference,
1900 ubsan_maybe_instrument_member_call): New prototypes.
1901 * c-ubsan.c: Include stor-layout.h and builtins.h.
1902 (ubsan_maybe_instrument_reference_or_call,
1903 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1904 functions.
1905
f22a2cb7 19062014-07-31 Marc Glisse <marc.glisse@inria.fr>
1907
1908 PR c++/60517
1909 * c.opt (-Wreturn-local-addr): Move to common.opt.
1910
87b0198f 19112014-07-30 Jason Merrill <jason@redhat.com>
1912
1913 PR c++/61659
1914 PR c++/61687
1915 Revert:
1916 * c.opt (-fuse-all-virtuals): New.
1917
74691f46 19182014-07-30 Tom Tromey <tromey@redhat.com>
1919
1920 PR c/59855
1921 * c.opt (Wdesignated-init): New option.
1922 * c-common.c (c_common_attribute_table): Add "designated_init".
1923 (handle_designated_init): New function.
1924
9140d56f 19252014-07-24 Marek Polacek <polacek@redhat.com>
1926
1927 PR c/57653
1928 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1929
a09c5cc2 19302014-07-16 Dodji Seketeli <dodji@redhat.com>
1931
1932 PR preprocessor/60723 - missing system-ness marks for macro tokens
1933 * c-ppoutput.c (struct print::prev_was_system_token): New data
1934 member.
1935 (init_pp_output): Initialize it.
1936 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1937 (do_line_change): Return a flag saying if a line marker was
1938 emitted or not.
1939 (scan_translation_unit): Detect if the system-ness of the token we
1940 are about to emit is different from the one of the previously
1941 emitted token. If so, emit a line marker. Avoid emitting useless
1942 adjacent line markers. Avoid emitting line markers for tokens
1943 originating from the expansion of built-in macros.
1944 (scan_translation_unit_directives_only): Adjust.
1945
2b25b62f 19462014-07-15 Marek Polacek <polacek@redhat.com>
1947
1948 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1949 TYPE_MAX_VALUE is NULL.
1950
305d96bc 19512014-07-14 Jakub Jelinek <jakub@redhat.com>
1952
1953 PR middle-end/61294
1954 * c.opt (Wmemset-transposed-args): New warning.
1955
8ea4660d 19562014-07-10 Jason Merrill <jason@redhat.com>
1957
1958 PR c++/61659
1959 PR c++/61687
1960 * c.opt (-fuse-all-virtuals): New.
1961
cd480f3d 19622014-07-09 Richard Biener <rguenther@suse.de>
1963
1964 PR c-family/61741
1965 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1966 using unsigned arithmetic if overflow does not wrap instead of
1967 if overflow is undefined.
1968
87d59e72 19692014-07-06 Marek Polacek <polacek@redhat.com>
1970
1971 PR c/6940
1972 * c.opt (Wsizeof-array-argument): New option.
1973
d69521d8 19742014-07-03 Jakub Jelinek <jakub@redhat.com>
1975
8204c077 1976 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 1977 comments->count <= 1, as comments->entries might be NULL.
1978
1207866e 19792014-07-01 Marek Polacek <polacek@redhat.com>
1980
1981 * c.opt (Wint-conversion): New option.
1982
7a6bbb76 19832014-07-01 Marek Polacek <polacek@redhat.com>
1984
1985 PR c/58286
1986 * c.opt (Wincompatible-pointer-types): New option.
1987
9d4eeb52 19882014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1989
1990 PR c++/51400
1991 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1992 Do not discard TYPE_QUALS of type.
1993
4b53bc0f 19942014-06-26 Jason Merrill <jason@redhat.com>
1995
1996 * c-common.h (enum cxx_dialect): Add cxx1z.
1997 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1998 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1999
a8a8d4ea 20002014-06-26 Teresa Johnson <tejohnson@google.com>
2001
2002 * c-common.h (get_dump_info): Declare.
2003 * c-gimplify.c (c_genericize): Use saved dump files.
2004 * c-opts.c (c_common_parse_file): Begin and end dumps
2005 once around parsing invocation.
2006 (get_dump_info): New function.
2007
1f6be080 20082014-06-23 Marek Polacek <polacek@redhat.com>
2009 Andrew MacLeod <amacleod@redhat.com>
2010
2011 PR c/61553
2012 * c-common.c (get_atomic_generic_size): Don't segfault if the
2013 type doesn't have a size.
2014
5ef6b660 20152014-06-20 Marek Polacek <polacek@redhat.com>
2016
2017 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2018 (ubsan_walk_array_refs_r): New function.
2019 (c_genericize): Instrument array bounds.
2020 * c-ubsan.c: Include "internal-fn.h".
2021 (ubsan_instrument_division): Mark instrumented arrays as having
2022 side effects. Adjust ubsan_type_descriptor call.
2023 (ubsan_instrument_shift): Likewise.
2024 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2025 (ubsan_instrument_bounds): New function.
2026 (ubsan_array_ref_instrumented_p): New function.
2027 (ubsan_maybe_instrument_array_ref): New function.
2028 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2029 (ubsan_array_ref_instrumented_p): Declare.
2030 (ubsan_maybe_instrument_array_ref): Declare.
2031
20322014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 2033
2034 PR lto/61123
2035 * c.opt (fshort-enums): Add to LTO.
2036 * c.opt (fshort-wchar): Likewise.
2037
78438f31 20382014-06-16 Marek Polacek <polacek@redhat.com>
2039
2040 PR c/60439
2041 * c.opt (Wswitch-bool): Add Var.
2042
5fddcf34 20432014-06-12 Jakub Jelinek <jakub@redhat.com>
2044
2045 PR middle-end/61486
2046 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2047 #pragma omp target teams or
2048 #pragma omp {,target }teams distribute simd.
2049
74b777e5 20502014-06-12 Jason Merrill <jason@redhat.com>
2051
2052 * c.opt (Wabi=, fabi-compat-version): New.
2053 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2054 (c_common_post_options): Handle flag_abi_compat_version default.
2055 Disallow -fabi-compat-version=1.
2056 * c-common.h (abi_version_crosses): New.
2057
738a6bda 20582014-06-11 Jan Hubicka <hubicka@ucw.cz>
2059
1f78217c 2060 * c-common.c (handle_section_attribute): Update handling for
738a6bda 2061 section names that are no longer trees.
2062
cf5f881f 20632014-06-10 Jakub Jelinek <jakub@redhat.com>
2064
2065 PR fortran/60928
2066 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2067 (omp_pragmas): ... back here.
2068
32dc1512 20692014-06-05 Marek Polacek <polacek@redhat.com>
2070
2071 PR c/49706
2072 * c-common.c (warn_logical_not_parentheses): New function.
2073 * c-common.h (warn_logical_not_parentheses): Declare.
2074 * c.opt (Wlogical-not-parentheses): New option.
2075
f61a9bc2 20762014-06-04 Marek Polacek <polacek@redhat.com>
2077
2078 PR c/30020
2079 * c-common.c (check_case_bounds): Add location parameter.
2080 Use it.
2081 (c_add_case_label): Pass loc to check_case_bounds.
2082
c69ec07d 20832014-06-03 Marek Polacek <polacek@redhat.com>
2084
2085 PR c/60439
2086 * c.opt (Wswitch-bool): New option.
2087
3c77ca67 20882014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2089
68a2c870 2090 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2091 Remove prototypes.
2092 (record_types_used_by_current_var_decl): Move prototype to where
2093 it belongs.
2094
3c77ca67 2095 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2096 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2097 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2098
3ab4693e 20992014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2100
2101 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2102 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2103 void_zero_node.
2104 * c-pretty-print.c (pp_c_void_constant): New function.
2105 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2106 (c_pretty_printer::expression): Handle VOID_CST.
2107 * cilk.c (extract_free_variables): Likewise.
2108 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2109 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2110
25a27413 21112014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2112
2113 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2114 * c-pragma.c (push_alignment): Adjust.
2115 (handle_pragma_push_options): Likewise.
2116
3e5a8b00 21172014-05-09 Marek Polacek <polacek@redhat.com>
2118
2119 PR c/50459
2120 * c-common.c (check_user_alignment): Return -1 if alignment is error
2121 node.
2122 (handle_aligned_attribute): Don't call default_conversion on
2123 FUNCTION_DECLs.
2124 (handle_vector_size_attribute): Likewise.
2125 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2126 (handle_sentinel_attribute): Call default_conversion and allow even
2127 integral types as an argument.
2128
c2c4ae8d 21292014-05-08 Marek Polacek <polacek@redhat.com>
2130
2131 PR c/61053
2132 * c-common.c (min_align_of_type): New function factored out from...
2133 (c_sizeof_or_alignof_type): ...here.
2134 * c-common.h (min_align_of_type): Declare.
2135
2026249a 21362014-05-08 Marek Polacek <polacek@redhat.com>
2137
2138 PR c/61077
2139 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2140 parameter type of main.
2141
33c8dcfe 21422014-05-07 DJ Delorie <dj@redhat.com>
2143
2144 * c-cppbuiltin.c (print_bits_of_hex): New.
2145 (builtin_define_type_minmax): Print values using hex so as not to
2146 require a pre-computed list of string values.
2147
960d5a55 21482014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2149 Mike Stump <mikestump@comcast.net>
2150 Richard Sandiford <rdsandiford@googlemail.com>
2151
2152 * c-ada-spec.c: Include wide-int.h.
2153 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2154 (dump_generic_ada_node): Use wide-int interfaces.
2155 * c-common.c: Include wide-int-print.h.
2156 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2157 (pointer_int_sum): Use wide-int interfaces.
2158 (c_common_nodes_and_builtins): Use make_int_cst.
2159 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2160 (handle_alloc_size_attribute): Use wide-int interfaces.
2161 (get_nonnull_operand): Likewise.
2162 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2163 * c-lex.c: Include wide-int.h.
2164 (narrowest_unsigned_type): Take a widest_int rather than two
2165 HOST_WIDE_INTs.
2166 (narrowest_signed_type): Likewise.
2167 (interpret_integer): Update accordingly. Use wide-int interfaces.
2168 (lex_charconst): Use wide-int interfaces.
2169 * c-pretty-print.c: Include wide-int.h.
2170 (pp_c_integer_constant): Use wide-int interfaces.
2171 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2172 INT_CST_LT_UNSIGNED.
2173
bbb88b31 21742014-05-06 Richard Biener <rguenther@suse.de>
2175
2176 * c-opts.c (c_common_post_options): For -freestanding,
2177 -fno-hosted and -fno-builtin disable pattern recognition
2178 if not enabled explicitely.
2179
022d4718 21802014-05-02 Marek Polacek <polacek@redhat.com>
2181
2182 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2183
e4ab2ef3 21842014-05-01 Marek Polacek <polacek@redhat.com>
2185
2186 PR c/43245
2187 * c.opt (Wdiscarded-qualifiers): Add.
2188
52cc0072 21892014-04-30 Marek Polacek <polacek@redhat.com>
2190
2191 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2192 INT_MIN / -1 sanitization only for integer types.
2193
4a026b48 21942014-04-25 Marek Polacek <polacek@redhat.com>
2195
2196 PR c/18079
2197 * c-common.c (handle_noinline_attribute): Warn if the attribute
2198 conflicts with always_inline attribute.
2199 (handle_always_inline_attribute): Warn if the attribute conflicts
2200 with noinline attribute.
2201
90e645fa 22022014-04-25 Marek Polacek <polacek@redhat.com>
2203
2204 PR c/60156
2205 * c-common.c (check_main_parameter_types): Warn about variadic main.
2206
db103ea4 22072014-04-24 Mike Stump <mikestump@comcast.net>
2208
2209 * c.opt (Wshadow-ivar): Default to on.
2210
06511efd 22112014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2212
2213 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2214
cdf34fca 22152014-04-23 Marek Polacek <polacek@redhat.com>
2216
2217 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2218
7311d7c1 22192014-04-22 Jakub Jelinek <jakub@redhat.com>
2220
2221 PR sanitizer/60275
2222 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2223 if flag_sanitize_undefined_trap_on_error.
2224 (ubsan_instrument_division, ubsan_instrument_shift,
2225 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2226 if !flag_sanitize_recover.
2227
c1917557 22282014-04-22 Marc Glisse <marc.glisse@inria.fr>
2229
2230 PR libstdc++/43622
2231 * c-common.c (registered_builtin_types): Make non-static.
2232 * c-common.h (registered_builtin_types): Declare.
2233
b2ca6510 22342014-04-14 Richard Biener <rguenther@suse.de>
2235 Marc Glisse <marc.glisse@inria.fr>
2236
2237 PR c/60819
2238 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2239 apply may-alias the scalar pointer type when applicable.
2240
855372a3 22412014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2242
2243 PR middle-end/60467
2244 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2245 as possible argument for Cilk_spawn.
2246
4012a986 22472014-04-11 Tobias Burnus <burnus@net-b.de>
2248
2249 PR c/60194
2250 * c.opt (Wformat-signedness): Add
2251 * c-format.c(check_format_types): Use it.
2252
0d284870 22532014-04-11 Jason Merrill <jason@redhat.com>
2254
2255 PR c++/57926
2256 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2257 default_conversion for an array argument.
2258
a34c1231 22592014-04-08 Marek Polacek <polacek@redhat.com>
2260
2261 PR sanitizer/60745
2262 * c-ubsan.c: Include asan.h.
2263 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2264
a35a8e18 22652014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2266
2267 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2268
b23e42b6 22692014-04-02 Marek Polacek <polacek@redhat.com>
2270
2271 * c-common.h (c_expand_expr): Remove declaration.
2272
5a672e62 22732014-03-28 Jakub Jelinek <jakub@redhat.com>
2274
2275 PR c++/60689
2276 * c-common.c (add_atomic_size_parameter): When creating new
2277 params vector, push the size argument first.
2278
d4d068c0 22792014-03-26 Jakub Jelinek <jakub@redhat.com>
2280
2281 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2282 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2283 ubsan_create_data callers.
2284
446bdf5f 22852014-03-22 Jakub Jelinek <jakub@redhat.com>
2286
2287 PR debug/60603
2288 * c-opts.c (c_finish_options): Restore cb_file_change call to
2289 <built-in>.
2290
8895f0a3 22912014-03-13 Jakub Jelinek <jakub@redhat.com>
2292
2293 PR middle-end/36282
2294 * c-pragma.c (apply_pragma_weak): Only look at
2295 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2296 DECL_ASSEMBLER_NAME_SET_P (decl).
2297 (maybe_apply_pending_pragma_weaks): Exit early if
2298 vec_safe_is_empty (pending_weaks) rather than only when
2299 !pending_weaks.
2300 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2301 set assembler name back to NULL afterwards.
2302
7a5da2cd 23032014-03-11 Jason Merrill <jason@redhat.com>
2304
2305 * c.opt: Add -std=gnu++14.
2306
95093889 23072014-03-11 Ian Bolton <ian.bolton@arm.com>
2308
2309 * c-opts.c (c_common_post_options): Don't override
2310 -ffp-contract=fast if unsafe-math-optimizations is on.
2311
c9a24b37 23122014-03-08 Paulo Matos <paulo@matos-sorge.com>
2313
2314 * c.opt: Enable LTO FE for fshort-double.
2315
3f6dba6e 23162014-03-07 Jason Merrill <jason@redhat.com>
2317
2318 * c.opt: Add -std=c++14.
2319
3bfdc94f 23202014-03-06 Marek Polacek <polacek@redhat.com>
2321
2322 PR c/60197
2323 * cilk.c (contains_cilk_spawn_stmt): New function.
2324 (contains_cilk_spawn_stmt_walker): Likewise.
2325 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2326 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2327
8b3a6a4c 23282014-03-03 Jakub Jelinek <jakub@redhat.com>
2329
2330 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2331 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2332 even when flag_preprocess_only.
2333
734ec290 23342014-02-26 Jason Merrill <jason@redhat.com>
2335
2336 PR c++/59231
2337 PR c++/11586
2338 * c-common.c (shorten_compare): Don't check
2339 c_inhibit_evaluation_warnings.
2340
81aec8b8 23412014-02-19 Jakub Jelinek <jakub@redhat.com>
2342
d1081017 2343 PR c/37743
2344 * c-common.c (c_common_nodes_and_builtins): When initializing
2345 c_uint{16,32,64}_type_node, also set corresponding
2346 uint{16,32,64}_type_node to the same value.
2347
81aec8b8 2348 PR c++/60267
2349 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2350 for PRAGMA_IVDEP if flag_preprocess_only.
2351
312243bb 23522014-02-12 Jakub Jelinek <jakub@redhat.com>
2353
2354 PR c/60101
2355 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2356 if false, add ADD itself, rather than vice versa.
2357 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2358 copy. For SAVE_EXPR, only call merge_tlist once.
2359
237e78b1 23602014-02-08 Jakub Jelinek <jakub@redhat.com>
2361
2362 PR middle-end/60092
2363 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2364 and tree_to_uhwi.
2365 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2366 functions.
2367 (c_common_attribute_table): Add alloc_align and assume_aligned
2368 attributes.
2369
76fdceeb 23702014-02-06 Marek Polacek <polacek@redhat.com>
2371
2372 PR c/60087
2373 * c-common.c (warn_for_sign_compare): Call warning_at with location
2374 instead of warning.
2375
4a4dea42 23762014-02-05 Marek Polacek <polacek@redhat.com>
2377
2378 PR c/53123
2379 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2380 statement.
2381
ec704957 23822014-02-04 Marek Polacek <polacek@redhat.com>
2383
2384 PR c/60036
2385 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2386 SAVE_EXPR.
2387
caf62483 23882014-02-03 Marc Glisse <marc.glisse@inria.fr>
2389
2390 PR c++/53017
2391 PR c++/59211
2392 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2393 handle_vector_size_attribute, handle_nonnull_attribute): Call
2394 default_conversion on the attribute argument.
2395 (handle_nonnull_attribute): Increment the argument number.
2396
ec761d5a 23972014-01-31 Marek Polacek <polacek@redhat.com>
2398
2399 PR c/59963
2400 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2401 build_function_call_vec.
2402 (resolve_overloaded_builtin): Likewise.
2403 * c-common.h (build_function_call_vec): Adjust declaration.
2404
22a75734 24052014-01-30 Marek Polacek <polacek@redhat.com>
2406
2407 PR c/59940
2408 * c-common.h (unsafe_conversion_p): Adjust declaration.
2409 (warnings_for_convert_and_check): Likewise.
2410 (convert_and_check): Likewise.
2411 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2412 expansion_point_location_if_in_system_header on it.
2413 (warnings_for_convert_and_check): Add location parameter. Call
2414 expansion_point_location_if_in_system_header on it. Use it.
2415 (convert_and_check): Add location parameter. Use it.
2416 (conversion_warning): Likewise.
2417 (c_add_case_label): Adjust convert_and_check calls.
2418 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2419
a89e6c15 24202014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2421
2422 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2423 flag_cilkplus.
2424 * c-pragma.c (init_pragma): Likewise.
2425 * c.opt: Likewise.
2426
2623625f 24272014-01-23 Marek Polacek <polacek@redhat.com>
2428
2429 PR c/59846
2430 * c-common.c (shorten_compare): Add location_t parameter.
2431 * c-common.h (shorten_binary_op): Adjust declaration.
2432
46da3601 24332014-01-23 Marek Polacek <polacek@redhat.com>
2434
2435 PR c/58346
2436 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2437 * c-common.h: Declare it.
2438
c9743c6a 24392014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2440
2441 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2442 * c-ada-spec.c (dump_ads): Likewise.
2443 (cpp_check): Likewise.
2444 (dump_ada_specs): Likewise.
2445
24462014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2447
2448 PR c++/49718
2449 * c-common.c (handle_no_instrument_function_attribute): Allow
2450 no_instrument_function attribute in class member
2451 definition/declaration.
2452
1248c663 24532014-01-15 Jakub Jelinek <jakub@redhat.com>
2454
2455 PR c/58943
2456 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2457 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2458 being COMPOUND_EXPR.
2459 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2460 operand a SAVE_EXPR and second MODIFY_EXPR.
2461
6e5c480b 24622014-01-09 Jakub Jelinek <jakub@redhat.com>
2463
2464 PR target/58115
2465 * c-pch.c (c_common_write_pch): Call
2466 prepare_target_option_nodes_for_pch.
2467
3aea1f79 24682014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2469
2470 Update copyright years
2471
e4f22041 24722014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2473
2474 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2475 the copyright notice.
2476
7fb0fe24 24772013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2478
2479 * c-ada-spec.c (print_constructor): New function.
2480 (print_destructor): Retrieve the origin of the destructor.
2481 (print_ada_declaration): Revamp handling of constructors/destructors.
2482
468088ac 24832013-12-23 Stuart Hastings <stuart@apple.com>
2484 Bill Maddox <maddox@google.com>
2485 Jason Merrill <jason@redhat.com>
2486
2487 * c.opt: Add -fdeclone-ctor-dtor.
2488 * c-opts.c (c_common_post_options): Default to on iff -Os.
2489
74acc703 24902013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2491
2492 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2493 attribute.
2494 * c-pragma.h (enum pragma_cilk_clause): Remove.
2495 (enum pragma_omp_clause): Added the following fields:
2496 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2497 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2498 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2499 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2500 PRAGMA_CILK_CLAUSE_UNIFORM.
2501
8204c077 2502
433e804e 25032013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2504
2505 * cilk.c (cilk_outline): Made this function non-static.
2506 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2507 (create_cilk_wrapper): Added a new parameter: a function pointer.
2508 (c_install_body_w_frame_cleanup): Remove
2509 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2510 * c-common.h (cilk_outline): New prototype.
2511 (gimplify_cilk_spawn): Removed two parameters.
2512 (cilk_install_body_with_frame_cleanup): New prototype.
2513 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2514 CILK_SPAWN_STMT case.
2515
5bcc7e60 25162013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2517
e66325ea 2518 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2519
5bcc7e60 2520 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2521 (int_array_type_node): Remove.
2522 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2523
0b26ec77 25242013-12-05 Marek Polacek <polacek@redhat.com>
2525
2526 PR c/52023
2527 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2528 [ADJUST_FIELD_ALIGN].
2529
a179a7dc 25302013-12-04 Joseph Myers <joseph@codesourcery.com>
2531
2532 PR c/52023
2533 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2534 and check field alignment if set.
2535 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2536 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2537
8204c077 25382013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 2539 Marek Polacek <polacek@redhat.com>
2540
2541 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2542 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2543
648fd348 25442013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2545
2546 PR c/59309
2547 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2548 arguments.
2549
253e1cae 25502013-11-29 Jakub Jelinek <jakub@redhat.com>
2551
2552 PR c/59280
2553 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2554 goto invalid. If it is error_mark_node, don't issue further
2555 diagnostics.
2556
3e398f5b 25572013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2558
2559 * c.opt (Wopenmp-simd): New.
2560
020bc656 25612013-11-22 Jakub Jelinek <jakub@redhat.com>
2562
2563 * c-ubsan.h (ubsan_instrument_return): New prototype.
2564 * c-ubsan.c (ubsan_instrument_return): New function.
2565
bc61cadb 25662013-11-22 Andrew MacLeod <amacleod@redhat.com>
2567
2568 * c-common.c: Add required include files from gimple.h.
2569 * c-gimplify.c: Likewise
2570 * cilk.c: Likewise
2571
3df42822 25722013-11-22 David Malcolm <dmalcolm@redhat.com>
2573
2574 * c-common.c (unsafe_conversion_p): Remove use of
2575 EXPR_LOC_OR_HERE macro.
2576 (conversion_warning): Likewise.
2577 (warnings_for_convert_and_check): Likewise.
2578 (warn_for_collisions_1): Likewise.
2579 (shorten_compare): Likewise, and remove use of in_system_header
2580 macro, using the location from the former.
2581 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2582 (cb_def_pragma): Remove use of in_system_header macro.
2583 (lex_string): Likewise.
2584 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2585
8c53c46c 25862013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2587 Mike Stump <mikestump@comcast.net>
2588 Richard Sandiford <rdsandiford@googlemail.com>
2589
2590 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2591 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2592 tree_fits_shwi_p or tree_fits_uhwi_p.
2593 (dump_generic_ada_node): Likewise.
2594 * c-format.c (check_format_arg): Likewise.
2595 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2596
5200ef07 25972013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2598
2599 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2600
ca9d7d74 26012013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2602
2603 PR c/53001
2604 * c-common.c (unsafe_conversion_p): Make this function
2605 return an enumeration with more detail.
2606 (conversion_warning): Use the new return type of
2607 unsafe_conversion_p to separately warn either about conversions
2608 that lower floating point number precision or about the other
2609 kinds of conversions.
2610 * c-common.h (enum conversion_safety): New enumeration.
2611 (unsafe_conversion_p): switching return type to
2612 conversion_safety enumeration.
2613 * c.opt: Adding new warning -Wfloat-conversion and
2614 enabling it with -Wconversion.
2615
0391a567 26162013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2617
2618 * c-opts.c: Include plugin.h.
2619 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2620
19b928d9 26212013-11-19 Marek Polacek <polacek@redhat.com>
2622
2623 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2624 call.
2625 (ubsan_instrument_shift): Likewise.
2626 (ubsan_instrument_vla): Likewise.
2627
aa59f000 26282013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2629
2630 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2631 cast to unsigned type.
2632
08f817b3 26332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2634
2635 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2636 tree_low_cst.
2637 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2638 rather than tree_low_cst.
2639
6a0712d4 26402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2641
2642 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2643 tree_to_uhwi throughout.
2644
fcb97e84 26452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2646
2647 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2648 tree_low_cst (..., 0) with tree_to_shwi throughout.
2649
cd4547bf 26502013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2651
2652 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2653 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2654
35ec552a 26552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2656
2657 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2658 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2659
f2697631 26602013-11-15 Aldy Hernandez <aldyh@redhat.com>
2661
2662 * c-cilkplus.c: New file.
2663 * c-common.c (readonly_error): Add location argument.
2664 * c-common.h (readonly_error): Same.
2665 (c_finish_cilk_clauses): Protoize.
2666 (c_check_cilk_loop): Same.
2667 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2668 Do not fail on error_mark_node.
2669 Abstract increment canonicalization to here...
2670 (c_omp_for_incr_canonicalize_ptr): New.
2671 c-pragma.c (init_pragma): Register "simd" pragma.
2672 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2673 (enum pragma_cilk_clause): New.
2674
0aa8c34e 26752013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2676
2677 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2678 wchar_type and host_integerp checks.
2679
e795d6e1 26802013-11-14 Andrew MacLeod <amacleod@redhat.com>
2681
2682 * c-common.c: Likewise.
2683 * c-gimplify.c: Likewise.
2684 * cilk.c: Likewise.
2685
9ed99284 26862013-11-14 Diego Novillo <dnovillo@google.com>
2687
2688 * c-common.c: Include fold-const.h.
2689 Include stor-layout.h.
2690 Include calls.h.
2691 Include stringpool.h.
2692 Include attribs.h.
2693 Include varasm.h.
2694 Include trans-mem.h.
2695 * c-cppbuiltin.c: Include stor-layout.h.
2696 Include stringpool.h.
2697 * c-format.c: Include stringpool.h.
2698 * c-lex.c: Include stringpool.h.
2699 Include stor-layout.h.
2700 * c-pragma.c: Include stringpool.h.
2701 Include attribs.h.
2702 Include varasm.h.
2703 Include gcc-symtab.h.
2704 * c-pretty-print.c: Include stor-layout.h.
2705 Include attribs.h.
2706 * cilk.c: Include stringpool.h.
2707 Include calls.h.
2708
4fba5eb9 27092013-11-13 Joseph Myers <joseph@codesourcery.com>
2710
2711 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2712 * c-common.c (c_common_reswords): Add __auto_type.
2713 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2714
a8783bee 27152013-11-12 Andrew MacLeod <amacleod@redhat.com>
2716
e795d6e1 2717 * c-common.c: Include gimplify.h.
2718 * c-gimplify.c: Likewise.
2719 * cilk.c: Likewise.
2720 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2721 * c-ubsan.c: Don't include gimple.h.
a8783bee 2722
d184e0c0 27232013-11-12 Joseph Myers <joseph@codesourcery.com>
2724
2725 * c-common.c (c_common_reswords): Add _Thread_local.
2726
a056826c 27272013-11-09 Joseph Myers <joseph@codesourcery.com>
2728
2729 * c-common.c (atomic_size_supported_p): New function.
2730 (resolve_overloaded_atomic_exchange)
2731 (resolve_overloaded_atomic_compare_exchange)
2732 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2733 Use it instead of comparing size with a local list of sizes.
2734
b560fabd 27352013-11-07 Andrew MacLeod <amacleod@redhat.com>
2736 Joseph Myers <joseph@codesourcery.com>
2737
2738 * c-common.h (enum rid): Add RID_ATOMIC.
2739 * c-common.c (c_common_reswords): Add _Atomic.
2740 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2741 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2742 * c-format.c (check_format_types): Check for extra _Atomic
2743 qualifiers in format argument.
2744 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2745 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2746
5b1a0622 27472013-11-06 Tobias Burnus <burnus@net-b.de>
2748
2749 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2750
4f8f4cb8 27512013-11-06 Joseph Myers <joseph@codesourcery.com>
2752
2753 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2754 standards modes.
2755 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2756 to mean lack of IEEE 754 support.
2757
9148bda3 27582013-11-05 Tobias Burnus <burnus@net-b.de>
2759
2760 * c.opt (-Wdate-time): New option
2761 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2762
08c5f4d5 27632013-11-05 Joseph Myers <joseph@codesourcery.com>
2764
2765 * c-cppbuiltin.c (cpp_iec_559_value): Test
2766 flag_excess_precision_cmdline not flag_excess_precision.
2767
c630ef93 27682013-11-05 Tobias Burnus <burnus@net-b.de>
2769
2770 * c.opt (fopenmp-simd): New option.
2771 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2772 (omp_pragmas): ... this new struct.
2773 (c_pp_lookup_pragma): Also walk omp_pragmas.
2774 (init_pragma): Init pragmas for -fopenmp-simd.
2775
7354a89b 27762013-11-04 Marek Polacek <polacek@redhat.com>
2777
2778 PR c++/58979
2779 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2780
4c866b9b 27812013-11-04 Joseph Myers <joseph@codesourcery.com>
2782
2783 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2784 New functions.
2785 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2786
e2a6a333 27872013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2788
2789 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2790 (dump_ada_specs): Adjust prototype of second callback.
2791 * c-ada-spec.c (cpp_check): New global variable.
2792 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2793 (print_generic_ada_decl): Likewise.
2794 (has_static_fields): Change return type to bool and add guard.
2795 (has_nontrivial_methods): New predicate.
2796 (is_tagged_type): Change return type to bool.
2797 (separate_class_package): Call has_nontrivial_methods.
2798 (pp_ada_tree_identifier): Minor tweaks.
2799 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2800 (dump_ada_array_domains): Likewise.
2801 (dump_ada_array_type): Likewise.
2802 (dump_template_types): Remove cpp_check parameter and do not pass it to
2803 dump_generic_ada_node.
2804 (dump_ada_template): Likewise.
2805 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2806 recursively.
2807 (print_ada_methods): Change return type to integer. Remove cpp_check
2808 parameter and do not pass it down.
2809 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2810 dump_generic_ada_node.
2811 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2812 accessing methods.
2813 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2814 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2815 value of print_ada_methods.
2816 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2817 Set cpp_check to it before invoking dump_ada_nodes.
2818 (dump_ada_specs): Likewise.
2819
2c4c3477 28202013-11-03 Marek Polacek <polacek@redhat.com>
2821
2822 * c-ubsan.c: Don't include hash-table.h.
2823 (ubsan_instrument_vla): New function.
2824 * c-ubsan.h: Declare it.
2825
452659af 28262013-10-31 David Malcolm <dmalcolm@redhat.com>
2827
2828 Automated part of renaming of symtab_node_base to symtab_node.
2829
2830 Patch autogenerated by rename_symtab.py from
2831 https://github.com/davidmalcolm/gcc-refactoring-scripts
2832 revision 58bb219cc090b2f4516a9297d868c245495ee622
2833
2834 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2835 symtab_node_base to symtab_node.
2836
4d6f7dd4 28372013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2838
2839 Implement C++14 digit separators.
2840 * c-lex.c (interpret_float): Remove digit separators from scratch string
2841 before building real literal.
2842
06cfe805 28432013-10-30 Jakub Jelinek <jakub@redhat.com>
2844
2845 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2846
d037099f 28472013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2848
2849 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2850 fields.
2851 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2852 enabled.
2853 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2854 (insert_cilk_frame): New prototype.
2855 (cilk_init_builtins): Likewise.
2856 (gimplify_cilk_spawn): Likewise.
2857 (c_cilk_install_body_w_frame_cleanup): Likewise.
2858 (cilk_detect_spawn_and_unwrap): Likewise.
2859 (cilk_set_spawn_marker): Likewise.
2860 (build_cilk_sync): Likewise.
2861 (build_cilk_spawn): Likewise.
2862 * cilk.c: New file.
2863
02774f2d 28642013-10-29 David Malcolm <dmalcolm@redhat.com>
2865
2866 Patch autogenerated by refactor_symtab.py from
2867 https://github.com/davidmalcolm/gcc-refactoring-scripts
2868 revision 58bb219cc090b2f4516a9297d868c245495ee622
2869
2870 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2871 to a true class hierarchy.
2872 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2873
31fe10fd 28742013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2875
2876 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2877
b1c06ff9 28782013-10-26 Jeff Law <law@redhat.com>
2879
1f78217c 2880 * c-common.c (c_define_builtins): Remove mudflap support.
2881 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 2882
48a972c8 28832013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2884
2885 PR other/33426
2886 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2887 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2888
546a04b1 28892013-10-23 Jason Merrill <jason@redhat.com>
2890
2891 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2892
bc7bff74 28932013-10-11 Jakub Jelinek <jakub@redhat.com>
2894
d62c713e 2895 * c-common.h (omp_clause_mask::operator !=): New method.
2896 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2897 instead of if (mask & something) tests everywhere.
2898
bc7bff74 2899 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2900 201307 instead of 201107.
2901 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2902 (c_common_attribute_table): Add "omp declare target" and
2903 "omp declare simd" attributes.
2904 (handle_omp_declare_target_attribute,
2905 handle_omp_declare_simd_attribute): New functions.
2906 * c-omp.c: Include c-pragma.h.
2907 (c_finish_omp_taskgroup): New function.
2908 (c_finish_omp_atomic): Add swapped argument, if true,
2909 build the operation first with rhs, lhs arguments and use NOP_EXPR
2910 build_modify_expr.
2911 (c_finish_omp_for): Add code argument, pass it down to make_code.
2912 (c_omp_split_clauses): New function.
2913 (c_split_parallel_clauses): Removed.
2914 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2915 c_omp_declare_simd_clauses_to_decls): New functions.
2916 * c-common.h (omp_clause_mask): New type.
2917 (OMP_CLAUSE_MASK_1): Define.
2918 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2919 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2920 omp_clause_mask::operator |, omp_clause_mask::operator &,
2921 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2922 omp_clause_mask::operator ==): New methods.
2923 (enum c_omp_clause_split): New.
2924 (c_finish_omp_taskgroup): New prototype.
2925 (c_finish_omp_atomic): Add swapped argument.
2926 (c_finish_omp_for): Add code argument.
2927 (c_omp_split_clauses): New prototype.
2928 (c_split_parallel_clauses): Removed.
2929 (c_omp_declare_simd_clauses_to_numbers,
2930 c_omp_declare_simd_clauses_to_decls): New prototypes.
2931 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2932 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2933 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2934 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2935 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2936 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2937 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2938 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2939 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2940 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2941 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2942 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2943 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2944 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2945 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2946 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2947 PRAGMA_OMP_CLAUSE_UNIFORM.
2948
d7dcba40 29492013-10-09 Marc Glisse <marc.glisse@inria.fr>
2950
2951 PR tree-optimization/20318
2952 * c-common.c (handle_returns_nonnull_attribute): New function.
2953 (c_common_attribute_table): Add returns_nonnull.
2954
0b7282f1 29552013-10-03 Marc Glisse <marc.glisse@inria.fr>
2956
2957 PR c++/19476
2958 * c.opt (fcheck-new): Move to common.opt.
2959
51f553af 29602013-09-25 Marek Polacek <polacek@redhat.com>
2961 Jakub Jelinek <jakub@redhat.com>
2962
2963 PR sanitizer/58413
2964 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2965 an expression if we can prove it is correct.
2966 (ubsan_instrument_division): Likewise. Remove unnecessary
2967 check.
2968
05f893e1 29692013-09-18 Marek Polacek <polacek@redhat.com>
2970
2971 PR sanitizer/58411
2972 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2973 Declare it.
2974 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2975
236ce1d1 29762013-09-14 Iain Sandoe <iain@codesourcery.com>
2977
2978 PR target/48094
2979 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2980 fobjc-gc, freplace-objc-classes): Accept for LTO.
2981
f9f68d35 29822013-09-13 Jacek Caban <jacek@codeweavers.com>
2983
2984 * c-target.def: New hook
2985
ba2f764e 29862013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2987
2988 PR c++/43452
2989 * c.opt (Wdelete-incomplete): Add.
2990
73437615 29912013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2992
2993 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2994 (vector_types_compatible_elements_p): New function.
2995 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2996 declaration.
2997 (vector_types_compatible_elements_p): Declare.
2998
95af4c75 29992013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3000
3001 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3002 a virtual member function.
3003 (pp_simple_type_specifier): Remove.
3004 (pp_c_type_specifier): Likewise.
3005 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3006 Rename from pp_c_type_specifier. Adjust.
3007 (c_pretty_printer::c_pretty_printer): Do not assign to
3008 simple_type_specifier.
3009
eaab24b9 30102013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3011
3012 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3013 member function.
3014 (c_pretty_printer::storage_class_specifier): Likewise.
3015 (c_pretty_printer::initializer): Likewise.
3016 (pp_declaration): Remove.
3017 (pp_declaration_specifiers): Likewise.
3018 (pp_abstract_declarator): Likewise.
3019 (pp_declarator): Likewise.
3020 (pp_type_id): Likewise.
3021 (pp_statement): Likewise.
3022 (pp_constant): Likewise.
3023 (pp_id_expression): Likewise.
3024 (pp_primary_expression): Likewise.
3025 (pp_unary_expression): Likewise.
3026 (pp_multiplicative_expression): Likewise.
3027 (pp_conditional_expression): Likewise.
3028 (pp_assignment_expression): Likewise.
3029 (pp_expression): Likewise.
3030 (pp_c_type_id): Likewise.
3031 (pp_c_storage_class_specifier): Likewise.
3032 * c-pretty-print.c (pp_c_type_cast): Tidy.
3033 (pp_c_pointer): Likewise.
3034 (pp_c_type_specifier): Likewise.
3035 (pp_c_parameter_type_list): Likewise.
3036 (pp_c_function_definition): Likewise.
3037 (pp_c_init_declarator): Likewise.
3038 (pp_c_initializer_list): Likewise.
3039 (pp_c_constructor_elts): Likewise.
3040 (c_pretty_printer::direct_abstract_declarator): Likewise.
3041 (c_pretty_printer::declaration_specifiers): Likewise.
3042 (c_pretty_printer::primary_expression): Likewise.
3043 (c_pretty_printer::postfix_expression): Likewise.
3044 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3045 (c_pretty_printer::storage_class_specifier): Rename from
3046 pp_c_storage_class_specifier.
3047 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3048 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3049 storage_class_specifier, initializer, offset_list, flags.
3050
9e46467d 30512013-08-30 Marek Polacek <polacek@redhat.com>
3052
3053 * c-ubsan.c: New file.
3054 * c-ubsan.h: New file.
3055
36a8d9b9 30562013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3057
3058 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3059 member function.
3060 (c_pretty_printer::declaration_specifiers): Likewise.
3061 (c_pretty_printer::declarator): Likewise.
3062 (c_pretty_printer::abstract_declarator): Likewise.
3063 (c_pretty_printer::direct_abstract_declarator): Likewise.
3064 (c_pretty_printer::direct_declarator): Likewise.
3065 (c_pretty_printer::function_specifier): Likewise.
3066 (pp_declaration): Adjust.
3067 (pp_declaration_specifiers): Likewise.
3068 (pp_abstract_declarator): Likewise.
3069 (pp_direct_declarator): Likewise.
3070 (pp_function_specifier): Likewise.
3071 (pp_direct_abstract_declarator): Remove as unused.
3072 (pp_c_declaration): Remove.
3073 (pp_c_declaration_specifiers): Likewise.
3074 (pp_c_declarator): Likewise.
3075 (pp_c_direct_declarator): Likewise.
3076 (pp_c_function_specifier): Likewise.
3077 (pp_c_direct_abstract_declarator): Likewise.
3078 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3079 from pp_c_abstract_declarator. Adjust.
3080 (c_pretty_printer::direct_abstract_declarator): Rename from
3081 pp_c_direct_abstract_declarator. Adjust.
3082 (c_pretty_printer::function_specifier): Rename from
3083 pp_c_function_specifier. Adjust.
3084 (c_pretty_printer::declaration_specifiers): Rename from
3085 pp_c_declaration_specifiers. Adjust.
3086 (c_pretty_printer::direct_declarator): Rename from
3087 pp_c_direct_declarator. Adjust.
3088 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3089 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3090 (c_pretty_printer::c_pretty_printer): Do not assign to
3091 declaration, declaration_specifiers, declarator,
3092 direct_declarator, direct_abstract_declarator, function_specifier.
3093
30635c2e 30942013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3095
3096 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3097 virtual member function.
3098 (c_pretty_printer::multiplicative_expression): Likewise.
3099 (c_pretty_printer::conditional_expression): Likewise.
3100 (c_pretty_printer::assignment_expression): Likewise.
3101 (c_pretty_printer::expression): Likewise.
3102 (pp_unary_expression): Adjust.
3103 (pp_multiplicative_expression): Likewise.
3104 (pp_assignment_expression): Likewise.
3105 (pp_conditional_expression): Likewise.
3106 (pp_expression): Likewise.
3107 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3108 from pp_c_unary_expression. Adjust.
3109 (c_pretty_printer::multiplicative_expression): Rename from
3110 pp_c_multiplicative_expression. Adjust.
3111 (c_pretty_printer::conditional_expression): Rename from
3112 pp_c_conditional_expression. Adjust.
3113 (c_pretty_printer::assignment_expression): Rename from
3114 pp_c_assignment_expression. Adjust.
3115 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3116 (c_pretty_printer::c_pretty_printer): Do not assign to
3117 unary_expression, multiplicative_expression,
3118 conditional_expression, expression.
3119
027d08ed 31202013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3121
3122 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3123 virtual member function.
3124 (pp_postfix_expression): Adjust.
3125 (pp_c_postfix_expression): Remove.
3126 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3127 from pp_c_postfix_expression. Adjust.
3128 (c_pretty_printer::c_pretty_printer): Do not assign to
3129 postfix_expression.
3130
f873303a 31312013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3132
3133 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3134 virtua member function.
3135 (pp_primary_expression): Adjust.
3136 (pp_c_primary_expression): Remove.
3137 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3138 from pp_c_primary_expression. Adjust.
3139 (pp_c_initializer_list): Use pp_primary_expression.
3140 (c_pretty_printer::c_pretty_printer): Do not assign to
3141 primary_expression.
3142
08e3e481 31432013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3144
3145 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3146 * c-pretty-print.c (M_): Remove.
3147 (c_pretty_printer::translate_string): Define.
3148 (pp_c_type_specifier): Use it.
3149 (pp_c_primary_expression): Likewise.
3150 (pp_c_expression): Likewise.
3151
1fc4a87f 31522013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3153
3154 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3155 virtual function.
3156 (pp_c_id_expression): Remove.
3157 (pp_id_expression): Adjust.
3158 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3159 pp_c_id_expression. Adjust.
3160 (pp_c_postfix_expression): Use pp_id_expression.
3161 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3162
a6cb161b 31632013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3164
3165 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3166 member function.
3167 (pp_constant): Adjust.
3168 (pp_c_constant): Remove.
3169 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3170 pp_c_constant. Adjust.
3171 (pp_c_constant)
3172 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3173 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3174
eed6bc21 31752013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3176
3177 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3178 (c_pretty_printer::c_pretty_printer): Declare.
3179 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3180 c_pretty_printer_init. Adjust.
3181 (print_c_tree): Do not call c_pretty_printer_init.
3182 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3183
df558d2e 31842013-08-09 Arnaud Charlet <charlet@adacore.com>
3185
3186 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3187
42f9a786 31882013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3189
3190 PR c++/58080
3191 * c-common.c (pointer_int_sum): Add bool parameter.
3192 * c-common.h (pointer_int_sum): Adjust declaration.
3193
f874ddad 31942013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3195
3196 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3197 c_pretty_printer variable.
3198
a94db6b0 31992013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3200
3201 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3202 (pp_base): Remove.
3203 (pp_c_base): Likewise. Adjust users.
3204 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3205 (pp_c_whitespace): Do not call pp_base.
3206 (pp_c_left_paren): Likewise.
3207 (pp_c_right_paren): Likewise.
3208 (pp_c_left_brace): Likewise.
3209 (pp_c_right_brace): Likewise.
3210 (pp_c_left_bracket): Likewise.
3211 (pp_c_right_bracket): Likewise.
3212 (pp_c_dot): Likewise.
3213 (pp_c_ampersand): Likewise.
3214 (pp_c_star): Likewise.
3215 (pp_c_arrow): Likewise.
3216 (pp_c_semicolon): Likewise.
3217 (pp_c_complement): Likewise.
3218 (pp_c_exclamation): Likewise.
3219 (pp_c_direct_declarator): Likewise.
3220 (pp_c_ws_string): Likewise.
3221 (pp_c_identifier): Likewise.
3222 (pp_c_statement): Likewise.
3223 (print_c_tree): Likewise.
3224
1898176c 32252013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3226
3227 PR c++/58072
3228 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3229 provide useful error strings.
3230
70d60d1d 32312013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3232
3233 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3234 printer functions instead of pp_string or operators and punctuators.
3235 (dump_generic_ada_node): Likewise.
3236 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3237 (pp_c_relational_expression): Likewise.
3238 (pp_c_logical_or_expression): Likewise.
3239
dda4f0ec 32402013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3241
3242 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3243 functions instead of pp_character.
3244 (pp_ada_tree_identifier): Likewise.
3245 (dump_ada_double_name): Likewise.
3246 (dump_ada_function_declaration): Likewise.
3247 (dump_ada_array_domains): Likewise.
3248 (dump_template_types): Likewise.
3249 (dump_generic_ada_node): Likewise.
3250 (print_ada_declaration): Likewise.
3251 (print_ada_struct_decl): Likewise.
3252 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3253
7aa04c8d 32542013-07-23 Tom Tromey <tromey@redhat.com>
3255
3256 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3257 * c-common.c (c_common_reswords): Add _Generic.
3258
a04e8d62 32592013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3260
3261 * c-common.c: Fix typos.
3262 * c-common.h: Likewise.
3263
a96c3cc1 32642013-07-13 Lubos Lunak <l.lunak@suse.cz>
3265
3266 PR c++/55203
3267 * c-common.c (c_common_attribute_table): Add warn_unused.
3268 (handle_warn_unused_attribute): New.
3269
da31536d 32702013-07-10 Jakub Jelinek <jakub@redhat.com>
3271
3272 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3273 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3274
839f2f70 32752013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3276
3277 PR c++/57869
3278 * c.opt: Add Wconditionally-supported.
3279
73f353d0 32802013-07-08 Graham Stott <graham.stott@btinternet.com>
3281
1f78217c 3282 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3283 unused variables l_length and l_node.
3284
21ebaa24 32852013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3286
3287 PR c/57821
3288 * c-common.c (complete_array_type): Delay folding first index
3289 like other indices. When folding, check for index overflow.
3290
68ea4406 32912013-06-27 Marc Glisse <marc.glisse@inria.fr>
3292
3293 PR c++/57509
3294 * c-common.h (c_build_vec_perm_expr): New complain argument.
3295 * c-common.c (c_build_vec_perm_expr): Likewise.
3296 Use save_expr also in C++.
3297
60777f69 32982013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3299
3300 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3301 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3302 * c-opts.c (c_common_post_options): Likewise.
3303
839f2f70 33042013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3305
3306 * array-notation-common.c (length_mismatch_in_expr): Changed the
3307 parameter type's from a dynamic array to a vec_tree. Also removed
3308 the size parameters.
3309 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3310 the change above.
3311
e9331eab 33122013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3313
3314 * c-common.h (struct cilkplus_an_parts): New structure.
3315 (struct cilkplus_an_loop_parts): Likewise.
3316 (cilkplus_extract_an_triplets): New prototype.
3317 (fix_sec_implicit_args): Likewise.
3318 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3319 (fix_sec_implicit_args): Likewise.
60777f69 3320
a9c99fc4 33212013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3322
3323 * array-notation-common.c (find_inv_trees): Removed an unwanted
3324 typecasting.
3325 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3326 enum rid to enum tree_code.
3327
f2526cce 33282013-06-11 Jan Hubicka <jh@suse.cz>
3329
3330 * c-common.c (handle_alias_ifunc_attribute): Do not set
3331 DECL_EXTERNAL for weakref variables.
3332 * c-pragma.c (handle_pragma_weak): Make sure aliases
3333 are not declared as external.
3334
09970d67 33352013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3336
3337 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3338 function from c/c-array-notation.c.
3339 (is_cilkplus_reduce_builtin): Likewise.
3340 (find_rank): Likewise.
3341 (extract_array_notation_exprs): Likewise.
3342 (replace_array_notations): Likewise.
3343 (find_inv_trees): Likewise.
3344 (replace_inv_trees): Likewise.
3345 (contains_array_notation_expr): Likewise.
3346 (find_correct_array_notation_type): Likewise.
3347 * c-common.h (struct inv_list): Moved this struct from the file
3348 c/c-array-notation.c and added a new field called additional tcodes.
3349 (length_mismatch_in_expr_p): New prototype.
3350 (is_cilkplus_reduce_builtin): Likewise.
3351 (find_rank): Likewise.
3352 (extract_array_notation_exprs): Likewise.
3353 (replace_array_notation): Likewise.
3354 (find_inv_trees): Likewise.
3355 (replace_inv_trees): Likewise.
3356 (find_correct_array_notation_type): Likewise.
839f2f70 3357
3c6d4197 33582013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3359
3360 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3361 function array_notation_init_builtins is called.
3362 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3363 * c-common.def (ARRAY_NOTATION_REF): New tree.
3364 * c-common.h (build_array_notation_expr): New function declaration.
3365 (build_array_notation_ref): Likewise.
3366 (extract_sec_implicit_index_arg): New extern declaration.
3367 (is_sec_implicit_index_fn): Likewise.
3368 (ARRAY_NOTATION_CHECK): New define.
3369 (ARRAY_NOTATION_ARRAY): Likewise.
3370 (ARRAY_NOTATION_START): Likewise.
3371 (ARRAY_NOTATION_LENGTH): Likewise.
3372 (ARRAY_NOTATION_STRIDE): Likewise.
3373 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3374 ARRAY_NOTATION_REF.
3375 (pp_c_expression): Likewise.
3376 * c.opt (flag_enable_cilkplus): New flag.
3377 * array-notation-common.c: New file.
3378
8e71dad2 33792013-05-14 Jakub Jelinek <jakub@redhat.com>
3380
3381 PR c++/57274
3382 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3383
432dd330 33842013-05-10 Marc Glisse <marc.glisse@inria.fr>
3385
3386 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3387 vectors.
3388
b156ec37 33892013-05-07 Han Shen <shenhan@google.com>
3390
3391 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3392
1a087624 33932013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3394
3395 * c-common.c (check_user_alignment): Emit error for negative values.
3396
1638c736 33972013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3398
3399 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3400
949dbf93 34012013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3402
3403 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3404 __GXX_EXPERIMENTAL_CXX1Y__.
3405
9205a6cc 34062013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3407 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3408
3409 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3410 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3411 to simply use OPT_Wpointer_arith.
3412 (c_sizeof_or_alignof_type): Likewise.
3413
05d0bce1 34142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3415
3416 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3417
41609f8b 34182013-04-12 Jakub Jelinek <jakub@redhat.com>
3419
3420 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3421 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3422 specifiers.
3423
c671dc4f 34242013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3425
3426 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3427
ba125576 34282013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3429
3430 * c-common.c (pointer_int_sum): Remove dead code.
3431
9d3fa937 34322013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3433
3434 PR middle-end/56524
3435 * c-common.c (handle_optimize_attribute): Don't call
3436 save_optabs_if_changed.
3437
5ceebb21 34382013-03-05 Jakub Jelinek <jakub@redhat.com>
3439
3440 PR middle-end/56461
3441 * c-pch.c (pch_init): Free target_validity at the end.
3442
18eeed2b 34432013-03-04 Jakub Jelinek <jakub@redhat.com>
3444
3445 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3446
a9196da9 34472013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3448 Jakub Jelinek <jakub@redhat.com>
3449
3450 PR sanitizer/56454
3451 * c-common.c (handle_no_sanitize_address_attribute): New function.
3452 (c_common_attribute_table): Add no_sanitize_address attribute.
3453 (handle_no_address_safety_analysis_attribute): Add
3454 no_sanitize_address attribute, not no_address_safety_analysis
3455 attribute.
3456
15c27dda 34572013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3458
3459 PR target/52555
3460 * c-common.c (handle_optimize_attribute): Call
3461 save_optabs_if_changed.
3462
19426fe1 34632013-02-18 Jakub Jelinek <jakub@redhat.com>
3464 Steven Bosscher <steven@gcc.gnu.org>
3465
3466 PR pch/54117
3467 * c-opts.c (c_common_post_options): If debug info is enabled
3468 and non-dwarf*, refuse to load PCH files and when writing PCH
3469 file warn.
3470
df936998 34712013-02-05 Jakub Jelinek <jakub@redhat.com>
3472
3473 PR middle-end/56167
3474 * c-common.c (handle_error_attribute): Fix condition.
3475
ae0c3984 34762013-01-30 Jakub Jelinek <jakub@redhat.com>
3477
3478 PR c++/55742
3479 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3480
1c4973d7 34812013-01-18 Jason Merrill <jason@redhat.com>
3482
3483 PR target/54908
3484 * c.opt (-fextern-tls-init): New.
3485 * c-opts.c (c_common_post_options): Handle it.
3486
7c834436 34872013-01-09 Jakub Jelinek <jakub@redhat.com>
3488
3489 PR c/48418
3490 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3491 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3492 and is either negative or bigger or equal to type precision
3493 of the first operand.
3494
5abaa10a 34952012-12-03 Marek Polacek <polacek@redhat.com>
3496
3497 PR c/55570
3498 * c-common.c (check_user_alignment): Swap order of tests,
3499 check TREE_CODE first.
3500
324ca377 35012012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3502
3503 PR c++/52654
3504 * c-common.h (overflow_type): New enum.
3505 (build_userdef_literal): Add overflow_type argument.
3506 (tree_userdef_literal): Add overflow_type.
3507 (USERDEF_LITERAL_OVERFLOW): New access macro.
3508 * c-common.c (build_userdef_literal): Add overflow_type
3509 argument.
3510 * c-lex.c (c_lex_with_flags): Add overflow_type to
3511 build_userdef_literal calls.
3512 (interpret_integer, interpret_float): Add overflow_type argument.
3513
b4c4a429 35142012-11-28 Richard Biener <rguenther@suse.de>
3515
3516 PR c/35634
3517 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3518 here and use a type with proper overflow behavior for types that would
3519 need to be promoted for the arithmetic.
3520
d413ffdd 35212012-11-23 Jakub Jelinek <jakub@redhat.com>
3522
3523 PR sanitizer/55435
3524 * c-common.c (handle_no_address_safety_analysis_attribute): New
3525 function.
3526 (c_common_attribute_table): Add no_address_safety_analysis.
3527
52bc861d 35282012-11-16 Simon Baldwin <simonb@google.com>
3529
3530 * c.opt: Add f[no-]canonical-system-headers.
3531 * c-opts.c (c_common_handle_option): Handle
3532 OPT_fcanonical_system_headers.
3533
2dd00636 35342012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3535
3536 PR c++/54413
3537 * c-opts.c (c_common_handle_option): Set new flags.
3538 * c.opt: Describe new flags.
3539
d4701f6c 35402012-11-09 Jason Merrill <jason@redhat.com>
3541
3542 * c.opt (Wabi-tag): New.
3543
72d65da9 35442012-11-09 Andi Kleen <ak@linux.intel.com>
3545
3546 PR 55139
3547 * c-common.c (get_atomic_generic_size): Mask with
3548 MEMMODEL_MASK
3549
77a357e3 35502012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3551
3552 PR c/53063
3553 * c.opt (Wformat): Make it Alias Wformat=1.
3554 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3555 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3556 LangEnabledBy.
3557 (Wformat=): RejectNegative. Use LangEnabledBy.
3558 (Wnonnull): Use LangEnabledBy.
3559 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3560 * c-format.c (set_Wformat): Delete.
3561 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3562 (maybe_read_dollar_number): Likewise.
3563 (avoid_dollar_number): Likewise.
3564 (finish_dollar_format_checking): Likewise.
3565 (check_format_info): Likewise.
3566 (check_format_info_main): Likewise.
3567 (check_format_types): Likewise.
3568 (format_type_warning): Likewise.
3569 * c-common.c (int): Likewise.
3570 (check_function_sentinel): Likewise.
3571 * c-common.h (warn_format,set_Wformat): Do not declare here.
3572
45efa6b9 35732012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3574
3575 PR c/53063
3576 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3577 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3578 Use LangEnabledBy.
3579 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3580 common.opt.
3581 (Wvariadic-macros): Init(1).
3582 * c-opts.c (c_common_handle_option): Do not handle them
3583 explicitly.
3584 (c_common_post_options): Likewise.
3585 (sanitize_cpp_opts): warn_unused_macros is now
3586 cpp_warn_unused_macros.
3587 (push_command_line_include): Likewise.
3588 * c-common.c (warn_unknown_pragmas): Do not define.
3589 * c-common.h (warn_unknown_pragmas): Do not declare.
3590
0e4e775a 35912012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3592
3593 PR c/51294
3594 * c-common.c (conversion_warning): Handle conditional expressions.
3595
8b447d3f 35962012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3597
3598 PR c++/54930
3599 * c.opt (Wreturn_local_addr): Define new option.
3600
f4a61754 36012012-10-25 Jason Merrill <jason@redhat.com>
3602
ecb10e6a 3603 * c.opt (Wvirtual-move-assign): New.
3604
f4a61754 3605 * c.opt (Winherited-variadic-ctor): New.
3606
7b463b19 36072012-10-25 Marc Glisse <marc.glisse@inria.fr>
3608
3609 PR c++/54427
3610 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3611
6adc88f8 36122012-10-23 Joseph Myers <joseph@codesourcery.com>
3613
3614 * c-common.h (pch_cpp_save_state): Declare.
3615 * c-target.def (c_preinclude): New hook.
3616 * c-opts.c (done_preinclude): New.
3617 (push_command_line_include): Handle default preincluded header.
3618 (cb_file_change): Call pch_cpp_save_state when calling
3619 push_command_line_include.
3620 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3621 (pch_cpp_save_state): New.
3622 (pch_init): Call pch_cpp_save_state conditionally, instead of
3623 calling cpp_save_state.
3624
fa816b0b 36252012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3626
3627 PR c/53063
3628 PR c/40989
3629 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3630 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3631 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3632 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3633 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3634 * c-opts.c (c_common_handle_option): Remove explicit handling from
3635 here.
3636 (c_common_post_options): Likewise.
3637
d214ccee 36382012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3639
3640 * c-ada-spec.c (LOCATION_COL): Delete.
3641 (compare_location): New function.
3642 (compare_node): Use it.
3643 (compare_comment): Likewise.
3644
77b27208 36452012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3646
3647 PR c/53063
3648 PR c/40989
3649 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3650 * c-opts.c (c_common_handle_option): Do not set them here. Add
3651 comment.
3652 (c_common_post_options): Likewise.
3653
cc02ca4d 36542012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3655
3656 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3657 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3658 Remove POINTER_TYPE handling, add large unsigned handling and use
3659 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3660
57f872a2 36612012-10-12 Jakub Jelinek <jakub@redhat.com>
3662
3663 PR c/54381
3664 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3665 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3666 locs and array of 3 trees instead of just single loc and single
3667 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3668 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3669 For *cmp* builtins that take two sources strings report warnings
3670 about first and second source, not about destination and source.
3671
7354ad2e 36722012-10-12 Marc Glisse <marc.glisse@inria.fr>
3673
3674 PR c++/53055
3675 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3676
1ac7f120 36772012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3678
3679 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3680 declaring something coming from another file.
3681
1e0cc9e3 36822012-10-10 Arnaud Charlet <charlet@adacore.com>
3683
1ac7f120 3684 PR ada/54845
1e0cc9e3 3685 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3686
b0e7825e 36872012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3688
3689 PR c++/54194
3690 * c-common.c (warn_about_parentheses): Add location_t parameter;
3691 use EXPR_LOC_OR_LOC.
3692 * c-common.h: Update declaration.
3693
41ed701a 36942012-10-09 Marc Glisse <marc.glisse@inria.fr>
3695
3696 PR c++/54427
3697 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3698 more operations. Make error messages optional.
3699 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3700 (scalar_to_vector): Declare.
3701
3740094c 37022012-10-08 Jason Merrill <jason@redhat.com>
3703
3704 * c-common.c (c_common_reswords): Add thread_local.
3705
ffcdbf9c 37062012-10-08 Dodji Seketeli <dodji@redhat.com>
3707
3708 PR c++/53528 C++11 attribute support
3709 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3710 new functions.
3711 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3712 static function.
3713 (handle_aligned_attribute): In choose strictest alignment
3714 among many. Use new check_cxx_fundamental_alignment_constraints.
3715 (handle_transparent_union_attribute): In c++11 attribute syntax,
3716 don't look through typedefs.
3717
ef34afc1 37182012-10-04 Arnaud Charlet <charlet@adacore.com>
3719
3720 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3721 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3722 out of dumpfile.h.
3723
f1ff4562 37242012-09-25 Dehao Chen <dehao@google.com>
3725
3726 PR middle-end/54645
ef34afc1 3727 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3728 map when read in the pch.
3729
735538a1 37302012-09-18 Arnaud Charlet <charlet@adacore.com>
3731
3732 * c-ada-spec.c: Style fixes.
3733
9120cdc8 37342012-09-18 Thomas Quinot <quinot@adacore.com>
3735
3736 * c.opt (-fada-spec-parent): Define new command line switch.
3737 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3738 is specified, generate binding spec as a child of the specified unit.
3739
8eba82c2 37402012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3741 Manuel López-Ibáñez <manu@gcc.gnu.org>
3742
3743 PR c++/53210
3744 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3745
38682990 37462012-08-23 Arnaud Charlet <charlet@adacore.com>
3747
3748 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3749 for pointers, and add missing Convention C pragma.
3750 (print_ada_struct_decl): Add missing aliased keyword.
3751 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3752
f003f5dc 37532012-08-17 Jakub Jelinek <jakub@redhat.com>
3754
3755 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3756 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3757 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3758 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3759 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3760
ec11736b 37612012-08-10 Richard Guenther <rguenther@suse.de>
3762
3763 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3764
5f7f600e 37652012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3766
3767 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3768 instead of separate pp_newline and pp_flush.
3769 (print_c_tree): Likewise.
3770
758a38ab 37712012-07-26 Richard Henderson <rth@redhat.com>
3772
3773 * c-common.c (handle_hot_attribute): Allow labels.
3774 (handle_cold_attribute): Likewise.
3775
9ca77b08 37762012-07-20 Jakub Jelinek <jakub@redhat.com>
3777
3778 PR c++/28656
3779 * c-common.c (check_function_nonnull): Handle multiple nonnull
3780 attributes properly.
3781
b9ed1410 37822012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3783
3784 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3785 * c-ada-spec.c: Likewise.
3786 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3787
c2a65b90 37882012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3789
3790 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3791 Remove code conditional on it.
3792
88c5a1d1 37932012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3794
3795 * c-gimplify.c: Do not include basic-block.h.
3796 * c-common.c: Do not include linfuncs.h.
3797
4a020a8c 37982012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3799
3800 * c-common.h: Include tree.h.
3801
c28ddc97 38022012-07-02 Jason Merrill <jason@redhat.com>
3803
3804 PR c++/53524
3805 * c-common.c (get_priority): Call default_conversion.
3806
405ed67f 38072012-07-01 Uros Bizjak <ubizjak@gmail.com>
3808
3809 * c-pch.c (c_common_write_pch): Remove unused variables.
3810
e53d55e7 38112012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3812
3813 * cppspec.c: Moved from gcc/ to here.
3814
3d9c25ec 38152012-06-27 Kai Tietz <ktietz@redhat.com>
3816
3817 PR preprocessor/37215
3818 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3819
3169c57a 38202012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3821
3822 * c-common.h (c_common_print_pch_checksum): Remove.
3823 * c-pch.c: Do not include output.h.
3824 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3825 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3826 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3827 (struct c_pch_header): Remove.
3828 (get_ident): Update gpch version.
3829 (pch_init): Do not print executable_checksum to asm_out_file.
3830 Do not fail if there is no asm_out_file to read back from. Set
3831 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3832 (c_common_write_pch): Verify that nothing was written to asm_out_file
3833 since pch_init was called. Do not write a c_pch_header, and do not
3834 copy from asm_out_file to the PCH.
3835 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3836 the content of asm_out_file from the PCH.
3837 (c_common_print_pch_checksum): Remove.
3838 * c-opts.c (c_common_init): Print out executable_checksum directly.
3839
ff6624bc 38402012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3841
3842 * c-target.def (objc_declare_unresolved_class_reference,
3843 objc_declare_class_definition): Add new hooks.
3844
367b1459 38452012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3846
3847 * c-lex.c: Do not include output.h.
3848 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3849 Remove uses of ASM_OUTPUT_IDENT.
3850
bf0cb017 38512012-06-15 Marc Glisse <marc.glisse@inria.fr>
3852
3853 PR c++/51033
3854 * c-common.h (c_build_vec_perm_expr): Move decl here.
3855 * c-common.c (c_build_vec_perm_expr): Move definition
3856 here.
3857
b37a3600 38582012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3859
3860 * c.opt (fconserve-space): Turn into a no-op.
3861
19931eea 38622012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3863
3864 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3865 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3866 both the start and end of the function.
3867
dff12c10 38682012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3869
3870 * c-common.c: Do not include output.h.
3871 * c-pragma.c: Likewise.
3872
5f9e7dd5 38732012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3874
3875 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3876 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3877 (lang_decl_name): Handle namespace decls.
3878
b5369b7d 38792012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3880
3881 * c-ada-spec.c: Do not include output.h.
3882 * c-semantics.c: Likewise.
3883
8032877c 38842012-05-29 Joseph Myers <joseph@codesourcery.com>
3885
3886 * c-common.c: Fix typo.
3887
7843e4bc 38882012-05-29 Michael Matz <matz@suse.de>
3889
3890 * c-common.h (c_expand_decl): Remove prototype.
3891
8cf857d4 38922012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3893
3894 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3895 * c-opts.c (c_common_handle_option): Remove code handling
3896 warn_missing_braces.
3897
8b64dc3c 38982012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3899
3900 PR c++/25137
3901 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3902 -Wmissing_braces.
3903
43cbde16 39042012-05-22 Dodji Seketeli <dodji@redhat.com>
3905
3906 PR c++/53322
3907 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3908
db490cb6 39092012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3910
3911 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3912 * c-opts.c (c_common_handle_option): Do not handle explicitly
3913 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3914
a60f3e81 39152012-05-16 Dodji Seketeli <dodji@redhat.com>
3916
3917 PR preprocessor/7263
3918 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3919 to cpp_classify_number. For diagnostics, use the precise location
3920 instead of the global input_location.
3921
82e6ef7c 39222012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3923
cd4797ff 3924 PR c++/11856
82e6ef7c 3925 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3926
258a168d 39272012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3928
82e6ef7c 3929 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 3930
d3b7ee7c 39312012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3932
3933 PR 53063
3934 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3935 Wreorder): Use LangEnabledBy.
3936 * c-opts.c (c_common_handle_option): Do not enable them
3937 explicitly. Call lang-specific generated functions.
3938 (c_common_post_options): Do not set them here.
3939
70059cea 39402012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3941
3942 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3943 Wmissing-field-initializers,Wmissing-parameter-type,
3944 Wold-style-declaration,Woverride-init): Use EnabledBy.
3945 * c-opts.c (c_common_post_options): Do not set here explicitly.
3946
fbb6fbd8 39472012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3948
3949 PR 53063
3950 * c-opts.c (c_common_handle_option): Use handle_generated_option
3951 to enable sub-options.
3952
61f69bc9 39532012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3954
3955 PR c++/53158
3956 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3957
5a1fe2db 39582012-05-10 Richard Guenther <rguenther@suse.de>
3959
3960 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3961 adjust commentary about TYPE_IS_SIZETYPE types.
3962
d42e7c5a 39632012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3964
3965 PR c++/53261
3966 * c-common.c (warn_logical_operator): Check that argument of
3967 integer_zerop is not NULL.
3968
686369e8 39692012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3970
3971 PR c/43772
3972 * c-common.c (warn_logical_operator): Do not warn if either side
3973 is already true or false.
3974
03fe1dc2 39752012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3976
3977 PR c/51712
3978 * c-common.c (expr_original_type): New.
3979 (shorten_compare): Do not warn for enumeration types.
3980
bba5a206 39812012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3982
3983 * c.opt (fpermissive): Add Var(flag_permissive).
3984
7059d45d 39852012-04-30 Marc Glisse <marc.glisse@inria.fr>
3986
3987 PR c++/51033
3988 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3989 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3990
7edb1062 39912012-04-30 Dodji Seketeli <dodji@redhat.com>
3992
3993 Add -Wvarargs option
3994 * c.opt (Wvarargs): Define new option.
3995
068bea1e 39962012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3997
3998 * c-common.c (check_function_arguments): Replace
3999 Wmissing-format-attribute with Wsuggest-attribute=format.
4000
b86527d8 40012012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4002
4003 * c.opt (Wsuggest-attribute=format): New. Alias of
4004 Wmissing-format-attribute.
4005 * c-format.c (decode_format_type): Replace
4006 Wmissing-format-attribute with Wsuggest-attribute=format.
4007 (check_function_format): Likewise.
4008
19931eea 40092012-04-27 Ollie Wild <aaw@google.com>
76d340ac 4010
4011 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4012 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4013 * c.opt: Add Wliteral-suffix.
4014
29438999 40152012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4016
4017 PR c/44774
4018 * c.opt (Wpedantic): New.
4019 (pedantic): Alias Wpedantic.
4020 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4021 (c_common_post_options): Likewise.
4022 (sanitize_cpp_opts): Likewise.
4023 * c-lex.c (interpret_float): Likewise.
4024 * c-format.c (check_format_types): Likewise.
4025 * c-common.c (pointer_int_sum): Likewise.
4026 (c_sizeof_or_alignof_type): Likewise.
4027 (c_add_case_label): Likewise.
4028 (c_do_switch_warnings): Likewise.
4029 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4030
4f9d6b8b 40312012-04-15 Jason Merrill <jason@redhat.com>
4032
4033 PR c++/52818
4034 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4035 (C_STD_NAME): Distinguish between C++98 and C++11.
4036
74bdbe96 40372012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4038
4039 PR target/52624
4040 * c-common.h (uint16_type_node): Rename into...
4041 (c_uint16_type_node): ...this.
4042 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4043 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4044
3d177e8c 40452012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4046
4047 * c-common.c (warn_if_unused_value): Move definition to here.
4048 * c-common.h (warn_if_unused_value): Move declaration to here.
4049
6a9a958f 40502012-03-23 William Bader <williambader@hotmail.com>
4051
4052 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4053
543efdbe 40542012-03-20 Jason Merrill <jason@redhat.com>
4055
4056 * c-common.h (enum cxx_dialect): Add cxx1y.
4057 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4058 test.
4059 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4060 * c-opts.c (c_common_post_options): Likewise.
4061 (set_std_cxx1y): New.
4062 (c_common_handle_option): Call it.
4063 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4064
62206d34 40652012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4066
4067 PR c++/14710
4068 * c.opt ([Wuseless-cast]): Add.
4069
fadf62f4 40702012-03-16 Richard Guenther <rguenther@suse.de>
4071
4072 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4073
249faa35 40742012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4075
4076 PR c++/44783
4077 * c.opt (ftemplate-backtrace-limit) Add.
4078
126b6848 40792012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4080
4081 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4082 handling.
4083 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4084 (init_pragma): Don't register extern_prefix.
4085
a51edb4c 40862012-03-12 Richard Guenther <rguenther@suse.de>
4087
4088 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4089 (builtin_type_for_size): Likewise.
4090
0f6a7cb7 40912012-02-13 Jakub Jelinek <jakub@redhat.com>
4092
4093 PR c++/52215
4094 * c-common.c (sync_resolve_params): Don't decide whether to convert
4095 or not based on TYPE_SIZE comparison, convert whenever arg_type
4096 is unsigned INTEGER_TYPE.
4097
0779e32c 40982012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4099
4100 PR c/52118
4101 * c.opt ([Wunused-local-typedefs]): Fix description.
4102
baec58e1 41032012-01-24 Mike Stump <mikestump@comcast.net>
4104
4105 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4106 exactly.
4107
c779d8cc 41082012-01-18 Richard Guenther <rguenther@suse.de>
4109
4110 * c-opts.c (c_common_post_options): Reset LTO flags if
4111 we are about to generate a PCH.
4112
ee917d24 41132012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4114
4115 PR c++/51777
4116 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4117 use pp_unsigned_wide_integer.
4118
90e2341f 41192012-01-10 Richard Guenther <rguenther@suse.de>
4120
4121 PR middle-end/51806
4122 * c-opts.c (c_common_handle_option): Move -Werror handling
4123 to language independent code.
4124
9ea022ce 41252012-01-05 Richard Guenther <rguenther@suse.de>
4126
4127 PR middle-end/51764
4128 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4129 from common.opt.
4130
3df19e1b 41312011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4132
4133 PR c++/51316
4134 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4135 of array types with an unknown bound.
4136
32074525 41372011-12-20 Joseph Myers <joseph@codesourcery.com>
4138
4139 * c-common.c (flag_isoc99): Update comment to refer to C11.
4140 (flag_isoc1x): Change to flag_isoc11.
4141 * c-common.h (flag_isoc99): Update comment to refer to C11.
4142 (flag_isoc1x): Change to flag_isoc11.
4143 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4144 C11.
4145 * c-opts.c (set_std_c1x): Change to set_std_c11.
4146 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4147 Call set_std_c11.
4148 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4149 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4150 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4151 standard.
4152 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4153 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4154 (std=gnu1x): Make alias of std=gnu11.
4155
fca86134 41562011-12-19 Jason Merrill <jason@redhat.com>
4157
4158 PR c++/51228
4159 * c-common.c (handle_transparent_union_attribute): Check the first
4160 field if the type is complete.
4161
aa4313eb 41622011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4163
4164 PR libstdc++/51365
4165 * c-common.c (RID_IS_FINAL): Add.
4166 * c-common.h (RID_IS_FINAL): Add.
4167
3f3d5ad4 41682011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4169
4170 * c.opt (fgnu-runtime): Provide full description.
4171 (fnext-runtime): Likewise.
4172 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4173
c4606d19 41742011-11-28 Andrew MacLeod <amacleod@redhat.com>
4175
4176 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4177 predefines in one place. Add LOCK_FREE predefines.
4178 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4179 new func.
4180
1d581089 41812011-11-24 Andrew MacLeod <amacleod@redhat.com>
4182
4183 PR c/51256
19931eea 4184 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4185 conditions
19931eea 4186 (resolve_overloaded_atomic_exchange,
4187 resolve_overloaded_atomic_compare_exchange,
1d581089 4188 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4189 error_mark_node for error conditions.
19931eea 4190
6aa221fa 41912011-11-08 Richard Guenther <rguenther@suse.de>
4192
4193 PR middle-end/51010
4194 c-family/
4195
4c0315d0 41962011-11-07 Richard Henderson <rth@redhat.com>
4197 Aldy Hernandez <aldyh@redhat.com>
4198 Torvald Riegel <triegel@redhat.com>
4199
4200 Merged from transactional-memory.
4201
4202 * c-common.c (handle_tm_wrap_attribute,
4203 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4204 (struct c_common_reswords): Added __transaction* keywords.
4205 (struct c_common_attribute_table): Added transaction* and tm_regparm
4206 attributes.
4207 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4208 masks.
4209 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4210 find_tm_attribute): Declare.
4211
920f5a70 42122011-11-07 Jason Merrill <jason@redhat.com>
4213
4214 PR c++/35688
4215 * c-common.c, c-common.h: Revert yesterday's changes.
4216
b4f861b4 42172011-11-06 Jason Merrill <jason@redhat.com>
4218
4219 PR c++/35688
4220 * c-common.c (decl_has_visibility_attr): Split out from...
4221 (c_determine_visibility): ...here.
4222 * c-common.h: Declare it.
4223
83e25171 42242011-11-06 Joseph Myers <joseph@codesourcery.com>
4225
4226 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4227 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4228 type.
4229 (check_user_alignment): New. Split out of
4230 handle_aligned_attribute. Disallow integer constants with
4231 noninteger types. Conditionally allow zero.
4232 (handle_aligned_attribute): Use check_user_alignment.
4233 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4234
1cd6e20d 42352011-11-06 Andrew MacLeod <amacleod@redhat.com>
4236 Richard Henderson <rth@redhat.com>
4237
4238 Merged from cxx-mem-model.
4239
4240 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4241 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4242 parameters that are the same type size.
4243 (get_atomic_generic_size): New. Find size of generic
4244 atomic function parameters and do typechecking.
4245 (add_atomic_size_parameter): New. Insert size into parameter list.
4246 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4247 either __atomic_exchange_n or external library call.
19931eea 4248 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4249 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4250 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4251 __atomic_load_n or an external library call.
4252 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4253 __atomic_store_n or an external library call.
4254 (resolve_overloaded_builtin): Handle new __atomic builtins.
4255
7549df0d 42562011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4257
4258 PR c++/50608
4259 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4260 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4261 <INDIRECT_REF>: Return the argument.
4262 <ARRAY_REF>: Remove special code for negative offset.
4263 Call fold_build_pointer_plus instead of size_binop.
4264 (fold_offsetof): Remove STOP_REF argument and adjust.
4265 * c-common.h (fold_offsetof_1): Declare.
4266 (fold_offsetof): Remove STOP_REF argument.
4267
7e783eb3 42682011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4269
4270 PR c++/50810
4271 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4272 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4273 Wnarrowing for C++0x and C++98.
4274 * c.opt ([Wnarrowing]): Update.
4275
8fe701f5 42762011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4277
4278 PR c++/44277
4279 * c.opt: Add Wzero-as-null-pointer-constant.
4280
0d84dc2d 42812011-10-31 Jason Merrill <jason@redhat.com>
4282
67031f52 4283 * c.opt (-fdeduce-init-list): Off by default.
4284
0d84dc2d 4285 PR c++/50920
4286 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4287 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4288 and -Wc++11-compat.
4289 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4290
66f24c41 42912011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4292
4293 PR c++/30066
4294 * c.opt (fvisibility-inlines-hidden): Description change.
4295
244db24d 42962011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4297
4298 Implement C++11 user-defined literals.
4299 * c-common.c (build_userdef_literal): New.
4300 * c-common.def: New tree code.
4301 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4302 * c-lex.c (interpret_float): Add suffix parm.
4303 (c_lex_with_flags): Build literal tokens.
4304
235be70f 43052011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4306
4307 PR c++/50841
4308 Revert:
4309 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4310
4311 PR c++/50810
4312 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4313 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4314 Wnarrowing for C++0x and C++98.
4315 * c.opt ([Wnarrowing]): Update.
4316
4fe0fb1c 43172011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4318
4319 PR c++/50810
4320 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4321 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4322 Wnarrowing for C++0x and C++98.
4323 * c.opt ([Wnarrowing]): Update.
4324
5f7504f9 43252011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4326
4327 PR c++/45385
4328 * c-common.c (conversion_warning): Remove code looking for
4329 artificial operands.
4330
2a688977 43312011-10-18 Dodji Seketeli <dodji@redhat.com>
4332
4333 PR bootstrap/50760
4334 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4335 !NO_IMPLICIT_EXTERN_C.
2a688977 4336
326e3391 43372011-10-17 Michael Spertus <mike_spertus@symantec.com>
4338
4339 * c-common.c (c_common_reswords): Add __bases,
4340 __direct_bases.
4341 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4342
43432011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4344
4345 PR c++/50757
4346 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4347
62db153a 43482011-10-15 Tom Tromey <tromey@redhat.com>
4349 Dodji Seketeli <dodji@redhat.com>
4350
4351 * c.opt (fdebug-cpp): New option.
4352 * c-opts.c (c_common_handle_option): Handle the option.
4353 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4354 output stream in parameter. Factorized from ...
4355 (maybe_print_line): ... this. Dump location debug information when
4356 -fdebug-cpp is in effect.
4357 (print_line_1): New static function. Takes an output stream in
4358 parameter. Factorized from ...
4359 (print_line): ... here. Dump location information when -fdebug-cpp
4360 is in effect.
4361 (scan_translation_unit): Dump location information when
4362 -fdebug-cpp is in effect.
4363
ce70f433 43642011-10-15 Tom Tromey <tromey@redhat.com>
4365 Dodji Seketeli <dodji@redhat.com>
4366
4367 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4368 without argument.
4369 * c-opts.c (c_common_handle_option)<case
4370 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4371 cases. Handle -ftrack-macro-expansion with and without argument.
4372
97bfb9ef 43732011-10-15 Tom Tromey <tromey@redhat.com>
4374 Dodji Seketeli <dodji@redhat.com>
4375
4376 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4377 (print_line, cb_define, do_line_change): Adjust to avoid touching
4378 the internals of struct line_map. Use the public API instead.
4379 * c-pch.c (c_common_read_pch): Likewise.
4380 * c-lex.c (fe_file_change): Likewise.
4381
326e3391 43822011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4383
4384 PR c++/17212
4385 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4386
43872011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4388
4389 PR c++/33067
4390 * c-pretty-print.c (pp_c_floating_constant): Output
4391 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4392
b9a16870 43932011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4394
4395 * c-common.c (def_builtin_1): Delete old interface with two
4396 parallel arrays to hold standard builtin declarations, and replace
4397 it with a function based interface that can support creating
4398 builtins on the fly in the future. Change all uses, and poison
4399 the old names. Make sure 0 is not a legitimate builtin index.
4400 * c-omp.c (c_finish_omp_barrier): Ditto.
4401 (c_finish_omp_taskwait): Ditto.
4402 (c_finish_omp_flush): Ditto.
4403
c7964868 44042011-10-11 Tristan Gingold <gingold@adacore.com>
4405
4406 * c.opt: (fallow-parameterless-variadic-functions): New.
4407
a4e3ffad 44082011-09-08 Dodji Seketeli <dodji@redhat.com>
4409
4410 PR c++/33255 - Support -Wunused-local-typedefs warning
4411 * c-common.h (struct c_language_function::local_typedefs): New
4412 field.
19931eea 4413 (record_locally_defined_typedef, maybe_record_typedef_use)
4414 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4415 * c-common.c (record_locally_defined_typedef)
19931eea 4416 (maybe_record_typedef_use)
4417 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4418 * c.opt: Declare new -Wunused-local-typedefs flag.
4419
737a23cc 44202011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4421
4422 PR middle-end/50266
4423 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4424 computations.
4425
7542c3b4 44262011-09-05 Richard Guenther <rguenther@suse.de>
4427
4428 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4429 of integer_minus_one_node for empty array upper bounds.
4430
1dc92c59 44312011-08-28 Dodji Seketeli <dodji@redhat.com>
4432
4433 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4434 it's the first time it's being called on this main TU.
4435
2bdf2b6e 44362011-08-24 Richard Guenther <rguenther@suse.de>
4437
4438 PR c/49396
4439 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4440
44412011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4442
4443 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4444 defined in cpp_init_builtins and c_cpp_builtins.
4445
bff4ad11 44462011-08-19 Joseph Myers <joseph@codesourcery.com>
4447
4448 * c-common.c (c_common_reswords): Add __builtin_complex.
4449 * c-common.h (RID_BUILTIN_COMPLEX): New.
4450
985c6e3a 44512011-08-18 Joseph Myers <joseph@codesourcery.com>
4452
4453 * c-common.c (c_common_reswords): Add _Noreturn.
4454 (keyword_is_function_specifier): Handle RID_NORETURN.
4455 * c-common.h (RID_NORETURN): New.
4456
7dfa155b 44572011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4458
4459 * c-common.c (unsafe_conversion_p): New function. Check if it is
4460 unsafe to convert an expression to the type.
4461 (conversion_warning): Adjust, use unsafe_conversion_p.
4462 * c-common.h (unsafe_conversion_p): New function declaration.
4463
2169f33b 44642011-08-02 Jakub Jelinek <jakub@redhat.com>
4465
4466 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4467 (c_finish_omp_taskyield): New prototype.
4468 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4469 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4470 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4471 or RHS1 have side-effects, evaluate those too in the right spot,
4472 if it is a decl and LHS is also a decl, error out if they
4473 aren't the same.
4474 (c_finish_omp_taskyield): New function.
4475 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4476 * c-pragma.c (omp_pragmas): Add taskyield.
4477 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4478 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4479 PRAGMA_OMP_CLAUSE_MERGEABLE.
4480
ab77850e 44812011-07-25 Dodji Seketeli <dodji@redhat.com>
4482
4483 * c-common.h (set_underlying_type): Remove parm name from
4484 declaration.
4485
6ee97920 44862011-07-25 Romain Geissler <romain.geissler@gmail.com>
4487
4488 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4489
dc251364 44902011-07-22 Jason Merrill <jason@redhat.com>
4491
1a2a35f0 4492 PR c++/49793
4493 * c.opt (Wnarrowing): New.
4494
27282252 4495 PR c++/30112
4496 * c-common.h: Declare c_linkage_bindings.
4497 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4498
dc251364 4499 PR c++/49813
4500 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4501 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4502 as flag_isoc99 for 'restrict'.
4503 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4504
fc501191 45052011-07-21 Ian Lance Taylor <iant@google.com>
4506
4507 PR middle-end/49705
4508 * c-common.c (c_disable_warnings): New static function.
4509 (c_enable_warnings): New static function.
4510 (c_fully_fold_internal): Change local unused_p to bool. Call
4511 c_disable_warnings and c_enable_warnings rather than change
4512 c_inhibit_evaluation_warnings.
4513
07b8f133 45142011-07-20 Jason Merrill <jason@redhat.com>
4515
4516 PR c++/6709 (DR 743)
4517 PR c++/42603 (DR 950)
4518 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4519 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4520 (CPP_DECLTYPE): New.
4521 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4522
2cc66f2a 45232011-07-19 Richard Guenther <rguenther@suse.de>
4524
4525 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4526 * c-omp.c (c_finish_omp_for): Likewise.
4527
3c802a1e 45282011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4529
4530 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4531 body on the next line.
4532
98a33d9f 45332011-07-08 Jason Merrill <jason@redhat.com>
4534
3115bda0 4535 PR c++/45437
4536 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4537
98a33d9f 4538 PR c++/49673
4539 * c-common.c (c_apply_type_quals_to_decl): Don't check
4540 TYPE_NEEDS_CONSTRUCTING.
4541
c38a75b7 45422011-07-06 Richard Guenther <rguenther@suse.de>
4543
4544 * c-common.c (c_common_nodes_and_builtins):
4545 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4546
e593356b 45472011-07-05 Richard Guenther <rguenther@suse.de>
4548
4549 * c-common.c (c_common_nodes_and_builtins): Build all common
4550 tree nodes first.
4551
fca0886c 45522011-06-27 Jakub Jelinek <jakub@redhat.com>
4553
a68f7a8d 4554 * c-common.h (c_tree_chain_next): New static inline function.
4555
fca0886c 4556 * c-common.c (check_builtin_function_arguments): Handle
4557 BUILT_IN_ASSUME_ALIGNED.
4558
2797f13a 45592011-06-21 Andrew MacLeod <amacleod@redhat.com>
4560
4561 * c-common.c: Add sync_ or SYNC__ to builtin names.
4562 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4563
45642011-06-20 Pierre Vittet <piervit@pvittet.com>
4565
4566 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4567 handler.
4568 (gen_pragma_handler): New union.
4569 (internal_pragma_handler): New type.
4570 (c_register_pragma_with_data)
4571 (c_register_pragma_with_expansion_and_data): New functions.
4572
4573 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4574 (c_register_pragma, c_register_pragma_with_expansion)
4575 (c_invoke_pragma_handler): Changed to work with
4576 internal_pragma_handler.
4577 (c_register_pragma_with_data)
4578 (c_register_pragma_with_expansion_and_data): New functions.
4579
218e3e4e 45802011-06-14 Joseph Myers <joseph@codesourcery.com>
4581
4582 * c-common.c: Include common/common-target.h.
4583 (handle_section_attribute): Use
4584 targetm_common.have_named_sections.
4585 * c-cppbuiltin.c: Include common/common-target.h.
4586 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4587
41e53ed2 45882011-06-10 Richard Guenther <rguenther@suse.de>
4589
4590 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4591 to print a IDENTIFIER_NODE.
4592
a6f06169 45932011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4594 Joseph Myers <joseph@codesourcery.com>
4595
4596 * c.opt (fbuilding-libgcc): New option.
4597 * c-cppbuiltin.c (c_cpp_builtins): Define
4598 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4599
1ea9269b 46002011-06-07 Jason Merrill <jason@redhat.com>
4601
8ce59854 4602 * c-common.c (max_tinst_depth): Lower default to 900.
4603
1ea9269b 4604 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4605
1af0124d 46062011-06-07 Richard Guenther <rguenther@suse.de>
4607
4608 * c-common.c (c_common_nodes_and_builtins): Do not set
4609 size_type_node or call set_sizetype.
4610
0e9a4c01 46112011-06-07 Dodji Seketeli <dodji@redhat.com>
4612
4613 PR debug/49130
4614 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4615 type when using pointer comparison to compare types.
0e9a4c01 4616
90b40725 46172011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4618
4619 * c.opt: Add -Wdelete-non-virtual-dtor.
4620 * c-opts.c (c_common_handle_option): Include it in -Wall.
4621
fc9c9e87 46222011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4623
4624 PR bootstrap/49190
4625
4626 Revert:
4627 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4628
4629 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4630 not tree_common.
4631
d0389adc 46322011-05-27 Jakub Jelinek <jakub@redhat.com>
4633
4634 PR c++/49165
4635 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4636 C++ don't call c_common_truthvalue_conversion on void type arms.
4637
cacfdc02 46382011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4639
4640 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4641 (stmt_list_stack): Define.
4642 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4643 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4644
027fc6ef 46452011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4646
4647 * c-common.c (warning_candidate_p): Check for BLOCKs.
4648
f21317a1 46492011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4650
4651 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4652 not tree_common.
4653
789e953d 46542011-05-25 Jakub Jelinek <jakub@redhat.com>
4655
4656 * c-common.c (def_fn_type): Remove extra va_end.
4657
7f506bca 46582011-05-23 Jason Merrill <jason@redhat.com>
4659
4660 PR c++/48106
4661 * c-common.c (c_common_get_narrower): New.
4662 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4663
774e9d58 46642011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4665
4666 * c-common.h (check_function_arguments): Tweak prototype of
4667 check_function_arguments.
4668 * c-common.c (check_function_arguments): Likewise. Adjust
4669 calls to check_function_nonnull, check_function_format, and
4670 check_function_sentinel.
4671 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4672 separate attributes and typelist arguments. Use
4673 FOREACH_FUNCTION_ARGS to iterate over argument types.
4674
23407dc9 46752011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4676
4677 * c-common.c (c_common_reswords): Reorder.
4678 * c-common.h (rid): Likewise.
4679
3a939d12 46802011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4681
4682 * c-common.c (def_fn_type): Don't call build_function_type, call
4683 build_function_type_array or build_varargs_function_type_array
4684 instead.
4685 (c_common_nodes_and_builtins): Likewise.
4686
b6e3dd65 46872011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4688
4689 * c-common.c (c_add_case_label): Omit the loc argument to
4690 build_case_label.
4691 * c-common.h (build_case_label): Remove.
4692 * c-semantics.c (build_case_label): Remove.
4693
4232a958 46942011-05-05 Joseph Myers <joseph@codesourcery.com>
4695
4696 * c-objc.h (objc_start_method_definition): Update prototype.
4697 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4698
d0af78c5 46992011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4700
4701 * c-common.c (check_main_parameter_types): Reindent. Don't use
4702 TYPE_ARG_TYPES directly.
4703 (handle_nonnull_attribute): Likewise.
4704 (sync_resolve_params): Likewise.
4705 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4706 to check_format_string.
4707 (handle_format_attribute): Likewise.
4708 (check_format_string): Take a function type to examine instead of
4709 a type list. Use a function_arg_iterator to step through argument
4710 types.
4711
ceb7b692 47122011-05-04 Richard Guenther <rguenther@suse.de>
4713
4714 * c-common.c (fix_string_type): Use size_int for index type bounds.
4715 (start_fname_decls): Do not pass NULL to build_int_cst.
4716 (c_init_attributes): Likewise.
4717 * c-lex.c (c_lex_with_flags): Likewise.
4718
c66c81be 47192011-04-27 Jason Merrill <jason@redhat.com>
4720
4721 * c-common.c (make_tree_vector_from_list): New.
4722 * c-common.h: Declare it.
4723
16930c72 47242011-04-26 Richard Guenther <rguenther@suse.de>
4725
4726 PR preprocessor/48248
4727 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4728 for output size with -P.
4729
23407dc9 47302011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4731
4732 * c-common.c (struct c_common_resword): Add __underlying_type.
4733 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4734
dd045aee 47352011-04-20 Jim Meyering <meyering@redhat.com>
4736
4737 * c-format.c (init_dollar_format_checking): Remove useless
4738 if-before-free.
4739
394dd737 47402011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4741
4742 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4743 (objc_detect_field_duplicates): New.
394dd737 4744 * stub-objc.c: Likewise.
23407dc9 4745
a758bf7d 47462011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4747
4748 * stub-objc.c (objc_declare_protocols): Renamed to
4749 objc_declare_protocol.
4750 * c-objc.h: Likewise.
23407dc9 4751
29d7200d 47522011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4753
4754 * stub-objc.c (objc_declare_class): Updated argument name.
4755
9b88d08d 47562011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4757
4758 * c-common.h (c_common_init_ts): Declare.
4759 * c-common.c (c_common_init_ts): Define.
4760
4185cf58 47612011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4762
4763 * c-objc.h (objc_build_message_expr): Updated prototype.
4764 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4765
5a90471f 47662011-04-12 Martin Jambor <mjambor@suse.cz>
4767
4768 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4769 of cgraph_node.
4770
783bb57e 47712011-04-11 Richard Guenther <rguenther@suse.de>
4772
4773 * c-common.c (complete_array_type): Build a range type of
4774 proper type.
4775
c33080b9 47762011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4777
4778 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4779 (handle_type_generic_attribute): Likewise.
4780
f8913d47 47812011-04-07 Jason Merrill <jason@redhat.com>
4782
4783 PR c++/48450
4784 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4785 conversion from C++0x scoped enum.
4786
c94b1d0e 47872011-04-06 Joseph Myers <joseph@codesourcery.com>
4788
4789 * c-target-def.h: New file.
4790 * c-target.def: New file.
4791 * c-target.h: New file.
4792 * c-common.c (targetcm): Don't define here.
4793 * c-common.h (default_handle_c_option): Declare.
4794 * c-format.c: Include c-target.h instead of target.h.
4795 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4796 include tm.h.
4797 (default_handle_c_option): Move from targhooks.c.
4798
acb10f41 47992011-03-29 Jakub Jelinek <jakub@redhat.com>
4800
4801 PR preprocessor/48248
4802 * c-ppoutput.c (print): Add src_file field.
4803 (init_pp_output): Initialize it.
4804 (maybe_print_line): Don't optimize by adding up to 8 newlines
4805 if map->to_file and print.src_file are different file.
4806 (print_line): Update print.src_file.
4807
82715bcd 48082011-03-25 Kai Tietz <ktietz@redhat.com>
4809
4810 * c-ada-spec.c (compare_comment): Use filename_cmp
4811 instead of strcmp for filename.
4812
451c8e2f 48132011-03-25 Jeff Law <law@redhat.com>
4814
1f78217c 4815 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4816
3c47771c 48172011-03-25 Jason Merrill <jason@redhat.com>
4818
4819 * c.opt: Add -std=c++03.
4820
97e6200f 48212011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4822
4823 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4824
ac86af5d 48252011-03-17 Kai Tietz
4826
4827 PR target/12171
ee212425 4828 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4829 Display allowed attributes for function pointer types.
4830 (pp_c_attributes_display): New function to display
4831 attributes having affects_type_identity flag set to true.
4832 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4833
ac86af5d 4834 * c-common.c (c_common_attribute_table):
4835 Add new element.
4836 (c_common_format_attribute_table): Likewise.
4837
914d1151 48382011-03-18 Jason Merrill <jason@redhat.com>
4839
69788bdf 4840 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4841 * c-common.h: Don't declare it here.
4842 * c-common.c: Or define it here.
4843 * c-opts.c (c_common_handle_option): Or set it here.
4844
914d1151 4845 PR c++/35315
4846 * c-common.c (handle_transparent_union_attribute): Don't
4847 make a duplicate type in C++.
4848
54cf6eed 48492011-03-15 Jason Merrill <jason@redhat.com>
4850
4851 * c-common.c (max_constexpr_depth): New.
4852 * c-common.h: Declare it.
4853 * c-opts.c (c_common_handle_option): Set it.
4854 * c.opt (fconstexpr-depth): New option.
4855
02cb1060 48562011-03-11 Jason Merrill <jason@redhat.com>
4857
9bf1c74e 4858 * c-common.c (attribute_takes_identifier_p): Add missing const.
4859
02cb1060 4860 PR c++/46803
4861 * c-common.c (attribute_takes_identifier_p): Assume that an
4862 unknown attribute takes an identifier.
4863
ecf2703d 48642011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4865
4866 PR c/47786
4867 * c-common.c (c_type_hash): Call list_length instead of iterating
4868 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4869
2b19dfe4 48702011-02-19 Jakub Jelinek <jakub@redhat.com>
4871
4872 PR c/47809
4873 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4874
29cf2335 48752011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4876
4877 * c.opt (fobjc-abi-version=) New.
4878 (fobjc-nilcheck): New.
4879
fad3f658 48802011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4881
4882 PR c++/46890
4883 * c-common.h (keyword_is_decl_specifier): Declare.
4884 * c-common.c (keyword_is_decl_specifier): Define.
4885 (keyword_is_function_specifier): New function.
4886
a12319b3 48872011-01-26 Jakub Jelinek <jakub@redhat.com>
4888
4889 PR c/47473
4890 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4891 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4892 REAL_TYPE.
4893
5c128dc8 48942011-01-26 Arnaud Charlet <charlet@adacore.com>
4895
4896 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4897
8d67b0c7 48982011-01-26 Jakub Jelinek <jakub@redhat.com>
4899
4900 PR pch/47430
4901 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4902 after init_c_lex if pch_file is set.
4903
0675168d 49042011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4905
e8911163 4906 PR c++/43601
0675168d 4907 * c.opt (-fkeep-inline-dllexport): New switch.
4908
0725e25c 49092011-01-12 Richard Guenther <rguenther@suse.de>
4910
4911 PR middle-end/32511
4912 * c-common.c (handle_weak_attribute): Warn instead of error
4913 on declaring an inline function weak.
4914
fdd84b77 49152011-01-05 Tom Tromey <tromey@redhat.com>
4916
4917 * c-common.h (lvalue_error): Update.
4918 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4919 not error.
4920
e6e73d14 49212010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 4922
d67e8485 4923 PR objc/47075
4924 * c-objc.h (objc_finish_message_expr): Added argument to
4925 prototype.
4926
a36cf284 49272010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4928
4929 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4930 Use prototype_p.
4931
33b3681f 49322010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4933
4934 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 4935 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 4936
a1f90215 49372010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4938
4939 * c-common.h (readonly_error): Declare.
4940 * c-common.c (readonly_error): Define.
4941
b1bbc8e5 49422010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4943
4944 * c-common.h (invalid_indirection_error): Declare.
4945 * c-common.c (invalid_indirection_error): Define.
4946
b0d55af9 49472010-12-03 Richard Guenther <rguenther@suse.de>
4948
4949 PR c/46745
4950 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4951 (pp_c_unary_expression): Likewise.
4952 (pp_c_expression): Likewise.
4953
d7489d8d 49542010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4955
4956 * c-common.h (objc_finish_function): New.
4957 (objc_non_volatilized_type): Removed.
4958 (objc_type_quals_match): Removed.
4959 * stub-objc.c (objc_finish_function): New.
4960 (objc_non_volatilized_type): Removed.
4961 (objc_type_quals_match): Removed.
19931eea 4962
92468061 49632010-11-30 Joseph Myers <joseph@codesourcery.com>
4964
4965 * c-common.h (parse_optimize_options): Declare.
4966 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4967 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4968
967958e4 49692010-11-29 Joseph Myers <joseph@codesourcery.com>
4970
4971 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4972 GET_ENVIRONMENT.
4973 * c-pch.c (O_BINARY): Don't define here.
4974 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4975
b213bf24 49762010-11-25 Joseph Myers <joseph@codesourcery.com>
4977
4978 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4979 targetm.except_unwind_info.
4980
9faf44d6 49812010-11-23 Joseph Myers <joseph@codesourcery.com>
4982
4983 * c-opts.c (c_common_handle_option): Pass location to
4984 set_struct_debug_option.
4985
79396169 49862010-11-23 Joseph Myers <joseph@codesourcery.com>
4987
4988 * c-common.c (visibility_options): Move from ../opts.c.
4989 * c-common.h (struct visibility_flags, visibility_options):
4990 Declare here.
4991 * c-opts.c (finish_options): Rename to c_finish_options.
4992 (c_common_init): Update call to finish_options.
4993
b4aa4123 49942010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4995
4996 PR objc/34033
4997 * c-lex.c (lex_string): Check that each string in an Objective-C
4998 string concat sequence starts with either one or zero '@', and
4999 that there are no spurious '@' signs at the end.
5000
3e0e49f2 50012010-11-20 Joseph Myers <joseph@codesourcery.com>
5002
5003 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5004 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5005 HANDLE_PRAGMA_VISIBILITY.
5006 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5007 HANDLE_PRAGMA_VISIBILITY): Don't define.
5008 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5009
a9ffdd35 50102010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5011
5012 PR c++/16189
5013 PR c++/36888
5014 PR c++/45331
5015 * c-common.h (keyword_begins_type_specifier): Declare.
5016 (keyword_is_storage_class_specifier): Declare.
5017 (keyword_is_type_qualifier): Declare.
5018 * c-common.c (keyword_begins_type_specifier): New function.
5019 (keyword_is_storage_class_specifier): New function.
5020 (keyword_is_type_qualifier): Declare.
5021
93be21c0 50222010-11-19 Joseph Myers <joseph@codesourcery.com>
5023
5024 PR c/46547
5025 * c-common.c (in_late_binary_op): Define.
5026 (c_common_truthvalue_conversion): Check in_late_binary_op before
5027 calling c_save_expr.
5028 * c-common.h (in_late_binary_op): Declare.
5029
d7175aef 50302010-11-19 Joseph Myers <joseph@codesourcery.com>
5031
5032 * c-opts.c (c_common_handle_option): Update calls to
5033 set_struct_debug_option.
5034
c213e196 50352010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5036
5037 * c-common.h (objc_declare_protocols): Added additional argument.
5038 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 5039
0b5fc5d6 50402010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5041
5042 PR c/33193
5043 * c-common.h (build_real_imag_expr): Declare.
5044 * c-semantics.c (build_real_imag_expr): Define.
5045
b8ba44e7 50462010-11-17 Joseph Myers <joseph@codesourcery.com>
5047
5048 * c-opts.c (c_common_parse_file): Take no arguments.
5049 * c-common.h (c_common_parse_file): Update prototype.
5050
6ef8d12f 50512010-11-16 Jakub Jelinek <jakub@redhat.com>
5052
5053 PR c++/46401
5054 * c-common.c (warning_candidate_p): Don't track non-const calls
5055 or STRING_CSTs.
5056
929d2a90 50572010-11-15 Ian Lance Taylor <iant@google.com>
5058
5059 * c-lex.c (init_c_lex): Set macro debug callbacks if
5060 flag_dump_go_spec is set.
5061
e4a7640a 50622010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5063
5064 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5065 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5066
597d2d81 50672010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5068
5069 PR preprocessor/45038
5070 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5071 dialects.
5072
c123f04d 50732010-11-12 Joseph Myers <joseph@codesourcery.com>
5074
5075 * c-common.h (c_family_lang_mask): Declare.
5076 * c-opts.c (c_family_lang_mask): Make extern.
5077 * c-pragma.c (handle_pragma_diagnostic): Use
5078 control_warning_option.
5079
3c6c0e40 50802010-11-12 Joseph Myers <joseph@codesourcery.com>
5081
5082 * c-common.c (parse_optimize_options): Update call to
5083 decode_options.
5084 * c-common.h (c_common_handle_option): Update prototype.
5085 * c-opts.c (c_common_handle_option): Take location_t parameter and
5086 pass it to other functions.
5087
19ec5c9e 50882010-11-11 Joseph Myers <joseph@codesourcery.com>
5089
5090 * c-opts.c (warning_as_error_callback): Remove.
5091 (c_common_initialize_diagnostics): Don't call
5092 register_warning_as_error_callback.
5093 (c_common_handle_option): Handle -Werror=normalized= here.
5094
bf776685 50952010-11-10 Joseph Myers <joseph@codesourcery.com>
5096
5097 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5098 in diagnostic.
5099 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5100 letter.
5101 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5102 Remove trailing '.' from diagnostics.
5103 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5104
6bd9d862 51052010-11-10 Joseph Myers <joseph@codesourcery.com>
5106
5107 * c-common.c (parse_optimize_options): Pass global_dc to
5108 decode_options.
5109 * c-opts.c (c_common_handle_option): Pass &global_options to
5110 set_Wstrict_aliasing.
5111 * c.opt (v): Don't mark Common or document here.
5112
1f6616ee 51132010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5114
5115 PR target/44981
5116 * c-format.c (format_type): New type gcc_objc_string_format_type.
5117 (valid_stringptr_type_p): New.
5118 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5119 (check_format_string): Pass expected type, use
1f6616ee 5120 valid_stringptr_type_p (), check that the format string types are
5121 consistent with the format specification.
5122 (decode_format_attr): Warn if NSString is used outside objective-c.
5123 (format_types_orig): Add NSString.
5124 (format_name): New.
5125 (format_flags): New.
5126 (check_format_arg): Handle format strings requiring an external parser.
5127 first_target_format_type: New variable.
5128 (handle_format_attribute): Set up first_target_format_type, pass the
5129 expected format arg string type to check_format_string().
5130 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5131 * stub-objc.c (objc_string_ref_type_p): New.
5132 (objc_check_format_arg): New.
5133
b0d0931f 51342010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5135
19931eea 5136 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5137 * c-common.h (objc_build_class_component_ref): New.
5138 * stub-objc.c (objc_build_class_component_ref): New.
5139
f26877d5 51402010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5141
5142 * c.opt (Wproperty-assign-default): New option.
5143
1ef143b6 51442010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5145
5146 Implemented -fobjc-std=objc1 flag.
5147 * c.opt (fobjc-std=objc1): New option.
5148
8c582e4f 51492010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5150
5151 Implemented format and noreturn attributes for Objective-C methods.
5152 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5153 attribute for Objective-C methods.
5154
8637f1db 51552010-10-31 Jason Merrill <jason@redhat.com>
5156
5157 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5158 EXPR_LOC_OR_HERE.
5159
9d9f5bb3 51602010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5161
5162 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5163 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5164 (objc_add_property_declaration): Removed arguments for copies and
5165 ivar.
5166 (objc_build_getter_call): Renamed to
5167 objc_maybe_build_component_ref.
5168 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5169 (objc_is_property_ref): New.
5170 * c-common.c (c_common_reswords): Removed copies and ivar.
5171 * stub-objc.c (objc_add_property_declaration): Removed arguments
5172 for copies and ivar.
5173 (objc_build_getter_call): Renamed to
5174 objc_maybe_build_component_ref.
5175 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5176 (objc_is_property_ref): New.
19931eea 5177
56f907a0 51782010-10-29 Arnaud Charlet <charlet@adacore.com>
5179 Matthew Gingell <gingell@adacore.com>
5180
5181 * c-ada-spec.c (separate_class_package): New function.
5182 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5183 name of their enclosing package.
5184 (print_ada_declaration): Use separate_class_package.
5185
b5fa273e 51862010-10-27 Jason Merrill <jason@redhat.com>
5187
5290e253 5188 * c-common.c (c_common_reswords): Add __is_literal_type.
5189 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5190
b5fa273e 5191 * c-common.c (check_case_value): Remove special C++ code.
5192
7590f0e5 51932010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5194
5195 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5196 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5197 and RID_LAST_PATTR.
5198 (objc_add_property_declaration): Added additional arguments.
5199 (objc_property_attribute_kind): Removed.
5200 (objc_set_property_attr): Removed.
5201 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5202 copy and nonatomic.
5203 * stub-objc.c (objc_add_property_declaration): Added additional
5204 arguments.
5205 (objc_set_property_attr): Removed.
19931eea 5206
1d894bcf 52072010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5208
5209 * c-common.h (objc_add_property_variable): Renamed to
5210 objc_add_property_declaration. Added location argument.
5211 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5212
e23bf1fb 52132010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5214
5215 * c-common.h (objc_maybe_printable_name): New.
5216 * stub-objc.c (objc_maybe_printable_name): New.
5217
93426222 52182010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5219 Andrew Pinski <pinskia@gmail.com>
5220
5221 * c-common.h (c_common_mark_addressable_vec): Declare.
5222 * c-common.c (c_common_mark_addressable_vec): New function.
5223
45b2b110 52242010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5225
5226 * c-common.h (objc_set_method_type): Removed.
5227 (objc_add_method_declaration): Added boolean argument.
5228 (objc_start_method_definition): Same change.
5229 (objc_build_method_signature): Same change.
5230 * stub-objc.c (objc_set_method_type): Removed.
5231 (objc_add_method_declaration): Added boolean argument.
5232 (objc_start_method_definition): Same change.
5233 (objc_build_method_signature): Same change.
5234
64cd9619 52352010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5236
5237 * c-common.h (finish_file): Removed.
5238 (objc_write_global_declarations): New.
5239 * c-opts.c (c_common_parse_file): Do not call finish_file.
5240 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5241
e1f293c0 52422010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5243
5244 Implemented parsing @synthesize and @dynamic for
5245 Objective-C/Objective-C++.
5246 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5247 (objc_add_synthesize_declaration): New.
5248 (objc_add_dynamic_declaration): New.
5249 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5250 * stub-objc.c (objc_add_synthesize_declaration): New.
5251 (objc_add_dynamic_declaration): New.
19931eea 5252
ef97a312 52532010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5254
5255 PR target/46041
5256 * c-cppbuiltin.c (mode_has_fma): Move function here from
5257 builtins.c. Don't use the fma optab, instead just use the
5258 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5259 using -save-temps.
5260
69b07042 52612010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5262
5263 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5264
69b07042 5265 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5266
19931eea 5267 Radar 4330422
69b07042 5268 * c-common.h (objc_non_volatilized_type): New declaration
5269 * stub-objc.c (objc_non_volatilized_type): New stub.
5270
f15f2e56 52712010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5272
69b07042 5273 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5274
5275 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5276
19931eea 5277 Radar 4133425
f15f2e56 5278 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5279 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5280
4a8875ed 52812010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5282
5283 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5284 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5285 (objc_ivar_visibility_kind): New enum.
5286 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5287 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5288 visibility enum.
5289
7e0713b1 52902010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5291
5292 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5293 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5294 has the appropriate fma builtins.
5295 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5296
86c110ac 52972010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5298
7e0713b1 5299 merge from FSF apple 'trunk' branch.
86c110ac 5300 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5301
86c110ac 5302 Radars 4436866, 4505126, 4506903, 4517826
5303 * c-common.c (c_common_resword): Define @property and its attributes.
5304 * c-common.h: Define property attribute enum entries.
5305 (OBJC_IS_PATTR_KEYWORD): New.
5306 (objc_property_attribute_kind): New enum.
5307 Declare objc_set_property_attr (), objc_add_property_variable (),
5308 objc_build_getter_call () and objc_build_setter_call ().
5309 * stub-objc.c (objc_set_property_attr): New stub.
5310 (objc_add_property_variable): Likewise.
5311 (objc_build_getter_call): Likewise.
5312 (objc_build_setter_call) Likewise.
7e0713b1 5313
40c8d1dd 53142010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5315
7e0713b1 5316 merge from FSF apple 'trunk' branch.
40c8d1dd 5317 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5318
5319 Radar 3803157 (method attributes)
5320 * c-common.c (handle_deprecated_attribute): Recognize
5321 objc methods as valid declarations.
5322 * c-common.h: Declare objc_method_decl ().
7e0713b1 5323 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5324
f3f006ad 53252010-10-08 Joseph Myers <joseph@codesourcery.com>
5326
5327 * c-common.c (parse_optimize_options): Call
5328 decode_cmdline_options_to_array_default_mask before
5329 decode_options. Update arguments to decode_options.
5330 * c-common.h (c_common_init_options_struct): Declare.
5331 * c-opts.c (c_common_init_options_struct): New. Split out from
5332 c_common_init_options.
5333
0a65c3bb 53342010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5335
5336 Implemented fast enumeration for Objective-C.
5337 * c-common.h (objc_finish_foreach_loop): New.
5338 * stub-objc.c (objc_finish_foreach_loop): New.
5339
24ca3b4e 53402010-10-05 Joseph Myers <joseph@codesourcery.com>
5341
5342 * c-common.h (struct diagnostic_context): Don't declare here.
5343 (c_common_initialize_diagnostics): Declare using
5344 diagnostic_context typedef.
5345 * c-opts.c (c_common_handle_option): Pass global_dc to
5346 handle_generated_option.
5347
f83b64ca 53482010-10-04 Joseph Myers <joseph@codesourcery.com>
5349
5350 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5351 handle_generated_option.
5352
2fdec027 53532010-10-03 Ian Lance Taylor <iant@google.com>
5354
5355 * c.opt (-fplan9-extensions): New option.
5356
41acdfa4 53572010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5358
5359 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5360 Remove.
5361 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5362 of duplicating code.
5363
069761fb 53642010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5365
5366 * c-common.c: Add two new entries for @optional
5367 and @required keywords.
5368
5369 merge from FSF 'apple/trunk' branch.
5370 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5371
5372 Radar 4386773
5373 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5374 objective-c keywords.
5375 (objc_set_method_opt): New declaration.
5376 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5377
2c5d2e39 53782010-09-30 Joseph Myers <joseph@codesourcery.com>
5379
5380 * c-common.c (handle_optimize_attribute): Pass &global_options to
5381 cl_optimization_save and cl_optimization_restore.
5382 * c-opts.c (c_common_handle_option): Pass &global_options to
5383 handle_generated_option.
5384 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5385 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5386 &global_options to cl_optimization_restore.
5387
e5c75ac3 53882010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5389
5390 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5391 Objective-C/Objective-C++ keywords.
5392
3511333e 53932010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5394
19931eea 5395 Merge from 'apple/trunk' branch on FSF servers.
5396
e147d6aa 5397 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5398
5399 Radar 4281748
5400 * c-common.h (objc_check_global_decl): New declaration.
5401 * stub-objc.c (objc_check_global_decl): New stub.
5402
5461e683 54032010-09-29 Joseph Myers <joseph@codesourcery.com>
5404
5405 * c.opt: Don't use VarExists.
5406
5ae82d58 54072010-09-29 Joseph Myers <joseph@codesourcery.com>
5408
5409 * c-common.c (c_cpp_error): Update names of diagnostic_context
5410 members.
5411 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5412 cl_optimization members.
5413 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5414 sanitize_cpp_opts, finish_options): Update names of cpp_options
5415 members.
5416
b27e241e 54172010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5418
5419 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5420 (objc_is_reserved_word): Removed.
5421 * c-common.c: Updated comments.
5422 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5423 objc_is_reserved_word.
5424 * stub-objc.c (objc_is_reserved_word): Removed.
5425
03fc2271 54262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5427
19931eea 5428 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5429 include attributes.
5430 (objc_start_method_definition): Likewise.
5431 (objc_build_keyword_decl): Likewise.
5432 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5433 (objc_start_method_definition): Likewise.
5434 (objc_build_keyword_decl): Likewise.
5435
a336eb4b 54362010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5437
5438 * c-common.h (objc_start_class_interface): Adjust prototype.
5439 (objc_start_category_interface): Likewise.
5440 (objc_start_protocol): Likewise.
5441 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5442 (objc_start_class_interface): Likewise.
5443 (objc_start_category_interface): Likewise.
5444
48b14f50 54452010-09-27 Ian Lance Taylor <iant@google.com>
5446
5447 * c-common.c (c_common_attribute_table): Add no_split_stack.
5448 (handle_no_split_stack_attribute): New static function.
5449
4abfc532 54502010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5451
19931eea 5452 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5453
5454 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5455
19931eea 5456 Radar 4229905
4abfc532 5457 * c-common.h (objc_have_common_type): New declaration.
5458 * stub-objc.c (objc_have_common_type): New stub.
5459
5460 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5461
5462 Radar 4154928
5463 * c-common.h (objc_common_type): New prototype.
19931eea 5464 * stub-objc.c (objc_common_type): New stub.
4abfc532 5465
7bd95dfd 54662010-09-24 Jan Hubicka <jh@suse.cz>
5467
5468 * c-common.c (handle_leaf_attribute): New function.
5469 (struct attribute_spec c_common_att): Add leaf.
5470
5789e05b 54712010-09-22 Joseph Myers <joseph@codesourcery.com>
5472
5473 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5474 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5475 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5476 -include-barrier, -include-directory, -include-directory=,
5477 -include-directory-after, -include-directory-after=,
5478 -include-prefix, -include-prefix=, -include-with-prefix,
5479 -include-with-prefix=, -include-with-prefix-after,
5480 -include-with-prefix-after=, -include-with-prefix-before,
5481 -include-with-prefix-before=, -no-integrated-cpp,
5482 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5483 -output=, -pedantic, -pedantic-errors, -preprocess,
5484 -print-missing-file-dependencies, -trace-includes, -traditional,
5485 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5486 -user-dependencies, -verbose, -write-dependencies,
5487 -write-user-dependencies, no-integrated-cpp, traditional): New.
5488
e6fb54ba 54892010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5490
5491 PR objc/23710
9b60f3b0 5492 * c-common.h (objc_start_method_definition): Return bool instead
5493 of void.
5494 * stub-objc.c (objc_start_method_definition): Return bool instead
5495 of void.
5496
54972010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5498
5499 PR objc/25965
5500 * c-common.h (objc_get_interface_ivars): New declaration.
5501 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5502
e44b0a1f 55032010-09-15 Ian Lance Taylor <iant@google.com>
5504
5505 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5506 messages. Remove period at end of warning message.
e44b0a1f 5507
85c0a25c 55082010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5509
5510 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5511 (handle_alias_attribute): ... here.
5512 (handle_ifunc_attribute): New.
5513
5ba33bf4 55142010-09-06 Mark Mitchell <mark@codesourcery.com>
5515
5516 * c-common.h (do_warn_double_promotion): Declare.
5517 * c-common.c (do_warn_double_promotion): Define.
5518
c920faa3 55192010-09-05 Mark Mitchell <mark@codesourcery.com>
5520
5521 * c.opt (Wdouble-promotion): New.
5522
9604e070 55232010-09-02 Joseph Myers <joseph@codesourcery.com>
5524
5525 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5526 fvtable-thunks, fxref): Mark no longer supported in help text.
5527
3b0273a1 55282010-09-02 Joseph Myers <joseph@codesourcery.com>
5529
5530 * c.opt (Wimport, fall-virtual, falt-external-templates,
5531 fdefault-inline, fenum-int-equiv, fexternal-templates,
5532 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5533 fname-mangling-version-, fnew-abi, fnonnull-objects,
5534 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5535 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5536 applicable.
5537 (fhandle-exceptions): Mark with Alias and Warn.
5538 * c-opts.c (c_common_handle_option): Don't handle options marked
5539 as ignored.
5540
67089c6b 55412010-09-02 Joseph Myers <joseph@codesourcery.com>
5542
5543 * c.opt (Wcomments, Werror-implicit-function-declaration,
5544 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5545 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5546 aliases.
5547 * c-common.c (option_codes): Use OPT_Wcomment instead of
5548 OPT_Wcomments.
5549 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5550 Don't handle options marked as aliases.
5551
2af087f2 55522010-08-25 Richard Guenther <rguenther@suse.de>
5553
5554 * c-common.c (c_common_get_alias_set): Remove special
5555 handling for pointers.
5556
48148244 55572010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5558
5559 * c-common.c: Use FOR_EACH_VEC_ELT.
5560 * c-gimplify.c: Likewise.
5561 * c-pragma.c: Likewise.
5562
89c69892 55632010-08-16 Joseph Myers <joseph@codesourcery.com>
5564
5565 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5566 RejectDriver.
5567 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5568 RejectDriver.
5569 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5570 instead of OPT_MDX and OPT_MMDX.
5571
e28aa114 55722010-08-16 Joseph Myers <joseph@codesourcery.com>
5573
5574 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5575
99b66d21 55762010-08-12 Joseph Myers <joseph@codesourcery.com>
5577
5578 * c.opt (MD, MMD): Change to MDX and MMDX.
5579 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5580
666f4bf0 55812010-08-11 Joseph Myers <joseph@codesourcery.com>
5582
5583 * c-opts.c (c_common_handle_option): Call handle_generated_option
5584 instead of handle_option.
5585
5ec815f6 55862010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5587
5588 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5589 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5590
d13143cf 55912010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5592
5593 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5594 (pending_redefine_extname): Change type to a VEC.
5595 (add_to_renaming_pragma_list): Update for new type of
5596 pending_redefine_extname.
5ec815f6 5597 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5598
2008c983 55992010-08-04 Arnaud Charlet <charlet@adacore.com>
5600
5601 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5602 visited.
5603 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5604 decide whether a type has already been declared/seen.
5605 Do not go to the original type.
5606 (dump_nested_types): New parameter forward.
5607 Generate forward declaration if needed and mark type as visited.
5608 (print_ada_declaration): Call dump_nested_types if not already done.
5609 Mark types as visited.
5610
9b091a73 56112010-08-03 Joseph Myers <joseph@codesourcery.com>
5612
5613 * c.opt (-print-pch-checksum): Remove option.
5614 * c-opts.c (c_common_handle_option): Don't handle
5615 OPT_print_pch_checksum.
5616
b78351e5 56172010-07-27 Joseph Myers <joseph@codesourcery.com>
5618
5619 * c-common.h (c_common_handle_option): Update prototype and return
5620 value type.
5621 * c-opts.c (c_common_handle_option): Update prototype and return
5622 value type. Update calls to handle_option and
5623 enable_warning_as_error.
5624
34416a90 56252010-07-27 Jakub Jelinek <jakub@redhat.com>
5626
5627 PR c/45079
5628 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5629
fecf9011 56302010-07-27 Joseph Myers <joseph@codesourcery.com>
5631
5632 * c-common.h (c_common_missing_argument): Remove.
5633 * c-opts.c (c_common_missing_argument): Remove.
5634 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5635 idirafter, imacros, include, isysroot, isystem, iquote): Add
5636 MissingArgError.
5637 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5638
e88d34f6 56392010-07-27 Joseph Myers <joseph@codesourcery.com>
5640
5641 * c-common.h (c_common_option_lang_mask,
5642 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5643 New.
5644 (c_common_init_options): Update prototype.
5645 * c-opts.c (c_common_option_lang_mask): New.
5646 (c_common_initialize_diagnostics): Split out of
5647 c_common_init_options.
5648 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5649 New.
5650 (c_common_init_options): Update prototype. Use decoded options in
5651 search for -lang-asm.
5652
1767a056 56532010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5654
5655 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5656 * c-format.c: Likewise.
5657
0b205f4c 56582010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5659
5660 * c-common.h: Include diagnostic-core.h. Error if already
5661 included.
5662 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5663
1c58e3f1 56642010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5665
1f78217c 5666 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5667 Do not include expr.h
5668 (vector_mode_valid_p): Move here.
5669
33cc157c 56702010-06-21 DJ Delorie <dj@redhat.com>
5671
5672 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5673 allow these pragmas anywhere.
5674
56752010-06-14 Jakub Jelinek <jakub@redhat.com>
5676
5677 PR bootstrap/44509
5678 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5679 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5680 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5681 ggc_strdup instead of xstrdup.
5682
56832010-06-10 Jakub Jelinek <jakub@redhat.com>
5684
5685 * c-cppbuiltin.c: Include cpp-id-data.h.
5686 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5687 (lazy_hex_fp_value): New function.
5688 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5689
9b40bfbf 56902010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5691
5692 * c-gimplify.c: Do not include tree-flow.h
5693
202d6e5f 56942010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5695
5696 PR other/44034
5697 * c-common.c: Rename targetm member:
5698 targetm.enum_va_list -> targetm.enum_va_list_p
5699
d3237426 57002010-06-28 Anatoly Sokolov <aesok@post.ru>
5701
5702 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5703
596981c8 57042010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5705
5706 * c-cppbuiltin.c: Do not include except.h.
5707
b9bdfa0b 57082010-06-24 Andi Kleen <ak@linux.intel.com>
5709
19931eea 5710 * c-common.c (warn_for_omitted_condop): New.
5711 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5712
55ad092d 57132010-06-21 Joseph Myers <joseph@codesourcery.com>
5714
5715 * c.opt (lang-objc): Remove.
5716 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5717
9e7c2572 57182010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5719
5720 * c-opts.c: Include "tm_p.h".
5721
615ef0bb 57222010-06-20 Joseph Myers <joseph@codesourcery.com>
5723
5724 * c-common.c (parse_optimize_options): Update call to
5725 decode_options.
5726
aef48c9a 57272010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5728
5729 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5730 new type of types_used_by_cur_var_decl.
5731
d74003b4 57322010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5733
5734 PR bootstrap/44512
5735 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5736 for C++ standard compliance.
5737
1194d077 57382010-06-16 Jason Merrill <jason@redhat.com>
5739
5740 * c.opt: Add -Wnoexcept.
5741
d473d901 57422010-06-16 Richard Guenther <rguenther@suse.de>
5743
5744 PR c/44555
5745 * c-common.c (c_common_truthvalue_conversion): Remove
5746 premature and wrong optimization concering ADDR_EXPRs.
5747
b62dbfd3 57482010-06-15 Arnaud Charlet <charlet@adacore.com>
5749
5750 * c-ada-spec.c (dump_sloc): Remove column info.
5751 (is_simple_enum): New function.
5752 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5753 enum types when relevant.
5754
200dd99c 57552010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5756
19931eea 5757 * c-common.c (conversion_warning): Warn at expression
200dd99c 5758 location.
5759
abf6a617 57602010-06-10 Joseph Myers <joseph@codesourcery.com>
5761
5762 * c-opts.c (c_common_handle_option): Don't handle
5763 OPT_fshow_column.
5764
ba72912a 57652010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5766
5767 * c-pragma.c (push_alignment): Use typed GC allocation.
5768 (handle_pragma_push_options): Likewise.
5769
5770 * c-common.c (parse_optimize_options): Likewise.
5771
5772 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5773 option.
5774
4aafe913 57752010-06-07 Joseph Myers <joseph@codesourcery.com>
5776
5777 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5778 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5779 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5780 flag_signed_bitfields, warn_strict_null_sentinel,
5781 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5782 flag_gen_declaration, flag_no_gnu_keywords,
5783 flag_implement_inlines, flag_implicit_templates,
5784 flag_implicit_inline_templates, flag_optional_diags,
5785 flag_elide_constructors, flag_default_inline, flag_rtti,
5786 flag_conserve_space, flag_access_control, flag_check_new,
5787 flag_new_for_scope, flag_weak, flag_working_directory,
5788 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5789 flag_enforce_eh_specs, flag_threadsafe_statics,
5790 flag_pretty_templates): Remove.
5791 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5792 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5793 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5794 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5795 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5796 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5797 flag_no_gnu_keywords, flag_implement_inlines,
5798 flag_implicit_templates, flag_implicit_inline_templates,
5799 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5800 flag_rtti, flag_conserve_space, flag_access_control,
5801 flag_check_new, flag_new_for_scope, flag_weak,
5802 flag_working_directory, flag_use_cxa_atexit,
5803 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5804 flag_threadsafe_statics, flag_pretty_templates,
5805 warn_strict_null_sentinel): Remove.
5806 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5807 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5808 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5809 fimplicit-inline-templates, fimplicit-templates,
5810 flax-vector-conversions, fms-extensions, fnil-receivers,
5811 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5812 frtti, fshort-double, fshort-enums, fshort-wchar,
5813 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5814 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5815 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5816 gen-decls, undef): Use Var.
5817 (fdefault-inline, foptional-diags): Document as doing nothing.
5818 * c-opts.c (c_common_handle_option): Remove cases for options now
5819 using Var. Mark ignored options as such.
5820
7bedc3a0 58212010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5822
19931eea 5823 * c-common.c: Moved to here from parent directory.
7bedc3a0 5824 * c-common.def: Likewise.
5825 * c-common.h: Likewise.
5826 * c-cppbuiltin.c: Likewise.
5827 * c-dump.c: Likewise.
5828 * c-format.c: Likewise.
5829 * c-format.h : Likewise.
5830 * c-gimplify.c: Likewise.
5831 * c-lex.c: Likewise.
5832 * c-omp.c: Likewise.
5833 * c.opt: Likewise.
5834 * c-opts.c: Likewise.
5835 * c-pch.c: Likewise.
5836 * c-ppoutput.c: Likewise.
5837 * c-pragma.c: Likewise.
5838 * c-pragma.h: Likewise.
5839 * c-pretty-print.c: Likewise.
5840 * c-pretty-print.h: Likewise.
5841 * c-semantics.c: Likewise.
5842 * stub-objc.c: Likewise.
5843
5844 * c-common.c: Include gt-c-family-c-common.h.
5845 * c-pragma.c: Include gt-c-family-c-pragma.h.
5846\f
d353bf18 5847Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5848
5849Copying and distribution of this file, with or without modification,
5850are permitted in any medium without royalty provided the copyright
5851notice and this notice are preserved.