]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Add missing changelog entry
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
c0998828 12015-12-15 Ilya Verbin <ilya.verbin@intel.com>
2
3 * c-common.c (c_common_attribute_table): Handle "omp declare target
4 link" attribute.
5
7ca909c6 62015-12-14 Jakub Jelinek <jakub@redhat.com>
7
8 PR c/68833
9 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
10
d9102cbe 112014-12-12 Tobias Burnus <burnus@net-b.de>
12
13 PR fortran/68815
14 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
15 specifiers (%d, %i,%u and %c).
16
a515ebdf 172015-12-10 David Malcolm <dmalcolm@redhat.com>
18
19 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
20
31ba81bd 212015-12-08 Jakub Jelinek <jakub@redhat.com>
22
23 PR c/48088
24 PR c/68657
25 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
26 * c-pragma.c (handle_pragma_diagnostic): Adjust
27 control_warning_option caller.
28
d0f713f4 292015-12-07 David Malcolm <dmalcolm@redhat.com>
30
31 * c-common.c (c_cpp_error): Update for change to
32 rich_location::set_range.
33
32d050b5 342015-12-04 Paolo Bonzini <bonzini@gnu.org>
35
36 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
37 shifting 1 out of the sign bit.
38
392015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
40
41 * c-common.c (c_common_attribute_table[]): Update max arguments
42 count for "simd" attribute.
43 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
44
6a8fbd7a 452015-12-03 Jakub Jelinek <jakub@redhat.com>
46
47 PR preprocessor/57580
48 * c-ppoutput.c (print): Change printed field to bool.
49 Move src_file last for smaller padding.
50 (init_pp_output): Set print.printed to false instead of 0.
51 (scan_translation_unit): Fix up formatting. Set print.printed
52 to true after printing something other than newline.
53 (scan_translation_unit_trad): Set print.printed to true instead of 1.
54 (maybe_print_line_1): Set print.printed to false instead of 0.
55 (print_line_1): Likewise.
56 (do_line_change): Set print.printed to true instead of 1.
57 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
58 dump_macro): Set print.printed to false after printing newline.
59
da562e32 602015-12-02 Jason Merrill <jason@redhat.com>
61
9c691dbd 62 * c-common.c (fold_for_warn): New.
63 (warn_logical_operator, warn_tautological_cmp)
64 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
65
da562e32 66 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
67 (c_fully_fold_internal, decl_constant_value_for_optimization):
68 Move to c/c-fold.c.
69 * c-common.h: Don't declare decl_constant_value_for_optimization.
70
89f16034 712015-12-02 Joseph Myers <joseph@codesourcery.com>
72
73 PR c/68162
74 * c-common.h (c_build_qualified_type): Add extra default
75 arguments.
76
571b3486 772015-12-01 Julian Brown <julian@codesourcery.com>
78 Cesar Philippidis <cesar@codesourcery.com>
79 James Norris <James_Norris@mentor.com>
80
81 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
82 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
83 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
84
ed92a461 852015-11-30 Eric Botcazou <ebotcazou@adacore.com>
86
87 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
88 (decl_sloc_common): Delete and move bulk of processing to...
89 (decl_sloc): ...here.
90 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
91 (dump_ada_double_name): Remove S parameter and compute the suffix.
92 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
93 element type and deal with an anonymous one.
94 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
95 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
96 and remove reference to QUAL_UNION_TYPE.
97 (dump_nested_types): Make 2 passes on the fields and move bulk to...
98 (dump_nested_type): ...here. New function extracted from above.
99 Generate a full declaration for anonymous element type of arrays.
100 (print_ada_declaration): Really skip anonymous declarations. Remove
101 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
102 Clean up processing of declarations of array types and objects.
103 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
104 Remove obsolete code and tidy up.
105
c25b3e3f 1062015-11-29 Jan Hubicka <hubicka@ucw.cz>
107
108 PR c/67581
109 * c-common.c (handle_transparent_union_attribute): Update
110 also type variants.
111
d4e328e9 1122015-11-27 Martin Liska <mliska@suse.cz>
113
114 PR c++/68312
115 * array-notation-common.c (cilkplus_extract_an_triplets):
116 Release vector of vectors.
117 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
118
f63d9c4e 1192015-11-26 Eric Botcazou <ebotcazou@adacore.com>
120
121 PR c++/68527
122 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
123 (print_ada_struct_decl): Likewise.
124
8d63c601 1252015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
126
127 PR c++/68001
128 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
129 * cilk.c (recognize_spawn): Determine location in a more precise
130 way.
131
01f11119 1322015-11-19 Jason Merrill <jason@redhat.com>
133
134 * c-common.c (shorten_compare): But look through macros from
135 system headers.
136
2d3d3af7 1372015-11-18 Jason Merrill <jason@redhat.com>
138
139 * c-common.c (shorten_compare): Don't -Wtype-limits if the
140 non-constant operand comes from a macro.
141
7991eeee 1422015-11-17 Jason Merrill <jason@redhat.com>
143
144 PR bootstrap/68346
145 * c-common.c (warn_tautological_cmp): Fold before checking for
146 constants.
147
73f67931 1482015-11-16 Marek Polacek <polacek@redhat.com>
149
150 PR c++/68362
151 * c-common.c (check_case_bounds): Fold low and high cases.
152
8e539fdc 1532015-11-16 Marek Polacek <polacek@redhat.com>
154
155 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
156 * c-common.c (c_common_get_alias_set): Likewise.
157 (handle_visibility_attribute): Likewise.
158
c58a4cfd 1592015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
160
161 * c-common.c (handle_simd_attribute): New.
162 (struct attribute_spec): Add entry for "simd".
163 (handle_simd_attribute): New.
164
bb036391 1652015-11-13 Kai Tietz <ktietz70@googlemail.com>
166
167 * c-lex.c (interpret_float): Use fold_convert.
168
a96cefb2 1692015-11-13 David Malcolm <dmalcolm@redhat.com>
170
171 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
172 and store it on the result.
173 * c-opts.c (c_common_init_options): Set
174 global_dc->colorize_source_p.
175
2fc5e987 1762015-11-12 James Norris <jnorris@codesourcery.com>
177 Joseph Myers <joseph@codesourcery.com>
178
179 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
180 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
181 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
182 PRAGMA_OACC_CLAUSE_LINK.
183
81b1b2a8 1842015-11-11 Marek Polacek <polacek@redhat.com>
185
186 PR c/68107
187 PR c++/68266
188 * c-common.c (valid_array_size_p): New function.
189 * c-common.h (valid_array_size_p): Declare.
190
4f3707ca 1912015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
192
193 PR bootstrap/68271
194 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
195
6e803544 1962015-11-11 Andrew MacLeod <amacleod@redhat.com>
197
198 * array-notation-common.c: Remove unused header files.
199 * c-ada-spec.c: Likewise.
200 * c-cilkplus.c: Likewise.
201 * c-common.c: Likewise.
202 * c-cppbuiltin.c: Likewise.
203 * c-dump.c: Likewise.
204 * c-format.c: Likewise.
205 * c-gimplify.c: Likewise.
206 * c-indentation.c: Likewise.
207 * c-lex.c: Likewise.
208 * c-omp.c: Likewise.
209 * c-opts.c: Likewise.
210 * c-pch.c: Likewise.
211 * c-ppoutput.c: Likewise.
212 * c-pragma.c: Likewise.
213 * c-pretty-print.c: Likewise.
214 * c-semantics.c: Likewise.
215 * c-ubsan.c: Likewise.
216 * cilk.c: Likewise.
217 * stub-objc.c: Likewise.
218
a1b7fe4b 2192015-11-09 Thomas Schwinge <thomas@codesourcery.com>
220 Cesar Philippidis <cesar@codesourcery.com>
221 James Norris <jnorris@codesourcery.com>
222 Julian Brown <julian@codesourcery.com>
223 Nathan Sidwell <nathan@codesourcery.com>
224
225 * c-pragma.c (oacc_pragmas): Add "routine".
226 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
227
292237f3 2282015-11-08 Eric Botcazou <ebotcazou@adacore.com>
229
230 * c-common.c (c_common_attributes): Add scalar_storage_order.
231 (handle_scalar_storage_order_attribute): New function.
232 * c-pragma.c (global_sso): New variable.
233 (maybe_apply_pragma_scalar_storage_order): New function.
234 (handle_pragma_scalar_storage_order): Likewise.
235 (init_pragma): Register scalar_storage_order.
236 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
237 * c.opt (Wscalar-storage-order): New warning.
238 (fsso-struct=): New option.
239
b4a4c5fa 2402015-11-08 Martin Sebor <msebor@redhat.com>
241
242 * c.opt (Wplacement-new): Add a period to the end of a sentence.
243
ac677063 2442015-11-07 Richard Sandiford <richard.sandiford@arm.com>
245
246 * c-common.c: Don't undef DEF_BUILTIN.
247
f0479000 2482015-11-06 David Malcolm <dmalcolm@redhat.com>
249
250 * c-common.c (c_cpp_error): Convert parameter from location_t to
251 rich_location *. Eliminate the "column_override" parameter and
252 the call to diagnostic_override_column.
253 Update the "done_lexing" clause to set range 0
254 on the rich_location, rather than overwriting a location_t.
255 * c-common.h (c_cpp_error): Convert parameter from location_t to
256 rich_location *. Eliminate the "column_override" parameter.
257
ef014f95 2582015-11-05 Cesar Philippidis <cesar@codesourcery.com>
259 Thomas Schwinge <thomas@codesourcery.com>
260 James Norris <jnorris@codesourcery.com>
261
262 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
263 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
264 clauses with parallel and kernels and loops.
265 * c-pragma.h (enum pragma_omp_clause): Add entries for
266 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
267 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
268 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
269 INDEPENDENT,SEQ}.
270 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
271
e520488c 2722015-11-05 Martin Sebor <msebor@redhat.com>
273
274 PR c++/67942
275 * c.opt (-Wplacement-new): New option.
276
9561765e 2772015-11-05 Jakub Jelinek <jakub@redhat.com>
278
279 * c-common.h (c_finish_omp_atomic): Add TEST argument.
280 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
281 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
282 save_expr or create_tmp_var* if TEST is true.
283 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
284 Don't call add_stmt here.
285 (struct c_omp_check_loop_iv_data): New type.
286 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
287 c_omp_check_loop_iv_exprs): New functions.
288 (c_omp_split_clauses): Adjust for lastprivate being allowed on
289 distribute.
290 (c_omp_declare_simd_clauses_to_numbers): Change
291 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
292 (c_omp_declare_simd_clauses_to_decls): Similarly change those
293 from numbers to PARM_DECLs.
294
5e8689fb 2952015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
296
297 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
298 flag_checking.
299
aeaccb75 3002015-11-03 Bernd Schmidt <bschmidt@redhat.com>
301
302 PR c++-common/67882
32d050b5 303 * c-common.h (fold_offsetof_1): Add argument.
304 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 305 offsetof expressions that reference elements past the end of
306 an array.
307
9e10bfb7 3082015-11-03 Thomas Schwinge <thomas@codesourcery.com>
309 Chung-Lin Tang <cltang@codesourcery.com>
310
311 * c-pragma.c (oacc_pragmas): Add "atomic".
312 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
313
ab50af2a 3142015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
315
316 * c-common.c (handle_target_clones_attribute): New.
317 (c_common_attribute_table): Add handle_target_clones_attribute.
318 (handle_always_inline_attribute): Add check on target_clones attribute.
319 (handle_target_attribute): Ditto.
320
4cba6f60 3212015-10-29 Andrew MacLeod <amacleod@redhat.com>
322
323 * array-notation-common.c: Reorder #include's and remove duplicates.
324 * c-ada-spec.c: Likewise.
325 * c-cilkplus.c: Likewise.
326 * c-common.c: Likewise.
327 * c-cppbuiltin.c: Likewise.
328 * c-dump.c: Likewise.
329 * c-format.c: Likewise.
330 * c-gimplify.c: Likewise.
331 * c-indentation.c: Likewise.
332 * c-lex.c: Likewise.
333 * c-omp.c: Likewise.
334 * c-opts.c: Likewise.
335 * c-pch.c: Likewise.
336 * c-ppoutput.c: Likewise.
337 * c-pragma.c: Likewise.
338 * c-pretty-print.c: Likewise.
339 * c-semantics.c: Likewise.
340 * c-ubsan.c: Likewise.
341 * cilk.c: Likewise.
342 * stub-objc.c: Likewise.
343
f576a2e4 3442015-10-28 Jason Merrill <jason@redhat.com>
345
346 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
347
2c4c8725 3482015-10-27 Thomas Schwinge <thomas@codesourcery.com>
349 James Norris <jnorris@codesourcery.com>
350 Cesar Philippidis <cesar@codesourcery.com>
351
352 PR c/64765
353 PR c/64880
354 * c-common.h (c_oacc_split_loop_clauses): Declare function.
355 * c-omp.c (c_oacc_split_loop_clauses): New function.
356
8204c077 3572015-10-21 Martin Sebor <msebor@redhat.com>
358
359 PR driver/68043
360 * c.opt: End each sentence that describes an option with a period.
361
8523243e 3622015-10-20 Marek Polacek <polacek@redhat.com>
363
364 * array-notation-common.c (is_cilkplus_vector_p): Define.
365 * c-common.h (is_cilkplus_vector_p): Declare.
366
08881cb8 3672015-10-20 Marek Polacek <polacek@redhat.com>
368
369 * c.opt (std=gnu++11): Do not describe as experimental.
370 (std=gnu++14): Likewise.
371
a36e5e5e 3722015-10-19 Jason Merrill <jason@redhat.com>
373
374 * c-cppbuiltin.c (c_cpp_builtins): Define
375 __cpp_nontype_template_args.
376
a349de0a 3772015-10-19 Jason Merrill <jason@redhat.com>
378
379 * c-cppbuiltin.c (c_cpp_builtins): Define
380 __cpp_enumerator_attributes, __cpp_fold_expressions,
381 __cpp_unicode_characters.
382
43895be5 3832015-10-13 Jakub Jelinek <jakub@redhat.com>
384 Aldy Hernandez <aldyh@redhat.com>
385
386 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
387 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
388 (c_define_builtins): Likewise.
389 * c-common.h (enum c_omp_clause_split): Add
390 C_OMP_CLAUSE_SPLIT_TASKLOOP.
391 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
392 (c_finish_omp_for): Add ORIG_DECLV argument.
393 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
394 201511 instead of 201307.
395 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
396 OMP_CRITICAL_CLAUSES to it.
397 (c_finish_omp_ordered): Add CLAUSES argument, set
398 OMP_ORDERED_CLAUSES to it.
399 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
400 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
401 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
402 constructs and new OpenMP 4.5 clauses. Clear
403 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
404 verification code.
405 * c-pragma.c (omp_pragmas_simd): Add taskloop.
406 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
407 (enum pragma_omp_clause): Add
408 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
409 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
410
20cb53c9 4112015-10-05 Richard Sandiford <richard.sandiford@arm.com>
412
413 * c-lex.c (interpret_float): Use real_equal instead of
414 REAL_VALUES_EQUAL.
415
6d02e6b2 4162015-10-04 Jason Merrill <jason@redhat.com>
417
418 Implement N4514, C++ Extensions for Transactional Memory.
419 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
420 (c_common_attribute_table): Add transaction_safe_dynamic.
421 transaction_safe now affects type identity.
422 (handle_tm_attribute): Handle transaction_safe_dynamic.
423 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
424 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
425 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
426 (D_TRANSMEM): New.
427 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
428 * c-pretty-print.c (pp_c_attributes_display): Don't print
429 transaction_safe in C++.
430
c0999a5d 4312015-10-02 Marek Polacek <polacek@redhat.com>
432
433 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
434
ef17a71a 4352015-10-02 Marek Polacek <polacek@redhat.com>
436
437 PR c/64249
438 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
439 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
440 * c.opt (Wduplicated-cond): New option.
441
05b84e7b 4422015-10-01 Joseph Myers <joseph@codesourcery.com>
443
444 * c.opt (std=c11): Do not describe as experimental.
445 (std=gnu11): Likewise.
446 (std=iso9899:2011): Likewise.
447
e561d5e1 4482015-09-28 Nathan Sidwell <nathan@codesourcery.com>
449
450 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
451 (DEF_FUNCTION_TYPE_VAR_11): Delete.
452
bd4b90d2 4532015-09-25 Marek Polacek <polacek@redhat.com>
454
455 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
456 (ubsan_instrument_shift): Likewise.
457
ac13b2b2 4582015-09-25 Marek Polacek <polacek@redhat.com>
459
460 PR sanitizer/64906
461 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
462
a3c82f4c 4632015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
464
465 * c-indentation.c (should_warn_for_misleading_indentation):
466 Compare next_stmt_vis_column with guard_line_first_nws instead
467 of with guard_line_vis_column.
468
5eef101d 4692015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
470
471 PR c/49654
472 PR c/49655
473 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
474 options and options not valid for the current language.
475
60897493 4762015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
477
478 * c-indentation.c (should_warn_for_misleading_indentation):
479 Float out and consolidate the calls to get_visual_column that
480 are passed guard_exploc as an argument. Compare
481 next_stmt_vis_column with guard_line_first_nws instead of with
482 body_line_first_nws.
483
85c93154 4842015-09-22 Nathan Sidwell <nathan@codesourcery.com>
485
486 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
487 Wnamespaces): New C++ warnings.
488
229a58b1 4892015-09-22 Jason Merrill <jason@redhat.com>
490
491 * c-common.h (abi_compat_version_crosses): New.
492 (warn_abi_version): Declare.
493 * c-common.c: Define it.
494 * c-opts.c (c_common_post_options): Handle it.
495 flag_abi_compat_version defaults to 8.
496
2d2de569 4972015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
498
499 Complete the implementation of N4230, Nested namespace definition.
500 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
501 __cpp_nested_namespace_definitions.
502
2b897e68 5032015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
504
505 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
506
ed536208 5072015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
508
509 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
510 when warning.
511 * c-pragma.h (pragma_lex): Add optional loc argument.
512
1dc6c44d 5132015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
514
515 * c-format.c (check_format_arg): Adjust to use common block size in all
516 object pools.
517
be812248 5182015-09-15 David Malcolm <dmalcolm@redhat.com>
519
520 * c-format.c (location_from_offset): Update for change in
521 signature of location_get_source_line.
522 * c-indentation.c (get_visual_column): Likewise.
523 (line_contains_hash_if): Likewise.
524
e4cc057f 5252015-09-14 Marek Polacek <polacek@redhat.com>
526
527 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
528 setting various warnings.
529
85f5e2ee 5302015-09-14 Marek Polacek <polacek@redhat.com>
531
532 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
533 a negative value.
534
1bca8cbd 5352015-09-11 Mark Wielaard <mjw@redhat.com>
536
537 PR c/28901
538 * c.opt (Wunused-variable): Option from common.opt.
539 (Wunused-const-variable): New option.
540
ee48893a 5412015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
542
543 PR c++/53184
544 * c.opt ([Wsubobject-linkage]): Add.
545
547c6b1f 5462015-09-03 Martin Sebor <msebor@redhat.com>
547
548 PR c/66516
549 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
550 functions.
551 * c-common.c (reject_gcc_builtin): Define.
552
7e976b10 5532015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
554
555 PR middle-end/60586
556 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
557 prototype.
558 * c-gimplify.c (c_gimplify_expr): Added a call to the function
559 cilk_gimplify_call_params_in_spawned_fn.
560 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
561 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
562 unwrapping.
563
9e6bcade 5642015-08-25 Marek Polacek <polacek@redhat.com>
565
566 PR middle-end/67330
567 * c-common.c (handle_weak_attribute): Don't check whether the
568 visibility can be changed here.
569
af9de21d 5702015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
571
572 * c-lex.c (c_lex_with_flags): Use explicit locations.
573
6dc50383 5742015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
575
576 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
577 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
578
10902624 5792015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
580
581 PR middle-end/36757
582 * c-common.c (check_builtin_function_arguments): Add check
583 for BUILT_IN_SIGNBIT argument.
584
a03a71ab 5852015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
586
587 PR c++/67160
588 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
589 in c++1z mode.
590
22723c26 5912015-08-17 Marek Polacek <polacek@redhat.com>
592
593 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
594 with whitespaces before qualifier names.
595
f4809955 5962015-08-12 Marek Polacek <polacek@redhat.com>
597
598 PR c++/55095
599 * c-common.c (maybe_warn_shift_overflow): Properly handle
600 left-shifting 1 into the sign bit.
601
5463f502 6022015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
603
604 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
605
56c12fd4 6062015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
607 Braden Obrzut <admin@maniacsvault.net>
608 Jason Merrill <jason@redhat.com>
609
610 Add C++ Concepts TS support.
611 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
612 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
613 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
614 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
615 * c-opts.c (set_std_cxx1z): Set flag_concepts.
616 * c.opt (fconcepts): New.
617
32d050b5 6182015-08-02 Martin Sebor <msebor@redhat.com>
619
620 * c.opt (-Wframe-address): New warning option.
621
17afcef6 6222015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
623
624 * c-indentation.c (should_warn_for_misleading_indentation):
625 Improve heuristics.
626
f95bfdd4 6272015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
628
629 * c-indentation.c (get_visual_column): Add parameter first_nws,
630 use it. Update comment documenting the function.
631 (is_first_nonwhitespace_on_line): Remove.
632 (should_warn_for_misleading_indentation): Replace usage of
633 of is_first_nonwhitespace_on_line with get_visual_column.
634
9255be07 6352015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
636
637 * c-indentation.h (struct token_indent_info): Define.
638 (get_token_indent_info): Define.
639 (warn_for_misleading_information): Declare.
640 * c-common.h (warn_for_misleading_information): Remove.
641 * c-identation.c (warn_for_misleading_indentation):
642 Change declaration to take three token_indent_infos. Adjust
643 accordingly.
644 * c-identation.c (should_warn_for_misleading_indentation):
645 Likewise. Bail out early if the body is a compound statement.
646 (guard_tinfo_to_string): Define.
647
e880695c 6482015-07-30 Jason Merrill <jason@redhat.com>
649
650 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
651 '*' for reference decay.
652
f58dd84b 6532015-07-30 Marek Polacek <polacek@redhat.com>
654
655 * c-common.c (warn_tautological_cmp): Bail for float types.
656
d9e4fe27 6572015-07-27 Marek Polacek <polacek@redhat.com>
658
659 PR bootstrap/67030
660 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
661
6784a472 6622015-07-27 Marek Polacek <polacek@redhat.com>
663
664 PR c++/66555
665 PR c/54979
666 * c-common.c (find_array_ref_with_const_idx_r): New function.
667 (warn_tautological_cmp): New function.
668 * c-common.h (warn_tautological_cmp): Declare.
669 * c.opt (Wtautological-compare): New option.
670
08034975 6712015-07-23 Marek Polacek <polacek@redhat.com>
672
673 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
674 (ubsan_instrument_shift): Likewise.
675
f6f5e49b 6762015-07-23 Marek Polacek <polacek@redhat.com>
677
678 PR sanitizer/66908
679 * c-ubsan.c: Include gimplify.h.
680 (ubsan_instrument_division): Unshare OP0 and OP1.
681 (ubsan_instrument_shift): Likewise.
682
8d669e79 6832015-07-20 Marek Polacek <polacek@redhat.com>
684 Richard Sandiford <richard.sandiford@arm.com>
685
686 PR c++/55095
687 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
688 Use EXPR_LOC_OR_LOC.
689 (maybe_warn_shift_overflow): New function.
690 * c-common.h (maybe_warn_shift_overflow): Declare.
691 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
692 * c.opt (Wshift-overflow): New option.
693
e16712b1 6942015-07-16 Martin Liska <mliska@suse.cz>
695
696 * c-format.c (static void check_format_info_main): Use
697 object_allocator instead of pool_allocator.
698 (check_format_arg): Likewise.
699 (check_format_info_main): Likewise.
700
e51764ad 7012015-07-15 Andrew MacLeod <amacleod@redhat.com>
702
703 * c-opts.c: Remove multiline #include comment.
704
47ae02b7 7052015-07-12 Aldy Hernandez <aldyh@redhat.com>
706
707 * c-common.c: Fix double word typos.
708
ed2b2eb2 7092015-07-10 Eric Botcazou <ebotcazou@adacore.com>
710
711 * c-ada-spec.h (cpp_operation): Revert latest change.
712 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
713 constructors and destructors.
714
1eacc14a 7152015-07-09 Andrew MacLeod <amacleod@redhat.com>
716
717 * c-common.h: Adjust includes for flags.h changes.
718 * stub-objc.c: Likewise.
47ae02b7 719
0124237f 7202015-07-08 Eric Botcazou <ebotcazou@adacore.com>
721
722 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
723 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
724
386ef929 7252015-07-08 Jakub Jelinek <jakub@redhat.com>
726
727 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
728 are to be removed, return NULL rather than original clauses list.
729
9ef16211 7302015-07-07 Andrew MacLeod <amacleod@redhat.com>
731
732 * array-notation-common.c: Adjust includes.
733 * c-ada-spec.c: Likewise.
734 * c-cilkplus.c: Likewise.
735 * c-common.h: Likewise.
736 * c-cppbuiltin.c: Likewise.
737 * c-dump.c: Likewise.
738 * c-format.c: Likewise.
739 * c-gimplify.c: Likewise.
740 * c-indentation.c: Likewise.
741 * c-lex.c: Likewise.
742 * c-omp.c: Likewise.
743 * c-opts.c: Likewise.
744 * c-pch.c: Likewise.
745 * c-ppoutput.c: Likewise.
746 * c-pragma.c: Likewise.
747 * c-pretty-print.c: Likewise.
748 * c-semantics.c: Likewise.
749 * c-ubsan.c: Likewise.
750 * cilk.c: Likewise.
751 * stub-objc.c: Likewise.
752
67ede3e4 7532015-07-07 Eric Botcazou <ebotcazou@adacore.com>
754
755 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
756 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
757
42af8c2a 7582015-07-01 Jason Merrill <jason@redhat.com>
759
fa769cc5 760 * c-common.h (D_CXX11): Rename from D_CXX0X.
761 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
762 * c-common.c: Adjust.
763
97e9c847 764 * c-opts.c (c_common_post_options): Default to C++14.
765
42af8c2a 766 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
767
30b1ba42 7682015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
769
770 Implement N4197 - Adding u8 character literals
32d050b5 771 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 772 CPP_CHAR.
32d050b5 773 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 774 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 775 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 776 and CPP_UTF8CHAR tokens.
777 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 778
0949f227 7792015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
780
781 PR fortran/66605
782 * c-common.c (do_warn_unused_parameter): Move here.
783 * c-common.h (do_warn_unused_parameter): Declare.
784
be23b16f 7852015-06-29 Marek Polacek <polacek@redhat.com>
786
787 PR c/66322
788 * c-common.c (check_case_bounds): Add bool * parameter. Set
789 OUTSIDE_RANGE_P.
790 (c_add_case_label): Add bool * parameter. Pass it down to
791 check_case_bounds.
792 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
793 warning here.
794 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
795 declarations.
796
6290f0db 7972015-06-27 Marek Polacek <polacek@redhat.com>
798
799 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
800 or VECTOR_INTEGER_TYPE_P throughout.
801 * c-gimplify.c: Likewise.
802
aa3e402e 8032015-06-26 Marek Polacek <polacek@redhat.com>
804
805 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
806 * c-common.c (c_fully_fold_internal): Likewise.
807 (c_alignof_expr): Likewise.
808 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
809 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 810 * cilk.c (create_parm_list): Likewise.
aa3e402e 811
4e81b384 8122015-06-26 Marek Polacek <polacek@redhat.com>
813
814 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
815
ec2e0095 8162015-06-25 Andrew MacLeod <amacleod@redhat.com>
817
818 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
819 * c-gimplify.c: Likewise.
820 * c-pragma.c: Likewise.
821 * c-ubsan.c: Likewise.
822 * cilk.c: Likewise.
823
b594087e 8242015-06-25 Richard Sandiford <richard.sandiford@arm.com>
825
826 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
827 ggc_hasher.
828
a3c76fda 8292015-06-25 Andrew MacLeod <amacleod@redhat.com>
830
831 * cilk.c: Move calls.h after tm.h in the include chain.
832
f48c7f4a 8332015-06-25 Marek Polacek <polacek@redhat.com>
834
835 * array-notation-common.c: Use VAR_P throughout.
836 * c-ada-spec.c: Likewise.
837 * c-common.c: Likewise.
838 * c-format.c: Likewise.
839 * c-gimplify.c: Likewise.
840 * c-omp.c: Likewise.
841 * c-pragma.c: Likewise.
842 * c-pretty-print.c: Likewise.
843 * cilk.c: Likewise.
844
ce41e81a 8452015-06-25 Marek Polacek <polacek@redhat.com>
846
847 * cilk.c (extract_free_variables): Use is_global_var.
848
de231ec2 8492015-06-23 Richard Sandiford <richard.sandiford@arm.com>
850
851 * c-common.c: Don't include target-def.h.
852
0200602e 8532015-06-23 Marek Polacek <polacek@redhat.com>
854
855 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
856 when comparing INTEGER_CSTs.
857
99838ed7 8582015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
859
860 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
861 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
862 (dump_ada_template): Skip partially specialized types.
863
a4f59596 8642015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
865
866 * c-common.c (scalar_to_vector): Use std::swap instead of manually
867 swapping.
868
f2ab3bac 8692015-06-17 Andrew MacLeod <amacleod@redhat.com>
870
871 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
872 * c-ada-spec.c: Likewise.
873 * c-cilkplus.c: Likewise.
874 * c-common.c: Likewise.
875 * c-common.h: Likewise.
876 * c-cppbuiltin.c: Likewise.
877 * c-dump.c: Likewise.
878 * c-format.c: Likewise.
879 * c-gimplify.c: Likewise.
880 * c-indentation.c: Likewise.
881 * c-lex.c: Likewise.
882 * c-omp.c: Likewise.
883 * c-opts.c: Likewise.
884 * c-pch.c: Likewise.
885 * c-ppoutput.c: Likewise.
886 * c-pragma.c: Likewise.
887 * c-pretty-print.c: Likewise.
888 * c-semantics.c: Likewise.
889 * c-ubsan.c: Likewise.
890 * cilk.c: Likewise.
891 * stub-objc.c: Likewise.
892
db3d1ffc 8932015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
894
895 PR c++/65168
896 * c-common.c (c_common_truthvalue_conversion): Warn when
897 converting an address of a reference to a truth value.
898
64486212 8992015-06-08 Andrew MacLeod <amacleod@redhat.com>
900
901 * array-notation-common.c : Adjust include files.
902 * c-ada-spec.c : Likewise.
903 * c-cilkplus.c : Likewise.
904 * c-common.c : Likewise.
905 * c-common.h : Likewise.
906 * c-cppbuiltin.c : Likewise.
907 * c-dump.c : Likewise.
908 * c-format.c : Likewise.
909 * c-gimplify.c : Likewise.
910 * c-indentation.c : Likewise.
911 * c-lex.c : Likewise.
912 * c-omp.c : Likewise.
913 * c-opts.c : Likewise.
914 * c-pch.c : Likewise.
915 * c-ppoutput.c : Likewise.
916 * c-pragma.c : Likewise.
917 * c-pretty-print.c : Likewise.
918 * c-semantics.c : Likewise.
919 * c-ubsan.c : Likewise.
920 * cilk.c : Likewise.
921 * stub-objc.c : Likewise.
922
6e84ccad 9232015-06-08 Marek Polacek <polacek@redhat.com>
924
925 PR c/66415
926 * c-format.c (location_from_offset): Return LOC if LINE is null.
927
3a1c9df2 9282015-06-05 Aldy Hernandez <aldyh@redhat.com>
929
930 * c-common.h (c_parse_final_cleanups): New prototype.
931 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
932
32d050b5 9332015-06-04 Sriraman Tallam <tmsriram@google.com>
934
935 * c-common.c (noplt): New attribute.
936 (handle_noplt_attribute): New handler.
937
f77c0292 9382015-06-04 Andrew MacLeod <amacleod@redhat.com>
939
940 * array-notation-common.c: Adjust includes for restructured coretypes.h.
941 * c-ada-spec.c: Likewise.
942 * c-cilkplus.c: Likewise.
943 * c-common.c: Likewise.
944 * c-common.h: Likewise.
945 * c-cppbuiltin.c: Likewise.
946 * c-dump.c: Likewise.
947 * c-format.c: Likewise.
948 * c-gimplify.c: Likewise.
949 * c-indentation.c: Likewise.
950 * c-lex.c: Likewise.
951 * c-omp.c: Likewise.
952 * c-opts.c: Likewise.
953 * c-pch.c: Likewise.
954 * c-ppoutput.c: Likewise.
955 * c-pragma.c: Likewise.
956 * c-pretty-print.c: Likewise.
957 * c-semantics.c: Likewise.
958 * c-ubsan.c: Likewise.
959 * cilk.c: Likewise.
960 * stub-objc.c: Likewise.
961
7c62dfbb 9622015-06-02 David Malcolm <dmalcolm@redhat.com>
963
964 PR c/66220:
965 * c-indentation.c (should_warn_for_misleading_indentation): Use
966 expand_location rather than expand_location_to_spelling_point.
967 Don't warn if the guarding statement is more indented than the
968 next/body stmts.
969
9af7c176 9702015-06-02 David Malcolm <dmalcolm@redhat.com>
971
972 * c-indentation.c (warn_for_misleading_indentation): Bail out
973 immediately if -Wmisleading-indentation isn't enabled.
974
eebcf436 9752015-06-01 Martin Liska <mliska@suse.cz>
976
977 * c-format.c (check_format_arg):Use new type-based pool allocator.
978 (check_format_info_main) Likewise.
979
b0a23e2f 9802015-05-31 Eric Botcazou <ebotcazou@adacore.com>
981
982 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
983 (has_nontrivial_methods): Likewise.
984
63dc1330 9852015-05-25 Marek Polacek <polacek@redhat.com>
986
987 * c-ubsan.c (ubsan_instrument_shift): Use type0.
988
5a4c69dd 9892015-05-22 Marek Polacek <polacek@redhat.com>
990
991 PR c/47043
992 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
993
044580bb 9942015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 995
996 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
997 STACK_GROWS_DOWNWARD.
998
044580bb 9992015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 1000
1001 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1002 STACK_GROWS_DOWNWARD rather than if it is defined.
1003
d5a2ddc7 10042015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 1005
d5a2ddc7 1006 PR c/52952
1007 * c-format.c (location_column_from_byte_offset): New.
1008 (location_from_offset): New.
1009 (struct format_wanted_type): Add offset_loc field.
1010 (check_format_info): Move handling of location for extra arguments
1011 closer to the point of warning.
1012 (check_format_info_main): Pass the result of location_from_offset
1013 to warning_at.
1014 (format_type_warning): Pass the result of location_from_offset
1015 to warning_at.
1016
72f8014e 10172015-05-20 Marek Polacek <polacek@redhat.com>
1018
1019 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1020
74efe522 10212015-05-20 Marek Polacek <polacek@redhat.com>
1022
1023 * c-ada-spec.c (dump_sloc): Use DECL_P.
1024
b443c459 10252015-05-20 Marek Polacek <polacek@redhat.com>
1026
1027 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1028 * c-common.c: Likewise.
1029
551e34da 10302015-05-19 David Malcolm <dmalcolm@redhat.com>
1031
1032 * c-common.h (fe_file_change): Strengthen param from
1033 const line_map * to const line_map_ordinary *.
1034 (pp_file_change): Likewise.
1035 * c-lex.c (fe_file_change): Likewise.
1036 (cb_define): Use linemap_check_ordinary when invoking
1037 SOURCE_LINE.
1038 (cb_undef): Likewise.
1039 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1040 invoking cb_file_change.
1041 (c_finish_options): Likewise.
1042 (push_command_line_include): Likewise.
1043 (cb_file_change): Strengthen param "new_map" from
1044 const line_map * to const line_map_ordinary *.
1045 * c-ppoutput.c (cb_define): Likewise for local "map".
1046 (pp_file_change): Likewise for param "map" and local "from".
1047
dfcf26a5 10482015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1049
1050 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1051
2e474820 10522015-05-18 Tom de Vries <tom@codesourcery.com>
1053
1054 * c-common.c (build_va_arg_1): New function.
1055 (build_va_arg): Add address operator to va_list operand if necessary.
1056
e53013a8 10572015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1058
1059 PR c/48956
1060 * c-common.c (int_safely_convertible_to_real_p): Define.
1061 (unsafe_conversion_p): Check conversions involving complex types.
1062 (conversion_warning): Add new warning message for conversions which
1063 discard imaginary component.
1064 * c-common.h: (enum conversion_safety): Add new enumerator for such
1065 conversions.
1066
aac24642 10672015-05-14 Marek Polacek <polacek@redhat.com>
1068
1069 PR c/66066
1070 PR c/66127
1071 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1072 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1073 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1074 use it. If FOR_INT_CONST, require that all evaluated operands be
1075 INTEGER_CSTs.
1076
e5f01cba 10772015-05-12 David Malcolm <dmalcolm@redhat.com>
1078
1079 * c-common.h (warn_for_misleading_indentation): New prototype.
1080 * c-indentation.c: New file.
1081 * c.opt (Wmisleading-indentation): New option.
1082
c37be9ec 10832015-05-12 Tom de Vries <tom@codesourcery.com>
1084
1085 PR tree-optimization/66010
1086 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1087
7290114b 10882015-05-09 Jason Merrill <jason@redhat.com>
1089
3c665566 1090 * c-opts.c (c_common_post_options): Also clear
1091 cpp_opts->cpp_warn_cxx11_compat.
1092
d875b9d2 1093 * c-common.h (enum cxx_dialect): Add cxx_unset.
1094 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1095 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1096
7290114b 1097 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1098 (std=gnu++0x): Mark as Undocumented.
1099 (std=gnu++1y): Add deprecated message.
1100
1b03cc89 11012015-05-08 Jason Merrill <jason@redhat.com>
1102
1c5f7aba 1103 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
1104 * c-opts.c: Adjust.
1105
1b03cc89 1106 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
1107
dc5945dc 11082015-05-08 Marek Polacek <polacek@redhat.com>
1109
1110 PR c/64918
1111 * c.opt (Woverride-init-side-effects): New option.
1112
cdc64059 11132015-05-07 Marek Polacek <polacek@redhat.com>
1114
1115 PR c/65179
1116 * c-common.c (c_fully_fold_internal): Warn when left shifting a
1117 negative value.
1118 * c.opt (Wshift-negative-value): New option.
1119 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1120 when -Wextra and C99/C++11 mode.
1121
8cafe283 11222015-05-07 Marek Polacek <polacek@redhat.com>
1123 Martin Uecker <uecker@eecs.berkeley.edu>
1124
1125 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1126 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1127
cb40a6f7 11282015-05-05 Jason Merrill <jason@redhat.com>
1129
1130 * c.opt (Wterminate): New.
1131
14744a16 11322015-04-30 Marek Polacek <polacek@redhat.com>
1133
1134 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1135 require that the non-constant be of a boolean type.
1136
9866562d 11372015-04-29 Josh Triplett <josh@joshtriplett.org>
1138
8cafe283 1139 * c-common.c (handle_section_attribute): Refactor to reduce
1140 nesting and distinguish between error cases.
9866562d 1141
a720ab1c 11422015-04-29 Marek Polacek <polacek@redhat.com>
1143
1144 PR c/64610
1145 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1146 with 0/1.
1147
8c072e52 11482015-04-29 Jakub Jelinek <jakub@redhat.com>
1149
1150 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1151 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1152 HOST_BITS_PER_WIDE_INT.
1153
f7fec1c7 11542015-04-28 Tom de Vries <tom@codesourcery.com>
1155
1156 PR tree-optimization/65887
1157 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1158
483b3d26 11592015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 1160 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 1161
1162 * c-ada-spec.c (in_function): Delete.
1163 (dump_generic_ada_node): Do not change in_function and remove the
1164 redundant code dealing with it.
1165 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1166 (print_ada_methods): Output the static member functions in a nested
1167 package after the regular methods as well as associated renamings.
1168
f11bdffb 11692015-04-24 Marek Polacek <polacek@redhat.com>
1170
1171 PR c/65830
1172 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1173 and OPT_Wshift_count_overflow.
1174
485f6b9c 1175 PR c/63357
1176 * c-common.c (warn_logical_operator): Warn if the operands have the
1177 same expressions.
1178
439606a9 11792015-04-24 Marek Polacek <polacek@redhat.com>
1180
1181 PR c/61534
1182 * c-common.c (warn_logical_operator): Bail if either operand comes
1183 from a macro expansion.
1184
de801c28 11852015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1186
1187 PR target/55143
1188 * c-common.c (c_default_pointer_mode): Add definition.
1189 * c-common.h (c_default_pointer_mode): Add declaration.
1190
76738f56 11912015-03-11 Jakub Jelinek <jakub@redhat.com>
1192
1193 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1194 on record_builtin_type argument.
1195
16f958b3 11962015-03-10 Jakub Jelinek <jakub@redhat.com>
1197
1198 PR c/65120
1199 * c-common.c (warn_logical_not_parentheses): Don't warn for
1200 !x == 0 or !x != 0.
1201
9b22f73f 12022015-03-07 Marek Polacek <polacek@redhat.com>
1203
1204 PR sanitizer/65280
1205 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1206 before trying to figure out whether we have a flexible array member.
1207
a864b7d4 12082015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1209 Jonathan Wakely <jwakely.gcc@gmail.com>
1210
1211 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1212
9bf8c90b 12132015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1214
1215 PR ada/65319
1216 * c-ada-spec.c (print_destructor): Remove obsolete code.
1217
037ac54f 12182015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1219
1220 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1221 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1222 DECL_TEMPLATE_RESULT emulations.
1223 (dump_ada_template)): Add guard for TYPE_METHODS.
1224
495cbfb8 12252015-02-27 Marek Polacek <polacek@redhat.com>
1226
1227 PR c/65040
1228 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1229
688a864e 12302015-02-27 Kai Tietz <ktietz@redhat.com>
1231
1232 PR c/35330
1233 * c-pragma.c (handle_pragma_weak): Do not try to create
1234 weak/alias of declarations not being function, or variable
1235 declarations.
1236
6349b8cc 12372015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1238
1239 PR libgomp/64625
1240 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1241 Remove macros.
1242 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1243
3afd5369 12442015-02-16 Marek Polacek <polacek@redhat.com>
1245
1246 PR c/65066
1247 * c-format.c (check_format_types): Handle null param.
1248
46173d1b 12492015-02-13 Marek Polacek <polacek@redhat.com>
1250
1251 PR c/65040
1252 * c-format.c (check_format_types): Don't warn about different
1253 signedness if the original value is in the range of WANTED_TYPE.
1254
1d524ff7 12552015-02-12 Jason Merrill <jason@redhat.com>
1256
1257 PR c++/64956
1258 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1259 to the current highest version.
1260 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1261
bbf8fbec 12622015-02-04 Jakub Jelinek <jakub@redhat.com>
1263
1264 PR c/64824
1265 PR c/64868
1266 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1267 instead of RDIV_EXPR. Use build_binary_op instead of
1268 build2_loc.
1269
c05be867 12702015-01-30 Joseph Myers <joseph@codesourcery.com>
1271
1272 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1273 to pass input_location as first argument.
1274
85977647 12752015-01-23 Tom de Vries <tom@codesourcery.com>
1276
1277 PR libgomp/64672
1278 * c.opt (fopenacc): Mark as LTO option.
1279
fa175926 12802015-01-23 Tom de Vries <tom@codesourcery.com>
1281
1282 PR libgomp/64707
1283 * c.opt (fopenmp): Mark as LTO option.
1284
20aad5ba 12852015-01-21 Jakub Jelinek <jakub@redhat.com>
1286
1287 PR c/63307
8204c077 1288 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1289 (compare_decls): Fix up formatting.
1290
12912015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1292
1293 PR c/63307
1294 * cilk.c: Include vec.h.
1295 (struct cilk_decls): New structure.
1296 (wrapper_parm_cb): Split this function to...
1297 (fill_decls_vec): ...this...
1298 (create_parm_list): ...and this.
1299 (compare_decls): New function.
1300 (for_local_cb): Remove.
1301 (wrapper_local_cb): Ditto.
1302 (build_wrapper_type): For now first traverse and fill vector of
1303 declarations then sort it and then deal with sorted vector.
1304 (cilk_outline): Ditto.
1305 (declare_one_free_variable): Ditto.
1306
60b77e28 13072015-01-21 Jason Merrill <jason@redhat.com>
1308
1309 PR c++/64629
1310 * c-format.c (check_format_arg): Call decl_constant_value.
1311
85fbea97 13122015-01-19 Martin Liska <mliska@suse.cz>
1313
1314 * c-common.c (handle_noicf_attribute): New function.
1315
ca4c3545 13162015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1317 Bernd Schmidt <bernds@codesourcery.com>
1318 James Norris <jnorris@codesourcery.com>
1319 Cesar Philippidis <cesar@codesourcery.com>
1320 Ilmir Usmanov <i.usmanov@samsung.com>
1321 Jakub Jelinek <jakub@redhat.com>
1322
1323 * c.opt (fopenacc): New option.
1324 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1325 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1326 New macros.
1327 * c-common.h (c_finish_oacc_wait): New prototype.
1328 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1329 (c_finish_oacc_wait): New function.
1330 * c-pragma.c (oacc_pragmas): New variable.
1331 (c_pp_lookup_pragma, init_pragma): Handle it.
1332 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1333 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1334 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1335 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1336 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1337 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1338 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1339 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1340 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1341 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1342 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1343 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1344 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1345 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1346 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1347 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1348 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1349 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1350 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1351 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1352 PRAGMA_OACC_CLAUSE_WORKER.
1353
947aa916 13542015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1355
1356 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1357 for the new option fstack-protector_explicit.
1358 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1359 (handle_stack_protect_attribute): New function.
1360
e4fd7af1 13612015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1362
1363 * c.opt: New option -Warray-bounds=.
1364
1f78217c 13652015-01-09 Michael Collison <michael.collison@linaro.org>
1366
1367 * array-notation-common.c: Include hash-set.h, machmode.h,
1368 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1369 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1370 * c-ada-spec.c: Ditto.
1371 * c-cilkplus.c: Ditto.
1372 * c-common.c: Include input.h due to flattening of tree.h.
1373 Define macro GCC_C_COMMON_C.
1374 * c-common.h: Flatten tree.h header files into c-common.h.
1375 Remove include of tree-core.h.
1376 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1377 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1378 fold-const.h, wide-int.h, and inchash.h due to
1379 flattening of tree.h.
1380 * c-dump.c: Ditto.
1381 * c-format.c: Flatten tree.h header files into c-common.h.
1382 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1383 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1384 fold-const.h, wide-int.h, and inchash.h due to
1385 flattening of tree.h.
1386 * c-dump.c: Include hash-set.h, machmode.h,
1387 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1388 fold-const.h, wide-int.h, and inchash.h due to
1389 flattening of tree.h.
1390 * c-format.c: Include hash-set.h, machmode.h,
1391 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1392 fold-const.h, wide-int.h, inchash.h and real.h due to
1393 flattening of tree.h.
1394 * c-gimplify.c: Include hash-set.h, machmode.h,
1395 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1396 fold-const.h, wide-int.h, and inchash.h due to
1397 flattening of tree.h.
1398 * cilk.c: Ditto.
1399 * c-lex.c: Ditto.
1400 * c-omp.c: Ditto.
1401 * c-opts.c: Ditto.
1402 * c-pch.c: Ditto.
1403 * c-ppoutput.c: Ditto.
1404 * c-pragma.c: Ditto.
1405 * c-pretty-print.c: Ditto.
1406 * c-semantics.c: Ditto.
1407 * c-ubsan.c: Ditto.
1408 * stub-objc.c: Ditto.
1409
411b7663 14102015-01-08 Jason Merrill <jason@redhat.com>
1411
1412 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1413 do_ubsan_in_current_function.
1414 (ubsan_maybe_instrument_reference_or_call): Likewise.
1415 * c-ubsan.h: Declare it.
1416
d1e96383 14172015-01-08 Mike Stump <mikestump@comcast.net>
1418
1419 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1420
b57910fa 14212015-01-07 Marek Polacek <polacek@redhat.com>
1422
1423 PR c/64440
1424 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1425 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1426
678a4e3e 14272015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1428
1429 PR c++/31397
1430 * c.opt (Wsuggest-override): New option.
1431
d353bf18 14322015-01-05 Jakub Jelinek <jakub@redhat.com>
1433
1434 Update copyright years.
1435
92b63884 14362015-01-05 Marek Polacek <polacek@redhat.com>
1437
1438 PR c/64423
1439 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1440 parameter. Use it.
1441 * c-common.h (warn_array_subscript_with_type_char): Update
1442 declaration.
1443
83715bc4 14442014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1445
1446 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1447 Control macro with flag_sized_deallocation.
1448
8a8211df 14492014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1450
1451 * c.opt (Wdiscarded-array-qualifiers): New option.
1452
33058239 14532014-12-19 Jakub Jelinek <jakub@redhat.com>
1454
1455 PR preprocessor/63831
1456 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1457 and __has_cpp_attribute here.
1458 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1459 c_common_has_attribute.
1460 * c-common.h (c_common_has_attribute): New prototype.
1461 * c-lex.c (init_c_lex): Set cb->has_attribute to
1462 c_common_has_attribute instead of cb_has_attribute.
1463 (get_token_no_padding): New function.
1464 (cb_has_attribute): Renamed to ...
1465 (c_common_has_attribute): ... this. No longer static. Use
1466 get_token_no_padding, require ()s, don't build TREE_LIST
1467 unnecessarily, fix up formatting, adjust diagnostics, call
1468 init_attributes.
1469
d1856d2c 14702014-12-15 Jason Merrill <jason@redhat.com>
1471
1472 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1473 (-Wsized-deallocation): New.
1474 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1475 to on in C++14 and up.
1476
4972ed5d 14772014-12-11 Jason Merrill <jason@redhat.com>
1478
7d7fa964 1479 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1480
4972ed5d 1481 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1482 we aren't complaining about VLAs.
1483
5ebccf71 14842014-12-06 Marek Polacek <polacek@redhat.com>
1485
1486 PR tree-optimization/64183
1487 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1488 shift-expression if it is integer_type_node. Use types_compatible_p.
1489
f9e245b2 14902014-11-29 Jakub Jelinek <jakub@redhat.com>
1491
1492 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1493 last argument from create_tmp_var_raw and create_tmp_var calls.
1494 * cilk.c (gimplify_cilk_spawn): Likewise.
1495 * c-omp.c (c_finish_omp_atomic): Likewise.
1496
d2f60593 14972014-11-28 Marek Polacek <polacek@redhat.com>
1498
1499 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1500 instead of unsigned_type_node.
1501
fce2dbd1 15022014-11-28 Marek Polacek <polacek@redhat.com>
1503
1504 PR c/63862
1505 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1506 to op1_utype.
1507 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1508 expression to unsigned_type_node.
1509
3a4a2292 15102014-11-20 Mark Wielaard <mjw@redhat.com>
1511
1512 PR debug/38757
1513 * c-opts.c (set_std_c89): Set lang_hooks.name.
1514 (set_std_c99): Likewise.
1515 (set_std_c11): Likewise.
1516 (set_std_cxx98): Likewise.
1517 (set_std_cxx11): Likewise.
1518 (set_std_cxx14): Likewise.
1519 (set_std_cxx1z): Likewise.
1520
c61ef207 15212014-11-21 Jakub Jelinek <jakub@redhat.com>
1522
1523 PR target/63764
1524 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1525 return type to bool.
c9ed79de 1526 * c-common.c: Include gimple-expr.h.
c61ef207 1527 (convert_vector_to_pointer_for_subscript): Change return type to
1528 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1529 and copy it into a TARGET_EXPR and use that instead of *vecp
1530 directly.
1531
1a91d914 15322014-11-19 David Malcolm <dmalcolm@redhat.com>
1533
1534 Merger of git branch "gimple-classes-v2-option-3".
1535 * ChangeLog.gimple-classes: New.
1536 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1537 from being just a vec<gimple> to a vec<gbind *>.
1538
f8fc8b8e 15392014-11-18 Jakub Jelinek <jakub@redhat.com>
1540
1541 PR sanitizer/63813
1542 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1543 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1544 get_pointer_alignment for non-pointers. Use ptype, or if it is
1545 reference type, corresponding pointer type, as type of kind
1546 argument.
1547 (ubsan_maybe_instrument_reference,
1548 ubsan_maybe_instrument_member_call): Adjust callers.
1549
8315e35e 15502014-11-15 Marek Polacek <polacek@redhat.com>
1551
1552 PR middle-end/63884
1553 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1554 for NULL fndecl.
1555 (extract_array_notation_exprs): Return for NULL node.
1556
86b9f14b 15572014-11-12 Joseph Myers <joseph@codesourcery.com>
1558
1559 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1560 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1561
0c93c8a9 15622014-11-12 Jakub Jelinek <jakub@redhat.com>
1563
1564 PR c/59708
1565 * c-common.c (check_builtin_function_arguments): Handle
1566 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1567
fdd735a7 15682014-11-10 Andi Kleen <ak@linux.intel.com>
1569
1570 PR c/60804
1571 * c-common.h (check_no_cilk): Declare.
1572 * cilk.c (get_error_location): New function.
1573 (check_no_cilk): Dito.
1574
5cb678b4 15752014-11-10 Andi Kleen <ak@linux.intel.com>
1576
1577 * cilk.c (recognize_spawn): Use expression location
1578 for error message.
1579
0feb4de1 15802014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1581
1582 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1583
3aa2fa44 15842014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1585
1586 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1587 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1588 (__cpp_range_based_for, __cpp_initializer_lists,
1589 __cpp_delegating_constructors, __cpp_nsdmi,
1590 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1591 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1592 __has_cpp_attribute.
1593 * c-lex.c (cb_has_attribute): New callback CPP function;
1594 (init_c_lex): Set has_attribute callback.
1595
7fd22aae 15962014-11-04 Richard Biener <rguenther@suse.de>
1597
1598 * c-common.c (shorten_compare): Do not shorten mixed
1599 DFP and non-DFP compares.
1600
4af203ac 16012014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1602
1603 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1604 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1605 Commentary and rearrangement of tests.
1606 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1607 Commentary and rearrangement of tests.
1608 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1609 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1610
3754d046 16112014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1612
1613 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1614 enum from machine_mode.
1615
1140c305 16162014-10-28 Andrew MacLeod <amacleod@redhat.com>
1617
1f78217c 1618 * c-common.c: Adjust include files.
1619 * c-gimplify.c: Ditto.
1620 * cilk.c: Ditto.
1621 * c-pragma.c: Ditto.
1622 * c-ubsan.c: Ditto.
1140c305 1623
94ea8568 16242014-10-27 Andrew MacLeod <amacleod@redhat.com>
1625
1626 * c-gimplify.c: Adjust include files.
1627
32ecf960 16282014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1629
1630 PR c++/53061
1631 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1632 c_common_initialize_diagnostics.
1633 * c-common.h: Likewise.
1634
85fecbe2 16352014-10-24 Marek Polacek <polacek@redhat.com>
1636
1637 PR c/56980
1638 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1639 print "struct"/"union"/"enum" for typedefed names.
1640
e7ec033a 16412014-10-23 Marek Polacek <polacek@redhat.com>
1642
1643 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1644 in unsigned type.
1645
c2598081 16462014-10-22 Jakub Jelinek <jakub@redhat.com>
1647 Yury Gribov <y.gribov@samsung.com>
1648
1649 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1650 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1651 instead of flag_sanitize_recover as bool flag.
1652
acebb7e2 16532014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1654
1655 * cilk.c: Revert previous change.
1656
6115016c 16572014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1658
1659 PR c/63307
1660 * cilk.c: Include vec.h.
1661 (struct cilk_decls): New structure.
1662 (wrapper_parm_cb): Split this function to...
1663 (fill_decls_vec): ...this...
1664 (create_parm_list): ...and this.
1665 (compare_decls): New function.
1666 (for_local_cb): Remove.
1667 (wrapper_local_cb): Ditto.
1668 (build_wrapper_type): For now first traverse and fill vector of
1669 declarations then sort it and then deal with sorted vector.
1670 (cilk_outline): Ditto.
1671 (declare_one_free_variable): Ditto.
1672
e610d2b2 16732014-10-17 Marek Polacek <polacek@redhat.com>
1674
1675 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1676 * c.opt (Wimplicit-int): Initialize to -1.
1677
a3020f2f 16782014-10-16 Andrew MacLeod <amacleod@redhat.com>
1679
1680 * c-pragma.c: Adjust include files.
1681 * c-semantics.c: Likewise.
1682
926ddd2c 16832014-10-16 DJ Delorie <dj@redhat.com>
1684
1685 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1686 multiples of bytes.
1687
b0542e7c 16882014-10-14 Jason Merrill <jason@redhat.com>
1689
1690 PR c++/63455
1691 * c-common.h (CPP_PREPARSED_EXPR): New.
1692 (N_CP_TTYPES): Adjust.
1693
b2601928 16942014-10-15 Marek Polacek <polacek@redhat.com>
1695
1696 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1697
9f75f026 16982014-10-14 DJ Delorie <dj@redhat.com>
1699
1700 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1701 types, not just __int128.
1702 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1703 types, not just __int128.
1704 (cpp_atomic_builtins): Round pointer sizes up.
1705 (type_suffix): Use type precision, not specific types.
1706 * c-common.c (c_common_reswords): Remove __int128 special case.
1707 (c_common_type_for_size): Check for all __intN types, not just
1708 __int128.
1709 (c_common_type_for_mode): Likewise.
1710 (c_common_signed_or_unsigned_type): Likewise.
1711 (c_build_bitfield_integer_type): Likewise.
1712 (c_common_nodes_and_builtins): Likewise.
1713 (keyword_begins_type_specifier): Likewise.
1714 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1715 __intN variants.
1716
2ef51f0e 17172014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1718
1719 * c-common.c: Use hash_table instead of hashtab.
1720
5b8257e3 17212014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1722
1f78217c 1723 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1724 C++11 section.
1725
5e84569c 17262014-10-03 Marc Glisse <marc.glisse@inria.fr>
1727
1728 PR c++/54427
1729 PR c++/57198
1730 PR c++/58845
1731 * c-common.c (warn_logical_operator): Punt for vectors.
1732
f6751ff2 17332014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1734
1735 Implement SD-6: SG10 Feature Test Recommendations
1736 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1737 macros and the __has_header macro.
1738
c33e051d 17392014-09-30 Jason Merrill <jason@redhat.com>
1740
f76a9aa8 1741 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1742 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1743 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1744
717e52f9 1745 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1746 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1747
c33e051d 1748 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1749 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1750
5213d6c9 17512014-09-24 Marek Polacek <polacek@redhat.com>
1752
1753 PR c/61405
1754 PR c/53874
1755 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1756
6b722052 17572014-09-23 Andi Kleen <ak@linux.intel.com>
1758
1759 * c-common.c (handle_no_reorder_attribute): New function.
1760 (c_common_attribute_table): Add no_reorder attribute.
1761
0cb69d12 17622014-09-22 Joseph Myers <joseph@codesourcery.com>
1763
1764 * c-cppbuiltin.c (c_cpp_builtins): Define
1765 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1766 modes.
1767
168dfbf0 17682014-09-18 Joseph Myers <joseph@codesourcery.com>
1769
1770 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1771 for supported floating-point modes.
1772
b83705f4 17732014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1774
1775 * c.opt (Wpsabi): Use LangEnabledBy.
1776 * c-opts.c (c_common_handle_option): Do not handle here.
1777
d5957f0d 17782014-09-12 Joseph Myers <joseph@codesourcery.com>
1779
1780 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1781 macros for floating-point modes.
1782
bae6edff 17832014-09-11 Marc Glisse <marc.glisse@inria.fr>
1784
1785 PR target/58757
1786 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1787 __*_DENORM_MIN__ without denormals.
1788
73a69d02 17892014-09-10 Jakub Jelinek <jakub@redhat.com>
1790
1791 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1792 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1793 ubsan_create_data callers.
1794 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1795 index is constant or BIT_AND_EXPR with constant mask and is
1796 small enough for the bound.
1797 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1798 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1799
7ff8db31 18002014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1801
1802 * c.opt: Add CppReason to various flags.
1803 (Wdate-time): Re-sort.
1804 * c-common.c: Include c-common.h earlier.
1805 (struct reason_option_codes_t): Delete.
1806 (c_option_controlling_cpp_error): Prefix global type and struct
1807 with cpp_.
1808
bcc1f37e 18092014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1810
1811 * c.opt (Wnormalized): New.
1812 (Wnormalized=): Use Enum and Reject Negative.
1813 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1814
b660d3c6 18152014-09-08 Joseph Myers <joseph@codesourcery.com>
1816
1817 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1818 digits of floating-point modes if -fbuilding-libgcc.
1819
325b8c3c 18202014-09-05 Joseph Myers <joseph@codesourcery.com>
1821
1822 * c-cppbuiltin.c (c_cpp_builtins): Also define
1823 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1824 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1825 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1826 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1827 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1828 __LIBGCC_STACK_GROWS_DOWNWARD__,
1829 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1830 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1831 __LIBGCC_DWARF_FRAME_REGISTERS__,
1832 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1833 __LIBGCC_STACK_POINTER_REGNUM__ and
1834 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1835 (builtin_define_with_value): Handle backslash-escaping in string
1836 macro values.
1837
1e074e77 18382014-09-05 Richard Biener <rguenther@suse.de>
1839
1840 PR middle-end/63148
1841 * c-format.c (check_format_arg): Properly handle
1842 effectively signed POINTER_PLUS_EXPR offset.
1843
04afd878 18442014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1845
1846 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1847 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1848 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1849 and Init.
1850 * c-opts.c (c_common_handle_option): Do not handle here.
1851 (sanitize_cpp_opts): Likewise.
1852 * c-common.c (struct reason_option_codes_t): Handle
1853 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1854
a3f448f0 18552014-09-03 Marek Polacek <polacek@redhat.com>
1856
1857 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1858
40750995 18592014-09-02 Jakub Jelinek <jakub@redhat.com>
1860 Balaji V. Iyer <balaji.v.iyer@intel.com>
1861 Igor Zamyatin <igor.zamyatin@intel.com>
1862
1863 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1864 * c-common.c (c_common_reswords): Added _Cilk_for.
1865 * c-common.h (enum rid): Added RID_CILK_FOR.
1866 (cilk_for_number_of_iterations): Add declaration.
1867 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1868 CILK_FOR.
1869 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1870 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1871
f0fbe519 18722014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1873
1874 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1875 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1876 Wundef): Use CPP, Var and Init.
1877 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1878
a7d2e480 18792014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1880
1881 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1882 * c-opts.c (c_common_handle_option): Do not handle here.
1883
c35e53f1 18842014-08-25 Jason Merrill <jason@redhat.com>
1885
1886 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1887 -std=c++14 and -std=gnu++14, rather than the reverse.
1888 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1889 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1890 * c-common.h (cxx_dialect): Remove cxx1y.
1891
4e454776 18922014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1893
1894 * c-common.h (enum cxx_dialect): Add cxx14.
1895 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1896 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1897 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1898
af1a80f2 18992014-08-22 Jason Merrill <jason@redhat.com>
1900
1901 * c.opt (std=gnu++17): Fix alias.
1902
dc6229e8 19032014-08-22 Marek Polacek <polacek@redhat.com>
1904
1905 PR c++/62199
1906 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1907 check for vector types. Drop LHS argument.
1908 * c-common.h (warn_logical_not_parentheses): Adjust.
1909
ba7f7c88 19102014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1911
1912 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1913 (Wmultichar): Likewise.
1914 (Wdate-time): Use C-family languages instead of Common. Use CPP
1915 and Var.
1916 * c-opts.c (c_common_handle_option): Do not handle the above
1917 options here.
1918 (sanitize_cpp_opts): Likewise.
1919
399d4f80 19202014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1921
1922 PR fortran/44054
1923 * c-opts.c: Include tree-diagnostics.h.
1924 (c_diagnostic_finalizer): New.
1925 (c_common_initialize_diagnostics): Use it.
1926
1babed5f 19272014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1928
1929 PR preprocessor/51303
1930 * c-common.c (struct reason_option_codes_t option_codes):
1931 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1932
3636964b 19332014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1934
1935 PR c/60975
1936 PR c/53063
1937 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1938 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1939 (c_common_post_options): Call init_global_opts_from_cpp.
1940 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1941
78bf4156 19422014-08-19 Marek Polacek <polacek@redhat.com>
1943
1944 PR c++/62153
1945 * c-common.c (maybe_warn_bool_compare): New function.
1946 * c-common.h (maybe_warn_bool_compare): Declare.
1947 * c.opt (Wbool-compare): New option.
1948
508ea33a 19492014-08-19 Marek Polacek <polacek@redhat.com>
1950
1951 * c.opt (Wc99-c11-compat): New option.
1952
806fe15e 19532014-08-19 Marek Polacek <polacek@redhat.com>
1954
1955 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1956 to warn_c90_c99_compat.
1957 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1958 to -1.
1959
6c867de1 19602014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1961 Steven Bosscher <steven@gcc.gnu.org>
1962
1963 PR c/52952
1964 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1965 format_check_results.
1966 (check_function_format): Use true and add comment for boolean
1967 argument.
1968 (finish_dollar_format_checking): Use explicit location when warning.
1969 (check_format_info): Likewise.
1970 (check_format_arg): Set extra_arg_loc and format_string_loc.
1971 (check_format_info_main): Use explicit location when warning.
1972 (check_format_types): Pass explicit location.
1973 (format_type_warning): Likewise.
1974
dc8078a3 19752014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1976
1977 PR fortran/44054
1978 * c-format.c: Handle Fortran flags.
1979
d271ec7e 19802014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1981
1982 PR other/61962
1983 * array-notation-common.c (find_rank): Added handling for other
1984 types of references.
1985
890c2e2f 19862014-08-10 Marek Polacek <polacek@redhat.com>
1987
1988 PR c/51849
1989 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1990 * c.opt (Wc90-c99-compat): Add option.
1991
7149db5f 19922014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1993
1994 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1995
2d2f6a15 19962014-08-03 Marek Polacek <polacek@redhat.com>
1997
1998 * c-common.c (check_case_value): Add location_t parameter. Use it.
1999 (c_add_case_label): Pass loc to check_case_value.
2000
06ecf488 20012014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2002
2003 * cilk.c: Use hash_map instead of pointer_map.
2004
431205b7 20052014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2006
2007 * c-gimplify.c: Use hash_set instead of pointer_set.
2008
3394c80c 20092014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2010
2011 PR middle-end/61455
2012 * array-notation-common.c (extract_array_notation_exprs): Handling
2013 of DECL_EXPR added.
2014
392dee1e 20152014-08-01 Jakub Jelinek <jakub@redhat.com>
2016
2017 * c-common.h (min_align_of_type): Removed prototype.
2018 * c-common.c (min_align_of_type): Removed.
2019 * c-ubsan.h (ubsan_maybe_instrument_reference,
2020 ubsan_maybe_instrument_member_call): New prototypes.
2021 * c-ubsan.c: Include stor-layout.h and builtins.h.
2022 (ubsan_maybe_instrument_reference_or_call,
2023 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2024 functions.
2025
f22a2cb7 20262014-07-31 Marc Glisse <marc.glisse@inria.fr>
2027
2028 PR c++/60517
2029 * c.opt (-Wreturn-local-addr): Move to common.opt.
2030
87b0198f 20312014-07-30 Jason Merrill <jason@redhat.com>
2032
2033 PR c++/61659
2034 PR c++/61687
2035 Revert:
2036 * c.opt (-fuse-all-virtuals): New.
2037
74691f46 20382014-07-30 Tom Tromey <tromey@redhat.com>
2039
2040 PR c/59855
2041 * c.opt (Wdesignated-init): New option.
2042 * c-common.c (c_common_attribute_table): Add "designated_init".
2043 (handle_designated_init): New function.
2044
9140d56f 20452014-07-24 Marek Polacek <polacek@redhat.com>
2046
2047 PR c/57653
2048 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2049
a09c5cc2 20502014-07-16 Dodji Seketeli <dodji@redhat.com>
2051
2052 PR preprocessor/60723 - missing system-ness marks for macro tokens
2053 * c-ppoutput.c (struct print::prev_was_system_token): New data
2054 member.
2055 (init_pp_output): Initialize it.
2056 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2057 (do_line_change): Return a flag saying if a line marker was
2058 emitted or not.
2059 (scan_translation_unit): Detect if the system-ness of the token we
2060 are about to emit is different from the one of the previously
2061 emitted token. If so, emit a line marker. Avoid emitting useless
2062 adjacent line markers. Avoid emitting line markers for tokens
2063 originating from the expansion of built-in macros.
2064 (scan_translation_unit_directives_only): Adjust.
2065
2b25b62f 20662014-07-15 Marek Polacek <polacek@redhat.com>
2067
2068 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2069 TYPE_MAX_VALUE is NULL.
2070
305d96bc 20712014-07-14 Jakub Jelinek <jakub@redhat.com>
2072
2073 PR middle-end/61294
2074 * c.opt (Wmemset-transposed-args): New warning.
2075
8ea4660d 20762014-07-10 Jason Merrill <jason@redhat.com>
2077
2078 PR c++/61659
2079 PR c++/61687
2080 * c.opt (-fuse-all-virtuals): New.
2081
cd480f3d 20822014-07-09 Richard Biener <rguenther@suse.de>
2083
2084 PR c-family/61741
2085 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2086 using unsigned arithmetic if overflow does not wrap instead of
2087 if overflow is undefined.
2088
87d59e72 20892014-07-06 Marek Polacek <polacek@redhat.com>
2090
2091 PR c/6940
2092 * c.opt (Wsizeof-array-argument): New option.
2093
d69521d8 20942014-07-03 Jakub Jelinek <jakub@redhat.com>
2095
8204c077 2096 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 2097 comments->count <= 1, as comments->entries might be NULL.
2098
1207866e 20992014-07-01 Marek Polacek <polacek@redhat.com>
2100
2101 * c.opt (Wint-conversion): New option.
2102
7a6bbb76 21032014-07-01 Marek Polacek <polacek@redhat.com>
2104
2105 PR c/58286
2106 * c.opt (Wincompatible-pointer-types): New option.
2107
9d4eeb52 21082014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2109
2110 PR c++/51400
2111 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
2112 Do not discard TYPE_QUALS of type.
2113
4b53bc0f 21142014-06-26 Jason Merrill <jason@redhat.com>
2115
2116 * c-common.h (enum cxx_dialect): Add cxx1z.
2117 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
2118 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
2119
a8a8d4ea 21202014-06-26 Teresa Johnson <tejohnson@google.com>
2121
2122 * c-common.h (get_dump_info): Declare.
2123 * c-gimplify.c (c_genericize): Use saved dump files.
2124 * c-opts.c (c_common_parse_file): Begin and end dumps
2125 once around parsing invocation.
2126 (get_dump_info): New function.
2127
1f6be080 21282014-06-23 Marek Polacek <polacek@redhat.com>
2129 Andrew MacLeod <amacleod@redhat.com>
2130
2131 PR c/61553
2132 * c-common.c (get_atomic_generic_size): Don't segfault if the
2133 type doesn't have a size.
2134
5ef6b660 21352014-06-20 Marek Polacek <polacek@redhat.com>
2136
2137 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2138 (ubsan_walk_array_refs_r): New function.
2139 (c_genericize): Instrument array bounds.
2140 * c-ubsan.c: Include "internal-fn.h".
2141 (ubsan_instrument_division): Mark instrumented arrays as having
2142 side effects. Adjust ubsan_type_descriptor call.
2143 (ubsan_instrument_shift): Likewise.
2144 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2145 (ubsan_instrument_bounds): New function.
2146 (ubsan_array_ref_instrumented_p): New function.
2147 (ubsan_maybe_instrument_array_ref): New function.
2148 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2149 (ubsan_array_ref_instrumented_p): Declare.
2150 (ubsan_maybe_instrument_array_ref): Declare.
2151
21522014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 2153
2154 PR lto/61123
2155 * c.opt (fshort-enums): Add to LTO.
2156 * c.opt (fshort-wchar): Likewise.
2157
78438f31 21582014-06-16 Marek Polacek <polacek@redhat.com>
2159
2160 PR c/60439
2161 * c.opt (Wswitch-bool): Add Var.
2162
5fddcf34 21632014-06-12 Jakub Jelinek <jakub@redhat.com>
2164
2165 PR middle-end/61486
2166 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2167 #pragma omp target teams or
2168 #pragma omp {,target }teams distribute simd.
2169
74b777e5 21702014-06-12 Jason Merrill <jason@redhat.com>
2171
2172 * c.opt (Wabi=, fabi-compat-version): New.
2173 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2174 (c_common_post_options): Handle flag_abi_compat_version default.
2175 Disallow -fabi-compat-version=1.
2176 * c-common.h (abi_version_crosses): New.
2177
738a6bda 21782014-06-11 Jan Hubicka <hubicka@ucw.cz>
2179
1f78217c 2180 * c-common.c (handle_section_attribute): Update handling for
738a6bda 2181 section names that are no longer trees.
2182
cf5f881f 21832014-06-10 Jakub Jelinek <jakub@redhat.com>
2184
2185 PR fortran/60928
2186 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2187 (omp_pragmas): ... back here.
2188
32dc1512 21892014-06-05 Marek Polacek <polacek@redhat.com>
2190
2191 PR c/49706
2192 * c-common.c (warn_logical_not_parentheses): New function.
2193 * c-common.h (warn_logical_not_parentheses): Declare.
2194 * c.opt (Wlogical-not-parentheses): New option.
2195
f61a9bc2 21962014-06-04 Marek Polacek <polacek@redhat.com>
2197
2198 PR c/30020
2199 * c-common.c (check_case_bounds): Add location parameter.
2200 Use it.
2201 (c_add_case_label): Pass loc to check_case_bounds.
2202
c69ec07d 22032014-06-03 Marek Polacek <polacek@redhat.com>
2204
2205 PR c/60439
2206 * c.opt (Wswitch-bool): New option.
2207
3c77ca67 22082014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2209
68a2c870 2210 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2211 Remove prototypes.
2212 (record_types_used_by_current_var_decl): Move prototype to where
2213 it belongs.
2214
3c77ca67 2215 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2216 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2217 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2218
3ab4693e 22192014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2220
2221 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2222 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2223 void_zero_node.
2224 * c-pretty-print.c (pp_c_void_constant): New function.
2225 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2226 (c_pretty_printer::expression): Handle VOID_CST.
2227 * cilk.c (extract_free_variables): Likewise.
2228 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2229 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2230
25a27413 22312014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2232
2233 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2234 * c-pragma.c (push_alignment): Adjust.
2235 (handle_pragma_push_options): Likewise.
2236
3e5a8b00 22372014-05-09 Marek Polacek <polacek@redhat.com>
2238
2239 PR c/50459
2240 * c-common.c (check_user_alignment): Return -1 if alignment is error
2241 node.
2242 (handle_aligned_attribute): Don't call default_conversion on
2243 FUNCTION_DECLs.
2244 (handle_vector_size_attribute): Likewise.
2245 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2246 (handle_sentinel_attribute): Call default_conversion and allow even
2247 integral types as an argument.
2248
c2c4ae8d 22492014-05-08 Marek Polacek <polacek@redhat.com>
2250
2251 PR c/61053
2252 * c-common.c (min_align_of_type): New function factored out from...
2253 (c_sizeof_or_alignof_type): ...here.
2254 * c-common.h (min_align_of_type): Declare.
2255
2026249a 22562014-05-08 Marek Polacek <polacek@redhat.com>
2257
2258 PR c/61077
2259 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2260 parameter type of main.
2261
33c8dcfe 22622014-05-07 DJ Delorie <dj@redhat.com>
2263
2264 * c-cppbuiltin.c (print_bits_of_hex): New.
2265 (builtin_define_type_minmax): Print values using hex so as not to
2266 require a pre-computed list of string values.
2267
960d5a55 22682014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2269 Mike Stump <mikestump@comcast.net>
2270 Richard Sandiford <rdsandiford@googlemail.com>
2271
2272 * c-ada-spec.c: Include wide-int.h.
2273 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2274 (dump_generic_ada_node): Use wide-int interfaces.
2275 * c-common.c: Include wide-int-print.h.
2276 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2277 (pointer_int_sum): Use wide-int interfaces.
2278 (c_common_nodes_and_builtins): Use make_int_cst.
2279 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2280 (handle_alloc_size_attribute): Use wide-int interfaces.
2281 (get_nonnull_operand): Likewise.
2282 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2283 * c-lex.c: Include wide-int.h.
2284 (narrowest_unsigned_type): Take a widest_int rather than two
2285 HOST_WIDE_INTs.
2286 (narrowest_signed_type): Likewise.
2287 (interpret_integer): Update accordingly. Use wide-int interfaces.
2288 (lex_charconst): Use wide-int interfaces.
2289 * c-pretty-print.c: Include wide-int.h.
2290 (pp_c_integer_constant): Use wide-int interfaces.
2291 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2292 INT_CST_LT_UNSIGNED.
2293
bbb88b31 22942014-05-06 Richard Biener <rguenther@suse.de>
2295
2296 * c-opts.c (c_common_post_options): For -freestanding,
2297 -fno-hosted and -fno-builtin disable pattern recognition
2298 if not enabled explicitely.
2299
022d4718 23002014-05-02 Marek Polacek <polacek@redhat.com>
2301
2302 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2303
e4ab2ef3 23042014-05-01 Marek Polacek <polacek@redhat.com>
2305
2306 PR c/43245
2307 * c.opt (Wdiscarded-qualifiers): Add.
2308
52cc0072 23092014-04-30 Marek Polacek <polacek@redhat.com>
2310
2311 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2312 INT_MIN / -1 sanitization only for integer types.
2313
4a026b48 23142014-04-25 Marek Polacek <polacek@redhat.com>
2315
2316 PR c/18079
2317 * c-common.c (handle_noinline_attribute): Warn if the attribute
2318 conflicts with always_inline attribute.
2319 (handle_always_inline_attribute): Warn if the attribute conflicts
2320 with noinline attribute.
2321
90e645fa 23222014-04-25 Marek Polacek <polacek@redhat.com>
2323
2324 PR c/60156
2325 * c-common.c (check_main_parameter_types): Warn about variadic main.
2326
db103ea4 23272014-04-24 Mike Stump <mikestump@comcast.net>
2328
2329 * c.opt (Wshadow-ivar): Default to on.
2330
06511efd 23312014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2332
2333 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2334
cdf34fca 23352014-04-23 Marek Polacek <polacek@redhat.com>
2336
2337 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2338
7311d7c1 23392014-04-22 Jakub Jelinek <jakub@redhat.com>
2340
2341 PR sanitizer/60275
2342 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2343 if flag_sanitize_undefined_trap_on_error.
2344 (ubsan_instrument_division, ubsan_instrument_shift,
2345 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2346 if !flag_sanitize_recover.
2347
c1917557 23482014-04-22 Marc Glisse <marc.glisse@inria.fr>
2349
2350 PR libstdc++/43622
2351 * c-common.c (registered_builtin_types): Make non-static.
2352 * c-common.h (registered_builtin_types): Declare.
2353
b2ca6510 23542014-04-14 Richard Biener <rguenther@suse.de>
2355 Marc Glisse <marc.glisse@inria.fr>
2356
2357 PR c/60819
2358 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2359 apply may-alias the scalar pointer type when applicable.
2360
855372a3 23612014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2362
2363 PR middle-end/60467
2364 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2365 as possible argument for Cilk_spawn.
2366
4012a986 23672014-04-11 Tobias Burnus <burnus@net-b.de>
2368
2369 PR c/60194
2370 * c.opt (Wformat-signedness): Add
2371 * c-format.c(check_format_types): Use it.
2372
0d284870 23732014-04-11 Jason Merrill <jason@redhat.com>
2374
2375 PR c++/57926
2376 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2377 default_conversion for an array argument.
2378
a34c1231 23792014-04-08 Marek Polacek <polacek@redhat.com>
2380
2381 PR sanitizer/60745
2382 * c-ubsan.c: Include asan.h.
2383 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2384
a35a8e18 23852014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2386
2387 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2388
b23e42b6 23892014-04-02 Marek Polacek <polacek@redhat.com>
2390
2391 * c-common.h (c_expand_expr): Remove declaration.
2392
5a672e62 23932014-03-28 Jakub Jelinek <jakub@redhat.com>
2394
2395 PR c++/60689
2396 * c-common.c (add_atomic_size_parameter): When creating new
2397 params vector, push the size argument first.
2398
d4d068c0 23992014-03-26 Jakub Jelinek <jakub@redhat.com>
2400
2401 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2402 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2403 ubsan_create_data callers.
2404
446bdf5f 24052014-03-22 Jakub Jelinek <jakub@redhat.com>
2406
2407 PR debug/60603
2408 * c-opts.c (c_finish_options): Restore cb_file_change call to
2409 <built-in>.
2410
8895f0a3 24112014-03-13 Jakub Jelinek <jakub@redhat.com>
2412
2413 PR middle-end/36282
2414 * c-pragma.c (apply_pragma_weak): Only look at
2415 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2416 DECL_ASSEMBLER_NAME_SET_P (decl).
2417 (maybe_apply_pending_pragma_weaks): Exit early if
2418 vec_safe_is_empty (pending_weaks) rather than only when
2419 !pending_weaks.
2420 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2421 set assembler name back to NULL afterwards.
2422
7a5da2cd 24232014-03-11 Jason Merrill <jason@redhat.com>
2424
2425 * c.opt: Add -std=gnu++14.
2426
95093889 24272014-03-11 Ian Bolton <ian.bolton@arm.com>
2428
2429 * c-opts.c (c_common_post_options): Don't override
2430 -ffp-contract=fast if unsafe-math-optimizations is on.
2431
c9a24b37 24322014-03-08 Paulo Matos <paulo@matos-sorge.com>
2433
2434 * c.opt: Enable LTO FE for fshort-double.
2435
3f6dba6e 24362014-03-07 Jason Merrill <jason@redhat.com>
2437
2438 * c.opt: Add -std=c++14.
2439
3bfdc94f 24402014-03-06 Marek Polacek <polacek@redhat.com>
2441
2442 PR c/60197
2443 * cilk.c (contains_cilk_spawn_stmt): New function.
2444 (contains_cilk_spawn_stmt_walker): Likewise.
2445 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2446 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2447
8b3a6a4c 24482014-03-03 Jakub Jelinek <jakub@redhat.com>
2449
2450 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2451 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2452 even when flag_preprocess_only.
2453
734ec290 24542014-02-26 Jason Merrill <jason@redhat.com>
2455
2456 PR c++/59231
2457 PR c++/11586
2458 * c-common.c (shorten_compare): Don't check
2459 c_inhibit_evaluation_warnings.
2460
81aec8b8 24612014-02-19 Jakub Jelinek <jakub@redhat.com>
2462
d1081017 2463 PR c/37743
2464 * c-common.c (c_common_nodes_and_builtins): When initializing
2465 c_uint{16,32,64}_type_node, also set corresponding
2466 uint{16,32,64}_type_node to the same value.
2467
81aec8b8 2468 PR c++/60267
2469 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2470 for PRAGMA_IVDEP if flag_preprocess_only.
2471
312243bb 24722014-02-12 Jakub Jelinek <jakub@redhat.com>
2473
2474 PR c/60101
2475 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2476 if false, add ADD itself, rather than vice versa.
2477 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2478 copy. For SAVE_EXPR, only call merge_tlist once.
2479
237e78b1 24802014-02-08 Jakub Jelinek <jakub@redhat.com>
2481
2482 PR middle-end/60092
2483 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2484 and tree_to_uhwi.
2485 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2486 functions.
2487 (c_common_attribute_table): Add alloc_align and assume_aligned
2488 attributes.
2489
76fdceeb 24902014-02-06 Marek Polacek <polacek@redhat.com>
2491
2492 PR c/60087
2493 * c-common.c (warn_for_sign_compare): Call warning_at with location
2494 instead of warning.
2495
4a4dea42 24962014-02-05 Marek Polacek <polacek@redhat.com>
2497
2498 PR c/53123
2499 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2500 statement.
2501
ec704957 25022014-02-04 Marek Polacek <polacek@redhat.com>
2503
2504 PR c/60036
2505 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2506 SAVE_EXPR.
2507
caf62483 25082014-02-03 Marc Glisse <marc.glisse@inria.fr>
2509
2510 PR c++/53017
2511 PR c++/59211
2512 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2513 handle_vector_size_attribute, handle_nonnull_attribute): Call
2514 default_conversion on the attribute argument.
2515 (handle_nonnull_attribute): Increment the argument number.
2516
ec761d5a 25172014-01-31 Marek Polacek <polacek@redhat.com>
2518
2519 PR c/59963
2520 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2521 build_function_call_vec.
2522 (resolve_overloaded_builtin): Likewise.
2523 * c-common.h (build_function_call_vec): Adjust declaration.
2524
22a75734 25252014-01-30 Marek Polacek <polacek@redhat.com>
2526
2527 PR c/59940
2528 * c-common.h (unsafe_conversion_p): Adjust declaration.
2529 (warnings_for_convert_and_check): Likewise.
2530 (convert_and_check): Likewise.
2531 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2532 expansion_point_location_if_in_system_header on it.
2533 (warnings_for_convert_and_check): Add location parameter. Call
2534 expansion_point_location_if_in_system_header on it. Use it.
2535 (convert_and_check): Add location parameter. Use it.
2536 (conversion_warning): Likewise.
2537 (c_add_case_label): Adjust convert_and_check calls.
2538 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2539
a89e6c15 25402014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2541
2542 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2543 flag_cilkplus.
2544 * c-pragma.c (init_pragma): Likewise.
2545 * c.opt: Likewise.
2546
2623625f 25472014-01-23 Marek Polacek <polacek@redhat.com>
2548
2549 PR c/59846
2550 * c-common.c (shorten_compare): Add location_t parameter.
2551 * c-common.h (shorten_binary_op): Adjust declaration.
2552
46da3601 25532014-01-23 Marek Polacek <polacek@redhat.com>
2554
2555 PR c/58346
2556 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2557 * c-common.h: Declare it.
2558
c9743c6a 25592014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2560
2561 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2562 * c-ada-spec.c (dump_ads): Likewise.
2563 (cpp_check): Likewise.
2564 (dump_ada_specs): Likewise.
2565
25662014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2567
2568 PR c++/49718
2569 * c-common.c (handle_no_instrument_function_attribute): Allow
2570 no_instrument_function attribute in class member
2571 definition/declaration.
2572
1248c663 25732014-01-15 Jakub Jelinek <jakub@redhat.com>
2574
2575 PR c/58943
2576 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2577 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2578 being COMPOUND_EXPR.
2579 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2580 operand a SAVE_EXPR and second MODIFY_EXPR.
2581
6e5c480b 25822014-01-09 Jakub Jelinek <jakub@redhat.com>
2583
2584 PR target/58115
2585 * c-pch.c (c_common_write_pch): Call
2586 prepare_target_option_nodes_for_pch.
2587
3aea1f79 25882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2589
2590 Update copyright years
2591
e4f22041 25922014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2593
2594 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2595 the copyright notice.
2596
7fb0fe24 25972013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2598
2599 * c-ada-spec.c (print_constructor): New function.
2600 (print_destructor): Retrieve the origin of the destructor.
2601 (print_ada_declaration): Revamp handling of constructors/destructors.
2602
468088ac 26032013-12-23 Stuart Hastings <stuart@apple.com>
2604 Bill Maddox <maddox@google.com>
2605 Jason Merrill <jason@redhat.com>
2606
2607 * c.opt: Add -fdeclone-ctor-dtor.
2608 * c-opts.c (c_common_post_options): Default to on iff -Os.
2609
74acc703 26102013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2611
2612 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2613 attribute.
2614 * c-pragma.h (enum pragma_cilk_clause): Remove.
2615 (enum pragma_omp_clause): Added the following fields:
2616 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2617 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2618 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2619 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2620 PRAGMA_CILK_CLAUSE_UNIFORM.
2621
8204c077 2622
433e804e 26232013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2624
2625 * cilk.c (cilk_outline): Made this function non-static.
2626 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2627 (create_cilk_wrapper): Added a new parameter: a function pointer.
2628 (c_install_body_w_frame_cleanup): Remove
2629 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2630 * c-common.h (cilk_outline): New prototype.
2631 (gimplify_cilk_spawn): Removed two parameters.
2632 (cilk_install_body_with_frame_cleanup): New prototype.
2633 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2634 CILK_SPAWN_STMT case.
2635
5bcc7e60 26362013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2637
e66325ea 2638 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2639
5bcc7e60 2640 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2641 (int_array_type_node): Remove.
2642 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2643
0b26ec77 26442013-12-05 Marek Polacek <polacek@redhat.com>
2645
2646 PR c/52023
2647 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2648 [ADJUST_FIELD_ALIGN].
2649
a179a7dc 26502013-12-04 Joseph Myers <joseph@codesourcery.com>
2651
2652 PR c/52023
2653 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2654 and check field alignment if set.
2655 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2656 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2657
8204c077 26582013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 2659 Marek Polacek <polacek@redhat.com>
2660
2661 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2662 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2663
648fd348 26642013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2665
2666 PR c/59309
2667 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2668 arguments.
2669
253e1cae 26702013-11-29 Jakub Jelinek <jakub@redhat.com>
2671
2672 PR c/59280
2673 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2674 goto invalid. If it is error_mark_node, don't issue further
2675 diagnostics.
2676
3e398f5b 26772013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2678
2679 * c.opt (Wopenmp-simd): New.
2680
020bc656 26812013-11-22 Jakub Jelinek <jakub@redhat.com>
2682
2683 * c-ubsan.h (ubsan_instrument_return): New prototype.
2684 * c-ubsan.c (ubsan_instrument_return): New function.
2685
bc61cadb 26862013-11-22 Andrew MacLeod <amacleod@redhat.com>
2687
2688 * c-common.c: Add required include files from gimple.h.
2689 * c-gimplify.c: Likewise
2690 * cilk.c: Likewise
2691
3df42822 26922013-11-22 David Malcolm <dmalcolm@redhat.com>
2693
2694 * c-common.c (unsafe_conversion_p): Remove use of
2695 EXPR_LOC_OR_HERE macro.
2696 (conversion_warning): Likewise.
2697 (warnings_for_convert_and_check): Likewise.
2698 (warn_for_collisions_1): Likewise.
2699 (shorten_compare): Likewise, and remove use of in_system_header
2700 macro, using the location from the former.
2701 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2702 (cb_def_pragma): Remove use of in_system_header macro.
2703 (lex_string): Likewise.
2704 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2705
8c53c46c 27062013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2707 Mike Stump <mikestump@comcast.net>
2708 Richard Sandiford <rdsandiford@googlemail.com>
2709
2710 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2711 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2712 tree_fits_shwi_p or tree_fits_uhwi_p.
2713 (dump_generic_ada_node): Likewise.
2714 * c-format.c (check_format_arg): Likewise.
2715 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2716
5200ef07 27172013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2718
2719 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2720
ca9d7d74 27212013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2722
2723 PR c/53001
2724 * c-common.c (unsafe_conversion_p): Make this function
2725 return an enumeration with more detail.
2726 (conversion_warning): Use the new return type of
2727 unsafe_conversion_p to separately warn either about conversions
2728 that lower floating point number precision or about the other
2729 kinds of conversions.
2730 * c-common.h (enum conversion_safety): New enumeration.
2731 (unsafe_conversion_p): switching return type to
2732 conversion_safety enumeration.
2733 * c.opt: Adding new warning -Wfloat-conversion and
2734 enabling it with -Wconversion.
2735
0391a567 27362013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2737
2738 * c-opts.c: Include plugin.h.
2739 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2740
19b928d9 27412013-11-19 Marek Polacek <polacek@redhat.com>
2742
2743 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2744 call.
2745 (ubsan_instrument_shift): Likewise.
2746 (ubsan_instrument_vla): Likewise.
2747
aa59f000 27482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2749
2750 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2751 cast to unsigned type.
2752
08f817b3 27532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2754
2755 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2756 tree_low_cst.
2757 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2758 rather than tree_low_cst.
2759
6a0712d4 27602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2761
2762 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2763 tree_to_uhwi throughout.
2764
fcb97e84 27652013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2766
2767 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2768 tree_low_cst (..., 0) with tree_to_shwi throughout.
2769
cd4547bf 27702013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2771
2772 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2773 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2774
35ec552a 27752013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2776
2777 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2778 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2779
f2697631 27802013-11-15 Aldy Hernandez <aldyh@redhat.com>
2781
2782 * c-cilkplus.c: New file.
2783 * c-common.c (readonly_error): Add location argument.
2784 * c-common.h (readonly_error): Same.
2785 (c_finish_cilk_clauses): Protoize.
2786 (c_check_cilk_loop): Same.
2787 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2788 Do not fail on error_mark_node.
2789 Abstract increment canonicalization to here...
2790 (c_omp_for_incr_canonicalize_ptr): New.
2791 c-pragma.c (init_pragma): Register "simd" pragma.
2792 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2793 (enum pragma_cilk_clause): New.
2794
0aa8c34e 27952013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2796
2797 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2798 wchar_type and host_integerp checks.
2799
e795d6e1 28002013-11-14 Andrew MacLeod <amacleod@redhat.com>
2801
2802 * c-common.c: Likewise.
2803 * c-gimplify.c: Likewise.
2804 * cilk.c: Likewise.
2805
9ed99284 28062013-11-14 Diego Novillo <dnovillo@google.com>
2807
2808 * c-common.c: Include fold-const.h.
2809 Include stor-layout.h.
2810 Include calls.h.
2811 Include stringpool.h.
2812 Include attribs.h.
2813 Include varasm.h.
2814 Include trans-mem.h.
2815 * c-cppbuiltin.c: Include stor-layout.h.
2816 Include stringpool.h.
2817 * c-format.c: Include stringpool.h.
2818 * c-lex.c: Include stringpool.h.
2819 Include stor-layout.h.
2820 * c-pragma.c: Include stringpool.h.
2821 Include attribs.h.
2822 Include varasm.h.
2823 Include gcc-symtab.h.
2824 * c-pretty-print.c: Include stor-layout.h.
2825 Include attribs.h.
2826 * cilk.c: Include stringpool.h.
2827 Include calls.h.
2828
4fba5eb9 28292013-11-13 Joseph Myers <joseph@codesourcery.com>
2830
2831 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2832 * c-common.c (c_common_reswords): Add __auto_type.
2833 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2834
a8783bee 28352013-11-12 Andrew MacLeod <amacleod@redhat.com>
2836
e795d6e1 2837 * c-common.c: Include gimplify.h.
2838 * c-gimplify.c: Likewise.
2839 * cilk.c: Likewise.
2840 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2841 * c-ubsan.c: Don't include gimple.h.
a8783bee 2842
d184e0c0 28432013-11-12 Joseph Myers <joseph@codesourcery.com>
2844
2845 * c-common.c (c_common_reswords): Add _Thread_local.
2846
a056826c 28472013-11-09 Joseph Myers <joseph@codesourcery.com>
2848
2849 * c-common.c (atomic_size_supported_p): New function.
2850 (resolve_overloaded_atomic_exchange)
2851 (resolve_overloaded_atomic_compare_exchange)
2852 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2853 Use it instead of comparing size with a local list of sizes.
2854
b560fabd 28552013-11-07 Andrew MacLeod <amacleod@redhat.com>
2856 Joseph Myers <joseph@codesourcery.com>
2857
2858 * c-common.h (enum rid): Add RID_ATOMIC.
2859 * c-common.c (c_common_reswords): Add _Atomic.
2860 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2861 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2862 * c-format.c (check_format_types): Check for extra _Atomic
2863 qualifiers in format argument.
2864 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2865 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2866
5b1a0622 28672013-11-06 Tobias Burnus <burnus@net-b.de>
2868
2869 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2870
4f8f4cb8 28712013-11-06 Joseph Myers <joseph@codesourcery.com>
2872
2873 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2874 standards modes.
2875 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2876 to mean lack of IEEE 754 support.
2877
9148bda3 28782013-11-05 Tobias Burnus <burnus@net-b.de>
2879
2880 * c.opt (-Wdate-time): New option
2881 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2882
08c5f4d5 28832013-11-05 Joseph Myers <joseph@codesourcery.com>
2884
2885 * c-cppbuiltin.c (cpp_iec_559_value): Test
2886 flag_excess_precision_cmdline not flag_excess_precision.
2887
c630ef93 28882013-11-05 Tobias Burnus <burnus@net-b.de>
2889
2890 * c.opt (fopenmp-simd): New option.
2891 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2892 (omp_pragmas): ... this new struct.
2893 (c_pp_lookup_pragma): Also walk omp_pragmas.
2894 (init_pragma): Init pragmas for -fopenmp-simd.
2895
7354a89b 28962013-11-04 Marek Polacek <polacek@redhat.com>
2897
2898 PR c++/58979
2899 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2900
4c866b9b 29012013-11-04 Joseph Myers <joseph@codesourcery.com>
2902
2903 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2904 New functions.
2905 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2906
e2a6a333 29072013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2908
2909 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2910 (dump_ada_specs): Adjust prototype of second callback.
2911 * c-ada-spec.c (cpp_check): New global variable.
2912 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2913 (print_generic_ada_decl): Likewise.
2914 (has_static_fields): Change return type to bool and add guard.
2915 (has_nontrivial_methods): New predicate.
2916 (is_tagged_type): Change return type to bool.
2917 (separate_class_package): Call has_nontrivial_methods.
2918 (pp_ada_tree_identifier): Minor tweaks.
2919 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2920 (dump_ada_array_domains): Likewise.
2921 (dump_ada_array_type): Likewise.
2922 (dump_template_types): Remove cpp_check parameter and do not pass it to
2923 dump_generic_ada_node.
2924 (dump_ada_template): Likewise.
2925 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2926 recursively.
2927 (print_ada_methods): Change return type to integer. Remove cpp_check
2928 parameter and do not pass it down.
2929 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2930 dump_generic_ada_node.
2931 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2932 accessing methods.
2933 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2934 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2935 value of print_ada_methods.
2936 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2937 Set cpp_check to it before invoking dump_ada_nodes.
2938 (dump_ada_specs): Likewise.
2939
2c4c3477 29402013-11-03 Marek Polacek <polacek@redhat.com>
2941
2942 * c-ubsan.c: Don't include hash-table.h.
2943 (ubsan_instrument_vla): New function.
2944 * c-ubsan.h: Declare it.
2945
452659af 29462013-10-31 David Malcolm <dmalcolm@redhat.com>
2947
2948 Automated part of renaming of symtab_node_base to symtab_node.
2949
2950 Patch autogenerated by rename_symtab.py from
2951 https://github.com/davidmalcolm/gcc-refactoring-scripts
2952 revision 58bb219cc090b2f4516a9297d868c245495ee622
2953
2954 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2955 symtab_node_base to symtab_node.
2956
4d6f7dd4 29572013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2958
2959 Implement C++14 digit separators.
2960 * c-lex.c (interpret_float): Remove digit separators from scratch string
2961 before building real literal.
2962
06cfe805 29632013-10-30 Jakub Jelinek <jakub@redhat.com>
2964
2965 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2966
d037099f 29672013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2968
2969 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2970 fields.
2971 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2972 enabled.
2973 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2974 (insert_cilk_frame): New prototype.
2975 (cilk_init_builtins): Likewise.
2976 (gimplify_cilk_spawn): Likewise.
2977 (c_cilk_install_body_w_frame_cleanup): Likewise.
2978 (cilk_detect_spawn_and_unwrap): Likewise.
2979 (cilk_set_spawn_marker): Likewise.
2980 (build_cilk_sync): Likewise.
2981 (build_cilk_spawn): Likewise.
2982 * cilk.c: New file.
2983
02774f2d 29842013-10-29 David Malcolm <dmalcolm@redhat.com>
2985
2986 Patch autogenerated by refactor_symtab.py from
2987 https://github.com/davidmalcolm/gcc-refactoring-scripts
2988 revision 58bb219cc090b2f4516a9297d868c245495ee622
2989
2990 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2991 to a true class hierarchy.
2992 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2993
31fe10fd 29942013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2995
2996 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2997
b1c06ff9 29982013-10-26 Jeff Law <law@redhat.com>
2999
1f78217c 3000 * c-common.c (c_define_builtins): Remove mudflap support.
3001 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 3002
48a972c8 30032013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 3004
3005 PR other/33426
3006 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3007 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3008
546a04b1 30092013-10-23 Jason Merrill <jason@redhat.com>
3010
3011 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3012
bc7bff74 30132013-10-11 Jakub Jelinek <jakub@redhat.com>
3014
d62c713e 3015 * c-common.h (omp_clause_mask::operator !=): New method.
3016 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3017 instead of if (mask & something) tests everywhere.
3018
bc7bff74 3019 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3020 201307 instead of 201107.
3021 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3022 (c_common_attribute_table): Add "omp declare target" and
3023 "omp declare simd" attributes.
3024 (handle_omp_declare_target_attribute,
3025 handle_omp_declare_simd_attribute): New functions.
3026 * c-omp.c: Include c-pragma.h.
3027 (c_finish_omp_taskgroup): New function.
3028 (c_finish_omp_atomic): Add swapped argument, if true,
3029 build the operation first with rhs, lhs arguments and use NOP_EXPR
3030 build_modify_expr.
3031 (c_finish_omp_for): Add code argument, pass it down to make_code.
3032 (c_omp_split_clauses): New function.
3033 (c_split_parallel_clauses): Removed.
3034 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3035 c_omp_declare_simd_clauses_to_decls): New functions.
3036 * c-common.h (omp_clause_mask): New type.
3037 (OMP_CLAUSE_MASK_1): Define.
3038 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3039 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3040 omp_clause_mask::operator |, omp_clause_mask::operator &,
3041 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3042 omp_clause_mask::operator ==): New methods.
3043 (enum c_omp_clause_split): New.
3044 (c_finish_omp_taskgroup): New prototype.
3045 (c_finish_omp_atomic): Add swapped argument.
3046 (c_finish_omp_for): Add code argument.
3047 (c_omp_split_clauses): New prototype.
3048 (c_split_parallel_clauses): Removed.
3049 (c_omp_declare_simd_clauses_to_numbers,
3050 c_omp_declare_simd_clauses_to_decls): New prototypes.
3051 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3052 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3053 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3054 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3055 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3056 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3057 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3058 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3059 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3060 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3061 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3062 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3063 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3064 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3065 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3066 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3067 PRAGMA_OMP_CLAUSE_UNIFORM.
3068
d7dcba40 30692013-10-09 Marc Glisse <marc.glisse@inria.fr>
3070
3071 PR tree-optimization/20318
3072 * c-common.c (handle_returns_nonnull_attribute): New function.
3073 (c_common_attribute_table): Add returns_nonnull.
3074
0b7282f1 30752013-10-03 Marc Glisse <marc.glisse@inria.fr>
3076
3077 PR c++/19476
3078 * c.opt (fcheck-new): Move to common.opt.
3079
51f553af 30802013-09-25 Marek Polacek <polacek@redhat.com>
3081 Jakub Jelinek <jakub@redhat.com>
3082
3083 PR sanitizer/58413
3084 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3085 an expression if we can prove it is correct.
3086 (ubsan_instrument_division): Likewise. Remove unnecessary
3087 check.
3088
05f893e1 30892013-09-18 Marek Polacek <polacek@redhat.com>
3090
3091 PR sanitizer/58411
3092 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3093 Declare it.
3094 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3095
236ce1d1 30962013-09-14 Iain Sandoe <iain@codesourcery.com>
3097
3098 PR target/48094
3099 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
3100 fobjc-gc, freplace-objc-classes): Accept for LTO.
3101
f9f68d35 31022013-09-13 Jacek Caban <jacek@codeweavers.com>
3103
3104 * c-target.def: New hook
3105
ba2f764e 31062013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3107
3108 PR c++/43452
3109 * c.opt (Wdelete-incomplete): Add.
3110
73437615 31112013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3112
3113 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
3114 (vector_types_compatible_elements_p): New function.
3115 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
3116 declaration.
3117 (vector_types_compatible_elements_p): Declare.
3118
95af4c75 31192013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3120
3121 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3122 a virtual member function.
3123 (pp_simple_type_specifier): Remove.
3124 (pp_c_type_specifier): Likewise.
3125 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3126 Rename from pp_c_type_specifier. Adjust.
3127 (c_pretty_printer::c_pretty_printer): Do not assign to
3128 simple_type_specifier.
3129
eaab24b9 31302013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3131
3132 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3133 member function.
3134 (c_pretty_printer::storage_class_specifier): Likewise.
3135 (c_pretty_printer::initializer): Likewise.
3136 (pp_declaration): Remove.
3137 (pp_declaration_specifiers): Likewise.
3138 (pp_abstract_declarator): Likewise.
3139 (pp_declarator): Likewise.
3140 (pp_type_id): Likewise.
3141 (pp_statement): Likewise.
3142 (pp_constant): Likewise.
3143 (pp_id_expression): Likewise.
3144 (pp_primary_expression): Likewise.
3145 (pp_unary_expression): Likewise.
3146 (pp_multiplicative_expression): Likewise.
3147 (pp_conditional_expression): Likewise.
3148 (pp_assignment_expression): Likewise.
3149 (pp_expression): Likewise.
3150 (pp_c_type_id): Likewise.
3151 (pp_c_storage_class_specifier): Likewise.
3152 * c-pretty-print.c (pp_c_type_cast): Tidy.
3153 (pp_c_pointer): Likewise.
3154 (pp_c_type_specifier): Likewise.
3155 (pp_c_parameter_type_list): Likewise.
3156 (pp_c_function_definition): Likewise.
3157 (pp_c_init_declarator): Likewise.
3158 (pp_c_initializer_list): Likewise.
3159 (pp_c_constructor_elts): Likewise.
3160 (c_pretty_printer::direct_abstract_declarator): Likewise.
3161 (c_pretty_printer::declaration_specifiers): Likewise.
3162 (c_pretty_printer::primary_expression): Likewise.
3163 (c_pretty_printer::postfix_expression): Likewise.
3164 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3165 (c_pretty_printer::storage_class_specifier): Rename from
3166 pp_c_storage_class_specifier.
3167 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3168 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3169 storage_class_specifier, initializer, offset_list, flags.
3170
9e46467d 31712013-08-30 Marek Polacek <polacek@redhat.com>
3172
3173 * c-ubsan.c: New file.
3174 * c-ubsan.h: New file.
3175
36a8d9b9 31762013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3177
3178 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3179 member function.
3180 (c_pretty_printer::declaration_specifiers): Likewise.
3181 (c_pretty_printer::declarator): Likewise.
3182 (c_pretty_printer::abstract_declarator): Likewise.
3183 (c_pretty_printer::direct_abstract_declarator): Likewise.
3184 (c_pretty_printer::direct_declarator): Likewise.
3185 (c_pretty_printer::function_specifier): Likewise.
3186 (pp_declaration): Adjust.
3187 (pp_declaration_specifiers): Likewise.
3188 (pp_abstract_declarator): Likewise.
3189 (pp_direct_declarator): Likewise.
3190 (pp_function_specifier): Likewise.
3191 (pp_direct_abstract_declarator): Remove as unused.
3192 (pp_c_declaration): Remove.
3193 (pp_c_declaration_specifiers): Likewise.
3194 (pp_c_declarator): Likewise.
3195 (pp_c_direct_declarator): Likewise.
3196 (pp_c_function_specifier): Likewise.
3197 (pp_c_direct_abstract_declarator): Likewise.
3198 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3199 from pp_c_abstract_declarator. Adjust.
3200 (c_pretty_printer::direct_abstract_declarator): Rename from
3201 pp_c_direct_abstract_declarator. Adjust.
3202 (c_pretty_printer::function_specifier): Rename from
3203 pp_c_function_specifier. Adjust.
3204 (c_pretty_printer::declaration_specifiers): Rename from
3205 pp_c_declaration_specifiers. Adjust.
3206 (c_pretty_printer::direct_declarator): Rename from
3207 pp_c_direct_declarator. Adjust.
3208 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3209 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3210 (c_pretty_printer::c_pretty_printer): Do not assign to
3211 declaration, declaration_specifiers, declarator,
3212 direct_declarator, direct_abstract_declarator, function_specifier.
3213
30635c2e 32142013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3215
3216 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3217 virtual member function.
3218 (c_pretty_printer::multiplicative_expression): Likewise.
3219 (c_pretty_printer::conditional_expression): Likewise.
3220 (c_pretty_printer::assignment_expression): Likewise.
3221 (c_pretty_printer::expression): Likewise.
3222 (pp_unary_expression): Adjust.
3223 (pp_multiplicative_expression): Likewise.
3224 (pp_assignment_expression): Likewise.
3225 (pp_conditional_expression): Likewise.
3226 (pp_expression): Likewise.
3227 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3228 from pp_c_unary_expression. Adjust.
3229 (c_pretty_printer::multiplicative_expression): Rename from
3230 pp_c_multiplicative_expression. Adjust.
3231 (c_pretty_printer::conditional_expression): Rename from
3232 pp_c_conditional_expression. Adjust.
3233 (c_pretty_printer::assignment_expression): Rename from
3234 pp_c_assignment_expression. Adjust.
3235 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3236 (c_pretty_printer::c_pretty_printer): Do not assign to
3237 unary_expression, multiplicative_expression,
3238 conditional_expression, expression.
3239
027d08ed 32402013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3241
3242 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3243 virtual member function.
3244 (pp_postfix_expression): Adjust.
3245 (pp_c_postfix_expression): Remove.
3246 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3247 from pp_c_postfix_expression. Adjust.
3248 (c_pretty_printer::c_pretty_printer): Do not assign to
3249 postfix_expression.
3250
f873303a 32512013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3252
3253 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3254 virtua member function.
3255 (pp_primary_expression): Adjust.
3256 (pp_c_primary_expression): Remove.
3257 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3258 from pp_c_primary_expression. Adjust.
3259 (pp_c_initializer_list): Use pp_primary_expression.
3260 (c_pretty_printer::c_pretty_printer): Do not assign to
3261 primary_expression.
3262
08e3e481 32632013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3264
3265 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3266 * c-pretty-print.c (M_): Remove.
3267 (c_pretty_printer::translate_string): Define.
3268 (pp_c_type_specifier): Use it.
3269 (pp_c_primary_expression): Likewise.
3270 (pp_c_expression): Likewise.
3271
1fc4a87f 32722013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3273
3274 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3275 virtual function.
3276 (pp_c_id_expression): Remove.
3277 (pp_id_expression): Adjust.
3278 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3279 pp_c_id_expression. Adjust.
3280 (pp_c_postfix_expression): Use pp_id_expression.
3281 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3282
a6cb161b 32832013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3284
3285 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3286 member function.
3287 (pp_constant): Adjust.
3288 (pp_c_constant): Remove.
3289 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3290 pp_c_constant. Adjust.
3291 (pp_c_constant)
3292 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3293 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3294
eed6bc21 32952013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3296
3297 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3298 (c_pretty_printer::c_pretty_printer): Declare.
3299 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3300 c_pretty_printer_init. Adjust.
3301 (print_c_tree): Do not call c_pretty_printer_init.
3302 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3303
df558d2e 33042013-08-09 Arnaud Charlet <charlet@adacore.com>
3305
3306 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3307
42f9a786 33082013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3309
3310 PR c++/58080
3311 * c-common.c (pointer_int_sum): Add bool parameter.
3312 * c-common.h (pointer_int_sum): Adjust declaration.
3313
f874ddad 33142013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3315
3316 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3317 c_pretty_printer variable.
3318
a94db6b0 33192013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3320
3321 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3322 (pp_base): Remove.
3323 (pp_c_base): Likewise. Adjust users.
3324 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3325 (pp_c_whitespace): Do not call pp_base.
3326 (pp_c_left_paren): Likewise.
3327 (pp_c_right_paren): Likewise.
3328 (pp_c_left_brace): Likewise.
3329 (pp_c_right_brace): Likewise.
3330 (pp_c_left_bracket): Likewise.
3331 (pp_c_right_bracket): Likewise.
3332 (pp_c_dot): Likewise.
3333 (pp_c_ampersand): Likewise.
3334 (pp_c_star): Likewise.
3335 (pp_c_arrow): Likewise.
3336 (pp_c_semicolon): Likewise.
3337 (pp_c_complement): Likewise.
3338 (pp_c_exclamation): Likewise.
3339 (pp_c_direct_declarator): Likewise.
3340 (pp_c_ws_string): Likewise.
3341 (pp_c_identifier): Likewise.
3342 (pp_c_statement): Likewise.
3343 (print_c_tree): Likewise.
3344
1898176c 33452013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3346
3347 PR c++/58072
3348 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3349 provide useful error strings.
3350
70d60d1d 33512013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3352
3353 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3354 printer functions instead of pp_string or operators and punctuators.
3355 (dump_generic_ada_node): Likewise.
3356 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3357 (pp_c_relational_expression): Likewise.
3358 (pp_c_logical_or_expression): Likewise.
3359
dda4f0ec 33602013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3361
3362 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3363 functions instead of pp_character.
3364 (pp_ada_tree_identifier): Likewise.
3365 (dump_ada_double_name): Likewise.
3366 (dump_ada_function_declaration): Likewise.
3367 (dump_ada_array_domains): Likewise.
3368 (dump_template_types): Likewise.
3369 (dump_generic_ada_node): Likewise.
3370 (print_ada_declaration): Likewise.
3371 (print_ada_struct_decl): Likewise.
3372 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3373
7aa04c8d 33742013-07-23 Tom Tromey <tromey@redhat.com>
3375
3376 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3377 * c-common.c (c_common_reswords): Add _Generic.
3378
a04e8d62 33792013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3380
3381 * c-common.c: Fix typos.
3382 * c-common.h: Likewise.
3383
a96c3cc1 33842013-07-13 Lubos Lunak <l.lunak@suse.cz>
3385
3386 PR c++/55203
3387 * c-common.c (c_common_attribute_table): Add warn_unused.
3388 (handle_warn_unused_attribute): New.
3389
da31536d 33902013-07-10 Jakub Jelinek <jakub@redhat.com>
3391
3392 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3393 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3394
839f2f70 33952013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3396
3397 PR c++/57869
3398 * c.opt: Add Wconditionally-supported.
3399
73f353d0 34002013-07-08 Graham Stott <graham.stott@btinternet.com>
3401
1f78217c 3402 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3403 unused variables l_length and l_node.
3404
21ebaa24 34052013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3406
3407 PR c/57821
3408 * c-common.c (complete_array_type): Delay folding first index
3409 like other indices. When folding, check for index overflow.
3410
68ea4406 34112013-06-27 Marc Glisse <marc.glisse@inria.fr>
3412
3413 PR c++/57509
3414 * c-common.h (c_build_vec_perm_expr): New complain argument.
3415 * c-common.c (c_build_vec_perm_expr): Likewise.
3416 Use save_expr also in C++.
3417
60777f69 34182013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3419
3420 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3421 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3422 * c-opts.c (c_common_post_options): Likewise.
3423
839f2f70 34242013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3425
3426 * array-notation-common.c (length_mismatch_in_expr): Changed the
3427 parameter type's from a dynamic array to a vec_tree. Also removed
3428 the size parameters.
3429 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3430 the change above.
3431
e9331eab 34322013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3433
3434 * c-common.h (struct cilkplus_an_parts): New structure.
3435 (struct cilkplus_an_loop_parts): Likewise.
3436 (cilkplus_extract_an_triplets): New prototype.
3437 (fix_sec_implicit_args): Likewise.
3438 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3439 (fix_sec_implicit_args): Likewise.
60777f69 3440
a9c99fc4 34412013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3442
3443 * array-notation-common.c (find_inv_trees): Removed an unwanted
3444 typecasting.
3445 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3446 enum rid to enum tree_code.
3447
f2526cce 34482013-06-11 Jan Hubicka <jh@suse.cz>
3449
3450 * c-common.c (handle_alias_ifunc_attribute): Do not set
3451 DECL_EXTERNAL for weakref variables.
3452 * c-pragma.c (handle_pragma_weak): Make sure aliases
3453 are not declared as external.
3454
09970d67 34552013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3456
3457 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3458 function from c/c-array-notation.c.
3459 (is_cilkplus_reduce_builtin): Likewise.
3460 (find_rank): Likewise.
3461 (extract_array_notation_exprs): Likewise.
3462 (replace_array_notations): Likewise.
3463 (find_inv_trees): Likewise.
3464 (replace_inv_trees): Likewise.
3465 (contains_array_notation_expr): Likewise.
3466 (find_correct_array_notation_type): Likewise.
3467 * c-common.h (struct inv_list): Moved this struct from the file
3468 c/c-array-notation.c and added a new field called additional tcodes.
3469 (length_mismatch_in_expr_p): New prototype.
3470 (is_cilkplus_reduce_builtin): Likewise.
3471 (find_rank): Likewise.
3472 (extract_array_notation_exprs): Likewise.
3473 (replace_array_notation): Likewise.
3474 (find_inv_trees): Likewise.
3475 (replace_inv_trees): Likewise.
3476 (find_correct_array_notation_type): Likewise.
839f2f70 3477
3c6d4197 34782013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3479
3480 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3481 function array_notation_init_builtins is called.
3482 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3483 * c-common.def (ARRAY_NOTATION_REF): New tree.
3484 * c-common.h (build_array_notation_expr): New function declaration.
3485 (build_array_notation_ref): Likewise.
3486 (extract_sec_implicit_index_arg): New extern declaration.
3487 (is_sec_implicit_index_fn): Likewise.
3488 (ARRAY_NOTATION_CHECK): New define.
3489 (ARRAY_NOTATION_ARRAY): Likewise.
3490 (ARRAY_NOTATION_START): Likewise.
3491 (ARRAY_NOTATION_LENGTH): Likewise.
3492 (ARRAY_NOTATION_STRIDE): Likewise.
3493 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3494 ARRAY_NOTATION_REF.
3495 (pp_c_expression): Likewise.
3496 * c.opt (flag_enable_cilkplus): New flag.
3497 * array-notation-common.c: New file.
3498
8e71dad2 34992013-05-14 Jakub Jelinek <jakub@redhat.com>
3500
3501 PR c++/57274
3502 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3503
432dd330 35042013-05-10 Marc Glisse <marc.glisse@inria.fr>
3505
3506 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3507 vectors.
3508
b156ec37 35092013-05-07 Han Shen <shenhan@google.com>
3510
3511 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3512
1a087624 35132013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3514
3515 * c-common.c (check_user_alignment): Emit error for negative values.
3516
1638c736 35172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3518
3519 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3520
949dbf93 35212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3522
3523 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3524 __GXX_EXPERIMENTAL_CXX1Y__.
3525
9205a6cc 35262013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3527 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3528
3529 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3530 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3531 to simply use OPT_Wpointer_arith.
3532 (c_sizeof_or_alignof_type): Likewise.
3533
05d0bce1 35342013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3535
3536 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3537
41609f8b 35382013-04-12 Jakub Jelinek <jakub@redhat.com>
3539
3540 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3541 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3542 specifiers.
3543
c671dc4f 35442013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3545
3546 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3547
ba125576 35482013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3549
3550 * c-common.c (pointer_int_sum): Remove dead code.
3551
9d3fa937 35522013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3553
3554 PR middle-end/56524
3555 * c-common.c (handle_optimize_attribute): Don't call
3556 save_optabs_if_changed.
3557
5ceebb21 35582013-03-05 Jakub Jelinek <jakub@redhat.com>
3559
3560 PR middle-end/56461
3561 * c-pch.c (pch_init): Free target_validity at the end.
3562
18eeed2b 35632013-03-04 Jakub Jelinek <jakub@redhat.com>
3564
3565 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3566
a9196da9 35672013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3568 Jakub Jelinek <jakub@redhat.com>
3569
3570 PR sanitizer/56454
3571 * c-common.c (handle_no_sanitize_address_attribute): New function.
3572 (c_common_attribute_table): Add no_sanitize_address attribute.
3573 (handle_no_address_safety_analysis_attribute): Add
3574 no_sanitize_address attribute, not no_address_safety_analysis
3575 attribute.
3576
15c27dda 35772013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3578
3579 PR target/52555
3580 * c-common.c (handle_optimize_attribute): Call
3581 save_optabs_if_changed.
3582
19426fe1 35832013-02-18 Jakub Jelinek <jakub@redhat.com>
3584 Steven Bosscher <steven@gcc.gnu.org>
3585
3586 PR pch/54117
3587 * c-opts.c (c_common_post_options): If debug info is enabled
3588 and non-dwarf*, refuse to load PCH files and when writing PCH
3589 file warn.
3590
df936998 35912013-02-05 Jakub Jelinek <jakub@redhat.com>
3592
3593 PR middle-end/56167
3594 * c-common.c (handle_error_attribute): Fix condition.
3595
ae0c3984 35962013-01-30 Jakub Jelinek <jakub@redhat.com>
3597
3598 PR c++/55742
3599 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3600
1c4973d7 36012013-01-18 Jason Merrill <jason@redhat.com>
3602
3603 PR target/54908
3604 * c.opt (-fextern-tls-init): New.
3605 * c-opts.c (c_common_post_options): Handle it.
3606
7c834436 36072013-01-09 Jakub Jelinek <jakub@redhat.com>
3608
3609 PR c/48418
3610 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3611 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3612 and is either negative or bigger or equal to type precision
3613 of the first operand.
3614
5abaa10a 36152012-12-03 Marek Polacek <polacek@redhat.com>
3616
3617 PR c/55570
3618 * c-common.c (check_user_alignment): Swap order of tests,
3619 check TREE_CODE first.
3620
324ca377 36212012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3622
3623 PR c++/52654
3624 * c-common.h (overflow_type): New enum.
3625 (build_userdef_literal): Add overflow_type argument.
3626 (tree_userdef_literal): Add overflow_type.
3627 (USERDEF_LITERAL_OVERFLOW): New access macro.
3628 * c-common.c (build_userdef_literal): Add overflow_type
3629 argument.
3630 * c-lex.c (c_lex_with_flags): Add overflow_type to
3631 build_userdef_literal calls.
3632 (interpret_integer, interpret_float): Add overflow_type argument.
3633
b4c4a429 36342012-11-28 Richard Biener <rguenther@suse.de>
3635
3636 PR c/35634
3637 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3638 here and use a type with proper overflow behavior for types that would
3639 need to be promoted for the arithmetic.
3640
d413ffdd 36412012-11-23 Jakub Jelinek <jakub@redhat.com>
3642
3643 PR sanitizer/55435
3644 * c-common.c (handle_no_address_safety_analysis_attribute): New
3645 function.
3646 (c_common_attribute_table): Add no_address_safety_analysis.
3647
52bc861d 36482012-11-16 Simon Baldwin <simonb@google.com>
3649
3650 * c.opt: Add f[no-]canonical-system-headers.
3651 * c-opts.c (c_common_handle_option): Handle
3652 OPT_fcanonical_system_headers.
3653
2dd00636 36542012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3655
3656 PR c++/54413
3657 * c-opts.c (c_common_handle_option): Set new flags.
3658 * c.opt: Describe new flags.
3659
d4701f6c 36602012-11-09 Jason Merrill <jason@redhat.com>
3661
3662 * c.opt (Wabi-tag): New.
3663
72d65da9 36642012-11-09 Andi Kleen <ak@linux.intel.com>
3665
3666 PR 55139
3667 * c-common.c (get_atomic_generic_size): Mask with
3668 MEMMODEL_MASK
3669
77a357e3 36702012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3671
3672 PR c/53063
3673 * c.opt (Wformat): Make it Alias Wformat=1.
3674 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3675 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3676 LangEnabledBy.
3677 (Wformat=): RejectNegative. Use LangEnabledBy.
3678 (Wnonnull): Use LangEnabledBy.
3679 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3680 * c-format.c (set_Wformat): Delete.
3681 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3682 (maybe_read_dollar_number): Likewise.
3683 (avoid_dollar_number): Likewise.
3684 (finish_dollar_format_checking): Likewise.
3685 (check_format_info): Likewise.
3686 (check_format_info_main): Likewise.
3687 (check_format_types): Likewise.
3688 (format_type_warning): Likewise.
3689 * c-common.c (int): Likewise.
3690 (check_function_sentinel): Likewise.
3691 * c-common.h (warn_format,set_Wformat): Do not declare here.
3692
45efa6b9 36932012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3694
3695 PR c/53063
3696 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3697 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3698 Use LangEnabledBy.
3699 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3700 common.opt.
3701 (Wvariadic-macros): Init(1).
3702 * c-opts.c (c_common_handle_option): Do not handle them
3703 explicitly.
3704 (c_common_post_options): Likewise.
3705 (sanitize_cpp_opts): warn_unused_macros is now
3706 cpp_warn_unused_macros.
3707 (push_command_line_include): Likewise.
3708 * c-common.c (warn_unknown_pragmas): Do not define.
3709 * c-common.h (warn_unknown_pragmas): Do not declare.
3710
0e4e775a 37112012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3712
3713 PR c/51294
3714 * c-common.c (conversion_warning): Handle conditional expressions.
3715
8b447d3f 37162012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3717
3718 PR c++/54930
3719 * c.opt (Wreturn_local_addr): Define new option.
3720
f4a61754 37212012-10-25 Jason Merrill <jason@redhat.com>
3722
ecb10e6a 3723 * c.opt (Wvirtual-move-assign): New.
3724
f4a61754 3725 * c.opt (Winherited-variadic-ctor): New.
3726
7b463b19 37272012-10-25 Marc Glisse <marc.glisse@inria.fr>
3728
3729 PR c++/54427
3730 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3731
6adc88f8 37322012-10-23 Joseph Myers <joseph@codesourcery.com>
3733
3734 * c-common.h (pch_cpp_save_state): Declare.
3735 * c-target.def (c_preinclude): New hook.
3736 * c-opts.c (done_preinclude): New.
3737 (push_command_line_include): Handle default preincluded header.
3738 (cb_file_change): Call pch_cpp_save_state when calling
3739 push_command_line_include.
3740 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3741 (pch_cpp_save_state): New.
3742 (pch_init): Call pch_cpp_save_state conditionally, instead of
3743 calling cpp_save_state.
3744
fa816b0b 37452012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3746
3747 PR c/53063
3748 PR c/40989
3749 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3750 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3751 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3752 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3753 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3754 * c-opts.c (c_common_handle_option): Remove explicit handling from
3755 here.
3756 (c_common_post_options): Likewise.
3757
d214ccee 37582012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3759
3760 * c-ada-spec.c (LOCATION_COL): Delete.
3761 (compare_location): New function.
3762 (compare_node): Use it.
3763 (compare_comment): Likewise.
3764
77b27208 37652012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3766
3767 PR c/53063
3768 PR c/40989
3769 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3770 * c-opts.c (c_common_handle_option): Do not set them here. Add
3771 comment.
3772 (c_common_post_options): Likewise.
3773
cc02ca4d 37742012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3775
3776 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3777 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3778 Remove POINTER_TYPE handling, add large unsigned handling and use
3779 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3780
57f872a2 37812012-10-12 Jakub Jelinek <jakub@redhat.com>
3782
3783 PR c/54381
3784 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3785 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3786 locs and array of 3 trees instead of just single loc and single
3787 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3788 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3789 For *cmp* builtins that take two sources strings report warnings
3790 about first and second source, not about destination and source.
3791
7354ad2e 37922012-10-12 Marc Glisse <marc.glisse@inria.fr>
3793
3794 PR c++/53055
3795 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3796
1ac7f120 37972012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3798
3799 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3800 declaring something coming from another file.
3801
1e0cc9e3 38022012-10-10 Arnaud Charlet <charlet@adacore.com>
3803
1ac7f120 3804 PR ada/54845
1e0cc9e3 3805 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3806
b0e7825e 38072012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3808
3809 PR c++/54194
3810 * c-common.c (warn_about_parentheses): Add location_t parameter;
3811 use EXPR_LOC_OR_LOC.
3812 * c-common.h: Update declaration.
3813
41ed701a 38142012-10-09 Marc Glisse <marc.glisse@inria.fr>
3815
3816 PR c++/54427
3817 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3818 more operations. Make error messages optional.
3819 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3820 (scalar_to_vector): Declare.
3821
3740094c 38222012-10-08 Jason Merrill <jason@redhat.com>
3823
3824 * c-common.c (c_common_reswords): Add thread_local.
3825
ffcdbf9c 38262012-10-08 Dodji Seketeli <dodji@redhat.com>
3827
3828 PR c++/53528 C++11 attribute support
3829 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3830 new functions.
3831 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3832 static function.
3833 (handle_aligned_attribute): In choose strictest alignment
3834 among many. Use new check_cxx_fundamental_alignment_constraints.
3835 (handle_transparent_union_attribute): In c++11 attribute syntax,
3836 don't look through typedefs.
3837
ef34afc1 38382012-10-04 Arnaud Charlet <charlet@adacore.com>
3839
3840 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3841 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3842 out of dumpfile.h.
3843
f1ff4562 38442012-09-25 Dehao Chen <dehao@google.com>
3845
3846 PR middle-end/54645
ef34afc1 3847 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3848 map when read in the pch.
3849
735538a1 38502012-09-18 Arnaud Charlet <charlet@adacore.com>
3851
3852 * c-ada-spec.c: Style fixes.
3853
9120cdc8 38542012-09-18 Thomas Quinot <quinot@adacore.com>
3855
3856 * c.opt (-fada-spec-parent): Define new command line switch.
3857 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3858 is specified, generate binding spec as a child of the specified unit.
3859
8eba82c2 38602012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3861 Manuel López-Ibáñez <manu@gcc.gnu.org>
3862
3863 PR c++/53210
3864 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3865
38682990 38662012-08-23 Arnaud Charlet <charlet@adacore.com>
3867
3868 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3869 for pointers, and add missing Convention C pragma.
3870 (print_ada_struct_decl): Add missing aliased keyword.
3871 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3872
f003f5dc 38732012-08-17 Jakub Jelinek <jakub@redhat.com>
3874
3875 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3876 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3877 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3878 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3879 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3880
ec11736b 38812012-08-10 Richard Guenther <rguenther@suse.de>
3882
3883 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3884
5f7f600e 38852012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3886
3887 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3888 instead of separate pp_newline and pp_flush.
3889 (print_c_tree): Likewise.
3890
758a38ab 38912012-07-26 Richard Henderson <rth@redhat.com>
3892
3893 * c-common.c (handle_hot_attribute): Allow labels.
3894 (handle_cold_attribute): Likewise.
3895
9ca77b08 38962012-07-20 Jakub Jelinek <jakub@redhat.com>
3897
3898 PR c++/28656
3899 * c-common.c (check_function_nonnull): Handle multiple nonnull
3900 attributes properly.
3901
b9ed1410 39022012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3903
3904 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3905 * c-ada-spec.c: Likewise.
3906 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3907
c2a65b90 39082012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3909
3910 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3911 Remove code conditional on it.
3912
88c5a1d1 39132012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3914
3915 * c-gimplify.c: Do not include basic-block.h.
3916 * c-common.c: Do not include linfuncs.h.
3917
4a020a8c 39182012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3919
3920 * c-common.h: Include tree.h.
3921
c28ddc97 39222012-07-02 Jason Merrill <jason@redhat.com>
3923
3924 PR c++/53524
3925 * c-common.c (get_priority): Call default_conversion.
3926
405ed67f 39272012-07-01 Uros Bizjak <ubizjak@gmail.com>
3928
3929 * c-pch.c (c_common_write_pch): Remove unused variables.
3930
e53d55e7 39312012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3932
3933 * cppspec.c: Moved from gcc/ to here.
3934
3d9c25ec 39352012-06-27 Kai Tietz <ktietz@redhat.com>
3936
3937 PR preprocessor/37215
3938 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3939
3169c57a 39402012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3941
3942 * c-common.h (c_common_print_pch_checksum): Remove.
3943 * c-pch.c: Do not include output.h.
3944 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3945 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3946 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3947 (struct c_pch_header): Remove.
3948 (get_ident): Update gpch version.
3949 (pch_init): Do not print executable_checksum to asm_out_file.
3950 Do not fail if there is no asm_out_file to read back from. Set
3951 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3952 (c_common_write_pch): Verify that nothing was written to asm_out_file
3953 since pch_init was called. Do not write a c_pch_header, and do not
3954 copy from asm_out_file to the PCH.
3955 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3956 the content of asm_out_file from the PCH.
3957 (c_common_print_pch_checksum): Remove.
3958 * c-opts.c (c_common_init): Print out executable_checksum directly.
3959
ff6624bc 39602012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3961
3962 * c-target.def (objc_declare_unresolved_class_reference,
3963 objc_declare_class_definition): Add new hooks.
3964
367b1459 39652012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3966
3967 * c-lex.c: Do not include output.h.
3968 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3969 Remove uses of ASM_OUTPUT_IDENT.
3970
bf0cb017 39712012-06-15 Marc Glisse <marc.glisse@inria.fr>
3972
3973 PR c++/51033
3974 * c-common.h (c_build_vec_perm_expr): Move decl here.
3975 * c-common.c (c_build_vec_perm_expr): Move definition
3976 here.
3977
b37a3600 39782012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3979
3980 * c.opt (fconserve-space): Turn into a no-op.
3981
19931eea 39822012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3983
3984 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3985 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3986 both the start and end of the function.
3987
dff12c10 39882012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3989
3990 * c-common.c: Do not include output.h.
3991 * c-pragma.c: Likewise.
3992
5f9e7dd5 39932012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3994
3995 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3996 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3997 (lang_decl_name): Handle namespace decls.
3998
b5369b7d 39992012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4000
4001 * c-ada-spec.c: Do not include output.h.
4002 * c-semantics.c: Likewise.
4003
8032877c 40042012-05-29 Joseph Myers <joseph@codesourcery.com>
4005
4006 * c-common.c: Fix typo.
4007
7843e4bc 40082012-05-29 Michael Matz <matz@suse.de>
4009
4010 * c-common.h (c_expand_decl): Remove prototype.
4011
8cf857d4 40122012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4013
4014 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4015 * c-opts.c (c_common_handle_option): Remove code handling
4016 warn_missing_braces.
4017
8b64dc3c 40182012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4019
4020 PR c++/25137
4021 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4022 -Wmissing_braces.
4023
43cbde16 40242012-05-22 Dodji Seketeli <dodji@redhat.com>
4025
4026 PR c++/53322
4027 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4028
db490cb6 40292012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4030
4031 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4032 * c-opts.c (c_common_handle_option): Do not handle explicitly
4033 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4034
a60f3e81 40352012-05-16 Dodji Seketeli <dodji@redhat.com>
4036
4037 PR preprocessor/7263
4038 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4039 to cpp_classify_number. For diagnostics, use the precise location
4040 instead of the global input_location.
4041
82e6ef7c 40422012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4043
cd4797ff 4044 PR c++/11856
82e6ef7c 4045 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4046
258a168d 40472012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4048
82e6ef7c 4049 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 4050
d3b7ee7c 40512012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4052
4053 PR 53063
4054 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4055 Wreorder): Use LangEnabledBy.
4056 * c-opts.c (c_common_handle_option): Do not enable them
4057 explicitly. Call lang-specific generated functions.
4058 (c_common_post_options): Do not set them here.
4059
70059cea 40602012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4061
4062 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4063 Wmissing-field-initializers,Wmissing-parameter-type,
4064 Wold-style-declaration,Woverride-init): Use EnabledBy.
4065 * c-opts.c (c_common_post_options): Do not set here explicitly.
4066
fbb6fbd8 40672012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4068
4069 PR 53063
4070 * c-opts.c (c_common_handle_option): Use handle_generated_option
4071 to enable sub-options.
4072
61f69bc9 40732012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4074
4075 PR c++/53158
4076 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4077
5a1fe2db 40782012-05-10 Richard Guenther <rguenther@suse.de>
4079
4080 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4081 adjust commentary about TYPE_IS_SIZETYPE types.
4082
d42e7c5a 40832012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4084
4085 PR c++/53261
4086 * c-common.c (warn_logical_operator): Check that argument of
4087 integer_zerop is not NULL.
4088
686369e8 40892012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4090
4091 PR c/43772
4092 * c-common.c (warn_logical_operator): Do not warn if either side
4093 is already true or false.
4094
03fe1dc2 40952012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4096
4097 PR c/51712
4098 * c-common.c (expr_original_type): New.
4099 (shorten_compare): Do not warn for enumeration types.
4100
bba5a206 41012012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4102
4103 * c.opt (fpermissive): Add Var(flag_permissive).
4104
7059d45d 41052012-04-30 Marc Glisse <marc.glisse@inria.fr>
4106
4107 PR c++/51033
4108 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
4109 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
4110
7edb1062 41112012-04-30 Dodji Seketeli <dodji@redhat.com>
4112
4113 Add -Wvarargs option
4114 * c.opt (Wvarargs): Define new option.
4115
068bea1e 41162012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4117
4118 * c-common.c (check_function_arguments): Replace
4119 Wmissing-format-attribute with Wsuggest-attribute=format.
4120
b86527d8 41212012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4122
4123 * c.opt (Wsuggest-attribute=format): New. Alias of
4124 Wmissing-format-attribute.
4125 * c-format.c (decode_format_type): Replace
4126 Wmissing-format-attribute with Wsuggest-attribute=format.
4127 (check_function_format): Likewise.
4128
19931eea 41292012-04-27 Ollie Wild <aaw@google.com>
76d340ac 4130
4131 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4132 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4133 * c.opt: Add Wliteral-suffix.
4134
29438999 41352012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4136
4137 PR c/44774
4138 * c.opt (Wpedantic): New.
4139 (pedantic): Alias Wpedantic.
4140 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4141 (c_common_post_options): Likewise.
4142 (sanitize_cpp_opts): Likewise.
4143 * c-lex.c (interpret_float): Likewise.
4144 * c-format.c (check_format_types): Likewise.
4145 * c-common.c (pointer_int_sum): Likewise.
4146 (c_sizeof_or_alignof_type): Likewise.
4147 (c_add_case_label): Likewise.
4148 (c_do_switch_warnings): Likewise.
4149 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4150
4f9d6b8b 41512012-04-15 Jason Merrill <jason@redhat.com>
4152
4153 PR c++/52818
4154 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4155 (C_STD_NAME): Distinguish between C++98 and C++11.
4156
74bdbe96 41572012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4158
4159 PR target/52624
4160 * c-common.h (uint16_type_node): Rename into...
4161 (c_uint16_type_node): ...this.
4162 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4163 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4164
3d177e8c 41652012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4166
4167 * c-common.c (warn_if_unused_value): Move definition to here.
4168 * c-common.h (warn_if_unused_value): Move declaration to here.
4169
6a9a958f 41702012-03-23 William Bader <williambader@hotmail.com>
4171
4172 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4173
543efdbe 41742012-03-20 Jason Merrill <jason@redhat.com>
4175
4176 * c-common.h (enum cxx_dialect): Add cxx1y.
4177 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4178 test.
4179 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4180 * c-opts.c (c_common_post_options): Likewise.
4181 (set_std_cxx1y): New.
4182 (c_common_handle_option): Call it.
4183 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4184
62206d34 41852012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4186
4187 PR c++/14710
4188 * c.opt ([Wuseless-cast]): Add.
4189
fadf62f4 41902012-03-16 Richard Guenther <rguenther@suse.de>
4191
4192 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4193
249faa35 41942012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4195
4196 PR c++/44783
4197 * c.opt (ftemplate-backtrace-limit) Add.
4198
126b6848 41992012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4200
4201 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4202 handling.
4203 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4204 (init_pragma): Don't register extern_prefix.
4205
a51edb4c 42062012-03-12 Richard Guenther <rguenther@suse.de>
4207
4208 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4209 (builtin_type_for_size): Likewise.
4210
0f6a7cb7 42112012-02-13 Jakub Jelinek <jakub@redhat.com>
4212
4213 PR c++/52215
4214 * c-common.c (sync_resolve_params): Don't decide whether to convert
4215 or not based on TYPE_SIZE comparison, convert whenever arg_type
4216 is unsigned INTEGER_TYPE.
4217
0779e32c 42182012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4219
4220 PR c/52118
4221 * c.opt ([Wunused-local-typedefs]): Fix description.
4222
baec58e1 42232012-01-24 Mike Stump <mikestump@comcast.net>
4224
4225 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4226 exactly.
4227
c779d8cc 42282012-01-18 Richard Guenther <rguenther@suse.de>
4229
4230 * c-opts.c (c_common_post_options): Reset LTO flags if
4231 we are about to generate a PCH.
4232
ee917d24 42332012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4234
4235 PR c++/51777
4236 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4237 use pp_unsigned_wide_integer.
4238
90e2341f 42392012-01-10 Richard Guenther <rguenther@suse.de>
4240
4241 PR middle-end/51806
4242 * c-opts.c (c_common_handle_option): Move -Werror handling
4243 to language independent code.
4244
9ea022ce 42452012-01-05 Richard Guenther <rguenther@suse.de>
4246
4247 PR middle-end/51764
4248 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4249 from common.opt.
4250
3df19e1b 42512011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4252
4253 PR c++/51316
4254 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4255 of array types with an unknown bound.
4256
32074525 42572011-12-20 Joseph Myers <joseph@codesourcery.com>
4258
4259 * c-common.c (flag_isoc99): Update comment to refer to C11.
4260 (flag_isoc1x): Change to flag_isoc11.
4261 * c-common.h (flag_isoc99): Update comment to refer to C11.
4262 (flag_isoc1x): Change to flag_isoc11.
4263 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4264 C11.
4265 * c-opts.c (set_std_c1x): Change to set_std_c11.
4266 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4267 Call set_std_c11.
4268 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4269 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4270 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4271 standard.
4272 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4273 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4274 (std=gnu1x): Make alias of std=gnu11.
4275
fca86134 42762011-12-19 Jason Merrill <jason@redhat.com>
4277
4278 PR c++/51228
4279 * c-common.c (handle_transparent_union_attribute): Check the first
4280 field if the type is complete.
4281
aa4313eb 42822011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4283
4284 PR libstdc++/51365
4285 * c-common.c (RID_IS_FINAL): Add.
4286 * c-common.h (RID_IS_FINAL): Add.
4287
3f3d5ad4 42882011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4289
4290 * c.opt (fgnu-runtime): Provide full description.
4291 (fnext-runtime): Likewise.
4292 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4293
c4606d19 42942011-11-28 Andrew MacLeod <amacleod@redhat.com>
4295
4296 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4297 predefines in one place. Add LOCK_FREE predefines.
4298 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4299 new func.
4300
1d581089 43012011-11-24 Andrew MacLeod <amacleod@redhat.com>
4302
4303 PR c/51256
19931eea 4304 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4305 conditions
19931eea 4306 (resolve_overloaded_atomic_exchange,
4307 resolve_overloaded_atomic_compare_exchange,
1d581089 4308 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4309 error_mark_node for error conditions.
19931eea 4310
6aa221fa 43112011-11-08 Richard Guenther <rguenther@suse.de>
4312
4313 PR middle-end/51010
4314 c-family/
4315
4c0315d0 43162011-11-07 Richard Henderson <rth@redhat.com>
4317 Aldy Hernandez <aldyh@redhat.com>
4318 Torvald Riegel <triegel@redhat.com>
4319
4320 Merged from transactional-memory.
4321
4322 * c-common.c (handle_tm_wrap_attribute,
4323 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4324 (struct c_common_reswords): Added __transaction* keywords.
4325 (struct c_common_attribute_table): Added transaction* and tm_regparm
4326 attributes.
4327 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4328 masks.
4329 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4330 find_tm_attribute): Declare.
4331
920f5a70 43322011-11-07 Jason Merrill <jason@redhat.com>
4333
4334 PR c++/35688
4335 * c-common.c, c-common.h: Revert yesterday's changes.
4336
b4f861b4 43372011-11-06 Jason Merrill <jason@redhat.com>
4338
4339 PR c++/35688
4340 * c-common.c (decl_has_visibility_attr): Split out from...
4341 (c_determine_visibility): ...here.
4342 * c-common.h: Declare it.
4343
83e25171 43442011-11-06 Joseph Myers <joseph@codesourcery.com>
4345
4346 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4347 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4348 type.
4349 (check_user_alignment): New. Split out of
4350 handle_aligned_attribute. Disallow integer constants with
4351 noninteger types. Conditionally allow zero.
4352 (handle_aligned_attribute): Use check_user_alignment.
4353 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4354
1cd6e20d 43552011-11-06 Andrew MacLeod <amacleod@redhat.com>
4356 Richard Henderson <rth@redhat.com>
4357
4358 Merged from cxx-mem-model.
4359
4360 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4361 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4362 parameters that are the same type size.
4363 (get_atomic_generic_size): New. Find size of generic
4364 atomic function parameters and do typechecking.
4365 (add_atomic_size_parameter): New. Insert size into parameter list.
4366 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4367 either __atomic_exchange_n or external library call.
19931eea 4368 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4369 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4370 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4371 __atomic_load_n or an external library call.
4372 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4373 __atomic_store_n or an external library call.
4374 (resolve_overloaded_builtin): Handle new __atomic builtins.
4375
7549df0d 43762011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4377
4378 PR c++/50608
4379 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4380 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4381 <INDIRECT_REF>: Return the argument.
4382 <ARRAY_REF>: Remove special code for negative offset.
4383 Call fold_build_pointer_plus instead of size_binop.
4384 (fold_offsetof): Remove STOP_REF argument and adjust.
4385 * c-common.h (fold_offsetof_1): Declare.
4386 (fold_offsetof): Remove STOP_REF argument.
4387
7e783eb3 43882011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4389
4390 PR c++/50810
4391 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4392 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4393 Wnarrowing for C++0x and C++98.
4394 * c.opt ([Wnarrowing]): Update.
4395
8fe701f5 43962011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4397
4398 PR c++/44277
4399 * c.opt: Add Wzero-as-null-pointer-constant.
4400
0d84dc2d 44012011-10-31 Jason Merrill <jason@redhat.com>
4402
67031f52 4403 * c.opt (-fdeduce-init-list): Off by default.
4404
0d84dc2d 4405 PR c++/50920
4406 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4407 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4408 and -Wc++11-compat.
4409 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4410
66f24c41 44112011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4412
4413 PR c++/30066
4414 * c.opt (fvisibility-inlines-hidden): Description change.
4415
244db24d 44162011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4417
4418 Implement C++11 user-defined literals.
4419 * c-common.c (build_userdef_literal): New.
4420 * c-common.def: New tree code.
4421 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4422 * c-lex.c (interpret_float): Add suffix parm.
4423 (c_lex_with_flags): Build literal tokens.
4424
235be70f 44252011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4426
4427 PR c++/50841
4428 Revert:
4429 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4430
4431 PR c++/50810
4432 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4433 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4434 Wnarrowing for C++0x and C++98.
4435 * c.opt ([Wnarrowing]): Update.
4436
4fe0fb1c 44372011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4438
4439 PR c++/50810
4440 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4441 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4442 Wnarrowing for C++0x and C++98.
4443 * c.opt ([Wnarrowing]): Update.
4444
5f7504f9 44452011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4446
4447 PR c++/45385
4448 * c-common.c (conversion_warning): Remove code looking for
4449 artificial operands.
4450
2a688977 44512011-10-18 Dodji Seketeli <dodji@redhat.com>
4452
4453 PR bootstrap/50760
4454 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4455 !NO_IMPLICIT_EXTERN_C.
2a688977 4456
326e3391 44572011-10-17 Michael Spertus <mike_spertus@symantec.com>
4458
4459 * c-common.c (c_common_reswords): Add __bases,
4460 __direct_bases.
4461 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4462
44632011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4464
4465 PR c++/50757
4466 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4467
62db153a 44682011-10-15 Tom Tromey <tromey@redhat.com>
4469 Dodji Seketeli <dodji@redhat.com>
4470
4471 * c.opt (fdebug-cpp): New option.
4472 * c-opts.c (c_common_handle_option): Handle the option.
4473 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4474 output stream in parameter. Factorized from ...
4475 (maybe_print_line): ... this. Dump location debug information when
4476 -fdebug-cpp is in effect.
4477 (print_line_1): New static function. Takes an output stream in
4478 parameter. Factorized from ...
4479 (print_line): ... here. Dump location information when -fdebug-cpp
4480 is in effect.
4481 (scan_translation_unit): Dump location information when
4482 -fdebug-cpp is in effect.
4483
ce70f433 44842011-10-15 Tom Tromey <tromey@redhat.com>
4485 Dodji Seketeli <dodji@redhat.com>
4486
4487 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4488 without argument.
4489 * c-opts.c (c_common_handle_option)<case
4490 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4491 cases. Handle -ftrack-macro-expansion with and without argument.
4492
97bfb9ef 44932011-10-15 Tom Tromey <tromey@redhat.com>
4494 Dodji Seketeli <dodji@redhat.com>
4495
4496 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4497 (print_line, cb_define, do_line_change): Adjust to avoid touching
4498 the internals of struct line_map. Use the public API instead.
4499 * c-pch.c (c_common_read_pch): Likewise.
4500 * c-lex.c (fe_file_change): Likewise.
4501
326e3391 45022011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4503
4504 PR c++/17212
4505 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4506
45072011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4508
4509 PR c++/33067
4510 * c-pretty-print.c (pp_c_floating_constant): Output
4511 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4512
b9a16870 45132011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4514
4515 * c-common.c (def_builtin_1): Delete old interface with two
4516 parallel arrays to hold standard builtin declarations, and replace
4517 it with a function based interface that can support creating
4518 builtins on the fly in the future. Change all uses, and poison
4519 the old names. Make sure 0 is not a legitimate builtin index.
4520 * c-omp.c (c_finish_omp_barrier): Ditto.
4521 (c_finish_omp_taskwait): Ditto.
4522 (c_finish_omp_flush): Ditto.
4523
c7964868 45242011-10-11 Tristan Gingold <gingold@adacore.com>
4525
4526 * c.opt: (fallow-parameterless-variadic-functions): New.
4527
a4e3ffad 45282011-09-08 Dodji Seketeli <dodji@redhat.com>
4529
4530 PR c++/33255 - Support -Wunused-local-typedefs warning
4531 * c-common.h (struct c_language_function::local_typedefs): New
4532 field.
19931eea 4533 (record_locally_defined_typedef, maybe_record_typedef_use)
4534 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4535 * c-common.c (record_locally_defined_typedef)
19931eea 4536 (maybe_record_typedef_use)
4537 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4538 * c.opt: Declare new -Wunused-local-typedefs flag.
4539
737a23cc 45402011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4541
4542 PR middle-end/50266
4543 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4544 computations.
4545
7542c3b4 45462011-09-05 Richard Guenther <rguenther@suse.de>
4547
4548 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4549 of integer_minus_one_node for empty array upper bounds.
4550
1dc92c59 45512011-08-28 Dodji Seketeli <dodji@redhat.com>
4552
4553 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4554 it's the first time it's being called on this main TU.
4555
2bdf2b6e 45562011-08-24 Richard Guenther <rguenther@suse.de>
4557
4558 PR c/49396
4559 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4560
45612011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4562
4563 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4564 defined in cpp_init_builtins and c_cpp_builtins.
4565
bff4ad11 45662011-08-19 Joseph Myers <joseph@codesourcery.com>
4567
4568 * c-common.c (c_common_reswords): Add __builtin_complex.
4569 * c-common.h (RID_BUILTIN_COMPLEX): New.
4570
985c6e3a 45712011-08-18 Joseph Myers <joseph@codesourcery.com>
4572
4573 * c-common.c (c_common_reswords): Add _Noreturn.
4574 (keyword_is_function_specifier): Handle RID_NORETURN.
4575 * c-common.h (RID_NORETURN): New.
4576
7dfa155b 45772011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4578
4579 * c-common.c (unsafe_conversion_p): New function. Check if it is
4580 unsafe to convert an expression to the type.
4581 (conversion_warning): Adjust, use unsafe_conversion_p.
4582 * c-common.h (unsafe_conversion_p): New function declaration.
4583
2169f33b 45842011-08-02 Jakub Jelinek <jakub@redhat.com>
4585
4586 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4587 (c_finish_omp_taskyield): New prototype.
4588 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4589 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4590 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4591 or RHS1 have side-effects, evaluate those too in the right spot,
4592 if it is a decl and LHS is also a decl, error out if they
4593 aren't the same.
4594 (c_finish_omp_taskyield): New function.
4595 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4596 * c-pragma.c (omp_pragmas): Add taskyield.
4597 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4598 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4599 PRAGMA_OMP_CLAUSE_MERGEABLE.
4600
ab77850e 46012011-07-25 Dodji Seketeli <dodji@redhat.com>
4602
4603 * c-common.h (set_underlying_type): Remove parm name from
4604 declaration.
4605
6ee97920 46062011-07-25 Romain Geissler <romain.geissler@gmail.com>
4607
4608 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4609
dc251364 46102011-07-22 Jason Merrill <jason@redhat.com>
4611
1a2a35f0 4612 PR c++/49793
4613 * c.opt (Wnarrowing): New.
4614
27282252 4615 PR c++/30112
4616 * c-common.h: Declare c_linkage_bindings.
4617 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4618
dc251364 4619 PR c++/49813
4620 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4621 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4622 as flag_isoc99 for 'restrict'.
4623 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4624
fc501191 46252011-07-21 Ian Lance Taylor <iant@google.com>
4626
4627 PR middle-end/49705
4628 * c-common.c (c_disable_warnings): New static function.
4629 (c_enable_warnings): New static function.
4630 (c_fully_fold_internal): Change local unused_p to bool. Call
4631 c_disable_warnings and c_enable_warnings rather than change
4632 c_inhibit_evaluation_warnings.
4633
07b8f133 46342011-07-20 Jason Merrill <jason@redhat.com>
4635
4636 PR c++/6709 (DR 743)
4637 PR c++/42603 (DR 950)
4638 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4639 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4640 (CPP_DECLTYPE): New.
4641 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4642
2cc66f2a 46432011-07-19 Richard Guenther <rguenther@suse.de>
4644
4645 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4646 * c-omp.c (c_finish_omp_for): Likewise.
4647
3c802a1e 46482011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4649
4650 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4651 body on the next line.
4652
98a33d9f 46532011-07-08 Jason Merrill <jason@redhat.com>
4654
3115bda0 4655 PR c++/45437
4656 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4657
98a33d9f 4658 PR c++/49673
4659 * c-common.c (c_apply_type_quals_to_decl): Don't check
4660 TYPE_NEEDS_CONSTRUCTING.
4661
c38a75b7 46622011-07-06 Richard Guenther <rguenther@suse.de>
4663
4664 * c-common.c (c_common_nodes_and_builtins):
4665 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4666
e593356b 46672011-07-05 Richard Guenther <rguenther@suse.de>
4668
4669 * c-common.c (c_common_nodes_and_builtins): Build all common
4670 tree nodes first.
4671
fca0886c 46722011-06-27 Jakub Jelinek <jakub@redhat.com>
4673
a68f7a8d 4674 * c-common.h (c_tree_chain_next): New static inline function.
4675
fca0886c 4676 * c-common.c (check_builtin_function_arguments): Handle
4677 BUILT_IN_ASSUME_ALIGNED.
4678
2797f13a 46792011-06-21 Andrew MacLeod <amacleod@redhat.com>
4680
4681 * c-common.c: Add sync_ or SYNC__ to builtin names.
4682 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4683
46842011-06-20 Pierre Vittet <piervit@pvittet.com>
4685
4686 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4687 handler.
4688 (gen_pragma_handler): New union.
4689 (internal_pragma_handler): New type.
4690 (c_register_pragma_with_data)
4691 (c_register_pragma_with_expansion_and_data): New functions.
4692
4693 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4694 (c_register_pragma, c_register_pragma_with_expansion)
4695 (c_invoke_pragma_handler): Changed to work with
4696 internal_pragma_handler.
4697 (c_register_pragma_with_data)
4698 (c_register_pragma_with_expansion_and_data): New functions.
4699
218e3e4e 47002011-06-14 Joseph Myers <joseph@codesourcery.com>
4701
4702 * c-common.c: Include common/common-target.h.
4703 (handle_section_attribute): Use
4704 targetm_common.have_named_sections.
4705 * c-cppbuiltin.c: Include common/common-target.h.
4706 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4707
41e53ed2 47082011-06-10 Richard Guenther <rguenther@suse.de>
4709
4710 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4711 to print a IDENTIFIER_NODE.
4712
a6f06169 47132011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4714 Joseph Myers <joseph@codesourcery.com>
4715
4716 * c.opt (fbuilding-libgcc): New option.
4717 * c-cppbuiltin.c (c_cpp_builtins): Define
4718 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4719
1ea9269b 47202011-06-07 Jason Merrill <jason@redhat.com>
4721
8ce59854 4722 * c-common.c (max_tinst_depth): Lower default to 900.
4723
1ea9269b 4724 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4725
1af0124d 47262011-06-07 Richard Guenther <rguenther@suse.de>
4727
4728 * c-common.c (c_common_nodes_and_builtins): Do not set
4729 size_type_node or call set_sizetype.
4730
0e9a4c01 47312011-06-07 Dodji Seketeli <dodji@redhat.com>
4732
4733 PR debug/49130
4734 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4735 type when using pointer comparison to compare types.
0e9a4c01 4736
90b40725 47372011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4738
4739 * c.opt: Add -Wdelete-non-virtual-dtor.
4740 * c-opts.c (c_common_handle_option): Include it in -Wall.
4741
fc9c9e87 47422011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4743
4744 PR bootstrap/49190
4745
4746 Revert:
4747 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4748
4749 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4750 not tree_common.
4751
d0389adc 47522011-05-27 Jakub Jelinek <jakub@redhat.com>
4753
4754 PR c++/49165
4755 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4756 C++ don't call c_common_truthvalue_conversion on void type arms.
4757
cacfdc02 47582011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4759
4760 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4761 (stmt_list_stack): Define.
4762 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4763 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4764
027fc6ef 47652011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4766
4767 * c-common.c (warning_candidate_p): Check for BLOCKs.
4768
f21317a1 47692011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4770
4771 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4772 not tree_common.
4773
789e953d 47742011-05-25 Jakub Jelinek <jakub@redhat.com>
4775
4776 * c-common.c (def_fn_type): Remove extra va_end.
4777
7f506bca 47782011-05-23 Jason Merrill <jason@redhat.com>
4779
4780 PR c++/48106
4781 * c-common.c (c_common_get_narrower): New.
4782 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4783
774e9d58 47842011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4785
4786 * c-common.h (check_function_arguments): Tweak prototype of
4787 check_function_arguments.
4788 * c-common.c (check_function_arguments): Likewise. Adjust
4789 calls to check_function_nonnull, check_function_format, and
4790 check_function_sentinel.
4791 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4792 separate attributes and typelist arguments. Use
4793 FOREACH_FUNCTION_ARGS to iterate over argument types.
4794
23407dc9 47952011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4796
4797 * c-common.c (c_common_reswords): Reorder.
4798 * c-common.h (rid): Likewise.
4799
3a939d12 48002011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4801
4802 * c-common.c (def_fn_type): Don't call build_function_type, call
4803 build_function_type_array or build_varargs_function_type_array
4804 instead.
4805 (c_common_nodes_and_builtins): Likewise.
4806
b6e3dd65 48072011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4808
4809 * c-common.c (c_add_case_label): Omit the loc argument to
4810 build_case_label.
4811 * c-common.h (build_case_label): Remove.
4812 * c-semantics.c (build_case_label): Remove.
4813
4232a958 48142011-05-05 Joseph Myers <joseph@codesourcery.com>
4815
4816 * c-objc.h (objc_start_method_definition): Update prototype.
4817 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4818
d0af78c5 48192011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4820
4821 * c-common.c (check_main_parameter_types): Reindent. Don't use
4822 TYPE_ARG_TYPES directly.
4823 (handle_nonnull_attribute): Likewise.
4824 (sync_resolve_params): Likewise.
4825 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4826 to check_format_string.
4827 (handle_format_attribute): Likewise.
4828 (check_format_string): Take a function type to examine instead of
4829 a type list. Use a function_arg_iterator to step through argument
4830 types.
4831
ceb7b692 48322011-05-04 Richard Guenther <rguenther@suse.de>
4833
4834 * c-common.c (fix_string_type): Use size_int for index type bounds.
4835 (start_fname_decls): Do not pass NULL to build_int_cst.
4836 (c_init_attributes): Likewise.
4837 * c-lex.c (c_lex_with_flags): Likewise.
4838
c66c81be 48392011-04-27 Jason Merrill <jason@redhat.com>
4840
4841 * c-common.c (make_tree_vector_from_list): New.
4842 * c-common.h: Declare it.
4843
16930c72 48442011-04-26 Richard Guenther <rguenther@suse.de>
4845
4846 PR preprocessor/48248
4847 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4848 for output size with -P.
4849
23407dc9 48502011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4851
4852 * c-common.c (struct c_common_resword): Add __underlying_type.
4853 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4854
dd045aee 48552011-04-20 Jim Meyering <meyering@redhat.com>
4856
4857 * c-format.c (init_dollar_format_checking): Remove useless
4858 if-before-free.
4859
394dd737 48602011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4861
4862 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4863 (objc_detect_field_duplicates): New.
394dd737 4864 * stub-objc.c: Likewise.
23407dc9 4865
a758bf7d 48662011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4867
4868 * stub-objc.c (objc_declare_protocols): Renamed to
4869 objc_declare_protocol.
4870 * c-objc.h: Likewise.
23407dc9 4871
29d7200d 48722011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4873
4874 * stub-objc.c (objc_declare_class): Updated argument name.
4875
9b88d08d 48762011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4877
4878 * c-common.h (c_common_init_ts): Declare.
4879 * c-common.c (c_common_init_ts): Define.
4880
4185cf58 48812011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4882
4883 * c-objc.h (objc_build_message_expr): Updated prototype.
4884 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4885
5a90471f 48862011-04-12 Martin Jambor <mjambor@suse.cz>
4887
4888 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4889 of cgraph_node.
4890
783bb57e 48912011-04-11 Richard Guenther <rguenther@suse.de>
4892
4893 * c-common.c (complete_array_type): Build a range type of
4894 proper type.
4895
c33080b9 48962011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4897
4898 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4899 (handle_type_generic_attribute): Likewise.
4900
f8913d47 49012011-04-07 Jason Merrill <jason@redhat.com>
4902
4903 PR c++/48450
4904 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4905 conversion from C++0x scoped enum.
4906
c94b1d0e 49072011-04-06 Joseph Myers <joseph@codesourcery.com>
4908
4909 * c-target-def.h: New file.
4910 * c-target.def: New file.
4911 * c-target.h: New file.
4912 * c-common.c (targetcm): Don't define here.
4913 * c-common.h (default_handle_c_option): Declare.
4914 * c-format.c: Include c-target.h instead of target.h.
4915 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4916 include tm.h.
4917 (default_handle_c_option): Move from targhooks.c.
4918
acb10f41 49192011-03-29 Jakub Jelinek <jakub@redhat.com>
4920
4921 PR preprocessor/48248
4922 * c-ppoutput.c (print): Add src_file field.
4923 (init_pp_output): Initialize it.
4924 (maybe_print_line): Don't optimize by adding up to 8 newlines
4925 if map->to_file and print.src_file are different file.
4926 (print_line): Update print.src_file.
4927
82715bcd 49282011-03-25 Kai Tietz <ktietz@redhat.com>
4929
4930 * c-ada-spec.c (compare_comment): Use filename_cmp
4931 instead of strcmp for filename.
4932
451c8e2f 49332011-03-25 Jeff Law <law@redhat.com>
4934
1f78217c 4935 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4936
3c47771c 49372011-03-25 Jason Merrill <jason@redhat.com>
4938
4939 * c.opt: Add -std=c++03.
4940
97e6200f 49412011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4942
4943 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4944
ac86af5d 49452011-03-17 Kai Tietz
4946
4947 PR target/12171
ee212425 4948 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4949 Display allowed attributes for function pointer types.
4950 (pp_c_attributes_display): New function to display
4951 attributes having affects_type_identity flag set to true.
4952 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4953
ac86af5d 4954 * c-common.c (c_common_attribute_table):
4955 Add new element.
4956 (c_common_format_attribute_table): Likewise.
4957
914d1151 49582011-03-18 Jason Merrill <jason@redhat.com>
4959
69788bdf 4960 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4961 * c-common.h: Don't declare it here.
4962 * c-common.c: Or define it here.
4963 * c-opts.c (c_common_handle_option): Or set it here.
4964
914d1151 4965 PR c++/35315
4966 * c-common.c (handle_transparent_union_attribute): Don't
4967 make a duplicate type in C++.
4968
54cf6eed 49692011-03-15 Jason Merrill <jason@redhat.com>
4970
4971 * c-common.c (max_constexpr_depth): New.
4972 * c-common.h: Declare it.
4973 * c-opts.c (c_common_handle_option): Set it.
4974 * c.opt (fconstexpr-depth): New option.
4975
02cb1060 49762011-03-11 Jason Merrill <jason@redhat.com>
4977
9bf1c74e 4978 * c-common.c (attribute_takes_identifier_p): Add missing const.
4979
02cb1060 4980 PR c++/46803
4981 * c-common.c (attribute_takes_identifier_p): Assume that an
4982 unknown attribute takes an identifier.
4983
ecf2703d 49842011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4985
4986 PR c/47786
4987 * c-common.c (c_type_hash): Call list_length instead of iterating
4988 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4989
2b19dfe4 49902011-02-19 Jakub Jelinek <jakub@redhat.com>
4991
4992 PR c/47809
4993 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4994
29cf2335 49952011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4996
4997 * c.opt (fobjc-abi-version=) New.
4998 (fobjc-nilcheck): New.
4999
fad3f658 50002011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5001
5002 PR c++/46890
5003 * c-common.h (keyword_is_decl_specifier): Declare.
5004 * c-common.c (keyword_is_decl_specifier): Define.
5005 (keyword_is_function_specifier): New function.
5006
a12319b3 50072011-01-26 Jakub Jelinek <jakub@redhat.com>
5008
5009 PR c/47473
5010 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5011 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5012 REAL_TYPE.
5013
5c128dc8 50142011-01-26 Arnaud Charlet <charlet@adacore.com>
5015
5016 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5017
8d67b0c7 50182011-01-26 Jakub Jelinek <jakub@redhat.com>
5019
5020 PR pch/47430
5021 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5022 after init_c_lex if pch_file is set.
5023
0675168d 50242011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5025
e8911163 5026 PR c++/43601
0675168d 5027 * c.opt (-fkeep-inline-dllexport): New switch.
5028
0725e25c 50292011-01-12 Richard Guenther <rguenther@suse.de>
5030
5031 PR middle-end/32511
5032 * c-common.c (handle_weak_attribute): Warn instead of error
5033 on declaring an inline function weak.
5034
fdd84b77 50352011-01-05 Tom Tromey <tromey@redhat.com>
5036
5037 * c-common.h (lvalue_error): Update.
5038 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5039 not error.
5040
e6e73d14 50412010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 5042
d67e8485 5043 PR objc/47075
5044 * c-objc.h (objc_finish_message_expr): Added argument to
5045 prototype.
5046
a36cf284 50472010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5048
5049 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5050 Use prototype_p.
5051
33b3681f 50522010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5053
5054 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 5055 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 5056
a1f90215 50572010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5058
5059 * c-common.h (readonly_error): Declare.
5060 * c-common.c (readonly_error): Define.
5061
b1bbc8e5 50622010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5063
5064 * c-common.h (invalid_indirection_error): Declare.
5065 * c-common.c (invalid_indirection_error): Define.
5066
b0d55af9 50672010-12-03 Richard Guenther <rguenther@suse.de>
5068
5069 PR c/46745
5070 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5071 (pp_c_unary_expression): Likewise.
5072 (pp_c_expression): Likewise.
5073
d7489d8d 50742010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5075
5076 * c-common.h (objc_finish_function): New.
5077 (objc_non_volatilized_type): Removed.
5078 (objc_type_quals_match): Removed.
5079 * stub-objc.c (objc_finish_function): New.
5080 (objc_non_volatilized_type): Removed.
5081 (objc_type_quals_match): Removed.
19931eea 5082
92468061 50832010-11-30 Joseph Myers <joseph@codesourcery.com>
5084
5085 * c-common.h (parse_optimize_options): Declare.
5086 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5087 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5088
967958e4 50892010-11-29 Joseph Myers <joseph@codesourcery.com>
5090
5091 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5092 GET_ENVIRONMENT.
5093 * c-pch.c (O_BINARY): Don't define here.
5094 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5095
b213bf24 50962010-11-25 Joseph Myers <joseph@codesourcery.com>
5097
5098 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5099 targetm.except_unwind_info.
5100
9faf44d6 51012010-11-23 Joseph Myers <joseph@codesourcery.com>
5102
5103 * c-opts.c (c_common_handle_option): Pass location to
5104 set_struct_debug_option.
5105
79396169 51062010-11-23 Joseph Myers <joseph@codesourcery.com>
5107
5108 * c-common.c (visibility_options): Move from ../opts.c.
5109 * c-common.h (struct visibility_flags, visibility_options):
5110 Declare here.
5111 * c-opts.c (finish_options): Rename to c_finish_options.
5112 (c_common_init): Update call to finish_options.
5113
b4aa4123 51142010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
5115
5116 PR objc/34033
5117 * c-lex.c (lex_string): Check that each string in an Objective-C
5118 string concat sequence starts with either one or zero '@', and
5119 that there are no spurious '@' signs at the end.
5120
3e0e49f2 51212010-11-20 Joseph Myers <joseph@codesourcery.com>
5122
5123 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5124 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5125 HANDLE_PRAGMA_VISIBILITY.
5126 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5127 HANDLE_PRAGMA_VISIBILITY): Don't define.
5128 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5129
a9ffdd35 51302010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5131
5132 PR c++/16189
5133 PR c++/36888
5134 PR c++/45331
5135 * c-common.h (keyword_begins_type_specifier): Declare.
5136 (keyword_is_storage_class_specifier): Declare.
5137 (keyword_is_type_qualifier): Declare.
5138 * c-common.c (keyword_begins_type_specifier): New function.
5139 (keyword_is_storage_class_specifier): New function.
5140 (keyword_is_type_qualifier): Declare.
5141
93be21c0 51422010-11-19 Joseph Myers <joseph@codesourcery.com>
5143
5144 PR c/46547
5145 * c-common.c (in_late_binary_op): Define.
5146 (c_common_truthvalue_conversion): Check in_late_binary_op before
5147 calling c_save_expr.
5148 * c-common.h (in_late_binary_op): Declare.
5149
d7175aef 51502010-11-19 Joseph Myers <joseph@codesourcery.com>
5151
5152 * c-opts.c (c_common_handle_option): Update calls to
5153 set_struct_debug_option.
5154
c213e196 51552010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5156
5157 * c-common.h (objc_declare_protocols): Added additional argument.
5158 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 5159
0b5fc5d6 51602010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5161
5162 PR c/33193
5163 * c-common.h (build_real_imag_expr): Declare.
5164 * c-semantics.c (build_real_imag_expr): Define.
5165
b8ba44e7 51662010-11-17 Joseph Myers <joseph@codesourcery.com>
5167
5168 * c-opts.c (c_common_parse_file): Take no arguments.
5169 * c-common.h (c_common_parse_file): Update prototype.
5170
6ef8d12f 51712010-11-16 Jakub Jelinek <jakub@redhat.com>
5172
5173 PR c++/46401
5174 * c-common.c (warning_candidate_p): Don't track non-const calls
5175 or STRING_CSTs.
5176
929d2a90 51772010-11-15 Ian Lance Taylor <iant@google.com>
5178
5179 * c-lex.c (init_c_lex): Set macro debug callbacks if
5180 flag_dump_go_spec is set.
5181
e4a7640a 51822010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5183
5184 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5185 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5186
597d2d81 51872010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5188
5189 PR preprocessor/45038
5190 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5191 dialects.
5192
c123f04d 51932010-11-12 Joseph Myers <joseph@codesourcery.com>
5194
5195 * c-common.h (c_family_lang_mask): Declare.
5196 * c-opts.c (c_family_lang_mask): Make extern.
5197 * c-pragma.c (handle_pragma_diagnostic): Use
5198 control_warning_option.
5199
3c6c0e40 52002010-11-12 Joseph Myers <joseph@codesourcery.com>
5201
5202 * c-common.c (parse_optimize_options): Update call to
5203 decode_options.
5204 * c-common.h (c_common_handle_option): Update prototype.
5205 * c-opts.c (c_common_handle_option): Take location_t parameter and
5206 pass it to other functions.
5207
19ec5c9e 52082010-11-11 Joseph Myers <joseph@codesourcery.com>
5209
5210 * c-opts.c (warning_as_error_callback): Remove.
5211 (c_common_initialize_diagnostics): Don't call
5212 register_warning_as_error_callback.
5213 (c_common_handle_option): Handle -Werror=normalized= here.
5214
bf776685 52152010-11-10 Joseph Myers <joseph@codesourcery.com>
5216
5217 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5218 in diagnostic.
5219 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5220 letter.
5221 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5222 Remove trailing '.' from diagnostics.
5223 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5224
6bd9d862 52252010-11-10 Joseph Myers <joseph@codesourcery.com>
5226
5227 * c-common.c (parse_optimize_options): Pass global_dc to
5228 decode_options.
5229 * c-opts.c (c_common_handle_option): Pass &global_options to
5230 set_Wstrict_aliasing.
5231 * c.opt (v): Don't mark Common or document here.
5232
1f6616ee 52332010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5234
5235 PR target/44981
5236 * c-format.c (format_type): New type gcc_objc_string_format_type.
5237 (valid_stringptr_type_p): New.
5238 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5239 (check_format_string): Pass expected type, use
1f6616ee 5240 valid_stringptr_type_p (), check that the format string types are
5241 consistent with the format specification.
5242 (decode_format_attr): Warn if NSString is used outside objective-c.
5243 (format_types_orig): Add NSString.
5244 (format_name): New.
5245 (format_flags): New.
5246 (check_format_arg): Handle format strings requiring an external parser.
5247 first_target_format_type: New variable.
5248 (handle_format_attribute): Set up first_target_format_type, pass the
5249 expected format arg string type to check_format_string().
5250 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5251 * stub-objc.c (objc_string_ref_type_p): New.
5252 (objc_check_format_arg): New.
5253
b0d0931f 52542010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5255
19931eea 5256 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5257 * c-common.h (objc_build_class_component_ref): New.
5258 * stub-objc.c (objc_build_class_component_ref): New.
5259
f26877d5 52602010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5261
5262 * c.opt (Wproperty-assign-default): New option.
5263
1ef143b6 52642010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5265
5266 Implemented -fobjc-std=objc1 flag.
5267 * c.opt (fobjc-std=objc1): New option.
5268
8c582e4f 52692010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5270
5271 Implemented format and noreturn attributes for Objective-C methods.
5272 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5273 attribute for Objective-C methods.
5274
8637f1db 52752010-10-31 Jason Merrill <jason@redhat.com>
5276
5277 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5278 EXPR_LOC_OR_HERE.
5279
9d9f5bb3 52802010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5281
5282 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5283 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5284 (objc_add_property_declaration): Removed arguments for copies and
5285 ivar.
5286 (objc_build_getter_call): Renamed to
5287 objc_maybe_build_component_ref.
5288 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5289 (objc_is_property_ref): New.
5290 * c-common.c (c_common_reswords): Removed copies and ivar.
5291 * stub-objc.c (objc_add_property_declaration): Removed arguments
5292 for copies and ivar.
5293 (objc_build_getter_call): Renamed to
5294 objc_maybe_build_component_ref.
5295 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5296 (objc_is_property_ref): New.
19931eea 5297
56f907a0 52982010-10-29 Arnaud Charlet <charlet@adacore.com>
5299 Matthew Gingell <gingell@adacore.com>
5300
5301 * c-ada-spec.c (separate_class_package): New function.
5302 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5303 name of their enclosing package.
5304 (print_ada_declaration): Use separate_class_package.
5305
b5fa273e 53062010-10-27 Jason Merrill <jason@redhat.com>
5307
5290e253 5308 * c-common.c (c_common_reswords): Add __is_literal_type.
5309 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5310
b5fa273e 5311 * c-common.c (check_case_value): Remove special C++ code.
5312
7590f0e5 53132010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5314
5315 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5316 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5317 and RID_LAST_PATTR.
5318 (objc_add_property_declaration): Added additional arguments.
5319 (objc_property_attribute_kind): Removed.
5320 (objc_set_property_attr): Removed.
5321 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5322 copy and nonatomic.
5323 * stub-objc.c (objc_add_property_declaration): Added additional
5324 arguments.
5325 (objc_set_property_attr): Removed.
19931eea 5326
1d894bcf 53272010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5328
5329 * c-common.h (objc_add_property_variable): Renamed to
5330 objc_add_property_declaration. Added location argument.
5331 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5332
e23bf1fb 53332010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5334
5335 * c-common.h (objc_maybe_printable_name): New.
5336 * stub-objc.c (objc_maybe_printable_name): New.
5337
93426222 53382010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5339 Andrew Pinski <pinskia@gmail.com>
5340
5341 * c-common.h (c_common_mark_addressable_vec): Declare.
5342 * c-common.c (c_common_mark_addressable_vec): New function.
5343
45b2b110 53442010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5345
5346 * c-common.h (objc_set_method_type): Removed.
5347 (objc_add_method_declaration): Added boolean argument.
5348 (objc_start_method_definition): Same change.
5349 (objc_build_method_signature): Same change.
5350 * stub-objc.c (objc_set_method_type): Removed.
5351 (objc_add_method_declaration): Added boolean argument.
5352 (objc_start_method_definition): Same change.
5353 (objc_build_method_signature): Same change.
5354
64cd9619 53552010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5356
5357 * c-common.h (finish_file): Removed.
5358 (objc_write_global_declarations): New.
5359 * c-opts.c (c_common_parse_file): Do not call finish_file.
5360 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5361
e1f293c0 53622010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5363
5364 Implemented parsing @synthesize and @dynamic for
5365 Objective-C/Objective-C++.
5366 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5367 (objc_add_synthesize_declaration): New.
5368 (objc_add_dynamic_declaration): New.
5369 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5370 * stub-objc.c (objc_add_synthesize_declaration): New.
5371 (objc_add_dynamic_declaration): New.
19931eea 5372
ef97a312 53732010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5374
5375 PR target/46041
5376 * c-cppbuiltin.c (mode_has_fma): Move function here from
5377 builtins.c. Don't use the fma optab, instead just use the
5378 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5379 using -save-temps.
5380
69b07042 53812010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5382
5383 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5384
69b07042 5385 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5386
19931eea 5387 Radar 4330422
69b07042 5388 * c-common.h (objc_non_volatilized_type): New declaration
5389 * stub-objc.c (objc_non_volatilized_type): New stub.
5390
f15f2e56 53912010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5392
69b07042 5393 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5394
5395 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5396
19931eea 5397 Radar 4133425
f15f2e56 5398 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5399 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5400
4a8875ed 54012010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5402
5403 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5404 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5405 (objc_ivar_visibility_kind): New enum.
5406 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5407 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5408 visibility enum.
5409
7e0713b1 54102010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5411
5412 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5413 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5414 has the appropriate fma builtins.
5415 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5416
86c110ac 54172010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5418
7e0713b1 5419 merge from FSF apple 'trunk' branch.
86c110ac 5420 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5421
86c110ac 5422 Radars 4436866, 4505126, 4506903, 4517826
5423 * c-common.c (c_common_resword): Define @property and its attributes.
5424 * c-common.h: Define property attribute enum entries.
5425 (OBJC_IS_PATTR_KEYWORD): New.
5426 (objc_property_attribute_kind): New enum.
5427 Declare objc_set_property_attr (), objc_add_property_variable (),
5428 objc_build_getter_call () and objc_build_setter_call ().
5429 * stub-objc.c (objc_set_property_attr): New stub.
5430 (objc_add_property_variable): Likewise.
5431 (objc_build_getter_call): Likewise.
5432 (objc_build_setter_call) Likewise.
7e0713b1 5433
40c8d1dd 54342010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5435
7e0713b1 5436 merge from FSF apple 'trunk' branch.
40c8d1dd 5437 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5438
5439 Radar 3803157 (method attributes)
5440 * c-common.c (handle_deprecated_attribute): Recognize
5441 objc methods as valid declarations.
5442 * c-common.h: Declare objc_method_decl ().
7e0713b1 5443 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5444
f3f006ad 54452010-10-08 Joseph Myers <joseph@codesourcery.com>
5446
5447 * c-common.c (parse_optimize_options): Call
5448 decode_cmdline_options_to_array_default_mask before
5449 decode_options. Update arguments to decode_options.
5450 * c-common.h (c_common_init_options_struct): Declare.
5451 * c-opts.c (c_common_init_options_struct): New. Split out from
5452 c_common_init_options.
5453
0a65c3bb 54542010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5455
5456 Implemented fast enumeration for Objective-C.
5457 * c-common.h (objc_finish_foreach_loop): New.
5458 * stub-objc.c (objc_finish_foreach_loop): New.
5459
24ca3b4e 54602010-10-05 Joseph Myers <joseph@codesourcery.com>
5461
5462 * c-common.h (struct diagnostic_context): Don't declare here.
5463 (c_common_initialize_diagnostics): Declare using
5464 diagnostic_context typedef.
5465 * c-opts.c (c_common_handle_option): Pass global_dc to
5466 handle_generated_option.
5467
f83b64ca 54682010-10-04 Joseph Myers <joseph@codesourcery.com>
5469
5470 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5471 handle_generated_option.
5472
2fdec027 54732010-10-03 Ian Lance Taylor <iant@google.com>
5474
5475 * c.opt (-fplan9-extensions): New option.
5476
41acdfa4 54772010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5478
5479 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5480 Remove.
5481 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5482 of duplicating code.
5483
069761fb 54842010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5485
5486 * c-common.c: Add two new entries for @optional
5487 and @required keywords.
5488
5489 merge from FSF 'apple/trunk' branch.
5490 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5491
5492 Radar 4386773
5493 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5494 objective-c keywords.
5495 (objc_set_method_opt): New declaration.
5496 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5497
2c5d2e39 54982010-09-30 Joseph Myers <joseph@codesourcery.com>
5499
5500 * c-common.c (handle_optimize_attribute): Pass &global_options to
5501 cl_optimization_save and cl_optimization_restore.
5502 * c-opts.c (c_common_handle_option): Pass &global_options to
5503 handle_generated_option.
5504 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5505 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5506 &global_options to cl_optimization_restore.
5507
e5c75ac3 55082010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5509
5510 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5511 Objective-C/Objective-C++ keywords.
5512
3511333e 55132010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5514
19931eea 5515 Merge from 'apple/trunk' branch on FSF servers.
5516
e147d6aa 5517 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5518
5519 Radar 4281748
5520 * c-common.h (objc_check_global_decl): New declaration.
5521 * stub-objc.c (objc_check_global_decl): New stub.
5522
5461e683 55232010-09-29 Joseph Myers <joseph@codesourcery.com>
5524
5525 * c.opt: Don't use VarExists.
5526
5ae82d58 55272010-09-29 Joseph Myers <joseph@codesourcery.com>
5528
5529 * c-common.c (c_cpp_error): Update names of diagnostic_context
5530 members.
5531 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5532 cl_optimization members.
5533 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5534 sanitize_cpp_opts, finish_options): Update names of cpp_options
5535 members.
5536
b27e241e 55372010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5538
5539 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5540 (objc_is_reserved_word): Removed.
5541 * c-common.c: Updated comments.
5542 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5543 objc_is_reserved_word.
5544 * stub-objc.c (objc_is_reserved_word): Removed.
5545
03fc2271 55462010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5547
19931eea 5548 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5549 include attributes.
5550 (objc_start_method_definition): Likewise.
5551 (objc_build_keyword_decl): Likewise.
5552 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5553 (objc_start_method_definition): Likewise.
5554 (objc_build_keyword_decl): Likewise.
5555
a336eb4b 55562010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5557
5558 * c-common.h (objc_start_class_interface): Adjust prototype.
5559 (objc_start_category_interface): Likewise.
5560 (objc_start_protocol): Likewise.
5561 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5562 (objc_start_class_interface): Likewise.
5563 (objc_start_category_interface): Likewise.
5564
48b14f50 55652010-09-27 Ian Lance Taylor <iant@google.com>
5566
5567 * c-common.c (c_common_attribute_table): Add no_split_stack.
5568 (handle_no_split_stack_attribute): New static function.
5569
4abfc532 55702010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5571
19931eea 5572 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5573
5574 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5575
19931eea 5576 Radar 4229905
4abfc532 5577 * c-common.h (objc_have_common_type): New declaration.
5578 * stub-objc.c (objc_have_common_type): New stub.
5579
5580 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5581
5582 Radar 4154928
5583 * c-common.h (objc_common_type): New prototype.
19931eea 5584 * stub-objc.c (objc_common_type): New stub.
4abfc532 5585
7bd95dfd 55862010-09-24 Jan Hubicka <jh@suse.cz>
5587
5588 * c-common.c (handle_leaf_attribute): New function.
5589 (struct attribute_spec c_common_att): Add leaf.
5590
5789e05b 55912010-09-22 Joseph Myers <joseph@codesourcery.com>
5592
5593 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5594 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5595 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5596 -include-barrier, -include-directory, -include-directory=,
5597 -include-directory-after, -include-directory-after=,
5598 -include-prefix, -include-prefix=, -include-with-prefix,
5599 -include-with-prefix=, -include-with-prefix-after,
5600 -include-with-prefix-after=, -include-with-prefix-before,
5601 -include-with-prefix-before=, -no-integrated-cpp,
5602 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5603 -output=, -pedantic, -pedantic-errors, -preprocess,
5604 -print-missing-file-dependencies, -trace-includes, -traditional,
5605 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5606 -user-dependencies, -verbose, -write-dependencies,
5607 -write-user-dependencies, no-integrated-cpp, traditional): New.
5608
e6fb54ba 56092010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5610
5611 PR objc/23710
9b60f3b0 5612 * c-common.h (objc_start_method_definition): Return bool instead
5613 of void.
5614 * stub-objc.c (objc_start_method_definition): Return bool instead
5615 of void.
5616
56172010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5618
5619 PR objc/25965
5620 * c-common.h (objc_get_interface_ivars): New declaration.
5621 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5622
e44b0a1f 56232010-09-15 Ian Lance Taylor <iant@google.com>
5624
5625 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5626 messages. Remove period at end of warning message.
e44b0a1f 5627
85c0a25c 56282010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5629
5630 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5631 (handle_alias_attribute): ... here.
5632 (handle_ifunc_attribute): New.
5633
5ba33bf4 56342010-09-06 Mark Mitchell <mark@codesourcery.com>
5635
5636 * c-common.h (do_warn_double_promotion): Declare.
5637 * c-common.c (do_warn_double_promotion): Define.
5638
c920faa3 56392010-09-05 Mark Mitchell <mark@codesourcery.com>
5640
5641 * c.opt (Wdouble-promotion): New.
5642
9604e070 56432010-09-02 Joseph Myers <joseph@codesourcery.com>
5644
5645 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5646 fvtable-thunks, fxref): Mark no longer supported in help text.
5647
3b0273a1 56482010-09-02 Joseph Myers <joseph@codesourcery.com>
5649
5650 * c.opt (Wimport, fall-virtual, falt-external-templates,
5651 fdefault-inline, fenum-int-equiv, fexternal-templates,
5652 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5653 fname-mangling-version-, fnew-abi, fnonnull-objects,
5654 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5655 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5656 applicable.
5657 (fhandle-exceptions): Mark with Alias and Warn.
5658 * c-opts.c (c_common_handle_option): Don't handle options marked
5659 as ignored.
5660
67089c6b 56612010-09-02 Joseph Myers <joseph@codesourcery.com>
5662
5663 * c.opt (Wcomments, Werror-implicit-function-declaration,
5664 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5665 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5666 aliases.
5667 * c-common.c (option_codes): Use OPT_Wcomment instead of
5668 OPT_Wcomments.
5669 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5670 Don't handle options marked as aliases.
5671
2af087f2 56722010-08-25 Richard Guenther <rguenther@suse.de>
5673
5674 * c-common.c (c_common_get_alias_set): Remove special
5675 handling for pointers.
5676
48148244 56772010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5678
5679 * c-common.c: Use FOR_EACH_VEC_ELT.
5680 * c-gimplify.c: Likewise.
5681 * c-pragma.c: Likewise.
5682
89c69892 56832010-08-16 Joseph Myers <joseph@codesourcery.com>
5684
5685 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5686 RejectDriver.
5687 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5688 RejectDriver.
5689 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5690 instead of OPT_MDX and OPT_MMDX.
5691
e28aa114 56922010-08-16 Joseph Myers <joseph@codesourcery.com>
5693
5694 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5695
99b66d21 56962010-08-12 Joseph Myers <joseph@codesourcery.com>
5697
5698 * c.opt (MD, MMD): Change to MDX and MMDX.
5699 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5700
666f4bf0 57012010-08-11 Joseph Myers <joseph@codesourcery.com>
5702
5703 * c-opts.c (c_common_handle_option): Call handle_generated_option
5704 instead of handle_option.
5705
5ec815f6 57062010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5707
5708 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5709 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5710
d13143cf 57112010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5712
5713 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5714 (pending_redefine_extname): Change type to a VEC.
5715 (add_to_renaming_pragma_list): Update for new type of
5716 pending_redefine_extname.
5ec815f6 5717 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5718
2008c983 57192010-08-04 Arnaud Charlet <charlet@adacore.com>
5720
5721 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5722 visited.
5723 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5724 decide whether a type has already been declared/seen.
5725 Do not go to the original type.
5726 (dump_nested_types): New parameter forward.
5727 Generate forward declaration if needed and mark type as visited.
5728 (print_ada_declaration): Call dump_nested_types if not already done.
5729 Mark types as visited.
5730
9b091a73 57312010-08-03 Joseph Myers <joseph@codesourcery.com>
5732
5733 * c.opt (-print-pch-checksum): Remove option.
5734 * c-opts.c (c_common_handle_option): Don't handle
5735 OPT_print_pch_checksum.
5736
b78351e5 57372010-07-27 Joseph Myers <joseph@codesourcery.com>
5738
5739 * c-common.h (c_common_handle_option): Update prototype and return
5740 value type.
5741 * c-opts.c (c_common_handle_option): Update prototype and return
5742 value type. Update calls to handle_option and
5743 enable_warning_as_error.
5744
34416a90 57452010-07-27 Jakub Jelinek <jakub@redhat.com>
5746
5747 PR c/45079
5748 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5749
fecf9011 57502010-07-27 Joseph Myers <joseph@codesourcery.com>
5751
5752 * c-common.h (c_common_missing_argument): Remove.
5753 * c-opts.c (c_common_missing_argument): Remove.
5754 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5755 idirafter, imacros, include, isysroot, isystem, iquote): Add
5756 MissingArgError.
5757 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5758
e88d34f6 57592010-07-27 Joseph Myers <joseph@codesourcery.com>
5760
5761 * c-common.h (c_common_option_lang_mask,
5762 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5763 New.
5764 (c_common_init_options): Update prototype.
5765 * c-opts.c (c_common_option_lang_mask): New.
5766 (c_common_initialize_diagnostics): Split out of
5767 c_common_init_options.
5768 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5769 New.
5770 (c_common_init_options): Update prototype. Use decoded options in
5771 search for -lang-asm.
5772
1767a056 57732010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5774
5775 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5776 * c-format.c: Likewise.
5777
0b205f4c 57782010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5779
5780 * c-common.h: Include diagnostic-core.h. Error if already
5781 included.
5782 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5783
1c58e3f1 57842010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5785
1f78217c 5786 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5787 Do not include expr.h
5788 (vector_mode_valid_p): Move here.
5789
33cc157c 57902010-06-21 DJ Delorie <dj@redhat.com>
5791
5792 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5793 allow these pragmas anywhere.
5794
57952010-06-14 Jakub Jelinek <jakub@redhat.com>
5796
5797 PR bootstrap/44509
5798 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5799 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5800 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5801 ggc_strdup instead of xstrdup.
5802
58032010-06-10 Jakub Jelinek <jakub@redhat.com>
5804
5805 * c-cppbuiltin.c: Include cpp-id-data.h.
5806 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5807 (lazy_hex_fp_value): New function.
5808 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5809
9b40bfbf 58102010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5811
5812 * c-gimplify.c: Do not include tree-flow.h
5813
202d6e5f 58142010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5815
5816 PR other/44034
5817 * c-common.c: Rename targetm member:
5818 targetm.enum_va_list -> targetm.enum_va_list_p
5819
d3237426 58202010-06-28 Anatoly Sokolov <aesok@post.ru>
5821
5822 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5823
596981c8 58242010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5825
5826 * c-cppbuiltin.c: Do not include except.h.
5827
b9bdfa0b 58282010-06-24 Andi Kleen <ak@linux.intel.com>
5829
19931eea 5830 * c-common.c (warn_for_omitted_condop): New.
5831 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5832
55ad092d 58332010-06-21 Joseph Myers <joseph@codesourcery.com>
5834
5835 * c.opt (lang-objc): Remove.
5836 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5837
9e7c2572 58382010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5839
5840 * c-opts.c: Include "tm_p.h".
5841
615ef0bb 58422010-06-20 Joseph Myers <joseph@codesourcery.com>
5843
5844 * c-common.c (parse_optimize_options): Update call to
5845 decode_options.
5846
aef48c9a 58472010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5848
5849 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5850 new type of types_used_by_cur_var_decl.
5851
d74003b4 58522010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5853
5854 PR bootstrap/44512
5855 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5856 for C++ standard compliance.
5857
1194d077 58582010-06-16 Jason Merrill <jason@redhat.com>
5859
5860 * c.opt: Add -Wnoexcept.
5861
d473d901 58622010-06-16 Richard Guenther <rguenther@suse.de>
5863
5864 PR c/44555
5865 * c-common.c (c_common_truthvalue_conversion): Remove
5866 premature and wrong optimization concering ADDR_EXPRs.
5867
b62dbfd3 58682010-06-15 Arnaud Charlet <charlet@adacore.com>
5869
5870 * c-ada-spec.c (dump_sloc): Remove column info.
5871 (is_simple_enum): New function.
5872 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5873 enum types when relevant.
5874
200dd99c 58752010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5876
19931eea 5877 * c-common.c (conversion_warning): Warn at expression
200dd99c 5878 location.
5879
abf6a617 58802010-06-10 Joseph Myers <joseph@codesourcery.com>
5881
5882 * c-opts.c (c_common_handle_option): Don't handle
5883 OPT_fshow_column.
5884
ba72912a 58852010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5886
5887 * c-pragma.c (push_alignment): Use typed GC allocation.
5888 (handle_pragma_push_options): Likewise.
5889
5890 * c-common.c (parse_optimize_options): Likewise.
5891
5892 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5893 option.
5894
4aafe913 58952010-06-07 Joseph Myers <joseph@codesourcery.com>
5896
5897 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5898 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5899 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5900 flag_signed_bitfields, warn_strict_null_sentinel,
5901 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5902 flag_gen_declaration, flag_no_gnu_keywords,
5903 flag_implement_inlines, flag_implicit_templates,
5904 flag_implicit_inline_templates, flag_optional_diags,
5905 flag_elide_constructors, flag_default_inline, flag_rtti,
5906 flag_conserve_space, flag_access_control, flag_check_new,
5907 flag_new_for_scope, flag_weak, flag_working_directory,
5908 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5909 flag_enforce_eh_specs, flag_threadsafe_statics,
5910 flag_pretty_templates): Remove.
5911 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5912 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5913 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5914 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5915 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5916 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5917 flag_no_gnu_keywords, flag_implement_inlines,
5918 flag_implicit_templates, flag_implicit_inline_templates,
5919 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5920 flag_rtti, flag_conserve_space, flag_access_control,
5921 flag_check_new, flag_new_for_scope, flag_weak,
5922 flag_working_directory, flag_use_cxa_atexit,
5923 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5924 flag_threadsafe_statics, flag_pretty_templates,
5925 warn_strict_null_sentinel): Remove.
5926 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5927 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5928 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5929 fimplicit-inline-templates, fimplicit-templates,
5930 flax-vector-conversions, fms-extensions, fnil-receivers,
5931 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5932 frtti, fshort-double, fshort-enums, fshort-wchar,
5933 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5934 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5935 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5936 gen-decls, undef): Use Var.
5937 (fdefault-inline, foptional-diags): Document as doing nothing.
5938 * c-opts.c (c_common_handle_option): Remove cases for options now
5939 using Var. Mark ignored options as such.
5940
7bedc3a0 59412010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5942
19931eea 5943 * c-common.c: Moved to here from parent directory.
7bedc3a0 5944 * c-common.def: Likewise.
5945 * c-common.h: Likewise.
5946 * c-cppbuiltin.c: Likewise.
5947 * c-dump.c: Likewise.
5948 * c-format.c: Likewise.
5949 * c-format.h : Likewise.
5950 * c-gimplify.c: Likewise.
5951 * c-lex.c: Likewise.
5952 * c-omp.c: Likewise.
5953 * c.opt: Likewise.
5954 * c-opts.c: Likewise.
5955 * c-pch.c: Likewise.
5956 * c-ppoutput.c: Likewise.
5957 * c-pragma.c: Likewise.
5958 * c-pragma.h: Likewise.
5959 * c-pretty-print.c: Likewise.
5960 * c-pretty-print.h: Likewise.
5961 * c-semantics.c: Likewise.
5962 * stub-objc.c: Likewise.
5963
5964 * c-common.c: Include gt-c-family-c-common.h.
5965 * c-pragma.c: Include gt-c-family-c-pragma.h.
5966\f
d353bf18 5967Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5968
5969Copying and distribution of this file, with or without modification,
5970are permitted in any medium without royalty provided the copyright
5971notice and this notice are preserved.