Compare commits

...

320 Commits

Author SHA1 Message Date
No Author
5108d207ce This commit was manufactured by cvs2svn to create tag
'egcs_1_1_1_prerelease'.

From-SVN: r23487
1998-11-01 10:38:50 +00:00
Jeff Law
0b9db4a2b3 Version # tweaks...
From-SVN: r23486
1998-11-01 03:38:50 -07:00
Jeffrey A Law
ffabfd9ea6 linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time.
* i386/linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time.
        * From Christian Gafton:
        * i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
        * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
        * sparc/linux64.h (CPP_PREDEFIENS): Add -D__sparc__.

From-SVN: r23484
1998-11-01 03:13:01 -07:00
Jeffrey A Law
987fbe99b4 jump.c (jump_optimize): Initialize mappings from INSN_UID to EH region if...
* jump.c (jump_optimize): Initialize mappings from INSN_UID to
	EH region if exceptions are enabled and we're performing cross
	jump optimizations.
	(find_cross_jump): Exit loop if the insns are in different EH regions.

From-SVN: r23462
1998-10-30 16:41:35 -07:00
Martin v. Löwis
b98e367abb * search.c (my_tree_cons): Reimplement.
From-SVN: r23452
1998-10-29 21:50:43 -05:00
Peter Jakubek
37c62b687e *** empty log message ***
From-SVN: r23448
1998-10-29 16:59:55 -07:00
Peter Jakubek
e5cd1d8212 m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
�
        * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.

From-SVN: r23447
1998-10-29 16:59:49 -07:00
Jason Merrill
59c06042bd decl.c (finish_enum): Also set TYPE_SIZE_UNIT.
* decl.c (finish_enum): Also set TYPE_SIZE_UNIT.
	* class.c (finish_struct_bits): Likewise.

From-SVN: r23437
1998-10-29 16:43:52 -05:00
Jason Merrill
d59f13370c * alpha/linux.h (CPP_PREDEFINES): Add missing space.
From-SVN: r23426
1998-10-29 07:17:16 -05:00
Jason Merrill
da0f17e241 class.c (finish_struct_1): Don't complain about non-copy assignment ops in union members.
* class.c (finish_struct_1): Don't complain about non-copy
	assignment ops in union members.
	* class.c (build_vtable): Don't pass at_eof to import_export_vtable.
	(prepare_fresh_vtable): Likewise.
	(finish_struct_1): Don't call import_export_class.
	* decl2.c (finish_vtable_vardecl): Do import/export stuff.
	(finish_prevtable_vardecl): Lose.
	(finish_file): Don't call it.
	* pt.c (instantiate_class_template): Likewise.

From-SVN: r23411
1998-10-28 15:36:04 -05:00
David Edelsohn
b6d4d48091 collect2.c (aix64_flag): New variable.
* collect2.c (aix64_flag): New variable.
        (main, case 'b'): Parse it.
        (GCC_CHECK_HDR): object magic number must match mode.
        (scan_prog_file): Only check for shared object if valid header.
        Print debugging if header/mode mismatch.
        * README.RS6000: Update.

From-SVN: r23408
1998-10-28 12:18:09 -07:00
Jeff Law
ec7bdb51e5 Commit to distinguish between egcs-1.1 and egcs-1.1.1 pre-releases
From-SVN: r23407
1998-10-28 12:05:28 -07:00
Jason Merrill
49a158b7d2 expr.c (pending_chain): Move up.
* expr.c (pending_chain): Move up.
	(save_expr_status): Do save pending_chain.
	(restore_expr_status): And restore it.
	* function.h (struct function): Add pending_chain.

From-SVN: r23360
1998-10-26 19:05:30 -05:00
Jason Merrill
c65b5ad8c4 stmt.c (expand_fixup): Set fixup->before_jump to a NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
* stmt.c (expand_fixup): Set fixup->before_jump to a
	NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.

From-SVN: r23328
1998-10-25 16:54:41 -07:00
David Edelsohn
3d3d534c98 va-ppc.h (va_arg): longlong types in overflow area are not doubleword aligned.
* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
        not doubleword aligned.

From-SVN: r23323
1998-10-25 10:36:42 -07:00
Jason Merrill
54659c296e parse.y (condition): Convert VAR_DECL from reference to indirect reference.
* parse.y (condition): Convert VAR_DECL from reference to indirect
	reference.
	* decl2.c (validate_nonmember_using_decl): Fix using-directives of
	std if std is ignored.
	* method.c (build_decl_overload_real): Clear
	numeric_output_need_bar after __.
	* decl.c (cp_finish_decl): Make statics in extern inlines and
	templates common, if possible and the target doesn't support weak
	symbols.
	* decl2.c (merge_functions): Remove duplicates.
	* typeck.c (build_conditional_expr): Only fold if ifexp is an
	INTEGER_CST.

From-SVN: r23322
1998-10-25 12:35:47 -05:00
Gavin Romig-Koch
9b5cd76775 typeck.c (c_expand_return): Handle the case that valtype is wider than the functions return type.
* typeck.c (c_expand_return): Handle the case that valtype
	is wider than the functions return type.

From-SVN: r23321
1998-10-25 11:54:35 -05:00
Jason Merrill
bdb43221de tinfo2.cc (fast_compare): Remove.
* tinfo2.cc (fast_compare): Remove.
	(before): Just use strcmp.
	* tinfo.cc (operator==): Just use strcmp.
	* inc/typeinfo: Add #pragma interface.
	(operator!=): Just call operator==.
	* tinfo.cc: Add #pragma implementation.
	(operator==): Move from inc/typeinfo and tinfo2.cc.

