96750 Commits

Author SHA1 Message Date
Maxim Kuvyrkov
eb6219852b * gcc.target/m68k/pr41302.c: Fix target triplet.
From-SVN: r153933
2009-11-05 10:22:27 +00:00
Benjamin Kosnik
dc5de59088 009-11-04 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/25_algorithms/fill/5.cc: Move...
	* testsuite/25_algorithms/fill_n/1.cc: ...here.

From-SVN: r153929
2009-11-05 02:55:08 +00:00
GCC Administrator
d5bcfb20ba Daily bump.
From-SVN: r153928
2009-11-05 00:16:41 +00:00
Kenneth Zadeck
4f2da32b77 df-scan.c (df-uses-record): Add case zero_extract of mem.
2009-11-04  Kenneth Zadeck  <zadeck@naturalbridge.com>

	* df-scan.c (df-uses-record): Add case zero_extract of mem.

From-SVN: r153924
2009-11-04 23:17:54 +00:00
Jason Merrill
cb5f207480 Revert untested varasm.c change
From-SVN: r153923
2009-11-04 18:14:56 -05:00
Jason Merrill
be998fb7bc fix
From-SVN: r153922
2009-11-04 18:14:14 -05:00
Jason Merrill
e3503aa8cf re PR c++/36912 (ICE with "-frounding-math -g")
PR c++/36912
	* varasm.c (initializer_constant_valid_p): A PLUS_EXPR
	or MINUS_EXPR of REAL_TYPE is not a valid constant initializer.
	(output_constant): Avoid crash after error.

From-SVN: r153921
2009-11-04 18:13:23 -05:00
Jason Merrill
f4ecc8fd6b re PR c++/39413 (static_assert and SFINAE)
PR c++/39413
	* search.c (lookup_base): Don't complete_type (base).

From-SVN: r153920
2009-11-04 17:29:35 -05:00
Eric Botcazou
f96b189564 Fix nit
From-SVN: r153919
2009-11-04 21:50:31 +00:00
Eric Botcazou
35a07c37da re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	* config/i386/i386.md (probe_stack_range): New expander.
	(logical operation peepholes): Do not split stack checking probes.

From-SVN: r153918
2009-11-04 21:45:54 +00:00
Harsha Jagasia
3e901069e7 invoke.texi (-mlwp): Add documentation.
2009-11-04  Harsha Jagasia  <harsha.jagasia@amd.com>
            Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

        * doc/invoke.texi (-mlwp): Add documentation.
        * doc/extend.texi (x86 intrinsics): Add LWP intrinsics.
        * config.gcc (i[34567]86-*-*): Include lwpintrin.h.
        (x86_64-*-*): Ditto.
        * config/i386/lwpintrin.h: New file, provide x86 compiler
        intrinisics for LWP.
        * config/i386/cpuid.h (bit_LWP): Define LWP bit.
        * config/i386/x86intrin.h: Add LWP check and lwpintrin.h.
        * config/i386/i386-c.c (ix86_target_macros_internal): Check
        ISA_FLAG for LWP. 
        * config/i386/i386.h (TARGET_LWP): New macro for LWP.
        * config/i386/i386.opt (-mlwp): New switch for LWP support.
        * config/i386/i386.c (OPTION_MASK_ISA_LWP_SET): New.
        (OPTION_MASK_ISA_LWP_UNSET): New.       
        (ix86_handle_option): Handle -mlwp.
        (isa_opts): Handle -mlwp.
        (enum pta_flags): Add PTA_LWP.
        (override_options): Add LWP support.
        (IX86_BUILTIN_LLWPCB16): New for LWP intrinsic.
        (IX86_BUILTIN_LLWPCB32): Ditto.
        (IX86_BUILTIN_LLWPCB64): Ditto.
        (IX86_BUILTIN_SLWPCB16): Ditto.
        (IX86_BUILTIN_SLWPCB32): Ditto.
        (IX86_BUILTIN_SLWPCB64): Ditto.
        (IX86_BUILTIN_LWPVAL16): Ditto.
        (IX86_BUILTIN_LWPVAL32): Ditto.
        (IX86_BUILTIN_LWPVAL64): Ditto.
        (IX86_BUILTIN_LWPINS16): Ditto.
        (IX86_BUILTIN_LWPINS32): Ditto.
        (IX86_BUILTIN_LWPINS64): Ditto.
        (enum  ix86_special_builtin_type): Add LWP intrinsic support.
        (builtin_description): Ditto.
        (ix86_init_mmx_sse_builtins): Ditto.
        (ix86_expand_special_args_builtin): Ditto.
        * config/i386/i386.md (UNSPEC_LLWP_INTRINSIC): Add new UNSPEC
        for LWP support.
        (UNSPEC_SLWP_INTRINSIC): Ditto.
        (UNSPECV_LWPVAL_INTRINSIC): Ditto.
        (UNSPECV_LWPINS_INTRINSIC): Ditto.
        (lwp_llwpcbhi1): New lwp pattern.
        (lwp_llwpcbsi1): Ditto.
        (lwp_llwpcbdi1): Ditto.
        (lwp_slwpcbhi1): Ditto.
        (lwp_slwpcbsi1): Ditto.
        (lwp_slwpcbdi1): Ditto.
        (lwp_lwpvalhi3): Ditto.
        (lwp_lwpvalsi3): Ditto.
        (lwp_lwpvaldi3): Ditto.
        (lwp_lwpinshi3): Ditto.
        (lwp_lwpinssi3): Ditto.
        (lwp_lwpinsdi3): Ditto.


Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

