2013/8/10 JonY <[email protected]>

> On 8/10/2013 11:47, G M wrote:
> > Hi
> >
> > Just to correct my previous message, the alternative stralign.h I
> > found doesn't work for me after all when building Ninja, I made a mistake
> > building it before to think it did work.
> >
> > So the diff I provided for further info in my previous message may not be
> > that useful
> >
> > So to recap, I'm using stralign.h from here:
> >
> http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.8.1/64-bit/threads-win32/seh/
> > that fails on stralign.h:
> >
> > #ifndef __CRT__NO_INLINE
> >   __CRT_INLINE PUWSTR_C ua_wcschr(PCUWSTR String,WCHAR Character) {
> >     if(WSTR_ALIGNED(String)) return ::wcschr((PCWSTR)String,Character);
> >     return (PUWSTR_C)uaw_wcschr(String,Character);
> >   }
> >   __CRT_INLINE PUWSTR_C ua_wcsrchr(PCUWSTR String,WCHAR Character) {
> >     if(WSTR_ALIGNED(String)) return ::wcsrchr((PCWSTR)String,Character);
> >     return (PUWSTR_C)uaw_wcsrchr(String,Character);
> >   }
> >
> > I added the :: characters above to make Ninja compile, but I doubt that
> is
> > the right fix even it works or appears to.
> >
> > If there exists a "latest" release of these files, please give me a full
> > link to where and I'll try them and report back.
> >
>
> As suggested earlier, it is on SVN, if you bothered to ask google:
> <
> http://svn.code.sf.net/p/mingw-w64/code/trunk/mingw-w64-headers/include/stralign.h
> >
>

Our (mingw-builds) toolchains use mingw-w64 runtime from trunk already.
GCC-4.8.1-rev3 has runtime from 5973 revision.


>
> > Alternatively, if anyone else want's to try to build Ninja on github with
> > libcxx and clang++ using the same mingw's C headers I am using,
> > then they should see the same conflict I am seeing with libcxx's headers
> > and mingw's stralign.h that I'd like to fix.
> >
> > note: candidate function
> >   _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch);
> >                                  ^
> > /libcxx/include\cwchar:180:49: note: candidate function
> > inline _LIBCPP_INLINE_VISIBILITY const wchar_t* wcschr(const wchar_t*
> __s,
> > wchar_t __c) {return ::wcschr(__s, __c);}
> >                                                 ^
> > In file included from src\build.cc:33:
> > In file included from src/subprocess.h:25:
> > In file included from
> >
> c:\mingw\bin\..\lib\clang\3.4\../../../x86_64-w64-mingw32/include\windows.h:114:
> >
> c:\mingw\bin\..\lib\clang\3.4\../../../x86_64-w64-mingw32/include\stralign.h:120:37:
> > error: call to 'wcsrchr' is ambiguous
> >     if(WSTR_ALIGNED(String)) return wcsrchr((PCWSTR)String,Character);
> >                                     ^~~~~~~
> >
> c:\mingw\bin\..\lib\clang\3.4\../../../x86_64-w64-mingw32/include\wchar.h:851:34:
> > note: candidate function
> >   _CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t
> _Ch);
> >                                  ^
>
> Likely a conflict with libcxx, libgcxx cwchar too has cwchar defined.
>
> I cannot reproduce the error with GCC, please write a minimalist test
> case to demonstrate the error.
>
> GCC test:
> #include <string>
> #include <cwchar>
> #include <windows.h>
>
> int f(){
>   ua_wcsrchr(0,0);
>   ua_wcsrchr((const wchar_t *)0,0);
>   ua_wcsrchr((const wchar_t __unaligned *)0,0);
>   return 0;
> }
>
>
>
>
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Mingw-w64-public mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
>
>
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to