platform/upstream/gcc.git
17 years agoFix PR number from last commit 32046->32406.
David Daney [Fri, 22 Jun 2007 04:50:50 +0000 (04:50 +0000)]
Fix PR number from last commit 32046->32406.

From-SVN: r125942

17 years agore PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in...
David Daney [Fri, 22 Jun 2007 04:46:08 +0000 (04:46 +0000)]
re PR fortran/32046 (wrong code with -O2 for gfortran.dg/interface_12.f90 & result_in_spec_1.f90)

PR target/32046
* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
(exception_receiver): Renamed to ...
(nonlocal_goto_receiver): ... this.

From-SVN: r125941

17 years agodf-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
Roman Zippel [Fri, 22 Jun 2007 02:55:07 +0000 (02:55 +0000)]
df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.

* df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
(df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
partial register accesses.

From-SVN: r125940

17 years agore PR fortran/31162 (missing warning for real do-loops with implicit typed variables)
Jerry DeLisle [Fri, 22 Jun 2007 01:54:27 +0000 (01:54 +0000)]
re PR fortran/31162 (missing warning for real do-loops with implicit typed variables)

2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/31162
* gfortran.dg/assign.f90: Update test.
* gfortran.dg/real_do_1.f90: Update test.
* gfortran.dg/gomp/omp_do1.f90: Update test.
* gfortran.dg/warnings_are_errors_1.f: Update test.
* gfortran.dg/g77/20010519-1.f: Update test.
* gfortran.dg/g77/pr9258.f: Update test.
* gfortran.dg/g77/960317-1.f: Update test.

From-SVN: r125939

17 years agore PR fortran/31162 (missing warning for real do-loops with implicit typed variables)
Jerry DeLisle [Fri, 22 Jun 2007 01:50:09 +0000 (01:50 +0000)]
re PR fortran/31162 (missing warning for real do-loops with implicit typed variables)

2007-06-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/31162
* resolve.c (gfc_resolve_iterator_expr): Add check for REAL using
gfc_notify_standard. (gfc_resolve_iterator): Remove check.
(resolve_branch): Change "Obsolete" to "Deleted feature".
* io.c (resolve_tag): Ditto.
* match.c (gfc_match_pause, gfc_match_assign, gfc_match_goto): Ditto.

From-SVN: r125938

17 years agoDaily bump.
GCC Administrator [Fri, 22 Jun 2007 00:16:59 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125936

17 years agofold-const.c (debug_fold_checksum): Move it under ENABLE_FOLD_CHECKING.
Adam Nemet [Thu, 21 Jun 2007 23:46:59 +0000 (23:46 +0000)]
fold-const.c (debug_fold_checksum): Move it under ENABLE_FOLD_CHECKING.

* fold-const.c (debug_fold_checksum): Move it under
ENABLE_FOLD_CHECKING.

From-SVN: r125932

17 years agore PR middle-end/20623 (ICE: fold check: original tree changed by fold with --enable...
Sebastian Pop [Thu, 21 Jun 2007 21:25:27 +0000 (21:25 +0000)]
re PR middle-end/20623 (ICE: fold check: original tree changed by fold with --enable-checking=fold)

PR middle-end/20623
* tree.h (debug_fold_checksum): Declared.
* fold-const.c (build_fold_addr_expr_with_type_1): New.
(build_fold_addr_expr_with_type, build_fold_addr_expr): Use
build_fold_addr_expr_with_type_1.
(fold_addr_expr, debug_fold_checksum): New.
(fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
(fold_unary, fold_comparison, split_address_to_core_and_offset):
Use fold_addr_expr.

From-SVN: r125929

17 years agore PR tree-optimization/19590 (IVs with the same evolution not eliminated)
Sebastian Pop [Thu, 21 Jun 2007 17:06:05 +0000 (17:06 +0000)]
re PR tree-optimization/19590 (IVs with the same evolution not eliminated)

PR tree-optimization/19590
* tree-vrp.c (adjust_range_with_scev): Set the range when the result
of scev is a constant.
* gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New.

From-SVN: r125925

17 years agodf-problems.c (df_note_bb_compute): Made computation of live info consistent with...
Kenneth Zadeck [Thu, 21 Jun 2007 16:24:59 +0000 (16:24 +0000)]
df-problems.c (df_note_bb_compute): Made computation of live info consistent with df_lr.

2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>

        * df-problems.c (df_note_bb_compute): Made computation of live
info consistent with df_lr.

From-SVN: r125924

17 years agore PR tree-optimization/32453 (ICE in build2_stat, at tree.c:3074 (extract_range_from...
Richard Guenther [Thu, 21 Jun 2007 14:54:47 +0000 (14:54 +0000)]
re PR tree-optimization/32453 (ICE in build2_stat, at tree.c:3074 (extract_range_from_assert))

2007-06-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/32453
* tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
for pointer anti-range.

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

From-SVN: r125922

17 years agoi386.c (processor_target_table): Increase maximum skip from 7 byte to 10 byte for...
H.J. Lu [Thu, 21 Jun 2007 12:31:09 +0000 (12:31 +0000)]
i386.c (processor_target_table): Increase maximum skip from 7 byte to 10 byte for Pentium Pro...

2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (processor_target_table): Increase maximum
skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
default 64bit.

* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
byte alignment if > 8 byte alignment is preferred.
* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.

From-SVN: r125920

17 years agore PR tree-optimization/31866 (ICE with tree check error: expected ssa_name, have...
Jakub Jelinek [Thu, 21 Jun 2007 12:20:42 +0000 (14:20 +0200)]
re PR tree-optimization/31866 (ICE with tree check error: expected ssa_name, have var_decl in create_outofssa_var_map)

PR tree-optimization/31866
* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
if ASM_EXPR's input is not a SSA_NAME.

* gcc.dg/pr31866.c: New test.

From-SVN: r125919

17 years agore PR middle-end/32362 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:1508)
Jakub Jelinek [Thu, 21 Jun 2007 12:11:00 +0000 (14:11 +0200)]
re PR middle-end/32362 (ICE: in lookup_decl_in_outer_ctx, at omp-low.c:1508)

PR middle-end/32362
* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
but decl is a global var, instead return decl.
* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
even for is_global_var decls, if they are private in some outer
context.

* testsuite/libgomp.c/pr32362-1.c: New test.
* testsuite/libgomp.c/pr32362-2.c: New test.
* testsuite/libgomp.c/pr32362-3.c: New test.

From-SVN: r125917

17 years agore PR tree-optimization/32451 (ICE in verify_flow_info after DOM2)
Richard Guenther [Thu, 21 Jun 2007 12:00:47 +0000 (12:00 +0000)]
re PR tree-optimization/32451 (ICE in verify_flow_info after DOM2)

2007-06-21  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/32451
* tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.

* g++.dg/torture/20070621-1.C: New testcase.

From-SVN: r125916

17 years agore PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
Eric Botcazou [Thu, 21 Jun 2007 10:11:19 +0000 (10:11 +0000)]
re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)

PR tree-optimization/25737
* misc.c (gnat_post_options): Do not force flag_tree_salias to 0.

From-SVN: r125915

17 years agosvn ci -m "introduce bank[0,1] registers and fix rte delay slot scheduling"
Christian Bruel [Thu, 21 Jun 2007 08:58:53 +0000 (10:58 +0200)]
svn ci -m "introduce bank[0,1] registers and fix rte delay slot scheduling"

2007-06-21  Christian Bruel  <christian.bruel@st.com>

* config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
* config/sh/sh.c (sh_loads_bankedreg_p): New function.
(push_regs): Changed saving order or banked registers.
(sh_expand_epilogue): Likewise.
* config/sh/sh.h (BANKED_REGISTER_P): New macro.
(FIRST_BANKED_REG): Likewise.
(LAST_BANKED_REG): Likewise.
* config/sh/sh.md (banked) New attribute.
(in_delay_slot): Check banked attribute.

2007-06-21  Christian Bruel  <christian.bruel@st.com>

* gcc.dg/attr-isr.c: Test delay slot content.

From-SVN: r125914

17 years ago* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerate.
Keith Seitz [Thu, 21 Jun 2007 06:49:02 +0000 (06:49 +0000)]
* gnu/classpath/jdwp/VMVirtualMachine.h: Regenerate.

From-SVN: r125910

17 years agore PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)
Jerry DeLisle [Thu, 21 Jun 2007 02:25:58 +0000 (02:25 +0000)]
re PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)

2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/32361
gfortran.dg/pointer_assign_2.f90: New test.

From-SVN: r125909

17 years agore PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)
Jerry DeLisle [Thu, 21 Jun 2007 02:23:45 +0000 (02:23 +0000)]
re PR fortran/32361 (TYPE DECLARATION TO INITIALIZE DATA IN NAMED COMMON)

2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/32361
* match.c (gfc_match_common): If the symbol value expression type is
NULL_EXPR, don't error if previously initialized.

From-SVN: r125908

17 years agore PR fortran/25061 (procedure name conflict)
Jerry DeLisle [Thu, 21 Jun 2007 01:48:21 +0000 (01:48 +0000)]
re PR fortran/25061 (procedure name conflict)

2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/25061
gfortran.dg/invalid_procedure_name.f90: New test.

From-SVN: r125907

17 years agore PR fortran/25061 (procedure name conflict)
Jerry DeLisle [Thu, 21 Jun 2007 01:18:02 +0000 (01:18 +0000)]
re PR fortran/25061 (procedure name conflict)

2007-06-20  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/25061
* decl.c (get_proc_name) Check symbol for generic interface
and issue an error.

From-SVN: r125906

17 years agoDaily bump.
GCC Administrator [Thu, 21 Jun 2007 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125904

17 years agore PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p...
Sebastian Pop [Wed, 20 Jun 2007 23:44:56 +0000 (23:44 +0000)]
re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)

PR tree-optimization/32075
* tree-data-ref.c (subscript_dependence_tester_1,
analyze_miv_subscript, analyze_overlapping_iterations,
add_distance_for_zero_overlaps, build_classic_dist_vector,
subscript_dependence_tester_1, analyze_overlapping_iterations,
subscript_dependence_tester, access_functions_are_affine_or_constant_p,
compute_affine_dependence, compute_all_dependences): Pass loop_nest
to evolution_function_is_affine_multivariate_p.

From-SVN: r125901

17 years agore PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p...
Sebastian Pop [Wed, 20 Jun 2007 23:42:28 +0000 (23:42 +0000)]
re PR tree-optimization/32075 (can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function)

PR tree-optimization/32075
* tree-data-ref.c (subscript_dependence_tester_1,
analyze_miv_subscript, analyze_overlapping_iterations,
add_distance_for_zero_overlaps, build_classic_dist_vector,
subscript_dependence_tester_1, analyze_overlapping_iterations,
subscript_dependence_tester, access_functions_are_affine_or_constant_p,
compute_affine_dependence, compute_all_dependences): Pass loop_nest
to evolution_function_is_affine_multivariate_p.

From-SVN: r125900

17 years agoUpdate from classpath trunk:
Keith Seitz [Wed, 20 Jun 2007 20:35:22 +0000 (20:35 +0000)]
Update from classpath trunk:

        * classpath/lib/gnu/classpath/jdwp/value/StringValue.class:
        Regenerate.

        * gnu/classpath/jdwp/value/StringValue.java
        (StringValue): Tag of StringValue is STRING not OBJECT.
        (write): String values are written to the wire as tag byte
        and object ID, not JdwpString.

From-SVN: r125897

17 years agoVMVirtualMachine.java (executeMethod): Update from reference implementation.
Keith Seitz [Wed, 20 Jun 2007 20:32:20 +0000 (20:32 +0000)]
VMVirtualMachine.java (executeMethod): Update from reference implementation.

        * gnu/classpath/jdwp/VMVirtualMachine.java (executeMethod):
        Update from reference implementation.
        * gnu/classpath/jdwp/natVMVirtualMachine.cc (executeMethod):
        Update parameter list to match new VMVirtualMachine interface.
        * classpath/lib/gnu/classpath/jdwp/processor/ClassTypeCommandSet.class:
        Regenerate.
        * classpath/lib/gnu/classpath/jdwp/processor/
        ObjectReferenceCommandSet.class: Regenerate.
        * classpath/lib/gnu/classpath/jdwp/value/ObjectValue.class: Regenerate.
        * classpath/lib/gnu/classpath/jdwp/VMVirtualMachine.class: Regenerate.
        * classpath/lib/gnu/classpath/jdwp/util/MethodResult.class: Regenerate.

From-SVN: r125896

17 years agoUpdate from classpath trunk:
Keith Seitz [Wed, 20 Jun 2007 20:30:34 +0000 (20:30 +0000)]
Update from classpath trunk:

        * gnu/classpath/jdwp/processor/ClassTypeCommandSet.java
        (executeInvokeMethod): No need to use ValueFactory any more;
        MethodResult.getReturnedValue now returns a Value.
        (executeNewInstance): Double-check that return result is
        an ObjectValue; throw JdwpInternalErrorException if it is not.
        (invokeMethod): Method IDs come from VMMethod, not VMIdManager.
        Arguments are Values not Objects.
        Use ValueFactory to create arguments.
        Pass invocation options to VMVirtualMachine.executeMethod.
        Don't do any thread suspend/resume work: VMVM.executeMethod
        will take care of it.
        * gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java
        (executeInvokeMethod): Method IDs come from VMMethod, not
        VMIdManager.
        Arguments should be Values instead of Objects.
        Use ValueFactory to create Values.
        Remove specific option handling and pass options to
        VMVirtualMachine.executeMethod.
        Remove thread suspension.
        Use MethodResult.getReturnedValue to get method's result.
        * gnu/classpath/jdwp/util/MethodResult.java
        (returnedValue): Change type to Value.
        (thrownException): Change type to Throwable.
        (resType): Remove.
        (MethodResult): New constructor.
        (setReturnedValue): Remove.
        (SetThrownException): Remove.
        (getResultType): Remove.
        (setResultType): Remove.
        * gnu/classpath/jdwp/value/ObjectValue.java (getValue):
        New method.
        * vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java
        (executeMethod): Replace "nonVirtual" parameter with more
        generic "options" parameter.
        Replace java.lang.reflect.Method parameter with VMMethod.
        Replace Object[] parameter with Value[] parameter.

From-SVN: r125895

17 years agodf-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
Eric Botcazou [Wed, 20 Jun 2007 20:26:07 +0000 (22:26 +0200)]
df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.

* df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.

From-SVN: r125894

17 years agore PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
Rask Ingemann Lambertsen [Wed, 20 Jun 2007 19:58:57 +0000 (19:58 +0000)]
re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)

2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

PR target/32335
* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
for TARGET_A16.
* config/m32c/prologue.md (epilogue_exitd_16): New.
(epilogue_reit_16): New.
(epilogue_exitd): Rename to epilogue_exitd_24.
(epilogue_reit): Rename to epilogue_reit_24.

From-SVN: r125893

17 years agore PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
Rask Ingemann Lambertsen [Wed, 20 Jun 2007 19:57:32 +0000 (19:57 +0000)]
re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)

