Skip to content

Commit 9847356

Browse files
mohitmishra786wchilders-nvidia
authored andcommitted
Move the prototype instantiation IL documentation to ALL_TEMPLATE_INFO_IN_IL. [GH edgcpp#81]
1 parent 43e10b9 commit 9847356

1 file changed

Lines changed: 23 additions & 13 deletions

File tree

‎src/host_envir.h‎

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -725,12 +725,22 @@ slower.
725725
#endif /* IL_SHOULD_BE_WRITTEN_TO_FILE */
726726

727727
/*
728-
When this flag is TRUE, any prototype instantiations of function definitions
729-
that are done are included in the IL. When the flag is FALSE, prototype
730-
instantiations of function definitions may or may not be done, depending
731-
on other modes, but the definition generated (if any) will not be included
732-
in the IL. If PROTOTYPE_INSTANTIATIONS_IN_IL is already defined, use that
733-
as the basis of the value for this flag.
728+
A prototype instantiation results from parsing and analyzing a template
729+
without substituting actual template argument entities for the formal
730+
parameters. This flag should be set to TRUE if such structured but abstract
731+
representations should be recorded in the IL. (It is typically not needed
732+
for direct code generation.) When this flag is TRUE, any prototype
733+
instantiations of function definitions that are done are included in the IL.
734+
When the flag is FALSE, prototype instantiations of function definitions may
735+
or may not be done, depending on other modes, but the definition generated
736+
(if any) will not be included in the IL. It is the default value of the
737+
variable all_template_info_in_il, except when doing IL lowering, where that
738+
variable is set from prototype_instantiations_in_il instead. Note that
739+
prototype instantiations cannot be generated when doing IL lowering.
740+
741+
This flag replaces the legacy macro PROTOTYPE_INSTANTIATIONS_IN_IL. If
742+
PROTOTYPE_INSTANTIATIONS_IN_IL is already defined, use that as the basis of
743+
the value for this flag; otherwise, the default is FALSE.
734744
*/
735745
#ifndef ALL_TEMPLATE_INFO_IN_IL
736746
#ifdef PROTOTYPE_INSTANTIATIONS_IN_IL
@@ -745,13 +755,13 @@ as the basis of the value for this flag.
745755
#endif /* ifndef ALL_TEMPLATE_INFO_IN_IL */
746756

747757
/*
748-
A prototype instantiation results from parsing and analyzing a template
749-
without substituting actual template argument entities for the formal
750-
parameters. This flag should be set to TRUE if such structured but abstract
751-
representations should be recorded in the IL. (It is typically not needed
752-
for direct code generation.) It is the default value of the variable
753-
prototype_instantiations_in_il. Note that prototype instantiations cannot
754-
be generated when doing IL lowering.
758+
PROTOTYPE_INSTANTIATIONS_IN_IL is the legacy macro for recording prototype
759+
instantiations in the IL; see ALL_TEMPLATE_INFO_IN_IL above, which is the
760+
current macro. If PROTOTYPE_INSTANTIATIONS_IN_IL is defined before
761+
ALL_TEMPLATE_INFO_IN_IL is set, its value becomes the default for
762+
ALL_TEMPLATE_INFO_IN_IL. The default of TRUE supplied here does not affect
763+
ALL_TEMPLATE_INFO_IN_IL, which has already been set. This macro is the
764+
default value of the variable prototype_instantiations_in_il.
755765
756766
This flag must now be set to TRUE. The flag and the tests that use it
757767
will be removed at some point.

0 commit comments

Comments
 (0)