Commit Graph

104262 Commits

Author SHA1 Message Date
Paolo Carlini
a9992f7f6b syntax_option_type.cc: Avoid -Wall warnings.
2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com

	* testsuite/28_regex/05_constants/syntax_option_type.cc: Avoid
	-Wall warnings.
	* testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
	Likewise.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_data.cc: Likewise.
	* testsuite/21_strings/char_traits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/requirements/
	constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constexpr_functions.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constexpr_data.cc: Likewise.
	* testsuite/26_numerics/complex/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/23_containers/bitset/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/duration/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/20_util/duration_cast/constexpr.cc: Likewise.
	* testsuite/20_util/time_point/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/20_util/ratio/requirements/constexpr_data.cc: Likewise.

	* testsuite/tr1/4_metaprogramming/integral_constant/
	requirements/constexpr_data.cc: Remove.

From-SVN: r166210
2010-11-02 18:25:55 +00:00
Uros Bizjak
21736ec2f7 * ChangeLog: Fix last commit entry.
From-SVN: r166209
2010-11-02 19:21:01 +01:00
H.J. Lu
cfec3a7c5e Emit vzerouppers after reload.
gcc/

2010-11-02  Uros Bizjak  <ubizjak@gmail.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386-protos.h (ix86_split_call_vzeroupper): New.
	(ix86_split_call_pop_vzeroupper): Likewise.

	* config/i386/i386.c (move_or_delete_vzeroupper_2): Rewrite
	the loop.
	(ix86_expand_call): Use UNSPEC_CALL_NEEDS_VZEROUPPER.
	(ix86_split_call_vzeroupper): New.
	(ix86_split_call_pop_vzeroupper): Likewise.

	* config/i386/i386.md (UNSPEC_CALL_NEEDS_VZEROUPPER): New.
	(*call_pop_0_vzeroupper): Likewise.
	(*call_pop_1_vzeroupper): Likewise.
	(*sibcall_pop_1_vzeroupper): Likewise.
	(*call_0_vzeroupper): Likewise.
	(*call_1_vzeroupper): Likewise.
	(*sibcall_1_vzeroupper): Likewise.
	(*call_1_rex64_vzeroupper): Likewise.
	(*call_1_rex64_ms_sysv_vzeroupper): New.
	(*call_1_rex64_large_vzeroupper): Likewise.
	(*sibcall_1_rex64_vzeroupper): Likewise.
	(*call_value_pop_0_vzeroupper): New.
	(*call_value_pop_1_vzeroupper): Likewise.
	(*sibcall_value_pop_1_vzeroupper): Likewise.
	(*call_value_0_vzeroupper): New.
	(*call_value_0_rex64_vzeroupper): Use
	(*call_value_0_rex64_ms_sysv_vzeroupper): Likewise.
	(*call_value_1_vzeroupper): Likewise.
	(*sibcall_value_1_vzeroupper): Likewise.
	(*call_value_1_rex64_vzeroupper): Likewise.
	(*call_value_1_rex64_ms_sysv_vzeroupper): Likewise.
	(*call_value_1_rex64_large_vzeroupper): Likewise.
	(*sibcall_value_1_rex64_vzeroupper): Likewise.

gcc/testsuite/

2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/avx-vzeroupper-15.c: New.
	* gcc.target/i386/avx-vzeroupper-16.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-17.c: Likewise.
	* gcc.target/i386/avx-vzeroupper-18.c: Likewise.

	PR target/46253
	* gcc.target/i386/pr46253.c: New.

From-SVN: r166208
2010-11-02 11:08:44 -07:00
Ian Lance Taylor
12243af614 re PR lto/46273 (Failed to bootstrap)
PR lto/46273
	* config.gcc: Revert last patch: set lto_binary_reader.

