Re: [Mingw-w64-public] [PATCH 2/2] corecrt_wstdlib.h: Add new file and move some relevant declaration to it.

2019-03-02 Thread Mateusz
W dniu 02.03.2019 o 20:12, Martin Storsjö pisze:
> On Sat, 2 Mar 2019, Mateusz wrote:
> 
>> W dniu 28.02.2019 o 18:31, Jacek Caban pisze:
>>> diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h 
>>> b/mingw-w64-headers/crt/sec_api/wchar_s.h
>>> index ef53aaf4..42cee7b9 100644
>>> --- a/mingw-w64-headers/crt/sec_api/wchar_s.h
>>> +++ b/mingw-w64-headers/crt/sec_api/wchar_s.h
>>> @@ -266,41 +266,7 @@ extern "C" {
>>>    __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,_wtmpnam_s,wchar_t,_DstBuf)
>>>  #endif /* _WSTDIO_S_DEFINED */
>>>
>>> -#ifndef _WSTDLIB_S_DEFINED
>>> -#define _WSTDLIB_S_DEFINED
>>> -  _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t 
>>> _SizeInWords,int _Radix);
>>> -  
>>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_itow_s,int,_Val,wchar_t,_DstBuf,int,_Radix)
>>> -
>>> -  _CRTIMP errno_t __cdecl _ltow_s (long _Val,wchar_t *_DstBuf,size_t 
>>> _SizeInWords,int _Radix);
>>> -  
>>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ltow_s,long,_Val,wchar_t,_DstBuf,int,_Radix)
>>> -
>>> -  _CRTIMP errno_t __cdecl _ultow_s (unsigned long _Val,wchar_t 
>>> *_DstBuf,size_t _SizeInWords,int _Radix);
>>> -  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ultow_s,unsigned 
>>> long,_Val,wchar_t,_DstBuf,int,_Radix)
>>> -
>>> -  _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t 
>>> *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName);
>>> -  
>>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const
>>>  wchar_t*,_VarName)
>>> -
>>> -  _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t 
>>> *_BufferSizeInWords,const wchar_t *_VarName);
>>> -  _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t 
>>> _SizeInWords,int _Radix);
>>> -  _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t 
>>> *_DstBuf,size_t _SizeInWords,int _Radix);
>>> -#endif
>>> -
>>>  #ifndef _POSIX_
>>> -#ifndef _WSTDLIBP_S_DEFINED
>>> -#define _WSTDLIBP_S_DEFINED
>>> -  _CRTIMP errno_t __cdecl _wmakepath_s(wchar_t *_PathResult,size_t 
>>> _SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t 
>>> *_Filename,const wchar_t *_Ext);
>>> -  
>>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(errno_t,_wmakepath_s,wchar_t,_PathResult,const
>>>  wchar_t*,_Drive,const wchar_t*,_Dir,const wchar_t*,_Filename,const 
>>> wchar_t*,_Ext)
>>> -
>>> -  _CRTIMP errno_t __cdecl _wputenv_s(const wchar_t *_Name,const wchar_t 
>>> *_Value);
>>> -
>>> -  _CRTIMP errno_t __cdecl _wsearchenv_s(const wchar_t *_Filename,const 
>>> wchar_t *_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords);
>>> -  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(errno_t,_wsearchenv_s,const 
>>> wchar_t*,_Filename,const wchar_t*,_EnvVar,wchar_t,_ResultPath)
>>> -
>>> -  _CRTIMP errno_t __cdecl _wsplitpath_s(const wchar_t *_FullPath,wchar_t 
>>> *_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t 
>>> _DirSizeInWords,wchar_t *_Filename,size_t _FilenameSizeInWords,wchar_t 
>>> *_Ext,size_t _ExtSizeInWords);
>>> -  
>>> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t,_wsplitpath_s,wchar_t,_Dest)
>>> -
>>> -#endif
>>> -#endif
>>
>> Now it is deleted one too much '#endif' and then Martin deleted '#ifndef 
>> _POSIX_' in [55cc16].
>>
>> Is this change intentional (delete '#ifndef _POSIX_'/'#endif')?
> 
> Well, the intentional change removed all the content of the ifdef, so there's 
> little point in keeping an empty #ifndef _POSIX_/#endif.

