Cygwin: avoid GCC 10 error with -Werror=narrowing

../../../../src/winsup/cygwin/pinfo.cc: In member function 'DWORD pinfo::status_exit(DWORD)':
../../../../src/winsup/cygwin/ntdll.h:21:68: error: narrowing conversion of '-536870295' from 'NTSTATUS' {aka 'int'} to 'unsigned int' [-Wnarrowing]
../../../../src/winsup/cygwin/pinfo.cc:136:10: note: in expansion of macro 'STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION'

../../../../src/winsup/cygwin/sigproc.cc: In member function 'DWORD child_info::proc_retry(HANDLE)':
../../../../src/winsup/cygwin/ntdll.h:21:68: error: narrowing conversion of '-536870295' from 'NTSTATUS' {aka 'int'} to 'unsigned int' [-Wnarrowing]
../../../../src/winsup/cygwin/sigproc.cc:1120:10: note: in expansion of macro 'STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION'

NT error statuses seem to be variously DWORD (unsigned) or NTSTATUS
(signed)?  So use the one which doesn't cause problems here.
This commit is contained in:
Jon Turney 2020-09-19 16:15:40 +01:00
parent 129c9844a6
commit c5bdf60ac4
No known key found for this signature in database
GPG Key ID: C7C86F0370285C81
2 changed files with 1 additions and 3 deletions

View File

@ -18,7 +18,7 @@ extern GUID __cygwin_socket_guid;
/* Custom Cygwin-only status codes. */ /* Custom Cygwin-only status codes. */
#define STATUS_THREAD_SIGNALED ((NTSTATUS)0xe0000001) #define STATUS_THREAD_SIGNALED ((NTSTATUS)0xe0000001)
#define STATUS_THREAD_CANCELED ((NTSTATUS)0xe0000002) #define STATUS_THREAD_CANCELED ((NTSTATUS)0xe0000002)
#define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269) #define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((DWORD) 0xe0000269)
/* Simplify checking for a transactional error code. */ /* Simplify checking for a transactional error code. */
#define NT_TRANSACTIONAL_ERROR(s) \ #define NT_TRANSACTIONAL_ERROR(s) \

View File

@ -21,8 +21,6 @@
#else #else
# include "winsup.h" # include "winsup.h"
# include <sys/cygwin.h> # include <sys/cygwin.h>
/* custom status code: */
# define STATUS_ILLEGAL_DLL_PSEUDO_RELOCATION ((NTSTATUS) 0xe0000269)
#endif #endif
#include <stdio.h> #include <stdio.h>