Alexandre Oliva [Sun, 11 Oct 1998 11:12:06 +0000 (11:12 +0000)]
instantiate4.C: New test: -frepo does not generate needed virtual table
* g++.old-deja/g++.pt/instantiate4.C: New test: -frepo does not
generate needed virtual table
* lib/old-dejagnu.exp (old-dejagnu): support `Build then link:'
Zack Weinberg [Sun, 11 Oct 1998 00:05:11 +0000 (00:05 +0000)]
cppexp.c: When forcing unsigned comparisons, cast both sides of the operation.
* cppexp.c: When forcing unsigned comparisons, cast both sides
of the operation.
* cpphash.h: Move static declaration of hashtab[]...
* cpphash.c: ...here.
* cpplib.c: Cast difference of two pointers to size_t before
comparing it to size_t. Cast signed to unsigned
before comparing to size_t. (FIXME: struct argdata should use
unsigned buffer sizes.)
* cpplib.h (struct cpp_reader): Declare token_buffer_size as
unsigned int. (CPP_WRITTEN): Cast return value to size_t.
(CPP_RESERVE): Parenthesize N for evaluation order, cast to
size_t before comparison.
Alexandre Oliva [Sat, 10 Oct 1998 07:51:24 +0000 (07:51 +0000)]
parse3.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse3.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse5.C: XFAILs, not ERRORs
* g++.old-deja/g++.brendan/parse6.C: XFAILs, not ERRORs
Alexandre Oliva [Sat, 10 Oct 1998 07:38:29 +0000 (07:38 +0000)]
using5.C: New test; using decl from base class should be usable as argument of member function
* g++.old-deja/g++.other/using5.C: New test; using decl from base
class should be usable as argument of member function
* g++.old-deja/g++.other/using6.C: New test; using decl from base
class should be usable as return type of member function
* g++.old-deja/g++.other/using7.C: New test; using decl from base
class should be usable as type of data member
Kaveh R. Ghazi [Fri, 9 Oct 1998 19:17:54 +0000 (19:17 +0000)]
Warning fixes:
* fp-bit.c (SFtype): Don't implicitly use int in declaration.
(DFtype): Likewise.
(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
(divide): Remove unused variable `tmp'.
(si_to_float): Cast numeric constant to (SItype) before comparing
it against one.
Bernd Schmidt [Fri, 9 Oct 1998 15:58:37 +0000 (08:58 -0700)]
flow.c (life_analysis_1): Break out some functions.
Fri Oct 9 15:57:51 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
* flow.c (life_analysis_1): Break out some functions.
(find_basic_blocks_1): Likewise. Also move some variables out and
make them static.
Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
new static var nonlocal_label_list with it.
(active_eh_region, nested_eh_region, label_value_list,
nonlocal_label_list): New static variables.
(make_edges, delete_unreachable_blocks, delete_block): New static
functions, broken out of find_basic_blocks_1.
(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
noop_move_p): New static functions, broken out of life_analysis_1.
expmed.c (store_bit_field): Pun non-integral str_rtx modes.
* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
Take extra care for op0 now possibly being a subreg.
(extract_bit_field): Likewise.
* function.c (purge_addressof_1): Revert Oct 4 change. Drop
the reg to memory if there is no equal sized integral mode.
* stor-layout.c (int_mode_for_mode): New function.
* machmode.h: Prototype it.
Jason Merrill [Fri, 9 Oct 1998 00:10:57 +0000 (00:10 +0000)]
pt.c (resolve_overloaded_unification): New fn.
* pt.c (resolve_overloaded_unification): New fn.
(try_one_overload): Likewise.
(unify): Don't fail on unknown type.
(type_unification_real): Likewise. Use resolve_overloaded_unification
to handle an overloaded argument.
(template_args_equal): Split out...
(comp_template_args): From here.
(determine_specialization): Also allow a template with more
parms than were explicitly specified.
* cp-tree.h: Add template_args_equal.
* call.c (resolve_args): Remove TEMPLATE_ID_EXPR code.
Marc Lehmann [Thu, 8 Oct 1998 23:26:54 +0000 (17:26 -0600)]
ylwrap: Change absolute path checks to check for DOS style path names.
�
* ylwrap: Change absolute path checks to check for DOS style path
names.
* ylwrap: Don't use a full path name if the source file is in the
same directory. From hjl@lucon.org (H.J. Lu).
Brought over from devo.
Marc Lehmann [Thu, 8 Oct 1998 23:26:53 +0000 (17:26 -0600)]
ylwrap: Change absolute path checks to check for DOS style path names.
�
* ylwrap: Change absolute path checks to check for DOS style path
names.
* ylwrap: Don't use a full path name if the source file is in the
same directory. From hjl@lucon.org (H.J. Lu).
Brought over from devo.
Jeff Law [Thu, 8 Oct 1998 23:04:13 +0000 (17:04 -0600)]
backport: libiberty.h (xexit): Change decl to use modern GCC attribute to indicate exit does not return.
* Merge devo and egcs include directories.
1998-08-03 Jason Molenda (jsm@bugshack.cygnus.com)
* libiberty.h (xexit): Change decl to use modern GCC attribute
to indicate exit does not return.
Jeffrey A Law [Thu, 8 Oct 1998 05:04:57 +0000 (05:04 +0000)]
typeck.c (unsigned_type): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* typeck.c (unsigned_type): Only return TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
(signed_type): Similarly.
* decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
(init_decl_processing): Only create TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
* cp-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
Jeffrey A Law [Thu, 8 Oct 1998 05:01:10 +0000 (05:01 +0000)]
typeck (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* typeck (type_for_mode): Only return TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
(type_for_size): Similarly.
* decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
(init_decl_processing): Only create TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
Jeff Law [Thu, 8 Oct 1998 04:57:39 +0000 (22:57 -0600)]
c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-common.c (type_for_mode): Only return TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
(init_decl_processing): Only create TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
Forgot to commit with last change.
Jeff Law [Thu, 8 Oct 1998 04:37:30 +0000 (22:37 -0600)]
c-common.c (type_for_mode): Only return TItype nodes when HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-common.c (type_for_mode): Only return TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
(init_decl_processing): Only create TItype nodes when
HOST_BITS_PER_WIDE_INT is >= 64 bits.
* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
when HOST_BITS_PER_WIDE_INT is >= 64 bits.
Bernd Schmidt [Thu, 8 Oct 1998 04:07:40 +0000 (22:07 -0600)]
stmt.c (n_occurrences): New static function.
* stmt.c (n_occurrences): New static function.
(expand_asm_operands): Verify that all constrains match in the
number of alternatives.
Verify that '+' or '=' are at the beginning of an output constraint.
Don't allow '&' for input operands.
Verify that '%' isn't written for the last operand.
* reload.c (find_reloads): Abort if an asm is found with invalid
constraints; all possible problems ought to be checked for earlier.
flow.c (find_basic_blocks): Calc upper bound for extra nops in max_uids_for_flow.
* flow.c (find_basic_blocks): Calc upper bound for extra nops in
max_uids_for_flow.
(find_basic_blocks_1): Add a nop to the end of a basic block when
a trailing call insn does not have abnormal control flow.
* gcse.c (pre_transpout): New variable.
(alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
(compute_pre_transpout): Calculate it.
(compute_pre_ppinout): Use it to eliminate impossible placements
due to abnormal control flow through calls.
(compute_pre_data): Call compute_pre_transpout.
Ken Raeburn [Wed, 7 Oct 1998 18:23:51 +0000 (18:23 +0000)]
mips.md (tablejump_internal3, [...]): Tack on a `use' of the table label, so flow analysis will recognize a tablejump.
* config/mips/mips.md (tablejump_internal3, tablejump_internal4 and matching
define_insns): Tack on a `use' of the table label, so flow analysis will
recognize a tablejump.
Bernd Schmidt [Wed, 7 Oct 1998 09:50:05 +0000 (03:50 -0600)]
jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all insns we're going to copy.
* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
insns we're going to copy.
* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
David S. Miller [Wed, 7 Oct 1998 02:17:57 +0000 (02:17 +0000)]
sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework for efficiency by checking whether we need to modify the current stack...
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
for efficiency by checking whether we need to modify the current
stack permission at all.
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
__enable_execute_stack libcall here too if
TRANSFER_FROM_TRAMPOLINE is defined.
* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
IN_LIBGCC2.
Mark Mitchell [Wed, 7 Oct 1998 02:08:55 +0000 (02:08 +0000)]
cp-tree.h (vtbl_ptr_type_node): New variable.
* cp-tree.h (vtbl_ptr_type_node): New variable.
* class.c (build_vtbl_ref): Don't indirect through the vptr; it's
already of the right type.
(finish_struct_1): Make the vptr be of type vtbl_ptr_type_node.
Simplify code to grow vtable.
* decl.c (vtbl_ptr_type_node): Define.
(init_decl_processing): Initialize it.