OSDN Git Service

Latest updates from FSF 4.7 branch
[pf3gnuchains/gcc-fork.git] / gcc / c-family / ChangeLog
1 2012-06-27  Kai Tietz  <ktietz@redhat.com>
2
3         Merged from trunk
4         PR preprocessor/37215
5         * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
6
7 2012-06-14  Release Manager
8
9         * GCC 4.6.3 released.
10
11 2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>
12
13         PR c++/50608
14         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
15         (fold_offsetof_1): Make global.  Remove STOP_REF argument and adjust.
16         <INDIRECT_REF>: Return the argument.
17         <ARRAY_REF>: Remove special code for negative offset.
18         Call fold_build_pointer_plus instead of size_binop.
19         (fold_offsetof): Remove STOP_REF argument and adjust.
20         * c-common.h (fold_offsetof_1): Declare.
21         (fold_offsetof): Remove STOP_REF argument.
22
23 2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
24
25         PR c++/50810
26         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
27         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
28         Wnarrowing for C++0x and C++98.
29         * c.opt ([Wnarrowing]): Update.
30
31 2011-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
32
33         PR c++/44277
34         * c.opt: Add Wzero-as-null-pointer-constant.
35
36 2011-10-31  Jason Merrill  <jason@redhat.com>
37
38         * c.opt (-fdeduce-init-list): Off by default.
39
40         PR c++/50920
41         * c-common.h (cxx_dialect): Add cxx11 and cxx03.
42         * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
43         and -Wc++11-compat.
44         * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
45
46 2011-10-27  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
47
48         PR c++/30066
49         * c.opt (fvisibility-inlines-hidden): Description change.
50
51 2011-10-26  Ed Smith-Rowland  <3dw4rd@verizon.net>
52
53         Implement C++11 user-defined literals.
54         * c-common.c (build_userdef_literal): New.
55         * c-common.def: New tree code.
56         * c-common.h (tree_userdef_literal): New tree struct and accessors.
57         * c-lex.c (interpret_float): Add suffix parm.
58         (c_lex_with_flags): Build literal tokens.
59
60 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
61
62         PR c++/50841
63         Revert:
64         2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
65
66         PR c++/50810
67         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
68         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
69         Wnarrowing for C++0x and C++98.
70         * c.opt ([Wnarrowing]): Update.
71
72 2011-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
73
74         PR c++/50810
75         * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
76         of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
77         Wnarrowing for C++0x and C++98.
78         * c.opt ([Wnarrowing]): Update.
79
80 2011-10-21  Paolo Carlini  <paolo.carlini@oracle.com>
81
82         PR c++/45385
83         * c-common.c (conversion_warning): Remove code looking for
84         artificial operands.
85
86 2011-10-18  Dodji Seketeli  <dodji@redhat.com>
87
88         PR bootstrap/50760
89         * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
90         !NO_IMPLICIT_EXTERN_C.
91
92 2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
93
94         * c-common.c (c_common_reswords): Add __bases,
95         __direct_bases.
96         * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
97
98 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
99
100         PR c++/50757
101         * c.opt ([Wnonnull]): Add C++ and Objective-C++.
102
103 2011-10-15  Tom Tromey  <tromey@redhat.com>
104             Dodji Seketeli  <dodji@redhat.com>
105
106         * c.opt (fdebug-cpp): New option.
107         * c-opts.c (c_common_handle_option): Handle the option.
108         * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
109         output stream in parameter. Factorized from ...
110         (maybe_print_line): ... this. Dump location debug information when
111         -fdebug-cpp is in effect.
112         (print_line_1): New static function. Takes an output stream in
113         parameter. Factorized from ...
114         (print_line): ... here. Dump location information when -fdebug-cpp
115         is in effect.
116         (scan_translation_unit): Dump location information when
117         -fdebug-cpp is in effect.
118
119 2011-10-15  Tom Tromey  <tromey@redhat.com>
120             Dodji Seketeli  <dodji@redhat.com>
121
122         * c.opt (ftrack-macro-expansion): New option. Handle it with and
123         without argument.
124         * c-opts.c (c_common_handle_option)<case
125         OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
126         cases. Handle -ftrack-macro-expansion with and without argument.
127
128 2011-10-15  Tom Tromey  <tromey@redhat.com>
129             Dodji Seketeli  <dodji@redhat.com>
130
131         * c-ppoutput.c (scan_translation_unit, maybe_print_line)
132         (print_line, cb_define, do_line_change): Adjust to avoid touching
133         the internals of struct line_map.  Use the public API instead.
134         * c-pch.c (c_common_read_pch): Likewise.
135         * c-lex.c (fe_file_change): Likewise.
136
137 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
138
139         PR c++/17212
140         * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
141
142 2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
143
144         PR c++/33067
145         * c-pretty-print.c (pp_c_floating_constant): Output
146         max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
147
148 2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
149
150         * c-common.c (def_builtin_1): Delete old interface with two
151         parallel arrays to hold standard builtin declarations, and replace
152         it with a function based interface that can support creating
153         builtins on the fly in the future.  Change all uses, and poison
154         the old names.  Make sure 0 is not a legitimate builtin index.
155         * c-omp.c (c_finish_omp_barrier): Ditto.
156         (c_finish_omp_taskwait): Ditto.
157         (c_finish_omp_flush): Ditto.
158
159 2011-10-11  Tristan Gingold  <gingold@adacore.com>
160
161         * c.opt: (fallow-parameterless-variadic-functions): New.
162
163 2011-09-08  Dodji Seketeli  <dodji@redhat.com>
164
165         PR c++/33255 - Support -Wunused-local-typedefs warning
166         * c-common.h (struct c_language_function::local_typedefs): New
167         field.
168         (record_locally_defined_typedef, maybe_record_typedef_use)
169         (maybe_warn_unused_local_typedefs): Declare new functions.
170         * c-common.c (record_locally_defined_typedef)
171         (maybe_record_typedef_use)
172         (maybe_warn_unused_local_typedefs): Define new functions.
173         * c.opt: Declare new -Wunused-local-typedefs flag.
174
175 2011-09-06  Eric Botcazou  <ebotcazou@adacore.com>
176
177         PR middle-end/50266
178         * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
179         computations.
180
181 2011-09-05  Richard Guenther  <rguenther@suse.de>
182
183         * c-common.c (complete_array_type): Use ssize_int (-1) instead
184         of integer_minus_one_node for empty array upper bounds.
185
186 2011-08-28  Dodji Seketeli  <dodji@redhat.com>
187
188         * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
189         it's the first time it's being called on this main TU.
190
191 2011-08-24  Richard Guenther  <rguenther@suse.de>
192
193         PR c/49396
194         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
195
196 2011-08-22  Gabriel Charette  <gchare@google.com>
197
198         * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
199         defined in cpp_init_builtins and c_cpp_builtins.
200
201 2011-08-19  Joseph Myers  <joseph@codesourcery.com>
202
203         * c-common.c (c_common_reswords): Add __builtin_complex.
204         * c-common.h (RID_BUILTIN_COMPLEX): New.
205
206 2011-08-18  Joseph Myers  <joseph@codesourcery.com>
207
208         * c-common.c (c_common_reswords): Add _Noreturn.
209         (keyword_is_function_specifier): Handle RID_NORETURN.
210         * c-common.h (RID_NORETURN): New.
211
212 2011-08-10  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
213
214         * c-common.c (unsafe_conversion_p): New function. Check if it is
215         unsafe to convert an expression to the type.
216         (conversion_warning): Adjust, use unsafe_conversion_p.
217         * c-common.h (unsafe_conversion_p): New function declaration.
218
219 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
220
221         * c-common.h (c_finish_omp_atomic): Adjust prototype.
222         (c_finish_omp_taskyield): New prototype.
223         * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
224         arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
225         OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC.  If LHS1
226         or RHS1 have side-effects, evaluate those too in the right spot,
227         if it is a decl and LHS is also a decl, error out if they
228         aren't the same.
229         (c_finish_omp_taskyield): New function.
230         * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
231         * c-pragma.c (omp_pragmas): Add taskyield.
232         * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
233         (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
234         PRAGMA_OMP_CLAUSE_MERGEABLE.
235
236 2011-07-25  Dodji Seketeli  <dodji@redhat.com>
237
238         * c-common.h (set_underlying_type): Remove parm name from
239         declaration.
240
241 2011-07-25  Romain Geissler  <romain.geissler@gmail.com>
242
243         * c-pretty-print.h: Search c-common.h in c-family.
244         
245 2011-07-22  Jason Merrill  <jason@redhat.com>
246
247         PR c++/49793
248         * c.opt (Wnarrowing): New.
249
250         PR c++/30112
251         * c-common.h: Declare c_linkage_bindings.
252         * c-pragma.c (handle_pragma_redefine_extname): Use it.
253
254         PR c++/49813
255         * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
256         * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
257         as flag_isoc99 for 'restrict'.
258         (pp_c_specifier_qualifier_list): Likewise for _Complex.
259
260 2011-07-21  Ian Lance Taylor  <iant@google.com>
261
262         PR middle-end/49705
263         * c-common.c (c_disable_warnings): New static function.
264         (c_enable_warnings): New static function.
265         (c_fully_fold_internal): Change local unused_p to bool.  Call
266         c_disable_warnings and c_enable_warnings rather than change
267         c_inhibit_evaluation_warnings.
268
269 2011-07-20  Jason Merrill  <jason@redhat.com>
270
271         PR c++/6709 (DR 743)
272         PR c++/42603 (DR 950)
273         * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
274         (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
275         (CPP_DECLTYPE): New.
276         * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
277
278 2011-07-19  Richard Guenther  <rguenther@suse.de>
279
280         * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
281         * c-omp.c (c_finish_omp_for): Likewise.
282
283 2011-07-12  Eric Botcazou  <ebotcazou@adacore.com>
284
285         * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
286         body on the next line.
287
288 2011-07-08  Jason Merrill  <jason@redhat.com>
289
290         PR c++/45437
291         * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
292
293         PR c++/49673
294         * c-common.c (c_apply_type_quals_to_decl): Don't check
295         TYPE_NEEDS_CONSTRUCTING.
296
297 2011-07-06  Richard Guenther  <rguenther@suse.de>
298
299         * c-common.c (c_common_nodes_and_builtins):
300         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
301
302 2011-07-05  Richard Guenther  <rguenther@suse.de>
303
304         * c-common.c (c_common_nodes_and_builtins): Build all common
305         tree nodes first.
306
307 2011-06-27  Jakub Jelinek  <jakub@redhat.com>
308
309         * c-common.h (c_tree_chain_next): New static inline function.
310
311         * c-common.c (check_builtin_function_arguments): Handle
312         BUILT_IN_ASSUME_ALIGNED.
313
314 2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
315
316         * c-common.c: Add sync_ or SYNC__ to builtin names.
317         * c-omp.c: Add sync_ or SYNC__ to builtin names.
318
319 2011-06-20  Pierre Vittet  <piervit@pvittet.com>
320
321         * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
322         handler.
323         (gen_pragma_handler): New union.
324         (internal_pragma_handler): New type.
325         (c_register_pragma_with_data)
326         (c_register_pragma_with_expansion_and_data): New functions.
327
328         * c-pragma.c (registered_pragmas, c_register_pragma_1)
329         (c_register_pragma, c_register_pragma_with_expansion)
330         (c_invoke_pragma_handler): Changed to work with
331         internal_pragma_handler.
332         (c_register_pragma_with_data)
333         (c_register_pragma_with_expansion_and_data): New functions.
334
335 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
336
337         * c-common.c: Include common/common-target.h.
338         (handle_section_attribute): Use
339         targetm_common.have_named_sections.
340         * c-cppbuiltin.c: Include common/common-target.h.
341         (c_cpp_builtins): Use targetm_common.except_unwind_info.
342
343 2011-06-10  Richard Guenther  <rguenther@suse.de>
344
345         * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
346         to print a IDENTIFIER_NODE.
347
348 2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
349             Joseph Myers  <joseph@codesourcery.com>
350
351         * c.opt (fbuilding-libgcc): New option.
352         * c-cppbuiltin.c (c_cpp_builtins): Define
353         __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
354
355 2011-06-07  Jason Merrill  <jason@redhat.com>
356
357         * c-common.c (max_tinst_depth): Lower default to 900.
358
359         * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
360
361 2011-06-07  Richard Guenther  <rguenther@suse.de>
362
363         * c-common.c (c_common_nodes_and_builtins): Do not set
364         size_type_node or call set_sizetype.
365
366 2011-06-07  Dodji Seketeli  <dodji@redhat.com>
367
368         PR debug/49130
369         * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
370         type when using pointer comparison to compare types.
371
372 2011-06-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
373
374         * c.opt: Add -Wdelete-non-virtual-dtor.
375         * c-opts.c (c_common_handle_option): Include it in -Wall.
376
377 2011-05-30  Nathan Froyd  <froydnj@gcc.gnu.org>
378
379         PR bootstrap/49190
380
381         Revert:
382         2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
383
384         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
385         not tree_common.
386
387 2011-05-27  Jakub Jelinek  <jakub@redhat.com>
388
389         PR c++/49165
390         * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
391         C++ don't call c_common_truthvalue_conversion on void type arms.
392
393 2011-05-27  Nathan Froyd  <froydnj@codesourcery.com>
394
395         * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
396         (stmt_list_stack): Define.
397         (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
398         * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
399
400 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
401
402         * c-common.c (warning_candidate_p): Check for BLOCKs.
403
404 2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
405
406         * c-common.h (struct c_common_identifier): Inherit from tree_typed,
407         not tree_common.
408
409 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
410
411         * c-common.c (def_fn_type): Remove extra va_end.
412
413 2011-05-23  Jason Merrill  <jason@redhat.com>
414
415         PR c++/48106
416         * c-common.c (c_common_get_narrower): New.
417         (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
418
419 2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
420
421         * c-common.h (check_function_arguments): Tweak prototype of
422         check_function_arguments.
423         * c-common.c (check_function_arguments): Likewise.  Adjust
424         calls to check_function_nonnull, check_function_format, and
425         check_function_sentinel.
426         (check_function_sentinel): Take a FUNCTION_TYPE rather than
427         separate attributes and typelist arguments.  Use
428         FOREACH_FUNCTION_ARGS to iterate over argument types.
429
430 2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
431
432         * c-common.c (c_common_reswords): Reorder.
433         * c-common.h (rid): Likewise.
434
435 2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
436
437         * c-common.c (def_fn_type): Don't call build_function_type, call
438         build_function_type_array or build_varargs_function_type_array
439         instead.
440         (c_common_nodes_and_builtins): Likewise.
441
442 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
443
444         * c-common.c (c_add_case_label): Omit the loc argument to
445         build_case_label.
446         * c-common.h (build_case_label): Remove.
447         * c-semantics.c (build_case_label): Remove.
448
449 2011-05-05  Joseph Myers  <joseph@codesourcery.com>
450
451         * c-objc.h (objc_start_method_definition): Update prototype.
452         * stub-objc.c (objc_start_method_definition): Add extra parameter.
453
454 2011-05-04  Nathan Froyd  <froydnj@codesourcery.com>
455
456         * c-common.c (check_main_parameter_types): Reindent.  Don't use
457         TYPE_ARG_TYPES directly.
458         (handle_nonnull_attribute): Likewise.
459         (sync_resolve_params): Likewise.
460         * c-format.c (handle_format_arg_attribute): Likewise.  Adjust call
461         to check_format_string.
462         (handle_format_attribute): Likewise.
463         (check_format_string): Take a function type to examine instead of
464         a type list.  Use a function_arg_iterator to step through argument
465         types.
466
467 2011-05-04  Richard Guenther  <rguenther@suse.de>
468
469         * c-common.c (fix_string_type): Use size_int for index type bounds.
470         (start_fname_decls): Do not pass NULL to build_int_cst.
471         (c_init_attributes): Likewise.
472         * c-lex.c (c_lex_with_flags): Likewise.
473
474 2011-04-27  Jason Merrill  <jason@redhat.com>
475
476         * c-common.c (make_tree_vector_from_list): New.
477         * c-common.h: Declare it.
478
479 2011-04-26  Richard Guenther  <rguenther@suse.de>
480
481         PR preprocessor/48248
482         * c-ppoutput.c (maybe_print_line): Always optimize newlines
483         for output size with -P.
484
485 2011-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
486
487         * c-common.c (struct c_common_resword): Add __underlying_type.
488         * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
489
490 2011-04-20  Jim Meyering  <meyering@redhat.com>
491
492         * c-format.c (init_dollar_format_checking): Remove useless
493         if-before-free.
494
495 2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>
496
497         * c-objc.h (objc_get_interface_ivars): Removed.
498         (objc_detect_field_duplicates): New.
499         * stub-objc.c: Likewise.
500
501 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
502
503         * stub-objc.c (objc_declare_protocols): Renamed to
504         objc_declare_protocol.
505         * c-objc.h: Likewise.
506
507 2011-04-14  Nicola Pero  <nicola.pero@meta-innovation.com>
508
509         * stub-objc.c (objc_declare_class): Updated argument name.
510
511 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
512
513         * c-common.h (c_common_init_ts): Declare.
514         * c-common.c (c_common_init_ts): Define.
515
516 2011-04-12  Nicola Pero  <nicola.pero@meta-innovation.com>
517
518         * c-objc.h (objc_build_message_expr): Updated prototype.
519         * stub-objc.c (objc_build_message_expr): Likewise.
520         
521 2011-04-12  Martin Jambor  <mjambor@suse.cz>
522
523         * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
524         of cgraph_node.
525
526 2011-04-11  Richard Guenther  <rguenther@suse.de>
527
528         * c-common.c (complete_array_type): Build a range type of
529         proper type.
530
531 2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
532
533         * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
534         (handle_type_generic_attribute): Likewise.
535
536 2011-04-07  Jason Merrill  <jason@redhat.com>
537
538         PR c++/48450
539         * c-common.c (c_common_truthvalue_conversion): Don't ignore
540         conversion from C++0x scoped enum.
541
542 2011-04-06  Joseph Myers  <joseph@codesourcery.com>
543
544         * c-target-def.h: New file.
545         * c-target.def: New file.
546         * c-target.h: New file.
547         * c-common.c (targetcm): Don't define here.
548         * c-common.h (default_handle_c_option): Declare.
549         * c-format.c: Include c-target.h instead of target.h.
550         * c-opts.c: Include c-target.h instead of target.h.  Explicitly
551         include tm.h.
552         (default_handle_c_option): Move from targhooks.c.
553
554 2011-03-29  Jakub Jelinek  <jakub@redhat.com>
555
556         PR preprocessor/48248
557         * c-ppoutput.c (print): Add src_file field.
558         (init_pp_output): Initialize it.
559         (maybe_print_line): Don't optimize by adding up to 8 newlines
560         if map->to_file and print.src_file are different file.
561         (print_line): Update print.src_file.
562
563 2011-03-25  Kai Tietz  <ktietz@redhat.com>
564
565         * c-ada-spec.c (compare_comment): Use filename_cmp
566         instead of strcmp for filename.
567
568 2011-03-25  Jeff Law  <law@redhat.com>
569
570         * c-family/c-common.c (def_fn_type): Add missing va_end.
571
572 2011-03-25  Jason Merrill  <jason@redhat.com>
573
574         * c.opt: Add -std=c++03.
575
576 2011-03-22  Eric Botcazou  <ebotcazou@adacore.com>
577
578         * c-ada-spec.c (dump_ada_template): Skip non-class instances.
579
580 2011-03-17  Kai Tietz
581
582         PR target/12171
583         * c-pretty-print.c (pp_c_specifier_qualifier_list):
584         Display allowed attributes for function pointer types.
585         (pp_c_attributes_display): New function to display
586         attributes having affects_type_identity flag set to true.
587         * c-pretty-print.h (pp_c_attributes_display): New prototype.
588
589         * c-common.c (c_common_attribute_table):
590         Add new element.
591         (c_common_format_attribute_table): Likewise.
592
593 2011-03-18  Jason Merrill  <jason@redhat.com>
594
595         * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
596         * c-common.h: Don't declare it here.
597         * c-common.c: Or define it here.
598         * c-opts.c (c_common_handle_option): Or set it here.
599
600         PR c++/35315
601         * c-common.c (handle_transparent_union_attribute): Don't
602         make a duplicate type in C++.
603
604 2011-03-15  Jason Merrill  <jason@redhat.com>
605
606         * c-common.c (max_constexpr_depth): New.
607         * c-common.h: Declare it.
608         * c-opts.c (c_common_handle_option): Set it.
609         * c.opt (fconstexpr-depth): New option.
610
611 2011-03-11  Jason Merrill  <jason@redhat.com>
612
613         * c-common.c (attribute_takes_identifier_p): Add missing const.
614
615         PR c++/46803
616         * c-common.c (attribute_takes_identifier_p): Assume that an
617         unknown attribute takes an identifier.
618
619 2011-03-07  Nathan Froyd  <froydnj@codesourcery.com>
620
621         PR c/47786
622         * c-common.c (c_type_hash): Call list_length instead of iterating
623         through DECL_CHAIN.  Rename 'i' to 'n_elements'.
624
625 2011-02-19  Jakub Jelinek  <jakub@redhat.com>
626
627         PR c/47809
628         * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
629
630 2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>
631
632         * c.opt (fobjc-abi-version=) New.
633         (fobjc-nilcheck): New.
634
635 2011-02-03  Nathan Froyd  <froydnj@codesourcery.com>
636
637         PR c++/46890
638         * c-common.h (keyword_is_decl_specifier): Declare.
639         * c-common.c (keyword_is_decl_specifier): Define.
640         (keyword_is_function_specifier): New function.
641
642 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
643
644         PR c/47473
645         * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
646         EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
647         REAL_TYPE.
648
649 2011-01-26  Arnaud Charlet  <charlet@adacore.com>
650
651         * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
652
653 2011-01-26  Jakub Jelinek  <jakub@redhat.com>
654
655         PR pch/47430
656         * c-opts.c (c_common_post_options): Call c_common_no_more_pch
657         after init_c_lex if pch_file is set.
658
659 2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
660
661         PR c++/43601
662         * c.opt (-fkeep-inline-dllexport): New switch.
663
664 2011-01-12  Richard Guenther  <rguenther@suse.de>
665
666         PR middle-end/32511
667         * c-common.c (handle_weak_attribute): Warn instead of error
668         on declaring an inline function weak.
669
670 2011-01-05  Tom Tromey  <tromey@redhat.com>
671
672         * c-common.h (lvalue_error): Update.
673         * c-common.c (lvalue_error): Add 'loc' argument.  Call error_at,
674         not error.
675
676 2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>
677         
678         PR objc/47075
679         * c-objc.h (objc_finish_message_expr): Added argument to
680         prototype.
681
682 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
683
684         * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
685         Use prototype_p.
686
687 2010-12-18  Nicola Pero  <nicola.pero@meta-innovation.com>
688
689         * c-objc.h (objc_maybe_warn_exceptions): New.
690         * stub-objc.c (objc_maybe_warn_exceptions): New.        
691
692 2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
693
694         * c-common.h (readonly_error): Declare.
695         * c-common.c (readonly_error): Define.
696
697 2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
698
699         * c-common.h (invalid_indirection_error): Declare.
700         * c-common.c (invalid_indirection_error): Define.
701
702 2010-12-03  Richard Guenther  <rguenther@suse.de>
703
704         PR c/46745
705         * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
706         (pp_c_unary_expression): Likewise.
707         (pp_c_expression): Likewise.
708
709 2010-11-30  Nicola Pero  <nicola.pero@meta-innovation.com>
710
711         * c-common.h (objc_finish_function): New.
712         (objc_non_volatilized_type): Removed.
713         (objc_type_quals_match): Removed.
714         * stub-objc.c (objc_finish_function): New.
715         (objc_non_volatilized_type): Removed.
716         (objc_type_quals_match): Removed.
717         
718 2010-11-30  Joseph Myers  <joseph@codesourcery.com>
719
720         * c-common.h (parse_optimize_options): Declare.
721         * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
722         c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
723
724 2010-11-29  Joseph Myers  <joseph@codesourcery.com>
725
726         * c-opts.c (check_deps_environment_vars): Use getenv instead of
727         GET_ENVIRONMENT.
728         * c-pch.c (O_BINARY): Don't define here.
729         * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
730
731 2010-11-25  Joseph Myers  <joseph@codesourcery.com>
732
733         * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
734         targetm.except_unwind_info.
735
736 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
737
738         * c-opts.c (c_common_handle_option): Pass location to
739         set_struct_debug_option.
740
741 2010-11-23  Joseph Myers  <joseph@codesourcery.com>
742
743         * c-common.c (visibility_options): Move from ../opts.c.
744         * c-common.h (struct visibility_flags, visibility_options):
745         Declare here.
746         * c-opts.c (finish_options): Rename to c_finish_options.
747         (c_common_init): Update call to finish_options.
748
749 2010-11-22  Nicola Pero  <nicola.pero@meta-innovation.com>
750
751         PR objc/34033
752         * c-lex.c (lex_string): Check that each string in an Objective-C
753         string concat sequence starts with either one or zero '@', and
754         that there are no spurious '@' signs at the end.
755
756 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
757
758         * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
759         HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
760         HANDLE_PRAGMA_VISIBILITY.
761         * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
762         HANDLE_PRAGMA_VISIBILITY): Don't define.
763         (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
764
765 2010-11-20  Nathan Froyd  <froydnj@codesourcery.com>
766
767         PR c++/16189
768         PR c++/36888
769         PR c++/45331
770         * c-common.h (keyword_begins_type_specifier): Declare.
771         (keyword_is_storage_class_specifier): Declare.
772         (keyword_is_type_qualifier): Declare.
773         * c-common.c (keyword_begins_type_specifier): New function.
774         (keyword_is_storage_class_specifier): New function.
775         (keyword_is_type_qualifier): Declare.
776
777 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
778
779         PR c/46547
780         * c-common.c (in_late_binary_op): Define.
781         (c_common_truthvalue_conversion): Check in_late_binary_op before
782         calling c_save_expr.
783         * c-common.h (in_late_binary_op): Declare.
784
785 2010-11-19  Joseph Myers  <joseph@codesourcery.com>
786
787         * c-opts.c (c_common_handle_option): Update calls to
788         set_struct_debug_option.
789
790 2010-11-19  Nicola Pero  <nicola.pero@meta-innovation.com>
791
792         * c-common.h (objc_declare_protocols): Added additional argument.
793         * stub-objc.c (objc_declare_protocol): Same change.
794         
795 2010-11-18  Nathan Froyd  <froydnj@codesourcery.com>
796
797         PR c/33193
798         * c-common.h (build_real_imag_expr): Declare.
799         * c-semantics.c (build_real_imag_expr): Define.
800
801 2010-11-17  Joseph Myers  <joseph@codesourcery.com>
802
803         * c-opts.c (c_common_parse_file): Take no arguments.
804         * c-common.h (c_common_parse_file): Update prototype.
805
806 2010-11-16  Jakub Jelinek  <jakub@redhat.com>
807
808         PR c++/46401
809         * c-common.c (warning_candidate_p): Don't track non-const calls
810         or STRING_CSTs.
811
812 2010-11-15  Ian Lance Taylor  <iant@google.com>
813
814         * c-lex.c (init_c_lex): Set macro debug callbacks if
815         flag_dump_go_spec is set.
816
817 2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
818
819         * c-common.h (objc_build_incr_expr_for_property_ref): New.
820         * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
821
822 2010-11-15  Nathan Froyd  <froydnj@codesourcery.com>
823
824         PR preprocessor/45038
825         * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
826         dialects.
827
828 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
829
830         * c-common.h (c_family_lang_mask): Declare.
831         * c-opts.c (c_family_lang_mask): Make extern.
832         * c-pragma.c (handle_pragma_diagnostic): Use
833         control_warning_option.
834
835 2010-11-12  Joseph Myers  <joseph@codesourcery.com>
836
837         * c-common.c (parse_optimize_options): Update call to
838         decode_options.
839         * c-common.h (c_common_handle_option): Update prototype.
840         * c-opts.c (c_common_handle_option): Take location_t parameter and
841         pass it to other functions.
842
843 2010-11-11  Joseph Myers  <joseph@codesourcery.com>
844
845         * c-opts.c (warning_as_error_callback): Remove.
846         (c_common_initialize_diagnostics): Don't call
847         register_warning_as_error_callback.
848         (c_common_handle_option): Handle -Werror=normalized= here.
849
850 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
851
852         * c-common.c (handle_mode_attribute): Use %' and word "signedness"
853         in diagnostic.
854         * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
855         letter.
856         * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
857         Remove trailing '.' from diagnostics.
858         * c.opt (Wwrite-strings_: Avoid '`' in help text.
859
860 2010-11-10  Joseph Myers  <joseph@codesourcery.com>
861
862         * c-common.c (parse_optimize_options): Pass global_dc to
863         decode_options.
864         * c-opts.c (c_common_handle_option): Pass &global_options to
865         set_Wstrict_aliasing.
866         * c.opt (v): Don't mark Common or document here.
867
868 2010-11-06  Iain Sandoe  <iains@gcc.gnu.org>
869
870         PR target/44981
871         * c-format.c (format_type): New type gcc_objc_string_format_type.
872         (valid_stringptr_type_p): New.
873         (handle_format_arg_attribute): Use valid_stringptr_type_p ().
874         (check_format_string): Pass expected type, use 
875         valid_stringptr_type_p (), check that the format string types are
876         consistent with the format specification.
877         (decode_format_attr): Warn if NSString is used outside objective-c.
878         (format_types_orig): Add NSString.
879         (format_name): New.
880         (format_flags): New.
881         (check_format_arg): Handle format strings requiring an external parser.
882         first_target_format_type: New variable.
883         (handle_format_attribute): Set up first_target_format_type, pass the
884         expected format arg string type to check_format_string().
885         * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL):  New flag.
886         * stub-objc.c (objc_string_ref_type_p): New.
887         (objc_check_format_arg): New.
888
889 2010-11-04  Nicola Pero  <nicola.pero@meta-innovation.com>
890
891         Fixed using the Objective-C 2.0 dot-syntax with class names.    
892         * c-common.h (objc_build_class_component_ref): New.
893         * stub-objc.c (objc_build_class_component_ref): New.
894
895 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
896
897         * c.opt (Wproperty-assign-default): New option.
898
899 2010-11-03  Nicola Pero  <nicola.pero@meta-innovation.com>
900
901         Implemented -fobjc-std=objc1 flag.
902         * c.opt (fobjc-std=objc1): New option.
903
904 2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
905
906         Implemented format and noreturn attributes for Objective-C methods.
907         * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
908         attribute for Objective-C methods.
909
910 2010-10-31  Jason Merrill  <jason@redhat.com>
911
912         * c-common.c (conversion_warning, warn_for_collisions_1): Use
913         EXPR_LOC_OR_HERE.
914
915 2010-10-30  Nicola Pero  <nicola.pero@meta-innovation.com>
916
917         Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
918         * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
919         (objc_add_property_declaration): Removed arguments for copies and
920         ivar.
921         (objc_build_getter_call): Renamed to
922         objc_maybe_build_component_ref.
923         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
924         (objc_is_property_ref): New.
925         * c-common.c (c_common_reswords): Removed copies and ivar.
926         * stub-objc.c (objc_add_property_declaration): Removed arguments
927         for copies and ivar.
928         (objc_build_getter_call): Renamed to
929         objc_maybe_build_component_ref.
930         (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
931         (objc_is_property_ref): New.
932         
933 2010-10-29  Arnaud Charlet  <charlet@adacore.com>
934             Matthew Gingell  <gingell@adacore.com>
935
936         * c-ada-spec.c (separate_class_package): New function.
937         (pp_ada_tree_identifier): Prefix references to C++ classes with the
938         name of their enclosing package.
939         (print_ada_declaration): Use separate_class_package.
940
941 2010-10-27  Jason Merrill  <jason@redhat.com>
942
943         * c-common.c (c_common_reswords): Add __is_literal_type.
944         * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
945
946         * c-common.c (check_case_value): Remove special C++ code.
947
948 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
949
950         * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
951         RID_RETAIN, RID_COPY and RID_NONATOMIC.  Updated RID_FIRST_PATTR
952         and RID_LAST_PATTR.
953         (objc_add_property_declaration): Added additional arguments.
954         (objc_property_attribute_kind): Removed.
955         (objc_set_property_attr): Removed.
956         * c-common.c (c_common_reswords): Added readwrite, assign, retain,
957         copy and nonatomic.
958         * stub-objc.c (objc_add_property_declaration): Added additional
959         arguments.
960         (objc_set_property_attr): Removed.
961         
962 2010-10-27  Nicola Pero  <nicola.pero@meta-innovation.com>
963
964         * c-common.h (objc_add_property_variable): Renamed to
965         objc_add_property_declaration.  Added location argument.
966         * stub-objc.c (objc_add_property_variable): Same change.
967         
968 2010-10-23  Nicola Pero  <nicola.pero@meta-innovation.com>
969
970         * c-common.h (objc_maybe_printable_name): New.
971         * stub-objc.c (objc_maybe_printable_name): New.
972
973 2010-10-22  Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
974         Andrew Pinski <pinskia@gmail.com>
975
976         * c-common.h (c_common_mark_addressable_vec): Declare.
977         * c-common.c (c_common_mark_addressable_vec): New function.
978
979 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
980
981         * c-common.h (objc_set_method_type): Removed.
982         (objc_add_method_declaration): Added boolean argument.
983         (objc_start_method_definition): Same change.
984         (objc_build_method_signature): Same change.
985         * stub-objc.c (objc_set_method_type): Removed.
986         (objc_add_method_declaration): Added boolean argument.
987         (objc_start_method_definition): Same change.
988         (objc_build_method_signature): Same change.
989
990 2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>
991
992         * c-common.h (finish_file): Removed.
993         (objc_write_global_declarations): New.
994         * c-opts.c (c_common_parse_file): Do not call finish_file.
995         * stub-objc.c (objc_write_global_declarations): New.
996         
997 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
998
999         Implemented parsing @synthesize and @dynamic for
1000         Objective-C/Objective-C++.
1001         * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
1002         (objc_add_synthesize_declaration): New.
1003         (objc_add_dynamic_declaration): New.
1004         * c-common.c (c_common_reswords): Add synthesize and dynamic.
1005         * stub-objc.c (objc_add_synthesize_declaration): New.
1006         (objc_add_dynamic_declaration): New.
1007         
1008 2010-10-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
1009
1010         PR target/46041
1011         * c-cppbuiltin.c (mode_has_fma): Move function here from
1012         builtins.c.  Don't use the fma optab, instead just use the
1013         HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
1014         using -save-temps.
1015
1016 2010-10-18  Nicola Pero  <nicola.pero@meta-innovation.com>
1017
1018         Merge from 'apple/trunk' branch on FSF servers.
1019
1020         2005-11-08  Fariborz Jahanian <fjahanian@apple.com>
1021
1022         Radar 4330422
1023         * c-common.h (objc_non_volatilized_type): New declaration
1024         * stub-objc.c (objc_non_volatilized_type): New stub.
1025
1026 2010-10-17  Nicola Pero  <nicola.pero@meta-innovation.com>
1027
1028         Merge from 'apple/trunk' branch on FSF servers.
1029
1030         2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
1031
1032         Radar 4133425
1033         * c-common.h (objc_diagnose_private_ivar): New decl.
1034         * stub-objc.c (objc_diagnose_private_ivar): New stub.
1035
1036 2010-10-17  Iain Sandoe  <iains@gcc.gnu.org>
1037
1038         * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
1039         * c-common.h (enum rid): Add RID_AT_PACKAGE.
1040         (objc_ivar_visibility_kind): New enum.
1041         (objc_set_visibility): Adjust prototype to use visibility enum.
1042         * stub-objc.c (objc_set_visibility): Adjust stub to use
1043         visibility enum.
1044
1045 2010-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1046
1047         * c-cppbuiltin.c (builtin_define_float_constants): Emit
1048         __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
1049         has the appropriate fma builtins.
1050         (c_cpp_builtins): Adjust call to builtin_define_float_constants.
1051
1052 2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>
1053
1054         merge from FSF apple 'trunk' branch.
1055         2006 Fariborz Jahanian <fjahanian@apple.com>
1056
1057         Radars 4436866, 4505126, 4506903, 4517826
1058         * c-common.c (c_common_resword): Define @property and its attributes.
1059         * c-common.h: Define property attribute enum entries.
1060         (OBJC_IS_PATTR_KEYWORD): New.
1061         (objc_property_attribute_kind): New enum.
1062         Declare objc_set_property_attr (), objc_add_property_variable (),
1063         objc_build_getter_call () and objc_build_setter_call ().
1064         * stub-objc.c (objc_set_property_attr): New stub.
1065         (objc_add_property_variable): Likewise.
1066         (objc_build_getter_call): Likewise.
1067         (objc_build_setter_call) Likewise.
1068
1069 2010-10-13  Iain Sandoe  <iains@gcc.gnu.org>
1070
1071         merge from FSF apple 'trunk' branch.
1072         2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
1073
1074         Radar 3803157 (method attributes)
1075         * c-common.c (handle_deprecated_attribute): Recognize
1076         objc methods as valid declarations.
1077         * c-common.h: Declare objc_method_decl ().
1078         * stub-objc.c (objc_method_decl): New stub.
1079
1080 2010-10-08  Joseph Myers  <joseph@codesourcery.com>
1081
1082         * c-common.c (parse_optimize_options): Call
1083         decode_cmdline_options_to_array_default_mask before
1084         decode_options.  Update arguments to decode_options.
1085         * c-common.h (c_common_init_options_struct): Declare.
1086         * c-opts.c (c_common_init_options_struct): New.  Split out from
1087         c_common_init_options.
1088
1089 2010-10-06  Nicola Pero  <nicola.pero@meta-innovation.com>
1090
1091         Implemented fast enumeration for Objective-C.
1092         * c-common.h (objc_finish_foreach_loop): New.
1093         * stub-objc.c (objc_finish_foreach_loop): New.
1094
1095 2010-10-05  Joseph Myers  <joseph@codesourcery.com>
1096
1097         * c-common.h (struct diagnostic_context): Don't declare here.
1098         (c_common_initialize_diagnostics): Declare using
1099         diagnostic_context typedef.
1100         * c-opts.c (c_common_handle_option): Pass global_dc to
1101         handle_generated_option.
1102
1103 2010-10-04  Joseph Myers  <joseph@codesourcery.com>
1104
1105         * c-opts.c (c_common_handle_option): Pass &global_options_set to
1106         handle_generated_option.
1107
1108 2010-10-03  Ian Lance Taylor  <iant@google.com>
1109
1110         * c.opt (-fplan9-extensions): New option.
1111
1112 2010-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
1113
1114         * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
1115         Remove.
1116         (c_cpp_builtins): Call functions from cppbuiltin.c instead
1117         of duplicating code.
1118
1119 2010-09-30  Iain Sandoe  <iains@gcc.gnu.org>
1120
1121         * c-common.c: Add two new entries for @optional
1122         and @required keywords.
1123
1124         merge from FSF 'apple/trunk' branch.
1125         2006-01-30  Fariborz Jahanian <fjahanian@apple.com>
1126
1127         Radar 4386773
1128         * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
1129         objective-c keywords.
1130         (objc_set_method_opt): New declaration.
1131         * stub-objc.c (objc_set_method_opt): New stub.
1132         
1133 2010-09-30  Joseph Myers  <joseph@codesourcery.com>
1134
1135         * c-common.c (handle_optimize_attribute): Pass &global_options to
1136         cl_optimization_save and cl_optimization_restore.
1137         * c-opts.c (c_common_handle_option): Pass &global_options to
1138         handle_generated_option.
1139         * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
1140         (handle_pragma_pop_options, handle_pragma_reset_options): Pass
1141         &global_options to cl_optimization_restore.
1142
1143 2010-09-30  Nicola Pero  <nicola.pero@meta-innovation.com>
1144
1145         * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
1146         Objective-C/Objective-C++ keywords.
1147
1148 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1149
1150         Merge from 'apple/trunk' branch on FSF servers. 
1151         
1152         2005-10-04  Fariborz Jahanian <fjahanian@apple.com>
1153
1154         Radar 4281748
1155         * c-common.h (objc_check_global_decl): New declaration.
1156         * stub-objc.c (objc_check_global_decl): New stub.
1157
1158 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
1159
1160         * c.opt: Don't use VarExists.
1161
1162 2010-09-29  Joseph Myers  <joseph@codesourcery.com>
1163
1164         * c-common.c (c_cpp_error): Update names of diagnostic_context
1165         members.
1166         * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
1167         cl_optimization members.
1168         * c-opts.c (warning_as_error_callback, c_common_handle_option,
1169         sanitize_cpp_opts, finish_options): Update names of cpp_options
1170         members.
1171
1172 2010-09-29  Nicola Pero  <nicola.pero@meta-innovation.com>
1173
1174         * c-common.h (OBJC_IS_CXX_KEYWORD): New macro.  Updated comments.
1175         (objc_is_reserved_word): Removed.
1176         * c-common.c: Updated comments.
1177         * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
1178         objc_is_reserved_word.
1179         * stub-objc.c (objc_is_reserved_word): Removed.
1180
1181 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
1182
1183         * c-common.h (objc_add_method_declaration): Adjust prototype to 
1184         include attributes.
1185         (objc_start_method_definition): Likewise.
1186         (objc_build_keyword_decl): Likewise.
1187         * stub-objc.c:(objc_add_method_declaration): Handle attributes.
1188         (objc_start_method_definition): Likewise.
1189         (objc_build_keyword_decl): Likewise.
1190
1191 2010-09-28  Iain Sandoe  <iains@gcc.gnu.org>
1192
1193         * c-common.h (objc_start_class_interface): Adjust prototype.
1194         (objc_start_category_interface): Likewise.
1195         (objc_start_protocol): Likewise.
1196         * stub-objc.c (objc_start_protocol): Adjust for extra argument.
1197         (objc_start_class_interface): Likewise.
1198         (objc_start_category_interface): Likewise.
1199
1200 2010-09-27  Ian Lance Taylor  <iant@google.com>
1201
1202         * c-common.c (c_common_attribute_table): Add no_split_stack.
1203         (handle_no_split_stack_attribute): New static function.
1204
1205 2010-09-27  Nicola Pero  <nicola.pero@meta-innovation.com>
1206
1207         Merge from 'apple/trunk' branch on FSF servers. 
1208
1209         2005-12-15  Fariborz Jahanian <fjahanian@apple.com>
1210
1211         Radar 4229905   
1212         * c-common.h (objc_have_common_type): New declaration.
1213         * stub-objc.c (objc_have_common_type): New stub.
1214
1215         2005-06-22  Ziemowit Laski  <zlaski@apple.com>
1216
1217         Radar 4154928
1218         * c-common.h (objc_common_type): New prototype.
1219         * stub-objc.c (objc_common_type): New stub.     
1220
1221 2010-09-24  Jan Hubicka  <jh@suse.cz>
1222
1223         * c-common.c (handle_leaf_attribute): New function.
1224         (struct attribute_spec c_common_att): Add leaf.
1225
1226 2010-09-22  Joseph Myers  <joseph@codesourcery.com>
1227
1228         * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
1229         -comments-in-macros, -define-macro, -define-macro=, -dependencies,
1230         -dump, -dump=, -imacros, -imacros=, -include, -include=,
1231         -include-barrier, -include-directory, -include-directory=,
1232         -include-directory-after, -include-directory-after=,
1233         -include-prefix, -include-prefix=, -include-with-prefix,
1234         -include-with-prefix=, -include-with-prefix-after,
1235         -include-with-prefix-after=, -include-with-prefix-before,
1236         -include-with-prefix-before=, -no-integrated-cpp,
1237         -no-line-commands, -no-standard-includes, -no-warnings, -output,
1238         -output=, -pedantic, -pedantic-errors, -preprocess,
1239         -print-missing-file-dependencies, -trace-includes, -traditional,
1240         -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
1241         -user-dependencies, -verbose, -write-dependencies,
1242         -write-user-dependencies, no-integrated-cpp, traditional): New.
1243
1244 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
1245
1246         PR objc/23710
1247         * c-common.h (objc_start_method_definition): Return bool instead
1248         of void.
1249         * stub-objc.c (objc_start_method_definition): Return bool instead
1250         of void.
1251
1252 2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>
1253
1254         PR objc/25965
1255         * c-common.h (objc_get_interface_ivars): New declaration.
1256         * stub-objc.c (objc_get_interface_ivars): New stub.
1257
1258 2010-09-15  Ian Lance Taylor  <iant@google.com>
1259
1260         * c-common.c (parse_optimize_options): Do not capitalize warning
1261         messages.  Remove period at end of warning message.
1262
1263 2010-09-09  Nathan Sidwell  <nathan@codesourcery.com>
1264
1265         * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
1266         (handle_alias_attribute): ... here.
1267         (handle_ifunc_attribute): New.
1268
1269 2010-09-06  Mark Mitchell  <mark@codesourcery.com>
1270
1271         * c-common.h (do_warn_double_promotion): Declare.
1272         * c-common.c (do_warn_double_promotion): Define.
1273
1274 2010-09-05  Mark Mitchell  <mark@codesourcery.com>
1275
1276         * c.opt (Wdouble-promotion): New.
1277
1278 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1279
1280         * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
1281         fvtable-thunks, fxref): Mark no longer supported in help text.
1282
1283 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1284
1285         * c.opt (Wimport, fall-virtual, falt-external-templates,
1286         fdefault-inline, fenum-int-equiv, fexternal-templates,
1287         fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
1288         fname-mangling-version-, fnew-abi, fnonnull-objects,
1289         foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
1290         fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
1291         applicable.
1292         (fhandle-exceptions): Mark with Alias and Warn.
1293         * c-opts.c (c_common_handle_option): Don't handle options marked
1294         as ignored.
1295
1296 2010-09-02  Joseph Myers  <joseph@codesourcery.com>
1297
1298         * c.opt (Wcomments, Werror-implicit-function-declaration,
1299         ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
1300         std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
1301         aliases.
1302         * c-common.c (option_codes): Use OPT_Wcomment instead of
1303         OPT_Wcomments.
1304         * c-opts.c (warning_as_error_callback, c_common_handle_option):
1305         Don't handle options marked as aliases.
1306
1307 2010-08-25  Richard Guenther  <rguenther@suse.de>
1308
1309         * c-common.c (c_common_get_alias_set): Remove special
1310         handling for pointers.
1311
1312 2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
1313
1314         * c-common.c: Use FOR_EACH_VEC_ELT.
1315         * c-gimplify.c: Likewise.
1316         * c-pragma.c: Likewise.
1317
1318 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
1319
1320         * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
1321         RejectDriver.
1322         (MMDX): Change back to MMD.  Mark NoDriverArg instead of
1323         RejectDriver.
1324         * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
1325         instead of OPT_MDX and OPT_MMDX.
1326
1327 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
1328
1329         * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
1330
1331 2010-08-12  Joseph Myers  <joseph@codesourcery.com>
1332
1333         * c.opt (MD, MMD): Change to MDX and MMDX.
1334         * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
1335
1336 2010-08-11  Joseph Myers  <joseph@codesourcery.com>
1337
1338         * c-opts.c (c_common_handle_option): Call handle_generated_option
1339         instead of handle_option.
1340
1341 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1342
1343         * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
1344         (maybe_apply_renaming_pragma): Delete unneeded declarations.
1345
1346 2010-08-08  Nathan Froyd  <froydnj@codesourcery.com>
1347
1348         * c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
1349         (pending_redefine_extname): Change type to a VEC.
1350         (add_to_renaming_pragma_list): Update for new type of
1351         pending_redefine_extname.
1352         (maybe_apply_renaming_pragma): Likewise.
1353
1354 2010-08-04  Arnaud Charlet  <charlet@adacore.com>
1355
1356         * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
1357         visited.
1358         (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
1359         decide whether a type has already been declared/seen.
1360         Do not go to the original type.
1361         (dump_nested_types): New parameter forward.
1362         Generate forward declaration if needed and mark type as visited.
1363         (print_ada_declaration): Call dump_nested_types if not already done.
1364         Mark types as visited.
1365
1366 2010-08-03  Joseph Myers  <joseph@codesourcery.com>
1367
1368         * c.opt (-print-pch-checksum): Remove option.
1369         * c-opts.c (c_common_handle_option): Don't handle
1370         OPT_print_pch_checksum.
1371
1372 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1373
1374         * c-common.h (c_common_handle_option): Update prototype and return
1375         value type.
1376         * c-opts.c (c_common_handle_option): Update prototype and return
1377         value type.  Update calls to handle_option and
1378         enable_warning_as_error.
1379
1380 2010-07-27  Jakub Jelinek  <jakub@redhat.com>
1381
1382         PR c/45079
1383         * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
1384
1385 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1386
1387         * c-common.h (c_common_missing_argument): Remove.
1388         * c-opts.c (c_common_missing_argument): Remove.
1389         * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
1390         idirafter, imacros, include, isysroot, isystem, iquote): Add
1391         MissingArgError.
1392         * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
1393
1394 2010-07-27  Joseph Myers  <joseph@codesourcery.com>
1395
1396         * c-common.h (c_common_option_lang_mask,
1397         c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
1398         New.
1399         (c_common_init_options): Update prototype.
1400         * c-opts.c (c_common_option_lang_mask): New.
1401         (c_common_initialize_diagnostics): Split out of
1402         c_common_init_options.
1403         (accept_all_c_family_options, c_common_complain_wrong_lang_p):
1404         New.
1405         (c_common_init_options): Update prototype.  Use decoded options in
1406         search for -lang-asm.
1407
1408 2010-07-15  Nathan Froyd  <froydnj@codesourcery.com>
1409
1410         * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
1411         * c-format.c: Likewise.
1412
1413 2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1414
1415         * c-common.h: Include diagnostic-core.h. Error if already
1416         included.
1417         * c-semantics.c: Do not define GCC_DIAG_STYLE here.
1418
1419 2010-07-03  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1420
1421         * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
1422         Do not include expr.h
1423         (vector_mode_valid_p): Move here.
1424
1425 2010-06-21  DJ Delorie  <dj@redhat.com>
1426
1427         * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
1428         allow these pragmas anywhere.
1429
1430 2010-06-14  Jakub Jelinek  <jakub@redhat.com>
1431
1432         PR bootstrap/44509
1433         * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
1434         (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
1435         (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
1436         ggc_strdup instead of xstrdup.
1437
1438 2010-06-10  Jakub Jelinek  <jakub@redhat.com>
1439
1440         * c-cppbuiltin.c: Include cpp-id-data.h.
1441         (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
1442         (lazy_hex_fp_value): New function.
1443         (builtin_define_with_hex_fp_value): Provide definitions lazily.
1444
1445 2010-06-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1446
1447         * c-gimplify.c: Do not include tree-flow.h
1448
1449 2010-06-29  Joern Rennecke  <joern.rennecke@embecosm.com>
1450
1451         PR other/44034
1452         * c-common.c: Rename targetm member:
1453         targetm.enum_va_list -> targetm.enum_va_list_p
1454
1455 2010-06-28  Anatoly Sokolov  <aesok@post.ru>
1456
1457         * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
1458
1459 2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>
1460
1461         * c-cppbuiltin.c: Do not include except.h.
1462
1463 2010-06-24  Andi Kleen  <ak@linux.intel.com>
1464
1465         * c-common.c (warn_for_omitted_condop): New.
1466         * c-common.h (warn_for_omitted_condop): Add prototype.
1467
1468 2010-06-21  Joseph Myers  <joseph@codesourcery.com>
1469
1470         * c.opt (lang-objc): Remove.
1471         * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
1472
1473 2010-06-21  Joern Rennecke  <joern.rennecke@embecosm.com>
1474
1475         * c-opts.c: Include "tm_p.h".
1476
1477 2010-06-20  Joseph Myers  <joseph@codesourcery.com>
1478
1479         * c-common.c (parse_optimize_options): Update call to
1480         decode_options.
1481
1482 2010-06-18  Nathan Froyd  <froydnj@codesourcery.com>
1483
1484         * c-common.c (record_types_used_by_current_var_decl): Adjust for
1485         new type of types_used_by_cur_var_decl.
1486
1487 2010-06-17  Joern Rennecke  <joern.rennecke@embecosm.com>
1488
1489         PR bootstrap/44512
1490         * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
1491         for C++ standard compliance.
1492
1493 2010-06-16  Jason Merrill  <jason@redhat.com>
1494
1495         * c.opt: Add -Wnoexcept.
1496
1497 2010-06-16  Richard Guenther  <rguenther@suse.de>
1498
1499         PR c/44555
1500         * c-common.c (c_common_truthvalue_conversion): Remove
1501         premature and wrong optimization concering ADDR_EXPRs.
1502
1503 2010-06-15  Arnaud Charlet  <charlet@adacore.com>
1504
1505         * c-ada-spec.c (dump_sloc): Remove column info.
1506         (is_simple_enum): New function.
1507         (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
1508         enum types when relevant.
1509
1510 2010-06-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1511
1512         * c-common.c (conversion_warning): Warn at expression
1513         location.
1514
1515 2010-06-10  Joseph Myers  <joseph@codesourcery.com>
1516
1517         * c-opts.c (c_common_handle_option): Don't handle
1518         OPT_fshow_column.
1519
1520 2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
1521
1522         * c-pragma.c (push_alignment): Use typed GC allocation.
1523         (handle_pragma_push_options): Likewise.
1524
1525         * c-common.c (parse_optimize_options): Likewise.
1526
1527         * c-common.h (struct sorted_fields_type): Add variable_size GTY
1528         option.
1529
1530 2010-06-07  Joseph Myers  <joseph@codesourcery.com>
1531
1532         * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
1533         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1534         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1535         flag_signed_bitfields, warn_strict_null_sentinel,
1536         flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
1537         flag_gen_declaration, flag_no_gnu_keywords,
1538         flag_implement_inlines, flag_implicit_templates,
1539         flag_implicit_inline_templates, flag_optional_diags,
1540         flag_elide_constructors, flag_default_inline, flag_rtti,
1541         flag_conserve_space, flag_access_control, flag_check_new,
1542         flag_new_for_scope, flag_weak, flag_working_directory,
1543         flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
1544         flag_enforce_eh_specs, flag_threadsafe_statics,
1545         flag_pretty_templates): Remove.
1546         * c-common.h (flag_preprocess_only, flag_nil_receivers,
1547         flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
1548         flag_replace_objc_classes, flag_undef, flag_no_builtin,
1549         flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1550         flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1551         flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
1552         flag_no_gnu_keywords, flag_implement_inlines,
1553         flag_implicit_templates, flag_implicit_inline_templates,
1554         flag_optional_diags, flag_elide_constructors, flag_default_inline,
1555         flag_rtti, flag_conserve_space, flag_access_control,
1556         flag_check_new, flag_new_for_scope, flag_weak,
1557         flag_working_directory, flag_use_cxa_atexit,
1558         flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
1559         flag_threadsafe_statics, flag_pretty_templates,
1560         warn_strict_null_sentinel): Remove.
1561         * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
1562         fbuiltin, fcheck-new, fconserve-space, felide-constructors,
1563         fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
1564         fimplicit-inline-templates, fimplicit-templates,
1565         flax-vector-conversions, fms-extensions, fnil-receivers,
1566         fnonansi-builtins, fpretty-templates, freplace-objc-classes,
1567         frtti, fshort-double, fshort-enums, fshort-wchar,
1568         fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
1569         funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
1570         fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
1571         gen-decls, undef): Use Var.
1572         (fdefault-inline, foptional-diags): Document as doing nothing.
1573         * c-opts.c (c_common_handle_option): Remove cases for options now
1574         using Var.  Mark ignored options as such.
1575
1576 2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>
1577
1578         * c-common.c: Moved to here from parent directory. 
1579         * c-common.def: Likewise.
1580         * c-common.h: Likewise.
1581         * c-cppbuiltin.c: Likewise.
1582         * c-dump.c: Likewise.
1583         * c-format.c: Likewise.
1584         * c-format.h : Likewise.
1585         * c-gimplify.c: Likewise.
1586         * c-lex.c: Likewise.
1587         * c-omp.c: Likewise.
1588         * c.opt: Likewise.
1589         * c-opts.c: Likewise.
1590         * c-pch.c: Likewise.
1591         * c-ppoutput.c: Likewise.
1592         * c-pragma.c: Likewise.
1593         * c-pragma.h: Likewise.
1594         * c-pretty-print.c: Likewise.
1595         * c-pretty-print.h: Likewise.
1596         * c-semantics.c: Likewise.
1597         * stub-objc.c: Likewise.
1598
1599         * c-common.c: Include gt-c-family-c-common.h.
1600         * c-pragma.c: Include gt-c-family-c-pragma.h.
1601 \f
1602 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
1603
1604 Copying and distribution of this file, with or without modification,
1605 are permitted in any medium without royalty provided the copyright
1606 notice and this notice are preserved.