From-SVN: r166207
2010-11-02 17:58:45 +00:00
Jason Merrill
6c0daa3ce1 * include/bits/atomic_0.h (_ATOMIC_CMPEXCHNG_): Use C-style cast.
From-SVN: r166206
2010-11-02 13:39:59 -04:00
Steven G. Kargl
e69afb29dc 2010-11-02 Steven G.
2010-11-02  Steven G. Kargl  < kargl@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/45170
        * array.c (gfc_match_array_constructor): Reject deferred type
        parameter (DTP) in type-spec.
        * decl.c (char_len_param_value, match_char_length,
        gfc_match_char_spec, build_sym, variable_decl,
        enumerator_decl): Support DTP.
        * expr.c (check_inquiry): Fix check due to support for DTP.
        * gfortran.h (gfc_typespec): Add Boolean 'deferred'.
        * misc.c (gfc_clear_ts): Set it to false.
        * match.c (gfc_match_allocate): Support DTP.
        * resolve.c (resolve_allocate_expr): Not-implemented error for
        * DTP.
        (resolve_fl_variable): Add DTP constraint check.
        * trans-decl.c (gfc_trans_deferred_vars): Add not-implemented
        error for DTP.

2010-11-02  Steven G. Kargl  < kargl@gcc.gnu.org>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/45170
        * gfortran.dg/deferred_type_param_1.f90: New.
        * gfortran.dg/deferred_type_param_2.f90: New.
        * gfortran.dg/initialization_1.f90: Update dg-errors.
        * gfortran.dg/initialization_9.f90: Update dg-errors.


Co-Authored-By: Tobias Burnus <burnus@net-b.de>

From-SVN: r166205
2010-11-02 18:09:58 +01:00
Richard Guenther
343b2efcd7 re PR tree-optimization/46149 (26_numerics/valarray/27867.cc FAILs with -O2 -fno-tree-sra)
2010-11-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46149
	* tree-ssa-structalias.c (get_constraint_for_1): Properly handle
	non-indirect MEM_REF variants.

	* g++.dg/torture/pr46149.C: New testcase.

From-SVN: r166204
2010-11-02 17:00:09 +00:00
Richard Guenther
f26aa48e06 re PR tree-optimization/46216 (ICE: SSA corruption)
2010-11-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46216
	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
	Check if we can propagate from a POINTER_PLUS_EXPR before doing so.

	* gcc.dg/torture/pr46216.c: New testcase.

From-SVN: r166203
2010-11-02 16:58:40 +00:00
Rainer Orth
23d50abbe4 configure.ac (*-*-irix6*): Disable set_have_as_tls.
* configure.ac (*-*-irix6*): Disable set_have_as_tls.
	(*-*-osf*): Likewise.
	* configure: Regenerate.

From-SVN: r166200
2010-11-02 16:27:26 +00:00
Rainer Orth
f986c46600 re PR target/45693 (All Tru64 UNIX C++ EH tests fail)
PR target/45693
	* configure.host (osf*): Set os_include_dir to os/generic.
	Add -lpthread to OPT_LDFLAGS.

From-SVN: r166199
2010-11-02 16:16:22 +00:00
Rainer Orth
3451f439c5 re PR target/46131 (Some TLS execution tests fail on Tru64 UNIX with emutls)
PR target/46131
	* lib/target-supports.exp (add_options_for_tls): Pass -pthread for
	*-*-osf*.

From-SVN: r166198
2010-11-02 16:07:04 +00:00
H.J. Lu
eefe143bec Update -march=native/-mtune=native for Intel Core 2 and Core i7.
2010-11-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/driver-i386.c (host_detect_local_cpu): Updated
	for Intel Core 2 and Core i7.

