[PR c/64765, c/64880] Support OpenACC Combined Directives in C, C++
[gcc.git] / gcc / c-family / ChangeLog
1 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2 James Norris <jnorris@codesourcery.com>
3 Cesar Philippidis <cesar@codesourcery.com>
4
5 PR c/64765
6 PR c/64880
7 * c-common.h (c_oacc_split_loop_clauses): Declare function.
8 * c-omp.c (c_oacc_split_loop_clauses): New function.
9
10 2015-10-21 Martin Sebor <msebor@redhat.com>
11
12 PR driver/68043
13 * c.opt: End each sentence that describes an option with a period.
14
15 2015-10-20 Marek Polacek <polacek@redhat.com>
16
17 * array-notation-common.c (is_cilkplus_vector_p): Define.
18 * c-common.h (is_cilkplus_vector_p): Declare.
19
20 2015-10-20 Marek Polacek <polacek@redhat.com>
21
22 * c.opt (std=gnu++11): Do not describe as experimental.
23 (std=gnu++14): Likewise.
24
25 2015-10-19 Jason Merrill <jason@redhat.com>
26
27 * c-cppbuiltin.c (c_cpp_builtins): Define
28 __cpp_nontype_template_args.
29
30 2015-10-19 Jason Merrill <jason@redhat.com>
31
32 * c-cppbuiltin.c (c_cpp_builtins): Define
33 __cpp_enumerator_attributes, __cpp_fold_expressions,
34 __cpp_unicode_characters.
35
36 2015-10-13 Jakub Jelinek <jakub@redhat.com>
37 Aldy Hernandez <aldyh@redhat.com>
38
39 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
40 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
41 (c_define_builtins): Likewise.
42 * c-common.h (enum c_omp_clause_split): Add
43 C_OMP_CLAUSE_SPLIT_TASKLOOP.
44 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
45 (c_finish_omp_for): Add ORIG_DECLV argument.
46 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
47 201511 instead of 201307.
48 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
49 OMP_CRITICAL_CLAUSES to it.
50 (c_finish_omp_ordered): Add CLAUSES argument, set
51 OMP_ORDERED_CLAUSES to it.
52 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
53 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
54 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
55 constructs and new OpenMP 4.5 clauses. Clear
56 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
57 verification code.
58 * c-pragma.c (omp_pragmas_simd): Add taskloop.
59 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
60 (enum pragma_omp_clause): Add
61 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
62 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
63
64 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
65
66 * c-lex.c (interpret_float): Use real_equal instead of
67 REAL_VALUES_EQUAL.
68
69 2015-10-04 Jason Merrill <jason@redhat.com>
70
71 Implement N4514, C++ Extensions for Transactional Memory.
72 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
73 (c_common_attribute_table): Add transaction_safe_dynamic.
74 transaction_safe now affects type identity.
75 (handle_tm_attribute): Handle transaction_safe_dynamic.
76 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
77 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
78 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
79 (D_TRANSMEM): New.
80 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
81 * c-pretty-print.c (pp_c_attributes_display): Don't print
82 transaction_safe in C++.
83
84 2015-10-02 Marek Polacek <polacek@redhat.com>
85
86 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
87
88 2015-10-02 Marek Polacek <polacek@redhat.com>
89
90 PR c/64249
91 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
92 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
93 * c.opt (Wduplicated-cond): New option.
94
95 2015-10-01 Joseph Myers <joseph@codesourcery.com>
96
97 * c.opt (std=c11): Do not describe as experimental.
98 (std=gnu11): Likewise.
99 (std=iso9899:2011): Likewise.
100
101 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
102
103 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
104 (DEF_FUNCTION_TYPE_VAR_11): Delete.
105
106 2015-09-25 Marek Polacek <polacek@redhat.com>
107
108 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
109 (ubsan_instrument_shift): Likewise.
110
111 2015-09-25 Marek Polacek <polacek@redhat.com>
112
113 PR sanitizer/64906
114 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
115
116 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
117
118 * c-indentation.c (should_warn_for_misleading_indentation):
119 Compare next_stmt_vis_column with guard_line_first_nws instead
120 of with guard_line_vis_column.
121
122 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
123
124 PR c/49654
125 PR c/49655
126 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
127 options and options not valid for the current language.
128
129 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
130
131 * c-indentation.c (should_warn_for_misleading_indentation):
132 Float out and consolidate the calls to get_visual_column that
133 are passed guard_exploc as an argument. Compare
134 next_stmt_vis_column with guard_line_first_nws instead of with
135 body_line_first_nws.
136
137 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
138
139 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
140 Wnamespaces): New C++ warnings.
141
142 2015-09-22 Jason Merrill <jason@redhat.com>
143
144 * c-common.h (abi_compat_version_crosses): New.
145 (warn_abi_version): Declare.
146 * c-common.c: Define it.
147 * c-opts.c (c_common_post_options): Handle it.
148 flag_abi_compat_version defaults to 8.
149
150 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
151
152 Complete the implementation of N4230, Nested namespace definition.
153 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
154 __cpp_nested_namespace_definitions.
155
156 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
157
158 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
159
160 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
161
162 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
163 when warning.
164 * c-pragma.h (pragma_lex): Add optional loc argument.
165
166 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
167
168 * c-format.c (check_format_arg): Adjust to use common block size in all
169 object pools.
170
171 2015-09-15 David Malcolm <dmalcolm@redhat.com>
172
173 * c-format.c (location_from_offset): Update for change in
174 signature of location_get_source_line.
175 * c-indentation.c (get_visual_column): Likewise.
176 (line_contains_hash_if): Likewise.
177
178 2015-09-14 Marek Polacek <polacek@redhat.com>
179
180 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
181 setting various warnings.
182
183 2015-09-14 Marek Polacek <polacek@redhat.com>
184
185 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
186 a negative value.
187
188 2015-09-11 Mark Wielaard <mjw@redhat.com>
189
190 PR c/28901
191 * c.opt (Wunused-variable): Option from common.opt.
192 (Wunused-const-variable): New option.
193
194 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
195
196 PR c++/53184
197 * c.opt ([Wsubobject-linkage]): Add.
198
199 2015-09-03 Martin Sebor <msebor@redhat.com>
200
201 PR c/66516
202 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
203 functions.
204 * c-common.c (reject_gcc_builtin): Define.
205
206 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
207
208 PR middle-end/60586
209 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
210 prototype.
211 * c-gimplify.c (c_gimplify_expr): Added a call to the function
212 cilk_gimplify_call_params_in_spawned_fn.
213 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
214 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
215 unwrapping.
216
217 2015-08-25 Marek Polacek <polacek@redhat.com>
218
219 PR middle-end/67330
220 * c-common.c (handle_weak_attribute): Don't check whether the
221 visibility can be changed here.
222
223 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
224
225 * c-lex.c (c_lex_with_flags): Use explicit locations.
226
227 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
228
229 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
230 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
231
232 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
233
234 PR middle-end/36757
235 * c-common.c (check_builtin_function_arguments): Add check
236 for BUILT_IN_SIGNBIT argument.
237
238 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
239
240 PR c++/67160
241 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
242 in c++1z mode.
243
244 2015-08-17 Marek Polacek <polacek@redhat.com>
245
246 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
247 with whitespaces before qualifier names.
248
249 2015-08-12 Marek Polacek <polacek@redhat.com>
250
251 PR c++/55095
252 * c-common.c (maybe_warn_shift_overflow): Properly handle
253 left-shifting 1 into the sign bit.
254
255 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
256
257 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
258
259 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
260 Braden Obrzut <admin@maniacsvault.net>
261 Jason Merrill <jason@redhat.com>
262
263 Add C++ Concepts TS support.
264 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
265 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
266 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
267 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
268 * c-opts.c (set_std_cxx1z): Set flag_concepts.
269 * c.opt (fconcepts): New.
270
271 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
272
273 * c-indentation.c (should_warn_for_misleading_indentation):
274 Improve heuristics.
275
276 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
277
278 * c-indentation.c (get_visual_column): Add parameter first_nws,
279 use it. Update comment documenting the function.
280 (is_first_nonwhitespace_on_line): Remove.
281 (should_warn_for_misleading_indentation): Replace usage of
282 of is_first_nonwhitespace_on_line with get_visual_column.
283
284 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
285
286 * c-indentation.h (struct token_indent_info): Define.
287 (get_token_indent_info): Define.
288 (warn_for_misleading_information): Declare.
289 * c-common.h (warn_for_misleading_information): Remove.
290 * c-identation.c (warn_for_misleading_indentation):
291 Change declaration to take three token_indent_infos. Adjust
292 accordingly.
293 * c-identation.c (should_warn_for_misleading_indentation):
294 Likewise. Bail out early if the body is a compound statement.
295 (guard_tinfo_to_string): Define.
296
297 2015-07-30 Jason Merrill <jason@redhat.com>
298
299 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
300 '*' for reference decay.
301
302 2015-07-30 Marek Polacek <polacek@redhat.com>
303
304 * c-common.c (warn_tautological_cmp): Bail for float types.
305
306 2015-07-27 Marek Polacek <polacek@redhat.com>
307
308 PR bootstrap/67030
309 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
310
311 2015-07-27 Marek Polacek <polacek@redhat.com>
312
313 PR c++/66555
314 PR c/54979
315 * c-common.c (find_array_ref_with_const_idx_r): New function.
316 (warn_tautological_cmp): New function.
317 * c-common.h (warn_tautological_cmp): Declare.
318 * c.opt (Wtautological-compare): New option.
319
320 2015-07-23 Marek Polacek <polacek@redhat.com>
321
322 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
323 (ubsan_instrument_shift): Likewise.
324
325 2015-07-23 Marek Polacek <polacek@redhat.com>
326
327 PR sanitizer/66908
328 * c-ubsan.c: Include gimplify.h.
329 (ubsan_instrument_division): Unshare OP0 and OP1.
330 (ubsan_instrument_shift): Likewise.
331
332 2015-07-20 Marek Polacek <polacek@redhat.com>
333 Richard Sandiford <richard.sandiford@arm.com>
334
335 PR c++/55095
336 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
337 Use EXPR_LOC_OR_LOC.
338 (maybe_warn_shift_overflow): New function.
339 * c-common.h (maybe_warn_shift_overflow): Declare.
340 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
341 * c.opt (Wshift-overflow): New option.
342
343 2015-07-16 Martin Liska <mliska@suse.cz>
344
345 * c-format.c (static void check_format_info_main): Use
346 object_allocator instead of pool_allocator.
347 (check_format_arg): Likewise.
348 (check_format_info_main): Likewise.
349
350 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
351
352 * c-opts.c: Remove multiline #include comment.
353
354 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
355
356 * c-common.c: Fix double word typos.
357
358 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
359
360 * c-ada-spec.h (cpp_operation): Revert latest change.
361 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
362 constructors and destructors.
363
364 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
365
366 * c-common.h: Adjust includes for flags.h changes.
367 * stub-objc.c: Likewise.
368
369 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
370
371 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
372 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
373
374 2015-07-08 Jakub Jelinek <jakub@redhat.com>
375
376 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
377 are to be removed, return NULL rather than original clauses list.
378
379 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
380
381 * array-notation-common.c: Adjust includes.
382 * c-ada-spec.c: Likewise.
383 * c-cilkplus.c: Likewise.
384 * c-common.h: Likewise.
385 * c-cppbuiltin.c: Likewise.
386 * c-dump.c: Likewise.
387 * c-format.c: Likewise.
388 * c-gimplify.c: Likewise.
389 * c-indentation.c: Likewise.
390 * c-lex.c: Likewise.
391 * c-omp.c: Likewise.
392 * c-opts.c: Likewise.
393 * c-pch.c: Likewise.
394 * c-ppoutput.c: Likewise.
395 * c-pragma.c: Likewise.
396 * c-pretty-print.c: Likewise.
397 * c-semantics.c: Likewise.
398 * c-ubsan.c: Likewise.
399 * cilk.c: Likewise.
400 * stub-objc.c: Likewise.
401
402 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
403
404 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
405 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
406
407 2015-07-01 Jason Merrill <jason@redhat.com>
408
409 * c-common.h (D_CXX11): Rename from D_CXX0X.
410 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
411 * c-common.c: Adjust.
412
413 * c-opts.c (c_common_post_options): Default to C++14.
414
415 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
416
417 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
418
419 Implement N4197 - Adding u8 character literals
420 * c-family/c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
421 CPP_CHAR.
422 * c-family/c-common.c (c_parse_error): Print CPP_UTF8CHAR and
423 CPP_UTF8CHAR_USERDEF tokens.
424 * c-family/c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
425 and CPP_UTF8CHAR tokens.
426 (lex_charconst): Treat CPP_UTF8CHAR token.
427
428 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
429
430 PR fortran/66605
431 * c-common.c (do_warn_unused_parameter): Move here.
432 * c-common.h (do_warn_unused_parameter): Declare.
433
434 2015-06-29 Marek Polacek <polacek@redhat.com>
435
436 PR c/66322
437 * c-common.c (check_case_bounds): Add bool * parameter. Set
438 OUTSIDE_RANGE_P.
439 (c_add_case_label): Add bool * parameter. Pass it down to
440 check_case_bounds.
441 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
442 warning here.
443 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
444 declarations.
445
446 2015-06-27 Marek Polacek <polacek@redhat.com>
447
448 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
449 or VECTOR_INTEGER_TYPE_P throughout.
450 * c-gimplify.c: Likewise.
451
452 2015-06-26 Marek Polacek <polacek@redhat.com>
453
454 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
455 * c-common.c (c_fully_fold_internal): Likewise.
456 (c_alignof_expr): Likewise.
457 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
458 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
459 * cilk.c (create_parm_list): Likewise.
460
461 2015-06-26 Marek Polacek <polacek@redhat.com>
462
463 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
464
465 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
466
467 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
468 * c-gimplify.c: Likewise.
469 * c-pragma.c: Likewise.
470 * c-ubsan.c: Likewise.
471 * cilk.c: Likewise.
472
473 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
474
475 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
476 ggc_hasher.
477
478 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
479
480 * cilk.c: Move calls.h after tm.h in the include chain.
481
482 2015-06-25 Marek Polacek <polacek@redhat.com>
483
484 * array-notation-common.c: Use VAR_P throughout.
485 * c-ada-spec.c: Likewise.
486 * c-common.c: Likewise.
487 * c-format.c: Likewise.
488 * c-gimplify.c: Likewise.
489 * c-omp.c: Likewise.
490 * c-pragma.c: Likewise.
491 * c-pretty-print.c: Likewise.
492 * cilk.c: Likewise.
493
494 2015-06-25 Marek Polacek <polacek@redhat.com>
495
496 * cilk.c (extract_free_variables): Use is_global_var.
497
498 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
499
500 * c-common.c: Don't include target-def.h.
501
502 2015-06-23 Marek Polacek <polacek@redhat.com>
503
504 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
505 when comparing INTEGER_CSTs.
506
507 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
508
509 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
510 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
511 (dump_ada_template): Skip partially specialized types.
512
513 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
514
515 * c-common.c (scalar_to_vector): Use std::swap instead of manually
516 swapping.
517
518 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
519
520 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
521 * c-ada-spec.c: Likewise.
522 * c-cilkplus.c: Likewise.
523 * c-common.c: Likewise.
524 * c-common.h: Likewise.
525 * c-cppbuiltin.c: Likewise.
526 * c-dump.c: Likewise.
527 * c-format.c: Likewise.
528 * c-gimplify.c: Likewise.
529 * c-indentation.c: Likewise.
530 * c-lex.c: Likewise.
531 * c-omp.c: Likewise.
532 * c-opts.c: Likewise.
533 * c-pch.c: Likewise.
534 * c-ppoutput.c: Likewise.
535 * c-pragma.c: Likewise.
536 * c-pretty-print.c: Likewise.
537 * c-semantics.c: Likewise.
538 * c-ubsan.c: Likewise.
539 * cilk.c: Likewise.
540 * stub-objc.c: Likewise.
541
542 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
543
544 PR c++/65168
545 * c-common.c (c_common_truthvalue_conversion): Warn when
546 converting an address of a reference to a truth value.
547
548 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
549
550 * array-notation-common.c : Adjust include files.
551 * c-ada-spec.c : Likewise.
552 * c-cilkplus.c : Likewise.
553 * c-common.c : Likewise.
554 * c-common.h : Likewise.
555 * c-cppbuiltin.c : Likewise.
556 * c-dump.c : Likewise.
557 * c-format.c : Likewise.
558 * c-gimplify.c : Likewise.
559 * c-indentation.c : Likewise.
560 * c-lex.c : Likewise.
561 * c-omp.c : Likewise.
562 * c-opts.c : Likewise.
563 * c-pch.c : Likewise.
564 * c-ppoutput.c : Likewise.
565 * c-pragma.c : Likewise.
566 * c-pretty-print.c : Likewise.
567 * c-semantics.c : Likewise.
568 * c-ubsan.c : Likewise.
569 * cilk.c : Likewise.
570 * stub-objc.c : Likewise.
571
572 2015-06-08 Marek Polacek <polacek@redhat.com>
573
574 PR c/66415
575 * c-format.c (location_from_offset): Return LOC if LINE is null.
576
577 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
578
579 * c-common.h (c_parse_final_cleanups): New prototype.
580 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
581
582 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
583
584 * array-notation-common.c: Adjust includes for restructured coretypes.h.
585 * c-ada-spec.c: Likewise.
586 * c-cilkplus.c: Likewise.
587 * c-common.c: Likewise.
588 * c-common.h: Likewise.
589 * c-cppbuiltin.c: Likewise.
590 * c-dump.c: Likewise.
591 * c-format.c: Likewise.
592 * c-gimplify.c: Likewise.
593 * c-indentation.c: Likewise.
594 * c-lex.c: Likewise.
595 * c-omp.c: Likewise.
596 * c-opts.c: Likewise.
597 * c-pch.c: Likewise.
598 * c-ppoutput.c: Likewise.
599 * c-pragma.c: Likewise.
600 * c-pretty-print.c: Likewise.
601 * c-semantics.c: Likewise.
602 * c-ubsan.c: Likewise.
603 * cilk.c: Likewise.
604 * stub-objc.c: Likewise.
605
606 2015-06-02 David Malcolm <dmalcolm@redhat.com>
607
608 PR c/66220:
609 * c-indentation.c (should_warn_for_misleading_indentation): Use
610 expand_location rather than expand_location_to_spelling_point.
611 Don't warn if the guarding statement is more indented than the
612 next/body stmts.
613
614 2015-06-02 David Malcolm <dmalcolm@redhat.com>
615
616 * c-indentation.c (warn_for_misleading_indentation): Bail out
617 immediately if -Wmisleading-indentation isn't enabled.
618
619 2015-06-01 Martin Liska <mliska@suse.cz>
620
621 * c-format.c (check_format_arg):Use new type-based pool allocator.
622 (check_format_info_main) Likewise.
623
624 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
625
626 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
627 (has_nontrivial_methods): Likewise.
628
629 2015-05-25 Marek Polacek <polacek@redhat.com>
630
631 * c-ubsan.c (ubsan_instrument_shift): Use type0.
632
633 2015-05-22 Marek Polacek <polacek@redhat.com>
634
635 PR c/47043
636 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
637
638 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
639
640 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
641 STACK_GROWS_DOWNWARD.
642
643 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
644
645 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
646 STACK_GROWS_DOWNWARD rather than if it is defined.
647
648 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
649
650 PR c/52952
651 * c-format.c (location_column_from_byte_offset): New.
652 (location_from_offset): New.
653 (struct format_wanted_type): Add offset_loc field.
654 (check_format_info): Move handling of location for extra arguments
655 closer to the point of warning.
656 (check_format_info_main): Pass the result of location_from_offset
657 to warning_at.
658 (format_type_warning): Pass the result of location_from_offset
659 to warning_at.
660
661 2015-05-20 Marek Polacek <polacek@redhat.com>
662
663 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
664
665 2015-05-20 Marek Polacek <polacek@redhat.com>
666
667 * c-ada-spec.c (dump_sloc): Use DECL_P.
668
669 2015-05-20 Marek Polacek <polacek@redhat.com>
670
671 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
672 * c-common.c: Likewise.
673
674 2015-05-19 David Malcolm <dmalcolm@redhat.com>
675
676 * c-common.h (fe_file_change): Strengthen param from
677 const line_map * to const line_map_ordinary *.
678 (pp_file_change): Likewise.
679 * c-lex.c (fe_file_change): Likewise.
680 (cb_define): Use linemap_check_ordinary when invoking
681 SOURCE_LINE.
682 (cb_undef): Likewise.
683 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
684 invoking cb_file_change.
685 (c_finish_options): Likewise.
686 (push_command_line_include): Likewise.
687 (cb_file_change): Strengthen param "new_map" from
688 const line_map * to const line_map_ordinary *.
689 * c-ppoutput.c (cb_define): Likewise for local "map".
690 (pp_file_change): Likewise for param "map" and local "from".
691
692 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
693
694 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
695
696 2015-05-18 Tom de Vries <tom@codesourcery.com>
697
698 * c-common.c (build_va_arg_1): New function.
699 (build_va_arg): Add address operator to va_list operand if necessary.
700
701 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
702
703 PR c/48956
704 * c-common.c (int_safely_convertible_to_real_p): Define.
705 (unsafe_conversion_p): Check conversions involving complex types.
706 (conversion_warning): Add new warning message for conversions which
707 discard imaginary component.
708 * c-common.h: (enum conversion_safety): Add new enumerator for such
709 conversions.
710
711 2015-05-14 Marek Polacek <polacek@redhat.com>
712
713 PR c/66066
714 PR c/66127
715 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
716 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
717 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
718 use it. If FOR_INT_CONST, require that all evaluated operands be
719 INTEGER_CSTs.
720
721 2015-05-12 David Malcolm <dmalcolm@redhat.com>
722
723 * c-common.h (warn_for_misleading_indentation): New prototype.
724 * c-indentation.c: New file.
725 * c.opt (Wmisleading-indentation): New option.
726
727 2015-05-12 Tom de Vries <tom@codesourcery.com>
728
729 PR tree-optimization/66010
730 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
731
732 2015-05-09 Jason Merrill <jason@redhat.com>
733
734 * c-opts.c (c_common_post_options): Also clear
735 cpp_opts->cpp_warn_cxx11_compat.
736
737 * c-common.h (enum cxx_dialect): Add cxx_unset.
738 * c-common.c (cxx_dialect): Initialize to cxx_unset.
739 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
740
741 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
742 (std=gnu++0x): Mark as Undocumented.
743 (std=gnu++1y): Add deprecated message.
744
745 2015-05-08 Jason Merrill <jason@redhat.com>
746
747 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
748 * c-opts.c: Adjust.
749
750 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
751
752 2015-05-08 Marek Polacek <polacek@redhat.com>
753
754 PR c/64918
755 * c.opt (Woverride-init-side-effects): New option.
756
757 2015-05-07 Marek Polacek <polacek@redhat.com>
758
759 PR c/65179
760 * c-common.c (c_fully_fold_internal): Warn when left shifting a
761 negative value.
762 * c.opt (Wshift-negative-value): New option.
763 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
764 when -Wextra and C99/C++11 mode.
765
766 2015-05-07 Marek Polacek <polacek@redhat.com>
767 Martin Uecker <uecker@eecs.berkeley.edu>
768
769 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
770 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
771
772 2015-05-05 Jason Merrill <jason@redhat.com>
773
774 * c.opt (Wterminate): New.
775
776 2015-04-30 Marek Polacek <polacek@redhat.com>
777
778 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
779 require that the non-constant be of a boolean type.
780
781 2015-04-29 Josh Triplett <josh@joshtriplett.org>
782
783 * c-common.c (handle_section_attribute): Refactor to reduce
784 nesting and distinguish between error cases.
785
786 2015-04-29 Marek Polacek <polacek@redhat.com>
787
788 PR c/64610
789 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
790 with 0/1.
791
792 2015-04-29 Jakub Jelinek <jakub@redhat.com>
793
794 * c-common.h (omp_clause_mask): Unconditionally define as a class.
795 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
796 HOST_BITS_PER_WIDE_INT.
797
798 2015-04-28 Tom de Vries <tom@codesourcery.com>
799
800 PR tree-optimization/65887
801 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
802
803 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
804 Pierre-Marie de Rodat <derodat@adacore.com>
805
806 * c-ada-spec.c (in_function): Delete.
807 (dump_generic_ada_node): Do not change in_function and remove the
808 redundant code dealing with it.
809 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
810 (print_ada_methods): Output the static member functions in a nested
811 package after the regular methods as well as associated renamings.
812
813 2015-04-24 Marek Polacek <polacek@redhat.com>
814
815 PR c/65830
816 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
817 and OPT_Wshift_count_overflow.
818
819 PR c/63357
820 * c-common.c (warn_logical_operator): Warn if the operands have the
821 same expressions.
822
823 2015-04-24 Marek Polacek <polacek@redhat.com>
824
825 PR c/61534
826 * c-common.c (warn_logical_operator): Bail if either operand comes
827 from a macro expansion.
828
829 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
830
831 PR target/55143
832 * c-common.c (c_default_pointer_mode): Add definition.
833 * c-common.h (c_default_pointer_mode): Add declaration.
834
835 2015-03-11 Jakub Jelinek <jakub@redhat.com>
836
837 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
838 on record_builtin_type argument.
839
840 2015-03-10 Jakub Jelinek <jakub@redhat.com>
841
842 PR c/65120
843 * c-common.c (warn_logical_not_parentheses): Don't warn for
844 !x == 0 or !x != 0.
845
846 2015-03-07 Marek Polacek <polacek@redhat.com>
847
848 PR sanitizer/65280
849 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
850 before trying to figure out whether we have a flexible array member.
851
852 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
853 Jonathan Wakely <jwakely.gcc@gmail.com>
854
855 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
856
857 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
858
859 PR ada/65319
860 * c-ada-spec.c (print_destructor): Remove obsolete code.
861
862 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
863
864 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
865 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
866 DECL_TEMPLATE_RESULT emulations.
867 (dump_ada_template)): Add guard for TYPE_METHODS.
868
869 2015-02-27 Marek Polacek <polacek@redhat.com>
870
871 PR c/65040
872 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
873
874 2015-02-27 Kai Tietz <ktietz@redhat.com>
875
876 PR c/35330
877 * c-pragma.c (handle_pragma_weak): Do not try to create
878 weak/alias of declarations not being function, or variable
879 declarations.
880
881 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
882
883 PR libgomp/64625
884 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
885 Remove macros.
886 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
887
888 2015-02-16 Marek Polacek <polacek@redhat.com>
889
890 PR c/65066
891 * c-format.c (check_format_types): Handle null param.
892
893 2015-02-13 Marek Polacek <polacek@redhat.com>
894
895 PR c/65040
896 * c-format.c (check_format_types): Don't warn about different
897 signedness if the original value is in the range of WANTED_TYPE.
898
899 2015-02-12 Jason Merrill <jason@redhat.com>
900
901 PR c++/64956
902 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
903 to the current highest version.
904 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
905
906 2015-02-04 Jakub Jelinek <jakub@redhat.com>
907
908 PR c/64824
909 PR c/64868
910 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
911 instead of RDIV_EXPR. Use build_binary_op instead of
912 build2_loc.
913
914 2015-01-30 Joseph Myers <joseph@codesourcery.com>
915
916 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
917 to pass input_location as first argument.
918
919 2015-01-23 Tom de Vries <tom@codesourcery.com>
920
921 PR libgomp/64672
922 * c.opt (fopenacc): Mark as LTO option.
923
924 2015-01-23 Tom de Vries <tom@codesourcery.com>
925
926 PR libgomp/64707
927 * c.opt (fopenmp): Mark as LTO option.
928
929 2015-01-21 Jakub Jelinek <jakub@redhat.com>
930
931 PR c/63307
932 * cilk.c (fill_decls_vec): Only put decls into vector v.
933 (compare_decls): Fix up formatting.
934
935 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
936
937 PR c/63307
938 * cilk.c: Include vec.h.
939 (struct cilk_decls): New structure.
940 (wrapper_parm_cb): Split this function to...
941 (fill_decls_vec): ...this...
942 (create_parm_list): ...and this.
943 (compare_decls): New function.
944 (for_local_cb): Remove.
945 (wrapper_local_cb): Ditto.
946 (build_wrapper_type): For now first traverse and fill vector of
947 declarations then sort it and then deal with sorted vector.
948 (cilk_outline): Ditto.
949 (declare_one_free_variable): Ditto.
950
951 2015-01-21 Jason Merrill <jason@redhat.com>
952
953 PR c++/64629
954 * c-format.c (check_format_arg): Call decl_constant_value.
955
956 2015-01-19 Martin Liska <mliska@suse.cz>
957
958 * c-common.c (handle_noicf_attribute): New function.
959
960 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
961 Bernd Schmidt <bernds@codesourcery.com>
962 James Norris <jnorris@codesourcery.com>
963 Cesar Philippidis <cesar@codesourcery.com>
964 Ilmir Usmanov <i.usmanov@samsung.com>
965 Jakub Jelinek <jakub@redhat.com>
966
967 * c.opt (fopenacc): New option.
968 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
969 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
970 New macros.
971 * c-common.h (c_finish_oacc_wait): New prototype.
972 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
973 (c_finish_oacc_wait): New function.
974 * c-pragma.c (oacc_pragmas): New variable.
975 (c_pp_lookup_pragma, init_pragma): Handle it.
976 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
977 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
978 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
979 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
980 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
981 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
982 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
983 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
984 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
985 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
986 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
987 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
988 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
989 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
990 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
991 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
992 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
993 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
994 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
995 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
996 PRAGMA_OACC_CLAUSE_WORKER.
997
998 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
999
1000 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
1001 for the new option fstack-protector_explicit.
1002 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
1003 (handle_stack_protect_attribute): New function.
1004
1005 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
1006
1007 * c.opt: New option -Warray-bounds=.
1008
1009 2015-01-09 Michael Collison <michael.collison@linaro.org>
1010
1011 * array-notation-common.c: Include hash-set.h, machmode.h,
1012 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1013 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1014 * c-ada-spec.c: Ditto.
1015 * c-cilkplus.c: Ditto.
1016 * c-common.c: Include input.h due to flattening of tree.h.
1017 Define macro GCC_C_COMMON_C.
1018 * c-common.h: Flatten tree.h header files into c-common.h.
1019 Remove include of tree-core.h.
1020 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1021 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1022 fold-const.h, wide-int.h, and inchash.h due to
1023 flattening of tree.h.
1024 * c-dump.c: Ditto.
1025 * c-format.c: Flatten tree.h header files into c-common.h.
1026 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
1027 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1028 fold-const.h, wide-int.h, and inchash.h due to
1029 flattening of tree.h.
1030 * c-dump.c: Include hash-set.h, machmode.h,
1031 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1032 fold-const.h, wide-int.h, and inchash.h due to
1033 flattening of tree.h.
1034 * c-format.c: Include hash-set.h, machmode.h,
1035 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1036 fold-const.h, wide-int.h, inchash.h and real.h due to
1037 flattening of tree.h.
1038 * c-gimplify.c: Include hash-set.h, machmode.h,
1039 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1040 fold-const.h, wide-int.h, and inchash.h due to
1041 flattening of tree.h.
1042 * cilk.c: Ditto.
1043 * c-lex.c: Ditto.
1044 * c-omp.c: Ditto.
1045 * c-opts.c: Ditto.
1046 * c-pch.c: Ditto.
1047 * c-ppoutput.c: Ditto.
1048 * c-pragma.c: Ditto.
1049 * c-pretty-print.c: Ditto.
1050 * c-semantics.c: Ditto.
1051 * c-ubsan.c: Ditto.
1052 * stub-objc.c: Ditto.
1053
1054 2015-01-08 Jason Merrill <jason@redhat.com>
1055
1056 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
1057 do_ubsan_in_current_function.
1058 (ubsan_maybe_instrument_reference_or_call): Likewise.
1059 * c-ubsan.h: Declare it.
1060
1061 2015-01-08 Mike Stump <mikestump@comcast.net>
1062
1063 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
1064
1065 2015-01-07 Marek Polacek <polacek@redhat.com>
1066
1067 PR c/64440
1068 * c-common.c (c_fully_fold_internal): Warn for division and modulo
1069 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
1070
1071 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
1072
1073 PR c++/31397
1074 * c.opt (Wsuggest-override): New option.
1075
1076 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1077
1078 Update copyright years.
1079
1080 2015-01-05 Marek Polacek <polacek@redhat.com>
1081
1082 PR c/64423
1083 * c-common.c (warn_array_subscript_with_type_char): Add location_t
1084 parameter. Use it.
1085 * c-common.h (warn_array_subscript_with_type_char): Update
1086 declaration.
1087
1088 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
1089
1090 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
1091 Control macro with flag_sized_deallocation.
1092
1093 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
1094
1095 * c.opt (Wdiscarded-array-qualifiers): New option.
1096
1097 2014-12-19 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR preprocessor/63831
1100 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
1101 and __has_cpp_attribute here.
1102 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
1103 c_common_has_attribute.
1104 * c-common.h (c_common_has_attribute): New prototype.
1105 * c-lex.c (init_c_lex): Set cb->has_attribute to
1106 c_common_has_attribute instead of cb_has_attribute.
1107 (get_token_no_padding): New function.
1108 (cb_has_attribute): Renamed to ...
1109 (c_common_has_attribute): ... this. No longer static. Use
1110 get_token_no_padding, require ()s, don't build TREE_LIST
1111 unnecessarily, fix up formatting, adjust diagnostics, call
1112 init_attributes.
1113
1114 2014-12-15 Jason Merrill <jason@redhat.com>
1115
1116 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
1117 (-Wsized-deallocation): New.
1118 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
1119 to on in C++14 and up.
1120
1121 2014-12-11 Jason Merrill <jason@redhat.com>
1122
1123 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
1124
1125 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
1126 we aren't complaining about VLAs.
1127
1128 2014-12-06 Marek Polacek <polacek@redhat.com>
1129
1130 PR tree-optimization/64183
1131 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
1132 shift-expression if it is integer_type_node. Use types_compatible_p.
1133
1134 2014-11-29 Jakub Jelinek <jakub@redhat.com>
1135
1136 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
1137 last argument from create_tmp_var_raw and create_tmp_var calls.
1138 * cilk.c (gimplify_cilk_spawn): Likewise.
1139 * c-omp.c (c_finish_omp_atomic): Likewise.
1140
1141 2014-11-28 Marek Polacek <polacek@redhat.com>
1142
1143 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
1144 instead of unsigned_type_node.
1145
1146 2014-11-28 Marek Polacek <polacek@redhat.com>
1147
1148 PR c/63862
1149 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
1150 to op1_utype.
1151 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
1152 expression to unsigned_type_node.
1153
1154 2014-11-20 Mark Wielaard <mjw@redhat.com>
1155
1156 PR debug/38757
1157 * c-opts.c (set_std_c89): Set lang_hooks.name.
1158 (set_std_c99): Likewise.
1159 (set_std_c11): Likewise.
1160 (set_std_cxx98): Likewise.
1161 (set_std_cxx11): Likewise.
1162 (set_std_cxx14): Likewise.
1163 (set_std_cxx1z): Likewise.
1164
1165 2014-11-21 Jakub Jelinek <jakub@redhat.com>
1166
1167 PR target/63764
1168 * c-common.h (convert_vector_to_pointer_for_subscript): Change
1169 return type to bool.
1170 * c-common.c: Include gimple-expr.h.
1171 (convert_vector_to_pointer_for_subscript): Change return type to
1172 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
1173 and copy it into a TARGET_EXPR and use that instead of *vecp
1174 directly.
1175
1176 2014-11-19 David Malcolm <dmalcolm@redhat.com>
1177
1178 Merger of git branch "gimple-classes-v2-option-3".
1179 * ChangeLog.gimple-classes: New.
1180 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
1181 from being just a vec<gimple> to a vec<gbind *>.
1182
1183 2014-11-18 Jakub Jelinek <jakub@redhat.com>
1184
1185 PR sanitizer/63813
1186 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
1187 argument to ptype, set type to TREE_TYPE (ptype). Don't call
1188 get_pointer_alignment for non-pointers. Use ptype, or if it is
1189 reference type, corresponding pointer type, as type of kind
1190 argument.
1191 (ubsan_maybe_instrument_reference,
1192 ubsan_maybe_instrument_member_call): Adjust callers.
1193
1194 2014-11-15 Marek Polacek <polacek@redhat.com>
1195
1196 PR middle-end/63884
1197 * array-notation-common.c (is_sec_implicit_index_fn): Return false
1198 for NULL fndecl.
1199 (extract_array_notation_exprs): Return for NULL node.
1200
1201 2014-11-12 Joseph Myers <joseph@codesourcery.com>
1202
1203 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
1204 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
1205
1206 2014-11-12 Jakub Jelinek <jakub@redhat.com>
1207
1208 PR c/59708
1209 * c-common.c (check_builtin_function_arguments): Handle
1210 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
1211
1212 2014-11-10 Andi Kleen <ak@linux.intel.com>
1213
1214 PR c/60804
1215 * c-common.h (check_no_cilk): Declare.
1216 * cilk.c (get_error_location): New function.
1217 (check_no_cilk): Dito.
1218
1219 2014-11-10 Andi Kleen <ak@linux.intel.com>
1220
1221 * cilk.c (recognize_spawn): Use expression location
1222 for error message.
1223
1224 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1225
1226 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
1227
1228 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
1229
1230 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
1231 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
1232 (__cpp_range_based_for, __cpp_initializer_lists,
1233 __cpp_delegating_constructors, __cpp_nsdmi,
1234 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
1235 for C++11; (__cpp_attribute_deprecated): Remove in favor of
1236 __has_cpp_attribute.
1237 * c-lex.c (cb_has_attribute): New callback CPP function;
1238 (init_c_lex): Set has_attribute callback.
1239
1240 2014-11-04 Richard Biener <rguenther@suse.de>
1241
1242 * c-common.c (shorten_compare): Do not shorten mixed
1243 DFP and non-DFP compares.
1244
1245 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1246
1247 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
1248 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
1249 Commentary and rearrangement of tests.
1250 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
1251 Commentary and rearrangement of tests.
1252 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
1253 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
1254
1255 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1256
1257 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
1258 enum from machine_mode.
1259
1260 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
1261
1262 * c-common.c: Adjust include files.
1263 * c-gimplify.c: Ditto.
1264 * cilk.c: Ditto.
1265 * c-pragma.c: Ditto.
1266 * c-ubsan.c: Ditto.
1267
1268 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
1269
1270 * c-gimplify.c: Adjust include files.
1271
1272 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
1273
1274 PR c++/53061
1275 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
1276 c_common_initialize_diagnostics.
1277 * c-common.h: Likewise.
1278
1279 2014-10-24 Marek Polacek <polacek@redhat.com>
1280
1281 PR c/56980
1282 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
1283 print "struct"/"union"/"enum" for typedefed names.
1284
1285 2014-10-23 Marek Polacek <polacek@redhat.com>
1286
1287 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1288 in unsigned type.
1289
1290 2014-10-22 Jakub Jelinek <jakub@redhat.com>
1291 Yury Gribov <y.gribov@samsung.com>
1292
1293 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1294 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
1295 instead of flag_sanitize_recover as bool flag.
1296
1297 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
1298
1299 * cilk.c: Revert previous change.
1300
1301 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
1302
1303 PR c/63307
1304 * cilk.c: Include vec.h.
1305 (struct cilk_decls): New structure.
1306 (wrapper_parm_cb): Split this function to...
1307 (fill_decls_vec): ...this...
1308 (create_parm_list): ...and this.
1309 (compare_decls): New function.
1310 (for_local_cb): Remove.
1311 (wrapper_local_cb): Ditto.
1312 (build_wrapper_type): For now first traverse and fill vector of
1313 declarations then sort it and then deal with sorted vector.
1314 (cilk_outline): Ditto.
1315 (declare_one_free_variable): Ditto.
1316
1317 2014-10-17 Marek Polacek <polacek@redhat.com>
1318
1319 * c-opts.c (c_common_post_options): Set warn_implicit_int.
1320 * c.opt (Wimplicit-int): Initialize to -1.
1321
1322 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
1323
1324 * c-pragma.c: Adjust include files.
1325 * c-semantics.c: Likewise.
1326
1327 2014-10-16 DJ Delorie <dj@redhat.com>
1328
1329 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
1330 multiples of bytes.
1331
1332 2014-10-14 Jason Merrill <jason@redhat.com>
1333
1334 PR c++/63455
1335 * c-common.h (CPP_PREPARSED_EXPR): New.
1336 (N_CP_TTYPES): Adjust.
1337
1338 2014-10-15 Marek Polacek <polacek@redhat.com>
1339
1340 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
1341
1342 2014-10-14 DJ Delorie <dj@redhat.com>
1343
1344 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
1345 types, not just __int128.
1346 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
1347 types, not just __int128.
1348 (cpp_atomic_builtins): Round pointer sizes up.
1349 (type_suffix): Use type precision, not specific types.
1350 * c-common.c (c_common_reswords): Remove __int128 special case.
1351 (c_common_type_for_size): Check for all __intN types, not just
1352 __int128.
1353 (c_common_type_for_mode): Likewise.
1354 (c_common_signed_or_unsigned_type): Likewise.
1355 (c_build_bitfield_integer_type): Likewise.
1356 (c_common_nodes_and_builtins): Likewise.
1357 (keyword_begins_type_specifier): Likewise.
1358 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
1359 __intN variants.
1360
1361 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
1362
1363 * c-common.c: Use hash_table instead of hashtab.
1364
1365 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1366
1367 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
1368 C++11 section.
1369
1370 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
1371
1372 PR c++/54427
1373 PR c++/57198
1374 PR c++/58845
1375 * c-common.c (warn_logical_operator): Punt for vectors.
1376
1377 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1378
1379 Implement SD-6: SG10 Feature Test Recommendations
1380 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
1381 macros and the __has_header macro.
1382
1383 2014-09-30 Jason Merrill <jason@redhat.com>
1384
1385 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
1386 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
1387 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1388
1389 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
1390 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
1391
1392 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
1393 * c-common.c (c_common_reswords): Remove __is_convertible_to.
1394
1395 2014-09-24 Marek Polacek <polacek@redhat.com>
1396
1397 PR c/61405
1398 PR c/53874
1399 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
1400
1401 2014-09-23 Andi Kleen <ak@linux.intel.com>
1402
1403 * c-common.c (handle_no_reorder_attribute): New function.
1404 (c_common_attribute_table): Add no_reorder attribute.
1405
1406 2014-09-22 Joseph Myers <joseph@codesourcery.com>
1407
1408 * c-cppbuiltin.c (c_cpp_builtins): Define
1409 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
1410 modes.
1411
1412 2014-09-18 Joseph Myers <joseph@codesourcery.com>
1413
1414 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
1415 for supported floating-point modes.
1416
1417 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1418
1419 * c.opt (Wpsabi): Use LangEnabledBy.
1420 * c-opts.c (c_common_handle_option): Do not handle here.
1421
1422 2014-09-12 Joseph Myers <joseph@codesourcery.com>
1423
1424 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
1425 macros for floating-point modes.
1426
1427 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
1428
1429 PR target/58757
1430 * c-cppbuiltin.c (builtin_define_float_constants): Correct
1431 __*_DENORM_MIN__ without denormals.
1432
1433 2014-09-10 Jakub Jelinek <jakub@redhat.com>
1434
1435 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1436 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1437 ubsan_create_data callers.
1438 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
1439 index is constant or BIT_AND_EXPR with constant mask and is
1440 small enough for the bound.
1441 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
1442 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
1443
1444 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1445
1446 * c.opt: Add CppReason to various flags.
1447 (Wdate-time): Re-sort.
1448 * c-common.c: Include c-common.h earlier.
1449 (struct reason_option_codes_t): Delete.
1450 (c_option_controlling_cpp_error): Prefix global type and struct
1451 with cpp_.
1452
1453 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1454
1455 * c.opt (Wnormalized): New.
1456 (Wnormalized=): Use Enum and Reject Negative.
1457 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
1458
1459 2014-09-08 Joseph Myers <joseph@codesourcery.com>
1460
1461 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
1462 digits of floating-point modes if -fbuilding-libgcc.
1463
1464 2014-09-05 Joseph Myers <joseph@codesourcery.com>
1465
1466 * c-cppbuiltin.c (c_cpp_builtins): Also define
1467 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
1468 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
1469 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
1470 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
1471 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
1472 __LIBGCC_STACK_GROWS_DOWNWARD__,
1473 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
1474 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
1475 __LIBGCC_DWARF_FRAME_REGISTERS__,
1476 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
1477 __LIBGCC_STACK_POINTER_REGNUM__ and
1478 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
1479 (builtin_define_with_value): Handle backslash-escaping in string
1480 macro values.
1481
1482 2014-09-05 Richard Biener <rguenther@suse.de>
1483
1484 PR middle-end/63148
1485 * c-format.c (check_format_arg): Properly handle
1486 effectively signed POINTER_PLUS_EXPR offset.
1487
1488 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1489
1490 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
1491 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
1492 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
1493 and Init.
1494 * c-opts.c (c_common_handle_option): Do not handle here.
1495 (sanitize_cpp_opts): Likewise.
1496 * c-common.c (struct reason_option_codes_t): Handle
1497 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
1498
1499 2014-09-03 Marek Polacek <polacek@redhat.com>
1500
1501 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
1502
1503 2014-09-02 Jakub Jelinek <jakub@redhat.com>
1504 Balaji V. Iyer <balaji.v.iyer@intel.com>
1505 Igor Zamyatin <igor.zamyatin@intel.com>
1506
1507 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
1508 * c-common.c (c_common_reswords): Added _Cilk_for.
1509 * c-common.h (enum rid): Added RID_CILK_FOR.
1510 (cilk_for_number_of_iterations): Add declaration.
1511 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
1512 CILK_FOR.
1513 * c-pragma.c (init_pragma): Register "grainsize" pragma.
1514 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
1515
1516 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1517
1518 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1519 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1520 Wundef): Use CPP, Var and Init.
1521 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1522
1523 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1524
1525 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1526 * c-opts.c (c_common_handle_option): Do not handle here.
1527
1528 2014-08-25 Jason Merrill <jason@redhat.com>
1529
1530 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1531 -std=c++14 and -std=gnu++14, rather than the reverse.
1532 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1533 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1534 * c-common.h (cxx_dialect): Remove cxx1y.
1535
1536 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1537
1538 * c-common.h (enum cxx_dialect): Add cxx14.
1539 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1540 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1541 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1542
1543 2014-08-22 Jason Merrill <jason@redhat.com>
1544
1545 * c.opt (std=gnu++17): Fix alias.
1546
1547 2014-08-22 Marek Polacek <polacek@redhat.com>
1548
1549 PR c++/62199
1550 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1551 check for vector types. Drop LHS argument.
1552 * c-common.h (warn_logical_not_parentheses): Adjust.
1553
1554 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1555
1556 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1557 (Wmultichar): Likewise.
1558 (Wdate-time): Use C-family languages instead of Common. Use CPP
1559 and Var.
1560 * c-opts.c (c_common_handle_option): Do not handle the above
1561 options here.
1562 (sanitize_cpp_opts): Likewise.
1563
1564 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1565
1566 PR fortran/44054
1567 * c-opts.c: Include tree-diagnostics.h.
1568 (c_diagnostic_finalizer): New.
1569 (c_common_initialize_diagnostics): Use it.
1570
1571 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1572
1573 PR preprocessor/51303
1574 * c-common.c (struct reason_option_codes_t option_codes):
1575 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1576
1577 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1578
1579 PR c/60975
1580 PR c/53063
1581 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1582 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1583 (c_common_post_options): Call init_global_opts_from_cpp.
1584 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1585
1586 2014-08-19 Marek Polacek <polacek@redhat.com>
1587
1588 PR c++/62153
1589 * c-common.c (maybe_warn_bool_compare): New function.
1590 * c-common.h (maybe_warn_bool_compare): Declare.
1591 * c.opt (Wbool-compare): New option.
1592
1593 2014-08-19 Marek Polacek <polacek@redhat.com>
1594
1595 * c.opt (Wc99-c11-compat): New option.
1596
1597 2014-08-19 Marek Polacek <polacek@redhat.com>
1598
1599 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1600 to warn_c90_c99_compat.
1601 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1602 to -1.
1603
1604 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1605 Steven Bosscher <steven@gcc.gnu.org>
1606
1607 PR c/52952
1608 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1609 format_check_results.
1610 (check_function_format): Use true and add comment for boolean
1611 argument.
1612 (finish_dollar_format_checking): Use explicit location when warning.
1613 (check_format_info): Likewise.
1614 (check_format_arg): Set extra_arg_loc and format_string_loc.
1615 (check_format_info_main): Use explicit location when warning.
1616 (check_format_types): Pass explicit location.
1617 (format_type_warning): Likewise.
1618
1619 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1620
1621 PR fortran/44054
1622 * c-format.c: Handle Fortran flags.
1623
1624 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1625
1626 PR other/61962
1627 * array-notation-common.c (find_rank): Added handling for other
1628 types of references.
1629
1630 2014-08-10 Marek Polacek <polacek@redhat.com>
1631
1632 PR c/51849
1633 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1634 * c.opt (Wc90-c99-compat): Add option.
1635
1636 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1637
1638 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1639
1640 2014-08-03 Marek Polacek <polacek@redhat.com>
1641
1642 * c-common.c (check_case_value): Add location_t parameter. Use it.
1643 (c_add_case_label): Pass loc to check_case_value.
1644
1645 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1646
1647 * cilk.c: Use hash_map instead of pointer_map.
1648
1649 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1650
1651 * c-gimplify.c: Use hash_set instead of pointer_set.
1652
1653 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1654
1655 PR middle-end/61455
1656 * array-notation-common.c (extract_array_notation_exprs): Handling
1657 of DECL_EXPR added.
1658
1659 2014-08-01 Jakub Jelinek <jakub@redhat.com>
1660
1661 * c-common.h (min_align_of_type): Removed prototype.
1662 * c-common.c (min_align_of_type): Removed.
1663 * c-ubsan.h (ubsan_maybe_instrument_reference,
1664 ubsan_maybe_instrument_member_call): New prototypes.
1665 * c-ubsan.c: Include stor-layout.h and builtins.h.
1666 (ubsan_maybe_instrument_reference_or_call,
1667 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1668 functions.
1669
1670 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
1671
1672 PR c++/60517
1673 * c.opt (-Wreturn-local-addr): Move to common.opt.
1674
1675 2014-07-30 Jason Merrill <jason@redhat.com>
1676
1677 PR c++/61659
1678 PR c++/61687
1679 Revert:
1680 * c.opt (-fuse-all-virtuals): New.
1681
1682 2014-07-30 Tom Tromey <tromey@redhat.com>
1683
1684 PR c/59855
1685 * c.opt (Wdesignated-init): New option.
1686 * c-common.c (c_common_attribute_table): Add "designated_init".
1687 (handle_designated_init): New function.
1688
1689 2014-07-24 Marek Polacek <polacek@redhat.com>
1690
1691 PR c/57653
1692 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1693
1694 2014-07-16 Dodji Seketeli <dodji@redhat.com>
1695
1696 PR preprocessor/60723 - missing system-ness marks for macro tokens
1697 * c-ppoutput.c (struct print::prev_was_system_token): New data
1698 member.
1699 (init_pp_output): Initialize it.
1700 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1701 (do_line_change): Return a flag saying if a line marker was
1702 emitted or not.
1703 (scan_translation_unit): Detect if the system-ness of the token we
1704 are about to emit is different from the one of the previously
1705 emitted token. If so, emit a line marker. Avoid emitting useless
1706 adjacent line markers. Avoid emitting line markers for tokens
1707 originating from the expansion of built-in macros.
1708 (scan_translation_unit_directives_only): Adjust.
1709
1710 2014-07-15 Marek Polacek <polacek@redhat.com>
1711
1712 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1713 TYPE_MAX_VALUE is NULL.
1714
1715 2014-07-14 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR middle-end/61294
1718 * c.opt (Wmemset-transposed-args): New warning.
1719
1720 2014-07-10 Jason Merrill <jason@redhat.com>
1721
1722 PR c++/61659
1723 PR c++/61687
1724 * c.opt (-fuse-all-virtuals): New.
1725
1726 2014-07-09 Richard Biener <rguenther@suse.de>
1727
1728 PR c-family/61741
1729 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1730 using unsigned arithmetic if overflow does not wrap instead of
1731 if overflow is undefined.
1732
1733 2014-07-06 Marek Polacek <polacek@redhat.com>
1734
1735 PR c/6940
1736 * c.opt (Wsizeof-array-argument): New option.
1737
1738 2014-07-03 Jakub Jelinek <jakub@redhat.com>
1739
1740 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
1741 comments->count <= 1, as comments->entries might be NULL.
1742
1743 2014-07-01 Marek Polacek <polacek@redhat.com>
1744
1745 * c.opt (Wint-conversion): New option.
1746
1747 2014-07-01 Marek Polacek <polacek@redhat.com>
1748
1749 PR c/58286
1750 * c.opt (Wincompatible-pointer-types): New option.
1751
1752 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1753
1754 PR c++/51400
1755 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1756 Do not discard TYPE_QUALS of type.
1757
1758 2014-06-26 Jason Merrill <jason@redhat.com>
1759
1760 * c-common.h (enum cxx_dialect): Add cxx1z.
1761 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1762 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1763
1764 2014-06-26 Teresa Johnson <tejohnson@google.com>
1765
1766 * c-common.h (get_dump_info): Declare.
1767 * c-gimplify.c (c_genericize): Use saved dump files.
1768 * c-opts.c (c_common_parse_file): Begin and end dumps
1769 once around parsing invocation.
1770 (get_dump_info): New function.
1771
1772 2014-06-23 Marek Polacek <polacek@redhat.com>
1773 Andrew MacLeod <amacleod@redhat.com>
1774
1775 PR c/61553
1776 * c-common.c (get_atomic_generic_size): Don't segfault if the
1777 type doesn't have a size.
1778
1779 2014-06-20 Marek Polacek <polacek@redhat.com>
1780
1781 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1782 (ubsan_walk_array_refs_r): New function.
1783 (c_genericize): Instrument array bounds.
1784 * c-ubsan.c: Include "internal-fn.h".
1785 (ubsan_instrument_division): Mark instrumented arrays as having
1786 side effects. Adjust ubsan_type_descriptor call.
1787 (ubsan_instrument_shift): Likewise.
1788 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1789 (ubsan_instrument_bounds): New function.
1790 (ubsan_array_ref_instrumented_p): New function.
1791 (ubsan_maybe_instrument_array_ref): New function.
1792 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1793 (ubsan_array_ref_instrumented_p): Declare.
1794 (ubsan_maybe_instrument_array_ref): Declare.
1795
1796 2014-06-20 Hale Wang <hale.wang@arm.com>
1797
1798 PR lto/61123
1799 * c.opt (fshort-enums): Add to LTO.
1800 * c.opt (fshort-wchar): Likewise.
1801
1802 2014-06-16 Marek Polacek <polacek@redhat.com>
1803
1804 PR c/60439
1805 * c.opt (Wswitch-bool): Add Var.
1806
1807 2014-06-12 Jakub Jelinek <jakub@redhat.com>
1808
1809 PR middle-end/61486
1810 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1811 #pragma omp target teams or
1812 #pragma omp {,target }teams distribute simd.
1813
1814 2014-06-12 Jason Merrill <jason@redhat.com>
1815
1816 * c.opt (Wabi=, fabi-compat-version): New.
1817 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1818 (c_common_post_options): Handle flag_abi_compat_version default.
1819 Disallow -fabi-compat-version=1.
1820 * c-common.h (abi_version_crosses): New.
1821
1822 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
1823
1824 * c-common.c (handle_section_attribute): Update handling for
1825 section names that are no longer trees.
1826
1827 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1828
1829 PR fortran/60928
1830 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1831 (omp_pragmas): ... back here.
1832
1833 2014-06-05 Marek Polacek <polacek@redhat.com>
1834
1835 PR c/49706
1836 * c-common.c (warn_logical_not_parentheses): New function.
1837 * c-common.h (warn_logical_not_parentheses): Declare.
1838 * c.opt (Wlogical-not-parentheses): New option.
1839
1840 2014-06-04 Marek Polacek <polacek@redhat.com>
1841
1842 PR c/30020
1843 * c-common.c (check_case_bounds): Add location parameter.
1844 Use it.
1845 (c_add_case_label): Pass loc to check_case_bounds.
1846
1847 2014-06-03 Marek Polacek <polacek@redhat.com>
1848
1849 PR c/60439
1850 * c.opt (Wswitch-bool): New option.
1851
1852 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1853
1854 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1855 Remove prototypes.
1856 (record_types_used_by_current_var_decl): Move prototype to where
1857 it belongs.
1858
1859 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1860 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1861 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1862
1863 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1864
1865 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1866 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1867 void_zero_node.
1868 * c-pretty-print.c (pp_c_void_constant): New function.
1869 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1870 (c_pretty_printer::expression): Handle VOID_CST.
1871 * cilk.c (extract_free_variables): Likewise.
1872 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1873 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1874
1875 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1876
1877 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1878 * c-pragma.c (push_alignment): Adjust.
1879 (handle_pragma_push_options): Likewise.
1880
1881 2014-05-09 Marek Polacek <polacek@redhat.com>
1882
1883 PR c/50459
1884 * c-common.c (check_user_alignment): Return -1 if alignment is error
1885 node.
1886 (handle_aligned_attribute): Don't call default_conversion on
1887 FUNCTION_DECLs.
1888 (handle_vector_size_attribute): Likewise.
1889 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1890 (handle_sentinel_attribute): Call default_conversion and allow even
1891 integral types as an argument.
1892
1893 2014-05-08 Marek Polacek <polacek@redhat.com>
1894
1895 PR c/61053
1896 * c-common.c (min_align_of_type): New function factored out from...
1897 (c_sizeof_or_alignof_type): ...here.
1898 * c-common.h (min_align_of_type): Declare.
1899
1900 2014-05-08 Marek Polacek <polacek@redhat.com>
1901
1902 PR c/61077
1903 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1904 parameter type of main.
1905
1906 2014-05-07 DJ Delorie <dj@redhat.com>
1907
1908 * c-cppbuiltin.c (print_bits_of_hex): New.
1909 (builtin_define_type_minmax): Print values using hex so as not to
1910 require a pre-computed list of string values.
1911
1912 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1913 Mike Stump <mikestump@comcast.net>
1914 Richard Sandiford <rdsandiford@googlemail.com>
1915
1916 * c-ada-spec.c: Include wide-int.h.
1917 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1918 (dump_generic_ada_node): Use wide-int interfaces.
1919 * c-common.c: Include wide-int-print.h.
1920 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1921 (pointer_int_sum): Use wide-int interfaces.
1922 (c_common_nodes_and_builtins): Use make_int_cst.
1923 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1924 (handle_alloc_size_attribute): Use wide-int interfaces.
1925 (get_nonnull_operand): Likewise.
1926 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1927 * c-lex.c: Include wide-int.h.
1928 (narrowest_unsigned_type): Take a widest_int rather than two
1929 HOST_WIDE_INTs.
1930 (narrowest_signed_type): Likewise.
1931 (interpret_integer): Update accordingly. Use wide-int interfaces.
1932 (lex_charconst): Use wide-int interfaces.
1933 * c-pretty-print.c: Include wide-int.h.
1934 (pp_c_integer_constant): Use wide-int interfaces.
1935 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1936 INT_CST_LT_UNSIGNED.
1937
1938 2014-05-06 Richard Biener <rguenther@suse.de>
1939
1940 * c-opts.c (c_common_post_options): For -freestanding,
1941 -fno-hosted and -fno-builtin disable pattern recognition
1942 if not enabled explicitely.
1943
1944 2014-05-02 Marek Polacek <polacek@redhat.com>
1945
1946 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1947
1948 2014-05-01 Marek Polacek <polacek@redhat.com>
1949
1950 PR c/43245
1951 * c.opt (Wdiscarded-qualifiers): Add.
1952
1953 2014-04-30 Marek Polacek <polacek@redhat.com>
1954
1955 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1956 INT_MIN / -1 sanitization only for integer types.
1957
1958 2014-04-25 Marek Polacek <polacek@redhat.com>
1959
1960 PR c/18079
1961 * c-common.c (handle_noinline_attribute): Warn if the attribute
1962 conflicts with always_inline attribute.
1963 (handle_always_inline_attribute): Warn if the attribute conflicts
1964 with noinline attribute.
1965
1966 2014-04-25 Marek Polacek <polacek@redhat.com>
1967
1968 PR c/60156
1969 * c-common.c (check_main_parameter_types): Warn about variadic main.
1970
1971 2014-04-24 Mike Stump <mikestump@comcast.net>
1972
1973 * c.opt (Wshadow-ivar): Default to on.
1974
1975 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1976
1977 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1978
1979 2014-04-23 Marek Polacek <polacek@redhat.com>
1980
1981 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1982
1983 2014-04-22 Jakub Jelinek <jakub@redhat.com>
1984
1985 PR sanitizer/60275
1986 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1987 if flag_sanitize_undefined_trap_on_error.
1988 (ubsan_instrument_division, ubsan_instrument_shift,
1989 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1990 if !flag_sanitize_recover.
1991
1992 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1993
1994 PR libstdc++/43622
1995 * c-common.c (registered_builtin_types): Make non-static.
1996 * c-common.h (registered_builtin_types): Declare.
1997
1998 2014-04-14 Richard Biener <rguenther@suse.de>
1999 Marc Glisse <marc.glisse@inria.fr>
2000
2001 PR c/60819
2002 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
2003 apply may-alias the scalar pointer type when applicable.
2004
2005 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
2006
2007 PR middle-end/60467
2008 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
2009 as possible argument for Cilk_spawn.
2010
2011 2014-04-11 Tobias Burnus <burnus@net-b.de>
2012
2013 PR c/60194
2014 * c.opt (Wformat-signedness): Add
2015 * c-format.c(check_format_types): Use it.
2016
2017 2014-04-11 Jason Merrill <jason@redhat.com>
2018
2019 PR c++/57926
2020 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
2021 default_conversion for an array argument.
2022
2023 2014-04-08 Marek Polacek <polacek@redhat.com>
2024
2025 PR sanitizer/60745
2026 * c-ubsan.c: Include asan.h.
2027 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
2028
2029 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
2030
2031 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
2032
2033 2014-04-02 Marek Polacek <polacek@redhat.com>
2034
2035 * c-common.h (c_expand_expr): Remove declaration.
2036
2037 2014-03-28 Jakub Jelinek <jakub@redhat.com>
2038
2039 PR c++/60689
2040 * c-common.c (add_atomic_size_parameter): When creating new
2041 params vector, push the size argument first.
2042
2043 2014-03-26 Jakub Jelinek <jakub@redhat.com>
2044
2045 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
2046 ubsan_instrument_vla, ubsan_instrument_return): Adjust
2047 ubsan_create_data callers.
2048
2049 2014-03-22 Jakub Jelinek <jakub@redhat.com>
2050
2051 PR debug/60603
2052 * c-opts.c (c_finish_options): Restore cb_file_change call to
2053 <built-in>.
2054
2055 2014-03-13 Jakub Jelinek <jakub@redhat.com>
2056
2057 PR middle-end/36282
2058 * c-pragma.c (apply_pragma_weak): Only look at
2059 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
2060 DECL_ASSEMBLER_NAME_SET_P (decl).
2061 (maybe_apply_pending_pragma_weaks): Exit early if
2062 vec_safe_is_empty (pending_weaks) rather than only when
2063 !pending_weaks.
2064 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
2065 set assembler name back to NULL afterwards.
2066
2067 2014-03-11 Jason Merrill <jason@redhat.com>
2068
2069 * c.opt: Add -std=gnu++14.
2070
2071 2014-03-11 Ian Bolton <ian.bolton@arm.com>
2072
2073 * c-opts.c (c_common_post_options): Don't override
2074 -ffp-contract=fast if unsafe-math-optimizations is on.
2075
2076 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
2077
2078 * c.opt: Enable LTO FE for fshort-double.
2079
2080 2014-03-07 Jason Merrill <jason@redhat.com>
2081
2082 * c.opt: Add -std=c++14.
2083
2084 2014-03-06 Marek Polacek <polacek@redhat.com>
2085
2086 PR c/60197
2087 * cilk.c (contains_cilk_spawn_stmt): New function.
2088 (contains_cilk_spawn_stmt_walker): Likewise.
2089 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
2090 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
2091
2092 2014-03-03 Jakub Jelinek <jakub@redhat.com>
2093
2094 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
2095 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
2096 even when flag_preprocess_only.
2097
2098 2014-02-26 Jason Merrill <jason@redhat.com>
2099
2100 PR c++/59231
2101 PR c++/11586
2102 * c-common.c (shorten_compare): Don't check
2103 c_inhibit_evaluation_warnings.
2104
2105 2014-02-19 Jakub Jelinek <jakub@redhat.com>
2106
2107 PR c/37743
2108 * c-common.c (c_common_nodes_and_builtins): When initializing
2109 c_uint{16,32,64}_type_node, also set corresponding
2110 uint{16,32,64}_type_node to the same value.
2111
2112 PR c++/60267
2113 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
2114 for PRAGMA_IVDEP if flag_preprocess_only.
2115
2116 2014-02-12 Jakub Jelinek <jakub@redhat.com>
2117
2118 PR c/60101
2119 * c-common.c (merge_tlist): If copy is true, call new_tlist,
2120 if false, add ADD itself, rather than vice versa.
2121 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
2122 copy. For SAVE_EXPR, only call merge_tlist once.
2123
2124 2014-02-08 Jakub Jelinek <jakub@redhat.com>
2125
2126 PR middle-end/60092
2127 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
2128 and tree_to_uhwi.
2129 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
2130 functions.
2131 (c_common_attribute_table): Add alloc_align and assume_aligned
2132 attributes.
2133
2134 2014-02-06 Marek Polacek <polacek@redhat.com>
2135
2136 PR c/60087
2137 * c-common.c (warn_for_sign_compare): Call warning_at with location
2138 instead of warning.
2139
2140 2014-02-05 Marek Polacek <polacek@redhat.com>
2141
2142 PR c/53123
2143 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
2144 statement.
2145
2146 2014-02-04 Marek Polacek <polacek@redhat.com>
2147
2148 PR c/60036
2149 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
2150 SAVE_EXPR.
2151
2152 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
2153
2154 PR c++/53017
2155 PR c++/59211
2156 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
2157 handle_vector_size_attribute, handle_nonnull_attribute): Call
2158 default_conversion on the attribute argument.
2159 (handle_nonnull_attribute): Increment the argument number.
2160
2161 2014-01-31 Marek Polacek <polacek@redhat.com>
2162
2163 PR c/59963
2164 * c-common.c (add_atomic_size_parameter): Pass vNULL to
2165 build_function_call_vec.
2166 (resolve_overloaded_builtin): Likewise.
2167 * c-common.h (build_function_call_vec): Adjust declaration.
2168
2169 2014-01-30 Marek Polacek <polacek@redhat.com>
2170
2171 PR c/59940
2172 * c-common.h (unsafe_conversion_p): Adjust declaration.
2173 (warnings_for_convert_and_check): Likewise.
2174 (convert_and_check): Likewise.
2175 * c-common.c (unsafe_conversion_p): Add location parameter. Call
2176 expansion_point_location_if_in_system_header on it.
2177 (warnings_for_convert_and_check): Add location parameter. Call
2178 expansion_point_location_if_in_system_header on it. Use it.
2179 (convert_and_check): Add location parameter. Use it.
2180 (conversion_warning): Likewise.
2181 (c_add_case_label): Adjust convert_and_check calls.
2182 (scalar_to_vector): Adjust unsafe_conversion_p calls.
2183
2184 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
2185
2186 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
2187 flag_cilkplus.
2188 * c-pragma.c (init_pragma): Likewise.
2189 * c.opt: Likewise.
2190
2191 2014-01-23 Marek Polacek <polacek@redhat.com>
2192
2193 PR c/59846
2194 * c-common.c (shorten_compare): Add location_t parameter.
2195 * c-common.h (shorten_binary_op): Adjust declaration.
2196
2197 2014-01-23 Marek Polacek <polacek@redhat.com>
2198
2199 PR c/58346
2200 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
2201 * c-common.h: Declare it.
2202
2203 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
2204
2205 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
2206 * c-ada-spec.c (dump_ads): Likewise.
2207 (cpp_check): Likewise.
2208 (dump_ada_specs): Likewise.
2209
2210 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
2211
2212 PR c++/49718
2213 * c-common.c (handle_no_instrument_function_attribute): Allow
2214 no_instrument_function attribute in class member
2215 definition/declaration.
2216
2217 2014-01-15 Jakub Jelinek <jakub@redhat.com>
2218
2219 PR c/58943
2220 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
2221 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
2222 being COMPOUND_EXPR.
2223 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
2224 operand a SAVE_EXPR and second MODIFY_EXPR.
2225
2226 2014-01-09 Jakub Jelinek <jakub@redhat.com>
2227
2228 PR target/58115
2229 * c-pch.c (c_common_write_pch): Call
2230 prepare_target_option_nodes_for_pch.
2231
2232 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2233
2234 Update copyright years
2235
2236 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2237
2238 * array-notation-common.c, c-cilkplus.c: Use the standard form for
2239 the copyright notice.
2240
2241 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
2242
2243 * c-ada-spec.c (print_constructor): New function.
2244 (print_destructor): Retrieve the origin of the destructor.
2245 (print_ada_declaration): Revamp handling of constructors/destructors.
2246
2247 2013-12-23 Stuart Hastings <stuart@apple.com>
2248 Bill Maddox <maddox@google.com>
2249 Jason Merrill <jason@redhat.com>
2250
2251 * c.opt: Add -fdeclone-ctor-dtor.
2252 * c-opts.c (c_common_post_options): Default to on iff -Os.
2253
2254 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
2255
2256 * c-common.c (c_common_attribute_table): Added "cilk simd function"
2257 attribute.
2258 * c-pragma.h (enum pragma_cilk_clause): Remove.
2259 (enum pragma_omp_clause): Added the following fields:
2260 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
2261 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
2262 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
2263 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
2264 PRAGMA_CILK_CLAUSE_UNIFORM.
2265
2266
2267 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
2268
2269 * cilk.c (cilk_outline): Made this function non-static.
2270 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
2271 (create_cilk_wrapper): Added a new parameter: a function pointer.
2272 (c_install_body_w_frame_cleanup): Remove
2273 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
2274 * c-common.h (cilk_outline): New prototype.
2275 (gimplify_cilk_spawn): Removed two parameters.
2276 (cilk_install_body_with_frame_cleanup): New prototype.
2277 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
2278 CILK_SPAWN_STMT case.
2279
2280 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
2281
2282 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
2283
2284 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
2285 (int_array_type_node): Remove.
2286 * c-common.c (c_common_nodes_and_builtins): Don't build it.
2287
2288 2013-12-05 Marek Polacek <polacek@redhat.com>
2289
2290 PR c/52023
2291 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
2292 [ADJUST_FIELD_ALIGN].
2293
2294 2013-12-04 Joseph Myers <joseph@codesourcery.com>
2295
2296 PR c/52023
2297 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
2298 and check field alignment if set.
2299 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
2300 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
2301
2302 2013-12-04 Jakub Jelinek <jakub@redhat.com>
2303 Marek Polacek <polacek@redhat.com>
2304
2305 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
2306 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
2307
2308 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
2309
2310 PR c/59309
2311 * cilk.c (gimplify_cilk_spawn): Properly handle function without
2312 arguments.
2313
2314 2013-11-29 Jakub Jelinek <jakub@redhat.com>
2315
2316 PR c/59280
2317 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
2318 goto invalid. If it is error_mark_node, don't issue further
2319 diagnostics.
2320
2321 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
2322
2323 * c.opt (Wopenmp-simd): New.
2324
2325 2013-11-22 Jakub Jelinek <jakub@redhat.com>
2326
2327 * c-ubsan.h (ubsan_instrument_return): New prototype.
2328 * c-ubsan.c (ubsan_instrument_return): New function.
2329
2330 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
2331
2332 * c-common.c: Add required include files from gimple.h.
2333 * c-gimplify.c: Likewise
2334 * cilk.c: Likewise
2335
2336 2013-11-22 David Malcolm <dmalcolm@redhat.com>
2337
2338 * c-common.c (unsafe_conversion_p): Remove use of
2339 EXPR_LOC_OR_HERE macro.
2340 (conversion_warning): Likewise.
2341 (warnings_for_convert_and_check): Likewise.
2342 (warn_for_collisions_1): Likewise.
2343 (shorten_compare): Likewise, and remove use of in_system_header
2344 macro, using the location from the former.
2345 * c-lex.c (dump_one_header): Remove use of input_filename macro.
2346 (cb_def_pragma): Remove use of in_system_header macro.
2347 (lex_string): Likewise.
2348 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2349
2350 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2351 Mike Stump <mikestump@comcast.net>
2352 Richard Sandiford <rdsandiford@googlemail.com>
2353
2354 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
2355 instead of TREE_INT_CST_LOW, in cases where there is a protecting
2356 tree_fits_shwi_p or tree_fits_uhwi_p.
2357 (dump_generic_ada_node): Likewise.
2358 * c-format.c (check_format_arg): Likewise.
2359 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2360
2361 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
2362
2363 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
2364
2365 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
2366
2367 PR c/53001
2368 * c-common.c (unsafe_conversion_p): Make this function
2369 return an enumeration with more detail.
2370 (conversion_warning): Use the new return type of
2371 unsafe_conversion_p to separately warn either about conversions
2372 that lower floating point number precision or about the other
2373 kinds of conversions.
2374 * c-common.h (enum conversion_safety): New enumeration.
2375 (unsafe_conversion_p): switching return type to
2376 conversion_safety enumeration.
2377 * c.opt: Adding new warning -Wfloat-conversion and
2378 enabling it with -Wconversion.
2379
2380 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
2381
2382 * c-opts.c: Include plugin.h.
2383 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
2384
2385 2013-11-19 Marek Polacek <polacek@redhat.com>
2386
2387 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
2388 call.
2389 (ubsan_instrument_shift): Likewise.
2390 (ubsan_instrument_vla): Likewise.
2391
2392 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2393
2394 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
2395 cast to unsigned type.
2396
2397 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2398
2399 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
2400 tree_low_cst.
2401 (complete_array_type): Update comment to refer to tree_to_[su]hwi
2402 rather than tree_low_cst.
2403
2404 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2405
2406 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
2407 tree_to_uhwi throughout.
2408
2409 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2410
2411 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
2412 tree_low_cst (..., 0) with tree_to_shwi throughout.
2413
2414 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2415
2416 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
2417 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
2418
2419 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
2420
2421 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
2422 host_integerp (..., 0) with tree_fits_shwi_p throughout.
2423
2424 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
2425
2426 * c-cilkplus.c: New file.
2427 * c-common.c (readonly_error): Add location argument.
2428 * c-common.h (readonly_error): Same.
2429 (c_finish_cilk_clauses): Protoize.
2430 (c_check_cilk_loop): Same.
2431 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
2432 Do not fail on error_mark_node.
2433 Abstract increment canonicalization to here...
2434 (c_omp_for_incr_canonicalize_ptr): New.
2435 c-pragma.c (init_pragma): Register "simd" pragma.
2436 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
2437 (enum pragma_cilk_clause): New.
2438
2439 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
2440
2441 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
2442 wchar_type and host_integerp checks.
2443
2444 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
2445
2446 * c-common.c: Likewise.
2447 * c-gimplify.c: Likewise.
2448 * cilk.c: Likewise.
2449
2450 2013-11-14 Diego Novillo <dnovillo@google.com>
2451
2452 * c-common.c: Include fold-const.h.
2453 Include stor-layout.h.
2454 Include calls.h.
2455 Include stringpool.h.
2456 Include attribs.h.
2457 Include varasm.h.
2458 Include trans-mem.h.
2459 * c-cppbuiltin.c: Include stor-layout.h.
2460 Include stringpool.h.
2461 * c-format.c: Include stringpool.h.
2462 * c-lex.c: Include stringpool.h.
2463 Include stor-layout.h.
2464 * c-pragma.c: Include stringpool.h.
2465 Include attribs.h.
2466 Include varasm.h.
2467 Include gcc-symtab.h.
2468 * c-pretty-print.c: Include stor-layout.h.
2469 Include attribs.h.
2470 * cilk.c: Include stringpool.h.
2471 Include calls.h.
2472
2473 2013-11-13 Joseph Myers <joseph@codesourcery.com>
2474
2475 * c-common.h (enum rid): Add RID_AUTO_TYPE.
2476 * c-common.c (c_common_reswords): Add __auto_type.
2477 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
2478
2479 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
2480
2481 * c-common.c: Include gimplify.h.
2482 * c-gimplify.c: Likewise.
2483 * cilk.c: Likewise.
2484 * c-omp.c: Include gimple-expr.h instead of gimple.h.
2485 * c-ubsan.c: Don't include gimple.h.
2486
2487 2013-11-12 Joseph Myers <joseph@codesourcery.com>
2488
2489 * c-common.c (c_common_reswords): Add _Thread_local.
2490
2491 2013-11-09 Joseph Myers <joseph@codesourcery.com>
2492
2493 * c-common.c (atomic_size_supported_p): New function.
2494 (resolve_overloaded_atomic_exchange)
2495 (resolve_overloaded_atomic_compare_exchange)
2496 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
2497 Use it instead of comparing size with a local list of sizes.
2498
2499 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
2500 Joseph Myers <joseph@codesourcery.com>
2501
2502 * c-common.h (enum rid): Add RID_ATOMIC.
2503 * c-common.c (c_common_reswords): Add _Atomic.
2504 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
2505 (keyword_is_type_qualifier): Accept RID_ATOMIC.
2506 * c-format.c (check_format_types): Check for extra _Atomic
2507 qualifiers in format argument.
2508 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
2509 (pp_c_type_qualifier_list): Mention _Atomic in comment.
2510
2511 2013-11-06 Tobias Burnus <burnus@net-b.de>
2512
2513 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
2514
2515 2013-11-06 Joseph Myers <joseph@codesourcery.com>
2516
2517 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2518 standards modes.
2519 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2520 to mean lack of IEEE 754 support.
2521
2522 2013-11-05 Tobias Burnus <burnus@net-b.de>
2523
2524 * c.opt (-Wdate-time): New option
2525 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2526
2527 2013-11-05 Joseph Myers <joseph@codesourcery.com>
2528
2529 * c-cppbuiltin.c (cpp_iec_559_value): Test
2530 flag_excess_precision_cmdline not flag_excess_precision.
2531
2532 2013-11-05 Tobias Burnus <burnus@net-b.de>
2533
2534 * c.opt (fopenmp-simd): New option.
2535 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2536 (omp_pragmas): ... this new struct.
2537 (c_pp_lookup_pragma): Also walk omp_pragmas.
2538 (init_pragma): Init pragmas for -fopenmp-simd.
2539
2540 2013-11-04 Marek Polacek <polacek@redhat.com>
2541
2542 PR c++/58979
2543 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2544
2545 2013-11-04 Joseph Myers <joseph@codesourcery.com>
2546
2547 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2548 New functions.
2549 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2550
2551 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2552
2553 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2554 (dump_ada_specs): Adjust prototype of second callback.
2555 * c-ada-spec.c (cpp_check): New global variable.
2556 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2557 (print_generic_ada_decl): Likewise.
2558 (has_static_fields): Change return type to bool and add guard.
2559 (has_nontrivial_methods): New predicate.
2560 (is_tagged_type): Change return type to bool.
2561 (separate_class_package): Call has_nontrivial_methods.
2562 (pp_ada_tree_identifier): Minor tweaks.
2563 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2564 (dump_ada_array_domains): Likewise.
2565 (dump_ada_array_type): Likewise.
2566 (dump_template_types): Remove cpp_check parameter and do not pass it to
2567 dump_generic_ada_node.
2568 (dump_ada_template): Likewise.
2569 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2570 recursively.
2571 (print_ada_methods): Change return type to integer. Remove cpp_check
2572 parameter and do not pass it down.
2573 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2574 dump_generic_ada_node.
2575 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2576 accessing methods.
2577 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2578 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2579 value of print_ada_methods.
2580 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2581 Set cpp_check to it before invoking dump_ada_nodes.
2582 (dump_ada_specs): Likewise.
2583
2584 2013-11-03 Marek Polacek <polacek@redhat.com>
2585
2586 * c-ubsan.c: Don't include hash-table.h.
2587 (ubsan_instrument_vla): New function.
2588 * c-ubsan.h: Declare it.
2589
2590 2013-10-31 David Malcolm <dmalcolm@redhat.com>
2591
2592 Automated part of renaming of symtab_node_base to symtab_node.
2593
2594 Patch autogenerated by rename_symtab.py from
2595 https://github.com/davidmalcolm/gcc-refactoring-scripts
2596 revision 58bb219cc090b2f4516a9297d868c245495ee622
2597
2598 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2599 symtab_node_base to symtab_node.
2600
2601 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2602
2603 Implement C++14 digit separators.
2604 * c-lex.c (interpret_float): Remove digit separators from scratch string
2605 before building real literal.
2606
2607 2013-10-30 Jakub Jelinek <jakub@redhat.com>
2608
2609 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2610
2611 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2612
2613 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2614 fields.
2615 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2616 enabled.
2617 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2618 (insert_cilk_frame): New prototype.
2619 (cilk_init_builtins): Likewise.
2620 (gimplify_cilk_spawn): Likewise.
2621 (c_cilk_install_body_w_frame_cleanup): Likewise.
2622 (cilk_detect_spawn_and_unwrap): Likewise.
2623 (cilk_set_spawn_marker): Likewise.
2624 (build_cilk_sync): Likewise.
2625 (build_cilk_spawn): Likewise.
2626 * cilk.c: New file.
2627
2628 2013-10-29 David Malcolm <dmalcolm@redhat.com>
2629
2630 Patch autogenerated by refactor_symtab.py from
2631 https://github.com/davidmalcolm/gcc-refactoring-scripts
2632 revision 58bb219cc090b2f4516a9297d868c245495ee622
2633
2634 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2635 to a true class hierarchy.
2636 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2637
2638 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2639
2640 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2641
2642 2013-10-26 Jeff Law <law@redhat.com>
2643
2644 * c-common.c (c_define_builtins): Remove mudflap support.
2645 * c.opt: Ignore and warn for mudflap options.
2646
2647 2013-10-24 Tobias Burnus <burnus@net-b.de>
2648
2649 PR other/33426
2650 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2651 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2652
2653 2013-10-23 Jason Merrill <jason@redhat.com>
2654
2655 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2656
2657 2013-10-11 Jakub Jelinek <jakub@redhat.com>
2658
2659 * c-common.h (omp_clause_mask::operator !=): New method.
2660 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2661 instead of if (mask & something) tests everywhere.
2662
2663 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2664 201307 instead of 201107.
2665 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2666 (c_common_attribute_table): Add "omp declare target" and
2667 "omp declare simd" attributes.
2668 (handle_omp_declare_target_attribute,
2669 handle_omp_declare_simd_attribute): New functions.
2670 * c-omp.c: Include c-pragma.h.
2671 (c_finish_omp_taskgroup): New function.
2672 (c_finish_omp_atomic): Add swapped argument, if true,
2673 build the operation first with rhs, lhs arguments and use NOP_EXPR
2674 build_modify_expr.
2675 (c_finish_omp_for): Add code argument, pass it down to make_code.
2676 (c_omp_split_clauses): New function.
2677 (c_split_parallel_clauses): Removed.
2678 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2679 c_omp_declare_simd_clauses_to_decls): New functions.
2680 * c-common.h (omp_clause_mask): New type.
2681 (OMP_CLAUSE_MASK_1): Define.
2682 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2683 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2684 omp_clause_mask::operator |, omp_clause_mask::operator &,
2685 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2686 omp_clause_mask::operator ==): New methods.
2687 (enum c_omp_clause_split): New.
2688 (c_finish_omp_taskgroup): New prototype.
2689 (c_finish_omp_atomic): Add swapped argument.
2690 (c_finish_omp_for): Add code argument.
2691 (c_omp_split_clauses): New prototype.
2692 (c_split_parallel_clauses): Removed.
2693 (c_omp_declare_simd_clauses_to_numbers,
2694 c_omp_declare_simd_clauses_to_decls): New prototypes.
2695 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2696 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2697 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2698 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2699 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2700 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2701 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2702 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2703 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2704 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2705 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2706 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2707 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2708 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2709 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2710 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2711 PRAGMA_OMP_CLAUSE_UNIFORM.
2712
2713 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
2714
2715 PR tree-optimization/20318
2716 * c-common.c (handle_returns_nonnull_attribute): New function.
2717 (c_common_attribute_table): Add returns_nonnull.
2718
2719 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
2720
2721 PR c++/19476
2722 * c.opt (fcheck-new): Move to common.opt.
2723
2724 2013-09-25 Marek Polacek <polacek@redhat.com>
2725 Jakub Jelinek <jakub@redhat.com>
2726
2727 PR sanitizer/58413
2728 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2729 an expression if we can prove it is correct.
2730 (ubsan_instrument_division): Likewise. Remove unnecessary
2731 check.
2732
2733 2013-09-18 Marek Polacek <polacek@redhat.com>
2734
2735 PR sanitizer/58411
2736 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2737 Declare it.
2738 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2739
2740 2013-09-14 Iain Sandoe <iain@codesourcery.com>
2741
2742 PR target/48094
2743 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2744 fobjc-gc, freplace-objc-classes): Accept for LTO.
2745
2746 2013-09-13 Jacek Caban <jacek@codeweavers.com>
2747
2748 * c-target.def: New hook
2749
2750 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2751
2752 PR c++/43452
2753 * c.opt (Wdelete-incomplete): Add.
2754
2755 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2756
2757 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2758 (vector_types_compatible_elements_p): New function.
2759 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2760 declaration.
2761 (vector_types_compatible_elements_p): Declare.
2762
2763 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2764
2765 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2766 a virtual member function.
2767 (pp_simple_type_specifier): Remove.
2768 (pp_c_type_specifier): Likewise.
2769 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2770 Rename from pp_c_type_specifier. Adjust.
2771 (c_pretty_printer::c_pretty_printer): Do not assign to
2772 simple_type_specifier.
2773
2774 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2775
2776 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2777 member function.
2778 (c_pretty_printer::storage_class_specifier): Likewise.
2779 (c_pretty_printer::initializer): Likewise.
2780 (pp_declaration): Remove.
2781 (pp_declaration_specifiers): Likewise.
2782 (pp_abstract_declarator): Likewise.
2783 (pp_declarator): Likewise.
2784 (pp_type_id): Likewise.
2785 (pp_statement): Likewise.
2786 (pp_constant): Likewise.
2787 (pp_id_expression): Likewise.
2788 (pp_primary_expression): Likewise.
2789 (pp_unary_expression): Likewise.
2790 (pp_multiplicative_expression): Likewise.
2791 (pp_conditional_expression): Likewise.
2792 (pp_assignment_expression): Likewise.
2793 (pp_expression): Likewise.
2794 (pp_c_type_id): Likewise.
2795 (pp_c_storage_class_specifier): Likewise.
2796 * c-pretty-print.c (pp_c_type_cast): Tidy.
2797 (pp_c_pointer): Likewise.
2798 (pp_c_type_specifier): Likewise.
2799 (pp_c_parameter_type_list): Likewise.
2800 (pp_c_function_definition): Likewise.
2801 (pp_c_init_declarator): Likewise.
2802 (pp_c_initializer_list): Likewise.
2803 (pp_c_constructor_elts): Likewise.
2804 (c_pretty_printer::direct_abstract_declarator): Likewise.
2805 (c_pretty_printer::declaration_specifiers): Likewise.
2806 (c_pretty_printer::primary_expression): Likewise.
2807 (c_pretty_printer::postfix_expression): Likewise.
2808 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2809 (c_pretty_printer::storage_class_specifier): Rename from
2810 pp_c_storage_class_specifier.
2811 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2812 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2813 storage_class_specifier, initializer, offset_list, flags.
2814
2815 2013-08-30 Marek Polacek <polacek@redhat.com>
2816
2817 * c-ubsan.c: New file.
2818 * c-ubsan.h: New file.
2819
2820 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2821
2822 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2823 member function.
2824 (c_pretty_printer::declaration_specifiers): Likewise.
2825 (c_pretty_printer::declarator): Likewise.
2826 (c_pretty_printer::abstract_declarator): Likewise.
2827 (c_pretty_printer::direct_abstract_declarator): Likewise.
2828 (c_pretty_printer::direct_declarator): Likewise.
2829 (c_pretty_printer::function_specifier): Likewise.
2830 (pp_declaration): Adjust.
2831 (pp_declaration_specifiers): Likewise.
2832 (pp_abstract_declarator): Likewise.
2833 (pp_direct_declarator): Likewise.
2834 (pp_function_specifier): Likewise.
2835 (pp_direct_abstract_declarator): Remove as unused.
2836 (pp_c_declaration): Remove.
2837 (pp_c_declaration_specifiers): Likewise.
2838 (pp_c_declarator): Likewise.
2839 (pp_c_direct_declarator): Likewise.
2840 (pp_c_function_specifier): Likewise.
2841 (pp_c_direct_abstract_declarator): Likewise.
2842 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2843 from pp_c_abstract_declarator. Adjust.
2844 (c_pretty_printer::direct_abstract_declarator): Rename from
2845 pp_c_direct_abstract_declarator. Adjust.
2846 (c_pretty_printer::function_specifier): Rename from
2847 pp_c_function_specifier. Adjust.
2848 (c_pretty_printer::declaration_specifiers): Rename from
2849 pp_c_declaration_specifiers. Adjust.
2850 (c_pretty_printer::direct_declarator): Rename from
2851 pp_c_direct_declarator. Adjust.
2852 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2853 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2854 (c_pretty_printer::c_pretty_printer): Do not assign to
2855 declaration, declaration_specifiers, declarator,
2856 direct_declarator, direct_abstract_declarator, function_specifier.
2857
2858 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2859
2860 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2861 virtual member function.
2862 (c_pretty_printer::multiplicative_expression): Likewise.
2863 (c_pretty_printer::conditional_expression): Likewise.
2864 (c_pretty_printer::assignment_expression): Likewise.
2865 (c_pretty_printer::expression): Likewise.
2866 (pp_unary_expression): Adjust.
2867 (pp_multiplicative_expression): Likewise.
2868 (pp_assignment_expression): Likewise.
2869 (pp_conditional_expression): Likewise.
2870 (pp_expression): Likewise.
2871 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2872 from pp_c_unary_expression. Adjust.
2873 (c_pretty_printer::multiplicative_expression): Rename from
2874 pp_c_multiplicative_expression. Adjust.
2875 (c_pretty_printer::conditional_expression): Rename from
2876 pp_c_conditional_expression. Adjust.
2877 (c_pretty_printer::assignment_expression): Rename from
2878 pp_c_assignment_expression. Adjust.
2879 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2880 (c_pretty_printer::c_pretty_printer): Do not assign to
2881 unary_expression, multiplicative_expression,
2882 conditional_expression, expression.
2883
2884 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2885
2886 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2887 virtual member function.
2888 (pp_postfix_expression): Adjust.
2889 (pp_c_postfix_expression): Remove.
2890 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2891 from pp_c_postfix_expression. Adjust.
2892 (c_pretty_printer::c_pretty_printer): Do not assign to
2893 postfix_expression.
2894
2895 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2896
2897 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2898 virtua member function.
2899 (pp_primary_expression): Adjust.
2900 (pp_c_primary_expression): Remove.
2901 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2902 from pp_c_primary_expression. Adjust.
2903 (pp_c_initializer_list): Use pp_primary_expression.
2904 (c_pretty_printer::c_pretty_printer): Do not assign to
2905 primary_expression.
2906
2907 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2908
2909 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2910 * c-pretty-print.c (M_): Remove.
2911 (c_pretty_printer::translate_string): Define.
2912 (pp_c_type_specifier): Use it.
2913 (pp_c_primary_expression): Likewise.
2914 (pp_c_expression): Likewise.
2915
2916 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2917
2918 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2919 virtual function.
2920 (pp_c_id_expression): Remove.
2921 (pp_id_expression): Adjust.
2922 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2923 pp_c_id_expression. Adjust.
2924 (pp_c_postfix_expression): Use pp_id_expression.
2925 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2926
2927 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2928
2929 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2930 member function.
2931 (pp_constant): Adjust.
2932 (pp_c_constant): Remove.
2933 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2934 pp_c_constant. Adjust.
2935 (pp_c_constant)
2936 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2937 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2938
2939 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2940
2941 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2942 (c_pretty_printer::c_pretty_printer): Declare.
2943 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2944 c_pretty_printer_init. Adjust.
2945 (print_c_tree): Do not call c_pretty_printer_init.
2946 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2947
2948 2013-08-09 Arnaud Charlet <charlet@adacore.com>
2949
2950 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2951
2952 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2953
2954 PR c++/58080
2955 * c-common.c (pointer_int_sum): Add bool parameter.
2956 * c-common.h (pointer_int_sum): Adjust declaration.
2957
2958 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2959
2960 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2961 c_pretty_printer variable.
2962
2963 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2964
2965 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2966 (pp_base): Remove.
2967 (pp_c_base): Likewise. Adjust users.
2968 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2969 (pp_c_whitespace): Do not call pp_base.
2970 (pp_c_left_paren): Likewise.
2971 (pp_c_right_paren): Likewise.
2972 (pp_c_left_brace): Likewise.
2973 (pp_c_right_brace): Likewise.
2974 (pp_c_left_bracket): Likewise.
2975 (pp_c_right_bracket): Likewise.
2976 (pp_c_dot): Likewise.
2977 (pp_c_ampersand): Likewise.
2978 (pp_c_star): Likewise.
2979 (pp_c_arrow): Likewise.
2980 (pp_c_semicolon): Likewise.
2981 (pp_c_complement): Likewise.
2982 (pp_c_exclamation): Likewise.
2983 (pp_c_direct_declarator): Likewise.
2984 (pp_c_ws_string): Likewise.
2985 (pp_c_identifier): Likewise.
2986 (pp_c_statement): Likewise.
2987 (print_c_tree): Likewise.
2988
2989 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2990
2991 PR c++/58072
2992 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2993 provide useful error strings.
2994
2995 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2996
2997 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2998 printer functions instead of pp_string or operators and punctuators.
2999 (dump_generic_ada_node): Likewise.
3000 * c-pretty-print.c (pp_c_type_specifier): Likewise.
3001 (pp_c_relational_expression): Likewise.
3002 (pp_c_logical_or_expression): Likewise.
3003
3004 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
3005
3006 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
3007 functions instead of pp_character.
3008 (pp_ada_tree_identifier): Likewise.
3009 (dump_ada_double_name): Likewise.
3010 (dump_ada_function_declaration): Likewise.
3011 (dump_ada_array_domains): Likewise.
3012 (dump_template_types): Likewise.
3013 (dump_generic_ada_node): Likewise.
3014 (print_ada_declaration): Likewise.
3015 (print_ada_struct_decl): Likewise.
3016 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3017
3018 2013-07-23 Tom Tromey <tromey@redhat.com>
3019
3020 * c-common.h (enum rid) <RID_GENERIC>: New constant.
3021 * c-common.c (c_common_reswords): Add _Generic.
3022
3023 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
3024
3025 * c-common.c: Fix typos.
3026 * c-common.h: Likewise.
3027
3028 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
3029
3030 PR c++/55203
3031 * c-common.c (c_common_attribute_table): Add warn_unused.
3032 (handle_warn_unused_attribute): New.
3033
3034 2013-07-10 Jakub Jelinek <jakub@redhat.com>
3035
3036 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
3037 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
3038
3039 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
3040
3041 PR c++/57869
3042 * c.opt: Add Wconditionally-supported.
3043
3044 2013-07-08 Graham Stott <graham.stott@btinternet.com>
3045
3046 * array-notation-common.c (length_mismatch_in_expr_p): Delete
3047 unused variables l_length and l_node.
3048
3049 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
3050
3051 PR c/57821
3052 * c-common.c (complete_array_type): Delay folding first index
3053 like other indices. When folding, check for index overflow.
3054
3055 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
3056
3057 PR c++/57509
3058 * c-common.h (c_build_vec_perm_expr): New complain argument.
3059 * c-common.c (c_build_vec_perm_expr): Likewise.
3060 Use save_expr also in C++.
3061
3062 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
3063
3064 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
3065 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3066 * c-opts.c (c_common_post_options): Likewise.
3067
3068 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3069
3070 * array-notation-common.c (length_mismatch_in_expr): Changed the
3071 parameter type's from a dynamic array to a vec_tree. Also removed
3072 the size parameters.
3073 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
3074 the change above.
3075
3076 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
3077
3078 * c-common.h (struct cilkplus_an_parts): New structure.
3079 (struct cilkplus_an_loop_parts): Likewise.
3080 (cilkplus_extract_an_triplets): New prototype.
3081 (fix_sec_implicit_args): Likewise.
3082 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
3083 (fix_sec_implicit_args): Likewise.
3084
3085 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
3086
3087 * array-notation-common.c (find_inv_trees): Removed an unwanted
3088 typecasting.
3089 * c-common.h (struct inv_list::additional_tcodes): Changed type from
3090 enum rid to enum tree_code.
3091
3092 2013-06-11 Jan Hubicka <jh@suse.cz>
3093
3094 * c-common.c (handle_alias_ifunc_attribute): Do not set
3095 DECL_EXTERNAL for weakref variables.
3096 * c-pragma.c (handle_pragma_weak): Make sure aliases
3097 are not declared as external.
3098
3099 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
3100
3101 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
3102 function from c/c-array-notation.c.
3103 (is_cilkplus_reduce_builtin): Likewise.
3104 (find_rank): Likewise.
3105 (extract_array_notation_exprs): Likewise.
3106 (replace_array_notations): Likewise.
3107 (find_inv_trees): Likewise.
3108 (replace_inv_trees): Likewise.
3109 (contains_array_notation_expr): Likewise.
3110 (find_correct_array_notation_type): Likewise.
3111 * c-common.h (struct inv_list): Moved this struct from the file
3112 c/c-array-notation.c and added a new field called additional tcodes.
3113 (length_mismatch_in_expr_p): New prototype.
3114 (is_cilkplus_reduce_builtin): Likewise.
3115 (find_rank): Likewise.
3116 (extract_array_notation_exprs): Likewise.
3117 (replace_array_notation): Likewise.
3118 (find_inv_trees): Likewise.
3119 (replace_inv_trees): Likewise.
3120 (find_correct_array_notation_type): Likewise.
3121
3122 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
3123
3124 * c-common.c (c_define_builtins): When cilkplus is enabled, the
3125 function array_notation_init_builtins is called.
3126 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
3127 * c-common.def (ARRAY_NOTATION_REF): New tree.
3128 * c-common.h (build_array_notation_expr): New function declaration.
3129 (build_array_notation_ref): Likewise.
3130 (extract_sec_implicit_index_arg): New extern declaration.
3131 (is_sec_implicit_index_fn): Likewise.
3132 (ARRAY_NOTATION_CHECK): New define.
3133 (ARRAY_NOTATION_ARRAY): Likewise.
3134 (ARRAY_NOTATION_START): Likewise.
3135 (ARRAY_NOTATION_LENGTH): Likewise.
3136 (ARRAY_NOTATION_STRIDE): Likewise.
3137 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
3138 ARRAY_NOTATION_REF.
3139 (pp_c_expression): Likewise.
3140 * c.opt (flag_enable_cilkplus): New flag.
3141 * array-notation-common.c: New file.
3142
3143 2013-05-14 Jakub Jelinek <jakub@redhat.com>
3144
3145 PR c++/57274
3146 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
3147
3148 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
3149
3150 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
3151 vectors.
3152
3153 2013-05-07 Han Shen <shenhan@google.com>
3154
3155 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
3156
3157 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3158
3159 * c-common.c (check_user_alignment): Emit error for negative values.
3160
3161 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3162
3163 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
3164
3165 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3166
3167 * c-cppbuiltin.c (c_cpp_builtins): Do not define
3168 __GXX_EXPERIMENTAL_CXX1Y__.
3169
3170 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3171 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3172
3173 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
3174 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
3175 to simply use OPT_Wpointer_arith.
3176 (c_sizeof_or_alignof_type): Likewise.
3177
3178 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
3179
3180 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
3181
3182 2013-04-12 Jakub Jelinek <jakub@redhat.com>
3183
3184 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
3185 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
3186 specifiers.
3187
3188 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
3189
3190 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
3191
3192 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
3193
3194 * c-common.c (pointer_int_sum): Remove dead code.
3195
3196 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
3197
3198 PR middle-end/56524
3199 * c-common.c (handle_optimize_attribute): Don't call
3200 save_optabs_if_changed.
3201
3202 2013-03-05 Jakub Jelinek <jakub@redhat.com>
3203
3204 PR middle-end/56461
3205 * c-pch.c (pch_init): Free target_validity at the end.
3206
3207 2013-03-04 Jakub Jelinek <jakub@redhat.com>
3208
3209 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
3210
3211 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
3212 Jakub Jelinek <jakub@redhat.com>
3213
3214 PR sanitizer/56454
3215 * c-common.c (handle_no_sanitize_address_attribute): New function.
3216 (c_common_attribute_table): Add no_sanitize_address attribute.
3217 (handle_no_address_safety_analysis_attribute): Add
3218 no_sanitize_address attribute, not no_address_safety_analysis
3219 attribute.
3220
3221 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
3222
3223 PR target/52555
3224 * c-common.c (handle_optimize_attribute): Call
3225 save_optabs_if_changed.
3226
3227 2013-02-18 Jakub Jelinek <jakub@redhat.com>
3228 Steven Bosscher <steven@gcc.gnu.org>
3229
3230 PR pch/54117
3231 * c-opts.c (c_common_post_options): If debug info is enabled
3232 and non-dwarf*, refuse to load PCH files and when writing PCH
3233 file warn.
3234
3235 2013-02-05 Jakub Jelinek <jakub@redhat.com>
3236
3237 PR middle-end/56167
3238 * c-common.c (handle_error_attribute): Fix condition.
3239
3240 2013-01-30 Jakub Jelinek <jakub@redhat.com>
3241
3242 PR c++/55742
3243 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
3244
3245 2013-01-18 Jason Merrill <jason@redhat.com>
3246
3247 PR target/54908
3248 * c.opt (-fextern-tls-init): New.
3249 * c-opts.c (c_common_post_options): Handle it.
3250
3251 2013-01-09 Jakub Jelinek <jakub@redhat.com>
3252
3253 PR c/48418
3254 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
3255 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
3256 and is either negative or bigger or equal to type precision
3257 of the first operand.
3258
3259 2012-12-03 Marek Polacek <polacek@redhat.com>
3260
3261 PR c/55570
3262 * c-common.c (check_user_alignment): Swap order of tests,
3263 check TREE_CODE first.
3264
3265 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
3266
3267 PR c++/52654
3268 * c-common.h (overflow_type): New enum.
3269 (build_userdef_literal): Add overflow_type argument.
3270 (tree_userdef_literal): Add overflow_type.
3271 (USERDEF_LITERAL_OVERFLOW): New access macro.
3272 * c-common.c (build_userdef_literal): Add overflow_type
3273 argument.
3274 * c-lex.c (c_lex_with_flags): Add overflow_type to
3275 build_userdef_literal calls.
3276 (interpret_integer, interpret_float): Add overflow_type argument.
3277
3278 2012-11-28 Richard Biener <rguenther@suse.de>
3279
3280 PR c/35634
3281 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
3282 here and use a type with proper overflow behavior for types that would
3283 need to be promoted for the arithmetic.
3284
3285 2012-11-23 Jakub Jelinek <jakub@redhat.com>
3286
3287 PR sanitizer/55435
3288 * c-common.c (handle_no_address_safety_analysis_attribute): New
3289 function.
3290 (c_common_attribute_table): Add no_address_safety_analysis.
3291
3292 2012-11-16 Simon Baldwin <simonb@google.com>
3293
3294 * c.opt: Add f[no-]canonical-system-headers.
3295 * c-opts.c (c_common_handle_option): Handle
3296 OPT_fcanonical_system_headers.
3297
3298 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
3299
3300 PR c++/54413
3301 * c-opts.c (c_common_handle_option): Set new flags.
3302 * c.opt: Describe new flags.
3303
3304 2012-11-09 Jason Merrill <jason@redhat.com>
3305
3306 * c.opt (Wabi-tag): New.
3307
3308 2012-11-09 Andi Kleen <ak@linux.intel.com>
3309
3310 PR 55139
3311 * c-common.c (get_atomic_generic_size): Mask with
3312 MEMMODEL_MASK
3313
3314 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3315
3316 PR c/53063
3317 * c.opt (Wformat): Make it Alias Wformat=1.
3318 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
3319 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
3320 LangEnabledBy.
3321 (Wformat=): RejectNegative. Use LangEnabledBy.
3322 (Wnonnull): Use LangEnabledBy.
3323 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
3324 * c-format.c (set_Wformat): Delete.
3325 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
3326 (maybe_read_dollar_number): Likewise.
3327 (avoid_dollar_number): Likewise.
3328 (finish_dollar_format_checking): Likewise.
3329 (check_format_info): Likewise.
3330 (check_format_info_main): Likewise.
3331 (check_format_types): Likewise.
3332 (format_type_warning): Likewise.
3333 * c-common.c (int): Likewise.
3334 (check_function_sentinel): Likewise.
3335 * c-common.h (warn_format,set_Wformat): Do not declare here.
3336
3337 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3338
3339 PR c/53063
3340 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
3341 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
3342 Use LangEnabledBy.
3343 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
3344 common.opt.
3345 (Wvariadic-macros): Init(1).
3346 * c-opts.c (c_common_handle_option): Do not handle them
3347 explicitly.
3348 (c_common_post_options): Likewise.
3349 (sanitize_cpp_opts): warn_unused_macros is now
3350 cpp_warn_unused_macros.
3351 (push_command_line_include): Likewise.
3352 * c-common.c (warn_unknown_pragmas): Do not define.
3353 * c-common.h (warn_unknown_pragmas): Do not declare.
3354
3355 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
3356
3357 PR c/51294
3358 * c-common.c (conversion_warning): Handle conditional expressions.
3359
3360 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3361
3362 PR c++/54930
3363 * c.opt (Wreturn_local_addr): Define new option.
3364
3365 2012-10-25 Jason Merrill <jason@redhat.com>
3366
3367 * c.opt (Wvirtual-move-assign): New.
3368
3369 * c.opt (Winherited-variadic-ctor): New.
3370
3371 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
3372
3373 PR c++/54427
3374 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
3375
3376 2012-10-23 Joseph Myers <joseph@codesourcery.com>
3377
3378 * c-common.h (pch_cpp_save_state): Declare.
3379 * c-target.def (c_preinclude): New hook.
3380 * c-opts.c (done_preinclude): New.
3381 (push_command_line_include): Handle default preincluded header.
3382 (cb_file_change): Call pch_cpp_save_state when calling
3383 push_command_line_include.
3384 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
3385 (pch_cpp_save_state): New.
3386 (pch_init): Call pch_cpp_save_state conditionally, instead of
3387 calling cpp_save_state.
3388
3389 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
3390
3391 PR c/53063
3392 PR c/40989
3393 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
3394 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
3395 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
3396 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
3397 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
3398 * c-opts.c (c_common_handle_option): Remove explicit handling from
3399 here.
3400 (c_common_post_options): Likewise.
3401
3402 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
3403
3404 * c-ada-spec.c (LOCATION_COL): Delete.
3405 (compare_location): New function.
3406 (compare_node): Use it.
3407 (compare_comment): Likewise.
3408
3409 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
3410
3411 PR c/53063
3412 PR c/40989
3413 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
3414 * c-opts.c (c_common_handle_option): Do not set them here. Add
3415 comment.
3416 (c_common_post_options): Likewise.
3417
3418 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
3419
3420 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
3421 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
3422 Remove POINTER_TYPE handling, add large unsigned handling and use
3423 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
3424
3425 2012-10-12 Jakub Jelinek <jakub@redhat.com>
3426
3427 PR c/54381
3428 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
3429 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
3430 locs and array of 3 trees instead of just single loc and single
3431 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
3432 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
3433 For *cmp* builtins that take two sources strings report warnings
3434 about first and second source, not about destination and source.
3435
3436 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
3437
3438 PR c++/53055
3439 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
3440
3441 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
3442
3443 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
3444 declaring something coming from another file.
3445
3446 2012-10-10 Arnaud Charlet <charlet@adacore.com>
3447
3448 PR ada/54845
3449 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
3450
3451 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
3452
3453 PR c++/54194
3454 * c-common.c (warn_about_parentheses): Add location_t parameter;
3455 use EXPR_LOC_OR_LOC.
3456 * c-common.h: Update declaration.
3457
3458 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
3459
3460 PR c++/54427
3461 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
3462 more operations. Make error messages optional.
3463 * c-common.h (enum stv_conv): Moved from c-typeck.c.
3464 (scalar_to_vector): Declare.
3465
3466 2012-10-08 Jason Merrill <jason@redhat.com>
3467
3468 * c-common.c (c_common_reswords): Add thread_local.
3469
3470 2012-10-08 Dodji Seketeli <dodji@redhat.com>
3471
3472 PR c++/53528 C++11 attribute support
3473 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
3474 new functions.
3475 * c-common.c (check_cxx_fundamental_alignment_constraints): New
3476 static function.
3477 (handle_aligned_attribute): In choose strictest alignment
3478 among many. Use new check_cxx_fundamental_alignment_constraints.
3479 (handle_transparent_union_attribute): In c++11 attribute syntax,
3480 don't look through typedefs.
3481
3482 2012-10-04 Arnaud Charlet <charlet@adacore.com>
3483
3484 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
3485 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
3486 out of dumpfile.h.
3487
3488 2012-09-25 Dehao Chen <dehao@google.com>
3489
3490 PR middle-end/54645
3491 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
3492 map when read in the pch.
3493
3494 2012-09-18 Arnaud Charlet <charlet@adacore.com>
3495
3496 * c-ada-spec.c: Style fixes.
3497
3498 2012-09-18 Thomas Quinot <quinot@adacore.com>
3499
3500 * c.opt (-fada-spec-parent): Define new command line switch.
3501 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
3502 is specified, generate binding spec as a child of the specified unit.
3503
3504 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
3505 Manuel López-Ibáñez <manu@gcc.gnu.org>
3506
3507 PR c++/53210
3508 * c.opt ([Winit-self]): Enabled by -Wall in C++.
3509
3510 2012-08-23 Arnaud Charlet <charlet@adacore.com>
3511
3512 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
3513 for pointers, and add missing Convention C pragma.
3514 (print_ada_struct_decl): Add missing aliased keyword.
3515 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
3516
3517 2012-08-17 Jakub Jelinek <jakub@redhat.com>
3518
3519 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3520 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3521 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3522 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3523 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3524
3525 2012-08-10 Richard Guenther <rguenther@suse.de>
3526
3527 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3528
3529 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3530
3531 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3532 instead of separate pp_newline and pp_flush.
3533 (print_c_tree): Likewise.
3534
3535 2012-07-26 Richard Henderson <rth@redhat.com>
3536
3537 * c-common.c (handle_hot_attribute): Allow labels.
3538 (handle_cold_attribute): Likewise.
3539
3540 2012-07-20 Jakub Jelinek <jakub@redhat.com>
3541
3542 PR c++/28656
3543 * c-common.c (check_function_nonnull): Handle multiple nonnull
3544 attributes properly.
3545
3546 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3547
3548 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3549 * c-ada-spec.c: Likewise.
3550 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3551
3552 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3553
3554 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3555 Remove code conditional on it.
3556
3557 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3558
3559 * c-gimplify.c: Do not include basic-block.h.
3560 * c-common.c: Do not include linfuncs.h.
3561
3562 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3563
3564 * c-common.h: Include tree.h.
3565
3566 2012-07-02 Jason Merrill <jason@redhat.com>
3567
3568 PR c++/53524
3569 * c-common.c (get_priority): Call default_conversion.
3570
3571 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
3572
3573 * c-pch.c (c_common_write_pch): Remove unused variables.
3574
3575 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3576
3577 * cppspec.c: Moved from gcc/ to here.
3578
3579 2012-06-27 Kai Tietz <ktietz@redhat.com>
3580
3581 PR preprocessor/37215
3582 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3583
3584 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3585
3586 * c-common.h (c_common_print_pch_checksum): Remove.
3587 * c-pch.c: Do not include output.h.
3588 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3589 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3590 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3591 (struct c_pch_header): Remove.
3592 (get_ident): Update gpch version.
3593 (pch_init): Do not print executable_checksum to asm_out_file.
3594 Do not fail if there is no asm_out_file to read back from. Set
3595 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3596 (c_common_write_pch): Verify that nothing was written to asm_out_file
3597 since pch_init was called. Do not write a c_pch_header, and do not
3598 copy from asm_out_file to the PCH.
3599 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3600 the content of asm_out_file from the PCH.
3601 (c_common_print_pch_checksum): Remove.
3602 * c-opts.c (c_common_init): Print out executable_checksum directly.
3603
3604 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3605
3606 * c-target.def (objc_declare_unresolved_class_reference,
3607 objc_declare_class_definition): Add new hooks.
3608
3609 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3610
3611 * c-lex.c: Do not include output.h.
3612 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3613 Remove uses of ASM_OUTPUT_IDENT.
3614
3615 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
3616
3617 PR c++/51033
3618 * c-common.h (c_build_vec_perm_expr): Move decl here.
3619 * c-common.c (c_build_vec_perm_expr): Move definition
3620 here.
3621
3622 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3623
3624 * c.opt (fconserve-space): Turn into a no-op.
3625
3626 2012-06-04 Sterling Augustine <saugustine@google.com>
3627
3628 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3629 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3630 both the start and end of the function.
3631
3632 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3633
3634 * c-common.c: Do not include output.h.
3635 * c-pragma.c: Likewise.
3636
3637 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3638
3639 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3640 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3641 (lang_decl_name): Handle namespace decls.
3642
3643 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3644
3645 * c-ada-spec.c: Do not include output.h.
3646 * c-semantics.c: Likewise.
3647
3648 2012-05-29 Joseph Myers <joseph@codesourcery.com>
3649
3650 * c-common.c: Fix typo.
3651
3652 2012-05-29 Michael Matz <matz@suse.de>
3653
3654 * c-common.h (c_expand_decl): Remove prototype.
3655
3656 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3657
3658 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3659 * c-opts.c (c_common_handle_option): Remove code handling
3660 warn_missing_braces.
3661
3662 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3663
3664 PR c++/25137
3665 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3666 -Wmissing_braces.
3667
3668 2012-05-22 Dodji Seketeli <dodji@redhat.com>
3669
3670 PR c++/53322
3671 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3672
3673 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3674
3675 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3676 * c-opts.c (c_common_handle_option): Do not handle explicitly
3677 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3678
3679 2012-05-16 Dodji Seketeli <dodji@redhat.com>
3680
3681 PR preprocessor/7263
3682 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3683 to cpp_classify_number. For diagnostics, use the precise location
3684 instead of the global input_location.
3685
3686 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3687
3688 PR c++/11856
3689 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3690
3691 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3692
3693 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
3694
3695 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3696
3697 PR 53063
3698 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3699 Wreorder): Use LangEnabledBy.
3700 * c-opts.c (c_common_handle_option): Do not enable them
3701 explicitly. Call lang-specific generated functions.
3702 (c_common_post_options): Do not set them here.
3703
3704 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3705
3706 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3707 Wmissing-field-initializers,Wmissing-parameter-type,
3708 Wold-style-declaration,Woverride-init): Use EnabledBy.
3709 * c-opts.c (c_common_post_options): Do not set here explicitly.
3710
3711 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3712
3713 PR 53063
3714 * c-opts.c (c_common_handle_option): Use handle_generated_option
3715 to enable sub-options.
3716
3717 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3718
3719 PR c++/53158
3720 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3721
3722 2012-05-10 Richard Guenther <rguenther@suse.de>
3723
3724 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3725 adjust commentary about TYPE_IS_SIZETYPE types.
3726
3727 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3728
3729 PR c++/53261
3730 * c-common.c (warn_logical_operator): Check that argument of
3731 integer_zerop is not NULL.
3732
3733 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3734
3735 PR c/43772
3736 * c-common.c (warn_logical_operator): Do not warn if either side
3737 is already true or false.
3738
3739 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3740
3741 PR c/51712
3742 * c-common.c (expr_original_type): New.
3743 (shorten_compare): Do not warn for enumeration types.
3744
3745 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3746
3747 * c.opt (fpermissive): Add Var(flag_permissive).
3748
3749 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
3750
3751 PR c++/51033
3752 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3753 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3754
3755 2012-04-30 Dodji Seketeli <dodji@redhat.com>
3756
3757 Add -Wvarargs option
3758 * c.opt (Wvarargs): Define new option.
3759
3760 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3761
3762 * c-common.c (check_function_arguments): Replace
3763 Wmissing-format-attribute with Wsuggest-attribute=format.
3764
3765 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3766
3767 * c.opt (Wsuggest-attribute=format): New. Alias of
3768 Wmissing-format-attribute.
3769 * c-format.c (decode_format_type): Replace
3770 Wmissing-format-attribute with Wsuggest-attribute=format.
3771 (check_function_format): Likewise.
3772
3773 2012-04-27 Ollie Wild <aaw@google.com>
3774
3775 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3776 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3777 * c.opt: Add Wliteral-suffix.
3778
3779 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3780
3781 PR c/44774
3782 * c.opt (Wpedantic): New.
3783 (pedantic): Alias Wpedantic.
3784 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3785 (c_common_post_options): Likewise.
3786 (sanitize_cpp_opts): Likewise.
3787 * c-lex.c (interpret_float): Likewise.
3788 * c-format.c (check_format_types): Likewise.
3789 * c-common.c (pointer_int_sum): Likewise.
3790 (c_sizeof_or_alignof_type): Likewise.
3791 (c_add_case_label): Likewise.
3792 (c_do_switch_warnings): Likewise.
3793 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3794
3795 2012-04-15 Jason Merrill <jason@redhat.com>
3796
3797 PR c++/52818
3798 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3799 (C_STD_NAME): Distinguish between C++98 and C++11.
3800
3801 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3802
3803 PR target/52624
3804 * c-common.h (uint16_type_node): Rename into...
3805 (c_uint16_type_node): ...this.
3806 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3807 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3808
3809 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3810
3811 * c-common.c (warn_if_unused_value): Move definition to here.
3812 * c-common.h (warn_if_unused_value): Move declaration to here.
3813
3814 2012-03-23 William Bader <williambader@hotmail.com>
3815
3816 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3817
3818 2012-03-20 Jason Merrill <jason@redhat.com>
3819
3820 * c-common.h (enum cxx_dialect): Add cxx1y.
3821 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3822 test.
3823 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3824 * c-opts.c (c_common_post_options): Likewise.
3825 (set_std_cxx1y): New.
3826 (c_common_handle_option): Call it.
3827 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3828
3829 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3830
3831 PR c++/14710
3832 * c.opt ([Wuseless-cast]): Add.
3833
3834 2012-03-16 Richard Guenther <rguenther@suse.de>
3835
3836 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3837
3838 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3839
3840 PR c++/44783
3841 * c.opt (ftemplate-backtrace-limit) Add.
3842
3843 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3844
3845 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3846 handling.
3847 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3848 (init_pragma): Don't register extern_prefix.
3849
3850 2012-03-12 Richard Guenther <rguenther@suse.de>
3851
3852 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3853 (builtin_type_for_size): Likewise.
3854
3855 2012-02-13 Jakub Jelinek <jakub@redhat.com>
3856
3857 PR c++/52215
3858 * c-common.c (sync_resolve_params): Don't decide whether to convert
3859 or not based on TYPE_SIZE comparison, convert whenever arg_type
3860 is unsigned INTEGER_TYPE.
3861
3862 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3863
3864 PR c/52118
3865 * c.opt ([Wunused-local-typedefs]): Fix description.
3866
3867 2012-01-24 Mike Stump <mikestump@comcast.net>
3868
3869 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3870 exactly.
3871
3872 2012-01-18 Richard Guenther <rguenther@suse.de>
3873
3874 * c-opts.c (c_common_post_options): Reset LTO flags if
3875 we are about to generate a PCH.
3876
3877 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3878
3879 PR c++/51777
3880 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3881 use pp_unsigned_wide_integer.
3882
3883 2012-01-10 Richard Guenther <rguenther@suse.de>
3884
3885 PR middle-end/51806
3886 * c-opts.c (c_common_handle_option): Move -Werror handling
3887 to language independent code.
3888
3889 2012-01-05 Richard Guenther <rguenther@suse.de>
3890
3891 PR middle-end/51764
3892 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3893 from common.opt.
3894
3895 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3896
3897 PR c++/51316
3898 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3899 of array types with an unknown bound.
3900
3901 2011-12-20 Joseph Myers <joseph@codesourcery.com>
3902
3903 * c-common.c (flag_isoc99): Update comment to refer to C11.
3904 (flag_isoc1x): Change to flag_isoc11.
3905 * c-common.h (flag_isoc99): Update comment to refer to C11.
3906 (flag_isoc1x): Change to flag_isoc11.
3907 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3908 C11.
3909 * c-opts.c (set_std_c1x): Change to set_std_c11.
3910 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3911 Call set_std_c11.
3912 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3913 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3914 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3915 standard.
3916 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3917 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3918 (std=gnu1x): Make alias of std=gnu11.
3919
3920 2011-12-19 Jason Merrill <jason@redhat.com>
3921
3922 PR c++/51228
3923 * c-common.c (handle_transparent_union_attribute): Check the first
3924 field if the type is complete.
3925
3926 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3927
3928 PR libstdc++/51365
3929 * c-common.c (RID_IS_FINAL): Add.
3930 * c-common.h (RID_IS_FINAL): Add.
3931
3932 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3933
3934 * c.opt (fgnu-runtime): Provide full description.
3935 (fnext-runtime): Likewise.
3936 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3937
3938 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
3939
3940 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3941 predefines in one place. Add LOCK_FREE predefines.
3942 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3943 new func.
3944
3945 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
3946
3947 PR c/51256
3948 * c-common.c (get_atomic_generic_size): Check for various error
3949 conditions
3950 (resolve_overloaded_atomic_exchange,
3951 resolve_overloaded_atomic_compare_exchange,
3952 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3953 error_mark_node for error conditions.
3954
3955 2011-11-08 Richard Guenther <rguenther@suse.de>
3956
3957 PR middle-end/51010
3958 c-family/
3959
3960 2011-11-07 Richard Henderson <rth@redhat.com>
3961 Aldy Hernandez <aldyh@redhat.com>
3962 Torvald Riegel <triegel@redhat.com>
3963
3964 Merged from transactional-memory.
3965
3966 * c-common.c (handle_tm_wrap_attribute,
3967 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3968 (struct c_common_reswords): Added __transaction* keywords.
3969 (struct c_common_attribute_table): Added transaction* and tm_regparm
3970 attributes.
3971 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3972 masks.
3973 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3974 find_tm_attribute): Declare.
3975
3976 2011-11-07 Jason Merrill <jason@redhat.com>
3977
3978 PR c++/35688
3979 * c-common.c, c-common.h: Revert yesterday's changes.
3980
3981 2011-11-06 Jason Merrill <jason@redhat.com>
3982
3983 PR c++/35688
3984 * c-common.c (decl_has_visibility_attr): Split out from...
3985 (c_determine_visibility): ...here.
3986 * c-common.h: Declare it.
3987
3988 2011-11-06 Joseph Myers <joseph@codesourcery.com>
3989
3990 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3991 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3992 type.
3993 (check_user_alignment): New. Split out of
3994 handle_aligned_attribute. Disallow integer constants with
3995 noninteger types. Conditionally allow zero.
3996 (handle_aligned_attribute): Use check_user_alignment.
3997 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3998
3999 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
4000 Richard Henderson <rth@redhat.com>
4001
4002 Merged from cxx-mem-model.
4003
4004 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
4005 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
4006 parameters that are the same type size.
4007 (get_atomic_generic_size): New. Find size of generic
4008 atomic function parameters and do typechecking.
4009 (add_atomic_size_parameter): New. Insert size into parameter list.
4010 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
4011 either __atomic_exchange_n or external library call.
4012 (resolve_overloaded_atomic_compare_exchange): Restructure
4013 __atomic_compare_exchange to either _n variant or external library call.
4014 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
4015 __atomic_load_n or an external library call.
4016 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
4017 __atomic_store_n or an external library call.
4018 (resolve_overloaded_builtin): Handle new __atomic builtins.
4019
4020 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
4021
4022 PR c++/50608
4023 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
4024 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
4025 <INDIRECT_REF>: Return the argument.
4026 <ARRAY_REF>: Remove special code for negative offset.
4027 Call fold_build_pointer_plus instead of size_binop.
4028 (fold_offsetof): Remove STOP_REF argument and adjust.
4029 * c-common.h (fold_offsetof_1): Declare.
4030 (fold_offsetof): Remove STOP_REF argument.
4031
4032 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
4033
4034 PR c++/50810
4035 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4036 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4037 Wnarrowing for C++0x and C++98.
4038 * c.opt ([Wnarrowing]): Update.
4039
4040 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
4041
4042 PR c++/44277
4043 * c.opt: Add Wzero-as-null-pointer-constant.
4044
4045 2011-10-31 Jason Merrill <jason@redhat.com>
4046
4047 * c.opt (-fdeduce-init-list): Off by default.
4048
4049 PR c++/50920
4050 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
4051 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
4052 and -Wc++11-compat.
4053 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
4054
4055 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
4056
4057 PR c++/30066
4058 * c.opt (fvisibility-inlines-hidden): Description change.
4059
4060 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
4061
4062 Implement C++11 user-defined literals.
4063 * c-common.c (build_userdef_literal): New.
4064 * c-common.def: New tree code.
4065 * c-common.h (tree_userdef_literal): New tree struct and accessors.
4066 * c-lex.c (interpret_float): Add suffix parm.
4067 (c_lex_with_flags): Build literal tokens.
4068
4069 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4070
4071 PR c++/50841
4072 Revert:
4073 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4074
4075 PR c++/50810
4076 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4077 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4078 Wnarrowing for C++0x and C++98.
4079 * c.opt ([Wnarrowing]): Update.
4080
4081 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
4082
4083 PR c++/50810
4084 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
4085 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
4086 Wnarrowing for C++0x and C++98.
4087 * c.opt ([Wnarrowing]): Update.
4088
4089 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
4090
4091 PR c++/45385
4092 * c-common.c (conversion_warning): Remove code looking for
4093 artificial operands.
4094
4095 2011-10-18 Dodji Seketeli <dodji@redhat.com>
4096
4097 PR bootstrap/50760
4098 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
4099 !NO_IMPLICIT_EXTERN_C.
4100
4101 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
4102
4103 * c-common.c (c_common_reswords): Add __bases,
4104 __direct_bases.
4105 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
4106
4107 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
4108
4109 PR c++/50757
4110 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
4111
4112 2011-10-15 Tom Tromey <tromey@redhat.com>
4113 Dodji Seketeli <dodji@redhat.com>
4114
4115 * c.opt (fdebug-cpp): New option.
4116 * c-opts.c (c_common_handle_option): Handle the option.
4117 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
4118 output stream in parameter. Factorized from ...
4119 (maybe_print_line): ... this. Dump location debug information when
4120 -fdebug-cpp is in effect.
4121 (print_line_1): New static function. Takes an output stream in
4122 parameter. Factorized from ...
4123 (print_line): ... here. Dump location information when -fdebug-cpp
4124 is in effect.
4125 (scan_translation_unit): Dump location information when
4126 -fdebug-cpp is in effect.
4127
4128 2011-10-15 Tom Tromey <tromey@redhat.com>
4129 Dodji Seketeli <dodji@redhat.com>
4130
4131 * c.opt (ftrack-macro-expansion): New option. Handle it with and
4132 without argument.
4133 * c-opts.c (c_common_handle_option)<case
4134 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
4135 cases. Handle -ftrack-macro-expansion with and without argument.
4136
4137 2011-10-15 Tom Tromey <tromey@redhat.com>
4138 Dodji Seketeli <dodji@redhat.com>
4139
4140 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
4141 (print_line, cb_define, do_line_change): Adjust to avoid touching
4142 the internals of struct line_map. Use the public API instead.
4143 * c-pch.c (c_common_read_pch): Likewise.
4144 * c-lex.c (fe_file_change): Likewise.
4145
4146 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
4147
4148 PR c++/17212
4149 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
4150
4151 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
4152
4153 PR c++/33067
4154 * c-pretty-print.c (pp_c_floating_constant): Output
4155 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
4156
4157 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4158
4159 * c-common.c (def_builtin_1): Delete old interface with two
4160 parallel arrays to hold standard builtin declarations, and replace
4161 it with a function based interface that can support creating
4162 builtins on the fly in the future. Change all uses, and poison
4163 the old names. Make sure 0 is not a legitimate builtin index.
4164 * c-omp.c (c_finish_omp_barrier): Ditto.
4165 (c_finish_omp_taskwait): Ditto.
4166 (c_finish_omp_flush): Ditto.
4167
4168 2011-10-11 Tristan Gingold <gingold@adacore.com>
4169
4170 * c.opt: (fallow-parameterless-variadic-functions): New.
4171
4172 2011-09-08 Dodji Seketeli <dodji@redhat.com>
4173
4174 PR c++/33255 - Support -Wunused-local-typedefs warning
4175 * c-common.h (struct c_language_function::local_typedefs): New
4176 field.
4177 (record_locally_defined_typedef, maybe_record_typedef_use)
4178 (maybe_warn_unused_local_typedefs): Declare new functions.
4179 * c-common.c (record_locally_defined_typedef)
4180 (maybe_record_typedef_use)
4181 (maybe_warn_unused_local_typedefs): Define new functions.
4182 * c.opt: Declare new -Wunused-local-typedefs flag.
4183
4184 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
4185
4186 PR middle-end/50266
4187 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
4188 computations.
4189
4190 2011-09-05 Richard Guenther <rguenther@suse.de>
4191
4192 * c-common.c (complete_array_type): Use ssize_int (-1) instead
4193 of integer_minus_one_node for empty array upper bounds.
4194
4195 2011-08-28 Dodji Seketeli <dodji@redhat.com>
4196
4197 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
4198 it's the first time it's being called on this main TU.
4199
4200 2011-08-24 Richard Guenther <rguenther@suse.de>
4201
4202 PR c/49396
4203 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
4204
4205 2011-08-22 Gabriel Charette <gchare@google.com>
4206
4207 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
4208 defined in cpp_init_builtins and c_cpp_builtins.
4209
4210 2011-08-19 Joseph Myers <joseph@codesourcery.com>
4211
4212 * c-common.c (c_common_reswords): Add __builtin_complex.
4213 * c-common.h (RID_BUILTIN_COMPLEX): New.
4214
4215 2011-08-18 Joseph Myers <joseph@codesourcery.com>
4216
4217 * c-common.c (c_common_reswords): Add _Noreturn.
4218 (keyword_is_function_specifier): Handle RID_NORETURN.
4219 * c-common.h (RID_NORETURN): New.
4220
4221 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4222
4223 * c-common.c (unsafe_conversion_p): New function. Check if it is
4224 unsafe to convert an expression to the type.
4225 (conversion_warning): Adjust, use unsafe_conversion_p.
4226 * c-common.h (unsafe_conversion_p): New function declaration.
4227
4228 2011-08-02 Jakub Jelinek <jakub@redhat.com>
4229
4230 * c-common.h (c_finish_omp_atomic): Adjust prototype.
4231 (c_finish_omp_taskyield): New prototype.
4232 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
4233 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
4234 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
4235 or RHS1 have side-effects, evaluate those too in the right spot,
4236 if it is a decl and LHS is also a decl, error out if they
4237 aren't the same.
4238 (c_finish_omp_taskyield): New function.
4239 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
4240 * c-pragma.c (omp_pragmas): Add taskyield.
4241 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
4242 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
4243 PRAGMA_OMP_CLAUSE_MERGEABLE.
4244
4245 2011-07-25 Dodji Seketeli <dodji@redhat.com>
4246
4247 * c-common.h (set_underlying_type): Remove parm name from
4248 declaration.
4249
4250 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
4251
4252 * c-pretty-print.h: Search c-common.h in c-family.
4253
4254 2011-07-22 Jason Merrill <jason@redhat.com>
4255
4256 PR c++/49793
4257 * c.opt (Wnarrowing): New.
4258
4259 PR c++/30112
4260 * c-common.h: Declare c_linkage_bindings.
4261 * c-pragma.c (handle_pragma_redefine_extname): Use it.
4262
4263 PR c++/49813
4264 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
4265 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
4266 as flag_isoc99 for 'restrict'.
4267 (pp_c_specifier_qualifier_list): Likewise for _Complex.
4268
4269 2011-07-21 Ian Lance Taylor <iant@google.com>
4270
4271 PR middle-end/49705
4272 * c-common.c (c_disable_warnings): New static function.
4273 (c_enable_warnings): New static function.
4274 (c_fully_fold_internal): Change local unused_p to bool. Call
4275 c_disable_warnings and c_enable_warnings rather than change
4276 c_inhibit_evaluation_warnings.
4277
4278 2011-07-20 Jason Merrill <jason@redhat.com>
4279
4280 PR c++/6709 (DR 743)
4281 PR c++/42603 (DR 950)
4282 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
4283 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
4284 (CPP_DECLTYPE): New.
4285 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
4286
4287 2011-07-19 Richard Guenther <rguenther@suse.de>
4288
4289 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
4290 * c-omp.c (c_finish_omp_for): Likewise.
4291
4292 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
4293
4294 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
4295 body on the next line.
4296
4297 2011-07-08 Jason Merrill <jason@redhat.com>
4298
4299 PR c++/45437
4300 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
4301
4302 PR c++/49673
4303 * c-common.c (c_apply_type_quals_to_decl): Don't check
4304 TYPE_NEEDS_CONSTRUCTING.
4305
4306 2011-07-06 Richard Guenther <rguenther@suse.de>
4307
4308 * c-common.c (c_common_nodes_and_builtins):
4309 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
4310
4311 2011-07-05 Richard Guenther <rguenther@suse.de>
4312
4313 * c-common.c (c_common_nodes_and_builtins): Build all common
4314 tree nodes first.
4315
4316 2011-06-27 Jakub Jelinek <jakub@redhat.com>
4317
4318 * c-common.h (c_tree_chain_next): New static inline function.
4319
4320 * c-common.c (check_builtin_function_arguments): Handle
4321 BUILT_IN_ASSUME_ALIGNED.
4322
4323 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
4324
4325 * c-common.c: Add sync_ or SYNC__ to builtin names.
4326 * c-omp.c: Add sync_ or SYNC__ to builtin names.
4327
4328 2011-06-20 Pierre Vittet <piervit@pvittet.com>
4329
4330 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
4331 handler.
4332 (gen_pragma_handler): New union.
4333 (internal_pragma_handler): New type.
4334 (c_register_pragma_with_data)
4335 (c_register_pragma_with_expansion_and_data): New functions.
4336
4337 * c-pragma.c (registered_pragmas, c_register_pragma_1)
4338 (c_register_pragma, c_register_pragma_with_expansion)
4339 (c_invoke_pragma_handler): Changed to work with
4340 internal_pragma_handler.
4341 (c_register_pragma_with_data)
4342 (c_register_pragma_with_expansion_and_data): New functions.
4343
4344 2011-06-14 Joseph Myers <joseph@codesourcery.com>
4345
4346 * c-common.c: Include common/common-target.h.
4347 (handle_section_attribute): Use
4348 targetm_common.have_named_sections.
4349 * c-cppbuiltin.c: Include common/common-target.h.
4350 (c_cpp_builtins): Use targetm_common.except_unwind_info.
4351
4352 2011-06-10 Richard Guenther <rguenther@suse.de>
4353
4354 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
4355 to print a IDENTIFIER_NODE.
4356
4357 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4358 Joseph Myers <joseph@codesourcery.com>
4359
4360 * c.opt (fbuilding-libgcc): New option.
4361 * c-cppbuiltin.c (c_cpp_builtins): Define
4362 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
4363
4364 2011-06-07 Jason Merrill <jason@redhat.com>
4365
4366 * c-common.c (max_tinst_depth): Lower default to 900.
4367
4368 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
4369
4370 2011-06-07 Richard Guenther <rguenther@suse.de>
4371
4372 * c-common.c (c_common_nodes_and_builtins): Do not set
4373 size_type_node or call set_sizetype.
4374
4375 2011-06-07 Dodji Seketeli <dodji@redhat.com>
4376
4377 PR debug/49130
4378 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
4379 type when using pointer comparison to compare types.
4380
4381 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
4382
4383 * c.opt: Add -Wdelete-non-virtual-dtor.
4384 * c-opts.c (c_common_handle_option): Include it in -Wall.
4385
4386 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
4387
4388 PR bootstrap/49190
4389
4390 Revert:
4391 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4392
4393 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4394 not tree_common.
4395
4396 2011-05-27 Jakub Jelinek <jakub@redhat.com>
4397
4398 PR c++/49165
4399 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
4400 C++ don't call c_common_truthvalue_conversion on void type arms.
4401
4402 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
4403
4404 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
4405 (stmt_list_stack): Define.
4406 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
4407 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
4408
4409 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4410
4411 * c-common.c (warning_candidate_p): Check for BLOCKs.
4412
4413 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
4414
4415 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
4416 not tree_common.
4417
4418 2011-05-25 Jakub Jelinek <jakub@redhat.com>
4419
4420 * c-common.c (def_fn_type): Remove extra va_end.
4421
4422 2011-05-23 Jason Merrill <jason@redhat.com>
4423
4424 PR c++/48106
4425 * c-common.c (c_common_get_narrower): New.
4426 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
4427
4428 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
4429
4430 * c-common.h (check_function_arguments): Tweak prototype of
4431 check_function_arguments.
4432 * c-common.c (check_function_arguments): Likewise. Adjust
4433 calls to check_function_nonnull, check_function_format, and
4434 check_function_sentinel.
4435 (check_function_sentinel): Take a FUNCTION_TYPE rather than
4436 separate attributes and typelist arguments. Use
4437 FOREACH_FUNCTION_ARGS to iterate over argument types.
4438
4439 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
4440
4441 * c-common.c (c_common_reswords): Reorder.
4442 * c-common.h (rid): Likewise.
4443
4444 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
4445
4446 * c-common.c (def_fn_type): Don't call build_function_type, call
4447 build_function_type_array or build_varargs_function_type_array
4448 instead.
4449 (c_common_nodes_and_builtins): Likewise.
4450
4451 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
4452
4453 * c-common.c (c_add_case_label): Omit the loc argument to
4454 build_case_label.
4455 * c-common.h (build_case_label): Remove.
4456 * c-semantics.c (build_case_label): Remove.
4457
4458 2011-05-05 Joseph Myers <joseph@codesourcery.com>
4459
4460 * c-objc.h (objc_start_method_definition): Update prototype.
4461 * stub-objc.c (objc_start_method_definition): Add extra parameter.
4462
4463 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
4464
4465 * c-common.c (check_main_parameter_types): Reindent. Don't use
4466 TYPE_ARG_TYPES directly.
4467 (handle_nonnull_attribute): Likewise.
4468 (sync_resolve_params): Likewise.
4469 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
4470 to check_format_string.
4471 (handle_format_attribute): Likewise.
4472 (check_format_string): Take a function type to examine instead of
4473 a type list. Use a function_arg_iterator to step through argument
4474 types.
4475
4476 2011-05-04 Richard Guenther <rguenther@suse.de>
4477
4478 * c-common.c (fix_string_type): Use size_int for index type bounds.
4479 (start_fname_decls): Do not pass NULL to build_int_cst.
4480 (c_init_attributes): Likewise.
4481 * c-lex.c (c_lex_with_flags): Likewise.
4482
4483 2011-04-27 Jason Merrill <jason@redhat.com>
4484
4485 * c-common.c (make_tree_vector_from_list): New.
4486 * c-common.h: Declare it.
4487
4488 2011-04-26 Richard Guenther <rguenther@suse.de>
4489
4490 PR preprocessor/48248
4491 * c-ppoutput.c (maybe_print_line): Always optimize newlines
4492 for output size with -P.
4493
4494 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
4495
4496 * c-common.c (struct c_common_resword): Add __underlying_type.
4497 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
4498
4499 2011-04-20 Jim Meyering <meyering@redhat.com>
4500
4501 * c-format.c (init_dollar_format_checking): Remove useless
4502 if-before-free.
4503
4504 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4505
4506 * c-objc.h (objc_get_interface_ivars): Removed.
4507 (objc_detect_field_duplicates): New.
4508 * stub-objc.c: Likewise.
4509
4510 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4511
4512 * stub-objc.c (objc_declare_protocols): Renamed to
4513 objc_declare_protocol.
4514 * c-objc.h: Likewise.
4515
4516 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4517
4518 * stub-objc.c (objc_declare_class): Updated argument name.
4519
4520 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4521
4522 * c-common.h (c_common_init_ts): Declare.
4523 * c-common.c (c_common_init_ts): Define.
4524
4525 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4526
4527 * c-objc.h (objc_build_message_expr): Updated prototype.
4528 * stub-objc.c (objc_build_message_expr): Likewise.
4529
4530 2011-04-12 Martin Jambor <mjambor@suse.cz>
4531
4532 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4533 of cgraph_node.
4534
4535 2011-04-11 Richard Guenther <rguenther@suse.de>
4536
4537 * c-common.c (complete_array_type): Build a range type of
4538 proper type.
4539
4540 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4541
4542 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4543 (handle_type_generic_attribute): Likewise.
4544
4545 2011-04-07 Jason Merrill <jason@redhat.com>
4546
4547 PR c++/48450
4548 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4549 conversion from C++0x scoped enum.
4550
4551 2011-04-06 Joseph Myers <joseph@codesourcery.com>
4552
4553 * c-target-def.h: New file.
4554 * c-target.def: New file.
4555 * c-target.h: New file.
4556 * c-common.c (targetcm): Don't define here.
4557 * c-common.h (default_handle_c_option): Declare.
4558 * c-format.c: Include c-target.h instead of target.h.
4559 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4560 include tm.h.
4561 (default_handle_c_option): Move from targhooks.c.
4562
4563 2011-03-29 Jakub Jelinek <jakub@redhat.com>
4564
4565 PR preprocessor/48248
4566 * c-ppoutput.c (print): Add src_file field.
4567 (init_pp_output): Initialize it.
4568 (maybe_print_line): Don't optimize by adding up to 8 newlines
4569 if map->to_file and print.src_file are different file.
4570 (print_line): Update print.src_file.
4571
4572 2011-03-25 Kai Tietz <ktietz@redhat.com>
4573
4574 * c-ada-spec.c (compare_comment): Use filename_cmp
4575 instead of strcmp for filename.
4576
4577 2011-03-25 Jeff Law <law@redhat.com>
4578
4579 * c-common.c (def_fn_type): Add missing va_end.
4580
4581 2011-03-25 Jason Merrill <jason@redhat.com>
4582
4583 * c.opt: Add -std=c++03.
4584
4585 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4586
4587 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4588
4589 2011-03-17 Kai Tietz
4590
4591 PR target/12171
4592 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4593 Display allowed attributes for function pointer types.
4594 (pp_c_attributes_display): New function to display
4595 attributes having affects_type_identity flag set to true.
4596 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4597
4598 * c-common.c (c_common_attribute_table):
4599 Add new element.
4600 (c_common_format_attribute_table): Likewise.
4601
4602 2011-03-18 Jason Merrill <jason@redhat.com>
4603
4604 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4605 * c-common.h: Don't declare it here.
4606 * c-common.c: Or define it here.
4607 * c-opts.c (c_common_handle_option): Or set it here.
4608
4609 PR c++/35315
4610 * c-common.c (handle_transparent_union_attribute): Don't
4611 make a duplicate type in C++.
4612
4613 2011-03-15 Jason Merrill <jason@redhat.com>
4614
4615 * c-common.c (max_constexpr_depth): New.
4616 * c-common.h: Declare it.
4617 * c-opts.c (c_common_handle_option): Set it.
4618 * c.opt (fconstexpr-depth): New option.
4619
4620 2011-03-11 Jason Merrill <jason@redhat.com>
4621
4622 * c-common.c (attribute_takes_identifier_p): Add missing const.
4623
4624 PR c++/46803
4625 * c-common.c (attribute_takes_identifier_p): Assume that an
4626 unknown attribute takes an identifier.
4627
4628 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4629
4630 PR c/47786
4631 * c-common.c (c_type_hash): Call list_length instead of iterating
4632 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4633
4634 2011-02-19 Jakub Jelinek <jakub@redhat.com>
4635
4636 PR c/47809
4637 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4638
4639 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4640
4641 * c.opt (fobjc-abi-version=) New.
4642 (fobjc-nilcheck): New.
4643
4644 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4645
4646 PR c++/46890
4647 * c-common.h (keyword_is_decl_specifier): Declare.
4648 * c-common.c (keyword_is_decl_specifier): Define.
4649 (keyword_is_function_specifier): New function.
4650
4651 2011-01-26 Jakub Jelinek <jakub@redhat.com>
4652
4653 PR c/47473
4654 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4655 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4656 REAL_TYPE.
4657
4658 2011-01-26 Arnaud Charlet <charlet@adacore.com>
4659
4660 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4661
4662 2011-01-26 Jakub Jelinek <jakub@redhat.com>
4663
4664 PR pch/47430
4665 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4666 after init_c_lex if pch_file is set.
4667
4668 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4669
4670 PR c++/43601
4671 * c.opt (-fkeep-inline-dllexport): New switch.
4672
4673 2011-01-12 Richard Guenther <rguenther@suse.de>
4674
4675 PR middle-end/32511
4676 * c-common.c (handle_weak_attribute): Warn instead of error
4677 on declaring an inline function weak.
4678
4679 2011-01-05 Tom Tromey <tromey@redhat.com>
4680
4681 * c-common.h (lvalue_error): Update.
4682 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4683 not error.
4684
4685 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
4686
4687 PR objc/47075
4688 * c-objc.h (objc_finish_message_expr): Added argument to
4689 prototype.
4690
4691 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4692
4693 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4694 Use prototype_p.
4695
4696 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4697
4698 * c-objc.h (objc_maybe_warn_exceptions): New.
4699 * stub-objc.c (objc_maybe_warn_exceptions): New.
4700
4701 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4702
4703 * c-common.h (readonly_error): Declare.
4704 * c-common.c (readonly_error): Define.
4705
4706 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4707
4708 * c-common.h (invalid_indirection_error): Declare.
4709 * c-common.c (invalid_indirection_error): Define.
4710
4711 2010-12-03 Richard Guenther <rguenther@suse.de>
4712
4713 PR c/46745
4714 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4715 (pp_c_unary_expression): Likewise.
4716 (pp_c_expression): Likewise.
4717
4718 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4719
4720 * c-common.h (objc_finish_function): New.
4721 (objc_non_volatilized_type): Removed.
4722 (objc_type_quals_match): Removed.
4723 * stub-objc.c (objc_finish_function): New.
4724 (objc_non_volatilized_type): Removed.
4725 (objc_type_quals_match): Removed.
4726
4727 2010-11-30 Joseph Myers <joseph@codesourcery.com>
4728
4729 * c-common.h (parse_optimize_options): Declare.
4730 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4731 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4732
4733 2010-11-29 Joseph Myers <joseph@codesourcery.com>
4734
4735 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4736 GET_ENVIRONMENT.
4737 * c-pch.c (O_BINARY): Don't define here.
4738 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4739
4740 2010-11-25 Joseph Myers <joseph@codesourcery.com>
4741
4742 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4743 targetm.except_unwind_info.
4744
4745 2010-11-23 Joseph Myers <joseph@codesourcery.com>
4746
4747 * c-opts.c (c_common_handle_option): Pass location to
4748 set_struct_debug_option.
4749
4750 2010-11-23 Joseph Myers <joseph@codesourcery.com>
4751
4752 * c-common.c (visibility_options): Move from ../opts.c.
4753 * c-common.h (struct visibility_flags, visibility_options):
4754 Declare here.
4755 * c-opts.c (finish_options): Rename to c_finish_options.
4756 (c_common_init): Update call to finish_options.
4757
4758 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4759
4760 PR objc/34033
4761 * c-lex.c (lex_string): Check that each string in an Objective-C
4762 string concat sequence starts with either one or zero '@', and
4763 that there are no spurious '@' signs at the end.
4764
4765 2010-11-20 Joseph Myers <joseph@codesourcery.com>
4766
4767 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4768 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4769 HANDLE_PRAGMA_VISIBILITY.
4770 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4771 HANDLE_PRAGMA_VISIBILITY): Don't define.
4772 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4773
4774 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4775
4776 PR c++/16189
4777 PR c++/36888
4778 PR c++/45331
4779 * c-common.h (keyword_begins_type_specifier): Declare.
4780 (keyword_is_storage_class_specifier): Declare.
4781 (keyword_is_type_qualifier): Declare.
4782 * c-common.c (keyword_begins_type_specifier): New function.
4783 (keyword_is_storage_class_specifier): New function.
4784 (keyword_is_type_qualifier): Declare.
4785
4786 2010-11-19 Joseph Myers <joseph@codesourcery.com>
4787
4788 PR c/46547
4789 * c-common.c (in_late_binary_op): Define.
4790 (c_common_truthvalue_conversion): Check in_late_binary_op before
4791 calling c_save_expr.
4792 * c-common.h (in_late_binary_op): Declare.
4793
4794 2010-11-19 Joseph Myers <joseph@codesourcery.com>
4795
4796 * c-opts.c (c_common_handle_option): Update calls to
4797 set_struct_debug_option.
4798
4799 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4800
4801 * c-common.h (objc_declare_protocols): Added additional argument.
4802 * stub-objc.c (objc_declare_protocol): Same change.
4803
4804 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4805
4806 PR c/33193
4807 * c-common.h (build_real_imag_expr): Declare.
4808 * c-semantics.c (build_real_imag_expr): Define.
4809
4810 2010-11-17 Joseph Myers <joseph@codesourcery.com>
4811
4812 * c-opts.c (c_common_parse_file): Take no arguments.
4813 * c-common.h (c_common_parse_file): Update prototype.
4814
4815 2010-11-16 Jakub Jelinek <jakub@redhat.com>
4816
4817 PR c++/46401
4818 * c-common.c (warning_candidate_p): Don't track non-const calls
4819 or STRING_CSTs.
4820
4821 2010-11-15 Ian Lance Taylor <iant@google.com>
4822
4823 * c-lex.c (init_c_lex): Set macro debug callbacks if
4824 flag_dump_go_spec is set.
4825
4826 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4827
4828 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4829 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4830
4831 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4832
4833 PR preprocessor/45038
4834 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4835 dialects.
4836
4837 2010-11-12 Joseph Myers <joseph@codesourcery.com>
4838
4839 * c-common.h (c_family_lang_mask): Declare.
4840 * c-opts.c (c_family_lang_mask): Make extern.
4841 * c-pragma.c (handle_pragma_diagnostic): Use
4842 control_warning_option.
4843
4844 2010-11-12 Joseph Myers <joseph@codesourcery.com>
4845
4846 * c-common.c (parse_optimize_options): Update call to
4847 decode_options.
4848 * c-common.h (c_common_handle_option): Update prototype.
4849 * c-opts.c (c_common_handle_option): Take location_t parameter and
4850 pass it to other functions.
4851
4852 2010-11-11 Joseph Myers <joseph@codesourcery.com>
4853
4854 * c-opts.c (warning_as_error_callback): Remove.
4855 (c_common_initialize_diagnostics): Don't call
4856 register_warning_as_error_callback.
4857 (c_common_handle_option): Handle -Werror=normalized= here.
4858
4859 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4860
4861 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4862 in diagnostic.
4863 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4864 letter.
4865 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4866 Remove trailing '.' from diagnostics.
4867 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4868
4869 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4870
4871 * c-common.c (parse_optimize_options): Pass global_dc to
4872 decode_options.
4873 * c-opts.c (c_common_handle_option): Pass &global_options to
4874 set_Wstrict_aliasing.
4875 * c.opt (v): Don't mark Common or document here.
4876
4877 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4878
4879 PR target/44981
4880 * c-format.c (format_type): New type gcc_objc_string_format_type.
4881 (valid_stringptr_type_p): New.
4882 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
4883 (check_format_string): Pass expected type, use
4884 valid_stringptr_type_p (), check that the format string types are
4885 consistent with the format specification.
4886 (decode_format_attr): Warn if NSString is used outside objective-c.
4887 (format_types_orig): Add NSString.
4888 (format_name): New.
4889 (format_flags): New.
4890 (check_format_arg): Handle format strings requiring an external parser.
4891 first_target_format_type: New variable.
4892 (handle_format_attribute): Set up first_target_format_type, pass the
4893 expected format arg string type to check_format_string().
4894 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4895 * stub-objc.c (objc_string_ref_type_p): New.
4896 (objc_check_format_arg): New.
4897
4898 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4899
4900 Fixed using the Objective-C 2.0 dot-syntax with class names.
4901 * c-common.h (objc_build_class_component_ref): New.
4902 * stub-objc.c (objc_build_class_component_ref): New.
4903
4904 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4905
4906 * c.opt (Wproperty-assign-default): New option.
4907
4908 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4909
4910 Implemented -fobjc-std=objc1 flag.
4911 * c.opt (fobjc-std=objc1): New option.
4912
4913 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4914
4915 Implemented format and noreturn attributes for Objective-C methods.
4916 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4917 attribute for Objective-C methods.
4918
4919 2010-10-31 Jason Merrill <jason@redhat.com>
4920
4921 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4922 EXPR_LOC_OR_HERE.
4923
4924 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4925
4926 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4927 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4928 (objc_add_property_declaration): Removed arguments for copies and
4929 ivar.
4930 (objc_build_getter_call): Renamed to
4931 objc_maybe_build_component_ref.
4932 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4933 (objc_is_property_ref): New.
4934 * c-common.c (c_common_reswords): Removed copies and ivar.
4935 * stub-objc.c (objc_add_property_declaration): Removed arguments
4936 for copies and ivar.
4937 (objc_build_getter_call): Renamed to
4938 objc_maybe_build_component_ref.
4939 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4940 (objc_is_property_ref): New.
4941
4942 2010-10-29 Arnaud Charlet <charlet@adacore.com>
4943 Matthew Gingell <gingell@adacore.com>
4944
4945 * c-ada-spec.c (separate_class_package): New function.
4946 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4947 name of their enclosing package.
4948 (print_ada_declaration): Use separate_class_package.
4949
4950 2010-10-27 Jason Merrill <jason@redhat.com>
4951
4952 * c-common.c (c_common_reswords): Add __is_literal_type.
4953 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4954
4955 * c-common.c (check_case_value): Remove special C++ code.
4956
4957 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4958
4959 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4960 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4961 and RID_LAST_PATTR.
4962 (objc_add_property_declaration): Added additional arguments.
4963 (objc_property_attribute_kind): Removed.
4964 (objc_set_property_attr): Removed.
4965 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4966 copy and nonatomic.
4967 * stub-objc.c (objc_add_property_declaration): Added additional
4968 arguments.
4969 (objc_set_property_attr): Removed.
4970
4971 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4972
4973 * c-common.h (objc_add_property_variable): Renamed to
4974 objc_add_property_declaration. Added location argument.
4975 * stub-objc.c (objc_add_property_variable): Same change.
4976
4977 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4978
4979 * c-common.h (objc_maybe_printable_name): New.
4980 * stub-objc.c (objc_maybe_printable_name): New.
4981
4982 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4983 Andrew Pinski <pinskia@gmail.com>
4984
4985 * c-common.h (c_common_mark_addressable_vec): Declare.
4986 * c-common.c (c_common_mark_addressable_vec): New function.
4987
4988 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4989
4990 * c-common.h (objc_set_method_type): Removed.
4991 (objc_add_method_declaration): Added boolean argument.
4992 (objc_start_method_definition): Same change.
4993 (objc_build_method_signature): Same change.
4994 * stub-objc.c (objc_set_method_type): Removed.
4995 (objc_add_method_declaration): Added boolean argument.
4996 (objc_start_method_definition): Same change.
4997 (objc_build_method_signature): Same change.
4998
4999 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
5000
5001 * c-common.h (finish_file): Removed.
5002 (objc_write_global_declarations): New.
5003 * c-opts.c (c_common_parse_file): Do not call finish_file.
5004 * stub-objc.c (objc_write_global_declarations): New.
5005
5006 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5007
5008 Implemented parsing @synthesize and @dynamic for
5009 Objective-C/Objective-C++.
5010 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
5011 (objc_add_synthesize_declaration): New.
5012 (objc_add_dynamic_declaration): New.
5013 * c-common.c (c_common_reswords): Add synthesize and dynamic.
5014 * stub-objc.c (objc_add_synthesize_declaration): New.
5015 (objc_add_dynamic_declaration): New.
5016
5017 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
5018
5019 PR target/46041
5020 * c-cppbuiltin.c (mode_has_fma): Move function here from
5021 builtins.c. Don't use the fma optab, instead just use the
5022 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
5023 using -save-temps.
5024
5025 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
5026
5027 Merge from 'apple/trunk' branch on FSF servers.
5028
5029 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
5030
5031 Radar 4330422
5032 * c-common.h (objc_non_volatilized_type): New declaration
5033 * stub-objc.c (objc_non_volatilized_type): New stub.
5034
5035 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
5036
5037 Merge from 'apple/trunk' branch on FSF servers.
5038
5039 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
5040
5041 Radar 4133425
5042 * c-common.h (objc_diagnose_private_ivar): New decl.
5043 * stub-objc.c (objc_diagnose_private_ivar): New stub.
5044
5045 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
5046
5047 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
5048 * c-common.h (enum rid): Add RID_AT_PACKAGE.
5049 (objc_ivar_visibility_kind): New enum.
5050 (objc_set_visibility): Adjust prototype to use visibility enum.
5051 * stub-objc.c (objc_set_visibility): Adjust stub to use
5052 visibility enum.
5053
5054 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5055
5056 * c-cppbuiltin.c (builtin_define_float_constants): Emit
5057 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
5058 has the appropriate fma builtins.
5059 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
5060
5061 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
5062
5063 merge from FSF apple 'trunk' branch.
5064 2006 Fariborz Jahanian <fjahanian@apple.com>
5065
5066 Radars 4436866, 4505126, 4506903, 4517826
5067 * c-common.c (c_common_resword): Define @property and its attributes.
5068 * c-common.h: Define property attribute enum entries.
5069 (OBJC_IS_PATTR_KEYWORD): New.
5070 (objc_property_attribute_kind): New enum.
5071 Declare objc_set_property_attr (), objc_add_property_variable (),
5072 objc_build_getter_call () and objc_build_setter_call ().
5073 * stub-objc.c (objc_set_property_attr): New stub.
5074 (objc_add_property_variable): Likewise.
5075 (objc_build_getter_call): Likewise.
5076 (objc_build_setter_call) Likewise.
5077
5078 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
5079
5080 merge from FSF apple 'trunk' branch.
5081 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
5082
5083 Radar 3803157 (method attributes)
5084 * c-common.c (handle_deprecated_attribute): Recognize
5085 objc methods as valid declarations.
5086 * c-common.h: Declare objc_method_decl ().
5087 * stub-objc.c (objc_method_decl): New stub.
5088
5089 2010-10-08 Joseph Myers <joseph@codesourcery.com>
5090
5091 * c-common.c (parse_optimize_options): Call
5092 decode_cmdline_options_to_array_default_mask before
5093 decode_options. Update arguments to decode_options.
5094 * c-common.h (c_common_init_options_struct): Declare.
5095 * c-opts.c (c_common_init_options_struct): New. Split out from
5096 c_common_init_options.
5097
5098 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
5099
5100 Implemented fast enumeration for Objective-C.
5101 * c-common.h (objc_finish_foreach_loop): New.
5102 * stub-objc.c (objc_finish_foreach_loop): New.
5103
5104 2010-10-05 Joseph Myers <joseph@codesourcery.com>
5105
5106 * c-common.h (struct diagnostic_context): Don't declare here.
5107 (c_common_initialize_diagnostics): Declare using
5108 diagnostic_context typedef.
5109 * c-opts.c (c_common_handle_option): Pass global_dc to
5110 handle_generated_option.
5111
5112 2010-10-04 Joseph Myers <joseph@codesourcery.com>
5113
5114 * c-opts.c (c_common_handle_option): Pass &global_options_set to
5115 handle_generated_option.
5116
5117 2010-10-03 Ian Lance Taylor <iant@google.com>
5118
5119 * c.opt (-fplan9-extensions): New option.
5120
5121 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5122
5123 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
5124 Remove.
5125 (c_cpp_builtins): Call functions from cppbuiltin.c instead
5126 of duplicating code.
5127
5128 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
5129
5130 * c-common.c: Add two new entries for @optional
5131 and @required keywords.
5132
5133 merge from FSF 'apple/trunk' branch.
5134 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
5135
5136 Radar 4386773
5137 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
5138 objective-c keywords.
5139 (objc_set_method_opt): New declaration.
5140 * stub-objc.c (objc_set_method_opt): New stub.
5141
5142 2010-09-30 Joseph Myers <joseph@codesourcery.com>
5143
5144 * c-common.c (handle_optimize_attribute): Pass &global_options to
5145 cl_optimization_save and cl_optimization_restore.
5146 * c-opts.c (c_common_handle_option): Pass &global_options to
5147 handle_generated_option.
5148 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
5149 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
5150 &global_options to cl_optimization_restore.
5151
5152 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
5153
5154 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
5155 Objective-C/Objective-C++ keywords.
5156
5157 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5158
5159 Merge from 'apple/trunk' branch on FSF servers.
5160
5161 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
5162
5163 Radar 4281748
5164 * c-common.h (objc_check_global_decl): New declaration.
5165 * stub-objc.c (objc_check_global_decl): New stub.
5166
5167 2010-09-29 Joseph Myers <joseph@codesourcery.com>
5168
5169 * c.opt: Don't use VarExists.
5170
5171 2010-09-29 Joseph Myers <joseph@codesourcery.com>
5172
5173 * c-common.c (c_cpp_error): Update names of diagnostic_context
5174 members.
5175 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
5176 cl_optimization members.
5177 * c-opts.c (warning_as_error_callback, c_common_handle_option,
5178 sanitize_cpp_opts, finish_options): Update names of cpp_options
5179 members.
5180
5181 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
5182
5183 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
5184 (objc_is_reserved_word): Removed.
5185 * c-common.c: Updated comments.
5186 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
5187 objc_is_reserved_word.
5188 * stub-objc.c (objc_is_reserved_word): Removed.
5189
5190 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5191
5192 * c-common.h (objc_add_method_declaration): Adjust prototype to
5193 include attributes.
5194 (objc_start_method_definition): Likewise.
5195 (objc_build_keyword_decl): Likewise.
5196 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
5197 (objc_start_method_definition): Likewise.
5198 (objc_build_keyword_decl): Likewise.
5199
5200 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
5201
5202 * c-common.h (objc_start_class_interface): Adjust prototype.
5203 (objc_start_category_interface): Likewise.
5204 (objc_start_protocol): Likewise.
5205 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
5206 (objc_start_class_interface): Likewise.
5207 (objc_start_category_interface): Likewise.
5208
5209 2010-09-27 Ian Lance Taylor <iant@google.com>
5210
5211 * c-common.c (c_common_attribute_table): Add no_split_stack.
5212 (handle_no_split_stack_attribute): New static function.
5213
5214 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
5215
5216 Merge from 'apple/trunk' branch on FSF servers.
5217
5218 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
5219
5220 Radar 4229905
5221 * c-common.h (objc_have_common_type): New declaration.
5222 * stub-objc.c (objc_have_common_type): New stub.
5223
5224 2005-06-22 Ziemowit Laski <zlaski@apple.com>
5225
5226 Radar 4154928
5227 * c-common.h (objc_common_type): New prototype.
5228 * stub-objc.c (objc_common_type): New stub.
5229
5230 2010-09-24 Jan Hubicka <jh@suse.cz>
5231
5232 * c-common.c (handle_leaf_attribute): New function.
5233 (struct attribute_spec c_common_att): Add leaf.
5234
5235 2010-09-22 Joseph Myers <joseph@codesourcery.com>
5236
5237 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
5238 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
5239 -dump, -dump=, -imacros, -imacros=, -include, -include=,
5240 -include-barrier, -include-directory, -include-directory=,
5241 -include-directory-after, -include-directory-after=,
5242 -include-prefix, -include-prefix=, -include-with-prefix,
5243 -include-with-prefix=, -include-with-prefix-after,
5244 -include-with-prefix-after=, -include-with-prefix-before,
5245 -include-with-prefix-before=, -no-integrated-cpp,
5246 -no-line-commands, -no-standard-includes, -no-warnings, -output,
5247 -output=, -pedantic, -pedantic-errors, -preprocess,
5248 -print-missing-file-dependencies, -trace-includes, -traditional,
5249 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
5250 -user-dependencies, -verbose, -write-dependencies,
5251 -write-user-dependencies, no-integrated-cpp, traditional): New.
5252
5253 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5254
5255 PR objc/23710
5256 * c-common.h (objc_start_method_definition): Return bool instead
5257 of void.
5258 * stub-objc.c (objc_start_method_definition): Return bool instead
5259 of void.
5260
5261 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
5262
5263 PR objc/25965
5264 * c-common.h (objc_get_interface_ivars): New declaration.
5265 * stub-objc.c (objc_get_interface_ivars): New stub.
5266
5267 2010-09-15 Ian Lance Taylor <iant@google.com>
5268
5269 * c-common.c (parse_optimize_options): Do not capitalize warning
5270 messages. Remove period at end of warning message.
5271
5272 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
5273
5274 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
5275 (handle_alias_attribute): ... here.
5276 (handle_ifunc_attribute): New.
5277
5278 2010-09-06 Mark Mitchell <mark@codesourcery.com>
5279
5280 * c-common.h (do_warn_double_promotion): Declare.
5281 * c-common.c (do_warn_double_promotion): Define.
5282
5283 2010-09-05 Mark Mitchell <mark@codesourcery.com>
5284
5285 * c.opt (Wdouble-promotion): New.
5286
5287 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5288
5289 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
5290 fvtable-thunks, fxref): Mark no longer supported in help text.
5291
5292 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5293
5294 * c.opt (Wimport, fall-virtual, falt-external-templates,
5295 fdefault-inline, fenum-int-equiv, fexternal-templates,
5296 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
5297 fname-mangling-version-, fnew-abi, fnonnull-objects,
5298 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
5299 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
5300 applicable.
5301 (fhandle-exceptions): Mark with Alias and Warn.
5302 * c-opts.c (c_common_handle_option): Don't handle options marked
5303 as ignored.
5304
5305 2010-09-02 Joseph Myers <joseph@codesourcery.com>
5306
5307 * c.opt (Wcomments, Werror-implicit-function-declaration,
5308 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
5309 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
5310 aliases.
5311 * c-common.c (option_codes): Use OPT_Wcomment instead of
5312 OPT_Wcomments.
5313 * c-opts.c (warning_as_error_callback, c_common_handle_option):
5314 Don't handle options marked as aliases.
5315
5316 2010-08-25 Richard Guenther <rguenther@suse.de>
5317
5318 * c-common.c (c_common_get_alias_set): Remove special
5319 handling for pointers.
5320
5321 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
5322
5323 * c-common.c: Use FOR_EACH_VEC_ELT.
5324 * c-gimplify.c: Likewise.
5325 * c-pragma.c: Likewise.
5326
5327 2010-08-16 Joseph Myers <joseph@codesourcery.com>
5328
5329 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
5330 RejectDriver.
5331 (MMDX): Change back to MMD. Mark NoDriverArg instead of
5332 RejectDriver.
5333 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
5334 instead of OPT_MDX and OPT_MMDX.
5335
5336 2010-08-16 Joseph Myers <joseph@codesourcery.com>
5337
5338 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
5339
5340 2010-08-12 Joseph Myers <joseph@codesourcery.com>
5341
5342 * c.opt (MD, MMD): Change to MDX and MMDX.
5343 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
5344
5345 2010-08-11 Joseph Myers <joseph@codesourcery.com>
5346
5347 * c-opts.c (c_common_handle_option): Call handle_generated_option
5348 instead of handle_option.
5349
5350 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5351
5352 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
5353 (maybe_apply_renaming_pragma): Delete unneeded declarations.
5354
5355 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
5356
5357 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
5358 (pending_redefine_extname): Change type to a VEC.
5359 (add_to_renaming_pragma_list): Update for new type of
5360 pending_redefine_extname.
5361 (maybe_apply_renaming_pragma): Likewise.
5362
5363 2010-08-04 Arnaud Charlet <charlet@adacore.com>
5364
5365 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
5366 visited.
5367 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
5368 decide whether a type has already been declared/seen.
5369 Do not go to the original type.
5370 (dump_nested_types): New parameter forward.
5371 Generate forward declaration if needed and mark type as visited.
5372 (print_ada_declaration): Call dump_nested_types if not already done.
5373 Mark types as visited.
5374
5375 2010-08-03 Joseph Myers <joseph@codesourcery.com>
5376
5377 * c.opt (-print-pch-checksum): Remove option.
5378 * c-opts.c (c_common_handle_option): Don't handle
5379 OPT_print_pch_checksum.
5380
5381 2010-07-27 Joseph Myers <joseph@codesourcery.com>
5382
5383 * c-common.h (c_common_handle_option): Update prototype and return
5384 value type.
5385 * c-opts.c (c_common_handle_option): Update prototype and return
5386 value type. Update calls to handle_option and
5387 enable_warning_as_error.
5388
5389 2010-07-27 Jakub Jelinek <jakub@redhat.com>
5390
5391 PR c/45079
5392 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
5393
5394 2010-07-27 Joseph Myers <joseph@codesourcery.com>
5395
5396 * c-common.h (c_common_missing_argument): Remove.
5397 * c-opts.c (c_common_missing_argument): Remove.
5398 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
5399 idirafter, imacros, include, isysroot, isystem, iquote): Add
5400 MissingArgError.
5401 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
5402
5403 2010-07-27 Joseph Myers <joseph@codesourcery.com>
5404
5405 * c-common.h (c_common_option_lang_mask,
5406 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
5407 New.
5408 (c_common_init_options): Update prototype.
5409 * c-opts.c (c_common_option_lang_mask): New.
5410 (c_common_initialize_diagnostics): Split out of
5411 c_common_init_options.
5412 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
5413 New.
5414 (c_common_init_options): Update prototype. Use decoded options in
5415 search for -lang-asm.
5416
5417 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
5418
5419 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
5420 * c-format.c: Likewise.
5421
5422 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
5423
5424 * c-common.h: Include diagnostic-core.h. Error if already
5425 included.
5426 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
5427
5428 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
5429
5430 * c-common.c (IN_GCC_FRONTEND): Do not undef.
5431 Do not include expr.h
5432 (vector_mode_valid_p): Move here.
5433
5434 2010-06-21 DJ Delorie <dj@redhat.com>
5435
5436 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
5437 allow these pragmas anywhere.
5438
5439 2010-06-14 Jakub Jelinek <jakub@redhat.com>
5440
5441 PR bootstrap/44509
5442 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
5443 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
5444 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
5445 ggc_strdup instead of xstrdup.
5446
5447 2010-06-10 Jakub Jelinek <jakub@redhat.com>
5448
5449 * c-cppbuiltin.c: Include cpp-id-data.h.
5450 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
5451 (lazy_hex_fp_value): New function.
5452 (builtin_define_with_hex_fp_value): Provide definitions lazily.
5453
5454 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
5455
5456 * c-gimplify.c: Do not include tree-flow.h
5457
5458 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
5459
5460 PR other/44034
5461 * c-common.c: Rename targetm member:
5462 targetm.enum_va_list -> targetm.enum_va_list_p
5463
5464 2010-06-28 Anatoly Sokolov <aesok@post.ru>
5465
5466 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
5467
5468 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
5469
5470 * c-cppbuiltin.c: Do not include except.h.
5471
5472 2010-06-24 Andi Kleen <ak@linux.intel.com>
5473
5474 * c-common.c (warn_for_omitted_condop): New.
5475 * c-common.h (warn_for_omitted_condop): Add prototype.
5476
5477 2010-06-21 Joseph Myers <joseph@codesourcery.com>
5478
5479 * c.opt (lang-objc): Remove.
5480 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
5481
5482 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
5483
5484 * c-opts.c: Include "tm_p.h".
5485
5486 2010-06-20 Joseph Myers <joseph@codesourcery.com>
5487
5488 * c-common.c (parse_optimize_options): Update call to
5489 decode_options.
5490
5491 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
5492
5493 * c-common.c (record_types_used_by_current_var_decl): Adjust for
5494 new type of types_used_by_cur_var_decl.
5495
5496 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
5497
5498 PR bootstrap/44512
5499 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
5500 for C++ standard compliance.
5501
5502 2010-06-16 Jason Merrill <jason@redhat.com>
5503
5504 * c.opt: Add -Wnoexcept.
5505
5506 2010-06-16 Richard Guenther <rguenther@suse.de>
5507
5508 PR c/44555
5509 * c-common.c (c_common_truthvalue_conversion): Remove
5510 premature and wrong optimization concering ADDR_EXPRs.
5511
5512 2010-06-15 Arnaud Charlet <charlet@adacore.com>
5513
5514 * c-ada-spec.c (dump_sloc): Remove column info.
5515 (is_simple_enum): New function.
5516 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5517 enum types when relevant.
5518
5519 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5520
5521 * c-common.c (conversion_warning): Warn at expression
5522 location.
5523
5524 2010-06-10 Joseph Myers <joseph@codesourcery.com>
5525
5526 * c-opts.c (c_common_handle_option): Don't handle
5527 OPT_fshow_column.
5528
5529 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5530
5531 * c-pragma.c (push_alignment): Use typed GC allocation.
5532 (handle_pragma_push_options): Likewise.
5533
5534 * c-common.c (parse_optimize_options): Likewise.
5535
5536 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5537 option.
5538
5539 2010-06-07 Joseph Myers <joseph@codesourcery.com>
5540
5541 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5542 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5543 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5544 flag_signed_bitfields, warn_strict_null_sentinel,
5545 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5546 flag_gen_declaration, flag_no_gnu_keywords,
5547 flag_implement_inlines, flag_implicit_templates,
5548 flag_implicit_inline_templates, flag_optional_diags,
5549 flag_elide_constructors, flag_default_inline, flag_rtti,
5550 flag_conserve_space, flag_access_control, flag_check_new,
5551 flag_new_for_scope, flag_weak, flag_working_directory,
5552 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5553 flag_enforce_eh_specs, flag_threadsafe_statics,
5554 flag_pretty_templates): Remove.
5555 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5556 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5557 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5558 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5559 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5560 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5561 flag_no_gnu_keywords, flag_implement_inlines,
5562 flag_implicit_templates, flag_implicit_inline_templates,
5563 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5564 flag_rtti, flag_conserve_space, flag_access_control,
5565 flag_check_new, flag_new_for_scope, flag_weak,
5566 flag_working_directory, flag_use_cxa_atexit,
5567 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5568 flag_threadsafe_statics, flag_pretty_templates,
5569 warn_strict_null_sentinel): Remove.
5570 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5571 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5572 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5573 fimplicit-inline-templates, fimplicit-templates,
5574 flax-vector-conversions, fms-extensions, fnil-receivers,
5575 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5576 frtti, fshort-double, fshort-enums, fshort-wchar,
5577 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5578 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5579 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5580 gen-decls, undef): Use Var.
5581 (fdefault-inline, foptional-diags): Document as doing nothing.
5582 * c-opts.c (c_common_handle_option): Remove cases for options now
5583 using Var. Mark ignored options as such.
5584
5585 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5586
5587 * c-common.c: Moved to here from parent directory.
5588 * c-common.def: Likewise.
5589 * c-common.h: Likewise.
5590 * c-cppbuiltin.c: Likewise.
5591 * c-dump.c: Likewise.
5592 * c-format.c: Likewise.
5593 * c-format.h : Likewise.
5594 * c-gimplify.c: Likewise.
5595 * c-lex.c: Likewise.
5596 * c-omp.c: Likewise.
5597 * c.opt: Likewise.
5598 * c-opts.c: Likewise.
5599 * c-pch.c: Likewise.
5600 * c-ppoutput.c: Likewise.
5601 * c-pragma.c: Likewise.
5602 * c-pragma.h: Likewise.
5603 * c-pretty-print.c: Likewise.
5604 * c-pretty-print.h: Likewise.
5605 * c-semantics.c: Likewise.
5606 * stub-objc.c: Likewise.
5607
5608 * c-common.c: Include gt-c-family-c-common.h.
5609 * c-pragma.c: Include gt-c-family-c-pragma.h.
5610 \f
5611 Copyright (C) 2010-2015 Free Software Foundation, Inc.
5612
5613 Copying and distribution of this file, with or without modification,
5614 are permitted in any medium without royalty provided the copyright
5615 notice and this notice are preserved.