From-SVN: r23320
1998-10-25 11:52:48 -05:00
Mumit Khan
5e6bc4bf15 crtdll.h (CPP_PREDEFINES): Fix typo.
(
        * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
        * i386/mingw32.h (CPP_PREDEFINES): Likewise.

From-SVN: r23294
1998-10-25 04:10:17 -07:00
Mumit Khan
181ff70208 crtdll.h (CPP_PREDEFINES): Fix typo.
�
        * i386/crtdll.h (CPP_PREDEFINES): Fix typo.
        * i386/mingw32.h (CPP_PREDEFINES): Likewise.

From-SVN: r23293
1998-10-25 04:10:12 -07:00
David Edelsohn
9854a9c835 rs6000.md (movsf): Disable explicit secondary-reload-like functionality if TARGET_POWERPC64.
* rs6000.md (movsf): Disable explicit secondary-reload-like
        functionality if TARGET_POWERPC64.
        (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
        functionality.

From-SVN: r23266
1998-10-23 15:43:57 -06:00
Jeffrey A Law
7c668de308 m68k.md (5200 movqi): Do not allow byte sized memory references using address regs.
* m68k.md (5200 movqi): Do not allow byte sized memory references
        using address regs.
        * m68k.c (output_move_qimode): Do not use byte sized operations on
        address registers.

From-SVN: r23265
1998-10-23 15:41:12 -06:00
Robert Lipe
4f2756c71f * config.guess: Match any version of Unixware7.
From-SVN: r23264
1998-10-23 15:26:33 -06:00
Geoff Keating
aaae7cecd6 loop.c (scan_loop): Be more selective about what invariants are moved out of a loop.
* loop.c (scan_loop): Be more selective about what invariants are
        moved out of a loop.

From-SVN: r23179
1998-10-19 06:24:48 -06:00
Jason Merrill
a0d9528b3a * method.c (hack_identifier): Just return a member function.
From-SVN: r23163
1998-10-18 12:34:26 -04:00
Jason Merrill
434233dea5 spew.c (yylex): Clear looking_for_typename if we got 'enum { ...
* spew.c (yylex): Clear looking_for_typename if we got
	'enum { ... };'.
Fixes WIFEXITED.

From-SVN: r23112
1998-10-15 08:01:10 -04:00
Didier FORT
4fc4344dd0 fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
(
        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23102
1998-10-14 16:30:14 -06:00
Didier FORT
1a57e9a998 fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
�
        * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.

From-SVN: r23101
1998-10-14 16:30:10 -06:00
Joel Sherrill
f613cfa45b Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
        * config/t-rtems: Do not install assert.h -- use newlib's.

From-SVN: r23098
1998-10-14 15:54:37 -06:00
Dave Love
bd0698a1c5 g77.texi: Various updates.
1998-10-09  Dave Love  <d.love@dl.ac.uk>
	* g77.texi:  Various updates.

From-SVN: r22960
1998-10-09 11:19:07 +00:00
Dave Love
424a57f356 com.c (ffecom_expr_intrinsic_): Fix return type for RAND.
1998-10-02  Dave Love  <d.love@dl.ac.uk>
       * com.c (ffecom_expr_intrinsic_): Fix return type for RAND.

From-SVN: r22916
1998-10-08 06:34:36 +00:00
Richard Henderson
14748a7df6 * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
From-SVN: r22797
1998-10-03 12:06:32 -07:00
Jeff Law
16b4d4c610 regclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.
8
        * regclass.c (reg_scan_mark_refs): Return immediately if passed a
        NULL_RTX as an argument.

From-SVN: r22743
1998-10-01 19:35:36 -06:00
Jeff Law
30461a931e regclass.c (reg_scan_mark_refs): Return immediately if passed a NULL_RTX as an argument.
@
        * regclass.c (reg_scan_mark_refs): Return immediately if passed a
        NULL_RTX as an argument.

From-SVN: r22742
1998-10-01 19:35:32 -06:00
Mumit Khan
51e8c352b3 parse.y (nomods_initdcl0): Set up the parser stack correctly.
* parse.y (nomods_initdcl0): Set up the parser stack correctly.

From-SVN: r22738
1998-10-01 19:09:36 -06:00
Jim Wilson
0435ef254f winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
* i386/winnt.c (i386_pe_asm_file_end): Check
        TREE_SYMBOL_REFERENCED.

From-SVN: r22735
1998-10-01 18:35:17 -06:00
Jeffrey A Law
f12e6e0d5c * gcc.texi: Fix version # that somehow slipped through.
From-SVN: r22734
1998-10-01 18:33:54 -06:00
Gerald Pfeifer
aa41a5afa0 README: Remove installation instructions and refer to the INSTALL directory instead.
* README: Remove installation instructions and refer to the
        INSTALL directory instead.

From-SVN: r22733
1998-10-01 18:30:54 -06:00
Kamil Iskra
f043b51f6b Makefile.in (install): Add missing "else true;".
�
        * Makefile.in (install): Add missing "else true;".

From-SVN: r22732
1998-10-01 18:29:06 -06:00
Kamil Iskra
cd22039ac0 * Make-lang.in (f77.install-common): Add missing "else true;".
From-SVN: r22731
1998-10-01 18:28:34 -06:00
Geoff Keating
34d5548803 gcse.c: New definition NEVER_SET for reg_first_set...
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
        mem_first_set, mem_last_set; because 0 can be a CUID.
        (oprs_unchanged_p): Use new definition.
        (record_last_reg_set_info): Likewise.
        (record_last_mem_set_info): Likewise.
        (compute_hash_table): Likewise.

From-SVN: r22730
1998-10-01 18:26:21 -06:00
Richard Earnshaw
0b8b4eac13 arm.c (add_constant): New parameter address_only, change caller.
* arm.c (add_constant): New parameter address_only, change caller.
        Set it non-zero if taking the address of an item in the pool.
        (arm_reorg): Handle cases where we need the address of an item in
        the pool.
        * arm.c (bad_signed_byte_operand): Check both arms of a sum in
        a memory address.
        * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
        memory addresses that are not in standard canonical form.

From-SVN: r22729
1998-10-01 18:22:05 -06:00
Jeff Law
77ad537cca reg-stack.c (straighten_stack): Do nothing if the virtual stack is empty or has a single entry.
0
        * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
        empty or has a single entry.

From-SVN: r22728
1998-10-01 18:17:52 -06:00
Jeff Law
c13740d59b reg-stack.c (straighten_stack): Do nothing if the virtual stack is empty or has a single entry.
@
        * reg-stack.c (straighten_stack): Do nothing if the virtual stack is
        empty or has a single entry.

From-SVN: r22727
1998-10-01 18:17:49 -06:00
John Hughes
723228fae8 configure.in: Do not assume x86-svr4 or x86-unixware can handle stabs.
* configure.in: Do not assume x86-svr4 or x86-unixware can handle
        stabs.

From-SVN: r22726
1998-10-01 18:15:06 -06:00
Dave Love
18ad46b1a5 open.c: Back out part of last Netlib update affecting scratch files which clashed with...
1998-09-28  Dave Love  <d.love@dl.ac.uk>
	* libI77/open.c: Back out part of last Netlib update affecting
	scratch files which clashed with the g77 variations and broke
	implicit endfile on rewind.

From-SVN: r22661
1998-09-30 02:59:33 +00:00
Dave Love
6382c3cdfd Version.c: Update.
1998-09-21  Dave Love  <d.love@dl.ac.uk>
	* libI77/Version.c: Update.

From-SVN: r22523
1998-09-21 11:12:10 +00:00
Dave Love
53a5e77d1c Update.
From-SVN: r22522
1998-09-21 11:11:31 +00:00
Dave Love
a60e231528 Fix last entry.
From-SVN: r22497
1998-09-20 10:55:23 +00:00
Jeffrey A Law
3899a85cc6 * news.texi: Tweaks from Craig.
From-SVN: r22282
1998-09-05 16:56:31 -06:00
Mumit Khan
f40b7dfe81 cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for for exact section attributions.
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
        for exact section attributions.
        * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
        runtime.
        * i386/crtdll.h (CPP_PREDEFINES): Define.
Fixes for egcs-1.1.1 from Mumit.

From-SVN: r22280
1998-09-05 16:31:33 -06:00
Jeff Law
bf961e84bf Tweaks from Craig.
From-SVN: r22278
1998-09-05 16:22:39 -06:00
Craig Burley
0240581e23 dfe.c (e_rdfe): Restore resetting of f__init before returning...
8
	* libI77/dfe.c (e_rdfe): Restore resetting of f__init
	before returning, to avoid spurious recursive-I/O
	diagnostic.

From-SVN: r22276
1998-09-05 16:14:46 -06:00
Craig Burley
649e3d0e84 dfe.c (e_rdfe): Restore resetting of f__init before returning...
a
	* libI77/dfe.c (e_rdfe): Restore resetting of f__init
	before returning, to avoid spurious recursive-I/O
	diagnostic.

From-SVN: r22275
1998-09-05 16:14:45 -06:00
Jeff Law
a4343d2b64 Really delete it.
From-SVN: r22274
1998-09-05 16:11:14 -06:00
Richard Henderson
26c24ab4aa alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence, not whatever we're generating now.
* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
        not whatever we're generating now.

From-SVN: r22272
1998-09-05 14:32:20 -07:00
Torbjorn Granlund
91b7921789 m68k.md (zero_extendsidi2): Fix typo.
�
        * m68k.md (zero_extendsidi2): Fix typo.

From-SVN: r22267
1998-09-05 07:27:42 -06:00
Torbjorn Granlund
8f026f7e70 m68k.md (zero_extendsidi2): Fix typo.
�
        * m68k.md (zero_extendsidi2): Fix typo.

From-SVN: r22266
1998-09-05 07:27:39 -06:00
Craig Burley
c013c0a093 Version.c: Update.
* libF77/Version.c: Update.
        * libU77/Version.c: Update.
        * libI77/Version.c: Update.

From-SVN: r22150
1998-09-01 03:07:47 -06:00
Craig Burley
7d20b493cb bugs.texi, [...]: Doc updates from Craig.
* bugs.texi, g77.1, g77.texi, intdoc.in, news.texi: Doc updates
        from Craig.
Too late for egcs-1.1, but installed so they'll be in minor releases.

From-SVN: r22149
1998-09-01 03:03:34 -06:00
Jeff Law
5cd60685eb * egcs-1.1 Released.
From-SVN: r22147
1998-08-31 19:00:59 -06:00
Jeffrey A Law
2ddb7e13cd * egcs-1.1 released.
* version.c: Update for egcs-1.1 release.

From-SVN: r22146
1998-08-31 19:00:30 -06:00
David Edelsohn
209b1e5408 * mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well.
From-SVN: r22143
1998-08-31 17:08:47 -06:00
Jeffrey A Law
58dac5b04b * NEWS: Add SCO Openserver and Unixware 7 notes.
From-SVN: r22142
1998-08-31 16:46:13 -06:00
Jeff Law
2e8824c51d NEWS: Fix typos.
�
        * NEWS: Fix typos.

From-SVN: r22134
1998-08-31 07:57:28 -06:00
Jeff Law
d65b06437c NEWS: Fix typos.
�
        * NEWS: Fix typos.

From-SVN: r22133
1998-08-31 07:57:25 -06:00
Jeff Law
02aaaeb171 Fix bump script clobberage.
From-SVN: r22097
1998-08-30 02:23:05 -06:00
Jeff Law
e891a0791e Daily bump.
From-SVN: r22096
1998-08-29 18:45:06 -06:00
David Edelsohn
0ee2047555 * configure.in: Use mh-aix43.
From-SVN: r22093
1998-08-29 15:39:47 -06:00
David Edelsohn
f2ed243b06 * mh-aix43: New file.
From-SVN: r22092
1998-08-29 15:39:18 -06:00
No Author
74eb05c6d7 This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r22091
1998-08-29 21:39:18 +00:00
David S. Miller
f67dd9ef7f sparc.md (movdf_insn, movtf_insn): Fix type and length attributes to match May 3rd changes made here.
* config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and
        length attributes to match May 3rd changes made here.
        * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make
        call-used %l7 when generating pic code.

From-SVN: r22089
1998-08-29 15:14:50 -06:00
Mumit Khan
0ecaed0792 cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit .linkonce directive after the first time.
0
        * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
        .linkonce directive after the first time.

From-SVN: r22084
1998-08-29 08:00:54 -06:00
Mumit Khan
66d642d7f0 cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit .linkonce directive after the first time.
(
        * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
        .linkonce directive after the first time.

From-SVN: r22083
1998-08-29 08:00:51 -06:00
Jeffrey A Law
3daee5797d m68k.md (beq0_di): Generate correct (and more efficient) code when...
* m68k.md (beq0_di): Generate correct (and more efficient) code when
        the clobbered operand overlaps with an input.
        (bne0_di): Similarly.
Fixes bug from m68k-netbsd folks.

From-SVN: r22081
1998-08-29 07:53:27 -06:00
Jeffrey A Law
ad59466b3e * NEWS: Various updates.
From-SVN: r22078
1998-08-29 05:40:12 -06:00
Jeff Law
6988a14b6d Update generated files.
Update generated files.  Change egcs-1.0 to egcs-1.1  in various places.  Tweak
version string.

From-SVN: r22074
1998-08-29 03:16:21 -06:00
Jeff Law
ebd4393cab Daily bump.
From-SVN: r22070
1998-08-28 18:45:05 -06:00
Jeff Law
1ef885eb44 Daily bump.
From-SVN: r22049
1998-08-27 18:45:07 -06:00
Jim Wilson
59401b4c89 configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
8
	* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
	(rs6000-ibm-aix4.[12]*): Likewise.
	* configure: Regnerate.

From-SVN: r22047
1998-08-27 18:19:06 -06:00
Jim Wilson
d8594fbb30 configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
(
	* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
	(rs6000-ibm-aix4.[12]*): Likewise.
	* configure: Regnerate.

From-SVN: r22046
1998-08-27 18:19:01 -06:00
Jeffrey A Law
4efdce9a33 reload1.c (forget_old_reloads_1): Keep track of the largest mode found while stripping SUBREGS and invalidate...
* reload1.c (forget_old_reloads_1): Keep track of the largest mode
        found while stripping SUBREGS and invalidate reloads for all the hard
        regs specified by that largest mode.  egcs-1.1 only hack.  The
        mainline tree will get a better fix.

From-SVN: r22041
1998-08-27 16:48:14 -06:00
Jeff Law
bed3c5f863 Daily bump.
From-SVN: r22016
1998-08-26 18:45:05 -06:00
Jeffrey A Law
9adfedd81e Makefile.in (FLAGS_TO_PASS): Fix typo.
* Makefile.in (FLAGS_TO_PASS): Fix typo.
Fix typo exposed by freebsd testing.

From-SVN: r22013
1998-08-26 16:21:06 -06:00
Jeff Law
22a42cf6ae Daily bump.
From-SVN: r21994
1998-08-25 18:45:05 -06:00
Dave Love
a568d90fe0 *** empty log message ***
From-SVN: r21989
1998-08-25 17:34:44 -06:00
Dave Love
bd27b3f849 g77.texi: Increment `version-g77' and fix a few typos.
�
	* g77.texi: Increment `version-g77' and fix a few typos.

From-SVN: r21988
1998-08-25 17:34:42 -06:00
Jeffrey A Law
e959ccc77b configure.in: Do not set thread_file to "irix" since no such support exists yet.
* From Alexandre:
        * configure.in: Do not set thread_file to "irix" since no such
        support exists yet.

From-SVN: r21984
1998-08-25 17:05:44 -06:00
Jeff Law
ae86b6f750 iogetline.c (_IO_getline_info): Don't read anything for N == 0.
(
        * libio/iogetline.c (_IO_getline_info): Don't read anything for
        N == 0.  Patch by HJ Lu.

From-SVN: r21980
1998-08-25 13:00:00 -06:00
Jeff Law
a7e1082cca iogetline.c (_IO_getline_info): Don't read anything for N == 0.
�
        * libio/iogetline.c (_IO_getline_info): Don't read anything for
        N == 0.  Patch by HJ Lu.

From-SVN: r21979
1998-08-25 12:59:59 -06:00
Jeff Law
3ecadfed1f reorg.c (fill_simple_delay_slots): Do not abort if we encounter an insn on the unfilled_slots_list that has no...
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
        an insn on the unfilled_slots_list that has no delay slots.
        (fill_eager_delay_slots): Similarly.
Fixes PA abort.
        * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
        when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
        (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
        * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
        (print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
        * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
        operand.
        (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
        'o' to 'm' for GPR variant constraints.
        * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
Various rs6000/ppc fixes from the mainline tree.

From-SVN: r21976
1998-08-25 12:48:21 -06:00
Jason Merrill
47908a7fca decl.c (duplicate_decls): Don't complain about different exceptions from an internal decl even if pedantic.
8
	* decl.c (duplicate_decls): Don't complain about different
	exceptions from an internal decl even if pedantic.

From-SVN: r21963
1998-08-25 03:47:30 -06:00
Jason Merrill
79d6aa2ea1 decl.c (duplicate_decls): Don't complain about different exceptions from an internal decl even if pedantic.
�
	* decl.c (duplicate_decls): Don't complain about different
	exceptions from an internal decl even if pedantic.

From-SVN: r21962
1998-08-25 03:47:27 -06:00
Jeff Law
41d6208d54 Daily bump.
From-SVN: r21957
1998-08-24 18:45:36 -06:00
Jeffrey A Law
0ac695d7bc Bump for snapshot
From-SVN: r21924
1998-08-23 19:21:45 -06:00
Jeff Law
20d60bcd58 Daily bump.
From-SVN: r21922
1998-08-23 18:45:06 -06:00
Jeff Law
b9caac5328 Daily bump.
From-SVN: r21913
1998-08-22 18:45:04 -06:00
Jeffrey A Law
92da8147ff * regmove.c (optimize_reg_copy_3): Disable for egcs-1.1.
From-SVN: r21911
1998-08-22 17:49:36 -06:00
Jeff Law
4eee0e38ed Daily bump.
From-SVN: r21903
1998-08-21 18:45:04 -06:00
Jeff Law
ef5c8fb753 Daily bump.
From-SVN: r21891
1998-08-20 18:45:06 -06:00
Michael Meissner
2b51506ca5 Include system.h, not stdio.h
From-SVN: r21875
1998-08-20 11:01:57 +00:00
Jeff Law
608eb7e38c Daily bump.
From-SVN: r21869
1998-08-19 18:45:05 -06:00
David Edelsohn
806e89e441 rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
�
        * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
        (output_toc): Use single TOC slot or llong minimal-toc for DFmode
        and DImode 64-bit.  Use llong for minimal-toc SFmode and
        SYMBOL_REF / LABEL_REF 64-bit.
        (output_function_profiler): Use llong for profiler label and ld to
        load 64-bit label address.

From-SVN: r21867
1998-08-19 17:44:53 -06:00
David Edelsohn
3fd153fe3d rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
        (output_toc): Use single TOC slot or llong minimal-toc for DFmode
        and DImode 64-bit.  Use llong for minimal-toc SFmode and
        SYMBOL_REF / LABEL_REF 64-bit.
        (output_function_profiler): Use llong for profiler label and ld to
        load 64-bit label address.

From-SVN: r21866
1998-08-19 17:44:50 -06:00
Jeff Law
aa27d43bcf Daily bump.
From-SVN: r21839
1998-08-18 18:45:05 -06:00
Richard Henderson
d68447e240 c-common.c (decl_attributes): Issue an error if the argument to alias is not a string.
* c-common.c (decl_attributes): Issue an error if the argument
        to alias is not a string.

From-SVN: r21837
1998-08-18 16:49:52 -06:00
Jeffrey A Law
628d51e164 haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last pending memory flush list.
* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
        pending memory flush list.

From-SVN: r21835
1998-08-18 15:57:14 -06:00
Jeffrey A Law
2cdd969f5e regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p on notes.
* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
        on notes.
Fixes testsuite regression on the H8.

From-SVN: r21829
1998-08-18 11:13:12 -06:00
Richard Earnshaw
48285f29f8 arm.c (arm_override_options): Remove lie about ignoring PIC flag.
* arm.c (arm_override_options): Remove lie about ignoring PIC flag.

From-SVN: r21821
1998-08-18 03:37:50 -06:00
Richard Earnshaw
75f22de8d3 arm.c (arm_override_options): Remove lie about ignoring PIC flag.
* arm.c (arm_override_options): Remove lie about ignoring PIC flag.

From-SVN: r21820
1998-08-18 03:37:46 -06:00
Jeffrey A Law
d9952eb363 regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED and REG_LIVE_LENGTH as successful substitutions are made.
* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
        and REG_LIVE_LENGTH as successful substitutions are made.

From-SVN: r21818
1998-08-18 03:33:54 -06:00
Jeff Law
6204c034f0 Daily bump.
From-SVN: r21815
1998-08-17 18:45:36 -06:00
Ulrich Drepper
d1a7313d87 strfile.h: Define __PMT if not already defined.
�
        * strfile.h: Define __PMT if not already defined.

From-SVN: r21811
1998-08-17 14:50:33 -06:00
Jeffrey A Law
a8a02b6aed * From Graham
* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
        to itype.
        * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.

From-SVN: r21809
1998-08-17 14:24:59 -06:00
Jeff Law
1cb35273de rs6000.c (secondary_reload_class): For TARGET_ELF...
�
        * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
        a BASE_REGS register is needed as an intermediate when copying
        a symbolic value into any register class other than BASE_REGS.

From-SVN: r21806
1998-08-17 14:09:31 -06:00
Jeff Law
0c87662cc5 rs6000.c (secondary_reload_class): For TARGET_ELF...
* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
        a BASE_REGS register is needed as an intermediate when copying
        a symbolic value into any register class other than BASE_REGS.

From-SVN: r21805
1998-08-17 14:09:28 -06:00
Richard Earnshaw
08bc73a937 arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling for architecture v4.
�
	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
	for architecture v4.

From-SVN: r21804
1998-08-17 13:45:14 -06:00
Richard Earnshaw
99d93a16d4 arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling for architecture v4.
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
	for architecture v4.

From-SVN: r21803
1998-08-17 13:45:11 -06:00
Mark Mitchell
3b7cc63e40 * stdexcept: Put things in the std namespace, if appropriate.
From-SVN: r21802
1998-08-17 13:37:12 -06:00
Mark Mitchell
4217bb1376 pt.c (check_explicit_specialization): Don't abort on bogus explicit instantiations.
* pt.c (check_explicit_specialization): Don't abort on bogus
	explicit instantiations.

From-SVN: r21780
1998-08-17 09:07:26 +00:00
Jeff Law
5aaf204851 Daily bump.
From-SVN: r21769
1998-08-16 18:45:06 -06:00
Jeffrey A Law
5fbbdd88ac Bump for snapshot
From-SVN: r21764
1998-08-15 18:57:52 -06:00
Richard Henderson
2651814314 reload.c (find_equiv_reg): Reject equivalences separated by a volatile instruction.
�
        * reload.c (find_equiv_reg): Reject equivalences separated
        by a volatile instruction.

From-SVN: r21761
1998-08-15 18:54:51 -06:00
Jeff Law
45440bb148 Daily bump.
From-SVN: r21759
1998-08-15 18:45:05 -06:00
Franz Sirl
ff67b46467 linux.h (CPP_OS_DEFAULT_SPEC): Define.
�
        * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.

From-SVN: r21756
1998-08-15 17:23:32 -06:00
Franz Sirl
db3527a701 linux.h (CPP_OS_DEFAULT_SPEC): Define.
�
        * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.

From-SVN: r21755
1998-08-15 17:23:29 -06:00
H.J. Lu
b0e79d590f alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated return type.
Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
        * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
        return type.
        * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.

From-SVN: r21750
1998-08-15 13:31:11 -07:00
Jeff Law
190160b847 Daily bump.
From-SVN: r21747
1998-08-14 18:45:05 -06:00
Jeffrey A Law
656ec0baba From Joern:
* expr.c (store_expr): Don't optimize away load-store pair
        when either source or destination have a side effect.

From-SVN: r21745
1998-08-14 18:41:25 -06:00
Jeffrey A Law
ad12176a6c loop.c (add_label_notes): Do not ignore references to labels before dispatch tables.
* loop.c (add_label_notes): Do not ignore references to labels
        before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
        * gcse.c (add_label_notes): Similarly.
Fixes abort building XEmacs on x86.

From-SVN: r21743
1998-08-14 18:32:21 -06:00
Jeffrey A Law
909ca86632 pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
Fixes testsuite regressions for the PA.

From-SVN: r21741
1998-08-14 16:27:06 -06:00
Jeff Law
8cbc1021b0 m68k.md (adddi_dilshr32): One of the operands must be a register.
H
        * m68k.md (adddi_dilshr32): One of the operands must be a register.
        (adddi_dishl32): Similarly.
Fixes egcs-1.1 regression.

From-SVN: r21737
1998-08-14 14:09:46 -06:00
Jeff Law
d3c9802f05 m68k.md (adddi_dilshr32): One of the operands must be a register.
* m68k.md (adddi_dilshr32): One of the operands must be a register.
        (adddi_dishl32): Similarly.
Fixes egcs-1.1 regression.

From-SVN: r21736
1998-08-14 14:09:43 -06:00
Jason Merrill
51c97c4c50 * rtti.c (get_tinfo_fn): Don't mess with the context for now.
From-SVN: r21729
1998-08-14 07:03:01 -04:00
Alexandre Oliva
c8d78be0ae test_installed: new script for testing already-installed
* test_installed: new script for testing already-installed
 	gcc/g++/g77

From-SVN: r21727
1998-08-14 10:08:51 +00:00
Mumit Khan
be31dbfab9 cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
�
        * i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.

From-SVN: r21721
1998-08-13 18:46:15 -06:00
Jeff Law
5e3a0ff9f2 Daily bump.
From-SVN: r21720
1998-08-13 18:45:05 -06:00
Geoff Keating
4925058ac1 * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
From-SVN: r21718
1998-08-13 18:42:36 -06:00
Richard Earnshaw
ad0b58639b netbsd.h (TARGET_DEFAULT): Default includes software floating point.
* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
        point.
        (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.

From-SVN: r21713
1998-08-13 18:28:17 -06:00
Jeffrey A Law
779b41e13f README.RS6000: Bring over dje's changes from the mainline source tree.
* README.RS6000: Bring over dje's changes from the mainline
        source tree.

From-SVN: r21712
1998-08-13 18:24:44 -06:00
Robert Lipe
046542bf6f install.texi: Various SCO OpenServer tweaks.
8
        * install.texi: Various SCO OpenServer tweaks.

From-SVN: r21711
1998-08-13 18:21:37 -06:00
Robert Lipe
1c5004b28b install.texi: Various SCO OpenServer tweaks.
�
        * install.texi: Various SCO OpenServer tweaks.

[[Split portion of a mixed commit.]]

From-SVN: r21710.1
1998-08-13 18:21:34 -06:00
H.J. Lu
ceac010168 * Make-lang.in (g77.o): Touch lang-f77 before checking it.
From-SVN: r21707
1998-08-13 18:18:23 -06:00
Jim Wilson
7817454ead reload1.c (eliminate_regs_in_insn): Handle another case when eliminating the frame pointer to the hard frame pointer.
* reload1.c (eliminate_regs_in_insn): Handle another case when
        eliminating the frame pointer to the hard frame pointer.  Add
        missing ep->to_rtx check to one existing case.

From-SVN: r21706
1998-08-13 18:14:41 -06:00
Mumit Khan
51800ea362 decl2.c (import_export_class): Don't use dllexport attribute as a heuristic.
* decl2.c (import_export_class): Don't use dllexport
	attribute as a heuristic.

From-SVN: r21703
1998-08-13 14:25:04 -04:00
Alexandre Oliva
78ea33e5a9 * test_summary: assigned copyright to FSF
From-SVN: r21695
1998-08-13 11:39:19 +00:00
Alexandre Oliva
4b64acaca3 * test_summary: assigned copyright to FSF
From-SVN: r21694
1998-08-13 11:25:17 +00:00
Jeff Law
4c06b5a6fc Daily bump.
From-SVN: r21693
1998-08-12 18:45:06 -06:00
Gerald Pfeifer
f90d7c6537 * egcs_update: Assigned copyright to FSF.
From-SVN: r21683
1998-08-12 11:03:12 +00:00
Jeff Law
3b28278748 Daily bump.
From-SVN: r21680
1998-08-11 18:45:06 -06:00
Dave Love
b740e0621a README.g77: Update from Craig.
Tue Aug 11 17:45:39 1998  Dave Love  <d.love@dl.ac.uk>
	* README.g77: Update from Craig.

From-SVN: r21670
1998-08-11 09:48:20 +00:00
Dave Love
40b024d82a README: Update from Craig.
1998-08-11  Dave Love  <d.love@dl.ac.uk>
	* README: Update from Craig.

From-SVN: r21669
1998-08-11 09:42:57 +00:00
Gerald Pfeifer
5ed54e2adf egcs_update: New switch --nostdflags and documentation enhancements.
* egcs_update: New switch --nostdflags and documentation
	enhancements.

Co-Authored-By: Alexandre Oliva <oliva@dcc.unicamp.br>

From-SVN: r21668
1998-08-11 09:06:04 +00:00
Gerald Pfeifer
00c53999b9 * egcs_update: New script.
From-SVN: r21666
1998-08-11 08:43:46 +00:00
No Author
8e15238813 This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r21665
1998-08-11 08:43:46 +00:00
Jeff Law
b880bf9671 Daily bump.
From-SVN: r21661
1998-08-10 18:45:05 -06:00
Jeff Law
d6a9b88918 Daily bump.
From-SVN: r21650
1998-08-09 18:45:05 -06:00
HJ Lu
4aa8d78b5c mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.
* mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.

From-SVN: r21646
1998-08-09 17:16:35 -06:00
HJ Lu
33b6a84f7c mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.
�
        * mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.

From-SVN: r21645
1998-08-09 17:16:34 -06:00
Dave Love
1ec0787f33 Make-lang.in (f/g77.dvi): Replace non-working use of texi2dvi with explicit use of tex.
1998-08-09  Dave Love  <d.love@dl.ac.uk>
	* Make-lang.in (f/g77.dvi): Replace non-working use of texi2dvi
	with explicit use of tex.
	(f77.mostlyclean): Remove TeX index files.
	* g77install.texi (Prerequisites): Kluge round TeX lossage with
	hyphen in @value in @code.

From-SVN: r21641
1998-08-09 03:51:31 +00:00
Jeff Law
43dee8707d Daily bump.
From-SVN: r21640
1998-08-08 18:45:05 -06:00
Gary Thomas
73e40266c1 0
* rs6000.c (rs6000_allocate_stack_space) Fix typo which
        caused bad assembly code to be generated.

From-SVN: r21636
1998-08-08 12:21:15 -06:00
Gary Thomas
61d3c798b0
* rs6000.c (rs6000_allocate_stack_space) Fix typo which
        caused bad assembly code to be generated.

From-SVN: r21635
1998-08-08 12:21:12 -06:00
Jeffrey A Law
5f1ac55e0e * netbsd.h: Fix typo.
From-SVN: r21633
1998-08-08 11:53:26 -06:00
Jeff Law
aa2190502f libioP.h: Use __PMT in typedefs.
* libioP.h: Use __PMT in typedefs.
        * strfile.h: Likewise.

From-SVN: r21632
1998-08-08 11:50:48 -06:00
Jeff Law
43787558d6 libioP.h: Use __PMT in typedefs.
(
        * libioP.h: Use __PMT in typedefs.
        * strfile.h: Likewise.

From-SVN: r21631
1998-08-08 11:50:47 -06:00
Jeff Law
7cb3632945 libioP.h: Use __PMT in typedefs.
�
        * libioP.h: Use __PMT in typedefs.
        * strfile.h: Likewise.

From-SVN: r21630
1998-08-08 11:50:46 -06:00
Jeff Law
6b1fd5bddb Daily bump.
From-SVN: r21629
1998-08-07 18:45:05 -06:00
Gerald Pfeifer
d08d97e74b Add myself, as per Jeff Law's request.
From-SVN: r21625
1998-08-07 02:59:28 +00:00
Jeff Law
8e79adb65d Daily bump.
From-SVN: r21624
1998-08-06 18:45:05 -06:00
Jeff Law
e2522337dc Daily bump.
From-SVN: r21620
1998-08-05 18:45:05 -06:00
Dave Love
f70ddf2279 com.c (ffecom_convert_narrow_, [...]): Allow conversion from pointer to same-sized integer...
Tue Aug  4 16:59:39 1998  Craig Burley  <burley@gnu.org>
	* com.c (ffecom_convert_narrow_, ffecom_convert_widen_):
	Allow conversion from pointer to same-sized integer,
	to fix invoking SIGNAL as a function.

[[Split portion of a mixed commit.]]

From-SVN: r21617.1
1998-08-05 11:19:05 +00:00
Craig Burley
394959aab7 com.c (ffecom_convert_narrow_, [...]): Allow conversion from pointer to same-sized integer...
Tue Aug  4 16:59:39 1998  Craig Burley  <burley@gnu.org>
	* com.c (ffecom_convert_narrow_, ffecom_convert_widen_):
	Allow conversion from pointer to same-sized integer,
	to fix invoking SIGNAL as a function.

From-SVN: r21616
1998-08-05 11:04:19 +00:00
Jeff Law
3f2404487b Daily bump.
From-SVN: r21612
1998-08-04 18:45:05 -06:00
Jeff Law
22a44c7c45 Daily bump.
From-SVN: r21555
1998-08-03 18:45:05 -06:00
Jeffrey A Law
49a7f1f269 Bump for snapshot
From-SVN: r21552
1998-08-03 17:43:59 -06:00
Jeff Law
67e7228d2e Daily bump.
From-SVN: r21547
1998-08-02 18:45:05 -06:00
Jeff Law
7b3febb3a8 Daily bump.
From-SVN: r21527
1998-08-01 18:45:06 -06:00
Jeff Law
1e2ff7a752 x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
        (AR_FOR_TARGET): Define.

From-SVN: r21525
1998-08-01 18:16:32 -06:00
Jeff Law
99a87146bd x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
        (AR_FOR_TARGET): Define.

From-SVN: r21524
1998-08-01 18:16:30 -06:00
Jeff Law
a25aaee8c4 netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
�
        * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
        * m68k/netbsd.h: Likewise.
        * ns32k/netbsd.h: Likewise.
        * sparc/netbsd.h: Likewise.

From-SVN: r21521
1998-08-01 17:44:39 -06:00
Jeff Law
3c1858da07 netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
x
        * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
        * m68k/netbsd.h: Likewise.
        * ns32k/netbsd.h: Likewise.
        * sparc/netbsd.h: Likewise.

From-SVN: r21520
1998-08-01 17:44:36 -06:00
Jeff Law
beded638ab netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
        * m68k/netbsd.h: Likewise.
        * ns32k/netbsd.h: Likewise.
        * sparc/netbsd.h: Likewise.

From-SVN: r21519
1998-08-01 17:44:31 -06:00
Jeffrey A Law
4cabac59eb configure.in (mingw configuration): Fix typo.
* configure.in (mingw configuration): Fix typo.
        * configure: Rebuilt.

From-SVN: r21517
1998-08-01 03:45:57 -06:00
Jeff Law
ea4fbd5c33 Daily bump.
From-SVN: r21513
1998-07-31 18:45:05 -06:00
Michael Meissner
0a767371a5 If -Os use load/store multiple instructions
From-SVN: r21510
1998-07-31 17:28:14 +00:00
Jeff Law
6f604907f9 netbsd.h: Fix typo.
�
        * ns32k/netbsd.h: Fix typo.

From-SVN: r21509
1998-07-31 10:12:22 -06:00
Jeff Law
1bf1505a96 netbsd.h: Fix typo.
�
        * ns32k/netbsd.h: Fix typo.

From-SVN: r21508
1998-07-31 10:12:19 -06:00
Jeff Law
53287e7a99 Daily bump.
From-SVN: r21503
1998-07-30 18:45:05 -06:00
Richard Henderson
6efbfd6c37 alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
        (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.

From-SVN: r21500
1998-07-30 12:12:16 -07:00
Mark Mitchell
e6d503f412 dyn-string.h: New file.
* dyn-string.h: New file.
	* dyn-string.c: Likewise.
	* Makefile.in (OBJS): Add dyn-string.o.
	(dwarf2out.o): Add dyn-string.h dependency.
	(dyn-string.o): List dependencies.
	* dwarf2out.c: Include dyn-string.h.
	(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
	(addr_const_to_string): Take a dyn_string_t, not a char* as a
	prototype.  Use dyn_string_append rather than strcat, throughout.
	(addr_to_string): Use dyn_string_t.

From-SVN: r21498
1998-07-30 12:52:18 +00:00
No Author
5889cbd757 This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r21497
1998-07-30 12:52:18 +00:00
Jeff Law
54b12f20bf Daily bump.
From-SVN: r21494
1998-07-29 18:45:05 -06:00
Jeff Law
75fca0669c i386.md (movqi): When optimizing a load of (const_int 1) into a NON_QI_REG_P...
8
        * i386.md (movqi): When optimizing a load of (const_int 1) into a
        NON_QI_REG_P, pretend the register is SImode.

From-SVN: r21492
1998-07-29 18:01:35 -06:00
Jeff Law
53cb46ec64 i386.md (movqi): When optimizing a load of (const_int 1) into a NON_QI_REG_P...
* i386.md (movqi): When optimizing a load of (const_int 1) into a
        NON_QI_REG_P, pretend the register is SImode.

From-SVN: r21491
1998-07-29 18:01:33 -06:00
Manfred Hollstein
876b20d8aa configure: Fix --without/--disable cases for gxx-include-dir.
8
	* configure: Fix --without/--disable cases for gxx-include-dir.

From-SVN: r21488
1998-07-29 17:14:42 -06:00
Manfred Hollstein
a2b056c861 configure: Fix --without/--disable cases for gxx-include-dir.
* configure: Fix --without/--disable cases for gxx-include-dir.

From-SVN: r21487
1998-07-29 17:14:41 -06:00
Todd Vierling
f8b81c7685 configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
�
        * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
        manufacturer id for ns32k.
        * configure: Regenerated.
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
        * config/m68k/netbsd.h: Same.
        * config/ns32k/netbsd.h: Same.
        * config/sparc/netbsd.h: Same.

From-SVN: r21485
1998-07-29 16:55:04 -06:00
Todd Vierling
eb94593726 configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
        manufacturer id for ns32k.
        * configure: Regenerated.
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
        * config/m68k/netbsd.h: Same.
        * config/ns32k/netbsd.h: Same.
        * config/sparc/netbsd.h: Same.

From-SVN: r21484
1998-07-29 16:54:59 -06:00
Todd Vierling
5da2b8654f configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
        manufacturer id for ns32k.
        * configure: Regenerated.
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
        * config/m68k/netbsd.h: Same.
        * config/ns32k/netbsd.h: Same.
        * config/sparc/netbsd.h: Same.

From-SVN: r21483
1998-07-29 16:54:58 -06:00
Todd Vierling
ea2746b6f0 configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
a
        * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
        manufacturer id for ns32k.
        * configure: Regenerated.
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
        * config/m68k/netbsd.h: Same.
        * config/ns32k/netbsd.h: Same.
        * config/sparc/netbsd.h: Same.

From-SVN: r21482
1998-07-29 16:54:56 -06:00
Todd Vierling
9fac33031a configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
�
        * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
        Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
        manufacturer id for ns32k.
        * configure: Regenerated.
        * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
        * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
        * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
        * config/m68k/netbsd.h: Same.
        * config/ns32k/netbsd.h: Same.
        * config/sparc/netbsd.h: Same.

From-SVN: r21481
1998-07-29 16:54:50 -06:00
David Edelsohn
5ca4275dba rs6000.md (absdi2 define_split): Swap operands of MINUS.
Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@mhpcc.edu>
        * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
        * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
        (print_operand, case 'B'): Don't fall through.
        (print_operand, case 'S'): Correct mask begin/end computation.
        Use HOST_BITS_PER_WIDE_INT.
        * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
        (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
        * rs6000/aix41.h (CPP_PREDEFINES): Same.
        * rs6000/aix43.h (CPP_PREDEFINES): Same.

From-SVN: r21479
1998-07-29 16:10:22 -06:00
Jeff Law
d8a5fb6fb1 unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO or UNROLL_COMPLETELY loop that starts with a...
P
        * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
        or UNROLL_COMPLETELY loop that starts with a jump to its
        exit code.

From-SVN: r21478
1998-07-29 15:42:14 -06:00
Jeff Law
b2851a2b06 unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO or UNROLL_COMPLETELY loop that starts with a...
* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
        or UNROLL_COMPLETELY loop that starts with a jump to its
        exit code.

From-SVN: r21477
1998-07-29 15:42:10 -06:00
Jason Merrill
7f3e8e24b2 decl.c (push_overloaded_decl): Use current_namespace instead of DECL_CONTEXT (decl) to determine where we go.
* decl.c (push_overloaded_decl): Use current_namespace instead of
	DECL_CONTEXT (decl) to determine where we go.

From-SVN: r21472
1998-07-29 10:56:23 -04:00
Jason Merrill
2101ccc496 duplicate
From-SVN: r21470
1998-07-29 09:37:47 -04:00
Jason Merrill
2e1e21933b * decl.c (lookup_name_real): Fix typo.
From-SVN: r21468
1998-07-29 09:04:57 -04:00
Jeff Law
bd9b49602e Daily bump.
From-SVN: r21467
1998-07-28 18:45:05 -06:00
Jason Merrill
a242a4d509 configure.in: Fix --without/--disable cases for local-prefix, gxx-include-dir and checking.
* configure.in: Fix --without/--disable cases for local-prefix,
        gxx-include-dir and checking.

From-SVN: r21465
1998-07-28 17:49:51 -06:00
David S. Miller
a174460352 Enable haifa for sparc64 too.
From-SVN: r21462
1998-07-28 16:17:03 -07:00
Jeff Law
63a314dbb3 cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
�
        * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
        * i386/winnt.c (associated_type): New fn.
        (i386_pe_valid_type_attribute_p): New fn.
        (i386_pe_check_vtable_importexport): Remove.
        (i386_pe_dllexport_p): Use associated_type.
        (i386_pe_dllimport_p): Likewise.
        From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
        * i386.c (i386_valid_type_attribute_p): Also accept
        attributes for METHOD_TYPEs.

From-SVN: r21460
1998-07-28 16:31:10 -06:00
Jeff Law
36541e42af cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
x
        * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
        * i386/winnt.c (associated_type): New fn.
        (i386_pe_valid_type_attribute_p): New fn.
        (i386_pe_check_vtable_importexport): Remove.
        (i386_pe_dllexport_p): Use associated_type.
        (i386_pe_dllimport_p): Likewise.
        From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
        * i386.c (i386_valid_type_attribute_p): Also accept
        attributes for METHOD_TYPEs.

From-SVN: r21459
1998-07-28 16:31:09 -06:00
Jason Merrill
d6eff81e9b cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
�
        * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
        * i386/winnt.c (associated_type): New fn.
        (i386_pe_valid_type_attribute_p): New fn.
        (i386_pe_check_vtable_importexport): Remove.
        (i386_pe_dllexport_p): Use associated_type.
        (i386_pe_dllimport_p): Likewise.
        From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
        * i386.c (i386_valid_type_attribute_p): Also accept
        attributes for METHOD_TYPEs.

From-SVN: r21458
1998-07-28 16:31:07 -06:00
Jason Merrill
a74f1d6442 cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
�
        * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
        * i386/winnt.c (associated_type): New fn.
        (i386_pe_valid_type_attribute_p): New fn.
        (i386_pe_check_vtable_importexport): Remove.
        (i386_pe_dllexport_p): Use associated_type.
        (i386_pe_dllimport_p): Likewise.
        From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
        * i386.c (i386_valid_type_attribute_p): Also accept
        attributes for METHOD_TYPEs.

From-SVN: r21457
1998-07-28 16:31:05 -06:00
Peter Gerwinski
e6f185a66a tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
8
        * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.

From-SVN: r21454
1998-07-28 16:18:53 -06:00
Peter Gerwinski
c794abffe0 tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
�
        * tree.c (build_range_type): Copy TYPE_SIZE_UNIT.

From-SVN: r21453
1998-07-28 16:18:50 -06:00
Jeff Law
de8afaea01 Tweak last entry.
From-SVN: r21452
1998-07-28 16:07:31 -06:00
Craig Burley
4b2f2cbe98 gcc.c: Fix commentary describing %g, %u, %U, and %O.
Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
        * gcc.c: Fix commentary describing %g, %u, %U, and %O.
        * gcc.c (do_spec_1): Fix support for %O so the
        temporary file name made for it the first time
        gets reused subsequently.

From-SVN: r21448
1998-07-28 15:32:38 -06:00
Jeff Law
2ab771aa56 cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM.
p
        * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
        SUBREG, MEM.
        * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.

From-SVN: r21447
1998-07-28 15:27:12 -06:00
Jeff Law
cfe50c05d5 cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM.
�
        * cse.c (cse_insn): Enable subsitution inside libcall only for REG,
        SUBREG, MEM.
        * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.

From-SVN: r21446
1998-07-28 15:27:10 -06:00
Jeff Law
e9d9af0b23 cse.c (cse_insn): Enable subsitution inside libcall only for REG, SUBREG, MEM.
* cse.c (cse_insn): Enable subsitution inside libcall only for REG,
        SUBREG, MEM.
        * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.

From-SVN: r21445
1998-07-28 15:27:07 -06:00
Jason Merrill
bd40fc0d3b class.c (finish_struct_1): Convert integer_zero_node to ssizetype before passing it to set_rtti_entry.
* class.c (finish_struct_1): Convert integer_zero_node to
 	ssizetype before passing it to set_rtti_entry.
	* typeck2.c (initializer_constant_valid_p): Allow conversion of 0
	of any size to a pointer.
	* typeck2.c (build_functional_cast): Handle default-initialization.
	* call.c (build_over_call): Pass 1 to popclass.
	* parse.y (direct_notype_declarator): Add precedence declaration
	to notype_unqualified_id case.
	* Makefile.in (EXPECT): Adjust.
	* tree.c (ovl_member): Fix for single function in OVL.

From-SVN: r21437
1998-07-28 10:00:25 -04:00
Jeff Law
4cdb35ceda Daily bump.
From-SVN: r21432
1998-07-27 18:45:07 -06:00
Jason Merrill
8e70e10d70 tree.c (simple_cst_equal, [...]): OK if the elts are identical.
* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
	identical.

From-SVN: r21426
1998-07-27 17:44:04 -04:00
Jeffrey A Law
36a638704c * pa.c (move_operand): Accept CONSTANT_P_RTX.
From-SVN: r21424
1998-07-27 15:21:40 -06:00
Jason Merrill
b97cf30e61 typeck2.c (build_functional_cast): Handle default-initialization.
* typeck2.c (build_functional_cast): Handle default-initialization.
	* decl.c (lookup_name_real): OK, do return the from_obj value
	unless got_object depends on template parms.
	* parse.y (nested_name_specifier_1): Pull out the TYPE_MAIN_VARIANT.
	* pt.c (coerce_template_parms): Also complain about local enums.
	* cp-tree.h: Add prototype for set_identifier_local_value.
	* decl.c (set_identifier_local_value_with_scope): Make static,
	prototype.
	* search.c (covariant_return_p): Likewise.
	* except.c (build_terminate_handler, alloc_eh_object): Likewise.
	* call.c (build_method_call): Only pull out the type of a destructor
	if it's a template type parm.
	* decl.c (lookup_name_real): Never return the from_obj value.
	* except.c (process_start_catch_block_old): Call start_decl_1 for
	catch parm.
	* decl.c (start_decl_1): Avoid duplicate error.
	* init.c (expand_default_init): Only perform the initialization if
	it will do something.
	* parse.y (base_class): Check for invalid base class.
	* decl2.c (import_export_template): Fold in...
	(import_export_class): ...to here.  Handle dllimport/export.
	* class.c (build_vtable): Pass at_eof to import_export_vtable.
	(prepare_fresh_vtable): Likewise.
	* decl2.c (import_export_class): Split out...
	(finish_prevtable_vardecl): From here.
	* class.c (finish_struct_1): Call import_export_class if at_eof.
	* decl.c (start_function): #if 0 mysterious code I wrote and have
	forgotten why.
	* rtti.c (get_tinfo_fn): If this is for a class type, set
	DECL_CONTEXT.
	* inc/exception: Change terminate and unexpected to ().
	* parse.y (named_class_head_sans_basetype_defn): A
	named_class_head_sans_basetype followed by '{' or ':' is a defn.
	* tree.c (canonical_type_variant): New fn to handle arrays.
	* cp-tree.h (CANONICAL_TYPE_VARIANT): Remove.
	* pt.c (unify, default case): Also fold arg.  Fix array bounds case.
	* method.c (process_overload_item): Use build_overload_value for
	arrays.

From-SVN: r21410
1998-07-27 07:15:30 -04:00
Jason Merrill
efaa096c5b expectations
From-SVN: r21408
1998-07-27 06:58:12 -04:00
Jeffrey A Law
9961d34ef7 Bump for snapshot
From-SVN: r21406
1998-07-26 18:47:00 -06:00
Jeff Law
2c12b03b9d Daily bump.
From-SVN: r21405
1998-07-26 18:45:05 -06:00
Craig Burley
47d60857de Fix 980615-0.f:
Sat Jul 25 17:23:55 1998  Craig Burley  <burley@gnu.org>
	Fix 980615-0.f:
	* stc.c (ffestc_R1229_start): Set info to ANY as well.

From-SVN: r21400
1998-07-26 14:43:36 +00:00
Dave Love
42bbd001f4 BUGS, [...]: Rebuilt.
1998-07-26  Dave Love  <d.love@dl.ac.uk>
	* BUGS, INSTALL, NEWS: Rebuilt.

From-SVN: r21397
1998-07-26 14:28:04 +00:00
Dave Love
092ec197c9 Rebuilt.
From-SVN: r21396
1998-07-26 14:26:05 +00:00
Jeff Law
c46e42ca1e Daily bump.
From-SVN: r21395
1998-07-25 18:45:05 -06:00
H.J. Lu
d089c22636 i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating the frame pointer and compiling PIC code and reload...
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
        the frame pointer and compiling PIC code and reload has not completed.

From-SVN: r21393
1998-07-25 18:35:12 -06:00
H.J. Lu
6d3d79c855 i386.c (output_to_reg): Add code to emulate non-popping DImode case.
�
        * i386.c (output_to_reg): Add code to emulate non-popping DImode
        case.

From-SVN: r21390
1998-07-25 18:13:01 -06:00
Jeffrey A Law
61442ed4f8 * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
From-SVN: r21387
1998-07-25 18:03:56 -06:00
Gerald Pfeifer
73a5fb2b6a Makefile.in (install-info): Only try to update the info directory file if it exists in the first place.
8
        * Makefile.in (install-info): Only try to update the info
        directory file if it exists in the first place.

From-SVN: r21385
1998-07-25 16:30:55 -06:00
Gerald Pfeifer
98feb76c9e Makefile.in (install-info): Only try to update the info directory file if it exists in the first place.
* Makefile.in (install-info): Only try to update the info
        directory file if it exists in the first place.

From-SVN: r21384
1998-07-25 16:30:52 -06:00
Jeff Law
6407a93063 rs6000.h (ASM_OUTPUT_CONSTRUCTOR, [...]): Delete.
* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.

From-SVN: r21381
1998-07-25 16:28:15 -06:00
Jeff Law
aae0fd27cf rs6000.h (ASM_OUTPUT_CONSTRUCTOR, [...]): Delete.
(
        * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.

From-SVN: r21380
1998-07-25 16:28:13 -06:00
Dave Love
6e4f7f10b9 Makefile.in (s-libe77, [...]): Rely on VPATH, dropping explicit use of $(srcdir) in various places.
1998-07-24  Dave Love  <d.love@dl.ac.uk>
	* Makefile.in (s-libe77, ${srcdir}/configure, g2c.h, Makefile,
	config.status, rebuilt): Rely on VPATH, dropping explicit use of
	$(srcdir) in various places.

From-SVN: r21377
1998-07-25 05:31:16 +00:00
Dave Love
0c5f4ff46c (s-libe77, ${srcdir}/configure, g2c.h, Makefile,
config.status, rebuilt): Rely on VPATH, dropping explicit use of
$(srcdir) in various places.

From-SVN: r21376
1998-07-25 05:30:17 +00:00
Dave Love
2650007e4c io0.f: New test.
1998-07-25  Dave Love  <d.love@dl.ac.uk>
	* g77.f-torture/execute/io0.f: New test.

From-SVN: r21375
1998-07-25 05:05:03 +00:00
No Author
50fded8afc This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r21373
1998-07-25 04:58:20 +00:00
Jeff Law
7f0627eebb Daily bump.
From-SVN: r21369
1998-07-24 18:45:04 -06:00
Jeff Law
a73e6800de Daily bump.
From-SVN: r21359
1998-07-23 18:45:05 -06:00
Jim Wilson
24c32a7bb6 dbxout.c (dbxout_range_type): Only call dbxout_type_index for already defined type.
�
	* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
	already defined type.

From-SVN: r21357
1998-07-23 18:31:23 -06:00
Jim Wilson
00d98df3a3 dbxout.c (dbxout_range_type): Only call dbxout_type_index for already defined type.
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
	already defined type.

From-SVN: r21356
1998-07-23 18:31:20 -06:00
David S. Miller
b237dd93c1 profile.c (branch_prob): Call allocate_reg_info after outputting profile rtl in instrument_arcs.
* profile.c (branch_prob): Call allocate_reg_info after outputting
	profile rtl in instrument_arcs.

From-SVN: r21343
1998-07-22 11:49:53 -07:00
Jeffrey A Law
9933df16ca Bump for snapshot
From-SVN: r21334
1998-07-21 16:40:20 -06:00
Craig Burley
61a375c710 g77spec.c (lang_specific_driver): Return unmolested command line when --help seen.
Tue Jul 21 04:33:37 1998  Craig Burley  <burley@gnu.org>
	* g77spec.c (lang_specific_driver): Return unmolested
	command line when --help seen.
	Comment out code that printed g77-specific --help info.

From-SVN: r21333
1998-07-21 16:34:38 -06:00
Klaus Kaempf
9d68a7e112 * cccp.c (do_include): Fix vax c style include handling.
From-SVN: r21328
1998-07-21 16:30:28 -06:00
Jeff Law
a8a406fff8 rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
H
        * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
        * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
        * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
        (u_short_cint_operand): Same.
        (reg_or_cint_operand): Same.
        (logical_operand): Same.
        (input_operand): Same.
        (reg_or_short_operand): Use u_short_cint_operand.

From-SVN: r21327
1998-07-21 16:22:59 -06:00
David Edelsohn
70da41c649 rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
�
        * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
        * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
        * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
        (u_short_cint_operand): Same.
        (reg_or_cint_operand): Same.
        (logical_operand): Same.
        (input_operand): Same.
        (reg_or_short_operand): Use u_short_cint_operand.

From-SVN: r21326
1998-07-21 16:22:58 -06:00
Jeffrey A Law
56f800f3ec * gcc.c (do_spec): Call "error" not "warning".
From-SVN: r21320
1998-07-21 01:53:30 -06:00
David S. Miller
9ba66cd7e0 jump.c (jump_optimize): When simplifying noop moves and PUSH_ROUNDING...
* jump.c (jump_optimize): When simplifying noop moves and
	PUSH_ROUNDING, fix thinko so we use same criterion for identifying
	the PUSHes to rewrite in second loop as we did in the first.

From-SVN: r21318
1998-07-20 22:03:40 -07:00
Jeffrey A Law
07b69426b2 configure.in: Fix minor problems with gas feature detection code.
* configure.in: Fix minor problems with gas feature detection code.
        * configure: Rebuilt.

From-SVN: r21316
1998-07-20 17:57:20 -06:00
Jeff Law
7ffec30f52 gcc.c (do_spec): Issue a warning for '%[]' usage.
d
        * gcc.c (do_spec): Issue a warning for '%[]' usage.
        * Undo this change.
        * gcc.c: Delete %[spec] support.
        (do_spec_1, case '('): Likewise.
        (do_spec_1, case '['): Call error.

From-SVN: r21313
1998-07-20 17:36:43 -06:00
Jeff Law
95e922e064 gcc.c (do_spec): Issue a warning for '%[]' usage.
�
        * gcc.c (do_spec): Issue a warning for '%[]' usage.
        * Undo this change.
        * gcc.c: Delete %[spec] support.
        (do_spec_1, case '('): Likewise.
        (do_spec_1, case '['): Call error.

From-SVN: r21312
1998-07-20 17:36:40 -06:00
Richard Henderson
d89ed65240 alpha.h (CPP_SPEC): Tidy.
* alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
        (CPP_SUBTARGET_SPEC): Default to empty string.
        (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
        (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
        * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
        * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
        (LIB_SPEC): Tidy.
        * alpha/linux.h (CPP_PREDEFINES): Tidy.
        * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
        * alpha/netbsd.h (CPP_PREDEFINES): Tidy.
        * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
        * alpha/win-nt.h (CPP_PREDEFINES): Likewise.
        * alpha/vsf.h (CPP_PREDEFINES): Likewise.
        (CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
        * alpha/vxworks.h: Likewise.

From-SVN: r21310
1998-07-20 15:47:31 -07:00
Jeff Law
3dd1aa6d33 Remove accidental checkin.
From-SVN: r21308
1998-07-20 16:36:24 -06:00
Jeff Law
c94ace644e mips.md (reload_outsi): Added missing REGNO call.
�
        * mips.md (reload_outsi): Added missing REGNO call.
        (smulsi3_highpart, umulsi3_highpart): Provide prototype for
        function pointer.
        (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
        another match_operator and compare the codes.
        * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
        * MIPS multiply pattern fixes:
        * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
        Add union classes for HI, LO, or HILO plus general registers.
        (GENERATE_MADD): Deleted.
        * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
        Add TARGET_MAD to condition.
        (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
        (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
        "*d" for accumulator, to give preference to LO initially but not
        during reload.
Bring various mips fixes into the egcs-1.1 branch.

From-SVN: r21307
1998-07-20 16:15:33 -06:00
Jeff Law
d85b4ec13a mips.md (reload_outsi): Added missing REGNO call.
a
        * mips.md (reload_outsi): Added missing REGNO call.
        (smulsi3_highpart, umulsi3_highpart): Provide prototype for
        function pointer.
        (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
        another match_operator and compare the codes.
        * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
        * MIPS multiply pattern fixes:
        * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
        Add union classes for HI, LO, or HILO plus general registers.
        (GENERATE_MADD): Deleted.
        * mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
        Add TARGET_MAD to condition.
        (mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
        (mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
        "*d" for accumulator, to give preference to LO initially but not
        during reload.
Bring various mips fixes into the egcs-1.1 branch.

From-SVN: r21306
1998-07-20 16:15:29 -06:00
Jason Merrill
c11407982b lex.c (do_identifier): Look for class value even if we don't have a global value.
* lex.c (do_identifier): Look for class value even if we don't
	have a global value.  Do implicit declaration if parsing is 2.
	* semantics.c (finish_call_expr): Pass 2 if we're doing Koenig
	lookup.
	* decl.c (pushtag): Revert previous change.
	* pt.c (lookup_template_class): Don't put out debugging
	information for types that use template parameters.
	* decl.c (pushtag): Don't put out debugging information for
	compiler-generated typedefs.
	* error.c (dump_type_real): Don't crash when presented with
	intQI_type_node or the like.
	* semantics.c (finish_translation_unit): Fix spelling error in
	comment.

From-SVN: r21299
1998-07-19 20:19:21 -04:00
Jim Wilson
7e00207d3c * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
From-SVN: r21298
1998-07-19 18:15:34 -06:00
Robert Lipe
d92770e65e config.guess: (*-pc-sco3.2v5) Add detection for Pentium II.
8
	* config.guess: (*-pc-sco3.2v5) Add detection for Pentium II.
	(*-pc-unixware7) Add detection for Pentium II, Pentium Pro.

From-SVN: r21295
1998-07-19 18:00:05 -06:00
Robert Lipe
a799b751a9 config.guess: (*-pc-sco3.2v5) Add detection for Pentium II.
@
	* config.guess: (*-pc-sco3.2v5) Add detection for Pentium II.
	(*-pc-unixware7) Add detection for Pentium II, Pentium Pro.

From-SVN: r21294
1998-07-19 18:00:04 -06:00
Craig Burley
c99bad34ff lang-options.h: Fix up doc strings.
* lang-options.h: Fix up doc strings.
        Remove the unimplemented -fdcp-intrinsics-* options.
        * str-1t.fin: Change mixed-case spelling of `GoTo' from
        `Goto'.

From-SVN: r21293
1998-07-19 17:56:14 -06:00
Dave Love
ba645a1b64 Makefile.in (all): Depend on s-libe77, not e77.
1998-07-19  Dave Love  <d.love@dl.ac.uk>
	* Makefile.in (all): Depend on s-libe77, not e77.
	(.PHONY): Remove e77.

From-SVN: r21278
1998-07-19 04:50:04 +00:00
Dave Love
c43fab9509 (all): Depend on s-libe77, not e77.
(.PHONY): Remove e77.

From-SVN: r21277
1998-07-19 04:49:05 +00:00
Mark Mitchell
fa68ae5b43 loop.c (maybe_eliminate_biv_1): Avoid signed/unsigned comparison confusion when setting cc0.
* loop.c (maybe_eliminate_biv_1): Avoid signed/unsigned comparison
	confusion when setting cc0.

From-SVN: r21273
1998-07-18 15:21:13 +00:00
Jason Merrill
4030d892f9
From-SVN: r21272
1998-07-18 07:06:04 -04:00
Jason Merrill
4de8ac18ab
From-SVN: r21271
1998-07-18 07:06:03 -04:00
Jason Merrill
379993e0ef 8
From-SVN: r21270
1998-07-18 07:06:00 -04:00
Jason Merrill
5a5a4b9359
From-SVN: r21269
1998-07-18 07:05:41 -04:00
Richard Earnshaw
87c2129050 tree.c (valid_machine_attribute): Only create a new type variant if there is a decl to use it.
* tree.c (valid_machine_attribute): Only create a new type variant if
there is a decl to use it.

From-SVN: r21246
1998-07-17 03:32:36 +00:00
Jason Merrill
329c8b60a0 tmap.cc: Use less<int>.
* tmap.cc: Use less<int>.
	* tlist.cc (main): Use remove_if.

From-SVN: r21243
1998-07-16 21:29:45 -04:00
Jeffrey A Law
22236925b9 Makefile.in (WARN_CFLAGS): Disable -W -Wall for the release branch.
* Makefile.in (WARN_CFLAGS): Disable -W -Wall for the release
        branch.

From-SVN: r21242
1998-07-16 19:06:29 -06:00
Craig Burley
4dcc58ac79 (ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
�
	* (ffecom_finish_symbol_transform_): Revert change
	of 1998-05-23, as it was too aggressive, in that it
	prevented transformation of (used) functions before
	primary code generation.

From-SVN: r21239
1998-07-16 16:53:40 -06:00
Jeff Law
390bc80e33 (ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
* (ffecom_finish_symbol_transform_): Revert change
	of 1998-05-23, as it was too aggressive, in that it
	prevented transformation of (used) functions before
	primary code generation.

From-SVN: r21238
1998-07-16 16:53:39 -06:00
Craig Burley
4e75d3af82 (ffecom_finish_symbol_transform_): Revert change of 1998-05-23...
�
	* (ffecom_finish_symbol_transform_): Revert change
	of 1998-05-23, as it was too aggressive, in that it
	prevented transformation of (used) functions before
	primary code generation.

From-SVN: r21237
1998-07-16 16:53:38 -06:00
Jeff Law
7dded0b0b7 Updates from craig.
From-SVN: r21232
1998-07-16 16:50:59 -06:00
Nick Clifton
22b7ac7856 gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have a suffix.
* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
	a suffix.

From-SVN: r21231
1998-07-16 16:46:55 -06:00
Nick Clifton
9437bd3785 gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have a suffix.
�
	* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
	a suffix.

From-SVN: r21230
1998-07-16 16:46:53 -06:00
Kaveh R. Ghazi
f479858d79 cplus-dem.c (demangle_nested_args): Make function definition static to match the prototype.
�
	* cplus-dem.c (demangle_nested_args): Make function definition
	static to match the prototype.

From-SVN: r21227
1998-07-16 16:41:14 -06:00
Jeff Law
197eb82015 cplus-dem.c (demangle_nested_args): Make function definition static to match the prototype.
8
	* cplus-dem.c (demangle_nested_args): Make function definition
	static to match the prototype.

From-SVN: r21226
1998-07-16 16:40:33 -06:00
Jeffrey A Law
201269d635 * libU77/Makefile.in: Missed one config.h.in -> config.hin change.
From-SVN: r21225
1998-07-16 15:34:32 -06:00
Jason Merrill
4486520944 decl.c (qualify_lookup): New fn.
* decl.c (qualify_lookup): New fn.
	(lookup_name_real): Use it.
	* decl2.c (add_using_namespace): When directly using a namespace
	that was indirect before, promote it.
	* cp-tree.h (LOOKUP_PREFER_TYPES, LOOKUP_PREFER_NAMESPACES,
	LOOKUP_PREFER_BOTH, LOOKUP_NAMESPACES_ONLY, LOOKUP_TYPES_ONLY,
	LOOKUP_QUALIFIERS_ONLY, LOOKUP_TEMPLATES_EXPECTED): New macros.
	* decl.c (select_decl): Replace two flag parameters by one.
	(unqualified_namespace_lookup): Likewise, pass flag.
	(lookup_flags): New function.
	(lookup_name_real): Compute flags, pass them.
	(lookup_namespace_name): Call with zero-flag.
	* decl2.c (ambiguous_decl): Add flag parameter, complain only
	according to flags.
	(lookup_using_namespace, qualified_lookup_using_namespace):
	Add flag parameter, pass them through.
	* lex.c (do_scoped_id): Call with zero-flag.
	* typeck.c (convert_for_assignment): Use comptypes.
	* semantics.c (finish_object_call_expr): Move test for the
	function called being a TYPE_DECL to ...
	* call.c (build_new_method_call): Here.

From-SVN: r21217
1998-07-16 12:33:24 -04:00
Richard Henderson
b926413b75 loop.c (emit_iv_add_mult): Scan the entire insn list generated for the sequence, recording base values.
8
        * loop.c (emit_iv_add_mult): Scan the entire insn list generated
        for the sequence, recording base values.

From-SVN: r21210
1998-07-15 18:27:23 -06:00
Richard Henderson
b35718338b loop.c (emit_iv_add_mult): Scan the entire insn list generated for the sequence, recording base values.
* loop.c (emit_iv_add_mult): Scan the entire insn list generated
        for the sequence, recording base values.

From-SVN: r21209
1998-07-15 18:27:20 -06:00
Jason Merrill
c37324b890 decl2.c (arg_assoc_class): Also look at template arguments, if any.
* decl2.c (arg_assoc_class): Also look at template arguments, if any.
	(arg_assoc): Handle error_mark_node and multiple levels of TREE_LIST.
	* lex.c (looking_for_typename): Don't initialize.
	* decl2.c (ambiguous_decl): Clarify error message.
	* decl.c (push_using_directive): Iterate over namespaces used
	indirectly.

From-SVN: r21206
1998-07-15 20:17:15 -04:00
Jeffrey A Law
59a5296dea g2c.hin: Renamed from g2c.h.in.
* g2c.hin: Renamed from g2c.h.in.
        * Makefile.in, configure.in: Changed as needed.
        * configure: Rebuilt.
        * libU77/config.hin: Renamed from libU77/config.h.in.
        * Makefile.in, configure.in: Changed as needed.
        * configure: Rebuilt.

From-SVN: r21204
1998-07-15 18:10:56 -06:00
No Author
9cecccd847 This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r21203
1998-07-16 00:10:56 +00:00
Martin v. Löwis
de1fe093d9 decl2.c (add_using_namespace): Iterate over namespaces used indirectly.
* decl2.c (add_using_namespace): Iterate over namespaces used
	indirectly.
	* decl.c (lookup_name_real): Accept namespace aliases as locals.
	(cat_namespace_levels): Ignore aliases.
	(duplicate_decls): Ignore duplicate aliases.
	* decl2.c (do_namespace_alias): Process block level namespace
	aliases. Store alias with pushdecl. Remove odr errors.
	* parse.y (namespace_alias): New non-terminal.
	(extdef): Use it.

From-SVN: r21200
1998-07-15 13:27:05 -04:00
Jason Merrill
8220b1a6eb decl2.c (arg_assoc_type): Handle METHOD_TYPE like FUNCTION_TYPE.
* decl2.c (arg_assoc_type): Handle METHOD_TYPE like FUNCTION_TYPE.
	Handle TEMPLATE_TYPE_PARM.
	(arg_assoc): Rewrite.

From-SVN: r21198
1998-07-15 12:56:36 -04:00
Jason Merrill
188bd10e80 pt.c (complete_template_args): Don't look at the context unless we have to.
* pt.c (complete_template_args): Don't look at the context unless
	we have to.

From-SVN: r21196
1998-07-15 10:21:55 -04:00
Craig Burley
f761294fd9 Make-lang.in (f77.rebuilt): Fix to depend on build-dir-based, not source-based, g77.info.
Mon Jul 13 18:45:06 1998  Craig Burley  <burley@gnu.org>
	* Make-lang.in (f77.rebuilt): Fix to depend on
	build-dir-based, not source-based, g77.info.
	* g77.texi: Merge docs with 0.5.24.
	* g77install.texi: Ditto.

From-SVN: r21193
1998-07-15 11:41:51 +00:00
Craig Burley
546ef33ab8 Make-lang.in (f77.rebuilt): Fix to depend on build-dir-based, not source-based, g77.info.
Mon Jul 13 18:45:06 1998  Craig Burley  <burley@gnu.org>
	* Make-lang.in (f77.rebuilt): Fix to depend on
	build-dir-based, not source-based, g77.info.
	* g77.texi: Merge docs with 0.5.24.
	* g77install.texi: Ditto.

From-SVN: r21190
1998-07-15 11:33:15 +00:00
Dave Love
8c8eed0b21 intdoc.texi: Regenerated.
1998-07-15  Dave Love  <d.love@dl.ac.uk>
	* intdoc.texi: Regenerated.

From-SVN: r21189
1998-07-15 11:32:32 +00:00
Dave Love
319ecbc3c5 Update from Craig, previously missed.
From-SVN: r21188
1998-07-15 11:07:11 +00:00
Dave Love
683b64e696 Changes from Craig.
From-SVN: r21185
1998-07-15 10:01:19 +00:00
Dave Love
ccac8678c2 [multiple changes]
Mon Jul 13 18:45:06 1998  Craig Burley  <burley@gnu.org>
	* Make-lang.in (f77.rebuilt): Fix to depend on
	build-dir-based, not source-based, g77.info.
	* g77.texi: Merge docs with 0.5.24.
	* g77install.texi: Ditto.
Mon Jul 13 18:02:29 1998  Craig Burley  <burley@gnu.org>
	Cleanups vis-a-vis g77-0.5.24:
	* g77spec.c (lang_specific_driver): Tabify source.
	* top.c (ffe_decode_option): Use fixed macro to set
	internal-checking flag.
	* top.h (ffe_set_is_do_internal_checks): Fix macro.
Mon Jul 13 17:33:44 1998  Craig Burley  <burley@gnu.org>
	Cleanups vis-a-vis system.h cutover and g77-0.5.24:
	* Makefile.in (fini.o): Define USE_HCONFIG macro
	so source code doesn't have to.
	* fini.c: Don't define USE_HCONFIG here, since
	source code usually shouldn't care about this.
	* ansify.c: Include stddef.h only if we have it.
	* intdoc.c: Ditto.
	* proj.h: Ditto.

From-SVN: r21184
1998-07-15 10:00:33 +00:00
Craig Burley
f21356e1b3 Make-lang.in (f77.rebuilt): Fix to depend on build-dir-based, not source-based, g77.info.
Mon Jul 13 18:45:06 1998  Craig Burley  <burley@gnu.org>
	* Make-lang.in (f77.rebuilt): Fix to depend on
	build-dir-based, not source-based, g77.info.
	* g77.texi: Merge docs with 0.5.24.
	* g77install.texi: Ditto.

From-SVN: r21183
1998-07-15 09:55:12 +00:00
Craig Burley
501cf7c407 Cleanups vis-a-vis g77-0.5.24:
Mon Jul 13 18:02:29 1998  Craig Burley  <burley@gnu.org>
	Cleanups vis-a-vis g77-0.5.24:
	* g77spec.c (lang_specific_driver): Tabify source.
	* top.c (ffe_decode_option): Use fixed macro to set
	internal-checking flag.
	* top.h (ffe_set_is_do_internal_checks): Fix macro.

From-SVN: r21182
1998-07-15 09:54:11 +00:00
Craig Burley
885f2d73c0 Cleanups vis-a-vis system.h cutover and g77-0.5.24:
Mon Jul 13 17:33:44 1998  Craig Burley  <burley@gnu.org>
	Cleanups vis-a-vis system.h cutover and g77-0.5.24:
	* Makefile.in (fini.o): Define USE_HCONFIG macro
	so source code doesn't have to.
	* fini.c: Don't define USE_HCONFIG here, since
	source code usually shouldn't care about this.
	* ansify.c: Include stddef.h only if we have it.
	* intdoc.c: Ditto.
	* proj.h: Ditto.

From-SVN: r21181
1998-07-15 09:35:58 +00:00
Jason Merrill
ae6e3dcd18 method.c (build_decl_overload_real): Fix namespace handling.
* method.c (build_decl_overload_real): Fix namespace handling.
	* typeck.c (build_unary_op): Extract a lone function from an
	OVERLOAD.
	* call.c (build_scoped_method_call): Handle getting a namespace
	for basetype in a destructor call.
	(check_dtor_name): Handle enums.
	* parse.y (using_directive): New nonterminal.
	(extdef, simple_stmt): Use it.

From-SVN: r21175
1998-07-15 00:41:49 -04:00
Jeffrey A Law
b316e7b85b Bump for snapshot
From-SVN: r21172
1998-07-14 18:53:22 -06:00
Jeffrey A Law
1f223a3e08 Bump for snapshot
From-SVN: r21171
1998-07-14 18:52:24 -06:00
Martin v. Löwis
75f909ba8e decl2.c (add_function): Move error message ...
* decl2.c (add_function): Move error message ...
	(arg_assoc_namespace): ... from here.

From-SVN: r21168
1998-07-14 23:37:49 +00:00
Jason Merrill
28044fd437 parse.y (namespace_qualifier): Fix multiple level handling.
* parse.y (namespace_qualifier): Fix multiple level handling.
	* decl2.c (namespace_ancestor): Use CP_DECL_CONTEXT.
	(arg_assoc): Don't skip the first argument of a function.

From-SVN: r21164
1998-07-14 16:45:25 -04:00
Jeffrey A Law
1564a80485 Makefile.in: stamp-lib* -> s-lib*.
* Makefile.in: stamp-lib* -> s-lib*.
        * libU77/Makefile.in: Likewise.
        * libF77/Makefile.in: Likewise.
        * libI77/Makefile.in: Likewise.

From-SVN: r21163
1998-07-14 14:29:18 -06:00
Jeffrey A Law
354a44b02c configure.in: Rework gas feature code to work with symlink based source trees.
* configure.in: Rework gas feature code to work with symlink based
        source trees.

From-SVN: r21161
1998-07-14 14:08:49 -06:00
Manfred Hollstein
07d0bb4cb7 Makefile.in (VERSION): Bump to 2.9.0.
@
	* Makefile.in (VERSION): Bump to 2.9.0.

From-SVN: r21155
1998-07-14 13:06:28 -06:00
Manfred Hollstein
14e63f906c Makefile.in (VERSION): Bump to 2.9.0.
�
	* Makefile.in (VERSION): Bump to 2.9.0.

From-SVN: r21154
1998-07-14 13:06:27 -06:00
Jeff Law
3094bae109 Put entry in the right file.
From-SVN: r21153
1998-07-14 13:04:47 -06:00
Gerald Pfeifer
7fb96c2bc5 * Makefile.in (all): Invoke $(MAKE) instead of just make.
From-SVN: r21151
1998-07-14 13:03:40 -06:00
Nick Clifton
221405a561 Improvements to --help support.
From-SVN: r21144
1998-07-14 16:05:30 +00:00
Jason Merrill
9d8aee72c2 call.c (joust): Don't warn about "confusing" conversions to the same type.
* call.c (joust): Don't warn about "confusing" conversions to the
	same type.
	* class.c (push_nested_class): Complain about namespaces.
	* decl.c (start_decl): Enter the object's namespace.
	(cp_finish_decl): Leave it.
	(grokdeclarator): Likewise.
	* decl2.c (check_decl_namespace): New function.
	(finish_file): Call it.
	* parse.y (complex_direct_notype_declarator): Set complexity
	of namespace-qualified ids to -1, enter the namespace.
	* method.c (build_template_decl_overload): Expect _DECL as first
	parameter. Put context temporarily into current_namespace.
	* pt.c (check_explicit_specialization): Change caller.
	(tsubst): Likewise.
	* init.c (build_offset_ref): Call mark_used and
	convert_from_reference for namespace members.

From-SVN: r21137
1998-07-14 08:09:59 -04:00
No Author
f4839469cf This commit was manufactured by cvs2svn to create branch
'egcs_1_1_branch'.

From-SVN: r21136
1998-07-14 12:09:59 +00:00
335 changed files with 12625 additions and 13872 deletions

View File

@@ -1,3 +1,34 @@
Fri Oct 23 22:24:47 1998 Robert Lipe <robertl@dgii.com>
* config.guess: Match any version of Unixware7.
Fri Oct 2 01:29:30 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* README: Remove installation instructions and refer to the
INSTALL directory instead.
Fri Oct 2 01:13:31 1998 John Hughes <john@Calva.COM>
* configure.in: Do not assume x86-svr4 or x86-unixware can handle
stabs.
Tue Sep 1 01:58:21 1998 Jeffrey A Law (law@cygnus.com)
* egcs-1.1 Released.
Sat Aug 29 14:32:55 1998 David Edelsohn <edelsohn@mhpcc.edu>
* configure.in: Use mh-aix43.
1998-07-29 Manfred Hollstein <manfred@s-direktnet.de>
* configure: Fix --without/--disable cases for gxx-include-dir.
Sat Jul 18 14:32:43 CDT 1998 Robert Lipe <robertl@dgii.com>
* config.guess: (*-pc-sco3.2v5) Add detection for Pentium II.
(*-pc-unixware7) Add detection for Pentium II, Pentium Pro.
Sat Jun 27 22:46:32 1998 Jeffrey A Law (law@cygnus.com)
* Makefile.in (BASE_FLAGS_TO_PASS): Add TARGET_SUBDIR.

View File

@@ -81,6 +81,7 @@ Alexandre Oliva oliva@dcc.unicamp.br
Catherine Moore clm@cygnus.com
Vladimir Markarov vmakarov@cygnus.com
Martin v. Löwis loewis@informatik.hu-berlin.de
Gerald Pfeifer pfeifer@dbai.tuwien.ac.at
* Indicates folks we need to get Kerberos/ssh accounts ready so they

34
README
View File

@@ -3,40 +3,10 @@
This directory contains various GNU compilers, assemblers, linkers,
debuggers, etc., plus their support routines, definitions, and documentation.
If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README; if with a libg++ release,
see libg++/README, etc. That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.
It is now possible to automatically configure and build a variety of
tools with one command. To build all of the tools contained herein,
run the ``configure'' script here, e.g.:
Check the INSTALL directory for detailed configuration and installation
instructions.
./configure
make
To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
make install
(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''. You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)
If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make. For example (assuming sh/bash/ksh):
CC=gcc ./configure
make
A similar example using csh:
setenv CC gcc
./configure
make
Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc. See the file COPYING or

8
config.guess vendored
View File

@@ -679,11 +679,15 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:5:7)
i?86:*:5:7*)
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*PentII' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE}
exit 0 ;;
i?86:*:3.2:*)
@@ -697,6 +701,8 @@ EOF
&& UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*PentII' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32

View File

@@ -1,3 +1,15 @@
Mon Aug 31 17:50:53 1998 David Edelsohn <edelsohn@mhpcc.edu>
* mh-aix43 (NM_FOR_TARGET): Add -X32_64 as well.
Sat Aug 29 14:32:55 1998 David Edelsohn <edelsohn@mhpcc.edu>
* mh-aix43: New file.
Mon Aug 10 00:15:47 1998 HJ Lu (hjl@gnu.org)
* mt-linux (CXXFLAGS_FOR_TARGET): Add -D_GNU_SOURCE.
Wed Apr 22 12:24:28 1998 Michael Meissner <meissner@cygnus.com>
* mt-ospace: New file, support using -Os instead of -O2 to compile

4
config/mh-aix43 Normal file
View File

@@ -0,0 +1,4 @@
# AIX 4.3 and above requires -X32_64 flag to all ar and nm commands
# to handle both 32-bit and 64-bit objects.
AR_FOR_TARGET=ar -X32_64
NM_FOR_TARGET=nm -X32_64

View File

@@ -1,2 +1,2 @@
# When using glibc 2 on Linux we must always use vtable thunks.
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -fvtable-thunks
CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -fvtable-thunks -D_GNU_SOURCE

19
configure vendored
View File

@@ -1240,14 +1240,29 @@ EOF
# provide a proper gxx_include_dir to all subdirs.
# Note, if you change the default, make sure to fix both here
# and in the gcc subdirectory.
if test -z "${with_gxx_include_dir}"; then
# Check whether --with-gxx-include-dir or --without-gxx-include-dir was given.
gxx_include_dir=
if test -n "${with_gxx_include_dir}"; then
case "${with_gxx_include_dir}" in
yes )
echo "configure: error: bad value ${withval} given for g++ include directory" 1>&2
exit 1
;;
no )
;;
* )
gxx_include_dir=${with_gxx_include_dir}
;;
esac
fi
if test x${gxx_include_dir} = x; then
if test x${enable_version_specific_runtime_libs} = xyes; then
echo gxx_include_dir = '${libsubdir}/include/g++' >> ${Makefile}
else
echo gxx_include_dir = '${prefix}/include/g++' >> ${Makefile}
fi
else
echo gxx_include_dir = ${with_gxx_include_dir} >> ${Makefile}
echo gxx_include_dir = ${gxx_include_dir} >> ${Makefile}
fi
# record if we want to build shared libs.

View File

@@ -212,6 +212,9 @@ case "${host}" in
*-*-lynxos*)
host_makefile_frag="${host_makefile_frag} config/mh-lynxos"
;;
*-*-aix4.[3456789]* | *-*-aix[56789].*)
host_makefile_frag="${host_makefile_frag} config/mh-aix43"
;;
*-*-sysv4*)
host_makefile_frag="${host_makefile_frag} config/mh-sysv4"
;;
@@ -435,7 +438,7 @@ if [ x${with_stabs} = x ]; then
case "${target}" in
mips*-*-irix6*)
;;
mips*-*-* | alpha*-*-osf* | i[3456]86*-*-sysv4* | i[3456]86*-*-unixware*)
mips*-*-* | alpha*-*-osf*)
with_stabs=yes;
withoptions="${withoptions} --with-stabs"
;;

View File

@@ -1,3 +1,26 @@
1998-08-14 Alexandre Oliva <oliva@dcc.unicamp.br>
* test_installed: new script for testing already-installed
gcc/g++/g77
1998-08-13 Alexandre Oliva <oliva@dcc.unicamp.br>
* test_summary: assigned copyright to FSF
Wed Aug 12 19:59:36 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* egcs_update: Assigned copyright to FSF.
Tue Aug 11 17:55:53 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
Alexandre Oliva <oliva@dcc.unicamp.br>
* egcs_update: New switch --nostdflags and documentation
enhancements.
Tue Aug 11 17:33:19 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* egcs_update: New script.
Fri Jun 19 02:36:59 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
* test_summary: new switch (-i) and environment variable

74
contrib/egcs_update Executable file
View File

@@ -0,0 +1,74 @@
#! /bin/sh
#
# Update a local CVS tree from the egcs repository, with an emphasis
# on treating generated files correctly, so that autoconf, bison et
# al are not required for the ``end'' user.
#
# By default all command-line options are passed to `cvs update` in
# addition to $UPDATE_OPTIONS (defined below). If the first parameter
# reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
# are omitted.
#
# Examples:
#
# contrib/egcs_update -r egcs_latest_snapshot
# contrib/egcs_update -A
# contrib/egcs_update --nostdflags -P -r egcs_1_1_branch gcc/testsuite
#
#
# (C) 1998 Free Software Foundation
# Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
#
# This script is Free Software, and it can be copied, distributed and
# modified as defined in the GNU General Public License. A copy of
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
UPDATE_OPTIONS=-P
# Add -d to create any directories that exist in the repository but not
# locally.
# Add -A to reset any sticky tags, dates, or `-k' options.
echo "Current directory is `pwd`."
# First of all, check whether this indeed looks like a local CVS of egcs.
if [ ! -d CVS ] || [ ! -f gcc/version.c ]; then
echo "This does not seem to be an egcs CVS tree!"
exit
fi
# Check command-line options
if [ x"${1}"x = x"--nostdflags"x ]; then
shift
else
set -- $UPDATE_OPTIONS ${1+"$@"}
fi
echo "Pass 1: Updating autoconf and bison generated files"
find . -name configure.in -o -name '*.y' | xargs cvs -q update
echo "Pass 2: Updating full tree"
cvs -q update ${1+"$@"}
echo "Pass 3: Fixing local tree"
touch `find . -name configure -print`
touch `find texinfo -name Makefile.in -print`
touch `find texinfo -name \*.pot -print`
touch `find texinfo -name \*.gmo -print`
for f in gcc/c-parse.y \
gcc/cstamp-h.in \
gcc/c-gperf.h \
gcc/c-parse.c \
gcc/c-parse.h \
gcc/cexp.c \
gcc/cp/parse.c \
gcc/cp/parse.h \
gcc/objc/objc-parse.c \
gcc/objc/objc-parse.y \
libf2c/libU77/stamp-h.in
do
touch $f
done

114
contrib/test_installed Executable file
View File

@@ -0,0 +1,114 @@
#! /bin/sh
# (C) 1998 Free Software Foundation
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
# This script is Free Software, and it can be copied, distributed and
# modified as defined in the GNU General Public License. A copy of
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
# This scripts assumes it lives in the contrib directory of the egcs
# source tree, so it will find the testsuite tree from its location.
# If you move it elsewhere, or want to use another testsuite tree, you
# can override the defaults with --srcdir=/some/dir/egcs or
# --testsuite=/some/dir/egcs/gcc/testsuite. If you specify
# --testsuite, --srcdir will be ignored; otherwise, `/gcc/testsuite'
# will be appended to the srcdir.
# You may specify where the binaries to be tested should be picked up
# from. If you specify --prefix=/some/dir, gcc, g++ and g77 will be
# looked for at /some/dir/bin. Each one may be overridden by
# specifying --with-gcc=/pathname/to/gcc, --with-g++=/pathname/to/g++
# and --with-g77=/pathname/to/g77. If you specify --without-gcc,
# --without-g++ or --without-g77, the test for the specified program
# will be skipped. By default, gcc, g++ and g77 will be searched in
# the PATH.
# An additional argument may specify --tmpdir=/some/dir; by default,
# temporaries will be stored in the current directory, where the log
# files will be stored.
# The script will interpret arguments until it finds one it does not
# understand. The remaining ones will be passed to `runtest'. A
# double-dash can be used to explicitly separate the arguments to
# `test_installed' from the ones to `runtest'.
# This script should be run in an empty directory; it will refuse to
# run if it finds a file named site.exp in the current directory.
if test -f site.exp; then
echo site.exp already exists >&2
exit 1
fi
while true; do
case "$1" in
--with-testsuite=*) testsuite=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--srcdir=*) srcdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--prefix=*) prefix=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--with-gcc=*) GCC_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--with-g++=*) GXX_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--with-g77=*) G77_UNDER_TEST=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--without-gcc) GCC_UNDER_TEST=no; shift;;
--without-g++) GXX_UNDER_TEST=no; shift;;
--without-g77) G77_UNDER_TEST=no; shift;;
--tmpdir=*) tmpdir=`echo "$1" | sed 's/[^=]*=//'`; shift;;
--help) cat <<\EOF
Runs the testsuite for an installed version of gcc/g++/g77
Copyright (C) 1998 Free Software Foundation
by Alexandre Oliva <oliva@dcc.unicamp.br>
Supported arguments:
--help prints this page
--with-testsuite=/some/dir/gcc/testsuite specify the testsuite directory
--srcdir=/some/dir same as --with-testsuite=/some/dir/gcc/testsuite
[deduced from shell-script pathname]
--prefix=/some/dir use gcc, g++ and g77 from /some/dir/bin [PATH]
--with-gcc=/some/dir/bin/gcc use specified gcc program [gcc]
--with-g++=/some/dir/bin/g++ use specified g++ program [g++]
--with-g77=/some/dir/bin/g77 use specified g77 program [g77]
--without-gcc do not run gcc testsuite
--without-g++ do not run g++ testsuite
--without-g77 do not run g77 testsuite
--tmpdir=/some/dir create temporaries and leave failed programs
at specified directory [.]
-- end of argument list; following arguments are passed to runtest
EOF
exit
;;
--) shift; break;;
*) break;;
esac
done
if test x"${testsuite+set}" != x"set" && test x"${srcdir+set}" != x"set"; then
file=$0
while [ -h $file ]; do
file=`ls -l $file | sed s/'.* -> '//`
done
srcdir=`CDPATH=. && cd \`echo "$file" | sed 's,/*[^/]*$,,;s,^$,.,'\`/.. >/dev/null && pwd`
fi
cat >site.exp <<EOF
set tmpdir "${tmpdir-`pwd`}"
set srcdir "${testsuite-${srcdir}/gcc/testsuite}"
set GCC_UNDER_TEST "${GCC_UNDER_TEST-${prefix}${prefix+/bin/}gcc}"
set GXX_UNDER_TEST "${GXX_UNDER_TEST-${prefix}${prefix+/bin/}g++}"
set G77_UNDER_TEST "${G77_UNDER_TEST-${prefix}${prefix+/bin/}g77}"
EOF
test x"${GCC_UNDER_TEST}" = x"no" || runtest --tool gcc ${1+"$@"}
test x"${GXX_UNDER_TEST}" = x"no" || runtest --tool g++ ${1+"$@"}
test x"${G77_UNDER_TEST}" = x"no" || runtest --tool g77 ${1+"$@"}
exit 0

View File

@@ -1,6 +1,7 @@
#! /bin/sh
# (C) 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
# (C) 1998 Free Software Foundation
# Originally by Alexandre Oliva <oliva@dcc.unicamp.br>
# This script is Free Software, and it can be copied, distributed and
# modified as defined in the GNU General Public License. A copy of

View File

@@ -1,226 +0,0 @@
Notes on the Free Translation Project
*************************************
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do *not*
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
One advise in advance
=====================
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias or message inheritance) as the
implementation here. It is also not possible to offer this additional
functionality on top of a `catgets' implementation. Future versions of
GNU `gettext' will very likely convey even more functionality. So it
might be a good idea to change to GNU `gettext' as soon as possible.
So you need not provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
INSTALL Matters
===============
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system provides
usable `catgets' (if using this is selected by the installer) or
`gettext' functions. If neither is available, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is *not* required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --with-catgets
./configure --disable-nls
will respectively bypass any pre-existing `catgets' or `gettext' to use
the internationalizing routines provided within this package, enable
the use of the `catgets' functions (if found on the locale system), or
else, *totally* disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this. This might be not what is desirable. You
should use the more recent version of the GNU `gettext' library. I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use
./configure --with-included-gettext
to prevent auto-detection.
By default the configuration process will not test for the `catgets'
function and therefore they will not be used. The reasons are already
given above: the emulation on top of `catgets' cannot provide all the
extensions provided by the GNU `gettext' library. If you nevertheless
want to use the `catgets' functions use
./configure --with-catgets
to enable the test for `catgets' (this causes no harm if `catgets' is
not available on your system). If you really select this option we
would like to hear about the reasons because we cannot think of any
good one ourself.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
==================
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
ISO 639 `LL' two-letter code prior to using the programs in the
package. For example, let's suppose that you speak German. At the
shell prompt, merely execute `setenv LANG de' (in `csh'),
`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash'). This
can be done from your `.login' or `.profile' file, once and for all.
An operating system might already offer message localization for
many of its programs, while other programs have been installed locally
with the full capabilities of GNU `gettext'. Just using `gettext'
extended syntax for `LANG' would break proper localization of already
available operating system programs. In this case, users should set
both `LANGUAGE' and `LANG' variables in their environment, as programs
using GNU `gettext' give preference to `LANGUAGE'. For example, some
Swedish users would rather read translations in German than English for
when Swedish is not available. This is easily accomplished by setting
`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
Translating Teams
=================
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list, courtesy of Linux
International. You may reach your translation team at the address
`LL@li.org', replacing LL by the two-letter ISO 639 code for your
language. Language codes are *not* the same as the country codes given
in ISO 3166. The following translation teams exist, as of December
1997:
Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
`hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
`pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
Swedish `sv', and Turkish `tr'.
For example, you may reach the Chinese translation team by writing to
`zh@li.org'.
If you'd like to volunteer to *work* at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is *not* the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
subscribe
Keep in mind that team members are expected to participate
*actively* in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
==================
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of December
1997. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination.
Ready PO files cs da de en es fi fr it ja ko nl no pl pt ru sl sv
.----------------------------------------------------.
bash | [] [] [] | 3
bison | [] [] [] | 3
clisp | [] [] [] [] | 4
cpio | [] [] [] [] [] [] | 6
diffutils | [] [] [] [] [] | 5
enscript | [] [] [] [] [] [] | 6
fileutils | [] [] [] [] [] [] [] [] [] [] | 10
findutils | [] [] [] [] [] [] [] [] [] | 9
flex | [] [] [] [] | 4
gcal | [] [] [] [] [] | 5
gettext | [] [] [] [] [] [] [] [] [] [] [] | 12
grep | [] [] [] [] [] [] [] [] [] [] | 10
hello | [] [] [] [] [] [] [] [] [] [] [] | 11
id-utils | [] [] [] | 3
indent | [] [] [] [] [] | 5
libc | [] [] [] [] [] [] [] | 7
m4 | [] [] [] [] [] [] | 6
make | [] [] [] [] [] [] | 6
music | [] [] | 2
ptx | [] [] [] [] [] [] [] [] | 8
recode | [] [] [] [] [] [] [] [] [] | 9
sh-utils | [] [] [] [] [] [] [] [] | 8
sharutils | [] [] [] [] [] [] | 6
tar | [] [] [] [] [] [] [] [] [] [] [] | 11
texinfo | [] [] [] | 3
textutils | [] [] [] [] [] [] [] [] [] | 9
wdiff | [] [] [] [] [] [] [] [] | 8
`----------------------------------------------------'
17 languages cs da de en es fi fr it ja ko nl no pl pt ru sl sv
27 packages 6 4 25 1 18 1 26 2 1 12 20 9 19 7 4 7 17 179
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.
If December 1997 seems to be old, you may fetch a more recent copy
of this `ABOUT-NLS' file on most GNU archive sites.

View File

@@ -1,5 +1,651 @@
Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com)
* i386/linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time.
* From Christian Gafton:
* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
* sparc/linux64.h (CPP_PREDEFIENS): Add -D__sparc__.
Sat Oct 31 00:40:05 1998 Jeffrey A Law (law@cygnus.com)
* jump.c (jump_optimize): Initialize mappings from INSN_UID to
EH region if exceptions are enabled and we're performing cross
jump optimizations.
(find_cross_jump): Exit loop if the insns are in different EH regions.
Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de>
* m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
Thu Oct 29 12:14:58 1998 Jason Merrill <jason@yorick.cygnus.com>
* alpha/linux.h (CPP_PREDEFINES): Add missing space.
Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
* collect2.c (aix64_flag): New variable.
(main, case 'b'): Parse it.
(GCC_CHECK_HDR): object magic number must match mode.
(scan_prog_file): Only check for shared object if valid header.
Print debugging if header/mode mismatch.
* README.RS6000: Update.
Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com>
* stmt.c (expand_fixup): Set fixup->before_jump to a
NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
Sun Oct 25 18:35:06 1998 David Edelsohn <edelsohn@mhpcc.edu>
* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
not doubleword aligned.
Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu>
* i386/crtdll.h (CPP_PREDEFINES): Fix typo.
* i386/mingw32.h (CPP_PREDEFINES): Likewise.
Fri Oct 23 22:41:40 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.md (movsf): Disable explicit secondary-reload-like
functionality if TARGET_POWERPC64.
(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
functionality.
Fri Oct 23 22:38:57 1998 Jeffrey A Law (law@cygnus.com)
* m68k.md (5200 movqi): Do not allow byte sized memory references
using address regs.
* m68k.c (output_move_qimode): Do not use byte sized operations on
address registers.
Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com>
* expr.c (pending_chain): Move up.
(save_expr_status): Do save pending_chain.
(restore_expr_status): And restore it.
* function.h (struct function): Add pending_chain.
Mon Oct 19 13:22:13 1998 Geoff Keating <geoffk@ozemail.com.au>
* loop.c (scan_loop): Be more selective about what invariants are
moved out of a loop.
Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com)
* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com)
* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
* config/t-rtems: Do not install assert.h -- use newlib's.
Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com>
* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
Fri Oct 2 01:33:30 1998 Jim Wilson <wilson@cygnus.com>
* i386/winnt.c (i386_pe_asm_file_end): Check
TREE_SYMBOL_REFERENCED.
Fri Oct 2 01:31:54 1998 Jeffrey A Law (law@cygnus.com)
* regclass.c (reg_scan_mark_refs): Return immediately if passed a
NULL_RTX as an argument.
* gcc.texi: Fix version # that somehow slipped through.
Fri Oct 2 01:24:19 1998 Geoff Keating <geoffk@ozemail.com.au>
* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
mem_first_set, mem_last_set; because 0 can be a CUID.
(oprs_unchanged_p): Use new definition.
(record_last_reg_set_info): Likewise.
(record_last_mem_set_info): Likewise.
(compute_hash_table): Likewise.
Fri Oct 2 01:20:04 1998 Richard Earnshaw (rearnsha@arm.com)
* arm.c (add_constant): New parameter address_only, change caller.
Set it non-zero if taking the address of an item in the pool.
(arm_reorg): Handle cases where we need the address of an item in
the pool.
* arm.c (bad_signed_byte_operand): Check both arms of a sum in
a memory address.
* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
memory addresses that are not in standard canonical form.
Fri Oct 2 01:16:02 1998 Jeffrey A Law (law@cygnus.com)
* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
empty or has a single entry.
Sat Sep 5 23:29:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
for exact section attributions.
* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
runtime.
* i386/crtdll.h (CPP_PREDEFINES): Define.
Sat Sep 5 21:46:47 1998 Richard Henderson <rth@cygnus.com>
* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
not whatever we're generating now.
Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se>
* m68k.md (zero_extendsidi2): Fix typo.
Tue Sep 1 01:58:38 1998 Jeffrey A Law (law@cygnus.com)
* egcs-1.1 released.
* version.c: Update for egcs-1.1 release.
Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com)
* NEWS: Add SCO Openserver and Unixware 7 notes.
* NEWS: Fix typos.
Sat Aug 29 14:52:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and
length attributes to match May 3rd changes made here.
* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make
call-used %l7 when generating pic code.
Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu>
* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
.linkonce directive after the first time.
Sat Aug 29 14:48:12 1998 Jeffrey A Law (law@cygnus.com)
* m68k.md (beq0_di): Generate correct (and more efficient) code when
the clobbered operand overlaps with an input.
(bne0_di): Similarly.
Sat Aug 29 12:38:54 1998 Jeffrey A Law (law@cygnus.com)
* NEWS: Various updates.
Tue Aug 25 19:35:24 1998 Jim Wilson <wilson@cygnus.com>
* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
(rs6000-ibm-aix4.[12]*): Likewise.
* configure: Regnerate.
Thu Aug 27 23:44:49 1998 Jeffrey A Law (law@cygnus.com)
* reload1.c (forget_old_reloads_1): Keep track of the largest mode
found while stripping SUBREGS and invalidate reloads for all the hard
regs specified by that largest mode. egcs-1.1 only hack. The
mainline tree will get a better fix.
Tue Aug 25 19:43:11 1998 Jeffrey A Law (law@cygnus.com)
* From Alexandre:
* configure.in: Do not set thread_file to "irix" since no such
support exists yet.
* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
an insn on the unfilled_slots_list that has no delay slots.
(fill_eager_delay_slots): Similarly.
Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
operand.
(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
'o' to 'm' for GPR variant constraints.
* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
Mon Aug 24 01:21:38 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Aug 23 00:47:52 1998 Jeffrey A Law (law@cygnus.com)
* regmove.c (optimize_reg_copy_3): Disable for egcs-1.1.
Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com>
* config/i386/winnt.c: Include system.h, not stdio.h to get
sys/param.h pulled in before rtl.h in case the system defines MIN
and MAX.
Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
and DImode 64-bit. Use llong for minimal-toc SFmode and
SYMBOL_REF / LABEL_REF 64-bit.
(output_function_profiler): Use llong for profiler label and ld to
load 64-bit label address.
Tue Aug 18 23:48:30 1998 Richard Henderson <rth@cygnus.com>
* c-common.c (decl_attributes): Issue an error if the argument
to alias is not a string.
Tue Aug 18 13:05:59 BST 1998 Richard Earnshaw (rearnsha@arm.com)
* arm.c (arm_override_options): Remove lie about ignoring PIC flag.
Tue Aug 18 10:32:11 1998 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
pending memory flush list.
* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
on notes.
* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
and REG_LIVE_LENGTH as successful substitutions are made.
Mon Aug 17 21:07:19 1998 Jeffrey A Law (law@cygnus.com)
* From Graham
* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
to itype.
* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
a BASE_REGS register is needed as an intermediate when copying
a symbolic value into any register class other than BASE_REGS.
Mon Aug 17 11:25:52 1998 Richard Earnshaw <rearnsha@arm.com>
* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
for architecture v4.
Sun Aug 16 00:57:48 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com>
* reload.c (find_equiv_reg): Reject equivalences separated
by a volatile instruction.
Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org)
* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
return type.
* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com)
From Joern:
* expr.c (store_expr): Don't optimize away load-store pair
when either source or destination have a side effect.
* loop.c (add_label_notes): Do not ignore references to labels
before dispatch tables. Mirrors Apr 8 change to mark_jump_label.
* gcse.c (add_label_notes): Similarly.
* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
* m68k.md (adddi_dilshr32): One of the operands must be a register.
(adddi_dishl32): Similarly.
Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
* i386/cygwin32.h (DEFAULT_PCC_STRUCT_RETURN): Define.
Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au>
* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com)
* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
point.
(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
Fri Aug 14 01:23:23 1998 Jeffrey A Law (law@cygnus.com)
* README.RS6000: Bring over dje's changes from the mainline
source tree.
Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com>
* install.texi: Various SCO OpenServer tweaks.
Thu Aug 13 19:55:05 1998 Jim Wilson <wilson@cygnus.com>
* reload1.c (eliminate_regs_in_insn): Handle another case when
eliminating the frame pointer to the hard frame pointer. Add
missing ep->to_rtx check to one existing case.
Tue Aug 11 17:45:39 1998 Dave Love <d.love@dl.ac.uk>
* README.g77: Update from Craig.
Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org)
* rs6000.c (rs6000_allocate_stack_space) Fix typo which
caused bad assembly code to be generated.
Sat Aug 8 18:52:51 1998 Jeffrey A Law (law@cygnus.com)
* netbsd.h: Fix typo.
Mon Aug 3 23:43:55 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com)
* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
* m68k/netbsd.h: Likewise.
* ns32k/netbsd.h: Likewise.
* sparc/netbsd.h: Likewise.
Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
* configure.in (mingw configuration): Fix typo.
* configure: Rebuilt.
Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com>
* rs6000.c (rs6000_override_options): If big endian and -Os, use
load/store multiple instructions unless user overrides.
Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com)
* ns32k/netbsd.h: Fix typo.
Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
(AR_FOR_TARGET): Define.
Thu Jul 30 19:11:30 1998 Richard Henderson <rth@cygnus.com>
* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
Thu Jul 30 12:51:09 1998 Mark Mitchell <mark@markmitchell.com>
* dyn-string.h: New file.
* dyn-string.c: Likewise.
* Makefile.in (OBJS): Add dyn-string.o.
(dwarf2out.o): Add dyn-string.h dependency.
(dyn-string.o): List dependencies.
* dwarf2out.c: Include dyn-string.h.
(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
(addr_const_to_string): Take a dyn_string_t, not a char* as a
prototype. Use dyn_string_append rather than strcat, throughout.
(addr_to_string): Use dyn_string_t.
Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com)
* i386.md (movqi): When optimizing a load of (const_int 1) into a
NON_QI_REG_P, pretend the register is SImode.
Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org>
* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
manufacturer id for ns32k.
* configure: Regenerated.
* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
* config/m68k/netbsd.h: Same.
* config/ns32k/netbsd.h: Same.
* config/sparc/netbsd.h: Same.
Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com)
* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
or UNROLL_COMPLETELY loop that starts with a jump to its
exit code.
Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
(print_operand, case 'B'): Don't fall through.
(print_operand, case 'S'): Correct mask begin/end computation.
Use HOST_BITS_PER_WIDE_INT.
* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
* rs6000/aix41.h (CPP_PREDEFINES): Same.
* rs6000/aix43.h (CPP_PREDEFINES): Same.
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
* configure.in: Fix --without/--disable cases for local-prefix,
gxx-include-dir and checking.
Tue Jul 28 22:10:43 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* configure.in (enable_haifa): Set by default for sparc64 too.
configure: Rebuilt.
Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com>
* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
* i386/winnt.c (associated_type): New fn.
(i386_pe_valid_type_attribute_p): New fn.
(i386_pe_check_vtable_importexport): Remove.
(i386_pe_dllexport_p): Use associated_type.
(i386_pe_dllimport_p): Likewise.
From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
* i386.c (i386_valid_type_attribute_p): Also accept
attributes for METHOD_TYPEs.
Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de>
* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org>
* gcc.c: Fix commentary describing %g, %u, %U, and %O.
* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
them from generating a new base name for each occurence of
a specific suffix.
1998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com>
* cse.c (cse_insn): Enable subsitution inside libcall only for REG,
SUBREG, MEM.
* rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE.
Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com>
* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
identical.
Mon Jul 27 22:20:02 1998 Jeffrey A Law (law@cygnus.com)
* pa.c (move_operand): Accept CONSTANT_P_RTX.
Mon Jul 27 00:46:56 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org)
* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
the frame pointer and compiling PIC code and reload has not completed.
* i386.c (output_to_reg): Add code to emulate non-popping DImode
case.
Sun Jul 26 01:02:54 1998 Jeffrey A Law (law@cygnus.com)
* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* Makefile.in (install-info): Only try to update the info
directory file if it exists in the first place.
Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de>
* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com>
* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
already defined type.
Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* profile.c (branch_prob): Call allocate_reg_info after outputting
profile rtl in instrument_arcs.
Tue Jul 21 22:40:09 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de>
* cccp.c (do_include): Fix vax c style include handling.
Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@mhpcc.edu>
* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
(u_short_cint_operand): Same.
(reg_or_cint_operand): Same.
(logical_operand): Same.
(input_operand): Same.
(reg_or_short_operand): Use u_short_cint_operand.
Tue Jul 21 03:59:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* jump.c (jump_optimize): When simplifying noop moves and
PUSH_ROUNDING, fix thinko so we use same criterion for identifying
the PUSHes to rewrite in second loop as we did in the first.
Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com)
* gcc.c (do_spec): Call "error" not "warning".
* configure.in: Fix minor problems with gas feature detection code.
* configure: Rebuilt.
* gcc.c (do_spec): Issue a warning for '%[]' usage.
* Undo this change.
* gcc.c: Delete %[spec] support.
(do_spec_1, case '('): Likewise.
(do_spec_1, case '['): Call error.
Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com>
* alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget.
(CPP_SUBTARGET_SPEC): Default to empty string.
(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
(LIB_SPEC): Tidy.
* alpha/linux.h (CPP_PREDEFINES): Tidy.
* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
* alpha/vsf.h (CPP_PREDEFINES): Likewise.
(CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC.
* alpha/vxworks.h: Likewise.
Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com>
* mips.md (reload_outsi): Added missing REGNO call.
(smulsi3_highpart, umulsi3_highpart): Provide prototype for
function pointer.
(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
another match_operator and compare the codes.
* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
* MIPS multiply pattern fixes:
* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
Add union classes for HI, LO, or HILO plus general registers.
(GENERATE_MADD): Deleted.
* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
Add TARGET_MAD to condition.
(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
(mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use
"*d" for accumulator, to give preference to LO initially but not
during reload.
Mon Jul 20 01:13:19 1998 Jim Wilson <wilson@cygnus.com>
* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
Sat Jul 18 15:20:19 1998 Mark Mitchell <mark@markmitchell.com>
* loop.c (maybe_eliminate_biv_1): Avoid signed/unsigned comparison
confusion when setting cc0.
Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com)
* tree.c (valid_machine_attribute): Only create a new type variant if
there is a decl to use it.
Fri Jul 17 02:01:00 1998 Jeffrey A Law (law@cygnus.com)
* Makefile.in (WARN_CFLAGS): Disable -W -Wall for the release
branch.
Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com>
* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
a suffix.
Thu Jul 16 17:07:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* cplus-dem.c (demangle_nested_args): Make function definition
static to match the prototype.
Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com>
* loop.c (emit_iv_add_mult): Scan the entire insn list generated
for the sequence, recording base values.
Wed Jul 15 00:52:54 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Wed Jul 15 00:52:20 PDT 1998 Jeff Law (law@cygnus.com)
* version.c: Bump for snapshot.
Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com>
* gcc.c: Remove ANSI-C ism from --help code.
* toplev.c: Support --help with USE_CPPLIB.
Tue Jul 14 02:20:38 1998 Jeffrey A Law (law@cygnus.com)
* configure.in: Rework gas feature code to work with symlink based
source trees.
* version.c: Bump to avoid problems with old spec files during
bootstrap.

View File

@@ -1,14 +1,30 @@
This file documents the installation of the GNU compiler. Copyright
This is Info file INSTALL, produced by Makeinfo version 1.68 from the
input file install1.texi.
This file documents the installation of the GNU compiler. Copyright
(C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. You
may copy, distribute, and modify it freely as long as you preserve this
copyright notice and permission notice.

File: INSTALL, Node: Installation, Up: (dir)
Installing GNU CC
*****************
Note most of this information is out of date and superceded by the
EGCS install procedures. It is provided for historical reference only.
* Menu:
* Configurations:: Configurations Supported by GNU CC.
* Other Dir:: Compiling in a separate directory (not where the source is).
* Cross-Compiler:: Building and installing a cross-compiler.
* Sun Install:: See below for installation on the Sun.
* VMS Install:: See below for installation on VMS.
* Collect2:: How `collect2' works; how it finds `ld'.
* Header Dirs:: Understanding the standard header file directories.
Here is the procedure for installing GNU CC on a Unix system. See
*Note VMS Install::, for VMS systems. In this section we assume you
compile in the same directory that contains the source files; see *Note
@@ -48,13 +64,13 @@ and includes all the necessary compilation tools and libraries.
what your configuration is or guesses wrong.
In those cases, specify the build machine's "configuration name"
with the `--build' option; the host and target will default to be
the same as the build machine. (If you are building a
with the `--host' option; the host and target will default to be
the same as the host machine. (If you are building a
cross-compiler, see *Note Cross-Compiler::.)
Here is an example:
./configure --build=sparc-sun-sunos4.1
./configure --host=sparc-sun-sunos4.1
A configuration name may be canonical or it may be more or less
abbreviated.
@@ -163,7 +179,6 @@ and includes all the necessary compilation tools and libraries.
other systems where it could usefully make a difference.
`--enable-haifa'
`--disable-haifa'
Use `--enable-haifa' to enable use of an experimental
instruction scheduler (from IBM Haifa). This may or may not
@@ -182,6 +197,14 @@ and includes all the necessary compilation tools and libraries.
possibilities for TYPE are `single', `posix', `win32',
`solaris', `irix' and `mach'.
`--enable-checking'
When you specify this option, the compiler is built to
perform checking of tree node types when referencing fields
of that node. This does not change the generated code, but
adds error checking within the compiler. This will slow down
the compiler and may only work properly if you are building
the compiler with GNU C.
The `configure' script searches subdirectories of the source
directory for other compilers that are to be integrated into GNU
CC. The GNU compiler for C++, called G++ is in a subdirectory
@@ -227,20 +250,22 @@ and includes all the necessary compilation tools and libraries.
name to use instead of `/usr/local' for all purposes with one
exception: the directory `/usr/local/include' is searched for
header files no matter where you install the compiler. To override
this name, use the `--local-prefix' option below.
this name, use the `--with-local-prefix' option below. The
directory you specify need not exist, but its parent directory
must exist.
5. Specify `--local-prefix=DIR' if you want the compiler to search
directory `DIR/include' for locally installed header files
5. Specify `--with-local-prefix=DIR' if you want the compiler to
search directory `DIR/include' for locally installed header files
*instead* of `/usr/local/include'.
You should specify `--local-prefix' *only* if your site has a
You should specify `--with-local-prefix' *only* if your site has a
different convention (not `/usr/local') for where to put
site-specific files.
The default value for `--local-prefix' is `/usr/local' regardless
of the value of `--prefix'. Specifying `--prefix' has no effect
on which directory GNU CC searches for local header files. This
may seem counterintuitive, but actually it is logical.
The default value for `--with-local-prefix' is `/usr/local'
regardless of the value of `--prefix'. Specifying `--prefix' has
no effect on which directory GNU CC searches for local header
files. This may seem counterintuitive, but actually it is logical.
The purpose of `--prefix' is to specify where to *install GNU CC*.
The local header files in `/usr/local/include'--if you put any in
@@ -248,12 +273,12 @@ and includes all the necessary compilation tools and libraries.
programs--perhaps many others. (GNU CC installs its own header
files in another directory which is based on the `--prefix' value.)
*Do not* specify `/usr' as the `--local-prefix'! The directory
you use for `--local-prefix' *must not* contain any of the
system's standard header files. If it did contain them, certain
programs would be miscompiled (including GNU Emacs, on certain
targets), because this would override and nullify the header file
corrections made by the `fixincludes' script.
*Do not* specify `/usr' as the `--with-local-prefix'! The
directory you use for `--with-local-prefix' *must not* contain any
of the system's standard header files. If it did contain them,
certain programs would be miscompiled (including GNU Emacs, on
certain targets), because this would override and nullify the
header file corrections made by the `fixincludes' script.
Indications are that people who use this option use it based on
mistaken ideas of what it is for. People use it as if it specified
@@ -300,8 +325,9 @@ and includes all the necessary compilation tools and libraries.
escape sequence" are normal in `genopinit.c' and perhaps some
other files. Likewise, you should ignore warnings about "constant
is so large that it is unsigned" in `insn-emit.c' and
`insn-recog.c' and a warning about a comparison always being zero
in `enquire.o'. Any other compilation errors may represent bugs in
`insn-recog.c', a warning about a comparison always being zero in
`enquire.o', and warnings about shift counts exceeding type widths
in `cexp.y'. Any other compilation errors may represent bugs in
the port to your machine or operating system, and should be
investigated and reported.
@@ -433,12 +459,12 @@ and includes all the necessary compilation tools and libraries.
This copies the files `cc1', `cpp' and `libgcc.a' to files `cc1',
`cpp' and `libgcc.a' in the directory
`/usr/local/lib/gcc-lib/TARGET/VERSION', which is where the
compiler driver program looks for them. Here TARGET is the target
machine type specified when you ran `configure', and VERSION is
the version number of GNU CC. This naming scheme permits various
versions and/or cross-compilers to coexist. It also copies the
executables for compilers for other languages (e.g., `cc1plus' for
C++) to the same directory.
compiler driver program looks for them. Here TARGET is the
canonicalized form of target machine type specified when you ran
`configure', and VERSION is the version number of GNU CC. This
naming scheme permits various versions and/or cross-compilers to
coexist. It also copies the executables for compilers for other
languages (e.g., `cc1plus' for C++) to the same directory.
This also copies the driver program `xgcc' into
`/usr/local/bin/gcc', so that it appears in typical execution
@@ -465,8 +491,13 @@ and includes all the necessary compilation tools and libraries.
library. All I/O functionality, special class libraries, etc., are
provided by the C++ runtime library.
Here's one way to build and install a C++ runtime library for GNU
CC:
The standard C++ runtime library for GNU CC is called `libstdc++'.
An obsolescent library `libg++' may also be available, but it's
necessary only for older software that hasn't been converted yet;
if you don't know whether you need `libg++' then you probably don't
need it.
Here's one way to build and install `libstdc++' for GNU CC:
* Build and install GNU CC, so that invoking `gcc' obtains the
GNU CC that was just built.
@@ -535,6 +566,9 @@ and includes all the necessary compilation tools and libraries.
* thr-win32 Microsoft Win32 API thread support.

File: INSTALL, Node: Configurations, Next: Other Dir, Up: Installation
Configurations Supported by GNU CC
==================================
@@ -742,9 +776,10 @@ special things you must know:
AMD Am29050 used in a system running a variant of BSD Unix.
`decstation-*'
DECstations can support three different personalities: Ultrix, DEC
OSF/1, and OSF/rose. To configure GCC for these platforms use the
following configurations:
MIPS-based DECstations can support three different personalities:
Ultrix, DEC OSF/1, and OSF/rose. (Alpha-based DECstation products
have a configuration name beginning with `alpha-dec'.) To
configure GCC for these platforms use the following configurations:
`decstation-ultrix'
Ultrix configuration.
@@ -799,7 +834,9 @@ special things you must know:
later). These can be retrieved from all the traditional GNU ftp
archive sites.
GAS will need to be installed into a directory before `/bin',
On some versions of HP-UX, you will need to install GNU `sed'.
You will need to be install GAS into a directory before `/bin',
`/usr/bin', and `/usr/ccs/bin' in your search path. You should
install GAS before you build GNU CC.
@@ -834,24 +871,32 @@ special things you must know:
`i386-*-sco3.2v5*'
Use this for the SCO OpenServer Release family including 5.0.0,
5.0.2, 5.0.4, Internet FastStart 1.0, and Internet FastStart 1.1.
5.0.2, 5.0.4, 5.0.5, Internet FastStart 1.0, and Internet
FastStart 1.1.
GNU CC can generate ELF binaries (if you specify `-melf') or COFF
binaries (the default). If you are going to build your compiler
in ELF mode (once you have bootstrapped the first stage compiler)
you *must* specify `-melf' as part of `CC', *not* `CFLAGS', for
example as `CC="stage1/xgcc -melf -Bstage1/" '. If you do not do
this, the bootstrap will generate incorrect versions of `libgcc.a'.
GNU CC can generate COFF binaries if you specify `-mcoff' or ELF
binaries, the default. A full `make bootstrap' is recommended
so that an ELF compiler that builds ELF is generated.
You must have TLS597 (from ftp.sco.com/TLS) installed for ELF
binaries to work correctly. Note that Open Server 5.0.2 *does*
need TLS597 installed.
You must have TLS597 from `ftp://ftp.sco.com/TLS' installed for ELF
C++ binaries to work correctly on releases before 5.0.4.
*NOTE:* You must follow the instructions about invoking `make
bootstrap' because the native OpenServer compiler builds a
`cc1plus' that will not correctly parse many valid C++ programs.
You must do a `make bootstrap' if you are building with the native
compiler.
The native SCO assembler that is provided with the OS at no charge
is normally required. If, however, you must be able to use the GNU
assembler (perhaps you have complex asms) you must configure this
package `--with-gnu-as'. To do this, install (cp or symlink)
gcc/as to your copy of the GNU assembler. You must use a recent
version of GNU binutils; version 2.9.1 seems to work well. If you
select this option, you will be unable to build COFF images.
Trying to do so will result in non-obvious failures. In general,
the "-with-gnu-as" option isn't as well tested as the native
assembler.
*NOTE:* If you are building C++, you must follow the instructions
about invoking `make bootstrap' because the native OpenServer
compiler may build a `cc1plus' that will not correctly parse many
valid C++ programs. You must do a `make bootstrap' if you are
building with the native compiler.
`i386-*-isc'
It may be a good idea to link with GNU malloc instead of the
@@ -872,10 +917,8 @@ special things you must know:
Go to the Berkeley universe before compiling.
`i386-sequent-ptx1*'
Sequent DYNIX/ptx 1.x.
`i386-sequent-ptx2*'
Sequent DYNIX/ptx 2.x.
You must install GNU `sed' before running `configure'.
`i386-sun-sunos4'
You may find that you need another version of GNU CC to begin
@@ -970,7 +1013,7 @@ special things you must know:
options to `configure'.
Note the C compiler that comes with this system cannot compile GNU
CC. You can fine binaries of GNU CC for bootstrapping on
CC. You can find binaries of GNU CC for bootstrapping on
`jagubox.gsfc.nasa.gov'. You will also a patched version of
`/bin/ld' there that raises some of the arbitrary limits found in
the original.
@@ -1059,9 +1102,9 @@ special things you must know:
In addition, if you wish to use gas `--with-gnu-as' you must use
gas version 2.1 or later, and you must use the GNU linker version
2.1 or later. Earlier versions of gas relied upon a program which
converted the gas output into the native HP/UX format, but that
converted the gas output into the native HP-UX format, but that
program has not been kept up to date. gdb does not understand
that native HP/UX format, so you must use gas if you wish to use
that native HP-UX format, so you must use gas if you wish to use
gdb.
`m68k-sun'
@@ -1248,13 +1291,15 @@ special things you must know:
xlc-1.2.1.8, xlc-1.3.0.0 (distributed with AIX 3.2.5), and
xlc-1.3.0.19. Both xlc-1.2.1.28 and xlc-1.3.0.24 (PTF 432238) are
known to produce working versions of GNU CC, but most other recent
releases correctly bootstrap GNU CC. Also, releases of AIX prior
to AIX 3.2.4 include a version of the IBM assembler which does not
accept debugging directives: assembler updates are available as
PTFs. Also, if you are using AIX 3.2.5 or greater and the GNU
assembler, you must have a version modified after October 16th,
1995 in order for the GNU C compiler to build. See the file
`README.RS6000' for more details on of these problems.
releases correctly bootstrap GNU CC.
Release 4.3.0 of AIX and ones prior to AIX 3.2.4 include a version
of the IBM assembler which does not accept debugging directives:
assembler updates are available as PTFs. Also, if you are using
AIX 3.2.5 or greater and the GNU assembler, you must have a
version modified after October 16th, 1995 in order for the GNU C
compiler to build. See the file `README.RS6000' for more details
on any of these problems.
GNU CC does not yet support the 64-bit PowerPC instructions.
@@ -1401,6 +1446,9 @@ special things you must know:
You may need to raise the ULIMIT setting to build a C++ compiler,
as the file `cc1plus' is larger than one megabyte.

File: INSTALL, Node: Other Dir, Next: Cross-Compiler, Prev: Configurations, Up: Installation
Compilation in a Separate Directory
===================================
@@ -1445,6 +1493,9 @@ configuration steps shown above, when ordinary source files change. You
must, however, run `configure' again when the configuration files
change, if your system does not support symbolic links.

File: INSTALL, Node: Cross-Compiler, Next: Sun Install, Prev: Other Dir, Up: Installation
Building and Installing a Cross-Compiler
========================================
@@ -1471,6 +1522,20 @@ If you want to link on other than the target machine, you need a
cross-linker as well. You also need header files and libraries suitable
for the target machine that you can install on the host machine.
* Menu:
* Steps of Cross:: Using a cross-compiler involves several steps
that may be carried out on different machines.
* Configure Cross:: Configuring a cross-compiler.
* Tools and Libraries:: Where to put the linker and assembler, and the C library.
* Cross Headers:: Finding and installing header files
for a cross-compiler.
* Cross Runtime:: Supplying arithmetic runtime routines (`libgcc1.a').
* Build Cross:: Actually compiling the cross-compiler.

File: INSTALL, Node: Steps of Cross, Next: Configure Cross, Up: Cross-Compiler
Steps of Cross-Compilation
--------------------------
@@ -1496,6 +1561,9 @@ machine, since then you can do it all with a single invocation of GNU
CC. This requires a suitable cross-assembler and cross-linker. For
some targets, the GNU assembler and linker are available.

File: INSTALL, Node: Configure Cross, Next: Tools and Libraries, Prev: Steps of Cross, Up: Cross-Compiler
Configuring a Cross-Compiler
----------------------------
@@ -1508,6 +1576,9 @@ system running BSD on a system that `configure' can correctly identify:
./configure --target=m68k-hp-bsd4.3

File: INSTALL, Node: Tools and Libraries, Next: Cross Headers, Prev: Configure Cross, Up: Cross-Compiler
Tools and Libraries for a Cross-Compiler
----------------------------------------
@@ -1576,6 +1647,9 @@ machine:
mget *crt*.o
quit

File: INSTALL, Node: Cross Runtime, Next: Build Cross, Prev: Cross Headers, Up: Cross-Compiler
`libgcc.a' and Cross-Compilers
------------------------------
@@ -1661,6 +1735,9 @@ Otherwise, you should place your replacement library under the name
`libgcc1.a' in the directory in which you will build the
cross-compiler, before you run `make'.

File: INSTALL, Node: Cross Headers, Next: Cross Runtime, Prev: Tools and Libraries, Up: Cross-Compiler
Cross-Compilers and Header Files
--------------------------------
@@ -1709,6 +1786,9 @@ machine. On the target machine, do this:
quit
tar xf tarfile

File: INSTALL, Node: Build Cross, Prev: Cross Runtime, Up: Cross-Compiler
Actually Building the Cross-Compiler
------------------------------------
@@ -1742,11 +1822,19 @@ must specify a 68030 as the host when you configure it.
To install the cross-compiler, use `make install', as usual.

File: INSTALL, Node: Sun Install, Next: VMS Install, Prev: Cross-Compiler, Up: Installation
Installing GNU CC on the Sun
============================
On Solaris (version 2.1), do not use the linker or other tools in
`/usr/ucb' to build GNU CC. Use `/usr/ccs/bin'.
On Solaris, do not use the linker or other tools in `/usr/ucb' to
build GNU CC. Use `/usr/ccs/bin'.
If the assembler reports `Error: misaligned data' when bootstrapping,
you are probably using an obsolete version of the GNU assembler.
Upgrade to the latest version of GNU `binutils', or use the Solaris
assembler.
Make sure the environment variable `FLOAT_OPTION' is not set when
you compile `libgcc.a'. If this option were set to `f68881' when
@@ -1772,6 +1860,9 @@ error which does not recur if you run it again. To fix the problem,
install Sun recommended patch 100726 (for SunOS 4.1.3) or 101508 (for
SunOS 4.1.3_U1), or upgrade to a later SunOS release.

File: INSTALL, Node: VMS Install, Next: Collect2, Prev: Sun Install, Up: Installation
Installing GNU CC on VMS
========================
@@ -1977,6 +2068,9 @@ edit the file `tm.h' (created by `vmsconfig.com') to define the macro
`QSORT_WORKAROUND' is always defined when GNU CC is compiled with
VAX C, to avoid a problem in case `gcclib.olb' is not yet available.

File: INSTALL, Node: Collect2, Next: Header Dirs, Prev: VMS Install, Up: Installation
`collect2'
==========
@@ -2042,6 +2136,9 @@ search path.
`collect2' searches for the utilities `nm' and `strip' using the
same algorithm as above for `ld'.

File: INSTALL, Node: Header Dirs, Prev: Collect2, Up: Installation
Standard Header File Directories
================================
@@ -2070,3 +2167,22 @@ use. For a cross-compiler, this is the equivalent of `/usr/include'.
When you build a cross-compiler, `fixincludes' processes any header
files in this directory.

Tag Table:
Node: Installation351
Node: Configurations26618
Node: Other Dir65739
Node: Cross-Compiler67454
Node: Steps of Cross69284
Node: Configure Cross70401
Node: Tools and Libraries71037
Node: Cross Runtime73475
Node: Cross Headers77555
Node: Build Cross79553
Node: Sun Install81428
Node: VMS Install83099
Node: Collect293028
Node: Header Dirs95592

End Tag Table

View File

@@ -63,7 +63,7 @@ XCFLAGS =
TCFLAGS =
CFLAGS = -g
BOOT_CFLAGS = -O2 $(CFLAGS)
WARN_CFLAGS = -W -Wall
WARN_CFLAGS =
# These exists to be overridden by the x-* and t-* files, respectively.
X_CFLAGS =
T_CFLAGS =
@@ -641,7 +641,8 @@ OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \
regclass.o local-alloc.o global.o reload.o reload1.o caller-save.o gcse.o \
insn-peep.o reorg.o $(SCHED_PREFIX)sched.o final.o recog.o reg-stack.o \
insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o \
profile.o insn-attrtab.o $(out_object_file) getpwd.o $(EXTRA_OBJS) convert.o
profile.o insn-attrtab.o $(out_object_file) getpwd.o $(EXTRA_OBJS) convert.o \
dyn-string.o
# GEN files are listed separately, so they can be built before doing parallel
# makes for cc1 or cc1plus. Otherwise sequent parallel make attempts to load
@@ -1413,7 +1414,7 @@ dwarfout.o : dwarfout.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) dwarf.h \
flags.h insn-config.h reload.h output.h defaults.h toplev.h dwarfout.h
dwarf2out.o : dwarf2out.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) dwarf2.h \
flags.h insn-config.h reload.h output.h defaults.h \
hard-reg-set.h $(REGS_H) $(EXPR_H) toplev.h dwarf2out.h
hard-reg-set.h $(REGS_H) $(EXPR_H) toplev.h dwarf2out.h dyn-string.h
xcoffout.o : xcoffout.c $(CONFIG_H) system.h $(TREE_H) $(RTL_H) xcoffout.h \
flags.h toplev.h output.h dbxout.h
emit-rtl.o : emit-rtl.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) flags.h \
@@ -1489,6 +1490,7 @@ recog.o : recog.c $(CONFIG_H) system.h $(RTL_H) \
insn-flags.h insn-codes.h real.h
reg-stack.o : reg-stack.c $(CONFIG_H) system.h $(RTL_H) $(TREE_H) \
$(REGS_H) hard-reg-set.h flags.h insn-config.h insn-flags.h toplev.h
dyn-string.o: dyn-string.c dyn-string.h $(CONFIG_H) system.h gansidecl.h
$(out_object_file): $(out_file) $(CONFIG_H) $(TREE_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
@@ -2002,9 +2004,12 @@ stmp-fixinc: $(FIXINCLUDES) gsyslimits.h
$(SHELL) $(srcdir)/$(FIXINCLUDES) include $$dir; \
else true; fi; \
done; \
rm -f include/assert.h; \
cp $(srcdir)/assert.h include/assert.h; \
chmod a+r include/assert.h; \
if [ x$(INSTALL_ASSERT_H) != x ] ; \
then \
rm -f include/assert.h; \
cp $(srcdir)/assert.h include/assert.h; \
chmod a+r include/assert.h; \
fi \
else true; \
fi
rm -f include/syslimits.h
@@ -2384,9 +2389,11 @@ install-info: doc installdirs lang.install-info
$(INSTALL_DATA) $$f $(infodir)/$$f; \
done
-if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
if [ -f $(infodir)/dir ] ; then \
for f in cpp.info gcc.info; do \
install-info --dir-file=$(infodir)/dir $(infodir)/$$f; \
done; \
else true; fi; \
else true; fi;
-chmod a-x $(infodir)/cpp.info* $(infodir)/gcc.info*

106
gcc/NEWS
View File

@@ -1,4 +1,104 @@
Noteworthy changes in GCC for EGCS.
Noteworthy changes in GCC for EGCS 1.1.
---------------------------------------
The compiler now implements global common subexpression elimination (gcse) as
well as global constant/copy propagation. (link to gcse page).
More major improvements have been made to the alias analysis code. A new
option to allow front-ends to provide alias information to the optimizers
has also been added (-fstrict-aliasing). -fstrict-aliasing is off by default
now, but will be enabled by default in the future. (link to alias page)
Major changes continue in the exception handling support. This release
includes some changes to reduce static overhead for exception handling. It
also includes some major changes to the setjmp/longjmp based EH mechanism to
make it less pessimistic. And finally, major infrastructure improvements
to the dwarf2 EH mechanism have been made to make our EH support extensible.
We have fixed the infamous security problems with temporary files.
The "regmove" optimization pass has been nearly completely rewritten. It now
uses much more information about the target to determine profitability of
transformations.
The compiler now recomputes register usage information immediately before
register allocation. Previously such information was only not kept up to
date after instruction combination which led to poor register allocation
choices by our priority based register allocator.
The register reloading phase of the compiler has been improved to better
optimize spill code. This primarily helps targets which generate lots of
spills (like the x86 ports and many register poor embedded ports).
A few changes in the heuristics used by the register allocator and scheduler
have been made which can significantly improve performance for certain
applications.
The compiler's branch shortening algorithms have been significantly improved
to work better on targets which align jump targets.
The compiler now supports the "ADDRESSOF" optimization which can significantly
reduce the overhead for certain inline calls (and inline calls in general).
The compiler now supports a code size optimization switch (-Os). When enabled
the compiler will prefer optimizations which improve code size over those
which improve code speed.
The compiler has been improved to completely eliminate library calls which
compute constant values. This is particularly useful on machines which
do not have integer mul/div or floating point support on-chip.
GCC now supports a "--help" option to print detailed help information.
cpplib has been greatly improved. It is probably useable for some sites now
(major missing feature is trigraphs).
Memory footprint for the compiler has been significantly reduced for certain
pathalogical cases.
Build time improvements for targets which support lots of sched parameters
(alpha and mips primarily).
Compile time for certain programs using large constant initializers has been
improved (effects glibc significantly).
Plus an incredible number of infrastructure changes, warning fixes, bugfixes
and local optimizations.
Various improvements have been made to better support cross compilations. They
are still not easy, but they are improving.
Target specific NEWS
Sparc: Now includes V8 plus and V9 support, lots of tuning for Ultrasparcs
and uses the Haifa scheduler by default.
Alpha: EV6 tuned, optimized expansion of memcpy/bzero.
x86: Data in the static store is aligned per Intel recommendations. Jump
targets are aligned per Intel recommendations. Improved epilogue
sequences for Pentium chips. Backend improvements which should help
register allocation on all x86 variants. Support for PPro conditional
move instructions has been fixed and enabled. Random changes
throughout the port to make generated code more Pentium friendly.
Improved support for 64bit integer operations.
Unixware 7, a System V Release 5 target is now supported.
SCO OpenServer targets can support GAS. See gcc/INSTALL for details.
RS6000/PowerPC: Includes AIX4.3 support as well as PowerPC64 support.
Haifa instruction scheduling is enabled by default now.
MIPS: Multiply/Multiply-Add support has been largely rewritten to generate
more efficient code. Includes mips16 support.
M68K: Various micro-optimizations and Coldfire fixes.
M32r: Major improvements to this port.
Arm: Includes Thumb and super interworking support.
EGCS includes all gcc2 changes up to and including the June 9, 1998 snapshot.
Noteworthy changes in GCC version 2.8.1
---------------------------------------
@@ -138,7 +238,7 @@ New features for Motorola 68k family:
New features for the HP PA RISC:
-mspace and m-no-space
-mspace and -mno-space
-mlong-load-store and -mno-long-load-store
-mbig-switch -mno-big-switch
@@ -171,7 +271,7 @@ New features for rs6000 and PowerPC systems:
The Linux-based GNU system running on PowerPC's.
-mcpu=604e,602,603e,620,801,823,mpc505,821,860,power2
-mtune=xxx
-mrelocatable-lib, m-no-relocatable-lib
-mrelocatable-lib, -mno-relocatable-lib
-msim, -mmve, -memb
-mupdate, -mno-update
-mfused-madd, -mno-fused-madd

View File

@@ -1,4 +1,4 @@
This directory contains the egcs version 1.0 release of the GNU C
This directory contains the egcs version 1.1.1 release of the GNU C
compiler. It includes all of the support for compiling C++ and
Objective C, including a run-time library for Objective C.

View File

@@ -1,3 +1,16 @@
AIX 4.3 archive libraries
AIX 4.3 utilizes a new "large format" archive to support both 32-bit and
64-bit object modules. The routines provided in AIX 4.3.0 and AIX 4.3.1
to parse archive libraries did not handle the new format correctly. These
routines are used by GCC and result in error messages during linking such
as "not a COFF file". The version of the routines shipped with AIX 4.3.1
should work for a 32-bit environment. The "-g" option of the archive
command may be used to create archives of 32-bit objects using the
original "small format". A correct version of the routines is shipped
with AIX 4.3.2.
AIX 4.3 assembler
The AIX 4.3.0.0 assembler generates incorrect object files if the ".bs"
@@ -5,12 +18,19 @@ pseudo-op references symbols in certain sections. If GCC is invoked with
the -g debugging option (including during bootstrapping), incorrect object
files will be produced and the AIX linker will fail with a severe error.
A fix for APAR IX74254 (64BIT DISASSEMBLED OUPUT FROM COMPILER FAILS TO
ASSEMBLE/BIND) is available from IBM Customer Support and IBM's
ASSEMBLE/BIND) is available from IBM Customer Support and from its
service.boulder.ibm.com website as PTF U453956.
AIX 4.1 binder
Some versions of the AIX binder (linker) can fail with a relocation
overflow severe error when the -bbigtoc option is used to link
GCC-produced object files into an executable that overflows the TOC.
Linking f771, the GNU Fortran backend, will fail in this manner. A fix
for APAR IX75823 (OVERFLOW DURING LINK WHEN USING GCC AND -BBIGTOC) is
available from IBM Customer Support and from its website as PTF U455193.
Due to changes in the way that GCC invokes the binder (linker) for AIX 4.1,
the link step now may produce warnings of duplicate symbols which were not
reported before. The assembly files generated by GCC for AIX always have
@@ -104,8 +124,7 @@ assembler.
Any customer can order and get the replacement assembler, and install it on
one or more machines. It is available on diskette from IBM Customer Support
and from the IBM Internet fix anonymous ftp server (FixDist) at
service.boulder.ibm.com (198.17.57.66).
and from its website.
If you contact IBM Customer Support, they may also ask you for your customer
number. If you do not know it, you will still be able to get the fix, but

View File

@@ -1,134 +1,221 @@
1998-03-08
1998-08-11
This directory contains the version 0.5.22 release of the GNU Fortran
compiler. The GNU Fortran compiler is free software. See the file
COPYING.g77 for copying permission.
This directory contains the egcs variant of version 0.5.24 of the
GNU Fortran compiler (g77). The GNU Fortran compiler is free software.
See the file COPYING.g77 for copying permission.
* IMPORTANT: Things you *must* do are marked with a * at the beginning of
the line in this file!!!
Currently, two variants of g77 exist. One is the Free Software Foundation
(FSF) variant. The other is the egcs variant. As of egcs version 1.1,
these variants are kept fairly similar in most respects. Pertinent
differences, such as the layout of the source code, are specified below.
* DO NOT send any email (reporting bugs, asking questions, etc.) to
<fortran@gnu.org> without *first* reading the g77 documentation,
using `info', Info mode in GNU Emacs, or a text viewer such as `more'.
The g77 documentation is in the files named `g77.info', `g77.info-1',
`g77.info-2', and so on in g77 `f' directory. If these files are
not present or you can't find them, contact the person or organization
that put together the g77 distribution you are using (probably not the
FSF), or ask your system administrator for help.
Below, `[FSF]' denotes information applicable to only the FSF variant of
g77, while `[egcs]' denotes egcs-only information.
This README is for GNU Fortran, and describes the files in the f/
directory. The f/ directory is intended to be a subdirectory of a
gcc source tree. These directories are referred to below as gcc/,
which is the top-level directory containing the gcc back end, the
gcc C front end, and other non-Fortran files, and gcc/f/, which
contains all of the Fortran files.
* To build GNU Fortran, you must have a source distribution of gcc
version 2.7.2.3. Do not attempt to use any other version
of gcc, because this version of g77 is designed to work only with
gcc version 2.7.2.3.
* IMPORTANT: Things you *must* do (or avoid) are marked with a * at the
beginning of the line in this file!!!
* Note that you must have source copies of these gcc distributions!!
You cannot build g77 just using binaries of gcc. Also, unless you
are an expert, avoid using any distribution of gcc not identical to
the one distributed by the FSF.
If you have just unpacked the g77 distribution, before proceeding,
The email address to which bugs are to be reported is either
[FSF] <fortran@gnu.org> or [egcs] <egcs-bugs@cygnus.com>.
* *DO NOT* send any email (reporting bugs, asking questions, etc.) to
either of these addresses without *first* reading the g77 documentation.
Use `info', Info mode in GNU Emacs, or a text viewer such as `more' to
do this.
The g77 documentation is in the source files named `g77.info',
`g77.info-1', `g77.info-2', and so on in the `f' subdirectory. If these
files are not present or you can't find them, contact the person or
organization that put together the g77 distribution you are using (probably
not the FSF or egcs), or ask your system administrator for help.
This README applies to only the g77-specific portions of the source-code
tree that contains it. These portions include:
- The README.g77 and [FSF] COPYING.g77 files, in this directory, "this
directory" being [FSF] the top-level directory containing a g77
distribution or [egcs] the gcc/ subdirectory of an egcs distribution.
- The g77 front end, in the f/ subdirectory of this directory.
- The libg2c library, in [FSF] the f/runtime/ subdirectory of this
directory or [egcs] the libf2c/ directory under the top-level
directory of the egcs distribution.
* To build g77, you must have a source distribution of [FSF] gcc
version 2.8 or [egcs] egcs version 1.1. Do not attempt to use
any other version of gcc or egcs, because this version of g77 is
designed to work with only those versions.
Note that you must have *source* copies of the gcc or egcs distribution!
You cannot build g77 just using binaries of gcc or egcs. Also, unless
you are an expert, avoid using any distribution of gcc or egcs not
identical to the ones distributed by the FSF and Cygnus Support,
respectively. The primary FSF distribution site is:
<ftp://ftp.gnu.org/pub/gnu/>
The primary egcs distribution site is:
<ftp://ftp.cygnus.com/pub/egcs/>
Both of these sites have approved mirror sites from which valid
distributions also may be obtained.
* Do not attempt to combine the egcs version of g77 with the FSF
gcc distribution, or the FSF version of g77 with the egcs gcc
distribution. Although the differences are minor, they might
be sufficient to prevent g77 from building properly, or from
working properly if the build appears to succeed.
[FSF] g77 is distributed as g77-<version>/f/ so that unpacking the g77
distribution is done in the normal GNU way, resulting in a directory having
the version number in the name. However, to build g77, the g77 distribution
must be merged with an appropriate gcc distribution, normally in a gcc
source directory, before configuring, building, and installing g77.
[FSF] If you have just unpacked the g77 distribution, before proceeding,
you must merge the contents of the g77 distribution with the appropriate
gcc distribution on your system before proceeding.
gcc distribution on your system.
* Read and follow the instructions in g77-0.5.22/f/INSTALL that
* [FSF] Read and follow the instructions in f/INSTALL that
explain how to merge a g77 source directory into a gcc source
directory. You can use Info to read the same installation
instructions via:
info -f g77-0.5.22/f/g77.info -n Unpacking
info -f f/g77.info -n Unpacking
The resulting directory layout includes the following, where gcc/ might be
a link to, for example, gcc-2.7.2.3/:
[FSF] The resulting directory layout includes the following, where gcc/
might be a link to, for example, gcc-2.8.1/:
gcc/ Non-Fortran files in gcc (not part of g77*.tar)
gcc/ Non-g77 files in gcc
gcc/COPYING.g77 A copy of the GPL, under which g77 is licensed
gcc/README.g77 This file
gcc/f/ GNU Fortran front end
gcc/f/gbe/ Patches required for gcc back end versions
gcc/f/runtime/ libf2c configuration and f2c.h file generation
gcc/f/runtime/libF77/ Non-I/O portion of libf2c
gcc/f/runtime/libI77/ I/O portion of libf2c
gcc/f/runtime/libU77/ Additional interfaces to libc for libf2c
gcc/f/runtime/ libg2c configuration and g2c.h file generation
gcc/f/runtime/libF77/ Non-I/O portion of libg2c
gcc/f/runtime/libI77/ I/O portion of libg2c
gcc/f/runtime/libU77/ Additional interfaces to libc for libg2c
gcc/f/ as a whole contains the program GNU Fortran (g77), plus a portion
of the separate program f2c, which is in gcc/f/runtime. NOTE: The libf2c
code is not part of the program g77, just distributed with it.
This directory is named gcc/f/ because it, along with its contents, is
designed to be a subdirectory of a GNU CC (gcc) development directory. I.e.
when a gcc distribution is unpacked into a directory (named gcc/ for
example), it typically contains subdirectories like gcc/config/ and
gcc/cp/. The latter is the subdirectory for the GNU C++ (g++) program.
Similarly, the g77 directory f/ is designed to be placed in gcc/ so that
it becomes the subdirectory gcc/f/. g77 is distributed as g77-someversion/f/
so that unpacking the g77 distribution is done in the normal GNU way,
resulting in a directory having the version number in the name. However,
to build g77, the g77 distribution must be merged with an appropriate gcc
distribution, normally in a gcc directory, before configuring, building,
and installing g77.
Applying g77 patches in the form of .diff files is done by typing
`patch -p1 -d gcc' (where gcc/f/ is the active version). That is,
[FSF] Applying g77 patches in the form of .diff files is done by typing
`patch -p1 -d gcc' (where gcc/ contains the f/ subdirectory). That is,
g77 patches are distributed in the same form, and at the same directory
level, as patches to the gcc distribution. (Note: make sure you're
using GNU patch, version 2.5 or later! Other versions of patch
have trouble with g77-related patches.)
gcc/f/ has text files that document the Fortran compiler, source
[egcs] The egcs version of g77 is distributed already merged with
the rest of egcs (such as the gcc back end).
[egcs] The resulting directory layout includes the following, where egcs/
might be a link to, for example, egcs-1.1/:
egcs/gcc/ Non-g77 files in gcc
egcs/gcc/README.g77 This file
egcs/gcc/f/ GNU Fortran front end
egcs/libf2c/ libg2c configuration and g2c.h file generation
egcs/libf2c/libF77/ Non-I/O portion of libg2c
egcs/libf2c/libI77/ I/O portion of libg2c
egcs/libf2c/libU77/ Additional interfaces to libc for libg2c
[egcs] Applying g77-specific patches to egcs is done the same way as
applying other egcs patches.
Below, `libf2c/' shall denote [FSF] gcc/f/runtime/ or [egcs] egcs/libf2c/,
while `f/' shall denote [FSF] the rest of gcc/f/ or [egcs] egcs/gcc/f/.
Components of note in g77 are described below.
f/ as a whole contains the program GNU Fortran (g77), while libf2c/
contains a portion of the separate program f2c. Note: The libf2c
code is not part of the program g77, just distributed with it.
f/ contains text files that document the Fortran compiler, source
files for the GNU Fortran Front End (FFE), and some other stuff.
The g77 compiler code is placed in f/ because it, along with its contents,
is designed to be a subdirectory of a GNU CC (gcc) source directory, gcc/,
which is structured so that language-specific front ends can be "dropped
in" as subdirectories. The C++ front end (g++), is an example of this --
it resides in the cp/ subdirectory. Note that the C front end (also
referred to as gcc) is an exception to this, as its source files reside
in the gcc/ directory itself.
gcc/f/gbe/ has patch files for various versions of gcc, primarily
needed to patch the GNU compiler Back End (GBE) to fix and improve it
for use with g77. If a patch file exists for the version of gcc you
want to build along with g77, you MUST apply the patch before building
g77 with that version or g77 will not build or work properly.*
libf2c/ contains the run-time libraries for the f2c program, also used
by g77. These libraries normally referred to collectively as libf2c.
When built as part of g77, libf2c is installed under the name libg2c to avoid
conflict with any existing version of libf2c, and thus is often referred
to as libg2c when the g77 version is specifically being referred to.
* Read gcc/f/gbe/README for more information.
The netlib version of libf2c/ contains two distinct libraries, libF77 and
libI77, each in their own subdirectories. In g77, this distinction is not
made, beyond maintaining the subdirectory structure in the source-code tree.
gcc/f/runtime/ contains the run-time libraries for the f2c program, also used
by g77, and referred to as libf2c (though libf2c is really a combination of
two distinct libraries, libF77 and libI77 -- in g77, this distinction is
not made, and, further, Dave Love's implementation of libU77 is added
to the mix). This separate subdirectory is not part of the program g77, just
distributed with it. Some new files have been added to this subdirectory
and some minor changes made to the files contained therein, to fix some
bugs and facilitate automatic configuration, building, and installation of
libf2c for use by g77 users. See gcc/f/runtime/README for more information.
libf2c/ is not part of the program g77, just distributed with it. It
contains files not present in the official (netlib) version of libf2c,
and also contains some minor changes made from libf2c, to fix some bugs,
and to facilitate automatic configuration, building, and installation of
libf2c (as libg2c) for use by g77 users.
gcc/f/BUGS lists some important bugs known to be in g77. Or:
* See libf2c/README for more information, including licensing conditions
governing distribution of programs containing code from libg2c.
info -f gcc/f/g77.info -n "Actual Bugs"
libg2c, g77's version of libf2c, adds Dave Love's implementation of
libU77, in the libf2c/libU77/ directory. This library is distributed
under the GNU Library General Public License (LGPL) -- see the
file libf2c/libU77/COPYING.LIB for more information, as this license
governs distribution conditions for programs containing code from
this portion of the library.
gcc/f/ChangeLog lists recent changes to g77 internals.
gcc/f/INSTALL describes how to build and install GNU Fortran. Or:
Files of note in g77 are described below.
info -f gcc/f/g77.info -n Installation
f/BUGS lists some important bugs known to be in g77. Or:
gcc/f/NEWS contains the per-release changes (not just user-visible ones
seen in gcc/f/DOC) listed in the ~fortran/.plan file. Or:
info -f f/g77.info -n "Actual Bugs"
info -f gcc/f/g77.info -n News
f/ChangeLog lists recent changes to g77 internals.
* Read gcc/f/BUGS, gcc/f/INSTALL, and gcc/f/NEWS at the very least!
All users of g77 (not just installers) should read gcc/f/g77.info*
libf2c/ChangeLog lists recent changes to libg2c internals.
[FSF] f/INSTALL describes how to build and install GNU Fortran. Or:
info -f f/g77.info -n Installation
f/NEWS contains the per-release changes. These include the user-visible
changes described under "Changes" in the g77 documentation, plus internal
changes of import. Or:
info -f f/g77.info -n News
* All users of g77 (not just installers) should read f/g77.info*
as well, using the `more' command if neither the `info' command,
nor GNU Emacs (with its Info mode), are available, or if they
aren't yet accustomed to using these tools.
aren't yet accustomed to using these tools. Read f/BUGS and f/NEWS
plus, if you are planning on building or installing the FSF version
of g77, f/INSTALL, at the very least! All of these files are
readable as "plain text" files.
If you want to get into the FFE code, which lives entirely in gcc/f/, here
are a few clues. The file g77.c is the stand-alone source file for the
`g77' command driver only -- this just invokes the `gcc' command, so it has
nothing to do with the rest of the code in g77. Most of the code
ends up in an executable named `f771', which does the actual compiling,
so it has the FFE merged with the gcc back end.
* Also see <ftp://alpha.gnu.org/g77.plan> for up-to-date information
regarding g77 bug reports, known bugs, bug-fixes, and new versions.
The rest of this file is of note to only those who wish to
debug, modify, or test the FFE (in conjunction with the gcc back end).
If you want to explore the FFE code, which lives entirely in f/, here
are a few clues. The file g77spec.c contains the g77-specific source code
for the `g77' command only -- this just forms a variant of the `gcc'
command, so, just as the `gcc' command itself does not contain
the C front end, the `g77' command does not contain the Fortran front
end (FFE). The FFE code ends up in an executable named `f771', which
does the actual compiling, so it contains the FFE plus the gcc back end
(the latter to do most of the optimization, and the code generation).
The file parse.c is the source file for main() for a stand-alone FFE and
yyparse() for f771. (Stand-alone building of the FFE doesn't work these days.)
@@ -158,7 +245,7 @@ is being dynamically configured by ffecom_init_0); com.h and com.c, which
interface to the target back end (currently only FFE stand-alone and the GBE);
ste.c, which contains code for implementing recognized executable statements
in the target back end (again currently either FFE or GBE); src.h and src.c,
which describe information on the format(s) of source files (like whether
which describe information on the format(s) of source files (such as whether
they are never to be processed as case-insensitive with regard to Fortran
keywords); and proj.c, which contains whatever code is needed to support
the language defined by proj.h.
@@ -173,4 +260,4 @@ the compiler is in the second pass, otherwise it is in the first.
(This information might help you reduce a test case and/or work around
a bug in g77 until a fix is available.)
Any questions or comments on these topics, email <fortran@gnu.org>.
Any questions or comments on these topics? Read the g77 documentation!

View File

@@ -845,8 +845,16 @@ decl_attributes (node, attributes, prefix_attributes)
"`%s' defined both normally and as an alias");
else if (decl_function_context (decl) == 0)
{
tree id = get_identifier (TREE_STRING_POINTER
(TREE_VALUE (args)));
tree id;
id = TREE_VALUE (args);
if (TREE_CODE (id) != STRING_CST)
{
error ("alias arg not a string");
break;
}
id = get_identifier (TREE_STRING_POINTER (id));
if (TREE_CODE (decl) == FUNCTION_DECL)
DECL_INITIAL (decl) = error_mark_node;
else

View File

@@ -6216,6 +6216,7 @@ finish_enum (enumtype, values, attributes)
TYPE_MIN_VALUE (tem) = TYPE_MIN_VALUE (enumtype);
TYPE_MAX_VALUE (tem) = TYPE_MAX_VALUE (enumtype);
TYPE_SIZE (tem) = TYPE_SIZE (enumtype);
TYPE_SIZE_UNIT (tem) = TYPE_SIZE_UNIT (enumtype);
TYPE_MODE (tem) = TYPE_MODE (enumtype);
TYPE_PRECISION (tem) = TYPE_PRECISION (enumtype);
TYPE_ALIGN (tem) = TYPE_ALIGN (enumtype);

View File

@@ -4442,7 +4442,7 @@ get_filename:
*/
/* Note: The argument of ISALPHA() can be evaluated twice, so do
the pre-decrement outside of the macro. */
if (retried && (--fbeg, ISALPHA(*(U_CHAR *) (fbeg)))) {
if (retried && (--fin, ISALPHA(*(U_CHAR *) (fin)))) {
while (fin != limit && (!ISSPACE(*fin)))
*fend++ = *fin++;
warning ("VAX-C-style include specification found, use '#include <filename.h>' !");

View File

@@ -198,6 +198,7 @@ static int rflag; /* true if -r */
static int strip_flag; /* true if -s */
#ifdef COLLECT_EXPORT_LIST
static int export_flag; /* true if -bE */
static int aix64_flag; /* true if -b64 */
#endif
int debug; /* true if -debug */
@@ -1194,6 +1195,8 @@ main (argc, argv)
case 'b':
if (arg[2] == 'E' || strncmp (&arg[2], "export", 6) == 0)
export_flag = 1;
if (arg[2] == '6' && arg[3] == '4')
aix64_flag = 1;
break;
#endif
@@ -2669,7 +2672,9 @@ scan_libraries (prog_name)
(((X).n_sclass == C_EXT) && ((X).n_scnum == N_UNDEF))
# define GCC_SYMINC(X) ((X).n_numaux+1)
# define GCC_SYMZERO(X) 0
# define GCC_CHECK_HDR(X) (1)
# define GCC_CHECK_HDR(X) \
((HEADER (X).f_magic == U802TOCMAGIC && ! aix64_flag) \
|| (HEADER (X).f_magic == 0757 && aix64_flag))
#endif
extern char *ldgetname ();
@@ -2712,18 +2717,19 @@ scan_prog_file (prog_name, which_pass)
#endif
if ((ldptr = ldopen (prog_name, ldptr)) != NULL)
{
if (!MY_ISCOFF (HEADER (ldptr).f_magic))
if (! MY_ISCOFF (HEADER (ldptr).f_magic))
fatal ("%s: not a COFF file", prog_name);
#ifdef COLLECT_EXPORT_LIST
/* Is current archive member a shared object? */
is_shared = HEADER (ldptr).f_flags & F_SHROBJ;
#endif
if (GCC_CHECK_HDR (ldptr))
{
sym_count = GCC_SYMBOLS (ldptr);
sym_index = GCC_SYMZERO (ldptr);
#ifdef COLLECT_EXPORT_LIST
/* Is current archive member a shared object? */
is_shared = HEADER (ldptr).f_flags & F_SHROBJ;
#endif
while (sym_index < sym_count)
{
GCC_SYMENT symbol;
@@ -2841,6 +2847,16 @@ scan_prog_file (prog_name, which_pass)
#endif
}
}
#ifdef COLLECT_EXPORT_LIST
else
{
/* If archive contains both 32-bit and 64-bit objects,
we want to skip objects in other mode so mismatch normal. */
if (debug)
fprintf (stderr, "%s : magic=%o aix64=%d mismatch\n",
prog_name, HEADER (ldptr).f_magic, aix64_flag);
}
#endif
}
else
{

View File

@@ -19,13 +19,10 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef FILE
#include <stdio.h>
#endif
#include <string.h>
#define __datalbl
#include "config.h"
#include <stdio.h>
#include <string.h>
#include "rtl.h"
#include "tree.h"
#include "expr.h"

View File

@@ -1,5 +1,5 @@
/* Subroutines used for code generation on AMD Am29000.
Copyright (C) 1987, 88, 90-94, 1995 Free Software Foundation, Inc.
Copyright (C) 1987, 88, 90-94, 1995, 1997 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC.
@@ -19,8 +19,8 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"

View File

@@ -2468,6 +2468,8 @@ alpha_return_addr (count, frame)
static int
alpha_ra_ever_killed ()
{
rtx top;
#ifdef ASM_OUTPUT_MI_THUNK
if (current_function_is_thunk)
return 0;
@@ -2475,8 +2477,11 @@ alpha_ra_ever_killed ()
if (!alpha_return_addr_rtx)
return regs_ever_live[REG_RA];
return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA),
get_insns(), NULL_RTX);
push_topmost_sequence ();
top = get_insns();
pop_topmost_sequence ();
return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA), top, NULL_RTX);
}

View File

@@ -23,14 +23,18 @@ Boston, MA 02111-1307, USA. */
/* Write out the correct language type definition for the header files.
Unless we have assembler language, write out the symbols for C. */
#define CPP_SPEC "\
%{!.S: -D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}} \
%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
%{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.cxx: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.C: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.m: -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \
%{mieee:-D_IEEE_FP} \
%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT}"
%{!undef:\
%{.S:-D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY }}\
%{.cc|.cxx|.C:-D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus }\
%{.m:-D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C }\
%{!.S:%{!.cc:%{!.cxx:%{!.C:%{!.m:-D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C }}}}}}\
%{mieee:-D_IEEE_FP }\
%{mieee-with-inexact:-D_IEEE_FP -D_IEEE_FP_INEXACT }}\
%(cpp_cpu) %(cpp_subtarget)"
#ifndef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC ""
#endif
/* Set the spec to use for signed char. The default tests the above macro
but DEC's compiler can't handle the conditional in a "constant"
@@ -240,6 +244,88 @@ extern char *alpha_mlat_string; /* For -mmemory-latency= */
{"memory-latency=", &alpha_mlat_string}, \
}
/* Attempt to describe CPU characteristics to the preprocessor. */
/* Corresponding to amask... */
#define CPP_AM_BWX_SPEC "-D__alpha_bwx__ -Acpu(bwx)"
#define CPP_AM_MAX_SPEC "-D__alpha_max__ -Acpu(max)"
#define CPP_AM_CIX_SPEC "-D__alpha_cix__ -Acpu(cix)"
/* Corresponding to implver... */
#define CPP_IM_EV4_SPEC "-D__alpha_ev4__ -Acpu(ev4)"
#define CPP_IM_EV5_SPEC "-D__alpha_ev5__ -Acpu(ev5)"
#define CPP_IM_EV6_SPEC "-D__alpha_ev6__ -Acpu(ev6)"
/* Common combinations. */
#define CPP_CPU_EV4_SPEC "%(cpp_im_ev4)"
#define CPP_CPU_EV5_SPEC "%(cpp_im_ev5)"
#define CPP_CPU_EV56_SPEC "%(cpp_im_ev5) %(cpp_am_bwx)"
#define CPP_CPU_PCA56_SPEC "%(cpp_im_ev5) %(cpp_am_bwx) %(cpp_am_max)"
#define CPP_CPU_EV6_SPEC "%(cpp_im_ev6) %(cpp_am_bwx) %(cpp_am_max) %(cpp_am_cix)"
#ifndef CPP_CPU_DEFAULT_SPEC
# if TARGET_CPU_DEFAULT & MASK_CPU_EV6
# define CPP_CPU_DEFAULT_SPEC CPP_CPU_EV6_SPEC
# else
# if TARGET_CPU_DEFAULT & MASK_CPU_EV5
# if TARGET_CPU_DEFAULT & MASK_MAX
# define CPP_CPU_DEFAULT_SPEC CPP_CPU_PCA56_SPEC
# else
# if TARGET_CPU_DEFAULT & MASK_BWX
# define CPP_CPU_DEFAULT_SPEC CPP_CPU_EV56_SPEC
# else
# define CPP_CPU_DEFAULT_SPEC CPP_CPU_EV5_SPEC
# endif
# endif
# else
# define CPP_CPU_DEFAULT_SPEC CPP_CPU_EV4_SPEC
# endif
# endif
#endif /* CPP_CPU_DEFAULT_SPEC */
#ifndef CPP_CPU_SPEC
#define CPP_CPU_SPEC "\
%{!undef:-Acpu(alpha) -Amachine(alpha) -D__alpha -D__alpha__ \
%{mcpu=ev4|mcpu=21064:%(cpp_cpu_ev4) }\
%{mcpu=ev5|mcpu=21164:%(cpp_cpu_ev5) }\
%{mcpu=ev56|mcpu=21164a:%(cpp_cpu_ev56) }\
%{mcpu=pca56|mcpu=21164pc|mcpu=21164PC:%(cpp_cpu_pca56) }\
%{mcpu=ev6|mcpu=21264:%(cpp_cpu_ev6) }\
%{!mcpu*:%(cpp_cpu_default) }}"
#endif
/* This macro defines names of additional specifications to put in the
specs that can be used in various specifications like CC1_SPEC. Its
definition is an initializer with a subgrouping for each command option.
Each subgrouping contains a string constant, that defines the
specification name, and a string constant that used by the GNU CC driver
program.
Do not define this macro if it does not need to do anything. */
#ifndef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS
#endif
#define EXTRA_SPECS \
{ "cpp_am_bwx", CPP_AM_BWX_SPEC }, \
{ "cpp_am_max", CPP_AM_MAX_SPEC }, \
{ "cpp_am_cix", CPP_AM_CIX_SPEC }, \
{ "cpp_im_ev4", CPP_IM_EV4_SPEC }, \
{ "cpp_im_ev5", CPP_IM_EV5_SPEC }, \
{ "cpp_im_ev6", CPP_IM_EV6_SPEC }, \
{ "cpp_cpu_ev4", CPP_CPU_EV4_SPEC }, \
{ "cpp_cpu_ev5", CPP_CPU_EV5_SPEC }, \
{ "cpp_cpu_ev56", CPP_CPU_EV56_SPEC }, \
{ "cpp_cpu_pca56", CPP_CPU_PCA56_SPEC }, \
{ "cpp_cpu_ev6", CPP_CPU_EV6_SPEC }, \
{ "cpp_cpu_default", CPP_CPU_DEFAULT_SPEC }, \
{ "cpp_cpu", CPP_CPU_SPEC }, \
{ "cpp_subtarget", CPP_SUBTARGET_SPEC }, \
SUBTARGET_EXTRA_SPECS
/* Sometimes certain combinations of command options do not make sense
on a particular target machine. You can define a macro
`OVERRIDE_OPTIONS' to take account of this. This macro, if
@@ -1209,7 +1295,7 @@ do { \
/* A C expression whose value is RTL representing the value of the return
address for the frame COUNT steps up from the current frame.
FRAMEADDR is the frame pointer of the COUNT frame, or the frame pointer of
the COUNT-1 frame if RETURN_ADDR_IN_PREVIOUS_FRAME} is defined. */
the COUNT-1 frame if RETURN_ADDR_IN_PREVIOUS_FRAME is defined. */
#define RETURN_ADDR_RTX alpha_return_addr
extern struct rtx_def *alpha_return_addr ();
@@ -2059,12 +2145,14 @@ literal_section () \
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
do { \
char *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
int reg; \
\
/* Mark end of prologue. */ \
output_end_prologue (FILE); \
\
/* Rely on the assembler to macro expand a large delta. */ \
fprintf (FILE, "\tlda $16,%ld($16)\n", (long)(DELTA)); \
reg = aggregate_value_p (TREE_TYPE (TREE_TYPE (FUNCTION))) ? 17 : 16; \
fprintf (FILE, "\tlda $%d,%ld($%d)\n", reg, (long)(DELTA), reg); \
\
if (current_file_function_operand (XEXP (DECL_RTL (FUNCTION), 0))) \
{ \

View File

@@ -2729,6 +2729,17 @@
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f")
(match_operator:DF 1 "alpha_comparison_operator"
[(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))
(match_operand:DF 3 "reg_or_fp0_operand" "fG")]))]
"TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cmp%-%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(match_operator:DF 1 "alpha_comparison_operator"
@@ -2740,6 +2751,17 @@
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f")
(match_operator:DF 1 "alpha_comparison_operator"
[(match_operand:DF 2 "reg_or_fp0_operand" "fG")
(float_extend:DF
(match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
"TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cmp%-%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(match_operator:DF 1 "alpha_comparison_operator"
@@ -2751,6 +2773,18 @@
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f")
(match_operator:DF 1 "alpha_comparison_operator"
[(float_extend:DF
(match_operand:SF 2 "reg_or_fp0_operand" "fG"))
(float_extend:DF
(match_operand:SF 3 "reg_or_fp0_operand" "fG"))]))]
"TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"cmp%-%C1%' %R2,%R3,%0"
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f")
(match_operator:DF 1 "alpha_comparison_operator"
@@ -2763,20 +2797,6 @@
[(set_attr "type" "fadd")
(set_attr "trap" "yes")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=&f,f")
(if_then_else:DF
(match_operator 3 "signed_comparison_operator"
[(match_operand:DF 4 "reg_or_fp0_operand" "fG,fG")
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
[(set_attr "type" "fcmov")])
(define_insn ""
[(set (match_operand:DF 0 "register_operand" "=f,f")
(if_then_else:DF
@@ -2785,21 +2805,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
[(set_attr "type" "fcmov")])
(define_insn ""
[(set (match_operand:SF 0 "register_operand" "=&f,f")
(if_then_else:SF
(match_operator 3 "signed_comparison_operator"
[(match_operand:DF 4 "reg_or_fp0_operand" "fG,fG")
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp == ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
@@ -2813,7 +2819,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
@@ -2827,7 +2833,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG,0"))
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
@@ -2842,7 +2848,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:DF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
@@ -2857,7 +2863,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(match_operand:SF 1 "reg_or_fp0_operand" "fG,0")
(match_operand:SF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"
@@ -2872,7 +2878,7 @@
(match_operand:DF 2 "fp0_operand" "G,G")])
(float_extend:DF (match_operand:SF 1 "reg_or_fp0_operand" "fG,0"))
(match_operand:DF 5 "reg_or_fp0_operand" "0,fG")))]
"TARGET_FP && alpha_tp != ALPHA_TP_INSN"
"TARGET_FP"
"@
fcmov%C3 %R4,%R1,%0
fcmov%D3 %R4,%R5,%0"

View File

@@ -43,7 +43,7 @@ Boston, MA 02111-1307, USA. */
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}}\
%{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}} \
%{static:-static}}"
/* Output at beginning of assembler file. */

View File

@@ -22,13 +22,17 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ELF)");
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
#undef SUB_CPP_PREDEFINES
#define SUB_CPP_PREDEFINES "-D__ELF__"
#define SUB_CPP_PREDEFINES "-D__ELF__"
#ifdef USE_GNULIBC_1
#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
#else
#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
#endif
#ifndef USE_GNULIBC_1
@@ -39,7 +43,5 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef USE_GNULIBC_1
#undef LIB_SPEC
#define LIB_SPEC \
"%{shared: -lc} \
%{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
%{profile:-lc_p} %{!profile: -lc}}"
"%{shared:-lc}%{!shared:%{pthread:-lpthread }%{profile:-lc_p}%{!profile:-lc}} "
#endif

View File

@@ -23,9 +23,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS)
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "\
-D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -Dlinux -Dunix \
-Asystem(linux) -Acpu(alpha) -Amachine(alpha) " SUB_CPP_PREDEFINES
#define CPP_PREDEFINES \
"-Dlinux -Dunix -Asystem(linux) -D_LONGLONG -D__alpha__ " SUB_CPP_PREDEFINES
#undef LIB_SPEC
#define LIB_SPEC "%{pg:-lgmon} %{pg:-lc_p} %{!pg:-lc}"

View File

@@ -24,4 +24,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef SUB_CPP_PREDEFINES
#define SUB_CPP_PREDEFINES "-D__ELF__"
#define ELF_DYNAMIC_LINKER "/usr/libexec/ld.elf_so"
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
#define ELF_DYNAMIC_LINKER "/usr/libexec/ld.elf_so"

View File

@@ -22,9 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS)
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "\
-D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -Dnetbsd -Dunix \
-Asystem(linux) -Acpu(alpha) -Amachine(alpha) " SUB_CPP_PREDEFINES
#define CPP_PREDEFINES "-D_LONGLONG -Dnetbsd -Dunix " SUB_CPP_PREDEFINES
#undef LIB_SPEC
#define LIB_SPEC "%{pg:-lgmon} %{pg:-lc_p} %{!pg:-lc}"

View File

@@ -27,8 +27,8 @@ Boston, MA 02111-1307, USA. */
/* Names to predefine in the preprocessor for this target machine. */
#define CPP_PREDEFINES "\
-Dunix -D__osf__ -D__alpha -D__alpha__ -D_LONGLONG -DSYSTYPE_BSD \
-D_SYSTYPE_BSD -Asystem(unix) -Asystem(xpg4) -Acpu(alpha) -Amachine(alpha)"
-Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD \
-D_SYSTYPE_BSD -Asystem(unix) -Asystem(xpg4)"
/* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */

View File

@@ -31,20 +31,13 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__ALPHA -Dvms -DVMS -D__alpha__ -D__alpha -D__vms__ -D__VMS__\
-Asystem(vms) -Acpu(alpha) -Amachine(alpha)"
"-D__ALPHA -Dvms -DVMS -D__vms__ -D__VMS__ -Asystem(vms)"
#undef CPP_SPEC
#define CPP_SPEC "\
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC "\
%{mfloat-ieee:-D__IEEE_FLOAT} \
%{mfloat-vax:-D__G_FLOAT} \
%{!mfloat-vax:-D__IEEE_FLOAT} \
%{!.S: -D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}} \
%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
%{.cc: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.cxx: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.C: -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
%{.m: -D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C}"
%{!mfloat-vax:-D__IEEE_FLOAT}"
/* Under OSF4, -p and -pg require -lprof1, and -lprof1 requires -lpdf. */

View File

@@ -20,20 +20,16 @@ Boston, MA 02111-1307, USA. */
/* This file just exists to give specs for the Alpha running on VxWorks. */
#undef CPP_SPEC
#define CPP_SPEC "\
#undef CPP_SUBTARGET_SPEC
#define CPP_SUBTARGET_SPEC "\
%{mvxsim:-DCPU=SIMALPHADUNIX} \
%{!mvxsim: %{!mcpu*:-DCPU=21064} \
%{mcpu=21064:-DCPU=21064} \
%{mcpu=21164:-DCPU=21164}} \
%{posix: -D_POSIX_SOURCE} \
%{!.S: -D__LANGUAGE_C__ -D__LANGUAGE_C %{!ansi:-DLANGUAGE_C}} \
%{.S: -D__LANGUAGE_ASSEMBLY__ -D__LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}}"
%{!mvxsim: %{!mcpu*|mcpu=21064:-DCPU=21064} %{mcpu=21164:-DCPU=21164}} \
%{posix: -D_POSIX_SOURCE}"
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "\
-D__vxworks -D__alpha_vxworks -Asystem(vxworks) \
-Asystem(embedded) -D_LONGLONG -Acpu(alpha) -Amachine(alpha)"
-Asystem(embedded) -D_LONGLONG"
/* VxWorks does all the library stuff itself. */

View File

@@ -29,10 +29,8 @@ Boston, MA 02111-1307, USA. */
/* Names to predefine in the preprocessor for this target machine. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-DWIN32 -D_WIN32 -DWINNT -D__STDC__=0 -DALMOST_STDC\
-D_M_ALPHA -D_ALPHA_ -D__alpha -D__alpha__\
-D_LONGLONG -D__unaligned= -D__stdcall= \
-Asystem(winnt) -Acpu(alpha) -Amachine(alpha)"
#define CPP_PREDEFINES "-DWIN32 -D_WIN32 -DWINNT -D__STDC__=0 -DALMOST_STDC \
-D_M_ALPHA -D_ALPHA_ -D_LONGLONG -D__unaligned= -D__stdcall= -Asystem(winnt)"
#undef ASM_SPEC
#undef ASM_FINAL_SPEC
@@ -113,12 +111,14 @@ Boston, MA 02111-1307, USA. */
#define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
do { \
char *op, *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
int reg; \
\
/* Mark end of prologue. */ \
output_end_prologue (FILE); \
\
/* Rely on the assembler to macro expand a large delta. */ \
fprintf (FILE, "\tlda $16,%ld($16)\n", (long)(DELTA)); \
reg = aggregate_value_p (TREE_TYPE (TREE_TYPE (FUNCTION))) ? 17 : 16; \
fprintf (FILE, "\tlda $%d,%ld($%d)\n", reg, (long)(DELTA), reg); \
\
op = "jsr"; \
if (current_file_function_operand (XEXP (DECL_RTL (FUNCTION), 0))) \

View File

@@ -55,7 +55,7 @@ static int arm_naked_function_p PROTO ((tree));
static void init_fpa_table PROTO ((void));
static enum machine_mode select_dominance_cc_mode PROTO ((enum rtx_code, rtx,
rtx, HOST_WIDE_INT));
static HOST_WIDE_INT add_constant PROTO ((rtx, enum machine_mode));
static HOST_WIDE_INT add_constant PROTO ((rtx, enum machine_mode, int *));
static void dump_table PROTO ((rtx));
static int fixit PROTO ((rtx, enum machine_mode, int));
static rtx find_barrier PROTO ((rtx, int));
@@ -310,7 +310,7 @@ arm_override_options ()
assembler and linker, and the ARMASM assembler seems to lack some
required directives. */
if (flag_pic)
warning ("Position independent code not supported. Ignored");
warning ("Position independent code not supported");
if (TARGET_APCS_FLOAT)
warning ("Passing floating point arguments in fp regs not yet supported");
@@ -1769,7 +1769,9 @@ bad_signed_byte_operand (op, mode)
/* A sum of anything more complex than reg + reg or reg + const is bad */
if ((GET_CODE (op) == PLUS || GET_CODE (op) == MINUS)
&& ! s_register_operand (XEXP (op, 0), VOIDmode))
&& (! s_register_operand (XEXP (op, 0), VOIDmode)
|| (! s_register_operand (XEXP (op, 1), VOIDmode)
&& GET_CODE (XEXP (op, 1)) != CONST_INT)))
return 1;
/* Big constants are also bad */
@@ -3446,18 +3448,30 @@ static pool_node pool_vector[MAX_POOL_SIZE];
static int pool_size;
static rtx pool_vector_label;
/* Add a constant to the pool and return its label. */
/* Add a constant to the pool and return its offset within the current
pool.
X is the rtx we want to replace. MODE is its mode. On return,
ADDRESS_ONLY will be non-zero if we really want the address of such
a constant, not the constant itself. */
static HOST_WIDE_INT
add_constant (x, mode)
add_constant (x, mode, address_only)
rtx x;
enum machine_mode mode;
int *address_only;
{
int i;
HOST_WIDE_INT offset;
*address_only = 0;
if (mode == SImode && GET_CODE (x) == MEM && CONSTANT_P (XEXP (x, 0))
&& CONSTANT_POOL_ADDRESS_P (XEXP (x, 0)))
x = get_pool_constant (XEXP (x, 0));
else if (GET_CODE (x) == SYMBOL_REF && CONSTANT_POOL_ADDRESS_P(x))
{
*address_only = 1;
x = get_pool_constant (x);
}
#ifndef AOF_ASSEMBLER
else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == 3)
x = XVECEXP (x, 0, 0);
@@ -3709,6 +3723,7 @@ arm_reorg (first)
rtx newsrc;
rtx addr;
int scratch;
int address_only;
/* If this is an HImode constant load, convert it into
an SImode constant load. Since the register is always
@@ -3722,39 +3737,50 @@ arm_reorg (first)
PUT_MODE (dst, SImode);
}
offset = add_constant (src, mode);
offset = add_constant (src, mode, &address_only);
addr = plus_constant (gen_rtx (LABEL_REF, VOIDmode,
pool_vector_label),
offset);
/* For wide moves to integer regs we need to split the
address calculation off into a separate insn, so that
the load can then be done with a load-multiple. This is
safe, since we have already noted the length of such
insns to be 8, and we are immediately over-writing the
scratch we have grabbed with the final result. */
if (GET_MODE_SIZE (mode) > 4
/* If we only want the address of the pool entry, or
for wide moves to integer regs we need to split
the address calculation off into a separate insn.
If necessary, the load can then be done with a
load-multiple. This is safe, since we have
already noted the length of such insns to be 8,
and we are immediately over-writing the scratch
we have grabbed with the final result. */
if ((address_only || GET_MODE_SIZE (mode) > 4)
&& (scratch = REGNO (dst)) < 16)
{
rtx reg = gen_rtx (REG, SImode, scratch);
rtx reg;
if (mode == SImode)
reg = dst;
else
reg = gen_rtx (REG, SImode, scratch);
newinsn = emit_insn_after (gen_movaddr (reg, addr),
newinsn);
addr = reg;
}
newsrc = gen_rtx (MEM, mode, addr);
if (! address_only)
{
newsrc = gen_rtx (MEM, mode, addr);
/* Build a jump insn wrapper around the move instead
of an ordinary insn, because we want to have room for
the target label rtx in fld[7], which an ordinary
insn doesn't have. */
newinsn = emit_jump_insn_after (gen_rtx (SET, VOIDmode,
dst, newsrc),
newinsn);
JUMP_LABEL (newinsn) = pool_vector_label;
/* XXX Fixme -- I think the following is bogus. */
/* Build a jump insn wrapper around the move instead
of an ordinary insn, because we want to have room for
the target label rtx in fld[7], which an ordinary
insn doesn't have. */
newinsn = emit_jump_insn_after
(gen_rtx (SET, VOIDmode, dst, newsrc), newinsn);
JUMP_LABEL (newinsn) = pool_vector_label;
/* But it's still an ordinary insn */
PUT_CODE (newinsn, INSN);
/* But it's still an ordinary insn */
PUT_CODE (newinsn, INSN);
}
/* Kill old insn */
delete_insn (scan);

View File

@@ -874,7 +874,7 @@ enum reg_class
/* If we need to load shorts byte-at-a-time, then we need a scratch. */
#define SECONDARY_INPUT_RELOAD_CLASS(CLASS,MODE,X) \
(((MODE) == HImode && TARGET_SHORT_BY_BYTES \
(((MODE) == HImode && ! arm_arch4 && TARGET_SHORT_BY_BYTES \
&& (GET_CODE (X) == MEM \
|| ((GET_CODE (X) == REG || GET_CODE (X) == SUBREG) \
&& true_regnum (X) == -1))) \

View File

@@ -2399,6 +2399,12 @@
XEXP (operands[2], 0) = plus_constant (operands[3], low);
operands[1] = plus_constant (XEXP (operands[1], 0), offset - low);
}
/* Ensure the sum is in correct canonical form */
else if (GET_CODE (operands[1]) == PLUS
&& GET_CODE (XEXP (operands[1], 1)) != CONST_INT
&& ! s_register_operand (XEXP (operands[1], 1), VOIDmode))
operands[1] = gen_rtx (PLUS, GET_MODE (operands[1]),
XEXP (operands[1], 1), XEXP (operands[1], 0));
}
")
@@ -2464,6 +2470,12 @@
XEXP (operands[2], 0) = plus_constant (operands[0], low);
operands[1] = plus_constant (XEXP (operands[1], 0), offset - low);
}
/* Ensure the sum is in correct canonical form */
else if (GET_CODE (operands[1]) == PLUS
&& GET_CODE (XEXP (operands[1], 1)) != CONST_INT
&& ! s_register_operand (XEXP (operands[1], 1), VOIDmode))
operands[1] = gen_rtx (PLUS, GET_MODE (operands[1]),
XEXP (operands[1], 1), XEXP (operands[1], 0));
}
")

View File

@@ -1,4 +1,5 @@
/* Definitions of target machine for GNU compiler. ARM Linux version.
/* Definitions of target machine for GNU compiler. ARM Linux-based GNU
systems version.
Copyright (C) 1997 Free Software Foundation, Inc.
Contributed by Russell King <rmk92@ecs.soton.ac.uk>.

View File

@@ -1,6 +1,6 @@
/* Definitions for ARM running Linux
/* Definitions for ARM running Linux-based GNU systems.
Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
Adapted from ARM Linux by Russell King <rmk92@ecs.soton.ac.uk>.
Contributed by Russell King <rmk92@ecs.soton.ac.uk>.
This file is part of GNU CC.
@@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */
#undef COMMENT_BEGIN
/* We default to ARM3. */
#define TARGET_CPU_DEFAULT TARGET_CPU_arm3
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm3
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
@@ -56,8 +56,7 @@ Boston, MA 02111-1307, USA. */
#define HANDLE_SYSV_PRAGMA
/* Run-time Target Specification. */
#define TARGET_VERSION \
fputs (" (ARM Linux/a.out)", stderr);
#define TARGET_VERSION fputs (" (ARM GNU/Linux with a.out)", stderr);
/* This is used in ASM_FILE_START */
#define ARM_OS_NAME "Linux"

View File

@@ -36,7 +36,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
/* Default is to use APCS-32 mode. */
#define TARGET_DEFAULT ARM_FLAG_APCS_32
#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_SOFT_FLOAT)
#include "arm/aout.h"
@@ -67,6 +67,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_APCS_PC_DEFAULT_SPEC
#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__"
/* Because TARGET_DEFAULT sets ARM_FLAG_SOFT_FLOAT */
#undef CPP_FLOAT_DEFAULT_SPEC
#define CPP_FLOAT_DEFAULT_SPEC "-D__SOFTFP__"
/* Pass -X to the linker so that it will strip symbols starting with 'L' */
#undef LINK_SPEC
#define LINK_SPEC "\

View File

@@ -10,7 +10,7 @@ ENQUIRE=
CROSS_LIBGCC1 = libgcc1-asm.a
LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
MULTILIB_OPTIONS = mapcs-32
MULTILIB_DIRNAMES = apcs-32

View File

@@ -5,7 +5,3 @@ LIBGCC2_CFLAGS=-O2 -fomit-frame-pointer $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -g0
# Don't build enquire
ENQUIRE=
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls

View File

@@ -6,4 +6,3 @@ X_CFLAGS= -DPOSIX -Dopterr=gcc_opterr -Doptind=gcc_optind \
OLDCC=/usr/ucb/cc
CC=$(OLDCC)
FIXPROTO_DEFINES= -D_POSIX_SOURCE -D_XOPEN_C -D_BSD_C -D_XOPEN_SOURCE
INSTALL=$(srcdir)/install.sh -c

View File

@@ -44,12 +44,6 @@ Boston, MA 02111-1307, USA. */
#define USE_C_ALLOCA
#endif
/* Define this if the library function putenv is available on your machine */
#define HAVE_PUTENV 1
/* Define this if the library function vprintf is available on your machine */
#define HAVE_VPRINTF 1
/* Define this to be 1 if you know the host compiler supports prototypes, even
if it doesn't define __STDC__, or define it to be 0 if you do not want any
prototypes when compiling GNU CC. */

View File

@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Clipper/Clix version.
Copyright (C) 1988, 1993, 1996 Free Software Foundation, Inc.
Copyright (C) 1988, 1993, 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -31,6 +31,8 @@ Boston, MA 02111-1307, USA. */
#undef LIB_SPEC
#define TARGET_MEM_FUNCTIONS
#undef HAVE_ATEXIT
#define HAVE_ATEXIT

View File

@@ -27,13 +27,4 @@
/* isinf isn't there, but finite is. */
#define isinf(x) (!finite(x))
#define USG
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
#define index strchr
#define rindex strrchr
#define TARGET_MEM_FUNCTIONS

View File

@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Convex.
Copyright (C) 1988, 1993, 1994 Free Software Foundation, Inc.
Copyright (C) 1988, 1993, 1994, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -19,6 +19,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
#include "tree.h"
#include "rtl.h"
#include "regs.h"
@@ -31,9 +32,6 @@ Boston, MA 02111-1307, USA. */
#include "output.h"
#include "expr.h"
#undef NULL
#include <stdio.h>
/* Tables used in convex.h */
char regno_ok_for_index_p_base[1 + LAST_VIRTUAL_REGISTER + 1];

View File

@@ -1,5 +1,5 @@
# ld can make exe's c2-only if this lib is searched even though not loaded
CCLIBFLAGS = -tm c1
CCLIBFLAGS = -tm c1
# Use -pcc to avoid surprises.
CC = cc -pcc

View File

@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for Convex.
Copyright (C) 1989, 1993 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -42,11 +42,6 @@ Boston, MA 02111-1307, USA. */
#define P_tmpdir "/tmp/"
/* Use memcpy and memset -- either would work but these get inlined. */
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
/* Convex uses Vax or IEEE floats.
Both formats have Vax semantics. */

View File

@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for GNU compiler. Elxsi version.
Copyright (C) 1987, 1992 Free Software Foundation, Inc
Copyright (C) 1987, 1992, 1997 Free Software Foundation, Inc
This port, done by Mike Stump <mrs@cygnus.com> in 1988, and is the first
64 bit port of GNU CC.
Based upon the VAX port.
@@ -21,8 +21,8 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
extern char *reg_names[];

View File

@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for Alliant FX computers.
Copyright (C) 1989,1991 Free Software Foundation, Inc.
Copyright (C) 1989, 1991, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -20,8 +20,8 @@ Boston, MA 02111-1307, USA. */
/* Some output-actions in alliant.md need these. */
#include <stdio.h>
#include "config.h"
#include <stdio.h>
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"

View File

@@ -1,12 +1,5 @@
/* Configuration common to all targets running the GNU system. */
/* Macro to produce CPP_PREDEFINES for GNU on a given machine. */
#define GNU_CPP_PREDEFINES(machine) \
"-D" machine " -Acpu(" machine ") -Amachine(" machine ") \
-Dunix -Asystem(unix) \
-DMACH -Asystem(mach) \
-D__GNU__ -Asystem(gnu)"
/* Provide GCC options for standard feature-test macros. */
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"

View File

@@ -1,5 +1,5 @@
/* Subroutines for insn-output.c for System/370.
Copyright (C) 1989, 1993, 1995 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1995, 1997 Free Software Foundation, Inc.
Contributed by Jan Stein (jan@cd.chalmers.se).
Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
@@ -20,10 +20,10 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "config.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
@@ -35,6 +35,11 @@ Boston, MA 02111-1307, USA. */
#include "insn-attr.h"
#include "flags.h"
#include "recog.h"
#ifdef sun
#include <sys/types.h>
#include <ctype.h>
#endif
#include <time.h>
/* Label node, this structure is used to keep track of labels on the
@@ -285,7 +290,7 @@ mvs_add_label (id)
label_anchor = lp;
}
/* Check to see if the label is in the list. If 1 is returned then a load
/* Check to see if the label is in the list. If 1 is returned then a load
and branch on register must be generated.
ID is the label number of the label being checked. */
@@ -480,3 +485,100 @@ unsigned_jump_follows_p (insn)
return GET_CODE (insn) != GE && GET_CODE (insn) != GT
&& GET_CODE (insn) != LE && GET_CODE (insn) != LT;
}
void
i370_function_prolog (f, l)
FILE *f;
int l;
{
#if MACROPROLOGUE == 1
fprintf (f, "\tEDCPRLG USRDSAL=%d,BASEREG=%d\n",
STACK_POINTER_OFFSET + l - 120 +
current_function_outgoing_args_size, BASE_REGISTER);
fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
fprintf (f, "\tLR\t11,1\n");
fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
mvs_page_code = 6;
mvs_page_lit = 4;
mvs_check_page (f, 0, 0);
function_base_page = mvs_page_num;
#else /* MACROPROLOGUE != 1 */
static int function_label_index = 1;
static int function_first = 0;
static int function_year, function_month, function_day;
static int function_hour, function_minute, function_second;
int i;
if (!function_first)
{
struct tm *function_time;
time_t lcltime;
time (&lcltime);
function_time = localtime (&lcltime);
function_year = function_time->tm_year + 1900;
function_month = function_time->tm_mon + 1;
function_day = function_time->tm_mday;
function_hour = function_time->tm_hour;
function_minute = function_time->tm_min;
function_second = function_time->tm_sec;
fprintf (f, "PPA2\tDS\t0F\n");
fprintf (f, "\tDC\tX'03',X'00',X'33',X'00'\n");
fprintf (f, "\tDC\tV(CEESTART),A(0)\n");
fprintf (f, "\tDC\tA(CEETIMES)\n");
fprintf (f, "CEETIMES\tDS\t0F\n");
fprintf (f, "\tDC\tCL4'%d',CL4'%02d%02d',CL6'%02d%02d00'\n",
function_year, function_month, function_day,
function_hour, function_minute, function_second);
fprintf (f, "\tDC\tCL2'01',CL4'0100'\n");
}
fprintf (f, "$DSD%03d\tDSECT\n", function_label_index);
fprintf (f, "\tDS\tD\n");
fprintf (f, "\tDS\tCL(%d)\n", STACK_POINTER_OFFSET + l
+ current_function_outgoing_args_size);
fprintf (f, "\tORG\t$DSD%03d\n", function_label_index);
fprintf (f, "\tDS\tCL(120+8)\n");
fprintf (f, "\tORG\n");
fprintf (f, "\tDS\t0D\n");
fprintf (f, "$DSL%03d\tEQU\t*-$DSD%03d-8\n", function_label_index,
function_label_index);
fprintf (f, "\tDS\t0H\n");
assemble_name (f, mvs_function_name);
fprintf (f, "\tEQU\t*\n");
fprintf (f, "\tUSING\t*,15\n");
fprintf (f, "\tB\tFPL%03d\n", function_label_index);
fprintf (f, "\tDC\tAL1(FPL%03d+4-*)\n", function_label_index + 1);
fprintf (f, "\tDC\tX'CE',X'A0',AL1(16)\n");
fprintf (f, "\tDC\tAL4(PPA2)\n");
fprintf (f, "\tDC\tAL4(0)\n");
fprintf (f, "\tDC\tAL4($DSL%03d)\n", function_label_index);
fprintf (f, "FPL%03d\tEQU\t*\n", function_label_index + 1);
fprintf (f, "\tDC\tAL2(%d),C'%s'\n", strlen (mvs_function_name),
mvs_function_name);
fprintf (f, "FPL%03d\tDS\t0H\n", function_label_index);
fprintf (f, "\tSTM\t14,12,12(13)\n");
fprintf (f, "\tL\t2,76(,13)\n");
fprintf (f, "\tL\t0,16(,15)\n");
fprintf (f, "\tALR\t0,2\n");
fprintf (f, "\tCL\t0,12(,12)\n");
fprintf (f, "\tBNH\t*+10\n");
fprintf (f, "\tL\t15,116(,12)\n");
fprintf (f, "\tBALR\t14,15\n");
fprintf (f, "\tL\t15,72(,13)\n");
fprintf (f, "\tSTM\t15,0,72(2)\n");
fprintf (f, "\tMVI\t0(2),X'10'\n");
fprintf (f, "\tST\t2,8(,13)\n ");
fprintf (f, "\tST\t13,4(,2)\n ");
fprintf (f, "\tLR\t13,2\n");
fprintf (f, "\tDROP\t15\n");
fprintf (f, "\tBALR\t%d,0\n", BASE_REGISTER);
fprintf (f, "PG%d\tEQU\t*\n", mvs_page_num );
fprintf (f, "\tUSING\t*,%d\n", BASE_REGISTER);
fprintf (f, "\tLR\t11,1\n");
fprintf (f, "\tL\t%d,=A(PGT%d)\n", PAGE_REGISTER, mvs_page_num);
mvs_page_code = 4;
mvs_page_lit = 4;
mvs_check_page (f, 0, 0);
function_base_page = mvs_page_num;
function_first = 1;
function_label_index += 2;
#endif /* MACROPROLOGUE */
}

View File

@@ -1,5 +1,5 @@
/* Configuration for GNU C-compiler for System/370.
Copyright (C) 1989, 1993 Free Software Foundation, Inc.
Copyright (C) 1989, 1993, 1997 Free Software Foundation, Inc.
Contributed by Jan Stein (jan@cd.chalmers.se).
Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
@@ -44,10 +44,6 @@ Boston, MA 02111-1307, USA. */
#include "tm.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
/* Arguments to use with `exit'. */
#define SUCCESS_EXIT_CODE 0

View File

@@ -22,6 +22,15 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Di386 -D_WIN32 -DWIN32 -D__WIN32__ \
-D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1\
-D__stdcall=__attribute__((__stdcall__)) \
-D_stdcall=__attribute__((__stdcall__)) \
-D__cdecl=__attribute__((__cdecl__)) \
-D__declspec(x)=__attribute__((x)) \
-Asystem(winnt) -Acpu(i386) -Amachine(i386)"
#undef LIBGCC_SPEC
#define LIBGCC_SPEC "-lmingw32 -lgcc -lmoldname -lcrtdll"

View File

@@ -97,6 +97,15 @@ extern int i386_pe_valid_decl_attribute_p ();
#define VALID_MACHINE_DECL_ATTRIBUTE(DECL, ATTRIBUTES, IDENTIFIER, ARGS) \
i386_pe_valid_decl_attribute_p (DECL, ATTRIBUTES, IDENTIFIER, ARGS)
/* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
is a valid machine specific attribute for TYPE.
The attributes in ATTRIBUTES have previously been assigned to TYPE. */
#undef VALID_MACHINE_TYPE_ATTRIBUTE
#define VALID_MACHINE_TYPE_ATTRIBUTE(TYPE, ATTRIBUTES, IDENTIFIER, ARGS) \
i386_pe_valid_type_attribute_p (TYPE, ATTRIBUTES, IDENTIFIER, ARGS)
extern int i386_pe_valid_type_attribute_p ();
extern union tree_node *i386_pe_merge_decl_attributes ();
#define MERGE_MACHINE_DECL_ATTRIBUTES(OLD, NEW) \
i386_pe_merge_decl_attributes ((OLD), (NEW))
@@ -325,21 +334,50 @@ extern void i386_pe_unique_section ();
NULL_TREE. Some target formats do not support arbitrary sections. Do not
define this macro in such cases. */
#undef ASM_OUTPUT_SECTION_NAME
#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \
do { \
if ((DECL) && TREE_CODE (DECL) == FUNCTION_DECL) \
fprintf (STREAM, "\t.section %s,\"x\"\n", (NAME)); \
else if ((DECL) && DECL_READONLY_SECTION (DECL, RELOC)) \
fprintf (STREAM, "\t.section %s,\"\"\n", (NAME)); \
else \
fprintf (STREAM, "\t.section %s,\"w\"\n", (NAME)); \
/* Functions may have been compiled at various levels of \
optimization so we can't use `same_size' here. Instead, \
have the linker pick one. */ \
if ((DECL) && DECL_ONE_ONLY (DECL)) \
fprintf (STREAM, "\t.linkonce %s\n", \
TREE_CODE (DECL) == FUNCTION_DECL \
? "discard" : "same_size"); \
#define ASM_OUTPUT_SECTION_NAME(STREAM, DECL, NAME, RELOC) \
do { \
static struct section_info \
{ \
struct section_info *next; \
char *name; \
enum sect_enum {SECT_RW, SECT_RO, SECT_EXEC} type; \
} *sections; \
struct section_info *s; \
char *mode; \
enum sect_enum type; \
\
for (s = sections; s; s = s->next) \
if (!strcmp (NAME, s->name)) \
break; \
\
if (DECL && TREE_CODE (DECL) == FUNCTION_DECL) \
type = SECT_EXEC, mode = "x"; \
else if (DECL && DECL_READONLY_SECTION (DECL, RELOC)) \
type = SECT_RO, mode = ""; \
else \
type = SECT_RW, mode = "w"; \
\
if (s == 0) \
{ \
s = (struct section_info *) xmalloc (sizeof (struct section_info)); \
s->name = xmalloc ((strlen (NAME) + 1) * sizeof (*NAME)); \
strcpy (s->name, NAME); \
s->type = type; \
s->next = sections; \
sections = s; \
fprintf (STREAM, ".section\t%s,\"%s\"\n", NAME, mode); \
/* Functions may have been compiled at various levels of \
optimization so we can't use `same_size' here. Instead, \
have the linker pick one. */ \
if ((DECL) && DECL_ONE_ONLY (DECL)) \
fprintf (STREAM, "\t.linkonce %s\n", \
TREE_CODE (DECL) == FUNCTION_DECL \
? "discard" : "same_size"); \
} \
else \
{ \
fprintf (STREAM, ".section\t%s,\"%s\"\n", NAME, mode); \
} \
} while (0)
/* Write the extra assembler code needed to declare a function
@@ -408,3 +446,8 @@ do { \
extern void i386_pe_record_external_function PROTO((char *));
extern void i386_pe_declare_function_type STDIO_PROTO((FILE *, char *, int));
extern void i386_pe_asm_file_end STDIO_PROTO((FILE *));
/* For Win32 ABI compatibility */
#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0

View File

@@ -1,6 +1,5 @@
/* Subroutines for GNU compiler for Intel 80x86 running DG/ux
Copyright (C) 1993, 1995 Free Software Foundation, Inc.
Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
Currently maintained by (gcc@dg-rtp.dg.com)
This file is part of GNU CC.
@@ -96,7 +95,7 @@ output_options (file, f_options, f_len, W_options, W_len,
indent, pos, max);
pos = output_option (file, sep, "-mcpu=", ix86_cpu_string, indent, pos, max);
pos = output_option (file, sep, "-march=", ix86_isa_string, indent, pos, max);
pos = output_option (file, sep, "-march=", ix86_arch_string, indent, pos, max);
fprintf (file, term);
}

View File

@@ -31,23 +31,18 @@
* SUCH DAMAGE.
*/
/*
* Re rework of the solaris 2 version of gmon by J.W.Hawtin 12/8/1996
* Does not work right yet.
*/
/*
* This is a modified gmon.c by J.W.Hawtin <J.W.Hawtin@lboro.ac.uk>,
* This is a modified gmon.c by J.W.Hawtin <oolon@ankh.org>,
* 14/8/96 based on the original gmon.c in GCC and the hacked version
* solaris 2 sparc version (config/sparc/gmon-sol.c) by Mark Eichin. To do
* process profiling on solaris 2.4 X86
* process profiling on solaris 2.X X86
*
* It must be used in conjunction with sol2-gc1.asm, which is used to start
* and stop process monitoring.
*
* Differences.
*
* On Solaris 2 _mcount is called my library functions not mcount, so support
* On Solaris 2 _mcount is called by library functions not mcount, so support
* has been added for both.
*
* Also the prototype for profil() is different
@@ -58,7 +53,7 @@
*
* Notes
*
* This code could easily be integrated with the orginal gmon.c and perhaps
* This code could easily be integrated with the original gmon.c and perhaps
* should be.
*/
@@ -90,7 +85,7 @@ struct phdr {
#define HASHFRACTION 1
#define ARCDENSITY 2
#define MINARCS 50
#define BASEADDRESS 0x8000000 /* On Solaris 2 X86 all excutables start here
#define BASEADDRESS 0x8000000 /* On Solaris 2 X86 all executables start here
and not at 0 */
struct tostruct {
@@ -264,6 +259,7 @@ internal_mcount()
register struct tostruct *top;
register struct tostruct *prevtop;
register long toindex;
static char already_setup;
/*
* find the return address for mcount,
@@ -277,6 +273,17 @@ internal_mcount()
This identifies the caller of the function just entered. */
frompcindex = (void *) __builtin_return_address (1);
if(!already_setup) {
extern etext();
already_setup = 1;
/* monstartup(0, etext); */
monstartup(0x08040000, etext);
#ifdef USE_ONEXIT
on_exit(_mcleanup, 0);
#else
atexit(_mcleanup);
#endif
}
/*
* check that we are profiling
* and that we aren't recursively invoked.

View File

@@ -2,8 +2,6 @@
#include "dbxcoff.h"
#define NO_STAB_H /* DJGPP has no stab.h */
/* Don't assume anything about the header files. */
#define NO_IMPLICIT_EXTERN_C
@@ -88,3 +86,11 @@ dtor_section () \
#undef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG) != 0) fprintf ((FILE), "\t.p2align %d\n", LOG)
/* djgpp has atexit (). */
#undef HAVE_ATEXIT
#define HAVE_ATEXIT
/* djgpp automatically calls its own version of __main, so don't define one
in libgcc, nor call one in main(). */
#define HAS_INIT_SECTION

View File

@@ -546,6 +546,7 @@ i386_valid_type_attribute_p (type, attributes, identifier, args)
tree args;
{
if (TREE_CODE (type) != FUNCTION_TYPE
&& TREE_CODE (type) != METHOD_TYPE
&& TREE_CODE (type) != FIELD_DECL
&& TREE_CODE (type) != TYPE_DECL)
return 0;
@@ -891,6 +892,17 @@ output_to_reg (dest, dies, scratch_mem)
{
if (dies)
output_asm_insn (AS1 (fistp%z3,%y0), xops);
else if (GET_MODE (xops[3]) == DImode && ! dies)
{
/* There is no DImode version of this without a stack pop, so
we must emulate it. It doesn't matter much what the second
instruction is, because the value being pushed on the FP stack
is not used except for the following stack popping store.
This case can only happen without optimization, so it doesn't
matter that it is inefficient. */
output_asm_insn (AS1 (fistp%z3,%0), xops);
output_asm_insn (AS1 (fild%z3,%0), xops);
}
else
output_asm_insn (AS1 (fist%z3,%y0), xops);
}

View File

@@ -896,10 +896,19 @@ enum reg_class
/* Similar, but for floating constants, and defining letters G and H.
Here VALUE is the CONST_DOUBLE rtx itself. We allow constants even if
TARGET_387 isn't set, because the stack register converter may need to
load 0.0 into the function value register. */
load 0.0 into the function value register.
We disallow these constants when -fomit-frame-pointer and compiling
PIC code since reload might need to force the constant to memory.
Forcing the constant to memory changes the elimination offsets after
the point where they must stay constant.
However, we must allow them after reload as completed as reg-stack.c
will create insns which use these constants. */
#define CONST_DOUBLE_OK_FOR_LETTER_P(VALUE, C) \
((C) == 'G' ? standard_80387_constant_p (VALUE) : 0)
(((reload_completed || !flag_pic || !flag_omit_frame_pointer) && (C) == 'G') \
? standard_80387_constant_p (VALUE) : 0)
/* Place additional restrictions on the register class to use when it
is necessary to be able to hold a value of mode MODE in a reload

View File

@@ -1109,7 +1109,7 @@
/* Fastest way to change a 0 to a 1.
If inc%B0 isn't allowed, use inc%L0. */
if (NON_QI_REG_P (operands[0]))
return AS1 (inc%L0,%0);
return AS1 (inc%L0,%k0);
else
return AS1 (inc%B0,%0);
}

View File

@@ -150,8 +150,9 @@ Boston, MA 02111-1307, USA. */
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD
/* The egcs-1.1 branch is the last time we will have -Di386. -D__i386__ is the thing to use. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__ELF__ -Dunix -Dlinux -Asystem(posix)"
#define CPP_PREDEFINES "-D__ELF__ -Dunix -Di386 -D__i386__ -Dlinux -Asystem(posix)"
#undef CPP_SPEC
#ifdef USE_GNULIBC_1

View File

@@ -26,10 +26,14 @@ Boston, MA 02111-1307, USA. */
#include "i386/cygwin32.h"
/* Please keep changes to CPP_PREDEFINES in sync with i386/crtdll. The
only difference between the two should be __MSVCRT__ needed to
distinguish MSVC from CRTDLL runtime in mingw headers. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Di386 -D_WIN32 -DWIN32 -D__WIN32__ \
-D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1\
-D__MINGW32__ -D__MSVCRT__ -DWINNT -D_X86_=1 -D__STDC__=1\
-D__stdcall=__attribute__((__stdcall__)) \
-D_stdcall=__attribute__((__stdcall__)) \
-D__cdecl=__attribute__((__cdecl__)) \
-D__declspec(x)=__attribute__((x)) \
-Asystem(winnt) -Acpu(i386) -Amachine(i386)"

View File

@@ -1,6 +1,6 @@
! crt1.s for Solaris 2, x86
! Copyright (C) 1993 Free Software Foundation, Inc.
! Copyright (C) 1993, 1998 Free Software Foundation, Inc.
! Written By Fred Fish, Nov 1992
!
! This file is free software; you can redistribute it and/or modify it
@@ -149,7 +149,7 @@ _start:
! A dummy profiling support routine for non-profiling executables,
! in case we link in some objects that have been compiled for profiling.
.globl _mcount
.weak _mcount
_mcount:
ret
.type _mcount,@function

View File

@@ -41,7 +41,7 @@
! information obtained by single stepping executables on other i386 SVR4
! implementations. This file is the first thing linked into any executable.
! This is a modified crt1.s by J.W.Hawtin <J.W.Hawtin@lboro.ac.uk> 15/8/96,
! This is a modified crt1.s by J.W.Hawtin <oolon@ankh.org> 15/8/96,
! to allow program profiling, by calling monstartup on entry and _mcleanup
! on exit

View File

@@ -14,3 +14,14 @@
#ifdef DWARF_DEBUGGING_INFO
#undef DWARF_DEBUGGING_INFO
#endif
/*
Changed from config/svr4.h in the following ways:
- Added "%{V}".
- Modified "{%v:-V}" to take into account "%{V}".
- Added "-s" so that stabs are saved in the final executable. */
#undef ASM_SPEC
#define ASM_SPEC \
"%{V} %{v:%{!V:-V}} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} -s"

View File

@@ -20,7 +20,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "config.h"
#include <stdio.h>
#include "system.h"
#include "rtl.h"
#include "regs.h"
#include "hard-reg-set.h"
@@ -50,17 +50,40 @@ i386_pe_valid_decl_attribute_p (decl, attributes, attr, args)
tree attr;
tree args;
{
if (args != NULL_TREE)
return 0;
if (is_attribute_p ("dllexport", attr))
return 1;
if (is_attribute_p ("dllimport", attr))
return 1;
if (args == NULL_TREE)
{
if (is_attribute_p ("dllexport", attr))
return 1;
if (is_attribute_p ("dllimport", attr))
return 1;
}
return i386_valid_decl_attribute_p (decl, attributes, attr, args);
}
/* Return nonzero if ATTR is a valid attribute for TYPE.
ATTRIBUTES are any existing attributes and ARGS are the arguments
supplied with ATTR. */
int
i386_pe_valid_type_attribute_p (type, attributes, attr, args)
tree type;
tree attributes;
tree attr;
tree args;
{
if (args == NULL_TREE
&& (TREE_CODE (type) == RECORD_TYPE || TREE_CODE (type) == UNION_TYPE))
{
if (is_attribute_p ("dllexport", attr))
return 1;
if (is_attribute_p ("dllimport", attr))
return 1;
}
return i386_valid_type_attribute_p (type, attributes, attr, args);
}
/* Merge attributes in decls OLD and NEW.
This handles the following situation:
@@ -114,49 +137,33 @@ i386_pe_merge_decl_attributes (old, new)
return a;
}
/* Check a type that has a virtual table, and see if any virtual methods are
marked for import or export, and if so, arrange for the vtable to
be imported or exported. */
/* Return the type that we should use to determine if DECL is
imported or exported. */
static int
i386_pe_check_vtable_importexport (type)
tree type;
static tree
associated_type (decl)
tree decl;
{
tree methods = TYPE_METHODS (type);
tree fndecl;
tree t = NULL_TREE;
if (TREE_CODE (methods) == FUNCTION_DECL)
fndecl = methods;
else if (TREE_VEC_ELT (methods, 0) != NULL_TREE)
fndecl = TREE_VEC_ELT (methods, 0);
else
fndecl = TREE_VEC_ELT (methods, 1);
while (fndecl)
/* In the C++ frontend, DECL_CONTEXT for a method doesn't actually refer
to the containing class. So we look at the 'this' arg. */
if (TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE)
{
if (DECL_VIRTUAL_P (fndecl) || DECL_VINDEX (fndecl) != NULL_TREE)
{
tree exp = lookup_attribute ("dllimport",
DECL_MACHINE_ATTRIBUTES (fndecl));
if (exp == 0)
exp = lookup_attribute ("dllexport",
DECL_MACHINE_ATTRIBUTES (fndecl));
if (exp)
return 1;
}
fndecl = TREE_CHAIN (fndecl);
/* Artificial methods are not affected by the import/export status of
their class unless they are virtual. */
if (! DECL_ARTIFICIAL (decl) || DECL_VINDEX (decl))
t = TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (decl))));
}
else if (DECL_CONTEXT (decl)
&& TREE_CODE_CLASS (TREE_CODE (DECL_CONTEXT (decl))) == 't')
t = DECL_CONTEXT (decl);
return 0;
return t;
}
/* Return non-zero if DECL is a dllexport'd object. */
#if 0
tree current_class_type; /* FIXME */
#endif
int
i386_pe_dllexport_p (decl)
tree decl;
@@ -170,22 +177,14 @@ i386_pe_dllexport_p (decl)
if (exp)
return 1;
#if 0 /* This was a hack to get vtable's exported or imported since only one
copy of them is ever output. Disabled pending better solution. */
/* For C++, the vtables might have to be marked. */
if (TREE_CODE (decl) == VAR_DECL && DECL_VIRTUAL_P (decl))
/* Class members get the dllexport status of their class. */
if (associated_type (decl))
{
if (TREE_PUBLIC (decl)
&& DECL_EXTERNAL (decl) == 0
&& (DECL_CONTEXT (decl)
? i386_pe_check_vtable_importexport (DECL_CONTEXT (decl))
: current_class_type
? i386_pe_check_vtable_importexport (current_class_type)
: 0)
)
exp = lookup_attribute ("dllexport",
TYPE_ATTRIBUTES (associated_type (decl)));
if (exp)
return 1;
}
#endif
return 0;
}
@@ -209,22 +208,14 @@ i386_pe_dllimport_p (decl)
if (imp)
return 1;
#if 0 /* This was a hack to get vtable's exported or imported since only one
copy of them is ever output. Disabled pending better solution. */
/* For C++, the vtables might have to be marked. */
if (TREE_CODE (decl) == VAR_DECL && DECL_VIRTUAL_P (decl))
/* Class members get the dllimport status of their class. */
if (associated_type (decl))
{
if (TREE_PUBLIC (decl)
&& DECL_EXTERNAL (decl)
&& (DECL_CONTEXT (decl)
? i386_pe_check_vtable_importexport (DECL_CONTEXT (decl))
: current_class_type
? i386_pe_check_vtable_importexport (current_class_type)
: 0)
)
imp = lookup_attribute ("dllimport",
TYPE_ATTRIBUTES (associated_type (decl)));
if (imp)
return 1;
}
#endif
return 0;
}
@@ -570,7 +561,7 @@ i386_pe_asm_file_end (file)
decl = get_identifier (p->name);
/* Positively ensure only one declaration for any given symbol. */
if (! TREE_ASM_WRITTEN (decl))
if (! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl))
{
TREE_ASM_WRITTEN (decl) = 1;
i386_pe_declare_function_type (file, p->name, TREE_PUBLIC (decl));

View File

@@ -17,7 +17,6 @@ DEBUG =
DEBUG_COLLECT = # -DDEBUG
CCLIBFLAGS = -O -DNO_HALF_PIC
GCC_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) -B./ -DPOSIX -DNO_HALF_PIC
INSTALL = installbsd -c
LDFLAGS =
MSTATS = # -mstats
OLDCC = /usr/ccs/gcc/gcc

