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