On Mon, 2021-05-17 at 14:52 +0200, Cornelia Huck wrote: > On Wed, 12 May 2021 06:02:50 +0200 > Ilya Leoshkevich <i...@linux.ibm.com> wrote: > > > Having a small test will prevent trivial regressions in the future. > > > > Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com> > > --- > > tests/tcg/x86_64/Makefile.target | 6 +++++- > > tests/tcg/x86_64/vsyscall.c | 11 +++++++++++ > > 2 files changed, 16 insertions(+), 1 deletion(-) > > create mode 100644 tests/tcg/x86_64/vsyscall.c > > > diff --git a/tests/tcg/x86_64/vsyscall.c > > b/tests/tcg/x86_64/vsyscall.c > > new file mode 100644 > > index 0000000000..b9b7f87459 > > --- /dev/null > > +++ b/tests/tcg/x86_64/vsyscall.c > > @@ -0,0 +1,11 @@ > > +#include <stdio.h> > > +#include <time.h> > > + > > +#define VSYSCALL_PAGE 0xffffffffff600000 > > +#define TIME_OFFSET 0x400 > > +typedef time_t (*time_func)(time_t *); > > + > > +int main(void) > > +{ > > + printf("%ld\n", ((time_func)(VSYSCALL_PAGE + > > TIME_OFFSET))(NULL)); > > +} > > Fails in https://gitlab.com/cohuck/qemu/-/jobs/1267727559 ("error: > control reaches end of non-void function").
I always thought that omitting return in main() is allowed, but turns out this is a C99-only thing. I should have probably used `make docker-all-tests` instead of just `make check` to catch this. I will send a v2.