View File

@@ -1,37 +1,2 @@
/* Configuration for GNU C-compiler for IBM PS/2 running AIX/386.
Copyright (C) 1988, 1993 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define USG
#undef TRUE
#undef FALSE
#include "i386/xm-i386.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
/* If not compiled with GNU C, use the portable alloca. */
#ifndef __GNUC__
#define USE_C_ALLOCA
#endif
#define HAVE_PUTENV

View File

@@ -1,5 +1,3 @@
#include "i386/xm-sysv3.h"
#ifndef REAL_ARITHMETIC
#define REAL_VALUE_ATOF(x, mode) strtod ((x), (char **)0)
extern double strtod ();

View File

@@ -1,7 +1,7 @@
/* Configuration for GNU compiler
for an Intel i386 or later processor running OS/2 2.x.
Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
Contributed by Samuel Figueroa (figueroa@cs.nyu.edu)
Copyright (C) 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc.
Contributed by Samuel Figueroa (figueroa@apple.com)
This file is part of GNU CC.
@@ -28,20 +28,24 @@ Boston, MA 02111-1307, USA. */
#include <stdlib.h> /* this defines alloca */
#define USG
#define ONLY_INT_FIELDS
#define HAVE_PUTENV
#define USE_PROTOTYPES 1
#define bcmp(a,b,c) memcmp (a,b,c)
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define index strchr
#define rindex strrchr
#define strcasecmp stricmp
#define kill(a,b) raise(b)
#define mktemp tmpnam
#else
#ifdef __EMX__
#define EMX
#define USG
#define BSTRING
#define HAVE_PUTENV
#define HAVE_VPRINTF
#define HAVE_STRERROR
#define strcasecmp stricmp
#else
#define ____386BSD____
int spawnv (int modeflag, char *path, char *argv[]);
int spawnvp (int modeflag, char *path, char *argv[]);
#endif /* __EMX__ */
#endif /* __IBMC__ */
#ifndef PATH_SEPARATOR
@@ -52,6 +56,14 @@ int spawnvp (int modeflag, char *path, char *argv[]);
#endif
#define EXECUTABLE_SUFFIX ".exe"
/* The EMX compiler uses regular .o files */
#ifndef __EMX__
#define OBJECT_SUFFIX ".obj"
#endif
/* This is required to make temporary file names unique on file
systems which severely restrict the length of file names. */
#define MKTEMP_EACH_FILE
#include "i386/xm-i386.h"