From-SVN: r166197
2010-11-02 09:05:18 -07:00
Maxim Kuvyrkov
894fd6f204 Model decoder of Core 2/i7 for multipass scheduling.
* config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_):
	New type to hold target-specific data for multipass scheduling.
	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
	* config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for
	Core 2/i7.
	(core2i7_secondary_decoder_max_insn_size,)
	(core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns):
	New static variables.
	([const_]ix86_first_cycle_multipass_data_t): New typedefs.
	([_]ix86_first_cycle_multipass_data): New static variable.
	(core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle):
	Implement targetm.sched hooks.
	(core2i7_first_cycle_multipass_filter_ready_try): New static subroutine
	of ...
	(core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}):
	Implement new targetm.sched hooks.
	(ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define
	targetm.sched hook to install multipass scheduling hooks on demand.

	* doc/tm.texi.in: Document new targetm.sched hooks.
	* doc/tm.texi: Regenerate.

	* haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define.
	(first_cycle_multipass_data_t): New typedef.
	(struct choice_entry: target_data): New field.
	(max_issue): Add first_cycle_insn_p parameter.  Call new target hooks
	to allow target model restrictions not represented in DFA.
	(choose_ready, schedule_block): Update.
	(sched_extend_ready_list, sched_finish_ready_list): Call new target
	hooks to initialize target-specific data for multipass scheduling.
	* sched-int.h (max_issue): Update declaration.
	* sel-sched.c (choose_best_insn): Update.
	* target.def (first_cycle_multipass_{begin, issue, backtrack},)
	(first_cycle_multipass_{init, fini}): Define and document new
	targetm.sched hooks.

From-SVN: r166196
2010-11-02 16:02:09 +00:00
Paolo Carlini
7350a36115 bitset (_Base_bitset<>_Base_bitset(unsigned long long)): Convert __val to _WordT.
2010-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset<>_Base_bitset(unsigned long long)):
	Convert __val to _WordT.

From-SVN: r166195
2010-11-02 15:52:09 +00:00
Richard Guenther
43427f3c58 re PR tree-optimization/46184 (ICE: SIGSEGV in vectorizable_reduction (tree-vect-loop.c:4067) with -O -ftree-vectorize -fno-tree-copy-prop -fno-tree-dce)
2010-11-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46184
	* tree-vect-loop.c (vectorizable_reduction): Try to obtain the
	input vector type from the reduction operand as well.

	* gcc.dg/pr46184.c: New testcase.

From-SVN: r166194
2010-11-02 15:46:46 +00:00
Richard Guenther
1bbd3bdee6 re PR tree-optimization/46177 (ICE: in prop_phis, at tree-loop-distribution.c:327 with -fno-tree-copy-prop -ftree-loop-distribution)
2010-11-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/46177
	* tree-loop-distribution.c (prop_phis): Use
	mark_virtual_phi_result_for_renaming.

	* gcc.dg/pr46177.c: New testcase.

From-SVN: r166193
2010-11-02 15:45:26 +00:00
Martin Jambor
4c2030661e re PR middle-end/46120 (g++.dg/ipa/ivinline-?.C)
2010-11-02  Martin Jambor  <mjambor@suse.cz>

	PR middle-end/46120
	* tree.c (get_binfo_at_offset): Bail out on artificial
	fields. Identify primary bases according to their offsets.

	* testsuite/g++.dg/ipa/ivinline-9.C: New test.

From-SVN: r166192
2010-11-02 16:22:52 +01:00
Dodji Seketeli
7a2b3e2076 Trivial cleanup of ChangeLog entry
From-SVN: r166191
2010-11-02 16:15:12 +01:00
Martin Jambor
b85020cb46 re PR tree-optimization/45875 (ice in gimple_fold_obj_type_ref_known_binfo with -O2)
2010-11-02  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/45875
	* gimple-fold.c (get_first_base_binfo_with_virtuals): Removed.
	(gimple_get_relevant_ref_binfo): Detect primary bases according to
	their field offset.

	* testsuite/g++.dg/torture/pr45875.C: New test.

From-SVN: r166190
2010-11-02 16:06:21 +01:00
Ian Lance Taylor
181e5ea4f4 configure.ac: Remove elf_getshdrstrndx test.
* configure.ac: Remove elf_getshdrstrndx test.  Don't substitute
	LTO_BINARY_READER or LTO_USE_LIBELF.  Remove LIBELFLIBS and
	LIBELFINC.  Remove HAVE_libelf.
	* config.gcc: Don't set lto_binary_reader.
	* Makefile.in (LIBELFLIBS, LIBELFINC): Remove variables.
	(LTO_BINARY_READER, LTO_USE_LIBELF): Remove variables.
	(LIBS): Remove $(LIBELFLIBS).
	(INCLUDES): Remove $(LIBELFINC).
	* configure: Rebuild.
	* config.in: Rebuild.