Yes, now I see this. Thanks for clarification.

Regards,
Mateusz



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 2/2] corecrt_wstdlib.h: Add new file and move some relevant declaration to it.

2019-03-02 Thread Martin Storsjö

On Sat, 2 Mar 2019, Mateusz wrote:


W dniu 28.02.2019 o 18:31, Jacek Caban pisze:

diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h 
b/mingw-w64-headers/crt/sec_api/wchar_s.h
index ef53aaf4..42cee7b9 100644
--- a/mingw-w64-headers/crt/sec_api/wchar_s.h
+++ b/mingw-w64-headers/crt/sec_api/wchar_s.h
@@ -266,41 +266,7 @@ extern "C" {
   __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,_wtmpnam_s,wchar_t,_DstBuf)
 #endif /* _WSTDIO_S_DEFINED */

-#ifndef _WSTDLIB_S_DEFINED
-#define _WSTDLIB_S_DEFINED
-  _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_itow_s,int,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _ltow_s (long _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ltow_s,long,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _ultow_s (unsigned long _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ultow_s,unsigned 
long,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t 
*_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const
 wchar_t*,_VarName)
-
-  _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t 
*_BufferSizeInWords,const wchar_t *_VarName);
-  _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t 
*_DstBuf,size_t _SizeInWords,int _Radix);
-#endif
-
 #ifndef _POSIX_
-#ifndef _WSTDLIBP_S_DEFINED
-#define _WSTDLIBP_S_DEFINED
-  _CRTIMP errno_t __cdecl _wmakepath_s(wchar_t *_PathResult,size_t 
_SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t 
*_Filename,const wchar_t *_Ext);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(errno_t,_wmakepath_s,wchar_t,_PathResult,const
 wchar_t*,_Drive,const wchar_t*,_Dir,const wchar_t*,_Filename,const 
wchar_t*,_Ext)
-
-  _CRTIMP errno_t __cdecl _wputenv_s(const wchar_t *_Name,const wchar_t 
*_Value);
-
-  _CRTIMP errno_t __cdecl _wsearchenv_s(const wchar_t *_Filename,const wchar_t 
*_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords);
-  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(errno_t,_wsearchenv_s,const 
wchar_t*,_Filename,const wchar_t*,_EnvVar,wchar_t,_ResultPath)
-
-  _CRTIMP errno_t __cdecl _wsplitpath_s(const wchar_t *_FullPath,wchar_t 
*_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t _DirSizeInWords,wchar_t 
*_Filename,size_t _FilenameSizeInWords,wchar_t *_Ext,size_t _ExtSizeInWords);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t,_wsplitpath_s,wchar_t,_Dest)
-
-#endif
-#endif


Now it is deleted one too much '#endif' and then Martin deleted '#ifndef 
_POSIX_' in [55cc16].


Is this change intentional (delete '#ifndef _POSIX_'/'#endif')?


Well, the intentional change removed all the content of the ifdef, so 
there's little point in keeping an empty #ifndef _POSIX_/#endif.


// Martin

___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH] Add Microsoft OLE DB driver for SQL server

2019-03-02 Thread Ruslan Garipov
>> Nifty :-)  Actually I've believed that **declaration** of nested
>> structures is just a declaration, and no code/data will be generated
>> for that.  But it turns out that I was wrong.
>
> This is an important difference between C and C++.

I'm sorry, but I'm confused a little bit: what is ``this'' that "is an
important difference between C and C++"?  I've talked (the quote of me
above) about C compilers only, and I was wondering how you could
predicate that members of the nested structures (**from their
declarations**) become **real** members of the enclosing structure. :-)
Would you please explain me your thoughts?

