From 4921bdbe0d75f1ad29fae18920678287919a2e29 Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Thu, 6 Jul 2017 20:40:42 -0700 Subject: Eliminate `typedef`s when lowering to GLSL GLSL doesn't support `typedef` declarations. The lowering code already lowered any named types (references to `typedef`s) to their underlying definition when targetting GLSL. This changes makes sure that we also don't generate any lowered output for `typedef` declarations in the source program. --- source/slang/lower.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/slang/lower.cpp') diff --git a/source/slang/lower.cpp b/source/slang/lower.cpp index 8bc9619f3..b90573495 100644 --- a/source/slang/lower.cpp +++ b/source/slang/lower.cpp @@ -1059,6 +1059,12 @@ struct LoweringVisitor RefPtr visitTypeDefDecl(TypeDefDecl* decl) { + if (shared->target == CodeGenTarget::GLSL) + { + // GLSL does not support `typedef`, so we will lower it out of existence here + return nullptr; + } + RefPtr loweredDecl = new TypeDefDecl(); lowerDeclCommon(loweredDecl, decl); -- cgit v1.2.3