OSDN Git Service
manfred [Thu, 5 Mar 1998 00:28:11 +0000 (00:28 +0000)]
�
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18411
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Thu, 5 Mar 1998 00:28:10 +0000 (00:28 +0000)]
* config.table: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
* configure.in: Make locating frag files failsafe even for the
special case if configuring and building in srcdir.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18410
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 4 Mar 1998 23:03:14 +0000 (23:03 +0000)]
* cccp.c (main): Avoid undefined behavior when setting pend_includes
and pend_files.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18409
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 4 Mar 1998 21:24:06 +0000 (21:24 +0000)]
8
* lex.c (do_scoped_id): Fix parenthesizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18408
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 4 Mar 1998 21:24:04 +0000 (21:24 +0000)]
�
* lex.c (do_scoped_id): Fix parenthesizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18407
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 4 Mar 1998 20:59:50 +0000 (20:59 +0000)]
* rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if
USE_GNULIBC_1 is defined
* configure.in: add a new case powerpc-*-linux-gnulibc1 which
includes the t-linux-gnulibc1 fragment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18405
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 4 Mar 1998 16:35:10 +0000 (16:35 +0000)]
* Make-lang.in: Remove more references to libf77.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18404
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Wed, 4 Mar 1998 12:40:30 +0000 (12:40 +0000)]
(operator<<): Correct type of numeric argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18403
138bc75d-0d04-0410-961f-
82ee72b054a4
wilson [Wed, 4 Mar 1998 12:15:47 +0000 (12:15 +0000)]
Fix typo found by Kaveh Ghazi while looking at -Wall problems.
* mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18402
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 4 Mar 1998 12:13:02 +0000 (12:13 +0000)]
* rtti.c (get_tinfo_fn_dynamic): If this function is called an
FLAG_RTTI is unset, initialize type info machinery and continue
with FLAG_RTTI enabled.
(get_typeid): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18401
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 4 Mar 1998 11:56:29 +0000 (11:56 +0000)]
* typeck.c (unary_complex_lvalue): &D::i has type B::* if i comes
from B.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18400
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchell [Wed, 4 Mar 1998 11:33:01 +0000 (11:33 +0000)]
* pt.c (finish_member_template_decl): Deal more gracefully with
invalid declarations.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18399
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 4 Mar 1998 10:50:18 +0000 (10:50 +0000)]
* final.c (final_scan_insn, case CODE_LABEL: Cleanup.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18398
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 4 Mar 1998 08:13:16 +0000 (08:13 +0000)]
Fix typo in this patch:
* final.c (insn_current_reference_address):
Use SEQ instead of BRANCH as argument to align_fuzz, to get a
proper alignment chain.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18397
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Wed, 4 Mar 1998 07:54:28 +0000 (07:54 +0000)]
* final.c (shorten_branches): Tag the loop alignment onto the
first label after NOTE_INSN_LOOP_BEG even if there is an
intervening insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18396
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 3 Mar 1998 22:52:48 +0000 (22:52 +0000)]
* final.c (insn_current_reference_address):
Use SEQ instead of BRANCH as argument to align_fuzz, to get a
proper alignment chain.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18392
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Mar 1998 22:27:04 +0000 (22:27 +0000)]
* cvt.c, decl.c, decl2.c, init.c, rtti.c, typeck.c, typeck2.c,
cp-tree.h: Clean up more old overloading code, old RTTI code, and
some formatting quirks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18391
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 3 Mar 1998 20:45:49 +0000 (20:45 +0000)]
* final.c (max_labelno): New static variable.
(final_scan_insn): Check max_labelno before outputting an
alignment for a label.
(shorten_branches): Remove unused variable length_align.
Fix some minor problems with new shortening code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18390
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Tue, 3 Mar 1998 11:33:31 +0000 (11:33 +0000)]
Warning fixes:
Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* sparc.c (ultrasparc_adjust_cost): Add default case in
enumeration switch.
* sparc.h: Add prototypes for extern functions defined in
sparc.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18387
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Tue, 3 Mar 1998 10:06:54 +0000 (10:06 +0000)]
Do not generate a <name>.dbr file when dumping RTL unless DELAY_SLOTS is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18386
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 3 Mar 1998 09:03:45 +0000 (09:03 +0000)]
* makeinfo/makeinfo.c (CommandTable): Fix braces in initializer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18385
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Mar 1998 03:24:44 +0000 (03:24 +0000)]
* call.c, class.c, cp-tree.h, cvt.c, decl.c, init.c, lex.c,
method.c, pt.c, ptree.c, typeck.c: Remove support for
-fno-ansi-overloading and overloading METHOD_CALL_EXPR.
* class.h: Remove.
* Makefile.in: Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18384
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Mar 1998 01:57:32 +0000 (01:57 +0000)]
* pt.c (unify): Don't allow reduced cv-quals when strict.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18383
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Tue, 3 Mar 1998 01:51:51 +0000 (01:51 +0000)]
�
* g77.texi: Use @url for citing URLs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18381
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Tue, 3 Mar 1998 01:51:49 +0000 (01:51 +0000)]
E
* g77.texi: Use @url for citing URLs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18380
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Mar 1998 01:44:37 +0000 (01:44 +0000)]
oops
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18378
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 3 Mar 1998 01:39:03 +0000 (01:39 +0000)]
* call.c, class.c, pt.c, cp-tree.h: Remove nsubsts parm from
*type_unification* and unify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18377
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 2 Mar 1998 22:37:37 +0000 (22:37 +0000)]
8
* reorg.c (fill_eager_delay_slots): Add new argument delay_list
in call to fill_slots_from_thread.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18368
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 2 Mar 1998 22:37:35 +0000 (22:37 +0000)]
�
* reorg.c (fill_eager_delay_slots): Add new argument delay_list
in call to fill_slots_from_thread.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18367
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 2 Mar 1998 15:04:08 +0000 (15:04 +0000)]
Formatting fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18364
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Mon, 2 Mar 1998 13:46:33 +0000 (13:46 +0000)]
* alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18361
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 2 Mar 1998 12:22:33 +0000 (12:22 +0000)]
* parse.y (explicit_template_type): Remove TEMPLATE keyword.
(nested_name_specifier): And add it before this use.
(typename_sub0): And this use. Also add use without the keyword.
(typename_sub1): Likewise.
* pt.c (instantiate_class_template): Don't actually instantiate
anything if our type uses template parms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18358
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Mon, 2 Mar 1998 11:54:35 +0000 (11:54 +0000)]
* final.c (insn_last_address, insn_current_align, uid_align):
New variables.
(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
(insn_current_reference_address): Likewise.
(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
(label_to_alignment): New function.
* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
insn_current_reference_address instead of insn_current_address.
(or_attr_value, write_length_unit_log): New functions.
(main): Call write_length_unit_log.
(write_const_num_delay_slots): Output extra '\n'.
* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
replace with:
(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with:
(LOOP_ALIGN).
* i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with:
(LABEL_ALIGN_AFTER_BARRIER).
* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
* ns32k/tek6000.h: Likewise.
* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
ASM_OUTPUT_ALIGN_CODE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18357
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 2 Mar 1998 11:06:14 +0000 (11:06 +0000)]
* decl.c (start_function): Don't call temporary_allocation for a
nested function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18356
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 2 Mar 1998 01:05:53 +0000 (01:05 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18354
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 2 Mar 1998 00:52:20 +0000 (00:52 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18353
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 1 Mar 1998 21:07:22 +0000 (21:07 +0000)]
* pt.c (instantiate_class_template): Don't mess with friends if
our type uses template parms.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18350
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 17:24:18 +0000 (17:24 +0000)]
* reorg.c (fill_slots_from_thread): Don't steal delay list from target
if condition code of jump conflicts with opposite_needed.
* reorg.c (fill_slots_from_thread): Mark resources referenced in
opposite_needed thread. Return delay_list even when cannot get
any more delay insns from end of subroutine.
* reorg.c (fill_slots_from_thread): New parameter, delay_list.
All callers changed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18348
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 17:11:31 +0000 (17:11 +0000)]
* ginclude/va-ppc.h (va_arg): Fix typo in long long support.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18346
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 17:09:39 +0000 (17:09 +0000)]
* frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
end_fde_sort): New functions for fast sorting of an FDE array.
(fde_insert): Simplified.
(add_fdes): Change argument list.
(frame_init): Use the new functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18345
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 17:07:50 +0000 (17:07 +0000)]
* i386.c (reg_mentioned_in_mem): Fix dangling else statement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18344
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 17:04:14 +0000 (17:04 +0000)]
* fold-const.c (fold_range_test): Always return a value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18343
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 16:55:15 +0000 (16:55 +0000)]
* config/i386/winnt.c (i386_pe_unique_section): Put read-only
data in the text section unless READONLY_DATA_SECTION is defined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18342
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 16:46:44 +0000 (16:46 +0000)]
* c-parse.in (undeclared variable error): Tweak error message to
be clearer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18341
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 1 Mar 1998 10:22:38 +0000 (10:22 +0000)]
Bump for snapshot
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18325
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 1 Mar 1998 01:57:25 +0000 (01:57 +0000)]
missed
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18324
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchell [Sun, 1 Mar 1998 00:08:36 +0000 (00:08 +0000)]
* final.c (final_scan_insn): Undo overzealous removal of `set'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18323
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 28 Feb 1998 15:32:36 +0000 (15:32 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18304
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 28 Feb 1998 15:32:02 +0000 (15:32 +0000)]
* parse.y (nested_name_specifier): Use explicit_template_type.
(typename_sub): Allow a template_type, an explicit_template_type,
or an implicit template type at the end.
* lex.c (yyprint): Handle a PTYPENAME being a TEMPLATE_DECL.
* decl.c (make_typename_type): Handle template-id where the name
is a TEMPLATE_DECL.
* call.c (build_scoped_method_call): Handle member template
destructor call.
* pt.c (tsubst_copy, METHOD_CALL_EXPR): Don't assume a member
destructor is represented by the type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18303
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 28 Feb 1998 12:19:29 +0000 (12:19 +0000)]
* cp-tree.h (TYPENAME_TYPE_FULLNAME): New macro.
* parse.y (nested_name_specifier): Add 'template' case.
(explicit_template_type): New rule.
(typename_sub): Use it.
* decl.c (make_typename_type): Handle getting a template-id for NAME.
* pt.c (tsubst): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18296
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 28 Feb 1998 07:34:12 +0000 (07:34 +0000)]
* pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
case, add parentheses to specify the proper order of precedence in
the if-statement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18291
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 28 Feb 1998 07:06:53 +0000 (07:06 +0000)]
Fix warious warnings:
* c-aux-info.c: Include string.h/strings.h.
* pa.c: Include stdlib.h.
(pa_combine_instructions): Prototype the function.
(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
(reloc_needed): Add default case for enumeration switch.
(remove_useless_addtr_insns): Remove unused variable `all'.
(hppa_expand_prologue): Add explicit braces to avoid
ambiguous `else'.
(output_function_epilogue): Remove unused variable `i'.
(output_millicode_call): Remove unused variable `link'.
(shadd_constant_p, forward_branch_p): Make the function static.
(following_call): Explicitly declare to return int.
(pa_reorg): Declare as void.
(pa_combine_instructions): Declare as static void. Add
parentheses around && within ||.
* pa.h: Add prototypes for pa_reorg, symbolic_operand,
following_call, function_label_operand, lhs_lshift_cint_operand
and zdepi_cint_p.
* pa.md: Add parentheses around && within ||.
* cppalloc.c: Include stdlib.h.
* cpperror.c (cpp_print_containing_files): Remove unused variable
`i'. Fix format specifier in fprintf.
* cse.c (cse_around_loop): Add explicit braces to avoid
ambiguous `else'.
(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
* expr.c (expand_expr): Add parentheses around && within ||.
* final.c (app_enable): Replace fprintf with fputs where there are
no format specifiers and no trailing argument after the string.
Eg, when printing ASM_APP_ON/ASM_APP_OFF.
(app_disable): Likewise.
(final_end_function): Likewise.
(final_scan_insn): Likewise. Remove unused variable `set'.
(profile_function): Wrap empty if-statement body in {} brackets.
* function.c: Include stdlib.h.
(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
(reposition_prologue_and_epilogue_notes): Add parentheses
around assignment used as truth value.
* integrate.c (expand_inline_function): Wrap variable
`cc0_insn' in macro HAVE_cc0.
* jump.c (jump_optimize): Wrap variable `q' in macro
HAVE_cc0. Remove unused variable `prev1'.
* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
within ||. Fix format specifier in fprintf.
(__bb_init_prg): Add parentheses around assignment used as
truth value.
* local-alloc.c: Include stdlib.h.
(requires_inout): Add parentheses around assignment used
as truth value.
* loop.c (analyze_loop_iterations): Wrap prototype and definition
in macro HAVE_decrement_and_branch_on_count.
(insert_bct, instrument_loop_bct): Likewise.
(move_movables): Add parentheses around assignment used as
truth value.
(consec_sets_invariant_p): Likewise.
(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
* objc/objc-act.c: Include stdlib.h.
(lookup_method_in_protocol_list): Wrap empty else-statement body
in braces.
(lookup_protocol_in_reflist): Likewise.
(objc_add_static_instance): Remove unused variables `decl_expr'
and `decl_spec'.
(get_objc_string_decl): Remove unused variable `decl'.
(generate_static_references): Remove unused variables `idecl' and
`instance'.
(check_protocols): Wrap empty else-statement body in braces.
* protoize.c: Include stdlib.h.
(substr): Add parentheses around assignment used as truth value.
(abspath): Likewise.
(shortpath): Likewise.
* regmove.c (fixup_match_1): Add parentheses around assignment
used as truth value.
* reload.c (push_secondary_reload): Remove unused variable `i'.
(find_reloads): Add parentheses around assignment used as truth
value.
* reload1.c: Include stdlib.h.
* rtl.h: Correct typo in prototype of offsettable_memref_p.
* stmt.c (add_case_node): Add parentheses around assignment used
as truth value.
(case_tree2list): Likewise.
* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable
`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
(merge_attributes): Add explicit braces to avoid ambiguous
`else'.
* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
macro HAVE_cc0.
* varasm.c: Include stdlib.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18290
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 28 Feb 1998 06:11:54 +0000 (06:11 +0000)]
I've backed out of including stat.h via system.h because stat.h can
define static functions (eg on x86 svr4 according to jfc@mit.edu)
causing code bloat.
* system.h: Remove sys/stat.h.
* gcc.c: Add sys/stat.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18289
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Sat, 28 Feb 1998 05:01:14 +0000 (05:01 +0000)]
ChangeLog entry, omitted for change described below, is now installed:
* genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
* genattrtab.c: Likewise.
* genconfig.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* genflags.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c: Likewise.
* genpeep.c: Likewise.
* genrecog.c: Likewise.
* tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18288
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 17:46:18 +0000 (17:46 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18287
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 17:46:01 +0000 (17:46 +0000)]
* pt.c (add_to_template_args): Fix thinko.
(instantiate_class_template): Call it later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18286
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 12:15:17 +0000 (12:15 +0000)]
Support partial specialization of member class templates.
* pt.c (get_class_bindings): Add outer_args parm.
(most_specialized_class): Likewise.
(instantiate_class_template): Pass it.
(more_specialized_class): Likewise.
(lookup_template_class): Get context from template if none
was specified.
(finish_member_template_decl): Don't do anything with a
partial specialization.
* decl2.c (check_member_template): Use IS_AGGR_TYPE instead of
AGGREGATE_TYPE_P.
* class.c (finish_struct): Member class templates have already been
checked for name clashes.
* decl.c (pushdecl_with_scope): Handle pushing at class level.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18285
138bc75d-0d04-0410-961f-
82ee72b054a4
ghazi [Fri, 27 Feb 1998 08:23:47 +0000 (08:23 +0000)]
* genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
* genattrtab.c: Likewise.
* genconfig.c: Likewise.
* genemit.c: Likewise.
* genextract.c: Likewise.
* genflags.c: Likewise.
* genopinit.c: Likewise.
* genoutput.c: Likewise.
* genpeep.c: Likewise.
* genrecog.c: Likewise.
* tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18284
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 02:53:00 +0000 (02:53 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18283
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 02:42:03 +0000 (02:42 +0000)]
comment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18282
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Fri, 27 Feb 1998 02:30:29 +0000 (02:30 +0000)]
* invoke.texi: Use @itemx for a secondary item in a @table.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18281
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 27 Feb 1998 02:27:38 +0000 (02:27 +0000)]
* pt.c (tsubst, TEMPLATE_DECL): Support member class templates.
(tsubst, *_PARM): Support multiple levels of template classes.
(instantiate_class_template): Look up the pattern from the
original template.
(lookup_template_class): Handle getting a template for d1.
(push_template_decl): Correct setting of 'primary'.
(reduce_template_parm_level): Add 'levels' parm.
(finish_member_template_decl): Support member class templates.
(template_class_depth): Handle multiple levels.
* parse.y (component_decl_1, fn.def2): Remove member template case.
(component_decl): Add member template cases.
* decl2.c (check_member_template): We now handle member template
classes.
* decl.c (pushtag): Handle member templates.
* method.c (do_inline_function_hair): Don't touch
IDENTIFIER_GLOBAL_VALUE.
* init.c (build_offset_ref): If name isn't an identifier, just
return it.
* spew.c (yylex): Handle PTYPENAME like TYPENAME.
* typeck.c (get_delta_difference): Do adjust for conversions to
and from virtual base.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18280
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Fri, 27 Feb 1998 02:26:47 +0000 (02:26 +0000)]
Update copyright
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18279
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Fri, 27 Feb 1998 02:10:47 +0000 (02:10 +0000)]
* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18278
138bc75d-0d04-0410-961f-
82ee72b054a4
raeburn [Thu, 26 Feb 1998 13:45:45 +0000 (13:45 +0000)]
* regclass.c (init_reg_sets): Move init of move cost tables...
(init_reg_sets_1): ...to here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18273
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 26 Feb 1998 00:49:33 +0000 (00:49 +0000)]
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18245
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 23:10:36 +0000 (23:10 +0000)]
8
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18242
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 23:10:35 +0000 (23:10 +0000)]
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18241
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 23:09:55 +0000 (23:09 +0000)]
Mon Feb 23 14:33:15 1998 Ian Lance Taylor <ian@cygnus.com>
* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18240
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 23:07:14 +0000 (23:07 +0000)]
New testcase for x86 specific crash.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18239
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 22:39:34 +0000 (22:39 +0000)]
* i386.c (struct machine_function): Add new fields for PIC stuff.
(save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx
and pic_label_name.
(restore_386_machine_status): Corresponding changes.
(clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18237
138bc75d-0d04-0410-961f-
82ee72b054a4
mmitchell [Wed, 25 Feb 1998 12:07:17 +0000 (12:07 +0000)]
Add .cvsignore file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18231
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Feb 1998 10:07:07 +0000 (10:07 +0000)]
* typeck.c (get_delta_difference): Give hard error for conversion
from virtual base.
* cp-tree.h: Tweak formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18229
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Feb 1998 00:55:32 +0000 (00:55 +0000)]
update
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18228
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Wed, 25 Feb 1998 00:49:51 +0000 (00:49 +0000)]
Partial implementation of namespaces.
* decl.c (push_namespace): Handle redeclaration error.
* cp-tree.h (IDENTIFIER_NAMESPACE_VALUE): New macro.
(IDENTIFIER_NAMESPACE_BINDINGS): New macro.
(NAMESPACE_BINDING): New macro.
(IDENTIFIER_GLOBAL_VALUE): Use NAMESPACE_BINDING.
* *.c: Use them.
* pt.c (push_template_decl): Use innermost_args.
* decl.c (get_unique_name): Tweak from earlier in the name.
* cp-tree.def: Add CPLUS_BINDING node.
* cp-tree.h (tree_binding): new struct
(BINDING_SCOPE, BINDING_VALUE): new macros
(current_namespace, global_namespace): declare extern
(struct lang_decl_flags): new field in_namespace
(DECL_NAMESPACE_USING, DECL_NAMESPACE_USERS): new macros
(DECL_NAMESPACE, SET_DECL_NAMESPACE): new macros
(TREE_INDIRECT_USING): new macro
* decl2.c (current_namespace, global_namespace): Declare. The
value is a NAMESPACE_DECL now, not a TREE_LIST.
(is_namespace_ancestor, namespace_ancestor):new static functions.
(add_using_namespace, ambiguous_decl): likewise.
(lookup_using_namespace): new support function for lookup_name.
(qualified_lookup_using_namespace): new support function for
do_scoped_id and lookup_namespace_name
(get_namespace_id): mark as obsolete.
(current_namespace_id): Likewise.
(do_namespace_alias): Implement.
(do_using_directive): Implement as call to add_using_namespace.
* decl.c (binding_for_name): new function.
(push_namespace, pop_namespace): implement.
(push_decl): don't install a FUNCTION_DECL in the global branch.
(lookup_namespace_name): implement using qualified lookup.
(lookup_name_real): For global scoping, lookup in
global_namespace. For namespace scoping, lookup in given
namespace. For unscoped lookup, iterate over namespace,
considering using directives.
(init_decl_processing): initialize global_namespace.
(grokvardecl): Build assembler name as static name for globals.
(grokdeclarator): Remove old namespace mangling.
(xref_tag): When installing a global binding for the
tag, make sure we have an identifier.
* method.c (build_overload_nested_name): mangle namespaces.
(build_qualified_name): Likewise.
(build_decl_overload_real): Likewise.
* lex.c (build_lang_decl): set namespace for new declaration to
current_namespace.
(do_scoped_id): find global names in global or current
namespace, or using qualified namespace lookup, depending on
context.
* init.c (build_member_call): When scope is namespace, use
build_x_function_call instead.
(build_offset_ref): When scope is namespace, collapse processing
to lookup_namespace_name instead.
* error.c (dump_decl): Support NAMESPACE_DECL.
* decl.c (pushdecl): Bind globals to current namespace.
(push_overloaded_decl): Likewise.
(lookup_tag): Likewise.
(lookup_name_current_level): Likewise.
(xref_tag): Likewise.
(start_function): Likewise.
* lex.c (do_identifier): Likewise.
(identifier_typedecl_value): Likewise.
(real_yylex): Likewise.
* method.c (do_inline_function_hair): Likewise.
* parse.y (unscoped): Likewise.
* pt.c (check_explicit_specialization): Likewise.
(lookup_template_class): Likewise.
* rtti.c (call_void_fn): Likewise.
* sig.c (build_sigtable): Likewise.
* ptree.c (lang_print_xnode): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18227
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 25 Feb 1998 00:30:00 +0000 (00:30 +0000)]
* c-parse.y (undeclared variable error): Tweak error message
to be clearer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18226
138bc75d-0d04-0410-961f-
82ee72b054a4
rth [Wed, 25 Feb 1998 00:00:29 +0000 (00:00 +0000)]
* flags.h (g_switch_value, g_switch_set): Declare.
* alpha.c (override_options): Set g_switch_value=8 if not set.
* alpha/elf.h (CC1_SPEC): New.
(ASM_SPEC): New.
(LINK_SPEC): Pass along the -G value we were given.
(LOCAL_ASM_OP): Remove.
(ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
(MAX_OFILE_ALIGNMENT): New.
(BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
(EXTRA_SECTIONS): Add sbss and sdata.
(SECTION_FUNCTION_TEMPLATE): New.
(EXTRA_SECTION_FUNCTIONS): Use it.
(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
(SELECT_SECTION): Use sdata when small enough.
* alpha/linux.h (ASM_SPEC): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18225
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 24 Feb 1998 20:09:55 +0000 (20:09 +0000)]
Changes for _G_IO_IO_FILE_VERSION == 0x20001:
* libioP.h (_IO_showmanyc_t, _IO_SHOWMANYC, _IO_imbue_t,
_IO_IMBUE): New definitions.
(struct _IO_jump_t): Add __showmanyc and __imbue fields.
(_IO_file_fopen): Add new fourth argument.
* filebuf.cc (filebuf::open): Pass new fourth argument to
_IO_file_fopen.
* iolibio.h (_IO_freopen): Likewise.
* streambuf.cc (streambuf::showmanyc, streambuf::imbue): New
functions.
* streambuf.h (_IO_wchar_t): Define to _G_wchar_t.
(ios::fill): Remove casts.
(struct streambuf): Add showmanyc and imbue members.
* iostream.cc (ostream::operator<<(double n)) [__GLIBC_MINOR__ >=
1]: Initialize new fields is_char of struct printf_info.
(ostream::operator<<(long double n)) [__GLIBC_MINOR__ >= 1]:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18222
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Tue, 24 Feb 1998 14:22:12 +0000 (14:22 +0000)]
* decl.c (finish_function): Give a pedwarn for reaching end of
non-void function, not just a warning.
Remove the above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18218
138bc75d-0d04-0410-961f-
82ee72b054a4
brendan [Tue, 24 Feb 1998 08:37:13 +0000 (08:37 +0000)]
* decl.c (finish_function): Give a pedwarn for reaching end of
non-void function, not just a warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18217
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 24 Feb 1998 01:41:45 +0000 (01:41 +0000)]
* pt.c (instantiate_class_template): Don't instantiate if pedantic
and the args use template parms.
* pt.c (push_tinst_level): If the instantiaton uses template parms,
fail silently.
* decl.c (xref_basetypes): Do call complete_type for basetypes
that involve template parameters.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18215
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 24 Feb 1998 00:37:57 +0000 (00:37 +0000)]
* typeck2.c (process_init_constructor): Fix labeled init check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18214
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 23 Feb 1998 21:57:23 +0000 (21:57 +0000)]
Update address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18211
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Mon, 23 Feb 1998 13:42:53 +0000 (13:42 +0000)]
From Bruno Haible <haible@ilog.fr>:
* execute/980223.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18210
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Mon, 23 Feb 1998 13:16:17 +0000 (13:16 +0000)]
* config.sub (sco5): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18209
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 12:00:16 +0000 (12:00 +0000)]
tweak
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18208
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 12:00:04 +0000 (12:00 +0000)]
comment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18207
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 23 Feb 1998 09:41:10 +0000 (09:41 +0000)]
e
* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
set to empty.
* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
* config/alpha/t-linux: Remove file.
* config/sparc/t-linux: Remove file.
* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
for tmake_file.
(alpha*-*-linux-gnu*): Likewise.
(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
(sparc-*-linux-gnu*): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18206
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 23 Feb 1998 09:41:09 +0000 (09:41 +0000)]
#
* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
set to empty.
* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
* config/alpha/t-linux: Remove file.
* config/sparc/t-linux: Remove file.
* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
for tmake_file.
(alpha*-*-linux-gnu*): Likewise.
(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
(sparc-*-linux-gnu*): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18205
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 23 Feb 1998 09:41:03 +0000 (09:41 +0000)]
a
* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
set to empty.
* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
* config/alpha/t-linux: Remove file.
* config/sparc/t-linux: Remove file.
* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
for tmake_file.
(alpha*-*-linux-gnu*): Likewise.
(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
(sparc-*-linux-gnu*): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18204
138bc75d-0d04-0410-961f-
82ee72b054a4
manfred [Mon, 23 Feb 1998 09:41:01 +0000 (09:41 +0000)]
d
* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
set to empty.
* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
* config/alpha/t-linux: Remove file.
* config/sparc/t-linux: Remove file.
* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
for tmake_file.
(alpha*-*-linux-gnu*): Likewise.
(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
(sparc-*-linux-gnu*): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18203
138bc75d-0d04-0410-961f-
82ee72b054a4
robertl [Mon, 23 Feb 1998 08:58:16 +0000 (08:58 +0000)]
* collect2.c (ldd_file_name): Bracket declaration with same
manifests as use.
(full_real_ld_suffix): Deleted. Variable was calloced and
written into, but never read.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18202
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 05:11:57 +0000 (05:11 +0000)]
* pt.c, call.c, decl.c, method.c, cp-tree.h: Remove unused NARGS
argument to tsubst and friends.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18201
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 04:55:44 +0000 (04:55 +0000)]
* pt.c (tsubst, FUNCTION_DECL): Tidy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18200
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 03:18:11 +0000 (03:18 +0000)]
new
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18199
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 23 Feb 1998 03:17:44 +0000 (03:17 +0000)]
Support for friend templates.
* typeck.c (build_x_function_call): Handle static member function
templates like non-templates. Handle friend templates like normal
function templates.
* pt.c (tsubst, *_PARM): Don't use orig_level.
(get_bindings): Don't call add_to_template_args.
(instantiate_template): Likewise.
(tsubst, FUNCTION_DECL): Call add_to_template_args as appropriate.
* ptree.c (print_lang_type): Print index/level for template parms.
* Make-lang.in (cc1plus): Note that cc1plus depends on
cp/cp-tree.h and cp/cp-tree.def.
* cp-tree.def (TEMPLATE_CONST_PARM): Remove.
(TEMPLATE_PARM_INDEX): New tree code, used to indicate a
position in a template parameter list.
* cp-tree.h (template_parm_index): New structure, used as the tree
structure for a TEMPLATE_PARM_INDEX.
(TEMPLATE_PARM_IDX): New macro.
(TEMPLATE_PARM_LEVEL): Likewise.
(TEMPLATE_PARM_DESCENDANTS): Likewise.
(TEMPLATE_PARM_ORIG_LEVEL): Likewise.
(TEMPLATE_PARM_DECL): Likewise.
(TEMPLATE_TYPE_PARM_INDEX): Likewise.
(TEMPLATE_TYPE_ORIG_LEVEL): Likewise.
(TEMPLATE_TYPE_DECL): Likewise.
(TEMPLATE_CONST_IDX): Remove.
(TEMPLATE_CONST_LEVEL): Likewise.
(TEMPLATE_CONST_SET_INFO): Likewise.
(TEMPLATE_TYPE_SET_INFO): Likewise.
(TEMPLATE_TYPE_IDX): Redefine in terms of TEMPLATE_PARM_INDEX
node.
(TEMPLATE_TYPE_LEVEL): Likewise.
* decl.c (decls_match): Call comp_template_parms, rather than
expanding it inline.
(duplicate_decls): If two template declarations are being merged,
then their TEMPLATE_INFOs should be merged as well.
(grokfndecl): Save template-id information when declaring a friend
with explicit template arguments. Pass arguments to
check_explicit_specialization via correct convention; at some
point check_explicit_specialization changed, but these call-sites
did not.
(grokdeclarator): Tidy up slightly.
* decl2.c (check_classfn): Tidy up slightly. Don't assume that
two template functions with the same DECL_ASSEMBLER_NAME the same,
since the names are not yet mangled.
* error.c (dump_decl): Use TEMPLATE_PARM_INDEX instead of
TEMPLATE_CONST_PARM.
(dump_expr): Likewise. Use the TEMPLATE_PARM_DECL to get at the
decl for a non-type parameter, rather than printing `<tparm ...>'.
* friend.c (is_friend): Handle TEMPLATE_DECL friends.
(do_friend): Deal with template friends.
* lex.c (do_pending_inlines): Call
maybe_begin_member_template_processing, rather than
conditionally calling begin_member_template_processing.
(process_next_inline): Likewise. Call
maybe_end_member_template_processing, rather than
conditionally calling end_member_template_processing.
(do_pending_defargs): Likewise.
(do_identifier): Use TEMPLATE_PARM_INDEX instead of
TEMPLATE_CONST_PARM.
* method.c (build_mangled_template_parm_index): New function.
(build_overload_value): Use it.
(build_overload_name): Likewise.
* pt.c (finish_member_template_decl): Allow friend declarations.
(template_class_depth): New function.
(is_member_template): Rename, and modify, to become...
(is_member_or_friend_template): New function.
(end_member_template_processing): Rename, and modify, to become...
(maybe_end_member_template_processing).
(build_template_parm_index): New function.
(reduce_template_parm_level): New function.
(process_template_parm): Modify to use build_template_parm_index.
(current_template_args): Change name to current_template_parms.
(push_template_decl): Deal with friend templates.
(uses_template_parms): Use TEMPLATE_PARM_INDEX instead of
TEMPLATE_CONST_PARM.
(tsubst_friend_function): New function.
(instantiate_class_template): Generate the DECL_FRIENDLIST
for a new instantiation by using tsubst_friend_function rather
than just tsubst.
(tsubst): Don't tsubst into a type which is a TEMPLATE_DECL.
Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM, and the
appropriate new macros. Use reduce_template_parm_level to
generate lower-level template parameters. Handle tsubst'ing into
TEMPLATE_DECLS that declare TEMPLATE_TEMPLATE_PARMS. Don't forget
to tsubst the DECL_CONTEXT and DECL_CLASS_CONTEXT of newly created
templates. Similarly for the template parameters for a new
template.
(tsubst_copy): Tidy up slightly. Use TEMPLATE_PARM_INDEX instead
of TEMPLATE_CONST_PARM. Handle TYPE_DECLs by tsubsting into them.
(unify): Use TEMPLATE_PARM_INDEX instead of TEMPLATE_CONST_PARM.
(get_bindings): Call add_to_template_args if necessary.
(instantiate_decl): Handle instantiations of friend templates.
* search.c (lookup_field_1): Don't treat the TYPE_FIELDS of a
TEMPLATE_TYPE_PARM as a list of fields; it's not!
* spew.c (yylex): Do a little manual constant propogation to
clarify the code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18198
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 22 Feb 1998 23:10:06 +0000 (23:10 +0000)]
* configure.in: Add support for i386-wrs-vxworks configuration.
* i386/vxi386.h: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18197
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 22 Feb 1998 20:17:30 +0000 (20:17 +0000)]
* tree.c (contains_placeholder_p): Ensure function always returns
a value.
* sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
(movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18196
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 22 Feb 1998 19:55:58 +0000 (19:55 +0000)]
* vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18195
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Sun, 22 Feb 1998 19:39:08 +0000 (19:39 +0000)]
* expr.c (ffeexpr_token_arguments_): Make sure
outer exprstack isn't null.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18190
138bc75d-0d04-0410-961f-
82ee72b054a4