PCH Target (GNU Compiler Collection (GCC) Internals) (original) (raw)
Target Hook: void *
TARGET_GET_PCH_VALIDITY (size_t *sz)
¶
This hook returns a pointer to the data needed byTARGET_PCH_VALID_P
and sets ‘*sz’ to the size of the data in bytes.
Target Hook: const char *
TARGET_PCH_VALID_P (const void *data, size_t sz)
¶
This hook checks whether the options used to create a PCH file are compatible with the current settings. It returns NULL
if so and a suitable error message if not. Error messages will be presented to the user and must be localized using ‘_(msg)’.
data is the data that was returned by TARGET_GET_PCH_VALIDITY
when the PCH file was created and sz is the size of that data in bytes. It’s safe to assume that the data was created by the same version of the compiler, so no format checking is needed.
The default definition of default_pch_valid_p
should be suitable for most targets.
Target Hook: const char *
TARGET_CHECK_PCH_TARGET_FLAGS (int pch_flags)
¶
If this hook is nonnull, the default implementation ofTARGET_PCH_VALID_P
will use it to check for compatible values of target_flags
. pch_flags specifies the value thattarget_flags
had when the PCH file was created. The return value is the same as for TARGET_PCH_VALID_P
.
Target Hook: void
TARGET_PREPARE_PCH_SAVE (void)
¶
Called before writing out a PCH file. If the target has some garbage-collected data that needs to be in a particular state on PCH loads, it can use this hook to enforce that state. Very few targets need to do anything here.