From-SVN: r153917
2009-11-04 21:15:42 +00:00
Janus Weil
6168891d1f [multiple changes]
2009-11-04  Tobias Burnus <burnus@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41937
	* interface.c (gfc_check_operator_interface): Handle CLASS arguments.
	* resolve.c (resolve_allocate_expr): Handle allocatable components of
	CLASS variables.


2009-11-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/41556
	PR fortran/41937
	* gfortran.dg/class_11.f03: New test.

From-SVN: r153911
2009-11-04 20:41:07 +01:00
Jason Merrill
0bc044b8b3 correct PR number
From-SVN: r153910
2009-11-04 14:36:34 -05:00
Jason Merrill
eeeca7d418 re PR c++/15882 (Check for return type of overloaded operator new too early)
PR c++/15882
	* method.c (use_thunk): Check DECL_WEAK as well as
	DECL_ONE_ONLY.

From-SVN: r153909
2009-11-04 14:34:25 -05:00
Paolo Carlini
d87f43c358 multiway_merge.h: Simple formatting and uglification fixes.
2009-11-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/multiway_merge.h: Simple formatting and
	uglification fixes.
	* include/parallel/losertree.h: Likewise.

From-SVN: r153907
2009-11-04 18:48:21 +00:00
Andrew Pinski
0e159e0f2b re PR rtl-optimization/41833 (vec_splat followed by vec_splat could be improved)
2009-11-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
            Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

        PR rtl-opt/41833
        * simplify-rtx.c (simplify_binary_operation_1): Simplify vec_select of
        a vec_duplicate.

2009-11-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/41833
        * gcc.target/powerpc/altivec-33.c: New testcase.


Co-Authored-By: Trevor Smigiel <Trevor_Smigiel@playstation.sony.com>

From-SVN: r153906
2009-11-04 10:35:57 -08:00
Jason Merrill
ac3554c568 PR c++/17365, DR 218
PR c++/17365, DR 218
	* name-lookup.c (add_function): Ignore non-functions.

From-SVN: r153905
2009-11-04 13:13:57 -05:00
Richard Guenther
7e9dc421e5 gcc.c (process_command): Handle arguments name@offset.
2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>
 
	* gcc.c (process_command): Handle arguments name@offset.

2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>

	* lto-elf.c (lto_elf_build_section_table): Add the base offset.
	(lto_elf_file_open): Handle offsets in arguments name@offest.

2009-11-04  Richard Guenther  <rguenther@suse.de>
            Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (plugin_file_info): Remove temp field.
	(cleanup_handler): Don't delete temporary objects.
	(claim_file_handler): Don't create temporary objects.


Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>

From-SVN: r153903
2009-11-04 17:24:37 +00:00
Harsha Jagasia
43a8b70590 config.gcc (i[34567]86-*-*): Include xopintrin.h.
2009-11-04  Harsha Jagasia  <harsha.jagasia@amd.com>
            Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
        
        * config.gcc (i[34567]86-*-*): Include xopintrin.h.
        (x86_64-*-*): Ditto.
        * config/i386/xopintrin.h: New file, provide common x86 compiler
        intrinisics for XOP.
        * config/i386/cpuid.h (bit_XOP): Define XOP bit.
        * config/i386/x86intrin.h: Add XOP check and xopintrin.h.
        * config/i386/i386-c.c(ix86_target_macros_internal): Check
        ISA_FLAG for XOP. 
        * config/i386/i386.h(TARGET_XOP): New macro for XOP.
        * config/i386/i386.opt (-mxop): New switch for XOP support.
        * config/i386/i386.md (UNSPEC_XOP_UNSIGNED_CMP)
        (UNSPEC_XOP_TRUEFALSE)
        (UNSPEC_XOP_PERMUTE)
        (UNSPEC_FRCZ): Add new UNSPEC for XOP support.
        (PPERM_*): New constants for vpperm instruction.
        (xop_pcmov_<mode>): Add XOP conditional mov instructions.
        * config/i386/i386.c (OPTION_MASK_ISA_XOP_SET): New.
        (OPTION_MASK_ISA_XOP_UNSET): New.       
        (OPTION_MASK_ISA_XOP_UNSET): Change definition to
        depend on XOP.
        (ix86_handle_option): Handle -mxop.
        (isa_opts): Handle -mxop.
        (enum pta_flags): Add PTA_XOP.
        (override_options): Add XOP support.
        (print_operand): Add code for XOP compare instructions.
        (ix86_expand_sse_movcc): Extend for XOP conditional move
