parent
6b67c26e61
commit
af27aff6ae
|
@ -12,19 +12,6 @@
|
||||||
|
|
||||||
In addition to the file @file{@var{machine}.md}, a machine description
|
In addition to the file @file{@var{machine}.md}, a machine description
|
||||||
includes a C header file conventionally given the name
|
includes a C header file conventionally given the name
|
||||||
<<<<<<< tm.texi
|
|
||||||
@file{@var{machine}.h} and a C source file named @file{@var{machine}.c}.
|
|
||||||
The header file defines numerous macros that convey the information
|
|
||||||
about the target machine that does not fit into the scheme of the
|
|
||||||
@file{.md} file. The file @file{tm.h} should be a link to
|
|
||||||
@file{@var{machine}.h}. The header file @file{config.h} includes
|
|
||||||
@file{tm.h} and most compiler source files include @file{config.h}. The
|
|
||||||
source file defines a variable @code{target}, which is a structure
|
|
||||||
containing pointers to functions and data relating to the target
|
|
||||||
machine. @file{@var{machine}.c} should also their definitions, if they
|
|
||||||
are not defined elsewhere in GCC, and other functions called through the
|
|
||||||
macros defined in the @file{.h} file.
|
|
||||||
=======
|
|
||||||
@file{@var{machine}.h} and a C source file named @file{@var{machine}.c}.
|
@file{@var{machine}.h} and a C source file named @file{@var{machine}.c}.
|
||||||
The header file defines numerous macros that convey the information
|
The header file defines numerous macros that convey the information
|
||||||
about the target machine that does not fit into the scheme of the
|
about the target machine that does not fit into the scheme of the
|
||||||
|
@ -36,7 +23,6 @@ containing pointers to functions and data relating to the target
|
||||||
machine. @file{@var{machine}.c} should also contain their definitions,
|
machine. @file{@var{machine}.c} should also contain their definitions,
|
||||||
if they are not defined elsewhere in GCC, and other functions called
|
if they are not defined elsewhere in GCC, and other functions called
|
||||||
through the macros defined in the @file{.h} file.
|
through the macros defined in the @file{.h} file.
|
||||||
>>>>>>> 1.11
|
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Target Structure:: The @code{target} variable.
|
* Target Structure:: The @code{target} variable.
|
||||||
|
@ -8320,33 +8306,6 @@ If defined, a C statement that assigns default attributes to
|
||||||
newly defined @var{type}.
|
newly defined @var{type}.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
<<<<<<< tm.texi
|
|
||||||
@deftypefn {Target Hook} tree TARGET_MERGE_TYPE_ATTRIBUTES (tree @var{type1}, tree @var{type2})
|
|
||||||
Define this target hook if the merging of type attributes needs special
|
|
||||||
handling. If defined, the result is a list of the combined
|
|
||||||
@code{TYPE_ATTRIBUTES} of @var{type1} and @var{type2}. It is assumed
|
|
||||||
that @code{comptypes} has already been called and returned 1. This
|
|
||||||
function may call @code{merge_attributes} to handle machine-independent
|
|
||||||
merging.
|
|
||||||
@end deftypefn
|
|
||||||
|
|
||||||
@deftypefn {Target Hook} tree TARGET_MERGE_DECL_ATTRIBUTES (tree @var{olddecl}, tree @var{newdecl})
|
|
||||||
Define this target hook if the merging of decl attributes needs special
|
|
||||||
handling. If defined, the result is a list of the combined
|
|
||||||
@code{DECL_MACHINE_ATTRIBUTES} of @var{olddecl} and @var{newdecl}.
|
|
||||||
@var{newdecl} is a duplicate declaration of @var{olddecl}. Examples of
|
|
||||||
when this is needed are when one attribute overrides another, or when an
|
|
||||||
attribute is nullified by a subsequent definition. This function may
|
|
||||||
call @code{merge_attributes} to handle machine-independent merging.
|
|
||||||
|
|
||||||
If the only target-specific handling you require is @samp{dllimport} for
|
|
||||||
Windows targets, you should define the macro
|
|
||||||
@code{TARGET_DLLIMPORT_DECL_ATTRIBUTES}. This links in a function
|
|
||||||
called @code{merge_dllimport_decl_attributes} which you can then define
|
|
||||||
as the expansion of @code{TARGET_MERGE_DECL_ATTRIBUTES}. This is done
|
|
||||||
in @file{i386/cygwin.h} and @file{i386/i386.c}, for example.
|
|
||||||
@end deftypefn
|
|
||||||
=======
|
|
||||||
@deftypefn {Target Hook} tree TARGET_MERGE_TYPE_ATTRIBUTES (tree @var{type1}, tree @var{type2})
|
@deftypefn {Target Hook} tree TARGET_MERGE_TYPE_ATTRIBUTES (tree @var{type1}, tree @var{type2})
|
||||||
Define this target hook if the merging of type attributes needs special
|
Define this target hook if the merging of type attributes needs special
|
||||||
handling. If defined, the result is a list of the combined
|
handling. If defined, the result is a list of the combined
|
||||||
|
@ -8373,7 +8332,6 @@ called @code{merge_dllimport_decl_attributes} which can then be defined
|
||||||
as the expansion of @code{TARGET_MERGE_DECL_ATTRIBUTES}. This is done
|
as the expansion of @code{TARGET_MERGE_DECL_ATTRIBUTES}. This is done
|
||||||
in @file{i386/cygwin.h} and @file{i386/i386.c}, for example.
|
in @file{i386/cygwin.h} and @file{i386/i386.c}, for example.
|
||||||
@end deftypefn
|
@end deftypefn
|
||||||
>>>>>>> 1.11
|
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@findex INSERT_ATTRIBUTES
|
@findex INSERT_ATTRIBUTES
|
||||||
|
|
Loading…
Reference in New Issue