View File

@@ -1,32 +1,2 @@
/* Configuration for GNU C-compiler for 386 running OSF/1
Copyright (C) 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#undef TRUE
#undef FALSE
#include "i386/xm-i386.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
#define HAVE_PUTENV
#define HAVE_VPRINTF

View File

@@ -1,18 +1,9 @@
/* Configuration for GCC for Intel i386 running SCO. */
#include "i386/xm-sysv3.h"
/* On SCO 3.2.1, ldexp rejects values outside [0.5, 1). */
#define BROKEN_LDEXP
/* Big buffers improve performance. */
#define IO_BUFFER_SIZE (0x8000 - 1024)
/* SCO has a very small ARG_MAX. */
#define SMALL_ARG_MAX
#ifndef __GNUC__
/* The SCO compiler gets it wrong, and treats enumerated bitfields
as signed quantities, making it impossible to use an 8-bit enum
@@ -20,6 +11,3 @@
#define ONLY_INT_FIELDS 1
#define CODE_FIELD_BUG 1
#endif
/* SCO lacks sys_siglist. */
#define NO_SYS_SIGLIST

View File

@@ -1,26 +1,2 @@
/* Configuration for GNU C-compiler for Intel 80386.
Copyright (C) 1994 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#define NO_STAB_H
#include "i386/xm-i386.h"
/* Use semicolons to separate elements of a path. */
#define PATH_SEPARATOR ';'

