Skip to content

Allow refinement of constructors for which -fdistinct-constructor-tables is applied

Hannes Siebenhandl requested to merge wip/fendor/t23703 into master

Introduce -fno-distinct-constructor-tables. A distinct constructor table configuration is built from the combination of flags given, in order. For example, to only generate distinct constructor tables for a few specific constructors and no others, just pass -fdistinct-constructor-tables-only=C1,...,CN. This flag can be supplied multiple times to extend the set of constructors to generate a distinct info table for.

You can disable generation of distinct constructor tables for all configurations by passing -fno-distinct-constructor-tables.

The various configurations of these flags is included in the DynFlags fingerprints, which should result in the expected recompilation logic.

Adds a test that checks for distinct tables for various given or omitted constructors.

Fixes #23703 (closed)

Rebase of !10958

Edited by Hannes Siebenhandl

Merge request reports

Loading