Paul Brook [Thu, 16 Sep 2004 02:10:43 +0000 (02:10 +0000)]
Revert accidental commit of unrelated/unfinished changes.
From-SVN: r87583
GCC Administrator [Thu, 16 Sep 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87581
Jan Hubicka [Thu, 16 Sep 2004 00:01:41 +0000 (02:01 +0200)]
predict.c (expr_expected_value, [...]): New function.
* predict.c (expr_expected_value, strip_builtin_expect): New function.
(tree_predict_by_opcode): Use it.
(tree_estimate_probability): Add, for now disabled,
strip_builtin_expect call.
From-SVN: r87578
James E Wilson [Wed, 15 Sep 2004 23:26:33 +0000 (23:26 +0000)]
Fix linux kernel miscompilation.
PR target/17455
* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
if current_function_decl is a sibcall.
From-SVN: r87574
Mark Mitchell [Wed, 15 Sep 2004 22:16:33 +0000 (22:16 +0000)]
varasm.c (default_function_rdodata_section): Make sure to pass along a decl for a link-once section.
* varasm.c (default_function_rdodata_section): Make sure to pass
along a decl for a link-once section.
* g++.dg/opt/switch1.C: New test.
From-SVN: r87569
Roger Sayle [Wed, 15 Sep 2004 22:12:58 +0000 (22:12 +0000)]
time.h: Correct mismatch in 2004-09-10 check-in.
* tests/base/sys/time.h: Correct mismatch in 2004-09-10 check-in.
* tests/base/stdlib.h: Likewise.
From-SVN: r87568
Richard Henderson [Wed, 15 Sep 2004 22:05:39 +0000 (15:05 -0700)]
tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable warning with code disable.
* tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
warning with code disable. Fix formatting.
From-SVN: r87567
Steven Bosscher [Wed, 15 Sep 2004 21:47:45 +0000 (21:47 +0000)]
Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
* Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
* tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
after propagating into an ADDR_EXPR.
From-SVN: r87566
Andrew Pinski [Wed, 15 Sep 2004 21:45:28 +0000 (21:45 +0000)]
re PR rtl-optimization/17427 (powerpc-linux does not bootstrap on HEAD with --disable-checking)
2004-09-15 Andrew Pinski <apinski@apple.com>
PR rtl-opt/17427
* gcse.c (process_insert_insn): insn_invalid_p has side effects.
Move it out of gcc_assert.
From-SVN: r87565
Kenneth Zadeck [Wed, 15 Sep 2004 20:54:38 +0000 (20:54 +0000)]
turn off code clobbering optimization for static variables until
analysis behind it can be fixed in a couple of days.
From-SVN: r87564
Joseph Myers [Wed, 15 Sep 2004 20:48:10 +0000 (21:48 +0100)]
attribs.c, [...]: Use %<, %> and %q for quoting in diagnostics going through pretty-print.c.
gcc:
* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
except.c, fold-const.c, function.c, langhooks.c, params.c,
reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
for quoting in diagnostics going through pretty-print.c. Use ''
for quoting in other diagnostic text.
* langhooks.c: Include intl.h. Mark text locating diagnostics for
translation.
* Makefile.in (langhooks.o): Update dependencies.
* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
formats.
gcc/testsuite:
* g++.dg/ext/member-attr.C, g++.dg/warn/deprecated.C,
gcc.dg/deprecated.c, gcc.dg/noreturn-1.c, gcc.dg/noreturn-4.c:
Update expected messages.
libmudflap:
* testsuite/libmudflap.c/pass35-frag.c: Update expected message.
From-SVN: r87563
Zack Weinberg [Wed, 15 Sep 2004 20:05:11 +0000 (20:05 +0000)]
* Make-lang.in (treelang-warn): Set to $(STRICT_WARN).
From-SVN: r87562
Per Bothner [Wed, 15 Sep 2004 19:39:22 +0000 (12:39 -0700)]
line-map.h (line_map_start): Add parameter names so preceding comment makes sense.
* include/line-map.h (line_map_start): Add parameter names so
preceding comment makes sense.
(linemap_add): Remove from comment mention of non-existing parameter.
From-SVN: r87561
Mark Mitchell [Wed, 15 Sep 2004 17:03:22 +0000 (17:03 +0000)]
configure.ac: Check for COMDAT support.
* configure.ac: Check for COMDAT support. Robustify check for
SHF_MERGE support.
* configure: Regenerated.
* config.in: Likewise.
* langhooks-def.h (lhd_comdat_group): New function.
(LANG_HOOKS_COMDAT_GROUP): New macro.
(LANG_HOOKS_DECLS): Use it.
* langhooks.c (lhd_comdat_group): Define.
* langhooks.h (lang_hooks_for_decls): Add comdat_group.
* output.h (named_section_flags): Make it a macro.
(named_section_real): New function.
(default_no_named_section): Add decl parameter.
(default_elf_asm_named_section): Likewise.
(default_coff_asm_named_section): Likewise.
(default_pe_asm_named_section): Likewise.
* target.h (gcc_target): Adjust type of named_section.
* varasm.c (named_section_flags): Rename to named_section_real.
Add decl parameter.
(default_no_named_section): Add decl parameter.
(default_elf_asm_named_section): Use COMDAT, if available. Deal
with the case that ASM_COMMENT_START is "@".
(default_coff_asm_named_section): Add decl parameter.
(default_pe_asm_named_section): Likewise.
* config/alpha/alpha.c (vms_asm_named_section): Add decl
parameter.
(unicosmk_asm_named_section): Likewise.
* config/arm/arm.c (arm_elf_asm_named_section): Remove.
* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
* config/cris/cris-protos.h (cris_target_asm_named_section):
Likewise.
* config/cris/cris.c (cris_target_asm_named_section):
Likewise.
* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
* config/i386/i386-protos.h (i386_pe_asm_named_section):
Likewise.
* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
Likewise.
* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
* cp-objcp-common.h (LANG_HOOKS_COMDAT_GROUP): Define.
* cp-tree.h (cxx_comdat_group): Declare.
* decl.c (cxx_comdat_group): New function.
From-SVN: r87557
Aaron W. LaFramboise [Wed, 15 Sep 2004 14:19:12 +0000 (08:19 -0600)]
parse.c (eof_buf): Rename eof to eof_buf.
2004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
* parse.c (eof_buf): Rename eof to eof_buf.
(unexpected_eof): Same.
(gfc_parse_file): Same.
From-SVN: r87556
Steven G. Kargl [Wed, 15 Sep 2004 14:17:26 +0000 (14:17 +0000)]
check.c (gfc_check_getcwd_sub): New function.
2004-09-15 Steven G. Kargl <kargls@comcast.net>
* check.c (gfc_check_getcwd_sub): New function.
* gfortran.h (GFC_ISYM_GETCWD): New symbol.
* intrinsic.c (add_functions): Add function definition;
Use symbol.
* intrinsic.c (add_subroutines): Add subroutine definitions.
* intrinsic.h: Add prototypes.
* iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
New functions.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
libgfortran/
* intrincics/getcwd.c: New file.
* Makefile.am: Add getcwd.c.
* Makefile.in: Regenerated.
From-SVN: r87555
Jan Hubicka [Wed, 15 Sep 2004 14:15:36 +0000 (16:15 +0200)]
tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
* tree-tailcall.c (eliminate_tail_call): Release SSA name.
From-SVN: r87554
Jan Hubicka [Wed, 15 Sep 2004 14:14:03 +0000 (16:14 +0200)]
* tree-cfg.c (remove_bb): Release SSA defs.
From-SVN: r87553
Steven G. Kargl [Wed, 15 Sep 2004 14:09:17 +0000 (14:09 +0000)]
check.c (gfc_check_getcwd_sub): New function.
2004-09-15 Steven G. Kargl <kargls@comcast.net>
* check.c (gfc_check_getcwd_sub): New function.
* gfortran.h (GFC_ISYM_GETCWD): New symbol.
* intrinsic.c (add_functions): Add function definition;
Use symbol.
* intrinsic.c (add_subroutines): Add subroutine definitions.
* intrinsic.h: Add prototypes.
* iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
New functions.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
libgfortran/
* intrinsics/getcwd.c: New file.
* Makefile.am: Add getcwd.c.
* Makefile.in: Regenerated.
From-SVN: r87552
Tobias Schlüter [Wed, 15 Sep 2004 13:12:52 +0000 (13:12 +0000)]
re PR fortran/16485 (Private subroutines from different modules collide during linking.)
2004-09-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/16485
* module.c (write_symbol): Don't fill in module name here.
(write_symbol0): Fill in here instead.
testsuite/
* gfortran.dg/same_name_1.f90: New test.
From-SVN: r87551
Kazu Hirata [Wed, 15 Sep 2004 13:12:33 +0000 (13:12 +0000)]
* doc/tm.texi: Follow spelling conventions.
From-SVN: r87550
Kazu Hirata [Wed, 15 Sep 2004 13:06:30 +0000 (13:06 +0000)]
* tree-ssa-dom.c: Fix comment typos.
From-SVN: r87549
Paul Brook [Wed, 15 Sep 2004 13:02:08 +0000 (13:02 +0000)]
Fix typo.
From-SVN: r87548
Steven G. Kargl [Wed, 15 Sep 2004 12:59:22 +0000 (12:59 +0000)]
env.c (getenv, [...]): Remove trailing white space.
2004-09-15 Steven G. Kargl <kargls@comcast.net>
Paul Brook <paul@codesourcery.com>
* intrinsics/env.c (getenv, get_environmental_variable): Remove
trailing white space. Uase alloca. Honour trim_name.
Co-Authored-By: Paul Brook <paul@codesourcery.com>
From-SVN: r87547
Michael Koch [Wed, 15 Sep 2004 12:38:46 +0000 (12:38 +0000)]
2004-09-15 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/file/Handler.java
(openConnection): Don't throw exception if host part for file: URI is
present. setURL() keeps file: protocol if ftp: protocol is not
available.
From-SVN: r87546
Diego Novillo [Wed, 15 Sep 2004 12:09:55 +0000 (12:09 +0000)]
pr17252.c: Fix thinko.
* gcc.c-torture/execute/pr17252.c: Fix thinko. Don't
dereference garbage pointers.
From-SVN: r87545
Alan Modra [Wed, 15 Sep 2004 11:43:31 +0000 (11:43 +0000)]
linux-unwind.h (struct gcc_pt_regs): Extend to include ccr.
* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
include ccr.
(ppc_fallback_frame_state): Save location of CR.
From-SVN: r87543
Nathan Sidwell [Wed, 15 Sep 2004 11:01:46 +0000 (11:01 +0000)]
* search.c (get_pure_virtuals): Remove unused variables.
From-SVN: r87542
Nathan Sidwell [Wed, 15 Sep 2004 09:43:52 +0000 (09:43 +0000)]
cp-tree.h (struct lang_decl_flags): Remove needs_final_overrider.
* cp-tree.h (struct lang_decl_flags): Remove
needs_final_overrider.
(DECL_NEEDS_FINAL_OVERRIDER_P): Remove.
* decl.c (duplicate_decls): Do not copy DECL_NEEDS_FINAL_OVERRIDER_P.
* class.c (finish_struct_bits): Correct comment about
CLASSTYPE_PURE_VIRTUALS.
* search.c (get_pure_virtuals): Remove useless loop.
From-SVN: r87541
Jakub Jelinek [Wed, 15 Sep 2004 09:05:03 +0000 (11:05 +0200)]
expr.c (string_constant): Handle also read-only variables initialized to string literals.
* expr.c (string_constant): Handle also read-only variables
initialized to string literals.
* gcc.c-torture/execute/builtins/strlen-3.c: New test.
* gcc.c-torture/execute/builtins/strlen-3-lib.c: New.
From-SVN: r87540
Jakub Jelinek [Wed, 15 Sep 2004 08:19:39 +0000 (10:19 +0200)]
builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1) into memcpy (x, y, 1) if memcpy can be expanded inline.
* builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
into memcpy (x, y, 1) if memcpy can be expanded inline.
* gcc.c-torture/execute/builtins/memmove.c (main_test): Formatting.
* gcc.c-torture/execute/builtins/memmove-2.c: New test.
* gcc.c-torture/execute/builtins/memmove-2-lib.c: New.
From-SVN: r87539
Zdenek Dvorak [Wed, 15 Sep 2004 07:51:33 +0000 (09:51 +0200)]
re PR tree-optimization/17468 (Java garbage collector miscompiled at -O1 and higher)
PR tree-optimization/17468
* tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
definition inside a block precede uses.
* tree-tailcall.c (adjust_return_value): Emit statements in the
correct order.
From-SVN: r87538
Richard Sandiford [Wed, 15 Sep 2004 06:27:25 +0000 (06:27 +0000)]
* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
From-SVN: r87537
Eric Botcazou [Wed, 15 Sep 2004 05:36:05 +0000 (07:36 +0200)]
* doc/install.texi (sparc-sun-solaris2*): Properly format warning.
From-SVN: r87533
Jeff Law [Wed, 15 Sep 2004 04:38:04 +0000 (22:38 -0600)]
tree-ssa-dom.c (avail_exprs_stack): New global varray.
* tree-ssa-dom.c (avail_exprs_stack): New global varray.
(struct dom_walk_block_data): Remove avail_exprs member.
(tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
(lookup_avail_expr): No longer need to pass in address of
the block local available exprs stack. All callers changed.
(simplify_cond_and_lookup_avail_expr): Similarly.
(simplify_switch_and_lookup_avail_expr): Similarly.
(get_eq_expr_value, record_cond): Likewise.
(record_dominating_conditions): Likewise.
(update_rhs_and_lookup_avail_expr): Likewise.
(record_equivalences_from_stmt): Likewise.
(dom_opt_initialize_block_local_data): No longer test state of
block local avail_exprs.
(dom_opt_initialize_block): Mark unwind point in the global
avail_expr stack.
(remove_expressions_from_table): Update to unwind to the
most recent unwind marker in the global avail_expr stack.
All callers changed.
(dom_opt_finalize_block): Mark unwind point in the global
avail_expr stack as needed.
(record_cond): Push elements into the global avail_exprs stack.
From-SVN: r87532
Jeff Law [Wed, 15 Sep 2004 04:12:18 +0000 (22:12 -0600)]
tree-dfa.c (free_df_for_stmt): No longer static.
* tree-dfa.c (free_df_for_stmt): No longer static.
(free_df): Update comments.
* tree-flow.h (free_df_for_stmt): Prototype.
* tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
call release_defs.
From-SVN: r87531
Mark Mitchell [Wed, 15 Sep 2004 03:22:19 +0000 (03:22 +0000)]
re PR c++/17324 (Error: symbol `bRKNS0_IT_SD_EE' is already defined)
PR c++/17324
* mangle.c (partially_mangled_name): New variable.
(partially_mangled_name_len): Likewise.
(save_partially_mangled_name): New function.
(restore_partially_mangled_name): Likewise.
(write_encoding): Save and restore partially mangled names around
calls to get_mostly_instantiated_function_type.
(write_unqualified_name): Likewise.
PR c++/17324
* g++.dg/template/mangle1.C: New test.
From-SVN: r87530
Diego Novillo [Wed, 15 Sep 2004 02:58:28 +0000 (02:58 +0000)]
re PR tree-optimization/17252 (not marking char types as aliasing anything)
PR tree-optimization/17252
* tree-ssa-alias.c (may_alias_p): Don't assume that a
pointer may not point to itself when using relaxed
aliasing rules.
testsuite/ChangeLog
PR tree-optimization/17252
* gcc.c-torture/execute/pr17252.c: New test.
From-SVN: r87529
Richard Henderson [Wed, 15 Sep 2004 02:09:05 +0000 (19:09 -0700)]
re PR middle-end/17397 (gimplify ICE)
PR middle-end/17397
* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
while folding <ADDR_EXPR <INDIRECT_REF X>>.
From-SVN: r87528
Andrew Pinski [Wed, 15 Sep 2004 01:18:01 +0000 (01:18 +0000)]
pointer-reference-alias.C: New test.
2004-09-14 Andrew Pinski <apinski@apple.com>
* g++.dg/tree-ssa/pointer-reference-alias.C: New test.
2004-09-14 Andrew Pinski <apinski@apple.com>
* tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
sets of the pointers but the aliasing sets of what they point to.
From-SVN: r87527
GCC Administrator [Wed, 15 Sep 2004 00:16:20 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87523
Roger Sayle [Tue, 14 Sep 2004 22:52:41 +0000 (22:52 +0000)]
re PR rtl-optimization/9771 ([x86] wrong ebp optimisation)
PR rtl-optimization/9771
* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
conditional compilation in init_reg_sets_1.
(init_reg_sets_1): Let global_regs[i] take priority over the frame
(but not stack) pointer exceptions to regs_invalidated_by_call.
(globalize_reg): Globalizing a fixed register may need to update
regs_invalidated_by_call.
* gcc.dg/pr9771-1.c: New test case.
From-SVN: r87516
Diego Novillo [Tue, 14 Sep 2004 22:45:54 +0000 (22:45 +0000)]
re PR tree-optimization/15262 ([tree-ssa] Alias analyzer cannot handle addressable fields)
PR tree-optimization/15262
* tree-dfa.c (dump_variable): Also print the type of the
variable.
* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
memory tags are of conflicting alias sets but have no aliased
symbols in common, add one tag to the alias set of the other.
(setup_pointers_and_addressables): Remove hack to deal with
programs with no aliased symbols.
(may_alias_p): Don't special case aggregate types.
testsuite/ChangeLog
PR tree-optimization/15262
* gcc.c-torture/execute/pr15262-1.c: New test.
* gcc.c-torture/execute/pr15262-2.c: New test.
From-SVN: r87515
Joseph Myers [Tue, 14 Sep 2004 22:30:38 +0000 (23:30 +0100)]
re PR c/15498 (typo in gcc manual: non-existing locale example en_UK, should be en_GB)
PR c/15498
* doc/invoke.texi (Environment Variables): Correct example locale.
From-SVN: r87513
H.J. Lu [Tue, 14 Sep 2004 21:16:29 +0000 (21:16 +0000)]
re PR libffi/17465 (Testsuite in libffi overrides LD_LIBRARY_PATH)
2004-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR libgcj/17465
* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
DYLD_LIBRARY_PATH.
From-SVN: r87511
Joseph Myers [Tue, 14 Sep 2004 20:31:30 +0000 (21:31 +0100)]
be.po, [...]: Update.
* be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
sv.po, tr.po: Update.
* gcc.pot: Regenerate.
From-SVN: r87507
Jan Hubicka [Tue, 14 Sep 2004 20:09:47 +0000 (22:09 +0200)]
* cfg.c (expunge_block): Revert previous change adding ggc_free call.
From-SVN: r87506
Richard Henderson [Tue, 14 Sep 2004 20:09:31 +0000 (13:09 -0700)]
natPosixProcess.cc (waitForSignal): Ignore return value of sigsuspend.
* java/lang/natPosixProcess.cc (waitForSignal): Ignore return
value of sigsuspend.
From-SVN: r87505
Mark Mitchell [Tue, 14 Sep 2004 19:58:49 +0000 (19:58 +0000)]
* config.gcc: Do not build a shared libgcc for arm-none-eabi.
From-SVN: r87504
Mark Mitchell [Tue, 14 Sep 2004 19:58:43 +0000 (19:58 +0000)]
config.gcc: Do not build a shared libgcc for arm-none-eabi.
* config.gcc: Do not build a shared libgcc for arm-none-eabi.
[[Split portion of a mixed commit.]]
From-SVN: r87503.2
Nathan Myers [Tue, 14 Sep 2004 19:11:46 +0000 (19:11 +0000)]
fstream.tcc (xsgetn): Slightly tweak the recent fix for 11722...
2004-09-14 Nathan Myers <ncm@cantrip.org>
* include/bits/fstream.tcc (xsgetn): Slightly tweak the recent fix
for 11722: copy can replace move; the common case is __avail == 0.
From-SVN: r87501
Joseph Myers [Tue, 14 Sep 2004 18:59:38 +0000 (19:59 +0100)]
c-tree.h (struct c_declspecs): Add const_p, volatile_p and restrict_p.
* c-tree.h (struct c_declspecs): Add const_p, volatile_p and
restrict_p.
(struct c_declarator): Change u.array.quals and pointer_quals to
int. Add u.array.attrs.
(quals_from_declspecs): New.
* c-decl.c (quals_from_declspecs): New.
(shadow_tag_warned): Give more specific message for useless type
qualifiers.
(build_array_declarator, set_array_declarator_inner,
grokdeclarator, make_pointer_declarator, build_null_declspecs,
declspecs_add_qual): Update for changed structures.
testsuite:
* gcc.dg/declspec-12.c: New test.
From-SVN: r87500
Paolo Carlini [Tue, 14 Sep 2004 18:35:21 +0000 (18:35 +0000)]
cpp_type_traits.h: Rename __is_trivially_copyable to __is_scalar...
2004-09-14 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Rename __is_trivially_copyable
to __is_scalar, more clear and consistent with "tr1" naming.
* include/bits/stl_algobase.h: Update consistently throughout.
From-SVN: r87497
Jeff Law [Tue, 14 Sep 2004 15:15:34 +0000 (09:15 -0600)]
tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray to a global varray.
* tree-ssa-dom.c (stmts_to_rescan): Move from a block-local varray
to a global varray.
(tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
(dom_opt_initialize_block_local_data): No longer test stmts_to_rescan's
state.
(dom_opt_finalize_block): Update due to change in scope of
stmts_to_rescan.
(optimize_stmt): Similarly.
From-SVN: r87494
Kazu Hirata [Tue, 14 Sep 2004 12:37:28 +0000 (12:37 +0000)]
data.c, [...]: Fix comment typos.
* data.c, decl.c, f95-lang.c, gfortran.h, match.c,
trans-array.c, trans-common.c, trans-expr.c,
trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
comment typos. Follow spelling conventions.
From-SVN: r87492
Nathan Sidwell [Tue, 14 Sep 2004 12:35:28 +0000 (12:35 +0000)]
* pt.c (unify): Replace gcc_unreachable with gcc_assert.
From-SVN: r87491
Kazu Hirata [Tue, 14 Sep 2004 12:21:44 +0000 (12:21 +0000)]
cgraph.h, [...]: Fix comment typos.
* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
comment typos. Follow spelling conventions.
From-SVN: r87490
Kazu Hirata [Tue, 14 Sep 2004 10:46:00 +0000 (10:46 +0000)]
darwin-c.c, [...]: Follow spelling conventions.
* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
config/i386/predicates.md, config/sparc/sparc.c: Follow
spelling conventions.
From-SVN: r87489
Bud Davis [Tue, 14 Sep 2004 09:47:09 +0000 (09:47 +0000)]
pr17090.f90: Add directives to test.
2004-09-14 Bud Davis <bdavis9659@comcast.net>
* gfortran.dg/pr17090.f90: Add directives to test.
From-SVN: r87488
Zdenek Dvorak [Tue, 14 Sep 2004 08:05:46 +0000 (10:05 +0200)]
Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
* basic-block.h (struct reorder_block_def): Add copy_number field.
* cfgloop.h (biv_p): Declare.
* cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
* common.opt (fsplit-ivs-in-unroller): New flag.
* loop-iv.c (biv_p): New function.
* loop-unroll.c: Include hashtab.h and recog.h.
(struct iv_to_split, struct split_ivs_info): New types.
(analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
insert_base_initialization, split_iv): New functions.
(peel_loop_completely, unroll_loop_constant_iterations,
unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
Use them.
* doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
Co-Authored-By: Steven Bosscher <stevenb@suse.de>
From-SVN: r87487
Zdenek Dvorak [Tue, 14 Sep 2004 07:49:04 +0000 (09:49 +0200)]
tree-cfg.c (thread_jumps): Update dominators correctly in case destination of threaded edge dominates its...
* tree-cfg.c (thread_jumps): Update dominators correctly in
case destination of threaded edge dominates its source.
From-SVN: r87486
Zdenek Dvorak [Tue, 14 Sep 2004 07:43:08 +0000 (09:43 +0200)]
unroll.c: Removed.
* unroll.c: Removed.
* loop.h: Removed.
* Makefile.in (LOOP_H, unroll.o): Removed.
(toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
dependency.
* alias.c (init_alias_analysis): Remove flag_old_unroll_loops
reference.
* cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
* common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
* loop.c: Do not include loop.h.
(LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
struct loop_regs, struct loop_movables, struct loop_info): Moved
from loop.h.
(back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
find_common_reg_term, loop_iterations, final_giv_value): Moved
from unroll.c.
(uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
loop_dump_stream, for_each_insn_in_loop, express_from,
extend_value_for_giv, loop_iv_add_mult_emit_before,
loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
loop_insn_first_p, get_condition_for_loop,
loop_insn_emit_before, loop_insn_hoist,
loop_insn_sink): Made static.
(loop_invariant_p): Made static. Removed flag_old_unroll_loops
reference.
(strength_reduce): Do not call unroller.
(record_giv): Do not initialize unrolled field.
(prescan_loop): Do not set loop_info->preconditioned.
* passes.c: Do not include loop.h.
(rest_of_handle_loop_optimize): Do not call unroller.
* predict.c: Do not include loop.h.
* rtl.h (NOTE_PRECONDITIONED): Removed.
* stmt.c: Do not include loop.h.
* toplev.c: Do not include loop.h.
(process_options): Do not handle flag_old_unroll_loops.
* doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
Documentation removed.
* doc/passes.texi (unroll.c, loop.h): Documentation removed.
From-SVN: r87485
Nathan Sidwell [Tue, 14 Sep 2004 07:20:05 +0000 (07:20 +0000)]
Makefile.in (STAGE1_CHECKING): New variable.
* Makefile.in (STAGE1_CHECKING): New variable.
(stage1_build): Use it.
* tree-ssa.c (verify_ssa): Preserve state of dominance
information.
From-SVN: r87484
Mark Mitchell [Tue, 14 Sep 2004 05:44:39 +0000 (05:44 +0000)]
re PR c++/16162 (Rejects valid member-template-definition)
PR c++/16162
* parser.c (cp_parser_id_expression): Correct value for
is_declarator.
(cp_parser_nested_name_specifier_opt): Look through typenames as
necessary.
(cp_parser_template_name): Honor check_dependency_p.
PR c++/16162
* g++.dg/template/decl2.C: New test.
From-SVN: r87483
Uros Bizjak [Tue, 14 Sep 2004 05:21:51 +0000 (07:21 +0200)]
i386.c (output_fp_compare): Add generation of ftst instruction.
* config/i386/i386.c (output_fp_compare): Add generation
of ftst instruction.
* config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
Use output_fp_compare () function.
(cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
(fix_truncdi_memory): Remove operands[5] copy.
From-SVN: r87482
Kazu Hirata [Tue, 14 Sep 2004 04:05:40 +0000 (04:05 +0000)]
m32r.md, [...]: Fix comment typos.
* config/m32r/m32r.md, config/m68k/m68kelf.h,
config/mcore/mcore.md, config/rs6000/linux64.h,
config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
typos.
From-SVN: r87481
James E Wilson [Tue, 14 Sep 2004 03:45:46 +0000 (03:45 +0000)]
Fix gen-proto (fixproto) build failure.
* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
* gen-protos.c: Include errors.h.
(progname): Delete.
From-SVN: r87480
Loren J. Rittle [Tue, 14 Sep 2004 03:41:10 +0000 (03:41 +0000)]
* tests/base/sys/cdefs.h: Update for new test.
From-SVN: r87479
Loren J. Rittle [Tue, 14 Sep 2004 02:45:08 +0000 (02:45 +0000)]
inclhack.def (freebsd_gcc4_breakage): Add.
* inclhack.def (freebsd_gcc4_breakage): Add.
* fixincl.x: Regenerate.
From-SVN: r87478
Tom Tromey [Tue, 14 Sep 2004 01:50:12 +0000 (01:50 +0000)]
re PR java/17216 (ICE in 3.5, error in 3.4.1 when compiling .class->.o)
PR java/17216:
* class.c (layout_class_method): Put synthetic methods into the
vtable.
From-SVN: r87477
DJ Delorie [Tue, 14 Sep 2004 01:14:58 +0000 (21:14 -0400)]
Spacing bug.
From-SVN: r87476
Aaron W. LaFramboise [Tue, 14 Sep 2004 01:12:49 +0000 (19:12 -0600)]
* libiberty.h (basename): Prototype for __MINGW32__.
From-SVN: r87475
Bud Davis [Tue, 14 Sep 2004 00:56:46 +0000 (00:56 +0000)]
re PR libfortran/17090 (Runtime I/O error)
2004-09-13 Bud Davis <bdavis9659@comcast.net>
PR fortran/17090
* io/list_read.c (list_formatted_read): Handle trailing spaces
at end of line.
2004-09-13 Bud Davis <bdavis9659@comcast.net>
PR fortran/17090
* gfortran.dg/pr17090.f90: New test.
From-SVN: r87474
Jan Hubicka [Tue, 14 Sep 2004 00:52:41 +0000 (02:52 +0200)]
Makefile.in (predict.o): Depend on tree-scalar-evolution.h
* Makefile.in (predict.o): Depend on tree-scalar-evolution.h
* predict.c: Include tree-scalar-evolution.h and cfgloop.h
(predict_loops): Use number_of_iterations_exit to predict
number of iterations on trees.
From-SVN: r87473
Kenneth Zadeck [Tue, 14 Sep 2004 00:40:06 +0000 (00:40 +0000)]
Had wrong date on my the entry.
From-SVN: r87469
Dale Johannesen [Tue, 14 Sep 2004 00:35:02 +0000 (00:35 +0000)]
Fix PR 17408 and PR 17409.
From-SVN: r87468
Mark Mitchell [Tue, 14 Sep 2004 00:29:03 +0000 (00:29 +0000)]
re PR c++/16716 (ICE in cp_parser_parse_and_diagnose_invalid_type_name)
PR c++/16716
* parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
Robustify.
PR c++/17327
* pt.c (unify): Add ENUMERAL_TYPE case. Replace sorry with
gcc_unreacable.
PR c++/16716
* g++.dg/parse/crash17.C: New test.
PR c++/17327
* g++.dg/template/enum3.C: New test.
From-SVN: r87467
GCC Administrator [Tue, 14 Sep 2004 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r87465
Paul Brook [Tue, 14 Sep 2004 00:05:16 +0000 (00:05 +0000)]
arm.c (arm_expand_prologue): Make args_to_push a HOST_WIDE_INT.
* config/arm/arm.c (arm_expand_prologue): Make args_to_push a
HOST_WIDE_INT.
[[Split portion of a mixed commit.]]
From-SVN: r87459.2
Daniel Jacobowitz [Mon, 13 Sep 2004 23:25:45 +0000 (23:25 +0000)]
fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
Only use TYPE_BINFO for aggregates.
From-SVN: r87457
Daniel Jacobowitz [Mon, 13 Sep 2004 23:25:12 +0000 (23:25 +0000)]
expmed.c (synth_mult): Initialize latency.
* expmed.c (synth_mult): Initialize latency. Check cost before
checking ops count.
From-SVN: r87456
Kenneth Zadeck [Mon, 13 Sep 2004 22:51:01 +0000 (22:51 +0000)]
New code to analyze file level static variables and to determine if...
New code to analyze file level static variables and to determine if
they escape and also code to use this information to prune clobber
lists.
From-SVN: r87455
Paolo Carlini [Mon, 13 Sep 2004 22:21:34 +0000 (22:21 +0000)]
re PR libstdc++/11722 ([3.4 only] Unbuffered filebuf::sgetn is slow)
2004-09-13 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11722
* include/std/std_fstream.h (xsgetn): Declare only.
* include/bits/fstream.tcc (xsgetn): Define, optimize for the
always_noconv() case: when __n > __buflen, copy the available
buffer and issue a direct read.
* testsuite/performance/27_io/filebuf_sgetn_unbuf.cc: New.
* include/bits/fstream.tcc (xsputn): Minor tweak, reorder a
conditional.
From-SVN: r87453
Hans-Peter Nilsson [Mon, 13 Sep 2004 22:03:02 +0000 (22:03 +0000)]
libstdc++.exp: Use gcc wrapper.exp and call libstdc++_maybe_build_wrapper instead of using...
* testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
libstdc++_maybe_build_wrapper instead of using local code.
From-SVN: r87452
Hans-Peter Nilsson [Mon, 13 Sep 2004 21:20:12 +0000 (21:20 +0000)]
gcc-defs.exp: Load wrapper.exp.
* lib/gcc-defs.exp: Load wrapper.exp.
* lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of
using local code.
* lib/gcc.exp (gcc_init): Similar.
* lib/gfortran.exp (gfortran_init): Similar.
* lib/objc.exp (objc_init): Similar.
* lib/treelang.exp (treelang_init): Similar.
* lib/wrapper.exp: New file with build_wrapper call machinery in
${tool}_maybe_build_wrapper.
From-SVN: r87451
Joseph Myers [Mon, 13 Sep 2004 21:00:33 +0000 (22:00 +0100)]
c-decl.c (grokdeclarator): Correct comments about where storage class specifiers are rejected by grammar...
* c-decl.c (grokdeclarator): Correct comments about where storage
class specifiers are rejected by grammar and add corresponding
asserts. Diagnose typedefs and parameters declared inline.
Change warning for inline main to a pedwarn. Only diagnose inline
main if hosted.
(declspecs_add_scspec): Allow duplicate "inline".
testsuite:
* gcc.dg/declspec-7.c: Don't expect diagnostic for duplicate
"inline".
* gcc.dg/declspec-11.c: Update expected messages.
* gcc.dg/inline-6.c, gcc.dg/inline-7.c, gcc.dg/inline-8.c,
gcc.dg/inline-9.c, gcc.dg/inline-10.c, gcc.dg/inline-11.c,
gcc.dg/inline-12.c: New tests.
From-SVN: r87450
Andrew MacLeod [Mon, 13 Sep 2004 20:40:44 +0000 (20:40 +0000)]
pr17400.C: New testcase.
2004-09-13 Andrew MacLeod <amacleod@redhat.com>
* g++.dg/tree-ssa/pr17400.C: New testcase.
From-SVN: r87449
Steve Ellcey [Mon, 13 Sep 2004 20:34:55 +0000 (20:34 +0000)]
ia64.c (ia64_scalar_mode_supported_p): New.
* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
(TARGET_SCALAR_MODE_SUPPORTED_P): New.
From-SVN: r87448
Richard Henderson [Mon, 13 Sep 2004 20:27:05 +0000 (13:27 -0700)]
re PR tree-optimization/17436 (Huge memory use regression)
PR 17436
* tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
(tree_type): Replace spare with contains_placeholder_bits.
(type_contains_placeholder_1): Rename from type_contains_placeholder_p,
make static. Remove seen_types list.
(type_contains_placeholder_p): New.
From-SVN: r87447
James E Wilson [Mon, 13 Sep 2004 19:32:05 +0000 (19:32 +0000)]
SB-1 specific MIPS vector instructions.
* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
(sb1_bdesc, bdesc_map, bdesc_arrays): New.
(mips_expand_builtin): Add SB-1 support. Use bdesc_map and
bdesc_arrays instead of mips_bdesc.
(mips_init_builtins): Likewise.
* config/mips/mips.h (TARGET_SB1): New.
(HAVE_SQRT_P): Delete.
* config/mips/mips.md (divide_condition): Support V2SF.
(sqrt_condition, recip_condition): New.
(div<mode>3): Use ANYF instead of SCALARF.
(*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
MODE.
(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
instead of MODE.
(sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
instead of SCALARF. Use UNITMODE instead of MODE.
* gcc.target/mips/sb1-1.c: New testcase.
From-SVN: r87446
Zack Weinberg [Mon, 13 Sep 2004 19:25:42 +0000 (19:25 +0000)]
* config.in: Regenerate after removal of libbanshee.
From-SVN: r87444
Andrew MacLeod [Mon, 13 Sep 2004 19:12:14 +0000 (19:12 +0000)]
re PR tree-optimization/17400 (out of SSA corruption)
2004-09-13 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/17400
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
coalesce partitions when one occurs in an abnormal PHI.
From-SVN: r87443
Andrew Pinski [Mon, 13 Sep 2004 17:30:56 +0000 (17:30 +0000)]
darwin.h (ASM_OUTPUT_COMMON): Change variable size's name to _new_size.
2004-09-13 Andrew Pinski <apinski@apple.com>
* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
name to _new_size.
From-SVN: r87442
Arnaud Charlet [Mon, 13 Sep 2004 10:18:42 +0000 (12:18 +0200)]
[multiple changes]
2004-09-09 Vincent Celier <celier@gnat.com>
* a-direct.ads: Add pragma Ada_05
(Directory_Entry_Type): Give default value to component Kind to avoid
not initialized warnings.
* a-direct.adb (Current_Directory): Remove directory separator at the
end.
(Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not
an existing directory.
(Fetch_Next_Entry): Give default value to variable Kind to avoid warning
(Size (String)): Function C_Size returns Long_Integer, not File_Size.
Convert the result to File_Size.
* prj.ads: (Project_Error): New exception
* prj-attr.adb: Except in procedure Initialize, Fail comes from
Prj.Com, not from Osint.
(Attrs, Package_Attributes): Tables moved to private part of spec
(Add_Attribute, Add_Unknown_Package): Moved to new child package
Prj.Attr.PM.
(Register_New_Package (Name, Attributes), Register_New_Attribute): Raise
Prj.Project_Error after call to Fail.
(Register_New_Package (Name, Id)): Set Id to Empty_Package after calling
Fail. Check that package name is not already in use.
* prj-attr.ads: Comment updates to indicate that all subprograms may be
used by tools, not only by the project manager, and to indicate that
exception Prj.Prj_Error may be raised in case of problem.
(Add_Unknown_Package, Add_Attribute): Moved to new child package
Prj.Attr.PM.
(Attrs, Package_Attributes): Table instantiations moved from the body to
the private part to be accessible from Prj.Attr.PM body.
* prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package
from new package Prj.Attr.PM.
(Parse_Attribute_Declaration): Call Add_Attribute from new package
Prj.Attr.PM.
* Makefile.in: Add prj-attr-pm.o to gnatmake object list
* gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check
instead of Elaboration_Checks).
* a-calend.adb: Minor reformatting
2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gigi.h (maybe_pad_type): New declaration.
(create_subprog_type): New arg RETURNS_BY_TARGET_PTR.
* ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro.
* cuintp.c: Convert to use buildN.
* decl.c (maybe_pad_type): No longer static.
(gnat_to_gnu_entity, case E_Function): Handle case of returning by
target pointer.
Convert to use buildN.
* trans.c (call_to_gnu): Add arg GNU_TARGET; support
TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed.
(gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on
RHS.
(gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P.
(gnat_gimplify_expr, case ADDR_EXPR): New case.
Convert to use buildN.
* utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and
TREE_READONLY for const.
Convert to use buildN.
* utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR.
(create_var_decl): Refine when TREE_STATIC is set.
Convert to use buildN.
2004-09-09 Gary Dismukes <dismukes@gnat.com>
* gnat_ugn.texi: Delete text relating to checking of ali and object
consistency.
* a-except.adb (Rcheck_*): Add pragmas No_Return for each of these
routines.
2004-09-09 Jose Ruiz <ruiz@act-europe.fr>
* gnat_ugn.texi: Add Detect_Blocking to the list of configuration
pragmas recognized by GNAT.
* gnat_rm.texi: Document pragma Detect_Blocking.
* s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
* s-taprob.adb (Lock): When pragma Detect_Blocking is active increase
the protected action nesting level.
(Lock_Read_Only): When pragma Detect_Blocking is active increase the
protected action nesting level.
(Unlock): When pragma Detect_Blocking is active decrease the protected
action nesting level.
* s-taskin.adb (Initialize_ATCB): Initialize to 0 the
Protected_Action_Nesting.
* s-taskin.ads: Adding the field Protected_Action_Nesting to the
Common_ATCB record. It contains the dynamic level of protected action
nesting for each task. It is needed for checking whether potentially
blocking operations are called from protected operations.
(Detect_Blocking): Adding a Boolean constant reflecting whether pragma
Detect_Blocking is active or not in the partition.
* s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
(Task_Entry_Call): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation.
(Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation.
* s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
* s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation, and increase
the protected action nesting level.
(Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation, and increase the
protected action nesting level.
(Unlock_Entries): When pragma Detect_Blocking is active decrease the
protected action nesting level.
* s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation, and increase
the protected action nesting level.
(Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise
Program_Error if called from a protected operation, and increase the
protected action nesting level.
(Protected_Single_Entry_Call): When pragma Detect_Blocking is active,
raise Program_Error if called from a protected operation.
(Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is
active, raise Program_Error if called from a protected operation.
(Unlock_Entry): When pragma Detect_Blocking is active decrease the
protected action nesting level.
* sem_util.adb (Check_Potentially_Blocking_Operation): Remove the
insertion of the statement raising Program_Error. The run time
contains the required machinery for handling that.
* sem_util.ads: Change comment associated to procedure
Check_Potentially_Blocking_Operation.
This procedure does not insert a call for raising the exception because
that is currently done by the run time.
* raise.h (__gnat_set_globals): Pass the detect_blocking parameter.
* init.c: Add the global variable __gl_detect_blocking that indicates
whether pragma Detect_Blocking is active (1) or not (0). Needed for
making the pragma available at run time.
(__gnat_set_globals): Pass and update the detect_blocking parameter.
* lib-writ.adb (Write_ALI): Set the DB flag in the ali file if
pragma Detect_Blocking is active.
* lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files.
* ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag
DB is found in the ali file. Any unit compiled with pragma
Detect_Blocking active forces its effect in the whole partition.
* a-retide.adb (Delay_Until): Raise Program_Error if pragma
Detect_Blocking is active and delay is called from a protected
operation.
* bindgen.adb (Gen_Adainit_Ada): When generating the call to
__gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma
Detect_Blocking is active (0 otherwise).
(Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1
as Detect_Blocking parameter if pragma Detect_Blocking is active (0
otherwise).
2004-09-09 Thomas Quinot <quinot@act-europe.fr>
* gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to
GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash
package.
* s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram.
(Register_Receiving_Stub): Add Subp_Info formal parameter.
Update API in placeholder implemetation of s-parint to reflect changes
in distribution runtime library.
* sem_ch3.adb (Expand_Derived_Record): Rename to
Expand_Record_Extension.
* sem_disp.adb (Check_Controlling_Formals): Improve error message for
primitive operations of potentially distributed object types that have
non-controlling anonymous access formals.
* sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New
subprogram.
New implementation of expansion for remote access-to-subprogram types,
based on the RACW infrastructure.
This version of sem_dist is compatible with PolyORB/DSA as well as
GLADE.
* sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma
Asynchrronous that applies to a remote access-to-subprogram type, mark
the underlying RACW type as asynchronous.
* link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and
__gnat_using_gnu_linker to 1.
* Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads,
g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to
GNAT.Perfect_Hash_Generators, and remove the empty
GNAT.Perfect_Hash package.
* atree.adb: Minor reformatting
* exp_ch3.adb (Expand_Derived_Record): Rename to
Expand_Record_Extension.
(Build_Record_Init_Proc.Build_Assignment): The default expression in
a component declaration must remain attached at that point in the
tree so New_Copy_Tree copies it if the enclosing record type is derived.
It is therefore necessary to take a copy of the expression when building
the corresponding assignment statement in the init proc.
As a side effect, in the case of a derived record type, we now see the
original expression, without any rewriting that could have occurred
during expansion of the ancestor type's init proc, and we do not need
to go back to Original_Node.
* exp_ch3.ads (Expand_Derived_Record): Rename to
Expand_Record_Extension.
* exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram.
Returns the RACW type used to implement a remote access-to-subprogram
type.
(Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type):
New subprograms. Used to create a proxy tagged object for a remote
subprogram. The proxy object is used as the designated object
for RAS values on the same partition (unless All_Calls_Remote applies).
(Build_Get_Unique_RP_Call): New subprogram. Build a call to
System.Partition_Interface.Get_Unique_Remote_Pointer.
(Add_RAS_Access_TSS, Add_RAS_Dereference_TSS):
Renamed from Add_RAS_*_Attribute.
(Add_Receiving_Stubs_To_Declarations): Generate a table of local
subprograms.
New implementation of expansion for remote access-to-subprogram types,
based on the RACW infrastructure.
* exp_dist.ads (Copy_Specification): Update comment to note that this
function can copy the specification from either a subprogram
specification or an access-to-subprogram type definition.
2004-09-09 Ed Schonberg <schonberg@gnat.com>
* sem_type.adb (Disambiguate): Handle properly an accidental ambiguity
in an instance, between an explicit subprogram an one inherited from a
type derived from an actual.
* exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not
add a polling call if the subprogram is to be inlined by the back-end,
to avoid repeated calls with multiple inlinings.
* checks.adb (Apply_Alignment_Check): If the expression in the address
clause is a call whose name is not a static entity (e.g. a dispatching
call), treat as dynamic.
2004-09-09 Robert Dewar <dewar@gnat.com>
* g-trasym.ads: Minor reformatting
* exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except
packed arrays, since unused bits are expected to be zero for a
comparison.
2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr>
* exp_pakd.ads: Fix an inacurracy and a couple of typos in the head
comment.
2004-09-09 Pascal Obry <obry@gnat.com>
* mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to
enable map file generation. Add the right option to generate the map
file if Map_File is set to True.
* gnatdll.adb (Gen_Map_File): New variable.
(Syntax): Add info about new -m (Map_File) option.
(Parse_Command_Line): Add support for -m option.
(gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls.
Minor reformatting.
2004-09-09 Laurent Pautet <pautet@act-europe.fr>
* gnatls.adb: Add a very verbose mode -V. Such mode is required by the
new gnatdist implementation.
Define a subpackage isolating the output routines specific to this
verbose mode.
2004-09-09 Joel Brobecker <brobecker@gnat.com>
* Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta.
* gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted.
2004-09-09 Cyrille Comar <comar@act-europe.fr>
* opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile
internal unit.
* opt.ads: Add Ada_Version_Runtime constant used to decide which
version of the language is used to compile the run time.
2004-09-09 Arnaud Charlet <charlet@act-europe.fr>
* sem_util.adb (Requires_Transient_Scope): Re-enable handling
of variable length temporaries for function return now that the
back-end and gigi support it.
From-SVN: r87435
Steven Bosscher [Mon, 13 Sep 2004 09:46:32 +0000 (09:46 +0000)]
fix spaces vs. tabs for scripts.
From-SVN: r87434
Richard Henderson [Mon, 13 Sep 2004 09:05:31 +0000 (02:05 -0700)]
re PR inline-asm/6806 (gcc 3.0.4 ignoring clobbered registers in inline asm with -O1 or higher on i386)
PR inline-asm/6806
* cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
(cselib_invalidate_rtx_note_stores): New.
(cselib_record_sets, cselib_process_insn): Update to match.
* cselib.h (cselib_invalidate_rtx): Declare.
* postreload.c (reload_cse_simplify): Invalidate asm clobbers.
From-SVN: r87432
Hans-Peter Nilsson [Mon, 13 Sep 2004 05:21:04 +0000 (05:21 +0000)]
g77-dg.exp: Remove unused file.
* lib/g77-dg.exp: Remove unused file.
* lib/mike-g77.exp: Ditto.
* lib/g77.exp: Ditto.
From-SVN: r87425
Gabriel Dos Reis [Mon, 13 Sep 2004 05:12:55 +0000 (05:12 +0000)]
Fix email
From-SVN: r87424
Richard Henderson [Mon, 13 Sep 2004 02:28:19 +0000 (19:28 -0700)]
re PR tree-optimization/10528 (Unexpected loop un-optimization when removing a field of a class)
PR tree-opt/10528
* tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
after copying its argument.
From-SVN: r87423
Richard Henderson [Mon, 13 Sep 2004 02:14:36 +0000 (19:14 -0700)]
* g++.old-deja/g++.other/sizeof3.C: Fix abort declaration.
From-SVN: r87422