View File

@@ -1,6 +1,6 @@
/* Target definitions for GNU compiler for Alliant FX/2800
running Concentrix 2.2
Copyright (C) 1991, 1996 Free Software Foundation, Inc.
Copyright (C) 1991, 1996, 1998 Free Software Foundation, Inc.
Contributed by Howard Chu (hyc@hanauma.jpl.nasa.gov).
This file is part of GNU CC.
@@ -252,7 +252,7 @@ Boston, MA 02111-1307, USA. */
#define DATA_ALIGNMENT(dummy,align) \
((TREE_PUBLIC (decl) && \
(TREE_CODE (TREE_TYPE (decl))==POINTER_TYPE)) ? 64:align)
(POINTER_TYPE_P (TREE_TYPE (decl)))) ? 64: align)
#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \

View File

@@ -1,5 +1,5 @@
/* Definitions for Motorola 680x0 running A/UX
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996, 1998 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -114,10 +114,10 @@ crt2.o%s "
For A/UX generate the result in d0, a0, or fp0 as appropriate. */
#undef FUNCTION_VALUE
#define FUNCTION_VALUE(VALTYPE, FUNC) \
(TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_68881 \
? gen_rtx (REG, TYPE_MODE (VALTYPE), 16) \
: (TREE_CODE (VALTYPE) == POINTER_TYPE \
#define FUNCTION_VALUE(VALTYPE, FUNC) \
(TREE_CODE (VALTYPE) == REAL_TYPE && TARGET_68881 \
? gen_rtx (REG, TYPE_MODE (VALTYPE), 16) \
: (POINTER_TYPE_P (VALTYPE) \
? gen_rtx (REG, TYPE_MODE (VALTYPE), 8) \
: gen_rtx (REG, TYPE_MODE (VALTYPE), 0)))

View File

@@ -1,5 +1,5 @@
/* Definitions for Motorola 680x0 running A/UX using /bin/as
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */
#define ASM_SPEC "%{m68030:-68030 }%{m68040:-68040 }"
/* Modify AT&T SGS assembler syntax */
/* A/UX's as doesn't do dots in pseodo-ops */
/* A/UX's as doesn't do dots in pseudo-ops */
#define SDB_DEBUGGING_INFO

View File

@@ -1,4 +1,4 @@
/* Definitions for Motorola m68k running Linux
/* Definitions for Motorola m68k running Linux-based GNU systems.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -50,7 +50,7 @@ Boston, MA 02111-1307, USA. */
#undef LIB_SPEC
#if 1
/* We no longer link with libc_p.a or libg.a by default. If you want
to profile or debug the Linux C library, please add -lc_p or -ggdb
to profile or debug the GNU/Linux C library, please add -lc_p or -ggdb
to LDFLAGS at the link time, respectively. */
#define LIB_SPEC \
"%{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} %{!ggdb:-lc} %{ggdb:-lg}"

View File

@@ -1670,10 +1670,9 @@ output_move_qimode (operands)
}
if (GET_CODE (operands[1]) != CONST_INT && CONSTANT_P (operands[1]))
return "move%.l %1,%0";
/* 68k family doesn't support byte moves to from address registers. The
5200 (coldfire) does not have this restriction. */
if ((ADDRESS_REG_P (operands[0]) || ADDRESS_REG_P (operands[1]))
&& ! TARGET_5200)
/* 68k family (including the 5200 coldfire) does not support byte moves to
from address registers. */
if (ADDRESS_REG_P (operands[0]) || ADDRESS_REG_P (operands[1]))
return "move%.w %1,%0";
return "move%.b %1,%0";
}

