C++: NSDMI fixes

* Do not generate IR for field initializers from uninstantiated templates.
* Add forgotten case to `TranslatedDeclarationEntry`
This commit is contained in:
Jeroen Ketema
2026-03-25 16:34:02 +01:00
parent 346ab9d623
commit ef780c15fb
2 changed files with 3 additions and 0 deletions

View File

@@ -47,6 +47,7 @@ module Raw {
not var.isFromUninstantiatedTemplate(_) and
var instanceof StaticInitializedStaticLocalVariable
or
not var.isFromUninstantiatedTemplate(_) and
var instanceof Field
) and
var.hasInitializer() and

View File

@@ -34,6 +34,8 @@ abstract class TranslatedDeclarationEntry extends TranslatedElement, TTranslated
or
result = entry.getDeclaration().(GlobalOrNamespaceVariable)
or
result = entry.getDeclaration().(Field)
or
not entry.getDeclaration() instanceof StaticInitializedStaticLocalVariable and
not entry.getDeclaration() instanceof GlobalOrNamespaceVariable and
not entry.getDeclaration() instanceof Field and