1. 08 Dec, 2007 7 commits
  2. 07 Dec, 2007 17 commits
  3. 06 Dec, 2007 16 commits
    • decl.c (make_packable_type): Revert last change. · 4039fb35
      	* decl.c (make_packable_type): Revert last change.
      	(gnat_to_gnu_field): Avoid setting size and position multiple times.
      	* utils.c (finish_record_type): Retrieve the real name of the type.
      
      From-SVN: r130665
      Eric Botcazou committed
    • ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already defined. · 4c42b3d8
      2007-12-06  David Daney  <ddaney@avtrex.com>
      
      	* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not	already
      	defined.
      	(ffi_java_raw): New typedef.
      	(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
      	ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
      	ffi_java_raw.
      	(ffi_java_raw_closure) : Same.
      	(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
      	parameter types.
      	* src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
      	FFI_SIZEOF_JAVA_RAW.
      	(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
      	Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
      	sizeof(ffi_java_raw) for alignment calculations.
      	(ffi_java_ptrarray_to_raw): Same.
      	(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
              if FFI_SIZEOF_JAVA_RAW == 4.
      	(ffi_java_raw_to_rvalue): Same.
      	(ffi_java_raw_call): Change type of raw to ffi_java_raw.
      	(ffi_java_translate_args): Same.
      	(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
      	parameter types.
      	* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
      
      2007-12-06  David Daney  <ddaney@avtrex.com>
      
      	* interpret.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE throughout.
      	(ncode_closure, ffi_closure_fun): Define versions for
      	non-FFI_NATIVE_RAW_API case.
      	* include/java-interp.h (INTERP_FFI_RAW_TYPE): Define and use to
      	replace	ffi_raw throughout.
      	* jni.cc, interpret-run.cc: Replace ffi_raw with INTERP_FFI_RAW_TYPE
      	throughout.
      
      From-SVN: r130660
      David Daney committed
    • ltrans-7.f90: New. · 6af5d898
      2007-12-06  Sebastian Pop  <sebastian.pop@amd.com>
      
      	* gfortran.dg/ltrans-7.f90: New.
      
      From-SVN: r130658
      Sebastian Pop committed
    • jni.exp (gcj_jni_get_cxxflags_invocation): Make the testsuite multilib aware for Darwin. · f390e54e
      2007-12-06  Andreas Tobler  <a.tobler@schweiz.org>
      
      	* testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation): Make
      	the testsuite multilib aware for Darwin.
      
      From-SVN: r130657
      Andreas Tobler committed
    • re PR c/29172 (--combine can't handle #pragma once) · 97f6bd40
      gcc
      	PR c/29172:
      	* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
      libcpp
      	PR c/29172:
      	* internal.h (struct cpp_reader) <file_hash_entries>: Changed
      	type.
      	<file_hash_entries_allocated, file_hash_entries_used>: Removed.
      	* files.c (FILE_HASH_POOL_SIZE): New macro.
      	(struct file_hash_entry_pool): New.
      	(destroy_all_cpp_files): New function.
      	(allocate_file_hash_entries): Allocate a file_hash_entry_pool.
      	(new_file_hash_entry): Update.
      	(free_file_hash_entries): New function.
      	(_cpp_cleanup_files): Call free_file_hash_entries and
      	destroy_all_cpp_files.
      	(cpp_clear_file_cache): New function.
      	* include/cpplib.h (cpp_clear_file_cache): Declare.
      
      From-SVN: r130656
      Tom Tromey committed
    • n32.S (ffi_closure_N32): Use 64-bit add instruction on pointer values. · 3ef50b62
      2007-12-06  David Daney  <ddaney@avtrex.com>
      
      	* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on 
      	pointer values.
      
      From-SVN: r130655
      David Daney committed
    • Fix last commit. · dd748704
      From-SVN: r130654
      Richard Sandiford committed
    • mips.c (mips_function_ok_for_sibcall): Use targetm.binds_local_p instead of DECL_EXTERNAL. · 0b6e1647
      gcc/
      	* config/mips/mips.c (mips_function_ok_for_sibcall): Use
      	targetm.binds_local_p instead of DECL_EXTERNAL.
      
      From-SVN: r130653
      Richard Sandiford committed
    • mt-sde (CFLAGS_FOR_TARGET, [...]): Use +=, not =. · f19088fc
      config/
      	* mt-sde (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Use +=, not =.
      	* mt-mips-elfoabi: Likewise.
      
      From-SVN: r130652
      Richard Sandiford committed
    • tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition. · 749cc4b1
      2007-12-05  Harsha Jagasia <harsha.jagasia@amd.com>
      
      	* tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
      	(set_prologue_iterations): New. Set the prologue iterations to total
      	number of scalar iterations if the cost model check indicates that
      	scalar code should be generated.
      	(slpeel_tree_peel_loop_to_edge): Add a new parameter and code for 
      	generating the cost condition for epilog. Call
      	set_prologue_iterations to generate cost condition for prolog.
      	(new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
      	* tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
      	(slpeel_tree_peel_loop_to_edge): Update declaration.
      	(set_prologue_iterations): New declaration.
      	* tree-vect-analyze.c (vect_analyze_loop_form): Update 
      	LOOP_VINFO_NITERS_UNCHANGED.
      	* tree-vect-transform.c
      	(vect_estimate_min_profitable_iters): Add new parameter and
      	code to  check if run time cost model test is needed.
      	Remove code that adds builtin vectorization cost to scalar
      	outside cost for the run time cost model test. If run time
      	cost model test is needed add the appropriate guard cost to
      	the scalar outside cost. The guard cost depends on whether
      	the guard is generated at versioning or at prolog generation
      	or at epilog generation. Change cost model equation to include
      	scalar outside cost.
      	(conservative_cost_threshold): New. Return the less conservative
      	profitability threshold between the cost model threshold and the
      	user defined vectorization threshold.
      	(vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
      	(vect_do_peeling_for_alignment): Same.
      	(vect_loop_versioning): Same.
      	(vect_create_cond_for_align_checks): ANDs the cost model condition
      	with the alignment condition.
      	(vect_transform_loop): Call loop versioning only when there is a
      	misalignment or an aliasing problem.
      
      From-SVN: r130651
      Harsha Jagasia committed
    • re PR middle-end/20983 (varargs functions force va_list variable to stack unnecessarily) · d7bd8aeb
      	PR middle-end/20983
      	* tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
      	(execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
      	BUILT_IN_VA_COPY and BUILT_IN_VA_END.
      
      	* target.h (struct ggc_target): Add expand_builtin_va_start
      	hook.
      	* target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
      	(TARGET_INITIALIZER): Add it.
      	* builtins.c (expand_builtin_va_start): Use
      	targetm.expand_builtin_va_start hook instead of
      	EXPAND_BUILTIN_VA_START macro.
      	* alpha/alpha.c (alpha_va_start): Made static.
      	(override_options): Clear targetm.expand_builtin_va_start if
      	TARGET_UNICOSMK.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
      	* alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
      	* alpha/alpha-protos.h (alpha_va_start): Remove prototype.
      	* xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
      	* xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
      	(xtensa_va_start): Made static.
      	* xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
      	* pa/pa-protos.h (hppa_va_start): Remove prototype.
      	* pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
      	* pa/pa.c (hppa_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
      	* frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
      	* i386/i386.c (override_options): Clear
      	targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
      	(ix86_va_start): Made static.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
      	* i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
      	* iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
      	* iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
      	* iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
      	* rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	(rs6000_override_options): Clear targetm.expand_builtin_va_start if
      	DEFAULT_ABI != ABI_V4.
      	* rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
      	* spu/spu.c (spu_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
      	* spu/spu-protos.h spu_va_start): Remove prototype.
      	* stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
      	* stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
      	Remove prototype.
      	* stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made
      	static.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* s390/s390-protos.h (s390_va_start): Remove prototype.
      	* s390/s390.c (s390_va_start): Made static.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
      	* mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
      	* mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
      	* mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* arc/arc.c (arc_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
      	* arc/arc-protos.h (arc_va_start): Remove prototype.
      	* mt/mt-protos.h (mt_va_start): Remove prototype.
      	* sparc/sparc.c (sparc_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* sparc/sparc-protos.h (sparc_va_start): Remove prototype.
      	* sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
      	* sh/sh.c (sh_va_start): Made static, add prototype.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      	* sh/sh-protos.h (sh_va_start): Remove prototype.
      	* sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
      	* mips/mips-protos.h (mips_va_start): Remove prototype.
      	* mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
      	* mips/mips.c (mips_va_start): Made static.
      	(TARGET_EXPAND_BUILTIN_VA_START): Define.
      
      From-SVN: r130650
      Jakub Jelinek committed
    • tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when "flag_tree_parallelize_loops > 1". · 4e9012fd
      	* tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
      	"flag_tree_parallelize_loops > 1".
      
      From-SVN: r130648
      Uros Bizjak committed
    • [multiple changes] · aea74440
      2007-12-06  Zdenek Dvorak  <ook@ucw.cz>
      	    Dorit Nuzman  <dorit@il.ibm.com>
      	    Jakub Jelinek  <jakub@redhat.com>
      
      	PR tree-optimization/34005
      	* tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
      	* gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
      	(gimplify_pure_cond_expr): New function.
      	(generic_expr_could_trap_p): New function.
      	(gimplify_cond_expr): Call gimplify_pure_cond_expr.
      	(force_gimple_operand): Initialize new field allow_rhs_cond_expr.
      
      2007-12-06  Martin Michlmayr <tbm@cyrius.com>
      	    Dorit Nuzman  <dorit@il.ibm.com>
      
      	PR tree-optimization/34005
      	* gcc.dg/vect/pr34005.c: New test.
      
      From-SVN: r130647
      Jakub Jelinek committed
    • s390.c (s390_emit_stack_tie): New function. · 12959abe
      2007-12-06  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/s390.c (s390_emit_stack_tie): New function.
      	(s390_emit_prologue): Emit a stack tie when writing to the
      	f8-f15 stack slots.
      	* config/s390/s390.md ("stack_tie"): New insn definition.
      
      From-SVN: r130646
      Andreas Krebbel committed
    • re PR c++/34336 (4.2.2 internal error in stabilize_expr) · 28267cfc
      	PR c++/34336
      	* tree.c (stabilize_call, stabilize_init): Do nothing if
      	processing_template_decl.
      
      	* g++.dg/template/new8.C: New test.
      
      From-SVN: r130645
      Jakub Jelinek committed
    • re PR fortran/34333 (if(nan == nan) wrongly returns TRUE, when nan is a parameter) · 0bf0efd5
      2007-12-06  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34333
              * primary.c (match_boz_constant): Add gfc_notify_std
              * diagnostics.
      
      2007-12-06  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34333
              * gfortran.dg/boz_7.f90: New.
              * gfortran.dg/int_1.f90: Disable -pedantic option.
              * gfortran.dg/boz_1.f90: Ditto.
              * gfortran.dg/boz_3.f90: Ditto.
              * gfortran.dg/pr16433.f: Accomodate for new BOZ warning.
              * gfortran.dg/ibits.f90: Ditto.
              * gfortran.dg/unf_io_convert_1.f90: Ditto.
              * gfortran.dg/unf_io_convert_2.f90: Ditto.
      
      From-SVN: r130644
      Tobias Burnus committed