2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

PR target/32335
* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
for TARGET_A16.
* config/m32c/prologue.md (epilogue_exitd_16): New.
(epilogue_reit_16): New.
(epilogue_exitd): Rename to epilogue_exitd_24.
(epilogue_reit): Rename to epilogue_reit_24.

From-SVN: r125892

17 years agodbgcnt.def (global_alloc_at_func, [...]): New counters.
Seongbae Park [Wed, 20 Jun 2007 18:22:28 +0000 (18:22 +0000)]
dbgcnt.def (global_alloc_at_func, [...]): New counters.

2007-06-20  Seongbae Park  <seongbae.park@gmail.com>
            Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
New counters.
* haifa-sched.c (queue_to_ready): Don't requeue next insn
if dbg_cnt (sched_insn) reaches the limit.
(choose_ready): New parameter INSN_PTR and new return value.
(schedule_block): Handle dbg_cnt (sched_insn). Handle
the new return value from choose_ready.
* global.c (global_aloc): New dbgcnt global_alloc_at_reg.
(rest_of_handle_global_alloc): New global_alloc_at_func.

Co-Authored-By: Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
From-SVN: r125891

17 years agore PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
Adam Nemet [Wed, 20 Jun 2007 18:19:10 +0000 (18:19 +0000)]
re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)

PR tree-optimization/25737
* tree.h (struct tree_struct_field_tag): Add new field alias_set.
(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
* tree-flow.h (struct fieldoff): Add new field alias_set.
* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
argument addressable_type.  Set alias_set of fieldoff.
* tree-ssa-alias.c (create_sft): Add new argument alias_set.
(create_overlap_variables_for): Pass alias_set from fieldoff to
create_sft.
* alias.c (get_alias_set): Use alias_set from SFT if set.

From-SVN: r125890

17 years agore PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)
Adam Nemet [Wed, 20 Jun 2007 18:17:20 +0000 (18:17 +0000)]
re PR tree-optimization/25737 (ACATS c974001 c974013 hang with struct aliasing)

PR tree-optimization/25737
* testsuite/gcc.dg/tree-ssa/alias-14.c: New test.

From-SVN: r125889

17 years agodarwin.h (ASM_OUTPUT_COMMON): Print the size of a variable as an unsigned HOST_WIDE_I...
Hui-May Chang [Wed, 20 Jun 2007 16:43:24 +0000 (16:43 +0000)]
darwin.h (ASM_OUTPUT_COMMON): Print the size of a variable as an unsigned HOST_WIDE_INT integer.

