platform/upstream/gcc.git
14 years agofinal.c (add_debug_prefix_map): Don't use GC memory for old_prefix and new_prefix.
Rafael Avila de Espindola [Fri, 14 Aug 2009 15:39:15 +0000 (15:39 +0000)]
final.c (add_debug_prefix_map): Don't use GC memory for old_prefix and new_prefix.

2009-08-14  Rafael Avila de Espindola  <espindola@google.com>

        * final.c (add_debug_prefix_map): Don't use GC memory for
        old_prefix and new_prefix.

From-SVN: r150759

14 years agoipa-prop.c (compute_complex_pass_through): If we cannot compute a non-varying offset...
Richard Guenther [Fri, 14 Aug 2009 15:07:43 +0000 (15:07 +0000)]
ipa-prop.c (compute_complex_pass_through): If we cannot compute a non-varying offset for IPA_JF_ANCESTOR punt.

2009-08-14  Richard Guenther  <rguenther@suse.de>

* ipa-prop.c (compute_complex_pass_through): If we cannot
compute a non-varying offset for IPA_JF_ANCESTOR punt.

* gcc.c-torture/execute/20090814-1.c: New testcase.

From-SVN: r150757

14 years agoc-lex.c (c_lex_with_flags): Increase size of local variable to avoid memory clobber.
Ulrich Weigand [Fri, 14 Aug 2009 14:38:24 +0000 (14:38 +0000)]
c-lex.c (c_lex_with_flags): Increase size of local variable to avoid memory clobber.

* c-lex.c (c_lex_with_flags): Increase size of local variable
to avoid memory clobber.

From-SVN: r150756

14 years agographite_autopar: Move to libgomp testsuite.
David Edelsohn [Fri, 14 Aug 2009 14:02:43 +0000 (14:02 +0000)]
graphite_autopar: Move to libgomp testsuite.

gcc/testsuite/
        * gcc.dg/graphite/graphite_autopar: Move to libgomp testsuite.

libgomp/
        * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
        * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
        * testsuite/libgomp.graphite/graphite.exp: New.

From-SVN: r150755

14 years agore PR target/40934 (ICE in get_hard_regnum, at reg-stack.c:741)
Paolo Bonzini [Fri, 14 Aug 2009 12:14:04 +0000 (12:14 +0000)]
re PR target/40934 (ICE in get_hard_regnum, at reg-stack.c:741)

2009-08-14  Paolo Bonzini  <bonzini@gnu.org>

PR target/40934
* config/i386/i386.c (ix86_fp_comparison_strategy):
Only enable/disable sahf at function granularity.

gcc/testsuite:
2009-08-14  Paolo Bonzini  <bonzini@gnu.org>

PR target/40934
* gcc.target/i386/pr40934.c: New.

From-SVN: r150754

14 years agore PR rtl-optimization/41064 (build breakage for cris-elf building newlib, ICE in...
Hans-Peter Nilsson [Fri, 14 Aug 2009 11:36:45 +0000 (11:36 +0000)]
re PR rtl-optimization/41064 (build breakage for cris-elf building newlib, ICE in extract_insn, from r150726)

PR rtl-optimization/41064
* reload1.c (reload_as_needed): Don't call extract_insn
for known invalid replacements after calling
validate_replace_rtx_group and verify_changes.

From-SVN: r150751

14 years agore PR target/41019 (Vector conditional move produces wrong code with -O3.)
Uros Bizjak [Fri, 14 Aug 2009 10:31:09 +0000 (12:31 +0200)]
re PR target/41019 (Vector conditional move produces wrong code with -O3.)

PR target/41019
* config/i386/sse.md (SSEMODE124C8): New mode iterator.
(vcond<SSEMODEF2P:mode>): Assert that operation is supported by
ix86_expand_fp_vcond.
(vcond<SSEMODE124C8:mode>): Use SSEMODE124C8 instead of SSEMODE124.
Assert that operation is supported by ix86_expand_int_vcond.
(vcondu<SSEMODE124C8:mode>): Ditto.

testsuite/ChangeLog:

PR target/41019
* gcc.target/i386/pr41019.c: New test.

From-SVN: r150738

14 years agocompatibility-ldbl.cc: Include cmath.
Uros Bizjak [Fri, 14 Aug 2009 08:35:55 +0000 (10:35 +0200)]
compatibility-ldbl.cc: Include cmath.

* src/compatibility-ldbl.cc: Include cmath.

From-SVN: r150736

14 years agodecl.c (gfc_match_type_spec): Whitespace.
Steven G. Kargl [Fri, 14 Aug 2009 05:10:34 +0000 (05:10 +0000)]
decl.c (gfc_match_type_spec): Whitespace.

2009-08-13  Steven G. Kargl  <kargl@gcc.gnu.org>

    * decl.c (gfc_match_type_spec): Whitespace.

From-SVN: r150734

14 years agore PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
Jerry DeLisle [Fri, 14 Aug 2009 02:35:32 +0000 (02:35 +0000)]
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)

2009-08-13  Jerry DeLisle <jvdelisle@gcc.gnu.org>

PR fortran/40955
* gfortran.dg/winapi.f90: New test.

From-SVN: r150733

14 years agodjgpp-stdint.h: New.
DJ Delorie [Fri, 14 Aug 2009 02:26:33 +0000 (22:26 -0400)]
djgpp-stdint.h: New.

* config/i386/djgpp-stdint.h: New.
* config.gcc (djgpp): Use it.

From-SVN: r150732

14 years agocompatibility-ldbl.cc: Include tr1/functional.
Benjamin Kosnik [Fri, 14 Aug 2009 01:45:36 +0000 (01:45 +0000)]
compatibility-ldbl.cc: Include tr1/functional.

2009-08-13  Benjamin Kosnik  <bkoz@redhat.com>

* src/compatibility-ldbl.cc: Include tr1/functional.

From-SVN: r150731

