cfgexpand.c (record_or_union_type_has_array_p): New function.
[gcc.git] / gcc / c-family / ChangeLog
1 2013-05-07 Han Shen <shenhan@google.com>
2
3 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
4
5 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6
7 * c-common.c (check_user_alignment): Emit error for negative values.
8
9 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
10
11 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
12
13 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
14
15 * c-cppbuiltin.c (c_cpp_builtins): Do not define
16 __GXX_EXPERIMENTAL_CXX1Y__.
17
18 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
19 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
20
21 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
22 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
23 to simply use OPT_Wpointer_arith.
24 (c_sizeof_or_alignof_type): Likewise.
25
26 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
27
28 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
29
30 2013-04-12 Jakub Jelinek <jakub@redhat.com>
31
32 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
33 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
34 specifiers.
35
36 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
37
38 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
39
40 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
41
42 * c-common.c (pointer_int_sum): Remove dead code.
43
44 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
45
46 PR middle-end/56524
47 * c-common.c (handle_optimize_attribute): Don't call
48 save_optabs_if_changed.
49
50 2013-03-05 Jakub Jelinek <jakub@redhat.com>
51
52 PR middle-end/56461
53 * c-pch.c (pch_init): Free target_validity at the end.
54
55 2013-03-04 Jakub Jelinek <jakub@redhat.com>
56
57 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
58
59 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
60 Jakub Jelinek <jakub@redhat.com>
61
62 PR sanitizer/56454
63 * c-common.c (handle_no_sanitize_address_attribute): New function.
64 (c_common_attribute_table): Add no_sanitize_address attribute.
65 (handle_no_address_safety_analysis_attribute): Add
66 no_sanitize_address attribute, not no_address_safety_analysis
67 attribute.
68
69 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
70
71 PR target/52555
72 * c-common.c (handle_optimize_attribute): Call
73 save_optabs_if_changed.
74
75 2013-02-18 Jakub Jelinek <jakub@redhat.com>
76 Steven Bosscher <steven@gcc.gnu.org>
77
78 PR pch/54117
79 * c-opts.c (c_common_post_options): If debug info is enabled
80 and non-dwarf*, refuse to load PCH files and when writing PCH
81 file warn.
82
83 2013-02-05 Jakub Jelinek <jakub@redhat.com>
84
85 PR middle-end/56167
86 * c-common.c (handle_error_attribute): Fix condition.
87
88 2013-01-30 Jakub Jelinek <jakub@redhat.com>
89
90 PR c++/55742
91 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
92
93 2013-01-18 Jason Merrill <jason@redhat.com>
94
95 PR target/54908
96 * c.opt (-fextern-tls-init): New.
97 * c-opts.c (c_common_post_options): Handle it.
98
99 2013-01-09 Jakub Jelinek <jakub@redhat.com>
100
101 PR c/48418
102 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
103 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
104 and is either negative or bigger or equal to type precision
105 of the first operand.
106
107 2012-12-03 Marek Polacek <polacek@redhat.com>
108
109 PR c/55570
110 * c-common.c (check_user_alignment): Swap order of tests,
111 check TREE_CODE first.
112
113 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
114
115 PR c++/52654
116 * c-common.h (overflow_type): New enum.
117 (build_userdef_literal): Add overflow_type argument.
118 (tree_userdef_literal): Add overflow_type.
119 (USERDEF_LITERAL_OVERFLOW): New access macro.
120 * c-common.c (build_userdef_literal): Add overflow_type
121 argument.
122 * c-lex.c (c_lex_with_flags): Add overflow_type to
123 build_userdef_literal calls.
124 (interpret_integer, interpret_float): Add overflow_type argument.
125
126 2012-11-28 Richard Biener <rguenther@suse.de>
127
128 PR c/35634
129 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
130 here and use a type with proper overflow behavior for types that would
131 need to be promoted for the arithmetic.
132
133 2012-11-23 Jakub Jelinek <jakub@redhat.com>
134
135 PR sanitizer/55435
136 * c-common.c (handle_no_address_safety_analysis_attribute): New
137 function.
138 (c_common_attribute_table): Add no_address_safety_analysis.
139
140 2012-11-16 Simon Baldwin <simonb@google.com>
141
142 * c.opt: Add f[no-]canonical-system-headers.
143 * c-opts.c (c_common_handle_option): Handle
144 OPT_fcanonical_system_headers.
145
146 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
147
148 PR c++/54413
149 * c-opts.c (c_common_handle_option): Set new flags.
150 * c.opt: Describe new flags.
151
152 2012-11-09 Jason Merrill <jason@redhat.com>
153
154 * c.opt (Wabi-tag): New.
155
156 2012-11-09 Andi Kleen <ak@linux.intel.com>
157
158 PR 55139
159 * c-common.c (get_atomic_generic_size): Mask with
160 MEMMODEL_MASK
161
162 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
163
164 PR c/53063
165 * c.opt (Wformat): Make it Alias Wformat=1.
166 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
167 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
168 LangEnabledBy.
169 (Wformat=): RejectNegative. Use LangEnabledBy.
170 (Wnonnull): Use LangEnabledBy.
171 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
172 * c-format.c (set_Wformat): Delete.
173 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
174 (maybe_read_dollar_number): Likewise.
175 (avoid_dollar_number): Likewise.
176 (finish_dollar_format_checking): Likewise.
177 (check_format_info): Likewise.
178 (check_format_info_main): Likewise.
179 (check_format_types): Likewise.
180 (format_type_warning): Likewise.
181 * c-common.c (int): Likewise.
182 (check_function_sentinel): Likewise.
183 * c-common.h (warn_format,set_Wformat): Do not declare here.
184
185 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
186
187 PR c/53063
188 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
189 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
190 Use LangEnabledBy.
191 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
192 common.opt.
193 (Wvariadic-macros): Init(1).
194 * c-opts.c (c_common_handle_option): Do not handle them
195 explicitly.
196 (c_common_post_options): Likewise.
197 (sanitize_cpp_opts): warn_unused_macros is now
198 cpp_warn_unused_macros.
199 (push_command_line_include): Likewise.
200 * c-common.c (warn_unknown_pragmas): Do not define.
201 * c-common.h (warn_unknown_pragmas): Do not declare.
202
203 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
204
205 PR c/51294
206 * c-common.c (conversion_warning): Handle conditional expressions.
207
208 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
209
210 PR c++/54930
211 * c.opt (Wreturn_local_addr): Define new option.
212
213 2012-10-25 Jason Merrill <jason@redhat.com>
214
215 * c.opt (Wvirtual-move-assign): New.
216
217 * c.opt (Winherited-variadic-ctor): New.
218
219 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
220
221 PR c++/54427
222 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
223
224 2012-10-23 Joseph Myers <joseph@codesourcery.com>
225
226 * c-common.h (pch_cpp_save_state): Declare.
227 * c-target.def (c_preinclude): New hook.
228 * c-opts.c (done_preinclude): New.
229 (push_command_line_include): Handle default preincluded header.
230 (cb_file_change): Call pch_cpp_save_state when calling
231 push_command_line_include.
232 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
233 (pch_cpp_save_state): New.
234 (pch_init): Call pch_cpp_save_state conditionally, instead of
235 calling cpp_save_state.
236
237 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
238
239 PR c/53063
240 PR c/40989
241 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
242 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
243 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
244 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
245 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
246 * c-opts.c (c_common_handle_option): Remove explicit handling from
247 here.
248 (c_common_post_options): Likewise.
249
250 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
251
252 * c-ada-spec.c (LOCATION_COL): Delete.
253 (compare_location): New function.
254 (compare_node): Use it.
255 (compare_comment): Likewise.
256
257 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
258
259 PR c/53063
260 PR c/40989
261 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
262 * c-opts.c (c_common_handle_option): Do not set them here. Add
263 comment.
264 (c_common_post_options): Likewise.
265
266 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
267
268 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
269 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
270 Remove POINTER_TYPE handling, add large unsigned handling and use
271 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
272
273 2012-10-12 Jakub Jelinek <jakub@redhat.com>
274
275 PR c/54381
276 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
277 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
278 locs and array of 3 trees instead of just single loc and single
279 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
280 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
281 For *cmp* builtins that take two sources strings report warnings
282 about first and second source, not about destination and source.
283
284 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
285
286 PR c++/53055
287 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
288
289 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
290
291 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
292 declaring something coming from another file.
293
294 2012-10-10 Arnaud Charlet <charlet@adacore.com>
295
296 PR ada/54845
297 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
298
299 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
300
301 PR c++/54194
302 * c-common.c (warn_about_parentheses): Add location_t parameter;
303 use EXPR_LOC_OR_LOC.
304 * c-common.h: Update declaration.
305
306 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
307
308 PR c++/54427
309 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
310 more operations. Make error messages optional.
311 * c-common.h (enum stv_conv): Moved from c-typeck.c.
312 (scalar_to_vector): Declare.
313
314 2012-10-08 Jason Merrill <jason@redhat.com>
315
316 * c-common.c (c_common_reswords): Add thread_local.
317
318 2012-10-08 Dodji Seketeli <dodji@redhat.com>
319
320 PR c++/53528 C++11 attribute support
321 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
322 new functions.
323 * c-common.c (check_cxx_fundamental_alignment_constraints): New
324 static function.
325 (handle_aligned_attribute): In choose strictest alignment
326 among many. Use new check_cxx_fundamental_alignment_constraints.
327 (handle_transparent_union_attribute): In c++11 attribute syntax,
328 don't look through typedefs.
329
330 2012-10-04 Arnaud Charlet <charlet@adacore.com>
331
332 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
333 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
334 out of dumpfile.h.
335
336 2012-09-25 Dehao Chen <dehao@google.com>
337
338 PR middle-end/54645
339 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
340 map when read in the pch.
341
342 2012-09-18 Arnaud Charlet <charlet@adacore.com>
343
344 * c-ada-spec.c: Style fixes.
345
346 2012-09-18 Thomas Quinot <quinot@adacore.com>
347
348 * c.opt (-fada-spec-parent): Define new command line switch.
349 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
350 is specified, generate binding spec as a child of the specified unit.
351
352 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
353 Manuel López-Ibáñez <manu@gcc.gnu.org>
354
355 PR c++/53210
356 * c.opt ([Winit-self]): Enabled by -Wall in C++.
357
358 2012-08-23 Arnaud Charlet <charlet@adacore.com>
359
360 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
361 for pointers, and add missing Convention C pragma.
362 (print_ada_struct_decl): Add missing aliased keyword.
363 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
364
365 2012-08-17 Jakub Jelinek <jakub@redhat.com>
366
367 * c-common.c (sizeof_pointer_memaccess_warning): New function.
368 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
369 * c-opts.c (c_common_handle_option): Enable it for -Wall.
370 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
371 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
372
373 2012-08-10 Richard Guenther <rguenther@suse.de>
374
375 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
376
377 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
378
379 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
380 instead of separate pp_newline and pp_flush.
381 (print_c_tree): Likewise.
382
383 2012-07-26 Richard Henderson <rth@redhat.com>
384
385 * c-common.c (handle_hot_attribute): Allow labels.
386 (handle_cold_attribute): Likewise.
387
388 2012-07-20 Jakub Jelinek <jakub@redhat.com>
389
390 PR c++/28656
391 * c-common.c (check_function_nonnull): Handle multiple nonnull
392 attributes properly.
393
394 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
395
396 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
397 * c-ada-spec.c: Likewise.
398 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
399
400 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
401
402 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
403 Remove code conditional on it.
404
405 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
406
407 * c-gimplify.c: Do not include basic-block.h.
408 * c-common.c: Do not include linfuncs.h.
409
410 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
411
412 * c-common.h: Include tree.h.
413
414 2012-07-02 Jason Merrill <jason@redhat.com>
415
416 PR c++/53524
417 * c-common.c (get_priority): Call default_conversion.
418
419 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
420
421 * c-pch.c (c_common_write_pch): Remove unused variables.
422
423 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
424
425 * cppspec.c: Moved from gcc/ to here.
426
427 2012-06-27 Kai Tietz <ktietz@redhat.com>
428
429 PR preprocessor/37215
430 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
431
432 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
433
434 * c-common.h (c_common_print_pch_checksum): Remove.
435 * c-pch.c: Do not include output.h.
436 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
437 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
438 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
439 (struct c_pch_header): Remove.
440 (get_ident): Update gpch version.
441 (pch_init): Do not print executable_checksum to asm_out_file.
442 Do not fail if there is no asm_out_file to read back from. Set
443 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
444 (c_common_write_pch): Verify that nothing was written to asm_out_file
445 since pch_init was called. Do not write a c_pch_header, and do not
446 copy from asm_out_file to the PCH.
447 (c_common_read_pch): Do not read a c_pch_header, and do not restore
448 the content of asm_out_file from the PCH.
449 (c_common_print_pch_checksum): Remove.
450 * c-opts.c (c_common_init): Print out executable_checksum directly.
451
452 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
453
454 * c-target.def (objc_declare_unresolved_class_reference,
455 objc_declare_class_definition): Add new hooks.
456
457 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
458
459 * c-lex.c: Do not include output.h.
460 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
461 Remove uses of ASM_OUTPUT_IDENT.
462
463 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
464
465 PR c++/51033
466 * c-common.h (c_build_vec_perm_expr): Move decl here.
467 * c-common.c (c_build_vec_perm_expr): Move definition
468 here.
469
470 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
471
472 * c.opt (fconserve-space): Turn into a no-op.
473
474 2012-06-04 Sterling Augustine <saugustine@google.com>
475
476 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
477 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
478 both the start and end of the function.
479
480 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
481
482 * c-common.c: Do not include output.h.
483 * c-pragma.c: Likewise.
484
485 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
486
487 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
488 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
489 (lang_decl_name): Handle namespace decls.
490
491 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
492
493 * c-ada-spec.c: Do not include output.h.
494 * c-semantics.c: Likewise.
495
496 2012-05-29 Joseph Myers <joseph@codesourcery.com>
497
498 * c-common.c: Fix typo.
499
500 2012-05-29 Michael Matz <matz@suse.de>
501
502 * c-common.h (c_expand_decl): Remove prototype.
503
504 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
505
506 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
507 * c-opts.c (c_common_handle_option): Remove code handling
508 warn_missing_braces.
509
510 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
511
512 PR c++/25137
513 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
514 -Wmissing_braces.
515
516 2012-05-22 Dodji Seketeli <dodji@redhat.com>
517
518 PR c++/53322
519 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
520
521 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
522
523 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
524 * c-opts.c (c_common_handle_option): Do not handle explicitly
525 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
526
527 2012-05-16 Dodji Seketeli <dodji@redhat.com>
528
529 PR preprocessor/7263
530 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
531 to cpp_classify_number. For diagnostics, use the precise location
532 instead of the global input_location.
533
534 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
535
536 PR c++/11856
537 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
538
539 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
540
541 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
542
543 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
544
545 PR 53063
546 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
547 Wreorder): Use LangEnabledBy.
548 * c-opts.c (c_common_handle_option): Do not enable them
549 explicitly. Call lang-specific generated functions.
550 (c_common_post_options): Do not set them here.
551
552 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
553
554 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
555 Wmissing-field-initializers,Wmissing-parameter-type,
556 Wold-style-declaration,Woverride-init): Use EnabledBy.
557 * c-opts.c (c_common_post_options): Do not set here explicitly.
558
559 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
560
561 PR 53063
562 * c-opts.c (c_common_handle_option): Use handle_generated_option
563 to enable sub-options.
564
565 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
566
567 PR c++/53158
568 * c-common.c (warnings_for_convert_and_check): Use warning_at.
569
570 2012-05-10 Richard Guenther <rguenther@suse.de>
571
572 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
573 adjust commentary about TYPE_IS_SIZETYPE types.
574
575 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
576
577 PR c++/53261
578 * c-common.c (warn_logical_operator): Check that argument of
579 integer_zerop is not NULL.
580
581 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
582
583 PR c/43772
584 * c-common.c (warn_logical_operator): Do not warn if either side
585 is already true or false.
586
587 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
588
589 PR c/51712
590 * c-common.c (expr_original_type): New.
591 (shorten_compare): Do not warn for enumeration types.
592
593 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
594
595 * c.opt (fpermissive): Add Var(flag_permissive).
596
597 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
598
599 PR c++/51033
600 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
601 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
602
603 2012-04-30 Dodji Seketeli <dodji@redhat.com>
604
605 Add -Wvarargs option
606 * c.opt (Wvarargs): Define new option.
607
608 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
609
610 * c-common.c (check_function_arguments): Replace
611 Wmissing-format-attribute with Wsuggest-attribute=format.
612
613 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
614
615 * c.opt (Wsuggest-attribute=format): New. Alias of
616 Wmissing-format-attribute.
617 * c-format.c (decode_format_type): Replace
618 Wmissing-format-attribute with Wsuggest-attribute=format.
619 (check_function_format): Likewise.
620
621 2012-04-27 Ollie Wild <aaw@google.com>
622
623 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
624 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
625 * c.opt: Add Wliteral-suffix.
626
627 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
628
629 PR c/44774
630 * c.opt (Wpedantic): New.
631 (pedantic): Alias Wpedantic.
632 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
633 (c_common_post_options): Likewise.
634 (sanitize_cpp_opts): Likewise.
635 * c-lex.c (interpret_float): Likewise.
636 * c-format.c (check_format_types): Likewise.
637 * c-common.c (pointer_int_sum): Likewise.
638 (c_sizeof_or_alignof_type): Likewise.
639 (c_add_case_label): Likewise.
640 (c_do_switch_warnings): Likewise.
641 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
642
643 2012-04-15 Jason Merrill <jason@redhat.com>
644
645 PR c++/52818
646 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
647 (C_STD_NAME): Distinguish between C++98 and C++11.
648
649 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
650
651 PR target/52624
652 * c-common.h (uint16_type_node): Rename into...
653 (c_uint16_type_node): ...this.
654 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
655 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
656
657 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
658
659 * c-common.c (warn_if_unused_value): Move definition to here.
660 * c-common.h (warn_if_unused_value): Move declaration to here.
661
662 2012-03-23 William Bader <williambader@hotmail.com>
663
664 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
665
666 2012-03-20 Jason Merrill <jason@redhat.com>
667
668 * c-common.h (enum cxx_dialect): Add cxx1y.
669 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
670 test.
671 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
672 * c-opts.c (c_common_post_options): Likewise.
673 (set_std_cxx1y): New.
674 (c_common_handle_option): Call it.
675 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
676
677 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
678
679 PR c++/14710
680 * c.opt ([Wuseless-cast]): Add.
681
682 2012-03-16 Richard Guenther <rguenther@suse.de>
683
684 * c-pretty-print.c (pp_c_initializer_list): Adjust.
685
686 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
687
688 PR c++/44783
689 * c.opt (ftemplate-backtrace-limit) Add.
690
691 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
692
693 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
694 handling.
695 * c-pragma.c (handle_pragma_extern_prefix): Remove.
696 (init_pragma): Don't register extern_prefix.
697
698 2012-03-12 Richard Guenther <rguenther@suse.de>
699
700 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
701 (builtin_type_for_size): Likewise.
702
703 2012-02-13 Jakub Jelinek <jakub@redhat.com>
704
705 PR c++/52215
706 * c-common.c (sync_resolve_params): Don't decide whether to convert
707 or not based on TYPE_SIZE comparison, convert whenever arg_type
708 is unsigned INTEGER_TYPE.
709
710 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
711
712 PR c/52118
713 * c.opt ([Wunused-local-typedefs]): Fix description.
714
715 2012-01-24 Mike Stump <mikestump@comcast.net>
716
717 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
718 exactly.
719
720 2012-01-18 Richard Guenther <rguenther@suse.de>
721
722 * c-opts.c (c_common_post_options): Reset LTO flags if
723 we are about to generate a PCH.
724
725 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
726
727 PR c++/51777
728 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
729 use pp_unsigned_wide_integer.
730
731 2012-01-10 Richard Guenther <rguenther@suse.de>
732
733 PR middle-end/51806
734 * c-opts.c (c_common_handle_option): Move -Werror handling
735 to language independent code.
736
737 2012-01-05 Richard Guenther <rguenther@suse.de>
738
739 PR middle-end/51764
740 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
741 from common.opt.
742
743 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
744
745 PR c++/51316
746 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
747 of array types with an unknown bound.
748
749 2011-12-20 Joseph Myers <joseph@codesourcery.com>
750
751 * c-common.c (flag_isoc99): Update comment to refer to C11.
752 (flag_isoc1x): Change to flag_isoc11.
753 * c-common.h (flag_isoc99): Update comment to refer to C11.
754 (flag_isoc1x): Change to flag_isoc11.
755 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
756 C11.
757 * c-opts.c (set_std_c1x): Change to set_std_c11.
758 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
759 Call set_std_c11.
760 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
761 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
762 * c.opt (std=c1x): Change to std=c11. Document as non-draft
763 standard.
764 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
765 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
766 (std=gnu1x): Make alias of std=gnu11.
767
768 2011-12-19 Jason Merrill <jason@redhat.com>
769
770 PR c++/51228
771 * c-common.c (handle_transparent_union_attribute): Check the first
772 field if the type is complete.
773
774 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
775
776 PR libstdc++/51365
777 * c-common.c (RID_IS_FINAL): Add.
778 * c-common.h (RID_IS_FINAL): Add.
779
780 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
781
782 * c.opt (fgnu-runtime): Provide full description.
783 (fnext-runtime): Likewise.
784 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
785
786 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
787
788 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
789 predefines in one place. Add LOCK_FREE predefines.
790 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
791 new func.
792
793 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
794
795 PR c/51256
796 * c-common.c (get_atomic_generic_size): Check for various error
797 conditions
798 (resolve_overloaded_atomic_exchange,
799 resolve_overloaded_atomic_compare_exchange,
800 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
801 error_mark_node for error conditions.
802
803 2011-11-08 Richard Guenther <rguenther@suse.de>
804
805 PR middle-end/51010
806 c-family/
807
808 2011-11-07 Richard Henderson <rth@redhat.com>
809 Aldy Hernandez <aldyh@redhat.com>
810 Torvald Riegel <triegel@redhat.com>
811
812 Merged from transactional-memory.
813
814 * c-common.c (handle_tm_wrap_attribute,
815 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
816 (struct c_common_reswords): Added __transaction* keywords.
817 (struct c_common_attribute_table): Added transaction* and tm_regparm
818 attributes.
819 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
820 masks.
821 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
822 find_tm_attribute): Declare.
823
824 2011-11-07 Jason Merrill <jason@redhat.com>
825
826 PR c++/35688
827 * c-common.c, c-common.h: Revert yesterday's changes.
828
829 2011-11-06 Jason Merrill <jason@redhat.com>
830
831 PR c++/35688
832 * c-common.c (decl_has_visibility_attr): Split out from...
833 (c_determine_visibility): ...here.
834 * c-common.h: Declare it.
835
836 2011-11-06 Joseph Myers <joseph@codesourcery.com>
837
838 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
839 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
840 type.
841 (check_user_alignment): New. Split out of
842 handle_aligned_attribute. Disallow integer constants with
843 noninteger types. Conditionally allow zero.
844 (handle_aligned_attribute): Use check_user_alignment.
845 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
846
847 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
848 Richard Henderson <rth@redhat.com>
849
850 Merged from cxx-mem-model.
851
852 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
853 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
854 parameters that are the same type size.
855 (get_atomic_generic_size): New. Find size of generic
856 atomic function parameters and do typechecking.
857 (add_atomic_size_parameter): New. Insert size into parameter list.
858 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
859 either __atomic_exchange_n or external library call.
860 (resolve_overloaded_atomic_compare_exchange): Restructure
861 __atomic_compare_exchange to either _n variant or external library call.
862 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
863 __atomic_load_n or an external library call.
864 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
865 __atomic_store_n or an external library call.
866 (resolve_overloaded_builtin): Handle new __atomic builtins.
867
868 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
869
870 PR c++/50608
871 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
872 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
873 <INDIRECT_REF>: Return the argument.
874 <ARRAY_REF>: Remove special code for negative offset.
875 Call fold_build_pointer_plus instead of size_binop.
876 (fold_offsetof): Remove STOP_REF argument and adjust.
877 * c-common.h (fold_offsetof_1): Declare.
878 (fold_offsetof): Remove STOP_REF argument.
879
880 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
881
882 PR c++/50810
883 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
884 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
885 Wnarrowing for C++0x and C++98.
886 * c.opt ([Wnarrowing]): Update.
887
888 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
889
890 PR c++/44277
891 * c.opt: Add Wzero-as-null-pointer-constant.
892
893 2011-10-31 Jason Merrill <jason@redhat.com>
894
895 * c.opt (-fdeduce-init-list): Off by default.
896
897 PR c++/50920
898 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
899 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
900 and -Wc++11-compat.
901 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
902
903 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
904
905 PR c++/30066
906 * c.opt (fvisibility-inlines-hidden): Description change.
907
908 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
909
910 Implement C++11 user-defined literals.
911 * c-common.c (build_userdef_literal): New.
912 * c-common.def: New tree code.
913 * c-common.h (tree_userdef_literal): New tree struct and accessors.
914 * c-lex.c (interpret_float): Add suffix parm.
915 (c_lex_with_flags): Build literal tokens.
916
917 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
918
919 PR c++/50841
920 Revert:
921 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
922
923 PR c++/50810
924 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
925 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
926 Wnarrowing for C++0x and C++98.
927 * c.opt ([Wnarrowing]): Update.
928
929 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
930
931 PR c++/50810
932 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
933 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
934 Wnarrowing for C++0x and C++98.
935 * c.opt ([Wnarrowing]): Update.
936
937 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
938
939 PR c++/45385
940 * c-common.c (conversion_warning): Remove code looking for
941 artificial operands.
942
943 2011-10-18 Dodji Seketeli <dodji@redhat.com>
944
945 PR bootstrap/50760
946 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
947 !NO_IMPLICIT_EXTERN_C.
948
949 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
950
951 * c-common.c (c_common_reswords): Add __bases,
952 __direct_bases.
953 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
954
955 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
956
957 PR c++/50757
958 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
959
960 2011-10-15 Tom Tromey <tromey@redhat.com>
961 Dodji Seketeli <dodji@redhat.com>
962
963 * c.opt (fdebug-cpp): New option.
964 * c-opts.c (c_common_handle_option): Handle the option.
965 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
966 output stream in parameter. Factorized from ...
967 (maybe_print_line): ... this. Dump location debug information when
968 -fdebug-cpp is in effect.
969 (print_line_1): New static function. Takes an output stream in
970 parameter. Factorized from ...
971 (print_line): ... here. Dump location information when -fdebug-cpp
972 is in effect.
973 (scan_translation_unit): Dump location information when
974 -fdebug-cpp is in effect.
975
976 2011-10-15 Tom Tromey <tromey@redhat.com>
977 Dodji Seketeli <dodji@redhat.com>
978
979 * c.opt (ftrack-macro-expansion): New option. Handle it with and
980 without argument.
981 * c-opts.c (c_common_handle_option)<case
982 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
983 cases. Handle -ftrack-macro-expansion with and without argument.
984
985 2011-10-15 Tom Tromey <tromey@redhat.com>
986 Dodji Seketeli <dodji@redhat.com>
987
988 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
989 (print_line, cb_define, do_line_change): Adjust to avoid touching
990 the internals of struct line_map. Use the public API instead.
991 * c-pch.c (c_common_read_pch): Likewise.
992 * c-lex.c (fe_file_change): Likewise.
993
994 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
995
996 PR c++/17212
997 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
998
999 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
1000
1001 PR c++/33067
1002 * c-pretty-print.c (pp_c_floating_constant): Output
1003 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
1004
1005 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1006
1007 * c-common.c (def_builtin_1): Delete old interface with two
1008 parallel arrays to hold standard builtin declarations, and replace
1009 it with a function based interface that can support creating
1010 builtins on the fly in the future. Change all uses, and poison
1011 the old names. Make sure 0 is not a legitimate builtin index.
1012 * c-omp.c (c_finish_omp_barrier): Ditto.
1013 (c_finish_omp_taskwait): Ditto.
1014 (c_finish_omp_flush): Ditto.
1015
1016 2011-10-11 Tristan Gingold <gingold@adacore.com>
1017
1018 * c.opt: (fallow-parameterless-variadic-functions): New.
1019
1020 2011-09-08 Dodji Seketeli <dodji@redhat.com>
1021
1022 PR c++/33255 - Support -Wunused-local-typedefs warning
1023 * c-common.h (struct c_language_function::local_typedefs): New
1024 field.
1025 (record_locally_defined_typedef, maybe_record_typedef_use)
1026 (maybe_warn_unused_local_typedefs): Declare new functions.
1027 * c-common.c (record_locally_defined_typedef)
1028 (maybe_record_typedef_use)
1029 (maybe_warn_unused_local_typedefs): Define new functions.
1030 * c.opt: Declare new -Wunused-local-typedefs flag.
1031
1032 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
1033
1034 PR middle-end/50266
1035 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
1036 computations.
1037
1038 2011-09-05 Richard Guenther <rguenther@suse.de>
1039
1040 * c-common.c (complete_array_type): Use ssize_int (-1) instead
1041 of integer_minus_one_node for empty array upper bounds.
1042
1043 2011-08-28 Dodji Seketeli <dodji@redhat.com>
1044
1045 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
1046 it's the first time it's being called on this main TU.
1047
1048 2011-08-24 Richard Guenther <rguenther@suse.de>
1049
1050 PR c/49396
1051 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
1052
1053 2011-08-22 Gabriel Charette <gchare@google.com>
1054
1055 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
1056 defined in cpp_init_builtins and c_cpp_builtins.
1057
1058 2011-08-19 Joseph Myers <joseph@codesourcery.com>
1059
1060 * c-common.c (c_common_reswords): Add __builtin_complex.
1061 * c-common.h (RID_BUILTIN_COMPLEX): New.
1062
1063 2011-08-18 Joseph Myers <joseph@codesourcery.com>
1064
1065 * c-common.c (c_common_reswords): Add _Noreturn.
1066 (keyword_is_function_specifier): Handle RID_NORETURN.
1067 * c-common.h (RID_NORETURN): New.
1068
1069 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1070
1071 * c-common.c (unsafe_conversion_p): New function. Check if it is
1072 unsafe to convert an expression to the type.
1073 (conversion_warning): Adjust, use unsafe_conversion_p.
1074 * c-common.h (unsafe_conversion_p): New function declaration.
1075
1076 2011-08-02 Jakub Jelinek <jakub@redhat.com>
1077
1078 * c-common.h (c_finish_omp_atomic): Adjust prototype.
1079 (c_finish_omp_taskyield): New prototype.
1080 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
1081 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
1082 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
1083 or RHS1 have side-effects, evaluate those too in the right spot,
1084 if it is a decl and LHS is also a decl, error out if they
1085 aren't the same.
1086 (c_finish_omp_taskyield): New function.
1087 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
1088 * c-pragma.c (omp_pragmas): Add taskyield.
1089 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
1090 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
1091 PRAGMA_OMP_CLAUSE_MERGEABLE.
1092
1093 2011-07-25 Dodji Seketeli <dodji@redhat.com>
1094
1095 * c-common.h (set_underlying_type): Remove parm name from
1096 declaration.
1097
1098 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
1099
1100 * c-pretty-print.h: Search c-common.h in c-family.
1101
1102 2011-07-22 Jason Merrill <jason@redhat.com>
1103
1104 PR c++/49793
1105 * c.opt (Wnarrowing): New.
1106
1107 PR c++/30112
1108 * c-common.h: Declare c_linkage_bindings.
1109 * c-pragma.c (handle_pragma_redefine_extname): Use it.
1110
1111 PR c++/49813
1112 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
1113 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
1114 as flag_isoc99 for 'restrict'.
1115 (pp_c_specifier_qualifier_list): Likewise for _Complex.
1116
1117 2011-07-21 Ian Lance Taylor <iant@google.com>
1118
1119 PR middle-end/49705
1120 * c-common.c (c_disable_warnings): New static function.
1121 (c_enable_warnings): New static function.
1122 (c_fully_fold_internal): Change local unused_p to bool. Call
1123 c_disable_warnings and c_enable_warnings rather than change
1124 c_inhibit_evaluation_warnings.
1125
1126 2011-07-20 Jason Merrill <jason@redhat.com>
1127
1128 PR c++/6709 (DR 743)
1129 PR c++/42603 (DR 950)
1130 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
1131 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
1132 (CPP_DECLTYPE): New.
1133 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
1134
1135 2011-07-19 Richard Guenther <rguenther@suse.de>
1136
1137 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
1138 * c-omp.c (c_finish_omp_for): Likewise.
1139
1140 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
1141
1142 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
1143 body on the next line.
1144
1145 2011-07-08 Jason Merrill <jason@redhat.com>
1146
1147 PR c++/45437
1148 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
1149
1150 PR c++/49673
1151 * c-common.c (c_apply_type_quals_to_decl): Don't check
1152 TYPE_NEEDS_CONSTRUCTING.
1153
1154 2011-07-06 Richard Guenther <rguenther@suse.de>
1155
1156 * c-common.c (c_common_nodes_and_builtins):
1157 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1158
1159 2011-07-05 Richard Guenther <rguenther@suse.de>
1160
1161 * c-common.c (c_common_nodes_and_builtins): Build all common
1162 tree nodes first.
1163
1164 2011-06-27 Jakub Jelinek <jakub@redhat.com>
1165
1166 * c-common.h (c_tree_chain_next): New static inline function.
1167
1168 * c-common.c (check_builtin_function_arguments): Handle
1169 BUILT_IN_ASSUME_ALIGNED.
1170
1171 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
1172
1173 * c-common.c: Add sync_ or SYNC__ to builtin names.
1174 * c-omp.c: Add sync_ or SYNC__ to builtin names.
1175
1176 2011-06-20 Pierre Vittet <piervit@pvittet.com>
1177
1178 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
1179 handler.
1180 (gen_pragma_handler): New union.
1181 (internal_pragma_handler): New type.
1182 (c_register_pragma_with_data)
1183 (c_register_pragma_with_expansion_and_data): New functions.
1184
1185 * c-pragma.c (registered_pragmas, c_register_pragma_1)
1186 (c_register_pragma, c_register_pragma_with_expansion)
1187 (c_invoke_pragma_handler): Changed to work with
1188 internal_pragma_handler.
1189 (c_register_pragma_with_data)
1190 (c_register_pragma_with_expansion_and_data): New functions.
1191
1192 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1193
1194 * c-common.c: Include common/common-target.h.
1195 (handle_section_attribute): Use
1196 targetm_common.have_named_sections.
1197 * c-cppbuiltin.c: Include common/common-target.h.
1198 (c_cpp_builtins): Use targetm_common.except_unwind_info.
1199
1200 2011-06-10 Richard Guenther <rguenther@suse.de>
1201
1202 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
1203 to print a IDENTIFIER_NODE.
1204
1205 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1206 Joseph Myers <joseph@codesourcery.com>
1207
1208 * c.opt (fbuilding-libgcc): New option.
1209 * c-cppbuiltin.c (c_cpp_builtins): Define
1210 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
1211
1212 2011-06-07 Jason Merrill <jason@redhat.com>
1213
1214 * c-common.c (max_tinst_depth): Lower default to 900.
1215
1216 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
1217
1218 2011-06-07 Richard Guenther <rguenther@suse.de>
1219
1220 * c-common.c (c_common_nodes_and_builtins): Do not set
1221 size_type_node or call set_sizetype.
1222
1223 2011-06-07 Dodji Seketeli <dodji@redhat.com>
1224
1225 PR debug/49130
1226 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
1227 type when using pointer comparison to compare types.
1228
1229 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1230
1231 * c.opt: Add -Wdelete-non-virtual-dtor.
1232 * c-opts.c (c_common_handle_option): Include it in -Wall.
1233
1234 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
1235
1236 PR bootstrap/49190
1237
1238 Revert:
1239 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1240
1241 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1242 not tree_common.
1243
1244 2011-05-27 Jakub Jelinek <jakub@redhat.com>
1245
1246 PR c++/49165
1247 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
1248 C++ don't call c_common_truthvalue_conversion on void type arms.
1249
1250 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
1251
1252 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
1253 (stmt_list_stack): Define.
1254 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
1255 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
1256
1257 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1258
1259 * c-common.c (warning_candidate_p): Check for BLOCKs.
1260
1261 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
1262
1263 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
1264 not tree_common.
1265
1266 2011-05-25 Jakub Jelinek <jakub@redhat.com>
1267
1268 * c-common.c (def_fn_type): Remove extra va_end.
1269
1270 2011-05-23 Jason Merrill <jason@redhat.com>
1271
1272 PR c++/48106
1273 * c-common.c (c_common_get_narrower): New.
1274 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
1275
1276 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
1277
1278 * c-common.h (check_function_arguments): Tweak prototype of
1279 check_function_arguments.
1280 * c-common.c (check_function_arguments): Likewise. Adjust
1281 calls to check_function_nonnull, check_function_format, and
1282 check_function_sentinel.
1283 (check_function_sentinel): Take a FUNCTION_TYPE rather than
1284 separate attributes and typelist arguments. Use
1285 FOREACH_FUNCTION_ARGS to iterate over argument types.
1286
1287 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1288
1289 * c-common.c (c_common_reswords): Reorder.
1290 * c-common.h (rid): Likewise.
1291
1292 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
1293
1294 * c-common.c (def_fn_type): Don't call build_function_type, call
1295 build_function_type_array or build_varargs_function_type_array
1296 instead.
1297 (c_common_nodes_and_builtins): Likewise.
1298
1299 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1300
1301 * c-common.c (c_add_case_label): Omit the loc argument to
1302 build_case_label.
1303 * c-common.h (build_case_label): Remove.
1304 * c-semantics.c (build_case_label): Remove.
1305
1306 2011-05-05 Joseph Myers <joseph@codesourcery.com>
1307
1308 * c-objc.h (objc_start_method_definition): Update prototype.
1309 * stub-objc.c (objc_start_method_definition): Add extra parameter.
1310
1311 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1312
1313 * c-common.c (check_main_parameter_types): Reindent. Don't use
1314 TYPE_ARG_TYPES directly.
1315 (handle_nonnull_attribute): Likewise.
1316 (sync_resolve_params): Likewise.
1317 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
1318 to check_format_string.
1319 (handle_format_attribute): Likewise.
1320 (check_format_string): Take a function type to examine instead of
1321 a type list. Use a function_arg_iterator to step through argument
1322 types.
1323
1324 2011-05-04 Richard Guenther <rguenther@suse.de>
1325
1326 * c-common.c (fix_string_type): Use size_int for index type bounds.
1327 (start_fname_decls): Do not pass NULL to build_int_cst.
1328 (c_init_attributes): Likewise.
1329 * c-lex.c (c_lex_with_flags): Likewise.
1330
1331 2011-04-27 Jason Merrill <jason@redhat.com>
1332
1333 * c-common.c (make_tree_vector_from_list): New.
1334 * c-common.h: Declare it.
1335
1336 2011-04-26 Richard Guenther <rguenther@suse.de>
1337
1338 PR preprocessor/48248
1339 * c-ppoutput.c (maybe_print_line): Always optimize newlines
1340 for output size with -P.
1341
1342 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
1343
1344 * c-common.c (struct c_common_resword): Add __underlying_type.
1345 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
1346
1347 2011-04-20 Jim Meyering <meyering@redhat.com>
1348
1349 * c-format.c (init_dollar_format_checking): Remove useless
1350 if-before-free.
1351
1352 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
1353
1354 * c-objc.h (objc_get_interface_ivars): Removed.
1355 (objc_detect_field_duplicates): New.
1356 * stub-objc.c: Likewise.
1357
1358 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1359
1360 * stub-objc.c (objc_declare_protocols): Renamed to
1361 objc_declare_protocol.
1362 * c-objc.h: Likewise.
1363
1364 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1365
1366 * stub-objc.c (objc_declare_class): Updated argument name.
1367
1368 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1369
1370 * c-common.h (c_common_init_ts): Declare.
1371 * c-common.c (c_common_init_ts): Define.
1372
1373 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1374
1375 * c-objc.h (objc_build_message_expr): Updated prototype.
1376 * stub-objc.c (objc_build_message_expr): Likewise.
1377
1378 2011-04-12 Martin Jambor <mjambor@suse.cz>
1379
1380 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
1381 of cgraph_node.
1382
1383 2011-04-11 Richard Guenther <rguenther@suse.de>
1384
1385 * c-common.c (complete_array_type): Build a range type of
1386 proper type.
1387
1388 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1389
1390 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
1391 (handle_type_generic_attribute): Likewise.
1392
1393 2011-04-07 Jason Merrill <jason@redhat.com>
1394
1395 PR c++/48450
1396 * c-common.c (c_common_truthvalue_conversion): Don't ignore
1397 conversion from C++0x scoped enum.
1398
1399 2011-04-06 Joseph Myers <joseph@codesourcery.com>
1400
1401 * c-target-def.h: New file.
1402 * c-target.def: New file.
1403 * c-target.h: New file.
1404 * c-common.c (targetcm): Don't define here.
1405 * c-common.h (default_handle_c_option): Declare.
1406 * c-format.c: Include c-target.h instead of target.h.
1407 * c-opts.c: Include c-target.h instead of target.h. Explicitly
1408 include tm.h.
1409 (default_handle_c_option): Move from targhooks.c.
1410
1411 2011-03-29 Jakub Jelinek <jakub@redhat.com>
1412
1413 PR preprocessor/48248
1414 * c-ppoutput.c (print): Add src_file field.
1415 (init_pp_output): Initialize it.
1416 (maybe_print_line): Don't optimize by adding up to 8 newlines
1417 if map->to_file and print.src_file are different file.
1418 (print_line): Update print.src_file.
1419
1420 2011-03-25 Kai Tietz <ktietz@redhat.com>
1421
1422 * c-ada-spec.c (compare_comment): Use filename_cmp
1423 instead of strcmp for filename.
1424
1425 2011-03-25 Jeff Law <law@redhat.com>
1426
1427 * c-family/c-common.c (def_fn_type): Add missing va_end.
1428
1429 2011-03-25 Jason Merrill <jason@redhat.com>
1430
1431 * c.opt: Add -std=c++03.
1432
1433 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
1434
1435 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
1436
1437 2011-03-17 Kai Tietz
1438
1439 PR target/12171
1440 * c-pretty-print.c (pp_c_specifier_qualifier_list):
1441 Display allowed attributes for function pointer types.
1442 (pp_c_attributes_display): New function to display
1443 attributes having affects_type_identity flag set to true.
1444 * c-pretty-print.h (pp_c_attributes_display): New prototype.
1445
1446 * c-common.c (c_common_attribute_table):
1447 Add new element.
1448 (c_common_format_attribute_table): Likewise.
1449
1450 2011-03-18 Jason Merrill <jason@redhat.com>
1451
1452 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
1453 * c-common.h: Don't declare it here.
1454 * c-common.c: Or define it here.
1455 * c-opts.c (c_common_handle_option): Or set it here.
1456
1457 PR c++/35315
1458 * c-common.c (handle_transparent_union_attribute): Don't
1459 make a duplicate type in C++.
1460
1461 2011-03-15 Jason Merrill <jason@redhat.com>
1462
1463 * c-common.c (max_constexpr_depth): New.
1464 * c-common.h: Declare it.
1465 * c-opts.c (c_common_handle_option): Set it.
1466 * c.opt (fconstexpr-depth): New option.
1467
1468 2011-03-11 Jason Merrill <jason@redhat.com>
1469
1470 * c-common.c (attribute_takes_identifier_p): Add missing const.
1471
1472 PR c++/46803
1473 * c-common.c (attribute_takes_identifier_p): Assume that an
1474 unknown attribute takes an identifier.
1475
1476 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
1477
1478 PR c/47786
1479 * c-common.c (c_type_hash): Call list_length instead of iterating
1480 through DECL_CHAIN. Rename 'i' to 'n_elements'.
1481
1482 2011-02-19 Jakub Jelinek <jakub@redhat.com>
1483
1484 PR c/47809
1485 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
1486
1487 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
1488
1489 * c.opt (fobjc-abi-version=) New.
1490 (fobjc-nilcheck): New.
1491
1492 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
1493
1494 PR c++/46890
1495 * c-common.h (keyword_is_decl_specifier): Declare.
1496 * c-common.c (keyword_is_decl_specifier): Define.
1497 (keyword_is_function_specifier): New function.
1498
1499 2011-01-26 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR c/47473
1502 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
1503 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
1504 REAL_TYPE.
1505
1506 2011-01-26 Arnaud Charlet <charlet@adacore.com>
1507
1508 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
1509
1510 2011-01-26 Jakub Jelinek <jakub@redhat.com>
1511
1512 PR pch/47430
1513 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
1514 after init_c_lex if pch_file is set.
1515
1516 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
1517
1518 PR c++/43601
1519 * c.opt (-fkeep-inline-dllexport): New switch.
1520
1521 2011-01-12 Richard Guenther <rguenther@suse.de>
1522
1523 PR middle-end/32511
1524 * c-common.c (handle_weak_attribute): Warn instead of error
1525 on declaring an inline function weak.
1526
1527 2011-01-05 Tom Tromey <tromey@redhat.com>
1528
1529 * c-common.h (lvalue_error): Update.
1530 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
1531 not error.
1532
1533 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
1534
1535 PR objc/47075
1536 * c-objc.h (objc_finish_message_expr): Added argument to
1537 prototype.
1538
1539 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
1540
1541 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
1542 Use prototype_p.
1543
1544 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
1545
1546 * c-objc.h (objc_maybe_warn_exceptions): New.
1547 * stub-objc.c (objc_maybe_warn_exceptions): New.
1548
1549 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
1550
1551 * c-common.h (readonly_error): Declare.
1552 * c-common.c (readonly_error): Define.
1553
1554 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
1555
1556 * c-common.h (invalid_indirection_error): Declare.
1557 * c-common.c (invalid_indirection_error): Define.
1558
1559 2010-12-03 Richard Guenther <rguenther@suse.de>
1560
1561 PR c/46745
1562 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
1563 (pp_c_unary_expression): Likewise.
1564 (pp_c_expression): Likewise.
1565
1566 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
1567
1568 * c-common.h (objc_finish_function): New.
1569 (objc_non_volatilized_type): Removed.
1570 (objc_type_quals_match): Removed.
1571 * stub-objc.c (objc_finish_function): New.
1572 (objc_non_volatilized_type): Removed.
1573 (objc_type_quals_match): Removed.
1574
1575 2010-11-30 Joseph Myers <joseph@codesourcery.com>
1576
1577 * c-common.h (parse_optimize_options): Declare.
1578 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
1579 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
1580
1581 2010-11-29 Joseph Myers <joseph@codesourcery.com>
1582
1583 * c-opts.c (check_deps_environment_vars): Use getenv instead of
1584 GET_ENVIRONMENT.
1585 * c-pch.c (O_BINARY): Don't define here.
1586 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
1587
1588 2010-11-25 Joseph Myers <joseph@codesourcery.com>
1589
1590 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
1591 targetm.except_unwind_info.
1592
1593 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1594
1595 * c-opts.c (c_common_handle_option): Pass location to
1596 set_struct_debug_option.
1597
1598 2010-11-23 Joseph Myers <joseph@codesourcery.com>
1599
1600 * c-common.c (visibility_options): Move from ../opts.c.
1601 * c-common.h (struct visibility_flags, visibility_options):
1602 Declare here.
1603 * c-opts.c (finish_options): Rename to c_finish_options.
1604 (c_common_init): Update call to finish_options.
1605
1606 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
1607
1608 PR objc/34033
1609 * c-lex.c (lex_string): Check that each string in an Objective-C
1610 string concat sequence starts with either one or zero '@', and
1611 that there are no spurious '@' signs at the end.
1612
1613 2010-11-20 Joseph Myers <joseph@codesourcery.com>
1614
1615 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
1616 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
1617 HANDLE_PRAGMA_VISIBILITY.
1618 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
1619 HANDLE_PRAGMA_VISIBILITY): Don't define.
1620 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
1621
1622 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
1623
1624 PR c++/16189
1625 PR c++/36888
1626 PR c++/45331
1627 * c-common.h (keyword_begins_type_specifier): Declare.
1628 (keyword_is_storage_class_specifier): Declare.
1629 (keyword_is_type_qualifier): Declare.
1630 * c-common.c (keyword_begins_type_specifier): New function.
1631 (keyword_is_storage_class_specifier): New function.
1632 (keyword_is_type_qualifier): Declare.
1633
1634 2010-11-19 Joseph Myers <joseph@codesourcery.com>
1635
1636 PR c/46547
1637 * c-common.c (in_late_binary_op): Define.
1638 (c_common_truthvalue_conversion): Check in_late_binary_op before
1639 calling c_save_expr.
1640 * c-common.h (in_late_binary_op): Declare.
1641
1642 2010-11-19 Joseph Myers <joseph@codesourcery.com>
1643
1644 * c-opts.c (c_common_handle_option): Update calls to
1645 set_struct_debug_option.
1646
1647 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
1648
1649 * c-common.h (objc_declare_protocols): Added additional argument.
1650 * stub-objc.c (objc_declare_protocol): Same change.
1651
1652 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
1653
1654 PR c/33193
1655 * c-common.h (build_real_imag_expr): Declare.
1656 * c-semantics.c (build_real_imag_expr): Define.
1657
1658 2010-11-17 Joseph Myers <joseph@codesourcery.com>
1659
1660 * c-opts.c (c_common_parse_file): Take no arguments.
1661 * c-common.h (c_common_parse_file): Update prototype.
1662
1663 2010-11-16 Jakub Jelinek <jakub@redhat.com>
1664
1665 PR c++/46401
1666 * c-common.c (warning_candidate_p): Don't track non-const calls
1667 or STRING_CSTs.
1668
1669 2010-11-15 Ian Lance Taylor <iant@google.com>
1670
1671 * c-lex.c (init_c_lex): Set macro debug callbacks if
1672 flag_dump_go_spec is set.
1673
1674 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
1675
1676 * c-common.h (objc_build_incr_expr_for_property_ref): New.
1677 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
1678
1679 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
1680
1681 PR preprocessor/45038
1682 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
1683 dialects.
1684
1685 2010-11-12 Joseph Myers <joseph@codesourcery.com>
1686
1687 * c-common.h (c_family_lang_mask): Declare.
1688 * c-opts.c (c_family_lang_mask): Make extern.
1689 * c-pragma.c (handle_pragma_diagnostic): Use
1690 control_warning_option.
1691
1692 2010-11-12 Joseph Myers <joseph@codesourcery.com>
1693
1694 * c-common.c (parse_optimize_options): Update call to
1695 decode_options.
1696 * c-common.h (c_common_handle_option): Update prototype.
1697 * c-opts.c (c_common_handle_option): Take location_t parameter and
1698 pass it to other functions.
1699
1700 2010-11-11 Joseph Myers <joseph@codesourcery.com>
1701
1702 * c-opts.c (warning_as_error_callback): Remove.
1703 (c_common_initialize_diagnostics): Don't call
1704 register_warning_as_error_callback.
1705 (c_common_handle_option): Handle -Werror=normalized= here.
1706
1707 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1708
1709 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
1710 in diagnostic.
1711 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
1712 letter.
1713 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
1714 Remove trailing '.' from diagnostics.
1715 * c.opt (Wwrite-strings_: Avoid '`' in help text.
1716
1717 2010-11-10 Joseph Myers <joseph@codesourcery.com>
1718
1719 * c-common.c (parse_optimize_options): Pass global_dc to
1720 decode_options.
1721 * c-opts.c (c_common_handle_option): Pass &global_options to
1722 set_Wstrict_aliasing.
1723 * c.opt (v): Don't mark Common or document here.
1724
1725 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
1726
1727 PR target/44981
1728 * c-format.c (format_type): New type gcc_objc_string_format_type.
1729 (valid_stringptr_type_p): New.
1730 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
1731 (check_format_string): Pass expected type, use
1732 valid_stringptr_type_p (), check that the format string types are
1733 consistent with the format specification.
1734 (decode_format_attr): Warn if NSString is used outside objective-c.
1735 (format_types_orig): Add NSString.
1736 (format_name): New.
1737 (format_flags): New.
1738 (check_format_arg): Handle format strings requiring an external parser.
1739 first_target_format_type: New variable.
1740 (handle_format_attribute): Set up first_target_format_type, pass the
1741 expected format arg string type to check_format_string().
1742 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
1743 * stub-objc.c (objc_string_ref_type_p): New.
1744 (objc_check_format_arg): New.
1745
1746 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
1747
1748 Fixed using the Objective-C 2.0 dot-syntax with class names.
1749 * c-common.h (objc_build_class_component_ref): New.
1750 * stub-objc.c (objc_build_class_component_ref): New.
1751
1752 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1753
1754 * c.opt (Wproperty-assign-default): New option.
1755
1756 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1757
1758 Implemented -fobjc-std=objc1 flag.
1759 * c.opt (fobjc-std=objc1): New option.
1760
1761 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
1762
1763 Implemented format and noreturn attributes for Objective-C methods.
1764 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
1765 attribute for Objective-C methods.
1766
1767 2010-10-31 Jason Merrill <jason@redhat.com>
1768
1769 * c-common.c (conversion_warning, warn_for_collisions_1): Use
1770 EXPR_LOC_OR_HERE.
1771
1772 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
1773
1774 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
1775 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
1776 (objc_add_property_declaration): Removed arguments for copies and
1777 ivar.
1778 (objc_build_getter_call): Renamed to
1779 objc_maybe_build_component_ref.
1780 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1781 (objc_is_property_ref): New.
1782 * c-common.c (c_common_reswords): Removed copies and ivar.
1783 * stub-objc.c (objc_add_property_declaration): Removed arguments
1784 for copies and ivar.
1785 (objc_build_getter_call): Renamed to
1786 objc_maybe_build_component_ref.
1787 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1788 (objc_is_property_ref): New.
1789
1790 2010-10-29 Arnaud Charlet <charlet@adacore.com>
1791 Matthew Gingell <gingell@adacore.com>
1792
1793 * c-ada-spec.c (separate_class_package): New function.
1794 (pp_ada_tree_identifier): Prefix references to C++ classes with the
1795 name of their enclosing package.
1796 (print_ada_declaration): Use separate_class_package.
1797
1798 2010-10-27 Jason Merrill <jason@redhat.com>
1799
1800 * c-common.c (c_common_reswords): Add __is_literal_type.
1801 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
1802
1803 * c-common.c (check_case_value): Remove special C++ code.
1804
1805 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1806
1807 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
1808 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
1809 and RID_LAST_PATTR.
1810 (objc_add_property_declaration): Added additional arguments.
1811 (objc_property_attribute_kind): Removed.
1812 (objc_set_property_attr): Removed.
1813 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
1814 copy and nonatomic.
1815 * stub-objc.c (objc_add_property_declaration): Added additional
1816 arguments.
1817 (objc_set_property_attr): Removed.
1818
1819 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1820
1821 * c-common.h (objc_add_property_variable): Renamed to
1822 objc_add_property_declaration. Added location argument.
1823 * stub-objc.c (objc_add_property_variable): Same change.
1824
1825 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
1826
1827 * c-common.h (objc_maybe_printable_name): New.
1828 * stub-objc.c (objc_maybe_printable_name): New.
1829
1830 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1831 Andrew Pinski <pinskia@gmail.com>
1832
1833 * c-common.h (c_common_mark_addressable_vec): Declare.
1834 * c-common.c (c_common_mark_addressable_vec): New function.
1835
1836 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1837
1838 * c-common.h (objc_set_method_type): Removed.
1839 (objc_add_method_declaration): Added boolean argument.
1840 (objc_start_method_definition): Same change.
1841 (objc_build_method_signature): Same change.
1842 * stub-objc.c (objc_set_method_type): Removed.
1843 (objc_add_method_declaration): Added boolean argument.
1844 (objc_start_method_definition): Same change.
1845 (objc_build_method_signature): Same change.
1846
1847 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1848
1849 * c-common.h (finish_file): Removed.
1850 (objc_write_global_declarations): New.
1851 * c-opts.c (c_common_parse_file): Do not call finish_file.
1852 * stub-objc.c (objc_write_global_declarations): New.
1853
1854 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1855
1856 Implemented parsing @synthesize and @dynamic for
1857 Objective-C/Objective-C++.
1858 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
1859 (objc_add_synthesize_declaration): New.
1860 (objc_add_dynamic_declaration): New.
1861 * c-common.c (c_common_reswords): Add synthesize and dynamic.
1862 * stub-objc.c (objc_add_synthesize_declaration): New.
1863 (objc_add_dynamic_declaration): New.
1864
1865 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
1866
1867 PR target/46041
1868 * c-cppbuiltin.c (mode_has_fma): Move function here from
1869 builtins.c. Don't use the fma optab, instead just use the
1870 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
1871 using -save-temps.
1872
1873 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1874
1875 Merge from 'apple/trunk' branch on FSF servers.
1876
1877 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
1878
1879 Radar 4330422
1880 * c-common.h (objc_non_volatilized_type): New declaration
1881 * stub-objc.c (objc_non_volatilized_type): New stub.
1882
1883 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
1884
1885 Merge from 'apple/trunk' branch on FSF servers.
1886
1887 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
1888
1889 Radar 4133425
1890 * c-common.h (objc_diagnose_private_ivar): New decl.
1891 * stub-objc.c (objc_diagnose_private_ivar): New stub.
1892
1893 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
1894
1895 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
1896 * c-common.h (enum rid): Add RID_AT_PACKAGE.
1897 (objc_ivar_visibility_kind): New enum.
1898 (objc_set_visibility): Adjust prototype to use visibility enum.
1899 * stub-objc.c (objc_set_visibility): Adjust stub to use
1900 visibility enum.
1901
1902 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1903
1904 * c-cppbuiltin.c (builtin_define_float_constants): Emit
1905 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
1906 has the appropriate fma builtins.
1907 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
1908
1909 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
1910
1911 merge from FSF apple 'trunk' branch.
1912 2006 Fariborz Jahanian <fjahanian@apple.com>
1913
1914 Radars 4436866, 4505126, 4506903, 4517826
1915 * c-common.c (c_common_resword): Define @property and its attributes.
1916 * c-common.h: Define property attribute enum entries.
1917 (OBJC_IS_PATTR_KEYWORD): New.
1918 (objc_property_attribute_kind): New enum.
1919 Declare objc_set_property_attr (), objc_add_property_variable (),
1920 objc_build_getter_call () and objc_build_setter_call ().
1921 * stub-objc.c (objc_set_property_attr): New stub.
1922 (objc_add_property_variable): Likewise.
1923 (objc_build_getter_call): Likewise.
1924 (objc_build_setter_call) Likewise.
1925
1926 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
1927
1928 merge from FSF apple 'trunk' branch.
1929 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
1930
1931 Radar 3803157 (method attributes)
1932 * c-common.c (handle_deprecated_attribute): Recognize
1933 objc methods as valid declarations.
1934 * c-common.h: Declare objc_method_decl ().
1935 * stub-objc.c (objc_method_decl): New stub.
1936
1937 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1938
1939 * c-common.c (parse_optimize_options): Call
1940 decode_cmdline_options_to_array_default_mask before
1941 decode_options. Update arguments to decode_options.
1942 * c-common.h (c_common_init_options_struct): Declare.
1943 * c-opts.c (c_common_init_options_struct): New. Split out from
1944 c_common_init_options.
1945
1946 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1947
1948 Implemented fast enumeration for Objective-C.
1949 * c-common.h (objc_finish_foreach_loop): New.
1950 * stub-objc.c (objc_finish_foreach_loop): New.
1951
1952 2010-10-05 Joseph Myers <joseph@codesourcery.com>
1953
1954 * c-common.h (struct diagnostic_context): Don't declare here.
1955 (c_common_initialize_diagnostics): Declare using
1956 diagnostic_context typedef.
1957 * c-opts.c (c_common_handle_option): Pass global_dc to
1958 handle_generated_option.
1959
1960 2010-10-04 Joseph Myers <joseph@codesourcery.com>
1961
1962 * c-opts.c (c_common_handle_option): Pass &global_options_set to
1963 handle_generated_option.
1964
1965 2010-10-03 Ian Lance Taylor <iant@google.com>
1966
1967 * c.opt (-fplan9-extensions): New option.
1968
1969 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1970
1971 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
1972 Remove.
1973 (c_cpp_builtins): Call functions from cppbuiltin.c instead
1974 of duplicating code.
1975
1976 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
1977
1978 * c-common.c: Add two new entries for @optional
1979 and @required keywords.
1980
1981 merge from FSF 'apple/trunk' branch.
1982 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
1983
1984 Radar 4386773
1985 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
1986 objective-c keywords.
1987 (objc_set_method_opt): New declaration.
1988 * stub-objc.c (objc_set_method_opt): New stub.
1989
1990 2010-09-30 Joseph Myers <joseph@codesourcery.com>
1991
1992 * c-common.c (handle_optimize_attribute): Pass &global_options to
1993 cl_optimization_save and cl_optimization_restore.
1994 * c-opts.c (c_common_handle_option): Pass &global_options to
1995 handle_generated_option.
1996 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
1997 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
1998 &global_options to cl_optimization_restore.
1999
2000 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
2001
2002 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
2003 Objective-C/Objective-C++ keywords.
2004
2005 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2006
2007 Merge from 'apple/trunk' branch on FSF servers.
2008
2009 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
2010
2011 Radar 4281748
2012 * c-common.h (objc_check_global_decl): New declaration.
2013 * stub-objc.c (objc_check_global_decl): New stub.
2014
2015 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2016
2017 * c.opt: Don't use VarExists.
2018
2019 2010-09-29 Joseph Myers <joseph@codesourcery.com>
2020
2021 * c-common.c (c_cpp_error): Update names of diagnostic_context
2022 members.
2023 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
2024 cl_optimization members.
2025 * c-opts.c (warning_as_error_callback, c_common_handle_option,
2026 sanitize_cpp_opts, finish_options): Update names of cpp_options
2027 members.
2028
2029 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
2030
2031 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
2032 (objc_is_reserved_word): Removed.
2033 * c-common.c: Updated comments.
2034 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
2035 objc_is_reserved_word.
2036 * stub-objc.c (objc_is_reserved_word): Removed.
2037
2038 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2039
2040 * c-common.h (objc_add_method_declaration): Adjust prototype to
2041 include attributes.
2042 (objc_start_method_definition): Likewise.
2043 (objc_build_keyword_decl): Likewise.
2044 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
2045 (objc_start_method_definition): Likewise.
2046 (objc_build_keyword_decl): Likewise.
2047
2048 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
2049
2050 * c-common.h (objc_start_class_interface): Adjust prototype.
2051 (objc_start_category_interface): Likewise.
2052 (objc_start_protocol): Likewise.
2053 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
2054 (objc_start_class_interface): Likewise.
2055 (objc_start_category_interface): Likewise.
2056
2057 2010-09-27 Ian Lance Taylor <iant@google.com>
2058
2059 * c-common.c (c_common_attribute_table): Add no_split_stack.
2060 (handle_no_split_stack_attribute): New static function.
2061
2062 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
2063
2064 Merge from 'apple/trunk' branch on FSF servers.
2065
2066 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
2067
2068 Radar 4229905
2069 * c-common.h (objc_have_common_type): New declaration.
2070 * stub-objc.c (objc_have_common_type): New stub.
2071
2072 2005-06-22 Ziemowit Laski <zlaski@apple.com>
2073
2074 Radar 4154928
2075 * c-common.h (objc_common_type): New prototype.
2076 * stub-objc.c (objc_common_type): New stub.
2077
2078 2010-09-24 Jan Hubicka <jh@suse.cz>
2079
2080 * c-common.c (handle_leaf_attribute): New function.
2081 (struct attribute_spec c_common_att): Add leaf.
2082
2083 2010-09-22 Joseph Myers <joseph@codesourcery.com>
2084
2085 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
2086 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
2087 -dump, -dump=, -imacros, -imacros=, -include, -include=,
2088 -include-barrier, -include-directory, -include-directory=,
2089 -include-directory-after, -include-directory-after=,
2090 -include-prefix, -include-prefix=, -include-with-prefix,
2091 -include-with-prefix=, -include-with-prefix-after,
2092 -include-with-prefix-after=, -include-with-prefix-before,
2093 -include-with-prefix-before=, -no-integrated-cpp,
2094 -no-line-commands, -no-standard-includes, -no-warnings, -output,
2095 -output=, -pedantic, -pedantic-errors, -preprocess,
2096 -print-missing-file-dependencies, -trace-includes, -traditional,
2097 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
2098 -user-dependencies, -verbose, -write-dependencies,
2099 -write-user-dependencies, no-integrated-cpp, traditional): New.
2100
2101 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2102
2103 PR objc/23710
2104 * c-common.h (objc_start_method_definition): Return bool instead
2105 of void.
2106 * stub-objc.c (objc_start_method_definition): Return bool instead
2107 of void.
2108
2109 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
2110
2111 PR objc/25965
2112 * c-common.h (objc_get_interface_ivars): New declaration.
2113 * stub-objc.c (objc_get_interface_ivars): New stub.
2114
2115 2010-09-15 Ian Lance Taylor <iant@google.com>
2116
2117 * c-common.c (parse_optimize_options): Do not capitalize warning
2118 messages. Remove period at end of warning message.
2119
2120 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
2121
2122 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
2123 (handle_alias_attribute): ... here.
2124 (handle_ifunc_attribute): New.
2125
2126 2010-09-06 Mark Mitchell <mark@codesourcery.com>
2127
2128 * c-common.h (do_warn_double_promotion): Declare.
2129 * c-common.c (do_warn_double_promotion): Define.
2130
2131 2010-09-05 Mark Mitchell <mark@codesourcery.com>
2132
2133 * c.opt (Wdouble-promotion): New.
2134
2135 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2136
2137 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
2138 fvtable-thunks, fxref): Mark no longer supported in help text.
2139
2140 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2141
2142 * c.opt (Wimport, fall-virtual, falt-external-templates,
2143 fdefault-inline, fenum-int-equiv, fexternal-templates,
2144 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
2145 fname-mangling-version-, fnew-abi, fnonnull-objects,
2146 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
2147 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
2148 applicable.
2149 (fhandle-exceptions): Mark with Alias and Warn.
2150 * c-opts.c (c_common_handle_option): Don't handle options marked
2151 as ignored.
2152
2153 2010-09-02 Joseph Myers <joseph@codesourcery.com>
2154
2155 * c.opt (Wcomments, Werror-implicit-function-declaration,
2156 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
2157 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
2158 aliases.
2159 * c-common.c (option_codes): Use OPT_Wcomment instead of
2160 OPT_Wcomments.
2161 * c-opts.c (warning_as_error_callback, c_common_handle_option):
2162 Don't handle options marked as aliases.
2163
2164 2010-08-25 Richard Guenther <rguenther@suse.de>
2165
2166 * c-common.c (c_common_get_alias_set): Remove special
2167 handling for pointers.
2168
2169 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
2170
2171 * c-common.c: Use FOR_EACH_VEC_ELT.
2172 * c-gimplify.c: Likewise.
2173 * c-pragma.c: Likewise.
2174
2175 2010-08-16 Joseph Myers <joseph@codesourcery.com>
2176
2177 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
2178 RejectDriver.
2179 (MMDX): Change back to MMD. Mark NoDriverArg instead of
2180 RejectDriver.
2181 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
2182 instead of OPT_MDX and OPT_MMDX.
2183
2184 2010-08-16 Joseph Myers <joseph@codesourcery.com>
2185
2186 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
2187
2188 2010-08-12 Joseph Myers <joseph@codesourcery.com>
2189
2190 * c.opt (MD, MMD): Change to MDX and MMDX.
2191 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
2192
2193 2010-08-11 Joseph Myers <joseph@codesourcery.com>
2194
2195 * c-opts.c (c_common_handle_option): Call handle_generated_option
2196 instead of handle_option.
2197
2198 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2199
2200 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
2201 (maybe_apply_renaming_pragma): Delete unneeded declarations.
2202
2203 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
2204
2205 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
2206 (pending_redefine_extname): Change type to a VEC.
2207 (add_to_renaming_pragma_list): Update for new type of
2208 pending_redefine_extname.
2209 (maybe_apply_renaming_pragma): Likewise.
2210
2211 2010-08-04 Arnaud Charlet <charlet@adacore.com>
2212
2213 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
2214 visited.
2215 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
2216 decide whether a type has already been declared/seen.
2217 Do not go to the original type.
2218 (dump_nested_types): New parameter forward.
2219 Generate forward declaration if needed and mark type as visited.
2220 (print_ada_declaration): Call dump_nested_types if not already done.
2221 Mark types as visited.
2222
2223 2010-08-03 Joseph Myers <joseph@codesourcery.com>
2224
2225 * c.opt (-print-pch-checksum): Remove option.
2226 * c-opts.c (c_common_handle_option): Don't handle
2227 OPT_print_pch_checksum.
2228
2229 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2230
2231 * c-common.h (c_common_handle_option): Update prototype and return
2232 value type.
2233 * c-opts.c (c_common_handle_option): Update prototype and return
2234 value type. Update calls to handle_option and
2235 enable_warning_as_error.
2236
2237 2010-07-27 Jakub Jelinek <jakub@redhat.com>
2238
2239 PR c/45079
2240 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
2241
2242 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2243
2244 * c-common.h (c_common_missing_argument): Remove.
2245 * c-opts.c (c_common_missing_argument): Remove.
2246 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
2247 idirafter, imacros, include, isysroot, isystem, iquote): Add
2248 MissingArgError.
2249 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
2250
2251 2010-07-27 Joseph Myers <joseph@codesourcery.com>
2252
2253 * c-common.h (c_common_option_lang_mask,
2254 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
2255 New.
2256 (c_common_init_options): Update prototype.
2257 * c-opts.c (c_common_option_lang_mask): New.
2258 (c_common_initialize_diagnostics): Split out of
2259 c_common_init_options.
2260 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
2261 New.
2262 (c_common_init_options): Update prototype. Use decoded options in
2263 search for -lang-asm.
2264
2265 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
2266
2267 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
2268 * c-format.c: Likewise.
2269
2270 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
2271
2272 * c-common.h: Include diagnostic-core.h. Error if already
2273 included.
2274 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
2275
2276 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2277
2278 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
2279 Do not include expr.h
2280 (vector_mode_valid_p): Move here.
2281
2282 2010-06-21 DJ Delorie <dj@redhat.com>
2283
2284 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
2285 allow these pragmas anywhere.
2286
2287 2010-06-14 Jakub Jelinek <jakub@redhat.com>
2288
2289 PR bootstrap/44509
2290 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
2291 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
2292 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
2293 ggc_strdup instead of xstrdup.
2294
2295 2010-06-10 Jakub Jelinek <jakub@redhat.com>
2296
2297 * c-cppbuiltin.c: Include cpp-id-data.h.
2298 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
2299 (lazy_hex_fp_value): New function.
2300 (builtin_define_with_hex_fp_value): Provide definitions lazily.
2301
2302 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2303
2304 * c-gimplify.c: Do not include tree-flow.h
2305
2306 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
2307
2308 PR other/44034
2309 * c-common.c: Rename targetm member:
2310 targetm.enum_va_list -> targetm.enum_va_list_p
2311
2312 2010-06-28 Anatoly Sokolov <aesok@post.ru>
2313
2314 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
2315
2316 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
2317
2318 * c-cppbuiltin.c: Do not include except.h.
2319
2320 2010-06-24 Andi Kleen <ak@linux.intel.com>
2321
2322 * c-common.c (warn_for_omitted_condop): New.
2323 * c-common.h (warn_for_omitted_condop): Add prototype.
2324
2325 2010-06-21 Joseph Myers <joseph@codesourcery.com>
2326
2327 * c.opt (lang-objc): Remove.
2328 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
2329
2330 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
2331
2332 * c-opts.c: Include "tm_p.h".
2333
2334 2010-06-20 Joseph Myers <joseph@codesourcery.com>
2335
2336 * c-common.c (parse_optimize_options): Update call to
2337 decode_options.
2338
2339 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
2340
2341 * c-common.c (record_types_used_by_current_var_decl): Adjust for
2342 new type of types_used_by_cur_var_decl.
2343
2344 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
2345
2346 PR bootstrap/44512
2347 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
2348 for C++ standard compliance.
2349
2350 2010-06-16 Jason Merrill <jason@redhat.com>
2351
2352 * c.opt: Add -Wnoexcept.
2353
2354 2010-06-16 Richard Guenther <rguenther@suse.de>
2355
2356 PR c/44555
2357 * c-common.c (c_common_truthvalue_conversion): Remove
2358 premature and wrong optimization concering ADDR_EXPRs.
2359
2360 2010-06-15 Arnaud Charlet <charlet@adacore.com>
2361
2362 * c-ada-spec.c (dump_sloc): Remove column info.
2363 (is_simple_enum): New function.
2364 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
2365 enum types when relevant.
2366
2367 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2368
2369 * c-common.c (conversion_warning): Warn at expression
2370 location.
2371
2372 2010-06-10 Joseph Myers <joseph@codesourcery.com>
2373
2374 * c-opts.c (c_common_handle_option): Don't handle
2375 OPT_fshow_column.
2376
2377 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
2378
2379 * c-pragma.c (push_alignment): Use typed GC allocation.
2380 (handle_pragma_push_options): Likewise.
2381
2382 * c-common.c (parse_optimize_options): Likewise.
2383
2384 * c-common.h (struct sorted_fields_type): Add variable_size GTY
2385 option.
2386
2387 2010-06-07 Joseph Myers <joseph@codesourcery.com>
2388
2389 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
2390 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2391 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2392 flag_signed_bitfields, warn_strict_null_sentinel,
2393 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
2394 flag_gen_declaration, flag_no_gnu_keywords,
2395 flag_implement_inlines, flag_implicit_templates,
2396 flag_implicit_inline_templates, flag_optional_diags,
2397 flag_elide_constructors, flag_default_inline, flag_rtti,
2398 flag_conserve_space, flag_access_control, flag_check_new,
2399 flag_new_for_scope, flag_weak, flag_working_directory,
2400 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
2401 flag_enforce_eh_specs, flag_threadsafe_statics,
2402 flag_pretty_templates): Remove.
2403 * c-common.h (flag_preprocess_only, flag_nil_receivers,
2404 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
2405 flag_replace_objc_classes, flag_undef, flag_no_builtin,
2406 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
2407 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
2408 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
2409 flag_no_gnu_keywords, flag_implement_inlines,
2410 flag_implicit_templates, flag_implicit_inline_templates,
2411 flag_optional_diags, flag_elide_constructors, flag_default_inline,
2412 flag_rtti, flag_conserve_space, flag_access_control,
2413 flag_check_new, flag_new_for_scope, flag_weak,
2414 flag_working_directory, flag_use_cxa_atexit,
2415 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
2416 flag_threadsafe_statics, flag_pretty_templates,
2417 warn_strict_null_sentinel): Remove.
2418 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
2419 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
2420 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
2421 fimplicit-inline-templates, fimplicit-templates,
2422 flax-vector-conversions, fms-extensions, fnil-receivers,
2423 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
2424 frtti, fshort-double, fshort-enums, fshort-wchar,
2425 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
2426 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
2427 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
2428 gen-decls, undef): Use Var.
2429 (fdefault-inline, foptional-diags): Document as doing nothing.
2430 * c-opts.c (c_common_handle_option): Remove cases for options now
2431 using Var. Mark ignored options as such.
2432
2433 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
2434
2435 * c-common.c: Moved to here from parent directory.
2436 * c-common.def: Likewise.
2437 * c-common.h: Likewise.
2438 * c-cppbuiltin.c: Likewise.
2439 * c-dump.c: Likewise.
2440 * c-format.c: Likewise.
2441 * c-format.h : Likewise.
2442 * c-gimplify.c: Likewise.
2443 * c-lex.c: Likewise.
2444 * c-omp.c: Likewise.
2445 * c.opt: Likewise.
2446 * c-opts.c: Likewise.
2447 * c-pch.c: Likewise.
2448 * c-ppoutput.c: Likewise.
2449 * c-pragma.c: Likewise.
2450 * c-pragma.h: Likewise.
2451 * c-pretty-print.c: Likewise.
2452 * c-pretty-print.h: Likewise.
2453 * c-semantics.c: Likewise.
2454 * stub-objc.c: Likewise.
2455
2456 * c-common.c: Include gt-c-family-c-common.h.
2457 * c-pragma.c: Include gt-c-family-c-pragma.h.
2458 \f
2459 Copyright (C) 2010-2013 Free Software Foundation, Inc.
2460
2461 Copying and distribution of this file, with or without modification,
2462 are permitted in any medium without royalty provided the copyright
2463 notice and this notice are preserved.