But what has confused me more is your sample.  A joke :-)  The following
discussion in this message assumes that we are talking about C++
compilers only.

```
#ifdef __cplusplus
typedef struct _Time2Val _Time2Val
#endif
```

Okay, I understand that here you declares new ``typedef-name'' (the
"second" `_Time2Val`) for naming ``elaborated-type-specifier''
(`struct _Time2Val`).  What I do **not** understand is why you've
introduced that ``typedef-name''?  What is its purpose?  To use it in
the next field declaration?  But why not just use
``elaborated-type-specifier'' "directly" there?

The next statement is:

```
struct _Time2Val Time2Val;
```

I'm sorry, but it's "ill-formed"

> 9.1.7.3 Elaborated type specifiers [dcl.type.elab]
> 2 ... If the identifier resolves to a typedef-name ..., the
> elaborated-type-specifier is ill-formed.
> ...
> 3 ... Thus, in any elaborated-type-specifier, ... either the class or
> struct class-key shall be used to refer to a class (Clause 10)
> declared using the class or struct class-key.

Here is your sample on Matt Godbolt's ``Compiler explorer'':
https://godbolt.org/z/1RVfhQ (I simplified the sample, renamed
identifiers (`_Time2Val` -> `A`; `SSVARIANT` -> `B`; `Time2Val` ->
`a`) and removed the anonymous `union` -- it doesn't play a role there).
GCC (and some others (clang, icc, but not msvc)) failed to compile the
sample with this error (after "translating" names back): "using
typedef-name 'SSVARIANT::{unnamed union}::_Time2Val' after 'struct'" --
this what [dcl.type.elab] (2) is talking about.

But it doesn't matter, though.  What I really want to understand is what
did you want to do, Hao.  Please, explain, it's very important to me.

And what I've planned to post on the next Tuesday is something like
this:

```
define MSOLEDBSQL_H_DECL_VAR_TYPES do { \
struct _Time2Val { \
  DBTIME2 tTime2Val; \
  BYTE bScale; \
}; \
struct _DateTimeVal { \
... and so on: declare all "nested" structs here ..
}; \
} while (0)
#ifndef __cplusplus
MSOLEDBSQL_H_DECL_VAR_TYPES;
#endif
struct SSVARIANT {
  /* declaration of some fields */
#ifdef __cplusplus
  MSOLEDBSQL_H_DECL_VAR_TYPES;
#endif
  union {
/* declaration of some other fields */
_Time2Val Time2Val;
_DateTimeVal DateTimeVal;
...
  };
};
```

May be this is not a sophisticated solution, but it's a simple one (for
me) and it avoids double declaration problem.

On 3/2/2019 7:38 AM, Liu Hao wrote:
> 在 2019/3/2 上午2:13, Ruslan Garipov 写道:
>>> This can be verified by printing the size of the enclosing struct
>>> using GCC with our header, then comparing it with the result using
>>> MSVC and Microsoft header.
>>
>> Nifty :-)  Actually I've believed that **declaration** of nested
>> structures is just a declaration, and no code/data will be generated for
>> that.  But it turns out that I was wrong.
>>
> 
> This is an important difference between C and C++.
> 
> Well I think we may try this:
> 
> ```
> struct _Time2Val
>   {
> // some fields...
>   };
> 
> struct SSVARIANT
>   {
> // some fields...
> union  // anonymous union
>   {
> #ifdef __cplusplus
> // The elaborated-type-specifier will reference the struct
> // in the global namespace and its use is mandatory here.
> typedef struct _Time2Val _Time2Val
> #endif
> struct _Time2Val Time2Val;
>   };
>   };
> ```
> 
> 


___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 2/2] corecrt_wstdlib.h: Add new file and move some relevant declaration to it.

2019-03-02 Thread Jacek Caban

Hi Mateusz,

