1. 02 Nov, 2010 15 commits
    • Basic support for Intel Core i7 · 2855d9d9
      	* i386.c (ix86_option_override_internal): Add entry for corei7, use
      	generic tuning.  Use generic32 when compiling for 32-bit ABI.
      
      Co-Authored-By: H.J. Lu <hjl.tools@gmail.com>
      Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
      
      From-SVN: r166176
      Bernd Schmidt committed
    • improve darwin section ordering between debug/non-debug cases. · de4df14c
      gcc:
      
      	* config/darwin.c (darwin_asm_named_section): Check for __DWARF
      	sections and call darwin_asm_dwarf_section() to handle them.
      	(darwin_asm_dwarf_section): New.
      	(darwin_file_start): Remove code emitting dwarf section symbols.
      
      testsuite:
      
      	* g++.dg/debug/dwarf2/pubnames-1.C: Amend to check for only one instance
      	of debug_pubnames on darwin.
      
      From-SVN: r166174
      Iain Sandoe committed
    • Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector... · 47afeed5
      	* Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector, to
      	explicitly disable stack protection when building libgcc.
      	(CRTSTUFF_CFLAGS): Same, for crtbegin/end.
      
      From-SVN: r166173
      Chung-Lin Tang committed
    • libstdc++: N3126 draft support. · 94a86be0
      	* include/std/chrono: Extend constexpr application.
      	* testsuite/util/testsuite_common_types.h
      	(constexpr_default_constructible, constexpr_single_value_constructible)
      	: Add comments about implied constraints.
      	* testsuite/20_util/duration/cons/constexpr.cc: Activate all tests.
      	* testsuite/20_util/time_point/cons/constexpr.cc: Same.
      	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
      	Same.
      	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
      	numbers.
      	* testsuite/20_util/time_point_cast/constexpr.cc: New.
      
      	* include/std/bitset: Use __SIZEOF_* macros to re-create original
      	logic instead of slipshod application of
      	std::numeric_limits<T>::max() macros.
      	* testsuite/util/testsuite_common_types.h
      	(constexpr_default_constructible): Modify.
      
      	* include/std/chrono: Tested constexpr.
      	* testsuite/20_util/duration_cast/constexpr.cc: New.
      	* testsuite/20_util/time_point/cons/constexpr.cc: New.
      
      	* testsuite/20_util/duration/cons/constexpr.cc: Add single_value tests.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
      	line numbers.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
      	* testsuite/20_util/time_point/cons/constexpr.cc: Add single_value
      	tests.
      	* testsuite/20_util/time_point/requirements/constexpr_functions.cc: Add.
      
      	* testsuite/util/testsuite_common_types.h: Adjust init.
      
      	* include/std/chrono (duration): Remove defaulted constructor,
      	replace with mem-init list.
      	* testsuite/20_util/duration/cons/constexpr.cc: Add single value.
      	* testsuite/20_util/duration/requirements/constexpr_functions.cc:
      	Add non-static member functions.
      
      	* testsuite/20_util/default_delete/cons/constexpr.cc: New, xfail.
      	* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Same.
      	* testsuite/20_util/shared_ptr/cons/constexpr.cc: Same.
      	* testsuite/20_util/time_point/requirements/constexpr_functions.cc:
      	Same.
      	* testsuite/20_util/unique_ptr/cons/constexpr.cc: Same.
      	* testsuite/20_util/weak_ptr/cons/constexpr.cc: Same.
      
      	* include/std/bitset: Add constexpr as per N3126 draft.
      	* testsuite/23_containers/bitset/cons/constexpr.cc: New.
      	* testsuite/23_containers/bitset/requirements/constexpr_functions.cc:
      	New.
      
      	* testsuite/util/testsuite_common_types.h: Reset condition.
      
      	* include/bits/random.h: Remove misleading comments.
      	* include/bits/regex.h: Add constexpr.
      	* testsuite/28_regex/05_constants/syntax_option_type.cc: Add tests.
      	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc: New.
      
      	PR libstdc++/46134
      	* include/std/chrono: Use default constructor.
      	* testsuite/util/testsuite_common_types.h
      	(constexpr_default_constructible): Adjust condition.
      
      	PR libstdc++/46133
      	* include/std/complex: Adjust complex specialization default
      	constructors for constexpr.
      	* testsuite/26_numerics/complex/cons/constexpr.cc: Enable tests.
      
      	* include/bits/random.h: Adjust for constexpr as per N3126 draft.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_data.cc: New.
      	* testsuite/26_numerics/random/discard_block_engine/requirements/
      	constexpr_functions.cc: New.
      	* testsuite/26_numerics/random/independent_bits_engine/requirements/
      	constexpr_functions.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	constexpr_data.cc: New.
      	* testsuite/26_numerics/random/linear_congruential_engine/requirements/
      	constexpr_functions.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	constexpr_data.cc: New.
      	* testsuite/26_numerics/random/mersenne_twister_engine/requirements/
      	constexpr_functions.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	constexpr_data.cc: New.
      	* testsuite/26_numerics/random/shuffle_order_engine/requirements/
      	constexpr_functions.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	constexpr_data.cc: New.
      	* testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
      	constexpr_functions.cc: New.
      
      	* include/bits/stream_iterator.h: Add constexpr as per N3126 draft.
      	* include/bits/streambuf_iterator.h: Same.
      	* include/std/complex: Same.
      	* testsuite/24_iterators/istream_iterator/cons/constexpr.cc: New.
      	* testsuite/24_iterators/istreambuf_iterator/cons/constexpr.cc: New.
      	* testsuite/26_numerics/complex/cons/constexpr.cc: New.
      	* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
      	New.
      
      	* include/bits/char_traits.h: Add constexpr as per N3126 draft.
      	* testsuite/21_strings/char_traits/requirements/constexpr_functions.cc:
      	New.
      
      	* include/tr1_impl/array: Add constexpr as per N3126 draft.
      	* testsuite/23_containers/array/requirements/
      	constexpr_functions.cc: New.
      
      	* include/bits/shared_ptr.h: Revert changes.
      	* include/bits/unique_ptr.h: Same.
      
      	* include/std/chrono: Adjust.
      	* include/tr1_impl/type_traits: Same.
      
      	* testsuite/util/testsuite_common_types.h: Add test functors.
      	* testsuite/20_util/duration/cons/constexpr.cc: New.
      	* testsuite/20_util/duration/requirements/constexpr_functions.cc: Same.
      	* testsuite/20_util/pair/cons/constexpr.cc: Same.
      	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Same.
      	* testsuite/27_io/ios_base/types/fmtflags/constexpr_operators.cc: Same.
      	* testsuite/27_io/ios_base/types/iostate/constexpr_operators.cc: Same.
      	* testsuite/27_io/ios_base/types/openmode/constexpr_operators.cc: Same.
      	* testsuite/30_threads/call_once/constexpr.cc: Same.
      	* testsuite/30_threads/mutex/cons/constexpr.cc: Same.
      	* testsuite/30_threads/once_flag/cons/constexpr.cc: Same.
      	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
      	constexpr_data.cc: Same.
      
      	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
      	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
      
      	* include/bits/allocator.h: Add constexpr as per N3126 draft.
      	* include/bits/ios_base.h: Same.
      	* include/bits/shared_ptr.h: Same.
      	* include/bits/unique_ptr.h: Same.
      	* include/bits/stl_iterator.h: Same.
      	* include/bits/stl_pair.h: Same.
      	* include/std/tuple: Same.
      	* include/tr1_impl/type_traits: Same.
      	* include/std/chrono: Same.
      	* include/std/ratio: Same.
      	* include/std/mutex: Same.
      	* src/mutex.cc: Same.
      	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
      	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
      	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
      	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
      	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
      	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
      
      	* doc/doxygen/user.cfg.in: Replace _GLIBCXX_USE_CONSTEXPR,
      	_GLIBCXX_CONSTEXPR for doxygen generation.
      
      	* src/limits.cc: Undef.
      	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust.
      	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
      	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.c: Same.
      	* testsuite/18_support/numeric_limits/constexpr.cc: To...
      	* testsuite/18_support/numeric_limits/requirements/
      	constexpr_data.cc, constexpr_functions.cc: ...this
      
      	* testsuite/util/testsuite_common_types.h
      	(constexpr_single_value_constructible): Add.
      	* testsuite/29_atomics/atomic/cons/constexpr.cc: Adjust name.
      	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
      	* testsuite/29_atomics/atomic_address/cons/constexpr.cc: New.
      	* testsuite/18_support/numeric_limits/constexpr.cc: New.
      
      	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
      	* testsuite/29_atomics/atomic/cons/constexpr.cc: Same.
      	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
      	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.
      
      	* include/bits/c++config (_GLIBCXX_CONSTEXPR): Add.
      	(_GLIBCXX_USE_CONSTEXPR): Add.
      	* include/std/limits: Use it.
      	* src/limits.cc: Adjust.
      	* testsuite/ext/profile/mutex_extensions.cc: Change line number.
      
      	* include/bits/atomic_0.h: Rework for N3126 draft, add constexpr.
      	* include/bits/atomic_2.h: Same.
      	* include/bits/atomic_base.h: Same.
      	* include/std/atomic: Same.
      	* src/atomic.cc: Same.
      	* include/bits/atomicfwd_c.h: Remove.
      	* include/bits/atomicfwd_cxx.h: Remove.
      	* include/c_compatibility/stdatomic.h: Remove.
      	* include/Makefile.am: Remove atomicfwd_c.h, atomicfwd_cxx.h,
      	stdatomic.h.
      	* include/Makefile.in: Regenerate.
      	* doc/xml/manual/using.xml: Update list of header files for changes.
      	* testsuite/util/testsuite_common_types.h
      	(constexpr_constructible): Add.
      	* testsuite/29_atomics/atomic/cons/constexpr.cc: New.
      	* testsuite/29_atomics/atomic_integral/cons/constexpr.cc: New.
      	* testsuite/17_intro/headers/c++200x/stdc++.cc: Modify.
      	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/atomic_flag/cons/1.cc: Same.
      	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
      	* testsuite/29_atomics/headers/atomic/macros.cc: Same.
      	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
      	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Same.
      	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Remove.
      	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
      	* testsuite/29_atomics/atomic_flag/clear/1.c: Same.
      	* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: Same.
      	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
      	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
      	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
      
      	* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
      
      From-SVN: r166171
      Benjamin Kosnik committed
    • initializer_list: Decorate with constexpr. · 900484de
      	* libsupc++/initializer_list: Decorate with constexpr.
      
      Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
      
      From-SVN: r166170
      Jason Merrill committed
    • semantics.c (call_stack, [...]): New. · 2bfe0527
      	* semantics.c (call_stack, call_stack_tick, cx_error_context): New.
      	(last_cx_error_tick, push_cx_call_context, pop_cx_call_context): New.
      	(cxx_eval_call_expression): Call push/pop_cx_call_context instead
      	of giving follow-on errors.
      	* error.c (maybe_print_constexpr_context): New.
      	(cp_diagnostic_starter): Call it.
      	* cp-tree.h: Declare cx_error_context.
      
      From-SVN: r166169
      Jason Merrill committed
    • semantics.c (cxx_eval_constant_expression): Explain unacceptable use of variable better. · ddbbc9a1
      	* semantics.c (cxx_eval_constant_expression): Explain
      	unacceptable use of variable better.
      
      From-SVN: r166168
      Jason Merrill committed
    • call.c (null_ptr_cst_p): Use maybe_constant_value. · fa2200cb
      	* call.c (null_ptr_cst_p): Use maybe_constant_value.
      	(set_up_extended_ref_temp): Support constant initialization.
      	(initialize_reference): Adjust.
      	* class.c (check_bitfield_decl): Use cxx_constant_value.
      	* cvt.c (ocp_convert): Don't use integral_constant_value when
      	converting to class type.
      	* decl.c (finish_case_label): Use maybe_constant_value.
      	(build_init_list_var_init): Support constant initialization.
      	(check_initializer): Likewise.  Reorganize.
      	(cp_finish_decl): Likewise.
      	(expand_static_init): Likewise.
      	(compute_array_index_type): Use maybe_constant_value.
      	Add complain parm.
      	(create_array_type_for_decl, grokdeclarator): Pass it.
      	(build_enumerator): Use cxx_constant_value.
      	* decl2.c (grokfield): Use maybe_constant_init.
      	* except.c (check_noexcept_r): Handle constexpr.
      	(build_noexcept_spec): Use maybe_constant_value.
      	* init.c (expand_default_init): Support constant initialization.
      	(build_vec_init): Likewise.
      	(constant_value_1): Adjust.
      	(build_new_1): Adjust.
      	* parser.c (cp_parser_constant_expression): Allow non-integral
      	in C++0x mode.
      	(cp_parser_direct_declarator): Don't fold yet in C++0x mode.
      	(cp_parser_initializer_clause): Toss folded result if non-constant.
      	* pt.c (fold_decl_constant_value): Remove.
      	(convert_nontype_argument): Use maybe_constant_value.  Give clearer
      	error about overflow.
      	(tsubst): Move array bounds handling into compute_array_index_type.
      	(value_dependent_expression_p): Handle constant CALL_EXPR.
      	* semantics.c (finish_static_assert): Use maybe_constant_value.
      	(ensure_literal_type_for_constexpr_object): Make sure type is complete.
      	(potential_constant_expression): Use maybe_constant_value.
      	* tree.c (cast_valid_in_integral_constant_expression_p): Any cast
      	is potentially valid in C++0x.
      	* typeck2.c (store_init_value): Handle constant init.
      	(check_narrowing): Use maybe_constant_value.
      	(build_functional_cast): Set TREE_CONSTANT on literal T().
      	* cp-tree.h (DECL_INTEGRAL_CONSTANT_VAR_P): Remove.
      	(LOOKUP_ALREADY_DIGESTED): New.
      	(compute_array_index_type): Adjust prototype.
      
      From-SVN: r166167
      Jason Merrill committed
    • semantics.c (constexpr_call): New datatype. · c41095db
      	* semantics.c (constexpr_call): New datatype.
      	(constexpr_call_table): New global table.
      	(constexpr_call_hash): New.
      	(constexpr_call_equal): Likewise.
      	(maybe_initialize_constexpr_call_table): Likewise.
      	(lookup_parameter_binding): Likewise.
      	(cxx_eval_builtin_function_call): Likewise.
      	(cxx_bind_parameters_in_call): Likewise.
      	(cxx_eval_call_expression): Likewise.
      	(cxx_eval_unary_expression): Likewise.
      	(cxx_eval_binary_expression): Likewise.
      	(cxx_eval_conditional_expression): Likewise.
      	(cxx_eval_array_reference): Likewise.
      	(cxx_eval_component_reference): Likewise.
      	(cxx_eval_logical_expression): Likewise.
      	(cxx_eval_object_construction): Likewise.
      	(cxx_eval_constant_expression): Likewise.
      	(cxx_eval_indirect_ref): Likewise.
      	(cxx_constant_value): Likewise.
      	(cxx_eval_bare_aggregate): Likewise.
      	(adjust_temp_type): New.
      	(reduced_constant_expression_p): New.
      	(verify_constant): New.
      	(cxx_eval_vec_init, cxx_eval_vec_init_1): New.
      	(cxx_eval_outermost_constant_expr): New.
      	(maybe_constant_value, maybe_constant_init): New.
      	(cxx_eval_constant_expression): Use them.
      	* cp-tree.h: Declare fns.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r166166
      Gabriel Dos Reis committed
    • cp-tree.h (register_constexpr_fundef): Declare. · 66e61a34
      	* cp-tree.h (register_constexpr_fundef): Declare.
      	* decl.c (maybe_save_function_definition): New.
      	(finish_function): Use it.
      	* semantics.c (constexpr_fundef): New datatype.
      	(constexpr_fundef_table): New global table.
      	(constexpr_fundef_equal): New.
      	(constexpr_fundef_hash): Likewise.
      	(retrieve_constexpr_fundef): Likewise.
      	(validate_constexpr_fundecl): Store in the table.
      	(build_data_member_initialization): New fn.
      	(build_constexpr_constructor_member_initializers): New.
      	(register_constexpr_fundef): Define.
      	(is_this_parameter): New.
      	(get_function_named_in_call): Likewise.
      	(get_nth_callarg): Likewise.
      	(check_automatic_or_tls): New.
      	(morally_constexpr_builtin_function_p): New.
      	(potential_constant_expression): New.
      
      From-SVN: r166165
      Jason Merrill committed
    • decl2.c (decl_constant_var_p): New fn. · aef4a215
      	* decl2.c (decl_constant_var_p): New fn.
      	(decl_maybe_constant_var_p): New fn.
      	(mark_used): Rework instantiation of things needed for constant
      	expressions.
      	* cp-tree.h: Declare new fns.
      	* pt.c (instantiate_decl): Handle cp_unevaluated_operand.
      	(always_instantiate_p): Use decl_maybe_constant_var_p.
      	(instantiate_decl): Don't defer constexpr functions.
      	* repo.c (repo_emit_p): Use decl_maybe_constant_var_p.
      	* semantics.c (finish_id_expression): Use decl_constant_var_p.
      	Check for valid name in constant expr after mark_used.
      
      From-SVN: r166164
      Jason Merrill committed
    • fold-const.c (fold_indirect_ref_1): Handle folding POINTER_PLUS_EXPR to ARRAY_REF. · 7bf8ca76
      	* fold-const.c (fold_indirect_ref_1): Handle folding
      	POINTER_PLUS_EXPR to ARRAY_REF.
      
      From-SVN: r166163
      Jason Merrill committed
    • re PR libstdc++/12110 (ICE building 64-bit strstream.o) · 87841584
      	PR binutils/12110
      	* configure.ac: Error when source path contains spaces.
      	* configure: Regenerate.
      
      From-SVN: r166162
      Alan Modra committed
    • Daily bump. · d4e0b5cd
      From-SVN: r166161
      GCC Administrator committed
    • sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine. · 90833f7f
      	* config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
      	(sh_delegitimize_address): New function.
      
      From-SVN: r166157
      Kaz Kojima committed
  2. 01 Nov, 2010 25 commits
    • alpha.h (WORD_SWITCH_TAKES_ARG): Remove. · baf3ead6
      	* config/alpha/alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/cris/cris.h (WORD_SWITCH_TAKES_ARG): Remove.
      	(CC1_SPEC): Don't handle -target.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove single-argument
      	options.
      	* config/darwin.opt (Zallowable_client, Zbundle_loader,
      	Zdylib_file, Zexported_symbols_list, Zfn_seg_addr_table_filename,
      	Zimage_base, Zinit, Zinstall_name, Zmultiply_defined,
      	Zmultiplydefinedunused, Zseg_addr_table, Zsegs_read_only_addr,
      	Zsegs_read_write_addr, Zumbrella, Zunexported_symbols_list,
      	Zweak_reference_mismatches, client_name, compatibility_version,
      	current_version, dylinker_install_name, pagezero_size,
      	read_only_relocs, seg1addr, segs_read_only_addr,
      	segs_read_write_addr, sub_library, sub_umbrella): New.
      	* config/freebsd-spec.h (BSD_WORD_SWITCH_TAKES_ARG): Remove.
      	* config/freebsd.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/freebsd.opt: New.
      	* config/interix.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/mips/iris6.h (WORD_SWITCH_TAKES_ARG): Remove.
      	* config/rpath.opt: New.
      	* config.gcc (*-*-freebsd*): Use rpath.opt and freebsd.opt.
      	(alpha*-dec-osf5.1*, i[34567]86-*-interix3*, mips-sgi-irix6.5*):
      	Use rpath.opt.
      
      From-SVN: r166156
      Joseph Myers committed
    • common.opt (R, [...]): New. · 6d721f67
      	* common.opt (R, T, Tbss, Tdata, Ttext, h, z): New.
      	* defaults.h (DEFAULT_SWITCH_TAKES_ARG, SWITCH_TAKES_ARG): Remove.
      	(DEFAULT_WORD_SWITCH_TAKES_ARG): Define to 0.
      	* doc/tm.texi.in (SWITCH_TAKES_ARG): Remove.
      	(WORD_SWITCH_TAKES_ARG): Don't refer to SWITCH_TAKES_ARG.
      	Document that options in .opt files do not need to be included.
      	* doc/tm.texi: Regenerate.
      	* gcc.c (LINK_COMMAND_SPEC): Don't include %{x}.
      	* opts-common.c: Update comment on tm.h include.
      	(decode_cmdline_option): Don't use SWITCH_TAKES_ARG.
      	* system.h (SWITCH_TAKES_ARG): Poison.
      	* config/alpha/alpha.h (SWITCH_TAKES_ARG): Remove.
      	* config/darwin.h (WORD_SWITCH_TAKES_ARG): Remove options included
      	in darwin.opt.
      	(LINK_COMMAND_SPEC_A): Don't include %{x}.
      	* config/fr30/fr30.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/freebsd-spec.h (FBSD_SWITCH_TAKES_ARG): Remove.
      	* config/freebsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/frv/frv.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Don't include %{x}.
      	* config/ia64/ia64.h (SWITCH_TAKES_ARG): Remove.
      	* config/interix.h (WORD_SWITCH_TAKES_ARG): Don't handle -T
      	options.
      	* config/lm32/lm32.h (SWITCH_TAKES_ARG): Remove.
      	* config/m32r/m32r.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):
      	Remove.
      	* config/microblaze/microblaze.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/mips.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/netbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/mips/vxworks.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove.
      	* config/netbsd-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/openbsd.h (SWITCH_TAKES_ARG): Remove.
      	* config/rs6000/sysv4.h (SWITCH_TAKES_ARG): Remove.
      	* config/score/score.h (SWITCH_TAKES_ARG): Remove.
      	* config/sol2.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sp64-elf.h (SWITCH_TAKES_ARG): Remove.
      	* config/sparc/sparc.h (ASM_SPEC): Don't include %{R}.
      	* config/svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Remove.
      
      From-SVN: r166155
      Joseph Myers committed
    • In gcc/c-family/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> · 2debdb4f
      In gcc/c-family/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented format and noreturn attributes for Objective-C methods.
              * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
              attribute for Objective-C methods.
      
      In gcc/objc/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented format and noreturn attributes for Objective-C methods.
              * objc-act.c (objc_start_method_definition): If method attributes
              are specified emit a warning and ignore them.
              (build_objc_method_call): Moved deprecation warnings from here ...
              (objc_finish_message_expr): to here.  Do not emit deprecation
              warnings if the receiver is of type 'id'.
              (really_start_method): Install 'deprecation' and 'noreturn'
              attributes.
              (objc_decl_method_attributes): Carefully filter out the list of
              attributes, allowing only "noreturn", "format", "sentinel" and
              "deprecated".  In the case of "format", adjust the arguments.
              Always process the attributes in the same way no matter if
              "sentinel" is in the list or not.
      
      In gcc/testsuite/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented format and noreturn attributes for Objective-C methods.
              * objc.dg/attributes/method-attribute-2.m: Updated warnings.
              * objc.dg/attributes/method-deprecated-1.m: New.
              * objc.dg/attributes/method-deprecated-2.m: New.
              * objc.dg/attributes/method-deprecated-3.m: New.
              * objc.dg/attributes/method-noreturn-1.m: New.
              * objc.dg/attributes/method-sentinel-1.m: New.
              * objc.dg/attributes/method-format-1.m: New.
              * obj-c++.dg/attributes/method-attribute-2.mm: Updated warnings.
              * obj-c++.dg/attributes/method-deprecated-1.mm: New.
              * obj-c++.dg/attributes/method-deprecated-2.mm: New.
              * obj-c++.dg/attributes/method-deprecated-3.mm: New.
              * obj-c++.dg/attributes/method-noreturn-1.mm: New.
              * obj-c++.dg/attributes/method-sentinel-1.mm: New.
              * obj-c++.dg/attributes/method-format-1.mm: New.
      
      From-SVN: r166153
      Nicola Pero committed
    • re PR libstdc++/45999 (runtime error in std::vector python pretty printer.) · db4e59bb
      2010-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
      
      	PR libstdc++/45999
      	* python/libstdcxx/v6/printers.py (StdVectorPrinter): Replace
      	conditional expression with backward-compatible if-else.
      
      From-SVN: r166150
      Jonathan Wakely committed
    • Fix ChangeLog entry · fd888d93
      From-SVN: r166149
      Paul Koning committed
    • pdp11.md: Use iterators. · 63caf8bb
      * config/pdp11/pdp11.md: Use iterators.
      (addqi3, subqi3, iorsi3, xorsi3): Delete.
      
      From-SVN: r166148
      Paul Koning committed
    • In gcc/objc/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> · 8f78939b
      In gcc/objc/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc-act.c (objc_maybe_build_component_ref): Warn about using
              deprecated properties.
              (objc_maybe_printable_name): Support PROPERTY_DECL.
              
      In gcc/testsuite/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              * objc.dg/property/at-property-deprecated-1.m: New.
              * obj-c++.dg/property/at-property-deprecated-1.mm: New.
      
      From-SVN: r166147
      Nicola Pero committed
    • defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef GCC_INSN_FLAGS_H. · 7894073c
      2010-11-01  Steve Ellcey  <sje@cup.hp.com>
      
      	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): Move under ifdef
      	GCC_INSN_FLAGS_H.
      	* libgcov.c (__gcov_indirect_call_profiler): Set
      	VTABLE_USES_DESCRIPTORS if TARGET_VTABLE_USES_DESCRIPTORS is
      	defined and use in place of TARGET_VTABLE_USES_DESCRIPTORS.
      
      From-SVN: r166145
      Steve Ellcey committed
    • In gcc/objc/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> · 8f07a2aa
      In gcc/objc/:
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented Objective-C 2.0 property accessors. 
              * objc-act.h (enum objc_tree_index): Added OCTI_GET_PROPERTY_DECL,
              OCTI_SET_PROPERTY_DECL, OCTI_COPY_STRUCT_DECL,
              OCTI_GET_PROPERTY_STRUCT_DECL and OCTI_SET_PROPERTY_STRUCT_DECL.
              (objc_getProperty_decl): New.
              (objc_setProperty_decl): New.
              (objc_copyStruct_decl): New.
              (objc_getPropertyStruct_decl): New.
              (objc_setPropertyStruct_decl): New.
              * objc-act.c (build_objc_property_accessor_helpers): New.
              (synth_module_prologue): Call
              build_objc_property_accessor_helpers.
              (lookup_ivar): New.
              (objc_synthesize_getter): Implemented synthesizing getters that
              work with properties that are not nonatomic, assign properties.
              (objc_synthesize_setter): Implemented synthesizing setters that
              work with properties that are not nonatomic, assign properties.
      
      In gcc/testsuite/:      
      2010-11-01  Nicola Pero  <nicola.pero@meta-innovation.com>
      
              Implemented Objective-C 2.0 property accessors.
              * objc.dg/property/at-property-6.m: Use nonatomic properties to
              avoid testing more complex accessors in this testcase which is not
              about them.
              * objc.dg/property/at-property-7.m: Same change.
              * objc.dg/property/at-property-8.m: Same change.
              * objc.dg/property/at-property-9.m: Same change.
              * objc.dg/property/at-property-10.m: Same change.
              * objc.dg/property/at-property-11.m: Same change.
              * obj-c++.dg/property/at-property-6.mm: Same change.
              * obj-c++.dg/property/at-property-7.mm: Same change.
              * obj-c++.dg/property/at-property-8.mm: Same change.
              * obj-c++.dg/property/at-property-9.mm: Same change.
              * obj-c++.dg/property/at-property-10.mm: Same change.
              * obj-c++.dg/property/at-property-11.mm: Same change.
              * objc.dg/property/at-property-12.m: New.
              * objc.dg/property/at-property-13.m: New.
              * obj-c++.dg/property/at-property-12.mm: New.
              * obj-c++.dg/property/at-property-13.mm: New.
      
      From-SVN: r166143
      Nicola Pero committed
    • re PR fortran/46152 ([F03] ALLOCATE with type-spec fails for intrinsic types) · 1fccc6c3
      2010-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/46152
      	* gfortran.dg/select_type_11.f03: Update dg-error phrase.
      	* gfortran.dg/allocate_with_typespec_4.f90: New test.
      	* gfortran.dg/allocate_with_typespec_1.f90: New test.
      	* gfortran.dg/allocate_with_typespec_2.f: New test.
      	* gfortran.dg/allocate_with_typespec_3.f90: New test.
      	* gfortran.dg/allocate_derived_1.f90: Delete an obselescent test.
      	* gfortran.dg/select_type_1.f03: Update dg-error phrase.
      
      2010-10-30  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/46152
      	* fortran/match.c (match_derived_type_spec): Reoplace gfc_match_symbol
      	with a gfc_find_symbol to prevent namespace pollution.  Remove dead
      	code.
      	(match_type_spec): Remove parsing of '::'.  Collapse character
      	kind checking to one location.
      	(gfc_match_allocate): Use correct locus in error message.
      
      From-SVN: r166140
      Steven G. Kargl committed
    • re PR tree-optimization/46259 (Revision 166102 failed 416.gamess in SPEC CPU 2006) · e7e9eb2f
      gcc/
      2010-11-01  Nathan Froyd  <froydnj@codesourcery.com>
      
      	PR tree-optimization/46259
      
      	Revert:
      
      	2010-10-30  Nathan Froyd  <froydnj@codesourcery.com>
      
      	* tree-vect-stmts.c (vect_get_vec_def_for_operand): Use
      	build_vector_from_val.
      
      gcc/testsuite/
      2010-11-01  H.J. Lu  <hongjiu.lu@intel.com>
      	    Nathan Froyd  <froydnj@codesourcery.com>
      
      	PR tree-optimization/46259
      	* gfortran.dg/pr46259.f: New testcase.
      
      From-SVN: r166139
      Nathan Froyd committed
    • rx.h (TARGET_CPU_CPP_BUILTINS): Add define for RX610 as well as an assertion. · d0d7f522
      * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add define for
      RX610 as well as an assertion.
      
      From-SVN: r166138
      DJ Delorie committed
    • pdp11.c (pdp11_return_in_memory): Return vector and complex modes in memory. · c6d3802a
      * config/pdp11/pdp11.c (pdp11_return_in_memory): Return vector and
      complex modes in memory.
      
      From-SVN: r166137
      Paul Koning committed
    • 20080625-1.c: Skip if pdp11. · 7e3f24b6
      * gcc.c-torture/compile/20080625-1.c: Skip if pdp11.
      * gcc.c-torture/compile/20020604-1.c: Ditto.
      * gcc.c-torture/compile/20001226-1.c: Ditto.
      * gcc.c-torture/compile/20010327-1.c: Ditto.
      * gcc.c-torture/compile/limits-stringlit.c: Ditto.
      * gcc.c-torture/compile/pr43191.c: Ditto.
      * gcc.c-torture/compile/pr41181.c: Ditto.
      
      From-SVN: r166135
      Paul Koning committed
    • gnu.ver: Export __emutls_v._ZSt11__once_call and __emutls_v._ZSt15__once_callable. · b118583f
      	* config/abi/pre/gnu.ver: Export __emutls_v._ZSt11__once_call
      	and __emutls_v._ZSt15__once_callable.
      
      From-SVN: r166134
      Jie Zhang committed
    • re PR target/45250 (FAIL:… · cfd8c4b1
      re PR target/45250 (FAIL: tr1/5_numerical_facilities/special_functions/01_assoc_laguerre/check_nan.cc)
      
      	PR target/45250
      	* var-tracking.c (cfa_base_rtx): Move definition earlier in the file.
      	(cfa_base_offset): New variable.
      	(compute_cfa_pointer): Use cfa_base_rtx and cfa_base_offset.
      	(adjust_mems): Don't do any sp or hfp replacements if cfa_base_rtx
      	is NULL.
      	(vt_init_cfa_base): Initialize cfa_base_offset.
      
      From-SVN: r166126
      Jakub Jelinek committed
    • re PR target/46030 (registers trashed with -Os) · 942c9c07
      	PR target/46030
      	* config/rs6000/rs6000.c (struct rs6000_stack): Add reload_completed
      	and savres_strategy.
      	(stack_info): New file scope var.
      	(rs6000_init_machine_status): Init stack_info.
      	(SAVRES_INLINE_FPRS, SAVRES_INLINE_GPRS,
      	SAVRES_NOINLINE_GPRS_SAVES_LR, SAVRES_NOINLINE_FPRS_SAVES_LR,
      	SAVRES_NOINLINE_FPRS_DOESNT_RESTORE_LR): Replace with..
      	(SAVE_INLINE_FPRS, SAVE_INLINE_GPRS, REST_INLINE_FPRS, REST_INLINE_GPRS,
      	SAVE_NOINLINE_GPRS_SAVES_LR, SAVE_NOINLINE_FPRS_SAVES_LR
      	REST_NOINLINE_FPRS_DOESNT_RESTORE_LR): ..this.  Update all refs.
      	(rs6000_savres_strategy): Rewrite.
      	(rs6000_stack_info): Use "stack_info" in place of local "info".
      	Return cached stack info when reload_completed unless ENABLE_CHECKING
      	in which case confirm newly calculated stack info matches old info.
      	Delay calculation of lr_save_p, set it for out of line gp save/restore
      	as well as fp.  Call rs6000_savres_strategy from here..
      	(rs6000_emit_prologue, rs6000_emit_epilogue): ..rather than here.
      	(rs6000_output_function_prologue): Use info->savres_strategy to
      	determine whether fp save/restore externs need to be emitted.
      
      From-SVN: r166125
      Alan Modra committed
    • class.c (is_really_empty_class): Work when type is not complete. · 0930cc0e
      	* class.c (is_really_empty_class): Work when type is not complete.
      	(synthesized_default_constructor_is_constexpr): New.
      	(add_implicitly_declared_members): Use it.
      	(type_has_constexpr_default_constructor): Likewise.
      	* cp-tree.h: Declare it.
      	* method.c (synthesized_method_walk): Use it.
      
      From-SVN: r166124
      Jason Merrill committed
    • tree.h (EXPR_LOC_OR_HERE): New macro. · ec52b111
      	* tree.h (EXPR_LOC_OR_HERE): New macro.
      	* builtins.c (c_strlen): Use it.
      	* c-decl.c (build_enumerator): Likewise.
      	* gimplify.c (internal_get_tmp_var): Likewise.
      	(shortcut_cond_expr): Likewise.
      	(gimplify_one_sizepos): Likewise.
      c-family/
      	* c-common.c (conversion_warning, warn_for_collisions_1): Use
      	EXPR_LOC_OR_HERE.
      cp/
      	* decl.c (pop_switch): Use EXPR_LOC_OR_HERE.
      	* typeck.c (convert_for_assignment): Likewise.
      
      From-SVN: r166123
      Jason Merrill committed
    • decl.c (grokdeclarator): Don't ICE on constexpr non-static data member. · 202be748
      	* decl.c (grokdeclarator): Don't ICE on constexpr non-static data
      	member.
      
      	* parser.c (cp_parser_diagnose_invalid_type_name): Give helpful
      	message about constexpr without -std=c++0x.
      
      From-SVN: r166122
      Jason Merrill committed
    • re PR testsuite/20003 (libmudflap.cth timeouts too short) · e2c50b7e
      	PR testsuite/20003
      	* testsuite/libmudflap.cth/pass40-frag.c: Increase timeout to 30.
      
      From-SVN: r166121
      Jason Merrill committed
    • Disable -mpreferred-stack-boundary options for Windows. · cc825d98
      From-SVN: r166120
      Richard Henderson committed
    • Emit SEH unwind info. · f81c9774
      	* config/i386/cygming.h (TARGET_SEH): New.
      	(MAX_STACK_ALIGNMENT): New.  Disable alignment for SEH.
      	(TARGET_ASM_UNWIND_EMIT, TARGET_ASM_UNWIND_EMIT_BEFORE_INSN,
      	TARGET_ASM_FUNCTION_END_PROLOGUE, SUBTARGET_ASM_UNWIND_INIT): New.
      	(TARGET_OS_CPP_BUILTINS): Define __SEH__ as needed.
      	(ASM_DECLARE_FUNCTION_NAME): Use i386_pe_start_function.
      	(ASM_DECLARE_FUNCTION_SIZE): New.
      	* config/i386/i386-protos.h: Update.
      	* config/i386/i386.c (ix86_option_override_internal): Enable
      	flag_unwind_tables with flag_asynchronous_unwind_tables immediately;
      	restrict -mpreferred-stack-boundary for SEH; enable flag_fentry.
      	(ix86_asm_output_function_label): Use SUBTARGET_ASM_UNWIND_INIT.
      	(ix86_compute_frame_layout): For SEH, disable
      	use_fast_prologue_epilogue, move frame pointer to the end of
      	the frame.  Initialize hfp_save_offset.
      	(ix86_expand_prologue): Honor hfp_save_offset.  Emit blockage
      	at end of prologue for SEH.
      	(ix86_expand_epilogue): For SEH, use pops, emit a nop if needed,
      	emit blockage at beginning of epilogue.
      	(ix86_expand_binary_operator): After reload, emit LEA if needed.
      	(ix86_output_call_insn): New.
      	* config/i386/i386.h (TARGET_SEH): New.
      	(struct machine_function): Add member seh.
      	* config/i386/i386.md (all call patterns): Use ix86_output_call_insn.
      	* config/i386/winnt.c (struct seh_frame_state): New.
      	(i386_pe_seh_init, i386_pe_seh_end_prologue, i386_pe_seh_fini,
      	seh_emit_push, seh_emit_save, seh_emit_stackalloc, seh_cfa_adjust_cfa,
      	seh_cfa_offset, seh_frame_related_expr, i386_pe_seh_unwind_emit,
      	i386_pe_start_function, i386_pe_end_function): New.
      
      	* dwarf2out.c (dwarf2out_frame_debug_expr): Accept CFA as well
      	as CFA_STORE in rules 12 and 13.
      
      From-SVN: r166119
      Richard Henderson committed
    • Daily bump. · b8390504
      From-SVN: r166118
      GCC Administrator committed