Commit Graph

119649 Commits

Author SHA1 Message Date
Eric Botcazou
1a17bd3504 loop-invariant.c: Include target.h.
* loop-invariant.c: Include target.h.
	(check_dependency): Return false for an uninitialized argument register
	that is likely to be spilled.
	* Makefile.in (loop-invariant.o): Add $(TARGET_H).

From-SVN: r192566
2012-10-18 15:46:04 +00:00
Eric Botcazou
27a9462d4f * except.c (sjlj_emit_function_enter): Remove unused variable.
From-SVN: r192565
2012-10-18 15:38:26 +00:00
Matthew Gretton-Dann
c42163885f Add support for fma intrinsics for ARM.
Correct dates in changelog from earlier commit.


2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (neon_builtin_data): Add vfma and vfms
      	builtins.
        * config/arm/neon-docgen.ml (intrinsic_groups): Add
        fused-multiply-* groups.
        * config/neon-gen.ml (print_feature_test_start): New function.
        (print_feature_test_end): Likewise.
        (print_variant): Print feature test macros.
        * config/arm/neon-testgen.ml (emit_prologue): Allow different
        tests to require different effective targets.
        (effective_target): New function.
        (test_intrinsic): Specify correct effective targets.
        * gcc/config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
        (fmsub<VCVTF:mode>4_intrinsic): Likewise.
        (neon_vfma<VCVFT:mode>): New expand.
        (neon_vfms<VCVFT:mode>): Likewise.
        * config/neon.ml (opcode): Add Vfma and Vfms.
        (features): Add Requires_feature.
        (ops): Add VFMA and VFMS intrinsics.
        * config/arm/arm_neon.h: Regenerate.
        * doc/arm-neon-intrinsics.texi: Likewise.





2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/neon/vfmaQf32.c: New testcase.
        * gcc.target/arm/neon/vfmaf32.c: Likewise.
        * gcc.target/arm/neon/vfmsQf32.c: Likewise.
        * gcc.target/arm/neon/vfmsf32.c: Likewise.



Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r192560
2012-10-18 12:02:01 +00:00
Richard Guenther
c61f8c3b79 lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
2012-10-18  Richard Guenther  <rguenther@suse.de>

	* lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
	* lto-streamer-in.c (lto_input_tree): Use it.
	* lto-streamer-out.c (lto_output_tree): Likewise, for
	!TREE_OVERFLOW integer constants only.
	* tree-streamer-in.c (unpack_ts_int_cst_value_fields): New function.
	(unpack_value_fields): Call it.
	(streamer_read_integer_cst): Simplify.
	* tree-streamer-out.c (pack_ts_int_cst_value_fields): New function.
	(streamer_pack_tree_bitfields): Call it.
	(streamer_write_integer_cst): Adjust.

From-SVN: r192559
2012-10-18 10:59:55 +00:00
Matthew Gretton-Dann
595fefee5d Add basic armv8-a support
2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
        * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
        * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
        ARMv8-A row.
        * gcc.target/arm/ftest-support-thumb.h (feature_matrix):
        Likewise.
        * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
        * lib/target-supports.exp: Add ARMv8-A architecture expectation.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config.gcc: Add support for ARMv8 for arm*-*-* targets.
        * config/arm/arm-arches.def: Add armv8-a
        * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
        crypto-neon-fp-armv8.  Add crypto field.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
        (arm_arch8): New global variable.
        (ARM_FPU): Add crypto parameter.
        (arm_option_override): Set arm_arch8, update comments.
        * config/arm/arm.h (TARGET_CRYPTO): New macro.
        (arm_fpu_desc): Add crypto field.
        (base_architecture): Add ARMv8 entry.
        (arm_arch8): New variable declaration.
        * config/arm/bpabi.h: ARMv8 supports BE8.
        * doc/invoke.texi: Document ARMv8 options.






Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r192558
2012-10-18 10:49:23 +00:00
Benjamin Kosnik
a9ba8ba56c move.h (move_if_noexcept): Mark constexpr.
2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/move.h (move_if_noexcept): Mark constexpr.
	* include/std/array (front, back): Same.
	* include/std/chrono: Add comment.
	* include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
	(operator ==, <, >, !=, <=, >=): Same.
	* testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
	* testsuite/20_util/forward/f_neg.cc: Same.
	* testsuite/20_util/move_if_noexcept/constexpr.cc: New.
	* testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
	* testsuite/23_containers/array/element_access/
	constexpr_element_access.cc: Same.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Same.

	* testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
          Temporarily add dg-excess-errors.

From-SVN: r192556
2012-10-18 08:36:06 +00:00
GCC Administrator
2167642932 Daily bump.
From-SVN: r192552
2012-10-18 00:18:37 +00:00
Aldy Hernandez
a3770d3b7d re PR middle-end/54893 (unable to access volatile variable within relaxed transaction)
PR middle-end/54893
        * trans-mem.c (diagnose_tm_1_op): Allow volatiles inside relaxed
        transactions.

From-SVN: r192549
2012-10-17 21:18:16 +00:00
Aldy Hernandez
a7b159a4dc re PR rtl-optimization/54900 (write introduction incorrect wrt the C11 memory model (2))
PR rtl-optimization/54900
	* ifcvt.c (noce_can_store_speculate_p): Call
	memory_must_be_modified_in_insn_p.
	* alias.c (memory_must_be_modified_in_insn_p): New.
	(set_dest_equal_p): New.
	* rtl.h (memory_must_be_modified_in_p): Protoize.