On 02/03/2019 09:32, Mateusz wrote:

W dniu 28.02.2019 o 18:31, Jacek Caban pisze:

diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h 
b/mingw-w64-headers/crt/sec_api/wchar_s.h
index ef53aaf4..42cee7b9 100644
--- a/mingw-w64-headers/crt/sec_api/wchar_s.h
+++ b/mingw-w64-headers/crt/sec_api/wchar_s.h
@@ -266,41 +266,7 @@ extern "C" {
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,_wtmpnam_s,wchar_t,_DstBuf)
  #endif /* _WSTDIO_S_DEFINED */
  
-#ifndef _WSTDLIB_S_DEFINED

-#define _WSTDLIB_S_DEFINED
-  _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_itow_s,int,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _ltow_s (long _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ltow_s,long,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _ultow_s (unsigned long _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ultow_s,unsigned 
long,_Val,wchar_t,_DstBuf,int,_Radix)
-
-  _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t 
*_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const
 wchar_t*,_VarName)
-
-  _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t 
*_BufferSizeInWords,const wchar_t *_VarName);
-  _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t 
_SizeInWords,int _Radix);
-  _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t 
*_DstBuf,size_t _SizeInWords,int _Radix);
-#endif
-
  #ifndef _POSIX_
-#ifndef _WSTDLIBP_S_DEFINED
-#define _WSTDLIBP_S_DEFINED
-  _CRTIMP errno_t __cdecl _wmakepath_s(wchar_t *_PathResult,size_t 
_SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t 
*_Filename,const wchar_t *_Ext);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(errno_t,_wmakepath_s,wchar_t,_PathResult,const
 wchar_t*,_Drive,const wchar_t*,_Dir,const wchar_t*,_Filename,const 
wchar_t*,_Ext)
-
-  _CRTIMP errno_t __cdecl _wputenv_s(const wchar_t *_Name,const wchar_t 
*_Value);
-
-  _CRTIMP errno_t __cdecl _wsearchenv_s(const wchar_t *_Filename,const wchar_t 
*_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords);
-  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(errno_t,_wsearchenv_s,const 
wchar_t*,_Filename,const wchar_t*,_EnvVar,wchar_t,_ResultPath)
-
-  _CRTIMP errno_t __cdecl _wsplitpath_s(const wchar_t *_FullPath,wchar_t 
*_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t _DirSizeInWords,wchar_t 
*_Filename,size_t _FilenameSizeInWords,wchar_t *_Ext,size_t _ExtSizeInWords);
-  
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t,_wsplitpath_s,wchar_t,_Dest)
-
-#endif
-#endif

Now it is deleted one too much '#endif' and then Martin deleted '#ifndef 
_POSIX_' in [55cc16].



Yeah, I messed it up even more, Martin fixed it already in Git. I'm not 
sure how I didn't catch it, I probably ran tests against wrong tree. 
Sorry everyone for the mess and thanks Martin for fixing it.




Is this change intentional (delete '#ifndef _POSIX_'/'#endif')?



Yes, it doesn't make much sense for _s functions. Those are always 
Window-specific and have no name collisions with POSIX.



Jacek



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [PATCH 2/2] corecrt_wstdlib.h: Add new file and move some relevant declaration to it.