instruction.
        (ix86_expand_int_vcond): Extend for XOP compare instruction.

        (IX86_BUILTIN_VPCMOV): New for XOP intrinsic.
        (IX86_BUILTIN_VPCMOV_V2DI): Ditto.
        (IX86_BUILTIN_VPCMOV_V4SI): Ditto.
        (IX86_BUILTIN_VPCMOV_V8HI): Ditto.
        (IX86_BUILTIN_VPCMOV_V16QI): Ditto.
        (IX86_BUILTIN_VPCMOV_V4SF): Ditto.
        (IX86_BUILTIN_VPCMOV_V2DF): Ditto.

        (IX86_BUILTIN_VPCMOV256): Ditto.
        (IX86_BUILTIN_VPCMOV_V4DI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V8SI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V16HI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V32QI256): Ditto.
        (IX86_BUILTIN_VPCMOV_V8SF256): Ditto.
        (IX86_BUILTIN_VPCMOV_V4DF256): Ditto.

        (IX86_BUILTIN_VPPERM): Ditto.

        (IX86_BUILTIN_VPMACSSWW): Ditto.
        (IX86_BUILTIN_VPMACSWW): Ditto.
        (IX86_BUILTIN_VPMACSSWD): Ditto.
        (IX86_BUILTIN_VPMACSWD): Ditto.
        (IX86_BUILTIN_VPMACSSDD): Ditto.
        (IX86_BUILTIN_VPMACSDD): Ditto.
        (IX86_BUILTIN_VPMACSSDQL): Ditto.
        (IX86_BUILTIN_VPMACSSDQH): Ditto.
        (IX86_BUILTIN_VPMACSDQL): Ditto.
        (IX86_BUILTIN_VPMACSDQH): Ditto.
        (IX86_BUILTIN_VPMADCSSWD): Ditto.
        (IX86_BUILTIN_VPMADCSWD): Ditto.

        (IX86_BUILTIN_VPHADDBW): Ditto.
        (IX86_BUILTIN_VPHADDBD): Ditto.
        (IX86_BUILTIN_VPHADDBQ): Ditto.
        (IX86_BUILTIN_VPHADDWD): Ditto.
        (IX86_BUILTIN_VPHADDWQ): Ditto.
        (IX86_BUILTIN_VPHADDDQ): Ditto.
        (IX86_BUILTIN_VPHADDUBW): Ditto.
        (IX86_BUILTIN_VPHADDUBD): Ditto.
        (IX86_BUILTIN_VPHADDUBQ): Ditto.
        (IX86_BUILTIN_VPHADDUWD): Ditto.
        (IX86_BUILTIN_VPHADDUWQ): Ditto.
        (IX86_BUILTIN_VPHADDUDQ): Ditto.
        (IX86_BUILTIN_VPHSUBBW): Ditto.
        (IX86_BUILTIN_VPHSUBWD): Ditto.
        (IX86_BUILTIN_VPHSUBDQ): Ditto.

        (IX86_BUILTIN_VPROTB): Ditto.
        (IX86_BUILTIN_VPROTW): Ditto.
        (IX86_BUILTIN_VPROTD): Ditto.
        (IX86_BUILTIN_VPROTQ): Ditto.
        (IX86_BUILTIN_VPROTB_IMM): Ditto.
        (IX86_BUILTIN_VPROTW_IMM): Ditto.
        (IX86_BUILTIN_VPROTD_IMM): Ditto.
        (IX86_BUILTIN_VPROTQ_IMM): Ditto.

        (IX86_BUILTIN_VPSHLB): Ditto.
        (IX86_BUILTIN_VPSHLW): Ditto.
        (IX86_BUILTIN_VPSHLD): Ditto.
        (IX86_BUILTIN_VPSHLQ): Ditto.
        (IX86_BUILTIN_VPSHAB): Ditto.
        (IX86_BUILTIN_VPSHAW): Ditto.
        (IX86_BUILTIN_VPSHAD): Ditto.
        (IX86_BUILTIN_VPSHAQ): Ditto.

        (IX86_BUILTIN_VFRCZSS): Ditto.
        (IX86_BUILTIN_VFRCZSD): Ditto.
        (IX86_BUILTIN_VFRCZPS): Ditto.
        (IX86_BUILTIN_VFRCZPD): Ditto.
        (IX86_BUILTIN_VFRCZPS256): Ditto.
        (IX86_BUILTIN_VFRCZPD256): Ditto.

        (IX86_BUILTIN_VPCOMEQUB): Ditto.
        (IX86_BUILTIN_VPCOMNEUB): Ditto.
        (IX86_BUILTIN_VPCOMLTUB): Ditto.
        (IX86_BUILTIN_VPCOMLEUB): Ditto.
        (IX86_BUILTIN_VPCOMGTUB): Ditto.
        (IX86_BUILTIN_VPCOMGEUB): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUB): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUB): Ditto.

        (IX86_BUILTIN_VPCOMEQUW): Ditto.
        (IX86_BUILTIN_VPCOMNEUW): Ditto.
        (IX86_BUILTIN_VPCOMLTUW): Ditto.
        (IX86_BUILTIN_VPCOMLEUW): Ditto.
        (IX86_BUILTIN_VPCOMGTUW): Ditto.
        (IX86_BUILTIN_VPCOMGEUW): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUW): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUW): Ditto.

        (IX86_BUILTIN_VPCOMEQUD): Ditto.
        (IX86_BUILTIN_VPCOMNEUD): Ditto.
        (IX86_BUILTIN_VPCOMLTUD): Ditto.
        (IX86_BUILTIN_VPCOMLEUD): Ditto.
        (IX86_BUILTIN_VPCOMGTUD): Ditto.
        (IX86_BUILTIN_VPCOMGEUD): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUD): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUD): Ditto.

        (IX86_BUILTIN_VPCOMEQUQ): Ditto.
        (IX86_BUILTIN_VPCOMNEUQ): Ditto.
        (IX86_BUILTIN_VPCOMLTUQ): Ditto.
        (IX86_BUILTIN_VPCOMLEUQ): Ditto.
        (IX86_BUILTIN_VPCOMGTUQ): Ditto.
        (IX86_BUILTIN_VPCOMGEUQ): Ditto.
        (IX86_BUILTIN_VPCOMFALSEUQ): Ditto.
        (IX86_BUILTIN_VPCOMTRUEUQ): Ditto.

        (IX86_BUILTIN_VPCOMEQB): Ditto.
        (IX86_BUILTIN_VPCOMNEB): Ditto.
        (IX86_BUILTIN_VPCOMLTB): Ditto.
        (IX86_BUILTIN_VPCOMLEB): Ditto.
        (IX86_BUILTIN_VPCOMGTB): Ditto.
        (IX86_BUILTIN_VPCOMGEB): Ditto.
        (IX86_BUILTIN_VPCOMFALSEB): Ditto.
        (IX86_BUILTIN_VPCOMTRUEB): Ditto.

        (IX86_BUILTIN_VPCOMEQW): Ditto.
        (IX86_BUILTIN_VPCOMNEW): Ditto.
        (IX86_BUILTIN_VPCOMLTW): Ditto.
        (IX86_BUILTIN_VPCOMLEW): Ditto.
        (IX86_BUILTIN_VPCOMGTW): Ditto.
        (IX86_BUILTIN_VPCOMGEW): Ditto.
        (IX86_BUILTIN_VPCOMFALSEW): Ditto.
        (IX86_BUILTIN_VPCOMTRUEW): Ditto.

        (IX86_BUILTIN_VPCOMEQD): Ditto.
        (IX86_BUILTIN_VPCOMNED): Ditto.
        (IX86_BUILTIN_VPCOMLTD): Ditto.
        (IX86_BUILTIN_VPCOMLED): Ditto.
        (IX86_BUILTIN_VPCOMGTD): Ditto.
        (IX86_BUILTIN_VPCOMGED): Ditto.
        (IX86_BUILTIN_VPCOMFALSED): Ditto.
        (IX86_BUILTIN_VPCOMTRUED): Ditto.

        (IX86_BUILTIN_VPCOMEQQ): Ditto.
        (IX86_BUILTIN_VPCOMNEQ): Ditto.
        (IX86_BUILTIN_VPCOMLTQ): Ditto.
        (IX86_BUILTIN_VPCOMLEQ): Ditto.
        (IX86_BUILTIN_VPCOMGTQ): Ditto.
        (IX86_BUILTIN_VPCOMGEQ): Ditto.
        (IX86_BUILTIN_VPCOMFALSEQ): Ditto.
        (IX86_BUILTIN_VPCOMTRUEQ): Ditto.

        (enum multi_arg_type): New enum for describing the various XOP
        intrinsic argument types.
        (bdesc_multi_arg): New table for XOP intrinsics.
        (ix86_init_mmx_sse_builtins): Add XOP intrinsic support.
        (ix86_expand_multi_arg_builtin): New function for creating XOP
        intrinsics.

        * config/i386/sse.md (sserotatemax): New mode attribute for XOP.
        (xop_pmacsww): Ditto.
        (xop_pmacssww): Ditto.
        (xop_pmacsdd): Ditto.
        (xop_pmacssdd): Ditto.
        (xop_pmacssdql): Ditto.
        (xop_pmacssdqh): Ditto.
        (xop_pmacsdql): Ditto.
        (xop_pmacsdql_mem): Ditto.
        (xop_mulv2div2di3_low): Ditto.
        (xop_pmacsdqh): Ditto.
        (xop_pmacsdqh_mem): Ditto.
        (xop_mulv2div2di3_high): Ditto.
        (xop_pmacsswd): Ditto.
        (xop_pmacswd): Ditto.
        (xop_pmadcsswd): Ditto.
        (xop_pmadcswd): Ditto.
        (xop_pcmov_<mode>): Ditto.
        (xop_pcmov_<mode>)256: Ditto.
        (xop_phaddbw): Ditto.
        (xop_phaddbd): Ditto.
        (xop_phaddbq): Ditto.
        (xop_phaddwd): Ditto.
        (xop_phaddwq): Ditto.
        (xop_phadddq): Ditto.
        (xop_phaddubw): Ditto.
        (xop_phaddubd): Ditto.
        (xop_phaddubq): Ditto.
        (xop_phadduwd): Ditto.
        (xop_phadduwq): Ditto.
        (xop_phaddudq): Ditto.
        (xop_phsubbw): Ditto.
        (xop_phsubwd): Ditto.
        (xop_phsubdq): Ditto.
        (xop_pperm): Ditto.
        (rotl<mode>3): Ditto.
        (rotr<mode>3): Ditto.
        (xop_rotl<mode>3): Ditto.
        (xop_rotr<mode>3): Ditto.
        (vrotr<mode>3): Ditto.
        (vrotl<mode>3): Ditto.
        (xop_vrotl<mode>3): Ditto.
        (vlshr<mode>3): Ditto.
        (vashr<mode>3): Ditto.
        (vashl<mode>3
        (xop_ashl<mode>3): Ditto.
        (xop_lshl<mode>3): Ditto.
        (ashlv16qi3): Ditto.
        (lshlv16qi3): Ditto.
        (ashrv16qi3): Ditto.
        (ashrv2di3): Ditto.
        (xop_frcz<mode>2): Ditto.
        (xop_vmfrcz<mode>2): Ditto.
        (xop_frcz<mode>2256): Ditto.    
        (xop_maskcmp<mode>3): Ditto.
        (xop_maskcmp_uns<mode>3): Ditto.
        (xop_maskcmp_uns2<mode>3): Ditto.
        (xop_pcom_tf<mode>3): Ditto.

        * doc/invoke.texi (-mxop): Add documentation.
        * doc/extend.texi (x86 intrinsics): Add XOP intrinsics.

        * gcc.target/i386/xop-check.h: New file.
        * gcc.target/i386/xop-hadduX.c: Ditto.
        * gcc.target/i386/xop-haddX.c: Ditto.
        * gcc.target/i386/xop-hsubX.c: Ditto.
        * gcc.target/i386/xop-imul32widen-vector.c: Ditto.
        * gcc.target/i386/xop-imul32widen-vector.c: Ditto.
        * gcc.target/i386/xop-pcmov2.c: Ditto.
        * gcc.target/i386/xop-pcmov.c: Ditto.
        * gcc.target/i386/xop-rotate1-vector.c: Ditto.
        * gcc.target/i386/xop-rotate2-vector.c: Ditto.
        * gcc.target/i386/xop-rotate3-vector.c: Ditto.
        * gcc.target/i386/xop-shift1-vector.c: Ditto.
        * gcc.target/i386/xop-shift2-vector.c: Ditto.
        * gcc.target/i386/xop-shift3-vector.c: Ditto.
        * gcc.target/i386/i386.exp:  Add check_effective_target_xop.
        * gcc.target/i386/sse-12.c: Update with new compile options to 
        activate and check xopintrin.h intrinsic file.
        * gcc.target/i386/sse-13.c: Ditto.
        * gcc.target/i386/sse-14.c: Ditto.
        * gcc.target/i386/sse-22.c: Ditto.
        * gcc.target/i386/sse-23.c: Ditto.
        * g++.dg/other/i386-2.C: Ditto.
        * g++.dg/other/i386-3.C: Ditto.
        * g++.dg/other/i386-5.C: Ditto.
        * g++.dg/other/i386-6.C: Ditto.
        


Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

From-SVN: r153901
2009-11-04 16:22:47 +00:00
Mark Mitchell
7d6ce94a23 re PR driver/11810 (gcc -pipe -ox.o -c x.c writes erroneous x.o on compile error)
PR driver/11810
	* gcc.c (SWITCHES_NEED_SPACES): Define to "o".
	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Remove here.
	* config/mips/iris.h (SWITCHES_NEED_SPACES): Remove here.

From-SVN: r153900
2009-11-04 15:47:00 +00:00
Rafael Avila de Espindola
1cddcdcac5 lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
2009-11-04  Rafael Avila de Espindola  <espindola@google.com>

	* lto-plugin.c (cleanup_handler): Don't cleanup if debugging.

From-SVN: r153899
2009-11-04 15:45:31 +00:00
Richard Earnshaw
57f5eef091 [multiple changes]
2009-11-04  Richard Earnshaw  <rearnsha@arm.com>

	PR target/40835
	* arm.md (peephole2 patterns for move and compare): New.

2009-11-04  Wei Guozhi  <carrot@google.com>

	PR target/40835
	* gcc.target/arm/pr40835: New testcase.

From-SVN: r153895
2009-11-04 14:09:55 +00:00
Nick Clifton
4003023f9d defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
* defaults.h (CONSTANT_ADDRESS_P): Provide a default definition.
        Make sure that it does not allow CONST_DOUBLEs.
        * doc/tm.texi (CONSTANT_ADDRESS_P): Update description.
        * config/avr/avr.h (CONSTANT_ADDRESS_P): Delete.
        * config/bfin/bfin.h (CONSTANT_ADDRESS_P): Delete.
        * config/cris/cris.h (CONSTANT_ADDRESS_P): Delete.
        * config/fr30/fr30.h (CONSTANT_ADDRESS_P): Delete.
        * config/frv/frv.h (CONSTANT_ADDRESS_P): Delete.
        * config/m32c/m32c.h (CONSTANT_ADDRESS_P): Delete.
        * config/m68hc11/m68hc11.h (CONSTANT_ADDRESS_P): Delete.
        * config/mep/mep.h (CONSTANT_ADDRESS_P): Delete.
        * config/mn10300/mn10300.h (CONSTANT_ADDRESS_P): Delete.
        * config/moxie/moxie.h (CONSTANT_ADDRESS_P): Delete.
        * config/pdp11/pdp11.h (CONSTANT_ADDRESS_P): Delete.
        * config/picochip/picochip.h (CONSTANT_ADDRESS_P): Delete.
        * config/score/score.h (CONSTANT_ADDRESS_P): Delete.
        * config/stormy16/stormy16.h (CONSTANT_ADDRESS_P): Delete.

From-SVN: r153894
2009-11-04 11:06:36 +00:00
Richard Biener
92fcbf95c1 re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41919
	* tree-vrp.c (test_for_singularity): Properly compare values.

	* gcc.c-torture/execute/pr41919.c: New testcase.

From-SVN: r153893
2009-11-04 10:35:04 +00:00
Revital Eres
0cf7986c82 Another fix to the misaligned store vectorizer patch
From-SVN: r153892
2009-11-04 10:22:22 +00:00
Richard Guenther
fbd4382774 re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result)
2009-11-04  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/41919
	* tree-vrp.c (test_for_singularity): Properly compare values.

	* gcc.c-torture/execute/pr41919.c: New testcase.

