errno.cpp
291 Bytes
// RUN: %clangxx_msan -O0 %s -o %t && %run %t
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
int x;
int *volatile p = &x;
errno = *p;
int res = read(-1, 0, 0);
assert(res == -1);
if (errno) printf("errno %d\n", errno);
return 0;
}