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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 14 Aug 2009 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150730
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 13 Aug 2009 00:17:20 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150712
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
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
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
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
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
Xinliang David Li [Wed, 12 Aug 2009 16:51:41 +0000 (16:51 +0000)]
Fix to PR41012
From-SVN: r150703
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 12 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150671
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 11 Aug 2009 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150639
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
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
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
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
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
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
Neil Vachharajani [Mon, 10 Aug 2009 14:57:24 +0000 (14:57 +0000)]
* Moved ChangeLog entry to the correct ChangeLog
From-SVN: r150625
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 10 Aug 2009 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r150603
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
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
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
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
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
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
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
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
GCC Administrator [Sun, 9 Aug 2009 00:17:07 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r150584
Richard Guenther [Sat, 8 Aug 2009 15:32:36 +0000 (15:32 +0000)]
re PR tree-optimization/40991 (ICE: at optimization -02)
2009-08-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/40991
* tree-ssa-pre.c (eliminate): Delay purging EH edges.
* g++.dg/torture/pr40991.C: New testcase.
From-SVN: r150580
Laurent GUERBY [Sat, 8 Aug 2009 11:35:44 +0000 (11:35 +0000)]
impdef.a: Tweak timing constants.
2009-08-08 Laurent GUERBY <laurent@guerby.net>
* ada/acats/support/impdef.a: Tweak timing constants. Add
Long_Minimum_Task_Switch and Long_Switch_To_New_Task.
* ada/acats/tests/c9/c940005.a: Use new timing constants.
* ada/acats/tests/c9/c940007.a: Likewise.
* ada/acats/tests/c9/c94001c.ada: Likewise.
* ada/acats/tests/c9/c94006a.ada: Likewise.
* ada/acats/tests/c9/c94008c.ada: Likewise.
* ada/acats/tests/c9/c951002.a: Likewise.
* ada/acats/tests/c9/c954a01.a: Likewise.
* ada/acats/tests/c9/c96001a.ada: Likewise.
* ada/acats/tests/c9/c97307a.ada: Likewise.
From-SVN: r150579
Richard Sandiford [Sat, 8 Aug 2009 08:32:24 +0000 (08:32 +0000)]
combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from mode check.
gcc/
* combine.c (gen_lowpart_or_truncate): Exclude CONST_INTs from
mode check. Do truncations in an integer mode.
(force_to_mode): Handle subregs for all mode types. Only do
arithmetic simplifications on integer modes.
From-SVN: r150578