Discussion:
[Mingw-w64-public] [PATCH] intrincs: check for __rdtsc
Martell Malone
2017-04-14 14:14:48 UTC
Permalink
Updated clang no longer defines __IA32INTRIN_H so lets do this properly.
I assume intrin-impl.h is only ever included by intrin.h?
If not I will have to find a way to deal with __has_builtin in both files

Please Review

Kind Regards
Martell

diff --git a/mingw-w64-crt/intrincs/rdtsc.c b/mingw-w64-crt/intrincs/rdtsc.c
index fd9cb75d..11e8d597 100644
--- a/mingw-w64-crt/intrincs/rdtsc.c
+++ b/mingw-w64-crt/intrincs/rdtsc.c
@@ -4,11 +4,9 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/

-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>

+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +19,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
diff --git a/mingw-w64-headers/crt/intrin.h b/mingw-w64-headers/crt/intrin.h
index 0b2343fb..75bc3e30 100644
--- a/mingw-w64-headers/crt/intrin.h
+++ b/mingw-w64-headers/crt/intrin.h
@@ -38,6 +38,13 @@
#include <setjmp.h>
#endif
#include <stddef.h>
+
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
#include <psdk_inc/intrin-impl.h>

/*
diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h
b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
index 340d6fba..58af8804 100644
--- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h
+++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
@@ -61,12 +61,6 @@ __INTRINSICS_USEINLINE

#ifdef __MINGW_INTRIN_INLINE

-/* Clang has support for MSVC builtins, GCC doesn't */
-#pragma push_macro("__has_builtin")
-#ifndef __has_builtin
- #define __has_builtin(x) 0
-#endif
-
/* These macros are used by the routines below. While this file may be
included
multiple times, these macros only need to be defined once. */
#ifndef _INTRIN_MAC_
David Wohlferd
2017-04-16 02:06:48 UTC
Permalink
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this properly.
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the prototype
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.

mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both files
Martell Malone
2017-05-11 12:09:10 UTC
Permalink
Post by David Wohlferd
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
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this properly.
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the prototype
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both files
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Kai Tietz
2017-05-11 12:15:50 UTC
Permalink
Hmm, where is the corresponding pop_macro pragma?

Regards,
Kai
Post by Martell Malone
Post by David Wohlferd
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
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this properly.
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the prototype
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both files
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Martell Malone
2017-05-11 13:10:23 UTC
Permalink
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
@@ -4,11 +4,14 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +24,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by Kai Tietz
Hmm, where is the corresponding pop_macro pragma?
Regards,
Kai
Post by Martell Malone
Post by David Wohlferd
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
Post by Martell Malone
index fd9cb75d..7c5adeb0 100644
--- a/mingw-w64-crt/intrincs/rdtsc.c
+++ b/mingw-w64-crt/intrincs/rdtsc.c
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) <<
32);
Post by Martell Malone
}
-
+#endif
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this
properly.
Post by Martell Malone
Post by David Wohlferd
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the prototype
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both
files
Post by Martell Malone
Post by David Wohlferd
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Post by Martell Malone
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Martell Malone
2017-05-21 18:05:58 UTC
Permalink
ping :)
Post by 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
@@ -4,11 +4,14 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +24,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by Kai Tietz
Hmm, where is the corresponding pop_macro pragma?
Regards,
Kai
Post by Martell Malone
Post by David Wohlferd
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
Post by Martell Malone
index fd9cb75d..7c5adeb0 100644
--- a/mingw-w64-crt/intrincs/rdtsc.c
+++ b/mingw-w64-crt/intrincs/rdtsc.c
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) <<
32);
Post by Martell Malone
}
-
+#endif
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this
properly.
Post by Martell Malone
Post by David Wohlferd
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the
prototype
Post by Martell Malone
Post by David Wohlferd
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both
files
Post by Martell Malone
Post by David Wohlferd
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Post by Martell Malone
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Martell Malone
2017-06-04 00:21:24 UTC
Permalink
ping, don't let this one die on me please :)
Post by Martell Malone
ping :)
Post by 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
@@ -4,11 +4,14 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +24,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by Kai Tietz
Hmm, where is the corresponding pop_macro pragma?
Regards,
Kai
Post by Martell Malone
Post by David Wohlferd
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
Post by Martell Malone
index fd9cb75d..7c5adeb0 100644
--- a/mingw-w64-crt/intrincs/rdtsc.c
+++ b/mingw-w64-crt/intrincs/rdtsc.c
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) <<
32);
Post by Martell Malone
}
-
+#endif
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this
properly.
Post by Martell Malone
Post by David Wohlferd
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the
prototype
Post by Martell Malone
Post by David Wohlferd
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include <psdk_inc/intrin-impl.h>
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in both
files
Post by Martell Malone
Post by David Wohlferd
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Post by Martell Malone
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Martell Malone
2017-07-01 17:01:46 UTC
Permalink
Can I apply this to master?
I have pigged this 3 times
Post by Martell Malone
ping, don't let this one die on me please :)
Post by Martell Malone
ping :)
Post by 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
@@ -4,11 +4,14 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +24,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) << 32);
}
-
+#endif
Post by Kai Tietz
Hmm, where is the corresponding pop_macro pragma?
Regards,
Kai
Post by Martell Malone
Post by David Wohlferd
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
Post by Martell Malone
index fd9cb75d..7c5adeb0 100644
--- a/mingw-w64-crt/intrincs/rdtsc.c
+++ b/mingw-w64-crt/intrincs/rdtsc.c
@@ -4,11 +4,15 @@
* No warranty is given; refer to the file DISCLAIMER.PD within this
package.
*/
-#ifdef __clang__
-#define __IA32INTRIN_H
-#endif
#include <intrin.h>
+/* Clang has support for MSVC builtins, GCC doesn't */
+#pragma push_macro("__has_builtin")
+#ifndef __has_builtin
+ #define __has_builtin(x) 0
+#endif
+
+#if !__has_builtin(__rdtsc)
unsigned __int64 __rdtsc(void)
{
#ifdef _WIN64
@@ -21,4 +25,4 @@ unsigned __int64 __rdtsc(void)
: "=a" (val1), "=d" (val2));
return ((unsigned __int64)val1) | (((unsigned __int64)val2) <<
32);
Post by Martell Malone
}
-
+#endif
On Sun, Apr 16, 2017 at 3:06 AM, David Wohlferd <
Post by David Wohlferd
Post by Martell Malone
Updated clang no longer defines __IA32INTRIN_H so lets do this
properly.
Post by Martell Malone
Post by David Wohlferd
It appears that the only use for <intrin.h> in that file is the
prototype for __rdtsc. While it's not "good form" to have the
prototype
Post by Martell Malone
Post by David Wohlferd
in multiple places...
Post by Martell Malone
I assume intrin-impl.h is only ever included by intrin.h?
Fraid not.
mingw-w64-headers\include\winbase.h:#include
<psdk_inc/intrin-impl.h>
Post by Martell Malone
Post by David Wohlferd
mingw-w64-headers\include\winnt.h:#include <psdk_inc/intrin-impl.h>
Post by Martell Malone
If not I will have to find a way to deal with __has_builtin in
both files
Post by Martell Malone
Post by David Wohlferd
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Post by Martell Malone
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
------------------------------------------------------------
------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Loading...