Fix: with _TIMESPEC_DEFINED - 3 errors without _TIMESPEC_DEFINED - 1 error *during src/thread.c build.
On Sat, 14 Mar 2020 at 00:57, Egor Pugin <[email protected]> wrote: > > > The first hunk seems harmless. But why would you like to define > `WINPTHREAD_API` yourself? > > Custom build system. Building winpthreads under native win32 with > clang (not clang-cl) without msvc compat. > Clang in such mode requires __attribute__ ((dllexport) and > __attribute__ ((dllimport), not __declspecs. > > > struct timespec > > I see errors without second hunk. It points to timespec in windows > headers, but then it tries to be redefined if no _TIMESPEC_DEFINED > provided. > I still see errors even if _TIMESPEC_DEFINED provided. > > no _TIMESPEC_DEFINED > --- > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/src/misc.h:104:20: > error: conflicting types for '_pthread_time_in_ms_from_timespec' > unsigned long long _pthread_time_in_ms_from_timespec(const struct timespec > *ts); > ^ > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/include\pthread.h:414:43: > note: previous declaration is here > unsigned long long WINPTHREAD_API > _pthread_time_in_ms_from_timespec(const struct timespec *ts); > ^ > In file included from > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/src/thread.c:31: > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/src/misc.h:105:20: > error: conflicting types for '_pthread_rel_time_in_ms' > unsigned long long _pthread_rel_time_in_ms(const struct timespec *ts); > ^ > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/include\pthread.h:412:43: > note: previous declaration is here > unsigned long long WINPTHREAD_API > _pthread_rel_time_in_ms(const struct timespec *ts); > ^ > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/src/thread.c:643:1: > error: conflicting types for 'pthread_delay_np' > pthread_delay_np (const struct timespec *interval) > ^ > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/include\pthread.h:162:24: > note: previous declaration is here > int WINPTHREAD_API pthread_delay_np (const struct timespec *interval); > ^ > 3 errors generated. > --- > > with _TIMESPEC_DEFINED > --- > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/src/thread.c:643:1: > error: conflicting types for 'pthread_delay_np' > pthread_delay_np (const struct timespec *interval) > ^ > D:/temp/9/mingw-w64-mingw-w64/mingw-w64-libraries/winpthreads/include\pthread.h:162:24: > note: previous declaration is here > int WINPTHREAD_API pthread_delay_np (const struct timespec *interval); > ^ > 1 error generated. > --- > > > On Fri, 13 Mar 2020 at 15:21, Liu Hao <[email protected]> wrote: > > > > 在 2020/3/13 0:34, Egor Pugin 写道: > > > Sure. > > > > > > > > > > The first hunk seems harmless. But why would you like to define > > `WINPTHREAD_API` yourself? > > > > The second hunk is unnecessary. The prototype of `pthread_delay_np()` > > contains `struct timespec` which is a valid type name there. The > > declaration doesn't require it to be a complete type. > > > > > > -- > > Best regards, > > LH_Mouse > > > > > -- > Egor Pugin -- Egor Pugin _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
