1. 04 Nov, 2009 21 commits
    • [multiple changes] · 6168891d
      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
      Janus Weil committed
    • correct PR number · 0bc044b8
      From-SVN: r153910
      Jason Merrill committed
    • re PR c++/15882 (Check for return type of overloaded operator new too early) · eeeca7d4
      	PR c++/15882
      	* method.c (use_thunk): Check DECL_WEAK as well as
      	DECL_ONE_ONLY.
      
      From-SVN: r153909
      Jason Merrill committed
    • multiway_merge.h: Simple formatting and uglification fixes. · d87f43c3
      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
      Paolo Carlini committed
    • re PR rtl-optimization/41833 (vec_splat followed by vec_splat could be improved) · 0e159e0f
      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
      Andrew Pinski committed
    • PR c++/17365, DR 218 · ac3554c5
      	PR c++/17365, DR 218
      	* name-lookup.c (add_function): Ignore non-functions.
      
      From-SVN: r153905
      Jason Merrill committed
    • gcc.c (process_command): Handle arguments name@offset. · 7e9dc421
      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
      Richard Guenther committed
    • config.gcc (i[34567]86-*-*): Include xopintrin.h. · 43a8b705
      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
      Harsha Jagasia committed
    • re PR driver/11810 (gcc -pipe -ox.o -c x.c writes erroneous x.o on compile error) · 7d6ce94a
      	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
      Mark Mitchell committed
    • lto-plugin.c (cleanup_handler): Don't cleanup if debugging. · 1cddcdca
      2009-11-04  Rafael Avila de Espindola  <espindola@google.com>
      
      	* lto-plugin.c (cleanup_handler): Don't cleanup if debugging.
      
      From-SVN: r153899
      Rafael Avila de Espindola committed
    • [multiple changes] · 57f5eef0
      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
      Richard Earnshaw committed
    • defaults.h (CONSTANT_ADDRESS_P): Provide a default definition. · 4003023f
              * 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
      Nick Clifton committed
    • re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result) · 92fcbf95
      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
      Richard Biener committed
    • Another fix to the misaligned store vectorizer patch · 0cf7986c
      From-SVN: r153892
      Revital Eres committed
    • re PR tree-optimization/41919 (optimized code with -O2 or -O3 gives strange result) · fbd43827
      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
      Richard Guenther committed
    • [multiple changes] · db5e2d51
      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
      Maxim Kuvyrkov committed
    • c-opts.c (c_common_post_options): Move LTO option processing code ... · e3b8749b
      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
      Richard Guenther committed
    • c-common.c (fold_offsetof_1): Use %wd instead of HOST_WIDE_INT_PRINT_DEC. · 00ffc97d
      	* c-common.c (fold_offsetof_1): Use %wd instead of
      	HOST_WIDE_INT_PRINT_DEC.
      
      From-SVN: r153887
      Jakub Jelinek committed
    • Daily bump. · 4999625e
      From-SVN: r153886
      GCC Administrator committed
    • linux.h (TARGET_OS_CPP_BUILTINS): Don't define __pic__ or __PIC__. · bfd47963
      	* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Don't define
      	__pic__ or __PIC__.
      
      From-SVN: r153883
      Maciej W. Rozycki committed
    • config.gcc (vax-*-linux*): Keep the original contents of tmake_file while adding vax/t-linux. · 45f68150
      	* config.gcc (vax-*-linux*): Keep the original contents of
      	tmake_file while adding vax/t-linux.
      
      From-SVN: r153882
      Maciej W. Rozycki committed
  2. 03 Nov, 2009 19 commits
    • re PR c++/36959 (C++ front-end causing a static inline function to be emitted) · 9a6f7249
      	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
      Jason Merrill committed
    • re PR target/10127 (-fstack-check let's program crash) · d809253a
      	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
      Eric Botcazou committed
    • re PR rtl-optimization/41917 (Strange athrithmetic result with -O3) · 24d179b4
      	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
      Jakub Jelinek committed
    • pr41900.c: Make test compile only. · 0b94d8b2
      	* gcc.target/i386/pr41900.c: Make test compile only.  Scan assembler
      	dump to not include "call *%esp".
      
      From-SVN: r153871
      Uros Bizjak committed
    • mips.md: Fix typos. · 791c344b
      gcc/
      	* config/mips/mips.md: Fix typos.
      
      From-SVN: r153870
      Richard Sandiford committed
    • invoke.texi: Fix typo. · 8d023933
      gcc/
      	* doc/invoke.texi: Fix typo.
      
      From-SVN: r153869
      Richard Sandiford committed
    • re PR c++/39786 (Qualified name lookup through different numbers of using directives) · e58793e8
      	PR c++/39786
      	* g++.dg/lookup/using22.C: New.
      
      From-SVN: r153865
      Jason Merrill committed
    • re PR c++/41876 (Parse problems with catch) · c5d3d0ba
      	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
      Jason Merrill committed
    • re PR c++/41927 ([C++0x] Spurious warning with enable_if and default function template argument) · aa9b7569
      	PR c++/41927
      	* typeck.c (build_x_binary_op): Don't do warn_parentheses
      	if we're in a SFINAE context.
      
      From-SVN: r153863
      Jason Merrill committed
    • re PR c++/41815 ([C++0x] GCC wrongly treats rvalues of non-class type cv-qualified) · a638b034
      	PR c++/41815
      	* call.c (build_call_a): Strip cv-quals from rvalue result.
      
      From-SVN: r153862
      Jason Merrill committed
    • re PR libstdc++/41351 (std::rotate on RAI does not conform to ISO complexity requirement) · 6e924e07
      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
      David Krauss committed
    • neon.ml (vectype): Add T_floatSF. · 156e4236
      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
      Paul Brook committed
    • re PR c++/40944 ([C++0x] rejects well-formed code: SFINAE, decltype, function call) · 60d21717
      	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
      Jason Merrill committed
    • re PR c++/40687 ([C++0x]: error with auto and 7.1.6.4/7 in N2914) · 2e32c99e
      	PR c++/40687
      	* pt.c (do_auto_deduction): Diagnose inconsistent deduction.
      
      From-SVN: r153855
      Jason Merrill committed
    • re PR fortran/41907 (465.tonto in SPEC CPU 2006 runtime failure) · 64c2f8de
      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
      Tobias Burnus committed
    • predicates.md (rx_store_multiple_vector): Reverse order of expected registers. · 9595a419
              * 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
      Nick Clifton committed
    • pr36191.C: Don't run with -fomit-frame-pointer on sh, m68k and fido. · 48d3ee1d
      	* 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
      Andrew Stubbs committed
    • Move builtin-offsetof.c test · ad5ed961
      	PR c++/38699
      	* c-c++-common/dfp/builtin-offsetof.c: Moved to ...
      	* c-c++-common/builtin-offsetof.c: ... here.
      
      From-SVN: r153848
      Dodji Seketeli committed
    • c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC. · b56973d1
      2009-11-03  Richard Guenther  <rguenther@suse.de>
      
      	* c-common.c (fold_offsetof_1): Use HOST_WIDE_INT_PRINT_DEC.
      
      From-SVN: r153846
      Richard Guenther committed