[tint][ir][fuzz] Handle nulls when emitting Var validation errors
Fixes: 355249242
Change-Id: Id3063a7741e803f2765dd6f79668aa1811f22290
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/200054
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: James Price <jrprice@google.com>
diff --git a/src/tint/lang/core/ir/validator.cc b/src/tint/lang/core/ir/validator.cc
index 7229e95..caaf664 100644
--- a/src/tint/lang/core/ir/validator.cc
+++ b/src/tint/lang/core/ir/validator.cc
@@ -1141,9 +1141,14 @@
if (var->Initializer()) {
if (var->Initializer()->Type() != var->Result(0)->Type()->UnwrapPtrOrRef()) {
AddError(var) << "initializer type "
- << style::Type(var->Initializer()->Type()->FriendlyName())
+ << style::Type(var->Initializer()->Type()
+ ? var->Initializer()->Type()->FriendlyName()
+ : "undef")
<< " does not match store type "
- << style::Type(var->Result(0)->Type()->UnwrapPtrOrRef()->FriendlyName());
+ << style::Type(
+ var->Result(0)->Type()
+ ? var->Result(0)->Type()->UnwrapPtrOrRef()->FriendlyName()
+ : "undef");
return;
}
}