This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patches for tm.texi: INCLUDE_DEFAULTS, STRUCT_FORCE_BLK, TARGET_...
- To: gcc-patches at gcc dot gnu dot org
- Subject: Patches for tm.texi: INCLUDE_DEFAULTS, STRUCT_FORCE_BLK, TARGET_...
- From: Hans-Peter Nilsson <hans-peter dot nilsson at axis dot com>
- Date: Fri, 17 Mar 2000 19:51:16 +0100
A few (admittedly different) tweaks in tm.texi, that need
approval as a whole.
- STRUCT_FORCE_BLK was seemingly spuriously introduced in the
middle of the description for the INCLUDE_DEFAULTS macro,
which apart from that also seems the wrong section; the best
place is IMHO in the Storage Layout section.
- Other tweaks, fixed typos in INCLUDE_DEFAULTS.
- Suggestion to use helper macros for bit-values in
TARGET_... and TARGET_SWITCHES. FWIW, I believe this was
found to be a Good Thing(tm) some (long) time ago.
Ok to install?
Fri Mar 17 18:16:11 2000 Hans-Peter Nilsson <hp@axis.se>
* tm.texi (Driver): Fix typos and tweak entry for
INCLUDE_DEFAULTS.
Move misplaced STRUCT_FORCE_BLK entry ...
(Storage Layout): ... to here.
(Run-time Target): Recommend having TARGET_MASK_... helper macros.
Index: tm.texi
===================================================================
RCS file: /cvs/gcc/egcs/gcc/tm.texi,v
retrieving revision 1.116
diff -c -p -r1.116 tm.texi
*** tm.texi 2000/02/28 21:09:54 1.116
--- tm.texi 2000/03/17 18:33:01
*************** and specify private search areas for GCC
*** 415,440 ****
The definition should be an initializer for an array of structures.
Each array element should have four elements: the directory name (a
! string constant), the component name, and flag for C++-only directories,
and a flag showing that the includes in the directory don't need to be
wrapped in @code{extern @samp{C}} when compiling C++. Mark the end of
the array with a null element.
The component name denotes what GNU package the include file is part of,
if any, in all upper-case letters. For example, it might be @samp{GCC}
! or @samp{BINUTILS}. If the package is part of the a vendor-supplied
operating system, code the component name as @samp{0}.
- @findex STRUCT_FORCE_BLK
- @item STRUCT_FORCE_BLK (@var{field})
- Return 1 if a structure containing @var{field} should be accessed using
- @code{BLKMODE}.
-
- Normally, this is not needed. See the file @file{c4x.h} for an example
- of how to use this macro to prevent a structure having a floating point
- field from being accessed in an integer mode.
-
-
For example, here is the definition used for VAX/VMS:
@example
--- 415,431 ----
The definition should be an initializer for an array of structures.
Each array element should have four elements: the directory name (a
! string constant), the component name (also a string constant), a flag
! for C++-only directories,
and a flag showing that the includes in the directory don't need to be
wrapped in @code{extern @samp{C}} when compiling C++. Mark the end of
the array with a null element.
The component name denotes what GNU package the include file is part of,
if any, in all upper-case letters. For example, it might be @samp{GCC}
! or @samp{BINUTILS}. If the package is part of a vendor-supplied
operating system, code the component name as @samp{0}.
For example, here is the definition used for VAX/VMS:
@example
*************** by means of a macro @code{TARGET_68020}
*** 554,563 ****
@code{target_flags}.
Define a macro @code{TARGET_@var{featurename}} for each such option.
! Its definition should test a bit in @code{target_flags}; for example:
@smallexample
! #define TARGET_68020 (target_flags & 1)
@end smallexample
One place where these macros are used is in the condition-expressions
--- 545,559 ----
@code{target_flags}.
Define a macro @code{TARGET_@var{featurename}} for each such option.
! Its definition should test a bit in @code{target_flags}. It is
! recommended that a helper macro @code{TARGET_MASK_@var{featurename}}
! is defined for each bit-value to test, and used in
! @code{TARGET_@var{featurename}} and @code{TARGET_SWITCHES}. For
! example:
@smallexample
! #define TARGET_MASK_68020 1
! #define TARGET_68020 (target_flags & TARGET_MASK_68020)
@end smallexample
One place where these macros are used is in the condition-expressions
*************** with opposite meanings, and picks the la
*** 590,598 ****
@smallexample
#define TARGET_SWITCHES \
! @{ @{ "68020", 1, "" @}, \
! @{ "68000", -1, "Compile for the 68000" @}, \
! @{ "", 1, "" @}@}
@end smallexample
@findex TARGET_OPTIONS
--- 586,594 ----
@smallexample
#define TARGET_SWITCHES \
! @{ @{ "68020", TARGET_MASK_68020, "" @}, \
! @{ "68000", -TARGET_MASK_68020, "Compile for the 68000" @}, \
! @{ "", TARGET_MASK_68020, "" @}@}
@end smallexample
@findex TARGET_OPTIONS
*************** get from @code{PCC_BITFIELD_TYPE_MATTERS
*** 1003,1008 ****
--- 999,1013 ----
@item BITFIELD_NBYTES_LIMITED
Like PCC_BITFIELD_TYPE_MATTERS except that its effect is limited to
aligning a bitfield within the structure.
+
+ @findex STRUCT_FORCE_BLK
+ @item STRUCT_FORCE_BLK (@var{field})
+ Return 1 if a structure containing @var{field} should be accessed using
+ @code{BLKMODE}.
+
+ Normally, this is not needed. See the file @file{c4x.h} for an example
+ of how to use this macro to prevent a structure having a floating point
+ field from being accessed in an integer mode.
@findex ROUND_TYPE_SIZE
@item ROUND_TYPE_SIZE (@var{type}, @var{computed}, @var{specified})
brgds, H-P