From-SVN: r153891
2009-11-04 10:18:33 +00:00
Maxim Kuvyrkov
db5e2d51eb [multiple changes]
2009-11-04  Maxim Kuvyrkov  <maxim@codesourcery.com>

	PR target/41302
	* config/m68k/m68k.c (m68k_reg_present_p): New static function.
	(m68k_ok_for_sibcall_p): Handle different result return locations.

2009-11-04  Carlos O'Donell  <carlos@codesourcery.com>

	PR target/41302
	* gcc.target/m68k/pr41302.c: New test.

From-SVN: r153890
2009-11-04 09:57:55 +00:00
Richard Guenther
e3b8749b11 c-opts.c (c_common_post_options): Move LTO option processing code ...
2009-11-04  Richard Guenther  <rguenther@suse.de>

	* c-opts.c (c_common_post_options): Move LTO option processing
	code ...
	* opts.c (decode_options): ... here.

	fortran/
	* options.c (gfc_post_options): Rely on common code processing
	LTO options.  Only enable -fwhole-file here.

From-SVN: r153889
2009-11-04 09:40:15 +00:00
Jakub Jelinek
00ffc97dfa c-common.c (fold_offsetof_1): Use %wd instead of HOST_WIDE_INT_PRINT_DEC.
* c-common.c (fold_offsetof_1): Use %wd instead of
	HOST_WIDE_INT_PRINT_DEC.

