summaryrefslogtreecommitdiff
path: root/source/slang/slang-check-expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-check-expr.cpp')
-rw-r--r--source/slang/slang-check-expr.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/slang/slang-check-expr.cpp b/source/slang/slang-check-expr.cpp
index 5233008fd..1b9725a8c 100644
--- a/source/slang/slang-check-expr.cpp
+++ b/source/slang/slang-check-expr.cpp
@@ -2274,10 +2274,14 @@ namespace Slang
expr->left = maybeOpenRef(expr->left);
auto type = expr->left->type;
+ if (auto atomicType = as<AtomicType>(type))
+ {
+ type = atomicType->getElementType();
+ }
auto right = maybeOpenRef(expr->right);
expr->right = coerce(CoercionSite::Assignment, type, right);
- if (!type.isLeftValue)
+ if (!expr->left->type.isLeftValue)
{
if (as<ErrorType>(type))
{