brintos

brintos / llvm-project-archived public Read only

0
0
Text · 542 B · c4257d1 Raw
21 lines · cpp
1// RUN: %clangxx -g %s -o %t && %run %t2 3#include <assert.h>4#include <stdio.h>5 6int main(int argc, char **argv) {7  FILE *fp = fopen(argv[0], "r");8  assert(fp);9 10  // the file should be at least one character long, always11  assert(getc_unlocked(fp) != EOF);12  // POSIX guarantees being able to ungetc() at least one character13  // NB: ungetc_unlocked is apparently not present14  assert(ungetc('X', fp) != EOF);15  // check whether ungetc() works with getc_unlocked()16  assert(getc_unlocked(fp) == 'X');17 18  assert(!fclose(fp));19  return 0;20}21