emu/libemu.c:12:21: error: 'CLOCK_MONOTONIC' undeclared (first use in this function)
Glenry opened this issue · comments
Glenry commented
What does this mean for undeclared in...
if not exist bin mkdir bin
gcc -o emu/emu.o -c emu/emu.c -std=c11 -O2 -g -Wall -Wextra -Wpedantic -Wstrict-aliasing -IC:/msys64/mingw64/include/ -v -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments
Using built-in specs.
COLLECT_GCC=gcc
Target: mingw32
Configured with: ../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
Thread model: win32
gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
COLLECT_GCC_OPTIONS='-o' 'emu/emu.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/cc1.exe -quiet -v -I C:/msys64/mingw64/include/ -iprefix c:\mingw\bin\../lib/gcc/mingw32/6.3.0/ emu/emu.c -quiet -dumpbase emu.c -mtune=generic -march=i586 -auxbase-strip emu/emu.o -g -O2 -Wall -Wextra -Wpedantic -Wstrict-aliasing -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments -std=c11 -version -o C:\Users\Home\AppData\Local\Temp\ccZNDe1F.s
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include"
ignoring duplicate directory "/mingw/lib/gcc/mingw32/6.3.0/../../../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include-fixed"
ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/msys64/mingw64/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include-fixed
End of search list.
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 384cad586f05ed581a9c068b2f18b408
In file included from emu/emu.h:4:0,
from emu/emu.c:16:
emu/../common/util.h: In function 'strtou32':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:178:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u32, u32, 0, UINT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou16':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:180:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u16, u16, 0, USHRT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou8':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:182:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u8, u8, 0, INT_MAX)
^~~~~~~~~~~~
emu/emu.c: In function 'stop_simulation':
emu/emu.c:21:34: warning: implicit declaration of function 'fileno' [-Wimplicit-function-declaration]
struct pollfd pfds = { .fd = fileno(stdin), .events = POLLIN };
^~~~~~
emu/emu.c: In function 'run':
emu/emu.c:35:14: warning: implicit declaration of function 'strcasecmp' [-Wimplicit-function-declaration]
if (!strcasecmp(speed, "realtime")) {
^~~~~~~~~~
emu/emu.c: At top level:
cc1.exe: warning: unrecognized command line option '-Wno-gnu-zero-variadic-macro-arguments'
COLLECT_GCC_OPTIONS='-o' 'emu/emu.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/as.exe -v -I C:/msys64/mingw64/include/ -o emu/emu.o C:\Users\Home\AppData\Local\Temp\ccZNDe1F.s
GNU assembler version 2.28 (mingw32) using BFD version (GNU Binutils) 2.28
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/6.3.0/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../
COLLECT_GCC_OPTIONS='-o' 'emu/emu.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
gcc -o emu/kb.o -c emu/kb.c -std=c11 -O2 -g -Wall -Wextra -Wpedantic -Wstrict-aliasing -IC:/msys64/mingw64/include/ -v -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments
Using built-in specs.
COLLECT_GCC=gcc
Target: mingw32
Configured with: ../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
Thread model: win32
gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
COLLECT_GCC_OPTIONS='-o' 'emu/kb.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/cc1.exe -quiet -v -I C:/msys64/mingw64/include/ -iprefix c:\mingw\bin\../lib/gcc/mingw32/6.3.0/ emu/kb.c -quiet -dumpbase kb.c -mtune=generic -march=i586 -auxbase-strip emu/kb.o -g -O2 -Wall -Wextra -Wpedantic -Wstrict-aliasing -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments -std=c11 -version -o C:\Users\Home\AppData\Local\Temp\ccom65Wj.s
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include"
ignoring duplicate directory "/mingw/lib/gcc/mingw32/6.3.0/../../../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include-fixed"
ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/msys64/mingw64/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include-fixed
End of search list.
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 384cad586f05ed581a9c068b2f18b408
In file included from emu/emu.h:4:0,
from emu/kb.c:1:
emu/../common/util.h: In function 'strtou32':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:178:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u32, u32, 0, UINT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou16':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:180:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u16, u16, 0, USHRT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou8':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:182:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u8, u8, 0, INT_MAX)
^~~~~~~~~~~~
emu/kb.c: At top level:
cc1.exe: warning: unrecognized command line option '-Wno-gnu-zero-variadic-macro-arguments'
COLLECT_GCC_OPTIONS='-o' 'emu/kb.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/as.exe -v -I C:/msys64/mingw64/include/ -o emu/kb.o C:\Users\Home\AppData\Local\Temp\ccom65Wj.s
GNU assembler version 2.28 (mingw32) using BFD version (GNU Binutils) 2.28
COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/
LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/6.3.0/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../
COLLECT_GCC_OPTIONS='-o' 'emu/kb.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
gcc -o emu/libemu.o -c emu/libemu.c -std=c11 -O2 -g -Wall -Wextra -Wpedantic -Wstrict-aliasing -IC:/msys64/mingw64/include/ -v -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments
Using built-in specs.
COLLECT_GCC=gcc
Target: mingw32
Configured with: ../src/gcc-6.3.0/configure --build=x86_64-pc-linux-gnu --host=mingw32 --target=mingw32 --with-gmp=/mingw --with-mpfr --with-mpc=/mingw --with-isl=/mingw --prefix=/mingw --disable-win32-registry --with-arch=i586 --with-tune=generic --enable-languages=c,c++,objc,obj-c++,fortran,ada --with-pkgversion='MinGW.org GCC-6.3.0-1' --enable-static --enable-shared --enable-threads --with-dwarf2 --disable-sjlj-exceptions --enable-version-specific-runtime-libs --with-libiconv-prefix=/mingw --with-libintl-prefix=/mingw --enable-libstdcxx-debug --enable-libgomp --disable-libvtv --enable-nls
Thread model: win32
gcc version 6.3.0 (MinGW.org GCC-6.3.0-1)
COLLECT_GCC_OPTIONS='-o' 'emu/libemu.o' '-c' '-std=c11' '-O2' '-g' '-Wall' '-Wextra' '-Wpedantic' '-Wstrict-aliasing' '-I' 'C:/msys64/mingw64/include/' '-v' '-Wno-pointer-arith' '-Wno-unused-parameter' '-Wno-gnu-zero-variadic-macro-arguments' '-mtune=generic' '-march=i586'
c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/cc1.exe -quiet -v -I C:/msys64/mingw64/include/ -iprefix c:\mingw\bin\../lib/gcc/mingw32/6.3.0/ emu/libemu.c -quiet -dumpbase libemu.c -mtune=generic -march=i586 -auxbase-strip emu/libemu.o -g -O2 -Wall -Wextra -Wpedantic -Wstrict-aliasing -Wno-pointer-arith -Wno-unused-parameter -Wno-gnu-zero-variadic-macro-arguments -std=c11 -version -o C:\Users\Home\AppData\Local\Temp\ccWeaztj.s
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include"
ignoring duplicate directory "/mingw/lib/gcc/mingw32/6.3.0/../../../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include-fixed"
ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/../../../../mingw32/include"
ignoring duplicate directory "/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/msys64/mingw64/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/../../../../include
c:\mingw\bin\../lib/gcc/mingw32/6.3.0/include-fixed
End of search list.
GNU C11 (MinGW.org GCC-6.3.0-1) version 6.3.0 (mingw32)
compiled by GNU C version 6.3.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.3, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 384cad586f05ed581a9c068b2f18b408
In file included from emu/emu.h:4:0,
from emu/libemu.c:7:
emu/../common/util.h: In function 'strtou32':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:178:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u32, u32, 0, UINT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou16':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:180:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u16, u16, 0, USHRT_MAX)
^~~~~~~~~~~~
emu/../common/util.h: In function 'strtou8':
emu/../common/util.h:170:22: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
} else if (r >= (_min) && r <= (_max)) { \
^
emu/../common/util.h:182:1: note: in expansion of macro '_DECL_STRTOX'
_DECL_STRTOX(u, u8, u8, 0, INT_MAX)
^~~~~~~~~~~~
emu/libemu.c: In function 'simulate':
emu/libemu.c:21:17: warning: implicit declaration of function 'clock_gettime' [-Wimplicit-function-declaration]
assert(!clock_gettime(MONO_CLOCK, &ts)); \
^
emu/../common/util.h:211:31: note: in definition of macro 'assert'
#define assert(_e) ( _assert((_e), false, __FILE__, __LINE__))
^~
emu/libemu.c:51:17: note: in expansion of macro 'NOW'
u64 start = NOW(),
^~~
emu/libemu.c:12:21: error: 'CLOCK_MONOTONIC' undeclared (first use in this function)
#define MONO_CLOCK CLOCK_MONOTONIC
^
emu/../common/util.h:211:31: note: in definition of macro 'assert'
#define assert(_e) ( _assert((_e), false, __FILE__, __LINE__))
^~
emu/libemu.c:21:31: note: in expansion of macro 'MONO_CLOCK'
assert(!clock_gettime(MONO_CLOCK, &ts)); \
^~~~~~~~~~
emu/libemu.c:51:17: note: in expansion of macro 'NOW'
u64 start = NOW(),
^~~
emu/libemu.c:12:21: note: each undeclared identifier is reported only once for each function it appears in
#define MONO_CLOCK CLOCK_MONOTONIC
^
emu/../common/util.h:211:31: note: in definition of macro 'assert'
#define assert(_e) ( _assert((_e), false, __FILE__, __LINE__))
^~
emu/libemu.c:21:31: note: in expansion of macro 'MONO_CLOCK'
assert(!clock_gettime(MONO_CLOCK, &ts)); \
^~~~~~~~~~
emu/libemu.c:51:17: note: in expansion of macro 'NOW'
u64 start = NOW(),
^~~
emu/libemu.c:32:43: warning: statement with no effect [-Wunused-value]
((rem.tv_sec * NS_PER_SECOND) + rem.tv_nsec); \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
emu/libemu.c:92:9: note: in expansion of macro 'SLEEP'
SLEEP(sleep_time);
^~~~~
emu/libemu.c:33:18: warning: statement with no effect [-Wunused-value]
} else { 0; } \
^
emu/libemu.c:92:9: note: in expansion of macro 'SLEEP'
SLEEP(sleep_time);
^~~~~
emu/libemu.c: In function 'pop16':
emu/libemu.c:209:29: warning: operation on 'state->special.<U9c00>.pc' may be undefined [-Wsequence-point]
(((u16) peek(state, ++state->special.pc)) << 0) |
^~~~~~~~~~~~~~~~~~~
emu/libemu.c: In function 'step':
emu/libemu.c:332:42: warning: operation on 'state->special.<U9c00>.pc' may be undefined [-Wsequence-point]
(((u16) peek(state, state->special.pc++)) << 8))\
~~~~~~~~~~~~~~~~~^
emu/libemu.c:341:51: note: in expansion of macro 'IMM16'
pc0 & 0x8 ? state->registers.hl : IMM16()
^~~~~
emu/libemu.c:332:42: warning: operation on 'state->special.<U9c00>.pc' may be undefined [-Wsequence-point]
(((u16) peek(state, state->special.pc++)) << 8))\
~~~~~~~~~~~~~~~~~^
emu/libemu.c:347:51: note: in expansion of macro 'IMM16'
pc0 & 0x8 ? state->registers.hl : IMM16(),
^~~~~
emu/libemu.c:331:41: warning: operation on 'state->special.<U9c00>.pc' may be undefined [-Wsequence-point]
((u16) peek(state, state->special.pc++)) | \
~~~~~~~~~~~~~~~~~^
emu/libemu.c:358:18: note: in expansion of macro 'IMM16'
hl = IMM16();
^~~~~
emu/libemu.c: At top level:
cc1.exe: warning: unrecognized command line option '-Wno-gnu-zero-variadic-macro-arguments'
make: *** [emu/libemu.o] Error 1
Glenry commented
I don't understand anything about it ..
Glenry commented
...