diff options
Diffstat (limited to 'lib/SPIRV/libSPIRV/SPIRVModule.cpp')
-rw-r--r-- | lib/SPIRV/libSPIRV/SPIRVModule.cpp | 7 |
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();
|