From-SVN: r153887
2009-11-04 08:26:30 +01:00
GCC Administrator
4999625e0f Daily bump.
From-SVN: r153886
2009-11-04 00:16:51 +00:00
Maciej W. Rozycki
bfd4796379 linux.h (TARGET_OS_CPP_BUILTINS): Don't define __pic__ or __PIC__.
* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Don't define
	__pic__ or __PIC__.

From-SVN: r153883
2009-11-04 00:07:24 +00:00
Maciej W. Rozycki
45f681502f config.gcc (vax-*-linux*): Keep the original contents of tmake_file while adding vax/t-linux.
* config.gcc (vax-*-linux*): Keep the original contents of
	tmake_file while adding vax/t-linux.

From-SVN: r153882
2009-11-04 00:05:53 +00:00
Jason Merrill
9a6f7249ea re PR c++/36959 (C++ front-end causing a static inline function to be emitted)
PR c++/36959
	* decl2.c (cxx_callgraph_analyze_expr): Don't reference a function
	just because a static variable in it is needed unless -frepo.

From-SVN: r153878
2009-11-03 18:02:41 -05:00
Eric Botcazou
d809253a56 re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	* expr.h (STACK_CHECK_PROBE_INTERVAL): Delete.
	(STACK_CHECK_PROBE_INTERVAL_EXP): New macro.
	(STACK_CHECK_MOVING_SP): Likewise.
	* system.h (STACK_CHECK_PROBE_INTERVAL): Poison it.
	* doc/tm.texi (Stack Checking): Delete STACK_CHECK_PROBE_INTERVAL.
	Document STACK_CHECK_PROBE_INTERVAL_EXP and STACK_CHECK_MOVING_SP.
	* doc/md.texi (Standard Pattern Names): Tweak entry of CHECK_STACK.
	Document PROBE_STACK.
	* explow.c (anti_adjust_stack_and_probe): New function.
	(allocate_dynamic_stack_space): Do not directly allocate space if
	STACK_CHECK_MOVING_SP, instead invoke above function.
	(emit_stack_probe): Handle probe_stack insn.
	(PROBE_INTERVAL): New macro.
	(STACK_GROW_OPTAB): Likewise.
	(STACK_GROW_OFF): Likewise.
	(probe_stack_range): Use Pmode and memory_address consistently.  Fix
	loop condition in the small constant case.  Rewrite in the general
	case to be immune to wraparounds.  Make sure the address of probes
	is valid.  Try to use [base + disp] addressing mode if possible.
	* ira.c (setup_eliminable_regset): Set frame_pointer_needed if stack
	checking is enabled and STACK_CHECK_MOVING_SP.
	* rtlanal.c (may_trap_p_1) <MEM>: If stack checking is enabled,
	return 1 for volatile references to the stack pointer.
	* tree.c (build_common_builtin_nodes): Do not set ECF_NOTHROW on
	__builtin_alloca if stack checking is enabled.
	* unwind-dw2.c (uw_identify_context): Take into account whether the
	context is that of a signal frame or not.
	* config/i386/linux.h (STACK_CHECK_MOVING_SP): Define to 1.
	* config/i386/linux64.h (STACK_CHECK_MOVING_SP): Likewise.

