On 17/01/2019 01:35, Kirk McKusick wrote: > Modified: head/contrib/libc++/include/errno.h > ============================================================================== > --- head/contrib/libc++/include/errno.h Thu Jan 17 06:34:39 2019 > (r343110) > +++ head/contrib/libc++/include/errno.h Thu Jan 17 06:35:45 2019 > (r343111) > @@ -33,49 +33,72 @@ Macros: > > #ifdef __cplusplus > > -#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) > +#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) || !defined(EINTEGRITY) > > #ifdef ELAST > > static const int __elast1 = ELAST+1; > static const int __elast2 = ELAST+2; > +static const int __elast2 = ELAST+3; > > #else > > static const int __elast1 = 104; > static const int __elast2 = 105; > +static const int __elast2 = 106; > > #endif > > -#ifdef ENOTRECOVERABLE > +#if !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) > +#define ENOTRECOVERABLE __elast1 > +#define EOWNERDEAD __elast2 > +#define EINTEGRITY __elast3 > +#ifdef ELAST > +#undef ELAST > +#define ELAST EINTEGRITY > > +#elif !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && > defined(EINTEGRITY) > +#define ENOTRECOVERABLE __elast1 > +#define EOWNERDEAD __elast2 > +#ifdef ELAST > +#undef ELAST > +#define ELAST EOWNERDEAD > + > +#elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && > !defined(EINTEGRITY) > #define EOWNERDEAD __elast1 > +#define EINTEGRITY __elast2 > +#ifdef ELAST > +#undef ELAST > +#define ELAST EINTEGRITY > > +#elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && defined(EINTEGRITY) > +#define EOWNERDEAD __elast1 > #ifdef ELAST > #undef ELAST > #define ELAST EOWNERDEAD > -#endif > > -#elif defined(EOWNERDEAD) > +#elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && > !defined(EINTEGRITY) > +#define ENOTRECOVERABLE __elast1 > +#define EINTEGRITY __elast2 > +#ifdef ELAST > +#undef ELAST > +#define ELAST EINTEGRITY > > +#elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && defined(EINTEGRITY) > #define ENOTRECOVERABLE __elast1 > #ifdef ELAST > #undef ELAST > #define ELAST ENOTRECOVERABLE > -#endif > > -#else // defined(EOWNERDEAD) > - > -#define EOWNERDEAD __elast1 > -#define ENOTRECOVERABLE __elast2 > +#elif defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) > +#define EINTEGRITY __elast1 > #ifdef ELAST > #undef ELAST > -#define ELAST ENOTRECOVERABLE > -#endif > +#define ELAST EINTEGRITY > > -#endif // defined(EOWNERDEAD) > +#endif // !defined(OWNERDEAD) && !defined(NOTRECOVERABLE) && > !defined(INTEGRITY) > > -#endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) > +#endif // !defined(OWNERDEAD) || !defined(NOTRECOVERABLE) || > !defined(INTEGRITY) > > // supply errno values likely to be missing, particularly on Windows > > @@ -391,6 +414,10 @@ static const int __elast2 = 105; > > #ifndef EMLINK > #define EMLINK 9979 > +#endif > + > +#ifndef EINTEGRITY > +#define EINTEGRITY 9980 > #endif > > #endif // __cplusplus > The build errors out as Clang complains about all of these conditional directives being unterminated.
--- algorithm.o --- In file included from /usr/src/contrib/libc++/src/algorithm.cpp:11: In file included from /usr/src/contrib/libc++/include/random:1646: In file included from /usr/src/contrib/libc++/include/istream:163: In file included from /usr/src/contrib/libc++/include/ostream:138: In file included from /usr/src/contrib/libc++/include/ios:216: In file included from /usr/src/contrib/libc++/include/__locale:18: In file included from /usr/src/contrib/libc++/include/mutex:191: In file included from /usr/src/contrib/libc++/include/__mutex_base:16: In file included from /usr/src/contrib/libc++/include/system_error:146: In file included from /usr/src/contrib/libc++/include/__errc:106: In file included from /usr/src/contrib/libc++/include/cerrno:27: /usr/src/contrib/libc++/include/errno.h:70:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:63:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:56:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:52:2: error: unterminated conditional directive #if !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) ^ /usr/src/contrib/libc++/include/errno.h:36:2: error: unterminated conditional directive #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) || !defined(EINTEGRITY) ^ /usr/src/contrib/libc++/include/errno.h:34:2: error: unterminated conditional directive #ifdef __cplusplus ^ /usr/src/contrib/libc++/include/errno.h:11:2: error: unterminated conditional directive #ifndef _LIBCPP_ERRNO_H ^ In file included from /usr/src/contrib/libc++/src/algorithm.cpp:11: In file included from /usr/src/contrib/libc++/include/random:1646: In file included from /usr/src/contrib/libc++/include/istream:163: In file included from /usr/src/contrib/libc++/include/ostream:138: In file included from /usr/src/contrib/libc++/include/ios:216: In file included from /usr/src/contrib/libc++/include/__locale:18: In file included from /usr/src/contrib/libc++/include/mutex:191: In file included from /usr/src/contrib/libc++/include/__mutex_base:17: In file included from /usr/src/contrib/libc++/include/__threading_support:16: /usr/src/contrib/libc++/include/errno.h:70:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:63:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:56:2: error: unterminated conditional directive #ifdef ELAST ^ /usr/src/contrib/libc++/include/errno.h:52:2: error: unterminated conditional directive #if !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY) ^ /usr/src/contrib/libc++/include/errno.h:36:2: error: unterminated conditional directive #if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) || !defined(EINTEGRITY) ^ /usr/src/contrib/libc++/include/errno.h:34:2: error: unterminated conditional directive #ifdef __cplusplus ^ /usr/src/contrib/libc++/include/errno.h:11:2: error: unterminated conditional directive #ifndef _LIBCPP_ERRNO_H ^ 14 errors generated. *** [algorithm.o] Error code 1 -- Charlie Li Can't think of a witty .sigline today… (This email address is for mailing list use only; replace local-part with vishwin for off-list communication)
signature.asc
Description: OpenPGP digital signature