]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
PR target/69252
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
f6dfb86a 12016-01-18 Jason Merrill <jason@redhat.com>
2
3 PR c++/68767
4 * c-common.c (check_function_arguments_recurse): Fold the whole
5 COND_EXPR, not just the condition.
6
f672c103 72016-01-18 Tom de Vries <tom@codesourcery.com>
8
9 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
10 classify as loop clause.
11
c8ef893c 122016-01-15 Jakub Jelinek <jakub@redhat.com>
13
14 PR bootstrap/68271
15 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
16 C++ FE no longer has limit on number of pragmas.
17
182015-01-14 Ryan Burn <contact@rnburn.com>
7d600da5 19
20 PR c++/69048
21 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
580357e7 22 to add missing cleanup point.
7d600da5 23
a7ed4583 242016-01-14 David Malcolm <dmalcolm@redhat.com>
25
26 PR c++/68819
27 * c-indentation.c (get_visual_column): Add location_t param.
28 Handle the column number being zero by effectively disabling the
29 warning, with an "inform".
30 (should_warn_for_misleading_indentation): Add location_t argument
31 for all uses of get_visual_column.
32
b933e511 332016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
34
35 PR c++/69029
36 * c-indentation.c (should_warn_for_misleading_indentation):
37 Don't warn about do-while statements.
38
517906ff 392016-01-07 Martin Sebor <msebor@redhat.com>
40
41 PR c/68966
42 * c-common.c (sync_resolve_size): Reject first argument when it's
43 a pointer to _Bool.
44
d42aa619 452016-01-05 David Malcolm <dmalcolm@redhat.com>
46
47 PR c/69122
48 * c-indentation.c (get_visual_column): Remove default argument.
49 (should_warn_for_misleading_indentation): For the multiline case,
50 update call to get_visual_column for next_stmt_exploc so that it
51 captures the location of the first non-whitespace character in the
52 relevant line. Don't issue warnings if there is non-whitespace
53 before the next statement.
54
f1717362 552016-01-04 Jakub Jelinek <jakub@redhat.com>
56
57 Update copyright years.
58
c0bf500c 592015-12-21 David Malcolm <dmalcolm@redhat.com>
60
61 * c-common.c (binary_op_error): Convert first param from
62 location_t to rich_location * and use it when emitting an error.
63 * c-common.h (binary_op_error): Convert first param from
64 location_t to rich_location *.
65
dbd79382 662015-12-16 David Malcolm <dmalcolm@redhat.com>
67
68 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
69 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
70
c0998828 712015-12-15 Ilya Verbin <ilya.verbin@intel.com>
72
73 * c-common.c (c_common_attribute_table): Handle "omp declare target
74 link" attribute.
75
7ca909c6 762015-12-14 Jakub Jelinek <jakub@redhat.com>
77
78 PR c/68833
79 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
80
d9102cbe 812014-12-12 Tobias Burnus <burnus@net-b.de>
82
83 PR fortran/68815
84 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
85 specifiers (%d, %i,%u and %c).
86
a515ebdf 872015-12-10 David Malcolm <dmalcolm@redhat.com>
88
89 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
90
31ba81bd 912015-12-08 Jakub Jelinek <jakub@redhat.com>
92
93 PR c/48088
94 PR c/68657
95 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
96 * c-pragma.c (handle_pragma_diagnostic): Adjust
97 control_warning_option caller.
98
d0f713f4 992015-12-07 David Malcolm <dmalcolm@redhat.com>
100
101 * c-common.c (c_cpp_error): Update for change to
102 rich_location::set_range.
103
32d050b5 1042015-12-04 Paolo Bonzini <bonzini@gnu.org>
105
106 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
107 shifting 1 out of the sign bit.
108
1092015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
110
111 * c-common.c (c_common_attribute_table[]): Update max arguments
112 count for "simd" attribute.
113 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
114
6a8fbd7a 1152015-12-03 Jakub Jelinek <jakub@redhat.com>
116
117 PR preprocessor/57580
118 * c-ppoutput.c (print): Change printed field to bool.
119 Move src_file last for smaller padding.
120 (init_pp_output): Set print.printed to false instead of 0.
121 (scan_translation_unit): Fix up formatting. Set print.printed
122 to true after printing something other than newline.
123 (scan_translation_unit_trad): Set print.printed to true instead of 1.
124 (maybe_print_line_1): Set print.printed to false instead of 0.
125 (print_line_1): Likewise.
126 (do_line_change): Set print.printed to true instead of 1.
127 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
128 dump_macro): Set print.printed to false after printing newline.
129
da562e32 1302015-12-02 Jason Merrill <jason@redhat.com>
131
9c691dbd 132 * c-common.c (fold_for_warn): New.
133 (warn_logical_operator, warn_tautological_cmp)
134 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
135
da562e32 136 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
137 (c_fully_fold_internal, decl_constant_value_for_optimization):
138 Move to c/c-fold.c.
139 * c-common.h: Don't declare decl_constant_value_for_optimization.
140
89f16034 1412015-12-02 Joseph Myers <joseph@codesourcery.com>
142
143 PR c/68162
144 * c-common.h (c_build_qualified_type): Add extra default
145 arguments.
146
571b3486 1472015-12-01 Julian Brown <julian@codesourcery.com>
148 Cesar Philippidis <cesar@codesourcery.com>
149 James Norris <James_Norris@mentor.com>
150
151 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
152 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
153 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
154
ed92a461 1552015-11-30 Eric Botcazou <ebotcazou@adacore.com>
156
157 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
158 (decl_sloc_common): Delete and move bulk of processing to...
159 (decl_sloc): ...here.
160 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
161 (dump_ada_double_name): Remove S parameter and compute the suffix.
162 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
163 element type and deal with an anonymous one.
164 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
165 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
166 and remove reference to QUAL_UNION_TYPE.
167 (dump_nested_types): Make 2 passes on the fields and move bulk to...
168 (dump_nested_type): ...here. New function extracted from above.
169 Generate a full declaration for anonymous element type of arrays.
170 (print_ada_declaration): Really skip anonymous declarations. Remove
171 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
172 Clean up processing of declarations of array types and objects.
173 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
174 Remove obsolete code and tidy up.
175
c25b3e3f 1762015-11-29 Jan Hubicka <hubicka@ucw.cz>
177
178 PR c/67581
179 * c-common.c (handle_transparent_union_attribute): Update
180 also type variants.
181
d4e328e9 1822015-11-27 Martin Liska <mliska@suse.cz>
183
184 PR c++/68312
185 * array-notation-common.c (cilkplus_extract_an_triplets):
186 Release vector of vectors.
187 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
188
f63d9c4e 1892015-11-26 Eric Botcazou <ebotcazou@adacore.com>
190
191 PR c++/68527
192 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
193 (print_ada_struct_decl): Likewise.
194
8d63c601 1952015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
196
197 PR c++/68001
198 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
199 * cilk.c (recognize_spawn): Determine location in a more precise
200 way.
201
01f11119 2022015-11-19 Jason Merrill <jason@redhat.com>
203
204 * c-common.c (shorten_compare): But look through macros from
205 system headers.
206
2d3d3af7 2072015-11-18 Jason Merrill <jason@redhat.com>
208
209 * c-common.c (shorten_compare): Don't -Wtype-limits if the
210 non-constant operand comes from a macro.
211
7991eeee 2122015-11-17 Jason Merrill <jason@redhat.com>
213
214 PR bootstrap/68346
215 * c-common.c (warn_tautological_cmp): Fold before checking for
216 constants.
217
73f67931 2182015-11-16 Marek Polacek <polacek@redhat.com>
219
220 PR c++/68362
221 * c-common.c (check_case_bounds): Fold low and high cases.
222
8e539fdc 2232015-11-16 Marek Polacek <polacek@redhat.com>
224
225 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
226 * c-common.c (c_common_get_alias_set): Likewise.
227 (handle_visibility_attribute): Likewise.
228
c58a4cfd 2292015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
230
231 * c-common.c (handle_simd_attribute): New.
232 (struct attribute_spec): Add entry for "simd".
233 (handle_simd_attribute): New.
234
bb036391 2352015-11-13 Kai Tietz <ktietz70@googlemail.com>
236
237 * c-lex.c (interpret_float): Use fold_convert.
238
a96cefb2 2392015-11-13 David Malcolm <dmalcolm@redhat.com>
240
241 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
242 and store it on the result.
243 * c-opts.c (c_common_init_options): Set
244 global_dc->colorize_source_p.
245
2fc5e987 2462015-11-12 James Norris <jnorris@codesourcery.com>
247 Joseph Myers <joseph@codesourcery.com>
248
249 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
250 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
251 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
252 PRAGMA_OACC_CLAUSE_LINK.
253
81b1b2a8 2542015-11-11 Marek Polacek <polacek@redhat.com>
255
256 PR c/68107
257 PR c++/68266
258 * c-common.c (valid_array_size_p): New function.
259 * c-common.h (valid_array_size_p): Declare.
260
4f3707ca 2612015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
262
263 PR bootstrap/68271
264 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
265
6e803544 2662015-11-11 Andrew MacLeod <amacleod@redhat.com>
267
268 * array-notation-common.c: Remove unused header files.
269 * c-ada-spec.c: Likewise.
270 * c-cilkplus.c: Likewise.
271 * c-common.c: Likewise.
272 * c-cppbuiltin.c: Likewise.
273 * c-dump.c: Likewise.
274 * c-format.c: Likewise.
275 * c-gimplify.c: Likewise.
276 * c-indentation.c: Likewise.
277 * c-lex.c: Likewise.
278 * c-omp.c: Likewise.
279 * c-opts.c: Likewise.
280 * c-pch.c: Likewise.
281 * c-ppoutput.c: Likewise.
282 * c-pragma.c: Likewise.
283 * c-pretty-print.c: Likewise.
284 * c-semantics.c: Likewise.
285 * c-ubsan.c: Likewise.
286 * cilk.c: Likewise.
287 * stub-objc.c: Likewise.
288
a1b7fe4b 2892015-11-09 Thomas Schwinge <thomas@codesourcery.com>
290 Cesar Philippidis <cesar@codesourcery.com>
291 James Norris <jnorris@codesourcery.com>
292 Julian Brown <julian@codesourcery.com>
293 Nathan Sidwell <nathan@codesourcery.com>
294
295 * c-pragma.c (oacc_pragmas): Add "routine".
296 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
297
292237f3 2982015-11-08 Eric Botcazou <ebotcazou@adacore.com>
299
300 * c-common.c (c_common_attributes): Add scalar_storage_order.
301 (handle_scalar_storage_order_attribute): New function.
302 * c-pragma.c (global_sso): New variable.
303 (maybe_apply_pragma_scalar_storage_order): New function.
304 (handle_pragma_scalar_storage_order): Likewise.
305 (init_pragma): Register scalar_storage_order.
306 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
307 * c.opt (Wscalar-storage-order): New warning.
308 (fsso-struct=): New option.
309
b4a4c5fa 3102015-11-08 Martin Sebor <msebor@redhat.com>
311
312 * c.opt (Wplacement-new): Add a period to the end of a sentence.
313
ac677063 3142015-11-07 Richard Sandiford <richard.sandiford@arm.com>
315
316 * c-common.c: Don't undef DEF_BUILTIN.
317
f0479000 3182015-11-06 David Malcolm <dmalcolm@redhat.com>
319
320 * c-common.c (c_cpp_error): Convert parameter from location_t to
321 rich_location *. Eliminate the "column_override" parameter and
322 the call to diagnostic_override_column.
323 Update the "done_lexing" clause to set range 0
324 on the rich_location, rather than overwriting a location_t.
325 * c-common.h (c_cpp_error): Convert parameter from location_t to
326 rich_location *. Eliminate the "column_override" parameter.
327
ef014f95 3282015-11-05 Cesar Philippidis <cesar@codesourcery.com>
329 Thomas Schwinge <thomas@codesourcery.com>
330 James Norris <jnorris@codesourcery.com>
331
332 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
333 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
334 clauses with parallel and kernels and loops.
335 * c-pragma.h (enum pragma_omp_clause): Add entries for
336 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
337 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
338 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
339 INDEPENDENT,SEQ}.
340 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
341
e520488c 3422015-11-05 Martin Sebor <msebor@redhat.com>
343
344 PR c++/67942
345 * c.opt (-Wplacement-new): New option.
346
9561765e 3472015-11-05 Jakub Jelinek <jakub@redhat.com>
348
349 * c-common.h (c_finish_omp_atomic): Add TEST argument.
350 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
351 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
352 save_expr or create_tmp_var* if TEST is true.
353 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
354 Don't call add_stmt here.
355 (struct c_omp_check_loop_iv_data): New type.
356 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
357 c_omp_check_loop_iv_exprs): New functions.
358 (c_omp_split_clauses): Adjust for lastprivate being allowed on
359 distribute.
360 (c_omp_declare_simd_clauses_to_numbers): Change
361 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
362 (c_omp_declare_simd_clauses_to_decls): Similarly change those
363 from numbers to PARM_DECLs.
364
5e8689fb 3652015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
366
367 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
368 flag_checking.
369
aeaccb75 3702015-11-03 Bernd Schmidt <bschmidt@redhat.com>
371
372 PR c++-common/67882
32d050b5 373 * c-common.h (fold_offsetof_1): Add argument.
374 * c-common.c (fold_offsetof_1): Diagnose more invalid
aeaccb75 375 offsetof expressions that reference elements past the end of
376 an array.
377
9e10bfb7 3782015-11-03 Thomas Schwinge <thomas@codesourcery.com>
379 Chung-Lin Tang <cltang@codesourcery.com>
380
381 * c-pragma.c (oacc_pragmas): Add "atomic".
382 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
383
ab50af2a 3842015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
385
386 * c-common.c (handle_target_clones_attribute): New.
387 (c_common_attribute_table): Add handle_target_clones_attribute.
388 (handle_always_inline_attribute): Add check on target_clones attribute.
389 (handle_target_attribute): Ditto.
390
4cba6f60 3912015-10-29 Andrew MacLeod <amacleod@redhat.com>
392
393 * array-notation-common.c: Reorder #include's and remove duplicates.
394 * c-ada-spec.c: Likewise.
395 * c-cilkplus.c: Likewise.
396 * c-common.c: Likewise.
397 * c-cppbuiltin.c: Likewise.
398 * c-dump.c: Likewise.
399 * c-format.c: Likewise.
400 * c-gimplify.c: Likewise.
401 * c-indentation.c: Likewise.
402 * c-lex.c: Likewise.
403 * c-omp.c: Likewise.
404 * c-opts.c: Likewise.
405 * c-pch.c: Likewise.
406 * c-ppoutput.c: Likewise.
407 * c-pragma.c: Likewise.
408 * c-pretty-print.c: Likewise.
409 * c-semantics.c: Likewise.
410 * c-ubsan.c: Likewise.
411 * cilk.c: Likewise.
412 * stub-objc.c: Likewise.
413
f576a2e4 4142015-10-28 Jason Merrill <jason@redhat.com>
415
416 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
417
2c4c8725 4182015-10-27 Thomas Schwinge <thomas@codesourcery.com>
419 James Norris <jnorris@codesourcery.com>
420 Cesar Philippidis <cesar@codesourcery.com>
421
422 PR c/64765
423 PR c/64880
424 * c-common.h (c_oacc_split_loop_clauses): Declare function.
425 * c-omp.c (c_oacc_split_loop_clauses): New function.
426
8204c077 4272015-10-21 Martin Sebor <msebor@redhat.com>
428
429 PR driver/68043
430 * c.opt: End each sentence that describes an option with a period.
431
8523243e 4322015-10-20 Marek Polacek <polacek@redhat.com>
433
434 * array-notation-common.c (is_cilkplus_vector_p): Define.
435 * c-common.h (is_cilkplus_vector_p): Declare.
436
08881cb8 4372015-10-20 Marek Polacek <polacek@redhat.com>
438
439 * c.opt (std=gnu++11): Do not describe as experimental.
440 (std=gnu++14): Likewise.
441
a36e5e5e 4422015-10-19 Jason Merrill <jason@redhat.com>
443
444 * c-cppbuiltin.c (c_cpp_builtins): Define
445 __cpp_nontype_template_args.
446
a349de0a 4472015-10-19 Jason Merrill <jason@redhat.com>
448
449 * c-cppbuiltin.c (c_cpp_builtins): Define
450 __cpp_enumerator_attributes, __cpp_fold_expressions,
451 __cpp_unicode_characters.
452
43895be5 4532015-10-13 Jakub Jelinek <jakub@redhat.com>
454 Aldy Hernandez <aldyh@redhat.com>
455
456 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
457 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
458 (c_define_builtins): Likewise.
459 * c-common.h (enum c_omp_clause_split): Add
460 C_OMP_CLAUSE_SPLIT_TASKLOOP.
461 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
462 (c_finish_omp_for): Add ORIG_DECLV argument.
463 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
464 201511 instead of 201307.
465 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
466 OMP_CRITICAL_CLAUSES to it.
467 (c_finish_omp_ordered): Add CLAUSES argument, set
468 OMP_ORDERED_CLAUSES to it.
469 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
470 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
471 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
472 constructs and new OpenMP 4.5 clauses. Clear
473 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
474 verification code.
475 * c-pragma.c (omp_pragmas_simd): Add taskloop.
476 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
477 (enum pragma_omp_clause): Add
478 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
479 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
480
20cb53c9 4812015-10-05 Richard Sandiford <richard.sandiford@arm.com>
482
483 * c-lex.c (interpret_float): Use real_equal instead of
484 REAL_VALUES_EQUAL.
485
6d02e6b2 4862015-10-04 Jason Merrill <jason@redhat.com>
487
488 Implement N4514, C++ Extensions for Transactional Memory.
489 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
490 (c_common_attribute_table): Add transaction_safe_dynamic.
491 transaction_safe now affects type identity.
492 (handle_tm_attribute): Handle transaction_safe_dynamic.
493 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
494 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
495 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
496 (D_TRANSMEM): New.
497 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
498 * c-pretty-print.c (pp_c_attributes_display): Don't print
499 transaction_safe in C++.
500
c0999a5d 5012015-10-02 Marek Polacek <polacek@redhat.com>
502
503 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
504
ef17a71a 5052015-10-02 Marek Polacek <polacek@redhat.com>
506
507 PR c/64249
508 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
509 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
510 * c.opt (Wduplicated-cond): New option.
511
05b84e7b 5122015-10-01 Joseph Myers <joseph@codesourcery.com>
513
514 * c.opt (std=c11): Do not describe as experimental.
515 (std=gnu11): Likewise.
516 (std=iso9899:2011): Likewise.
517
e561d5e1 5182015-09-28 Nathan Sidwell <nathan@codesourcery.com>
519
520 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
521 (DEF_FUNCTION_TYPE_VAR_11): Delete.
522
bd4b90d2 5232015-09-25 Marek Polacek <polacek@redhat.com>
524
525 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
526 (ubsan_instrument_shift): Likewise.
527
ac13b2b2 5282015-09-25 Marek Polacek <polacek@redhat.com>
529
530 PR sanitizer/64906
531 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
532
a3c82f4c 5332015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
534
535 * c-indentation.c (should_warn_for_misleading_indentation):
536 Compare next_stmt_vis_column with guard_line_first_nws instead
537 of with guard_line_vis_column.
538
5eef101d 5392015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
540
541 PR c/49654
542 PR c/49655
543 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
544 options and options not valid for the current language.
545
60897493 5462015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
547
548 * c-indentation.c (should_warn_for_misleading_indentation):
549 Float out and consolidate the calls to get_visual_column that
550 are passed guard_exploc as an argument. Compare
551 next_stmt_vis_column with guard_line_first_nws instead of with
552 body_line_first_nws.
553
85c93154 5542015-09-22 Nathan Sidwell <nathan@codesourcery.com>
555
556 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
557 Wnamespaces): New C++ warnings.
558
229a58b1 5592015-09-22 Jason Merrill <jason@redhat.com>
560
561 * c-common.h (abi_compat_version_crosses): New.
562 (warn_abi_version): Declare.
563 * c-common.c: Define it.
564 * c-opts.c (c_common_post_options): Handle it.
565 flag_abi_compat_version defaults to 8.
566
2d2de569 5672015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
568
569 Complete the implementation of N4230, Nested namespace definition.
570 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
571 __cpp_nested_namespace_definitions.
572
2b897e68 5732015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
574
575 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
576
ed536208 5772015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
578
579 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
580 when warning.
581 * c-pragma.h (pragma_lex): Add optional loc argument.
582
1dc6c44d 5832015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
584
585 * c-format.c (check_format_arg): Adjust to use common block size in all
586 object pools.
587
be812248 5882015-09-15 David Malcolm <dmalcolm@redhat.com>
589
590 * c-format.c (location_from_offset): Update for change in
591 signature of location_get_source_line.
592 * c-indentation.c (get_visual_column): Likewise.
593 (line_contains_hash_if): Likewise.
594
e4cc057f 5952015-09-14 Marek Polacek <polacek@redhat.com>
596
597 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
598 setting various warnings.
599
85f5e2ee 6002015-09-14 Marek Polacek <polacek@redhat.com>
601
602 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
603 a negative value.
604
1bca8cbd 6052015-09-11 Mark Wielaard <mjw@redhat.com>
606
607 PR c/28901
608 * c.opt (Wunused-variable): Option from common.opt.
609 (Wunused-const-variable): New option.
610
ee48893a 6112015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
612
613 PR c++/53184
614 * c.opt ([Wsubobject-linkage]): Add.
615
547c6b1f 6162015-09-03 Martin Sebor <msebor@redhat.com>
617
618 PR c/66516
619 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
620 functions.
621 * c-common.c (reject_gcc_builtin): Define.
622
7e976b10 6232015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
624
625 PR middle-end/60586
626 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
627 prototype.
628 * c-gimplify.c (c_gimplify_expr): Added a call to the function
629 cilk_gimplify_call_params_in_spawned_fn.
630 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
631 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
632 unwrapping.
633
9e6bcade 6342015-08-25 Marek Polacek <polacek@redhat.com>
635
636 PR middle-end/67330
637 * c-common.c (handle_weak_attribute): Don't check whether the
638 visibility can be changed here.
639
af9de21d 6402015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
641
642 * c-lex.c (c_lex_with_flags): Use explicit locations.
643
6dc50383 6442015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
645
646 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
647 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
648
10902624 6492015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
650
651 PR middle-end/36757
652 * c-common.c (check_builtin_function_arguments): Add check
653 for BUILT_IN_SIGNBIT argument.
654
a03a71ab 6552015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
656
657 PR c++/67160
658 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
659 in c++1z mode.
660
22723c26 6612015-08-17 Marek Polacek <polacek@redhat.com>
662
663 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
664 with whitespaces before qualifier names.
665
f4809955 6662015-08-12 Marek Polacek <polacek@redhat.com>
667
668 PR c++/55095
669 * c-common.c (maybe_warn_shift_overflow): Properly handle
670 left-shifting 1 into the sign bit.
671
5463f502 6722015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
673
674 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
675
56c12fd4 6762015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
677 Braden Obrzut <admin@maniacsvault.net>
678 Jason Merrill <jason@redhat.com>
679
680 Add C++ Concepts TS support.
681 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
682 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
683 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
684 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
685 * c-opts.c (set_std_cxx1z): Set flag_concepts.
686 * c.opt (fconcepts): New.
687
32d050b5 6882015-08-02 Martin Sebor <msebor@redhat.com>
689
690 * c.opt (-Wframe-address): New warning option.
691
17afcef6 6922015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
693
694 * c-indentation.c (should_warn_for_misleading_indentation):
695 Improve heuristics.
696
f95bfdd4 6972015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
698
699 * c-indentation.c (get_visual_column): Add parameter first_nws,
700 use it. Update comment documenting the function.
701 (is_first_nonwhitespace_on_line): Remove.
702 (should_warn_for_misleading_indentation): Replace usage of
703 of is_first_nonwhitespace_on_line with get_visual_column.
704
9255be07 7052015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
706
707 * c-indentation.h (struct token_indent_info): Define.
708 (get_token_indent_info): Define.
709 (warn_for_misleading_information): Declare.
710 * c-common.h (warn_for_misleading_information): Remove.
711 * c-identation.c (warn_for_misleading_indentation):
712 Change declaration to take three token_indent_infos. Adjust
713 accordingly.
714 * c-identation.c (should_warn_for_misleading_indentation):
715 Likewise. Bail out early if the body is a compound statement.
716 (guard_tinfo_to_string): Define.
717
e880695c 7182015-07-30 Jason Merrill <jason@redhat.com>
719
720 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
721 '*' for reference decay.
722
f58dd84b 7232015-07-30 Marek Polacek <polacek@redhat.com>
724
725 * c-common.c (warn_tautological_cmp): Bail for float types.
726
d9e4fe27 7272015-07-27 Marek Polacek <polacek@redhat.com>
728
729 PR bootstrap/67030
730 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
731
6784a472 7322015-07-27 Marek Polacek <polacek@redhat.com>
733
734 PR c++/66555
735 PR c/54979
736 * c-common.c (find_array_ref_with_const_idx_r): New function.
737 (warn_tautological_cmp): New function.
738 * c-common.h (warn_tautological_cmp): Declare.
739 * c.opt (Wtautological-compare): New option.
740
08034975 7412015-07-23 Marek Polacek <polacek@redhat.com>
742
743 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
744 (ubsan_instrument_shift): Likewise.
745
f6f5e49b 7462015-07-23 Marek Polacek <polacek@redhat.com>
747
748 PR sanitizer/66908
749 * c-ubsan.c: Include gimplify.h.
750 (ubsan_instrument_division): Unshare OP0 and OP1.
751 (ubsan_instrument_shift): Likewise.
752
8d669e79 7532015-07-20 Marek Polacek <polacek@redhat.com>
754 Richard Sandiford <richard.sandiford@arm.com>
755
756 PR c++/55095
757 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
758 Use EXPR_LOC_OR_LOC.
759 (maybe_warn_shift_overflow): New function.
760 * c-common.h (maybe_warn_shift_overflow): Declare.
761 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
762 * c.opt (Wshift-overflow): New option.
763
e16712b1 7642015-07-16 Martin Liska <mliska@suse.cz>
765
766 * c-format.c (static void check_format_info_main): Use
767 object_allocator instead of pool_allocator.
768 (check_format_arg): Likewise.
769 (check_format_info_main): Likewise.
770
e51764ad 7712015-07-15 Andrew MacLeod <amacleod@redhat.com>
772
773 * c-opts.c: Remove multiline #include comment.
774
47ae02b7 7752015-07-12 Aldy Hernandez <aldyh@redhat.com>
776
777 * c-common.c: Fix double word typos.
778
ed2b2eb2 7792015-07-10 Eric Botcazou <ebotcazou@adacore.com>
780
781 * c-ada-spec.h (cpp_operation): Revert latest change.
782 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
783 constructors and destructors.
784
1eacc14a 7852015-07-09 Andrew MacLeod <amacleod@redhat.com>
786
787 * c-common.h: Adjust includes for flags.h changes.
788 * stub-objc.c: Likewise.
47ae02b7 789
0124237f 7902015-07-08 Eric Botcazou <ebotcazou@adacore.com>
791
792 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
793 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
794
386ef929 7952015-07-08 Jakub Jelinek <jakub@redhat.com>
796
797 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
798 are to be removed, return NULL rather than original clauses list.
799
9ef16211 8002015-07-07 Andrew MacLeod <amacleod@redhat.com>
801
802 * array-notation-common.c: Adjust includes.
803 * c-ada-spec.c: Likewise.
804 * c-cilkplus.c: Likewise.
805 * c-common.h: Likewise.
806 * c-cppbuiltin.c: Likewise.
807 * c-dump.c: Likewise.
808 * c-format.c: Likewise.
809 * c-gimplify.c: Likewise.
810 * c-indentation.c: Likewise.
811 * c-lex.c: Likewise.
812 * c-omp.c: Likewise.
813 * c-opts.c: Likewise.
814 * c-pch.c: Likewise.
815 * c-ppoutput.c: Likewise.
816 * c-pragma.c: Likewise.
817 * c-pretty-print.c: Likewise.
818 * c-semantics.c: Likewise.
819 * c-ubsan.c: Likewise.
820 * cilk.c: Likewise.
821 * stub-objc.c: Likewise.
822
67ede3e4 8232015-07-07 Eric Botcazou <ebotcazou@adacore.com>
824
825 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
826 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
827
42af8c2a 8282015-07-01 Jason Merrill <jason@redhat.com>
829
fa769cc5 830 * c-common.h (D_CXX11): Rename from D_CXX0X.
831 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
832 * c-common.c: Adjust.
833
97e9c847 834 * c-opts.c (c_common_post_options): Default to C++14.
835
42af8c2a 836 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
837
30b1ba42 8382015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
839
840 Implement N4197 - Adding u8 character literals
32d050b5 841 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
95858835 842 CPP_CHAR.
32d050b5 843 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
95858835 844 CPP_UTF8CHAR_USERDEF tokens.
32d050b5 845 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
95858835 846 and CPP_UTF8CHAR tokens.
847 (lex_charconst): Treat CPP_UTF8CHAR token.
30b1ba42 848
0949f227 8492015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
850
851 PR fortran/66605
852 * c-common.c (do_warn_unused_parameter): Move here.
853 * c-common.h (do_warn_unused_parameter): Declare.
854
be23b16f 8552015-06-29 Marek Polacek <polacek@redhat.com>
856
857 PR c/66322
858 * c-common.c (check_case_bounds): Add bool * parameter. Set
859 OUTSIDE_RANGE_P.
860 (c_add_case_label): Add bool * parameter. Pass it down to
861 check_case_bounds.
862 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
863 warning here.
864 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
865 declarations.
866
6290f0db 8672015-06-27 Marek Polacek <polacek@redhat.com>
868
869 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
870 or VECTOR_INTEGER_TYPE_P throughout.
871 * c-gimplify.c: Likewise.
872
aa3e402e 8732015-06-26 Marek Polacek <polacek@redhat.com>
874
875 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
876 * c-common.c (c_fully_fold_internal): Likewise.
877 (c_alignof_expr): Likewise.
878 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
879 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
8204c077 880 * cilk.c (create_parm_list): Likewise.
aa3e402e 881
4e81b384 8822015-06-26 Marek Polacek <polacek@redhat.com>
883
884 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
885
ec2e0095 8862015-06-25 Andrew MacLeod <amacleod@redhat.com>
887
888 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
889 * c-gimplify.c: Likewise.
890 * c-pragma.c: Likewise.
891 * c-ubsan.c: Likewise.
892 * cilk.c: Likewise.
893
b594087e 8942015-06-25 Richard Sandiford <richard.sandiford@arm.com>
895
896 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
897 ggc_hasher.
898
a3c76fda 8992015-06-25 Andrew MacLeod <amacleod@redhat.com>
900
901 * cilk.c: Move calls.h after tm.h in the include chain.
902
f48c7f4a 9032015-06-25 Marek Polacek <polacek@redhat.com>
904
905 * array-notation-common.c: Use VAR_P throughout.
906 * c-ada-spec.c: Likewise.
907 * c-common.c: Likewise.
908 * c-format.c: Likewise.
909 * c-gimplify.c: Likewise.
910 * c-omp.c: Likewise.
911 * c-pragma.c: Likewise.
912 * c-pretty-print.c: Likewise.
913 * cilk.c: Likewise.
914
ce41e81a 9152015-06-25 Marek Polacek <polacek@redhat.com>
916
917 * cilk.c (extract_free_variables): Use is_global_var.
918
de231ec2 9192015-06-23 Richard Sandiford <richard.sandiford@arm.com>
920
921 * c-common.c: Don't include target-def.h.
922
0200602e 9232015-06-23 Marek Polacek <polacek@redhat.com>
924
925 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
926 when comparing INTEGER_CSTs.
927
99838ed7 9282015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
929
930 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
931 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
932 (dump_ada_template): Skip partially specialized types.
933
a4f59596 9342015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
935
936 * c-common.c (scalar_to_vector): Use std::swap instead of manually
937 swapping.
938
f2ab3bac 9392015-06-17 Andrew MacLeod <amacleod@redhat.com>
940
941 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
942 * c-ada-spec.c: Likewise.
943 * c-cilkplus.c: Likewise.
944 * c-common.c: Likewise.
945 * c-common.h: Likewise.
946 * c-cppbuiltin.c: Likewise.
947 * c-dump.c: Likewise.
948 * c-format.c: Likewise.
949 * c-gimplify.c: Likewise.
950 * c-indentation.c: Likewise.
951 * c-lex.c: Likewise.
952 * c-omp.c: Likewise.
953 * c-opts.c: Likewise.
954 * c-pch.c: Likewise.
955 * c-ppoutput.c: Likewise.
956 * c-pragma.c: Likewise.
957 * c-pretty-print.c: Likewise.
958 * c-semantics.c: Likewise.
959 * c-ubsan.c: Likewise.
960 * cilk.c: Likewise.
961 * stub-objc.c: Likewise.
962
db3d1ffc 9632015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
964
965 PR c++/65168
966 * c-common.c (c_common_truthvalue_conversion): Warn when
967 converting an address of a reference to a truth value.
968
64486212 9692015-06-08 Andrew MacLeod <amacleod@redhat.com>
970
971 * array-notation-common.c : Adjust include files.
972 * c-ada-spec.c : Likewise.
973 * c-cilkplus.c : Likewise.
974 * c-common.c : Likewise.
975 * c-common.h : Likewise.
976 * c-cppbuiltin.c : Likewise.
977 * c-dump.c : Likewise.
978 * c-format.c : Likewise.
979 * c-gimplify.c : Likewise.
980 * c-indentation.c : Likewise.
981 * c-lex.c : Likewise.
982 * c-omp.c : Likewise.
983 * c-opts.c : Likewise.
984 * c-pch.c : Likewise.
985 * c-ppoutput.c : Likewise.
986 * c-pragma.c : Likewise.
987 * c-pretty-print.c : Likewise.
988 * c-semantics.c : Likewise.
989 * c-ubsan.c : Likewise.
990 * cilk.c : Likewise.
991 * stub-objc.c : Likewise.
992
6e84ccad 9932015-06-08 Marek Polacek <polacek@redhat.com>
994
995 PR c/66415
996 * c-format.c (location_from_offset): Return LOC if LINE is null.
997
3a1c9df2 9982015-06-05 Aldy Hernandez <aldyh@redhat.com>
999
1000 * c-common.h (c_parse_final_cleanups): New prototype.
1001 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
1002
32d050b5 10032015-06-04 Sriraman Tallam <tmsriram@google.com>
1004
1005 * c-common.c (noplt): New attribute.
1006 (handle_noplt_attribute): New handler.
1007
f77c0292 10082015-06-04 Andrew MacLeod <amacleod@redhat.com>
1009
1010 * array-notation-common.c: Adjust includes for restructured coretypes.h.
1011 * c-ada-spec.c: Likewise.
1012 * c-cilkplus.c: Likewise.
1013 * c-common.c: Likewise.
1014 * c-common.h: Likewise.
1015 * c-cppbuiltin.c: Likewise.
1016 * c-dump.c: Likewise.
1017 * c-format.c: Likewise.
1018 * c-gimplify.c: Likewise.
1019 * c-indentation.c: Likewise.
1020 * c-lex.c: Likewise.
1021 * c-omp.c: Likewise.
1022 * c-opts.c: Likewise.
1023 * c-pch.c: Likewise.
1024 * c-ppoutput.c: Likewise.
1025 * c-pragma.c: Likewise.
1026 * c-pretty-print.c: Likewise.
1027 * c-semantics.c: Likewise.
1028 * c-ubsan.c: Likewise.
1029 * cilk.c: Likewise.
1030 * stub-objc.c: Likewise.
1031
7c62dfbb 10322015-06-02 David Malcolm <dmalcolm@redhat.com>
1033
1034 PR c/66220:
1035 * c-indentation.c (should_warn_for_misleading_indentation): Use
1036 expand_location rather than expand_location_to_spelling_point.
1037 Don't warn if the guarding statement is more indented than the
1038 next/body stmts.
1039
9af7c176 10402015-06-02 David Malcolm <dmalcolm@redhat.com>
1041
1042 * c-indentation.c (warn_for_misleading_indentation): Bail out
1043 immediately if -Wmisleading-indentation isn't enabled.
1044
eebcf436 10452015-06-01 Martin Liska <mliska@suse.cz>
1046
1047 * c-format.c (check_format_arg):Use new type-based pool allocator.
1048 (check_format_info_main) Likewise.
1049
b0a23e2f 10502015-05-31 Eric Botcazou <ebotcazou@adacore.com>
1051
1052 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
1053 (has_nontrivial_methods): Likewise.
1054
63dc1330 10552015-05-25 Marek Polacek <polacek@redhat.com>
1056
1057 * c-ubsan.c (ubsan_instrument_shift): Use type0.
1058
5a4c69dd 10592015-05-22 Marek Polacek <polacek@redhat.com>
1060
1061 PR c/47043
1062 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
1063
044580bb 10642015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 1065
1066 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
1067 STACK_GROWS_DOWNWARD.
1068
044580bb 10692015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 1070
1071 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
1072 STACK_GROWS_DOWNWARD rather than if it is defined.
1073
d5a2ddc7 10742015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
8204c077 1075
d5a2ddc7 1076 PR c/52952
1077 * c-format.c (location_column_from_byte_offset): New.
1078 (location_from_offset): New.
1079 (struct format_wanted_type): Add offset_loc field.
1080 (check_format_info): Move handling of location for extra arguments
1081 closer to the point of warning.
1082 (check_format_info_main): Pass the result of location_from_offset
1083 to warning_at.
1084 (format_type_warning): Pass the result of location_from_offset
1085 to warning_at.
1086
72f8014e 10872015-05-20 Marek Polacek <polacek@redhat.com>
1088
1089 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
1090
74efe522 10912015-05-20 Marek Polacek <polacek@redhat.com>
1092
1093 * c-ada-spec.c (dump_sloc): Use DECL_P.
1094
b443c459 10952015-05-20 Marek Polacek <polacek@redhat.com>
1096
1097 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
1098 * c-common.c: Likewise.
1099
551e34da 11002015-05-19 David Malcolm <dmalcolm@redhat.com>
1101
1102 * c-common.h (fe_file_change): Strengthen param from
1103 const line_map * to const line_map_ordinary *.
1104 (pp_file_change): Likewise.
1105 * c-lex.c (fe_file_change): Likewise.
1106 (cb_define): Use linemap_check_ordinary when invoking
1107 SOURCE_LINE.
1108 (cb_undef): Likewise.
1109 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
1110 invoking cb_file_change.
1111 (c_finish_options): Likewise.
1112 (push_command_line_include): Likewise.
1113 (cb_file_change): Strengthen param "new_map" from
1114 const line_map * to const line_map_ordinary *.
1115 * c-ppoutput.c (cb_define): Likewise for local "map".
1116 (pp_file_change): Likewise for param "map" and local "from".
1117
dfcf26a5 11182015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
1119
1120 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
1121
2e474820 11222015-05-18 Tom de Vries <tom@codesourcery.com>
1123
1124 * c-common.c (build_va_arg_1): New function.
1125 (build_va_arg): Add address operator to va_list operand if necessary.
1126
e53013a8 11272015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
1128
1129 PR c/48956
1130 * c-common.c (int_safely_convertible_to_real_p): Define.
1131 (unsafe_conversion_p): Check conversions involving complex types.
1132 (conversion_warning): Add new warning message for conversions which
1133 discard imaginary component.
1134 * c-common.h: (enum conversion_safety): Add new enumerator for such
1135 conversions.
1136
aac24642 11372015-05-14 Marek Polacek <polacek@redhat.com>
1138
1139 PR c/66066
1140 PR c/66127
1141 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
1142 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
1143 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
1144 use it. If FOR_INT_CONST, require that all evaluated operands be
1145 INTEGER_CSTs.
1146
e5f01cba 11472015-05-12 David Malcolm <dmalcolm@redhat.com>
1148
1149 * c-common.h (warn_for_misleading_indentation): New prototype.
1150 * c-indentation.c: New file.
1151 * c.opt (Wmisleading-indentation): New option.
1152
c37be9ec 11532015-05-12 Tom de Vries <tom@codesourcery.com>
1154
1155 PR tree-optimization/66010
1156 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
1157
7290114b 11582015-05-09 Jason Merrill <jason@redhat.com>
1159
3c665566 1160 * c-opts.c (c_common_post_options): Also clear
1161 cpp_opts->cpp_warn_cxx11_compat.
1162
d875b9d2 1163 * c-common.h (enum cxx_dialect): Add cxx_unset.
1164 * c-common.c (cxx_dialect): Initialize to cxx_unset.
1165 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
1166
7290114b 1167 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
1168 (std=gnu++0x): Mark as Undocumented.
1169 (std=gnu++1y): Add deprecated message.
1170
1b03cc89 11712015-05-08 Jason Merrill <jason@redhat.com>
1172
1c5f7aba 1173 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
1174 * c-opts.c: Adjust.
1175
1b03cc89 1176 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
1177
dc5945dc 11782015-05-08 Marek Polacek <polacek@redhat.com>
1179
1180 PR c/64918
1181 * c.opt (Woverride-init-side-effects): New option.
1182
cdc64059 11832015-05-07 Marek Polacek <polacek@redhat.com>
1184
1185 PR c/65179
1186 * c-common.c (c_fully_fold_internal): Warn when left shifting a
1187 negative value.
1188 * c.opt (Wshift-negative-value): New option.
1189 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
1190 when -Wextra and C99/C++11 mode.
1191
8cafe283 11922015-05-07 Marek Polacek <polacek@redhat.com>
1193 Martin Uecker <uecker@eecs.berkeley.edu>
1194
1195 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
1196 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
1197
cb40a6f7 11982015-05-05 Jason Merrill <jason@redhat.com>
1199
1200 * c.opt (Wterminate): New.
1201
14744a16 12022015-04-30 Marek Polacek <polacek@redhat.com>
1203
1204 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
1205 require that the non-constant be of a boolean type.
1206
9866562d 12072015-04-29 Josh Triplett <josh@joshtriplett.org>
1208
8cafe283 1209 * c-common.c (handle_section_attribute): Refactor to reduce
1210 nesting and distinguish between error cases.
9866562d 1211
a720ab1c 12122015-04-29 Marek Polacek <polacek@redhat.com>
1213
1214 PR c/64610
1215 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
1216 with 0/1.
1217
8c072e52 12182015-04-29 Jakub Jelinek <jakub@redhat.com>
1219
1220 * c-common.h (omp_clause_mask): Unconditionally define as a class.
1221 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
1222 HOST_BITS_PER_WIDE_INT.
1223
f7fec1c7 12242015-04-28 Tom de Vries <tom@codesourcery.com>
1225
1226 PR tree-optimization/65887
1227 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
1228
483b3d26 12292015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 1230 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 1231
1232 * c-ada-spec.c (in_function): Delete.
1233 (dump_generic_ada_node): Do not change in_function and remove the
1234 redundant code dealing with it.
1235 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
1236 (print_ada_methods): Output the static member functions in a nested
1237 package after the regular methods as well as associated renamings.
1238
f11bdffb 12392015-04-24 Marek Polacek <polacek@redhat.com>
1240
1241 PR c/65830
1242 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
1243 and OPT_Wshift_count_overflow.
1244
485f6b9c 1245 PR c/63357
1246 * c-common.c (warn_logical_operator): Warn if the operands have the
1247 same expressions.
1248
439606a9 12492015-04-24 Marek Polacek <polacek@redhat.com>
1250
1251 PR c/61534
1252 * c-common.c (warn_logical_operator): Bail if either operand comes
1253 from a macro expansion.
1254
de801c28 12552015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1256
1257 PR target/55143
1258 * c-common.c (c_default_pointer_mode): Add definition.
1259 * c-common.h (c_default_pointer_mode): Add declaration.
1260
76738f56 12612015-03-11 Jakub Jelinek <jakub@redhat.com>
1262
1263 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
1264 on record_builtin_type argument.
1265
16f958b3 12662015-03-10 Jakub Jelinek <jakub@redhat.com>
1267
1268 PR c/65120
1269 * c-common.c (warn_logical_not_parentheses): Don't warn for
1270 !x == 0 or !x != 0.
1271
9b22f73f 12722015-03-07 Marek Polacek <polacek@redhat.com>
1273
1274 PR sanitizer/65280
1275 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
1276 before trying to figure out whether we have a flexible array member.
1277
a864b7d4 12782015-03-06 Eric Botcazou <ebotcazou@adacore.com>
1279 Jonathan Wakely <jwakely.gcc@gmail.com>
1280
1281 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
1282
9bf8c90b 12832015-03-05 Eric Botcazou <ebotcazou@adacore.com>
1284
1285 PR ada/65319
1286 * c-ada-spec.c (print_destructor): Remove obsolete code.
1287
037ac54f 12882015-03-01 Eric Botcazou <ebotcazou@adacore.com>
1289
1290 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
1291 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
1292 DECL_TEMPLATE_RESULT emulations.
1293 (dump_ada_template)): Add guard for TYPE_METHODS.
1294
495cbfb8 12952015-02-27 Marek Polacek <polacek@redhat.com>
1296
1297 PR c/65040
1298 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
1299
688a864e 13002015-02-27 Kai Tietz <ktietz@redhat.com>
1301
1302 PR c/35330
1303 * c-pragma.c (handle_pragma_weak): Do not try to create
1304 weak/alias of declarations not being function, or variable
1305 declarations.
1306
6349b8cc 13072015-02-24 Thomas Schwinge <thomas@codesourcery.com>
1308
1309 PR libgomp/64625
1310 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1311 Remove macros.
1312 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
1313
3afd5369 13142015-02-16 Marek Polacek <polacek@redhat.com>
1315
1316 PR c/65066
1317 * c-format.c (check_format_types): Handle null param.
1318
46173d1b 13192015-02-13 Marek Polacek <polacek@redhat.com>
1320
1321 PR c/65040
1322 * c-format.c (check_format_types): Don't warn about different
1323 signedness if the original value is in the range of WANTED_TYPE.
1324
1d524ff7 13252015-02-12 Jason Merrill <jason@redhat.com>
1326
1327 PR c++/64956
1328 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
1329 to the current highest version.
1330 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
1331
bbf8fbec 13322015-02-04 Jakub Jelinek <jakub@redhat.com>
1333
1334 PR c/64824
1335 PR c/64868
1336 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
1337 instead of RDIV_EXPR. Use build_binary_op instead of
1338 build2_loc.
1339
c05be867 13402015-01-30 Joseph Myers <joseph@codesourcery.com>
1341
1342 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
1343 to pass input_location as first argument.
1344
85977647 13452015-01-23 Tom de Vries <tom@codesourcery.com>
1346
1347 PR libgomp/64672
1348 * c.opt (fopenacc): Mark as LTO option.
1349
fa175926 13502015-01-23 Tom de Vries <tom@codesourcery.com>
1351
1352 PR libgomp/64707
1353 * c.opt (fopenmp): Mark as LTO option.
1354
20aad5ba 13552015-01-21 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR c/63307
8204c077 1358 * cilk.c (fill_decls_vec): Only put decls into vector v.
20aad5ba 1359 (compare_decls): Fix up formatting.
1360
13612015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
1362
1363 PR c/63307
1364 * cilk.c: Include vec.h.
1365 (struct cilk_decls): New structure.
1366 (wrapper_parm_cb): Split this function to...
1367 (fill_decls_vec): ...this...
1368 (create_parm_list): ...and this.
1369 (compare_decls): New function.
1370 (for_local_cb): Remove.
1371 (wrapper_local_cb): Ditto.
1372 (build_wrapper_type): For now first traverse and fill vector of
1373 declarations then sort it and then deal with sorted vector.
1374 (cilk_outline): Ditto.
1375 (declare_one_free_variable): Ditto.
1376
60b77e28 13772015-01-21 Jason Merrill <jason@redhat.com>
1378
1379 PR c++/64629
1380 * c-format.c (check_format_arg): Call decl_constant_value.
1381
85fbea97 13822015-01-19 Martin Liska <mliska@suse.cz>
1383
1384 * c-common.c (handle_noicf_attribute): New function.
1385
ca4c3545 13862015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1387 Bernd Schmidt <bernds@codesourcery.com>
1388 James Norris <jnorris@codesourcery.com>
1389 Cesar Philippidis <cesar@codesourcery.com>
1390 Ilmir Usmanov <i.usmanov@samsung.com>
1391 Jakub Jelinek <jakub@redhat.com>
1392
1393 * c.opt (fopenacc): New option.
1394 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
1395 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
1396 New macros.
1397 * c-common.h (c_finish_oacc_wait): New prototype.
1398 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
1399 (c_finish_oacc_wait): New function.
1400 * c-pragma.c (oacc_pragmas): New variable.
1401 (c_pp_lookup_pragma, init_pragma): Handle it.
1402 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
1403 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
1404 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
1405 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
1406 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
1407 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
1408 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
1409 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
1410 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
1411 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
1412 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
1413 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
1414 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
1415 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
1416 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
1417 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
1418 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
1419 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
1420 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
1421 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
1422 PRAGMA_OACC_CLAUSE_WORKER.
1423
947aa916 14242015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
1425
1426 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1427 for the new option fstack-protector_explicit.
1428 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1429 (handle_stack_protect_attribute): New function.
1430
e4fd7af1 14312015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1432
1433 * c.opt: New option -Warray-bounds=.
1434
1f78217c 14352015-01-09 Michael Collison <michael.collison@linaro.org>
1436
1437 * array-notation-common.c: Include hash-set.h, machmode.h,
1438 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1439 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1440 * c-ada-spec.c: Ditto.
1441 * c-cilkplus.c: Ditto.
1442 * c-common.c: Include input.h due to flattening of tree.h.
1443 Define macro GCC_C_COMMON_C.
1444 * c-common.h: Flatten tree.h header files into c-common.h.
1445 Remove include of tree-core.h.
1446 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1447 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1448 fold-const.h, wide-int.h, and inchash.h due to
1449 flattening of tree.h.
1450 * c-dump.c: Ditto.
1451 * c-format.c: Flatten tree.h header files into c-common.h.
1452 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1453 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1454 fold-const.h, wide-int.h, and inchash.h due to
1455 flattening of tree.h.
1456 * c-dump.c: Include hash-set.h, machmode.h,
1457 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1458 fold-const.h, wide-int.h, and inchash.h due to
1459 flattening of tree.h.
1460 * c-format.c: Include hash-set.h, machmode.h,
1461 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1462 fold-const.h, wide-int.h, inchash.h and real.h due to
1463 flattening of tree.h.
1464 * c-gimplify.c: Include hash-set.h, machmode.h,
1465 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1466 fold-const.h, wide-int.h, and inchash.h due to
1467 flattening of tree.h.
1468 * cilk.c: Ditto.
1469 * c-lex.c: Ditto.
1470 * c-omp.c: Ditto.
1471 * c-opts.c: Ditto.
1472 * c-pch.c: Ditto.
1473 * c-ppoutput.c: Ditto.
1474 * c-pragma.c: Ditto.
1475 * c-pretty-print.c: Ditto.
1476 * c-semantics.c: Ditto.
1477 * c-ubsan.c: Ditto.
1478 * stub-objc.c: Ditto.
1479
411b7663 14802015-01-08 Jason Merrill <jason@redhat.com>
1481
1482 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1483 do_ubsan_in_current_function.
1484 (ubsan_maybe_instrument_reference_or_call): Likewise.
1485 * c-ubsan.h: Declare it.
1486
d1e96383 14872015-01-08 Mike Stump <mikestump@comcast.net>
1488
1489 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1490
b57910fa 14912015-01-07 Marek Polacek <polacek@redhat.com>
1492
1493 PR c/64440
1494 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1495 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1496
678a4e3e 14972015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1498
1499 PR c++/31397
1500 * c.opt (Wsuggest-override): New option.
1501
d353bf18 15022015-01-05 Jakub Jelinek <jakub@redhat.com>
1503
1504 Update copyright years.
1505
92b63884 15062015-01-05 Marek Polacek <polacek@redhat.com>
1507
1508 PR c/64423
1509 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1510 parameter. Use it.
1511 * c-common.h (warn_array_subscript_with_type_char): Update
1512 declaration.
1513
83715bc4 15142014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1515
1516 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1517 Control macro with flag_sized_deallocation.
1518
8a8211df 15192014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1520
1521 * c.opt (Wdiscarded-array-qualifiers): New option.
1522
33058239 15232014-12-19 Jakub Jelinek <jakub@redhat.com>
1524
1525 PR preprocessor/63831
1526 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1527 and __has_cpp_attribute here.
1528 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1529 c_common_has_attribute.
1530 * c-common.h (c_common_has_attribute): New prototype.
1531 * c-lex.c (init_c_lex): Set cb->has_attribute to
1532 c_common_has_attribute instead of cb_has_attribute.
1533 (get_token_no_padding): New function.
1534 (cb_has_attribute): Renamed to ...
1535 (c_common_has_attribute): ... this. No longer static. Use
1536 get_token_no_padding, require ()s, don't build TREE_LIST
1537 unnecessarily, fix up formatting, adjust diagnostics, call
1538 init_attributes.
1539
d1856d2c 15402014-12-15 Jason Merrill <jason@redhat.com>
1541
1542 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1543 (-Wsized-deallocation): New.
1544 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1545 to on in C++14 and up.
1546
4972ed5d 15472014-12-11 Jason Merrill <jason@redhat.com>
1548
7d7fa964 1549 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1550
4972ed5d 1551 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1552 we aren't complaining about VLAs.
1553
5ebccf71 15542014-12-06 Marek Polacek <polacek@redhat.com>
1555
1556 PR tree-optimization/64183
1557 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1558 shift-expression if it is integer_type_node. Use types_compatible_p.
1559
f9e245b2 15602014-11-29 Jakub Jelinek <jakub@redhat.com>
1561
1562 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1563 last argument from create_tmp_var_raw and create_tmp_var calls.
1564 * cilk.c (gimplify_cilk_spawn): Likewise.
1565 * c-omp.c (c_finish_omp_atomic): Likewise.
1566
d2f60593 15672014-11-28 Marek Polacek <polacek@redhat.com>
1568
1569 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1570 instead of unsigned_type_node.
1571
fce2dbd1 15722014-11-28 Marek Polacek <polacek@redhat.com>
1573
1574 PR c/63862
1575 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1576 to op1_utype.
1577 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1578 expression to unsigned_type_node.
1579
3a4a2292 15802014-11-20 Mark Wielaard <mjw@redhat.com>
1581
1582 PR debug/38757
1583 * c-opts.c (set_std_c89): Set lang_hooks.name.
1584 (set_std_c99): Likewise.
1585 (set_std_c11): Likewise.
1586 (set_std_cxx98): Likewise.
1587 (set_std_cxx11): Likewise.
1588 (set_std_cxx14): Likewise.
1589 (set_std_cxx1z): Likewise.
1590
c61ef207 15912014-11-21 Jakub Jelinek <jakub@redhat.com>
1592
1593 PR target/63764
1594 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1595 return type to bool.
c9ed79de 1596 * c-common.c: Include gimple-expr.h.
c61ef207 1597 (convert_vector_to_pointer_for_subscript): Change return type to
1598 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1599 and copy it into a TARGET_EXPR and use that instead of *vecp
1600 directly.
1601
1a91d914 16022014-11-19 David Malcolm <dmalcolm@redhat.com>
1603
1604 Merger of git branch "gimple-classes-v2-option-3".
1605 * ChangeLog.gimple-classes: New.
1606 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1607 from being just a vec<gimple> to a vec<gbind *>.
1608
f8fc8b8e 16092014-11-18 Jakub Jelinek <jakub@redhat.com>
1610
1611 PR sanitizer/63813
1612 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1613 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1614 get_pointer_alignment for non-pointers. Use ptype, or if it is
1615 reference type, corresponding pointer type, as type of kind
1616 argument.
1617 (ubsan_maybe_instrument_reference,
1618 ubsan_maybe_instrument_member_call): Adjust callers.
1619
8315e35e 16202014-11-15 Marek Polacek <polacek@redhat.com>
1621
1622 PR middle-end/63884
1623 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1624 for NULL fndecl.
1625 (extract_array_notation_exprs): Return for NULL node.
1626
86b9f14b 16272014-11-12 Joseph Myers <joseph@codesourcery.com>
1628
1629 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1630 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1631
0c93c8a9 16322014-11-12 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR c/59708
1635 * c-common.c (check_builtin_function_arguments): Handle
1636 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1637
fdd735a7 16382014-11-10 Andi Kleen <ak@linux.intel.com>
1639
1640 PR c/60804
1641 * c-common.h (check_no_cilk): Declare.
1642 * cilk.c (get_error_location): New function.
1643 (check_no_cilk): Dito.
1644
5cb678b4 16452014-11-10 Andi Kleen <ak@linux.intel.com>
1646
1647 * cilk.c (recognize_spawn): Use expression location
1648 for error message.
1649
0feb4de1 16502014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1651
1652 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1653
3aa2fa44 16542014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1655
1656 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1657 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1658 (__cpp_range_based_for, __cpp_initializer_lists,
1659 __cpp_delegating_constructors, __cpp_nsdmi,
1660 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1661 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1662 __has_cpp_attribute.
1663 * c-lex.c (cb_has_attribute): New callback CPP function;
1664 (init_c_lex): Set has_attribute callback.
1665
7fd22aae 16662014-11-04 Richard Biener <rguenther@suse.de>
1667
1668 * c-common.c (shorten_compare): Do not shorten mixed
1669 DFP and non-DFP compares.
1670
4af203ac 16712014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1672
1673 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1674 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1675 Commentary and rearrangement of tests.
1676 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1677 Commentary and rearrangement of tests.
1678 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1679 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1680
3754d046 16812014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1682
1683 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1684 enum from machine_mode.
1685
1140c305 16862014-10-28 Andrew MacLeod <amacleod@redhat.com>
1687
1f78217c 1688 * c-common.c: Adjust include files.
1689 * c-gimplify.c: Ditto.
1690 * cilk.c: Ditto.
1691 * c-pragma.c: Ditto.
1692 * c-ubsan.c: Ditto.
1140c305 1693
94ea8568 16942014-10-27 Andrew MacLeod <amacleod@redhat.com>
1695
1696 * c-gimplify.c: Adjust include files.
1697
32ecf960 16982014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1699
1700 PR c++/53061
1701 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1702 c_common_initialize_diagnostics.
1703 * c-common.h: Likewise.
1704
85fecbe2 17052014-10-24 Marek Polacek <polacek@redhat.com>
1706
1707 PR c/56980
1708 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1709 print "struct"/"union"/"enum" for typedefed names.
1710
e7ec033a 17112014-10-23 Marek Polacek <polacek@redhat.com>
1712
1713 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1714 in unsigned type.
1715
c2598081 17162014-10-22 Jakub Jelinek <jakub@redhat.com>
1717 Yury Gribov <y.gribov@samsung.com>
1718
1719 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1720 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1721 instead of flag_sanitize_recover as bool flag.
1722
acebb7e2 17232014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1724
1725 * cilk.c: Revert previous change.
1726
6115016c 17272014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1728
1729 PR c/63307
1730 * cilk.c: Include vec.h.
1731 (struct cilk_decls): New structure.
1732 (wrapper_parm_cb): Split this function to...
1733 (fill_decls_vec): ...this...
1734 (create_parm_list): ...and this.
1735 (compare_decls): New function.
1736 (for_local_cb): Remove.
1737 (wrapper_local_cb): Ditto.
1738 (build_wrapper_type): For now first traverse and fill vector of
1739 declarations then sort it and then deal with sorted vector.
1740 (cilk_outline): Ditto.
1741 (declare_one_free_variable): Ditto.
1742
e610d2b2 17432014-10-17 Marek Polacek <polacek@redhat.com>
1744
1745 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1746 * c.opt (Wimplicit-int): Initialize to -1.
1747
a3020f2f 17482014-10-16 Andrew MacLeod <amacleod@redhat.com>
1749
1750 * c-pragma.c: Adjust include files.
1751 * c-semantics.c: Likewise.
1752
926ddd2c 17532014-10-16 DJ Delorie <dj@redhat.com>
1754
1755 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1756 multiples of bytes.
1757
b0542e7c 17582014-10-14 Jason Merrill <jason@redhat.com>
1759
1760 PR c++/63455
1761 * c-common.h (CPP_PREPARSED_EXPR): New.
1762 (N_CP_TTYPES): Adjust.
1763
b2601928 17642014-10-15 Marek Polacek <polacek@redhat.com>
1765
1766 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1767
9f75f026 17682014-10-14 DJ Delorie <dj@redhat.com>
1769
1770 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1771 types, not just __int128.
1772 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1773 types, not just __int128.
1774 (cpp_atomic_builtins): Round pointer sizes up.
1775 (type_suffix): Use type precision, not specific types.
1776 * c-common.c (c_common_reswords): Remove __int128 special case.
1777 (c_common_type_for_size): Check for all __intN types, not just
1778 __int128.
1779 (c_common_type_for_mode): Likewise.
1780 (c_common_signed_or_unsigned_type): Likewise.
1781 (c_build_bitfield_integer_type): Likewise.
1782 (c_common_nodes_and_builtins): Likewise.
1783 (keyword_begins_type_specifier): Likewise.
1784 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1785 __intN variants.
1786
2ef51f0e 17872014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1788
1789 * c-common.c: Use hash_table instead of hashtab.
1790
5b8257e3 17912014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1792
1f78217c 1793 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 1794 C++11 section.
1795
5e84569c 17962014-10-03 Marc Glisse <marc.glisse@inria.fr>
1797
1798 PR c++/54427
1799 PR c++/57198
1800 PR c++/58845
1801 * c-common.c (warn_logical_operator): Punt for vectors.
1802
f6751ff2 18032014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1804
1805 Implement SD-6: SG10 Feature Test Recommendations
1806 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1807 macros and the __has_header macro.
1808
c33e051d 18092014-09-30 Jason Merrill <jason@redhat.com>
1810
f76a9aa8 1811 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1812 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1813 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1814
717e52f9 1815 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1816 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1817
c33e051d 1818 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1819 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1820
5213d6c9 18212014-09-24 Marek Polacek <polacek@redhat.com>
1822
1823 PR c/61405
1824 PR c/53874
1825 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1826
6b722052 18272014-09-23 Andi Kleen <ak@linux.intel.com>
1828
1829 * c-common.c (handle_no_reorder_attribute): New function.
1830 (c_common_attribute_table): Add no_reorder attribute.
1831
0cb69d12 18322014-09-22 Joseph Myers <joseph@codesourcery.com>
1833
1834 * c-cppbuiltin.c (c_cpp_builtins): Define
1835 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1836 modes.
1837
168dfbf0 18382014-09-18 Joseph Myers <joseph@codesourcery.com>
1839
1840 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1841 for supported floating-point modes.
1842
b83705f4 18432014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1844
1845 * c.opt (Wpsabi): Use LangEnabledBy.
1846 * c-opts.c (c_common_handle_option): Do not handle here.
1847
d5957f0d 18482014-09-12 Joseph Myers <joseph@codesourcery.com>
1849
1850 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1851 macros for floating-point modes.
1852
bae6edff 18532014-09-11 Marc Glisse <marc.glisse@inria.fr>
1854
1855 PR target/58757
1856 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1857 __*_DENORM_MIN__ without denormals.
1858
73a69d02 18592014-09-10 Jakub Jelinek <jakub@redhat.com>
1860
1861 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1862 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1863 ubsan_create_data callers.
1864 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1865 index is constant or BIT_AND_EXPR with constant mask and is
1866 small enough for the bound.
1867 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1868 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1869
7ff8db31 18702014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1871
1872 * c.opt: Add CppReason to various flags.
1873 (Wdate-time): Re-sort.
1874 * c-common.c: Include c-common.h earlier.
1875 (struct reason_option_codes_t): Delete.
1876 (c_option_controlling_cpp_error): Prefix global type and struct
1877 with cpp_.
1878
bcc1f37e 18792014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1880
1881 * c.opt (Wnormalized): New.
1882 (Wnormalized=): Use Enum and Reject Negative.
1883 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1884
b660d3c6 18852014-09-08 Joseph Myers <joseph@codesourcery.com>
1886
1887 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1888 digits of floating-point modes if -fbuilding-libgcc.
1889
325b8c3c 18902014-09-05 Joseph Myers <joseph@codesourcery.com>
1891
1892 * c-cppbuiltin.c (c_cpp_builtins): Also define
1893 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1894 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1895 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1896 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1897 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1898 __LIBGCC_STACK_GROWS_DOWNWARD__,
1899 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1900 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1901 __LIBGCC_DWARF_FRAME_REGISTERS__,
1902 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1903 __LIBGCC_STACK_POINTER_REGNUM__ and
1904 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1905 (builtin_define_with_value): Handle backslash-escaping in string
1906 macro values.
1907
1e074e77 19082014-09-05 Richard Biener <rguenther@suse.de>
1909
1910 PR middle-end/63148
1911 * c-format.c (check_format_arg): Properly handle
1912 effectively signed POINTER_PLUS_EXPR offset.
1913
04afd878 19142014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1915
1916 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1917 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1918 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1919 and Init.
1920 * c-opts.c (c_common_handle_option): Do not handle here.
1921 (sanitize_cpp_opts): Likewise.
1922 * c-common.c (struct reason_option_codes_t): Handle
1923 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1924
a3f448f0 19252014-09-03 Marek Polacek <polacek@redhat.com>
1926
1927 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1928
40750995 19292014-09-02 Jakub Jelinek <jakub@redhat.com>
1930 Balaji V. Iyer <balaji.v.iyer@intel.com>
1931 Igor Zamyatin <igor.zamyatin@intel.com>
1932
1933 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1934 * c-common.c (c_common_reswords): Added _Cilk_for.
1935 * c-common.h (enum rid): Added RID_CILK_FOR.
1936 (cilk_for_number_of_iterations): Add declaration.
1937 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1938 CILK_FOR.
1939 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1940 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1941
f0fbe519 19422014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1943
1944 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1945 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1946 Wundef): Use CPP, Var and Init.
1947 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1948
a7d2e480 19492014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1950
1951 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1952 * c-opts.c (c_common_handle_option): Do not handle here.
1953
c35e53f1 19542014-08-25 Jason Merrill <jason@redhat.com>
1955
1956 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1957 -std=c++14 and -std=gnu++14, rather than the reverse.
1958 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1959 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1960 * c-common.h (cxx_dialect): Remove cxx1y.
1961
4e454776 19622014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1963
1964 * c-common.h (enum cxx_dialect): Add cxx14.
1965 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1966 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1967 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1968
af1a80f2 19692014-08-22 Jason Merrill <jason@redhat.com>
1970
1971 * c.opt (std=gnu++17): Fix alias.
1972
dc6229e8 19732014-08-22 Marek Polacek <polacek@redhat.com>
1974
1975 PR c++/62199
1976 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1977 check for vector types. Drop LHS argument.
1978 * c-common.h (warn_logical_not_parentheses): Adjust.
1979
ba7f7c88 19802014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1981
1982 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1983 (Wmultichar): Likewise.
1984 (Wdate-time): Use C-family languages instead of Common. Use CPP
1985 and Var.
1986 * c-opts.c (c_common_handle_option): Do not handle the above
1987 options here.
1988 (sanitize_cpp_opts): Likewise.
1989
399d4f80 19902014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1991
1992 PR fortran/44054
1993 * c-opts.c: Include tree-diagnostics.h.
1994 (c_diagnostic_finalizer): New.
1995 (c_common_initialize_diagnostics): Use it.
1996
1babed5f 19972014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1998
1999 PR preprocessor/51303
2000 * c-common.c (struct reason_option_codes_t option_codes):
2001 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
2002
3636964b 20032014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2004
2005 PR c/60975
2006 PR c/53063
2007 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
2008 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
2009 (c_common_post_options): Call init_global_opts_from_cpp.
2010 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
2011
78bf4156 20122014-08-19 Marek Polacek <polacek@redhat.com>
2013
2014 PR c++/62153
2015 * c-common.c (maybe_warn_bool_compare): New function.
2016 * c-common.h (maybe_warn_bool_compare): Declare.
2017 * c.opt (Wbool-compare): New option.
2018
508ea33a 20192014-08-19 Marek Polacek <polacek@redhat.com>
2020
2021 * c.opt (Wc99-c11-compat): New option.
2022
806fe15e 20232014-08-19 Marek Polacek <polacek@redhat.com>
2024
2025 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
2026 to warn_c90_c99_compat.
2027 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
2028 to -1.
2029
6c867de1 20302014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
2031 Steven Bosscher <steven@gcc.gnu.org>
2032
2033 PR c/52952
2034 * c-format.c: Add extra_arg_loc and format_string_loc to struct
2035 format_check_results.
2036 (check_function_format): Use true and add comment for boolean
2037 argument.
2038 (finish_dollar_format_checking): Use explicit location when warning.
2039 (check_format_info): Likewise.
2040 (check_format_arg): Set extra_arg_loc and format_string_loc.
2041 (check_format_info_main): Use explicit location when warning.
2042 (check_format_types): Pass explicit location.
2043 (format_type_warning): Likewise.
2044
dc8078a3 20452014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2046
2047 PR fortran/44054
2048 * c-format.c: Handle Fortran flags.
2049
d271ec7e 20502014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
2051
2052 PR other/61962
2053 * array-notation-common.c (find_rank): Added handling for other
2054 types of references.
2055
890c2e2f 20562014-08-10 Marek Polacek <polacek@redhat.com>
2057
2058 PR c/51849
2059 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
2060 * c.opt (Wc90-c99-compat): Add option.
2061
7149db5f 20622014-08-07 Trevor Saunders <tsaunders@mozilla.com>
2063
2064 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
2065
2d2f6a15 20662014-08-03 Marek Polacek <polacek@redhat.com>
2067
2068 * c-common.c (check_case_value): Add location_t parameter. Use it.
2069 (c_add_case_label): Pass loc to check_case_value.
2070
06ecf488 20712014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2072
2073 * cilk.c: Use hash_map instead of pointer_map.
2074
431205b7 20752014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2076
2077 * c-gimplify.c: Use hash_set instead of pointer_set.
2078
3394c80c 20792014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2080
2081 PR middle-end/61455
2082 * array-notation-common.c (extract_array_notation_exprs): Handling
2083 of DECL_EXPR added.
2084
392dee1e 20852014-08-01 Jakub Jelinek <jakub@redhat.com>
2086
2087 * c-common.h (min_align_of_type): Removed prototype.
2088 * c-common.c (min_align_of_type): Removed.
2089 * c-ubsan.h (ubsan_maybe_instrument_reference,
2090 ubsan_maybe_instrument_member_call): New prototypes.
2091 * c-ubsan.c: Include stor-layout.h and builtins.h.
2092 (ubsan_maybe_instrument_reference_or_call,
2093 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
2094 functions.
2095
f22a2cb7 20962014-07-31 Marc Glisse <marc.glisse@inria.fr>
2097
2098 PR c++/60517
2099 * c.opt (-Wreturn-local-addr): Move to common.opt.
2100
87b0198f 21012014-07-30 Jason Merrill <jason@redhat.com>
2102
2103 PR c++/61659
2104 PR c++/61687
2105 Revert:
2106 * c.opt (-fuse-all-virtuals): New.
2107
74691f46 21082014-07-30 Tom Tromey <tromey@redhat.com>
2109
2110 PR c/59855
2111 * c.opt (Wdesignated-init): New option.
2112 * c-common.c (c_common_attribute_table): Add "designated_init".
2113 (handle_designated_init): New function.
2114
9140d56f 21152014-07-24 Marek Polacek <polacek@redhat.com>
2116
2117 PR c/57653
2118 * c-opts.c (c_finish_options): If -imacros is in effect, return.
2119
a09c5cc2 21202014-07-16 Dodji Seketeli <dodji@redhat.com>
2121
2122 PR preprocessor/60723 - missing system-ness marks for macro tokens
2123 * c-ppoutput.c (struct print::prev_was_system_token): New data
2124 member.
2125 (init_pp_output): Initialize it.
2126 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
2127 (do_line_change): Return a flag saying if a line marker was
2128 emitted or not.
2129 (scan_translation_unit): Detect if the system-ness of the token we
2130 are about to emit is different from the one of the previously
2131 emitted token. If so, emit a line marker. Avoid emitting useless
2132 adjacent line markers. Avoid emitting line markers for tokens
2133 originating from the expansion of built-in macros.
2134 (scan_translation_unit_directives_only): Adjust.
2135
2b25b62f 21362014-07-15 Marek Polacek <polacek@redhat.com>
2137
2138 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
2139 TYPE_MAX_VALUE is NULL.
2140
305d96bc 21412014-07-14 Jakub Jelinek <jakub@redhat.com>
2142
2143 PR middle-end/61294
2144 * c.opt (Wmemset-transposed-args): New warning.
2145
8ea4660d 21462014-07-10 Jason Merrill <jason@redhat.com>
2147
2148 PR c++/61659
2149 PR c++/61687
2150 * c.opt (-fuse-all-virtuals): New.
2151
cd480f3d 21522014-07-09 Richard Biener <rguenther@suse.de>
2153
2154 PR c-family/61741
2155 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2156 using unsigned arithmetic if overflow does not wrap instead of
2157 if overflow is undefined.
2158
87d59e72 21592014-07-06 Marek Polacek <polacek@redhat.com>
2160
2161 PR c/6940
2162 * c.opt (Wsizeof-array-argument): New option.
2163
d69521d8 21642014-07-03 Jakub Jelinek <jakub@redhat.com>
2165
8204c077 2166 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
d69521d8 2167 comments->count <= 1, as comments->entries might be NULL.
2168
1207866e 21692014-07-01 Marek Polacek <polacek@redhat.com>
2170
2171 * c.opt (Wint-conversion): New option.
2172
7a6bbb76 21732014-07-01 Marek Polacek <polacek@redhat.com>
2174
2175 PR c/58286
2176 * c.opt (Wincompatible-pointer-types): New option.
2177
9d4eeb52 21782014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
2179
2180 PR c++/51400
2181 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
2182 Do not discard TYPE_QUALS of type.
2183
4b53bc0f 21842014-06-26 Jason Merrill <jason@redhat.com>
2185
2186 * c-common.h (enum cxx_dialect): Add cxx1z.
2187 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
2188 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
2189
a8a8d4ea 21902014-06-26 Teresa Johnson <tejohnson@google.com>
2191
2192 * c-common.h (get_dump_info): Declare.
2193 * c-gimplify.c (c_genericize): Use saved dump files.
2194 * c-opts.c (c_common_parse_file): Begin and end dumps
2195 once around parsing invocation.
2196 (get_dump_info): New function.
2197
1f6be080 21982014-06-23 Marek Polacek <polacek@redhat.com>
2199 Andrew MacLeod <amacleod@redhat.com>
2200
2201 PR c/61553
2202 * c-common.c (get_atomic_generic_size): Don't segfault if the
2203 type doesn't have a size.
2204
5ef6b660 22052014-06-20 Marek Polacek <polacek@redhat.com>
2206
2207 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
2208 (ubsan_walk_array_refs_r): New function.
2209 (c_genericize): Instrument array bounds.
2210 * c-ubsan.c: Include "internal-fn.h".
2211 (ubsan_instrument_division): Mark instrumented arrays as having
2212 side effects. Adjust ubsan_type_descriptor call.
2213 (ubsan_instrument_shift): Likewise.
2214 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
2215 (ubsan_instrument_bounds): New function.
2216 (ubsan_array_ref_instrumented_p): New function.
2217 (ubsan_maybe_instrument_array_ref): New function.
2218 * c-ubsan.h (ubsan_instrument_bounds): Declare.
2219 (ubsan_array_ref_instrumented_p): Declare.
2220 (ubsan_maybe_instrument_array_ref): Declare.
2221
22222014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 2223
2224 PR lto/61123
2225 * c.opt (fshort-enums): Add to LTO.
2226 * c.opt (fshort-wchar): Likewise.
2227
78438f31 22282014-06-16 Marek Polacek <polacek@redhat.com>
2229
2230 PR c/60439
2231 * c.opt (Wswitch-bool): Add Var.
2232
5fddcf34 22332014-06-12 Jakub Jelinek <jakub@redhat.com>
2234
2235 PR middle-end/61486
2236 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
2237 #pragma omp target teams or
2238 #pragma omp {,target }teams distribute simd.
2239
74b777e5 22402014-06-12 Jason Merrill <jason@redhat.com>
2241
2242 * c.opt (Wabi=, fabi-compat-version): New.
2243 * c-opts.c (c_common_handle_option): Handle -Wabi=.
2244 (c_common_post_options): Handle flag_abi_compat_version default.
2245 Disallow -fabi-compat-version=1.
2246 * c-common.h (abi_version_crosses): New.
2247
738a6bda 22482014-06-11 Jan Hubicka <hubicka@ucw.cz>
2249
1f78217c 2250 * c-common.c (handle_section_attribute): Update handling for
738a6bda 2251 section names that are no longer trees.
2252
cf5f881f 22532014-06-10 Jakub Jelinek <jakub@redhat.com>
2254
2255 PR fortran/60928
2256 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
2257 (omp_pragmas): ... back here.
2258
32dc1512 22592014-06-05 Marek Polacek <polacek@redhat.com>
2260
2261 PR c/49706
2262 * c-common.c (warn_logical_not_parentheses): New function.
2263 * c-common.h (warn_logical_not_parentheses): Declare.
2264 * c.opt (Wlogical-not-parentheses): New option.
2265
f61a9bc2 22662014-06-04 Marek Polacek <polacek@redhat.com>
2267
2268 PR c/30020
2269 * c-common.c (check_case_bounds): Add location parameter.
2270 Use it.
2271 (c_add_case_label): Pass loc to check_case_bounds.
2272
c69ec07d 22732014-06-03 Marek Polacek <polacek@redhat.com>
2274
2275 PR c/60439
2276 * c.opt (Wswitch-bool): New option.
2277
3c77ca67 22782014-05-22 Thomas Schwinge <thomas@codesourcery.com>
2279
68a2c870 2280 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
2281 Remove prototypes.
2282 (record_types_used_by_current_var_decl): Move prototype to where
2283 it belongs.
2284
3c77ca67 2285 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
2286 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
2287 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
2288
3ab4693e 22892014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2290
2291 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
2292 * c-common.c (c_common_nodes_and_builtins): Don't initialize
2293 void_zero_node.
2294 * c-pretty-print.c (pp_c_void_constant): New function.
2295 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
2296 (c_pretty_printer::expression): Handle VOID_CST.
2297 * cilk.c (extract_free_variables): Likewise.
2298 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
2299 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
2300
25a27413 23012014-05-17 Trevor Saunders <tsaunders@mozilla.com>
2302
2303 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
2304 * c-pragma.c (push_alignment): Adjust.
2305 (handle_pragma_push_options): Likewise.
2306
3e5a8b00 23072014-05-09 Marek Polacek <polacek@redhat.com>
2308
2309 PR c/50459
2310 * c-common.c (check_user_alignment): Return -1 if alignment is error
2311 node.
2312 (handle_aligned_attribute): Don't call default_conversion on
2313 FUNCTION_DECLs.
2314 (handle_vector_size_attribute): Likewise.
2315 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
2316 (handle_sentinel_attribute): Call default_conversion and allow even
2317 integral types as an argument.
2318
c2c4ae8d 23192014-05-08 Marek Polacek <polacek@redhat.com>
2320
2321 PR c/61053
2322 * c-common.c (min_align_of_type): New function factored out from...
2323 (c_sizeof_or_alignof_type): ...here.
2324 * c-common.h (min_align_of_type): Declare.
2325
2026249a 23262014-05-08 Marek Polacek <polacek@redhat.com>
2327
2328 PR c/61077
2329 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
2330 parameter type of main.
2331
33c8dcfe 23322014-05-07 DJ Delorie <dj@redhat.com>
2333
2334 * c-cppbuiltin.c (print_bits_of_hex): New.
2335 (builtin_define_type_minmax): Print values using hex so as not to
2336 require a pre-computed list of string values.
2337
960d5a55 23382014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
2339 Mike Stump <mikestump@comcast.net>
2340 Richard Sandiford <rdsandiford@googlemail.com>
2341
2342 * c-ada-spec.c: Include wide-int.h.
2343 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
2344 (dump_generic_ada_node): Use wide-int interfaces.
2345 * c-common.c: Include wide-int-print.h.
2346 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
2347 (pointer_int_sum): Use wide-int interfaces.
2348 (c_common_nodes_and_builtins): Use make_int_cst.
2349 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
2350 (handle_alloc_size_attribute): Use wide-int interfaces.
2351 (get_nonnull_operand): Likewise.
2352 * c-format.c (get_constant): Use tree_fits_uhwi_p.
2353 * c-lex.c: Include wide-int.h.
2354 (narrowest_unsigned_type): Take a widest_int rather than two
2355 HOST_WIDE_INTs.
2356 (narrowest_signed_type): Likewise.
2357 (interpret_integer): Update accordingly. Use wide-int interfaces.
2358 (lex_charconst): Use wide-int interfaces.
2359 * c-pretty-print.c: Include wide-int.h.
2360 (pp_c_integer_constant): Use wide-int interfaces.
2361 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
2362 INT_CST_LT_UNSIGNED.
2363
bbb88b31 23642014-05-06 Richard Biener <rguenther@suse.de>
2365
2366 * c-opts.c (c_common_post_options): For -freestanding,
2367 -fno-hosted and -fno-builtin disable pattern recognition
2368 if not enabled explicitely.
2369
022d4718 23702014-05-02 Marek Polacek <polacek@redhat.com>
2371
2372 * c.opt (Wsizeof-pointer-memaccess): Describe option.
2373
e4ab2ef3 23742014-05-01 Marek Polacek <polacek@redhat.com>
2375
2376 PR c/43245
2377 * c.opt (Wdiscarded-qualifiers): Add.
2378
52cc0072 23792014-04-30 Marek Polacek <polacek@redhat.com>
2380
2381 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
2382 INT_MIN / -1 sanitization only for integer types.
2383
4a026b48 23842014-04-25 Marek Polacek <polacek@redhat.com>
2385
2386 PR c/18079
2387 * c-common.c (handle_noinline_attribute): Warn if the attribute
2388 conflicts with always_inline attribute.
2389 (handle_always_inline_attribute): Warn if the attribute conflicts
2390 with noinline attribute.
2391
90e645fa 23922014-04-25 Marek Polacek <polacek@redhat.com>
2393
2394 PR c/60156
2395 * c-common.c (check_main_parameter_types): Warn about variadic main.
2396
db103ea4 23972014-04-24 Mike Stump <mikestump@comcast.net>
2398
2399 * c.opt (Wshadow-ivar): Default to on.
2400
06511efd 24012014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
2402
2403 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
2404
cdf34fca 24052014-04-23 Marek Polacek <polacek@redhat.com>
2406
2407 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
2408
7311d7c1 24092014-04-22 Jakub Jelinek <jakub@redhat.com>
2410
2411 PR sanitizer/60275
2412 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
2413 if flag_sanitize_undefined_trap_on_error.
2414 (ubsan_instrument_division, ubsan_instrument_shift,
2415 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
2416 if !flag_sanitize_recover.
2417
c1917557 24182014-04-22 Marc Glisse <marc.glisse@inria.fr>
2419
2420 PR libstdc++/43622
2421 * c-common.c (registered_builtin_types): Make non-static.
2422 * c-common.h (registered_builtin_types): Declare.
2423
b2ca6510 24242014-04-14 Richard Biener <rguenther@suse.de>
2425 Marc Glisse <marc.glisse@inria.fr>
2426
2427 PR c/60819
2428 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2429 apply may-alias the scalar pointer type when applicable.
2430
855372a3 24312014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2432
2433 PR middle-end/60467
2434 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2435 as possible argument for Cilk_spawn.
2436
4012a986 24372014-04-11 Tobias Burnus <burnus@net-b.de>
2438
2439 PR c/60194
2440 * c.opt (Wformat-signedness): Add
2441 * c-format.c(check_format_types): Use it.
2442
0d284870 24432014-04-11 Jason Merrill <jason@redhat.com>
2444
2445 PR c++/57926
2446 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2447 default_conversion for an array argument.
2448
a34c1231 24492014-04-08 Marek Polacek <polacek@redhat.com>
2450
2451 PR sanitizer/60745
2452 * c-ubsan.c: Include asan.h.
2453 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2454
a35a8e18 24552014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2456
2457 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2458
b23e42b6 24592014-04-02 Marek Polacek <polacek@redhat.com>
2460
2461 * c-common.h (c_expand_expr): Remove declaration.
2462
5a672e62 24632014-03-28 Jakub Jelinek <jakub@redhat.com>
2464
2465 PR c++/60689
2466 * c-common.c (add_atomic_size_parameter): When creating new
2467 params vector, push the size argument first.
2468
d4d068c0 24692014-03-26 Jakub Jelinek <jakub@redhat.com>
2470
2471 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2472 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2473 ubsan_create_data callers.
2474
446bdf5f 24752014-03-22 Jakub Jelinek <jakub@redhat.com>
2476
2477 PR debug/60603
2478 * c-opts.c (c_finish_options): Restore cb_file_change call to
2479 <built-in>.
2480
8895f0a3 24812014-03-13 Jakub Jelinek <jakub@redhat.com>
2482
2483 PR middle-end/36282
2484 * c-pragma.c (apply_pragma_weak): Only look at
2485 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2486 DECL_ASSEMBLER_NAME_SET_P (decl).
2487 (maybe_apply_pending_pragma_weaks): Exit early if
2488 vec_safe_is_empty (pending_weaks) rather than only when
2489 !pending_weaks.
2490 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2491 set assembler name back to NULL afterwards.
2492
7a5da2cd 24932014-03-11 Jason Merrill <jason@redhat.com>
2494
2495 * c.opt: Add -std=gnu++14.
2496
95093889 24972014-03-11 Ian Bolton <ian.bolton@arm.com>
2498
2499 * c-opts.c (c_common_post_options): Don't override
2500 -ffp-contract=fast if unsafe-math-optimizations is on.
2501
c9a24b37 25022014-03-08 Paulo Matos <paulo@matos-sorge.com>
2503
2504 * c.opt: Enable LTO FE for fshort-double.
2505
3f6dba6e 25062014-03-07 Jason Merrill <jason@redhat.com>
2507
2508 * c.opt: Add -std=c++14.
2509
3bfdc94f 25102014-03-06 Marek Polacek <polacek@redhat.com>
2511
2512 PR c/60197
2513 * cilk.c (contains_cilk_spawn_stmt): New function.
2514 (contains_cilk_spawn_stmt_walker): Likewise.
2515 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2516 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2517
8b3a6a4c 25182014-03-03 Jakub Jelinek <jakub@redhat.com>
2519
2520 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2521 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2522 even when flag_preprocess_only.
2523
734ec290 25242014-02-26 Jason Merrill <jason@redhat.com>
2525
2526 PR c++/59231
2527 PR c++/11586
2528 * c-common.c (shorten_compare): Don't check
2529 c_inhibit_evaluation_warnings.
2530
81aec8b8 25312014-02-19 Jakub Jelinek <jakub@redhat.com>
2532
d1081017 2533 PR c/37743
2534 * c-common.c (c_common_nodes_and_builtins): When initializing
2535 c_uint{16,32,64}_type_node, also set corresponding
2536 uint{16,32,64}_type_node to the same value.
2537
81aec8b8 2538 PR c++/60267
2539 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2540 for PRAGMA_IVDEP if flag_preprocess_only.
2541
312243bb 25422014-02-12 Jakub Jelinek <jakub@redhat.com>
2543
2544 PR c/60101
2545 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2546 if false, add ADD itself, rather than vice versa.
2547 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2548 copy. For SAVE_EXPR, only call merge_tlist once.
2549
237e78b1 25502014-02-08 Jakub Jelinek <jakub@redhat.com>
2551
2552 PR middle-end/60092
2553 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2554 and tree_to_uhwi.
2555 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2556 functions.
2557 (c_common_attribute_table): Add alloc_align and assume_aligned
2558 attributes.
2559
76fdceeb 25602014-02-06 Marek Polacek <polacek@redhat.com>
2561
2562 PR c/60087
2563 * c-common.c (warn_for_sign_compare): Call warning_at with location
2564 instead of warning.
2565
4a4dea42 25662014-02-05 Marek Polacek <polacek@redhat.com>
2567
2568 PR c/53123
2569 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2570 statement.
2571
ec704957 25722014-02-04 Marek Polacek <polacek@redhat.com>
2573
2574 PR c/60036
2575 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2576 SAVE_EXPR.
2577
caf62483 25782014-02-03 Marc Glisse <marc.glisse@inria.fr>
2579
2580 PR c++/53017
2581 PR c++/59211
2582 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2583 handle_vector_size_attribute, handle_nonnull_attribute): Call
2584 default_conversion on the attribute argument.
2585 (handle_nonnull_attribute): Increment the argument number.
2586
ec761d5a 25872014-01-31 Marek Polacek <polacek@redhat.com>
2588
2589 PR c/59963
2590 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2591 build_function_call_vec.
2592 (resolve_overloaded_builtin): Likewise.
2593 * c-common.h (build_function_call_vec): Adjust declaration.
2594
22a75734 25952014-01-30 Marek Polacek <polacek@redhat.com>
2596
2597 PR c/59940
2598 * c-common.h (unsafe_conversion_p): Adjust declaration.
2599 (warnings_for_convert_and_check): Likewise.
2600 (convert_and_check): Likewise.
2601 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2602 expansion_point_location_if_in_system_header on it.
2603 (warnings_for_convert_and_check): Add location parameter. Call
2604 expansion_point_location_if_in_system_header on it. Use it.
2605 (convert_and_check): Add location parameter. Use it.
2606 (conversion_warning): Likewise.
2607 (c_add_case_label): Adjust convert_and_check calls.
2608 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2609
a89e6c15 26102014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2611
2612 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2613 flag_cilkplus.
2614 * c-pragma.c (init_pragma): Likewise.
2615 * c.opt: Likewise.
2616
2623625f 26172014-01-23 Marek Polacek <polacek@redhat.com>
2618
2619 PR c/59846
2620 * c-common.c (shorten_compare): Add location_t parameter.
2621 * c-common.h (shorten_binary_op): Adjust declaration.
2622
46da3601 26232014-01-23 Marek Polacek <polacek@redhat.com>
2624
2625 PR c/58346
2626 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2627 * c-common.h: Declare it.
2628
c9743c6a 26292014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2630
2631 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2632 * c-ada-spec.c (dump_ads): Likewise.
2633 (cpp_check): Likewise.
2634 (dump_ada_specs): Likewise.
2635
26362014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 2637
2638 PR c++/49718
2639 * c-common.c (handle_no_instrument_function_attribute): Allow
2640 no_instrument_function attribute in class member
2641 definition/declaration.
2642
1248c663 26432014-01-15 Jakub Jelinek <jakub@redhat.com>
2644
2645 PR c/58943
2646 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2647 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2648 being COMPOUND_EXPR.
2649 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2650 operand a SAVE_EXPR and second MODIFY_EXPR.
2651
6e5c480b 26522014-01-09 Jakub Jelinek <jakub@redhat.com>
2653
2654 PR target/58115
2655 * c-pch.c (c_common_write_pch): Call
2656 prepare_target_option_nodes_for_pch.
2657
3aea1f79 26582014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2659
2660 Update copyright years
2661
e4f22041 26622014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2663
2664 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2665 the copyright notice.
2666
7fb0fe24 26672013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2668
2669 * c-ada-spec.c (print_constructor): New function.
2670 (print_destructor): Retrieve the origin of the destructor.
2671 (print_ada_declaration): Revamp handling of constructors/destructors.
2672
468088ac 26732013-12-23 Stuart Hastings <stuart@apple.com>
2674 Bill Maddox <maddox@google.com>
2675 Jason Merrill <jason@redhat.com>
2676
2677 * c.opt: Add -fdeclone-ctor-dtor.
2678 * c-opts.c (c_common_post_options): Default to on iff -Os.
2679
74acc703 26802013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2681
2682 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2683 attribute.
2684 * c-pragma.h (enum pragma_cilk_clause): Remove.
2685 (enum pragma_omp_clause): Added the following fields:
2686 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2687 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2688 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2689 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2690 PRAGMA_CILK_CLAUSE_UNIFORM.
2691
8204c077 2692
433e804e 26932013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2694
2695 * cilk.c (cilk_outline): Made this function non-static.
2696 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2697 (create_cilk_wrapper): Added a new parameter: a function pointer.
2698 (c_install_body_w_frame_cleanup): Remove
2699 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2700 * c-common.h (cilk_outline): New prototype.
2701 (gimplify_cilk_spawn): Removed two parameters.
2702 (cilk_install_body_with_frame_cleanup): New prototype.
2703 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2704 CILK_SPAWN_STMT case.
2705
5bcc7e60 27062013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2707
e66325ea 2708 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2709
5bcc7e60 2710 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2711 (int_array_type_node): Remove.
2712 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2713
0b26ec77 27142013-12-05 Marek Polacek <polacek@redhat.com>
2715
2716 PR c/52023
2717 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2718 [ADJUST_FIELD_ALIGN].
2719
a179a7dc 27202013-12-04 Joseph Myers <joseph@codesourcery.com>
2721
2722 PR c/52023
2723 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2724 and check field alignment if set.
2725 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2726 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2727
8204c077 27282013-12-04 Jakub Jelinek <jakub@redhat.com>
137559b2 2729 Marek Polacek <polacek@redhat.com>
2730
2731 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2732 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2733
648fd348 27342013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2735
2736 PR c/59309
2737 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2738 arguments.
2739
253e1cae 27402013-11-29 Jakub Jelinek <jakub@redhat.com>
2741
2742 PR c/59280
2743 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2744 goto invalid. If it is error_mark_node, don't issue further
2745 diagnostics.
2746
3e398f5b 27472013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2748
2749 * c.opt (Wopenmp-simd): New.
2750
020bc656 27512013-11-22 Jakub Jelinek <jakub@redhat.com>
2752
2753 * c-ubsan.h (ubsan_instrument_return): New prototype.
2754 * c-ubsan.c (ubsan_instrument_return): New function.
2755
bc61cadb 27562013-11-22 Andrew MacLeod <amacleod@redhat.com>
2757
2758 * c-common.c: Add required include files from gimple.h.
2759 * c-gimplify.c: Likewise
2760 * cilk.c: Likewise
2761
3df42822 27622013-11-22 David Malcolm <dmalcolm@redhat.com>
2763
2764 * c-common.c (unsafe_conversion_p): Remove use of
2765 EXPR_LOC_OR_HERE macro.
2766 (conversion_warning): Likewise.
2767 (warnings_for_convert_and_check): Likewise.
2768 (warn_for_collisions_1): Likewise.
2769 (shorten_compare): Likewise, and remove use of in_system_header
2770 macro, using the location from the former.
2771 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2772 (cb_def_pragma): Remove use of in_system_header macro.
2773 (lex_string): Likewise.
2774 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2775
8c53c46c 27762013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2777 Mike Stump <mikestump@comcast.net>
2778 Richard Sandiford <rdsandiford@googlemail.com>
2779
2780 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2781 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2782 tree_fits_shwi_p or tree_fits_uhwi_p.
2783 (dump_generic_ada_node): Likewise.
2784 * c-format.c (check_format_arg): Likewise.
2785 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2786
5200ef07 27872013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2788
2789 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2790
ca9d7d74 27912013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2792
2793 PR c/53001
2794 * c-common.c (unsafe_conversion_p): Make this function
2795 return an enumeration with more detail.
2796 (conversion_warning): Use the new return type of
2797 unsafe_conversion_p to separately warn either about conversions
2798 that lower floating point number precision or about the other
2799 kinds of conversions.
2800 * c-common.h (enum conversion_safety): New enumeration.
2801 (unsafe_conversion_p): switching return type to
2802 conversion_safety enumeration.
2803 * c.opt: Adding new warning -Wfloat-conversion and
2804 enabling it with -Wconversion.
2805
0391a567 28062013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2807
2808 * c-opts.c: Include plugin.h.
2809 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2810
19b928d9 28112013-11-19 Marek Polacek <polacek@redhat.com>
2812
2813 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2814 call.
2815 (ubsan_instrument_shift): Likewise.
2816 (ubsan_instrument_vla): Likewise.
2817
aa59f000 28182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2819
2820 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2821 cast to unsigned type.
2822
08f817b3 28232013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2824
2825 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2826 tree_low_cst.
2827 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2828 rather than tree_low_cst.
2829
6a0712d4 28302013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2831
2832 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2833 tree_to_uhwi throughout.
2834
fcb97e84 28352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2836
2837 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2838 tree_low_cst (..., 0) with tree_to_shwi throughout.
2839
cd4547bf 28402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2841
2842 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2843 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2844
35ec552a 28452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2846
2847 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2848 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2849
f2697631 28502013-11-15 Aldy Hernandez <aldyh@redhat.com>
2851
2852 * c-cilkplus.c: New file.
2853 * c-common.c (readonly_error): Add location argument.
2854 * c-common.h (readonly_error): Same.
2855 (c_finish_cilk_clauses): Protoize.
2856 (c_check_cilk_loop): Same.
2857 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2858 Do not fail on error_mark_node.
2859 Abstract increment canonicalization to here...
2860 (c_omp_for_incr_canonicalize_ptr): New.
2861 c-pragma.c (init_pragma): Register "simd" pragma.
2862 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2863 (enum pragma_cilk_clause): New.
2864
0aa8c34e 28652013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2866
2867 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2868 wchar_type and host_integerp checks.
2869
e795d6e1 28702013-11-14 Andrew MacLeod <amacleod@redhat.com>
2871
2872 * c-common.c: Likewise.
2873 * c-gimplify.c: Likewise.
2874 * cilk.c: Likewise.
2875
9ed99284 28762013-11-14 Diego Novillo <dnovillo@google.com>
2877
2878 * c-common.c: Include fold-const.h.
2879 Include stor-layout.h.
2880 Include calls.h.
2881 Include stringpool.h.
2882 Include attribs.h.
2883 Include varasm.h.
2884 Include trans-mem.h.
2885 * c-cppbuiltin.c: Include stor-layout.h.
2886 Include stringpool.h.
2887 * c-format.c: Include stringpool.h.
2888 * c-lex.c: Include stringpool.h.
2889 Include stor-layout.h.
2890 * c-pragma.c: Include stringpool.h.
2891 Include attribs.h.
2892 Include varasm.h.
2893 Include gcc-symtab.h.
2894 * c-pretty-print.c: Include stor-layout.h.
2895 Include attribs.h.
2896 * cilk.c: Include stringpool.h.
2897 Include calls.h.
2898
4fba5eb9 28992013-11-13 Joseph Myers <joseph@codesourcery.com>
2900
2901 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2902 * c-common.c (c_common_reswords): Add __auto_type.
2903 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2904
a8783bee 29052013-11-12 Andrew MacLeod <amacleod@redhat.com>
2906
e795d6e1 2907 * c-common.c: Include gimplify.h.
2908 * c-gimplify.c: Likewise.
2909 * cilk.c: Likewise.
2910 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2911 * c-ubsan.c: Don't include gimple.h.
a8783bee 2912
d184e0c0 29132013-11-12 Joseph Myers <joseph@codesourcery.com>
2914
2915 * c-common.c (c_common_reswords): Add _Thread_local.
2916
a056826c 29172013-11-09 Joseph Myers <joseph@codesourcery.com>
2918
2919 * c-common.c (atomic_size_supported_p): New function.
2920 (resolve_overloaded_atomic_exchange)
2921 (resolve_overloaded_atomic_compare_exchange)
2922 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2923 Use it instead of comparing size with a local list of sizes.
2924
b560fabd 29252013-11-07 Andrew MacLeod <amacleod@redhat.com>
2926 Joseph Myers <joseph@codesourcery.com>
2927
2928 * c-common.h (enum rid): Add RID_ATOMIC.
2929 * c-common.c (c_common_reswords): Add _Atomic.
2930 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2931 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2932 * c-format.c (check_format_types): Check for extra _Atomic
2933 qualifiers in format argument.
2934 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2935 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2936
5b1a0622 29372013-11-06 Tobias Burnus <burnus@net-b.de>
2938
2939 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2940
4f8f4cb8 29412013-11-06 Joseph Myers <joseph@codesourcery.com>
2942
2943 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2944 standards modes.
2945 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2946 to mean lack of IEEE 754 support.
2947
9148bda3 29482013-11-05 Tobias Burnus <burnus@net-b.de>
2949
2950 * c.opt (-Wdate-time): New option
2951 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2952
08c5f4d5 29532013-11-05 Joseph Myers <joseph@codesourcery.com>
2954
2955 * c-cppbuiltin.c (cpp_iec_559_value): Test
2956 flag_excess_precision_cmdline not flag_excess_precision.
2957
c630ef93 29582013-11-05 Tobias Burnus <burnus@net-b.de>
2959
2960 * c.opt (fopenmp-simd): New option.
2961 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2962 (omp_pragmas): ... this new struct.
2963 (c_pp_lookup_pragma): Also walk omp_pragmas.
2964 (init_pragma): Init pragmas for -fopenmp-simd.
2965
7354a89b 29662013-11-04 Marek Polacek <polacek@redhat.com>
2967
2968 PR c++/58979
2969 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2970
4c866b9b 29712013-11-04 Joseph Myers <joseph@codesourcery.com>
2972
2973 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2974 New functions.
2975 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2976
e2a6a333 29772013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2978
2979 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2980 (dump_ada_specs): Adjust prototype of second callback.
2981 * c-ada-spec.c (cpp_check): New global variable.
2982 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2983 (print_generic_ada_decl): Likewise.
2984 (has_static_fields): Change return type to bool and add guard.
2985 (has_nontrivial_methods): New predicate.
2986 (is_tagged_type): Change return type to bool.
2987 (separate_class_package): Call has_nontrivial_methods.
2988 (pp_ada_tree_identifier): Minor tweaks.
2989 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2990 (dump_ada_array_domains): Likewise.
2991 (dump_ada_array_type): Likewise.
2992 (dump_template_types): Remove cpp_check parameter and do not pass it to
2993 dump_generic_ada_node.
2994 (dump_ada_template): Likewise.
2995 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2996 recursively.
2997 (print_ada_methods): Change return type to integer. Remove cpp_check
2998 parameter and do not pass it down.
2999 (dump_nested_types): Remove cpp_check parameter and do not pass it to
3000 dump_generic_ada_node.
3001 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
3002 accessing methods.
3003 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
3004 down. Use has_nontrivial_methods to recognize C++ classes. Use return
3005 value of print_ada_methods.
3006 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
3007 Set cpp_check to it before invoking dump_ada_nodes.
3008 (dump_ada_specs): Likewise.
3009
2c4c3477 30102013-11-03 Marek Polacek <polacek@redhat.com>
3011
3012 * c-ubsan.c: Don't include hash-table.h.
3013 (ubsan_instrument_vla): New function.
3014 * c-ubsan.h: Declare it.
3015
452659af 30162013-10-31 David Malcolm <dmalcolm@redhat.com>
3017
3018 Automated part of renaming of symtab_node_base to symtab_node.
3019
3020 Patch autogenerated by rename_symtab.py from
3021 https://github.com/davidmalcolm/gcc-refactoring-scripts
3022 revision 58bb219cc090b2f4516a9297d868c245495ee622
3023
3024 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
3025 symtab_node_base to symtab_node.
3026
4d6f7dd4 30272013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
3028
3029 Implement C++14 digit separators.
3030 * c-lex.c (interpret_float): Remove digit separators from scratch string
3031 before building real literal.
3032
06cfe805 30332013-10-30 Jakub Jelinek <jakub@redhat.com>
3034
3035 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
3036
d037099f 30372013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
3038
3039 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
3040 fields.
3041 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
3042 enabled.
3043 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
3044 (insert_cilk_frame): New prototype.
3045 (cilk_init_builtins): Likewise.
3046 (gimplify_cilk_spawn): Likewise.
3047 (c_cilk_install_body_w_frame_cleanup): Likewise.
3048 (cilk_detect_spawn_and_unwrap): Likewise.
3049 (cilk_set_spawn_marker): Likewise.
3050 (build_cilk_sync): Likewise.
3051 (build_cilk_spawn): Likewise.
3052 * cilk.c: New file.
3053
02774f2d 30542013-10-29 David Malcolm <dmalcolm@redhat.com>
3055
3056 Patch autogenerated by refactor_symtab.py from
3057 https://github.com/davidmalcolm/gcc-refactoring-scripts
3058 revision 58bb219cc090b2f4516a9297d868c245495ee622
3059
3060 * c-gimplify.c (c_genericize): Update for conversion of symtab types
3061 to a true class hierarchy.
3062 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
3063
31fe10fd 30642013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
3065
3066 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
3067
b1c06ff9 30682013-10-26 Jeff Law <law@redhat.com>
3069
1f78217c 3070 * c-common.c (c_define_builtins): Remove mudflap support.
3071 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 3072
48a972c8 30732013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 3074
3075 PR other/33426
3076 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
3077 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
3078
546a04b1 30792013-10-23 Jason Merrill <jason@redhat.com>
3080
3081 * c-format.c (gcc_cxxdiag_char_table): Add %X.
3082
bc7bff74 30832013-10-11 Jakub Jelinek <jakub@redhat.com>
3084
d62c713e 3085 * c-common.h (omp_clause_mask::operator !=): New method.
3086 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
3087 instead of if (mask & something) tests everywhere.
3088
bc7bff74 3089 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
3090 201307 instead of 201107.
3091 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
3092 (c_common_attribute_table): Add "omp declare target" and
3093 "omp declare simd" attributes.
3094 (handle_omp_declare_target_attribute,
3095 handle_omp_declare_simd_attribute): New functions.
3096 * c-omp.c: Include c-pragma.h.
3097 (c_finish_omp_taskgroup): New function.
3098 (c_finish_omp_atomic): Add swapped argument, if true,
3099 build the operation first with rhs, lhs arguments and use NOP_EXPR
3100 build_modify_expr.
3101 (c_finish_omp_for): Add code argument, pass it down to make_code.
3102 (c_omp_split_clauses): New function.
3103 (c_split_parallel_clauses): Removed.
3104 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
3105 c_omp_declare_simd_clauses_to_decls): New functions.
3106 * c-common.h (omp_clause_mask): New type.
3107 (OMP_CLAUSE_MASK_1): Define.
3108 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
3109 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
3110 omp_clause_mask::operator |, omp_clause_mask::operator &,
3111 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
3112 omp_clause_mask::operator ==): New methods.
3113 (enum c_omp_clause_split): New.
3114 (c_finish_omp_taskgroup): New prototype.
3115 (c_finish_omp_atomic): Add swapped argument.
3116 (c_finish_omp_for): Add code argument.
3117 (c_omp_split_clauses): New prototype.
3118 (c_split_parallel_clauses): Removed.
3119 (c_omp_declare_simd_clauses_to_numbers,
3120 c_omp_declare_simd_clauses_to_decls): New prototypes.
3121 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
3122 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
3123 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
3124 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
3125 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
3126 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
3127 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
3128 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
3129 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
3130 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
3131 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
3132 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
3133 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
3134 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
3135 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
3136 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
3137 PRAGMA_OMP_CLAUSE_UNIFORM.
3138
d7dcba40 31392013-10-09 Marc Glisse <marc.glisse@inria.fr>
3140
3141 PR tree-optimization/20318
3142 * c-common.c (handle_returns_nonnull_attribute): New function.
3143 (c_common_attribute_table): Add returns_nonnull.
3144
0b7282f1 31452013-10-03 Marc Glisse <marc.glisse@inria.fr>
3146
3147 PR c++/19476
3148 * c.opt (fcheck-new): Move to common.opt.
3149
51f553af 31502013-09-25 Marek Polacek <polacek@redhat.com>
3151 Jakub Jelinek <jakub@redhat.com>
3152
3153 PR sanitizer/58413
3154 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
3155 an expression if we can prove it is correct.
3156 (ubsan_instrument_division): Likewise. Remove unnecessary
3157 check.
3158
05f893e1 31592013-09-18 Marek Polacek <polacek@redhat.com>
3160
3161 PR sanitizer/58411
3162 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
3163 Declare it.
3164 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
3165
236ce1d1 31662013-09-14 Iain Sandoe <iain@codesourcery.com>
3167
3168 PR target/48094
3169 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
3170 fobjc-gc, freplace-objc-classes): Accept for LTO.
3171
f9f68d35 31722013-09-13 Jacek Caban <jacek@codeweavers.com>
3173
3174 * c-target.def: New hook
3175
ba2f764e 31762013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3177
3178 PR c++/43452
3179 * c.opt (Wdelete-incomplete): Add.
3180
73437615 31812013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
3182
3183 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
3184 (vector_types_compatible_elements_p): New function.
3185 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
3186 declaration.
3187 (vector_types_compatible_elements_p): Declare.
3188
95af4c75 31892013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3190
3191 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
3192 a virtual member function.
3193 (pp_simple_type_specifier): Remove.
3194 (pp_c_type_specifier): Likewise.
3195 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
3196 Rename from pp_c_type_specifier. Adjust.
3197 (c_pretty_printer::c_pretty_printer): Do not assign to
3198 simple_type_specifier.
3199
eaab24b9 32002013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3201
3202 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
3203 member function.
3204 (c_pretty_printer::storage_class_specifier): Likewise.
3205 (c_pretty_printer::initializer): Likewise.
3206 (pp_declaration): Remove.
3207 (pp_declaration_specifiers): Likewise.
3208 (pp_abstract_declarator): Likewise.
3209 (pp_declarator): Likewise.
3210 (pp_type_id): Likewise.
3211 (pp_statement): Likewise.
3212 (pp_constant): Likewise.
3213 (pp_id_expression): Likewise.
3214 (pp_primary_expression): Likewise.
3215 (pp_unary_expression): Likewise.
3216 (pp_multiplicative_expression): Likewise.
3217 (pp_conditional_expression): Likewise.
3218 (pp_assignment_expression): Likewise.
3219 (pp_expression): Likewise.
3220 (pp_c_type_id): Likewise.
3221 (pp_c_storage_class_specifier): Likewise.
3222 * c-pretty-print.c (pp_c_type_cast): Tidy.
3223 (pp_c_pointer): Likewise.
3224 (pp_c_type_specifier): Likewise.
3225 (pp_c_parameter_type_list): Likewise.
3226 (pp_c_function_definition): Likewise.
3227 (pp_c_init_declarator): Likewise.
3228 (pp_c_initializer_list): Likewise.
3229 (pp_c_constructor_elts): Likewise.
3230 (c_pretty_printer::direct_abstract_declarator): Likewise.
3231 (c_pretty_printer::declaration_specifiers): Likewise.
3232 (c_pretty_printer::primary_expression): Likewise.
3233 (c_pretty_printer::postfix_expression): Likewise.
3234 (c_pretty_printer::type_id): Rename from pp_c_type_id.
3235 (c_pretty_printer::storage_class_specifier): Rename from
3236 pp_c_storage_class_specifier.
3237 (c_pretty_printer::initializer): Rename from pp_c_initializer.
3238 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
3239 storage_class_specifier, initializer, offset_list, flags.
3240
9e46467d 32412013-08-30 Marek Polacek <polacek@redhat.com>
3242
3243 * c-ubsan.c: New file.
3244 * c-ubsan.h: New file.
3245
36a8d9b9 32462013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
3247
3248 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
3249 member function.
3250 (c_pretty_printer::declaration_specifiers): Likewise.
3251 (c_pretty_printer::declarator): Likewise.
3252 (c_pretty_printer::abstract_declarator): Likewise.
3253 (c_pretty_printer::direct_abstract_declarator): Likewise.
3254 (c_pretty_printer::direct_declarator): Likewise.
3255 (c_pretty_printer::function_specifier): Likewise.
3256 (pp_declaration): Adjust.
3257 (pp_declaration_specifiers): Likewise.
3258 (pp_abstract_declarator): Likewise.
3259 (pp_direct_declarator): Likewise.
3260 (pp_function_specifier): Likewise.
3261 (pp_direct_abstract_declarator): Remove as unused.
3262 (pp_c_declaration): Remove.
3263 (pp_c_declaration_specifiers): Likewise.
3264 (pp_c_declarator): Likewise.
3265 (pp_c_direct_declarator): Likewise.
3266 (pp_c_function_specifier): Likewise.
3267 (pp_c_direct_abstract_declarator): Likewise.
3268 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
3269 from pp_c_abstract_declarator. Adjust.
3270 (c_pretty_printer::direct_abstract_declarator): Rename from
3271 pp_c_direct_abstract_declarator. Adjust.
3272 (c_pretty_printer::function_specifier): Rename from
3273 pp_c_function_specifier. Adjust.
3274 (c_pretty_printer::declaration_specifiers): Rename from
3275 pp_c_declaration_specifiers. Adjust.
3276 (c_pretty_printer::direct_declarator): Rename from
3277 pp_c_direct_declarator. Adjust.
3278 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
3279 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
3280 (c_pretty_printer::c_pretty_printer): Do not assign to
3281 declaration, declaration_specifiers, declarator,
3282 direct_declarator, direct_abstract_declarator, function_specifier.
3283
30635c2e 32842013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
3285
3286 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
3287 virtual member function.
3288 (c_pretty_printer::multiplicative_expression): Likewise.
3289 (c_pretty_printer::conditional_expression): Likewise.
3290 (c_pretty_printer::assignment_expression): Likewise.
3291 (c_pretty_printer::expression): Likewise.
3292 (pp_unary_expression): Adjust.
3293 (pp_multiplicative_expression): Likewise.
3294 (pp_assignment_expression): Likewise.
3295 (pp_conditional_expression): Likewise.
3296 (pp_expression): Likewise.
3297 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
3298 from pp_c_unary_expression. Adjust.
3299 (c_pretty_printer::multiplicative_expression): Rename from
3300 pp_c_multiplicative_expression. Adjust.
3301 (c_pretty_printer::conditional_expression): Rename from
3302 pp_c_conditional_expression. Adjust.
3303 (c_pretty_printer::assignment_expression): Rename from
3304 pp_c_assignment_expression. Adjust.
3305 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
3306 (c_pretty_printer::c_pretty_printer): Do not assign to
3307 unary_expression, multiplicative_expression,
3308 conditional_expression, expression.
3309
027d08ed 33102013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3311
3312 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
3313 virtual member function.
3314 (pp_postfix_expression): Adjust.
3315 (pp_c_postfix_expression): Remove.
3316 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
3317 from pp_c_postfix_expression. Adjust.
3318 (c_pretty_printer::c_pretty_printer): Do not assign to
3319 postfix_expression.
3320
f873303a 33212013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3322
3323 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
3324 virtua member function.
3325 (pp_primary_expression): Adjust.
3326 (pp_c_primary_expression): Remove.
3327 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
3328 from pp_c_primary_expression. Adjust.
3329 (pp_c_initializer_list): Use pp_primary_expression.
3330 (c_pretty_printer::c_pretty_printer): Do not assign to
3331 primary_expression.
3332
08e3e481 33332013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
3334
3335 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
3336 * c-pretty-print.c (M_): Remove.
3337 (c_pretty_printer::translate_string): Define.
3338 (pp_c_type_specifier): Use it.
3339 (pp_c_primary_expression): Likewise.
3340 (pp_c_expression): Likewise.
3341
1fc4a87f 33422013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3343
3344 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
3345 virtual function.
3346 (pp_c_id_expression): Remove.
3347 (pp_id_expression): Adjust.
3348 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
3349 pp_c_id_expression. Adjust.
3350 (pp_c_postfix_expression): Use pp_id_expression.
3351 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
3352
a6cb161b 33532013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
3354
3355 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
3356 member function.
3357 (pp_constant): Adjust.
3358 (pp_c_constant): Remove.
3359 * c-pretty-print.c (c_pretty_printer::constant): Rename from
3360 pp_c_constant. Adjust.
3361 (pp_c_constant)
3362 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
3363 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
3364
eed6bc21 33652013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3366
3367 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
3368 (c_pretty_printer::c_pretty_printer): Declare.
3369 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
3370 c_pretty_printer_init. Adjust.
3371 (print_c_tree): Do not call c_pretty_printer_init.
3372 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
3373
df558d2e 33742013-08-09 Arnaud Charlet <charlet@adacore.com>
3375
3376 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
3377
42f9a786 33782013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3379
3380 PR c++/58080
3381 * c-common.c (pointer_int_sum): Add bool parameter.
3382 * c-common.h (pointer_int_sum): Adjust declaration.
3383
f874ddad 33842013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
3385
3386 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
3387 c_pretty_printer variable.
3388
a94db6b0 33892013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
3390
3391 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
3392 (pp_base): Remove.
3393 (pp_c_base): Likewise. Adjust users.
3394 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
3395 (pp_c_whitespace): Do not call pp_base.
3396 (pp_c_left_paren): Likewise.
3397 (pp_c_right_paren): Likewise.
3398 (pp_c_left_brace): Likewise.
3399 (pp_c_right_brace): Likewise.
3400 (pp_c_left_bracket): Likewise.
3401 (pp_c_right_bracket): Likewise.
3402 (pp_c_dot): Likewise.
3403 (pp_c_ampersand): Likewise.
3404 (pp_c_star): Likewise.
3405 (pp_c_arrow): Likewise.
3406 (pp_c_semicolon): Likewise.
3407 (pp_c_complement): Likewise.
3408 (pp_c_exclamation): Likewise.
3409 (pp_c_direct_declarator): Likewise.
3410 (pp_c_ws_string): Likewise.
3411 (pp_c_identifier): Likewise.
3412 (pp_c_statement): Likewise.
3413 (print_c_tree): Likewise.
3414
1898176c 34152013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
3416
3417 PR c++/58072
3418 * c-common.c (c_parse_error): Catch user-defined literal tokens and
3419 provide useful error strings.
3420
70d60d1d 34212013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3422
3423 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
3424 printer functions instead of pp_string or operators and punctuators.
3425 (dump_generic_ada_node): Likewise.
3426 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3427 (pp_c_relational_expression): Likewise.
3428 (pp_c_logical_or_expression): Likewise.
3429
dda4f0ec 34302013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3431
3432 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3433 functions instead of pp_character.
3434 (pp_ada_tree_identifier): Likewise.
3435 (dump_ada_double_name): Likewise.
3436 (dump_ada_function_declaration): Likewise.
3437 (dump_ada_array_domains): Likewise.
3438 (dump_template_types): Likewise.
3439 (dump_generic_ada_node): Likewise.
3440 (print_ada_declaration): Likewise.
3441 (print_ada_struct_decl): Likewise.
3442 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3443
7aa04c8d 34442013-07-23 Tom Tromey <tromey@redhat.com>
3445
3446 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3447 * c-common.c (c_common_reswords): Add _Generic.
3448
a04e8d62 34492013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3450
3451 * c-common.c: Fix typos.
3452 * c-common.h: Likewise.
3453
a96c3cc1 34542013-07-13 Lubos Lunak <l.lunak@suse.cz>
3455
3456 PR c++/55203
3457 * c-common.c (c_common_attribute_table): Add warn_unused.
3458 (handle_warn_unused_attribute): New.
3459
da31536d 34602013-07-10 Jakub Jelinek <jakub@redhat.com>
3461
3462 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3463 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3464
839f2f70 34652013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3466
3467 PR c++/57869
3468 * c.opt: Add Wconditionally-supported.
3469
73f353d0 34702013-07-08 Graham Stott <graham.stott@btinternet.com>
3471
1f78217c 3472 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 3473 unused variables l_length and l_node.
3474
21ebaa24 34752013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 3476
3477 PR c/57821
3478 * c-common.c (complete_array_type): Delay folding first index
3479 like other indices. When folding, check for index overflow.
3480
68ea4406 34812013-06-27 Marc Glisse <marc.glisse@inria.fr>
3482
3483 PR c++/57509
3484 * c-common.h (c_build_vec_perm_expr): New complain argument.
3485 * c-common.c (c_build_vec_perm_expr): Likewise.
3486 Use save_expr also in C++.
3487
60777f69 34882013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3489
3490 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3491 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3492 * c-opts.c (c_common_post_options): Likewise.
3493
839f2f70 34942013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 3495
3496 * array-notation-common.c (length_mismatch_in_expr): Changed the
3497 parameter type's from a dynamic array to a vec_tree. Also removed
3498 the size parameters.
3499 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3500 the change above.
3501
e9331eab 35022013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3503
3504 * c-common.h (struct cilkplus_an_parts): New structure.
3505 (struct cilkplus_an_loop_parts): Likewise.
3506 (cilkplus_extract_an_triplets): New prototype.
3507 (fix_sec_implicit_args): Likewise.
3508 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3509 (fix_sec_implicit_args): Likewise.
60777f69 3510
a9c99fc4 35112013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3512
3513 * array-notation-common.c (find_inv_trees): Removed an unwanted
3514 typecasting.
3515 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3516 enum rid to enum tree_code.
3517
f2526cce 35182013-06-11 Jan Hubicka <jh@suse.cz>
3519
3520 * c-common.c (handle_alias_ifunc_attribute): Do not set
3521 DECL_EXTERNAL for weakref variables.
3522 * c-pragma.c (handle_pragma_weak): Make sure aliases
3523 are not declared as external.
3524
09970d67 35252013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3526
3527 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3528 function from c/c-array-notation.c.
3529 (is_cilkplus_reduce_builtin): Likewise.
3530 (find_rank): Likewise.
3531 (extract_array_notation_exprs): Likewise.
3532 (replace_array_notations): Likewise.
3533 (find_inv_trees): Likewise.
3534 (replace_inv_trees): Likewise.
3535 (contains_array_notation_expr): Likewise.
3536 (find_correct_array_notation_type): Likewise.
3537 * c-common.h (struct inv_list): Moved this struct from the file
3538 c/c-array-notation.c and added a new field called additional tcodes.
3539 (length_mismatch_in_expr_p): New prototype.
3540 (is_cilkplus_reduce_builtin): Likewise.
3541 (find_rank): Likewise.
3542 (extract_array_notation_exprs): Likewise.
3543 (replace_array_notation): Likewise.
3544 (find_inv_trees): Likewise.
3545 (replace_inv_trees): Likewise.
3546 (find_correct_array_notation_type): Likewise.
839f2f70 3547
3c6d4197 35482013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3549
3550 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3551 function array_notation_init_builtins is called.
3552 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3553 * c-common.def (ARRAY_NOTATION_REF): New tree.
3554 * c-common.h (build_array_notation_expr): New function declaration.
3555 (build_array_notation_ref): Likewise.
3556 (extract_sec_implicit_index_arg): New extern declaration.
3557 (is_sec_implicit_index_fn): Likewise.
3558 (ARRAY_NOTATION_CHECK): New define.
3559 (ARRAY_NOTATION_ARRAY): Likewise.
3560 (ARRAY_NOTATION_START): Likewise.
3561 (ARRAY_NOTATION_LENGTH): Likewise.
3562 (ARRAY_NOTATION_STRIDE): Likewise.
3563 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3564 ARRAY_NOTATION_REF.
3565 (pp_c_expression): Likewise.
3566 * c.opt (flag_enable_cilkplus): New flag.
3567 * array-notation-common.c: New file.
3568
8e71dad2 35692013-05-14 Jakub Jelinek <jakub@redhat.com>
3570
3571 PR c++/57274
3572 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3573
432dd330 35742013-05-10 Marc Glisse <marc.glisse@inria.fr>
3575
3576 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3577 vectors.
3578
b156ec37 35792013-05-07 Han Shen <shenhan@google.com>
3580
3581 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3582
1a087624 35832013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3584
3585 * c-common.c (check_user_alignment): Emit error for negative values.
3586
1638c736 35872013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3588
3589 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3590
949dbf93 35912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3592
3593 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3594 __GXX_EXPERIMENTAL_CXX1Y__.
3595
9205a6cc 35962013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3597 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3598
3599 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3600 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3601 to simply use OPT_Wpointer_arith.
3602 (c_sizeof_or_alignof_type): Likewise.
3603
05d0bce1 36042013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3605
3606 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3607
41609f8b 36082013-04-12 Jakub Jelinek <jakub@redhat.com>
3609
3610 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3611 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3612 specifiers.
3613
c671dc4f 36142013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3615
3616 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3617
ba125576 36182013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3619
3620 * c-common.c (pointer_int_sum): Remove dead code.
3621
9d3fa937 36222013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3623
3624 PR middle-end/56524
3625 * c-common.c (handle_optimize_attribute): Don't call
3626 save_optabs_if_changed.
3627
5ceebb21 36282013-03-05 Jakub Jelinek <jakub@redhat.com>
3629
3630 PR middle-end/56461
3631 * c-pch.c (pch_init): Free target_validity at the end.
3632
18eeed2b 36332013-03-04 Jakub Jelinek <jakub@redhat.com>
3634
3635 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3636
a9196da9 36372013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3638 Jakub Jelinek <jakub@redhat.com>
3639
3640 PR sanitizer/56454
3641 * c-common.c (handle_no_sanitize_address_attribute): New function.
3642 (c_common_attribute_table): Add no_sanitize_address attribute.
3643 (handle_no_address_safety_analysis_attribute): Add
3644 no_sanitize_address attribute, not no_address_safety_analysis
3645 attribute.
3646
15c27dda 36472013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 3648
3649 PR target/52555
3650 * c-common.c (handle_optimize_attribute): Call
3651 save_optabs_if_changed.
3652
19426fe1 36532013-02-18 Jakub Jelinek <jakub@redhat.com>
3654 Steven Bosscher <steven@gcc.gnu.org>
3655
3656 PR pch/54117
3657 * c-opts.c (c_common_post_options): If debug info is enabled
3658 and non-dwarf*, refuse to load PCH files and when writing PCH
3659 file warn.
3660
df936998 36612013-02-05 Jakub Jelinek <jakub@redhat.com>
3662
3663 PR middle-end/56167
3664 * c-common.c (handle_error_attribute): Fix condition.
3665
ae0c3984 36662013-01-30 Jakub Jelinek <jakub@redhat.com>
3667
3668 PR c++/55742
3669 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3670
1c4973d7 36712013-01-18 Jason Merrill <jason@redhat.com>
3672
3673 PR target/54908
3674 * c.opt (-fextern-tls-init): New.
3675 * c-opts.c (c_common_post_options): Handle it.
3676
7c834436 36772013-01-09 Jakub Jelinek <jakub@redhat.com>
3678
3679 PR c/48418
3680 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3681 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3682 and is either negative or bigger or equal to type precision
3683 of the first operand.
3684
5abaa10a 36852012-12-03 Marek Polacek <polacek@redhat.com>
3686
3687 PR c/55570
3688 * c-common.c (check_user_alignment): Swap order of tests,
3689 check TREE_CODE first.
3690
324ca377 36912012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3692
3693 PR c++/52654
3694 * c-common.h (overflow_type): New enum.
3695 (build_userdef_literal): Add overflow_type argument.
3696 (tree_userdef_literal): Add overflow_type.
3697 (USERDEF_LITERAL_OVERFLOW): New access macro.
3698 * c-common.c (build_userdef_literal): Add overflow_type
3699 argument.
3700 * c-lex.c (c_lex_with_flags): Add overflow_type to
3701 build_userdef_literal calls.
3702 (interpret_integer, interpret_float): Add overflow_type argument.
3703
b4c4a429 37042012-11-28 Richard Biener <rguenther@suse.de>
3705
3706 PR c/35634
3707 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3708 here and use a type with proper overflow behavior for types that would
3709 need to be promoted for the arithmetic.
3710
d413ffdd 37112012-11-23 Jakub Jelinek <jakub@redhat.com>
3712
3713 PR sanitizer/55435
3714 * c-common.c (handle_no_address_safety_analysis_attribute): New
3715 function.
3716 (c_common_attribute_table): Add no_address_safety_analysis.
3717
52bc861d 37182012-11-16 Simon Baldwin <simonb@google.com>
3719
3720 * c.opt: Add f[no-]canonical-system-headers.
3721 * c-opts.c (c_common_handle_option): Handle
3722 OPT_fcanonical_system_headers.
3723
2dd00636 37242012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3725
3726 PR c++/54413
3727 * c-opts.c (c_common_handle_option): Set new flags.
3728 * c.opt: Describe new flags.
3729
d4701f6c 37302012-11-09 Jason Merrill <jason@redhat.com>
3731
3732 * c.opt (Wabi-tag): New.
3733
72d65da9 37342012-11-09 Andi Kleen <ak@linux.intel.com>
3735
3736 PR 55139
3737 * c-common.c (get_atomic_generic_size): Mask with
3738 MEMMODEL_MASK
3739
77a357e3 37402012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3741
3742 PR c/53063
3743 * c.opt (Wformat): Make it Alias Wformat=1.
3744 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3745 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3746 LangEnabledBy.
3747 (Wformat=): RejectNegative. Use LangEnabledBy.
3748 (Wnonnull): Use LangEnabledBy.
3749 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3750 * c-format.c (set_Wformat): Delete.
3751 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3752 (maybe_read_dollar_number): Likewise.
3753 (avoid_dollar_number): Likewise.
3754 (finish_dollar_format_checking): Likewise.
3755 (check_format_info): Likewise.
3756 (check_format_info_main): Likewise.
3757 (check_format_types): Likewise.
3758 (format_type_warning): Likewise.
3759 * c-common.c (int): Likewise.
3760 (check_function_sentinel): Likewise.
3761 * c-common.h (warn_format,set_Wformat): Do not declare here.
3762
45efa6b9 37632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3764
3765 PR c/53063
3766 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3767 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3768 Use LangEnabledBy.
3769 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3770 common.opt.
3771 (Wvariadic-macros): Init(1).
3772 * c-opts.c (c_common_handle_option): Do not handle them
3773 explicitly.
3774 (c_common_post_options): Likewise.
3775 (sanitize_cpp_opts): warn_unused_macros is now
3776 cpp_warn_unused_macros.
3777 (push_command_line_include): Likewise.
3778 * c-common.c (warn_unknown_pragmas): Do not define.
3779 * c-common.h (warn_unknown_pragmas): Do not declare.
3780
0e4e775a 37812012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3782
3783 PR c/51294
3784 * c-common.c (conversion_warning): Handle conditional expressions.
3785
8b447d3f 37862012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3787
3788 PR c++/54930
3789 * c.opt (Wreturn_local_addr): Define new option.
3790
f4a61754 37912012-10-25 Jason Merrill <jason@redhat.com>
3792
ecb10e6a 3793 * c.opt (Wvirtual-move-assign): New.
3794
f4a61754 3795 * c.opt (Winherited-variadic-ctor): New.
3796
7b463b19 37972012-10-25 Marc Glisse <marc.glisse@inria.fr>
3798
3799 PR c++/54427
3800 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3801
6adc88f8 38022012-10-23 Joseph Myers <joseph@codesourcery.com>
3803
3804 * c-common.h (pch_cpp_save_state): Declare.
3805 * c-target.def (c_preinclude): New hook.
3806 * c-opts.c (done_preinclude): New.
3807 (push_command_line_include): Handle default preincluded header.
3808 (cb_file_change): Call pch_cpp_save_state when calling
3809 push_command_line_include.
3810 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3811 (pch_cpp_save_state): New.
3812 (pch_init): Call pch_cpp_save_state conditionally, instead of
3813 calling cpp_save_state.
3814
fa816b0b 38152012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3816
3817 PR c/53063
3818 PR c/40989
3819 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3820 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3821 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3822 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3823 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3824 * c-opts.c (c_common_handle_option): Remove explicit handling from
3825 here.
3826 (c_common_post_options): Likewise.
3827
d214ccee 38282012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3829
3830 * c-ada-spec.c (LOCATION_COL): Delete.
3831 (compare_location): New function.
3832 (compare_node): Use it.
3833 (compare_comment): Likewise.
3834
77b27208 38352012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3836
3837 PR c/53063
3838 PR c/40989
3839 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3840 * c-opts.c (c_common_handle_option): Do not set them here. Add
3841 comment.
3842 (c_common_post_options): Likewise.
3843
cc02ca4d 38442012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3845
3846 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3847 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3848 Remove POINTER_TYPE handling, add large unsigned handling and use
3849 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3850
57f872a2 38512012-10-12 Jakub Jelinek <jakub@redhat.com>
3852
3853 PR c/54381
3854 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3855 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3856 locs and array of 3 trees instead of just single loc and single
3857 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3858 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3859 For *cmp* builtins that take two sources strings report warnings
3860 about first and second source, not about destination and source.
3861
7354ad2e 38622012-10-12 Marc Glisse <marc.glisse@inria.fr>
3863
3864 PR c++/53055
3865 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3866
1ac7f120 38672012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3870 declaring something coming from another file.
3871
1e0cc9e3 38722012-10-10 Arnaud Charlet <charlet@adacore.com>
3873
1ac7f120 3874 PR ada/54845
1e0cc9e3 3875 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3876
b0e7825e 38772012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3878
3879 PR c++/54194
3880 * c-common.c (warn_about_parentheses): Add location_t parameter;
3881 use EXPR_LOC_OR_LOC.
3882 * c-common.h: Update declaration.
3883
41ed701a 38842012-10-09 Marc Glisse <marc.glisse@inria.fr>
3885
3886 PR c++/54427
3887 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3888 more operations. Make error messages optional.
3889 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3890 (scalar_to_vector): Declare.
3891
3740094c 38922012-10-08 Jason Merrill <jason@redhat.com>
3893
3894 * c-common.c (c_common_reswords): Add thread_local.
3895
ffcdbf9c 38962012-10-08 Dodji Seketeli <dodji@redhat.com>
3897
3898 PR c++/53528 C++11 attribute support
3899 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3900 new functions.
3901 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3902 static function.
3903 (handle_aligned_attribute): In choose strictest alignment
3904 among many. Use new check_cxx_fundamental_alignment_constraints.
3905 (handle_transparent_union_attribute): In c++11 attribute syntax,
3906 don't look through typedefs.
3907
ef34afc1 39082012-10-04 Arnaud Charlet <charlet@adacore.com>
3909
3910 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3911 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3912 out of dumpfile.h.
3913
f1ff4562 39142012-09-25 Dehao Chen <dehao@google.com>
3915
3916 PR middle-end/54645
ef34afc1 3917 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 3918 map when read in the pch.
3919
735538a1 39202012-09-18 Arnaud Charlet <charlet@adacore.com>
3921
3922 * c-ada-spec.c: Style fixes.
3923
9120cdc8 39242012-09-18 Thomas Quinot <quinot@adacore.com>
3925
3926 * c.opt (-fada-spec-parent): Define new command line switch.
3927 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3928 is specified, generate binding spec as a child of the specified unit.
3929
8eba82c2 39302012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3931 Manuel López-Ibáñez <manu@gcc.gnu.org>
3932
3933 PR c++/53210
3934 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3935
38682990 39362012-08-23 Arnaud Charlet <charlet@adacore.com>
3937
3938 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3939 for pointers, and add missing Convention C pragma.
3940 (print_ada_struct_decl): Add missing aliased keyword.
3941 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3942
f003f5dc 39432012-08-17 Jakub Jelinek <jakub@redhat.com>
3944
3945 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3946 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3947 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3948 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3949 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3950
ec11736b 39512012-08-10 Richard Guenther <rguenther@suse.de>
3952
3953 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3954
5f7f600e 39552012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3956
3957 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3958 instead of separate pp_newline and pp_flush.
3959 (print_c_tree): Likewise.
3960
758a38ab 39612012-07-26 Richard Henderson <rth@redhat.com>
3962
3963 * c-common.c (handle_hot_attribute): Allow labels.
3964 (handle_cold_attribute): Likewise.
3965
9ca77b08 39662012-07-20 Jakub Jelinek <jakub@redhat.com>
3967
3968 PR c++/28656
3969 * c-common.c (check_function_nonnull): Handle multiple nonnull
3970 attributes properly.
3971
b9ed1410 39722012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3973
3974 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3975 * c-ada-spec.c: Likewise.
3976 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3977
c2a65b90 39782012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3979
3980 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3981 Remove code conditional on it.
3982
88c5a1d1 39832012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3984
3985 * c-gimplify.c: Do not include basic-block.h.
3986 * c-common.c: Do not include linfuncs.h.
3987
4a020a8c 39882012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3989
3990 * c-common.h: Include tree.h.
3991
c28ddc97 39922012-07-02 Jason Merrill <jason@redhat.com>
3993
3994 PR c++/53524
3995 * c-common.c (get_priority): Call default_conversion.
3996
405ed67f 39972012-07-01 Uros Bizjak <ubizjak@gmail.com>
3998
3999 * c-pch.c (c_common_write_pch): Remove unused variables.
4000
e53d55e7 40012012-06-29 Steven Bosscher <steven@gcc.gnu.org>
4002
4003 * cppspec.c: Moved from gcc/ to here.
4004
3d9c25ec 40052012-06-27 Kai Tietz <ktietz@redhat.com>
4006
4007 PR preprocessor/37215
4008 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
4009
3169c57a 40102012-06-21 Steven Bosscher <steven@gcc.gnu.org>
4011
4012 * c-common.h (c_common_print_pch_checksum): Remove.
4013 * c-pch.c: Do not include output.h.
4014 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
4015 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
4016 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
4017 (struct c_pch_header): Remove.
4018 (get_ident): Update gpch version.
4019 (pch_init): Do not print executable_checksum to asm_out_file.
4020 Do not fail if there is no asm_out_file to read back from. Set
4021 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
4022 (c_common_write_pch): Verify that nothing was written to asm_out_file
4023 since pch_init was called. Do not write a c_pch_header, and do not
4024 copy from asm_out_file to the PCH.
4025 (c_common_read_pch): Do not read a c_pch_header, and do not restore
4026 the content of asm_out_file from the PCH.
4027 (c_common_print_pch_checksum): Remove.
4028 * c-opts.c (c_common_init): Print out executable_checksum directly.
4029
ff6624bc 40302012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4031
4032 * c-target.def (objc_declare_unresolved_class_reference,
4033 objc_declare_class_definition): Add new hooks.
4034
367b1459 40352012-06-19 Steven Bosscher <steven@gcc.gnu.org>
4036
4037 * c-lex.c: Do not include output.h.
4038 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
4039 Remove uses of ASM_OUTPUT_IDENT.
4040
bf0cb017 40412012-06-15 Marc Glisse <marc.glisse@inria.fr>
4042
4043 PR c++/51033
4044 * c-common.h (c_build_vec_perm_expr): Move decl here.
4045 * c-common.c (c_build_vec_perm_expr): Move definition
4046 here.
4047
b37a3600 40482012-06-06 Steven Bosscher <steven@gcc.gnu.org>
4049
4050 * c.opt (fconserve-space): Turn into a no-op.
4051
19931eea 40522012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 4053
4054 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
4055 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
4056 both the start and end of the function.
4057
dff12c10 40582012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4059
4060 * c-common.c: Do not include output.h.
4061 * c-pragma.c: Likewise.
4062
5f9e7dd5 40632012-06-04 Steven Bosscher <steven@gcc.gnu.org>
4064
4065 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
4066 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
4067 (lang_decl_name): Handle namespace decls.
4068
b5369b7d 40692012-05-31 Steven Bosscher <steven@gcc.gnu.org>
4070
4071 * c-ada-spec.c: Do not include output.h.
4072 * c-semantics.c: Likewise.
4073
8032877c 40742012-05-29 Joseph Myers <joseph@codesourcery.com>
4075
4076 * c-common.c: Fix typo.
4077
7843e4bc 40782012-05-29 Michael Matz <matz@suse.de>
4079
4080 * c-common.h (c_expand_decl): Remove prototype.
4081
8cf857d4 40822012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
4083
4084 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
4085 * c-opts.c (c_common_handle_option): Remove code handling
4086 warn_missing_braces.
4087
8b64dc3c 40882012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
4089
4090 PR c++/25137
4091 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
4092 -Wmissing_braces.
4093
43cbde16 40942012-05-22 Dodji Seketeli <dodji@redhat.com>
4095
4096 PR c++/53322
4097 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
4098
db490cb6 40992012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
4100
4101 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
4102 * c-opts.c (c_common_handle_option): Do not handle explicitly
4103 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
4104
a60f3e81 41052012-05-16 Dodji Seketeli <dodji@redhat.com>
4106
4107 PR preprocessor/7263
4108 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
4109 to cpp_classify_number. For diagnostics, use the precise location
4110 instead of the global input_location.
4111
82e6ef7c 41122012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4113
cd4797ff 4114 PR c++/11856
82e6ef7c 4115 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
4116
258a168d 41172012-05-14 Bernd Schmidt <bernds@codesourcery.com>
4118
82e6ef7c 4119 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 4120
d3b7ee7c 41212012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
4122
4123 PR 53063
4124 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
4125 Wreorder): Use LangEnabledBy.
4126 * c-opts.c (c_common_handle_option): Do not enable them
4127 explicitly. Call lang-specific generated functions.
4128 (c_common_post_options): Do not set them here.
4129
70059cea 41302012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
4131
4132 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
4133 Wmissing-field-initializers,Wmissing-parameter-type,
4134 Wold-style-declaration,Woverride-init): Use EnabledBy.
4135 * c-opts.c (c_common_post_options): Do not set here explicitly.
4136
fbb6fbd8 41372012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4138
4139 PR 53063
4140 * c-opts.c (c_common_handle_option): Use handle_generated_option
4141 to enable sub-options.
4142
61f69bc9 41432012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
4144
4145 PR c++/53158
4146 * c-common.c (warnings_for_convert_and_check): Use warning_at.
4147
5a1fe2db 41482012-05-10 Richard Guenther <rguenther@suse.de>
4149
4150 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
4151 adjust commentary about TYPE_IS_SIZETYPE types.
4152
d42e7c5a 41532012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
4154
4155 PR c++/53261
4156 * c-common.c (warn_logical_operator): Check that argument of
4157 integer_zerop is not NULL.
4158
686369e8 41592012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
4160
4161 PR c/43772
4162 * c-common.c (warn_logical_operator): Do not warn if either side
4163 is already true or false.
4164
03fe1dc2 41652012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
4166
4167 PR c/51712
4168 * c-common.c (expr_original_type): New.
4169 (shorten_compare): Do not warn for enumeration types.
4170
bba5a206 41712012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4172
4173 * c.opt (fpermissive): Add Var(flag_permissive).
4174
7059d45d 41752012-04-30 Marc Glisse <marc.glisse@inria.fr>
4176
4177 PR c++/51033
4178 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
4179 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
4180
7edb1062 41812012-04-30 Dodji Seketeli <dodji@redhat.com>
4182
4183 Add -Wvarargs option
4184 * c.opt (Wvarargs): Define new option.
4185
068bea1e 41862012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4187
4188 * c-common.c (check_function_arguments): Replace
4189 Wmissing-format-attribute with Wsuggest-attribute=format.
4190
b86527d8 41912012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4192
4193 * c.opt (Wsuggest-attribute=format): New. Alias of
4194 Wmissing-format-attribute.
4195 * c-format.c (decode_format_type): Replace
4196 Wmissing-format-attribute with Wsuggest-attribute=format.
4197 (check_function_format): Likewise.
4198
19931eea 41992012-04-27 Ollie Wild <aaw@google.com>
76d340ac 4200
4201 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
4202 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
4203 * c.opt: Add Wliteral-suffix.
4204
29438999 42052012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
4206
4207 PR c/44774
4208 * c.opt (Wpedantic): New.
4209 (pedantic): Alias Wpedantic.
4210 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
4211 (c_common_post_options): Likewise.
4212 (sanitize_cpp_opts): Likewise.
4213 * c-lex.c (interpret_float): Likewise.
4214 * c-format.c (check_format_types): Likewise.
4215 * c-common.c (pointer_int_sum): Likewise.
4216 (c_sizeof_or_alignof_type): Likewise.
4217 (c_add_case_label): Likewise.
4218 (c_do_switch_warnings): Likewise.
4219 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
4220
4f9d6b8b 42212012-04-15 Jason Merrill <jason@redhat.com>
4222
4223 PR c++/52818
4224 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
4225 (C_STD_NAME): Distinguish between C++98 and C++11.
4226
74bdbe96 42272012-04-11 Eric Botcazou <ebotcazou@adacore.com>
4228
4229 PR target/52624
4230 * c-common.h (uint16_type_node): Rename into...
4231 (c_uint16_type_node): ...this.
4232 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
4233 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
4234
3d177e8c 42352012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
4236
4237 * c-common.c (warn_if_unused_value): Move definition to here.
4238 * c-common.h (warn_if_unused_value): Move declaration to here.
4239
6a9a958f 42402012-03-23 William Bader <williambader@hotmail.com>
4241
4242 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
4243
543efdbe 42442012-03-20 Jason Merrill <jason@redhat.com>
4245
4246 * c-common.h (enum cxx_dialect): Add cxx1y.
4247 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
4248 test.
4249 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
4250 * c-opts.c (c_common_post_options): Likewise.
4251 (set_std_cxx1y): New.
4252 (c_common_handle_option): Call it.
4253 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
4254
62206d34 42552012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
4256
4257 PR c++/14710
4258 * c.opt ([Wuseless-cast]): Add.
4259
fadf62f4 42602012-03-16 Richard Guenther <rguenther@suse.de>
4261
4262 * c-pretty-print.c (pp_c_initializer_list): Adjust.
4263
249faa35 42642012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
4265
4266 PR c++/44783
4267 * c.opt (ftemplate-backtrace-limit) Add.
4268
126b6848 42692012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4270
4271 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
4272 handling.
4273 * c-pragma.c (handle_pragma_extern_prefix): Remove.
4274 (init_pragma): Don't register extern_prefix.
4275
a51edb4c 42762012-03-12 Richard Guenther <rguenther@suse.de>
4277
4278 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
4279 (builtin_type_for_size): Likewise.
4280
0f6a7cb7 42812012-02-13 Jakub Jelinek <jakub@redhat.com>
4282
4283 PR c++/52215
4284 * c-common.c (sync_resolve_params): Don't decide whether to convert
4285 or not based on TYPE_SIZE comparison, convert whenever arg_type
4286 is unsigned INTEGER_TYPE.
4287
0779e32c 42882012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
4289
4290 PR c/52118
4291 * c.opt ([Wunused-local-typedefs]): Fix description.
4292
baec58e1 42932012-01-24 Mike Stump <mikestump@comcast.net>
4294
4295 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
4296 exactly.
4297
c779d8cc 42982012-01-18 Richard Guenther <rguenther@suse.de>
4299
4300 * c-opts.c (c_common_post_options): Reset LTO flags if
4301 we are about to generate a PCH.
4302
ee917d24 43032012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
4304
4305 PR c++/51777
4306 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
4307 use pp_unsigned_wide_integer.
4308
90e2341f 43092012-01-10 Richard Guenther <rguenther@suse.de>
4310
4311 PR middle-end/51806
4312 * c-opts.c (c_common_handle_option): Move -Werror handling
4313 to language independent code.
4314
9ea022ce 43152012-01-05 Richard Guenther <rguenther@suse.de>
4316
4317 PR middle-end/51764
4318 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
4319 from common.opt.
4320
3df19e1b 43212011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4322
4323 PR c++/51316
4324 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
4325 of array types with an unknown bound.
4326
32074525 43272011-12-20 Joseph Myers <joseph@codesourcery.com>
4328
4329 * c-common.c (flag_isoc99): Update comment to refer to C11.
4330 (flag_isoc1x): Change to flag_isoc11.
4331 * c-common.h (flag_isoc99): Update comment to refer to C11.
4332 (flag_isoc1x): Change to flag_isoc11.
4333 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
4334 C11.
4335 * c-opts.c (set_std_c1x): Change to set_std_c11.
4336 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
4337 Call set_std_c11.
4338 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
4339 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
4340 * c.opt (std=c1x): Change to std=c11. Document as non-draft
4341 standard.
4342 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
4343 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
4344 (std=gnu1x): Make alias of std=gnu11.
4345
fca86134 43462011-12-19 Jason Merrill <jason@redhat.com>
4347
4348 PR c++/51228
4349 * c-common.c (handle_transparent_union_attribute): Check the first
4350 field if the type is complete.
4351
aa4313eb 43522011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
4353
4354 PR libstdc++/51365
4355 * c-common.c (RID_IS_FINAL): Add.
4356 * c-common.h (RID_IS_FINAL): Add.
4357
3f3d5ad4 43582011-11-30 Iain Sandoe <iains@gcc.gnu.org>
4359
4360 * c.opt (fgnu-runtime): Provide full description.
4361 (fnext-runtime): Likewise.
4362 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
4363
c4606d19 43642011-11-28 Andrew MacLeod <amacleod@redhat.com>
4365
4366 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
4367 predefines in one place. Add LOCK_FREE predefines.
4368 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
4369 new func.
4370
1d581089 43712011-11-24 Andrew MacLeod <amacleod@redhat.com>
4372
4373 PR c/51256
19931eea 4374 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 4375 conditions
19931eea 4376 (resolve_overloaded_atomic_exchange,
4377 resolve_overloaded_atomic_compare_exchange,
1d581089 4378 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
4379 error_mark_node for error conditions.
19931eea 4380
6aa221fa 43812011-11-08 Richard Guenther <rguenther@suse.de>
4382
4383 PR middle-end/51010
4384 c-family/
4385
4c0315d0 43862011-11-07 Richard Henderson <rth@redhat.com>
4387 Aldy Hernandez <aldyh@redhat.com>
4388 Torvald Riegel <triegel@redhat.com>
4389
4390 Merged from transactional-memory.
4391
4392 * c-common.c (handle_tm_wrap_attribute,
4393 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
4394 (struct c_common_reswords): Added __transaction* keywords.
4395 (struct c_common_attribute_table): Added transaction* and tm_regparm
4396 attributes.
4397 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
4398 masks.
4399 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
4400 find_tm_attribute): Declare.
4401
920f5a70 44022011-11-07 Jason Merrill <jason@redhat.com>
4403
4404 PR c++/35688
4405 * c-common.c, c-common.h: Revert yesterday's changes.
4406
b4f861b4 44072011-11-06 Jason Merrill <jason@redhat.com>
4408
4409 PR c++/35688
4410 * c-common.c (decl_has_visibility_attr): Split out from...
4411 (c_determine_visibility): ...here.
4412 * c-common.h: Declare it.
4413
83e25171 44142011-11-06 Joseph Myers <joseph@codesourcery.com>
4415
4416 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
4417 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
4418 type.
4419 (check_user_alignment): New. Split out of
4420 handle_aligned_attribute. Disallow integer constants with
4421 noninteger types. Conditionally allow zero.
4422 (handle_aligned_attribute): Use check_user_alignment.
4423 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
4424
1cd6e20d 44252011-11-06 Andrew MacLeod <amacleod@redhat.com>
4426 Richard Henderson <rth@redhat.com>
4427
4428 Merged from cxx-mem-model.
4429
4430 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 4431 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 4432 parameters that are the same type size.
4433 (get_atomic_generic_size): New. Find size of generic
4434 atomic function parameters and do typechecking.
4435 (add_atomic_size_parameter): New. Insert size into parameter list.
4436 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4437 either __atomic_exchange_n or external library call.
19931eea 4438 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 4439 __atomic_compare_exchange to either _n variant or external library call.
19931eea 4440 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 4441 __atomic_load_n or an external library call.
4442 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4443 __atomic_store_n or an external library call.
4444 (resolve_overloaded_builtin): Handle new __atomic builtins.
4445
7549df0d 44462011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4447
4448 PR c++/50608
4449 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4450 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4451 <INDIRECT_REF>: Return the argument.
4452 <ARRAY_REF>: Remove special code for negative offset.
4453 Call fold_build_pointer_plus instead of size_binop.
4454 (fold_offsetof): Remove STOP_REF argument and adjust.
4455 * c-common.h (fold_offsetof_1): Declare.
4456 (fold_offsetof): Remove STOP_REF argument.
4457
7e783eb3 44582011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4459
4460 PR c++/50810
4461 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4462 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4463 Wnarrowing for C++0x and C++98.
4464 * c.opt ([Wnarrowing]): Update.
4465
8fe701f5 44662011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4467
4468 PR c++/44277
4469 * c.opt: Add Wzero-as-null-pointer-constant.
4470
0d84dc2d 44712011-10-31 Jason Merrill <jason@redhat.com>
4472
67031f52 4473 * c.opt (-fdeduce-init-list): Off by default.
4474
0d84dc2d 4475 PR c++/50920
4476 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4477 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4478 and -Wc++11-compat.
4479 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4480
66f24c41 44812011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4482
4483 PR c++/30066
4484 * c.opt (fvisibility-inlines-hidden): Description change.
4485
244db24d 44862011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4487
4488 Implement C++11 user-defined literals.
4489 * c-common.c (build_userdef_literal): New.
4490 * c-common.def: New tree code.
4491 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4492 * c-lex.c (interpret_float): Add suffix parm.
4493 (c_lex_with_flags): Build literal tokens.
4494
235be70f 44952011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4496
4497 PR c++/50841
4498 Revert:
4499 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4500
4501 PR c++/50810
4502 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4503 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4504 Wnarrowing for C++0x and C++98.
4505 * c.opt ([Wnarrowing]): Update.
4506
4fe0fb1c 45072011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4508
4509 PR c++/50810
4510 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4511 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4512 Wnarrowing for C++0x and C++98.
4513 * c.opt ([Wnarrowing]): Update.
4514
5f7504f9 45152011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4516
4517 PR c++/45385
4518 * c-common.c (conversion_warning): Remove code looking for
4519 artificial operands.
4520
2a688977 45212011-10-18 Dodji Seketeli <dodji@redhat.com>
4522
4523 PR bootstrap/50760
4524 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 4525 !NO_IMPLICIT_EXTERN_C.
2a688977 4526
326e3391 45272011-10-17 Michael Spertus <mike_spertus@symantec.com>
4528
4529 * c-common.c (c_common_reswords): Add __bases,
4530 __direct_bases.
4531 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4532
45332011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4534
4535 PR c++/50757
4536 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4537
62db153a 45382011-10-15 Tom Tromey <tromey@redhat.com>
4539 Dodji Seketeli <dodji@redhat.com>
4540
4541 * c.opt (fdebug-cpp): New option.
4542 * c-opts.c (c_common_handle_option): Handle the option.
4543 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4544 output stream in parameter. Factorized from ...
4545 (maybe_print_line): ... this. Dump location debug information when
4546 -fdebug-cpp is in effect.
4547 (print_line_1): New static function. Takes an output stream in
4548 parameter. Factorized from ...
4549 (print_line): ... here. Dump location information when -fdebug-cpp
4550 is in effect.
4551 (scan_translation_unit): Dump location information when
4552 -fdebug-cpp is in effect.
4553
ce70f433 45542011-10-15 Tom Tromey <tromey@redhat.com>
4555 Dodji Seketeli <dodji@redhat.com>
4556
4557 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4558 without argument.
4559 * c-opts.c (c_common_handle_option)<case
4560 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4561 cases. Handle -ftrack-macro-expansion with and without argument.
4562
97bfb9ef 45632011-10-15 Tom Tromey <tromey@redhat.com>
4564 Dodji Seketeli <dodji@redhat.com>
4565
4566 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4567 (print_line, cb_define, do_line_change): Adjust to avoid touching
4568 the internals of struct line_map. Use the public API instead.
4569 * c-pch.c (c_common_read_pch): Likewise.
4570 * c-lex.c (fe_file_change): Likewise.
4571
326e3391 45722011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4573
4574 PR c++/17212
4575 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4576
45772011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4578
4579 PR c++/33067
4580 * c-pretty-print.c (pp_c_floating_constant): Output
4581 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4582
b9a16870 45832011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4584
4585 * c-common.c (def_builtin_1): Delete old interface with two
4586 parallel arrays to hold standard builtin declarations, and replace
4587 it with a function based interface that can support creating
4588 builtins on the fly in the future. Change all uses, and poison
4589 the old names. Make sure 0 is not a legitimate builtin index.
4590 * c-omp.c (c_finish_omp_barrier): Ditto.
4591 (c_finish_omp_taskwait): Ditto.
4592 (c_finish_omp_flush): Ditto.
4593
c7964868 45942011-10-11 Tristan Gingold <gingold@adacore.com>
4595
4596 * c.opt: (fallow-parameterless-variadic-functions): New.
4597
a4e3ffad 45982011-09-08 Dodji Seketeli <dodji@redhat.com>
4599
4600 PR c++/33255 - Support -Wunused-local-typedefs warning
4601 * c-common.h (struct c_language_function::local_typedefs): New
4602 field.
19931eea 4603 (record_locally_defined_typedef, maybe_record_typedef_use)
4604 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 4605 * c-common.c (record_locally_defined_typedef)
19931eea 4606 (maybe_record_typedef_use)
4607 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 4608 * c.opt: Declare new -Wunused-local-typedefs flag.
4609
737a23cc 46102011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4611
4612 PR middle-end/50266
4613 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4614 computations.
4615
7542c3b4 46162011-09-05 Richard Guenther <rguenther@suse.de>
4617
4618 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4619 of integer_minus_one_node for empty array upper bounds.
4620
1dc92c59 46212011-08-28 Dodji Seketeli <dodji@redhat.com>
4622
4623 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4624 it's the first time it's being called on this main TU.
4625
2bdf2b6e 46262011-08-24 Richard Guenther <rguenther@suse.de>
4627
4628 PR c/49396
4629 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4630
46312011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 4632
4633 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4634 defined in cpp_init_builtins and c_cpp_builtins.
4635
bff4ad11 46362011-08-19 Joseph Myers <joseph@codesourcery.com>
4637
4638 * c-common.c (c_common_reswords): Add __builtin_complex.
4639 * c-common.h (RID_BUILTIN_COMPLEX): New.
4640
985c6e3a 46412011-08-18 Joseph Myers <joseph@codesourcery.com>
4642
4643 * c-common.c (c_common_reswords): Add _Noreturn.
4644 (keyword_is_function_specifier): Handle RID_NORETURN.
4645 * c-common.h (RID_NORETURN): New.
4646
7dfa155b 46472011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4648
4649 * c-common.c (unsafe_conversion_p): New function. Check if it is
4650 unsafe to convert an expression to the type.
4651 (conversion_warning): Adjust, use unsafe_conversion_p.
4652 * c-common.h (unsafe_conversion_p): New function declaration.
4653
2169f33b 46542011-08-02 Jakub Jelinek <jakub@redhat.com>
4655
4656 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4657 (c_finish_omp_taskyield): New prototype.
4658 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4659 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4660 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4661 or RHS1 have side-effects, evaluate those too in the right spot,
4662 if it is a decl and LHS is also a decl, error out if they
4663 aren't the same.
4664 (c_finish_omp_taskyield): New function.
4665 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4666 * c-pragma.c (omp_pragmas): Add taskyield.
4667 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4668 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4669 PRAGMA_OMP_CLAUSE_MERGEABLE.
4670
ab77850e 46712011-07-25 Dodji Seketeli <dodji@redhat.com>
4672
4673 * c-common.h (set_underlying_type): Remove parm name from
4674 declaration.
4675
6ee97920 46762011-07-25 Romain Geissler <romain.geissler@gmail.com>
4677
4678 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 4679
dc251364 46802011-07-22 Jason Merrill <jason@redhat.com>
4681
1a2a35f0 4682 PR c++/49793
4683 * c.opt (Wnarrowing): New.
4684
27282252 4685 PR c++/30112
4686 * c-common.h: Declare c_linkage_bindings.
4687 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4688
dc251364 4689 PR c++/49813
4690 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4691 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4692 as flag_isoc99 for 'restrict'.
4693 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4694
fc501191 46952011-07-21 Ian Lance Taylor <iant@google.com>
4696
4697 PR middle-end/49705
4698 * c-common.c (c_disable_warnings): New static function.
4699 (c_enable_warnings): New static function.
4700 (c_fully_fold_internal): Change local unused_p to bool. Call
4701 c_disable_warnings and c_enable_warnings rather than change
4702 c_inhibit_evaluation_warnings.
4703
07b8f133 47042011-07-20 Jason Merrill <jason@redhat.com>
4705
4706 PR c++/6709 (DR 743)
4707 PR c++/42603 (DR 950)
4708 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4709 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4710 (CPP_DECLTYPE): New.
4711 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4712
2cc66f2a 47132011-07-19 Richard Guenther <rguenther@suse.de>
4714
4715 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4716 * c-omp.c (c_finish_omp_for): Likewise.
4717
3c802a1e 47182011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4719
4720 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4721 body on the next line.
4722
98a33d9f 47232011-07-08 Jason Merrill <jason@redhat.com>
4724
3115bda0 4725 PR c++/45437
4726 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4727
98a33d9f 4728 PR c++/49673
4729 * c-common.c (c_apply_type_quals_to_decl): Don't check
4730 TYPE_NEEDS_CONSTRUCTING.
4731
c38a75b7 47322011-07-06 Richard Guenther <rguenther@suse.de>
4733
4734 * c-common.c (c_common_nodes_and_builtins):
4735 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4736
e593356b 47372011-07-05 Richard Guenther <rguenther@suse.de>
4738
4739 * c-common.c (c_common_nodes_and_builtins): Build all common
4740 tree nodes first.
4741
fca0886c 47422011-06-27 Jakub Jelinek <jakub@redhat.com>
4743
a68f7a8d 4744 * c-common.h (c_tree_chain_next): New static inline function.
4745
fca0886c 4746 * c-common.c (check_builtin_function_arguments): Handle
4747 BUILT_IN_ASSUME_ALIGNED.
4748
2797f13a 47492011-06-21 Andrew MacLeod <amacleod@redhat.com>
4750
4751 * c-common.c: Add sync_ or SYNC__ to builtin names.
4752 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 4753
47542011-06-20 Pierre Vittet <piervit@pvittet.com>
4755
4756 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4757 handler.
4758 (gen_pragma_handler): New union.
4759 (internal_pragma_handler): New type.
4760 (c_register_pragma_with_data)
4761 (c_register_pragma_with_expansion_and_data): New functions.
4762
4763 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4764 (c_register_pragma, c_register_pragma_with_expansion)
4765 (c_invoke_pragma_handler): Changed to work with
4766 internal_pragma_handler.
4767 (c_register_pragma_with_data)
4768 (c_register_pragma_with_expansion_and_data): New functions.
4769
218e3e4e 47702011-06-14 Joseph Myers <joseph@codesourcery.com>
4771
4772 * c-common.c: Include common/common-target.h.
4773 (handle_section_attribute): Use
4774 targetm_common.have_named_sections.
4775 * c-cppbuiltin.c: Include common/common-target.h.
4776 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4777
41e53ed2 47782011-06-10 Richard Guenther <rguenther@suse.de>
4779
4780 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4781 to print a IDENTIFIER_NODE.
4782
a6f06169 47832011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4784 Joseph Myers <joseph@codesourcery.com>
4785
4786 * c.opt (fbuilding-libgcc): New option.
4787 * c-cppbuiltin.c (c_cpp_builtins): Define
4788 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4789
1ea9269b 47902011-06-07 Jason Merrill <jason@redhat.com>
4791
8ce59854 4792 * c-common.c (max_tinst_depth): Lower default to 900.
4793
1ea9269b 4794 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4795
1af0124d 47962011-06-07 Richard Guenther <rguenther@suse.de>
4797
4798 * c-common.c (c_common_nodes_and_builtins): Do not set
4799 size_type_node or call set_sizetype.
4800
0e9a4c01 48012011-06-07 Dodji Seketeli <dodji@redhat.com>
4802
4803 PR debug/49130
4804 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 4805 type when using pointer comparison to compare types.
0e9a4c01 4806
90b40725 48072011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4808
4809 * c.opt: Add -Wdelete-non-virtual-dtor.
4810 * c-opts.c (c_common_handle_option): Include it in -Wall.
4811
fc9c9e87 48122011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4813
4814 PR bootstrap/49190
4815
4816 Revert:
4817 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4818
4819 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4820 not tree_common.
4821
d0389adc 48222011-05-27 Jakub Jelinek <jakub@redhat.com>
4823
4824 PR c++/49165
4825 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4826 C++ don't call c_common_truthvalue_conversion on void type arms.
4827
cacfdc02 48282011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4829
4830 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4831 (stmt_list_stack): Define.
4832 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4833 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4834
027fc6ef 48352011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4836
4837 * c-common.c (warning_candidate_p): Check for BLOCKs.
4838
f21317a1 48392011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4840
4841 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4842 not tree_common.
4843
789e953d 48442011-05-25 Jakub Jelinek <jakub@redhat.com>
4845
4846 * c-common.c (def_fn_type): Remove extra va_end.
4847
7f506bca 48482011-05-23 Jason Merrill <jason@redhat.com>
4849
4850 PR c++/48106
4851 * c-common.c (c_common_get_narrower): New.
4852 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4853
774e9d58 48542011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4855
4856 * c-common.h (check_function_arguments): Tweak prototype of
4857 check_function_arguments.
4858 * c-common.c (check_function_arguments): Likewise. Adjust
4859 calls to check_function_nonnull, check_function_format, and
4860 check_function_sentinel.
4861 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4862 separate attributes and typelist arguments. Use
4863 FOREACH_FUNCTION_ARGS to iterate over argument types.
4864
23407dc9 48652011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4866
4867 * c-common.c (c_common_reswords): Reorder.
4868 * c-common.h (rid): Likewise.
4869
3a939d12 48702011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4871
4872 * c-common.c (def_fn_type): Don't call build_function_type, call
4873 build_function_type_array or build_varargs_function_type_array
4874 instead.
4875 (c_common_nodes_and_builtins): Likewise.
4876
b6e3dd65 48772011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4878
4879 * c-common.c (c_add_case_label): Omit the loc argument to
4880 build_case_label.
4881 * c-common.h (build_case_label): Remove.
4882 * c-semantics.c (build_case_label): Remove.
4883
4232a958 48842011-05-05 Joseph Myers <joseph@codesourcery.com>
4885
4886 * c-objc.h (objc_start_method_definition): Update prototype.
4887 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4888
d0af78c5 48892011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4890
4891 * c-common.c (check_main_parameter_types): Reindent. Don't use
4892 TYPE_ARG_TYPES directly.
4893 (handle_nonnull_attribute): Likewise.
4894 (sync_resolve_params): Likewise.
4895 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4896 to check_format_string.
4897 (handle_format_attribute): Likewise.
4898 (check_format_string): Take a function type to examine instead of
4899 a type list. Use a function_arg_iterator to step through argument
4900 types.
4901
ceb7b692 49022011-05-04 Richard Guenther <rguenther@suse.de>
4903
4904 * c-common.c (fix_string_type): Use size_int for index type bounds.
4905 (start_fname_decls): Do not pass NULL to build_int_cst.
4906 (c_init_attributes): Likewise.
4907 * c-lex.c (c_lex_with_flags): Likewise.
4908
c66c81be 49092011-04-27 Jason Merrill <jason@redhat.com>
4910
4911 * c-common.c (make_tree_vector_from_list): New.
4912 * c-common.h: Declare it.
4913
16930c72 49142011-04-26 Richard Guenther <rguenther@suse.de>
4915
4916 PR preprocessor/48248
4917 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4918 for output size with -P.
4919
23407dc9 49202011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4921
4922 * c-common.c (struct c_common_resword): Add __underlying_type.
4923 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4924
dd045aee 49252011-04-20 Jim Meyering <meyering@redhat.com>
4926
4927 * c-format.c (init_dollar_format_checking): Remove useless
4928 if-before-free.
4929
394dd737 49302011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4931
4932 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 4933 (objc_detect_field_duplicates): New.
394dd737 4934 * stub-objc.c: Likewise.
23407dc9 4935
a758bf7d 49362011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4937
4938 * stub-objc.c (objc_declare_protocols): Renamed to
4939 objc_declare_protocol.
4940 * c-objc.h: Likewise.
23407dc9 4941
29d7200d 49422011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4943
4944 * stub-objc.c (objc_declare_class): Updated argument name.
4945
9b88d08d 49462011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4947
4948 * c-common.h (c_common_init_ts): Declare.
4949 * c-common.c (c_common_init_ts): Define.
4950
4185cf58 49512011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4952
4953 * c-objc.h (objc_build_message_expr): Updated prototype.
4954 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4955
5a90471f 49562011-04-12 Martin Jambor <mjambor@suse.cz>
4957
4958 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4959 of cgraph_node.
4960
783bb57e 49612011-04-11 Richard Guenther <rguenther@suse.de>
4962
4963 * c-common.c (complete_array_type): Build a range type of
4964 proper type.
4965
c33080b9 49662011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4967
4968 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4969 (handle_type_generic_attribute): Likewise.
4970
f8913d47 49712011-04-07 Jason Merrill <jason@redhat.com>
4972
4973 PR c++/48450
4974 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4975 conversion from C++0x scoped enum.
4976
c94b1d0e 49772011-04-06 Joseph Myers <joseph@codesourcery.com>
4978
4979 * c-target-def.h: New file.
4980 * c-target.def: New file.
4981 * c-target.h: New file.
4982 * c-common.c (targetcm): Don't define here.
4983 * c-common.h (default_handle_c_option): Declare.
4984 * c-format.c: Include c-target.h instead of target.h.
4985 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4986 include tm.h.
4987 (default_handle_c_option): Move from targhooks.c.
4988
acb10f41 49892011-03-29 Jakub Jelinek <jakub@redhat.com>
4990
4991 PR preprocessor/48248
4992 * c-ppoutput.c (print): Add src_file field.
4993 (init_pp_output): Initialize it.
4994 (maybe_print_line): Don't optimize by adding up to 8 newlines
4995 if map->to_file and print.src_file are different file.
4996 (print_line): Update print.src_file.
4997
82715bcd 49982011-03-25 Kai Tietz <ktietz@redhat.com>
4999
5000 * c-ada-spec.c (compare_comment): Use filename_cmp
5001 instead of strcmp for filename.
5002
451c8e2f 50032011-03-25 Jeff Law <law@redhat.com>
5004
1f78217c 5005 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 5006
3c47771c 50072011-03-25 Jason Merrill <jason@redhat.com>
5008
5009 * c.opt: Add -std=c++03.
5010
97e6200f 50112011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5012
5013 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
5014
ac86af5d 50152011-03-17 Kai Tietz
5016
5017 PR target/12171
ee212425 5018 * c-pretty-print.c (pp_c_specifier_qualifier_list):
5019 Display allowed attributes for function pointer types.
5020 (pp_c_attributes_display): New function to display
5021 attributes having affects_type_identity flag set to true.
5022 * c-pretty-print.h (pp_c_attributes_display): New prototype.
5023
ac86af5d 5024 * c-common.c (c_common_attribute_table):
5025 Add new element.
5026 (c_common_format_attribute_table): Likewise.
5027
914d1151 50282011-03-18 Jason Merrill <jason@redhat.com>
5029
69788bdf 5030 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
5031 * c-common.h: Don't declare it here.
5032 * c-common.c: Or define it here.
5033 * c-opts.c (c_common_handle_option): Or set it here.
5034
914d1151 5035 PR c++/35315
5036 * c-common.c (handle_transparent_union_attribute): Don't
5037 make a duplicate type in C++.
5038
54cf6eed 50392011-03-15 Jason Merrill <jason@redhat.com>
5040
5041 * c-common.c (max_constexpr_depth): New.
5042 * c-common.h: Declare it.
5043 * c-opts.c (c_common_handle_option): Set it.
5044 * c.opt (fconstexpr-depth): New option.
5045
02cb1060 50462011-03-11 Jason Merrill <jason@redhat.com>
5047
9bf1c74e 5048 * c-common.c (attribute_takes_identifier_p): Add missing const.
5049
02cb1060 5050 PR c++/46803
5051 * c-common.c (attribute_takes_identifier_p): Assume that an
5052 unknown attribute takes an identifier.
5053
ecf2703d 50542011-03-07 Nathan Froyd <froydnj@codesourcery.com>
5055
5056 PR c/47786
5057 * c-common.c (c_type_hash): Call list_length instead of iterating
5058 through DECL_CHAIN. Rename 'i' to 'n_elements'.
5059
2b19dfe4 50602011-02-19 Jakub Jelinek <jakub@redhat.com>
5061
5062 PR c/47809
5063 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
5064
29cf2335 50652011-02-17 Iain Sandoe <iains@gcc.gnu.org>
5066
5067 * c.opt (fobjc-abi-version=) New.
5068 (fobjc-nilcheck): New.
5069
fad3f658 50702011-02-03 Nathan Froyd <froydnj@codesourcery.com>
5071
5072 PR c++/46890
5073 * c-common.h (keyword_is_decl_specifier): Declare.
5074 * c-common.c (keyword_is_decl_specifier): Define.
5075 (keyword_is_function_specifier): New function.
5076
a12319b3 50772011-01-26 Jakub Jelinek <jakub@redhat.com>
5078
5079 PR c/47473
5080 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
5081 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
5082 REAL_TYPE.
5083
5c128dc8 50842011-01-26 Arnaud Charlet <charlet@adacore.com>
5085
5086 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
5087
8d67b0c7 50882011-01-26 Jakub Jelinek <jakub@redhat.com>
5089
5090 PR pch/47430
5091 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
5092 after init_c_lex if pch_file is set.
5093
0675168d 50942011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
5095
e8911163 5096 PR c++/43601
0675168d 5097 * c.opt (-fkeep-inline-dllexport): New switch.
5098
0725e25c 50992011-01-12 Richard Guenther <rguenther@suse.de>
5100
5101 PR middle-end/32511
5102 * c-common.c (handle_weak_attribute): Warn instead of error
5103 on declaring an inline function weak.
5104
fdd84b77 51052011-01-05 Tom Tromey <tromey@redhat.com>
5106
5107 * c-common.h (lvalue_error): Update.
5108 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
5109 not error.
5110
e6e73d14 51112010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 5112
d67e8485 5113 PR objc/47075
5114 * c-objc.h (objc_finish_message_expr): Added argument to
5115 prototype.
5116
a36cf284 51172010-12-22 Nathan Froyd <froydnj@codesourcery.com>
5118
5119 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
5120 Use prototype_p.
5121
33b3681f 51222010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
5123
5124 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 5125 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 5126
a1f90215 51272010-12-10 Nathan Froyd <froydnj@codesourcery.com>
5128
5129 * c-common.h (readonly_error): Declare.
5130 * c-common.c (readonly_error): Define.
5131
b1bbc8e5 51322010-12-09 Nathan Froyd <froydnj@codesourcery.com>
5133
5134 * c-common.h (invalid_indirection_error): Declare.
5135 * c-common.c (invalid_indirection_error): Define.
5136
b0d55af9 51372010-12-03 Richard Guenther <rguenther@suse.de>
5138
5139 PR c/46745
5140 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
5141 (pp_c_unary_expression): Likewise.
5142 (pp_c_expression): Likewise.
5143
d7489d8d 51442010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
5145
5146 * c-common.h (objc_finish_function): New.
5147 (objc_non_volatilized_type): Removed.
5148 (objc_type_quals_match): Removed.
5149 * stub-objc.c (objc_finish_function): New.
5150 (objc_non_volatilized_type): Removed.
5151 (objc_type_quals_match): Removed.
19931eea 5152
92468061 51532010-11-30 Joseph Myers <joseph@codesourcery.com>
5154
5155 * c-common.h (parse_optimize_options): Declare.
5156 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
5157 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
5158
967958e4 51592010-11-29 Joseph Myers <joseph@codesourcery.com>
5160
5161 * c-opts.c (check_deps_environment_vars): Use getenv instead of
5162 GET_ENVIRONMENT.
5163 * c-pch.c (O_BINARY): Don't define here.
5164 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
5165
b213bf24 51662010-11-25 Joseph Myers <joseph@codesourcery.com>
5167
5168 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
5169 targetm.except_unwind_info.
5170
9faf44d6 51712010-11-23 Joseph Myers <joseph@codesourcery.com>
5172
5173 * c-opts.c (c_common_handle_option): Pass location to
5174 set_struct_debug_option.
5175
79396169 51762010-11-23 Joseph Myers <joseph@codesourcery.com>
5177
5178 * c-common.c (visibility_options): Move from ../opts.c.
5179 * c-common.h (struct visibility_flags, visibility_options):
5180 Declare here.
5181 * c-opts.c (finish_options): Rename to c_finish_options.
5182 (c_common_init): Update call to finish_options.
5183
b4aa4123 51842010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
5185
5186 PR objc/34033
5187 * c-lex.c (lex_string): Check that each string in an Objective-C
5188 string concat sequence starts with either one or zero '@', and
5189 that there are no spurious '@' signs at the end.
5190
3e0e49f2 51912010-11-20 Joseph Myers <joseph@codesourcery.com>
5192
5193 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
5194 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
5195 HANDLE_PRAGMA_VISIBILITY.
5196 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
5197 HANDLE_PRAGMA_VISIBILITY): Don't define.
5198 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
5199
a9ffdd35 52002010-11-20 Nathan Froyd <froydnj@codesourcery.com>
5201
5202 PR c++/16189
5203 PR c++/36888
5204 PR c++/45331
5205 * c-common.h (keyword_begins_type_specifier): Declare.
5206 (keyword_is_storage_class_specifier): Declare.
5207 (keyword_is_type_qualifier): Declare.
5208 * c-common.c (keyword_begins_type_specifier): New function.
5209 (keyword_is_storage_class_specifier): New function.
5210 (keyword_is_type_qualifier): Declare.
5211
93be21c0 52122010-11-19 Joseph Myers <joseph@codesourcery.com>
5213
5214 PR c/46547
5215 * c-common.c (in_late_binary_op): Define.
5216 (c_common_truthvalue_conversion): Check in_late_binary_op before
5217 calling c_save_expr.
5218 * c-common.h (in_late_binary_op): Declare.
5219
d7175aef 52202010-11-19 Joseph Myers <joseph@codesourcery.com>
5221
5222 * c-opts.c (c_common_handle_option): Update calls to
5223 set_struct_debug_option.
5224
c213e196 52252010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
5226
5227 * c-common.h (objc_declare_protocols): Added additional argument.
5228 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 5229
0b5fc5d6 52302010-11-18 Nathan Froyd <froydnj@codesourcery.com>
5231
5232 PR c/33193
5233 * c-common.h (build_real_imag_expr): Declare.
5234 * c-semantics.c (build_real_imag_expr): Define.
5235
b8ba44e7 52362010-11-17 Joseph Myers <joseph@codesourcery.com>
5237
5238 * c-opts.c (c_common_parse_file): Take no arguments.
5239 * c-common.h (c_common_parse_file): Update prototype.
5240
6ef8d12f 52412010-11-16 Jakub Jelinek <jakub@redhat.com>
5242
5243 PR c++/46401
5244 * c-common.c (warning_candidate_p): Don't track non-const calls
5245 or STRING_CSTs.
5246
929d2a90 52472010-11-15 Ian Lance Taylor <iant@google.com>
5248
5249 * c-lex.c (init_c_lex): Set macro debug callbacks if
5250 flag_dump_go_spec is set.
5251
e4a7640a 52522010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
5253
5254 * c-common.h (objc_build_incr_expr_for_property_ref): New.
5255 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
5256
597d2d81 52572010-11-15 Nathan Froyd <froydnj@codesourcery.com>
5258
5259 PR preprocessor/45038
5260 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
5261 dialects.
5262
c123f04d 52632010-11-12 Joseph Myers <joseph@codesourcery.com>
5264
5265 * c-common.h (c_family_lang_mask): Declare.
5266 * c-opts.c (c_family_lang_mask): Make extern.
5267 * c-pragma.c (handle_pragma_diagnostic): Use
5268 control_warning_option.
5269
3c6c0e40 52702010-11-12 Joseph Myers <joseph@codesourcery.com>
5271
5272 * c-common.c (parse_optimize_options): Update call to
5273 decode_options.
5274 * c-common.h (c_common_handle_option): Update prototype.
5275 * c-opts.c (c_common_handle_option): Take location_t parameter and
5276 pass it to other functions.
5277
19ec5c9e 52782010-11-11 Joseph Myers <joseph@codesourcery.com>
5279
5280 * c-opts.c (warning_as_error_callback): Remove.
5281 (c_common_initialize_diagnostics): Don't call
5282 register_warning_as_error_callback.
5283 (c_common_handle_option): Handle -Werror=normalized= here.
5284
bf776685 52852010-11-10 Joseph Myers <joseph@codesourcery.com>
5286
5287 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
5288 in diagnostic.
5289 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
5290 letter.
5291 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
5292 Remove trailing '.' from diagnostics.
5293 * c.opt (Wwrite-strings_: Avoid '`' in help text.
5294
6bd9d862 52952010-11-10 Joseph Myers <joseph@codesourcery.com>
5296
5297 * c-common.c (parse_optimize_options): Pass global_dc to
5298 decode_options.
5299 * c-opts.c (c_common_handle_option): Pass &global_options to
5300 set_Wstrict_aliasing.
5301 * c.opt (v): Don't mark Common or document here.
5302
1f6616ee 53032010-11-06 Iain Sandoe <iains@gcc.gnu.org>
5304
5305 PR target/44981
5306 * c-format.c (format_type): New type gcc_objc_string_format_type.
5307 (valid_stringptr_type_p): New.
5308 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 5309 (check_format_string): Pass expected type, use
1f6616ee 5310 valid_stringptr_type_p (), check that the format string types are
5311 consistent with the format specification.
5312 (decode_format_attr): Warn if NSString is used outside objective-c.
5313 (format_types_orig): Add NSString.
5314 (format_name): New.
5315 (format_flags): New.
5316 (check_format_arg): Handle format strings requiring an external parser.
5317 first_target_format_type: New variable.
5318 (handle_format_attribute): Set up first_target_format_type, pass the
5319 expected format arg string type to check_format_string().
5320 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
5321 * stub-objc.c (objc_string_ref_type_p): New.
5322 (objc_check_format_arg): New.
5323
b0d0931f 53242010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
5325
19931eea 5326 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 5327 * c-common.h (objc_build_class_component_ref): New.
5328 * stub-objc.c (objc_build_class_component_ref): New.
5329
f26877d5 53302010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5331
5332 * c.opt (Wproperty-assign-default): New option.
5333
1ef143b6 53342010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
5335
5336 Implemented -fobjc-std=objc1 flag.
5337 * c.opt (fobjc-std=objc1): New option.
5338
8c582e4f 53392010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
5340
5341 Implemented format and noreturn attributes for Objective-C methods.
5342 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
5343 attribute for Objective-C methods.
5344
8637f1db 53452010-10-31 Jason Merrill <jason@redhat.com>
5346
5347 * c-common.c (conversion_warning, warn_for_collisions_1): Use
5348 EXPR_LOC_OR_HERE.
5349
9d9f5bb3 53502010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
5351
5352 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
5353 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
5354 (objc_add_property_declaration): Removed arguments for copies and
5355 ivar.
5356 (objc_build_getter_call): Renamed to
5357 objc_maybe_build_component_ref.
5358 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5359 (objc_is_property_ref): New.
5360 * c-common.c (c_common_reswords): Removed copies and ivar.
5361 * stub-objc.c (objc_add_property_declaration): Removed arguments
5362 for copies and ivar.
5363 (objc_build_getter_call): Renamed to
5364 objc_maybe_build_component_ref.
5365 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
5366 (objc_is_property_ref): New.
19931eea 5367
56f907a0 53682010-10-29 Arnaud Charlet <charlet@adacore.com>
5369 Matthew Gingell <gingell@adacore.com>
5370
5371 * c-ada-spec.c (separate_class_package): New function.
5372 (pp_ada_tree_identifier): Prefix references to C++ classes with the
5373 name of their enclosing package.
5374 (print_ada_declaration): Use separate_class_package.
5375
b5fa273e 53762010-10-27 Jason Merrill <jason@redhat.com>
5377
5290e253 5378 * c-common.c (c_common_reswords): Add __is_literal_type.
5379 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
5380
b5fa273e 5381 * c-common.c (check_case_value): Remove special C++ code.
5382
7590f0e5 53832010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5384
5385 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
5386 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
5387 and RID_LAST_PATTR.
5388 (objc_add_property_declaration): Added additional arguments.
5389 (objc_property_attribute_kind): Removed.
5390 (objc_set_property_attr): Removed.
5391 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
5392 copy and nonatomic.
5393 * stub-objc.c (objc_add_property_declaration): Added additional
5394 arguments.
5395 (objc_set_property_attr): Removed.
19931eea 5396
1d894bcf 53972010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
5398
5399 * c-common.h (objc_add_property_variable): Renamed to
5400 objc_add_property_declaration. Added location argument.
5401 * stub-objc.c (objc_add_property_variable): Same change.
8204c077 5402
e23bf1fb 54032010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
5404
5405 * c-common.h (objc_maybe_printable_name): New.
5406 * stub-objc.c (objc_maybe_printable_name): New.
5407
93426222 54082010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
5409 Andrew Pinski <pinskia@gmail.com>
5410
5411 * c-common.h (c_common_mark_addressable_vec): Declare.
5412 * c-common.c (c_common_mark_addressable_vec): New function.
5413
45b2b110 54142010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5415
5416 * c-common.h (objc_set_method_type): Removed.
5417 (objc_add_method_declaration): Added boolean argument.
5418 (objc_start_method_definition): Same change.
5419 (objc_build_method_signature): Same change.
5420 * stub-objc.c (objc_set_method_type): Removed.
5421 (objc_add_method_declaration): Added boolean argument.
5422 (objc_start_method_definition): Same change.
5423 (objc_build_method_signature): Same change.
5424
64cd9619 54252010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5426
5427 * c-common.h (finish_file): Removed.
5428 (objc_write_global_declarations): New.
5429 * c-opts.c (c_common_parse_file): Do not call finish_file.
5430 * stub-objc.c (objc_write_global_declarations): New.
19931eea 5431
e1f293c0 54322010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5433
5434 Implemented parsing @synthesize and @dynamic for
5435 Objective-C/Objective-C++.
5436 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5437 (objc_add_synthesize_declaration): New.
5438 (objc_add_dynamic_declaration): New.
5439 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5440 * stub-objc.c (objc_add_synthesize_declaration): New.
5441 (objc_add_dynamic_declaration): New.
19931eea 5442
ef97a312 54432010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5444
5445 PR target/46041
5446 * c-cppbuiltin.c (mode_has_fma): Move function here from
5447 builtins.c. Don't use the fma optab, instead just use the
5448 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5449 using -save-temps.
5450
69b07042 54512010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5452
5453 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 5454
69b07042 5455 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5456
19931eea 5457 Radar 4330422
69b07042 5458 * c-common.h (objc_non_volatilized_type): New declaration
5459 * stub-objc.c (objc_non_volatilized_type): New stub.
5460
f15f2e56 54612010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5462
69b07042 5463 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 5464
5465 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5466
19931eea 5467 Radar 4133425
f15f2e56 5468 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 5469 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 5470
4a8875ed 54712010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5472
5473 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5474 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5475 (objc_ivar_visibility_kind): New enum.
5476 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 5477 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 5478 visibility enum.
5479
7e0713b1 54802010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5481
5482 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5483 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5484 has the appropriate fma builtins.
5485 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5486
86c110ac 54872010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5488
7e0713b1 5489 merge from FSF apple 'trunk' branch.
86c110ac 5490 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 5491
86c110ac 5492 Radars 4436866, 4505126, 4506903, 4517826
5493 * c-common.c (c_common_resword): Define @property and its attributes.
5494 * c-common.h: Define property attribute enum entries.
5495 (OBJC_IS_PATTR_KEYWORD): New.
5496 (objc_property_attribute_kind): New enum.
5497 Declare objc_set_property_attr (), objc_add_property_variable (),
5498 objc_build_getter_call () and objc_build_setter_call ().
5499 * stub-objc.c (objc_set_property_attr): New stub.
5500 (objc_add_property_variable): Likewise.
5501 (objc_build_getter_call): Likewise.
5502 (objc_build_setter_call) Likewise.
7e0713b1 5503
40c8d1dd 55042010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5505
7e0713b1 5506 merge from FSF apple 'trunk' branch.
40c8d1dd 5507 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5508
5509 Radar 3803157 (method attributes)
5510 * c-common.c (handle_deprecated_attribute): Recognize
5511 objc methods as valid declarations.
5512 * c-common.h: Declare objc_method_decl ().
7e0713b1 5513 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 5514
f3f006ad 55152010-10-08 Joseph Myers <joseph@codesourcery.com>
5516
5517 * c-common.c (parse_optimize_options): Call
5518 decode_cmdline_options_to_array_default_mask before
5519 decode_options. Update arguments to decode_options.
5520 * c-common.h (c_common_init_options_struct): Declare.
5521 * c-opts.c (c_common_init_options_struct): New. Split out from
5522 c_common_init_options.
5523
0a65c3bb 55242010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5525
5526 Implemented fast enumeration for Objective-C.
5527 * c-common.h (objc_finish_foreach_loop): New.
5528 * stub-objc.c (objc_finish_foreach_loop): New.
5529
24ca3b4e 55302010-10-05 Joseph Myers <joseph@codesourcery.com>
5531
5532 * c-common.h (struct diagnostic_context): Don't declare here.
5533 (c_common_initialize_diagnostics): Declare using
5534 diagnostic_context typedef.
5535 * c-opts.c (c_common_handle_option): Pass global_dc to
5536 handle_generated_option.
5537
f83b64ca 55382010-10-04 Joseph Myers <joseph@codesourcery.com>
5539
5540 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5541 handle_generated_option.
5542
2fdec027 55432010-10-03 Ian Lance Taylor <iant@google.com>
5544
5545 * c.opt (-fplan9-extensions): New option.
5546
41acdfa4 55472010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5548
5549 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5550 Remove.
5551 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5552 of duplicating code.
5553
069761fb 55542010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5555
5556 * c-common.c: Add two new entries for @optional
5557 and @required keywords.
5558
5559 merge from FSF 'apple/trunk' branch.
5560 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5561
5562 Radar 4386773
5563 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5564 objective-c keywords.
5565 (objc_set_method_opt): New declaration.
5566 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 5567
2c5d2e39 55682010-09-30 Joseph Myers <joseph@codesourcery.com>
5569
5570 * c-common.c (handle_optimize_attribute): Pass &global_options to
5571 cl_optimization_save and cl_optimization_restore.
5572 * c-opts.c (c_common_handle_option): Pass &global_options to
5573 handle_generated_option.
5574 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5575 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5576 &global_options to cl_optimization_restore.
5577
e5c75ac3 55782010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5579
5580 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5581 Objective-C/Objective-C++ keywords.
5582
3511333e 55832010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 5584
19931eea 5585 Merge from 'apple/trunk' branch on FSF servers.
5586
e147d6aa 5587 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5588
5589 Radar 4281748
5590 * c-common.h (objc_check_global_decl): New declaration.
5591 * stub-objc.c (objc_check_global_decl): New stub.
5592
5461e683 55932010-09-29 Joseph Myers <joseph@codesourcery.com>
5594
5595 * c.opt: Don't use VarExists.
5596
5ae82d58 55972010-09-29 Joseph Myers <joseph@codesourcery.com>
5598
5599 * c-common.c (c_cpp_error): Update names of diagnostic_context
5600 members.
5601 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5602 cl_optimization members.
5603 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5604 sanitize_cpp_opts, finish_options): Update names of cpp_options
5605 members.
5606
b27e241e 56072010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5608
5609 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5610 (objc_is_reserved_word): Removed.
5611 * c-common.c: Updated comments.
5612 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5613 objc_is_reserved_word.
5614 * stub-objc.c (objc_is_reserved_word): Removed.
5615
03fc2271 56162010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5617
19931eea 5618 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 5619 include attributes.
5620 (objc_start_method_definition): Likewise.
5621 (objc_build_keyword_decl): Likewise.
5622 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5623 (objc_start_method_definition): Likewise.
5624 (objc_build_keyword_decl): Likewise.
5625
a336eb4b 56262010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5627
5628 * c-common.h (objc_start_class_interface): Adjust prototype.
5629 (objc_start_category_interface): Likewise.
5630 (objc_start_protocol): Likewise.
5631 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5632 (objc_start_class_interface): Likewise.
5633 (objc_start_category_interface): Likewise.
5634
48b14f50 56352010-09-27 Ian Lance Taylor <iant@google.com>
5636
5637 * c-common.c (c_common_attribute_table): Add no_split_stack.
5638 (handle_no_split_stack_attribute): New static function.
5639
4abfc532 56402010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5641
19931eea 5642 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 5643
5644 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5645
19931eea 5646 Radar 4229905
4abfc532 5647 * c-common.h (objc_have_common_type): New declaration.
5648 * stub-objc.c (objc_have_common_type): New stub.
5649
5650 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5651
5652 Radar 4154928
5653 * c-common.h (objc_common_type): New prototype.
19931eea 5654 * stub-objc.c (objc_common_type): New stub.
4abfc532 5655
7bd95dfd 56562010-09-24 Jan Hubicka <jh@suse.cz>
5657
5658 * c-common.c (handle_leaf_attribute): New function.
5659 (struct attribute_spec c_common_att): Add leaf.
5660
5789e05b 56612010-09-22 Joseph Myers <joseph@codesourcery.com>
5662
5663 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5664 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5665 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5666 -include-barrier, -include-directory, -include-directory=,
5667 -include-directory-after, -include-directory-after=,
5668 -include-prefix, -include-prefix=, -include-with-prefix,
5669 -include-with-prefix=, -include-with-prefix-after,
5670 -include-with-prefix-after=, -include-with-prefix-before,
5671 -include-with-prefix-before=, -no-integrated-cpp,
5672 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5673 -output=, -pedantic, -pedantic-errors, -preprocess,
5674 -print-missing-file-dependencies, -trace-includes, -traditional,
5675 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5676 -user-dependencies, -verbose, -write-dependencies,
5677 -write-user-dependencies, no-integrated-cpp, traditional): New.
5678
e6fb54ba 56792010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5680
5681 PR objc/23710
9b60f3b0 5682 * c-common.h (objc_start_method_definition): Return bool instead
5683 of void.
5684 * stub-objc.c (objc_start_method_definition): Return bool instead
5685 of void.
5686
56872010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5688
5689 PR objc/25965
5690 * c-common.h (objc_get_interface_ivars): New declaration.
5691 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 5692
e44b0a1f 56932010-09-15 Ian Lance Taylor <iant@google.com>
5694
5695 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 5696 messages. Remove period at end of warning message.
e44b0a1f 5697
85c0a25c 56982010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5699
5700 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5701 (handle_alias_attribute): ... here.
5702 (handle_ifunc_attribute): New.
5703
5ba33bf4 57042010-09-06 Mark Mitchell <mark@codesourcery.com>
5705
5706 * c-common.h (do_warn_double_promotion): Declare.
5707 * c-common.c (do_warn_double_promotion): Define.
5708
c920faa3 57092010-09-05 Mark Mitchell <mark@codesourcery.com>
5710
5711 * c.opt (Wdouble-promotion): New.
5712
9604e070 57132010-09-02 Joseph Myers <joseph@codesourcery.com>
5714
5715 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5716 fvtable-thunks, fxref): Mark no longer supported in help text.
5717
3b0273a1 57182010-09-02 Joseph Myers <joseph@codesourcery.com>
5719
5720 * c.opt (Wimport, fall-virtual, falt-external-templates,
5721 fdefault-inline, fenum-int-equiv, fexternal-templates,
5722 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5723 fname-mangling-version-, fnew-abi, fnonnull-objects,
5724 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5725 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5726 applicable.
5727 (fhandle-exceptions): Mark with Alias and Warn.
5728 * c-opts.c (c_common_handle_option): Don't handle options marked
5729 as ignored.
5730
67089c6b 57312010-09-02 Joseph Myers <joseph@codesourcery.com>
5732
5733 * c.opt (Wcomments, Werror-implicit-function-declaration,
5734 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5735 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5736 aliases.
5737 * c-common.c (option_codes): Use OPT_Wcomment instead of
5738 OPT_Wcomments.
5739 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5740 Don't handle options marked as aliases.
5741
2af087f2 57422010-08-25 Richard Guenther <rguenther@suse.de>
5743
5744 * c-common.c (c_common_get_alias_set): Remove special
5745 handling for pointers.
5746
48148244 57472010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5748
5749 * c-common.c: Use FOR_EACH_VEC_ELT.
5750 * c-gimplify.c: Likewise.
5751 * c-pragma.c: Likewise.
5752
89c69892 57532010-08-16 Joseph Myers <joseph@codesourcery.com>
5754
5755 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5756 RejectDriver.
5757 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5758 RejectDriver.
5759 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5760 instead of OPT_MDX and OPT_MMDX.
5761
e28aa114 57622010-08-16 Joseph Myers <joseph@codesourcery.com>
5763
5764 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5765
99b66d21 57662010-08-12 Joseph Myers <joseph@codesourcery.com>
5767
5768 * c.opt (MD, MMD): Change to MDX and MMDX.
5769 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5770
666f4bf0 57712010-08-11 Joseph Myers <joseph@codesourcery.com>
5772
5773 * c-opts.c (c_common_handle_option): Call handle_generated_option
5774 instead of handle_option.
5775
5ec815f6 57762010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5777
5778 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5779 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5780
d13143cf 57812010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5782
5783 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5784 (pending_redefine_extname): Change type to a VEC.
5785 (add_to_renaming_pragma_list): Update for new type of
5786 pending_redefine_extname.
5ec815f6 5787 (maybe_apply_renaming_pragma): Likewise.
d13143cf 5788
2008c983 57892010-08-04 Arnaud Charlet <charlet@adacore.com>
5790
5791 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5792 visited.
5793 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5794 decide whether a type has already been declared/seen.
5795 Do not go to the original type.
5796 (dump_nested_types): New parameter forward.
5797 Generate forward declaration if needed and mark type as visited.
5798 (print_ada_declaration): Call dump_nested_types if not already done.
5799 Mark types as visited.
5800
9b091a73 58012010-08-03 Joseph Myers <joseph@codesourcery.com>
5802
5803 * c.opt (-print-pch-checksum): Remove option.
5804 * c-opts.c (c_common_handle_option): Don't handle
5805 OPT_print_pch_checksum.
5806
b78351e5 58072010-07-27 Joseph Myers <joseph@codesourcery.com>
5808
5809 * c-common.h (c_common_handle_option): Update prototype and return
5810 value type.
5811 * c-opts.c (c_common_handle_option): Update prototype and return
5812 value type. Update calls to handle_option and
5813 enable_warning_as_error.
5814
34416a90 58152010-07-27 Jakub Jelinek <jakub@redhat.com>
5816
5817 PR c/45079
5818 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5819
fecf9011 58202010-07-27 Joseph Myers <joseph@codesourcery.com>
5821
5822 * c-common.h (c_common_missing_argument): Remove.
5823 * c-opts.c (c_common_missing_argument): Remove.
5824 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5825 idirafter, imacros, include, isysroot, isystem, iquote): Add
5826 MissingArgError.
5827 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5828
e88d34f6 58292010-07-27 Joseph Myers <joseph@codesourcery.com>
5830
5831 * c-common.h (c_common_option_lang_mask,
5832 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5833 New.
5834 (c_common_init_options): Update prototype.
5835 * c-opts.c (c_common_option_lang_mask): New.
5836 (c_common_initialize_diagnostics): Split out of
5837 c_common_init_options.
5838 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5839 New.
5840 (c_common_init_options): Update prototype. Use decoded options in
5841 search for -lang-asm.
5842
1767a056 58432010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5844
5845 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5846 * c-format.c: Likewise.
5847
0b205f4c 58482010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5849
5850 * c-common.h: Include diagnostic-core.h. Error if already
5851 included.
5852 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5853
1c58e3f1 58542010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5855
1f78217c 5856 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 5857 Do not include expr.h
5858 (vector_mode_valid_p): Move here.
5859
33cc157c 58602010-06-21 DJ Delorie <dj@redhat.com>
5861
5862 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5863 allow these pragmas anywhere.
5864
58652010-06-14 Jakub Jelinek <jakub@redhat.com>
5866
5867 PR bootstrap/44509
5868 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5869 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5870 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5871 ggc_strdup instead of xstrdup.
5872
58732010-06-10 Jakub Jelinek <jakub@redhat.com>
5874
5875 * c-cppbuiltin.c: Include cpp-id-data.h.
5876 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5877 (lazy_hex_fp_value): New function.
5878 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5879
9b40bfbf 58802010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5881
5882 * c-gimplify.c: Do not include tree-flow.h
5883
202d6e5f 58842010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5885
5886 PR other/44034
5887 * c-common.c: Rename targetm member:
5888 targetm.enum_va_list -> targetm.enum_va_list_p
5889
d3237426 58902010-06-28 Anatoly Sokolov <aesok@post.ru>
5891
5892 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5893
596981c8 58942010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5895
5896 * c-cppbuiltin.c: Do not include except.h.
5897
b9bdfa0b 58982010-06-24 Andi Kleen <ak@linux.intel.com>
5899
19931eea 5900 * c-common.c (warn_for_omitted_condop): New.
5901 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 5902
55ad092d 59032010-06-21 Joseph Myers <joseph@codesourcery.com>
5904
5905 * c.opt (lang-objc): Remove.
5906 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5907
9e7c2572 59082010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5909
5910 * c-opts.c: Include "tm_p.h".
5911
615ef0bb 59122010-06-20 Joseph Myers <joseph@codesourcery.com>
5913
5914 * c-common.c (parse_optimize_options): Update call to
5915 decode_options.
5916
aef48c9a 59172010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5918
5919 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5920 new type of types_used_by_cur_var_decl.
5921
d74003b4 59222010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5923
5924 PR bootstrap/44512
5925 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5926 for C++ standard compliance.
5927
1194d077 59282010-06-16 Jason Merrill <jason@redhat.com>
5929
5930 * c.opt: Add -Wnoexcept.
5931
d473d901 59322010-06-16 Richard Guenther <rguenther@suse.de>
5933
5934 PR c/44555
5935 * c-common.c (c_common_truthvalue_conversion): Remove
5936 premature and wrong optimization concering ADDR_EXPRs.
5937
b62dbfd3 59382010-06-15 Arnaud Charlet <charlet@adacore.com>
5939
5940 * c-ada-spec.c (dump_sloc): Remove column info.
5941 (is_simple_enum): New function.
5942 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5943 enum types when relevant.
5944
200dd99c 59452010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5946
19931eea 5947 * c-common.c (conversion_warning): Warn at expression
200dd99c 5948 location.
5949
abf6a617 59502010-06-10 Joseph Myers <joseph@codesourcery.com>
5951
5952 * c-opts.c (c_common_handle_option): Don't handle
5953 OPT_fshow_column.
5954
ba72912a 59552010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5956
5957 * c-pragma.c (push_alignment): Use typed GC allocation.
5958 (handle_pragma_push_options): Likewise.
5959
5960 * c-common.c (parse_optimize_options): Likewise.
5961
5962 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5963 option.
5964
4aafe913 59652010-06-07 Joseph Myers <joseph@codesourcery.com>
5966
5967 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5968 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5969 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5970 flag_signed_bitfields, warn_strict_null_sentinel,
5971 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5972 flag_gen_declaration, flag_no_gnu_keywords,
5973 flag_implement_inlines, flag_implicit_templates,
5974 flag_implicit_inline_templates, flag_optional_diags,
5975 flag_elide_constructors, flag_default_inline, flag_rtti,
5976 flag_conserve_space, flag_access_control, flag_check_new,
5977 flag_new_for_scope, flag_weak, flag_working_directory,
5978 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5979 flag_enforce_eh_specs, flag_threadsafe_statics,
5980 flag_pretty_templates): Remove.
5981 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5982 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5983 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5984 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5985 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5986 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5987 flag_no_gnu_keywords, flag_implement_inlines,
5988 flag_implicit_templates, flag_implicit_inline_templates,
5989 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5990 flag_rtti, flag_conserve_space, flag_access_control,
5991 flag_check_new, flag_new_for_scope, flag_weak,
5992 flag_working_directory, flag_use_cxa_atexit,
5993 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5994 flag_threadsafe_statics, flag_pretty_templates,
5995 warn_strict_null_sentinel): Remove.
5996 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5997 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5998 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5999 fimplicit-inline-templates, fimplicit-templates,
6000 flax-vector-conversions, fms-extensions, fnil-receivers,
6001 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
6002 frtti, fshort-double, fshort-enums, fshort-wchar,
6003 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
6004 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
6005 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
6006 gen-decls, undef): Use Var.
6007 (fdefault-inline, foptional-diags): Document as doing nothing.
6008 * c-opts.c (c_common_handle_option): Remove cases for options now
6009 using Var. Mark ignored options as such.
6010
7bedc3a0 60112010-06-05 Steven Bosscher <steven@gcc.gnu.org>
6012
19931eea 6013 * c-common.c: Moved to here from parent directory.
7bedc3a0 6014 * c-common.def: Likewise.
6015 * c-common.h: Likewise.
6016 * c-cppbuiltin.c: Likewise.
6017 * c-dump.c: Likewise.
6018 * c-format.c: Likewise.
6019 * c-format.h : Likewise.
6020 * c-gimplify.c: Likewise.
6021 * c-lex.c: Likewise.
6022 * c-omp.c: Likewise.
6023 * c.opt: Likewise.
6024 * c-opts.c: Likewise.
6025 * c-pch.c: Likewise.
6026 * c-ppoutput.c: Likewise.
6027 * c-pragma.c: Likewise.
6028 * c-pragma.h: Likewise.
6029 * c-pretty-print.c: Likewise.
6030 * c-pretty-print.h: Likewise.
6031 * c-semantics.c: Likewise.
6032 * stub-objc.c: Likewise.
6033
6034 * c-common.c: Include gt-c-family-c-common.h.
6035 * c-pragma.c: Include gt-c-family-c-pragma.h.
6036\f
f1717362 6037Copyright (C) 2010-2016 Free Software Foundation, Inc.
7bedc3a0 6038
6039Copying and distribution of this file, with or without modification,
6040are permitted in any medium without royalty provided the copyright
6041notice and this notice are preserved.