Francois-Xavier Coudert [Thu, 20 Sep 2007 22:03:22 +0000 (22:03 +0000)]
re PR fortran/33221 (Cannot declare variables of TYPE without components)
PR fortran/33221
* gfortran.h (symbol_attribute): Add zero_comp field.
* symbol.c (gfc_use_derived): Handle case of emtpy derived types.
* decl.c (gfc_match_data_decl): Likewise.
(gfc_match_derived_decl): Likewise.
* module.c (ab_attribute, attr_bits): Add AB_ZERO_COMP member.
(mio_symbol_attribute): Write and read AB_ZERO_COMP.
* resolve.c (resolve_symbol): Handle case of emtpy derived types.
* parse.c (parse_derived): Likewise.
* gfortran.dg/used_types_18.f90: Declare variable of empty
derived type.
From-SVN: r128633
Francois-Xavier Coudert [Thu, 20 Sep 2007 21:58:23 +0000 (21:58 +0000)]
re PR fortran/33288 (ICE (segfault) in mpfr_cmp2 when evaluating array initializers containing addition)
PR fortran/33288
* arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
reduce_binary_aa): Call ourselves recursively if an element of
the constructor is itself a constant array.
* gfortran.dg/array_constructor_19.f90: New test.
From-SVN: r128632
Jakub Jelinek [Thu, 20 Sep 2007 21:27:39 +0000 (23:27 +0200)]
re PR debug/33316 (ICE on valid variable-length automatic array in const struct)
PR debug/33316
* dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
DECL_NAME.
* dbxout.c (dbxout_type): Likewise.
* gcc.dg/debug/pr33316.c: New test.
From-SVN: r128631
Jakub Jelinek [Thu, 20 Sep 2007 21:21:03 +0000 (23:21 +0200)]
re PR c++/33496 (ICE with sizeof for invalid argument pack)
PR c++/33496
* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Handle error_mark_node
returned from tsubst_pack_expansion.
(tsubst_copy_and_build) <case SIZEOF_EXPR>: Likewise.
(tsubst_copy_and_build) <case CONSTRUCTOR>: Likewise.
* g++.dg/cpp0x/variadic76.C: New test.
* g++.dg/cpp0x/variadic77.C: New test.
* g++.dg/cpp0x/variadic78.C: New test.
From-SVN: r128630
Jakub Jelinek [Thu, 20 Sep 2007 21:19:36 +0000 (23:19 +0200)]
re PR c/33238 (ICE on statement expression using variable-sized structure in tree_low_cst, at tree.c:4502)
PR c/33238
PR c/27301
* gimplify.c (gimplify_vla_decl): New function.
(gimplify_decl_expr): Move VLA decl handling to gimplify_vla_decl.
Call it.
(gimplify_target_expr): Handle variable length TARGET_EXPRs.
* gcc.c-torture/execute/
20070919-1.c: New test.
* gcc.dg/pr33238.c: New test.
* gcc.dg/pr27301.c: New test.
From-SVN: r128629
Richard Sandiford [Thu, 20 Sep 2007 20:17:45 +0000 (20:17 +0000)]
target-supports.exp (check_effective_target_mips64): New procedure.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_mips64): New
procedure.
* gcc.dg/lower-subreg-1.c: Require !mips64.
* gcc.dg/sibcall-3.c (ATTR): New macro.
(recurser_void1, recurser_void2): Use it.
* gcc.dg/sibcall-4.c: As for gcc.dg/sibcall-3.c.
* gcc.dg/tree-ssa/ssa-fre-3.c: Require !mips64.
From-SVN: r128626
Richard Sandiford [Thu, 20 Sep 2007 20:01:34 +0000 (20:01 +0000)]
configure.ac (mipsisa*-*-elfoabi*): New stanza.
* configure.ac (mipsisa*-*-elfoabi*): New stanza.
* configure: Regenerate.
config/
* mt-mips-elfoabi: New file.
gcc/
* doc/invoke.texi (-minterlink-mips16): Document.
* config/mips/mips.opt (minterlink-mips16): New option.
* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
-minterlink-mips16
From-SVN: r128625
Tobias Schlüter [Thu, 20 Sep 2007 18:07:04 +0000 (20:07 +0200)]
io.c (resolve_tag_format): New function using code split out and simplified from ...
fortran/
* io.c (resolve_tag_format): New function using code split out
and simplified from ...
(resolve_tag): ... this function. Simplify logic. Unify
IOSTAT, IOLENGTH and SIZE handling.
testsuite/
* gfortran.dg/g77/
19981216-0.f: Remove dg-warning annotation.
* gfortran.dg/io_constraints_1.f90: Make a -std=f95 test. Add
warning annotation.
* gfortran.dg/iostat_3.f90: Make a -std=f95 test.
From-SVN: r128623
Joseph Myers [Thu, 20 Sep 2007 15:55:33 +0000 (16:55 +0100)]
extend.texi (Attribute Syntax): Remove old speculative future direction.
* doc/extend.texi (Attribute Syntax): Remove old speculative
future direction.
From-SVN: r128622
Jason Merrill [Thu, 20 Sep 2007 14:13:00 +0000 (10:13 -0400)]
re PR c++/7586 (Incorrect handling of attributes in template codes)
PR c++/7586
* pt.c (tsubst): Handle typedefs by looking for the specialization.
(retrieve_specialization): Only tagged types use
DECL_TEMPLATE_INSTANTIATIONS.
(instantiate_class_template): Push nested classes too.
(tsubst_decl) [TYPE_DECL]: Only check for canonical decl for
tagged types.
* cp-tree.h (MAYBE_TAGGED_TYPE_P): New macro.
* init.c (is_aggr_type): Remove redundant tests.
* class.c (push_nested_class): Use CLASS_TYPE_P.
From-SVN: r128621
Christopher D. Rickett [Thu, 20 Sep 2007 11:50:39 +0000 (11:50 +0000)]
re PR fortran/33497 (Bind(C): C_LOC rejects interoperable arguments)
2007-09-20 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33497
* resolve.c (gfc_iso_c_func_interface): Use information from
subcomponent if applicable.
2007-09-20 Christopher D. Rickett <crickett@lanl.gov>
PR fortran/33497
* gfortran.dg/c_loc_tests_11.f03: New test case.
From-SVN: r128620
Tobias Burnus [Thu, 20 Sep 2007 11:28:12 +0000 (13:28 +0200)]
re PR fortran/33325 (Document intrinsic Fortran modules)
2007-09-20 Tobias Burnus <burnus@net-b.de>
PR fortran/33325
* intrinsic.text: Add documentation of the intrinsic modules.
* gfortran.texi: Link to intrinsic-modules section and to
the GOMP manual.
From-SVN: r128619
Mark Shinwell [Thu, 20 Sep 2007 11:01:18 +0000 (11:01 +0000)]
combine.c: Include cgraph.h.
gcc/
* combine.c: Include cgraph.h.
(setup_incoming_promotions): Rework to allow more aggressive
elimination of sign extensions when all call sites of the
current function are known to lie within the current unit.
From-SVN: r128618
Paul Jarc [Thu, 20 Sep 2007 10:20:05 +0000 (10:20 +0000)]
re PR bootstrap/31906 ("-Xcompiler" is inserted after "-Xlinker" when building libstdc++)
2007-09-20 Paul Jarc <prj-bugzilla-gcc@multivac.cwru.edu>
PR bootstrap/31906
* libtool-ldflags: Don't prefix arguments with -Xcompiler if
they're already prefixed.
From-SVN: r128617
Paolo Carlini [Thu, 20 Sep 2007 09:49:13 +0000 (09:49 +0000)]
re PR c++/33459 (ICE on reference member in union)
cp/
2007-09-20 Paolo Carlini <pcarlini@suse.de>
PR c++/33459
* init.c (build_zero_init): If, recursively, build_zero_init
returns a NULL_TREE, do not append it to the VEC of constructors.
testsuite/
2007-09-20 Paolo Carlini <pcarlini@suse.de>
PR c++/33459
* g++.dg/init/ref14.C: New.
From-SVN: r128615
Richard Sandiford [Thu, 20 Sep 2007 07:43:49 +0000 (07:43 +0000)]
dse.c (find_shift_sequence): No-op rework of control flow.
gcc/
* dse.c (find_shift_sequence): No-op rework of control flow.
From-SVN: r128614
Benjamin Kosnik [Thu, 20 Sep 2007 00:58:02 +0000 (00:58 +0000)]
configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Move libgomp before libstdc++.
2007-09-19 Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Move libgomp before
libstdc++.
* Makefile.def: Add libgomp config as a maybe dependency for libstdc++.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r128613
GCC Administrator [Thu, 20 Sep 2007 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128611
Richard Sandiford [Wed, 19 Sep 2007 22:21:57 +0000 (22:21 +0000)]
mips.c (build_mips16_call_stub): Tidy.
gcc/
* config/mips/mips.c (build_mips16_call_stub): Tidy. Fix second
GPR for DCmode on 64-bit targets. Remove redundant fallback.
From-SVN: r128608
Andrew Pinski [Wed, 19 Sep 2007 22:16:22 +0000 (22:16 +0000)]
cfgexpand.c (dump_stack_var_partition): Use the correct index for the offset.
2007-09-19 Andrew Pinski <andrew_pinski@playstation.sony.com>
* cfgexpand.c (dump_stack_var_partition): Use the correct
index for the offset.
From-SVN: r128607
Michael Meissner [Wed, 19 Sep 2007 21:41:08 +0000 (21:41 +0000)]
Eliminate trailing whitespace
From-SVN: r128605
Joseph Myers [Wed, 19 Sep 2007 17:13:33 +0000 (18:13 +0100)]
* config/mips/sde.h: Switch to GPLv3.
From-SVN: r128603
Eric Botcazou [Wed, 19 Sep 2007 15:23:01 +0000 (15:23 +0000)]
tree-sra.c (decide_block_copy): Decide if there are groups.
* tree-sra.c (decide_block_copy): Decide if there are groups.
From-SVN: r128602
Roman Zippel [Wed, 19 Sep 2007 15:20:59 +0000 (15:20 +0000)]
m68k.c (output_move_himode): Remove jump table recognition.
* config/m68k/m68k.c (output_move_himode): Remove jump table
recognition.
config/m68k/m68k.md (lea): Likewise.
* config/m68k/m68k.c (print_operand_address): Use simple pc
relative addressing.
From-SVN: r128601
Bernd Schmidt [Wed, 19 Sep 2007 15:13:18 +0000 (15:13 +0000)]
bfin.md (define_asm_attributes): New.
* config/bfin/bfin.md (define_asm_attributes): New.
From-SVN: r128600
Bernd Schmidt [Wed, 19 Sep 2007 15:03:07 +0000 (15:03 +0000)]
tm.texi (IS_ASM_LOGICAL_LINE_SEPARATOR): Document new argument.
* doc/tm.texi (IS_ASM_LOGICAL_LINE_SEPARATOR): Document new argument.
* final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide two-argument default
definition.
(asm_insn_count): Pass template as second argument to it.
* config/avr/avr.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
* config/pa/pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
* config/stormy16/stormy16.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
* config/cris/cris.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
* config/sh/sh.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
(sh_insn_length_adjustment): Pass template as second argument to it.
* config/bfin/bfin.h (IS_ASM_LOGICAL_LINE_SEPARATOR): New macro.
From-SVN: r128599
Nick Clifton [Wed, 19 Sep 2007 11:28:48 +0000 (11:28 +0000)]
* gcc.dg/cpp/assert4.c: Fix expected h8300 preprocessor define.
From-SVN: r128598
Jie Zhang [Wed, 19 Sep 2007 03:33:08 +0000 (03:33 +0000)]
config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h to tm_file.
* config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
to tm_file.
* config/bfin/print-sysroot-suffix.sh: New.
* config/bfin/t-bfin-elf (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
* config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
* config/bfin/t-bfin-linux (EXTRA_PARTS): Remove.
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
MULTILIB_EXCEPTIONS): Redefine with new multilibs.
(linux-sysroot-suffix.h): New target.
* config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask.
(mspecld-anomaly): Likewise.
* config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from
(enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525,
BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542,
BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549.
(bfin_si_revision): Declare.
(bfin_workarounds): Declare.
(WA_SPECULATIVE_LOADS): Define.
(ENABLE_WA_SPECULATIVE_LOADS): Define.
(WA_SPECULATIVE_SYNCS): Define.
(ENABLE_WA_SPECULATIVE_SYNCS): Define.
* config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o.
(LIB_SPEC): Add %s to the linker scripts.
Use proper linker script for bf522, bf525, bf527,
bf538, bf539, bf542, bf544, bf548, and bf549.
* config/bfin/bfin.c (bfin_si_revision): Define.
(bfin_workarounds): Define.
(struct bfin_cpu): New.
(bfin_cpus): New.
(bfin_handle_option): Handle silicon revision part of -mcpu option.
(override_options): Set bfin_workarounds.
(length_for_loop): Replace TARGET_CSYNC_ANOMALY with
ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with
ENABLE_WA_SPECULATIVE_LOADS.
(bfin_reorg): Likewise.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
macros for bf522, bf525, bf527, bf538, bf539,
bf542, bf544, bf548, and bf549.
Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed.
Don't define __ID_SHARED_LIB__ when -msep-data.
(TARGET_DEFAULT): Define as 0.
(DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option.
* doc/invoke.texi (Blackfin Options): Document silicon
revision part of -mcpu option and it now accepts bf522, bf525,
bf527, bf538, bf539, bf542, bf544, bf548, and bf549.
Neither -mspecld-anomaly nor -mcsync-anomaly is enabled anymore.
testsuite/
* gcc.target/bfin/bfin.exp: New.
* gcc.target/bfin/{workarounds-any.c, workarounds-none.c,
workarounds-1.c, workarounds-2.c, workarounds-3.c, workarounds-4.c,
mcpu-bf522.c, mcpu-bf525.c, mcpu-bf527.c,
mcpu-bf531.c, mcpu-bf532.c, mcpu-bf533.c,
mcpu-bf534.c, mcpu-bf536.c, mcpu-bf537.c,
mcpu-bf538.c, mcpu-bf539.c, mcpu-bf542.c,
mcpu-bf544.c, mcpu-bf548.c, mcpu-bf549.c,
mcpu-bf561.c, mcpu-default.c}: New tests.
From-SVN: r128597
Kaveh R. Ghazi [Wed, 19 Sep 2007 02:58:24 +0000 (02:58 +0000)]
alias.c (memory_modified_1): Deconstify.
* alias.c (memory_modified_1): Deconstify.
(memory_modified_in_insn_p): Don't use const_note_stores.
* rtl.h (const_note_stores): Delete.
* rtlanal.c (const_note_stores): Likewise.
From-SVN: r128596
Sandra Loosemore [Wed, 19 Sep 2007 02:35:29 +0000 (22:35 -0400)]
Restore detection of unsupported TLS.
2007-09-18 Sandra Loosemore <sandra@codesourcery.com>
gcc/testsuite
Restore detection of unsupported TLS.
Revert this patch:
2007-02-10 Richard Henderson <rth@redhat.com>
* lib/target-supports.exp (check_effective_target_tls): Redefine
to mean non-emulated tls.
* gcc.dg/tls/alias-1.c: Remove tls requirement.
* gcc.dg/tls/asm-1.c, gcc.dg/tls/debug-1.c, gcc.dg/tls/diag-1.c,
gcc.dg/tls/diag-2.c, gcc.dg/tls/diag-3.c, gcc.dg/tls/diag-4.c,
gcc.dg/tls/diag-5.c, gcc.dg/tls/init-1.c, gcc.dg/tls/nonpic-1.c,
gcc.dg/tls/opt-10.c, gcc.dg/tls/opt-5.c, gcc.dg/tls/opt-6.c,
gcc.dg/tls/opt-8.c, gcc.dg/tls/opt-9.c, gcc.dg/tls/pic-1.c,
gcc.dg/tls/struct-1.c, gcc.dg/tls/trivial.c: Likewise.
And then:
* lib/target-supports.exp (check_effective_target_tls): Use
stronger test for compiler support for TLS.
(check_effective_target_tls_native): New, to test for non-emulated
TLS support.
* g++.dg/gomp/clause-3.C: Use dg-require-effective-target tls_native
instead of dg-require-effective-target tls.
* g++.dg/gomp/copyin-1.C: Likewise.
* g++.dg/gomp/sharing-1.C: Likewise.
* g++.dg/gomp/tls-1.C: Likewise.
* g++.dg/gomp/tls-2.C: Likewise.
* g++.dg/gomp/tls-3.C: Likewise.
* g++.dg/tls/diag-1.C: Likewise.
* g++.dg/tls/diag-2.C: Likewise.
* g++.dg/tls/diag-3.C: Likewise.
* g++.dg/tls/diag-4.C: Likewise.
* g++.dg/tls/diag-5.C: Likewise.
* g++.dg/tls/init-1.C: Likewise.
* g++.dg/tls/init-2.C: Likewise.
* g++.dg/tls/trivial.C: Likewise.
* gcc.dg/gomp/appendix-a/a.22.1.c: Likewise.
* gcc.dg/gomp/appendix-a/a.22.2.c: Likewise.
* gcc.dg/gomp/appendix-a/a.24.1.c: Likewise.
* gcc.dg/gomp/appendix-a/a.32.1.c: Likewise.
* gcc.dg/gomp/appendix-a/a.33.1.c: Likewise.
* gcc.dg/gomp/clause-1.c: Likewise.
* gcc.dg/gomp/copyin-1.c: Likewise.
* gcc.dg/gomp/sharing-1.c: Likewise.
* gcc.dg/gomp/tls-1.c: Likewise.
* gcc.dg/gomp/tls-2.c: Likewise.
* gcc.dg/tls/alpha-1.c: Likewise.
* gcc.dg/tls/opt-1.c: Likewise.
* gcc.dg/tls/opt-13.c: Likewise.
* gcc.dg/tls/opt-14.c: Likewise.
* gcc.dg/tls/opt-2.c: Likewise.
* gcc.dg/tls/opt-3.c: Likewise.
* gcc.dg/tls/opt-4.c: Likewise.
* gcc.dg/tls/opt-7.c: Likewise.
* gcc.dg/tls/section-1.c: Likewise.
* gfortran.dg/gomp/appendix-a/a.22.1.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.22.4.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.22.5.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.22.6.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.24.1.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.32.1.f90: Likewise.
* gfortran.dg/gomp/appendix-a/a.33.1.f90: Likewise.
* gfortran.dg/gomp/crayptr2.f90: Likewise.
* gfortran.dg/gomp/fixed-1.f: Likewise.
* gfortran.dg/gomp/free-1.f90: Likewise.
* gfortran.dg/gomp/omp_threadprivate1.f90: Likewise.
* gfortran.dg/gomp/omp_threadprivate2.f90: Likewise.
* gfortran.dg/gomp/reduction1.f90: Likewise.
* gfortran.dg/gomp/sharing-1.f90: Likewise.
From-SVN: r128595
GCC Administrator [Wed, 19 Sep 2007 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128593
Jason Merrill [Tue, 18 Sep 2007 22:50:03 +0000 (18:50 -0400)]
re PR c++/17743 (dependent expressions in attributes)
PR c++/17743
* pt.c (apply_late_template_attributes): Set processing_template_decl.
(tsubst_decl) [TYPE_DECL]: Preserve naming typedef, pass
ATTR_FLAG_TYPE_IN_PLACE.
(tsubst): Do unqualified lookup to find typedefs from current class.
[ARRAY_TYPE]: Propagate alignment info.
* decl2.c (is_late_template_attribute): Only defer handling of
attribute aligned if the expression is dependent.
(save_template_attributes): If we're deferring any attributes,
make this a naming typedef.
From-SVN: r128590
Benjamin Kosnik [Tue, 18 Sep 2007 22:49:24 +0000 (22:49 +0000)]
re PR libstdc++/32819 (pb_ds/hash_based_containers.html errors)
2007-09-17 Benjamin Kosnik <bkoz@redhat.com>
Chalathip Thumkanon <chalathip@gmail.com>
PR libstdc++/32819
PR libstdc++/32822
* docs/html/ext/pb_ds/hash_based_containers.html: Correct.
From-SVN: r128589
Benjamin Kosnik [Tue, 18 Sep 2007 22:48:29 +0000 (22:48 +0000)]
hash_based_containers.html: Correct.
2007-09-17 Benjamin Kosnik <bkoz@redhat.com>
Chalathip Thumkanon <chalathip@gmail.com>
* docs/html/ext/pb_ds/hash_based_containers.html: Correct.
Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com>
From-SVN: r128588
Francois-Xavier Coudert [Tue, 18 Sep 2007 21:25:40 +0000 (21:25 +0000)]
re PR fortran/31119 (-fbounds-check: Check for presence of optional arguments before bound checking)
PR fortran/31119
* trans-array.c (gfc_conv_ss_startstride): Only perform bounds
checking for optional args when they are present.
* gfortran.dg/bounds_check_9.f90: New test.
* gfortran.dg/bounds_check_fail_2.f90: New test.
From-SVN: r128587
Richard Sandiford [Tue, 18 Sep 2007 21:23:03 +0000 (21:23 +0000)]
dse.c (find_shift_sequence): Temporarily revert to forbidding word shifts.
gcc/
* dse.c (find_shift_sequence): Temporarily revert to forbidding
word shifts.
From-SVN: r128586
Paolo Carlini [Tue, 18 Sep 2007 19:42:42 +0000 (19:42 +0000)]
PR c++/33462 (again)
cp/
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33462 (again)
* cxx-pretty-print.c (pp_cxx_va_arg_expression): Print
va_arg instead of __builtin_va_arg.
testsuite/
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33462 (again)
* g++.dg/ext/va-arg1.C: Adjust.
From-SVN: r128585
Paolo Carlini [Tue, 18 Sep 2007 18:05:40 +0000 (18:05 +0000)]
re PR c++/33462 (Broken diagnostic: 'va_arg_expr' not supported by dump_expr)
/cp
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33462
* cxx-pretty-print.c (pp_cxx_va_arg_expression): Add.
(pp_cxx_primary_expression): Use it.
* cxx-pretty-print.h (pp_cxx_va_arg_expression): Declare.
* error.c (dump_expr): Use it.
/testsuite
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33462
* g++.dg/ext/va-arg1.C: New.
From-SVN: r128584
Tobias Burnus [Tue, 18 Sep 2007 17:09:47 +0000 (19:09 +0200)]
elemental_optional_args_1.f90: Fix test.
2007-09-18 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/elemental_optional_args_1.f90: Fix test.
From-SVN: r128583
Paolo Carlini [Tue, 18 Sep 2007 15:38:02 +0000 (15:38 +0000)]
re PR c++/33463 (Broken diagnostic: 'typeid_expr' not supported by dump_expr)
/cp
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33463
* cxx-pretty-print.c (pp_cxx_postfix_expression): Split
out case TYPEID_EXPR to...
(pp_cxx_typeid_expression): ... here; use pp_cxx_left_paren
and pp_cxx_right_paren.
* cxx-pretty-print.h (pp_cxx_typeid_expression): Declare.
* error.c (dump_expr): Use it.
/testsuite
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33463
* g++.dg/rtti/typeid6.C: New.
From-SVN: r128582
Benjamin Kosnik [Tue, 18 Sep 2007 15:25:39 +0000 (15:25 +0000)]
configure.host: Set atomic_flags on i486.
2007-09-17 Benjamin Kosnik <bkoz@redhat.com>
* configure.host: Set atomic_flags on i486.
* include/Makefile.am: Remove parallel-mode pch.
* include/Makefile.in: Regenerate.
* testsuite/lib/libstdc++.exp: Set ld_library_flags for libgomp if
present.
* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Comment.
* configure: Regenerate.
From-SVN: r128579
Paolo Carlini [Tue, 18 Sep 2007 14:35:42 +0000 (14:35 +0000)]
re PR c++/33464 (Broken diagnostic: 'trait_expr' not supported by dump_expr)
/cp
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33464
* cxx-pretty-print.c (pp_cxx_trait_expression): Add.
(pp_cxx_primary_expression): Use it.
* cxx-pretty-print.h (pp_cxx_trait_expression): Declare.
* error.c (dump_expr): Use it.
/testsuite
2007-09-18 Paolo Carlini <pcarlini@suse.de>
PR c++/33464
* g++.dg/ext/is_class_error.C: Rename to is_class_error1.C.
* g++.dg/ext/is_class_error2.C: New.
From-SVN: r128578
Rask Ingemann Lambertsen [Tue, 18 Sep 2007 13:24:44 +0000 (15:24 +0200)]
re PR target/33388 (fr30: ICE: RTL check: expected code 'reg', have 'subreg' in rhs_regno, at rtl.h:983)
PR target/33388
PR target/33397
* config/fr30/fr30.md (addsi3): Check REG_P() before calling REGNO().
(addsi_small_int): Likewise.
(addsi_big_int): Use rtx_equal_p() instead of REGNO() comparison.
(one_cmplsi2): Likewise.
(negsi2): Delete.
(enter_func): Expand insn using hard_frame_pointer_rtx and
stack_pointer_rtx.
(*enter_func): New.
* config/fr30/fr30.c (fr30_expand_prologue): Check for
hard_frame_pointer_rtx instead of using REGNO() check.
Properly sign extend GEN_INT() argument.
From-SVN: r128577
Roman Zippel [Tue, 18 Sep 2007 12:11:49 +0000 (12:11 +0000)]
m68k.c (override_options): Remove USE_GAS, use %.
* config/m68k/m68k.c (override_options): Remove USE_GAS,
use %. syntax.
(output_dbcc_and_branch, output_scc_di): Replace all jbcc
alternatives with just jcc.
* config/m68k/m68k.md (addsi_lshrsi_31, beq0_di, bne0_di,
bge0_di, blt0_di, bgtu, bltu, bgeu, bleu, bgtu_rev,
bltu_rev, bgeu_rev, bleu_rev, jump, dbne_hi, dbne_si,
dbge_hi, dbge_si): Likewise.
From-SVN: r128576
Roman Zippel [Tue, 18 Sep 2007 12:08:00 +0000 (12:08 +0000)]
m68k.md (beq, [...]): Replace all fbcc with fjcc.
* config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered,
bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev,
bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev,
bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev,
bunlt_rev, bltgt_rev): Replace all fbcc with fjcc.
From-SVN: r128575
Maxim Kuvyrkov [Tue, 18 Sep 2007 11:40:04 +0000 (11:40 +0000)]
m68k-devices.def (51qe): New device.
* config/m68k/m68k-devices.def (51qe): New device.
* config/m68k/m68k.c (FL_FOR_isa_c): Remove division unit. Add it
to all uses of FL_FOR_isa_c for compatibility.
(all_microarchs): Add cfv1 microarchitecture.
(m68k_handle_option): Handle m51qe option.
* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Handle 51QE.
(TUNE_CFV1): New macro.
(enum uarch_type): Add ucfv1.
* doc/invoke.texi: Document 51qe device and cfv1 microarchitecture.
From-SVN: r128574
Richard Guenther [Tue, 18 Sep 2007 11:22:47 +0000 (11:22 +0000)]
re PR c++/31863 (g++-4.1: out of memory with -O1/-O2)
2007-09-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/31863
* tree-ssa-structalias.c (create_variable_info_for): Always
free the fieldstack.
From-SVN: r128573
Dorit Nuzman [Tue, 18 Sep 2007 11:13:35 +0000 (11:13 +0000)]
* opts.c (decode_options): Enable vectorization under -O3.
From-SVN: r128572
Richard Guenther [Tue, 18 Sep 2007 08:46:23 +0000 (08:46 +0000)]
re PR tree-optimization/33340 (ICE: SSA corruption with -O (FRE))
2007-09-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33340
* tree-ssa-sccvn.c (set_ssa_val_to): Do not set values to
SSA_NAMEs that occur in abnormal PHI nodes.
* g++.dg/torture/pr33340.C: New testcase.
From-SVN: r128571
Tobias Burnus [Tue, 18 Sep 2007 06:34:30 +0000 (08:34 +0200)]
re PR fortran/33231 (Reject for -std=f* calls to elementar functions where array and scalar are mixed)
2007-09-18 Tobias Burnus <burnus@net-b.de>
PR fortran/33231
* resolve.c (resolve_elemental_actual): Check for conformance
of intent out/inout dummies.
2007-09-18 Tobias Burnus <burnus@net-b.de>
PR fortran/33231
* gfortran.dg/elemental_optional_args_1.f90: Make valid Fortran.
* gfortran.dg/elemental_subroutine_1.f90: Ditto.
* gfortran.dg/elemental_subroutine_5.f90: New.
From-SVN: r128570
Kaveh R. Ghazi [Tue, 18 Sep 2007 03:25:06 +0000 (03:25 +0000)]
tree-cfg.c (is_ctrl_altering_stmt, [...]): Don't use const_get_call_expr_in.
* tree-cfg.c (is_ctrl_altering_stmt, tree_block_ends_with_call_p):
Don't use const_get_call_expr_in.
* tree-gimple.c (const_get_call_expr_in): Delete.
* tree-gimple.h (const_get_call_expr_in): Likewise.
From-SVN: r128569
GCC Administrator [Tue, 18 Sep 2007 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128567
Richard Sandiford [Mon, 17 Sep 2007 23:44:00 +0000 (23:44 +0000)]
target-supports.exp (check_profiling_available): Extend mips*-*-elf check to mips*-*-elf*.
gcc/testsuite/
* lib/target-supports.exp (check_profiling_available): Extend
mips*-*-elf check to mips*-*-elf*.
From-SVN: r128564
Richard Sandiford [Mon, 17 Sep 2007 23:41:36 +0000 (23:41 +0000)]
df-scan.c (df_notes_rescan): Do nothing if the instruction does not yet have a basic block.
gcc/
* df-scan.c (df_notes_rescan): Do nothing if the instruction does
not yet have a basic block.
* dse.c (find_shift_sequence): Don't set DF_NO_INSN_RESCAN.
From-SVN: r128563
Richard Sandiford [Mon, 17 Sep 2007 23:11:25 +0000 (23:11 +0000)]
mips.c (mips_file_start): Add ".previous" directives to both ".section"s.
gcc/
* config/mips/mips.c (mips_file_start): Add ".previous" directives
to both ".section"s.
From-SVN: r128562
Andreas Schwab [Mon, 17 Sep 2007 22:44:27 +0000 (22:44 +0000)]
configure.ac: Raise minimum makeinfo version to 4.6.
* configure.ac: Raise minimum makeinfo version to 4.6.
* configure: Regenerate.
From-SVN: r128561
Richard Sandiford [Mon, 17 Sep 2007 22:29:59 +0000 (22:29 +0000)]
mips.c (mips_output_mi_thunk): Use mips_function_ok_for_sibcall and const_call_insn_operand to determine if...
gcc/
* config/mips/mips.c (mips_output_mi_thunk): Use
mips_function_ok_for_sibcall and const_call_insn_operand
to determine if a direct sibcall is allowed. Use
mips_classify_symbol to determine a global pointer is needed.
From-SVN: r128560
Richard Sandiford [Mon, 17 Sep 2007 22:26:19 +0000 (22:26 +0000)]
mips.md (*clear_upper32): Use "W" as the memory operand.
gcc/
* config/mips/mips.md (*clear_upper32): Use "W" as the memory operand.
From-SVN: r128559
Chao-ying Fu [Mon, 17 Sep 2007 22:18:13 +0000 (22:18 +0000)]
fixed-obj.mk: New file to support fine-grain fixed-point functions.
* fixed-obj.mk: New file to support fine-grain fixed-point functions.
* Makefile.in (fixed_point): Define.
Check if fixed_point is yes to build support functions.
* configure.ac: Check for fixed_point support.
* configure: Regenerated.
* gen-fixed.sh: New file to generate lists of fixed-point labels,
funcs, modes, from, to.
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r128557
Chao-ying Fu [Mon, 17 Sep 2007 22:12:54 +0000 (22:12 +0000)]
fixed-bit.h: New file.
* config/fixed-bit.h: New file.
* config/fixed-bit.c: New file.
* doc/libgcc.texi (Fixed-point fractional library routines): New node.
Co-Authored-By: Nigel Stephens <nigel@mips.com>
From-SVN: r128556
Jakub Jelinek [Mon, 17 Sep 2007 22:07:46 +0000 (00:07 +0200)]
c-format.h (format_kind_info): Add alloc_char field.
* c-format.h (format_kind_info): Add alloc_char field.
* c-format.c (scanf_flag_specs): Add 'm'.
(scanf_flag_pairs): Add 'a', 'm' pair.
(scan_char_table): Allow 'm' modifier for c, s, [, C and S.
(format_types_orig): Add alloc_char fields.
(check_format_info_main): Rename aflag to alloc_flag.
Handle fki->alloc_char. modifier after width and before length
modifiers. Move FMT_FLAG_SCANF_A_KLUDGE handling before
length modifiers as well.
* config/sol2-c.c (solaris_format_types): Add alloc_char field.
* gcc.dg/format/c90-scanf-5.c: New test.
* gcc.dg/format/c99-scanf-4.c: New test.
* gcc.dg/format/ext-7.c: New test.
* gcc.dg/format/ext-8.c: New test.
From-SVN: r128555
Jakub Jelinek [Mon, 17 Sep 2007 22:05:40 +0000 (00:05 +0200)]
re PR middle-end/33423 (internal compiler error: in expand_expr_real_1, at expr.c:8670)
PR middle-end/33423
* builtins.c (expand_builtin_memory_chk): Handle COMPOUND_EXPRs
returned by build_call_expr.
* gcc.c-torture/compile/
20070915-1.c: New test.
From-SVN: r128554
Eric Botcazou [Mon, 17 Sep 2007 18:47:15 +0000 (18:47 +0000)]
tree-sra.c (maybe_lookup_element_for_expr): Return NULL for variable-sized records too.
* tree-sra.c (maybe_lookup_element_for_expr) <COMPONENT_REF>: Return
NULL for variable-sized records too.
(sra_walk_expr) <COMPONENT_REF>: Stop at variable-sized records too.
From-SVN: r128553
Tom Tromey [Mon, 17 Sep 2007 18:01:01 +0000 (18:01 +0000)]
c-decl.c (pushdecl): Don't set DECL_LANG_SPECIFIC.
* c-decl.c (pushdecl): Don't set DECL_LANG_SPECIFIC.
(c_builtin_function): Likewise.
(grokdeclarator): Likewise.
From-SVN: r128552
Tom Tromey [Mon, 17 Sep 2007 16:30:46 +0000 (16:30 +0000)]
defineclass.cc (MAJOR_1_6): New define.
* defineclass.cc (MAJOR_1_6): New define.
(MINOR_1_6): Likewise.
(_Jv_ClassReader::parse): Handle 1.6 bytecode.
From-SVN: r128551
Tobias Burnus [Mon, 17 Sep 2007 15:55:22 +0000 (17:55 +0200)]
re PR fortran/33106 (Access of components of public entities of private types wrongly allowed)
2007-09-17 Tobias Burnus <burnus@net-b.de>
PR fortran/33106
* resolve.c (resolve_symbol): Reject public variable of
private derived-types for Fortran 95.
2007-09-17 Tobias Burnus <burnus@net-b.de>
PR fortran/33106
* gfortran.dg/private_type_9.f90: New.
From-SVN: r128550
Zdenek Dvorak [Mon, 17 Sep 2007 15:38:48 +0000 (17:38 +0200)]
re PR rtl-optimization/26449 (ICE in loop invariant motion)
PR rtl-optimization/26449
* loop-invariant.c (move_invariant_reg): Do not use force_operand.
(seq_insns_valid_p): Removed.
From-SVN: r128549
Eric Botcazou [Mon, 17 Sep 2007 15:15:16 +0000 (15:15 +0000)]
tree-nomudflap.c (gate_mudflap): New static function.
* tree-nomudflap.c (gate_mudflap): New static function.
(pass_mudflap_1): Use it as gate function.
(pass_mudflap_2): Likewise.
From-SVN: r128548
Jan Hubicka [Mon, 17 Sep 2007 15:12:10 +0000 (17:12 +0200)]
re PR middle-end/33348 (gfortran.dg/g77/
19990826-3.f fails at -O1)
PR middle-end/33348
PR target/33406
* loop-invariant.c (move_invariant_reg): Unshare sequence.
From-SVN: r128547
Eric Botcazou [Mon, 17 Sep 2007 14:47:27 +0000 (14:47 +0000)]
Remove superfluous line.
From-SVN: r128546
Johannes Singler [Mon, 17 Sep 2007 12:58:07 +0000 (12:58 +0000)]
for_each.h: Fixed comment/doxygen markup typos.
2007-09-17 Johannes Singler <singler@ira.uka.de>
* include/parallel/for_each.h: Fixed comment/doxygen markup typos.
* include/parallel/base.h: Same.
* include/parallel/numeric: Same.
* include/parallel/quicksort.h: Same.
* include/parallel/compiletime_settings.h: Same.
* include/parallel/random_shuffle.h: Same.
* include/parallel/balanced_quicksort.h: Same.
* include/parallel/tree.h: Same.
* include/parallel/settings.h: Same.
* include/parallel/search.h: Same.
* include/parallel/partition.h: Same.
* include/parallel/partial_sum.h: Same.
From-SVN: r128545
Johannes Singler [Mon, 17 Sep 2007 12:38:26 +0000 (12:38 +0000)]
2007-09-17 Johannes Singler <singler@ira.uka.de>
* MAINTAINERS (write-after-approval) add myself
From-SVN: r128544
Francois-Xavier Coudert [Mon, 17 Sep 2007 10:42:29 +0000 (10:42 +0000)]
re PR middle-end/33449 (ICE for fortran code with -O2 -ftree-vectorize)
PR middle-end/33449
* gfortran.dg/pr33449.f90: New test.
From-SVN: r128543
Paolo Carlini [Mon, 17 Sep 2007 10:18:51 +0000 (10:18 +0000)]
type_traitsfwd.h (aligned_storage): Remove declaration.
2007-09-17 Paolo Carlini <pcarlini@suse.de>
* include/tr1_impl/type_traitsfwd.h (aligned_storage): Remove
declaration.
* include/tr1_impl/type_traits (aligned_storage): Remove.
* include/std/type_traits (aligned_storage, __aligned_storage_msa):
Add.
* include/tr1/type_traits (aligned_storage): Add.
* testsuite/20_util/aligned_storage/value.cc: New.
* testsuite/20_util/aligned_storage/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error lines.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
From-SVN: r128542
Tobias Burnus [Mon, 17 Sep 2007 10:12:06 +0000 (12:12 +0200)]
resolve.c (resolve_fl_procedure): Allow private dummies for Fortran 2003.
2007-09-17 Tobias Burnus <burnus@net-b.de>
* resolve.c (resolve_fl_procedure): Allow private dummies
for Fortran 2003.
2007-09-17 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/interface_15.f90: Compile with -std=f95.
* gfortran.dg/private_type_1.f90: Ditto
* gfortran.dg/interface_18.f90: New.
* gfortran.dg/private_type_8.f90: New.
From-SVN: r128541
Francois-Xavier Coudert [Mon, 17 Sep 2007 10:03:12 +0000 (10:03 +0000)]
trans-types.c (gfc_get_desc_dim_type): Do not to try emit debug info.
* trans-types.c (gfc_get_desc_dim_type): Do not to try
emit debug info.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_mixed_entry_union): Likewise
(gfc_get_derived_type): Set decl location for fields and
derived type itself.
From-SVN: r128540
Victor Kaplansky [Mon, 17 Sep 2007 09:37:31 +0000 (09:37 +0000)]
re PR tree-optimization/33319 (g++.dg/tree-ssa/pr27549.C ICE with vectorization)
PR tree-optimization/33319
* tree-vect-analyze.c (vect_same_range_drs): New.
(vect_vfa_range_equal): New.
(vect_is_duplicate_ddr): Removed.
(vect_mark_for_runtime_alias_test): Do not perform marking when
optimizing for size or max_param for alias checking is zero.
Move the function before vect_analyze_data_ref_dependence.
(vect_analyze_data_ref_dependence): Add call to
vect_mark_for_runtime_alias_test in two cases when dependence
is not clear.
(vect_analyze_data_ref_dependences): Do not call to
vect_mark_for_runtime_alias_test.
(vect_prune_runtime_alias_test_list): New.
(vect_analyze_loop): Add call to vect_prune_runtime_alias_test_list.
* tree-vect-transform.c (vect_estimate_min_profitable_iters):
Update vec_outside_cost.
(vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
(vect_create_cond_for_alias_checks): Build the base address of data
reference from DR_GROUP_FIRST_DR.
(vect_loop_versioning): New.
(vect_transform_loop): Add a call to vect_loop_versioning.
Remove factored out code.
From-SVN: r128539
Eric Botcazou [Mon, 17 Sep 2007 06:29:32 +0000 (06:29 +0000)]
decl.c (gnat_to_gnu_entity): Make again the type of an object covered by 13.3(19) volatile.
* decl.c (gnat_to_gnu_entity) <object>: Make again the type of an
object covered by 13.3(19) volatile.
From-SVN: r128538
John David Anglin [Mon, 17 Sep 2007 02:13:23 +0000 (02:13 +0000)]
re PR middle-end/33273 (FAIL: 27_io/basic_istream/ignore/char/1.cc (test for excess errors))
PR middle-end/33273
* expr.c (store_expr): Call adjust_address to change mode of dest_mem
to BLKmode.
From-SVN: r128537
GCC Administrator [Mon, 17 Sep 2007 00:17:22 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128535
Paolo Carlini [Sun, 16 Sep 2007 23:59:34 +0000 (23:59 +0000)]
type_traits (aligned_storage): Implement in the neat and general way.
2007-09-16 Paolo Carlini <pcarlini@suse.de>
Douglas Gregor <doug.gregor@gmail.com>
* include/tr1_impl/type_traits (aligned_storage): Implement
in the neat and general way.
Co-Authored-By: Douglas Gregor <doug.gregor@gmail.com>
From-SVN: r128532
Paolo Carlini [Sun, 16 Sep 2007 22:54:12 +0000 (22:54 +0000)]
re PR c++/33124 (C++ frontend should not warn about new a[0] in template context)
/cp
2007-09-16 Paolo Carlini <pcarlini@suse.de>
PR c++/33124
* init.c (build_new): Remove warning for zero-element
allocations.
/testsuite
2007-09-16 Paolo Carlini <pcarlini@suse.de>
PR c++/33124
* g++.dg/warn/new1.C: Adjust.
* g++.dg/torture/str_empty.C: Likewise.
From-SVN: r128531
Richard Sandiford [Sun, 16 Sep 2007 21:02:54 +0000 (21:02 +0000)]
dse.c (find_shift_sequence): Allow word as well as subword shifts.
gcc/
* dse.c (find_shift_sequence): Allow word as well as subword shifts.
Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
Fix the call to insn_rtx_cost. Skip access sizes that require a
real truncation of the store register. Use convert_move instead
of gen_lowpart when narrowing the result.
(replace_read): Use convert_move instead of gen_lowpart when
narrowing the store rhs.
gcc/testsuite/
* gcc.target/mips/dse-1.c: New test.
From-SVN: r128530
Nathan Sidwell [Sun, 16 Sep 2007 17:26:42 +0000 (17:26 +0000)]
re PR c++/32756 (wrong ambiguous overload error?)
cp/
PR c++/32756
* call.c (maybe_handle_implicit_object): Set this_p, clear
rvaluedness_matches_p.
(compare_ics): Do not compare rvaluedness matching when one of the
operands is an implicit object.
testsuite/
PR c++/32756
* g++.dg/overload/operator3.C: New.
From-SVN: r128528
Richard Sandiford [Sun, 16 Sep 2007 09:46:44 +0000 (09:46 +0000)]
Fix typo.
From-SVN: r128526
Richard Sandiford [Sun, 16 Sep 2007 09:45:36 +0000 (09:45 +0000)]
mips.md (SHORT): Fix long line.
gcc/
* config/mips/mips.md (SHORT): Fix long line.
(SUBDI): New mode iterator. Extend the shift-and-truncate insns
to QImode and HImoe.
gcc/testsuite/
* gcc.target/mips/truncate-1.c: New test.
From-SVN: r128525
Richard Sandiford [Sun, 16 Sep 2007 09:23:31 +0000 (09:23 +0000)]
mips.h (POINTERS_EXTEND_UNSIGNED): Define.
gcc/
* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.
From-SVN: r128524
Paul Thomas [Sun, 16 Sep 2007 09:17:49 +0000 (09:17 +0000)]
re PR fortran/29396 (segfault with character pointer association)
2007-09-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29396
PR fortran/29606
PR fortran/30625
PR fortran/30871
* trans.h : Add extra argument to gfc_build_array_ref. Rename
gfc_conv_aliased_arg to gfc_conv_subref_array_arg. Move
prototype of is_aliased_array to gfortran.h and rename it
gfc_is_subref_array. Add field span to lang_decl, add a new
decl lang specific flag accessed by GFC_DECL_SUBREF_ARRAY_P
and a new type flag GFC_DECL_SUBREF_ARRAY_P.
* trans.c (gfc_build_array_ref): Add the new argument, decl.
If this is a subreference array pointer, use the lang_decl
field 'span' to calculate the offset in bytes and use pointer
arithmetic to address the element.
* trans-array.c (gfc_conv_scalarized_array_ref,
gfc_conv_array_ref): Add the backend declaration as the third
field, if it is likely to be a subreference array pointer.
(gfc_conv_descriptor_dimension, gfc_trans_array_ctor_element,
gfc_trans_array_constructor_element, structure_alloc_comps,
gfc_conv_array_index_offset): For all other references to
gfc_build_array_ref, set the third argument to NULL.
(gfc_get_dataptr_offset): New function.
(gfc_conv_expr_descriptor): If the rhs of a pointer assignment
is a subreference array, then calculate the offset to the
subreference of the first element and set the descriptor data
pointer to this, using gfc_get_dataptr_offset.
trans-expr.c (gfc_get_expr_charlen): Use the expression for the
character length for a character subreference.
(gfc_conv_substring, gfc_conv_subref_array_arg): Add NULL for
third argument in call to gfc_build_array_ref.
(gfc_conv_aliased_arg): Rename to gfc_conv_subref_array_arg.
(is_aliased_array): Remove.
(gfc_conv_function_call): Change reference to is_aliased_array
to gfc_is_subref_array and reference to gfc_conv_aliased_arg to
gfc_conv_subref_array_arg.
(gfc_trans_pointer_assignment): Add the array element length to
the lang_decl 'span' field.
* gfortran.h : Add subref_array_pointer to symbol_attribute and
add the prototype for gfc_is_subref_array.
* trans-stmt.c : Add NULL for third argument in all references
to gfc_build_array_ref.
* expr.c (gfc_is_subref_array): Renamed is_aliased_array.
If this is a subreference array pointer, return true.
(gfc_check_pointer_assign): If the rhs is a subreference array,
set the lhs subreference_array_pointer attribute.
* trans-decl.c (gfc_get_symbol_decl): Allocate the lang_decl
field if the symbol is a subreference array pointer and set an
initial value of zero for the 'span' field.
* trans-io.c (set_internal_unit): Refer to is_subref_array and
gfc_conv_subref_array_arg.
(nml_get_addr_expr): Add NULL third argument to
gfc_build_array_ref.
(gfc_trans_transfer): Use the scalarizer for a subreference
array.
2007-09-16 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29396
PR fortran/29606
PR fortran/30625
PR fortran/30871
* gfortran.dg/subref_array_pointer_1.f90: New test.
* gfortran.dg/subref_array_pointer_2.f90: New test.
From-SVN: r128523
GCC Administrator [Sun, 16 Sep 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r128521
H.J. Lu [Sun, 16 Sep 2007 00:12:51 +0000 (00:12 +0000)]
* gfortran.dg/nint_2.f90: Correct last change.
From-SVN: r128518
Zdenek Dvorak [Sat, 15 Sep 2007 21:53:45 +0000 (23:53 +0200)]
tree-parloops.c: New file.
* tree-parloops.c: New file.
* tree-ssa-operands.h (free_stmt_operands): Declare.
* tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic
block.
* tree-pass.h (pass_parallelize_loops): Declare.
* omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for
virtual operands.
(build_omp_regions_1): Allow analysing just a single OMP region and
its subregions.
( build_omp_regions_root, omp_expand_local): New functions.
(build_omp_regions): Add argument to build_omp_regions_1 call.
* builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when
autoparallelization is run.
* timevar.def (TV_TREE_PARALLELIZE_LOOPS): New.
* tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops,
pass_parallelize_loops): New.
* common.opt (ftree-parallelize-loops): New.
* tree-flow.h (omp_expand_local, tree_duplicate_sese_tail,
parallelize_loops): Declare.
(add_phi_args_after_copy, split_loop_exit_edge): Declaration changed.
* Makefile.in (tree-parloops.o): Added.
* tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail):
New functions.
(add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge.
(add_phi_args_after_copy): Call add_phi_args_after_copy_edge for
one extra edge as well.
(tree_duplicate_sese_region): Add argument to add_phi_args_after_copy.
Use VEC_free to free doms vector.
(move_block_to_fn): Update loop info. Remove phi nodes for virtual
operands. Recompute operand caches in the new function.
(move_sese_region_to_fn): Update loop info.
* passes.c (init_optimization_passes): Add pass_parallelize_loops.
* tree-ssa-operands.c (free_stmt_operands): New function.
* doc/passes.texi: Document autoparallelization.
* doc/invoke.texi (-ftree-parallelize-loops): New option.
* gcc.dg/tree-ssa/parallelization-1.c: New test.
From-SVN: r128517
John David Anglin [Sat, 15 Sep 2007 19:30:50 +0000 (19:30 +0000)]
re PR target/33062 (ICE in emit_move_insn and expand_call with -fdefault-integer-8)
PR target/33062
* pa.c (function_value): Use GET_MODE_BITSIZE instead of TYPE_PRECISION.
From-SVN: r128516
Dorit Nuzman [Sat, 15 Sep 2007 18:24:23 +0000 (18:24 +0000)]
tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if the VEC is not NULL.
* tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if
the VEC is not NULL.
(vectorizable_type_demotion, vectorizable_type_promotion): Check that
get_vectype_for_scalar_type succeeded.
(vectorizable_conversion): Likewise.
From-SVN: r128514
Tom Tromey [Sat, 15 Sep 2007 15:25:22 +0000 (15:25 +0000)]
java-tree.h (struct lang_decl_func): Remove.
* java-tree.h (struct lang_decl_func) <function_decl_body>:
Remove.
<init_final>: Likewise.
* lang.c (java_dump_tree): Update.
* java-tree.h (DECL_FUNCTION_BODY): Remove.
From-SVN: r128513
Francois-Xavier Coudert [Sat, 15 Sep 2007 14:52:46 +0000 (14:52 +0000)]
re PR libfortran/21185 (Improve testsuite results on newlib targets)
PR libfortran/21185
* runtime/compile_options.c (set_options): Fix typo.
* runtime/main.c (store_exe_path): If getcwd is not available,
don't use it.
* intrinsics/getcwd.c: Same thing here.
* io/unix.c (fallback_access): New fallback function for access.
(fix_fd): Don't use dup if it's not available.
* configure.ac: Check for dup and getcwd.
* configure: Regenerate.
* config.h.in: Regenerate.
From-SVN: r128512
GCC Administrator [Sat, 15 Sep 2007 00:17:05 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128508
Benjamin Kosnik [Fri, 14 Sep 2007 20:37:25 +0000 (20:37 +0000)]
base.h (__gnu_parallel::less<Tp>): Add partial specialization for one argument.
2007-09-14 Benjamin Kosnik <bkoz@redhat.com>
* include/parallel/base.h (__gnu_parallel::less<Tp>): Add partial
specialization for one argument.
(__gnu_parallel::less): Add operator.
* include/parallel/multiway_merge.h: Use __builtin_alloca.
* include/parallel/partial_sum.h: Same.
* include/parallel/find.h: Same.
From-SVN: r128505
Jan Hubicka [Fri, 14 Sep 2007 20:26:17 +0000 (22:26 +0200)]
i386.md (*floatdi<mode>2_i387): Guard against TARGET_64BIT.
2007-09-14 Jan Hubicka <jh@suse.cz>
* config/i386/i386.md (*floatdi<mode>2_i387): Guard against
TARGET_64BIT.
From-SVN: r128504
Jonathan Wakely [Fri, 14 Sep 2007 20:17:29 +0000 (20:17 +0000)]
boost_shared_ptr.h: (__weak_ptr::lock()): Add missing template argument.
2007-09-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/tr1_impl/boost_shared_ptr.h: (__weak_ptr::lock()): Add
missing template argument.
* testsuite/tr1/2_general_utilities/shared_ptr/requirements/
explicit_instantiation/2.cc: New.
* testsuite/tr1/2_general_utilities/weak_ptr/requirements/
explicit_instantiation/2.cc: New.
From-SVN: r128503
Uros Bizjak [Fri, 14 Sep 2007 19:24:26 +0000 (21:24 +0200)]
re PR target/33438 (ICE in cselib_record_set, at cselib.c:1515 on x86)
PR target/33438
* config/i386/i386.md (fmodxf3): Copy operands[2] to temporary register
when operands[2] equals operands[1].
(remainderxf3): Ditto.
testsuite/ChangeLog:
PR target/33438
* gcc.target/i386/pr33438.c: New test.
From-SVN: r128502