Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread David Grayson
Hello, gcc-help. There is an incompatibility between libstdc++ and the headers provided by Microsoft and mingw-w64, because libstdc++ uses __in as a parameter name in several places while the Microsoft headers define __in as a preprocessor macro as part of their Source Annotation Language. You ca

Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread Kai Tietz
I would prefer this too, but I don't believe that we can convince libstdc++ maintainers to modify their code for this. Sadly the MS' platform sdk defines a lot of stuff, which collides some times with some projects. We made about this already a lot of bad experiences ... especially in context of

Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread David Grayson
Oh, I thought we should just get libstdc++ to patch their project. I would look for __in and any other badly-named parameters, and perhaps add a third underscore to their names or something like that. In the long term, that would be nicer, because then users can have Microsoft-style code and libs

Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread Liu Hao
On 2017/5/11 21:51, David Grayson wrote: > Unfortunately, my patch seems to break several classes in libstdc++, > preventing Qt from building. The problem is that driverspecs.h defines > __in to be empty so we can compile Microsoft-type code that uses __in as a > source annotation on function para

Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread Kai Tietz
Yes, that is a bit annoying ... sadly we can't do much about it. So I would suggest to add a guard to the include, so that it is user-defined, if this header should be included, or not. This might be a work-a-round for this, which should work for most. Regards, Kai 2017-05-11 15:51 GMT+02:00 Dav

Re: [Mingw-w64-public] Fwd: Re: [PATCH] Include driverspecs.h in specstrings.h.

2017-05-11 Thread David Grayson
Unfortunately, my patch seems to break several classes in libstdc++, preventing Qt from building. The problem is that driverspecs.h defines __in to be empty so we can compile Microsoft-type code that uses __in as a source annotation on function parameters while GCC's libstdc++ uses __in as the nam

Re: [Mingw-w64-public] [PATCH] intrincs: check for __rdtsc

2017-05-11 Thread Martell Malone
Thanks Kai, We probably don't need to push and pop because this is not a header to be installed Updated diff diff --git a/mingw-w64-crt/intrincs/rdtsc.c b/mingw-w64-crt/intrincs/rdtsc.c index fd9cb75d..bf9c03b3 100644 --- a/mingw-w64-crt/intrincs/rdtsc.c +++ b/mingw-w64-crt/intrincs/rdtsc.c @@ -

Re: [Mingw-w64-public] [PATCH] intrincs: check for __rdtsc

2017-05-11 Thread Kai Tietz
Hmm, where is the corresponding pop_macro pragma? Regards, Kai 2017-05-11 14:09 GMT+02:00 Martell Malone : >> >> While it's not "good form" to have the prototype >> in multiple places... > > Attached updated diff > > Please Review > > diff --git a/mingw-w64-crt/intrincs/rdtsc.c b/mingw-w64-crt/in

Re: [Mingw-w64-public] [PATCH] intrincs: check for __rdtsc

2017-05-11 Thread Martell Malone
> > While it's not "good form" to have the prototype > in multiple places... Attached updated diff Please Review diff --git a/mingw-w64-crt/intrincs/rdtsc.c b/mingw-w64-crt/intrincs/rdtsc.c index fd9cb75d..7c5adeb0 100644 --- a/mingw-w64-crt/intrincs/rdtsc.c +++ b/mingw-w64-crt/intrincs/rdtsc.c