gcc.git
15 years agosem_ch3.adb (Check_Abstract_Overriding): Improve error message when an abstract opera...
Ed Schonberg [Wed, 29 Apr 2009 09:31:29 +0000 (09:31 +0000)]
sem_ch3.adb (Check_Abstract_Overriding): Improve error message when an abstract operation of a progenitor is not...

2009-04-29  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb (Check_Abstract_Overriding): Improve error message when
an abstract operation of a progenitor is not properly overridden by an
operation of a derived synchronized type.

From-SVN: r146934

15 years agomlib-prj.adb, [...]: Minor reformatting Minor code reorganization
Robert Dewar [Wed, 29 Apr 2009 09:28:07 +0000 (09:28 +0000)]
mlib-prj.adb, [...]: Minor reformatting Minor code reorganization

2009-04-29  Robert Dewar  <dewar@adacore.com>

* mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb,
prj-proc.adb: Minor reformatting
Minor code reorganization

From-SVN: r146933

15 years agoMinor message improvement.
Arnaud Charlet [Wed, 29 Apr 2009 09:24:02 +0000 (11:24 +0200)]
Minor message improvement.

From-SVN: r146932

15 years ago[multiple changes]
Arnaud Charlet [Wed, 29 Apr 2009 09:22:32 +0000 (11:22 +0200)]
[multiple changes]

2009-04-29  Bob Duff  <duff@adacore.com>

* exp_ch7.adb (Build_Final_List): For an access type that designates a
Taft Amendment type, if the access type needs finalization, make sure
the implicit with clause for List_Controller occurs on the package spec.

* rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit
with's created for the pseudo-children of Text_IO and friends. In
particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and
Ada.Text_IO.Integer_IO both with-ing each other.

* sem.adb (Walk_Library_Items): Suppress assertion failure in certain
oddball cases when pragma Extend_System is used.

* sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in
the case where a package spec instantiates a generic whose body with's
this package, so Walk_Library_Items won't complain about cyclic with's.

2009-04-29  Emmanuel Briot  <briot@adacore.com>

* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads,
prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb,
mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads
(Project_Id): now a real pointer to Project_Data, instead of an index
into the Projects_Table. This simplifies the API significantly, avoiding
extra lookups in this table and the need to pass the Project_Tree_Ref
parameter in several cases

From-SVN: r146931

15 years agoMakefile.in: Produce .dSYM files for shared libs on darwin.
Nicolas Setton [Wed, 29 Apr 2009 09:11:35 +0000 (09:11 +0000)]
Makefile.in: Produce .dSYM files for shared libs on darwin.

2009-04-29  Nicolas Setton  <setton@adacore.com>

* gcc-interface/Makefile.in: Produce .dSYM files for shared libs on
darwin.

From-SVN: r146930

15 years agobfin.md (sp_or_sm, [...]): New macro.
Bernd Schmidt [Wed, 29 Apr 2009 08:41:32 +0000 (08:41 +0000)]
bfin.md (sp_or_sm, [...]): New macro.

gcc/
* config/bfin/bfin.md (sp_or_sm, spm_string, spm_name): New macro.
(ss<spm_name>hi3, ss<spm_name>hi3_parts, ss<spm_name>hi3_low_parts,
ss<spm_name_hi3_high_parts): New patterns, replacing ssaddhi3, ssubhi3,
ssaddhi3_parts and sssubhi3_parts.
(flag_mulhi3_parts): Produce a HImode output rather than trying to set
a VEC_SELECT.
* config/bfin/bfin.c (bfin_expand_builtin, case BFIN_BUILTIN_CPLX_SQU):
Adjust accordingly.

gcc/testsuite/
* gcc.target/bfin/20090411-1.c: New test.

From-SVN: r146929

15 years agore PR target/39565 (Static variable leaves undefined symbol in object file)
Anmol P. Paralkar [Wed, 29 Apr 2009 08:34:21 +0000 (08:34 +0000)]
re PR target/39565 (Static variable leaves undefined symbol in object file)

2009-04-29  Anmol P. Paralkar  <anmol@freescale.com>

        PR target/39565
        * gcc.dg/pr39565.c: New testcase.

From-SVN: r146928

15 years agotree-vect-loop.c (get_initial_def_for_induction): Use correct types for pointer incre...
Richard Guenther [Wed, 29 Apr 2009 08:10:15 +0000 (08:10 +0000)]
tree-vect-loop.c (get_initial_def_for_induction): Use correct types for pointer increment.

2009-04-28  Richard Guenther  <rguenther@suse.de>

* tree-vect-loop.c (get_initial_def_for_induction): Use
correct types for pointer increment.

From-SVN: r146927

15 years agore PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const...
Nathan Sidwell [Wed, 29 Apr 2009 08:03:33 +0000 (08:03 +0000)]
re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)

* gcc.target/i386/sse4_1-roundps-1.c: Skip for vxworks kernel.
* gcc.target/i386/sse4_1-roundpd-1.c: Likewise.
* gcc.target/i386/sse4_1-roundps-3.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-3.c: Likewise.
* gcc.target/i386/sse4_1-roundss-1.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-1.c: Likewise.
* gcc.target/i386/sse4_1-roundss-3.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-3.c: Likewise.
* gcc.target/i386/sse4_1-roundps-2.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-2.c: Likewise.
* gcc.target/i386/sse4_1-roundss-2.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-2.c: Likewise.
* gcc.target/i386/sse4_1-roundss-4.c: Likewise.
* gcc.target/i386/sse4_1-roundsd-4.c: Likewise.
* gcc.target/i386/pr37191.c: Likewise.
* gcc.target/i386/reload-1.c: Likewise.
* g++.old-deja/g++.pt/repo1.C: Skip for vxworks kernel.
* g++.old-deja/g++.pt/repo2.C: Likewise.
* g++.old-deja/g++.pt/repo3.C: Likewise.
* g++.old-deja/g++.pt/repo4.C: Likewise.
* g++.old-deja/g++.pt/instantiate4.C: Likewise.
* g++.old-deja/g++.pt/instantiate6.C: Likewise.
* g++.dg/template/repo1.C: Likewise.
* g++.dg/template/repo2.C: Likewise.
* g++.dg/template/repo3.C: Likewise.
* g++.dg/template/repo4.C: Likewise.
* g++.dg/template/repo5.C: Likewise.
* g++.dg/template/repo6.C: Likewise.
* g++.dg/template/repo7.C: Likewise.
* g++.dg/template/repo8.C: Likewise.
* g++.dg/template/repo9.C: Likewise.
* g++.dg/rtti/repo1.C: Likewise.
* gcc.dg/cpp/_Pragma6.c: Skip for vxworks.
* g++.dg/cpp/_Pragma1.C: Skip for vxworks.
* gcc.dg/pthread-init-1.c: Xfail for vxworks rtp.
* g++.dg/other/PR23205.C: Skip for vxworks.
* g++.dg/ext/visibility/class1.C: Requires PIC.
* g++.dg/eh/async-unwind2.C: Requires PIC.
* lib/target-supports.exp (check_cxa_atexit_available): Vxworks
does not have cxa_exit.

From-SVN: r146926

