Benjamin Kosnik [Tue, 21 Nov 2006 09:54:40 +0000 (09:54 +0000)]
iostream-inst.cc: Remove iostream include.
2006-11-21 Benjamin Kosnik <bkoz@redhat.com>
Howard Hinnant <hhinnant@apple.com>
* src/iostream-inst.cc: Remove iostream include.
From-SVN: r119048
Benjamin Kosnik [Tue, 21 Nov 2006 09:51:11 +0000 (09:51 +0000)]
iostream-inst.cc: Remove iostream include.
2006-11-07 Benjamin Kosnik <bkoz@redhat.com>
Howard Hinnant <hhinnant@apple.com>
* src/iostream-inst.cc: Remove iostream include.
Co-Authored-By: Howard Hinnant <hhinnant@apple.com>
From-SVN: r119046
Jakub Jelinek [Tue, 21 Nov 2006 09:43:16 +0000 (10:43 +0100)]
re PR c++/29570 (ICE with brace-enclosed initializer)
PR c++/29570
* decl.c (cp_finish_decl): Check for value dependent brace enclosed
scalar initializer.
* g++.dg/template/static29.C: New test.
From-SVN: r119045
Jakub Jelinek [Tue, 21 Nov 2006 09:41:27 +0000 (10:41 +0100)]
re PR c++/29734 (ICE with vector in switch condition)
PR c++/29734
* cp-tree.h (WANT_VECTOR): Define.
(WANT_ARITH): Add WANT_VECTOR.
* cvt.c (build_expr_type_conversion): Handle vector types.
* typeck.c (build_unary_op): Add WANT_VECTOR to
build_expr_type_conversion flags.
* g++.dg/conversion/simd4.C: New test.
From-SVN: r119044
Ben Elliston [Tue, 21 Nov 2006 03:30:34 +0000 (03:30 +0000)]
* config/spu/spu.c (spu_expand_vector_init): Initialise x.
From-SVN: r119043
Ben Elliston [Tue, 21 Nov 2006 02:22:40 +0000 (13:22 +1100)]
Formatting fixes.
From-SVN: r119042
Trevor Smigiel [Tue, 21 Nov 2006 01:35:42 +0000 (01:35 +0000)]
configure.in (skipdirs): Don't build target-libiberty for SPU.
ChangeLog
* configure.in (skipdirs) : Don't build target-libiberty for SPU.
* configure : Rebuilt.
gcc/ChangeLog
* config.gcc : Add target for SPU.
* config/spu/constraints.md : New file.
* config/spu/crt0.c : New file.
* config/spu/crtend.c : New file.
* config/spu/crti.asm : New file.
* config/spu/crtn.asm : New file.
* config/spu/float_unsdidf.c : New file.
* config/spu/float_unssidf.c : New file.
* config/spu/predicates.md : New file.
* config/spu/spu-builtins.def : New file.
* config/spu/spu-builtins.h : New file.
* config/spu/spu-builtins.md : New file.
* config/spu/spu-c.c : New file.
* config/spu/spu-elf.h : New file.
* config/spu/spu-modes.def : New file.
* config/spu/spu-protos.h : New file.
* config/spu/spu.c : New file.
* config/spu/spu.h : New file.
* config/spu/spu.md : New file.
* config/spu/spu.opt : New file.
* config/spu/spu_internals.h : New file.
* config/spu/spu_intrinsics.h : New file.
* config/spu/spu_mfcio.h : New file.
* config/spu/t-spu-elf : New file.
* config/spu/vec_types.h : New file.
* config/spu/vmx2spu.h : New file.
* doc/contrib.texi : Document SPU contributor.
* doc/extend.texi : Document SPU extensions.
* doc/invoke.texi : Document SPU options.
* doc/md.texi : Document SPU constraints.
libcpp/ChangeLog
* configure.ac (need_64bit_hwint): Need 64bit hwint for SPU.
* configure : Rebuilt.
From-SVN: r119041
Zdenek Dvorak [Tue, 21 Nov 2006 01:08:40 +0000 (02:08 +0100)]
cfgloopmanip.c (add_loop, [...]): Do not set level of the loop.
* cfgloopmanip.c (add_loop, duplicate_loop): Do not set level
of the loop.
* cfgloop.c (flow_loop_level_compute, flow_loops_level_compute):
Removed.
(flow_loop_dump): Do not dump loop level.
(flow_loops_find): Do not call flow_loops_level_compute.
* cfgloop.h (struct loop): Remove level field.
From-SVN: r119040
Zdenek Dvorak [Tue, 21 Nov 2006 00:20:02 +0000 (01:20 +0100)]
tree-ssa-loop-im.c (schedule_sm, [...]): Use vector of edges instead of array.
* tree-ssa-loop-im.c (schedule_sm, determine_lsm_ref,
hoist_memory_references, loop_suitable_for_sm, determine_lsm_loop):
Use vector of edges instead of array.
* tree-ssa-loop-niter.c (find_loop_niter, find_loop_niter_by_eval,
estimate_numbers_of_iterations_loop): Ditto.
* predict.c (predict_loops): Ditto.
* loop-unroll.c (analyze_insns_in_loop): Ditto.
* tree-ssa-threadupdate.c: Remove declaration of heap allocation for
edge vectors.
* basic-block.h: Declare heap allocation for edge vectors.
* tree-outof-ssa.c: Ditto.
* cfgloop.c (get_loop_exit_edges): Return vector of edges.
* cfgloop.h (get_loop_exit_edges): Declaration changed.
From-SVN: r119039
GCC Administrator [Tue, 21 Nov 2006 00:17:38 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119037
Zack Weinberg [Tue, 21 Nov 2006 00:16:45 +0000 (00:16 +0000)]
gengtype.c (process_gc_options): Remove unnecessary forward decl.
* gengtype.c (process_gc_options): Remove unnecessary forward decl.
Add another out parameter, "skip".
(set_gc_used_type): Adjust calls to process_gc_options. If a field
is tagged "skip", do not mark its type used.
From-SVN: r119034
Trevor Smigiel [Tue, 21 Nov 2006 00:07:54 +0000 (00:07 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r119031
Tobias Burnus [Mon, 20 Nov 2006 21:29:32 +0000 (22:29 +0100)]
re PR fortran/27546 (IMPORT is broken)
fortran/
2006-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* primary.c (gfc_match_rvalue): Added IMPORT support.
testsuite/
2006-11-17 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* gfortran.dg/import.f90: Extended test.
* gfortran.dg/import2.f90: Extended test.
From-SVN: r119028
Simon Martin [Mon, 20 Nov 2006 21:15:44 +0000 (21:15 +0000)]
re PR c++/29475 (incomplete template diagnostics.)
PR c++/29475
* cp-tree.h (enforce_access, perform_or_defer_access_check): Added an
extra argument that represents the declaration to use to print
potential error messages.
* init.c (build_offset_ref): Adjusted the call to
perform_or_defer_access_check.
* class.c (alter_access, resolve_address_of_overloaded_function):
Likewise.
* decl.c (make_typename_type, make_unbound_class_template): Likewise.
* search.c (lookup_member): Likewise.
* friend.c (add_friend): Likewise.
* parser.c (cp_parser_template_id,
cp_parser_pre_parsed_nested_name_specifier): Likewise.
* semantics.c (finish_non_static_data_member,
check_accessibility_of_qualified_id, finish_id_expression): Likewise.
(pop_to_parent_deferring_access_checks, perform_access_checks,
perform_or_defer_access_check): Adjusted the call to enforce_access.
* call.c (enforce_access): Use the new extra argument to build the
error message.
(build_op_delete_call): Adjusted the call to
perform_or_defer_access_check.
(build_over_call): Likewise.
PR c++/29475
* g++.dg/template/access19.C: New test.
* g++.old-deja/g++.other/access11.C: Adjusted the line where the
error is reported.
From-SVN: r119027
Andrew Pinski [Mon, 20 Nov 2006 20:29:10 +0000 (20:29 +0000)]
re PR target/25500 (SSE2 vectorized code is slower on 4.x.x than previous)
2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/25500
* tree-sra.c (single_scalar_field_in_record_p): New function.
(decide_block_copy): Use it.
2006-11-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/25500
* gcc.dg/tree-ssa/sra-4.c: New testcase.
From-SVN: r119026
Tobias Burnus [Mon, 20 Nov 2006 20:04:24 +0000 (21:04 +0100)]
symbol.c (check_conflict): Add conflict between VOLATILE attribute and program name.
fortran/
2006-11-20 Tobias Burnus <burnus@net-b.de>
* symbol.c (check_conflict): Add conflict between VOLATILE
attribute and program name.
testsuite/
2006-11-20 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/volatile3.f90: Add conflict test.
From-SVN: r119025
David Daney [Mon, 20 Nov 2006 19:49:08 +0000 (19:49 +0000)]
mips-signal.h (sys/syscall.h): Do not include.
2006-11-20 David Daney <ddaney@avtrex.com>
* include/mips-signal.h (sys/syscall.h): Do not include.
(sig_ucontext_t): Removed.
(MAKE_THROW_FRAME): Changed to be a nop.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV): Rewrote to use _INIT_SIG_HANDLER.
(INIT_FPE): Same.
2006-11-20 David Daney <ddaney@avtrex.com>
* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
PC to point to following instruction.
From-SVN: r119024
David Daney [Mon, 20 Nov 2006 19:43:25 +0000 (19:43 +0000)]
Throw_3.java: New Test.
* testsuite/libjava.lang/Throw_3.java: New Test.
* testsuite/libjava.lang/Throw_3.out: Its expected output.
From-SVN: r119023
Anatoly Sokolov [Mon, 20 Nov 2006 18:16:21 +0000 (21:16 +0300)]
re PR target/18553 (Annoying warning with -ffunction-sections -g)
PR target/18553
PR target/29449
* config/avr/avr.h (OBJECT_FORMAT_ELF): Define.
* config/avr/avr.h (DWARF2_DEBUGGING_INFO): Define.
From-SVN: r119019
J"orn Rennecke [Mon, 20 Nov 2006 17:37:50 +0000 (17:37 +0000)]
config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
* config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
Add sh/superh.h to tm_file.
From-SVN: r119018
Carlos O'Donell [Mon, 20 Nov 2006 17:15:27 +0000 (17:15 +0000)]
cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and gcc_exec_prefix.
gcc/
2006-11-20 Carlos O'Donell <carlos@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* cppdefault.c: Define cpp_PREFIX, cpp_PREFIX_len, and
gcc_exec_prefix.
(cpp_relocated): New function.
* cppdefault.h: Declare cpp_PREFIX, cpp_PREFIX_len, gcc_exec_prefix
and cpp_relocated.
* Makefile.in (PREPROCESSOR_DEFINES): Add -DPREFIX option.
* c-incpath.c (add_standard_paths): Call cpp_relocated. If relocated,
replace configured prefix with gcc_exec_prefix.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r119017
Bernhard Fischer [Mon, 20 Nov 2006 16:20:33 +0000 (17:20 +0100)]
re PR fortran/24783 ([4.1 and 4.2 only] Implicit none in module overwrite explicit in procedure)
fortran/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* resolve.c (resolve_variable): Get the implicit type from the
symbols namespace rather than the default namespace. Fix whitespace.
(resolve_formal_arglist, resolve_equivalence): Fix typo.
testsuite/ChangeLog
2006-11-20 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/24783
* gfortran.dg/implicit_10.f90: New test.
From-SVN: r119016
Andrea Ornstein [Mon, 20 Nov 2006 14:18:03 +0000 (14:18 +0000)]
MAINTAINERS list - adding myself
From-SVN: r119015
Bernd Schmidt [Mon, 20 Nov 2006 13:06:13 +0000 (13:06 +0000)]
tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially inflate costs for addresses with an out-of-bounds address.
* tree-ssa-loop-ivopts.c (get_address_cost): Do not artificially
inflate costs for addresses with an out-of-bounds address.
From-SVN: r119014
Bernd Schmidt [Mon, 20 Nov 2006 12:40:57 +0000 (12:40 +0000)]
bfin.c (bfin_function_ok_for_sibcall): Handle some edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
* config/bfin/bfin.c (bfin_function_ok_for_sibcall): Handle some
edge cases with local functions and TARGET_ID_SHARED_LIBRARY.
From-SVN: r119013
Bernd Schmidt [Mon, 20 Nov 2006 12:35:47 +0000 (12:35 +0000)]
bfin.md (call_symbol, [...]): Allow these patterns if TARGET_LEAF_ID_SHARED_LIBRARY.
* config/bfin/bfin.md (call_symbol, call_value_symbol, sibcall_symbol,
sibcall_value_symbol): Allow these patterns if
TARGET_LEAF_ID_SHARED_LIBRARY.
* config/bfin/bfin.c (bfin_expand_call): Allow them here as well.
(override_options): Turn on id shared library flags if -msep-data,
but disallow the combination of these options on the command line.
* config/bfin/bfin.h (TARGET_LEAF_ID_SHARED_LIBRARY, MASK_SEP_DATA
MASK_LEAF_ID_SHARED_LIBRARY, TARGET_SEP_DATA): New macros.
(DRIVER_SELF_SPECS): -mleaf-id-shared-library implies
-mid-shared-library.
(TARGET_SWITCHES): Add -mleaf-id-shared-library and -msep-data.
* doc/invoke.texi (Blackfin Options): Document new switches.
From-SVN: r119012
Bernd Schmidt [Mon, 20 Nov 2006 12:22:25 +0000 (12:22 +0000)]
bfin.h (LEGITIMATE_CONSTANT_P): Call bfin_legitimate_constant_p.
* config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Call
bfin_legitimate_constant_p.
* config/bfin/bfin.md (movsi expander): Check return value of
expand_mvoe.
* config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Declare.
(expand_move): Adjust prototype.
* config/bfin/bfin.c (expand_move): Now returns bool. Handle
invalid constants specially.
(bfin_cannot_force_const_mem, bfin_legitimate_constant_p): New
functions.
(TARGET_CANNOT_FORCE_CONST_MEM): New macro.
From-SVN: r119011
Andrew Pinski [Mon, 20 Nov 2006 04:51:47 +0000 (20:51 -0800)]
re PR rtl-optimization/29879 (ICE: verify_flow_info: loop_father but no loops)
2006-11-19 Andrew Pinski <pinskia@gmail.com>
PR rtl-opt/29879
* fwprop.c (loops): Remove.
(forward_propagate_into): Use current_loops instead of
loops.
(fwprop_init): Call loop_optimizer_init instead of
flow_loops_find.
(fwprop_done): Call loop_optimizer_finalize instead of
flow_loops_free.
(fwprop): Use current_loops instead of loo
From-SVN: r119010
Gabriel Dos Reis [Mon, 20 Nov 2006 01:03:49 +0000 (01:03 +0000)]
re PR c++/8586 (-Wwrite-strings should be included in -Wall)
2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/8586
* c-opts.c (c_common_handle_option): Enable -Wwrite-strings if
-Wall.
testsuite/
2006-11-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
PR c++/8586
* g++.dg/warn/Wall-write-strings.C: New.
From-SVN: r119009
GCC Administrator [Mon, 20 Nov 2006 00:18:09 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r119006
Erik Edelmann [Sun, 19 Nov 2006 21:27:16 +0000 (21:27 +0000)]
resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of nonzero rank part references too.
fortran/
2006-11-19 Erik Edelmann <eedelman@gcc.gnu.org>
* resolve.c (resolve_ref): Check for ALLOCATABLEs to the right of
nonzero rank part references too.
testsuite/
2006-11-19 Erik Edelmann <eedelman@gcc.gnu.org>
* gfortran.dg/alloc_comp_constraint_5.f90: New.
* gfortran.dg/alloc_comp_assign_2.f90: Removed invalid code.
From-SVN: r118999
Francois-Xavier Coudert [Sun, 19 Nov 2006 21:18:26 +0000 (22:18 +0100)]
module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
* module.c (gfc_use_module): Uncomment the ISO_FORTRAN_ENV code.
Check that intrinsic and non-intrinsic modules don't conflict.
(use_iso_fortran_env_module): New function.
(create_int_parameter): New function.
* trans-types.c (gfc_init_kinds): Choose values for
gfc_numeric_storage_size and gfc_character_storage_size.
(gfc_numeric_storage_size, gfc_character_storage_size): New variables.
* resolve.c (resolve_symbol): Do no check intrinsic modules
against the list of intrinsic symbols.
* iso-fortran-env.def: New file.
* gfortran.h (gfc_numeric_storage_size,
gfc_character_storage_size): Add prototypes.
* gfortran.dg/use_3.f90: Remove error message.
* gfortran.dg/iso_fortran_env_1.f90: New test.
* gfortran.dg/iso_fortran_env_2.f90: New test.
* gfortran.dg/iso_fortran_env_3.f90: New test.
* gfortran.dg/iso_fortran_env_4.f90: New test.
From-SVN: r118998
John David Anglin [Sun, 19 Nov 2006 18:24:21 +0000 (18:24 +0000)]
re PR target/29114 (ICE when cross-compiling glibc for hppa on a 64bit host)
PR target/29114
* pa.c (emit_move_sequence): Don't split constants with PLUS for modes
larger than BITS_PER_WORD.
From-SVN: r118993
Paolo Carlini [Sun, 19 Nov 2006 16:23:17 +0000 (16:23 +0000)]
functional (hash(long long), [...]): Add specializations.
2006-11-19 Paolo Carlini <pcarlini@suse.de>
* include/tr1/functional (hash(long long), hash(unsigned long long)):
Add specializations.
From-SVN: r118991
Dorit Nuzman [Sun, 19 Nov 2006 11:11:57 +0000 (11:11 +0000)]
* gcc.dg/vect/vect-27.c: Fix initialization.
From-SVN: r118987
GCC Administrator [Sun, 19 Nov 2006 00:18:13 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r118982
John David Anglin [Sat, 18 Nov 2006 23:17:33 +0000 (23:17 +0000)]
re PR fortran/27885 (FAIL: libgomp.fortran/vla[1-7].f90 -O0 (test for excess errors))
PR fortran/27885
PR middle-end/28176
* stor-layout.c (set_sizetype): Limit precision of *bitsizetypes types
to MAX_FIXED_MODE_SIZE.
From-SVN: r118977
Kaveh R. Ghazi [Sat, 18 Nov 2006 20:38:40 +0000 (20:38 +0000)]
builtins.c (integer_valued_real_p): Handle fmin/fmax.
* builtins.c (integer_valued_real_p): Handle fmin/fmax.
(fold_builtin_fmin_fmax): New.
(fold_builtin_1): Use it.
testsuite:
* gcc.dg/builtins-20.c: Add fmin/fmax cases.
* gcc.dg/torture/builtin-minmax-1.c: New.
From-SVN: r118976
Kaveh R. Ghazi [Sat, 18 Nov 2006 20:29:22 +0000 (20:29 +0000)]
fold-const.c (fold_strip_sign_ops): Handle copysign.
* fold-const.c (fold_strip_sign_ops): Handle copysign.
testsuite:
* gcc.dg/builtins-20.c: Add cases for copysign.
From-SVN: r118975
Richard Guenther [Sat, 18 Nov 2006 20:03:52 +0000 (20:03 +0000)]
i386.c (ix86_builtins): New array for ix86 builtin function decls.
2006-11-18 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (ix86_builtins): New array for ix86
builtin function decls.
(def_builtin): New function.
(def_builtin_const): Likewise.
(ix86_init_mmx_sse_builtins): Mark sqrt and cvt builtins const.
From-SVN: r118974
Vladimir Makarov [Sat, 18 Nov 2006 18:43:19 +0000 (18:43 +0000)]
invoke.texi (core2): Add item.
2006-11-18 Vladimir Makarov <vmakarov@redhat.com>
* doc/invoke.texi (core2): Add item.
* config/i386/i386.h (TARGET_CORE2, TARGET_CPU_DEFAULT_core2): New
macros.
(TARGET_CPU_CPP_BUILTINS): Add code for core2.
(TARGET_CPU_DEFAULT_generic): Change value.
(TARGET_CPU_DEFAULT_NAMES): Add core2.
(processor_type): Add new constant PROCESSOR_CORE2.
* config/i386/i386.md (cpu): Add core2.
* config/i386/i386.c (core2_cost): New initialized variable.
(m_CORE2): New macro.
(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
x86_deep_branch, x86_partial_reg_stall, x86_use_simode_fiop,
x86_use_cltd, x86_promote_QImode, x86_sub_esp_4, x86_sub_esp_8,
x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
x86_partial_reg_dependency, x86_memory_mismatch_stall,
x86_accumulate_outgoing_args, x86_prologue_using_move,
x86_epilogue_using_move, x86_arch_always_fancy_math_387,
x86_sse_partial_reg_dependency, x86_rep_movl_optimal,
x86_use_incdec, x86_four_jump_limit, x86_schedule,
x86_pad_returns): Add m_CORE2.
(override_options): Add entries for Core2.
(ix86_issue_rate): Add case for Core2.
From-SVN: r118973
Kaveh R. Ghazi [Sat, 18 Nov 2006 14:08:54 +0000 (14:08 +0000)]
configure.in (--with-mpfr-dir): Also look in .libs and _libs for libmpfr.a.
* configure.in (--with-mpfr-dir): Also look in .libs and _libs for
libmpfr.a.
* configure: Regenerate.
From-SVN: r118972
Francois-Xavier Coudert [Sat, 18 Nov 2006 12:16:42 +0000 (13:16 +0100)]
re PR fortran/24285 ([4.2 only] format(1000(a,$)))
PR fortran/24285
* io.c (check_format): Allow dollars everywhere in format, and
issue a warning.
* gfortran.dg/dollar_edit_descriptor-3.f: New test.
From-SVN: r118971
Aldy Hernandez [Sat, 18 Nov 2006 10:55:38 +0000 (10:55 +0000)]
invoke.texi: Fix mno-isel typo.
* doc/invoke.texi: Fix mno-isel typo.
From-SVN: r118969
Joseph Myers [Sat, 18 Nov 2006 00:27:03 +0000 (00:27 +0000)]
spe.md (movv4hi_internal): Add alternative for easy vector constant loads.
* config/rs6000/spe.md (movv4hi_internal): Add alternative for
easy vector constant loads.
From-SVN: r118964
Joseph Myers [Sat, 18 Nov 2006 00:22:45 +0000 (00:22 +0000)]
rs6000.h (TARGET_NO_LWSYNC): Define.
gcc:
* config/rs6000/rs6000.h (TARGET_NO_LWSYNC): Define.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__NO_LWSYNC__ if TARGET_NO_LWSYNC.
* config/rs6000/sync.md (lwsync): Emit plain sync if
TARGET_NO_LWSYNC.
libstdc++-v3:
* config/cpu/powerpc/atomic_word.h (_GLIBCXX_WRITE_MEM_BARRIER):
Use plain sync if __NO_LWSYNC__.
From-SVN: r118961
GCC Administrator [Sat, 18 Nov 2006 00:17:55 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118959
Jerry DeLisle [Fri, 17 Nov 2006 23:30:49 +0000 (23:30 +0000)]
2006-11-17 Jerry DeLisle <jvdelisle@fcc.gnu.org
* ChangeLog: Fix typos.
From-SVN: r118954
DJ Delorie [Fri, 17 Nov 2006 23:15:29 +0000 (18:15 -0500)]
reload1.c (reloads_unique_chain): New.
* reload1.c (reloads_unique_chain): New.
(reloads_conflict): Call it.
From-SVN: r118953
Bob Wilson [Fri, 17 Nov 2006 23:10:48 +0000 (23:10 +0000)]
predicates.md (addsubx_operand): New.
* config/xtensa/predicates.md (addsubx_operand): New.
* config/xtensa/xtensa.c (xtensa_emit_branch): New.
(xtensa_emit_bit_branch): New.
(xtensa_emit_movcc): New.
* config/xtensa/xtensa.md (any_minmax): New code macro.
(minmax): New code attribute.
(any_cond, any_scc, any_scc_sf): New code macros.
(*addx2, *addx4, *addx8): Delete.
(*addx): New.
(*subx2, *subx4, *subx8): Delete.
(*subx): New.
(sminsi3, uminsi3, smaxsi3, umaxsi3): Use any_minmax macro.
(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Use any_cond.
(*btrue, *bfalse, *ubtrue, *ubfalse): Use xtensa_emit_branch.
(*bittrue, *bitfalse): Use xtensa_emit_bit_branch.
(seq, sne, sgt, sge, slt, sle): Use any_scc macro.
(movsicc_internal0, movsicc_internal1): Use xtensa_emit_movcc.
(movsfcc_internal0, movsfcc_internal1): Likewise.
(seq_sf, slt_sf, sle_sf): Use any_scc_sf macro.
* config/xtensa/xtensa-protos.h: (xtensa_emit_branch): New.
(xtensa_emit_bit_branch): New.
(xtensa_emit_movcc): New.
(function_arg_boundary): Add missing prototype.
From-SVN: r118952
Bob Wilson [Fri, 17 Nov 2006 22:59:50 +0000 (22:59 +0000)]
* config/xtensa/xtensa.md (tstsi): Delete
From-SVN: r118949
Bob Wilson [Fri, 17 Nov 2006 22:55:13 +0000 (22:55 +0000)]
* config/xtensa/xtensa.md (entry): Do not emit .frame directive.
From-SVN: r118948
Bob Wilson [Fri, 17 Nov 2006 22:46:57 +0000 (22:46 +0000)]
* config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
From-SVN: r118947
Bob Wilson [Fri, 17 Nov 2006 22:40:02 +0000 (22:40 +0000)]
* config/xtensa/lib1funcs.asm (__umulsidi3): Restore a0 on exit.
From-SVN: r118946
Eric Botcazou [Fri, 17 Nov 2006 15:10:28 +0000 (15:10 +0000)]
re PR ada/27936 (gnatbind fails to link)
PR ada/27936
* trans.c (add_decl_expr): Do not dynamically elaborate padded objects
if the initializer takes into account the padding.
From-SVN: r118939
Zdenek Dvorak [Fri, 17 Nov 2006 11:29:17 +0000 (12:29 +0100)]
tree-vrp.c (execute_vrp): Do not update current_loops.
* tree-vrp.c (execute_vrp): Do not update current_loops.
* loop-unswitch.c (unswitch_loop): Do not use loop_split_edge_with.
* doc/loop.texi: Remove documentation for cancelled functions.
* tree-ssa-loop-im.c (loop_commit_inserts): Removed.
(move_computations, determine_lsm): Use bsi_commit_edge_inserts
instead.
* cfgloopmanip.c (remove_bbs): Do not update loops explicitly.
(remove_path): Ensure that in delete_basic_blocks, the loops
are still allocated.
(add_loop): Work on valid loop structures.
(loopify): Modify call of add_loop.
(mfb_update_loops): Removed.
(create_preheader): Do not update loops explicitly.
(force_single_succ_latches, loop_version): Do not use
loop_split_edge_with.
(loop_split_edge_with): Removed.
* tree-ssa-loop-manip.c (create_iv, determine_exit_conditions):
Do not use bsi_insert_on_edge_immediate_loop.
(split_loop_exit_edge, tree_unroll_loop): Do not use
loop_split_edge_with.
(bsi_insert_on_edge_immediate_loop): Removed.
* tree-ssa-loop-ch.c (copy_loop_headers): Use current_loops. Do not
use loop_split_edge_with.
* cfghooks.c: Include cfgloop.h.
(verify_flow_info): Verify that loop_father is filled iff current_loops
are available.
(redirect_edge_and_branch_force, split_block, delete_basic_block,
split_edge, merge_blocks, make_forwarder_block, duplicate_block):
Update cfg.
* cfgloopanal.c (mark_irreducible_loops): Work if the function contains
no loops.
* modulo-sched.c (generate_prolog_epilog, canon_loop): Do not use
loop_split_edge_with.
(sms_schedule): Use current_loops.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Use current_loops.
* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Set
current_loops.
(rtl_loop_init, rtl_loop_done): Do not set current_loops.
* tree-ssa-sink.c (execute_sink_code): Use current_loops.
* ifcvt.c (if_convert): Ditto.
* predict.c (predict_loops): Do not clear current_loops.
(tree_estimate_probability): Use current_loops.
(propagate_freq): Receive head of the region to propagate instead of
loop.
(estimate_loops_at_level): Do not use shared to_visit bitmap.
(estimate_loops): New function. Handle case current_loops == NULL.
(estimate_bb_frequencies): Do not allocate tovisit. Use
estimate_loops.
* tree-ssa-loop.c (current_loops): Removed.
(tree_loop_optimizer_init): Do not return loops.
(tree_ssa_loop_init, tree_ssa_loop_done): Do not set current_loops.
* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1,
slpeel_update_phi_nodes_for_guard2, slpeel_tree_peel_loop_to_edge):
Do not update loops explicitly.
* function.h (struct function): Add x_current_loops field.
(current_loops): New macro.
* tree-if-conv.c (combine_blocks): Do not update loops explicitly.
* loop-unroll.c (split_edge_and_insert): New function.
(unroll_loop_runtime_iterations, analyze_insns_in_loop): Do not
use loop_split_edge_with.
* loop-doloop.c (add_test, doloop_modify): Ditto.
* tree-ssa-pre.c (init_pre, fini_pre): Do not set current_loops.
* cfglayout.c (copy_bbs): Do not update loops explicitly.
* lambda-code.c (perfect_nestify): Do not use loop_split_edge_with.
* tree-vect-transform.c (vect_transform_loop): Do not update loops
explicitly.
* cfgloop.c (flow_loops_cfg_dump): Do not dump dfs_order and rc_order.
(flow_loops_free): Do not free dfs_order and rc_order.
(flow_loops_find): Do not set dfs_order and rc_order in loops
structure. Do not call loops and flow info verification.
(add_bb_to_loop, remove_bb_from_loops): Check whether the block
already belongs to some loop.
* cfgloop.h (struct loops): Remove struct cfg.
(current_loops, loop_split_edge_with): Declaration removed.
(loop_optimizer_init, loop_optimizer_finalize): Declaration changed.
* tree-flow.h (loop_commit_inserts, bsi_insert_on_edge_immediate_loop):
Declaration removed.
* Makefile.in (cfghooks.o): Add CFGLOOP_H dependency.
* basic-block.h (split_edge_and_insert): Declare.
* tree-cfg.c (remove_bb): Do not update loops explicitly.
From-SVN: r118931
Francois-Xavier Coudert [Fri, 17 Nov 2006 11:11:25 +0000 (12:11 +0100)]
gfortran.h (gfc_add_intrinsic_modules_path, [...]): New prototypes.
* gfortran.h (gfc_add_intrinsic_modules_path,
gfc_open_intrinsic_module): New prototypes.
(gfc_add_include_path, gfc_open_included_file): Update prototypes.
* lang.opt: Add -fintrinsic-modules-path option.
* module.c (gfc_match_use): Match the Fortran 2003 form of
USE statement.
(gfc_use_module): Also handle intrinsic modules.
* scanner.c (gfc_directorylist): Add use_for_modules for field.
(intrinsic_modules_dirs): New static variable.
(add_path_to_list, gfc_add_intrinsic_modules_path): New functions.
(gfc_add_include_path): Use the new add_path_to_list helper
function.
(gfc_release_include_path): Free memory for intrinsic_modules_dirs.
(open_included_file, gfc_open_intrinsic_module): New functions.
(gfc_open_included_file): Use the new open_included_file
helper function.
* lang-specs.h: Use the new -fintrinsic-modules-path option.
* parse.c (decode_statement): Do not match the required space
after USE here.
* options.c (gfc_handle_option): Handle the new option. Use new
prototype for gfc_add_include_path.
(gfc_post_options): Use new prototype for gfc_add_include_path.
* gfortran.dg/use_1.f90: New test.
* gfortran.dg/use_1.f90: New test.
* gfortran.dg/use_1.f90: New test.
From-SVN: r118930
Paolo Bonzini [Fri, 17 Nov 2006 10:31:47 +0000 (10:31 +0000)]
re PR ada/29802 (wrong directory in makefile for ada and libada when srcdir=.)
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (clean-target-libgcc): Test for gcc Makefile presence.
(unstage): Test for stage_last presence.
PR bootstrap/29802
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Add HOST_SUBDIR in STAGE_PREFIX.
* Makefile.in: Regenerate.
libada:
2006-11-16 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/29802
* configure.ac: Call GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.in: Replace host_subdir.
From-SVN: r118927
Zdenek Dvorak [Fri, 17 Nov 2006 10:29:07 +0000 (11:29 +0100)]
re PR tree-optimization/29801 (ICE in set_lattice_value (tree-ssa-ccp.c))
PR tree-optimization/29801
* tree-ssa-ccp.c (get_symbol_constant_value): New function.
(get_default_value): Use get_symbol_constant_value.
(set_lattice_value): ICE when the value of the constant is
changed.
(visit_assignment): Ignore VDEFs of read-only variables.
* gcc.dg/pr29801.c: New test.
From-SVN: r118926
Zdenek Dvorak [Fri, 17 Nov 2006 09:34:08 +0000 (10:34 +0100)]
tree-vect-transform.c (vect_create_epilog_for_reduction): Fix formating.
2006-11-17 Zdenek Dvorak <dvorakz@suse.cz>
* tree-vect-transform.c (vect_create_epilog_for_reduction): Fix
formating.
(vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
vect_gen_niters_for_prolog_loop): Fold the emited expressions.
From-SVN: r118925
Zdenek Dvorak [Fri, 17 Nov 2006 09:24:01 +0000 (10:24 +0100)]
tree-ssa-alias.c (new_type_alias): Do not use offset of expr to select subvars of var.
* tree-ssa-alias.c (new_type_alias): Do not use offset of expr to
select subvars of var.
From-SVN: r118924
Jakub Jelinek [Fri, 17 Nov 2006 08:57:45 +0000 (09:57 +0100)]
re PR middle-end/29584 (internal compiler error on optimization)
PR middle-end/29584
* tree-ssa-forwprop.c (simplify_switch_expr): Don't
optimize if DEF doesn't have integral type.
* gcc.dg/torture/pr29584.c: New test.
From-SVN: r118921
Uros Bizjak [Fri, 17 Nov 2006 06:50:45 +0000 (07:50 +0100)]
i386.c (ix86_function_sseregparm): Missing comment update.
* config/i386/i386.c (ix86_function_sseregparm): Missing comment update.
From-SVN: r118918
Mike Stump [Fri, 17 Nov 2006 06:48:01 +0000 (06:48 +0000)]
darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on pre-darwin9 system, unless the user asks for it directly.
* config/darwin.h (LINK_COMMAND_SPEC): Don't do dwarf stuff on
pre-darwin9 system, unless the user asks for it directly.
(PREFERRED_DEBUGGING_TYPE): Likewise.
* config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Likewise.
* config.gcc: Add suppport for darwin9.h.
* config/darwin9.h: Add.
* doc/install.texi (Specific): Clarify darwin documentation.
From-SVN: r118917
Richard Earnshaw [Fri, 17 Nov 2006 00:27:18 +0000 (00:27 +0000)]
arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when optimizing for size.
* arm.h (CONSTANT_ALIGNMENT): Don't over-align strings when
optimizing for size.
From-SVN: r118914
Joseph Myers [Fri, 17 Nov 2006 00:25:05 +0000 (00:25 +0000)]
stdarg-2.c, stdarg-4.c: Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.dg/tree-ssa/stdarg-2.c, gcc.dg/tree-ssa/stdarg-4.c:
Condition PowerPC tests for saving FPRs on powerpc_fprs.
* gcc.target/powerpc/compress-float-ppc.c,
gcc.target/powerpc/compress-float-ppc-pic.c: Only test if
powerpc_fprs.
* gcc.target/powerpc/rs6000-power2-2.c: Only test if powerpc_fprs;
do not pass -mhard-float.
From-SVN: r118912
GCC Administrator [Fri, 17 Nov 2006 00:17:33 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118910
Mike Stump [Thu, 16 Nov 2006 22:26:09 +0000 (22:26 +0000)]
* Makefile.in (targhooks.o): Add $(OPTABS_H).
From-SVN: r118904
Dirk Mueller [Thu, 16 Nov 2006 22:07:30 +0000 (22:07 +0000)]
tree-vrp.c (get_value_range): Use XCNEW instead of XNEW and memset.
2006-11-16 Dirk Mueller <dmueller@suse.de>
* tree-vrp.c (get_value_range): Use XCNEW instead
of XNEW and memset.
(insert_range_assertions): Use XCNEWVEC instead
of XNEWVEC and memset.
(vrp_initialize): Same.
(vrp_finalize): Same.
* tree-ssa-ccp.c (ccp_initialize): Same.
* predict.c (tree_bb_level_predictions): Same.
* calls.c (expand_call): Same.
* tree-ssa-copy.c (init_copy_prop): Same.
(fini_copy_prop): Same.
* tree-ssa-alias.c (get_ptr_info): Use GGC_CNEW instead
of GGC_NEW and memset.
* name-lookup.c (begin_scope): Use GGC_CNEW instead of
GGC_NEW and memset.
From-SVN: r118903
Eric Botcazou [Thu, 16 Nov 2006 21:25:16 +0000 (21:25 +0000)]
re PR middle-end/26306 (ICE on volatile array with non-constant bounds)
PR middle-end/26306
* gimplify.c (gimplify_expr): Only force a load for references to
non-BLKmode volatile values.
* doc/implement-c.texi (Qualifiers implementation): Document the
interpretation of what a volatile access is.
* doc/extend.texi (C++ Extensions): Rework same documentation.
From-SVN: r118900
Zdenek Dvorak [Thu, 16 Nov 2006 16:24:31 +0000 (17:24 +0100)]
MAINTAINERS: Add myself and Daniel Berlin as loop optimizer maintainers.
* MAINTAINERS: Add myself and Daniel Berlin as loop optimizer
maintainers.
From-SVN: r118894
Joseph Myers [Thu, 16 Nov 2006 13:36:23 +0000 (13:36 +0000)]
spe.md (frob_di_df_2): Handle non-offsettable memory operand.
* config/rs6000/spe.md (frob_di_df_2): Handle non-offsettable
memory operand.
From-SVN: r118889
Francois-Xavier Coudert [Thu, 16 Nov 2006 12:25:11 +0000 (13:25 +0100)]
re PR fortran/29391 ([4.2/4.1 only] LBOUND and UBOUND are broken)
PR fortran/29391
PR fortran/29489
* simplify.c (simplify_bound): Fix the simplification of
LBOUND/UBOUND intrinsics.
* trans-intrinsic.c (simplify_bound): Fix the logic, and
remove an erroneous assert.
* gcc/testsuite/gfortran.dg/bound_2.f90: Add more checks.
* gcc/testsuite/gfortran.dg/bound_3.f90: New test.
From-SVN: r118888
François-Xavier Coudert [Thu, 16 Nov 2006 11:20:57 +0000 (11:20 +0000)]
trans-decl.c (gfc_get_symbol_decl): Fix formatting.
* trans-decl.c (gfc_get_symbol_decl): Fix formatting.
* io/open.c (new_unit): Format %d expects an int variable.
* runtime/error.c (show_locus): Format %d expects an int variable.
From-SVN: r118887
Richard Earnshaw [Thu, 16 Nov 2006 08:57:50 +0000 (08:57 +0000)]
arm.md (abssi2): Allow Thumb as well.
* arm.md (abssi2): Allow Thumb as well. Use an SImode scratch for
Thumb.
(arm_neg_abssi2): Renamed from neg_abssi2.
(thumb_abssi2, thumb_neg_abssi2): New patterns with splitters.
From-SVN: r118884
Uros Bizjak [Thu, 16 Nov 2006 07:30:18 +0000 (08:30 +0100)]
i386.c (ix86_function_sseregparm): Fix comment: number of arguments passed to local functions in SSE registers is 3.
* config/i386/i386.c (ix86_function_sseregparm): Fix comment:
number of arguments passed to local functions in SSE registers is 3.
* doc/invoke.texi (Function Attributes) [sseregparm]: Correct
number of arguments passed in SSE registers to 3.
From-SVN: r118883
Maxim Kuvyrkov [Thu, 16 Nov 2006 06:57:59 +0000 (06:57 +0000)]
re PR target/29201 (ICE in create_recovery_block, at haifa-sched.c:3692 at -O3)
2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR target/29201
* cfgrtl.c (rtl_delete_block): Move the code for getting last insn of
bb to ...
(get_last_bb_insn): ... new global function.
(basic_block.h): Declare it.
* haifa-sched.c (create_recovery_block): Use it.
2006-11-16 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR target/29201
* gcc.c-torture/compile/pr29201.c: New test for ia64 target.
From-SVN: r118882
H.J. Lu [Thu, 16 Nov 2006 03:50:16 +0000 (03:50 +0000)]
re PR middle-end/29862 (Calling a function with gcc_assert)
2006-11-15 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/29862
* real.c (mpfr_from_real): Call mpfr_set_str before gcc_assert.
From-SVN: r118881
Brooks Moses [Thu, 16 Nov 2006 03:05:28 +0000 (03:05 +0000)]
data.c: Remove trailing periods from error messages.
* data.c: Remove trailing periods from error messages.
* decl.c: Likewise.
* expr.c: Likewise.
* io.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* resolve.c: Likewise.
* symbol.c: Likewise.
* trans-io.c: Likewise.
From-SVN: r118880
Brooks Moses [Thu, 16 Nov 2006 03:03:04 +0000 (03:03 +0000)]
lang.opt: Rearrange entries back into ASCII order.
* lang.opt: Rearrange entries back into ASCII order.
From-SVN: r118879
GCC Administrator [Thu, 16 Nov 2006 00:17:49 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r118876
Steven G. Kargl [Wed, 15 Nov 2006 21:32:31 +0000 (21:32 +0000)]
import3.f90: Fix error message.
2006-11-15 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/import3.f90: Fix error message.
From-SVN: r118868
Paul Brook [Wed, 15 Nov 2006 18:12:17 +0000 (18:12 +0000)]
unwind-arm.c (_Unwind_GetDataRelBase, [...]): Move from here ...
2006-11-15 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/unwind-arm.c (_Unwind_GetDataRelBase,
_Unwind_GetTextRelBase): Move from here ...
* config/arm/pr-support.c (_Unwind_GetDataRelBase,
_Unwind_GetTextRelBase): ... To here.
From-SVN: r118864
Bernd Schmidt [Wed, 15 Nov 2006 17:54:55 +0000 (17:54 +0000)]
tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory addresses we generate for testing are aligned.
* tree-ssa-loop-ivopts.c (get_address_cost): Make sure memory
addresses we generate for testing are aligned.
From-SVN: r118863
Andrew Pinski [Wed, 15 Nov 2006 17:04:56 +0000 (17:04 +0000)]
re PR tree-optimization/29788 (ICE in var_ann, at tree-flow-inline.h:130)
2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/29788
* fold-const.c (fold_indirect_ref_1): Fold *&CONST_DECL down
to what is the const decl is a place holder for.
2006-11-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR tree-opt/29788
* gfortran.fortran-torture/compile/inline_1.f90:
New testcase.
From-SVN: r118861
Uros Bizjak [Wed, 15 Nov 2006 16:21:58 +0000 (17:21 +0100)]
i386.opt: New target option -mx87regparm.
* config/i386/i386.opt: New target option -mx87regparm.
* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
float_in_x87: Add new variables. mmx_words, sse_words: Remove.
(X87_REGPARM_MAX): Define.
* config/i386/i386.c (override_options): Error out for
-mx87regparm but no 80387 support.
(ix86_attribute_table): Add x87regparm.
(ix86_handle_cconv_attribute): Update comments for x87regparm.
(ix86_comp_type_attributes): Check for mismatched x87regparm types.
(ix86_function_x87regparm): New function.
(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
point registers.
(init_cumulative_args): Initialize x87_nregs and float_in_x87
variables.
(function_arg_advance): Process x87_nregs and x87_regno when
floating point argument is to be passed in 80387 register.
(function_arg): Pass XFmode arguments in 80387 registers for local
functions. Pass SFmode and DFmode arguments to local functions
in 80387 registers when flag_unsafe_math_optimizations is set.
* reg-stack.c (convert_regs_entry): Disable NaN load for
stack registers that are used for argument passing.
* doc/extend.texi: Document x87regparm function attribute.
* doc/invoke.texi: Document -mx87regparm.
testsuite/ChangeLog:
* gcc.target/i386/x87regparm-1.c: New test.
* gcc.target/i386/x87regparm-2.c: New test.
* gcc.target/i386/x87regparm-3.c: New test.
* gcc.target/i386/x87regparm-4.c: New test.
From-SVN: r118859
Tobias Burnus [Wed, 15 Nov 2006 16:16:19 +0000 (17:16 +0100)]
parse.c (parse_contained): Fix indention of one line.
2006-11-15 Tobias Burnus <burnus@net-b.de>
* parse.c (parse_contained): Fix indention
of one line.
From-SVN: r118858
Tobias Burnus [Wed, 15 Nov 2006 15:46:42 +0000 (16:46 +0100)]
re PR fortran/27546 (IMPORT is broken)
fortran/
2006-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* decl.c (gfc_match_import,variable_decl):
Add IMPORT support.
(gfc_match_kind_spec): Fix typo in gfc_error.
* gfortran.h (gfc_namespace, gfc_statement):
Add IMPORT support.
* parse.c (decode_statement,gfc_ascii_statement,
verify_st_order): Add IMPORT support.
* match.h: Add gfc_match_import.
* gfortran.texi: Add IMPORT to the supported
Fortran 2003 features.
testsuite/
2006-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/27546
* gfortran.dg/import.f90: New test.
* gfortran.dg/import2.f90: New test.
* gfortran.dg/import3.f90: New test.
From-SVN: r118857
Bernd Schmidt [Wed, 15 Nov 2006 14:29:10 +0000 (14:29 +0000)]
tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
* tree-flow.h (multiplier_allowed_in_address_p): Adjust prototype.
* tree-ssa-loop-ivopts.c (multiplier_allowed_in_address_p): New
arg MODE; all callers changed. Use it to determine validity per
machine mode instead of using Pmode for all memory references.
(get_address_cost): Likewise add and use new arg MEM_MODE.
From-SVN: r118856
Rask Ingemann Lambertsen [Wed, 15 Nov 2006 13:16:41 +0000 (14:16 +0100)]
combine.c (likely_spilled_retval_1): Fix masking operation.
2006-11-15 Rask Ingemann Lambertsen <rask@sygehus.dk>
J"orn Rennecke <joern.rennecke@st.com>
* combine.c (likely_spilled_retval_1): Fix masking operation.
(likely_spilled_retval_p): Use proper pattern for call to
likely_spilled_retval_1.
Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>
From-SVN: r118855
Bernd Schmidt [Wed, 15 Nov 2006 12:27:32 +0000 (12:27 +0000)]
bfin.c (legitimize_pic_address): Lose dead code that tests for CONSTANT_POOL_ADDRESS_P.
* config/bfin/bfin.c (legitimize_pic_address): Lose dead code
that tests for CONSTANT_POOL_ADDRESS_P.
From-SVN: r118854
Bernd Schmidt [Wed, 15 Nov 2006 12:23:09 +0000 (12:23 +0000)]
tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
* tree-ssa-loop-ivopts.c (determine_iv_costs): Fix formatting.
From-SVN: r118853
Tobias Burnus [Wed, 15 Nov 2006 10:13:16 +0000 (11:13 +0100)]
re PR fortran/27588 (-fbounds-check should catch substring out of range accesses)
fortran/
2006-11-15 Tobias Burnus <burnus@net-b.de>
Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/27588
* trans-expr.c (gfc_conv_substring): Add bounds checking.
(gfc_conv_variable, gfc_conv_substring_expr): Pass more
arguments to gfc_conv_substring.
testsuite/
2006-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/27588
* gfortran.dg/char_bounds_check_fail_1.f90: New test.
Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r118852
Tobias Burnus [Wed, 15 Nov 2006 10:02:21 +0000 (11:02 +0100)]
re PR fortran/29806 (Error if CONTAINS is present without SUBPROGRAM)
fortran/
2006-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/29806
* parse.c (parse_contained): Check for empty contains statement.
testsuite/
2006-11-15 Tobias Burnus <burnus@net-b.de>
PR fortran/29806
* gfortran.dg/contains.f90: New test.
* gfortran.dg/derived_function_interface_1.f90: Add a dg-warning.
From-SVN: r118851
Jakub Jelinek [Wed, 15 Nov 2006 09:35:34 +0000 (10:35 +0100)]
re PR tree-optimization/29581 (Latent bug in 4.1/4.2/4.3 lambda-code.c)
PR tree-optimization/29581
* lambda-code.c (replace_uses_equiv_to_x_with_y): Add YINIT,
REPLACEMENTS, FIRSTBSI arguments. If initial condition or
type is different between Y and USE, create a temporary
variable, initialize it at the beginning of the body bb
and use it as replacement instead of Y.
* gcc.dg/pr29581-1.c: New test.
* gcc.dg/pr29581-2.c: New test.
* gcc.dg/pr29581-3.c: New test.
* gcc.dg/pr29581-4.c: New test.
* gfortran.dg/pr29581.f90: New test.
From-SVN: r118848
Paolo Bonzini [Wed, 15 Nov 2006 08:07:03 +0000 (08:07 +0000)]
re PR tree-optimization/29753 (Volatile semantics ignored in some cases)
2006-11-15 Paolo Bonzini <bonzini@gnu.org>
PR middle-end/29753
* gimplify.c (fold_indirect_ref_rhs): Use
STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS.
From-SVN: r118845
Bud Davis [Wed, 15 Nov 2006 05:10:22 +0000 (05:10 +0000)]
re PR fortran/28974 (Extremely slow compilation of enumerated DATA statements.)
2006-11-15 Bud Davis <bdavis9659@sbcglobal.net>
PR fortran/28974
* gfortran.h (gfc_expr): Add element which holds a splay-tree
for the exclusive purpose of quick access to a constructor by
offset.
* data.c (find_con_by_offset): Use the splay tree for the search.
(gfc_assign_data_value): Use the splay tree.
(gfc_assign_data_value_range): ditto.
* expr.c (gfc_get_expr): Initialize new element to null.
(gfc_free_expr): Delete splay tree when deleting gfc_expr.
From-SVN: r118844
Brooks Moses [Wed, 15 Nov 2006 04:00:35 +0000 (04:00 +0000)]
re PR fortran/29702 (RFE: Column number in error messages.)
PR fortran/29702
* fortran/error.c (show_loci): Move column-offset calculation to
show_locus.
(show_locus): Remove blank lines before "Included in"
lines, clean up code, calculate column-offsets, print
column number is error-header lines as appropriate.
(error_integer): (new function) Print integer to error
buffer.
(error_print): Use error_integer, avoid possible buffer
overflows from buggy error formats.
* testsuite/lib/gfortran-dg.exp (gfortran-dg-test): Ignore column
numbers in error message headers.
From-SVN: r118843
Brooks Moses [Wed, 15 Nov 2006 03:52:03 +0000 (03:52 +0000)]
gfortran.h (GFC_MAX_LINE): Remove constant definition.
* gfortran.h (GFC_MAX_LINE): Remove constant definition.
(gfc_option_t): Clarify comments.
* options.c: Set default line length limits to actual default
values, rather than flag values.
* scanner.c: Eliminate checking and handling of the
fixed/free_line_length flag values.
From-SVN: r118842
Brooks Moses [Wed, 15 Nov 2006 03:49:21 +0000 (03:49 +0000)]
lang.opt: Remove -fno-backend option.
* lang.opt: Remove -fno-backend option.
* gfortran.h (gfc_option_t): Remove flag_no_backend.
* options.c (gfc_init_options): Remove flag_no_backend.
(gfc_handle_option): Remove -fno-backend option handler.
* parse.c (gfc_parse_file): Remove references to
gfc_option.flag_no_backend.
From-SVN: r118841