2019-03-02 Thread Mateusz
W dniu 28.02.2019 o 18:31, Jacek Caban pisze:
> diff --git a/mingw-w64-headers/crt/sec_api/wchar_s.h 
> b/mingw-w64-headers/crt/sec_api/wchar_s.h
> index ef53aaf4..42cee7b9 100644
> --- a/mingw-w64-headers/crt/sec_api/wchar_s.h
> +++ b/mingw-w64-headers/crt/sec_api/wchar_s.h
> @@ -266,41 +266,7 @@ extern "C" {
>__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t,_wtmpnam_s,wchar_t,_DstBuf)
>  #endif /* _WSTDIO_S_DEFINED */
>  
> -#ifndef _WSTDLIB_S_DEFINED
> -#define _WSTDLIB_S_DEFINED
> -  _CRTIMP errno_t __cdecl _itow_s (int _Val,wchar_t *_DstBuf,size_t 
> _SizeInWords,int _Radix);
> -  
> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_itow_s,int,_Val,wchar_t,_DstBuf,int,_Radix)
> -
> -  _CRTIMP errno_t __cdecl _ltow_s (long _Val,wchar_t *_DstBuf,size_t 
> _SizeInWords,int _Radix);
> -  
> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ltow_s,long,_Val,wchar_t,_DstBuf,int,_Radix)
> -
> -  _CRTIMP errno_t __cdecl _ultow_s (unsigned long _Val,wchar_t 
> *_DstBuf,size_t _SizeInWords,int _Radix);
> -  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_ultow_s,unsigned 
> long,_Val,wchar_t,_DstBuf,int,_Radix)
> -
> -  _CRTIMP errno_t __cdecl _wgetenv_s(size_t *_ReturnSize,wchar_t 
> *_DstBuf,size_t _DstSizeInWords,const wchar_t *_VarName);
> -  
> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_1_1(errno_t,_wgetenv_s,size_t*,_ReturnSize,wchar_t,_DstBuf,const
>  wchar_t*,_VarName)
> -
> -  _CRTIMP errno_t __cdecl _wdupenv_s(wchar_t **_Buffer,size_t 
> *_BufferSizeInWords,const wchar_t *_VarName);
> -  _CRTIMP errno_t __cdecl _i64tow_s(__int64 _Val,wchar_t *_DstBuf,size_t 
> _SizeInWords,int _Radix);
> -  _CRTIMP errno_t __cdecl _ui64tow_s(unsigned __int64 _Val,wchar_t 
> *_DstBuf,size_t _SizeInWords,int _Radix);
> -#endif
> -
>  #ifndef _POSIX_
> -#ifndef _WSTDLIBP_S_DEFINED
> -#define _WSTDLIBP_S_DEFINED
> -  _CRTIMP errno_t __cdecl _wmakepath_s(wchar_t *_PathResult,size_t 
> _SizeInWords,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t 
> *_Filename,const wchar_t *_Ext);
> -  
> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_4(errno_t,_wmakepath_s,wchar_t,_PathResult,const
>  wchar_t*,_Drive,const wchar_t*,_Dir,const wchar_t*,_Filename,const 
> wchar_t*,_Ext)
> -
> -  _CRTIMP errno_t __cdecl _wputenv_s(const wchar_t *_Name,const wchar_t 
> *_Value);
> -
> -  _CRTIMP errno_t __cdecl _wsearchenv_s(const wchar_t *_Filename,const 
> wchar_t *_EnvVar,wchar_t *_ResultPath,size_t _SizeInWords);
> -  __DEFINE_CPP_OVERLOAD_SECURE_FUNC_2_0(errno_t,_wsearchenv_s,const 
> wchar_t*,_Filename,const wchar_t*,_EnvVar,wchar_t,_ResultPath)
> -
> -  _CRTIMP errno_t __cdecl _wsplitpath_s(const wchar_t *_FullPath,wchar_t 
> *_Drive,size_t _DriveSizeInWords,wchar_t *_Dir,size_t _DirSizeInWords,wchar_t 
> *_Filename,size_t _FilenameSizeInWords,wchar_t *_Ext,size_t _ExtSizeInWords);
> -  
> __DEFINE_CPP_OVERLOAD_SECURE_FUNC_SPLITPATH(errno_t,_wsplitpath_s,wchar_t,_Dest)
> -
> -#endif
> -#endif

Now it is deleted one too much '#endif' and then Martin deleted '#ifndef 
_POSIX_' in [55cc16].

Is this change intentional (delete '#ifndef _POSIX_'/'#endif')?

Regards,
Mateusz



___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public