Add missing NULL check in CanBeType

This commit is contained in:
2017-05-02 22:26:21 -04:00
parent b3b02df569
commit 93c563e073
3 changed files with 14 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
//@error //@error
//assigning mismatched polymorphic types //assigning mismatched polymorphic types
export void foo(floating$0 bar) { export void foo(uniform floating$0 bar) {
floating$1 baz = bar; floating$1 baz = bar;
} }

View File

@@ -1,6 +1,6 @@
//@error //@error
//assigning mismatched polymorphic types //assigning mismatched polymorphic types
export void foo(number$0 bar) { export void foo(uniform floating$0 bar) {
floating$0 baz = bar; integer baz = bar;
} }

View File

@@ -855,6 +855,7 @@ PolyType::CanBeType(const Type *t) const {
const AtomicType *at = CastType<AtomicType>(t); const AtomicType *at = CastType<AtomicType>(t);
if (at) {
switch (restriction) { switch (restriction) {
case TYPE_INTEGER: case TYPE_INTEGER:
return at->IsIntType(); return at->IsIntType();
@@ -865,6 +866,7 @@ PolyType::CanBeType(const Type *t) const {
default: default:
FATAL("Unmatched case for polymorphic restriction"); FATAL("Unmatched case for polymorphic restriction");
} }
}
// not an atomic type or polymorphic type // not an atomic type or polymorphic type
return false; return false;