On Wed, 18 Oct 2017, Janne Grunau wrote:
On 2017-10-14 23:35:20 +0300, Martin Storsjö wrote:
---
gas-preprocessor.pl | 1 +
1 file changed, 1 insertion(+)
diff --git a/gas-preprocessor.pl b/gas-preprocessor.pl
index 456ee24..63b0ab3 100755
--- a/gas-preprocessor.pl
+++ b/gas-preprocessor.pl
@@ -98,6 +98,7 @@ if ($as_type eq "armasm") {
$preprocess_c_cmd[0] = "cpp";
push(@preprocess_c_cmd, "-undef");
+ push(@preprocess_c_cmd, "-D_WIN32");
@preprocess_c_cmd = grep ! /^-nologo$/, @preprocess_c_cmd;
# Remove -ignore XX parameter pairs from preprocess_c_cmd
this looks a little suspicious. Some code expect _WIN32 to be defined
but msvc apparently doesn't define it.
MSVC does define it normally, but we're using the plain "cpp" binary here,
which in cross building setups is the local compiler's preprocessor -
hence the -undef above to get rid of whatever other definitions that
preprocessor sets.
Unless there's a reason to expect this predefined in the preprocessor I'd prefer it fixed in the code
instead.
I could live with this if it's expected to be required for more than
just libav's asm.
Well without this, there's no other define for detecting windows in the
preprocessor, other than !__ELF__, !__MACH__ or !__APPLE__. When building
with clang for windows, _WIN32 is defined (and we're using it in
libavutil/aarch64/asm.S in one place), but here we're using an agnostic
preprocessor.
// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel