ia64.c (group_barrier_needed_p): Special case prologue_allocate_stack.
* config/ia64/ia64.c (group_barrier_needed_p): Special case
prologue_allocate_stack.
(ia64_single_set): Use insn codes for recognition of special
cases, not rtl matching.
* config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
Jakub Jelinek [Sat, 30 Mar 2002 18:50:34 +0000 (19:50 +0100)]
re PR rtl-optimization/6086 (Reload misoptimizes DImode PREINC on PPC)
PR optimization/6086
* combine.c (combine_simplify_rtx): If simplify_rtx failed because
of SUBREG of volatile MEM or because the MEM was mode dependent,
return CLOBBER instead of unmodified SUBREG.
Jan Hubicka [Sat, 30 Mar 2002 13:26:19 +0000 (14:26 +0100)]
local-alloc.c (local_alloc): Avoid call of update_equiv_regs when not optimizing.
* local-alloc.c (local_alloc): Avoid call of update_equiv_regs when not optimizing.
* toplev.c (rest_of_compilation): Cann mark_constant_function
only when optimizing.
* flow.c (calculate_global_regs_live): Ensure that all AUX fields are NULL.
* cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
(thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
(try_optimize_cfg): clear all AUX fields.
* i386.c (aligned_operand): Be prepared for SUBREGed registers.
(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
(ix86_address_cost): Be prepared for SUBREGed registers.
(legitimate_address_p): Accept SUBREGed registers.
Loren J. Rittle [Fri, 29 Mar 2002 22:01:18 +0000 (22:01 +0000)]
config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
* config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
* config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
No functional change except ...
* config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
* doc/install.texi (*-*-freebsd*): Document port configuration.
Janis Johnson [Fri, 29 Mar 2002 21:56:12 +0000 (21:56 +0000)]
dg.exp: Ignore tests in new directories bprob and gcov.
* g++.dg/dg.exp: Ignore tests in new directories bprob and gcov.
* g++.dg/bprob/bprob.exp: New driver for profile-directed branch
ordering tests.
* g++.dg/bprob/bprob-1.C: New test.
* g++.dg/gcov/gcov.exp: New driver for gcov tests.
* g++.dg/gcov/gcov-1.C: New test.
* g++.dg/gcov/gcov-1.x: New file.
* g++.dg/gcov/gcov-2.C: New test.
* g++.dg/gcov/gcov-3.C: New test.
* g++.dg/gcov/gcov-3.h: New file.
Roger Sayle [Fri, 29 Mar 2002 20:41:53 +0000 (20:41 +0000)]
re PR c++/5998 (regression, all builtins disabled)
* include/c_std/std_cmath.h: To prevent problems overloading
g++ builtins, use the double variants from the global namespace
before defining float and long double variants in std::.
PR c++/5998:
* decl.c (cxx_init_decl_processing): Re-enable built-in functions
in the g++ front-end.
(duplicate_decl): Allow redefinition of anticipated built-ins.
Fix inlining problem by over-writing the old DECL_RTL.
(lookup_namespace_name): Fail to find an identifier in the
specified namespace if its still anticipated.
(builtin_function_1): New function split out from builtin_function
to create a builtin in the current namespace with given context.
(builtin_function): Call builtin_function_1 to define the
appropriate builtins in both the std and global namespaces.
(select_decl): Don't test for anticipated decls here.
(unqualified_namespace_lookup): Instead ignore them whilst
searching through scopes and namespaces.
* decl2.c (do_nonmember_using_decl): If a using declaration
specifies an anticipated built-in function, mark it as no longer
anticipated in that scope.
(ambiguous_decl): Avoid resolving to an anticipated decl.
* lex.c (do_scoped_id): Fail to find an identifier in the global
namespace if its still anticipated.
* g++.old-deja/g++.other/builtins5.C: New test.
* g++.old-deja/g++.other/builtins6.C: New test.
* g++.old-deja/g++.other/builtins7.C: New test.
* g++.old-deja/g++.other/builtins8.C: New test.
* g++.old-deja/g++.other/builtins9.C: New test.
mmix.c (mmix_target_asm_function_prologue): Correct unwind information when frame_pointer_needed.
* config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
unwind information when frame_pointer_needed.
(mmix_assemble_integer): Tweak wording in comment.
Jakub Jelinek [Fri, 29 Mar 2002 08:01:20 +0000 (09:01 +0100)]
combine.c (set_nonzero_bits_and_sign_copies): Don't call nonzero_bits if not needed.
* combine.c (set_nonzero_bits_and_sign_copies): Don't call
nonzero_bits if not needed.
(nonzero_bits) [XOR]: Likewise.
(nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
reg_last_set_mode and mode are both MODE_INT, but not equal.
(record_value_for_reg): Compute reg_last_set_nonzero_bits
in nonzero_bits_mode for MODE_INT modes.
Ulrich Weigand [Thu, 28 Mar 2002 19:19:23 +0000 (19:19 +0000)]
2002-03-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Paolo Carlini <pcarlini@unitus.it>
* testsuite/22_locale/codecvt_members_unicode_wchar_t.cc
(test01): Protect the test with _GLIBCPP_USE_WCHAR_T;
fix i_lit_base e_lit_base arrays, making them independent
from the endianness of the platform; tweak UCS4 to UCS-4BE.
Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
From-SVN: r51521
Matthew Gingell [Thu, 28 Mar 2002 15:33:09 +0000 (15:33 +0000)]
* checks.ads:
(Remove_Checks): New procedure
* checks.adb:
(Remove_Checks): New procedure
* exp_util.adb:
Use new Duplicate_Subexpr functions
(Duplicate_Subexpr_No_Checks): New procedure
(Duplicate_Subexpr_No_Checks_Orig): New procedure
(Duplicate_Subexpr): Restore original form (checks duplicated)
(Duplicate_Subexpr): Call Remove_Checks
* exp_util.ads:
(Duplicate_Subexpr_No_Checks): New procedure
(Duplicate_Subexpr_No_Checks_Orig): New procedure
Add 2002 to copyright notice
* sem_util.adb: Use new Duplicate_Subexpr functions
* sem_eval.adb:
(Eval_Indexed_Component): This is the place to call
Constant_Array_Ref and to replace the value. We simply merge
the code of this function in here, since it is now no longer
used elsewhere. This fixes the problem of the back end not
realizing we were clever enough to see that this was
constant.
(Expr_Val): Remove call to Constant_Array_Ref
(Expr_Rep_Val): Remove call to Constant_Array_Ref
Minor reformatting
(Constant_Array_Ref): Deal with string literals (patch
suggested by Zack Weinberg on the gcc list)
* sem_eval.adb: (Constant_Array_Ref): Verify that constant
value of array exists before retrieving it (it may a private
protected component in a function).
Jan Hubicka [Thu, 28 Mar 2002 12:25:21 +0000 (13:25 +0100)]
rtlanal.c: Include flags.h
* rtlanal.c: Include flags.h
(may_trap_p): Do not mark FP operations if trapping
if !flag_trapping_math
* Makefile.in (rtlanal.o): Add dependency on flag.h
* ifcvt.c (noce_operand_ok): Avoid the lameness.
Bryce McKinlay [Thu, 28 Mar 2002 04:28:22 +0000 (04:28 +0000)]
re PR java/5993 (crashes on Hello World)
Fix for PR java/5993:
* parse.y (resolve_package): Return the decl if resolution was
successful. Don't special case "java.lang" and "java.lang.reflect"
packages. Set type_name to the merged identifier.
(resolved_qualified_expression_name): Print error using "name" if
resolve_package returns NULL_TREE.
instantiate1.C: Use scan-assembler, not link errors.
* g++.dg/ext/instantiate1.C: Use scan-assembler, not link errors.
* g++.dg/ext/instantiate2.C, g++.dg/ext/instantiate3.C: Likewise;
move from g++.old-deja/g++.ext/.
Alan Modra [Thu, 28 Mar 2002 00:19:56 +0000 (00:19 +0000)]
configure.in (gcc_cv_as): Use $target_alias in directory searchs rather than $target.
* configure.in (gcc_cv_as): Use $target_alias in directory searchs
rather than $target. Heed program_prefix and
program_transform_name. Search for gas in cross-compiler case too.
"test -x" rather than "test -f".
(gcc_cv_ld): Likewise.
(gcc_cv_nm): Heed program_prefix and program_transform_name.
(gcc_cv_objdump): Likewise.
* configure: Regenerate.
Phil Edwards [Wed, 27 Mar 2002 21:41:36 +0000 (21:41 +0000)]
Intro.3: Date tweak.
2002-03-27 Phil Edwards <pme@gcc.gnu.org>
* docs/doxygen/Intro.3: Date tweak.
* docs/doxygen/TODO: Update.
* docs/doxygen/doxygroups.cc: Point to tables.html.
* docs/doxygen/mainpage.html: Date tweak.
* docs/doxygen/run_doxygen: Version tweak. Copy tables.html over.
* docs/doxygen/tables.html: Fill in the blanks.
Andrew Haley [Wed, 27 Mar 2002 17:08:47 +0000 (17:08 +0000)]
dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
2002-03-25 Andrew Haley <aph@cambridge.redhat.com>, Hans Boehm <Hans_Boehm@hp.com>
* include/dwarf2-signal.h (MAKE_THROW_FRAME): Add for IA-64.
(INIT_SEGV, INIT_FPE): Add versions that use __libc_sigaction
instead of syscall on IA-64.
Add FIXME comment.
* config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
(MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
Remove unnecessary masks.
(MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
(SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
-mwindows, -mdll switches and their negations.
Bryce McKinlay [Wed, 27 Mar 2002 08:27:27 +0000 (08:27 +0000)]
re PR java/5850 (resolving inherited member variables with same name works poorly)
Fix for PR java/5850:
* parse.y (lookup_field_wrapper): Call itself recursively for enclosing
context if field was not found in the current scope.
* expr.c (lookup_field): Don't look in enclosing contexts.
alpha.c (alpha_emit_set_const): Add a REG_EQUAL note if a non-trivial load was emitted.
* config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
if a non-trivial load was emitted.
(alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
in high+extra+low case.