From 23ea3db3e5ea16b4964e9e3b5fee88bfc267fc57 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Sun, 11 Feb 2018 22:04:45 -0700 Subject: [PATCH] Warning for #pragma once. GLSL and HLSL. Addresses #824. --- Test/baseResults/preprocessor.pragma.vert.err | 2 ++ Test/baseResults/preprocessor.pragma.vert.out | 2 ++ Test/preprocessor.pragma.vert | 2 ++ glslang/MachineIndependent/ParseHelper.cpp | 2 ++ hlsl/hlslParseHelper.cpp | 7 +++++++ 5 files changed, 15 insertions(+) diff --git a/Test/baseResults/preprocessor.pragma.vert.err b/Test/baseResults/preprocessor.pragma.vert.err index e69de29bb..da435dbd9 100644 --- a/Test/baseResults/preprocessor.pragma.vert.err +++ b/Test/baseResults/preprocessor.pragma.vert.err @@ -0,0 +1,2 @@ +WARNING: 0:10: '#pragma once' : not implemented + diff --git a/Test/baseResults/preprocessor.pragma.vert.out b/Test/baseResults/preprocessor.pragma.vert.out index 8c5281446..ebe1e4a74 100644 --- a/Test/baseResults/preprocessor.pragma.vert.out +++ b/Test/baseResults/preprocessor.pragma.vert.out @@ -7,6 +7,8 @@ #pragma undefined_pragma(x,4) +#pragma once + int main(){ } diff --git a/Test/preprocessor.pragma.vert b/Test/preprocessor.pragma.vert index 79f5600a8..0ae7ee212 100644 --- a/Test/preprocessor.pragma.vert +++ b/Test/preprocessor.pragma.vert @@ -7,5 +7,7 @@ #pragma undefined_pragma(x, 4) +#pragma once + int main() { } diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index e768d46ec..69f47998a 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -266,6 +266,8 @@ void TParseContext::handlePragma(const TSourceLoc& loc, const TVector& if (tokens.size() != 1) error(loc, "extra tokens", "#pragma", ""); intermediate.setUseStorageBuffer(); + } else if (tokens[0].compare("once") == 0) { + warn(loc, "not implemented", "#pragma once", ""); } } diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp index 6602ba28e..cba772d86 100755 --- a/hlsl/hlslParseHelper.cpp +++ b/hlsl/hlslParseHelper.cpp @@ -550,6 +550,13 @@ void HlslParseContext::handlePragma(const TSourceLoc& loc, const TVector