View File

@@ -1414,21 +1414,13 @@ __transfer_from_trampoline () \
|| (GET_CODE (X) == PLUS \
&& LEGITIMATE_BASE_REG_P (XEXP (X, 0)) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \
&& (TARGET_68020 || (unsigned) INTVAL (XEXP (X, 1)) + 0x8000) < 0x10000) \
&& (TARGET_68020 \
|| ((unsigned) INTVAL (XEXP (X, 1)) + 0x8000) < 0x10000)) \
|| (GET_CODE (X) == PLUS && XEXP (X, 0) == pic_offset_table_rtx \
&& flag_pic && GET_CODE (XEXP (X, 1)) == SYMBOL_REF) \
|| (GET_CODE (X) == PLUS && XEXP (X, 0) == pic_offset_table_rtx \
&& flag_pic && GET_CODE (XEXP (X, 1)) == LABEL_REF)) \
#if 0
/* This should replace the last two (non-pic) lines
except that Sun's assembler does not seem to handle such operands. */
&& (TARGET_68020 ? CONSTANT_ADDRESS_P (XEXP (X, 1)) \
: (GET_CODE (XEXP (X, 1)) == CONST_INT \
&& ((unsigned) INTVAL (XEXP (X, 1)) + 0x8000) < 0x10000))))
#endif
#define GO_IF_NONINDEXED_ADDRESS(X, ADDR) \
{ if (INDIRECTABLE_1_ADDRESS_P (X)) goto ADDR; }

