summaryrefslogtreecommitdiff
path: root/lib/SPIRV/libSPIRV/SPIRVModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/SPIRV/libSPIRV/SPIRVModule.cpp')
-rw-r--r--lib/SPIRV/libSPIRV/SPIRVModule.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/SPIRV/libSPIRV/SPIRVModule.cpp b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
index e381428..1cec3f7 100644
--- a/lib/SPIRV/libSPIRV/SPIRVModule.cpp
+++ b/lib/SPIRV/libSPIRV/SPIRVModule.cpp
@@ -1504,8 +1504,11 @@ operator>> (std::istream &I, SPIRVModule &M) {
Decoder >> MI.InstSchema;
assert(MI.InstSchema == SPIRVISCH_Default && "Unsupported instruction schema");
- while(Decoder.getWordCountAndOpCode())
- M.add(Decoder.getEntry());
+ while (Decoder.getWordCountAndOpCode()) {
+ SPIRVEntry *Entry = Decoder.getEntry();
+ if (Entry != nullptr)
+ M.add(Entry);
+ }
MI.optimizeDecorates();
MI.resolveUnknownStructFields();