From-SVN: r192548
2012-10-17 20:59:40 +00:00
Michael Meissner
4d9675496a rs6000.opt (rs6000_isa_flags): New flag word to replace target_flags that gives us 63 possible switches.
2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
	replace target_flags that gives us 63 possible switches.
	(x_rs6000_isa_flags): Save area for rs6000_isa_flags.
	(x_rs6000_isa_flags_explicit): Save area for
	rs6000_isa_flags_explicit.
	(rs6000_target_flags_explicit): Delete in favor of
	x_rs6000_isa_flags_explicit.
	(-mpowerpc64): Change all switches that used to be in target_flags
	to now be in rs6000_isa_flags.  In using rs6000_isa_flags, the
	options machinary will generate names of the form OPITON_<xxx>
	instead of TARGET_<xxx> and OPTION_MASK_<xxx> instead of
	MASK_<xxx>.
	(-mpowerpc-gpopt): Likewise.
	(-mpowerpc-gfxopt): Likewise.
	(-mmfcrf): Likewise.
	(-mpopcntb): Likewise.
	(-mfprnd): Likewise.
	(-mcmpb): Likewise.
	(-mmfpgpr): Likewise.
	(-maltivec): Likewise.
	(-mhard-dfp): Likewise.
	(-mmulhw): Likewise.
	(-mdlmzb): Likewise.
	(-mmultiple): Likewise.
	(-mstring): Likewise.
	(-msoft-float): Likewise.
	(-mhard-float): Likewise.
	(-mpopcntd): Likewise.
	(-mvsx): Likewise.
	(-mno-update): Likewise.
	(-mupdate): Likewise.
	(-mrecip-precision): Likewise.
	(-mminimal-toc): Likewise.
	(-misel): Likewise.
	* config/rs6000/aix64.opt (-maix64): Likewise.
	(-maix32): Likewise.
	* config/rs6000/sysv4.opt (-mstrict-align): Likewise.
	(-mrelocatable): Likewise.
	(-mlittle-endian): Likewise.
	(-mlittle): Likewise.
	(-mbig-endian): LIkewise.
	(-mbig): Likewise.
	(-meabi): Likewise.
	(-m64): Likewise.
	(-m32): Likewise.
	* config/rs6000/darwin.opt (-m64): Likewise.
	(-m32): Likewise.

	* config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
	masks used in rs6000.c here, since they are more logically in this
	file.  Convert from being enums to just #defines, since the types
	of these masks is now HOST_WIDE_INT instead of int.  For
	POWERPC_MASKS, add MASK_SOFT_FLOAT, since the only use case or'ed
	in the mask.  Change the use in rs6000.c not to do the OR of
	MASK_SOFT_FLOAT.
	(ISA_2_1_MASKS): Likewise.
	(ISA_2_2_MASKS): Likewise.
	(ISA_2_4_MASKS): Likewise.
	(ISA_2_5_MASKS_EMBEDDED): Likewise.
	(ISA_2_5_MASKS_SERVER): Likewise.
	(POWERPC_7400_MASK): Likewise.
	(POWERPC_MASKS): Likewise.
	* config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
	(ISA_2_1_MASKS): Likewise.
	(ISA_2_2_MASKS): Likewise.
	(ISA_2_4_MASKS): Likewise.
	(ISA_2_5_MASKS_EMBEDDED): Likewise.
	(ISA_2_5_MASKS_SERVER): Likewise.
	(POWERPC_7400_MASK): Likewise.
	(POWERPC_MASKS): Likewise.
	(rs6000_option_override_internal): Likewise.

	* config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
	all uses of target_flags to rs6000_isa_flags.  Change all uses of
	target_flags_explicit to rs6000_isa_flags_explicit.  Change the
	use of MASK_<xxx> to OPTION_MASK_<xxx> that options.h defines when
	we use a secondary flags word.  Save/restore/print the new flags
	word when switching contexts with different target attributes.
	(rs6000_option_override_internal): Likewise.
	(rs6000_darwin_file_start): Likewise.
	(rs6000_opt_masks): Likewise.
	(rs6000_inner_target_options): Likewise.
	(rs6000_pragma_target_parse): Likewise.
	(rs6000_set_current_function): Likewise.
	(rs6000_function_specific_save): Likewise.
	(rs6000_function_specific_restore): Likewise.
	(rs6000_function_specific_print): Likewise.
	(rs6000_can_inline_p): Likewise.
	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
	Likewise.
	(rs6000_cpu_cpp_builtins): Likewise.
	* common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
	Likewise.

	* config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
	Var(...) for all of the isa switches, the options machinery now
	uses OPTION_MASK_<xxx> instead of MASK_<xxx> for the mask name.
	Use #define to map the old name into the new name.  For switches
	that are defined in aix64.opt, sysv4.opt, and darwin.opt, only do
	the definition if those switches were defined.
	(MASK_ALTIVEC): Likewise.
	(MASK_CMPB): Likewise.
	(MASK_DFP): Likewise.
	(MASK_DLMZB): Likewise.
	(MASK_EABI): Likewise.
	(MASK_FPRND): Likewise.
	(MASK_HARD_FLOAT): Likewise.
	(MASK_ISEL): Likewise.
	(MASK_MFCRF): Likewise.
	(MASK_MFPGPR): Likewise.
	(MASK_MULHW): Likewise.
	(MASK_MULTIPLE): Likewise.
	(MASK_NO_UPDATE): Likewise.
	(MASK_POPCNTB): Likewise.
	(MASK_POPCNTD): Likewise.
	(MASK_PPC_GFXOPT): Likewise.
	(MASK_PPC_GPOPT): Likewise.
	(MASK_RECIP_PRECISION): Likewise.
	(MASK_SOFT_FLOAT): Likewise.
	(MASK_STRICT_ALIGN): Likewise.
	(MASK_STRING): Likewise.
	(MASK_UPDATE): Likewise.
	(MASK_VSX): Likewise.
	(MASK_POWERPC64): Likewise.
	(MASK_64BIT): Likewise.
	(MASK_RELOCATABLE): Likewise.
	(MASK_LITTLE_ENDIAN): Likewise.
	(MASK_MINIMAL_TOC): Likewise.
	(MASK_REGNAMES): Likewise.
	(MASK_PROTOTYPE): Likewise.
	(rs6000_isa_flags_explicit): Define in terms of the
	global_options_set structure.

	* gcc/config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
	Change use of target_flags to rs6000_isa_flags,
	target_flags_explicit to rs6000_isa_flags_explicit, and MASK_<xxx>
	to OPTION_MASK_<xxx>.
	* gcc/config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS):
	Likewise.
	* gcc/config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS):
	Likewise.
	* gcc/config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS):
	Likewise.
	* gcc/config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS):
	Likewise.
	* gcc/config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP):
	Likewise.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
	* gcc/config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP):
	Likewise.
	* gcc/config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP):
	Likewise.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
	(OPTION_LITTLE_ENDIAN): Likewise.
	(OPTION_RELOCATABLE): Likewise.
	(OPTION_EABI): Likewise.
	(OPTION_PROTOTYPE): Likewise.
	* gcc/config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
	* gcc/config/rs6000/option-defaults.h (OPTION_MASK_64BIT):
	Likewise.
	(OPT_ARCH32): Likewise.
	(OPT_ARCH64): Likewise.
	* gcc/config/rs6000/sysv4.h (TARGET_TOC): Likewise.
	(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
	(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
	(TARGET_OS_SYSV_CPP_BUILTINS): Likewise.

	* config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
	dependency.

From-SVN: r192545
2012-10-17 20:12:38 +00:00
Jan Hubicka
bf45c4c0c1 cfgloopmanip.c (copy_loop_info): New function.
* cfgloopmanip.c (copy_loop_info): New function.
	(duplicate_loop): Use it.
	(loop_version): Use it.
	* loop-unswitch.c (unswitch_loop): Use it.
	* cfgloop.h (copy_loop_info): Declare.

From-SVN: r192543
2012-10-17 19:50:16 +00:00
Jan Hubicka
b7442c2fe0 tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel parameter and use it to estimate code optimized out in the...
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
	parameter and use it to estimate code optimized out in the final iteration.
	(loop_edge_to_cancel): New function.
	(try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
	handle unrolling loops with bounds given via max_loop_iteratins;
	handle unrolling non-inner loops when code size shrinks;
	tidy dump output; when the last iteration loop still stays
	as loop in the CFG forcongly redirect the latch to
	__builtin_unreachable.
	(canonicalize_loop_induction_variables): Add irred_invlaidated
	parameter; record niter bound derrived; dump
	max_loop_iterations bounds; call try_unroll_loop_completely
	even if no niter bound is given.
	(canonicalize_induction_variables): Handle irred_invalidated.
	(tree_unroll_loops_completely): Handle non-innermost loops;
	handle irred_invalidated.
	* cfgloop.h (unlop): Declare.
	* cfgloopmanip.c (unloop): Export.
	* tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.

	* gcc.target/i386/l_fma_float_?.c: Update.
	* gcc.target/i386/l_fma_double_?.c: Update.
	* gfortran.dg/do_1.f90: XFAIL
	* gcc.dg/tree-ssa/cunroll-1.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-2.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-3.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-4.c: New testcase.
	* gcc.dg/tree-ssa/cunroll-5.c: New testcase.
	* gcc.dg/tree-ssa/ldist-17.c: Block cunroll to make testcase still
	valid.

From-SVN: r192538
2012-10-17 17:12:05 +00:00
Michael Meissner
90922d3638 opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx> for Mask options, whether they use Var(...) or not.
2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx>
	for Mask options, whether they use Var(...) or not.

	* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
	TARGET_<xxx> instead of OPTION_<xxx>.
	* config/i386/i386.h (TARGET_64BIT): Likewise.
	(TARGET_MMX): Likewise.
	(TARGET_3DNOW): Likewise.
	(TARGET_3DNOW_A): Likewise.
	(TARGET_SSE): Likewise.
	(TARGET_SSE2): Likewise.
	(TARGET_SSE3): Likewise.
	(TARGET_SSSE3): Likewise.
	(TARGET_SSE4_1): Likewise.
	(TARGET_SSE4_2): Likewise.
	(TARGET_AVX): Likewise.
	(TARGET_AVX2): Likewise.
	(TARGET_FMA): Likewise.
	(TARGET_SSE4A): Likewise.
	(TARGET_FMA4): Likewise.
	(TARGET_XOP): Likewise.
	(TARGET_LWP): Likewise.
	(TARGET_ROUND): Likewise.
	(TARGET_ABM): Likewise.
	(TARGET_BMI): Likewise.
	(TARGET_BMI2): Likewise.
	(TARGET_LZCNT): Likewise.
	(TARGET_TBM): Likewise.
	(TARGET_POPCNT): Likewise.
	(TARGET_SAHF): Likewise.
	(TARGET_MOVBE): Likewise.
	(TARGET_CRC32): Likewise.
	(TARGET_AES): Likewise.
	(TARGET_PCLMUL): Likewise.
	(TARGET_CMPXCHG16B): Likewise.
	(TARGET_FSGSBASE): Likewise.
	(TARGET_RDRND): Likewise.
	(TARGET_F16C): Likewise.
	(TARGET_RTM     ): Likewise.
	(TARGET_HLE): Likewise.
	(TARGET_RDSEED): Likewise.
	(TARGET_PRFCHW): Likewise.
	(TARGET_ADX): Likewise.
	(TARGET_64BIT): Likewise.
	(TARGET_MMX): Likewise.
	(TARGET_3DNOW): Likewise.
	(TARGET_3DNOW_A): Likewise.
	(TARGET_SSE): Likewise.
	(TARGET_SSE2): Likewise.
	(TARGET_SSE3): Likewise.
	(TARGET_SSSE3): Likewise.
	(TARGET_SSE4_1): Likewise.
	(TARGET_SSE4_2): Likewise.
	(TARGET_AVX): Likewise.
	(TARGET_AVX2): Likewise.
	(TARGET_FMA): Likewise.
	(TARGET_SSE4A): Likewise.
	(TARGET_FMA4): Likewise.
	(TARGET_XOP): Likewise.
	(TARGET_LWP): Likewise.
	(TARGET_ROUND): Likewise.
	(TARGET_ABM): Likewise.
	(TARGET_BMI): Likewise.
	(TARGET_BMI2): Likewise.
	(TARGET_LZCNT): Likewise.
	(TARGET_TBM): Likewise.
	(TARGET_POPCNT): Likewise.
	(TARGET_SAHF): Likewise.
	(TARGET_MOVBE): Likewise.
	(TARGET_CRC32): Likewise.
	(TARGET_AES): Likewise.
	(TARGET_PCLMUL): Likewise.
	(TARGET_CMPXCHG16B): Likewise.
	(TARGET_FSGSBASE): Likewise.
	(TARGET_RDRND): Likewise.
	(TARGET_F16C): Likewise.
	(TARGET_RTM): Likewise.
	(TARGET_HLE): Likewise.
	(TARGET_RDSEED): Likewise.
	(TARGET_PRFCHW): Likewise.
	(TARGET_ADX): Likewise.
	(TARGET_LP64): Likewise.
	(TARGET_X32): Likewise.
	(TARGET_ISA_ROUND): Likewise.
	* config/i386/darwin.h (TARGET_64BIT): Likewise.

	* doc/options.texi (Mask): Update documentation to specify only
	TARGET_<xxx> is generated.

From-SVN: r192537
2012-10-17 16:49:26 +00:00
Greta Yorsh
4208399956 arm.md (UNSPEC_PROLOGUE_USE): Rename this...
* config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
        (UNSPEC_REGISTER_USE): ... to this.
        (prologue_use): Rename this...
	  (force_register_use): ... to this and update output assembly.
        (epilogue) Rename gen_prologue_use to gen_force_register_use.
        * config/arm/arm.c (arm_expand_prologue): Likewise.
        (thumb1_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.

From-SVN: r192533
2012-10-17 14:17:30 +01:00
Georg-Johann Lay
eb5af262af avr-arch.h (avr_extra_arch_macro): Remove prototype.
* config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
	* config/avr/avr.c (avr_extra_arch_macro): Remove variable.
	(avr_option_override): Remove setting of avr_extra_arch_macro.
	* config/avr/avr-c.c (avr_extra_arch_macro): Replace with
	avr_current_device->macro.

From-SVN: r192532
2012-10-17 12:53:22 +00:00
Richard Biener
3855380a5f tree-streamer-out.c (write_ts_decl_common_tree_pointers): Do not write TREE_CHAIN of PARM_DECLs.
2012-10-17  Richard Biener  <rguenther@suse.de>

	* tree-streamer-out.c (write_ts_decl_common_tree_pointers):
	Do not write TREE_CHAIN of PARM_DECLs.
	(write_ts_decl_non_common_tree_pointers): Instead stream
	the DECL_ARGUMENTS chain.
	* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
	Do not read TREE_CHAIN of PARM_DECLs.
	(lto_input_ts_decl_non_common_tree_pointes): Instead read
	the DECL_ARGUMENTS as chain.

From-SVN: r192529
2012-10-17 10:25:56 +00:00
Steven Bosscher
e0de0c3b40 iq2000.h (call_used_regs): Remove definition.
* config/iq2000/iq2000.h (call_used_regs): Remove definition.

From-SVN: r192528
2012-10-17 09:51:02 +00:00
Eric Botcazou
3768afe916 Add missing entry.
From-SVN: r192527
2012-10-17 07:03:35 +00:00
Steven Bosscher
8c266ffa32 df-problems.c (df_kill_notes): Split up in two functions.
* df-problems.c (df_kill_notes): Split up in two functions.
	(df_remove_dead_and_unused_notes): New function, first half of
	df_kill notes to remove all REG_DEAD and REG_UNUSED notes.
	(df_remove_dead_eq_notes): New function, second half of df_kill_notes
	to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.
	(df_note_bb_compute): Call df_remove_dead_and_unused_notes instead
	of df_kill_notes.  Call df_remove_dead_eq_notes after processing insn.

	* web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;

From-SVN: r192526
2012-10-17 06:15:38 +00:00
Ian Lance Taylor
d564b81687 extend.texi (Return Address): Change __builtin_extract_return_address to __builtin_extract_return_addr.
* doc/extend.texi (Return Address): Change
	__builtin_extract_return_address to
	__builtin_extract_return_addr.

From-SVN: r192525
2012-10-17 05:18:02 +00:00
GCC Administrator
8f1646e51e Daily bump.
From-SVN: r192522
2012-10-17 00:17:59 +00:00
Joern Rennecke
ca5939616f Remove debug code accidentially checked in with last commit.
From-SVN: r192519
2012-10-17 00:38:24 +01:00
Eric Botcazou
88d8330d67 re PR rtl-optimization/54870 (gfortran.dg/array_constructor_4.f90 FAILs)
PR rtl-optimization/54870
	* tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
	* cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
	SSA_NAME pointer that points to a partition if there is at least
	one variable with it set in the partition.
	* dse.c (local_variable_can_escape): New predicate.
	(can_escape): Call it.
	* gimplify.c (mark_addressable): If this is a partitioned decl, also
	mark the SSA_NAME pointer that points to a partition.

From-SVN: r192517
2012-10-16 22:49:07 +00:00
Steven Bosscher
da4fdf2d3f rtl.h (get_call_rtx_from): New prototype.
* rtl.h (get_call_rtx_from): New prototype.
	* rtlanal.c (get_call_rtx_from): New function.
	* calls.c (emit_call_1): Use it.
	* dse.c (scan_insn): Likewise
	* dwarf2out.c (dwarf2out_var_location): Likewise.
	* sched-deps.c (call_may_noreturn_p): Likewise.
	* var-tracking.c (prepare_call_arguments): Likewise.
	* config/sh/sh.c (sh_adjust_cost): Likewise.

From-SVN: r192516
2012-10-16 22:05:17 +00:00
Tom de Vries
f841b68397 2012-10-16 Tom de Vries <tom@codesourcery.com>
* expr.c (move_by_pieces, move_by_pieces_ninsns, can_store_by_pieces)
	(store_by_pieces_1): Don't enter loop when no more data is left.

From-SVN: r192514
2012-10-16 20:32:45 +00:00
François Dumont
7181e991b5 formatter.h (_Debug_msg_id): Add __msg_bucket_index_oob.
2012-10-16  François Dumont  <fdumont@gcc.gnu.org>

	* include/debug/formatter.h (_Debug_msg_id): Add
	__msg_bucket_index_oob.
	* include/debug/macros.h (__glibcxx_check_bucket_index): New.
	* include/debug/unordered_set (unordered_set<>::begin(size_type)):
	Add check on bucket index.
	(unordered_set<>::begin(size_type) const): Likewise.
	(unordered_set<>::cbegin(size_type) const): Likewise.
	(unordered_set<>::end(size_type)): Likewise.
	(unordered_set<>::end(size_type) const): Likewise.
	(unordered_set<>::cend(size_type) const): Likewise.
	(unordered_set<>::bucket_size(size_type)): Likewise.
	(unordered_multiset<>::begin(size_type)): Likewise.
	(unordered_multiset<>::begin(size_type) const): Likewise.
	(unordered_multiset<>::cbegin(size_type) const): Likewise.
	(unordered_multiset<>::end(size_type)): Likewise.
	(unordered_multiset<>::end(size_type) const): Likewise.
	(unordered_multiset<>::cend(size_type) const): Likewise.
	(unordered_multiset<>::bucket_size(size_type)): Likewise.
	* include/debug/unordered_map (unordered_map<>::begin(size_type)):
	Likewise.
	(unordered_map<>::begin(size_type) const): Likewise.
	(unordered_map<>::cbegin(size_type) const): Likewise.
	(unordered_map<>::end(size_type)): Likewise.
	(unordered_map<>::end(size_type) const): Likewise.
	(unordered_map<>::cend(size_type) const): Likewise.
	(unordered_map<>::bucket_size(size_type)): Likewise.
	(unordered_multimap<>::begin(size_type)): Likewise.
	(unordered_multimap<>::begin(size_type) const): Likewise.
	(unordered_multimap<>::cbegin(size_type) const): Likewise.
	(unordered_multimap<>::end(size_type)): Likewise.
	(unordered_multimap<>::end(size_type) const): Likewise.
	(unordered_multimap<>::cend(size_type) const): Likewise.
	(unordered_multimap<>::bucket_size(size_type)): Likewise.
	* testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
	New.
	* testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
	* testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
	New.
	* testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
	* testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
	New.
	* testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
	* testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
	New.
	* testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
	* testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.

From-SVN: r192512
2012-10-16 19:57:03 +00:00
Joern Rennecke
2407343c3d loop-doloop.c (doloop_modify): Pass doloop_end pattern to gen_doloop_begin.
* loop-doloop.c (doloop_modify): Pass doloop_end pattern to
        gen_doloop_begin.
        (doloop_optimize): Pass flag to indicate if loop is entered at top
        to gen_doloop_end.
        * config/arm/thumb2.md (doloop_end): Accept extra operand.
        * config/bfin/bfin.md (doloop_end): Likewise.
        * config/c6x/c6x.md (doloop_end): Likewise.
        * config/ia64/ia64.md (doloop_end): Likewise.
        * config/mep/mep.md (doloop_begin, doloop_end): Likewise.
        * config/rs6000/rs6000.md (doloop_end): Likewise.
        * config/s390/s390.md (doloop_end): Likewise.
        * config/sh/sh.md (doloop_end): Likewise.
        * config/spu/spu.md (doloop_end): Likewise.
        * config/tilegx/tilegx.md (doloop_end): Likewise.
        * config/tilepro/tilepro.md (doloop_end): Likewise.
        * doc/md.texi (doloop_end): Document new operand.
        * basic-block.h (contains_no_active_insn_p): Declare.
        * cfgrtl.c (contains_no_active_insn_p): New function, factored
        out of ...
        (forwarder_block_p): ... here.

From-SVN: r192505
2012-10-16 17:11:00 +01:00
Manuel López-Ibáñez
d919140b83 re PR c/53063 (encode group options in the .opt files)
2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53063
	PR c/40989
	* doc/options.texi (EnabledBy): Document new form.
	* optc-gen.awk: Handle new form of EnabledBy.
	* common.opt (Wunused-but-set-parameter): Use EnabledBy.
	(Wunused-parameter): Likewise.
	* opts.c (finish_options): Do not handle them explicitly.
	* opt-functions.awk (search_var_name): New.

From-SVN: r192503
2012-10-16 15:38:58 +00:00
Manuel López-Ibáñez
65d4f2cd2a re PR c/53063 (encode group options in the .opt files)
2012-10-16  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR c/53063
	PR c/40989
gcc/
	* optc-gen.awk: Handle new form of LangEnabledBy.
	* opts.c (set_Wstrict_aliasing): Declare here. Make static.
	* common.opt (Wstrict-aliasing=,Wstrict-overflow=): Do not use Init.
	* doc/options.texi (LangEnabledBy): Document new form.
	* flags.h (set_Wstrict_aliasing): Do not declare.
c-family/
	* c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
	* c-opts.c (c_common_handle_option): Do not set them here. Add
	comment.
	(c_common_post_options): Likewise.
testsuite/
	* gcc.dg/Wstrict-overflow-24.c: New.

From-SVN: r192502
2012-10-16 15:31:46 +00:00
Ulrich Weigand
80de67b805 reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE parameter.
* reload.c (find_reloads_subreg_address): Remove FORCE_REPLACE
	parameter.  Always replace normal subreg with memory reference
	whenever possible.  Return NULL otherwise.
	(find_reloads_toplev): Always call find_reloads_subreg_address
	for subregs of registers equivalent to a memory location.
	Only recurse further if find_reloads_subreg_address fails.
	(find_reloads_address_1): Only call find_reloads_subreg_address
	for subregs of registers equivalent to a memory location.
	Properly handle failure of find_reloads_subreg_address.

From-SVN: r192499
2012-10-16 13:26:31 +00:00
Tobias Burnus
16e82b2535 re PR fortran/50981 ([OOP] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument)
2012-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50981
        PR fortran/54618
        * trans.h (gfc_conv_derived_to_class, gfc_conv_class_to_class):
        Update prototype.
        * trans-stmt.c (trans_associate_var,gfc_trans_allocate): Update
        calls to those functions.
        * trans-expr.c (gfc_conv_derived_to_class,
        * gfc_conv_class_to_class,
        gfc_conv_expr_present): Handle absent polymorphic arguments.
        (class_scalar_coarray_to_class): New function.
        (gfc_conv_procedure_call): Update calls.

2012-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/50981
        PR fortran/54618
        * gfortran.dg/class_optional_1.f90: New.
        * gfortran.dg/class_optional_2.f90: New.

From-SVN: r192495
2012-10-16 15:02:02 +02:00
Jakub Jelinek
0fe03ac318 re PR debug/54796 (Non-addressable stack parameter debug quality regression)
PR debug/54796
	* rtl.h: Document jump flag on VALUE.
	* cselib.h (cselib_set_value_sp_based,
	cselib_sp_based_value_p): New prototypes.
	* alias.c (find_base_term): For cselib_sp_based_value_p
	return static_reg_base_value[STACK_POINTER_REGNUM].
	* cselib.c (SP_BASED_VALUE_P): Define.
	(cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
	* var-tracking.c (add_stores): Call cselib_set_value_sp_based
	for not yet preserved VALUEs of sp on sp assignments if
	hard_frame_pointer_adjustment != -1.
	(vt_initialize): When setting hard_frame_pointer_adjustment,
	disassociate sp from its previous value and call
	cselib_set_value_sp_based on a new VALUE created for sp.

	* gcc.dg/guality/pr54796.c: New test.

From-SVN: r192494
2012-10-16 13:21:20 +02:00
Jakub Jelinek
cded4e9ed7 re PR tree-optimization/54889 (Revision 191983 gives compfail for 465.tonto in SPEC CPU 2006 when use -O3 -mavx)
PR tree-optimization/54889
	* tree-vect-stmts.c (vectorizable_load): Add VIEW_CONVERT_EXPR if
	ARRAY_REF newref doesn't have compatible type with vectype element
	type, use vectype element type for MEM_REF.

	* gfortran.dg/pr54889.f90: New test.

From-SVN: r192493
2012-10-16 13:19:37 +02:00
Steven Bosscher
c7fb4c7aae combine.c (record_dead_and_set_regs): Iterate over hard register set with a hard_reg_set_iterator.
* combine.c (record_dead_and_set_regs): Iterate over hard register set
	with a hard_reg_set_iterator.
	* cse.c (invalidate_for_call): Likewise.
	* gcse.c (compute_hash_table_work): Likewise.
	* loop-iv.c (simplify_using_initial_values): Likewise.
	* postreload-gcse.c (record_opr_changes): Likewise.
	* regcprop.c (copyprop_hardreg_forward_1): Likewise.
	* var-tracking.c (dataflow_set_clear_at_call): Likewise.

From-SVN: r192490
2012-10-16 07:46:11 +00:00
Eric Botcazou
909881cb25 c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
* c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
	(dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
	Remove POINTER_TYPE handling, add large unsigned handling and use
	ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.

From-SVN: r192489
2012-10-16 07:13:37 +00:00
Easwaran Raman
a4da41e127 [multiple changes]
2012-10-15   Easwaran Raman  <eraman@google.com>

        * optabs.c (emit_cmp_and_jump_insn_1): Add a new parameter to
        specificy the probability of taking the jump.
        (emit_cmp_and_jump_insns): Likewise.
        (expand_compare_and_swap_loop): Make the jump predicted not taken.
        * dojump.c (do_compare_rtx_and_jump): Remove the code attaching
        REG_BR_PROB note and pass probability to emit_cmp_and_jump_insns.
        * cfgbuild.c (compute_outgoing_frequencies): Do not guess outgoing
        probabilities for branches with more than two successors.
        * expr.c (emit_block_move_via_loop): Predict the loop backedge loop
        to be highly taken.
        (try_casesi): Pass the probability of jumping to the default label.
        (try_tablejump): Likewise.
        (do_tablejump): Likewise.
        * expr.h (try_tablejump): Add a new parameter.
        (try_casesi): Likewise.
        (emit_cmp_and_jump_insns): Add probability as default parameter with a
        default value of -1.
        * except.c (sjlj_emit_function_enter): Pass probability to
        emit_cmp_and_jump_insns.
        * stmt.c (case_node): Add new fields PROB and SUBTREE_PROB.
        (do_jump_if_equal): Pass probability for REG_BR_PROB note.
        (add_case_node): Pass estimated probability of jumping to the case
        label.
        (emit_case_decision_tree): Pass default_prob to emit_case_nodes.
        (get_outgoing_edge_probs): New function.
        (conditional_probability): Likewise.
        (reset_out_edges_aux): Likewise.
        (compute_cases_per_edge): Likewise.
        (emit_case_dispatch_table): Update probabilities of edges coming out
        of the switch statement.
        (expand_case): Compute and propagate default edge probability to
        emit_case_dispatch_table.
        (expand_sjlj_dispatch_table): Update calls to add_case_node and
        emit_case_dispatch_table.
        (balance_case_nodes): Update subtree_prob values.
        (emit_case_nodes): Compute edge probabilities and add pass them to
        emit_cmp_and_jump_insns.

testsuite/ChangeLog:
2012-10-15   Easwaran Raman  <eraman@google.com> 
        * gcc.dg/tree-prof/switch-case-1.c: New test case.
        * gcc.dg/tree-prof/switch-case-2.c: New test case.

From-SVN: r192488
2012-10-16 05:28:08 +00:00
GCC Administrator
07a1164095 Daily bump.
From-SVN: r192486
2012-10-16 00:18:27 +00:00
Hans-Peter Nilsson
6f9ca45b07 builtin-apply-2.c, [...]: Correct STACK_ARGUMENTS_SIZE for MMIX.
* gcc.dg/torture/stackalign/builtin-apply-2.c,
	gcc.dg/builtin-apply2.c: Correct STACK_ARGUMENTS_SIZE for MMIX.

From-SVN: r192483
2012-10-15 22:38:37 +00:00
Oleg Endo
c646194bd3 re PR target/54925 (Segfault in gen_split_910)
PR target/54925
	* gcc.c-torture/compile/pr54925.c: New.

From-SVN: r192482
2012-10-15 22:15:18 +00:00
Oleg Endo
26943929c0 re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244
	* config/sh/sh-protos.h (set_of_reg): New struct.
	(sh_find_set_of_reg, sh_is_logical_t_store_expr,
	sh_try_omit_signzero_extend):  Declare...
	* config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr,
	sh_try_omit_signzero_extend): ...these new functions.
	* config/sh/sh.md (*logical_op_t): New insn_and_split.
	(*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend
	in splitter.
	(*extend<mode>si2_compact_reg): Convert to insn_and_split.
	Use sh_try_omit_signzero_extend in splitter.
	(*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1.
	(*cbranch_t): Rewrite combine part in splitter using new
	sh_find_set_of_reg function.

	PR target/51244
	* gcc.target/sh/pr51244-17.c: New.

From-SVN: r192481
2012-10-15 22:08:07 +00:00
Oleg Endo
14df3f361e re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
PR target/54760
	* config/sh/sh.c (sh_find_base_reg_disp): Stop searching insns when
	hitting a call insn if GBR is marked as call used.
	* config/sh/iterators.md (QIHISIDI): New mode iterator.
	* config/sh/predicates.md (gbr_address_mem): New predicate.
	* config/sh/sh.md (*movdi_gbr_load, *movdi_gbr_store): New
	insn_and_split.
	Use QIHISIDI instead of QIHISI in unnamed GBR addressing splits.

	PR target/54760
	* gcc.target/sh/pr54760-2.c: Add long long and unsigned long long test
	functions.
	* gcc.target/sh/pr54760-4.c: New.

From-SVN: r192480
2012-10-15 22:04:37 +00:00
Oleg Endo
845f411176 sh.c: Update function attribute comments.
* config/sh/sh.c: Update function attribute comments.
	* doc/extend.texi (function_vector): Rephrase SH2A specific part.
	(nosave_low_regs, renesas, trapa_handler): Document SH specific
	attributes.
	(sp_switch, trap_exit): Add to index.

From-SVN: r192479
2012-10-15 22:01:26 +00:00
Oleg Endo
e67ae07334 re PR target/34777 (uClibc-0.9.29 compilation error for sh4 arch with gcc-4.x)
PR target/34777
	* gcc.target/sh/torture/sh-torture.exp: New.
	* gcc.target/sh/torture/pr34777.c: New.

From-SVN: r192478
2012-10-15 21:59:21 +00:00
Matthias Klose
9945a87681 config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
gcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
        * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.

gcc/testsuite/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * lib/target-supports.exp (check_profiling_available): Match
        arm*-*-linux-* for ARM Linux/GNU.
        * g++.dg/torture/predcom-1.C: Match arm*-*-linux-* for ARM Linux/GNU.
        * gfortran.dg/enum_10.f90: Likewise.
        * gfortran.dg/enum_9.f90: Likewise.
        * gcc.target/arm/synchronize.c: Likewise.
        * g++.old-deja/g++.jason/enum6.C: Likewise.
        * g++.old-deja/g++.other/enum4.C: Likewise.
        * g++.old-deja/g++.law/enum9.C: Likewise.

gcc/ada/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * gcc-interface/Makefile.in: Match arm*-*-linux-*eabi* for
        ARM Linux/GNU.

libgcc/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * config.host: Match arm*-*-linux-* for ARM Linux/GNU.

libstdc++-v3/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
        * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
        * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.

libjava/
2012-10-15  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Match arm*-*-linux-* for ARM Linux/GNU.
        * configure: Regenerate.

From-SVN: r192475
2012-10-15 21:12:23 +00:00
Tobias Burnus
55e7f90769 files.c (read_file_guts, [...]): Free memory before returning.
2012-10-15  Tobias Burnus  <burnus@net-b.de>

        * files.c (read_file_guts, _cpp_save_file_entries): Free memory
        before returning.
        * lex.c (warn_about_normalization): Ditto.
        * mkdeps.c (deps_save): Ditto.
        * pch.c (cpp_valid_state): Ditto.

From-SVN: r192474
2012-10-15 22:08:57 +02:00
Richard Sandiford
95bf35bd25 thread_local-cse.C: Move dg-do line.
gcc/testsuite/
	* g++.dg/tls/thread_local-cse.C: Move dg-do line.
	* g++.dg/tls/thread_local-wrap4.C: Require fpic.

From-SVN: r192473
2012-10-15 19:58:03 +00:00
Paolo Carlini
dd016b8f29 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in ChangeLog entry.

From-SVN: r192472
2012-10-15 19:18:15 +00:00
Alexandre Oliva
52243905a2 re PR c++/17805 (too liberal operator lookup)
/cp
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17805
	* call.c (build_new_op): Filter out operator functions that don't
	satisfy enum-conversion match requirements.

/testsuite
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/17805
	* g++.dg/overload/operator6.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r192471
2012-10-15 19:15:48 +00:00
Paolo Carlini
c9e3b2097b PR c++/50080 (again)
/cp
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50080 (again)
	* parser.c (cp_parser_optional_template_keyword): When -pedantic
	and C++98 mode restore pre-Core/468 behavior.

/testsuite
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50080 (again)
	* g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
	* g++.dg/parse/tmpl-outside1.C: Likewise.
	* g++.dg/template/qualttp18.C: Likewise.
	* g++.old-deja/g++.pt/memtemp87.C: Likewise.
	* g++.old-deja/g++.pt/overload13.C: Likewise.

From-SVN: r192470
2012-10-15 19:13:41 +00:00
Uros Bizjak
e30440106a * testsuite/ChangeLog: Missing from my previous commit.
From-SVN: r192469
2012-10-15 21:10:52 +02:00