From-SVN: r153877
2009-11-03 22:49:37 +00:00
Jakub Jelinek
24d179b4c7 re PR rtl-optimization/41917 (Strange athrithmetic result with -O3)
PR rtl-optimization/41917
	* rtlanal.c (num_sign_bit_copies1) <case UMOD>: If sign bit of second
	operand isn't known to be 0, return 1.

	* gcc.c-torture/execute/pr41917.c: New test.

From-SVN: r153874
2009-11-03 23:36:39 +01:00
Uros Bizjak
0b94d8b285 pr41900.c: Make test compile only.
* gcc.target/i386/pr41900.c: Make test compile only.  Scan assembler
	dump to not include "call *%esp".

From-SVN: r153871
2009-11-03 22:33:26 +01:00
Richard Sandiford
791c344bc6 mips.md: Fix typos.
gcc/
	* config/mips/mips.md: Fix typos.

From-SVN: r153870
2009-11-03 21:28:48 +00:00
Richard Sandiford
8d0239334c invoke.texi: Fix typo.
gcc/
	* doc/invoke.texi: Fix typo.

From-SVN: r153869
2009-11-03 21:25:49 +00:00
Jason Merrill
e58793e86f re PR c++/39786 (Qualified name lookup through different numbers of using directives)
PR c++/39786
	* g++.dg/lookup/using22.C: New.

