1. 09 Dec, 2007 2 commits
    • re PR fortran/32129 (ICE: Procedure call with array-section-actual to scalar dummy) · 28d08315
      2007-12-09  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32129
      	* dump-parse-tree.c (gfc_show_expr_n): New function for
      	debugging.
      	* gfortran.h : Add prototype for gfc_show_expr_n.
      	* expr.c (simplify_constructor): Copy the constructor
      	expression and try to simplify that.  If success, replace the
      	original.  Otherwise discard the copy, keep going through
      	the structure and return success.
      
      	PR fortran/31487
      	* decl.c (build_struct): Pad out default initializers with
      	spaces to the component character length.
      
      2007-12-09  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32129
      	* gfortran.dg/derived_comp_array_ref_6.f90: New test.
      	* gfortran.dg/derived_comp_array_ref_7.f90: New test.
      
      	PR fortran/31487
      	* gfortran.dg/char_component_initializer_1.f90: New test.
      
      From-SVN: r130719
      Paul Thomas committed
    • Daily bump. · 4d19dfcf
      From-SVN: r130716
      GCC Administrator committed
  2. 08 Dec, 2007 9 commits
    • re PR fortran/34342 (BOZ extensions not diagnosed as such with -std=f95) · 00a4618b
      2007-12-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34342
              PR fortran/34345
              PR fortran/18026
              PR fortran/29471
      
              * gfortran.texi (BOZ literal constants): Improve documentation
              and adapt for BOZ changes.
              * Make-lang.ini (resolve.o): Add target-memory.h dependency.
              * gfortran.h (gfc_expr): Add is_boz flag.
              * expr.c: Include target-memory.h.
              (gfc_check_assign): Support transferring BOZ for real/cmlx.
              * resolve.c: Include target-memory.h
              (resolve_ordinary_assign): Support transferring BOZ for real/cmlx.
              * target-memory.c (gfc_convert_boz): New function.
              * target-memory.c (gfc_convert_boz): Add prototype.
              * primary.c (match_boz_constant): Set is_boz, enable F95 error
              also without -pedantic, and allow for Fortran 2003 BOZ.
              (match_real_constant): Fix comment.
              * simplify.c
              * (simplify_cmplx,gfc_simplify_dble,gfc_simplify_float,
              gfc_simplify_real): Support Fortran 2003 BOZ.
      
      2007-12-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34342
              PR fortran/34345
              PR fortran/18026
              PR fortran/29471
      
              * gfortran.dg/boz_8.f90: New.
              * gfortran.dg/boz_9.f90: New.
              * gfortran.dg/boz_10.f90: New.
              * gfortran.dg/boz_7.f90: Update dg-warning.
              * gfortran.dg/pr16433.f: Add dg-error.
              * gfortan.dg/ibits.f90: Update dg-warning.
              * gfortran.dg/unf_io_convert_1.f90: Update/delete dg-warning.
              * gfortran.dg/unf_io_convert_2.f90: Ditto.
      
      From-SVN: r130713
      Tobias Burnus committed
    • re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file… · 1b271c9b
      re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file with two routines that contain INCLUDE statements)
      
      	PR fortran/34359
      	* gfortran.h (gfc_file): Remove sibling and down fields.
      	* scanner.c (file_changes, file_changes_cur, file_changes_count,
      	file_changes_allocated): New variables.
      	(add_file_change, report_file_change): New functions.
      	(change_file): Remove.
      	(gfc_start_source_files, gfc_end_source_files): Call
      	report_file_change instead of change_file.
      	(gfc_advance_line): Call report_file_change instead of change_file,
      	call it even if lb->file == lb->next->file.
      	(get_file): Revert last changes.
      	(preprocessor_line): Call add_file_change when entering or leaving
      	a file.
      	(load_file): Likewise.  Set file_change[...].lb for all newly added
      	file changes.
      
      	* gfortran.dg/include_1.f90: New test.
      	* gfortran.dg/include_1.inc: New.
      	* gfortran.dg/include_2.f90: New test.
      
      From-SVN: r130712
      Jakub Jelinek committed
    • n32.S (ffi_call_N32): Replace dadd with ADDU... · c94ae2e4
      2007-12-08  David Daney  <ddaney@avtrex.com>
      
      	* src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with 
      	SUBU, add with ADDU and use smaller code sequences.
      
      From-SVN: r130711
      David Daney committed
    • 200x-xx-xx Paul de Weerd <weerd@weirdnet.nl> · 6d90749a
      gcc/testsuite/
      200x-xx-xx  Paul de Weerd  <weerd@weirdnet.nl>
      
      	* gcc.c-torture/compile/20011130-2.c: Fix typo.
      
      From-SVN: r130710
      Paul de Weerd committed
    • configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9. · 417e7bed
      2007-12-08  Andreas Tobler  <a.tobler@schweiz.org>
      
      	* configure.host: Add bits for i?86-*-darwin9 and x86_64-*-darwin9.
      	* configure.ac: Add darwin-signal.h to x86_64-*-darwin9 and
      	i?86-*darwin9.
      	* configure.in: Regenerate.
      	* darwin.cc: Add definitions for Darwin specific functions for 64-bit.
      	(darwin_java_register_dyld_add_image_hook): Use this specific
      	functions.
      	* Makefile.am (gij_LDFLAGS): Add extra_gij_ldflags for Darwin9.
      	* Makefile.in: Regenerate.
      	* include/Makefile.in: Likewise.
      	* gcj/Makefile.in: Likewise.
      	* testsuite/Makefile.in: Likewise.
      	* testsuite/lib/libjava.exp (libjava_arguments): Add allow_stack_execute
      	for *-*-darwin9*.
      
      From-SVN: r130709
      Andreas Tobler committed
    • re PR fortran/34319 (I/O: Support "NaN", "Infinity" and "INF" as input) · c9f7e825
      2007-12-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34319
              * io/list_read.c (parse_real, read_real): Support NaN/Infinity.
      
      2007-12-08  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/34319
              * gfortran.dg/nan_3.f90: New.
      
      From-SVN: r130708
      Tobias Burnus committed
    • re PR tree-optimization/34391 (Vectorizer does not fix up alias information correctly) · f10d132b
      2007-12-08  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/34391
      	* tree-vect-transform.c (vect_setup_realignment): Mark new
      	symbols for renaming.
      
      From-SVN: r130707
      Richard Guenther committed
    • Add myself to MAINTAINERS file. · d4ca4b06
             * MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r130704
      Bill Maddox committed
    • Daily bump. · fb79bcd1
      From-SVN: r130702
      GCC Administrator committed
  3. 07 Dec, 2007 17 commits
  4. 06 Dec, 2007 12 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