View File

@@ -1023,8 +1023,8 @@
"* return output_move_qimode (operands);")
(define_insn ""
[(set (match_operand:QI 0 "general_operand" "=d*a<Q>,d*am")
(match_operand:QI 1 "general_operand" "d*ami,d*a<Q>"))]
[(set (match_operand:QI 0 "general_operand" "=d<Q>,dm,d*a")
(match_operand:QI 1 "general_operand" "dmi,d<Q>,di*a"))]
"TARGET_5200"
"* return output_move_qimode (operands);")
@@ -1483,7 +1483,7 @@
return \"clr%.l %0\;move%.l %1,%0\";
else
operands[2] = adj_offsettable_operand (operands[0], 4);
if (GET_CODE (operands[1]) != REG || GET_CODE (operands[1]) != REG
if (GET_CODE (operands[1]) != REG || GET_CODE (operands[2]) != REG
|| REGNO (operands[1]) != REGNO (operands[2]))
output_asm_insn (\"move%.l %1,%2\", operands);
if (ADDRESS_REG_P (operands[0]))
@@ -2095,13 +2095,13 @@
} ")
(define_insn "adddi_dilshr32"
[(set (match_operand:DI 0 "general_operand" "=do")
[(set (match_operand:DI 0 "general_operand" "=d,o")
;; (plus:DI (match_operand:DI 2 "general_operand" "%0")
;; (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
;; (const_int 32))))]
(plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "ro")
(plus:DI (lshiftrt:DI (match_operand:DI 1 "general_operand" "o,r")
(const_int 32))
(match_operand:DI 2 "general_operand" "0")))]
(match_operand:DI 2 "general_operand" "0,0")))]
""
"*
{
@@ -2114,13 +2114,13 @@
} ")
(define_insn "adddi_dishl32"
[(set (match_operand:DI 0 "general_operand" "=ro")
[(set (match_operand:DI 0 "general_operand" "=r,o")
;; (plus:DI (match_operand:DI 2 "general_operand" "%0")
;; (ashift:DI (match_operand:DI 1 "general_operand" "ro")
;; (const_int 32))))]
(plus:DI (ashift:DI (match_operand:DI 1 "general_operand" "ro")
(plus:DI (ashift:DI (match_operand:DI 1 "general_operand" "o,r")
(const_int 32))
(match_operand:DI 2 "general_operand" "0")))]
(match_operand:DI 2 "general_operand" "0,0")))]
""
"*
{
@@ -5958,6 +5958,25 @@
operands[3] = adj_offsettable_operand (operands[0], 4);
if (! ADDRESS_REG_P (operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[3]))
{
#ifdef MOTOROLA
return \"or%.l %0,%2\;jbeq %l1\";
#else
return \"or%.l %0,%2\;jeq %l1\";
#endif
}
else
{
#ifdef MOTOROLA
return \"or%.l %3,%2\;jbeq %l1\";
#else
return \"or%.l %3,%2\;jeq %l1\";
#endif
}
}
#ifdef MOTOROLA
return \"move%.l %0,%2\;or%.l %3,%2\;jbeq %l1\";
#else
@@ -6019,6 +6038,25 @@
operands[3] = adj_offsettable_operand (operands[0], 4);
if (!ADDRESS_REG_P (operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[0]))
{
if (reg_overlap_mentioned_p (operands[2], operands[3]))
{
#ifdef MOTOROLA
return \"or%.l %0,%2\;jbne %l1\";
#else
return \"or%.l %0,%2\;jne %l1\";
#endif
}
else
{
#ifdef MOTOROLA
return \"or%.l %3,%2\;jbne %l1\";
#else
return \"or%.l %3,%2\;jne %l1\";
#endif
}
}
#ifdef MOTOROLA
return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\";
#else

