diff --git a/Makefile b/Makefile index ab29b1b..6bf6a57 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,8 @@ INCLUDE=include COMMON_FLAGS= -W -Wall -pedantic -fno-strict-aliasing $(addprefix -I,$(INCLUDE)) -OPT_FLAGS?= -march=native -fgraphite -fopenmp -floop-parallelize-all -ftree-parallelize-loops=4 \ +MARCH?= -march=native +OPT_FLAGS?= $(MARCH) -fgraphite -fopenmp -floop-parallelize-all -ftree-parallelize-loops=4 \ -floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block \ -fno-stack-check diff --git a/src/bits.c b/src/bits.c index 2fc0ac8..0a8e6f0 100644 --- a/src/bits.c +++ b/src/bits.c @@ -15,7 +15,8 @@ static inline int sfread(void* out, size_t *restrict size, FILE* f) { - return !!(*size = (size_t)fread(out, 1, *size, f)); + register ssize_t r = fread(out, 1, *size, f); + return r < 0 ? (perror("failed to read from stdin"), 0) : !!(*size = (size_t)r); } static int fwrite_all(const void* _buf, size_t sz, size_t num, FILE* out)