From-SVN: r166189
2010-11-02 14:53:15 +00:00
Nathan Froyd
5239874d71 microblaze-protos.h (function_arg): Delete.
* config/microblaze/microblaze-protos.h (function_arg): Delete.
	(function_arg_advance): Delete.
	* config/microblaze/microblaze.h (FUNCTION_ARG_ADVANCE): Delete.
	(FUNCTION_ARG): Delete.
	* config/microblaze/microblaze.c (function_arg_advance): Rename to...
	(microblaze_function_arg_advance): ...this.  Make static.  Take a
	const_tree and a bool.
	(function-arg): Rename to...
	(microblaze_function_arg): ...this.  Make static.  Take a const_tree
	and a bool.
	(microblaze_expand_prologue): Call targetm.calls.function_arg and
	targetm.calls.function_arg_advance.
	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.

From-SVN: r166188
2010-11-02 14:50:28 +00:00
Ian Lance Taylor
6b3456d1ff lto-object.c: New file.
* lto-object.c: New file.
	* lto-elf.c: Remove file.
	* lto-macho.c: Remove file.
	* lto-macho.h: Remove file.
	* lto-coff.c: Remove file.
	* lto-coff.h: Remove file.
	* Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
	lto/lto-object.o.
	($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
	(lto/lto-objfile.o): New target.
	(lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
	(lto/lto.o): Remove $(LIBIBERTY_H).

From-SVN: r166187
2010-11-02 14:48:34 +00:00
Ian Lance Taylor
1cfabf34d8 simple-object.h: New file.
include/:
	* simple-object.h: New file.
libiberty/:
	* simple-object.c: New file.
	* simple-object-common.h: New file.
	* simple-object-elf.c: New file.
	* simple-object-mach-o.c: New file.
	* simple-object-coff.c: New file.
	* simple-object.txh: New file.
	* configure.ac: Add AC_TYPE_SSIZE_T.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add simple-object.c, simple-object-coff,
	simple-object-elf.c, and simple-object-mach-o.c.
	(REQUIRED_OFILES): Add corresponding object files.
	* configure: Rebuild.
	* config.in: Rebuild.
	* functions.texi: Rebuild.

Co-Authored-By: Dave Korn <dave.korn.cygwin@gmail.com>
Co-Authored-By: Iain Sandoe <iains@gcc.gnu.org>

From-SVN: r166185
2010-11-02 14:40:44 +00:00
Iain Sandoe
fee3eacd6f update darwin x86 output.
gcc:
	Merge from FSF "apple/trunk" branch.

	* config/rs6000/darwin.opt (mdynamic-no-pic): move from here ...
	* config/darwin.opt: .. to here.
	(matt-stubs): New option.
	* config/i386/darwin.opt: Delete.
	* config/i386/i386.h (MACHOPIC_ATT_STUB): New.
	(MACHO_DYNAMIC_NO_PIC_P): New.
	(MACHOPIC_INDIRECT): New.
	(MACHOPIC_PURE): New.
	* config/i386/darwin.h (DARWIN_X86) Define to 1.
	(MACHOPIC_ATT_STUB): New.
	(CC1_SPEC): Do not remove mdynamic-no-pic.
	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
	(FUNCTION_PROFILER): Correct over-length line.
	(SUBTARGET_OVERRIDE_OPTIONS): New.
	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
	* config/i386/i386.c (config/i386/i386.c): Darwin has no PLT.
	(legitimate_constant_p): Handle mdynamic-no-pic.
	(ix86_legitimate_address_p): Likewise.
	(ix86_legitimize_address): Likewise.
	(ix86_expand_move): Likewise.
	(machopic_output_stub): Update for ATT-style stubs and
	mdynamic-no-pic.
	* config/darwin-protos.h (machopic_symbol_defined_p): New.
	* config/rs6000/darwin.h (DARWIN_PPC): Define to 1.
	TARGET_DYNAMIC_NO_PIC: Remove.
	Move HOT_TEXT_SECTION_NAME: move to config/darwin.h
	UNLIKELY_EXECUTED_TEXT_SECTION_NAME: Likewise.
	* config/rs6000/rs6000.c (darwin_rs6000_override_options):
	Remove handling of mdynamic-no-pic.
	* config/darwin.c (HAVE_lo_sum, gen_macho_high, gen_macho_low):
	Define if required.
	(machopic_symbol_defined_p): Do not try to use current_function_decl
	when generating _get_pc thunks within stubs.
	(machopic_indirect_data_reference): Rework for direct conditionals 
	rather than #ifdefs, add x86 mdynamic-no-pic
	(machopic_legitimize_pic_address): Update to use HAVE_lo_sum with a
	defined value.
	(darwin_override_options): Handle mdynamic-no-pic here.
	* config/darwin-sections.def (machopic_lazy_symbol_ptr2_section): New.
	(machopic_lazy_symbol_ptr3_section): New.
	(machopic_picsymbol_stub2_section): New.
	(machopic_picsymbol_stub3_section): New.
	* config/darwin.h (DARWIN_X86, DARWIN_PPC): Define to 0.
	(MACHOPIC_NL_SYMBOL_PTR_SECTION): New.
	(HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
	Moved common definition from x86 and rs6000.
	(MACHO_DYNAMIC_NO_PIC_P): Override value.
	(MACHOPIC_INDIRECT): Likewise.
	(MACHOPIC_PURE): Likewise.
	* config.gcc (x86-darwin-*): Remove darwin.opt.

From-SVN: r166184
2010-11-02 14:40:03 +00:00
Richard Guenther
551677bf78 re PR testsuite/46249 (gcc.dg/tree-ssa/ssa-ccp-32.c: dubious test)
2010-11-02  Richard Guenther  <rguenther@suse.de>

	PR testsuite/46249
	* gcc.dg/tree-ssa/ssa-ccp-32.c: Fix operator precedence.

From-SVN: r166183
2010-11-02 14:34:53 +00:00
Jakub Jelinek
f6f2ca8f92 re PR debug/46255 (-fcompare-debug failure with -fprofile-generate)
PR debug/46255
	* tree-cfg.c (gimple_flow_call_edges_add): Use gsi_last_nondebug_bb
	instead of gsi_last_bb.

	* gcc.dg/pr46255.c: New test.

From-SVN: r166182
2010-11-02 14:00:39 +01:00
Dodji Seketeli
574e2ba2ee Fix PR c++/46170, c++/46162
gcc/cp/ChangeLog:
	PR c++/46170
	PR c++/46162
	* pt.c (check_valid_ptrmem_cst_expr): Add a complain parameter to
	control diagnostic.
	(convert_nontype_argument, convert_nontype_argument): Pass the
	complain parameter down to check_valid_ptrmem_cst_expr.

gcc/testsuite/ChangeLog:
	PR c++/46170
	PR c++/46162
	* g++.dg/template/sfinae26.C: New test.
	* g++.dg/template/sfinae27.C: Likewise.

From-SVN: r166181
2010-11-02 13:58:48 +01:00
Janne Blomqvist
c86af7f3e4 PR 45629 Remove usage of setjmp/longjmp
From-SVN: r166180
2010-11-02 14:56:38 +02:00
Dodji Seketeli
6f1abb06a6 Restore canonical type comparison for dependent type(def)s
This patch restores canonical type comparison for dependent types and
then dependent typedefs. After this patch, two template type
parameters T are equal if they have the same index, level, *and*
number of sibling parameters. The novelty is to take in account the
number of sibling parameters.

To do this we first build the template parameters w/o taking in
account their number of siblings. When we know the number of template
parameters we fix up each template parameter with the number of
slibling parameters and we build the appropriate canonical types
accordingly. The patch fixes the fallouts deemed necessary.

This fixes PR c++/45606 but actually fixes all the previous bugs
related to dependent typedef comparison we had since we started to
properly representing dependent typedefs.

gcc/cp/ChangeLog:
	PR c++/45606
	* cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): Remove.
	(struct template_parm_index_s)<num_siblings>: New field.
	(TEMPLATE_PARM_NUM_SIBLINGS): New accessor.
	(process_template_parm): Extend the API to accept the number of
	template parms in argument.
	(cp_set_underlying_type): Remove this.
	* class.c (build_self_reference): Require canonical type equality
	back on the self reference of class.
	* decl2.c (grokfield): Require canonical type equality back on
	typedef class fields.
	* name-lookup.c (pushdecl_maybe_friend): Require canonical type
	equality back on typedefs.
	* parser.c (cp_parser_template_parameter_list): Do not require
	canonical type equality on dependent types created during
	template parameters parsing.
	* pt.c (fixup_template_type_parm_type, fixup_template_parm_index)
	(fixup_template_parm, fixup_template_parms): New private
	functions.
	(current_template_args): Declare this.
	(process_template_parm): Pass the total number of template parms
	to canonical_type_parameter.
	(build_template_parm_index): Add a new argument to carry the total
	number of template parms.
	(reduce_template_parm_level, process_template_parm, make_auto): Adjust.
	(current_template_args): Fix this for template template
	parameters.
	(tsubst_template_parm): Split out of ...
	(tsubst_template_parms): ... this.
	(reduce_template_parm_level): Don't loose
	TEMPLATE_PARM_NUM_SIBLINGS when cloning a TEMPLATE_PARM_INDEX.
	(template_parm_to_arg): Extracted this function from
	current_template_args. Make it represent invalid template parms
	with an error_mark_node instead of a LIST_TREE containing an
	error_mark_node.
	(current_template_args): Use template_parm_to_arg.
	(dependent_template_arg_p): Consider an invalid template argument
	as dependent.
	(end_template_parm_list): Do not update template sibling parms
	here anymore. Use fixup_template_parms instead.
	(process_template_parm): Pass the number of template parms to
	canonical_type_parameter.
	(make_auto): Require structural equality on auto
	TEMPLATE_TYPE_PARM for now.
	(unify)<BOUND_TEMPLATE_TEMPLATE_PARM>: Coerce template parameters
	using all the arguments deduced so far.
	(tsubst)<TEMPLATE_TYPE_PARM>: Pass the number of sibling parms to
	canonical_type_parameter.
	* tree.c (cp_set_underlying_type): Remove.
	* typeck.c (get_template_parms_of_dependent_type)
	(incompatible_dependent_types_p): Remove.
	(structural_comptypes): Do not call incompatible_dependent_types_p
	anymore.
	(comp_template_parms_position): Re-organized. Take the length of
	template parms list in account.

gcc/testsuite/ChangeLog:
	PR c++/45606
	* g++.dg/template/typedef36.C: New test.
	* gcc/testsuite/g++.dg/template/canon-type-9.C: Likewise.
	* g++.dg/template/canon-type-10.C: Likewise.
	* g++.dg/template/canon-type-11.C: Likewise.
	* g++.dg/template/canon-type-12.C: Likewise.
	* g++.dg/template/canon-type-13.C: Likewise.

From-SVN: r166179
2010-11-02 13:44:19 +01:00
Bernd Schmidt
9d8477b66b i386.c (cpu_names): Add "corei7".
* config/i386/i386.c (cpu_names): Add "corei7".
	* config/i386/i386.h (enum target_cpu_default): Add entry for Core i7.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r166178
2010-11-02 12:40:42 +00:00
Bernd Schmidt
b2b0154307 Tune alignment for Intel Core i7
* config/i386.h (TARGET_COREI7{_32,_64,}): New macros.
	(enum processor_type): Update comment.  Add entries for Core i7.
	* config/i386-c.c (ix86_target_macros_internal): Update.
	* config/i386.c (m_COREI7{_32,_64}): New macros.
	(m_GENERIC32, m_GENERIC64): Use generic tuning for Core i7.
	(processor_target_table): Tune alignment for Core i7.
	(ix86_option_override_internal): Use PROCESSOR_COREI7_*.

	* doc/invoke.texi: Document "corei7" option value.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>

From-SVN: r166177
2010-11-02 12:34:02 +00:00
Bernd Schmidt
2855d9d949 Basic support for Intel Core i7
* 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
2010-11-02 12:30:26 +00:00
Iain Sandoe
de4df14c7d improve darwin section ordering between debug/non-debug cases.
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
2010-11-02 11:14:42 +00:00
Chung-Lin Tang
47afeed5cc Makefile.in (LIBGCC2_CFLAGS): Add -fno-stack-protector...
* 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
2010-11-02 10:34:54 +00:00
Benjamin Kosnik
94a86be0dd libstdc++: N3126 draft support.
* 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
2010-11-01 22:35:28 -04:00
Jason Merrill
900484dee5 initializer_list: Decorate with constexpr.
* libsupc++/initializer_list: Decorate with constexpr.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r166170
2010-11-01 21:31:50 -04:00
Jason Merrill
2bfe0527cd semantics.c (call_stack, [...]): New.
* 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
2010-11-01 21:31:40 -04:00
Jason Merrill
ddbbc9a109 semantics.c (cxx_eval_constant_expression): Explain unacceptable use of variable better.
* semantics.c (cxx_eval_constant_expression): Explain
	unacceptable use of variable better.

From-SVN: r166168
2010-11-01 21:31:31 -04:00
Jason Merrill
fa2200cbb1 call.c (null_ptr_cst_p): Use maybe_constant_value.
* 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
2010-11-01 21:31:18 -04:00
Gabriel Dos Reis
c41095db2f semantics.c (constexpr_call): New datatype.
* 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
2010-11-01 21:31:02 -04:00
Jason Merrill
66e61a34b5 cp-tree.h (register_constexpr_fundef): Declare.
* 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
2010-11-01 21:30:51 -04:00
Jason Merrill
aef4a21519 decl2.c (decl_constant_var_p): New fn.
* 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
2010-11-01 21:30:39 -04:00
Jason Merrill
7bf8ca763d fold-const.c (fold_indirect_ref_1): Handle folding POINTER_PLUS_EXPR to ARRAY_REF.
* fold-const.c (fold_indirect_ref_1): Handle folding
	POINTER_PLUS_EXPR to ARRAY_REF.

From-SVN: r166163
2010-11-01 21:20:42 -04:00
Alan Modra
878415841a re PR libstdc++/12110 (ICE building 64-bit strstream.o)
PR binutils/12110
	* configure.ac: Error when source path contains spaces.
	* configure: Regenerate.

From-SVN: r166162
2010-11-02 10:50:35 +10:30
GCC Administrator
d4e0b5cd18 Daily bump.
From-SVN: r166161
2010-11-02 00:18:00 +00:00
Kaz Kojima
90833f7f2f sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
* config/sh/sh.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
	(sh_delegitimize_address): New function.

From-SVN: r166157
2010-11-02 00:12:14 +00:00
Joseph Myers
baf3ead600 alpha.h (WORD_SWITCH_TAKES_ARG): Remove.
* 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
2010-11-01 23:44:35 +00:00
Joseph Myers
6d721f6786 common.opt (R, [...]): New.
* 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
2010-11-01 23:40:53 +00:00
Nicola Pero
2debdb4fcd In gcc/c-family/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
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
2010-11-01 22:54:35 +00:00
Jonathan Wakely
db4e59bb2b re PR libstdc++/45999 (runtime error in std::vector python pretty printer.)
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
2010-11-01 21:28:44 +00:00