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
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
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
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
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
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
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
@@ -
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
>
> 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