Mark Mitchell
920253a3bc
iomanip.h: Use new friend <> syntax.
...
Sun Sep 28 12:09:04 1997 Mark Mitchell <mmitchell@usa.net>
* iomanip.h: Use new friend <> syntax.
From-SVN: r15775
1997-09-28 15:18:16 -04:00
Jason Merrill
386b8a85a6
[multiple changes]
...
Sat Sep 27 16:22:48 1997 Jason Merrill <jason@yorick.cygnus.com>
* friend.c (do_friend): Disable injection for all template-derived
decls.
* decl2.c (lang_decode_option): Handle -fguiding-decls.
* parse.y (notype_template_declarator): New nonterminal.
(direct_notype_declarator): Use it.
(complex_direct_notype_declarator): Likewise.
(object_template_id): Accept any kind of identifier after TEMPLATE.
(notype_qualified_id): Don't add template declarators here.
Sat Sep 27 16:21:58 1997 Mark Mitchell <mmitchell@usa.net>
* call.c (add_template_candidate): Add explicit_targs parameter.
(build_scoped_method_call): Use it.
(build_overload_call_real): Likewise.
(build_user_type_conversion_1): Likewise.
(build_new_function_call): Likewise.
(build_object_call): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
(build_new_function_call): Handle TEMPLATE_ID_EXPR.
(build_new_method_call): Likewise.
* class.c (finish_struct_methods): Add specialization pass to
determine which methods were specializing which other methods.
(instantiate_type): Handle TEMPLATE_ID_EXPR.
* cp-tree.def (TEMPLATE_ID_EXPR): New tree code.
* cp-tree.h (name_mangling_version): New variable.
(flag_guiding_decls): Likewise.
(build_template_decl_overload): New function.
(begin_specialization): Likewise.
(reset_specialization): Likewise.
(end_specialization): Likewise.
(determine_explicit_specialization): Likewise.
(check_explicit_specialization): Likewise.
(lookup_template_function): Likewise.
(fn_type_unification): Add explicit_targs parameter.
(type_unification): Likewise.
* decl.c (duplicate_decls): Add smarts for explicit
specializations.
(grokdeclarator): Handle TEMPLATE_ID_EXPR, and function
specializations.
(grokfndecl): Call check_explicit_specialization.
* decl2.c (lang_decode_option): Handle -fname-mangling-version.
(build_expr_from_tree): Handle TEMPLATE_ID_EXPR.
(check_classfn): Handle specializations.
* error.c (dump_function_name): Print specialization arguments.
* friend.c (do_friend): Don't call pushdecl for template
instantiations.
* init.c (build_member_call): Handle TEMPLATE_ID_EXPR.
* lang-options.h: Add -fname-mangling-version, -fguiding-decls,
and -fno-guiding-decls.
* lex.c (identifier_type): Return PFUNCNAME for template function
names.
* method.c (build_decl_overload_real): New function.
(build_template_parm_names): New function.
(build_overload_identifier): Use it.
(build_underscore_int): New function.
(build_overload_int): Use it. Add levels for template
parameters.
(build_overload_name): Likewise. Also, handle TYPENAME_TYPEs.
(build_overload_nested_names): Handle template type parameters.
(build_template_decl_overload): New function.
* parse.y (YYSTYPE): New ntype member.
(nested_name_specifier): Use it.
(nested_name_specifier_1): Likewise.
(PFUNCNAME): New token.
(template_id, object_template_id): New non-terminals.
(template_parm_list): Note specializations.
(template_def): Likewise.
(structsp): Likewise.
(fn.def2): Handle member template specializations.
(component_decl_1): Likewise.
(direct_notype_declarator): Handle template-ids.
(component_decl_1): Likewise.
(direct_notype_declarator): Handle template-ids.
(primary): Handle TEMPLATE_ID_EXPR, and template-ids.
* pt.c (processing_specializations): New variable.
(template_header_count): Likewise.
(type_unification_real): New function.
(processing_explicit_specialization): Likewise.
(note_template_header): Likewise.
(is_member_template): Handle specializations.
(end_template_decl): Call reset_specialization.
(push_template_decl): Handle member template specializations.
(tsubst): Likewise.
(tsubst_copy): Handle TEMPLATE_ID_EXPR.
(instantiate_template): Handle specializations.
(instantiate_decl): Likewise.
(fn_type_unification): Handle explicit_targs.
(type_unification): Likewise. Allow incomplete unification
without an error message, if allow_incomplete.
(get_bindings): Use new calling sequence for fn_type_unification.
* spew.c (yylex): Handle PFUNCNAME.
* tree.c (is_overloaded_fn): Handle TEMPLATE_ID_EXPR.
(really_overloaded_fn): Likewise.
(get_first_fn): Handle function templates.
* typeck.c (build_x_function_call): Use really_overloaded_fn.
Handle TEMPLATE_ID_EXPR.
(build_x_unary_op): Likewise.
(build_unary_op): Likewise.
(mark_addressable): Templates whose address is taken are marked
as used.
From-SVN: r15774
1997-09-28 15:16:59 -04:00
Jason Merrill
e741306e3c
* libio.h: Don't use _IO_LOCK_T if it's not defined.
...
From-SVN: r15773
1997-09-28 15:08:43 -04:00
Jason Merrill
72b0b53ec1
update
...
From-SVN: r15772
1997-09-28 15:02:46 -04:00
Philippe De Muyter
adfc539e94
flow.c (print_rtl_with_bb): Cast alloca return values for variables start and end.
...
* flow.c (print_rtl_with_bb): Cast alloca return values for variables
start and end.
From-SVN: r15753
1997-09-28 01:52:39 -06:00
Jeffrey A Law
771c2d1bb7
Make-lang.in (G77_FLAGS_TO_PASS): Pass down RANLIB, RANLIB_TEST and AR instead of the _FOR_TARGET versions.
...
* Make-lang.in (G77_FLAGS_TO_PASS): Pass down RANLIB, RANLIB_TEST
and AR instead of the _FOR_TARGET versions.
From-SVN: r15752
1997-09-28 01:44:42 -06:00
Jeffrey A Law
92cbe4d261
frame.c: Remove last change.
...
* frame.c: Remove last change.
* dwarf2.h: Remove last change.
* tree.h: Add declarations of DWARF2 unwind info support
functions.
As requested by Jason.
From-SVN: r15751
1997-09-28 01:03:02 -06:00
Jason Merrill
2f3ca9e7f4
c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
...
* c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
* tree.h (built_in_function): Likewise.
* expr.c (expand_builtin): Likewise.
* except.h: Likewise.
* dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
* libgcc2.c (copy_reg): New fn.
(__throw): Use it.
From-SVN: r15750
1997-09-27 14:16:15 -04:00
Jason Merrill
faf199a621
regen
...
From-SVN: r15749
1997-09-27 14:15:16 -04:00
Jeff Law
dc09d4f07b
New file from Ulrich.
...
From-SVN: r15742
1997-09-26 22:07:24 -06:00
Ulrich Drepper
d604f4c6a3
libio changes from Ulrich to help "old linux" systems.
...
libio changes from Ulrich to help "old linux" systems. See ChangeLog
for details.
From-SVN: r15741
1997-09-26 22:07:00 -06:00
Andreas Schwab
a7cc7f29f4
frame.c: Include gansidecl.h for PROTO.
...
* frame.c: Include gansidecl.h for PROTO.
* dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
defined. Don't declare dwarf2out_cfi_label here.
* dwarf2.h: Add declarations of DWARF2 unwind info support
functions.
* m68k.c: Include dwarf2.h.
(output_function_prologue): Add dwarf2 support.
* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
(INCOMING_FRAME_SP_OFFSET): Likewise.
Update m68k patch from Andreas.
From-SVN: r15740
1997-09-26 21:58:57 -06:00
Paul Eggert
407cb092e3
c-typeck.c (build_binary_op): Warn about comparing signed vs unsigned if...
...
* c-typeck.c (build_binary_op): Warn about comparing signed vs
unsigned if -W is specified and -Wno-sign-compare is not.
* c-decl.c (warn_sign_compare): Initialize to -1.
(c_decode_option): -Wall no longer implies -Wsign-compare.
From-SVN: r15739
1997-09-26 21:46:35 -06:00
Andreas Schwab
3ba104945b
integrate.c (expand_inline_function): Make sure there is at least one insn that can be used as an insertion point.
...
* integrate.c (expand_inline_function): Make sure there is at
least one insn that can be used as an insertion point.
From-SVN: r15738
1997-09-26 21:42:59 -06:00
Andreas Schwab
b9620d0e58
decl.c (init_decl_processing): Declare __builtin_constant_p as accepting any kind of type, not only int.
...
1997-09-25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* decl.c (init_decl_processing): Declare __builtin_constant_p as
accepting any kind of type, not only int.
From-SVN: r15734
1997-09-26 11:59:35 -04:00
Jason Merrill
cc1c702f8c
update
...
From-SVN: r15733
1997-09-26 11:50:51 -04:00
Jason Merrill
1052cd6573
search.c (get_matching_virtual): Notice virtual bases when sorrying about covariant returns.
...
* search.c (get_matching_virtual): Notice virtual bases when sorrying
about covariant returns.
From-SVN: r15732
1997-09-26 11:42:46 -04:00
Jason Merrill
c2b9a5c49d
never mind
...
From-SVN: r15731
1997-09-26 11:39:41 -04:00
Jason Merrill
318e85cf8d
add
...
From-SVN: r15721
1997-09-26 03:40:44 -04:00
Jason Merrill
405a745b2e
parse.y (member_init): Also imply typename here.
...
* parse.y (member_init): Also imply typename here. Remove ancient
extension for initializing base members.
From-SVN: r15720
1997-09-26 03:24:48 -04:00
Jason Merrill
1e60a96e07
fix thinko
...
From-SVN: r15719
1997-09-26 03:03:44 -04:00
Jason Merrill
3055528c86
add
...
From-SVN: r15718
1997-09-25 23:13:35 -04:00
Jason Merrill
5a4a879c40
bastring.h: Enable exceptions.
...
* std/bastring.h: Enable exceptions.
(assign, append, insert, replace): Implement member template versions.
* tstring.cc: Add some tests for the member templates.
From-SVN: r15717
1997-09-25 23:01:01 -04:00
Jason Merrill
896470e737
update
...
From-SVN: r15716
1997-09-25 21:38:04 -04:00
Jason Merrill
653cc74afc
Handle multi-level typenames and implicit typename in base list.
...
* parse.y (typename_sub{,[0-2]}): New rules.
(structsp, rule TYPENAME_KEYWORD): Use typename_sub.
(nonnested_type): New rule.
(complete_type_name): Use it.
(base_class.1): Use typename_sub and nonnested_type.
(nested_name_specifier): Don't elide std:: here.
* decl.c (make_typename_type): Handle getting a type for NAME.
(lookup_name_real): Turn std:: into :: here.
Rvalue conversions were removed in London.
* call.c (is_subseq): Don't consider lvalue transformations.
(build_conv): LVALUE_CONV and RVALUE_CONV get IDENTITY_RANK.
(joust): Reenable ?: kludge.
From-SVN: r15715
1997-09-25 14:56:40 -04:00
Doug Evans
6d4312ddbf
Add docs for sparc -malign-{jumps,loops,functions}.
...
Fix typo in i386 -malign-functions docs.
Brought over from FSF.
From-SVN: r15714
1997-09-25 15:57:01 +00:00
Jason Merrill
c5cec899dd
dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
...
* dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
* final.c (final_end_function): Also do dwarf2 thing if
DWARF2_DEBUGGING_INFO.
(final_start_function): Likewise.
From-SVN: r15713
1997-09-25 00:57:50 -04:00
Jeffrey A Law
e166cb188a
Bump for snapshot.
...
From-SVN: r15710
1997-09-24 22:10:25 -06:00
Doug Evans
01a94cba00
sparc stuff brought over from fsf.
...
From-SVN: r15709
1997-09-25 01:15:30 +00:00
Doug Evans
1ccfa253c9
sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
...
* sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
(TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
-malign-functions=.
(sparc_align_{loops,jumps,funcs}_string): Declare.
(sparc_align_{loops,jumps,funcs}): Declare.
(DEFAULT_SPARC_ALIGN_FUNCS): New macro.
(FUNCTION_BOUNDARY): Use sparc_align_funcs.
(STACK_BIAS): Define.
(SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
test.
(SPARC_SETHI_P): New macro.
(CONST_OK_FOR_LETTER_P): Use it.
(ASM_OUTPUT_ALIGN_CODE): Define.
(ASM_OUTPUT_LOOP_ALIGN): Define.
* sparc.h (ASM_COMMENT_START): Define.
* sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
ascii form as well.
From-SVN: r15708
1997-09-25 01:14:03 +00:00
Doug Evans
96987e9648
sparc.c (dwarf2out_cfi_label): Add declaration.
...
* sparc.c (dwarf2out_cfi_label): Add declaration.
(save_regs, output_function_prologue): Remove cast for it.
(sparc_flat_{save_restore,output_function_prologue): Likewise.
({save,restore}_regs): No longer inline.
From-SVN: r15707
1997-09-25 01:10:47 +00:00
Doug Evans
bf62bbf1bc
sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
...
* sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
* sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
(sparc_align_{loops,jumps,funcs}): New globals.
(sparc_override_options): Handle -malign-loops=, -malign-jumps=,
-malign-functions=.
(move_operand): Use SPARC_SETHI_P.
(arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
perform test.
(arith11_double_operand): Likewise.
(arith10_double_operand): Likewise.
(finalize_pic): Finish sparc64 support.
(emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of
64 bit constants if able.
(output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
(sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
! TARGET_FPU.
* sparc.h (ASM_COMMENT_START): Define.
* sparc.c (output_function_prologue): Use it.
(sparc_flat_output_function_{epi,pro}logue): Likewise.
From-SVN: r15706
1997-09-25 01:09:41 +00:00
Doug Evans
5d4f5e8767
sparc.md (*): Use GEN_INT instead of gen_rtx.
...
* sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
(get_pc_sp32): Use for sparc64 as well.
(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
(sethi_di_sp64_const): Likewise.
(movtf_cc_sp64): Check TARGET_HARD_QUAD.
(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
(ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
From-SVN: r15705
1997-09-25 01:03:13 +00:00
Doug Evans
26b551afd8
Regenerate.
...
From-SVN: r15704
1997-09-25 00:59:12 +00:00
Doug Evans
2334126e71
configure.in (sparc64-*-linux*): Recognize.
...
* configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h
to xm_file list on 32-bit sparc-linux.
From-SVN: r15703
1997-09-25 00:55:32 +00:00
Doug Evans
6f7423f547
* glimits.h (LONG_MAX): Handle sparc64.
...
From-SVN: r15702
1997-09-25 00:50:38 +00:00
Doug Evans
d98cda2239
* config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
...
From-SVN: r15701
1997-09-25 00:49:27 +00:00
Doug Evans
bbfbedb141
xm-linux.h: Include some standard headers if not inhibit_libc.
...
* sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
Don't include xm-sparc.h.
From-SVN: r15700
1997-09-25 00:44:26 +00:00
Doug Evans
18b14bd816
Sync with fsf version.
...
From-SVN: r15699
1997-09-25 00:41:02 +00:00
Doug Evans
a120a9eaa7
sysv4.h (ASM_COMMENT_START): Delete.
...
* sparc/sysv4.h (ASM_COMMENT_START): Delete.
* sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
use sparc.h's copies.
From-SVN: r15698
1997-09-25 00:38:04 +00:00
Doug Evans
0286bd98f3
linux-aout.h (COMMENT_BEGIN): Delete.
...
* sparc/linux-aout.h (COMMENT_BEGIN): Delete.
* sparc/linux.h (COMMENT_BEGIN): Likewise.
Bring over from FSF.
From-SVN: r15697
1997-09-25 00:33:48 +00:00
Jim Wilson
5a5e9503b2
Fix typo in hjl ChangeLog entry.
...
From-SVN: r15689
1997-09-24 15:31:10 -07:00
Jason Merrill
3041f77a20
update
...
From-SVN: r15687
1997-09-24 00:51:57 -04:00
Jeff Law
5dceb6d28e
new test (already in c-torture)
...
From-SVN: r15685
1997-09-23 15:20:32 -06:00
Doug Evans
bfe8701346
New files for sparc64-linux port.
...
From-SVN: r15679
1997-09-23 18:41:47 +00:00
Jeff Law
ce2157a1a9
fold-const.c (make_range): Correctly handle cases of converting from unsigned to signed type.
...
* fold-const.c (make_range): Correctly handle cases of converting
from unsigned to signed type.
* fold-const.c (merge_ranges): Make sure that if one range is subset
of another, it will always be the second range. Correct (+,-) case to
account for this.
Brought over from gcc2; fixes sparc bug.
From-SVN: r15678
1997-09-23 12:35:51 -06:00
Doug Evans
4bc8c3c116
New files for sparc64-linux port.
...
From-SVN: r15675
1997-09-23 18:33:32 +00:00
David S. Miller
e13a25d5a3
expmed.c (expand_divmod): If compute_mode is not the same as mode...
...
* expmed.c (expand_divmod): If compute_mode is not the same as
mode, handle the case where convert_modes() causes op1 to no
longer be a CONST_INT.
From-SVN: r15672
1997-09-23 01:25:25 -06:00
Alexandre Oliva
4fd10464e7
Forgot to commit.
...
From-SVN: r15671
1997-09-23 01:19:31 -06:00
David S. Miller
c107334d5c
reorg.c (dbr_schedule): At end of this pass...
...
* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
note holding get_jump_flags() calculation to all JUMP_INSNs.
* rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
* rtl.c (reg_note_name): Add new note types.
From-SVN: r15670
1997-09-23 01:14:07 -06:00