Files
MINGW-packages/mingw-w64-sdcc/0004-support-cpp-Imported-missing-xm-mingw32.h.patch
jhol d6496ec488 sdcc: Added 4.5.0 (#26732)
Co-authored-by: Peiyuan Song <squallatf@gmail.com>
2025-12-23 13:18:33 +03:00

79 lines
2.7 KiB
Diff

From 64ec70cb6f99416717681ded0194a8ecf9b84e22 Mon Sep 17 00:00:00 2001
From: Joel Holdsworth <jholdsworth@nvidia.com>
Date: Fri, 5 Dec 2025 12:35:42 -0800
Subject: [PATCH 4/4] support/cpp: Imported missing xm-mingw32.h
HOST_LACKS_INODE_NUMBERS hack can be removed from
support/cpp/gcc/system.h .
---
support/cpp/gcc/config/i386/xm-mingw32.h | 39 ++++++++++++++++++++++++
support/cpp/gcc/system.h | 6 ----
2 files changed, 39 insertions(+), 6 deletions(-)
create mode 100644 support/cpp/gcc/config/i386/xm-mingw32.h
diff --git a/support/cpp/gcc/config/i386/xm-mingw32.h b/support/cpp/gcc/config/i386/xm-mingw32.h
new file mode 100644
index 000000000..40f09e8ad
--- /dev/null
+++ b/support/cpp/gcc/config/i386/xm-mingw32.h
@@ -0,0 +1,39 @@
+/* Configuration for GCC for hosting on Windows32.
+ using GNU tools and the Windows32 API Library.
+ Copyright (C) 1997-2022 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#define HOST_EXECUTABLE_SUFFIX ".exe"
+
+#undef PATH_SEPARATOR
+#define PATH_SEPARATOR ';'
+
+/* This is the name of the null device on windows. */
+#define HOST_BIT_BUCKET "nul"
+
+/* The st_ino field of struct stat is always 0. */
+#define HOST_LACKS_INODE_NUMBERS
+
+#ifdef __MINGW32__
+#undef __USE_MINGW_ANSI_STDIO
+#define __USE_MINGW_ANSI_STDIO 1
+#else
+/* MSVCRT does not support the "ll" format specifier for printing
+ "long long" values. Instead, we use "I64". */
+#define HOST_LONG_LONG_FORMAT "I64"
+#endif
diff --git a/support/cpp/gcc/system.h b/support/cpp/gcc/system.h
index 75fde0f20..112b1d8aa 100644
--- a/support/cpp/gcc/system.h
+++ b/support/cpp/gcc/system.h
@@ -22,12 +22,6 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_SYSTEM_H
#define GCC_SYSTEM_H
-/* A little hack for sdcpp when compiling for Windows */
-#if defined(_WIN32) || defined(_WIN64)
-#define HOST_LACKS_INODE_NUMBERS 1
-#endif
-
-
/* Define this so that inttypes.h defines the PRI?64 macros even
when compiling with a C++ compiler. Define it here so in the
event inttypes.h gets pulled in by another header it is already
--
2.52.0