* gcc/config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
of a variable as an unsigned HOST_WIDE_INT integer.

  * gcc.target/i386/large-size-array-3.c: New.

From-SVN: r125888

17 years agore PR fortran/32140 (Miscompilation with -O1)
Andrew Pinski [Wed, 20 Jun 2007 14:57:10 +0000 (14:57 +0000)]
re PR fortran/32140 (Miscompilation with -O1)

2007-06-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
Richard Guenther  <rguenther@suse.de>

PR fortran/32140
* trans.c (gfc_build_addr_expr): Use the correct types.

* gfortran.fortran-torture/execute/pr32140.f90: New testcase.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r125886

17 years agoAdd (accidentally omited) ChangeLog entry for delta to config/m32r/linux.h
Nick Clifton [Wed, 20 Jun 2007 08:47:02 +0000 (08:47 +0000)]
Add (accidentally omited) ChangeLog entry for delta to config/m32r/linux.h

From-SVN: r125883

17 years agoChangeLog: Strip testsuite/ from file names.
Uros Bizjak [Wed, 20 Jun 2007 07:43:43 +0000 (09:43 +0200)]
ChangeLog: Strip testsuite/ from file names.

* ChangeLog: Strip testsuite/ from file names.  Fix whitespace.
Fix line wrapping.

From-SVN: r125882

17 years agore PR rtl-optimization/32405 (assertion failure in loop-iv.c; probable dataflow regre...
Zdenek Dvorak [Wed, 20 Jun 2007 06:56:26 +0000 (08:56 +0200)]
re PR rtl-optimization/32405 (assertion failure in loop-iv.c; probable dataflow regression)

PR rtl-optimization/32405
* loop-iv.c (iv_get_reaching_def): Fail for partial defs.

From-SVN: r125881

17 years ago* Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
Jakub Jelinek [Wed, 20 Jun 2007 06:42:00 +0000 (08:42 +0200)]
* Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).

From-SVN: r125876

17 years agore PR middle-end/31959 (ICE in expand_builtin_expect, at builtins.c:5112)
Jakub Jelinek [Wed, 20 Jun 2007 06:39:53 +0000 (08:39 +0200)]
re PR middle-end/31959 (ICE in expand_builtin_expect, at builtins.c:5112)

PR middle-end/31959
* builtins.c: Include diagnostic.h.
(expand_builtin_expect): Make gcc_assert more permissive.
* Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).

* gcc.dg/pr31959.c: New test.

From-SVN: r125875

17 years agore PR inline-asm/32109 (ICE with inline-asm and class with destructor)
Jakub Jelinek [Wed, 20 Jun 2007 06:37:17 +0000 (08:37 +0200)]
re PR inline-asm/32109 (ICE with inline-asm and class with destructor)

PR inline-asm/32109
* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
and !allows_mem.

* g++.dg/ext/asm10.C: New test.

From-SVN: r125874

