Age | Commit message (Collapse) | Author | Files | Lines |
|
libcpp:
* directives.c (#sccs table entry): Mark IN_I, consistent with #ident.
(do_sccs): Delete function definition, #define to do_ident.
(do_ident): Don't hardwire directive name.
gcc:
* doc/cpp.texi: Document that #sccs is a synonym for #ident.
From-SVN: r99623
|
|
From-SVN: r99621
|
|
2005-05-12 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/21532
* tree-ssa-pre.c (create_expression_by_pieces): stmt
needs to go onto the inserted_exprs list.
From-SVN: r99617
|
|
./: * c-common.h (statement_code_p): Don't declare.
(STATEMENT_CODE_P): Don't define.
(INIT_STATEMENT_CODES): Don't define.
* c-common.c (statement_code_p): Don't define.
cp/:
* cp-tree.h (cp_stmt_codes): Don't define.
(statement_code_p): Declare.
(STATEMENT_CODE_P): Define.
* lex.c (statement_code_p): Define.
(cxx_init): Use actual codes in stmt_codes initializer, not
cp_stmt_codes macro. Initialize statement_code_p directly, rather
than using INIT_STATEMENT_CODES.
From-SVN: r99615
|
|
* config/sparc/sparc.h: Remove dead code.
* config/sparc/sparc.c (sparc_compute_frame_size): Use
FIRST_PARM_OFFSET for the size of the register window area.
(emit_save_regs): Rename into emit_save_or_restore_regs.
Add 'action' parameter. Use 4095 as upper bound for the offset.
Pass 'action' to save_or_restore_regs.
(emit_restore_regs): Delete.
(sparc_expand_prologue): Call emit_save_or_restore_regs.
(sparc_expand_epilogue): Likewise.
* config/sparc/sparc.md (mode macro P): Move.
(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
(mov<V32:mode> expander): Move to the top of the V32 section.
(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
(sibcall_epilogue): Move.
From-SVN: r99609
|
|
PR target/21501
* arm.c (arm_gen_constant): Sign-extend intermediate values when
synthesizing a constant of the difference of two immediates.
From-SVN: r99608
|
|
* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
(negdf2_vfp): Likewise. Convert to define_insn_and_split and split
the alternatives using integer registers into the appropriate
primitives.
From-SVN: r99607
|
|
2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
* bitmap.h: Fixed comments.
From-SVN: r99605
|
|
gcc/java:
* gcj.texi (Code Generation): Document -fbootstrap-classes.
* decl.c (GCJ_BOOTSTRAP_LOADER_ADDITION): New macro.
(parse_version): Use it.
* lang.opt (-fbootstrap-classes): New option.
libjava:
* external/w3c_dom/Makefile.in: Rebuilt.
* external/w3c_dom/Makefile.am (libw3c_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* external/sax/Makefile.in: Rebuilt.
* external/sax/Makefile.am (libsax_gcj_la_GCJFLAGS): Added
-fbootstrap-classes.
* java/lang/Class.h (_Jv_CopyClassesToSystemLoader): Declare as
friend.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
Call _Jv_CopyClassesToSystemLoader.
* java/lang/natClassLoader.cc (system_class_list): New global.
(_Jv_RegisterClassHookDefault): Handle bootstrap and system
classes differently.
(_Jv_CopyClassesToSystemLoader): New function.
(SYSTEM_LOADER_INITIALIZED): New define.
* include/jvm.h (GCJ_BOOTSTRAP_LOADER_ADDITION): New define.
(_Jv_CheckABIVersion): Use it.
(_Jv_ClassForBootstrapLoader): New function.
* Makefile.in: Rebuilt.
* Makefile.am (AM_GCJFLAGS): Added -fbootstrap-classes.
From-SVN: r99604
|
|
[[Split portion of a mixed commit.]]
From-SVN: r99602.2
|
|
fortran/
PR fortran/21260
* io.c (check_format): Look for literal characters inside
hollerith constant.
testsuite/
PR fortran/21260
* gfortran.dg/hollerith_1.f90: New test.
From-SVN: r99597
|
|
PR target/21412
* config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
(ia64_cannot_force_const_mem): New.
(tls_symbolic_operand_type): New.
(ia64_legitimate_constant_p): New.
(ia64_expand_load_address): Return true on success. Improve
checks for when we should not split.
(ia64_expand_tls_address): New addend operand. Distribute it
as appropriate to the tls_kind. Delay referencing gp.
(ia64_expand_move): Split symbolic addend as necessary. Handle
tls symbols with addends.
* config/ia64/ia64-protos.h: Update.
* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
p0, f0, f1, and r13.
(LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
* config/ia64/ia64.md (UNSPEC_DTPMOD): New.
(symbolic_operand splitter): Pass everything through
ia64_expand_load_address and FAIL or DONE as appropriate.
(load_fptr): Only accept after reload.
(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
load_symptr_low, load_ltoff_dtpmod,
(load_dtpmod): New.
(load_dtprel): Only accept tls symbols.
(load_dtprel64, load_dtprel22): Likewise.
(load_tprel, load_tprel64, load_tprel22): Likewise.
(load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
(add_dtprel): Only accept tls symbols. Canonicalize PLUS.
(add_dtprel14, add_dtprel22): Likewise.
(add_tprel, add_tprel14, add_tprel22): Likewise.
* config/ia64/predicates.md (small_addr_symbolic_operand): New.
(any_offset_symbol_operand, aligned_offset_symbol_operand): New.
(got_symbolic_operand): Check CONST offsets.
(tls_symbolic_operand, ld_tls_symbolic_operand): New.
(ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
(move_operand): Don't handle tls here. Check CONST offsets.
From-SVN: r99596
|
|
* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
Remove hilo_operand check.
(rm7_impy_si_mul): Just match imul3. Remove hilo_operand check.
* config/mips/predicates.md (hilo_operand): Delete.
From-SVN: r99592
|
|
From-SVN: r99591
|
|
GOTO_EXPR)
PR tree-optimizer/18472
* tree-if-conv.c (tree_if_convert_stmt,
if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
From-SVN: r99588
|
|
From-SVN: r99586
|
|
* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
(GTFILES): add except.h.
* except.c (eh_status): Add throw_stmt_table.
(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
lookup_stmt_eh_region_fn): Declare.
(throw_stmt_node): New structure.
(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
* gengtype.c (open_base_files): Add except.h to inlines.
* tree-eh.c (throw_stmt_node): Kill.
(record_stmt_eh_region): Update.
(add_stmt_to_eh_region_fn): Break out from ...
(add_stmt_to_eh_region): ... here.
(remove_stmt_from_eh_region_fn): Break out from ...
(remove_stmt_from_eh_region): ... here.
(lookup_stmt_eh_region_fn): Break out from ...
(lookup_stmt_eh_region): ... here.
(honor_protect_cleanup_actions): Use build_resx.
(lower_try_finally_onedest): Likewise.
(lower_try_finally_copy): Likewise.
(lower_try_finally_switch): Likewise.
(lower_eh_constructs): Update eh table construction.
* tree.c (build_resx): New.
* tree.h (build_resx): Declare.
From-SVN: r99585
|
|
2005-05-11 H.J. Lu <hongjiu.lu@intel.com>
* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
is needed.
From-SVN: r99584
|
|
* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
redundant code.
From-SVN: r99583
|
|
From-SVN: r99582
|
|
* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
default definition.
(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
From-SVN: r99581
|
|
result symbol to function symbol.
fortran/
* resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
attribute from result symbol to function symbol.
testsuite/
* gfortran.dg/func_result_2.f90: New test.
From-SVN: r99580
|
|
PR bootstrap/21481
* crtstuff.c: Include auto-host.h again, for now.
From-SVN: r99579
|
|
From-SVN: r99578
|
|
* config/mips/mips.md (type): Add imul3.
(length, hazard, may_clobber_hilo): Check for imul3.
(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
* config/mips/24k.md (r24k_int_mul3): Enable this reservation
for a 3 operand mul and its bypasses.
* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
* config/mips/4000.md (r4k_imul): Likewise.
* config/mips/4100.md (r4100_imul_si, r4100_imul_di): Likewise.
* config/mips/4130.md (vr4130_class, vr4130_mulsi)
(vr4130_muldi): Likewise.
* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
(ir_vr54_imadd_si): Likewise.
* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di): Likewise.
* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
(rm7_impy_di): Likewise.
* config/mips/9000.md (rm9k_mulsi, rm9k_muldi): Likewise.
* config/mips/generic.md (generic_imul): Likewise.
* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di): Likewise.
From-SVN: r99577
|
|
PR middle-end/20371:
* tree.h (record_layout_info_s): New member prev_packed.
* stor-layout.c (update_alignment_for_field): Fix comment about
KNOWN_ALIGN. For MS bitfields, if we start a new run, make sure
we start it properly aligned.
(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
to update_alignment_for_field, and recompute it afterwards using
the alignment of the record.
When a packed bitfield precedes an MS bitfield, don't add padding
at the end of the packed bitfield on behalf of the base type of
the packed bit field.
Don't adjust rli->bitpos at the end
of an MS bitfield run if we already adjusted bitpos/offset for an
alignment as large or larger than the bitfield type size.
Take possible record alignment > BIGGEST_ALIGNMENT into account
when calculating actual_align.
Only put packed buit fields into rli->prev_field if they end up
suitably aligned.
Also set rli->remaining_in_alignment when we re-set rli->prev_field.
Update rli->remaining_in_alignment when we have already started a
run of bit fields and we process a packed bit field.
From-SVN: r99574
|
|
loop contains a CALL_EXPR or an ASM_EXPR...
* tree-data-ref.c (find_data_references_in_loop): Give up when
the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
may embed arbitrary side effects.
Remove the assumption that GIMPLE form contains a single array
access per statement.
When the statement contains virtual operands, fail if it is not
a MODIFY_EXPR or a CALL_EXPR.
Return after the dont know node is inserted.
From-SVN: r99573
|
|
PR fortran/19478
* io/unix.c (fd_truncate): update positions when ftruncate
fails (like writing to /dev/null).
* gfortran.dg/dev_null.f90: New test.
From-SVN: r99570
|
|
* arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
* gcc.dg/arm-vfp1.c: Revert last change.
From-SVN: r99569
|
|
2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
PR middle-end/19807
PR tree-optimization/19639
* fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
and generic summands for char* as s * delta, too, folding &a[i]
CODE x to &a[i CODE x/s]. Use tree_int_cst_equal
for comparison of steps. Convert types for index addition.
(fold_binary): Adjust the callers to always dispatch to
try_move_mult_to_index.
* tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
expr with non-gimple ARRAY_REF offset.
* g++.dg/tree-ssa/pr19807.C: New testcase.
From-SVN: r99568
|
|
qualifiers like const.
2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
* fold-const.c (fold_indirect_ref_1): Avoid removing
NOP_EXPRs with type qualifiers like const.
From-SVN: r99566
|
|
PR c/21502
* c-decl.c (finish_decl): Propagate the completed array type of
a global variable into the binding.
From-SVN: r99563
|
|
PR libfortran/21471
* open.c (new_unit): Take care of the case where POSITION_APPEND
is specified (sseek to the end, and set u>-endfile).
* gfortran.dg/append-1.f90: New test.
From-SVN: r99560
|
|
(build/varray.o): Depend on $(VARRAY_H).
From-SVN: r99559
|
|
passes to do an initial batch of scalar cleanups.
* tree-optimize.c (init_tree_optimization_passes): Re-organize
optimization passes to do an initial batch of scalar cleanups.
testsuite/ChangeLog
* gcc.dg/pr18501.c: XFAIL.
* gcc.dg/tree-ssa/loop-4.c: Fix expected pattern.
* gcc.dg/tree-ssa/pr20913.c: Change to link-time test.
* gcc.dg/tree-ssa/ssa-ccp-2.c: Change to a .optimized scan.
* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-ccp-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-7.c: Change to a .fre scan.
* gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.
From-SVN: r99558
|
|
[[Split portion of a mixed commit.]]
From-SVN: r99553.2
|
|
* read-rtl.c (struct macro_traverse_data): Define.
(map_attr_string): New static function, broken out of
apply_macro_to_string.
(mode_attr_index, apply_mode_maps): New static functions.
(apply_macro_to_string): Call map_attr_string.
(apply_macro_to_rtx): Add mode_maps and infile parameters. Change
all callers.
(apply_macro_traverse): Expect data to point to a struct
macro_traverse_data.
(read_rtx): Add mode_maps local variable. Use mode_traverse_data
to pass data through htab_traverse.
(read_rtx_1): Add mode_maps parameter. Change all callers.
Handle mode names which are attribute strings.
* doc/md.texi (Substitutions): Rename from String Substitutions.
Change references. Document using attributes as modes.
From-SVN: r99548
|
|
* tree-cfg.c (tree_duplicate_sese_region): Update profile.
* tree-optimize.c (init_tree_optimization_passes) Swap
pass_ch and pass_profile.
* tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
here. Remove rewrite_into_loop_closed_ssa call.
From-SVN: r99547
|
|
From-SVN: r99546
|
|
From-SVN: r99545
|
|
gcc/fortran/
PR fortran/20178
* gfortran.h (gfc_option): Add flag_f2c.
* invoke.texi: Document '-ff2c' command line option. Adapt
documentation for '-fno-second-underscore' and '-fno-underscoring'.
* lang.opt (ff2c): New entry.
* options.c (gfc-init_options): Set default calling convention
to -fno-f2c. Mark -fsecond-underscore unset.
(gfc_post_options): Set -fsecond-underscore if not explicitly set
by user.
(handle_options): Set gfc_option.flag_f2c according to requested
calling convention.
* trans-decl.c (gfc_get_extern_function_decl): Use special f2c
intrinsics where necessary.
(gfc_trans_deferred_vars): Change todo error to assertion.
* trans-expr.c (gfc_conv_variable): Dereference access
to hidden result argument.
(gfc_conv_function_call): Add hidden result argument to argument
list if f2c calling conventions requested. Slightly restructure
tests. Convert result of default REAL function to requested type
if f2c calling conventions are used. Dereference COMPLEX result
if f2c cc are used.
* trans-types.c (gfc_sym_type): Return double for default REAL
function if f2c cc are used.
(gfc_return_by_reference): Slightly restructure logic. Return
COMPLEX by reference depending on calling conventions.
(gfc_get_function_type): Correctly make hidden result argument a
pass-by-reference argument for COMPLEX. Remove old code which does
this for derived types.
libgfortran/
PR fortran/20178
* Makefile.am (gfor_specific_src): Add 'intrinsics/f2c_intrinsics.F90'
to dependencies.
* Makefile.in: Regenerate.
* intrinsics/f2c_specific.F90: New file.
gcc/testsuite/
PR fortran/20178
* gfortran.dg/f2c_1.f90, gfortran.dg/f2c_2.f90,
gfortran.dg/f2c_3.f90: New tests.
From-SVN: r99544
|
|
2005-05-10 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
function.
(legitimate_reload_constant_p): Add check for const double zero.
* config/s390/s390.md: Add comment for constraint letter 'G'.
("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
attributes for new case.
* config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
s390_const_double_ok_for_constraint_p.
* config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
Add prototype.
From-SVN: r99541
|
|
PR tree-optimization/21170
* tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
rewrite_ssa_into_ssa in comments with update_ssa.
From-SVN: r99540
|
|
* tree-ssa-loop-im.c: Include hashtab.h.
(struct mem_ref_loc): New.
(struct mem_ref): Describe the set of references with the same
shape.
(max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
maybe_queue_var, fem_single_reachable_address,
for_each_memref, single_reachable_address,
is_call_clobbered_ref, determine_lsm_reg): Removed.
(record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
hoist_memory_reference, memref_hash, memref_eq, memref_del,
gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
New functions.
(rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
(determine_lsm_loop): Rewritten.
(determine_lsm): Do not set stmt uids.
From-SVN: r99539
|
|
2005-05-10 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md: Add comment lines for 'f' and 't' constraint
letters.
From-SVN: r99538
|
|
2005-05-10 Adrian Straetling <straetling@de.ibm.com>
* config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
From-SVN: r99537
|
|
any abnormal edges.
* tree-ssa-dom.c (dom_opt_finalize_block): Do not call
thread_across_edge for any abnormal edges.
* gcc.c-torture/compile/20050510-1.c: New test.
From-SVN: r99536
|
|
From-SVN: r99528
|
|
* config/ia64/ia64.c (ia64_expand_atomic_op): New.
* config/ia64/ia64-protos.h: Declare it.
* config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
(sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
(sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
(sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
(sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
(cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>. Zero
extend result; use release semantics.
(cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
(sync_val_compare_and_swap_<IMODE>): Update to match.
From-SVN: r99527
|
|
From-SVN: r99526
|