15 years agore PR libstdc++/39868 (libstdc++ generates man pages, which conflict with the linux...
Benjamin Kosnik [Wed, 29 Apr 2009 05:12:00 +0000 (05:12 +0000)]
re PR libstdc++/39868 (libstdc++ generates man pages, which conflict with the linux manpages)

2009-04-28  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/39868
* scripts/run_doxygen: Uncomment removal of includes.
(problematic): Rewrite __cxxabiv1 namespace to abi.

From-SVN: r146923

15 years agotoplev.c (print_version): Update GMP version string calculation.
Kaveh R. Ghazi [Wed, 29 Apr 2009 04:19:38 +0000 (04:19 +0000)]
toplev.c (print_version): Update GMP version string calculation.

* toplev.c (print_version): Update GMP version string calculation.

From-SVN: r146921

15 years agoDaily bump.
GCC Administrator [Wed, 29 Apr 2009 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r146920

15 years agore PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change)
Eric Botcazou [Tue, 28 Apr 2009 21:29:58 +0000 (21:29 +0000)]
re PR rtl-optimization/39938 (build broke for cris-elf with dbr_schedule change)

PR rtl-optimization/39938
* resource.c (init_resource_info): Add call to df_analyze.

From-SVN: r146915

15 years agore PR testsuite/39790 (gcc.dg/tls/alias-1.c,opt-2.c fail if TLS is not supported...
Jing Yu [Tue, 28 Apr 2009 20:39:11 +0000 (20:39 +0000)]
re PR testsuite/39790 (gcc.dg/tls/alias-1.c,opt-2.c fail if TLS is not supported by C library)

PR testsuite/39790
* lib/target-supports.exp (check_effective_target_tls): Remove
comment of caching.
(check_effective_target_tls_native): Likewise.
(check_effective_target_tls_runtime): Likewise.
* gcc.dg/tls/alias-1.c (dg-require-effective-target): Change target
tls to tls_runtime.
* gcc.dg/tls/opt-2.c: Add dg-require-effective-target tls_runtime.

From-SVN: r146913

15 years agoalpha.md (usegp): Cast the result of alpha_find_lo_sum_using_gp to enum attr_usegp.
Uros Bizjak [Tue, 28 Apr 2009 19:58:17 +0000 (21:58 +0200)]
alpha.md (usegp): Cast the result of alpha_find_lo_sum_using_gp to enum attr_usegp.

* config/alpha/alpha.md (usegp): Cast the result of
alpha_find_lo_sum_using_gp to enum attr_usegp.
* config/alpha/alpha.c (override_options): Remove end-of-structure
marker element from cpu_table.  Use array size of cpu_table to handle
-mcpu and -mtune options.
(tls_symbolic_operand_type): Change 0 to TLS_MODEL_NONE.

From-SVN: r146912

15 years agoconfig.gcc (powerpc*-*-* | rs6000-*-*): Add rs6000/option-defaults.h to tm_file.
Joseph Myers [Tue, 28 Apr 2009 18:59:57 +0000 (19:59 +0100)]
config.gcc (powerpc*-*-* | rs6000-*-*): Add rs6000/option-defaults.h to tm_file.

* config.gcc (powerpc*-*-* | rs6000-*-*): Add
rs6000/option-defaults.h to tm_file.  Support cpu_32, cpu_64,
tune_32 and tune_64.
* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
support on PowerPC.
* config/rs6000/rs6000.h (OPTION_DEFAULT_SPECS): Move to ...
* config/rs6000/option-defaults.h: ... here.  New file.
(OPT_64, OPT_32): Define.
(MASK_64BIT): Define to 0 if not already defined.
(OPT_ARCH64, OPT_ARCH32): Define.
(OPTION_DEFAULT_SPECS): Add entries for cpu_32, cpu_64, tune_32
and tune_64.

From-SVN: r146908

15 years agoFix nits
Eric Botcazou [Tue, 28 Apr 2009 18:53:54 +0000 (18:53 +0000)]
Fix nits

From-SVN: r146907

15 years agoFPA error for AAPCS
Ramana Radhakrishnan [Tue, 28 Apr 2009 16:45:19 +0000 (16:45 +0000)]
FPA error for AAPCS

From-SVN: r146906

15 years agore PR fortran/39946 (PROCEDURE statements: interface with RESULT variable)
Janus Weil [Tue, 28 Apr 2009 16:27:27 +0000 (18:27 +0200)]
re PR fortran/39946 (PROCEDURE statements: interface with RESULT variable)

2009-04-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39946
* resolve.c (resolve_symbol): Correctly copy the interface of a
PROCEDURE statement if the interface involves a RESULT variable.

2009-04-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39946
* gfortran.dg/proc_ptr_16.f90: New.

From-SVN: r146905

15 years agore PR rtl-optimization/39914 (96% performance regression in floating point code;...
Uros Bizjak [Tue, 28 Apr 2009 16:18:17 +0000 (18:18 +0200)]
re PR rtl-optimization/39914 (96% performance regression in floating point code; part of the problem started 2009/03/12-13)

PR rtl-optimization/39914
* ira-conflicts.c (ira_build_conflicts): Prohibit call used
registers for allocnos created from user-defined variables only
when not optimizing.

From-SVN: r146904

15 years agosync-1.c: Check for cmpxchg8 only if lp64 is true.
Steve Ellcey [Tue, 28 Apr 2009 16:14:35 +0000 (16:14 +0000)]
sync-1.c: Check for cmpxchg8 only if lp64 is true.

* testsuite/gcc.target/ia64/sync-1.c: Check for cmpxchg8 only if
lp64 is true.

From-SVN: r146903

15 years agoForgot to ci fixincl.x in previous checkin.
Steve Ellcey [Tue, 28 Apr 2009 15:27:28 +0000 (15:27 +0000)]
Forgot to ci fixincl.x in previous checkin.

From-SVN: r146902

15 years agore PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006)
Richard Guenther [Tue, 28 Apr 2009 15:27:09 +0000 (15:27 +0000)]
re PR middle-end/39937 (Revision 146831 failed SPEC CPU 2006)

2009-04-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/39937
* fold-const.c (fold_binary): Use distribute_real_division only
on float types.

* gfortran.fortran-torture/compile/pr39937.f: New testcase.

From-SVN: r146901

15 years agoconfig.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint and add hpux-stdint.h to tm_file.
Steve Ellcey [Tue, 28 Apr 2009 15:20:07 +0000 (15:20 +0000)]
config.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint and add hpux-stdint.h to tm_file.

* config.gcc (hppa*64*-*-hpux11*): Set use_gcc_stdint and
add hpux-stdint.h to tm_file.
(hppa[12]*-*-hpux11*): Ditto.
(ia64*-*-hpux*): Ditto.
* config/hpux-stdint.h: New.
* gcc/config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Set
__STDC_EXT__ for all compiles.
* gcc/config/pa/pa-hpux.h: Ditto.
* gcc/config/pa/pa-hpux10.h: Ditto.
* gcc/config/pa/pa-hpux11.h: Ditto.

From-SVN: r146900

15 years agoinclhack.def (hpux11_uint32_c): Remove.
Steve Ellcey [Tue, 28 Apr 2009 15:17:49 +0000 (15:17 +0000)]
inclhack.def (hpux11_uint32_c): Remove.

* inclhack.def (hpux11_uint32_c): Remove.
(hpux_long_double): Disable on hpux11.3*.
(hpux_long_double_2): New.
(hpux_c99_intptr): New.
(hpux_c99_inttypes): New.
(hpux_c99_inttypes2): New.
(hpux_stdint_least): New.
(hpux_stdint_fast): New.
(hpux_inttype_int_least8_t): New.
(hpux_inttype_int8_t): New.
* fixincl.x: Regenerate.
* tests/base/sys/_inttypes.h: New.
* tests/base/inttypes.h: Update.
* tests/base/stdlib.h: Update.
* tests/base/stdint.h: Update.

From-SVN: r146899

15 years agodebug.h (set_name): Add comment.
Catherine Moore [Tue, 28 Apr 2009 15:06:16 +0000 (11:06 -0400)]
debug.h (set_name): Add comment.

2009-04-28  Catherine Moore  <clm@codesourcery.com>

        * debug.h (set_name): Add comment.

From-SVN: r146897

15 years ago* testsuite/libjava.jvmti/jvmti-interp.exp
Dave Korn [Tue, 28 Apr 2009 15:05:56 +0000 (15:05 +0000)]
* testsuite/libjava.jvmti/jvmti-interp.exp
(gcj_jni_compile_c_to_so):  Fix so extension to '.dll' on win32.
* testsuite/lib/libjava.exp (libjava_init):  Likewise.
* testsuite/libjava.jni/jni.exp
(gcj_jni_compile_c_to_so):  Likewise.
(gcj_jni_test_one):  Likewise.

From-SVN: r146896

15 years agore PR bootstrap/39929 (Bootstrapping fails at stage 1 on powerpc-ibm-aix)
Andrew Pinski [Tue, 28 Apr 2009 14:19:00 +0000 (07:19 -0700)]
re PR bootstrap/39929 (Bootstrapping fails at stage 1 on powerpc-ibm-aix)

2009-04-28  Andrew Pinski  <pinskia@gmail.com>

        PR target/39929
        * config/darwin.c (machopic_gen_offset): Check
        currently_expanding_to_rtl if current_ir_type returns IR_GIMPLE.
        * config/arm/arm.c (require_pic_register): Likewise.

From-SVN: r146894

15 years agog++.dg/warn/pr35652.C: Removed.
H.J. Lu [Tue, 28 Apr 2009 13:43:15 +0000 (13:43 +0000)]
g++.dg/warn/pr35652.C: Removed.

2009-04-28  H.J. Lu  <hongjiu.lu@intel.com>

g++.dg/warn/pr35652.C: Removed.
gcc.dg/pr35652.c: Likewise.

From-SVN: r146892

15 years agom32c.c (TARGET_PROMOTE_FUNCTION_RETURN, [...]): Delete.
Paolo Bonzini [Tue, 28 Apr 2009 13:17:28 +0000 (13:17 +0000)]
m32c.c (TARGET_PROMOTE_FUNCTION_RETURN, [...]): Delete.

2009-04-28  Paolo Bonzini  <bonzini@gnu.org>

        * config/m32c/m32c.c (TARGET_PROMOTE_FUNCTION_RETURN,
        m32c_promote_function_return, TARGET_PROMOTE_PROTOTYPES,
        m32c_promote_prototypes): Delete.

From-SVN: r146891

15 years agore PR middle-end/39922 (Revision 146817 caused many regressions on trunk)
Michael Matz [Tue, 28 Apr 2009 12:22:47 +0000 (12:22 +0000)]
re PR middle-end/39922 (Revision 146817 caused many regressions on trunk)

        PR middle-end/39922
        * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
        constants.

From-SVN: r146889

15 years agotree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error.
Richard Guenther [Tue, 28 Apr 2009 12:16:22 +0000 (12:16 +0000)]
tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix type error.

2009-04-28  Richard Guenther  <rguenther@suse.de>

* tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix
type error.

From-SVN: r146888

15 years agoAdd support for arm1156tf-s
Ramana Radhakrishnan [Tue, 28 Apr 2009 10:39:41 +0000 (10:39 +0000)]
Add support for arm1156tf-s

From-SVN: r146887

15 years agoinclhack.def (glibc_stdint): New fix.
Joseph Myers [Tue, 28 Apr 2009 10:21:24 +0000 (11:21 +0100)]
inclhack.def (glibc_stdint): New fix.

* inclhack.def (glibc_stdint): New fix.
* fixincl.x: Regenerate.
* tests/base/stdint.h: Update.

From-SVN: r146883

15 years ago20071210-2.c: New testcase.
Alexander Monakov [Tue, 28 Apr 2009 10:01:52 +0000 (14:01 +0400)]
20071210-2.c: New testcase.

gcc/testsuite/Changelog:

2009-04-28  Alexander Monakov  <amonakov@ispras.ru>
* gcc.target/ia64/20071210-2.c: New testcase.

gcc/Changelog:

2009-04-28  Alexander Monakov  <amonakov@ispras.ru>
* sel-sched-ir.c (maybe_tidy_empty_bb): Do not attempt to delete a
block if there are complex incoming edges.
(sel_merge_blocks): Remove useless assert.
(sel_redirect_edge_and_branch): Check that edge was redirected.
* sel-sched-ir.h (_eligible_successor_edge_p): Remove assert.
(sel_find_rgns): Delete declaration.
* sel-sched.c (purge_empty_blocks): Attempt to remove first block of
the region when it is not a preheader.

From-SVN: r146882

15 years agore PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big)
Uros Bizjak [Tue, 28 Apr 2009 09:48:04 +0000 (11:48 +0200)]
re PR target/39323 (MAX_OFILE_ALIGNMENT in elfos.h is too big)

PR c/39323
* config/alpha/elf.h (MAX_OFILE_ALIGNMENT): Sync with elfos.h

testsuite/ChangeLog:

PR c/39323
* gcc.dg/pr39323-2.c: Also scan for alignment in log2 format.
* gcc.dg/pr39323-3.c: Ditto.

From-SVN: r146881

15 years agore PR fortran/39930 (Bogus error: ambiguous reference)
Janus Weil [Tue, 28 Apr 2009 09:44:36 +0000 (11:44 +0200)]
re PR fortran/39930 (Bogus error: ambiguous reference)

2009-04-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39930
PR fortran/39931
* expr.c (gfc_check_pointer_assign): Correctly detect if the left hand
side is a pointer.
* parse.c (gfc_fixup_sibling_symbols): Don't check for ambiguity.

2009-04-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/39930
PR fortran/39931
* gfortran.dg/ambiguous_reference_2.f90: New.
* gfortran.dg/pointer_assign_7.f90: New.

From-SVN: r146880

15 years agore PR libgcj/39899 (gjdoc in 4.4.0 fails to build the libgcj documentation)
Andrew Haley [Tue, 28 Apr 2009 09:35:22 +0000 (09:35 +0000)]
re PR libgcj/39899 (gjdoc in 4.4.0 fails to build the libgcj documentation)

2009-04-28  Andrew Haley  <aph@redhat.com>

        PR libgcj/39899
        * Makefile.am (libgcj_tools_la_LDFLAGS): Add
        -fno-bootstrap-classes to libgcj_tools_la_GCJFLAGS.
        * Makefile.in: Regenerate.

From-SVN: r146878

15 years agotree.h (SSA_NAME_VALUE): Remove.
Richard Guenther [Tue, 28 Apr 2009 08:50:19 +0000 (08:50 +0000)]
tree.h (SSA_NAME_VALUE): Remove.

2009-04-28  Richard Guenther  <rguenther@suse.de>

* tree.h (SSA_NAME_VALUE): Remove.
(struct tree_ssa_name): Remove value_handle member.
* tree-vrp.c (execute_vrp): Initialize/free the value-handle
array for jump threading.
* tree-ssa-propagate.c (ssa_prop_init): Do not initialize
SSA_NAME_VALUEs.
* print-tree.c (print_node): Do not dump SSA_NAME_VALUEs.
* tree-flow.h (threadedge_initialize_values): Declare.
(threadedge_finalize_values): Likewise.
* tree-ssa-threadedge.c (ssa_name_values): New global variable.
(SSA_NAME_VALUE): Define.
(threadedge_initialize_values): New function.
(threadedge_finalize_values): Likewise.
* tree-ssa-dom.c (ssa_name_values): New global variable.
(SSA_NAME_VALUE): Define.
(tree_ssa_dominator_optimize): Initialize/free the value-handle
array.

From-SVN: r146877

15 years ago20020118-1.c: Skip on vxworks targets.
Nathan Froyd [Tue, 28 Apr 2009 08:38:37 +0000 (08:38 +0000)]
20020118-1.c: Skip on vxworks targets.

2009-04-28  Nathan Froyd  <froydnj@codesourcery.com>
    Mark Mitchell  <mark@codesourcery.com>

* gcc.target/powerpc/20020118-1.c: Skip on vxworks targets.
* gcc.dg/20020103-1.c: Check for __ppc.
* gcc.dg/asm-b.c: Check for __ppc.
* gcc.dg/20020919-1.c: Check for __ppc.
* gcc.dg/20020312-2.c: Likewise.
* gcc.dg/trampoline-1.c: Add appropriate NO_TRAMPOLINES #ifndefs.
* gcc.dg/torture/asm-subreg-1.c: Skip on sparc vxworks targets.
* gcc.dg/attr-weakref-1.c: Skip on selected vxworks targets.
* g++.dg/warn/weak1.C: Likewise.
* gcc.dg/tree-ssa/20030714-1.c (find_base_value): Declare as
static so appropriate optimizations kick in.
(find_base_value_wrapper): New function.
* g++.dg/eh/simd-5.C: Fix target triplet.
* gcc.target/arm/long-calls-1.c: Skip for -mlong-calls.

Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r146876

15 years agotree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use REPORT_VECTORIZED_LOC...
Ira Rosen [Tue, 28 Apr 2009 08:08:25 +0000 (08:08 +0000)]
tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use REPORT_VECTORIZED_LOCATIONS instead REPORT_VECTORIZED_LOOPS.

* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
Use REPORT_VECTORIZED_LOCATIONS instead
REPORT_VECTORIZED_LOOPS.
* tree-vectorizer.c (vect_verbosity_level): Make static.
(vect_loop_location): Rename to vect_location.
(vect_set_verbosity_level): Update comment.
(vect_set_dump_settings): Use REPORT_VECTORIZED_LOCATIONS
and vect_location.
(vectorize_loops): Fix comment. Use REPORT_VECTORIZED_LOCATIONS
and vect_location. Use REPORT_UNVECTORIZED_LOCATIONS
instead REPORT_UNVECTORIZED_LOOPS.
* tree-vectorizer.h (enum vect_def_type): Rename vect_invariant_def and
vect_loop_def to vect_external_def and vect_internal_def.
(enum verbosity_levels): Rename REPORT_VECTORIZED_LOOPS
        and REPORT_UNVECTORIZED_LOOPS to
REPORT_VECTORIZED_LOCATIONS and
REPORT_UNVECTORIZED_LOCATIONS.
(enum vect_relevant): Update comment. Rename vect_unused_in_loop
and vect_used_in_loop and to vect_unused_in_scope and
vect_used_in_scope.
(STMT_VINFO_RELEVANT_P): Use vect_unused_in_scope.
(vect_verbosity_level): Remove declaration.
(vect_analyze_operations): Likewise.
(vect_analyze_stmt): Declare.
* tree-vect-loop.c (vect_determine_vectorization_factor): Use
REPORT_UNVECTORIZED_LOCATIONS.
(vect_get_loop_niters): Fix indentation.
(vect_analyze_loop_form): Use REPORT_UNVECTORIZED_LOCATIONS.
(vect_analyze_loop_operations): New function.
(vect_analyze_loop): Call vect_analyze_loop_operations instead of
vect_analyze_operations.
(vect_is_simple_reduction): Use new names.
(vectorizable_live_operation, vect_transform_loop): Likewise.
* tree-vect-data-refs.c (vect_check_interleaving): Add a return value to
specify whether the data references can be a part of interleaving chain.
(vect_analyze_data_ref_dependence): Use new names.
(vect_analyze_data_refs_alignment, vect_analyze_data_refs): Likewise.
(vect_create_addr_base_for_vector_ref): Remove redundant code.
* tree-vect-patterns.c (widened_name_p): Use new names.
(vect_recog_dot_prod_pattern): Likewise.
* tree-vect-stmts.c (vect_stmt_relevant_p): Use new names.
(process_use, vect_mark_stmts_to_be_vectorized,
vect_model_simple_cost, vect_model_store_cost,
vect_get_vec_def_for_operand, vect_get_vec_def_for_stmt_copy,
vectorizable_call, vectorizable_conversion, vectorizable_assignment,
vectorizable_operation, vectorizable_type_demotion,
vectorizable_type_promotion, vectorizable_store, vectorizable_load,
vectorizable_condition): Likewise.
(vect_analyze_operations): Split into vect_analyze_loop_operations
and ...
(vect_analyze_stmt): ... new function.
(new_stmt_vec_info): Use new names.
(vect_is_simple_use): Use new names and fix comment.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Use new names.
(vect_build_slp_tree, vect_analyze_slp, vect_schedule_slp): Likewise.

From-SVN: r146875

15 years agore PR target/39911 (The 'z' suffix doesn't work with 16bit integer insn)
Uros Bizjak [Tue, 28 Apr 2009 06:54:02 +0000 (08:54 +0200)]
re PR target/39911 (The 'z' suffix doesn't work with 16bit integer insn)

PR target/39911
* config/i386/i386.c (print_operand) ['Z']: Handle floating point
and integer modes for x87 operands.  Do not ICE for unsupported size,
generate error instead.  Generate error for unsupported operand types.
['z']: Do not handle HImode memory operands specially.  Warning
for floating-point operands.  Fallthru to 'Z' for unsupported operand
types.  Do not ICE for unsupported size, generate error instead.
(output_387_binary_op): Use %Z to output operands.
(output_fp_compare): Ditto.
(output_387_reg_move): Ditto.

testsuite/ChangeLog:

PR target/39911
* gcc.target/i386/pr39911.c: New test.

From-SVN: r146874

15 years agore PR fortran/39879 (double free or corruption abort with gfortran)
Paul Thomas [Tue, 28 Apr 2009 05:29:44 +0000 (05:29 +0000)]
re PR fortran/39879 (double free or corruption abort with gfortran)

2009-04-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/39879
* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
type parentheses argument if it is a variable with allocatable
components.

2009-04-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/39879
* gfortran.dg/alloc_comp_assign_10.f90: New test.

From-SVN: r146872

15 years agore PR fortran/39879 (double free or corruption abort with gfortran)
Paul Thomas [Tue, 28 Apr 2009 05:16:19 +0000 (05:16 +0000)]
re PR fortran/39879 (double free or corruption abort with gfortran)

2009-04-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/39879
* trans_expr.c (gfc_conv_procedure_call): Deep copy a derived
type parentheses argument if it is a variable with allocatable
components.

2009-04-28  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/39879
* gfortran.dg/alloc_comp_assign_10.f90: New test.

From-SVN: r146871

15 years agorevert: re PR c++/35652 (offset warning should be given in the front-end)
Ben Elliston [Tue, 28 Apr 2009 04:56:47 +0000 (04:56 +0000)]
revert: re PR c++/35652 (offset warning should be given in the front-end)

Revert:
PR c++/35652
2009-03-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

gcc/
* builtins.c (c_strlen): Do not warn here.
* c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
* c-common.c (pointer_int_sum): Take an explicit location.
Warn about offsets out of bounds.
* c-common.h (pointer_int_sum): Adjust declaration.

cp/
* typeck.c (cp_pointer_sum): Adjust call to pointer_int_sum.

testsuite/
* gcc.dg/pr35652.C: New.
* g++.dg/warn/pr35652.C: New.
* gcc.dg/format/plus-1.c: Adjust message.

From-SVN: r146870

15 years agointerpret.cc (DEBUG): Rename this ...
Dave Korn [Tue, 28 Apr 2009 04:02:30 +0000 (04:02 +0000)]
interpret.cc (DEBUG): Rename this ...

* interpret.cc (DEBUG):  Rename this ...
(__GCJ_DEBUG):  ... to this throughout.
* configure.ac:  Likewise.
* interpret-run.cc:  Likewise.
* prims.cc:  Likewise.
* gnu/classpath/natConfiguration.cc:  Likewise.
* include/java-assert.h:  Likewise.
* java/io/natVMObjectInputStream.cc:  Likewise.

* configure:  Regenerate.
* include/config.h.in:  Regenerate.

From-SVN: r146869

15 years ago* java/lang/natVMClassLoader.cc
Dave Korn [Tue, 28 Apr 2009 03:49:13 +0000 (03:49 +0000)]
* java/lang/natVMClassLoader.cc
(java::lang::VMClassLoader::defineClass):  Fix assert.

From-SVN: r146868

15 years agoDaily bump.
GCC Administrator [Tue, 28 Apr 2009 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r146867

15 years agoFix date
DJ Delorie [Mon, 27 Apr 2009 23:30:03 +0000 (19:30 -0400)]
Fix date

From-SVN: r146864

15 years agotarget-supports.exp (check_effective_target_double64): New.
DJ Delorie [Mon, 27 Apr 2009 23:27:21 +0000 (19:27 -0400)]
target-supports.exp (check_effective_target_double64): New.

* lib/target-supports.exp (check_effective_target_double64): New.
(check_effective_target_double64plus): New.
(check_effective_target_large_double): New.
* gcc.dg/Wconversion-real-integer.c: Require double64plus.
* gcc.dg/div-double-1.c: Likewise.
* gcc.dg/Wconversion-real.c: Require large_double.
* gcc.dg/cdce1.c: Require large_double instead of checking targets.

* gcc.c-torture/execute/ieee/unsafe-fp-assoc-1.c: Skip if doubles are too small.

* gcc.c-torture/execute/ieee/20010226-1.c: Mark all floating point
constants as long.

From-SVN: r146863

15 years agoFix formatting
Eric Botcazou [Mon, 27 Apr 2009 21:09:03 +0000 (21:09 +0000)]
Fix formatting

From-SVN: r146856

15 years agocollect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind.
Ian Lance Taylor [Mon, 27 Apr 2009 20:25:48 +0000 (20:25 +0000)]
collect2.c (is_ctor_dtor): Change type of ret field in struct names to symkind.

./: * collect2.c (is_ctor_dtor): Change type of ret field in struct
names to symkind.
* dce.c (run_fast_df_dce): Change type of old_flags to int.
* df-core.c (df_set_flags): Change return type to int.  Change
type of old_flags to int.
(df_clear_flags): Likewise.
* df-scan.c (df_def_record_1): Change 0 to VOIDmode.
(df_get_conditional_uses): Likewise.
* df.h (df_set_flags, df_clear_flags): Update declarations.
* dwarf2out.c (struct indirect_string_node): Change type of form
field to enum dwarf_form.
(AT_string_form): Change return type to enum dwarf_form.
* fixed-value.c (fixed_compare): Add cast to enum type.
* fwprop.c (update_df): Change 0 to VOIDmode.
* gensupport.c: Change 0 to UNKNOWN.
* gimple.h (gimple_cond_code): Add cast to enum type.
* haifa-sched.c (reemit_notes): Add cast to enum type.
* hooks.c (hook_int_void_no_regs): Remove function.
* hooks.h (hook_int_void_no_regs): Remove declaration.
* optabs.c (expand_widen_pattern_expr): Change 0 to VOIDmode.
* predict.c (combine_predictions_for_insn): Add casts to enum
type.
* real.c (real_arithmetic): Add cast to enum type.
(real_compare): Likewise.
* target.h (struct gcc_target): Change return type of
branch_target_register_class to enum reg_class.
* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define as
default_branch_target_register_class.
* targhooks.c (default_branch_target_register_class): New
function.
* targhooks.h (default_branch_target_register_class): Declare.
* tree-data-ref.c (print_direction_vector): Add cast to enum
type.
* tree-vect-data-refs.c (vect_supportable_dr_alignment): Remove
cast to int.
* tree-vect-loop.c (vect_create_epilog_for_reduction): Change 0 to
ERROR_MARK.
* tree-vect-slp.c (vect_build_slp_tree): Change 0 to
vect_uninitialized_def.  Change 0 to ERROR_MARK.
* tree-vect-stmts.c (supportable_widening_operation): Don't
initialize icode1 and icode2.
* tree-vectorizer.h (enum vect_def_type): Add
vect_uninitialized_def.
* config/sol2-c.c (cmn_err_length_specs): Change 0 to FMT_LEN_none
and to STD_C89.
(cmn_err_flag_specs): Change 0 to STD_C89.
(cmn_err_char_table): Likewise.
* config/arm/arm.c (get_arm_condition_code): Change type of code
to enum arm_cond_code.
(IWMMXT_BUILTIN): Change 0 to UNKNOWN.
(IWMMXT_BUILTIN2): Likewise.
(neon_builtin_type_bits): Don't define typedef.
(neon_builtin_datum): Change type of bits field to int.
(arm_expand_neon_args): Add cast to enum type.
* config/ia64/ia64.c (tls_symbolic_operand_type): Change 0 to
TLS_MODEL_NONE.
* config/i386/i386.c (bdesc_multi_arg): Change 0 to UNKNOWN.  Add
casts to enum type.
* config/mips/mips.c (LOONGSON_BUILTIN_ALIAS): Change 0 to
MIPS_FP_COND_f.
* config/mips/mips.md (jal_macro): Return enum constant.
(single_insn): Likewise.
* config/rs6000/rs6000.c (bdesc_altivec_preds): Change 0 to
CODE_FOR_nothing.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
casts to enum type.
* config/s390/s390.c (s390_tune_flags): Change type to int.
(s390_arch_flags): Likewise.
(s390_handle_arch_option): Change flags field of struct pta to
int.
* config/s390/s390.h (s390_tune_flags): Update declaration.
(s390_arch_flags): Likewise.
* config/sh/sh.c (prepare_move_operands): Compare
tls_symbolic_operand result with enum constant.
(sh_reorg): Change PUT_MODE to PUT_REG_NOTE_KIND.
(sh_expand_prologue): Add cast to enum type.
(sh_expand_epilogue): Likewise.
(tls_symbolic_operand): Change return type to enum tls_model.
(fpscr_set_from_mem): Add cast to enum type.
(legitimize_pic_address): Compare tls_symbolic_operand result with
enum constant.
(sh_target_reg_class): Change return type to enum reg_class.
* config/sh/sh.h (OVERRIDE_OPTIONS): Change CPU_xxx to
PROCESSOR_xxx.
* config/sh/sh-protos.h (tls_symbolic_operand): Update
declaration.
* config/sparc/sparc.c (sparc_override_options): Add cast to enum
type.
* config/sparc/sparc.md (empty_delay_slot): Return enum constant.
(pic, calls_alloca, calls_eh_return, leaf_function): Likewise.
(delayed_branch, tls_call_delay): Likewise.
(eligible_for_sibcall_delay): Likewise.
(eligible_for_return_delay): Likewise.
* config/spu/spu.c (expand_builtin_args): Add cast to enum type.
(spu_expand_builtin_1): Likewise.

* c-typeck.c (convert_for_assignment): Issue -Wc++-compat warnings
for all types of conversions.
(output_init_element): Issue -Wc++-compat warning if needed when
initializing a bitfield with enum type.
* c-parser.c (c_parser_expression): Set original_type to
original_type of right hand operand of comman operator.
cp/:
* semantics.c (finish_omp_clauses): Change type of c_kind to enum
omp_clause_code.
fortran/:
* trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum
type.
* trans-io.c (st_parameter_field): Add casts to enum type.
java/:
* builtins.c (java_builtins): Add casts to enum type.
* verify-impl.c (check_class_constant): Add cast to enum type.
(check_constant, check_wide_constant): Likewise.
objc/:
* objc-act.c (objc_gimplify_expr): Add casts to enum type.
testsuite/:
* gcc.dg/Wcxx-compat-5.c: New testcase.
* gcc.dg/Wcxx-compat-6.c: New testcase.

From-SVN: r146855

15 years agoc-tree.texi (Types, [...]): Fix grammar nits.
Ralf Wildenhues [Mon, 27 Apr 2009 20:23:51 +0000 (20:23 +0000)]
c-tree.texi (Types, [...]): Fix grammar nits.

gcc/
* doc/c-tree.texi (Types, Functions, Expression trees): Fix
grammar nits.
* doc/cfg.texi (Maintaining the CFG, Liveness information):
Likewise.
* doc/cpp.texi (Standard Predefined Macros)
(Implementation-defined behavior): Likewise.
* doc/extend.texi (Function Attributes, Type Attributes):
Likewise.
* doc/gimple.texi (GIMPLE Exception Handling)
(@code{GIMPLE_ASSIGN}): Likewise.
* doc/install.texi (Prerequisites, Configuration, Specific):
Likewise.
* doc/invoke.texi (Warning Options, Optimize Options)
(AVR Options, Darwin Options): Likewise.
(Optimize Options): Reformulate -fwhole-program description.
* doc/loop.texi (Lambda): Likewise.
* doc/md.texi (Output Template, Define Constraints)
(Standard Names, Insn Splitting): Likewise.
* doc/options.texi (Option properties): Likewise.
* doc/passes.texi (Tree-SSA passes): Likewise.
* doc/rtl.texi (Side Effects, Assembler, Insns): Likewise.
* doc/tm.texi (Register Classes, Old Constraints, Scalar Return)
(File Names and DBX): Likewise.
* doc/trouble.texi (Incompatibilities): Likewise.

From-SVN: r146854

15 years ago* MAINTAINERS: Update my e-mail address.
James E. Wilson [Mon, 27 Apr 2009 19:51:20 +0000 (19:51 +0000)]
* MAINTAINERS: Update my e-mail address.

From-SVN: r146853

15 years agospu.c (spu_machine_dependent_reorg): Make sure branch label on hint instruction is...
Trevor Smigiel [Mon, 27 Apr 2009 19:33:20 +0000 (19:33 +0000)]
spu.c (spu_machine_dependent_reorg): Make sure branch label on hint instruction is correct.

* spu.c (spu_machine_dependent_reorg): Make sure branch label on hint
instruction is correct.

From-SVN: r146852

15 years agore PR testsuite/39807 (Reporting of testsuite failures are messed up when using -j)
Jakub Jelinek [Mon, 27 Apr 2009 19:11:23 +0000 (21:11 +0200)]
re PR testsuite/39807 (Reporting of testsuite failures are messed up when using -j)

PR testsuite/39807
* dg-extract-results.sh: Close open files and use >> instead of >
to decrease number of concurrently open files from awk.  Avoid
= at the beginning of a regexp and redirect to a file determined
by curfile variable rather than concatenated strings to workaround
Solaris nawk bug.

From-SVN: r146850

15 years agoAllow non-constant arguments to conversion intrinsics.
Trevor Smigiel [Mon, 27 Apr 2009 18:48:59 +0000 (18:48 +0000)]
Allow non-constant arguments to conversion intrinsics.

* spu-protos.h (exp2_immediate_p, spu_gen_exp2): Declare.
* predicates.md (spu_inv_exp2_operand, spu_exp2_operand): New.
* spu.c (print_operand): Handle 'v' and 'w'.
(exp2_immediate_p, spu_gen_exp2): Define.
* spu-builtins.def (spu_convts, spu_convtu, spu_convtf_0,
spu_convtf_1): Update parameter descriptions.
* spu-builtins.md (spu_csflt, spu_cuflt, spu_cflts, spu_cfltu):
Update.
* constraints.md ('v', 'w'): New.
* spu.md (UNSPEC_CSFLT, UNSPEC_CFLTS, UNSPEC_CUFLT, UNSPEC_CFLTU):
Remove.
(i2f, I2F): New define_mode_attr.
(floatsisf2, floatv4siv4sf2, fix_truncsfsi2, fix_truncv4sfv4si2,
floatunssisf2, floatunsv4siv4sf2, fixuns_truncsfsi2,
fixuns_truncv4sfv4si2):  Update to use mode attribute.
(float<mode><i2f>2_mul, float<mode><i2f>2_div,
fix_trunc<mode><f2i>2_mul, floatuns<mode><i2f>2_mul,
floatuns<mode><i2f>2_div, fixuns_trunc<mode><f2i>2_mul): New
patterns for combine.
* gcc.target/spu/intrinsics-3.c: Update tests.

From-SVN: r146849

15 years agodbgcnt.def (cprop1, [...]): Remove
Steven Bosscher [Mon, 27 Apr 2009 17:21:27 +0000 (17:21 +0000)]
dbgcnt.def (cprop1, [...]): Remove

* dbgcnt.def (cprop1, cprop2, gcse, jump_bypass): Remove
(cprop, hoist, pre, store_motion): New debug counters.
* tree-pass.h (pass_tracer): Move to list of gimple passes, it
is not an RTL pass anymore.
(pass_profiling): Remove extern decl for pass removed in 2005.
(pass_gcse, pass_jump_bypass): Remove.
* final.c (rest_of_clean_state): Set flag_rerun_cse_after_global_opts
to 0 for clean state.
* toplev.h (flag_rerun_cse_after_global_opts): Add extern declaration.
* cse.c (gate_handle_cse_after_global_opts,
rest_of_handle_cse_after_global_opts): New functions.
(pass_cse_after_global_opts): New pass, does local CSE.
* timevar.def (TV_GCSE, TV_CPROP1, TV_CPROP2, TV_BYPASS): Remove.
(TV_CPROP): New timevar.
* gcse.c (flag_rerun_cse_after_global_opts): New global variable.
(run_jump_opt_after_gcse, max_gcse_regno): Remove global vars.
(gcse_main, recompute_all_luids): Remove.
(compute_hash_table_work): Call max_reg_num instead of reading
max_gcse_regno.
(cprop_jump): Don't set run_jump_opt_after_gcse.
(constprop_register): Always allow to alter jumps.
(cprop_insn): Likewise.
(do_local_cprop): Likewise.
(local_cprop_pass): Likewise.  Return non-zero if something changed.
(cprop): Remove function, fold interesting bits into one_cprop_pass.
(find_implicit_sets): Add note about missed optimization opportunity.
(one_cprop_pass): Rewrite to be "the" CPROP pass, called from the
pass_rtl_cprop execute function.
Don't bother tracking the pass number, each pass gets its own dumpfile
now anyway.
Always allow to alter jumpsand bypass jumps.
(bypass_block): Don't ignore regno >= max_gcse_regno, find_bypass_set
will just find no suitable set.
(pre_edge_insert): Fix dumping, this function is for PRE only.
(one_pre_gcse_pass): Rewrite to be "the" PRE pass, called from the
pass_rtl_pre execute function.
(hoist_code): Return non-zero if something changed.  Keep track of
substitutions and insertions for statistics gathering similar to PRE.
(one_code_hoisting_pass): Rewrite to be "the" code hoisting pass,
called from the pass_rtl_hoist execute function.  Show pass statistics.
(compute_store_table): Use max_reg_num directly instead of using the
formerly global max_gcse_regno.
(build_store_vectors): Likewise.
(replace_store_insn): Fix dumping.
(store_motion): Rename to ...
(one_store_motion_pass): ... this.  Rewrite to be "the" STORE_MOTION
pass, called from the pass_rtl_store_motion execute function.  Keep
track of substitutions and insertions for statistics gathering similar
to PRE.
(bypass_jumps): Remove, fold interesting bits into ...
(one_cprop_pass): ... this.  Rewrite to be "the" CPROP pass, called
from the pass_rtl_cprop execute function.
(gate_handle_jump_bypass, rest_of_handle_jump_bypass,
pass_jump_bypass): Remove.
(gate_handle_gcse, rest_of_handle_gcse): Remove.
(gate_rtl_cprop, execute_rtl_cprop, pass_rtl_cprop): New.
(gate_rtl_pre, execute_rtl_pre, pass_rtl_pre): New.
(gate_rtl_hoist, execute_rtl_hoist, pass_rtl_hoist): New.
(gate_rtl_store_motion, execute_rtl_store_motion,
pass_rtl_store_motion): New.
* common.opt: Remove flag_cse_skip_blocks, adjust documentation to
make it clear that -fcse-skip-blocks is a no-op for backward compat.
* passes.c (init_optimization_passes): Remove pass_gcse and
pass_jump_bypass.  Schedule cprop, pre, hoist, cprop, store_motion,
and cse_after_global_opts in place of pass_gcse.  Schedule cprop
instead of pass_jump_bypass.

From-SVN: r146848

15 years agore PR c/39928 (gimplify_expr failure)
Richard Guenther [Mon, 27 Apr 2009 15:50:05 +0000 (15:50 +0000)]
re PR c/39928 (gimplify_expr failure)

2009-04-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/39928
* gimplify.c (gimplify_expr): If we are required to create
a temporary make sure it ends up as register.

* gcc.c-torture/compile/pr39928-1.c: New testcase.
* gcc.c-torture/compile/pr39928-2.c: Likewise.

From-SVN: r146846

15 years ago* MAINTAINERS: Replace Aldy Hernandez as a maintainer for the FRV.
Nick Clifton [Mon, 27 Apr 2009 14:35:42 +0000 (14:35 +0000)]
* MAINTAINERS: Replace Aldy Hernandez as a maintainer for the FRV.

From-SVN: r146843

15 years agore PR c/39903 (ICE on flexible member)
H.J. Lu [Mon, 27 Apr 2009 14:02:09 +0000 (14:02 +0000)]
re PR c/39903 (ICE on flexible member)

gcc/

2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39903
* config/i386/i386.c (construct_container): Don't call
gen_reg_or_parallel with BLKmode on X86_64_SSE_CLASS,
X86_64_SSESF_CLASS and X86_64_SSEDF_CLASS.

gcc/testsuite/

2009-04-27  H.J. Lu  <hongjiu.lu@intel.com>

PR target/39903
* gcc.dg/torture/pr39903-1.c: New.
* gcc.dg/torture/pr39903-2.c: Likewise.

From-SVN: r146842

15 years agoAdd dump file checks for sms tests
Revital Eres [Mon, 27 Apr 2009 12:17:09 +0000 (12:17 +0000)]
Add dump file checks for sms tests

From-SVN: r146838

15 years agossaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
Michael Matz [Mon, 27 Apr 2009 12:16:00 +0000 (12:16 +0000)]
ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.

* ssaexpand.h (struct ssaexpand): Member 'values' is a bitmap.
(get_gimple_for_ssa_name): Adjust, lookup using SSA_NAME_DEF_STMT.
* tree-ssa-live.h: (find_replaceable_exprs): Return a bitmap.
(dump_replaceable_exprs): Take a bitmap.
* cfgexpand.c (gimple_cond_pred_to_tree): Handle bitmap instead of
array.
(expand_gimple_basic_block): Likewise.
* tree-ssa-ter.c (struct temp_expr_table_d): Make
replaceable_expressions member a bitmap.
(free_temp_expr_table): Pass back and deal with bitmap, not gimple*.
(mark_replaceable): Likewise.
(find_replaceable_in_bb, dump_replaceable_exprs): Likewise.
* tree-outof-ssa.c (remove_ssa_form): 'values' is a bitmap.

From-SVN: r146837

15 years agore PR java/38374 (constant pool references have wrong types in ADDR_EXPR)
Richard Guenther [Mon, 27 Apr 2009 11:18:38 +0000 (11:18 +0000)]
re PR java/38374 (constant pool references have wrong types in ADDR_EXPR)

2009-04-27  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (remove_useless_stmts): Verify stmts afterwards.
(verify_stmts): Dispatch to gimple/type verification code.
* tree-inline.c (remap_gimple_op_r): Work around C++ FE
issue with call argument types.

java/
PR java/38374
* constants.c (build_constants_constructor): Retain the old
pointer type as valid TYPE_POINTER_TO after patching the
type of the constant pool decl.

From-SVN: r146831

15 years agotree-into-ssa.c (regs_to_rename, [...]): Remove.
Michael Matz [Mon, 27 Apr 2009 11:15:53 +0000 (11:15 +0000)]
tree-into-ssa.c (regs_to_rename, [...]): Remove.

        * tree-into-ssa.c (regs_to_rename, mem_syms_to_rename): Remove.
        (init_update_ssa, delete_update_ssa, update_ssa): Remove references
        to above.

From-SVN: r146830

15 years agoresource.c (find_basic_block): Use BLOCK_FOR_INSN to look up a label's basic block.
Eric Botcazou [Mon, 27 Apr 2009 10:42:09 +0000 (10:42 +0000)]
resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up a label's basic block.

* resource.c (find_basic_block): Use BLOCK_FOR_INSN to look up
a label's basic block.
(mark_target_live_regs): Tidy and rework obsolete comments.
Change back DF problem to LIVE.  If a label starts a basic block,
assume that all registers that used to be live then still are.
(init_resource_info): If a label starts a basic block, set its
BLOCK_FOR_INSN accordingly.
(fini_resource_info): Undo the setting of BLOCK_FOR_INSN.

From-SVN: r146829

15 years agotree-flow-inline.h (function_ann): Remove.
Richard Guenther [Mon, 27 Apr 2009 08:26:40 +0000 (08:26 +0000)]
tree-flow-inline.h (function_ann): Remove.

2009-04-27  Richard Guenther  <rguenther@suse.de>

* tree-flow-inline.h (function_ann): Remove.
(get_function_ann): Likewise.
* tree-dfa.c (create_function_ann): Remove.
* tree-flow.h (struct static_var_ann_d): Remove.
(struct function_ann_d): Likewise.
(union tree_ann_d): Remove fdecl member.
(function_ann_t): Remove.
(function_ann, get_function_ann, create_function_ann): Remove
declarations.

From-SVN: r146828

15 years agoalpha.c (code_for_builtin): Declare as enum insn_code.
Uros Bizjak [Mon, 27 Apr 2009 07:20:29 +0000 (09:20 +0200)]
alpha.c (code_for_builtin): Declare as enum insn_code.

* config/alpha/alpha.c (code_for_builtin): Declare as enum insn_code.

From-SVN: r146826

15 years agore PR c++/39875 (Wrong "value computed is not used" warning)
Jakub Jelinek [Mon, 27 Apr 2009 05:54:32 +0000 (07:54 +0200)]
re PR c++/39875 (Wrong "value computed is not used" warning)

PR c++/39875
* cvt.c (convert_to_void) <case INDIRECT_REF>: Only warn about
-Wunused-value if implicit.

* g++.dg/warn/Wunused-15.C: New test.

From-SVN: r146825

15 years agoDaily bump.
GCC Administrator [Mon, 27 Apr 2009 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r146824

15 years agoipa-pure-const.c (struct funct_state_d): New fields state_previously_known, looping_p...
Jan Hubicka [Sun, 26 Apr 2009 23:35:27 +0000 (01:35 +0200)]
ipa-pure-const.c (struct funct_state_d): New fields state_previously_known, looping_previously_known...

* ipa-pure-const.c (struct funct_state_d): New fields
state_previously_known, looping_previously_known; remove
state_set_in_source.
(analyze_function): Use new fields.
(propagate): Avoid assumption that state_set_in_source imply
nonlooping.

* tree-ssa-loop-niter.c (finite_loop_p): New function.
* tree-ssa-loop-ivcanon.c (empty_loop_p): Use it.
* cfgloop.h (finite_loop_p): Declare.

From-SVN: r146821

15 years ago* tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.
Michael Matz [Sun, 26 Apr 2009 22:13:39 +0000 (22:13 +0000)]
* tree-flow.h (tree_ann_common_d): Remove aux and value_handle members.

From-SVN: r146820

15 years agotree-pass.h (pass_del_ssa, [...]): Remove decls.
Michael Matz [Sun, 26 Apr 2009 22:09:50 +0000 (22:09 +0000)]
tree-pass.h (pass_del_ssa, [...]): Remove decls.

* tree-pass.h (pass_del_ssa, pass_mark_used_blocks,
pass_free_cfg_annotations, pass_free_datastructures): Remove decls.
* gimple-low.c (mark_blocks_with_used_vars, mark_used_blocks,
pass_mark_used_blocks): Remove.
* tree-optimize.c (pass_free_datastructures,
execute_free_cfg_annotations, pass_free_cfg_annotations): Remove.
* passes.c (init_optimization_passes): Don't call
pass_mark_used_blocks, remove dead code.

From-SVN: r146819

15 years agotree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.
H.J. Lu [Sun, 26 Apr 2009 21:40:47 +0000 (21:40 +0000)]
tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.

2009-04-26  H.J. Lu  <hongjiu.lu@intel.com>

* tree-outof-ssa.c (rewrite_trees): Add ATTRIBUTE_UNUSED.
* tree-ssa-live.h (register_ssa_partition): Likewise.

From-SVN: r146818

15 years agoExpand from SSA.
Michael Matz [Sun, 26 Apr 2009 19:35:04 +0000 (19:35 +0000)]
Expand from SSA.

gcc/
        Expand from SSA.
* builtins.c (fold_builtin_next_arg): Handle SSA names.
* tree-ssa-copyrename.c (rename_ssa_copies): Use ssa_name() directly.
* tree-ssa-coalesce.c (create_outofssa_var_map): Mark only useful
SSA names.
(compare_pairs): Swap cost comparison.
(coalesce_ssa_name): Don't use change_partition_var.
* tree-nrv.c (struct nrv_data): Add modified member.
(finalize_nrv_r): Set it.
(tree_nrv): Use it to update statements.
(pass_nrv): Require PROP_ssa.
* tree-mudflap.c (mf_decl_cache_locals,
mf_build_check_statement_for): Use make_rename_temp.
(pass_mudflap_2): Require PROP_ssa, run ssa update at finish.
* alias.c (find_base_decl): Handle SSA names.
* emit-rtl (set_reg_attrs_for_parm): Make non-static.
(component_ref_for_mem_expr): Don't leak SSA names into RTL.
* rtl.h (set_reg_attrs_for_parm): Declare.
* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Rename
to "optimized", remove unused locals at finish.
(execute_free_datastructures): Make global, call
delete_tree_cfg_annotations.
(execute_free_cfg_annotations): Don't call
delete_tree_cfg_annotations.

* ssaexpand.h: New file.
* expr.c (toplevel): Include ssaexpand.h.
(expand_assignment): Handle SSA names the same as register
variables.
(expand_expr_real_1): Expand SSA names.
* cfgexpand.c (toplevel): Include ssaexpand.h.
(SA): New global variable.
(gimple_cond_pred_to_tree): Fold TERed comparisons into predicates.
(SSAVAR): New macro.
(set_rtl): New helper function.
(add_stack_var): Deal with SSA names, use set_rtl.
(expand_one_stack_var_at): Likewise.
(expand_one_stack_var): Deal with SSA names.
(stack_var_size_cmp): Use code (SSA_NAME / DECL) as tie breaker
before unique numbers.
(expand_stack_vars): Use set_rtl.
(expand_one_var): Accept SSA names, add asserts for them, feed them
to above subroutines.
(expand_used_vars): Expand all partitions (without default defs),
then only the local decls (ignoring those expanded already).
(expand_gimple_cond): Remove edges when jumpif() expands an
unconditional jump.
(expand_gimple_basic_block): Don't clear EDGE_EXECUTABLE here,
or remove abnormal edges.  Ignore insns setting the LHS of a TERed
SSA name.
(gimple_expand_cfg): Call into rewrite_out_of_ssa, initialize
members of SA; deal with PARM_DECL partitions here; expand
all PHI nodes, free tree datastructures and SA.  Commit instructions
on edges, clear EDGE_EXECUTABLE and remove abnormal edges here.
(pass_expand): Require and destroy PROP_ssa, verify SSA form, flow
info and statements at start, collect garbage at finish.
* tree-ssa-live.h (struct _var_map): Remove partition_to_var member.
(VAR_ANN_PARTITION) Remove.
(change_partition_var): Don't declare.
(partition_to_var): Always return SSA names.
(var_to_partition): Only accept SSA names.
(register_ssa_partition): Only check argument.
* tree-ssa-live.c (init_var_map): Don't allocate partition_to_var
member.
(delete_var_map): Don't free it.
(var_union): Only accept SSA names, simplify.
(partition_view_init): Mark only useful SSA names as used.
(partition_view_fini): Only deal with SSA names.
(change_partition_var): Remove.
(dump_var_map): Use ssa_name instead of partition_to_var member.
* tree-ssa.c (delete_tree_ssa): Don't remove PHI nodes on RTL
basic blocks.
* tree-outof-ssa.c (toplevel): Include ssaexpand.h and expr.h.
(struct _elim_graph): New member const_dests; nodes member vector of
ints.
(set_location_for_edge): New static helper.
(create_temp): Remove.
(insert_partition_copy_on_edge, insert_part_to_rtx_on_edge,
insert_value_copy_on_edge, insert_rtx_to_part_on_edge): New
functions.
(new_elim_graph): Allocate const_dests member.
(clean_elim_graph): Truncate const_dests member.
(delete_elim_graph): Free const_dests member.
(elim_graph_size): Adapt to new type of nodes member.
(elim_graph_add_node): Likewise.
(eliminate_name): Likewise.
(eliminate_build): Don't take basic block argument, deal only with
partition numbers, not variables.
(get_temp_reg): New static helper.
(elim_create): Use it, deal with RTL temporaries instead of trees.
(eliminate_phi): Adjust all calls to new signature.
(assign_vars, replace_use_variable, replace_def_variable): Remove.
(rewrite_trees): Only do checking.
(edge_leader, stmt_list, leader_has_match, leader_match): Remove.
(same_stmt_list_p, identical_copies_p, identical_stmt_lists_p,
init_analyze_edges_for_bb, fini_analyze_edges_for_bb,
contains_tree_r, MAX_STMTS_IN_LATCH,
process_single_block_loop_latch, analyze_edges_for_bb,
perform_edge_inserts): Remove.
(expand_phi_nodes): New global function.
(remove_ssa_form): Take ssaexpand parameter.  Don't call removed
functions, initialize new parameter, remember partitions having a
default def.
(finish_out_of_ssa): New global function.
(rewrite_out_of_ssa): Make global.  Adjust call to remove_ssa_form,
don't reset in_ssa_p here, don't disable TER when mudflap.
(pass_del_ssa): Remove.
* tree-flow.h (struct var_ann_d): Remove out_of_ssa_tag and
partition members.
(execute_free_datastructures): Declare.
* Makefile.in (SSAEXPAND_H): New variable.
(tree-outof-ssa.o, expr.o, cfgexpand.o): Depend on SSAEXPAND_H.
* basic-block.h (commit_one_edge_insertion): Declare.
* passes.c (init_optimization_passes): Move pass_nrv and
pass_mudflap2 before pass_cleanup_cfg_post_optimizing, remove
pass_del_ssa, pass_free_datastructures, pass_free_cfg_annotations.
* cfgrtl.c (commit_one_edge_insertion): Make global, don't declare.
(redirect_branch_edge): Deal with super block when expanding, split
out jump patching itself into ...
(patch_jump_insn): ... here, new static helper.

testsuite/

Expand from SSA.
* gcc.dg/tree-ssa/20030728-1.c: Use -rtl-expand-details dump and
change regexps.
* gcc.target/i386/pr37248-1.c: Modified.
* gcc.target/i386/pr37248-3.c: Modified.
* gcc.target/i386/pr37248-2.c: Modified.
* gnat.dg/aliasing1.adb: Modified.
* gnat.dg/pack9.adb: Modified.
* gnat.dg/aliasing2.adb: Modified.
* gcc.dg/strict-overflow-2.c: Modified.
* gcc.dg/autopar/reduc-1char.c: Modified.
* gcc.dg/autopar/reduc-2char.c: Modified.
* gcc.dg/autopar/reduc-1.c: Modified.
* gcc.dg/autopar/reduc-2.c: Modified.
* gcc.dg/autopar/reduc-3.c: Modified.
* gcc.dg/autopar/reduc-6.c: Modified.
* gcc.dg/autopar/reduc-7.c: Modified.
* gcc.dg/autopar/reduc-8.c: Modified.
* gcc.dg/autopar/reduc-9.c: Modified.
* gcc.dg/autopar/reduc-1short.c: Modified.
* gcc.dg/autopar/reduc-2short.c: Modified.
* gcc.dg/autopar/parallelization-1.c: Modified.
* gcc.dg/strict-overflow-4.c: Modified.
* gcc.dg/strict-overflow-6.c: Modified.
* gcc.dg/gomp/combined-1.c: Modified.
* gcc.dg/no-strict-overflow-1.c: Modified.
* gcc.dg/no-strict-overflow-3.c: Modified.
* gcc.dg/no-strict-overflow-5.c: Modified.
* gcc.dg/tree-ssa/reassoc-13.c: Modified.
* gcc.dg/tree-ssa/pr18134.c: Modified.
* gcc.dg/tree-ssa/20030824-1.c: Modified.
* gcc.dg/tree-ssa/vector-2.c: Modified.
* gcc.dg/tree-ssa/forwprop-9.c: Modified.
* gcc.dg/tree-ssa/loop-21.c: Modified.
* gcc.dg/tree-ssa/20030824-2.c: Modified.
* gcc.dg/tree-ssa/vector-3.c: Modified.
* gcc.dg/tree-ssa/asm-3.c: Modified.
* gcc.dg/tree-ssa/pr23294.c: Modified.
* gcc.dg/tree-ssa/loop-22.c: Modified.
* gcc.dg/tree-ssa/loop-15.c: Modified.
* gcc.dg/tree-ssa/prefetch-4.c: Modified.
* gcc.dg/tree-ssa/pr22051-1.c: Modified.
* gcc.dg/tree-ssa/pr20139.c: Modified.
* gcc.dg/tree-ssa/scev-cast.c: Modified.
* gcc.dg/tree-ssa/pr22051-2.c: Modified.
* gcc.dg/tree-ssa/reassoc-1.c: Modified.
* gcc.dg/tree-ssa/loop-5.c: Modified.
* gcc.dg/tree-ssa/pr19431.c: Modified.
* gcc.dg/tree-ssa/pr32044.c: Modified.
* gcc.dg/tree-ssa/prefetch-7.c: Modified.
* gcc.dg/tree-ssa/loop-19.c: Modified.
* gcc.dg/tree-ssa/loop-28.c: Modified.
* gcc.dg/tree-ssa/ssa-pre-15.c: Modified.
* gcc.dg/tree-ssa/divide-1.c: Modified.
* gcc.dg/tree-ssa/inline-1.c: Modified.
* gcc.dg/tree-ssa/divide-3.c: Modified.
* gcc.dg/tree-ssa/pr30978.c: Modified.
* gcc.dg/tree-ssa/alias-6.c: Modified.
* gcc.dg/tree-ssa/divide-4.c: Modified.
* gcc.dg/tree-ssa/alias-11.c: Modified.
* gcc.dg/no-strict-overflow-7.c: Modified.
* gcc.dg/strict-overflow-1.c: Modified.
* gcc.dg/pr15784-4.c: Modified.
* gcc.dg/pr34263.c: Modified.
* gcc.dg/strict-overflow-3.c: Modified.
* gcc.dg/tree-prof/stringop-1.c: Modified.
* gcc.dg/tree-prof/val-prof-1.c: Modified.
* gcc.dg/tree-prof/val-prof-2.c: Modified.
* gcc.dg/tree-prof/val-prof-3.c: Modified.
* gcc.dg/tree-prof/val-prof-4.c: Modified.
* gcc.dg/no-strict-overflow-2.c: Modified.
* gcc.dg/no-strict-overflow-4.c: Modified.
* gcc.dg/no-strict-overflow-6.c: Modified.
* g++.dg/tree-ssa/pr27090.C: Modified.
* g++.dg/tree-ssa/tmmti-2.C: Modified.
* g++.dg/tree-ssa/ptrmemfield.C: Modified.
* g++.dg/tree-ssa/pr19807.C: Modified.
* g++.dg/opt/pr30965.C: Modified.
* g++.dg/init/new17.C: Modified.
* gfortran.dg/whole_file_6.f90: Modified.
* gfortran.dg/whole_file_5.f90: Modified.
* gfortran.dg/reassoc_1.f90: Modified.
* gfortran.dg/reassoc_3.f90: Modified.

From-SVN: r146817

15 years agore PR fortran/39893 ([4.4] gfortran ICE on invalid program)
Steven G. Kargl [Sun, 26 Apr 2009 19:27:50 +0000 (19:27 +0000)]
re PR fortran/39893 ([4.4] gfortran ICE on invalid program)

2009-04-26  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/39893
* gfortran.dg/assumed_charlen_dummy.f90: New Test.

2009-04-26  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/39893
fortran/data.c (gfc_assign_data_value): If the lvalue is an
assumed character length entity in a data statement, then
return FAILURE to prevent segmentation fault.

From-SVN: r146816

15 years agotree-ssa-copyrename.c (rename_ssa_copies): Don't iterate beyond num_ssa_names.
Michael Matz [Sun, 26 Apr 2009 19:24:16 +0000 (19:24 +0000)]
tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate beyond num_ssa_names.

* tree-ssa-copyrename.c (rename_ssa_copies): Don't iterate
beyond num_ssa_names.
* tree-ssa-ter.c (free_temp_expr_table): Likewise.
* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.

From-SVN: r146815

15 years agore PR inline-asm/39543 (Reload failure on mplayer from SVN)
Jakub Jelinek [Sun, 26 Apr 2009 18:56:14 +0000 (20:56 +0200)]
re PR inline-asm/39543 (Reload failure on mplayer from SVN)

PR inline-asm/39543
* fwprop.c (forward_propagate_asm): New function.
(forward_propagate_and_simplify): Propagate also into __asm, if it
doesn't increase the number of referenced registers.

* gcc.target/i386/pr39543-1.c: New test.
* gcc.target/i386/pr39543-2.c: New test.
* gcc.target/i386/pr39543-3.c: New test.

From-SVN: r146813

15 years agore PR c/39889 (Bogus -Wunused-value warning)
Jakub Jelinek [Sun, 26 Apr 2009 18:51:07 +0000 (20:51 +0200)]
re PR c/39889 (Bogus -Wunused-value warning)

PR c/39889
* stmt.c (warn_if_unused_value): Look through NON_LVALUE_EXPR.

* gcc.dg/Wunused-value-3.c: New test.

From-SVN: r146811

15 years agotree-nested.c (get_nonlocal_vla_type): If not optimizing, call note_nonlocal_vla_type...
Jakub Jelinek [Sun, 26 Apr 2009 18:47:54 +0000 (20:47 +0200)]
tree-nested.c (get_nonlocal_vla_type): If not optimizing, call note_nonlocal_vla_type for nonlocal VLAs.

* tree-nested.c (get_nonlocal_vla_type): If not optimizing, call
note_nonlocal_vla_type for nonlocal VLAs.
(note_nonlocal_vla_type, note_nonlocal_block_vlas,
contains_remapped_vars, remap_vla_decls): New functions.
(convert_nonlocal_reference_stmt): If not optimizing, call
note_nonlocal_block_vlas on GIMPLE_BIND block vars.
(nesting_copy_decl): Return {VAR,PARM,RESULT}_DECL unmodified
if it wasn't found in var_map.
(finalize_nesting_tree_1): Call remap_vla_decls.  If outermost
GIMPLE_BIND doesn't have gimple_bind_block, chain debug_var_chain
to BLOCK_VARS (DECL_INITIAL (root->context)) instead of calling
declare_vars.
* gimplify.c (nonlocal_vlas): New variable.
(gimplify_var_or_parm_decl): Add debug VAR_DECLs for non-local
referenced VLAs.
(gimplify_body): Create and destroy nonlocal_vlas.

* trans-decl.c: Include pointer-set.h.
(nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables.
(gfc_nonlocal_dummy_array_decl): New function.
(gfc_get_symbol_decl): Call it for non-local dummy args with saved
descriptor.
(gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed.
(gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset},
chain it to outermost block's vars, destroy it afterwards.
* Make-lang.in (trans-decl.o): Depend on pointer-set.h.

From-SVN: r146810

15 years agodwarf2out.c (loc_descr_plus_const): New function.
Jakub Jelinek [Sun, 26 Apr 2009 18:45:41 +0000 (20:45 +0200)]
dwarf2out.c (loc_descr_plus_const): New function.

* dwarf2out.c (loc_descr_plus_const): New function.
(build_cfa_aligned_loc, tls_mem_loc_descriptor,
mem_loc_descriptor, loc_descriptor_from_tree_1,
descr_info_loc, gen_variable_die): Use it.

From-SVN: r146809

15 years agotree.h (DECL_BY_REFERENCE): Note that it is also valid for !TREE_STATIC VAR_DECLs.
Jakub Jelinek [Sun, 26 Apr 2009 18:44:59 +0000 (20:44 +0200)]
tree.h (DECL_BY_REFERENCE): Note that it is also valid for !TREE_STATIC VAR_DECLs.

* tree.h (DECL_BY_REFERENCE): Note that it is also valid for
!TREE_STATIC VAR_DECLs.
* dwarf2out.c (loc_by_reference, gen_decl_die): Handle
DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
(gen_variable_die): Likewise.  Don't look at TREE_PRIVATE if
DECL_BY_REFERENCE is valid.
* dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
* tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
Copy DECL_BY_REFERENCE.
(struct nesting_copy_body_data): New type.
(nesting_copy_decl): New function.
(finalize_nesting_tree_1): Remap types of debug_var_chain variables,
if they have variable length.

From-SVN: r146808

15 years agotree-sra.c (sra_build_assignment): Don't use into_ssa mode, mark new temporaries...
Michael Matz [Sun, 26 Apr 2009 17:11:22 +0000 (17:11 +0000)]
tree-sra.c (sra_build_assignment): Don't use into_ssa mode, mark new temporaries for renaming

* tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
mark new temporaries for renaming

From-SVN: r146807

15 years agore PR c/39581 (VLA types at file scope wrongly rejected)
Joseph Myers [Sun, 26 Apr 2009 17:00:04 +0000 (18:00 +0100)]
re PR c/39581 (VLA types at file scope wrongly rejected)

PR c/39581
* c-decl.c (global_bindings_p): Return negative value.
(c_variable_size): New.  Based on variable_size from
stor-layout.c.
(grokdeclarator): Call c_variable_size not variable_size.

testsuite:
* gcc.dg/c99-const-expr-14.c, gcc.dg/gnu99-const-expr-4.c,
gcc.dg/vla-21.c: New tests.

From-SVN: r146806

15 years agoi386.c (print_operand): Fix typo.
Uros Bizjak [Sun, 26 Apr 2009 16:50:24 +0000 (18:50 +0200)]
i386.c (print_operand): Fix typo.

* config/i386/i386.c (print_operand) ['z']: Fix typo.

From-SVN: r146804

15 years agoaot-compile.in: Print diagnostics for malformed or invalid class files.
Matthias Klose [Sun, 26 Apr 2009 14:11:58 +0000 (14:11 +0000)]
aot-compile.in: Print diagnostics for malformed or invalid class files.

2009-04-26  Matthias Klose <doko@ubuntu.com>

        * contrib/aot-compile.in: Print diagnostics for malformed or invalid
        class files.
        * contrib/generate-cacerts.pl.in: New.
        * configure.ac (AC_CONFIG_FILES): Add generate-cacerts.pl.

From-SVN: r146802

15 years agomingw-w64.h (STANDARD_INCLUDE_DIR): Redefine it to just use mingw/include.
Kai Tietz [Sun, 26 Apr 2009 13:50:12 +0000 (13:50 +0000)]
mingw-w64.h (STANDARD_INCLUDE_DIR): Redefine it to just use mingw/include.

2009-04-26  Kai Tietz  <kai.tietz@onevision.com>

* config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
Redefine it to just use mingw/include.
(ASM_SPEC): Rules for -m32 and -m64.
(LINK_SPEC): Use Likewise.
(SPEC_32): New define.
(SPEC_64): Likewise.
(SUB_LINK_SPEC): Likewise.
(MULTILIB_DEFAULTS): New define.
* config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
Add multilib options.
(MULTILIB_DIRNAMES): Likewise.
(MULTILIB_OSDIRNAMES): Likewise.
(LIBGCC): Likewise.
(INSTALL_LIBGCC): Likewise.

From-SVN: r146801

15 years agore PR c/39556 (statics in C99 inline functions later declared extern)
Joseph Myers [Sun, 26 Apr 2009 13:40:19 +0000 (14:40 +0100)]
re PR c/39556 (statics in C99 inline functions later declared extern)

PR c/39556
* c-tree.h (enum c_inline_static_type): New.
(record_inline_static): Declare.
* c-decl.c (struct c_inline_static, c_inline_statics,
record_inline_static, check_inline_statics): New.
(pop_file_scope): Call check_inline_statics.
(start_decl): Call record_inline_static instead of pedwarning
directly for static in inline function.
* c-typeck.c (build_external_ref): Call record_inline_static
instead of pedwarning directly for static referenced in inline
function.

testsuite:
* gcc.dg/inline-34.c: New test.

From-SVN: r146800

15 years agodf-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is not new but only being...
Steven Bosscher [Sun, 26 Apr 2009 12:28:53 +0000 (12:28 +0000)]
df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is not new but only being rescanned.

* df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
not new but only being rescanned.
* gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
alloc_reg_set_mem, free_reg_set_mem, record_one_set,
record_set_info, compute_set, grealloc): Remove.
(recompute_all_luids): New function.
(gcse_main): Don't compute sets, and don't do related memory
allocations/free-ing.  If something changed before the end of the
pass, update LUIDs using recompute_all_luids.
(alloc_gcse_mem): Don't compute LUIDs.  Don't allocate reg_set memory.
(free_gcse_mem): Don't free it either.
(oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
Use the df insn LUIDs.
(load_killed_in_block): Likewise.
(compute_hash_table_work): Don't compute reg_set_in_block.
(compute_transp): Use DF_REG_DEF_CHAINs.
(local_cprop_pass): Don't use compute_sets and related functions.
(one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
Use get_max_uid() instead of max_cuid.
(insert_insn_end_basic_block, pre_insert_copy_insn,
update_ld_motion_stores): Don't try to
keep reg_set tables up to date.
(pre_insert_copies): Use df insn LUIDs.
(sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
(reg_set_info): Don't use extra bitmap argument.
(compute_store_table): Don't compute reg_set_in_block.  Use DF scan
information to compute regs_set_in_block.
(free_store_memory, store_motion): Don't nullify reg_set_in_block.
(bypass_jumps): Don't use compute_sets and friends.

From-SVN: r146799

15 years ago2009-04-26 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Sun, 26 Apr 2009 10:12:08 +0000 (10:12 +0000)]
2009-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

Revert the last commit.

From-SVN: r146796

15 years agore PR testsuite/39710 (gcc.misc-tests/help.exp doesn't work when configured with...
Ralf Wildenhues [Sun, 26 Apr 2009 08:18:48 +0000 (08:18 +0000)]
re PR testsuite/39710 (gcc.misc-tests/help.exp doesn't work when configured with --enable-checking=assert)

gcc/
PR testsuite/39710
* opts.c (undocumented_msg): Do not leave blank even with
ENABLE_CHECKING.

From-SVN: r146795

15 years agoUpdate copyright year. Committed without a ChangeLog entry.
Ian Lance Taylor [Sun, 26 Apr 2009 03:51:54 +0000 (03:51 +0000)]
Update copyright year.  Committed without a ChangeLog entry.

From-SVN: r146794

15 years agoMakefile.in (needed-list): Target removed (not used in GCC 3.0 and later).
Eli Zaretskii [Sun, 26 Apr 2009 02:23:29 +0000 (02:23 +0000)]
Makefile.in (needed-list): Target removed (not used in GCC 3.0 and later).

* Makefile.in (needed-list): Target removed (not used in GCC
3.0 and later).  All references deleted.
(mostlyclean): Remove references to needed.awk and needed2.awk.

From-SVN: r146793

15 years agoDaily bump.
GCC Administrator [Sun, 26 Apr 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r146792

15 years agoc-decl.c (build_enumerator): Allow values folding to integer constants but not intege...
Joseph Myers [Sat, 25 Apr 2009 23:30:10 +0000 (00:30 +0100)]
c-decl.c (build_enumerator): Allow values folding to integer constants but not integer constant expressions...

* c-decl.c (build_enumerator): Allow values folding to integer
constants but not integer constant expressions with a pedwarn if
pedantic.

testsuite:
* gcc.dg/enum-const-1.c, gcc.dg/enum-const-2.c,
gcc.dg/enum-const-3.c: New tests.
* gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu99-const-expr-1.c: Use
-pedantic-errors.  Update expected diagnostics.

From-SVN: r146789

15 years agore PR c/39582 (bad errors for some uses of [*] arrays)
Joseph Myers [Sat, 25 Apr 2009 21:19:09 +0000 (22:19 +0100)]
re PR c/39582 (bad errors for some uses of [*] arrays)

PR c/39582
* c-typeck.c (c_expr_sizeof_type): Create a C_MAYBE_CONST_EXPR
with non-null C_MAYBE_CONST_EXPR_PRE if size of a variable-length
type is an integer constant.

testsuite:
* gcc.dg/vla-20.c: New test.

From-SVN: r146787

15 years agomutex (__get_once_functor_lock, [...]): Replace global lock object with local locks...
Jonathan Wakely [Sat, 25 Apr 2009 20:14:27 +0000 (20:14 +0000)]
mutex (__get_once_functor_lock, [...]): Replace global lock object with local locks on global mutex.

2009-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

* include/std/mutex (__get_once_functor_lock, __get_once_mutex):
Replace global lock object with local locks on global mutex.
* src/mutex.cc: Likewise.
* config/abi/pre/gnu.ver: Adjust.
* testsuite/30_threads/call_once/call_once2.cc: New.

From-SVN: r146785

15 years agore PR target/39897 (Revision 146761 caused libgomp.fortran/omp_atomic1.f90)
Uros Bizjak [Sat, 25 Apr 2009 20:11:01 +0000 (22:11 +0200)]
re PR target/39897 (Revision 146761 caused libgomp.fortran/omp_atomic1.f90)

PR target/39897
* config/i386/i386.c (print_operand) ['z']: Revert handling of
HImode operands.

From-SVN: r146784

15 years agotest_summary: Only include LAST_UPDATED if it exists.
Gerald Pfeifer [Sat, 25 Apr 2009 20:03:12 +0000 (20:03 +0000)]
test_summary: Only include LAST_UPDATED if it exists.

* test_summary: Only include LAST_UPDATED if it exists.
Complete copyright years.

From-SVN: r146783

15 years agore PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)
Paolo Carlini [Sat, 25 Apr 2009 19:02:17 +0000 (19:02 +0000)]
re PR libstdc++/39880 (Specialisation is_error_code_enum<errc> should not exist)

2009-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/39880
PR libstdc++/39881
PR libstdc++/39882
* include/std/system_error (is_error_code_enum<errc>): Remove.
(error_condition<>::error_condition(_ErrorCodeEnum,)
error_condition<>::operator=(_ErrorCodeEnum)): Use make_error_condition.
(error_code<>::error_code(_ErrorCodeEnum,),
error_code<>::operator=(_ErrorCodeEnum)): Use make_error_code.
* testsuite/19_diagnostics/system_error/39880.cc: New.
* testsuite/19_diagnostics/error_condition/modifiers/39881.cc:
Likewise.
* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
* testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
Adjust.
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
Likewise.
* testsuite/19_diagnostics/error_code/cons/1.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/bool.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
* testsuite/19_diagnostics/error_code/operators/not_equal.cc:
Likewise.
* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Likewise.
* testsuite/19_diagnostics/system_error/cons-1.cc: Likewise.
* testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.

From-SVN: r146781