14 years agoDaily bump.
GCC Administrator [Fri, 14 Aug 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150730

14 years agosh.c (sh_override_options): When flag_exceptions or flag_unwind_tables is on...
Kaz Kojima [Thu, 13 Aug 2009 22:16:07 +0000 (22:16 +0000)]
sh.c (sh_override_options): When flag_exceptions or flag_unwind_tables is on...

* config/sh/sh.c (sh_override_options): When flag_exceptions or
flag_unwind_tables is on, turn flag_reorder_blocks_and_partition
off.

From-SVN: r150727

14 years ago2009-08-13 Ghassan Shobaki <ghassan.shobaki@amd.com>
Ghassan Shobaki [Thu, 13 Aug 2009 21:37:24 +0000 (21:37 +0000)]
2009-08-13  Ghassan Shobaki  <ghassan.shobaki@amd.com>

* tree-ssa-loop-prefetch.c
(prune_ref_by_group_reuse): Enhance probabilistic analysis
for long-stride pruning.
(compute_miss_rate): New function to compute the probability
that two memory references access different cache lines.

From-SVN: r150726

14 years agore PR fortran/40941 (gfc_typespec: put derived and cl into union)
Janus Weil [Thu, 13 Aug 2009 19:46:46 +0000 (21:46 +0200)]
re PR fortran/40941 (gfc_typespec: put derived and cl into union)

2009-08-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40941
* gfortran.h (gfc_typespec): Put 'derived' and 'cl' into union.
* decl.c (build_struct): Make sure 'cl' is only used
if type is BT_CHARACTER.
* symbol.c (gfc_set_default_type): Ditto.
* resolve.c (resolve_symbol, resolve_fl_derived): Ditto.
(resolve_equivalence,resolve_equivalence_derived): Make sure 'derived'
is only used if type is BT_DERIVED.
* trans-io.c (transfer_expr): Make sure 'derived' is only used if type
is BT_DERIVED or BT_INTEGER (special case: C_PTR/C_FUNPTR).
* array.c: Mechanical replacements to accomodate union in gfc_typespec.
* check.c: Ditto.
* data.c: Ditto.
* decl.c: Ditto.
* dump-parse-tree.c: Ditto.
* expr.c: Ditto.
* interface.c: Ditto.
* iresolve.c: Ditto.
* match.c: Ditto.
* misc.c: Ditto.
* module.c: Ditto.
* openmp.c: Ditto.
* parse.c: Ditto.
* primary.c: Ditto.
* resolve.c: Ditto.
* simplify.c: Ditto.
* symbol.c: Ditto.
* target-memory.c: Ditto.
* trans-array.c: Ditto.
* trans-common.c: Ditto.
* trans-const.c: Ditto.
* trans-decl.c: Ditto.
* trans-expr.c: Ditto.
* trans-intrinsic.c: Ditto.
* trans-io.c: Ditto.
* trans-stmt.c: Ditto.
* trans-types.c: Ditto.

From-SVN: r150725

14 years agoChangeLog: Fix whitespace.
Uros Bizjak [Thu, 13 Aug 2009 19:14:20 +0000 (21:14 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.

From-SVN: r150724

14 years agore PR c/41046 (decNumber leaves printf call in libgcc)
Janis Johnson [Thu, 13 Aug 2009 16:54:28 +0000 (16:54 +0000)]
re PR c/41046 (decNumber leaves printf call in libgcc)

PR c/41046
* decContext.c (decContextTestEndian): Call printf only if DECCHECK.
* decCommon.c ( decFloatShow): Define function only for DECCHECK
or DECTRACE.

From-SVN: r150720

14 years agocygwin.h (LINK_SPEC): Add --enable-auto-image-base.
Dave Korn [Thu, 13 Aug 2009 15:00:42 +0000 (15:00 +0000)]
cygwin.h (LINK_SPEC): Add --enable-auto-image-base.

* gcc/config/i386/cygwin.h (LINK_SPEC): Add --enable-auto-image-base.

From-SVN: r150717

14 years agore PR fortran/40995 (Spurious "Type specified for intrinsic function...ignored" message)
Janus Weil [Thu, 13 Aug 2009 11:16:16 +0000 (13:16 +0200)]
re PR fortran/40995 (Spurious "Type specified for intrinsic function...ignored" message)

2009-08-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40995
* resolve.c (resolve_symbol): Move some checking code to
resolve_intrinsic, and call this from here.
(resolve_intrinsic): Some checking code moved here from resolve_symbol.
Make sure each intrinsic is only resolved once.

2009-08-13  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40995
* gfortran.dg/intrinsic_4.f90: New.
* gfortran.dg/intrinsic_subroutine.f90: An error message moved to a
different line.

From-SVN: r150716

14 years agore PR middle-end/41047 (gcc.target/mips/memcpy-1.c failing)
Richard Guenther [Thu, 13 Aug 2009 08:19:10 +0000 (08:19 +0000)]
re PR middle-end/41047 (gcc.target/mips/memcpy-1.c failing)

2009-08-13  Richard Guenther  <rguenther@suse.de>

PR middle-end/41047
* tree-ssa-ccp.c (ccp_fold): When folding pointer additions
use the constant pointer type.
* gimplify.c (canonicalize_addr_expr): Canonicalize independent
of CV qualifiers on the target pointer type.
* tree-ssa.c (useless_type_conversion_p): Move incomplete pointer
conversion check before restrict check.

* gcc.dg/tree-ssa/ssa-ccp-27.c: New testcase.

From-SVN: r150715

14 years agoDaily bump.
GCC Administrator [Thu, 13 Aug 2009 00:17:20 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150712

14 years agore PR target/41029 (ICE RTL check: expected code 'reg', have 'post_inc' in rhs_regno...
Kaz Kojima [Wed, 12 Aug 2009 22:26:13 +0000 (22:26 +0000)]
re PR target/41029 (ICE RTL check: expected code 'reg', have 'post_inc' in rhs_regno, at rtl.h:1008)

PR target/41029
* config/sh/sh.md (reload_outdf__RnFRm+4): Fix thinko.

From-SVN: r150709

14 years agosh.c (sh_promote_function_mode): Add ATTRIBUTE_UNUSED.
Kaz Kojima [Wed, 12 Aug 2009 22:23:49 +0000 (22:23 +0000)]
sh.c (sh_promote_function_mode): Add ATTRIBUTE_UNUSED.

* config/sh/sh.c (sh_promote_function_mode): Add ATTRIBUTE_UNUSED.

From-SVN: r150708

14 years agocompatibility-ldbl.cc: Add explicit namespace scope.
Benjamin Kosnik [Wed, 12 Aug 2009 22:05:50 +0000 (22:05 +0000)]
compatibility-ldbl.cc: Add explicit namespace scope.

2009-08-12  Benjamin Kosnik  <bkoz@redhat.com>

* src/compatibility-ldbl.cc: Add explicit namespace scope.

From-SVN: r150707

14 years agore PR tree-optimization/41011 (ICE in ipcp_lattice_from_jfunc, at ipa-cp.c:328)
Richard Guenther [Wed, 12 Aug 2009 17:55:40 +0000 (17:55 +0000)]
re PR tree-optimization/41011 (ICE in ipcp_lattice_from_jfunc, at ipa-cp.c:328)

2009-08-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41011
* ipa-cp.c (ipcp_lattice_from_jfunc): Deal with failing fold
and reference constructing.

* gfortran.dg/pr41011.f: New testcase.

From-SVN: r150705

14 years agoinclhack.def (aix_complex): New fix.
David Edelsohn [Wed, 12 Aug 2009 17:33:41 +0000 (17:33 +0000)]
inclhack.def (aix_complex): New fix.

        * inclhack.def (aix_complex): New fix.
        * fixincl.x: Regenerate.

From-SVN: r150704

14 years agoFix to PR41012
Xinliang David Li [Wed, 12 Aug 2009 16:51:41 +0000 (16:51 +0000)]
Fix to PR41012

From-SVN: r150703

14 years agolocks.h: Use atomic builtins For Linux EABI.
Andrew Haley [Wed, 12 Aug 2009 16:34:00 +0000 (16:34 +0000)]
locks.h: Use atomic builtins For Linux EABI.

2009-08-12  Andrew Haley  <aph@redhat.com>

* sysdep/arm/locks.h: Use atomic builtins For Linux EABI.
* configure.ac: Add ATOMICSPEC.
* libgcj.spec.in: Likewise.
* configure.host (arm*-linux*): Add -Wno-abi to cxxflags.
(testsuite/libjava.jvmti/jvmti-interp.exp): Likewise.
(testsuite/libjava.jvmti/jvmti.exp): Likewise.
(testsuite/libjava.jni/jni.exp): Likewise.
Set ATOMICSPEC.
Set LDFLAGS to work around libtool feature.

From-SVN: r150702

14 years agore PR bootstrap/41031 (ICE in insert_value_copy_on_edge preventing bootstrap on sparc...
Richard Sandiford [Wed, 12 Aug 2009 16:28:36 +0000 (16:28 +0000)]
re PR bootstrap/41031 (ICE in insert_value_copy_on_edge preventing bootstrap on sparc64 and s390x, testcase on cris-elf)

2009-08-12  Richard Sandiford  <rdsandiford@googlemail.com>

PR tree-optimization/41031
* tree-outof-ssa.c (insert_value_copy_on_edge): Use promote_decl_mode
on the partition variable rather than promote_mode on the source
type.  Assert that the partition variable's type has the same
mode as the source value's.

From-SVN: r150701

14 years agotm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation for for_return == 2.
Paolo Bonzini [Wed, 12 Aug 2009 16:23:12 +0000 (16:23 +0000)]
tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation for for_return == 2.

2009-08-12  Paolo Bonzini  <bonzini@gnu.org>

* doc/tm.texi (TARGET_PROMOTE_FUNCTION_MODE): Add documentation
for for_return == 2.
* function.c (assign_parm_setup_reg): Use for_return == 2, improve
comments.
* calls.c (expand_call): Fix typo.
* explow.c (promote_decl_mode): Use for_return == 2 for RESULT_DECL
and PARM_DECL.
* stmt.c (expand_value_return): Use promote_function_mode to copy out
of pseudo.
* targhooks.c (default_promote_function_mode): Handle for_return == 2.
* config/cris/cris.c (cris_promote_function_mode): Likewise.
* config/mmix/mmix.c (mmix_promote_function_mode): Likewise.
* config/pa/pa.c (pa_promote_function_mode): Likewise.

From-SVN: r150700

14 years agobuiltins.c (compareAndSwapInt_builtin): Use flag_use_atomic_builtins.
Andrew Haley [Wed, 12 Aug 2009 16:10:12 +0000 (16:10 +0000)]
builtins.c (compareAndSwapInt_builtin): Use flag_use_atomic_builtins.

2009-08-12  Andrew Haley  <aph@redhat.com>

* builtins.c (compareAndSwapInt_builtin): Use
flag_use_atomic_builtins.
(compareAndSwapLong_builtin): Likewise.
(compareAndSwapObject_builtin): Likewise.
* jvspec.c: Add flag_use_atomic_builtins.
* gcj.texi: Likewise.
* java-tree.h: Likewise.
* lang.opt: Likewise.

From-SVN: r150699

14 years agosynchronize.c: New file.
Andrew Haley [Wed, 12 Aug 2009 15:55:19 +0000 (15:55 +0000)]
synchronize.c: New file.

2009-08-11  Andrew Haley  <aph@redhat.com>

* gcc.target/arm/synchronize.c: New file.

From-SVN: r150698

14 years agoarm.c (arm_init_libfuncs): Add __sync_synchronize.
Andrew Haley [Wed, 12 Aug 2009 15:54:37 +0000 (15:54 +0000)]
arm.c (arm_init_libfuncs): Add __sync_synchronize.

2009-08-11  Andrew Haley  <aph@redhat.com>

* config/arm/arm.c (arm_init_libfuncs): Add __sync_synchronize.

From-SVN: r150697

14 years agoRemove pragma GCC diagnostic warning "-Wc++-compat".
Sebastian Pop [Wed, 12 Aug 2009 15:13:52 +0000 (15:13 +0000)]
Remove pragma GCC diagnostic warning "-Wc++-compat".

2009-08-12  Sebastian Pop  <sebastian.pop@amd.com>

PR bootstrap/40103
* graphite.c: Remove pragma GCC diagnostic warning "-Wc++-compat".

From-SVN: r150696

14 years agoalias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
Richard Guenther [Wed, 12 Aug 2009 15:10:47 +0000 (15:10 +0000)]
alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.

2009-08-12  Richard Guenther  <rguenther@suse.de>

* alias.c (get_alias_set): Honor TYPE_STRUCTURAL_EQUALITY_P.
* gimplify.c (gimplify_modify_expr): Do not use
lang_hooks.types_compatible_p.
* tree-ssa.c (useless_type_conversion_p): For aggregates
just return false if the canonical types differ.

From-SVN: r150695

14 years agoPrepare expressions to be good phi arguments.
Sebastian Pop [Wed, 12 Aug 2009 14:32:31 +0000 (14:32 +0000)]
Prepare expressions to be good phi arguments.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/40980
* sese.c (convert_for_phi_arg): New.
(add_guard_exit_phis): Use convert_for_phi_arg.

* testsuite/gfortran.dg/graphite/id-17.f: New.

From-SVN: r150694

14 years agoDont add unknown subscript upper bounds.
Sebastian Pop [Wed, 12 Aug 2009 14:31:21 +0000 (14:31 +0000)]
Dont add unknown subscript upper bounds.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-sese-to-poly.c (pdr_add_data_dimensions): Dont add
unknown subscript upper bounds.

* testsuite/gcc.dg/graphite/interchange-6.c: Un-XFAIL.

From-SVN: r150693

14 years agoReimplement interchange heuristic.
Sebastian Pop [Wed, 12 Aug 2009 14:30:06 +0000 (14:30 +0000)]
Reimplement interchange heuristic.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>
    Pranav Garg  <pranav.garg2107@gmail.com>

* graphite-interchange.c (gather_access_strides): Removed.
(ppl_max_for_le): New.
(build_linearized_memory_access): New.
(memory_stride_in_loop): New.
(pbb_interchange_profitable_p): Reimplemented.
* graphite-ppl.h (ppl_new_id_map): New.
(ppl_interchange): New.

* testsuite/gcc.dg/graphite/interchange-6.c: XFAILed.

Co-Authored-By: Pranav Garg <pranav.garg2107@gmail.com>
From-SVN: r150692

14 years agoRemove interchange heuristic.
Sebastian Pop [Wed, 12 Aug 2009 14:28:15 +0000 (14:28 +0000)]
Remove interchange heuristic.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-interchange.c (compute_subscript): Removed.
(compute_array_size_cstr): Removed.
(compute_array_size_poly): Removed.
(compute_array_size): Removed.
(gather_access_strides_poly): Removed.
(gather_access_strides): Empty.

From-SVN: r150691

14 years agoAdd PDR->nb_subscripts.
Sebastian Pop [Wed, 12 Aug 2009 14:27:33 +0000 (14:27 +0000)]
Add PDR->nb_subscripts.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (dependence_polyhedron_1): Replace
pdr_nb_subscripts with PDR_NB_SUBSCRIPTS.
(graphite_legal_transform_dr): Same.
(graphite_carried_dependence_level_k): Same.
* graphite-poly.c (new_poly_dr): Add a parameter nb_subscripts.
Initialize PDR_NB_SUBSCRIPTS.
(print_pdr_access_layout): Replace pdr_nb_subscripts with
PDR_NB_SUBSCRIPTS.
* graphite-poly.h (struct poly_dr): Add nb_subscripts field.
(PDR_NB_SUBSCRIPTS): New.
(pdr_nb_subscripts): Removed.
(pdr_dim): Simplified.
* graphite-sese-to-poly.c (build_poly_dr): Replace pdr_nb_subscripts
with PDR_NB_SUBSCRIPTS.

From-SVN: r150690

14 years agoUndo changes to the PDR representation.
Sebastian Pop [Wed, 12 Aug 2009 14:26:42 +0000 (14:26 +0000)]
Undo changes to the PDR representation.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-interchange.c (compute_array_size): Remove use of
PDR_DATA_CONTAINER.
* graphite-poly.c (new_poly_dr): Remove argument data_container.
Do not initialize PDR_DATA_CONTAINER.
(print_pdr): Do not print PDR_DATA_CONTAINER.
* graphite-poly.h (struct poly_dr): Remove data_container field.
(PDR_DATA_CONTAINER): Removed.
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Remove use of
PDR_DATA_CONTAINER.
(build_poly_dr): Same.

From-SVN: r150689

14 years agoAdd interchange testcase.
Sebastian Pop [Wed, 12 Aug 2009 14:25:32 +0000 (14:25 +0000)]
Add interchange testcase.

2009-08-11  Sebastian Pop  <sebastian.pop@amd.com>

* testsuite/gcc.dg/graphite/interchange-9.c: New.

From-SVN: r150688

14 years agoFix memory leak in DD XFAILs some interchange testcases.
Konrad Trifunovic [Wed, 12 Aug 2009 14:24:01 +0000 (14:24 +0000)]
Fix memory leak in DD XFAILs some interchange testcases.

2009-08-05  Konrad Trifunovic  <konrad.trifunovic@gmail.com>
    Sebastian Pop  <sebastian.pop@amd.com>

* graphite-dependences.c (graphite_legal_transform_dr): Work on a
copy of the dependence polyhedron.  Free the temporary objects.
(graphite_carried_dependence_level_k): Free unused objects before
returning.

* testsuite/gcc.dg/graphite/interchange-1.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-2.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-3.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-4.c: XFAILed.
* testsuite/gcc.dg/graphite/interchange-7.c: XFAILed.

Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r150687

14 years agoRestore original scattering when the transform is not legal.
Sebastian Pop [Wed, 12 Aug 2009 14:23:01 +0000 (14:23 +0000)]
Restore original scattering when the transform is not legal.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-blocking.c (scop_do_strip_mine): Call store_scattering.
Early return without analyzing the data dependences if no
transform has been done.  Call restore_scattering if the transform
is not legal.
(graphite-interchange.c): Same.
* graphite-poly.c (print_scattering_function): Test for PBB_TRANSFORMED.
(graphite_read_transforms): Initialize PBB_TRANSFORMED.
(apply_poly_transforms): Do not gcc_assert that
the transform is legal.
(new_poly_bb): Initialize PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
Do not initialize PBB_NB_SCATTERING_TRANSFORM, PBB_NB_LOCAL_VARIABLES,
PBB_TRANSFORMED_SCATTERING, and PBB_ORIGINAL_SCATTERING.
(free_poly_dr): Free PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL.
* graphite-poly.h (struct poly_scattering): New.
(struct poly_bb): Add original, transformed, and saved fields.
Remove transformed_scattering, original_scattering, nb_local_variables,
and nb_scattering_transform fields.
(PBB_ORIGINAL, PBB_TRANSFORMED, PBB_SAVED): New.
(poly_scattering_new): New.
(poly_scattering_free): New.
(poly_scattering_copy): New.
(store_scattering_pbb): New.
(store_scattering): New.
(restore_scattering_pbb): New.
(restore_scattering): New.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
Initialize PBB_TRANSFORMED and PBB_ORIGINAL.

From-SVN: r150686

14 years agoCorrectly parenthesize pretty print structures.
Sebastian Pop [Wed, 12 Aug 2009 14:20:22 +0000 (14:20 +0000)]
Correctly parenthesize pretty print structures.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-poly.c (print_pbb): Add parentheses in the pretty print.
(print_scop): Same.

From-SVN: r150685

14 years agoRecompute profile after Graphite.
Sebastian Pop [Wed, 12 Aug 2009 14:19:33 +0000 (14:19 +0000)]
Recompute profile after Graphite.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* Makefile.in (graphite.o): Depends on PREDICT_H.
* graphite.c: Include predict.h.
(graphite_finalize): Call tree_estimate_probability.
* predict.c (predict_loops): Do not call scev_initialize and
scev_finalize.
(tree_estimate_probability_bb): New.
(tree_estimate_probability): Do not initialize loops: move that
code to the driver.  Call tree_estimate_probability_bb.
(tree_estimate_probability_driver): New.
(pass_profile): Use tree_estimate_probability_driver.
* predict.h (tree_estimate_probability): Declared.

From-SVN: r150684

14 years agoMeasure time spent in DD analysis and in code gen.
Sebastian Pop [Wed, 12 Aug 2009 14:18:17 +0000 (14:18 +0000)]
Measure time spent in DD analysis and in code gen.

2009-08-05  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c (gloog): Add time to TV_GRAPHITE_CODE_GEN.
* graphite-dependences.c (graphite_legal_transform): Add time to
TV_GRAPHITE_DATA_DEPS.
(dependency_between_pbbs_p): Same.
* timevar.def (TV_GRAPHITE_DATA_DEPS, TV_GRAPHITE_CODE_GEN): New.

From-SVN: r150683

14 years ago[multiple changes]
Andrey Belevantsev [Wed, 12 Aug 2009 11:50:22 +0000 (15:50 +0400)]
[multiple changes]

2009-08-12  Andrey Belevantsev  <abel@ispras.ru>

    PR rtl-optimization/41033
    * alias.c (nonoverlapping_component_refs_p): Punt if strict aliasing is disabled.

2009-08-12  Richard Guenther  <rguenther@suse.de>

    PR rtl-optimization/41033
    * gcc.dg/pr41033.c: New test.

From-SVN: r150680

14 years agore PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler...
Tobias Burnus [Wed, 12 Aug 2009 09:03:38 +0000 (11:03 +0200)]
re PR fortran/41034 (Wrongly rejected proc pointer assignment with CDECL (compiler-directive_1.f90))

2009-08-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41034
        * symbol.c (gfc_copy_attr): Merge bits instead of replace
        bits in gfc_copy_attr.
        * gfc_check_pointer_assign (gfc_check_pointer_assign):
        Initialize ext_attr bits by zero.

From-SVN: r150678

14 years agotrans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.
Richard Guenther [Wed, 12 Aug 2009 08:33:15 +0000 (08:33 +0000)]
trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

2009-08-12  Richard Guenther  <rguenther@suse.de>

* trans-types.c (gfc_get_derived_type): Do not clear TYPE_CANONICAL.

From-SVN: r150676

14 years agoextc++.h: Don't include TR1 if C++0x.
Benjamin Kosnik [Wed, 12 Aug 2009 00:56:12 +0000 (00:56 +0000)]
extc++.h: Don't include TR1 if C++0x.

2009-08-11  Benjamin Kosnik  <bkoz@redhat.com>

* include/precompiled/extc++.h: Don't include TR1 if C++0x.
* include/precompiled/stdc++.h: Don't include cassert if
_GLIBCXX_NO_ASSERT defined.
* include/ext/cast.h (_GLIBCXX_BEGIN_NAMESPACE): Remove extra
semi-colon.
* include/ext/pointer.h (_GCC_CXX_POINTER_COMPARISON_OPERATION_SET):
Same.

* testsuite/17_intro/headers/all.cc: Move into dialect-specific
directory.
* testsuite/17_intro/headers/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/all_assert_neg.cc: Same.
* testsuite/17_intro/headers/all_c++200x_compatibility.cc: Same.

* testsuite/17_intro/headers/c++1998/all.cc: Use extc++.h include.
* testsuite/17_intro/headers/c++1998/stdc++.cc: Converted all.cc,
use stdc++.h include.
* testsuite/17_intro/headers/c++1998/all_pedantic_errors.cc: Same.
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Same.
* testsuite/17_intro/headers/c++1998/all_c++200x_compatibility.cc: Same.
* testsuite/17_intro/headers/c++1998/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++1998/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
...this.
* testsuite/17_intro/headers/c++200x/all.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++.cc: ..this.
* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: To...
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
...this.
* testsuite/17_intro/headers/c++200x/all_no_exceptions.cc: New.
* testsuite/17_intro/headers/c++200x/all_pedantic_errors.cc: New.

From-SVN: r150672

14 years agoDaily bump.
GCC Administrator [Wed, 12 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150671

14 years agore PR fortran/41022 ([F03] procedure pointer components as actual arguments)
Janus Weil [Tue, 11 Aug 2009 20:08:35 +0000 (22:08 +0200)]
re PR fortran/41022 ([F03] procedure pointer components as actual arguments)

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41022
* trans-expr.c (gfc_conv_procedure_call): Handle procedure pointer
components as actual arguments.

2009-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41022
* gfortran.dg/proc_ptr_comp_14.f90: New.

From-SVN: r150665

14 years agore PR debug/40990 (bad .debug_pubnames entry from gcj)
Dodji Seketeli [Tue, 11 Aug 2009 18:39:54 +0000 (18:39 +0000)]
re PR debug/40990 (bad .debug_pubnames entry from gcj)

Fix PR debug/40990

PR debug/40990
* lang.c (put_decl_node): Outputs different level of information
depending on the verbosity level.

From-SVN: r150659

14 years agopredicates.md (qi_mask_operand, [...]): New predicates.
Adam Nemet [Tue, 11 Aug 2009 17:41:09 +0000 (17:41 +0000)]
predicates.md (qi_mask_operand, [...]): New predicates.

* config/mips/predicates.md (qi_mask_operand, hi_mask_operand,
si_mask_operand, and_load_operand, low_bitmask_operand,
and_reg_operand, and_operand): New predicates.
* config/mips/constraints.md (Yb, Yh, Yw, Yz): New constraints.
* config/mips/mips.c (and_operands_ok): New function.
* config/mips/mips-protos.h (and_operands_ok): Declare it.
* config/mips/mips.md (move_type): Add ext_ins and logical.
(type): Handle them.
(and<mode>3): Use and_reg_operand as the second operand's
predicate.
(*and<mode>3): Add alternatives for lbu, lhu, lwu, <d>ext and
shift_shift.  Remove commutative constraint modifier.
(*and<mode>3_mips16): Add alternatives for lbu, lhu, lwu and
shift_shift.
(*clear_upper32_dext): Remove define_insn_and_split.
(*clear_upper32): Turn this define_insn_and_split ...
(splitter for ANDing register with 0xffff_ffff): .. into this.

testsuite/
* gcc.target/mips/ext-5.c: New test.
* gcc.target/mips/ext-6.c: New test.
* gcc.target/mips/ext-7.c: New test.
* gcc.target/mips/ext-8.c: New test.
* gcc.target/mips/extend-2.c: New test.

From-SVN: r150657

14 years agocombine.c (try_widen_shift_mode): Factor out code to check if an integer constant...
Adam Nemet [Tue, 11 Aug 2009 17:31:09 +0000 (17:31 +0000)]
combine.c (try_widen_shift_mode): Factor out code to check if an integer constant is a low-order bitmask from here ...

* combine.c (try_widen_shift_mode): Factor out code to check if an
        integer constant is a low-order bitmask from here ...
* rtlanal.c (low_bitmask_len): ... to here.
* rtl.h (low_bitmask_len): Declare.

From-SVN: r150656

14 years agore PR target/8603 ([Alpha] s?addl pattern doesn't work)
Uros Bizjak [Tue, 11 Aug 2009 17:05:38 +0000 (19:05 +0200)]
re PR target/8603 ([Alpha] s?addl pattern doesn't work)

PR target/8603
* config/alpha/alpha.md (addsi3): Remove expander.
(addsi3): Rename from *addsi3_internal insn pattern.
(subsi3): Remove expander.
(subsi3): Rename from *subsi3_internal insn pattern.

From-SVN: r150654

14 years agoalpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.
Douglas B Rupp [Tue, 11 Aug 2009 16:41:41 +0000 (16:41 +0000)]
alpha.c (alpha_init_builtins): Nullify FWRITE and FWRITE_UNLOCKED.

* config/alpha/alpha.c (alpha_init_builtins): Nullify FWRITE and
FWRITE_UNLOCKED.

From-SVN: r150653

14 years agoalpha.c (alpha_return_in_memory): On VMS...
Vasiliy Fofanov [Tue, 11 Aug 2009 16:33:41 +0000 (16:33 +0000)]
alpha.c (alpha_return_in_memory): On VMS...

* config/alpha/alpha.c (alpha_return_in_memory): On VMS, ensure
that records that fit in 64 bits are returned by immediate value,
as required by OpenVMS Calling Standard.
(function_value): Adjust for above modification.
(alpha_va_start) <TARGET_ABI_OPEN_VMS>: Use
virtual_incoming_args_rtx as base object, not next_arg.
* config/alpha/vms.h: (DEFAULT_PCC_STRUCT_RETURN): Define as 0.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r150652

14 years agoreload.c (find_reloads_subreg_address): Check the original req_equiv_mem address...
Ulrich Weigand [Tue, 11 Aug 2009 13:56:52 +0000 (13:56 +0000)]
reload.c (find_reloads_subreg_address): Check the original req_equiv_mem address to detect the case where an address is...

* reload.c (find_reloads_subreg_address): Check the original
req_equiv_mem address to detect the case where an address is
not valid in the outer mode.

From-SVN: r150649

14 years agore PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have...
Richard Guenther [Tue, 11 Aug 2009 11:39:43 +0000 (11:39 +0000)]
re PR bootstrap/40788 (ICE on sparc: tree check: expected class 'expression', have 'declaration' (var_decl) in gimplify_va_arg_expr, at builtins.c:5107)

2009-08-11  Richard Guenther  <rguenther@suse.de>

        PR bootstrap/40788
        * builtins.c (gimplify_va_arg_expr): Do not call
        SET_EXPR_LOCATION.

From-SVN: r150648

14 years agovms.h (OPTIMIZATION_OPTIONS): Remove
Douglas B Rupp [Tue, 11 Aug 2009 05:19:31 +0000 (05:19 +0000)]
vms.h (OPTIMIZATION_OPTIONS): Remove

* config/alpha/vms.h (OPTIMIZATION_OPTIONS): Remove
(OVERRIDE_OPTIONS): Incorporate removed OPTIMIZATION_OPTIONS.

From-SVN: r150647

14 years agoalpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed...
Olivier Hainque [Tue, 11 Aug 2009 05:14:48 +0000 (05:14 +0000)]
alpha.c (alpha_sa_size): Force procedure type to PT_STACK when frame_pointer_needed on OpenVMS.

* config/alpha/alpha.c (alpha_sa_size): Force procedure type to
PT_STACK when frame_pointer_needed on OpenVMS.
(alpha_pv_save_size, alpha_using_fp): Remove.
(alpha_vms_can_eliminate): New function. Support for CAN_ELIMINATE
with proper processing for PT_NULL.
(alpha_vms_initial_elimination_offset): New function. Support for
INITIAL_ELIMINATION_OFFSET with proper processing for PT_NULL.
(alpha_sa_size): Force procedure type to PT_STACK when
frame_pointer_needed on OpenVMS.
* config/alpha/alpha-protos.h (alpha_pv_save_size): Remove prototype.
(alpha_using_fp): Likewise.
(alpha_vms_can_eliminate): Add prototype.
(alpha_vms_initial_elimination_offset): Likewise.
* config/alpha/vms.h (CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET):
Call alpha_vms_can_eliminate and alpha_vms_initial_elimination_offset.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150646

14 years agoalpha.c (common_object_handler): New function.
Eric Botcazou [Tue, 11 Aug 2009 05:00:51 +0000 (05:00 +0000)]
alpha.c (common_object_handler): New function.

* config/alpha/alpha.c (common_object_handler): New function.
(vms_attribute_table): Declare a single attribute "common_object".
(vms_output_aligned_decl_common): New global function.
(SECTION_VMS_OVERLAY): Delete.
(SECTION_VMS_GLOBAL): Likewise.
(SECTION_VMS_INITIALIZE): Likewise.
(vms_asm_named_section): Remove support for above flags.
(vms_section_type_flags): Delete.
(TARGET_SECTION_TYPE_FLAGS): Likewise.
* config/alpha/alpha-protos.h (vms_output_aligned_decl_common): New.
* config/alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
(ASM_OUTPUT_ALIGNED_DECL_COMMON): New macro.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150645

14 years agofuture: Move error handling bits outside macro guard.
Benjamin Kosnik [Tue, 11 Aug 2009 04:30:35 +0000 (04:30 +0000)]
future: Move error handling bits outside macro guard.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Move error handling bits outside macro guard.
* src/future.cc: Adjust.

* include/precompiled/stdc++.h: Add future.
* doc/xml/manual/using.xml: Same.

From-SVN: r150642

14 years agohashtable.cc: Just definitions.
Benjamin Kosnik [Tue, 11 Aug 2009 01:24:59 +0000 (01:24 +0000)]
hashtable.cc: Just definitions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* src/hashtable.cc: Just definitions.
* src/hashtable_c++0x.cc: Compile C++0x versions.
* src/hash.cc: Same.
* src/hash_c++0x.cc: Same.
src/hash_tr1.cc: Compile TR1 versions.
src/hashtable_tr1.cc: Same.

* src/limits_c++0x.cc: Sync build error handling.

* src/Makefile.am (sources): Change hash.cc to hash_tr1.cc,
hashtable.cc to hashtable_tr1.cc.
* src/Makefile.in: Regenerate.

From-SVN: r150641

14 years agofunctional: Doxygen markup.
Benjamin Kosnik [Tue, 11 Aug 2009 00:29:21 +0000 (00:29 +0000)]
functional: Doxygen markup.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/tr1_impl/functional: Doxygen markup.

* doc/html/*: Regenerate.

From-SVN: r150640

14 years agoDaily bump.
GCC Administrator [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150639

14 years agore PR target/41015 (SH: miscompilation for sh4-linux)
SUGIOKA Toshinobu [Mon, 10 Aug 2009 20:57:35 +0000 (05:57 +0900)]
re PR target/41015 (SH: miscompilation for sh4-linux)

PR target/41015
* longlong.h [__sh__] (udiv_qrnnd): Add T register to clobber list.
(sub_ddmmss): Likewise.

From-SVN: r150635

14 years agoImplement DR 757...
Jason Merrill [Mon, 10 Aug 2009 20:47:55 +0000 (16:47 -0400)]
Implement DR 757...

Implement DR 757: It's OK for a decl to use a type without linkage
so long as the decl is defined in the current translation unit.
* decl2.c (no_linkage_decls): New vector.
(mark_used): Add decls that use types with no linkage.
(cp_write_global_declarations): Check that they are defined.
(decl_defined_p, no_linkage_error): New fns.
* cp-tree.h (DECL_NO_LINKAGE_CHECKED): New macro.
(struct lang_decl_base): Add flag.
* decl.c (grokfndecl): Don't check type linkage.
(grokvardecl): If the type has no linkage, just make sure
DECL_LANG_SPECIFIC is set.
* pt.c (check_instantiated_arg): Don't check type linkage.
* name-lookup.c (is_local_extern): New fn.
* name-lookup.h: Declare it.

From-SVN: r150634

14 years agofuture: Fixes for -fno-exceptions.
Benjamin Kosnik [Mon, 10 Aug 2009 18:24:47 +0000 (18:24 +0000)]
future: Fixes for -fno-exceptions.

2009-08-10  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/future: Fixes for -fno-exceptions.
* include/bits/functexcept.h: Same.
* libsupc++/exception_ptr.h: Same.
* src/pool_allocator.cc: Same.
* src/future.cc: Same.
* src/functexcept.cc: Same.
* config/abi/pre/gnu.ver: New exports.
* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/unique_future/cons/copy_neg.cc: Same.
* testsuite/30_threads/shared_future/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/assign_neg.cc: Same.
* testsuite/30_threads/promise/cons/copy_neg.cc: Same.

* testsuite/23_containers/deque/operators/1.cc: Separate in two...
* testsuite/23_containers/deque/operators/2.cc: New.

From-SVN: r150633

14 years agore PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)
Andreas Tobler [Mon, 10 Aug 2009 18:23:57 +0000 (18:23 +0000)]
re PR bootstrap/41018 (bootstrap broken on FreeBSD powerpc)

2009-08-10  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/41018
* config/rs6000/freebsd.h: Define SVR4_ASM_SPEC. Adjust copyright
year.

From-SVN: r150632

14 years agodg.exp: Test also c-c++-common dir.
Manuel López-Ibáñez [Mon, 10 Aug 2009 17:10:50 +0000 (17:10 +0000)]
dg.exp: Test also c-c++-common dir.

2009-08-10  Manuel López-Ibáñez  <manu@gcc.gnu.org>

testsuite/
       * gcc.dg/dg.exp: Test also c-c++-common dir.
       * g++.dg/dg.exp: Likewise.
       * g++.dg/warn/Wconversion-real.C: Delete.
       * gcc.dg/Wconversion-real.c: Move to ...
       * c-c++-common/Wconversion-real.c: ... here.
       * lib/target-supports.exp
       (check_effective_target_c,check_effective_target_c++): New.

From-SVN: r150627

14 years agore PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)
Ulrich Weigand [Mon, 10 Aug 2009 15:34:09 +0000 (15:34 +0000)]
re PR middle-end/37053 (ICE in reload_cse_simplify_operands, at postreload.c:395)

PR target/37053
* reload1.c (reload_as_needed): Use cancel_changes to completely
undo a failed replacement attempt.

From-SVN: r150626

14 years ago* Moved ChangeLog entry to the correct ChangeLog
Neil Vachharajani [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog

From-SVN: r150625

14 years agomake.adb: Handle multilib
Laurent GUERBY [Mon, 10 Aug 2009 10:52:37 +0000 (10:52 +0000)]
make.adb: Handle multilib

2009-08-10  Laurent GUERBY  <laurent@guerby.net>

        * make.adb: Handle multilib

From-SVN: r150623

14 years agore PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)
Daniel Kraft [Mon, 10 Aug 2009 10:51:46 +0000 (12:51 +0200)]
re PR fortran/37425 (Fortran 2003: GENERIC bindings as operators)

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.dg/typebound_operator_1.f03: New test.
* gfortran.dg/typebound_operator_2.f03: New test.

2009-08-10  Daniel Kraft  <d@domob.eu>

PR fortran/37425
* gfortran.h (struct gfc_namespace): New fields tb_uop_root and tb_op.
(gfc_find_typebound_user_op): New routine.
(gfc_find_typebound_intrinsic_op): Ditto.
(gfc_check_operator_interface): Now public routine.
* decl.c (gfc_match_generic): Match OPERATOR(X) or ASSIGNMENT(=).
* interface.c (check_operator_interface): Made public, renamed to
`gfc_check_operator_interface' accordingly and hand in the interface
as gfc_symbol rather than gfc_interface so it is useful for type-bound
operators, too.  Return boolean result.
(gfc_check_interfaces): Adapt call to `check_operator_interface'.
* symbol.c (gfc_get_namespace): Initialize new field `tb_op'.
(gfc_free_namespace): Free `tb_uop_root'-based tree.
(find_typebound_proc_uop): New helper function.
(gfc_find_typebound_proc): Use it.
(gfc_find_typebound_user_op): New method.
(gfc_find_typebound_intrinsic_op): Ditto.
* resolve.c (resolve_tb_generic_targets): New helper function.
(resolve_typebound_generic): Use it.
(resolve_typebound_intrinsic_op), (resolve_typebound_user_op): New.
(resolve_typebound_procedures): Resolve operators, too.
(check_uop_procedure): New, code from gfc_resolve_uops.
(gfc_resolve_uops): Moved main code to new `check_uop_procedure'.

From-SVN: r150622

14 years agore PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)
Richard Guenther [Mon, 10 Aug 2009 09:22:47 +0000 (09:22 +0000)]
re PR middle-end/41006 (verify_stmts failed: error: non-trivial conversion at assignment)

2009-08-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/41006
* tree-ssa.c (useless_type_conversion_p_1): Fold into ...
(useless_type_conversion_p): ... here.  Require pointer targets
to be compatible.

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

From-SVN: r150621

14 years agore PR fortran/40940 ([F03] CLASS statement)
Janus Weil [Mon, 10 Aug 2009 09:19:24 +0000 (11:19 +0200)]
re PR fortran/40940 ([F03] CLASS statement)

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* decl.c (gfc_match_type_spec): Match CLASS statement and warn about
missing polymorphism.
* gfortran.h (gfc_typespec): Add field 'is_class'.
* misc.c (gfc_clear_ts): Initialize 'is_class' to zero.
* resolve.c (type_is_extensible): New function to check if a derived
type is extensible.
(resolve_fl_variable_derived): Add error checks for CLASS variables.
(resolve_typebound_procedure): Disallow non-polymorphic passed-object
dummy arguments, turning warning into error.
(resolve_fl_derived): Use 'type_is_extensible'. Disallow non-polymorphic
passed-object dummy arguments for procedure pointer components,
turning warning into error. Add error check for CLASS components.

2009-08-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40940
* gfortran.dg/class_1.f03: New.
* gfortran.dg/class_2.f03: New.
* gfortran.dg/proc_ptr_comp_pass_1.f90: Use CLASS instead of TYPE.
* gfortran.dg/proc_ptr_comp_pass_2.f90: Ditto.
* gfortran.dg/proc_ptr_comp_pass_3.f90: Ditto.
* gfortran.dg/typebound_call_10.f03: Ditto.
* gfortran.dg/typebound_call_2.f03: Ditto.
* gfortran.dg/typebound_call_3.f03: Ditto.
* gfortran.dg/typebound_call_4.f03: Ditto.
* gfortran.dg/typebound_generic_3.f03: Ditto.
* gfortran.dg/typebound_generic_4.f03: Ditto.
* gfortran.dg/typebound_proc_1.f08: Ditto.
* gfortran.dg/typebound_proc_5.f03: Ditto.
* gfortran.dg/typebound_proc_6.f03: Ditto.

From-SVN: r150620

14 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:33:30 +0000 (10:33 +0200)]
[multiple changes]

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use
the temporary file name in the error message when the temporary file
cannot be created.

2009-08-10  Yannick Moy  <moy@adacore.com>

* gnat_ugn.texi: Fix typo

From-SVN: r150619

14 years ago[multiple changes]
Arnaud Charlet [Mon, 10 Aug 2009 08:25:49 +0000 (10:25 +0200)]
[multiple changes]

2009-08-10  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb: Add ??? comment for last change

2009-08-10  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Add_To_Buffer): New procedure
(Create_Config_Pragmas_File): Write to temporary file in one shot
(Create_Mapping_File): Ditto
(Set_Ada_Paths): Ditto

From-SVN: r150618

14 years agore PR ada/17566 (Gnatxref formatting)
Vincent Celier [Mon, 10 Aug 2009 08:25:05 +0000 (08:25 +0000)]
re PR ada/17566 (Gnatxref formatting)

2009-08-10  Vincent Celier  <celier@adacore.com>

PR ada/17566
* xref_lib.adb (Print_Xref): Make sure that there is at least one space
between a declaration name and its type.

From-SVN: r150617

14 years agore PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)
Dodji Seketeli [Mon, 10 Aug 2009 07:16:08 +0000 (07:16 +0000)]
re PR c++/40866 (ICE in create_tmp_var, at gimplify.c:504)

2009-08-10  Dodji Seketeli  <dodji@redhat.com>

gcc/ChangeLog:
PR c++/40866
* tree-inline.c (copy_statement_list): The resulting copy shouldn't
loose the original type of the statement list.

gcc/testsuite/ChangeLog:
PR c++/40866
* g++.dg/expr/stmt-expr-1.C: New test.

From-SVN: r150615

14 years agoalpha.c: Include libfuncs.h
Douglas B Rupp [Mon, 10 Aug 2009 04:50:23 +0000 (04:50 +0000)]
alpha.c: Include libfuncs.h

* config/alpha/alpha.c: Include libfuncs.h
(avms_asm_output_extern): New function.
(alpha_init_libfuncs): Init some decc libfuncs.
* config/alpha/alpha-protos.h (avms_asm_output_external): Declare.
* config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Define.
(DO_CRTL_NAMES): Define.
(LIB_SPEC): Remove.
* config/alpha/vms64.h: (POINTERS_EXTEND_UNSIGNED): Remove undef.
(LONG_TYPE_SIZE): Define.
(TARGET_OS_CPP_BUILTINS): Define with __LONG_POINTERS=1
(SUBTARGET_SWITCHES): Define malloc64 switch.
(TARGET_DEFAULT): Default MASK_MALLOC64 set.
(MASK_RETURN_ADDR): Define.
doc/invoke.texi (mmalloc64): Document switch.

From-SVN: r150614

14 years agoalpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
Olivier Hainque [Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)]
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.

* config/alpha/alpha.c (struct machine_function): New flag for VMS,
uses_condition_handler.
(alpha_expand_builtin_establish_vms_condition_handler): New expander.
(alpha_expand_builtin_revert_vms_condition_handler): New expander.
(enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER
and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values.
(code_for_builtin): New insn codes for the new alpha_builtins.
(alpha_init_builtins): Register the new functions as BUILT_IN_MD.
(alpha_sa_size): Account for uses_condition_handler.
(alpha_expand_prologue): Likewise.
(alpha_start_function): Likewise.
(alpha_expand_epilogue): Likewise.
* config/alpha/alpha-protos.h: Prototype the new alpha.c builtin
establish/revert expanders.
* config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define.
* config/alpha/alpha.md (builtin_establish_vms_condition_handler):
New expander, resorting to the alpha.c associated function.
(builtin_revert_vms_condition_handler): Likewise.
* config/alpha/vms-gcc_shell_handler.c: New file. Implements
__gcc_shell_handler, the static VMS condition handler used as
an indirection wrapper to the current dynamically established
handler.
* config/alpha/vms-unwind.h: Complete rewrite.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c
* config/alpha/vms.h (MD_UNWIND_SUPPORT):

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150612

14 years agoalpha.c (alpha_links): Add 'target' field.
Eric Botcazou [Mon, 10 Aug 2009 04:12:45 +0000 (04:12 +0000)]
alpha.c (alpha_links): Add 'target' field.

* config/alpha/alpha.c (alpha_links): Add 'target' field.
(alpha_need_linkage): Handle aliases.  Return function symbol.
(alpha_use_linkage): Rename 'linkage' argument to 'func'.
Use ultimate alias target for the linkage name.
* config/alpha/alpha.md (movmemdi): Use the symbol returned
by alpha_need_linkage for the function symbol.
(setmemdi): Likewise.

Co-Authored-By: Douglas B Rupp <rupp@gnat.com>
From-SVN: r150611

14 years agoalpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
Douglas B Rupp [Mon, 10 Aug 2009 04:05:54 +0000 (04:05 +0000)]
alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.

* config/alpha/alpha.c (TARGET_ASM_UNALIGNED_*_OP): Define if on VMS.
* config/alpha/vms.h (OBJECT_FORMAT_ELF): Define.
(ASM_WEAKEN_LABEL): Define.
(CRT_CALL_STATIC_FUNCTION): Define.
(STARTFILE_SPEC): Add crtbegin.o crtbeginS.o.
(ENDFILE_SPEC): Define.
(INIT_SECTION_ASM_OP): Define.
* config/alpha/vms-dwarf2eh.asm (__EH_FRAME_BEGIN__): Remove.
* config/alpha/t-vms (EXTRA_PARTS): Add crtbegin.o crtbeginS.o
crtend.o crtendS.o.
(MULTILIB_OSDIRNAMES): Define.
(shlib_version): Define.
(SHLIB_EXT): Define.
(SHLIB_OBJS): Define.
(SHLIB_NAME): Define.
(SHLIB_MULTILIB): Define.
(SHLIB_INSTALL): Define.
(SHLIB_SYMVEC): Define.
(SHLIB_SYMVECX2): Define.
(SHLIB_LINK): Define.

From-SVN: r150610

14 years agoalpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded...
Douglas B Rupp [Mon, 10 Aug 2009 03:56:39 +0000 (03:56 +0000)]
alpha.c (alpha_initialize_trampoline): Initialize VMS trampoline IAW ABI for bounded procedure calls.

* config/alpha/alpha.c (alpha_initialize_trampoline):
Initialize VMS trampoline IAW ABI for bounded procedure calls.
(alpha_start_function): Emit transfer address on nested functions
for VMS trampoline call.
* config/alpha/t-vms (LIB2FUNCS_EXTRA): Remove vms_tramp.asm
since no longer used.
* config/alpha/vms-tramp.asm: Remove.
* config/alpha/vms.h (TRAMPOLINE_TEMPLATE): Leave undefined
since now only data initialized at runtime.

From-SVN: r150609

14 years agovms.h (HANDLE_SYSV_PRAGMA): Define.
Douglas B Rupp [Mon, 10 Aug 2009 03:26:59 +0000 (03:26 +0000)]
vms.h (HANDLE_SYSV_PRAGMA): Define.

* config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Define.
(LINK_GCC_C_SEQUENCE_SPEC): Define.
(MD_EXEC_PREFIX): Remove, no longer used.
(MD_STARTFILE_PREFIX): Likewise.
(INCLUDE_DEFAULTS): Likewise.
* config/alpha/t-vms:
(vms-dwarf2.o, vms-dwarf2eh.o): Use GCC_FOR_TARGET to compile.

From-SVN: r150608

14 years agoDaily bump.
GCC Administrator [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r150603

14 years agore PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)
Richard Guenther [Sun, 9 Aug 2009 20:10:41 +0000 (20:10 +0000)]
re PR tree-optimization/41016 (ICE in build_int_cst_wide with -O1)

2009-08-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/41016
* tree-ssa-ifcombine.c (get_name_for_bit_test): Fix tuplification
bug.
(operand_precision): Remove.
(integral_operand_p): Likewise.
(recognize_single_bit_test): Adjust.

* gcc.c-torture/compile/pr41016.c: New testcase.

From-SVN: r150595

14 years agoc-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.
Richard Sandiford [Sun, 9 Aug 2009 18:38:04 +0000 (18:38 +0000)]
c-common.c (c_fully_fold_internal): Issue a warning if a binary operation overflows.

gcc/
* c-common.c (c_fully_fold_internal): Issue a warning if a binary
operation overflows.  Likewise non-cast unary arithmetic.
If one arm of a conditional expression is always taken,
inhibit evaluation warnings for the other arm.  Likewise inhibit
evaluation warnings for the second && or || operand if the first
operand is enough to determine the result.
* c-typeck.c (build_conditional_expr): Apply the same inhibition
rules here.
(build_binary_op): Prevent duplicate evaluation warnings.

gcc/testsuite/
* gcc.dg/overflow-warn-8.c: New test.

From-SVN: r150594

14 years agotree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have...
Richard Sandiford [Sun, 9 Aug 2009 15:56:27 +0000 (15:56 +0000)]
tree-out-of-ssa.c (insert_value_copy_on_edge): If the source and destination have different modes...

gcc/
* tree-out-of-ssa.c (insert_value_copy_on_edge): If the source
and destination have different modes, Use promote_mode to
determine the signedness of the conversion.  Assert that the
promoted source mode matches the destination mode.  Don't pass
the destination and destination mode to expand_expr if the source
mode is different.  Simplify conversion logic.

From-SVN: r150592

15 years agore PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop...
Ira Rosen [Sun, 9 Aug 2009 12:13:19 +0000 (12:13 +0000)]
re PR tree-optimization/41008 (ICE in vect_is_simple_reduction, at tree-vect-loop.c:1708)

PR tree-optimization/41008
* tree-vect-loop.c (vect_is_simple_reduction): Get operands
from condition only in case it's a comparison. Adjust checks.

From-SVN: r150591

15 years agore PR libfortran/40549 (Building libgfortran as a DLL)
Francois-Xavier Coudert [Sun, 9 Aug 2009 11:02:08 +0000 (11:02 +0000)]
re PR libfortran/40549 (Building libgfortran as a DLL)

PR libfortran/40549
* Makefile.in (LTLDFLAGS): Add -no-undefined.
* Makefile.am: Regenerate.
* libgfortran.h: Remove unused block of code.

From-SVN: r150590

15 years agore PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)
Tobias Burnus [Sun, 9 Aug 2009 08:35:36 +0000 (10:35 +0200)]
re PR fortran/40955 (STDCALL attributes are not saved in the .MOD files)

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.h (ext_attr_id_t): Add typedef for this enum.
        (gfc_add_ext_attribute): Use it.
        * decl.c (gfc_match_gcc_attributes): Ditto.
        * expr.c (gfc_check_pointer_assign): Ditto.
        * symbol.c (gfc_add_ext_attribute): Ditto.
        (gfc_copy_attr): Copy also ext_attr.
        * resolve.c (resolve_fl_derived,resolve_symbol): Ditto.
        * module.c (mio_symbol_attribute): Save ext_attr in the mod
        * file.

2009-08-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40955
        * gfortran.dg/module_md5_1.f90: Update MD5 check sum.

From-SVN: r150589

15 years agotree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
Bernd Schmidt [Sun, 9 Aug 2009 07:59:12 +0000 (07:59 +0000)]
tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.

* tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
* tree-flow.h (renumber_gimple_stmt_uids_in_blocks): Declare it.
* tree-ssa-loop-ivopts.c (comp_cost): Make COST an integer.
(enum iv_position): Add IP_AFTER_USE and IP_BEFORE_USE.
(dump_cand): Handle them.
(struct iv_cand): New members COST_STEP and AINC_USE.
(stmt_after_increment): Likewise.
(stmt_after_inc_pos): Renamed from stmt_after_ip_original_pos.  All
callers changed.  Use gimple_uid comparison instead of scanning.
(add_candidate_1): When looking for identical candidates, take
AINC_USE into account.  Set it for new candidates.
(force_expr_to_var_cost): Cast target_spill_cost to int.
(get_address_cost): New arguments STMT_AFTER_INC and MAY_AUTOINC.
All callers changed.  Check for availability of autoinc addressing
modes, both in general for a given mode, and in the specific use
case.
(get_computation_cost_at): New argument CAN_AUTOINC.  All callers
changed.
(get_computation_cost): Likewise.
(autoinc_possible_for_pair, set_autoinc_for_original_candidates,
add_autoinc_candidates): New static functions.
(add_candidate): Call add_autoinc_candidates for candidates based on
a USE_ADDRESS use.
(find_iv_candidates): Call set_autoinc_for_original_candidates.
(determine_use_iv_cost_address): If we have an autoinc candidate at
the matching use, verify autoinc is possible and subtract the cost
of the candidate's step from the cost.
(determine_iv_cost): Record the cost of the increment in the COST_STEP
member of the candidate.
(tree_ssa_iv_optimize_loop): Swap the calls to determine_iv_costs and
determine_use_iv_costs.  Call renumber_gimple_stmt_uids_in_blocks.

testsuite/
* gcc.target/bfin/loop-autoinc.c: New file.

From-SVN: r150588

15 years agoconfig.build (ia64-hp-*vms*): New target.
Douglas B Rupp [Sun, 9 Aug 2009 07:05:11 +0000 (07:05 +0000)]
config.build (ia64-hp-*vms*): New target.

* config.build (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.gcc (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.
* libgcc/config.host (ia64-hp-*vms*): New target.
(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
with ia64-hp-*vms*.

From-SVN: r150587

15 years agoDaily bump.
GCC Administrator [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r150584