summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-06-30 15:25:59 -0400
committerGitHub <noreply@github.com>2023-06-30 12:25:59 -0700
commitc5b0708ead5de2d90ef14f20b5b8e3ed4f576373 (patch)
tree0e7691cda679b5f937d7ed73eba021ad9170245c /build
parenta3ad4dd77bba6c87abad4f76b72055c9fed94bad (diff)
Fix for operator assignment issue (#2951)
* WIP handling LValue coercion via LValueImplicitCast * Need to have the ptr type for the cast. * Casting conversion working on C++. * Make the LValue casts record if in or in/out as we can produce better code if we know the difference. * WIP LValueCast pass * Fix tests so we don't fail because downstream compilers detect use of uninitialized variable. * Do conversions through through tmp for l-value scenarios that can't work other ways. * Fix a typo. * Change diagnostic implicit-cast-lvalue for a type that still exhibits the issue. * Add matrix test. * Added a bit more clarity around LValue casting choices. * Small comment improvements. Improvements based on comments on PR. * Use findOuterGeneric.
Diffstat (limited to 'build')
-rw-r--r--build/visual-studio/slang/slang.vcxproj2
-rw-r--r--build/visual-studio/slang/slang.vcxproj.filters6
2 files changed, 8 insertions, 0 deletions
diff --git a/build/visual-studio/slang/slang.vcxproj b/build/visual-studio/slang/slang.vcxproj
index 3f1f580ed..3bff1e419 100644
--- a/build/visual-studio/slang/slang.vcxproj
+++ b/build/visual-studio/slang/slang.vcxproj
@@ -411,6 +411,7 @@ IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glsla
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-generic-function.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-generic-type.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-generics.h" />
+ <ClInclude Include="..\..\..\source\slang\slang-ir-lower-l-value-cast.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-optional-type.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-reinterpret.h" />
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-result-type.h" />
@@ -609,6 +610,7 @@ IF EXIST ..\..\..\external\slang-glslang\bin\windows-aarch64\release\slang-glsla
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-generic-function.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-generic-type.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-generics.cpp" />
+ <ClCompile Include="..\..\..\source\slang\slang-ir-lower-l-value-cast.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-optional-type.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-reinterpret.cpp" />
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-result-type.cpp" />
diff --git a/build/visual-studio/slang/slang.vcxproj.filters b/build/visual-studio/slang/slang.vcxproj.filters
index 3484c406a..f0b6b5324 100644
--- a/build/visual-studio/slang/slang.vcxproj.filters
+++ b/build/visual-studio/slang/slang.vcxproj.filters
@@ -321,6 +321,9 @@
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-generics.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="..\..\..\source\slang\slang-ir-lower-l-value-cast.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
<ClInclude Include="..\..\..\source\slang\slang-ir-lower-optional-type.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -911,6 +914,9 @@
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-generics.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\..\source\slang\slang-ir-lower-l-value-cast.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
<ClCompile Include="..\..\..\source\slang\slang-ir-lower-optional-type.cpp">
<Filter>Source Files</Filter>
</ClCompile>