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)

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to