diff options
| author | venkataram-nv <vedavamadath@nvidia.com> | 2024-07-09 16:18:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-09 16:18:36 -0700 |
| commit | 0e6c5c518953141f31c09e5f10d3939054f9b1ee (patch) | |
| tree | 932bddc80408e211e1128ca5901b301c154e67bd /build/visual-studio | |
| parent | 1caef5907d0b0f16f686a8fcca479c6afc09f146 (diff) | |
Warnings for uninitialized values (#4530)
This extends the code for handling uninitialized output parameters.
Still needs to handle generic templates and assignment of uninitialized
values more carefully.
The file containing the relevant code are now in
source/slang/slang-ir-use-uninitialized-values.cpp
rather than the previous
source/slang/slang-ir-use-uninitialized-out-param.h
and the top-level function is now checkForUsingUinitializedValues.
Additionally a rudimentary test shader has been added for this case, which replaces the old file for out params only; tests/diagnositcs/uninitialized-out.slang becomes tests/diagnositcs/uninitialized.slang.
What this does not implement (could be future PRs):
* Checking uninitialized fields within constructors
* Partially uninitialized values with respect to data structure (e.g. arrays/structs/vector types)
* Partially uninitialized values with respect to control flow (e.g. if/else/loop)
Diffstat (limited to 'build/visual-studio')
| -rw-r--r-- | build/visual-studio/slang/slang.vcxproj | 4 | ||||
| -rw-r--r-- | build/visual-studio/slang/slang.vcxproj.filters | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/build/visual-studio/slang/slang.vcxproj b/build/visual-studio/slang/slang.vcxproj index cbafa9975..13eea9f0a 100644 --- a/build/visual-studio/slang/slang.vcxproj +++ b/build/visual-studio/slang/slang.vcxproj @@ -492,7 +492,7 @@ IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glsla <ClInclude Include="..\..\..\source\slang\slang-ir-synthesize-active-mask.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-translate-glsl-global-var.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-uniformity.h" />
- <ClInclude Include="..\..\..\source\slang\slang-ir-use-uninitialized-out-param.h" />
+ <ClInclude Include="..\..\..\source\slang\slang-ir-use-uninitialized-values.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-user-type-hint.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-util.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-validate.h" />
@@ -737,7 +737,7 @@ IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glsla <ClCompile Include="..\..\..\source\slang\slang-ir-synthesize-active-mask.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-translate-glsl-global-var.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-uniformity.cpp" />
- <ClCompile Include="..\..\..\source\slang\slang-ir-use-uninitialized-out-param.cpp" />
+ <ClCompile Include="..\..\..\source\slang\slang-ir-use-uninitialized-values.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-user-type-hint.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-util.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-validate.cpp" />
diff --git a/build/visual-studio/slang/slang.vcxproj.filters b/build/visual-studio/slang/slang.vcxproj.filters index ab272f7e1..87a46477d 100644 --- a/build/visual-studio/slang/slang.vcxproj.filters +++ b/build/visual-studio/slang/slang.vcxproj.filters @@ -564,7 +564,7 @@ <ClInclude Include="..\..\..\source\slang\slang-ir-uniformity.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="..\..\..\source\slang\slang-ir-use-uninitialized-out-param.h">
+ <ClInclude Include="..\..\..\source\slang\slang-ir-use-uninitialized-values.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\slang\slang-ir-user-type-hint.h">
@@ -1295,7 +1295,7 @@ <ClCompile Include="..\..\..\source\slang\slang-ir-uniformity.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="..\..\..\source\slang\slang-ir-use-uninitialized-out-param.cpp">
+ <ClCompile Include="..\..\..\source\slang\slang-ir-use-uninitialized-values.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\slang\slang-ir-user-type-hint.cpp">
|
