@@ -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
756766This flag must now be set to TRUE. The flag and the tests that use it
757767will be removed at some point.
0 commit comments