From-SVN: r153865
2009-11-03 15:52:30 -05:00
Jason Merrill
c5d3d0ba3f re PR c++/41876 (Parse problems with catch)
PR c++/41876
	* parser.c (cp_parser_type_specifier_seq): Rename is_condition to
	is_declaration.
	(cp_parser_exception_declaration): Pass true.
	(cp_parser_omp_for_loop): Likewise.

From-SVN: r153864
2009-11-03 15:52:21 -05:00
Jason Merrill
aa9b756937 re PR c++/41927 ([C++0x] Spurious warning with enable_if and default function template argument)
PR c++/41927
	* typeck.c (build_x_binary_op): Don't do warn_parentheses
	if we're in a SFINAE context.

From-SVN: r153863
2009-11-03 13:43:06 -05:00
Jason Merrill
a638b03424 re PR c++/41815 ([C++0x] GCC wrongly treats rvalues of non-class type cv-qualified)
PR c++/41815
	* call.c (build_call_a): Strip cv-quals from rvalue result.

From-SVN: r153862
2009-11-03 13:42:59 -05:00
David Krauss
6e924e079b re PR libstdc++/41351 (std::rotate on RAI does not conform to ISO complexity requirement)
2009-11-03  David Krauss  <potswa@mac.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41351
	* include/bits/stl_algo.h (__rotate(_RandomAccessIterator,
	_RandomAccessIterator, _RandomAccessIterator,
	random_access_iterator_tag)): Rewrite to use only std::swap in
	general and std::copy/std::copy_backward when safe.

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

From-SVN: r153860
2009-11-03 18:16:34 +00:00
Paul Brook
156e423608 neon.ml (vectype): Add T_floatSF.
2009-11-03  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/neon.ml (vectype): Add T_floatSF.
	(string_of_vectype): Ditto.
	* config/arm/neon-gen.ml (signed_ctype): Add T_floatSF.
	(deftypes): Use float for float32_t.
	* config/arm/arm_neon.h: Regenerate.

From-SVN: r153858
2009-11-03 17:58:59 +00:00
Jason Merrill
60d21717a2 re PR c++/40944 ([C++0x] rejects well-formed code: SFINAE, decltype, function call)
PR c++/40944
	* call.c (initialize_reference): Add complain parm.
	* typeck.c (convert_for_initialization): Pass it.
	* decl.c (grok_reference_init): Likewise.
	* cp-tree.h: Declare it.

