balazske added a comment. The error state of the stream can store these combinations:
| | FERROR flag | FEOF flag | file position indeterminate | | 1 | false | false | false | No error (single state) | | 2 | true | false | false | should never happen unless the "indeterminate" is cleared with a debug function | | 3 | false | true | false | FEOF flag set (single state) | | 4 | false | false | true | only indeterminate position but no error flags (single state), can occur after `fseek` or `clearerr` | | 5 | true | true | false | should never occur | | 6 | true | false | true | FERROR set, always together with indeterminate position (single state) | | 7 | false | true | true | FEOF set, indeterminate position should be ignored here (single state), same as case 3 | | 8 | true | true | true | the single combined ("Schrödinger") state: cases 3 and 6, this means delay of the state split until the exact error is revealed | | Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106262/new/ https://reviews.llvm.org/D106262 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits