1 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
4 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
5 of array types with an unknown bound.
7 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9 * c-common.c (flag_isoc99): Update comment to refer to C11.
10 (flag_isoc1x): Change to flag_isoc11.
11 * c-common.h (flag_isoc99): Update comment to refer to C11.
12 (flag_isoc1x): Change to flag_isoc11.
13 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
15 * c-opts.c (set_std_c1x): Change to set_std_c11.
16 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
18 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
19 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
20 * c.opt (std=c1x): Change to std=c11. Document as non-draft
22 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
23 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
24 (std=gnu1x): Make alias of std=gnu11.
26 2011-12-19 Jason Merrill <jason@redhat.com>
29 * c-common.c (handle_transparent_union_attribute): Check the first
30 field if the type is complete.
32 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
35 * c-common.c (RID_IS_FINAL): Add.
36 * c-common.h (RID_IS_FINAL): Add.
38 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
40 * c.opt (fgnu-runtime): Provide full description.
41 (fnext-runtime): Likewise.
42 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
44 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
46 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
47 predefines in one place. Add LOCK_FREE predefines.
48 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
51 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
54 * c-common.c (get_atomic_generic_size): Check for various error
56 (resolve_overloaded_atomic_exchange,
57 resolve_overloaded_atomic_compare_exchange,
58 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
59 error_mark_node for error conditions.
61 2011-11-08 Richard Guenther <rguenther@suse.de>
66 2011-11-07 Richard Henderson <rth@redhat.com>
67 Aldy Hernandez <aldyh@redhat.com>
68 Torvald Riegel <triegel@redhat.com>
70 Merged from transactional-memory.
72 * c-common.c (handle_tm_wrap_attribute,
73 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
74 (struct c_common_reswords): Added __transaction* keywords.
75 (struct c_common_attribute_table): Added transaction* and tm_regparm
77 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
79 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
80 find_tm_attribute): Declare.
82 2011-11-07 Jason Merrill <jason@redhat.com>
85 * c-common.c, c-common.h: Revert yesterday's changes.
87 2011-11-06 Jason Merrill <jason@redhat.com>
90 * c-common.c (decl_has_visibility_attr): Split out from...
91 (c_determine_visibility): ...here.
92 * c-common.h: Declare it.
94 2011-11-06 Joseph Myers <joseph@codesourcery.com>
96 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
97 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
99 (check_user_alignment): New. Split out of
100 handle_aligned_attribute. Disallow integer constants with
101 noninteger types. Conditionally allow zero.
102 (handle_aligned_attribute): Use check_user_alignment.
103 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
105 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
106 Richard Henderson <rth@redhat.com>
108 Merged from cxx-mem-model.
110 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
111 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
112 parameters that are the same type size.
113 (get_atomic_generic_size): New. Find size of generic
114 atomic function parameters and do typechecking.
115 (add_atomic_size_parameter): New. Insert size into parameter list.
116 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
117 either __atomic_exchange_n or external library call.
118 (resolve_overloaded_atomic_compare_exchange): Restructure
119 __atomic_compare_exchange to either _n variant or external library call.
120 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
121 __atomic_load_n or an external library call.
122 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
123 __atomic_store_n or an external library call.
124 (resolve_overloaded_builtin): Handle new __atomic builtins.
126 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
129 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
130 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
131 <INDIRECT_REF>: Return the argument.
132 <ARRAY_REF>: Remove special code for negative offset.
133 Call fold_build_pointer_plus instead of size_binop.
134 (fold_offsetof): Remove STOP_REF argument and adjust.
135 * c-common.h (fold_offsetof_1): Declare.
136 (fold_offsetof): Remove STOP_REF argument.
138 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
141 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
142 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
143 Wnarrowing for C++0x and C++98.
144 * c.opt ([Wnarrowing]): Update.
146 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
149 * c.opt: Add Wzero-as-null-pointer-constant.
151 2011-10-31 Jason Merrill <jason@redhat.com>
153 * c.opt (-fdeduce-init-list): Off by default.
156 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
157 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
159 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
161 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
164 * c.opt (fvisibility-inlines-hidden): Description change.
166 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
168 Implement C++11 user-defined literals.
169 * c-common.c (build_userdef_literal): New.
170 * c-common.def: New tree code.
171 * c-common.h (tree_userdef_literal): New tree struct and accessors.
172 * c-lex.c (interpret_float): Add suffix parm.
173 (c_lex_with_flags): Build literal tokens.
175 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
179 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
182 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
183 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
184 Wnarrowing for C++0x and C++98.
185 * c.opt ([Wnarrowing]): Update.
187 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
190 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
191 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
192 Wnarrowing for C++0x and C++98.
193 * c.opt ([Wnarrowing]): Update.
195 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
198 * c-common.c (conversion_warning): Remove code looking for
201 2011-10-18 Dodji Seketeli <dodji@redhat.com>
204 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
205 !NO_IMPLICIT_EXTERN_C.
207 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
209 * c-common.c (c_common_reswords): Add __bases,
211 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
213 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
216 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
218 2011-10-15 Tom Tromey <tromey@redhat.com>
219 Dodji Seketeli <dodji@redhat.com>
221 * c.opt (fdebug-cpp): New option.
222 * c-opts.c (c_common_handle_option): Handle the option.
223 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
224 output stream in parameter. Factorized from ...
225 (maybe_print_line): ... this. Dump location debug information when
226 -fdebug-cpp is in effect.
227 (print_line_1): New static function. Takes an output stream in
228 parameter. Factorized from ...
229 (print_line): ... here. Dump location information when -fdebug-cpp
231 (scan_translation_unit): Dump location information when
232 -fdebug-cpp is in effect.
234 2011-10-15 Tom Tromey <tromey@redhat.com>
235 Dodji Seketeli <dodji@redhat.com>
237 * c.opt (ftrack-macro-expansion): New option. Handle it with and
239 * c-opts.c (c_common_handle_option)<case
240 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
241 cases. Handle -ftrack-macro-expansion with and without argument.
243 2011-10-15 Tom Tromey <tromey@redhat.com>
244 Dodji Seketeli <dodji@redhat.com>
246 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
247 (print_line, cb_define, do_line_change): Adjust to avoid touching
248 the internals of struct line_map. Use the public API instead.
249 * c-pch.c (c_common_read_pch): Likewise.
250 * c-lex.c (fe_file_change): Likewise.
252 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
255 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
257 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
260 * c-pretty-print.c (pp_c_floating_constant): Output
261 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
263 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
265 * c-common.c (def_builtin_1): Delete old interface with two
266 parallel arrays to hold standard builtin declarations, and replace
267 it with a function based interface that can support creating
268 builtins on the fly in the future. Change all uses, and poison
269 the old names. Make sure 0 is not a legitimate builtin index.
270 * c-omp.c (c_finish_omp_barrier): Ditto.
271 (c_finish_omp_taskwait): Ditto.
272 (c_finish_omp_flush): Ditto.
274 2011-10-11 Tristan Gingold <gingold@adacore.com>
276 * c.opt: (fallow-parameterless-variadic-functions): New.
278 2011-09-08 Dodji Seketeli <dodji@redhat.com>
280 PR c++/33255 - Support -Wunused-local-typedefs warning
281 * c-common.h (struct c_language_function::local_typedefs): New
283 (record_locally_defined_typedef, maybe_record_typedef_use)
284 (maybe_warn_unused_local_typedefs): Declare new functions.
285 * c-common.c (record_locally_defined_typedef)
286 (maybe_record_typedef_use)
287 (maybe_warn_unused_local_typedefs): Define new functions.
288 * c.opt: Declare new -Wunused-local-typedefs flag.
290 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
293 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
296 2011-09-05 Richard Guenther <rguenther@suse.de>
298 * c-common.c (complete_array_type): Use ssize_int (-1) instead
299 of integer_minus_one_node for empty array upper bounds.
301 2011-08-28 Dodji Seketeli <dodji@redhat.com>
303 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
304 it's the first time it's being called on this main TU.
306 2011-08-24 Richard Guenther <rguenther@suse.de>
309 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
311 2011-08-22 Gabriel Charette <gchare@google.com>
313 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
314 defined in cpp_init_builtins and c_cpp_builtins.
316 2011-08-19 Joseph Myers <joseph@codesourcery.com>
318 * c-common.c (c_common_reswords): Add __builtin_complex.
319 * c-common.h (RID_BUILTIN_COMPLEX): New.
321 2011-08-18 Joseph Myers <joseph@codesourcery.com>
323 * c-common.c (c_common_reswords): Add _Noreturn.
324 (keyword_is_function_specifier): Handle RID_NORETURN.
325 * c-common.h (RID_NORETURN): New.
327 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
329 * c-common.c (unsafe_conversion_p): New function. Check if it is
330 unsafe to convert an expression to the type.
331 (conversion_warning): Adjust, use unsafe_conversion_p.
332 * c-common.h (unsafe_conversion_p): New function declaration.
334 2011-08-02 Jakub Jelinek <jakub@redhat.com>
336 * c-common.h (c_finish_omp_atomic): Adjust prototype.
337 (c_finish_omp_taskyield): New prototype.
338 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
339 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
340 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
341 or RHS1 have side-effects, evaluate those too in the right spot,
342 if it is a decl and LHS is also a decl, error out if they
344 (c_finish_omp_taskyield): New function.
345 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
346 * c-pragma.c (omp_pragmas): Add taskyield.
347 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
348 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
349 PRAGMA_OMP_CLAUSE_MERGEABLE.
351 2011-07-25 Dodji Seketeli <dodji@redhat.com>
353 * c-common.h (set_underlying_type): Remove parm name from
356 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
358 * c-pretty-print.h: Search c-common.h in c-family.
360 2011-07-22 Jason Merrill <jason@redhat.com>
363 * c.opt (Wnarrowing): New.
366 * c-common.h: Declare c_linkage_bindings.
367 * c-pragma.c (handle_pragma_redefine_extname): Use it.
370 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
371 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
372 as flag_isoc99 for 'restrict'.
373 (pp_c_specifier_qualifier_list): Likewise for _Complex.
375 2011-07-21 Ian Lance Taylor <iant@google.com>
378 * c-common.c (c_disable_warnings): New static function.
379 (c_enable_warnings): New static function.
380 (c_fully_fold_internal): Change local unused_p to bool. Call
381 c_disable_warnings and c_enable_warnings rather than change
382 c_inhibit_evaluation_warnings.
384 2011-07-20 Jason Merrill <jason@redhat.com>
387 PR c++/42603 (DR 950)
388 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
389 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
391 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
393 2011-07-19 Richard Guenther <rguenther@suse.de>
395 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
396 * c-omp.c (c_finish_omp_for): Likewise.
398 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
400 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
401 body on the next line.
403 2011-07-08 Jason Merrill <jason@redhat.com>
406 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
409 * c-common.c (c_apply_type_quals_to_decl): Don't check
410 TYPE_NEEDS_CONSTRUCTING.
412 2011-07-06 Richard Guenther <rguenther@suse.de>
414 * c-common.c (c_common_nodes_and_builtins):
415 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
417 2011-07-05 Richard Guenther <rguenther@suse.de>
419 * c-common.c (c_common_nodes_and_builtins): Build all common
422 2011-06-27 Jakub Jelinek <jakub@redhat.com>
424 * c-common.h (c_tree_chain_next): New static inline function.
426 * c-common.c (check_builtin_function_arguments): Handle
427 BUILT_IN_ASSUME_ALIGNED.
429 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
431 * c-common.c: Add sync_ or SYNC__ to builtin names.
432 * c-omp.c: Add sync_ or SYNC__ to builtin names.
434 2011-06-20 Pierre Vittet <piervit@pvittet.com>
436 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
438 (gen_pragma_handler): New union.
439 (internal_pragma_handler): New type.
440 (c_register_pragma_with_data)
441 (c_register_pragma_with_expansion_and_data): New functions.
443 * c-pragma.c (registered_pragmas, c_register_pragma_1)
444 (c_register_pragma, c_register_pragma_with_expansion)
445 (c_invoke_pragma_handler): Changed to work with
446 internal_pragma_handler.
447 (c_register_pragma_with_data)
448 (c_register_pragma_with_expansion_and_data): New functions.
450 2011-06-14 Joseph Myers <joseph@codesourcery.com>
452 * c-common.c: Include common/common-target.h.
453 (handle_section_attribute): Use
454 targetm_common.have_named_sections.
455 * c-cppbuiltin.c: Include common/common-target.h.
456 (c_cpp_builtins): Use targetm_common.except_unwind_info.
458 2011-06-10 Richard Guenther <rguenther@suse.de>
460 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
461 to print a IDENTIFIER_NODE.
463 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
464 Joseph Myers <joseph@codesourcery.com>
466 * c.opt (fbuilding-libgcc): New option.
467 * c-cppbuiltin.c (c_cpp_builtins): Define
468 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
470 2011-06-07 Jason Merrill <jason@redhat.com>
472 * c-common.c (max_tinst_depth): Lower default to 900.
474 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
476 2011-06-07 Richard Guenther <rguenther@suse.de>
478 * c-common.c (c_common_nodes_and_builtins): Do not set
479 size_type_node or call set_sizetype.
481 2011-06-07 Dodji Seketeli <dodji@redhat.com>
484 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
485 type when using pointer comparison to compare types.
487 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
489 * c.opt: Add -Wdelete-non-virtual-dtor.
490 * c-opts.c (c_common_handle_option): Include it in -Wall.
492 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
497 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
499 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
502 2011-05-27 Jakub Jelinek <jakub@redhat.com>
505 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
506 C++ don't call c_common_truthvalue_conversion on void type arms.
508 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
510 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
511 (stmt_list_stack): Define.
512 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
513 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
515 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
517 * c-common.c (warning_candidate_p): Check for BLOCKs.
519 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
521 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
524 2011-05-25 Jakub Jelinek <jakub@redhat.com>
526 * c-common.c (def_fn_type): Remove extra va_end.
528 2011-05-23 Jason Merrill <jason@redhat.com>
531 * c-common.c (c_common_get_narrower): New.
532 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
534 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
536 * c-common.h (check_function_arguments): Tweak prototype of
537 check_function_arguments.
538 * c-common.c (check_function_arguments): Likewise. Adjust
539 calls to check_function_nonnull, check_function_format, and
540 check_function_sentinel.
541 (check_function_sentinel): Take a FUNCTION_TYPE rather than
542 separate attributes and typelist arguments. Use
543 FOREACH_FUNCTION_ARGS to iterate over argument types.
545 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
547 * c-common.c (c_common_reswords): Reorder.
548 * c-common.h (rid): Likewise.
550 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
552 * c-common.c (def_fn_type): Don't call build_function_type, call
553 build_function_type_array or build_varargs_function_type_array
555 (c_common_nodes_and_builtins): Likewise.
557 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
559 * c-common.c (c_add_case_label): Omit the loc argument to
561 * c-common.h (build_case_label): Remove.
562 * c-semantics.c (build_case_label): Remove.
564 2011-05-05 Joseph Myers <joseph@codesourcery.com>
566 * c-objc.h (objc_start_method_definition): Update prototype.
567 * stub-objc.c (objc_start_method_definition): Add extra parameter.
569 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
571 * c-common.c (check_main_parameter_types): Reindent. Don't use
572 TYPE_ARG_TYPES directly.
573 (handle_nonnull_attribute): Likewise.
574 (sync_resolve_params): Likewise.
575 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
576 to check_format_string.
577 (handle_format_attribute): Likewise.
578 (check_format_string): Take a function type to examine instead of
579 a type list. Use a function_arg_iterator to step through argument
582 2011-05-04 Richard Guenther <rguenther@suse.de>
584 * c-common.c (fix_string_type): Use size_int for index type bounds.
585 (start_fname_decls): Do not pass NULL to build_int_cst.
586 (c_init_attributes): Likewise.
587 * c-lex.c (c_lex_with_flags): Likewise.
589 2011-04-27 Jason Merrill <jason@redhat.com>
591 * c-common.c (make_tree_vector_from_list): New.
592 * c-common.h: Declare it.
594 2011-04-26 Richard Guenther <rguenther@suse.de>
596 PR preprocessor/48248
597 * c-ppoutput.c (maybe_print_line): Always optimize newlines
598 for output size with -P.
600 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
602 * c-common.c (struct c_common_resword): Add __underlying_type.
603 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
605 2011-04-20 Jim Meyering <meyering@redhat.com>
607 * c-format.c (init_dollar_format_checking): Remove useless
610 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
612 * c-objc.h (objc_get_interface_ivars): Removed.
613 (objc_detect_field_duplicates): New.
614 * stub-objc.c: Likewise.
616 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
618 * stub-objc.c (objc_declare_protocols): Renamed to
619 objc_declare_protocol.
620 * c-objc.h: Likewise.
622 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
624 * stub-objc.c (objc_declare_class): Updated argument name.
626 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
628 * c-common.h (c_common_init_ts): Declare.
629 * c-common.c (c_common_init_ts): Define.
631 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
633 * c-objc.h (objc_build_message_expr): Updated prototype.
634 * stub-objc.c (objc_build_message_expr): Likewise.
636 2011-04-12 Martin Jambor <mjambor@suse.cz>
638 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
641 2011-04-11 Richard Guenther <rguenther@suse.de>
643 * c-common.c (complete_array_type): Build a range type of
646 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
648 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
649 (handle_type_generic_attribute): Likewise.
651 2011-04-07 Jason Merrill <jason@redhat.com>
654 * c-common.c (c_common_truthvalue_conversion): Don't ignore
655 conversion from C++0x scoped enum.
657 2011-04-06 Joseph Myers <joseph@codesourcery.com>
659 * c-target-def.h: New file.
660 * c-target.def: New file.
661 * c-target.h: New file.
662 * c-common.c (targetcm): Don't define here.
663 * c-common.h (default_handle_c_option): Declare.
664 * c-format.c: Include c-target.h instead of target.h.
665 * c-opts.c: Include c-target.h instead of target.h. Explicitly
667 (default_handle_c_option): Move from targhooks.c.
669 2011-03-29 Jakub Jelinek <jakub@redhat.com>
671 PR preprocessor/48248
672 * c-ppoutput.c (print): Add src_file field.
673 (init_pp_output): Initialize it.
674 (maybe_print_line): Don't optimize by adding up to 8 newlines
675 if map->to_file and print.src_file are different file.
676 (print_line): Update print.src_file.
678 2011-03-25 Kai Tietz <ktietz@redhat.com>
680 * c-ada-spec.c (compare_comment): Use filename_cmp
681 instead of strcmp for filename.
683 2011-03-25 Jeff Law <law@redhat.com>
685 * c-family/c-common.c (def_fn_type): Add missing va_end.
687 2011-03-25 Jason Merrill <jason@redhat.com>
689 * c.opt: Add -std=c++03.
691 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
693 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
698 * c-pretty-print.c (pp_c_specifier_qualifier_list):
699 Display allowed attributes for function pointer types.
700 (pp_c_attributes_display): New function to display
701 attributes having affects_type_identity flag set to true.
702 * c-pretty-print.h (pp_c_attributes_display): New prototype.
704 * c-common.c (c_common_attribute_table):
706 (c_common_format_attribute_table): Likewise.
708 2011-03-18 Jason Merrill <jason@redhat.com>
710 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
711 * c-common.h: Don't declare it here.
712 * c-common.c: Or define it here.
713 * c-opts.c (c_common_handle_option): Or set it here.
716 * c-common.c (handle_transparent_union_attribute): Don't
717 make a duplicate type in C++.
719 2011-03-15 Jason Merrill <jason@redhat.com>
721 * c-common.c (max_constexpr_depth): New.
722 * c-common.h: Declare it.
723 * c-opts.c (c_common_handle_option): Set it.
724 * c.opt (fconstexpr-depth): New option.
726 2011-03-11 Jason Merrill <jason@redhat.com>
728 * c-common.c (attribute_takes_identifier_p): Add missing const.
731 * c-common.c (attribute_takes_identifier_p): Assume that an
732 unknown attribute takes an identifier.
734 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
737 * c-common.c (c_type_hash): Call list_length instead of iterating
738 through DECL_CHAIN. Rename 'i' to 'n_elements'.
740 2011-02-19 Jakub Jelinek <jakub@redhat.com>
743 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
745 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
747 * c.opt (fobjc-abi-version=) New.
748 (fobjc-nilcheck): New.
750 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
753 * c-common.h (keyword_is_decl_specifier): Declare.
754 * c-common.c (keyword_is_decl_specifier): Define.
755 (keyword_is_function_specifier): New function.
757 2011-01-26 Jakub Jelinek <jakub@redhat.com>
760 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
761 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
764 2011-01-26 Arnaud Charlet <charlet@adacore.com>
766 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
768 2011-01-26 Jakub Jelinek <jakub@redhat.com>
771 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
772 after init_c_lex if pch_file is set.
774 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
777 * c.opt (-fkeep-inline-dllexport): New switch.
779 2011-01-12 Richard Guenther <rguenther@suse.de>
782 * c-common.c (handle_weak_attribute): Warn instead of error
783 on declaring an inline function weak.
785 2011-01-05 Tom Tromey <tromey@redhat.com>
787 * c-common.h (lvalue_error): Update.
788 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
791 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
794 * c-objc.h (objc_finish_message_expr): Added argument to
797 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
799 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
802 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
804 * c-objc.h (objc_maybe_warn_exceptions): New.
805 * stub-objc.c (objc_maybe_warn_exceptions): New.
807 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
809 * c-common.h (readonly_error): Declare.
810 * c-common.c (readonly_error): Define.
812 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
814 * c-common.h (invalid_indirection_error): Declare.
815 * c-common.c (invalid_indirection_error): Define.
817 2010-12-03 Richard Guenther <rguenther@suse.de>
820 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
821 (pp_c_unary_expression): Likewise.
822 (pp_c_expression): Likewise.
824 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
826 * c-common.h (objc_finish_function): New.
827 (objc_non_volatilized_type): Removed.
828 (objc_type_quals_match): Removed.
829 * stub-objc.c (objc_finish_function): New.
830 (objc_non_volatilized_type): Removed.
831 (objc_type_quals_match): Removed.
833 2010-11-30 Joseph Myers <joseph@codesourcery.com>
835 * c-common.h (parse_optimize_options): Declare.
836 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
837 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
839 2010-11-29 Joseph Myers <joseph@codesourcery.com>
841 * c-opts.c (check_deps_environment_vars): Use getenv instead of
843 * c-pch.c (O_BINARY): Don't define here.
844 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
846 2010-11-25 Joseph Myers <joseph@codesourcery.com>
848 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
849 targetm.except_unwind_info.
851 2010-11-23 Joseph Myers <joseph@codesourcery.com>
853 * c-opts.c (c_common_handle_option): Pass location to
854 set_struct_debug_option.
856 2010-11-23 Joseph Myers <joseph@codesourcery.com>
858 * c-common.c (visibility_options): Move from ../opts.c.
859 * c-common.h (struct visibility_flags, visibility_options):
861 * c-opts.c (finish_options): Rename to c_finish_options.
862 (c_common_init): Update call to finish_options.
864 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
867 * c-lex.c (lex_string): Check that each string in an Objective-C
868 string concat sequence starts with either one or zero '@', and
869 that there are no spurious '@' signs at the end.
871 2010-11-20 Joseph Myers <joseph@codesourcery.com>
873 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
874 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
875 HANDLE_PRAGMA_VISIBILITY.
876 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
877 HANDLE_PRAGMA_VISIBILITY): Don't define.
878 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
880 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
885 * c-common.h (keyword_begins_type_specifier): Declare.
886 (keyword_is_storage_class_specifier): Declare.
887 (keyword_is_type_qualifier): Declare.
888 * c-common.c (keyword_begins_type_specifier): New function.
889 (keyword_is_storage_class_specifier): New function.
890 (keyword_is_type_qualifier): Declare.
892 2010-11-19 Joseph Myers <joseph@codesourcery.com>
895 * c-common.c (in_late_binary_op): Define.
896 (c_common_truthvalue_conversion): Check in_late_binary_op before
898 * c-common.h (in_late_binary_op): Declare.
900 2010-11-19 Joseph Myers <joseph@codesourcery.com>
902 * c-opts.c (c_common_handle_option): Update calls to
903 set_struct_debug_option.
905 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
907 * c-common.h (objc_declare_protocols): Added additional argument.
908 * stub-objc.c (objc_declare_protocol): Same change.
910 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
913 * c-common.h (build_real_imag_expr): Declare.
914 * c-semantics.c (build_real_imag_expr): Define.
916 2010-11-17 Joseph Myers <joseph@codesourcery.com>
918 * c-opts.c (c_common_parse_file): Take no arguments.
919 * c-common.h (c_common_parse_file): Update prototype.
921 2010-11-16 Jakub Jelinek <jakub@redhat.com>
924 * c-common.c (warning_candidate_p): Don't track non-const calls
927 2010-11-15 Ian Lance Taylor <iant@google.com>
929 * c-lex.c (init_c_lex): Set macro debug callbacks if
930 flag_dump_go_spec is set.
932 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
934 * c-common.h (objc_build_incr_expr_for_property_ref): New.
935 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
937 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
939 PR preprocessor/45038
940 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
943 2010-11-12 Joseph Myers <joseph@codesourcery.com>
945 * c-common.h (c_family_lang_mask): Declare.
946 * c-opts.c (c_family_lang_mask): Make extern.
947 * c-pragma.c (handle_pragma_diagnostic): Use
948 control_warning_option.
950 2010-11-12 Joseph Myers <joseph@codesourcery.com>
952 * c-common.c (parse_optimize_options): Update call to
954 * c-common.h (c_common_handle_option): Update prototype.
955 * c-opts.c (c_common_handle_option): Take location_t parameter and
956 pass it to other functions.
958 2010-11-11 Joseph Myers <joseph@codesourcery.com>
960 * c-opts.c (warning_as_error_callback): Remove.
961 (c_common_initialize_diagnostics): Don't call
962 register_warning_as_error_callback.
963 (c_common_handle_option): Handle -Werror=normalized= here.
965 2010-11-10 Joseph Myers <joseph@codesourcery.com>
967 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
969 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
971 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
972 Remove trailing '.' from diagnostics.
973 * c.opt (Wwrite-strings_: Avoid '`' in help text.
975 2010-11-10 Joseph Myers <joseph@codesourcery.com>
977 * c-common.c (parse_optimize_options): Pass global_dc to
979 * c-opts.c (c_common_handle_option): Pass &global_options to
980 set_Wstrict_aliasing.
981 * c.opt (v): Don't mark Common or document here.
983 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
986 * c-format.c (format_type): New type gcc_objc_string_format_type.
987 (valid_stringptr_type_p): New.
988 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
989 (check_format_string): Pass expected type, use
990 valid_stringptr_type_p (), check that the format string types are
991 consistent with the format specification.
992 (decode_format_attr): Warn if NSString is used outside objective-c.
993 (format_types_orig): Add NSString.
996 (check_format_arg): Handle format strings requiring an external parser.
997 first_target_format_type: New variable.
998 (handle_format_attribute): Set up first_target_format_type, pass the
999 expected format arg string type to check_format_string().
1000 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
1001 * stub-objc.c (objc_string_ref_type_p): New.
1002 (objc_check_format_arg): New.
1004 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
1006 Fixed using the Objective-C 2.0 dot-syntax with class names.
1007 * c-common.h (objc_build_class_component_ref): New.
1008 * stub-objc.c (objc_build_class_component_ref): New.
1010 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1012 * c.opt (Wproperty-assign-default): New option.
1014 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
1016 Implemented -fobjc-std=objc1 flag.
1017 * c.opt (fobjc-std=objc1): New option.
1019 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
1021 Implemented format and noreturn attributes for Objective-C methods.
1022 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
1023 attribute for Objective-C methods.
1025 2010-10-31 Jason Merrill <jason@redhat.com>
1027 * c-common.c (conversion_warning, warn_for_collisions_1): Use
1030 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
1032 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
1033 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
1034 (objc_add_property_declaration): Removed arguments for copies and
1036 (objc_build_getter_call): Renamed to
1037 objc_maybe_build_component_ref.
1038 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1039 (objc_is_property_ref): New.
1040 * c-common.c (c_common_reswords): Removed copies and ivar.
1041 * stub-objc.c (objc_add_property_declaration): Removed arguments
1042 for copies and ivar.
1043 (objc_build_getter_call): Renamed to
1044 objc_maybe_build_component_ref.
1045 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
1046 (objc_is_property_ref): New.
1048 2010-10-29 Arnaud Charlet <charlet@adacore.com>
1049 Matthew Gingell <gingell@adacore.com>
1051 * c-ada-spec.c (separate_class_package): New function.
1052 (pp_ada_tree_identifier): Prefix references to C++ classes with the
1053 name of their enclosing package.
1054 (print_ada_declaration): Use separate_class_package.
1056 2010-10-27 Jason Merrill <jason@redhat.com>
1058 * c-common.c (c_common_reswords): Add __is_literal_type.
1059 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
1061 * c-common.c (check_case_value): Remove special C++ code.
1063 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1065 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
1066 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
1068 (objc_add_property_declaration): Added additional arguments.
1069 (objc_property_attribute_kind): Removed.
1070 (objc_set_property_attr): Removed.
1071 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
1073 * stub-objc.c (objc_add_property_declaration): Added additional
1075 (objc_set_property_attr): Removed.
1077 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
1079 * c-common.h (objc_add_property_variable): Renamed to
1080 objc_add_property_declaration. Added location argument.
1081 * stub-objc.c (objc_add_property_variable): Same change.
1083 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
1085 * c-common.h (objc_maybe_printable_name): New.
1086 * stub-objc.c (objc_maybe_printable_name): New.
1088 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
1089 Andrew Pinski <pinskia@gmail.com>
1091 * c-common.h (c_common_mark_addressable_vec): Declare.
1092 * c-common.c (c_common_mark_addressable_vec): New function.
1094 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1096 * c-common.h (objc_set_method_type): Removed.
1097 (objc_add_method_declaration): Added boolean argument.
1098 (objc_start_method_definition): Same change.
1099 (objc_build_method_signature): Same change.
1100 * stub-objc.c (objc_set_method_type): Removed.
1101 (objc_add_method_declaration): Added boolean argument.
1102 (objc_start_method_definition): Same change.
1103 (objc_build_method_signature): Same change.
1105 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
1107 * c-common.h (finish_file): Removed.
1108 (objc_write_global_declarations): New.
1109 * c-opts.c (c_common_parse_file): Do not call finish_file.
1110 * stub-objc.c (objc_write_global_declarations): New.
1112 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1114 Implemented parsing @synthesize and @dynamic for
1115 Objective-C/Objective-C++.
1116 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
1117 (objc_add_synthesize_declaration): New.
1118 (objc_add_dynamic_declaration): New.
1119 * c-common.c (c_common_reswords): Add synthesize and dynamic.
1120 * stub-objc.c (objc_add_synthesize_declaration): New.
1121 (objc_add_dynamic_declaration): New.
1123 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
1126 * c-cppbuiltin.c (mode_has_fma): Move function here from
1127 builtins.c. Don't use the fma optab, instead just use the
1128 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
1131 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
1133 Merge from 'apple/trunk' branch on FSF servers.
1135 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
1138 * c-common.h (objc_non_volatilized_type): New declaration
1139 * stub-objc.c (objc_non_volatilized_type): New stub.
1141 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
1143 Merge from 'apple/trunk' branch on FSF servers.
1145 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
1148 * c-common.h (objc_diagnose_private_ivar): New decl.
1149 * stub-objc.c (objc_diagnose_private_ivar): New stub.
1151 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
1153 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
1154 * c-common.h (enum rid): Add RID_AT_PACKAGE.
1155 (objc_ivar_visibility_kind): New enum.
1156 (objc_set_visibility): Adjust prototype to use visibility enum.
1157 * stub-objc.c (objc_set_visibility): Adjust stub to use
1160 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1162 * c-cppbuiltin.c (builtin_define_float_constants): Emit
1163 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
1164 has the appropriate fma builtins.
1165 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
1167 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
1169 merge from FSF apple 'trunk' branch.
1170 2006 Fariborz Jahanian <fjahanian@apple.com>
1172 Radars 4436866, 4505126, 4506903, 4517826
1173 * c-common.c (c_common_resword): Define @property and its attributes.
1174 * c-common.h: Define property attribute enum entries.
1175 (OBJC_IS_PATTR_KEYWORD): New.
1176 (objc_property_attribute_kind): New enum.
1177 Declare objc_set_property_attr (), objc_add_property_variable (),
1178 objc_build_getter_call () and objc_build_setter_call ().
1179 * stub-objc.c (objc_set_property_attr): New stub.
1180 (objc_add_property_variable): Likewise.
1181 (objc_build_getter_call): Likewise.
1182 (objc_build_setter_call) Likewise.
1184 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
1186 merge from FSF apple 'trunk' branch.
1187 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
1189 Radar 3803157 (method attributes)
1190 * c-common.c (handle_deprecated_attribute): Recognize
1191 objc methods as valid declarations.
1192 * c-common.h: Declare objc_method_decl ().
1193 * stub-objc.c (objc_method_decl): New stub.
1195 2010-10-08 Joseph Myers <joseph@codesourcery.com>
1197 * c-common.c (parse_optimize_options): Call
1198 decode_cmdline_options_to_array_default_mask before
1199 decode_options. Update arguments to decode_options.
1200 * c-common.h (c_common_init_options_struct): Declare.
1201 * c-opts.c (c_common_init_options_struct): New. Split out from
1202 c_common_init_options.
1204 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
1206 Implemented fast enumeration for Objective-C.
1207 * c-common.h (objc_finish_foreach_loop): New.
1208 * stub-objc.c (objc_finish_foreach_loop): New.
1210 2010-10-05 Joseph Myers <joseph@codesourcery.com>
1212 * c-common.h (struct diagnostic_context): Don't declare here.
1213 (c_common_initialize_diagnostics): Declare using
1214 diagnostic_context typedef.
1215 * c-opts.c (c_common_handle_option): Pass global_dc to
1216 handle_generated_option.
1218 2010-10-04 Joseph Myers <joseph@codesourcery.com>
1220 * c-opts.c (c_common_handle_option): Pass &global_options_set to
1221 handle_generated_option.
1223 2010-10-03 Ian Lance Taylor <iant@google.com>
1225 * c.opt (-fplan9-extensions): New option.
1227 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1229 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
1231 (c_cpp_builtins): Call functions from cppbuiltin.c instead
1232 of duplicating code.
1234 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
1236 * c-common.c: Add two new entries for @optional
1237 and @required keywords.
1239 merge from FSF 'apple/trunk' branch.
1240 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
1243 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
1244 objective-c keywords.
1245 (objc_set_method_opt): New declaration.
1246 * stub-objc.c (objc_set_method_opt): New stub.
1248 2010-09-30 Joseph Myers <joseph@codesourcery.com>
1250 * c-common.c (handle_optimize_attribute): Pass &global_options to
1251 cl_optimization_save and cl_optimization_restore.
1252 * c-opts.c (c_common_handle_option): Pass &global_options to
1253 handle_generated_option.
1254 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
1255 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
1256 &global_options to cl_optimization_restore.
1258 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
1260 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
1261 Objective-C/Objective-C++ keywords.
1263 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1265 Merge from 'apple/trunk' branch on FSF servers.
1267 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
1270 * c-common.h (objc_check_global_decl): New declaration.
1271 * stub-objc.c (objc_check_global_decl): New stub.
1273 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1275 * c.opt: Don't use VarExists.
1277 2010-09-29 Joseph Myers <joseph@codesourcery.com>
1279 * c-common.c (c_cpp_error): Update names of diagnostic_context
1281 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
1282 cl_optimization members.
1283 * c-opts.c (warning_as_error_callback, c_common_handle_option,
1284 sanitize_cpp_opts, finish_options): Update names of cpp_options
1287 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
1289 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
1290 (objc_is_reserved_word): Removed.
1291 * c-common.c: Updated comments.
1292 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
1293 objc_is_reserved_word.
1294 * stub-objc.c (objc_is_reserved_word): Removed.
1296 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1298 * c-common.h (objc_add_method_declaration): Adjust prototype to
1300 (objc_start_method_definition): Likewise.
1301 (objc_build_keyword_decl): Likewise.
1302 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
1303 (objc_start_method_definition): Likewise.
1304 (objc_build_keyword_decl): Likewise.
1306 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
1308 * c-common.h (objc_start_class_interface): Adjust prototype.
1309 (objc_start_category_interface): Likewise.
1310 (objc_start_protocol): Likewise.
1311 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
1312 (objc_start_class_interface): Likewise.
1313 (objc_start_category_interface): Likewise.
1315 2010-09-27 Ian Lance Taylor <iant@google.com>
1317 * c-common.c (c_common_attribute_table): Add no_split_stack.
1318 (handle_no_split_stack_attribute): New static function.
1320 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
1322 Merge from 'apple/trunk' branch on FSF servers.
1324 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
1327 * c-common.h (objc_have_common_type): New declaration.
1328 * stub-objc.c (objc_have_common_type): New stub.
1330 2005-06-22 Ziemowit Laski <zlaski@apple.com>
1333 * c-common.h (objc_common_type): New prototype.
1334 * stub-objc.c (objc_common_type): New stub.
1336 2010-09-24 Jan Hubicka <jh@suse.cz>
1338 * c-common.c (handle_leaf_attribute): New function.
1339 (struct attribute_spec c_common_att): Add leaf.
1341 2010-09-22 Joseph Myers <joseph@codesourcery.com>
1343 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
1344 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
1345 -dump, -dump=, -imacros, -imacros=, -include, -include=,
1346 -include-barrier, -include-directory, -include-directory=,
1347 -include-directory-after, -include-directory-after=,
1348 -include-prefix, -include-prefix=, -include-with-prefix,
1349 -include-with-prefix=, -include-with-prefix-after,
1350 -include-with-prefix-after=, -include-with-prefix-before,
1351 -include-with-prefix-before=, -no-integrated-cpp,
1352 -no-line-commands, -no-standard-includes, -no-warnings, -output,
1353 -output=, -pedantic, -pedantic-errors, -preprocess,
1354 -print-missing-file-dependencies, -trace-includes, -traditional,
1355 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
1356 -user-dependencies, -verbose, -write-dependencies,
1357 -write-user-dependencies, no-integrated-cpp, traditional): New.
1359 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
1362 * c-common.h (objc_start_method_definition): Return bool instead
1364 * stub-objc.c (objc_start_method_definition): Return bool instead
1367 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
1370 * c-common.h (objc_get_interface_ivars): New declaration.
1371 * stub-objc.c (objc_get_interface_ivars): New stub.
1373 2010-09-15 Ian Lance Taylor <iant@google.com>
1375 * c-common.c (parse_optimize_options): Do not capitalize warning
1376 messages. Remove period at end of warning message.
1378 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
1380 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
1381 (handle_alias_attribute): ... here.
1382 (handle_ifunc_attribute): New.
1384 2010-09-06 Mark Mitchell <mark@codesourcery.com>
1386 * c-common.h (do_warn_double_promotion): Declare.
1387 * c-common.c (do_warn_double_promotion): Define.
1389 2010-09-05 Mark Mitchell <mark@codesourcery.com>
1391 * c.opt (Wdouble-promotion): New.
1393 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1395 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
1396 fvtable-thunks, fxref): Mark no longer supported in help text.
1398 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1400 * c.opt (Wimport, fall-virtual, falt-external-templates,
1401 fdefault-inline, fenum-int-equiv, fexternal-templates,
1402 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
1403 fname-mangling-version-, fnew-abi, fnonnull-objects,
1404 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
1405 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
1407 (fhandle-exceptions): Mark with Alias and Warn.
1408 * c-opts.c (c_common_handle_option): Don't handle options marked
1411 2010-09-02 Joseph Myers <joseph@codesourcery.com>
1413 * c.opt (Wcomments, Werror-implicit-function-declaration,
1414 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
1415 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
1417 * c-common.c (option_codes): Use OPT_Wcomment instead of
1419 * c-opts.c (warning_as_error_callback, c_common_handle_option):
1420 Don't handle options marked as aliases.
1422 2010-08-25 Richard Guenther <rguenther@suse.de>
1424 * c-common.c (c_common_get_alias_set): Remove special
1425 handling for pointers.
1427 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
1429 * c-common.c: Use FOR_EACH_VEC_ELT.
1430 * c-gimplify.c: Likewise.
1431 * c-pragma.c: Likewise.
1433 2010-08-16 Joseph Myers <joseph@codesourcery.com>
1435 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
1437 (MMDX): Change back to MMD. Mark NoDriverArg instead of
1439 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
1440 instead of OPT_MDX and OPT_MMDX.
1442 2010-08-16 Joseph Myers <joseph@codesourcery.com>
1444 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
1446 2010-08-12 Joseph Myers <joseph@codesourcery.com>
1448 * c.opt (MD, MMD): Change to MDX and MMDX.
1449 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
1451 2010-08-11 Joseph Myers <joseph@codesourcery.com>
1453 * c-opts.c (c_common_handle_option): Call handle_generated_option
1454 instead of handle_option.
1456 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
1458 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
1459 (maybe_apply_renaming_pragma): Delete unneeded declarations.
1461 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
1463 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
1464 (pending_redefine_extname): Change type to a VEC.
1465 (add_to_renaming_pragma_list): Update for new type of
1466 pending_redefine_extname.
1467 (maybe_apply_renaming_pragma): Likewise.
1469 2010-08-04 Arnaud Charlet <charlet@adacore.com>
1471 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
1473 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
1474 decide whether a type has already been declared/seen.
1475 Do not go to the original type.
1476 (dump_nested_types): New parameter forward.
1477 Generate forward declaration if needed and mark type as visited.
1478 (print_ada_declaration): Call dump_nested_types if not already done.
1479 Mark types as visited.
1481 2010-08-03 Joseph Myers <joseph@codesourcery.com>
1483 * c.opt (-print-pch-checksum): Remove option.
1484 * c-opts.c (c_common_handle_option): Don't handle
1485 OPT_print_pch_checksum.
1487 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1489 * c-common.h (c_common_handle_option): Update prototype and return
1491 * c-opts.c (c_common_handle_option): Update prototype and return
1492 value type. Update calls to handle_option and
1493 enable_warning_as_error.
1495 2010-07-27 Jakub Jelinek <jakub@redhat.com>
1498 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
1500 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1502 * c-common.h (c_common_missing_argument): Remove.
1503 * c-opts.c (c_common_missing_argument): Remove.
1504 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
1505 idirafter, imacros, include, isysroot, isystem, iquote): Add
1507 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
1509 2010-07-27 Joseph Myers <joseph@codesourcery.com>
1511 * c-common.h (c_common_option_lang_mask,
1512 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
1514 (c_common_init_options): Update prototype.
1515 * c-opts.c (c_common_option_lang_mask): New.
1516 (c_common_initialize_diagnostics): Split out of
1517 c_common_init_options.
1518 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
1520 (c_common_init_options): Update prototype. Use decoded options in
1521 search for -lang-asm.
1523 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
1525 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
1526 * c-format.c: Likewise.
1528 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
1530 * c-common.h: Include diagnostic-core.h. Error if already
1532 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
1534 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1536 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
1537 Do not include expr.h
1538 (vector_mode_valid_p): Move here.
1540 2010-06-21 DJ Delorie <dj@redhat.com>
1542 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
1543 allow these pragmas anywhere.
1545 2010-06-14 Jakub Jelinek <jakub@redhat.com>
1548 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
1549 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
1550 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
1551 ggc_strdup instead of xstrdup.
1553 2010-06-10 Jakub Jelinek <jakub@redhat.com>
1555 * c-cppbuiltin.c: Include cpp-id-data.h.
1556 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
1557 (lazy_hex_fp_value): New function.
1558 (builtin_define_with_hex_fp_value): Provide definitions lazily.
1560 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1562 * c-gimplify.c: Do not include tree-flow.h
1564 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
1567 * c-common.c: Rename targetm member:
1568 targetm.enum_va_list -> targetm.enum_va_list_p
1570 2010-06-28 Anatoly Sokolov <aesok@post.ru>
1572 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
1574 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
1576 * c-cppbuiltin.c: Do not include except.h.
1578 2010-06-24 Andi Kleen <ak@linux.intel.com>
1580 * c-common.c (warn_for_omitted_condop): New.
1581 * c-common.h (warn_for_omitted_condop): Add prototype.
1583 2010-06-21 Joseph Myers <joseph@codesourcery.com>
1585 * c.opt (lang-objc): Remove.
1586 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
1588 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
1590 * c-opts.c: Include "tm_p.h".
1592 2010-06-20 Joseph Myers <joseph@codesourcery.com>
1594 * c-common.c (parse_optimize_options): Update call to
1597 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
1599 * c-common.c (record_types_used_by_current_var_decl): Adjust for
1600 new type of types_used_by_cur_var_decl.
1602 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
1605 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
1606 for C++ standard compliance.
1608 2010-06-16 Jason Merrill <jason@redhat.com>
1610 * c.opt: Add -Wnoexcept.
1612 2010-06-16 Richard Guenther <rguenther@suse.de>
1615 * c-common.c (c_common_truthvalue_conversion): Remove
1616 premature and wrong optimization concering ADDR_EXPRs.
1618 2010-06-15 Arnaud Charlet <charlet@adacore.com>
1620 * c-ada-spec.c (dump_sloc): Remove column info.
1621 (is_simple_enum): New function.
1622 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
1623 enum types when relevant.
1625 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1627 * c-common.c (conversion_warning): Warn at expression
1630 2010-06-10 Joseph Myers <joseph@codesourcery.com>
1632 * c-opts.c (c_common_handle_option): Don't handle
1635 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1637 * c-pragma.c (push_alignment): Use typed GC allocation.
1638 (handle_pragma_push_options): Likewise.
1640 * c-common.c (parse_optimize_options): Likewise.
1642 * c-common.h (struct sorted_fields_type): Add variable_size GTY
1645 2010-06-07 Joseph Myers <joseph@codesourcery.com>
1647 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
1648 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1649 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1650 flag_signed_bitfields, warn_strict_null_sentinel,
1651 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
1652 flag_gen_declaration, flag_no_gnu_keywords,
1653 flag_implement_inlines, flag_implicit_templates,
1654 flag_implicit_inline_templates, flag_optional_diags,
1655 flag_elide_constructors, flag_default_inline, flag_rtti,
1656 flag_conserve_space, flag_access_control, flag_check_new,
1657 flag_new_for_scope, flag_weak, flag_working_directory,
1658 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
1659 flag_enforce_eh_specs, flag_threadsafe_statics,
1660 flag_pretty_templates): Remove.
1661 * c-common.h (flag_preprocess_only, flag_nil_receivers,
1662 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
1663 flag_replace_objc_classes, flag_undef, flag_no_builtin,
1664 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
1665 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
1666 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
1667 flag_no_gnu_keywords, flag_implement_inlines,
1668 flag_implicit_templates, flag_implicit_inline_templates,
1669 flag_optional_diags, flag_elide_constructors, flag_default_inline,
1670 flag_rtti, flag_conserve_space, flag_access_control,
1671 flag_check_new, flag_new_for_scope, flag_weak,
1672 flag_working_directory, flag_use_cxa_atexit,
1673 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
1674 flag_threadsafe_statics, flag_pretty_templates,
1675 warn_strict_null_sentinel): Remove.
1676 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
1677 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
1678 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
1679 fimplicit-inline-templates, fimplicit-templates,
1680 flax-vector-conversions, fms-extensions, fnil-receivers,
1681 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
1682 frtti, fshort-double, fshort-enums, fshort-wchar,
1683 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
1684 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
1685 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
1686 gen-decls, undef): Use Var.
1687 (fdefault-inline, foptional-diags): Document as doing nothing.
1688 * c-opts.c (c_common_handle_option): Remove cases for options now
1689 using Var. Mark ignored options as such.
1691 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
1693 * c-common.c: Moved to here from parent directory.
1694 * c-common.def: Likewise.
1695 * c-common.h: Likewise.
1696 * c-cppbuiltin.c: Likewise.
1697 * c-dump.c: Likewise.
1698 * c-format.c: Likewise.
1699 * c-format.h : Likewise.
1700 * c-gimplify.c: Likewise.
1701 * c-lex.c: Likewise.
1702 * c-omp.c: Likewise.
1704 * c-opts.c: Likewise.
1705 * c-pch.c: Likewise.
1706 * c-ppoutput.c: Likewise.
1707 * c-pragma.c: Likewise.
1708 * c-pragma.h: Likewise.
1709 * c-pretty-print.c: Likewise.
1710 * c-pretty-print.h: Likewise.
1711 * c-semantics.c: Likewise.
1712 * stub-objc.c: Likewise.
1714 * c-common.c: Include gt-c-family-c-common.h.
1715 * c-pragma.c: Include gt-c-family-c-pragma.h.
1717 Copyright (C) 2010, 2011 Free Software Foundation, Inc.
1719 Copying and distribution of this file, with or without modification,
1720 are permitted in any medium without royalty provided the copyright
1721 notice and this notice are preserved.