From-SVN: r153856
2009-11-03 12:11:18 -05:00
Jason Merrill
2e32c99e12 re PR c++/40687 ([C++0x]: error with auto and 7.1.6.4/7 in N2914)
PR c++/40687
	* pt.c (do_auto_deduction): Diagnose inconsistent deduction.

From-SVN: r153855
2009-11-03 12:11:08 -05:00
Tobias Burnus
64c2f8defe re PR fortran/41907 (465.tonto in SPEC CPU 2006 runtime failure)
2009-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41907
        * trans-expr.c (gfc_conv_procedure_call): Fix presence check
        for optional arguments.

2009-11-03  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41907
        * gfortran.dg/missing_optional_dummy_6.f90: New test.

From-SVN: r153854
2009-11-03 17:51:52 +01:00
Nick Clifton
9595a419c6 predicates.md (rx_store_multiple_vector): Reverse order of expected registers.
* config/rx/predicates.md (rx_store_multiple_vector): Reverse
        order of expected registers.
        (rx_load_multiple_vector): Likewise.
        (rx_rtsd_vector): Likewise.
        * config/rx/rx.c (rx_cpu_type): New variable.
        (rx_print_operand): Fix bug printing 64-bit constant values.
        (rx_emit_stack_pushm): Reverse order of pushed registers.
        (gen_rx_store_vector): Likewise.
        (is_fast_interrupt_func): Only accept "fast_interrupt" as the
        attribute name.
        (is_exception_func): Rename to is_interrupt_func and only accept
        "interrupt" as the attribute name.
        (rx_get_stack_layout): Use new function name.
        (rx_func_attr_inlinable): Likewise.
        (rx_attribute_table): Remove "exception".
        (rx_expand_prologue): If necessary push the accumulator register
        in the prologue of interrupt functions.
        (rx_expand_epilogue): If necessary pop the accumulator.
        (rx_builtins): Add RX_BUILTIN_MVTIPL.
        (rx_expand_builtin_stz): Remove.
        (rx_expand_builtin_mvtipl): New function.
        (rx_init_builtins): Handle RX_BUILTIN_MVTIPL.
        (rx_expand_builtin): Likewise.
        (rx_enable_fpu): New variable.
        (rx_handle_option): Handle -fpu, -nofpu, -mcpu and -patch.
        * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Assert machine based
        on rx_cpu_type.  Define __RX_FPU_INSNS__ if FPU insns are allowed.
        (enum rx_cpu_types): Define.
        (ASM_SPEC): Pass -m32bit-doubles on to assembler.
        (INCOMING_FRAME_SP_OFFSET): Define.
        (ARG_POINTER_CFA_OFFSET): Define.
        (FRAME_POINTER_CFA_OFFSET): Define.
        (OVERRIDE_OPTIONS): Enable fast math if RX FPU insns are enabled.
        (ALLOW_RX_FPU_INSNS): Define.
        * config/rx/rx.md: Test ALLOW_RX_FPU_INSNS instead of
        fast_math_flags_set_p.
        (UNSPEC_BUILTIN_MVTIPL): Define.
        (revl): Rename to bswapsi2.
        (bswaphi2): New pattern.
        (mvtachi): Mark as volatile because it uses a register unknown to
        GCC.
        (mvtaclo): Likewise.
        (racw): Likewise.
        (mvtc): Remove clobber of cc0.
        (mvtcp): Delete.
        (opecp): Delete.
        * config/rx/rx.opt (mieee): Remove.
        (fpu): Add.
        (nofpu): Add.
        (mcpu=): Add.
        (patch=): Add.
        (msave-acc-in-interrupts): Add.
        * config/rx/t-rx (MULTILIB_OPTIONS): Change default to 64bit
        doubles.
        (MULTILIB_DIRS): Likewise.
        (MULTILIB_MATCHES): Treat -fpu as an alias for -m32bit-doubles.
        * doc/extend.texi: Remove description of "exception" function
        attribute.
        * doc/invoke.texi: Document -fpu, -nofpu, -mcpu=, -patch= and
        -msave-acc-in-interrupts options.

        * gcc.target/rx/builtins,c: Remove redundant tests.
        Add test of MVTIPL instruction.
        * gcc.target/rx/interrupts.c: Use fast_interrupt and interrupt
        function attributes.  Add -msave-acc-in-interrupts option to the
        command line.

Co-Authored-By: Kevin Buettner <kevinb@redhat.com>

From-SVN: r153853
2009-11-03 16:25:29 +00:00
Andrew Stubbs
48d3ee1d0a pr36191.C: Don't run with -fomit-frame-pointer on sh, m68k and fido.
* g++.dg/torture/pr36191.C: Don't run with -fomit-frame-pointer on
	sh, m68k and fido.

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

From-SVN: r153852
2009-11-03 15:21:55 +00:00
Dodji Seketeli
ad5ed9618b Move builtin-offsetof.c test
PR c++/38699
	* c-c++-common/dfp/builtin-offsetof.c: Moved to ...
	* c-c++-common/builtin-offsetof.c: ... here.

From-SVN: r153848
2009-11-03 14:20:08 +01:00