17 years agore PR middle-end/32285 (Miscompilation with pure _Complex returning call inside anoth...
Jakub Jelinek [Wed, 20 Jun 2007 06:35:55 +0000 (08:35 +0200)]
re PR middle-end/32285 (Miscompilation with pure _Complex returning call inside another fn's argument list)

PR middle-end/32285
* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
if ACCUMULATE_OUTGOING_ARGS.

* gcc.c-torture/execute/20070614-1.c: New test.

From-SVN: r125873

17 years agoDaily bump.
GCC Administrator [Wed, 20 Jun 2007 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125867

17 years ago* MAINTAINERS (Write After Approval): Add myself.
Chris Matthews [Wed, 20 Jun 2007 00:10:46 +0000 (00:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r125864

17 years agom68hc11.c: Include dataflow header file.
Rask Ingemann Lambertsen [Tue, 19 Jun 2007 21:41:43 +0000 (23:41 +0200)]
m68hc11.c: Include dataflow header file.

2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

* config/m68hc11/m68hc11.c: Include dataflow header file.
(m68hc11_reorg): Port to dataflow.

From-SVN: r125861

17 years agoforgot to save back Changelog
Kenneth Zadeck [Tue, 19 Jun 2007 21:07:29 +0000 (21:07 +0000)]
forgot to save back Changelog

From-SVN: r125860

17 years agoi386.c (ix86_emit_swsqrtsf): Filter out infinity result of rsqrt insn for zero input...
Uros Bizjak [Tue, 19 Jun 2007 19:58:26 +0000 (21:58 +0200)]
i386.c (ix86_emit_swsqrtsf): Filter out infinity result of rsqrt insn for zero input argument to avoid NaN.

        * config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
        result of rsqrt insn for zero input argument to avoid NaN.

From-SVN: r125858

17 years agodf.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
Kenneth Zadeck [Tue, 19 Jun 2007 19:04:52 +0000 (19:04 +0000)]
df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.

2007-06-15  Kenneth Zadeck <zadeck@naturalbridge.com>

* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
(struct df_problem.free_blocks_on_set_blocks): New field.
(struct dataflow.optional_p): New field.
(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
(df_live_set_all_dirty): New function.
* df-scan.c (df_scan_alloc): Initialize optional_p.
(problem_SCAN): Initialize free_blocks_on_set_blocks.
* df-core.c (df_set_blocks): Removed use of
DF_FIRST_OPTIONAL_PROBLEM.  Now uses
df_problem.free_blocks_on_set_blocks to determine which blocks are
recycled.
(df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
(df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM.  Now
uses dataflow.optional_p to determine if problem should be
deleted.
(rest_of_handle_df_initialize): Only start live problem if
-02 or above.
(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
* df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc,
df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p.
(problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN,
problem_NOTE):  Initialize free_blocks_on_set_blocks.
(df_lr_bb_local_compute): Recompute luids if df_live problem is
not active.
(df_live_set_all_dirty, df_note_alloc): New function.
* regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
df_get_live_*.
* sched_ebb.c (compute_jump_reg_dependencies): Ditto.
* postreload.c (reload_combine): Ditto.
* cse.c (cse_extended_basic_block): Ditto.
* regmove.c (mark_flags_life_zones): Ditto.
* rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
erase_matching_seqs): Ditto.
* bt-load.c (compute_defs_uses_and_gen): Ditto.
* integrate (allocate_initial_values): Ditto.
* combine.c (reg_dead_at_p): Ditto.
* resource.c (mark_target_live_regs): Ditto.
* sched-rgn.c (check_live_1, update_live_1): Ditto.
* config/sh/sh.c (find_r0_life_regions): Ditto.
* global.c (rest_of_handle_global_alloc): Only add back df_live
for -O > 1.
* local-alloc.c (rest_of_handle_local_alloc): Only remove
df_live for -O > 1.
* ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
df_get_live_*.
(if_convert): Make sure df_live is there at -O == 1.
(pass_if_after_combine): Cleanup flags.
* init-regs.c (initialize_uninitialized_regs): Make sure df_live
is there at -O == 1.

From-SVN: r125857

17 years agoarm.c (arm_get_frame_offsets): Set offsets->locals_base to avoid negative stack size.
Seongbae Park [Tue, 19 Jun 2007 18:47:09 +0000 (18:47 +0000)]
arm.c (arm_get_frame_offsets): Set offsets->locals_base to avoid negative stack size.

gcc/ChangeLog:

2007-06-19  Seongbae Park  <seongbae.park@gmail.com>

* config/arm/arm.c (arm_get_frame_offsets): Set
offsets->locals_base to avoid negative stack size.
(thumb1_expand_prologue): Assert on negative stack size.

gcc/testsuite/ChangeLog:

2007-06-19  Seongbae Park  <seongbae.park@gmail.com>

* gcc.target/arm/stack-corruption.c: New test.

From-SVN: r125856

17 years agore PR tree-optimization/32367 (internal compiler error: in build_polynomial_chrec...
Sebastian Pop [Tue, 19 Jun 2007 18:35:39 +0000 (18:35 +0000)]
re PR tree-optimization/32367 (internal compiler error: in build_polynomial_chrec, at tree-chrec.h:113)

PR tree-optimization/32367
* tree-chrec.h (build_polynomial_chrec): Verify that the left hand side
of the chrec has no evolution in that loop.
* testsuite/gcc.dg/tree-ssa/pr32367.c: New.

From-SVN: r125855

17 years agoxtensa.c: Include "df.h".
Bob Wilson [Tue, 19 Jun 2007 17:58:13 +0000 (17:58 +0000)]
xtensa.c: Include "df.h".

* config/xtensa/xtensa.c: Include "df.h".
(xtensa_builtin_saveregs): Use adjust_address instead of change_address.
(xtensa_va_start): Invoke make_tree with sizetype for
expand_builtin_saveregs and then convert the result to a pointer.
Use POINTER_PLUS_EXPR.  Use size_int instead of build_int_cst.
(xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst.
Subtract argument size from index value as integers and then use
POINTER_PLUS_EXPR to add the result to the array address.

From-SVN: r125854

17 years agore PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)
Rask Ingemann Lambertsen [Tue, 19 Jun 2007 17:35:16 +0000 (19:35 +0200)]
re PR target/32335 (libgcc build failure, ICE in cselib_record_set, at cselib.c:1508)

2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

PR target/32335
* config/m32c/m32c.c: Include dataflow header file.
(m32c_emit_prologue): Adjust for prologue insn change.
* config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO
once inside a PARALLEL. Assume frame size passed in operand 0
includes space to save the fb register.
(prologue_enter_24): Likewise.
(epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL.

From-SVN: r125853

17 years agore PR target/32313 (Bootstrap failure running gengtype in stage 2.)
David Daney [Tue, 19 Jun 2007 16:36:42 +0000 (16:36 +0000)]
re PR target/32313 (Bootstrap failure running gengtype in stage 2.)

PR target/32313
* config/mips/mips.md (cprestore): Mark $gp as used.

From-SVN: r125852

17 years agore PR target/32369 ([frv] macro "DF_LIVE_IN" passed 2 arguments, but takes just 1)
Rask Ingemann Lambertsen [Tue, 19 Jun 2007 16:30:03 +0000 (18:30 +0200)]
re PR target/32369 ([frv] macro "DF_LIVE_IN" passed 2 arguments, but takes just 1)

2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

PR target/32369
* config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix.
(frv_ifcvt_modify_insn): Likewise.

From-SVN: r125851

17 years agoMAINTAINERS (Write After Approval): Add myself.
Rask Ingemann Lambertsen [Tue, 19 Jun 2007 16:08:04 +0000 (18:08 +0200)]
MAINTAINERS (Write After Approval): Add myself.

2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r125850

17 years agotree-ssa-structalias.c (handle_ptr_arith): Make sure to only handle positive offsets...
Richard Biener [Tue, 19 Jun 2007 12:57:58 +0000 (12:57 +0000)]
tree-ssa-structalias.c (handle_ptr_arith): Make sure to only handle positive offsets that fit in a HOST_WIDE_INT.

2007-06-19  Richard Guenther  <rguenther@suse.de>

* tree-ssa-structalias.c (handle_ptr_arith): Make sure to
only handle positive offsets that fit in a HOST_WIDE_INT.

* g++.dg/torture/pr30252.C: New testcase.

From-SVN: r125849

17 years agoi386.c (ix86_emit_swsqrtsf): Limit the result of rsqrt insn to FLT_MAX to avoid NaN...
Uros Bizjak [Tue, 19 Jun 2007 11:22:24 +0000 (13:22 +0200)]
i386.c (ix86_emit_swsqrtsf): Limit the result of rsqrt insn to FLT_MAX to avoid NaN for zero input argument.

* config/i386/i386.c (ix86_emit_swsqrtsf): Limit the result of
rsqrt insn to FLT_MAX to avoid NaN for zero input argument.

From-SVN: r125847

17 years agore PR middle-end/31950 (ICE in tree-ssa-alias-warnings.c)
Richard Guenther [Tue, 19 Jun 2007 11:16:43 +0000 (11:16 +0000)]
re PR middle-end/31950 (ICE in tree-ssa-alias-warnings.c)

2007-06-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/31950
* tree-ssa-alias-warnings.c (ffan_walker): Punt on MTAGs.

From-SVN: r125846

17 years ago* config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.
Nick Clifton [Tue, 19 Jun 2007 10:36:11 +0000 (10:36 +0000)]
* config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.

From-SVN: r125845

17 years agore PR tree-optimization/32353 (Miscompilation with RESULT_DECL)
Jakub Jelinek [Tue, 19 Jun 2007 09:08:39 +0000 (11:08 +0200)]
re PR tree-optimization/32353 (Miscompilation with RESULT_DECL)

PR tree-optimization/32353
* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.

* g++.dg/opt/nrv13.C: New test.

From-SVN: r125841

17 years agoDaily bump.
GCC Administrator [Tue, 19 Jun 2007 00:17:15 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r125837

17 years agoBreakpoint.java: Make abstract.
Keith Seitz [Tue, 19 Jun 2007 00:10:10 +0000 (00:10 +0000)]
Breakpoint.java: Make abstract.

        * gnu/gcj/jvmti/Breakpoint.java: Make abstract.
        (method): Change from private to protected.
        (location): Likewise.
        (Breakpoint): Change argument list to take only integer type.
        Add default constructor.
        (initialize_native): Renamed to ...
        (_save_insn): ... this to make function more explicit.
        (execute): New method.
        * gnu/gcj/jvmti/Breakpoint.h: Regenerate.
        * gnu/gcj/jvmti/natBreakpoint.cc (initialize_native): Rename to...
        (_save_insn): ... this.
        (install): Save the original instruction.
        * gnu/gcj/jvmti/NormalBreakpoint.java: New file.
        * gnu/gcj/jvmti/NormalBreakpoint.h: New file.
        * gnu/gcj/jvmti/natNormalBreakpoint.cc: New file.
        * gnu/gcj/jvmti/BreakpointManager.java (newBreakpoint):
        Instantiate a NormalBreakpoint instead of Breakpoint.
        * interpret-run.cc (insn_breakpoint): Remove breakpoint actions
        and call Breakpoint.execute to do them.
        * classpath/lib/gnu/gcj/jvmti/Breakpoint.class: Regenerate.
        * classpath/lib/gnu/gcj/jvmti/BreakpointManager.class: Likewise.
        * classpath/lib/gnu/gcj/jvmti/NormalBreakpoint.class: New file.
        * sources.am: Regenerate.
        * Makefile.am (nat_source_files): Add natNormalBreakpoint.cc.
        * Makefile.in: Regenerated.

From-SVN: r125834

17 years agore PR fortran/20882 ([4.2 only] PURE procedure containing pointer assignment to dummy...
Paul Thomas [Mon, 18 Jun 2007 23:07:32 +0000 (23:07 +0000)]
re PR fortran/20882 ([4.2 only] PURE procedure containing pointer assignment to dummy with pointer component)

2007-06-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20882
Correct the PR number from 20082 to 20882.

From-SVN: r125832

17 years agore PR fortran/20863 ([4.2 only] Pointer problems in PURE procedures)
Paul Thomas [Mon, 18 Jun 2007 23:04:28 +0000 (23:04 +0000)]
re PR fortran/20863 ([4.2 only] Pointer problems in PURE procedures)

2007-06-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20863
PR fortran/20082
* resolve.c (resolve_code): Use gfc_impure_variable as a
condition for rejecting derived types with pointers, in pure
procedures.
(gfc_impure_variable): Add test for dummy arguments of pure
procedures; any for functions and INTENT_IN for subroutines.

PR fortran/32236
* data.c (gfc_assign_data_value): Change the ICE on an array
reference initializer not being an array into an error and
clear init to prevent a repetition of the error.

2007-06-19  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/20863
PR fortran/20082
* gfortran.dg/impure_assignment_2.f90 : New test.

PR fortran/32236
* gfortran.dg/data_initialized_2.f90 : New test.

* gfortran.dg/equiv_7.f90 : Test for endianess and call the
appropriate version of 'dmach'.

From-SVN: r125831

17 years agore PR target/32389 (ICE in extract_constrain_insn_cached when using -msse)
Uros Bizjak [Mon, 18 Jun 2007 22:32:56 +0000 (00:32 +0200)]
re PR target/32389 (ICE in extract_constrain_insn_cached when using -msse)

        PR target/32389
        * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
        * config/i386/i386.c (assign_386_stack_local): Assert that
        SLOT_VIRTUAL is valid only before virtual regs are instantiated.
        (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
        Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
        * config/i386/i386.md (truncdfsf2, truncxf<mode>2): Ditto.

testsuite/ChangeLog:

        PR target/32389
        * gcc.target/i386/pr32389.c New test.

From-SVN: r125830

17 years agore PR c++/31923 (g++ accepts a storage-class-specifier on a template explicit special...
Simon Baldwin [Mon, 18 Jun 2007 22:09:14 +0000 (22:09 +0000)]
re PR c++/31923 (g++ accepts a storage-class-specifier on a template explicit specialization)

gcc/cp/ChangeLog
2007-06-15  Simon Baldwin <simonb@google.com>

        PR c++/31923
        * parser.c (cp_parser_single_declaration): Added check for storage
        class other than sc_none in parsed declaration, and a flag to indicate
        if the call is part of an explicit template specialization parse.
        * (cp_parser_explicit_specialization): Specialization check flag added
        to call to cp_parser_single_declaration(), set true.
        * (cp_parser_template_declaration_after_export): Specialization check
        flag added to call to cp_parser_single_declaration(), set false.
        * pt.c (check_explicit_specialization): Added code to copy visiblity
        and linkage from the templated function to the explicit specialization.

gcc/testsuite/ChangeLog
2007-06-15  Simon Baldwin <simonb@google.com>

        PR c++/31923
        * g++.dg/template/error25.C: New.
        * g++.dg/template/spec35.C: New.

From-SVN: r125829

17 years ago* config/ia64/ia64.h (LIBGCC2_TF_CEXT): New.
Steve Ellcey [Mon, 18 Jun 2007 20:57:09 +0000 (20:57 +0000)]
* config/ia64/ia64.h (LIBGCC2_TF_CEXT): New.

From-SVN: r125828

17 years agore PR middle-end/32321 (ICE in df_refs_verify with -fgcse-sm)
Seongbae Park [Mon, 18 Jun 2007 20:49:23 +0000 (20:49 +0000)]
re PR middle-end/32321 (ICE in df_refs_verify with -fgcse-sm)

2007-06-18  Seongbae Park  <seongbae.park@gmail.com>

PR rtl-optimization/32321
* gcse.c (replace_store_insn): Update the note before
calling emit_insn_after.

From-SVN: r125827

17 years agoRevert 125825 due to mismatching patch/changelog.
Seongbae Park [Mon, 18 Jun 2007 20:35:22 +0000 (20:35 +0000)]
Revert 125825 due to mismatching patch/changelog.

From-SVN: r125826

17 years agore PR rtl-optimization/32339 (ICE in insert_save, at caller-save.c:726)
Seongbae Park [Mon, 18 Jun 2007 20:02:33 +0000 (20:02 +0000)]
re PR rtl-optimization/32339 (ICE in insert_save, at caller-save.c:726)

gcc/ChangeLog:

2007-06-18  Seongbae Park  <seongbae.park@gmail.com>

PR rtl-optimization/32339
* df-scan.c (df_uses_record): Don't modify flags but just add to
it for df_ref_record.

gcc/testsuite/ChangeLog:

2007-06-18  Martin Michlmayr <tbm@cyrius.com>

PR rtl-optimization/32339
* gcc.c-torture/compile/pr32339.c: New test.

From-SVN: r125825

17 years agorevert: re PR target/32313 (Bootstrap failure running gengtype in stage 2.)
David Daney [Mon, 18 Jun 2007 19:35:05 +0000 (19:35 +0000)]
revert: re PR target/32313 (Bootstrap failure running gengtype in stage 2.)

Revert:

2007-06-18  David Daney  <ddaney@avtrex.com

PR target/32313
* config/mips/mips.c (mips_expand_call): Mark $gp as used by
local function call.

From-SVN: r125824

17 years agore PR target/32313 (Bootstrap failure running gengtype in stage 2.)
David Daney [Mon, 18 Jun 2007 17:36:42 +0000 (17:36 +0000)]
re PR target/32313 (Bootstrap failure running gengtype in stage 2.)

PR target/32313
* config/mips/mips.c (mips_expand_call): Mark $gp as used by
local function call.

From-SVN: r125818

17 years agostl_list.h: Rename guard macro consistently with file name.
Paolo Carlini [Mon, 18 Jun 2007 17:22:53 +0000 (17:22 +0000)]
stl_list.h: Rename guard macro consistently with file name.

2007-06-18  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_list.h: Rename guard macro consistently with
file name.
* include/bits/stl_algobase.h: Likewise.
* include/bits/stl_map.h: Likewise.
* include/bits/stl_queue.h: Likewise.
* include/bits/stl_set.h: Likewise.
* include/bits/stl_stack.h: Likewise.
* include/bits/stl_iterator_base_types.h: Likewise.
* include/bits/stl_multimap.h: Likewise.
* include/bits/stl_pair.h: Likewise.
* include/bits/stl_vector.h: Likewise.
* include/bits/stl_deque.h: Likewise.
* include/bits/stl_multiset.h: Likewise.
* include/bits/stl_iterator_base_funcs.h: Likewise.
* include/bits/stl_algo.h: Likewise.
* include/bits/stl_iterator.h: Likewise.
* include/bits/stl_tempbuf.h: Likewise.
* include/bits/stl_bvector.h: Likewise.
* include/bits/stl_function.h: Likewise.
* include/bits/stl_tree.h: Likewise.

From-SVN: r125815

17 years agore PR rtl-optimization/32355 (ICE in df_lr_verify_transfer_functions, at df-problems...
Kenneth Zadeck [Mon, 18 Jun 2007 16:47:05 +0000 (16:47 +0000)]
re PR rtl-optimization/32355 (ICE in df_lr_verify_transfer_functions, at df-problems.c:1924)

2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>

PR middle-end/32355
* gcse (rest_of_handle_gcse): Add call to df_finish_pass after
cse_main.
* df-problems.c (df_note_bb_compute): Fix dumping info.

2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>

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

From-SVN: r125812

17 years agoMakefile.def: Add dependency from configure-gdb to all-bfd.
Daniel Jacobowitz [Mon, 18 Jun 2007 15:58:17 +0000 (15:58 +0000)]
Makefile.def: Add dependency from configure-gdb to all-bfd.

* Makefile.def: Add dependency from configure-gdb to all-bfd.
* Makefile.in: Regenerated.

From-SVN: r125811

17 years agoconfigure.ac: Add AC_CANONICAL_TARGET.
Martin Michlmayr [Mon, 18 Jun 2007 14:32:14 +0000 (14:32 +0000)]
configure.ac: Add AC_CANONICAL_TARGET.

2007-06-18  Martin Michlmayr  <tbm@cyrius.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* configure.ac: Add AC_CANONICAL_TARGET.
* configure: Regenerated.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r125807

17 years agom68k.c (m68k_expand_epilogue): Emit a return insn with emit_jump_insn.
Kazu Hirata [Mon, 18 Jun 2007 13:58:33 +0000 (13:58 +0000)]
m68k.c (m68k_expand_epilogue): Emit a return insn with emit_jump_insn.

* config/m68k/m68k.c (m68k_expand_epilogue): Emit a return
insn with emit_jump_insn.

From-SVN: r125801

17 years agore PR tree-optimization/32383 (ICE with reciprocals and -ffast-math)
Uros Bizjak [Mon, 18 Jun 2007 08:30:47 +0000 (10:30 +0200)]
re PR tree-optimization/32383 (ICE with reciprocals and -ffast-math)

PR tree-optimization/32383
* targhooks.c (default_builtin_reciprocal): Add new bool argument.
* targhooks.h (default_builtin_reciprocal): Update prototype.
* target.h (struct gcc_target): Update builtin_reciprocal.
* doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Update description.
* tree-ssa-math-opts (execute_cse_reciprocals): Skip statements
where arg1 is not SSA_NAME.  Pass true to targetm.builtin_reciprocal
when fndecl is in BUILT_IN_MD class.
(execute_convert_to_rsqrt): Ditto.

* config/i386/i386.c (ix86_builtin_reciprocal): Update for new bool
argument.  Convert IX86_BUILTIN_SQRTPS code only when md_fn is true.
Convert BUILT_IN_SQRTF code only  when md_fn is false.

testsuite/ChangeLog:

PR tree-optimization/32383
* testsuite/g++.dg/opt/pr32383.C: New test.

From-SVN: r125790

17 years agobt-load.c (move_btr_def): Fix the order of arguments to validate_replace_rtx.
Kaz Kojima [Mon, 18 Jun 2007 05:10:38 +0000 (05:10 +0000)]
bt-load.c (move_btr_def): Fix the order of arguments to validate_replace_rtx.

* bt-load.c (move_btr_def): Fix the order of arguments
to validate_replace_rtx.

From-SVN: r125789

17 years ago* config/m68k/m68k-devices.def: Add 54450..54455.
Nathan Sidwell [Mon, 18 Jun 2007 00:57:03 +0000 (00:57 +0000)]
* config/m68k/m68k-devices.def: Add 54450..54455.

From-SVN: r125788

17 years agoDaily bump.
GCC Administrator [Mon, 18 Jun 2007 00:16:59 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125786

17 years agoCorrect filename of files.c in recent Changelog entries.
Danny Smith [Sun, 17 Jun 2007 23:19:09 +0000 (23:19 +0000)]
Correct filename of files.c in recent Changelog entries.

From-SVN: r125779

17 years agocppfiles.c (open_file): Correct typo.
Danny Smith [Sun, 17 Jun 2007 23:15:58 +0000 (23:15 +0000)]
cppfiles.c (open_file): Correct typo.

* cppfiles.c (open_file): Correct typo.

From-SVN: r125778

17 years agore PR rtl-optimization/32366 (Segfault in significand_size with -ftree-vectorize)
Uros Bizjak [Sun, 17 Jun 2007 19:23:30 +0000 (21:23 +0200)]
re PR rtl-optimization/32366 (Segfault in significand_size with -ftree-vectorize)

        PR rtl-optimization/32366
        * simplify-rtx.c (simplify_unary_operation_1) [FLOAT_TRUNCATE,
        FLOAT_EXTEND]: Prevent non-scalar modes from entering
        significand_size.

testsuite/ChangeLog:

        PR rtl-optimization/32366
        * testsuite/gcc.dg/vect/pr32366.c: New test.

From-SVN: r125777

17 years agore PR middle-end/32349 (ICE in df_refs_verify with -O2 -fmodulo-sched for spec tests)
Kenneth Zadeck [Sun, 17 Jun 2007 17:51:25 +0000 (17:51 +0000)]
re PR middle-end/32349 (ICE in df_refs_verify with -O2 -fmodulo-sched for spec tests)

2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>

PR middle-end/32349
* modulo-sched (generate_reg_moves): Added rescan parameter and if
this is true, rescan insn being modified.
(sms_schedule): Added rescan parameter.
(rest_of_handle_sms): Moved freeing of dominance info to before
getting out of cfg_layout.

2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>

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

From-SVN: r125776

17 years agoatomicity.h: Use __mcfisaa__...
Nathan Sidwell [Sun, 17 Jun 2007 13:09:58 +0000 (13:09 +0000)]
atomicity.h: Use __mcfisaa__...

* config/cpu/m68k/atomicity.h: Use __mcfisaa__, __mcfisaaplus__,
__mcfisab__ & __mcfisac__ instead of obsolete cpu #defines.

From-SVN: r125775

17 years agopredicates.md (const_call_operand): Adjust comment.
Nathan Sidwell [Sun, 17 Jun 2007 13:08:43 +0000 (13:08 +0000)]
predicates.md (const_call_operand): Adjust comment.

* config/m68k/predicates.md (const_call_operand): Adjust comment.
(const_sibcall_operand): New.
(sibcall_operand): Use it.
* config/m68k/m68k.c (FL_FOR_isa_c): Not ISA_B compatible.
(m68k_isas): ISAC does not imply FPU or EMAC.
(override_options): Add ISA_C logic for symbolic jump & call.

From-SVN: r125774

17 years agom68k.c (all_isas): Remove FL_CF_FPU and FL_CF_EMAC from the entry for isac.
Nathan Sidwell [Sun, 17 Jun 2007 13:07:03 +0000 (13:07 +0000)]
m68k.c (all_isas): Remove FL_CF_FPU and FL_CF_EMAC from the entry for isac.

* config/m68k/m68k.c (all_isas): Remove FL_CF_FPU and
FL_CF_EMAC from the entry for isac.

From-SVN: r125773

17 years agom68k.h (ISA_HAS_FF1, [...]): New.
Nathan Sidwell [Sun, 17 Jun 2007 13:06:02 +0000 (13:06 +0000)]
m68k.h (ISA_HAS_FF1, [...]): New.

* config/m68k/m68k.h (ISA_HAS_FF1, ISA_HAS_MVS_MVZ): New.
* config/m68k/m68k.md: Use ISA_HAS_FF1 and ISA_HAS_MVS_MVZ as
appropriate.

From-SVN: r125772

17 years agosparc.c (sparc_vis_init_builtins): Retrieve the return mode from the builtin itself.
Eric Botcazou [Sun, 17 Jun 2007 11:17:10 +0000 (13:17 +0200)]
sparc.c (sparc_vis_init_builtins): Retrieve the return mode from the builtin itself.

* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
return mode from the builtin itself.
(sparc_fold_builtin): Fix cast of zero constant.

From-SVN: r125768

17 years agosse-recip-vec.c: Add file, missing from my previous commit.
Uros Bizjak [Sun, 17 Jun 2007 07:20:21 +0000 (09:20 +0200)]
sse-recip-vec.c: Add file, missing from my previous commit.

* gcc.target/i386/sse-recip-vec.c: Add file, missing from my
previous commit.

From-SVN: r125767

17 years agogfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n environment variables.
Janne Blomqvist [Sun, 17 Jun 2007 06:18:38 +0000 (09:18 +0300)]
gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n environment variables.

2007-06-17  Janne Blomqvist  <jb@gcc.gnu.org>

* gfortran.texi: Add documentation for GFORTRAN_UNBUFFERED_n
environment variables. Fix documentation for
GFORTRAN_UNBUFFERED_ALL environment variable.

From-SVN: r125766

17 years agoDaily bump.
GCC Administrator [Sun, 17 Jun 2007 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r125764

17 years ago* Fix mis-merge from PTR-PLUS branch.
Uros Bizjak [Sat, 16 Jun 2007 19:36:50 +0000 (21:36 +0200)]
* Fix mis-merge from PTR-PLUS branch.

From-SVN: r125759

17 years agotarghooks.c (default_builtin_reciprocal): New default target hook.
Uros Bizjak [Sat, 16 Jun 2007 18:52:11 +0000 (20:52 +0200)]
targhooks.c (default_builtin_reciprocal): New default target hook.

        * targhooks.c (default_builtin_reciprocal): New default target hook.
        * targhooks.h (default_builtin_reciprocal): Add prototype.
        * hooks.c (hook_tree_tree_bool_null): Remove hook.
        * hooks.h (hook_tree_tree_bool_null): Remove prototype.
        * target-def.h (TARGET_BUILTIN_RECIPROCAL): Define as
        default_builtin_reciprocal.

From-SVN: r125758

17 years agocppfiles.c (open_file): Prevent the call for stat from overwriting errno.
Vladimir Prus [Sat, 16 Jun 2007 12:30:49 +0000 (12:30 +0000)]
cppfiles.c (open_file): Prevent the call for stat from overwriting errno.

        * cppfiles.c (open_file): Prevent the call
        for stat from overwriting errno.

From-SVN: r125757

17 years agore PR middle-end/31723 (Use reciprocal and reciprocal square root with -ffast-math)
Uros Bizjak [Sat, 16 Jun 2007 09:52:48 +0000 (11:52 +0200)]
re PR middle-end/31723 (Use reciprocal and reciprocal square root with -ffast-math)

    PR middle-end/31723
    * hooks.c (hook_tree_tree_bool_null): New hook.
    * hooks.h (hook_tree_tree_bool_null): Add prototype.
    * tree-pass.h (pass_convert_to_rsqrt): Declare.
    * passes.c (init_optimization_passes): Add pass_convert_to_rsqrt.
    * tree-ssa-math-opts.c (execute_cse_reciprocals): Scan for a/func(b)
    and convert it to reciprocal a*rfunc(b).
    (execute_convert_to_rsqrt): New function.
    (gate_convert_to_rsqrt): New function.
    (pass_convert_to_rsqrt): New pass definition.
    * target.h (struct gcc_target): Add builtin_reciprocal.
    * target-def.h (TARGET_BUILTIN_RECIPROCAL): New define.
    (TARGET_INITIALIZER): Initialize builtin_reciprocal with
    TARGET_BUILTIN_RECIPROCAL.
    * doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Document.

    * config/i386/i386.h (TARGET_RECIP): New define.
    * config/i386/i386.md (divsf3): Expand by calling ix86_emit_swdivsf
    for TARGET_SSE_MATH and TARGET_RECIP when
    flag_unsafe_math_optimizations is set and not optimizing for size.
    (*rcpsf2_sse): New insn pattern.
    (*rsqrtsf2_sse): Ditto.
    (rsqrtsf2): New expander.  Expand by calling ix86_emit_swsqrtsf
    for TARGET_SSE_MATH and TARGET_RECIP when
    flag_unsafe_math_optimizations is set and not optimizing for size.
    (sqrt<mode>2): Expand SFmode operands by calling ix86_emit_swsqrtsf
    for TARGET_SSE_MATH and TARGET_RECIP when
    flag_unsafe_math_optimizations is set and not optimizing for size.
    * config/i386/sse.md (divv4sf): Expand by calling ix86_emit_swdivsf
    for TARGET_SSE_MATH and TARGET_RECIP when
    flag_unsafe_math_optimizations is set and not optimizing for size.
    (*sse_rsqrtv4sf2): Do not export.
    (sqrtv4sf2): Ditto.
    (sse_rsqrtv4sf2): New expander.  Expand by calling ix86_emit_swsqrtsf
    for TARGET_SSE_MATH and TARGET_RECIP when
    flag_unsafe_math_optimizations is set and not optimizing for size.
    (sqrtv4sf2): Ditto.
    * config/i386/i386.opt (mrecip): New option.
    * config/i386/i386-protos.h (ix86_emit_swdivsf): Declare.
    (ix86_emit_swsqrtsf): Ditto.
    * config/i386/i386.c (IX86_BUILTIN_RSQRTF): New constant.
    (ix86_init_mmx_sse_builtins): __builtin_ia32_rsqrtf: New
    builtin definition.
    (ix86_expand_builtin): Expand IX86_BUILTIN_RSQRTF using
    ix86_expand_unop1_builtin.
    (ix86_emit_swdivsf): New function.
    (ix86_emit_swsqrtsf): Ditto.
    (ix86_builtin_reciprocal): New function.
    (TARGET_BUILTIN_RECIPROCAL): Use it.
    (ix86_vectorize_builtin_conversion): Rename from
    ix86_builtin_conversion.
    (TARGET_VECTORIZE_BUILTIN_CONVERSION): Use renamed function.
    * doc/invoke.texi (Machine Dependent Options): Add -mrecip to
    "i386 and x86_64 Options" section.
    (Intel 386 and AMD x86_64 Options): Document -mrecip.

testsuite/ChangeLog:

    PR middle-end/31723
    * gcc.target/i386/recip-divf.c: New test.
    * gcc.target/i386/recip-sqrtf.c: Ditto.
    * gcc.target/i386/recip-vec-divf.c: Ditto.
    * gcc.target/i386/recip-vec-sqrtf.c: Ditto.
    * gcc.target/i386/sse-recip.c: Ditto.

From-SVN: r125756

17 years ago[multiple changes]
Andrew Pinski [Sat, 16 Jun 2007 05:42:36 +0000 (22:42 -0700)]
[multiple changes]

2007-06-15  Andrew Pinski <andrew_pinski@playstation.sony.com>
            Zdenek Dvorak <dvorakz@suse.cz>
            Richard Guenther  <rguenther@suse.de>
            Kaz Kojima  <kkojima@gcc.gnu.org>

* tree-vrp.c (compare_values_warnv): Convert val2 to
the type of val1.
(extract_range_from_assert): Create
POINTER_PLUS_EXPR for pointer types.
(extract_range_from_binary_expr): Handle
only POINTER_PLUS_EXPR, MIN_EXPR, and MAX_EXPR
for pointer types.
* doc/c-tree.texi (POINTER_PLUS_EXPR): Document.
* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle
POINTER_PLUS_EXPR as PLUS_EXPR.
(number_of_iterations_lt_to_ne):
For pointer types, use sizetype when
creating MINUS_EXPR/PLUS_EXPRs.
(assert_loop_rolls_lt): For pointer types, use sizetype when
creating MINUS_EXPR/PLUS_EXPRs.
(number_of_iterations_le): Likewise.
(expand_simple_operations): POINTER_PLUS_EXPR are simple also.
(derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just
like PLUS_EXPR and MINUS_EXPR.
* tree-pretty-print.c (dump_generic_node): Handle
POINTER_PLUS_EXPR.
(op_prio): Likewise.
(op_symbol_1): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
* tree-ssa-loop-manip.c (create_iv): Handle pointer base
specially.
* tree-tailcall.c (process_assignment): Mention
POINTER_PLUS_EXPR in a TODO comment.
* tree.c (build2_stat): Assert when trying to use PLUS_EXPR or
MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR
not used with a pointer and an integer type.
* tree-scalar-evolution.c (add_to_evolution_1): Convert the
increment using chrec_convert_rhs instead of chrec_convert.
(follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like
PLUS_EXPR except for the right hand side's type will be
sizetype.
(interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR.
(fold_used_pointer_cast): Kill.
(pointer_offset_p): Kill.
(fold_used_pointer): Kill.
(pointer_used_p): Kill.
(analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't
call fold_used_pointer.
(instantiate_parameters_1): Convert the increment
using chrec_convert_rhs instead of chrec_convert.
Handle POINTER_PLUS_EXPR as PLUS_EXPR.
* builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR
instead of PLUS_EXPR.
(expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of
PLUS_EXPR for pointers.
(std_gimplify_va_arg_expr): Likewise.
(fold_builtin_memory_op): Likewise.
(fold_builtin_strstr): Likewise.
(fold_builtin_strchr): Likewise.
(fold_builtin_strrchr): Likewise.
(fold_builtin_strpbrk): Likewise.
(expand_builtin_memory_chk): Likewise.
(fold_builtin_memory_chk): Likewise.
(std_expand_builtin_va_start): Use
sizetype for the call to make_tree and then convert
to the pointer type.
(fold_builtin_memchr): Use POINTER_PLUS_EXPR
instead of PLUS_EXPR for adding to a pointer.
(std_gimplify_va_arg_expr): Use fold_build2 for
the creating of POINTER_PLUS_EXPR.  For the BIT_AND_EXPR, cast
the operands to sizetype first and then cast the BIT_AND_EXPR
back to the pointer type.
* fold-const.c (build_range_check): Handle pointer types
specially.
(extract_array_ref): Look for POINTER_PLUS_EXPR instead
of PLUS_EXPR's. Make sure the offset is converted to
sizetype.
(try_move_mult_to_index): Strip the NOPs from the offset.
Remove code argument and replace all uses with PLUS_EXPR.
(fold_to_nonsharp_ineq_using_bound): Handle pointer types
specially. Don't use a pointer type for MINUS_EXPR.
(fold_unary): Handle for (T1)(X op Y),
only p+ as that is the only as that can be handled for
binary operators now.
(fold_binary <case POINTER_PLUS_EXPR>): Add folding of
POINTER_PLUS_EXPR.
<case PLUS_EXPR>: Add folding of PTR+INT into
PTR p+ INT.
Don't call try_move_mult_to_index.
<case MINUS_EXPR>: Fold (PTR0 p+ A) - (PTR1 p+ B)
into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into
(PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies.
Don't call try_move_mult_to_index.
(tree_expr_nonnegative_warnv_p): Handle POINTER_PLUS_EXPR.
(tree_expr_nonzero_p): Likewise.
(fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead
of PLUS_EXPR for the complex expression folding.
* tree-chrec.c (chrec_fold_plus_poly_poly): If the
first chrec is a pointer type, then the second should
be sizetype and not the first's type.
For POINTER_PLUS_EXPR, use a different right hand side type.
Handle POINTER_PLUS_EXPR like PLUS_EXPR.
(chrec_fold_plus_1): For POINTER_PLUS_EXPR, use a
different right hand side type.
Handle POINTER_PLUS_EXPR like PLUS_EXPR.
(chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR
instead of PLUS_EXPR.
When either operand is zero, convert the other operand.
(chrec_apply): Use chrec_convert_rhs
on the argument x instead of chrec_convert.
(reset_evolution_in_loop): For pointer types, the new_evol
should be sizetype.
(convert_affine_scev): For POINTER_PLUS_EXPR, use a
different right hand side type.
Handle POINTER_PLUS_EXPR like PLUS_EXPR.
(chrec_convert_rhs): New function.
(chrec_convert_aggressive): For POINTER_PLUS_EXPR, use a
different right hand side type.
Handle POINTER_PLUS_EXPR like PLUS_EXPR.
* tree-chrec.h (chrec_convert_rhs): New prototype.
(build_polynomial_chrec): For pointer types, the right hand
* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Look for
POINTER_PLUS_EXPR instead of PLUS_EXPR's.
Remove subtraction case as it is always addition now.
Make sure the offset is converted to sizetype.
(fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially.
Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before.
* tree-ssa-loop-ivopts.c (determine_base_object): Abort for
PLUS_EXPR in pointer type.
Handle POINTER_PLUS_EXPR.
(tree_to_aff_combination): Likewise.
(force_expr_to_var_cost): Likewise.
(force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointers.
* c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR
instead of PLUS_EXPR of pointer types.
* tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR
as PLUS_EXPR.
(check_va_list_escapes): Likewise.
(check_all_va_list_escapes): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1):
Handle POINT_PLUS_EXPR as a PLUS_EXPR.
* expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR.
(string_constant): Likewise.
* tree-ssa-address.c (tree_mem_ref_addr): When adding
the offset to the base, use POINTER_PLUS_EXPR.
(add_to_parts): Convert the index to sizetype.
(create_mem_ref): Create A POINTER_PLUS_EXPR for the one case.
* matrix-reorg.c (collect_data_for_malloc_call): Stmt
will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
Offset only holds something for PLUS_EXPR.
(ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
a PLUS_EXPR.
(analyze_transpose): POINTER_PLUS_EXPR will only show up now
and not PLUS_EXPR.
(analyze_accesses_for_modify_stmt): Likewise.
Remove comment about the type being integral type as it is
wrong now.
(can_calculate_expr_before_stmt): Handle POINTER_PLUS_EXPR as
PLUS_EXPR.
(transform_access_sites): POINTER_PLUS_EXPR will only show up now
and not PLUS_EXPR.
Correct the type which the artimentic is done in (is now
sizetype).
Reindent one loop.
* tree-data-ref.c (split_constant_offset): Handle
POINTER_PLUS_EXPR
* tree-affine.c (tree_to_aff_combination): Likewise.
* c-typeck.c (build_unary_op): For pointers create the increment
as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR
for pointers.
* gimplify.c (gimplify_self_mod_expr): Create a
POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
(gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR.
* tree.def (POINTER_PLUS_EXPR): New tree code.
* tree-predcom.c (ref_at_iteration): If we have a pointer
type do the multiplication in sizetype.
* tree-mudflap.c (mf_xform_derefs_1): Create a
POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
* tree-ssa-forwprop.c
(forward_propagate_addr_into_variable_array_index):
Don't expect there to be a cast for the index as that
does not exist anymore.
(forward_propagate_addr_expr_1): Check for POINTER_PLUS_EXPR
instead of PLUS_EXPR.
Don't check for the first operand of the POINTER_PLUS_EXPR
was the index as it cannot be.
Call forward_propagate_addr_into_variable_array_index with
the SSA_NAME instead of the statement.
* varasm.c (const_hash_1): Handle POINTER_PLUS_EXPR.
(compare_constant): Likewise.
(copy_constant): Likewise.
(compute_reloc_for_constant): Likewise.
(output_addressed_constants): Likewise.
(initializer_constant_valid_p): Likewise.
* tree-ssa.c (tree_ssa_useless_type_conversion_1):
Convert the MIN/MAX of the inner type to the outer
type before comparing them.
* tree-ssa-loop-prefetch.c (idx_analyze_ref):  Handle
POINTER_PLUS_EXPR instead of PLUS_EXPR.
(issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
of PLUS_EXPR for pointers.
* tree-inline.c (estimate_num_insns_1): Handle
POINTER_PLUS_EXPR.
* tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
Create a POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
(bump_vector_ptr): Create a POINTER_PLUS_EXPR
instead of PLUS_EXPR for the pointer increment statement.
(vect_update_ivs_after_vectorizer): For pointer types, create
POINTER_PLUS_EXPR instead of PLUS_EXPR and also create
MULT_EXPR in sizetype.
(vect_gen_niters_for_prolog_loop): Add a cast when creating
byte_misalign.
* tree-object-size.c (plus_expr_object_size): Handle
POINTER_PLUS_EXPR instead of PLUS_EXPR.  Removing all the extra
code which is trying to figure out which side is a pointer and
is the index.
(check_for_plus_in_loops_1): Likewise.
(check_for_plus_in_loops): Likewise.
* c-common.c (pointer_int_sum): Create a
POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
* tree-ssa-structalias.c (handle_ptr_arith): Handle
only POINTER_PLUS_EXPR.  Removing all the extra
code which is trying to figure out which side is a pointer and
is the index.
* tree-cfg.c (verify_expr): Add extra checking for pointers and
PLUS_EXPR and MINUS_EXPR.
Also add checking to make sure the operands of POINTER_PLUS_EXPR
are correct.
* config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype
with make_tree, instead of a pointer type.
* config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR
for pointers instead of PLUS_EXPR.
(s390_gimplify_va_arg): Likewise.
* config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR
instead of PLUS_EXPR when doing addition on pointer
types.  Use sizetype for the second operand.
(spu_gimplify_va_arg_expr): Likewise.
* config/sparc/sparc.c (sparc_gimplify_va_arg): Use
POINTER_PLUS_EXPR instead of PLUS_EXPR when the operand was
a pointer.  Don't create a BIT_AND_EXPR for pointer types.
* config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR
for the pointer addition and also use size_int/sizetype
for the offset.
(ix86_gimplify_va_arg): Likewise.
Perform BIT_AND_EXPR on sizetype arguments.
* config/sh/sh.c (sh_va_start): Call make_tree with sizetype
and convert its result to a pointer type.  Use POINTER_PLUS_EXPR
for the pointer additions and also use size_int for the offsets.
(sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer
additions and also use size_int for the offsets.  Perform
BIT_AND_EXPR on sizetype arguments.
* config/ia64/ia64.c (ia64_gimplify_va_arg): Use
POINTER_PLUS_EXPR for pointers and create the
BIT_AND_EXPR in sizetype.
* config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointer addition.
(rs6000_va_start): Likewise.
Also use sizetype for the offset.
* config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR
as PLUS_EXPR/MINUS_EXPR.
(hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or
PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR.
Don't use BIT_AND_EXPR on a pointer type, convert the
expression to sizetype first.
* config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR
for pointers.
(mips_gimplify_va_arg_expr): Likewise.
Don't create BIT_AND_EXPR in a pointer type.

2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
        POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
        * trans-expr.c (gfc_trans_string_copy): Create
        POINTER_PLUS_EXPR instead of a PLUS_EXPR
        for pointer types.

2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

* typeck.c (build_binary_op): For templates build the
expression in pieces to avoid the assert in build2_stat.
(get_member_function_from_ptrfunc):
Change over to using POINTER_PLUS_EXPR and convert
the second operand to sizetype.
* typeck2.c (build_m_component_ref):  Likewise.
* init.c (expand_virtual_init): Create a POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointers.
(build_new_1): Likewise.
(build_vec_delete_1): Likewise.
(build_vec_delete): Likewise.
* class.c (build_base_path): Likewise.
(build_base_path): Likewise.
(convert_to_base_statically): Likewise.
(fixed_type_or_null): Handle POINTER_PLUS_EXPR.
(get_vtbl_decl_for_binfo): Handle POINTER_PLUS_EXPR
instead of PLUS_EXPR.
(dfs_accumulate_vtbl_inits): Create a POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointers.
* call.c (build_special_member_call): Likewise.
* rtti.c (build_headof): Likewise.
Use sizetype instead of ptrdiff_type_node.
(tinfo_base_init): Create a POINTER_PLUS_EXPR
instead of PLUS_EXPR for pointers.
* except.c (expand_start_catch_block):  Do a
NEGATIVE and then a POINTER_PLUS_EXPR instead
of a MINUS_EXPR.
* cp-gimplify.c (cxx_omp_clause_apply_fn): Convert
PLUS_EXPR on pointer types over to use
POINTER_PLUS_EXPR and remove the conversion
to the pointer types.
* method.c (thunk_adjust): Use POINTER_PLUS_EXPR for
adding to a pointer type. Use size_int instead of
ssize_int. Convert the index to sizetype before
adding it to the pointer.

2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * trans.c (Attribute_to_gnu): When subtracting an
        offset from a pointer, use POINTER_PLUS_EXPR with
        NEGATE_EXPR instead of MINUS_EXPR.
        (gnat_to_gnu): Likewise.
        * utils.c (convert): When converting between
        thin pointers, use POINTER_PLUS_EXPR and sizetype
        for the offset.
        * utils2.c (known_alignment): POINTER_PLUS_EXPR
        have the same semantics as PLUS_EXPR for alignment.
        (build_binary_op): Add support for the semantics of
        POINTER_PLUS_EXPR's operands.
        When adding an offset to a pointer, use POINTER_PLUS_EXPR.

2007-06-15 Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * class.c (make_class_data): Build the index in sizetype.
        Use POINTER_PLUS_EXPR instead of PLUS_EXPR when
        adding to a pointer type.
        (build_symbol_entry): Likewise.
        * expr.c (build_java_arrayaccess): Likewise.
        (build_field_ref): Likewise.
        (build_known_method_ref): Likewise.
        (build_invokevirtual): Likewise.
        * except.c (build_exception_object_ref): Do a
        NEGATIVE and then a POINTER_PLUS_EXPR instead
        of a MINUS_EXPR.

2007-06-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>

PR tree-opt/32225
* gcc.c-torture/compile/20070605-1.c: New test.

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

* gcc.c-torture/compile/20070531-1.c: New test.

PR tree-opt/32167
* gcc.c-torture/compile/20070531-2.c: New test.

PR tree-opt/32144
* gcc.c-torture/compile/20070529-1.c: New test.

PR tree-opt/32145
* gcc.c-torture/compile/20070529-2.c: New test.

PR tree-opt/32015
* gcc.c-torture/compile/20070520-1.c: New test.

* g++.dg/ext/java-1.C: New test.

* gcc.dg/vect/vect-106.c: We are now able to vectorize two
loops instead of one. Remove the "can't determine dependence"
check.
* gcc.dg/tree-ssa/20030815-1.c: Remove testcase which is no longer
needed as the cast is gone in the first place.
* gcc.dg/max-1.c: Change local variable a to be a global one.
* gcc.dg/tree-ssa/ssa-pre-8.c: Update testcase since we don't
have a cast which is PREd.

From-SVN: r125755

17 years agoconfig.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc.
Eric Christopher [Sat, 16 Jun 2007 02:43:57 +0000 (02:43 +0000)]
config.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc.

2007-06-15  Eric Christopher  <echristo@apple.com>

    * config.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc.
    (x86_64-*-darwin*): Ditto.
    * config/i386/darwin.h (CRTEND_SPEC): New. Add support
    for above.

From-SVN: r125754