View File

@@ -26,7 +26,7 @@ Boston, MA 02111-1307, USA. */
# define FILE(n) file n
# define GLOBAL_SYM(s) global s
# define LOCAL_LABEL(l) L%##l
# define SECTION(n) section n
# define IDENT(s) ident s
# define TEXT text
#else /* Assume we are using GNU as. */
# define COMM .comm
@@ -35,8 +35,7 @@ Boston, MA 02111-1307, USA. */
# define FILE(name) .file name
# define GLOBAL_SYM(s) .globl s
# define LOCAL_LABEL(l) .L.##l
# define SECTION(n) .section n
# define STRING(s) .asciz s
# define IDENT(s) .section .comment;.asciz s
# define TEXT .text
#endif
@@ -86,24 +85,14 @@ LOCAL_LABEL(isatty):
trap &0
nop
GLOBAL_SYM (__stop_monitor)
__stop_monitor:
rts
EVEN
COMM splimit%,4
COMM environ,4
COMM mcount,4
COMM mcount%,4
COMM monitor,4
#ifdef STRING
SECTION (.comment)
STRING ("$Id: mot3300-crt0.S,v 1.1 1997/08/11 15:57:32 law Exp $\n")
STRING ("Contributed by manfred@lts.sel.alcatel.de (Manfred Hollstein, Germany)\n")
#else
byte 'C,'o,'n,'t,'r,'i,'b,'u,'t,'e,'d,' ,'b,'y
byte ' ,'m,'a,'n,'f,'r,'e,'d,'@,'l,'t,'s,'.,'s
byte 'e,'l,'.,'a,'l,'c,'a,'t,'e,'l,'.,'d,'e,'
byte '(,'M,'a,'n,'f,'r,'e,'d,' ,'H,'o,'l,'l,'s
byte 't,'e,'i,'n,',,' ,'G,'e,'r,'m,'a,'n,'y,')
byte 10,0
#endif
IDENT ("$Id: mot3300-crt0.S,v 1.2 1997/12/22 23:41:12 kenner Exp $")
IDENT ("Contributed by Manfred Hollstein (manfred@lts.sel.alcatel.de)")
IDENT ("Corrections by Philippe De Muyter (phdm@macqel.be)")

View File

@@ -1,5 +1,5 @@
/* The start module mcrt0.s for the SysV68 Motorola 3300 Delta Series.
Copyright (C) 1996 Free Software Foundation, Inc.
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Contributed by Manfred Hollstein (manfred@lts.sel.alcatel.de).
This file is part of GNU CC.
@@ -26,7 +26,7 @@ Boston, MA 02111-1307, USA. */
# define FILE(n) file n
# define GLOBAL_SYM(s) global s
# define LOCAL_LABEL(l) L%##l
# define SECTION(n) section n
# define IDENT(s) ident s
# define TEXT text
#else /* Assume we are using GNU as. */
# define COMM .comm
@@ -35,8 +35,7 @@ Boston, MA 02111-1307, USA. */
# define FILE(name) .file name
# define GLOBAL_SYM(s) .globl s
# define LOCAL_LABEL(l) .L.##l
# define SECTION(n) .section n
# define STRING(s) .asciz s
# define IDENT(s) .section .comment;.asciz s
# define TEXT .text
#endif
@@ -110,30 +109,27 @@ LOCAL_LABEL(isatty):
jsr exit
_exit: moveq &1,%d0
trap &0
GLOBAL_SYM (mcount)
EVEN
mcount: bra mcount%
GLOBAL_SYM (__stop_monitor)
__stop_monitor:
clr.l -(%sp)
jsr monitor
add.w &4,%sp
rts
LOCAL_LABEL(errtxt):
#ifdef STRING
STRING ("No space for monitor buffer\n")
#else
byte 'N,'o,' ,'s,'p,'a,'c,'e,' ,'f,'o,'r,' ,'m,'o,'n
byte 'i,'t,'o,'r,' ,'b,'u,'f,'f,'e,'r,'\n,0
#endif
byte 'i,'t,'o,'r,' ,'b,'u,'f,'f,'e,'r,'\n
LOCAL_LABEL(errtxt_end):
EVEN
LOCAL_LABEL(3):
mov.l &28,-(%sp)
mov.l &LOCAL_LABEL(errtxt),-(%sp)
moveq &2,%d0
mov.l %d0,-(%sp)
pea LOCAL_LABEL(errtxt_end)-LOCAL_LABEL(errtxt)
pea LOCAL_LABEL(errtxt)(%pc)
pea 2
jsr write
bra.b _exit
LOCAL_LABEL(endofstart):
nop
EVEN
@@ -141,15 +137,6 @@ LOCAL_LABEL(endofstart):
COMM environ,4
COMM _countbase,4
#ifdef STRING
SECTION (.comment)
STRING ("$Id: mot3300Mcrt0.S,v 1.1 1997/08/11 15:57:32 law Exp $\n")
STRING ("Contributed by manfred@lts.sel.alcatel.de (Manfred Hollstein, Germany)\n")
#else
byte 'C,'o,'n,'t,'r,'i,'b,'u,'t,'e,'d,' ,'b,'y
byte ' ,'m,'a,'n,'f,'r,'e,'d,'@,'l,'t,'s,'.,'s
byte 'e,'l,'.,'a,'l,'c,'a,'t,'e,'l,'.,'d,'e,'
byte '(,'M,'a,'n,'f,'r,'e,'d,' ,'H,'o,'l,'l,'s
byte 't,'e,'i,'n,',,' ,'G,'e,'r,'m,'a,'n,'y,')
byte 10,0
#endif
IDENT ("$Id: mot3300Mcrt0.S,v 1.2 1997/12/22 23:39:48 kenner Exp $")
IDENT ("Contributed by Manfred Hollstein (manfred@lts.sel.alcatel.de)")
IDENT ("Corrections by Philippe De Muyter (phdm@macqel.be)")

View File

@@ -1,5 +1,5 @@
/* Definitions of target machine for GNU compiler. Sun 2 running Sunos 4.
Copyright (C) 1987, 1988, 1993, 1996 Free Software Foundation, Inc.
/* Definitions of target machine for GNU compiler. Sun 2 running SunOS 4.
Copyright (C) 1987, 1988, 1993, 1996, 1997 Free Software Foundation, Inc.
This file is part of GNU CC.

View File

@@ -6,7 +6,7 @@
/* Specify extra dir to search for include files. */
#define SYSTEM_INCLUDE_DIR "/usr/mach/include"
/* LINK_SPEC is needed only for Sunos 4. */
/* LINK_SPEC is needed only for SunOS 4. */
#undef LINK_SPEC

View File

@@ -1,5 +1,5 @@
#include "m68k/sun3n.h"
/* LINK_SPEC is needed only for Sunos 4. */
/* LINK_SPEC is needed only for SunOS 4. */
#undef LINK_SPEC

View File

@@ -1,5 +1,5 @@
#include "m68k/sun3.h"
/* LINK_SPEC is needed only for Sunos 4. */
/* LINK_SPEC is needed only for SunOS 4. */
#undef LINK_SPEC

View File

@@ -1,13 +1,3 @@
#define USG
#include "m68k/xm-m68k.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
#define index strchr
#define rindex strrchr
/* Override part of the obstack macros. */
#define __PTR_TO_INT(P) ((int)(P))

View File

@@ -1,46 +1,5 @@
/* Definitions of host machine for GNU compiler.
Atari TT ASV version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "m68k/xm-m68kv.h" /* Use the System V flavor of m68k host */
#define HAVE_VPRINTF /* Host has vprintf() in library */
/* Add HZ define if missing */
#ifndef HZ
#define HZ 100 /* System clock */
#endif
/* Define FULL_PROTOTYPES for protoize.c, to get <unistd.h> included.
We need this file for things like R_OK, not necessarily prototypes. */
#define FULL_PROTOTYPES
#if defined (__GNUC__) && __GNUC__ == 1
#define alloca __builtin_alloca
#endif
/* The m88k and mips ports make use of fancy_abort to give possibly helpful
abort information rather than just dumping core. They do it in their
tm-* files. It seems more logical that this is a characteristic of
the host machine and not the target machine, so we do it here. */
#define abort fancy_abort /* give possibly helpful abort info */

View File

@@ -1,25 +1,6 @@
#define USG
#ifndef unos
#define unos
#endif
#include "m68k/xm-m68k.h"
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
/* UNOS has vprintf() */
#define HAVE_VPRINTF
/* Avoid conflict with C library by changing name of this symbol. */
#define gettime gcc_gettime
#ifndef __GNUC__
#define USE_C_ALLOCA
#endif
/* Override part of the obstack macros. */
#define __PTR_TO_INT(P) ((int)(P))

View File

@@ -1,5 +1,3 @@
#include "m68k/xm-m68k.h"
/* malloc does better with chunks the size of a page. */
#define OBSTACK_CHUNK_SIZE (getpagesize ())

View File

@@ -1,19 +1,5 @@
/* Host environment for 68000's running System V. */
#include "m68k/xm-m68k.h"
#define USG
#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)
#define rindex strrchr
#define index strchr
#ifndef __GNUC__
#define USE_C_ALLOCA
#endif
#ifndef _SIZE_T_
typedef int size_t;
#define _SIZE_T_

View File

@@ -22,7 +22,7 @@
64kb can be mapped out, thus catching references through null
pointers. We actually start at 0x10200 (for efficiency). Ideally,
we want the page offset of a given word of the .text (output)
section to be the same as it's page offset in the actual (output)
section to be the same as its page offset in the actual (output)
linked core file so that paging of the .text section is efficient.
In order to do this we allow for up to 0x200 bytes of header stuff
in the output (linked) object file.

View File

@@ -1,7 +1,7 @@
/* Definitions of target machine for GNU compiler.
Motorola m88100 running Omron Luna/88k.
Copyright (C) 1991 Free Software Foundation, Inc.
Contributed by Jeffery Friedl (jfriedl@omron.co.jp)
Copyright (C) 1991, 1997 Free Software Foundation, Inc.
Contributed by Jeffrey Friedl (jfriedl@omron.co.jp)
This file is part of GNU CC.

Some files were not shown because too many files have changed in this diff Show More