diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2017-05-13 13:54:49 +0300 |
commit | 42156b5190f4fa150e1fab6777eb81e69d4db8c9 (patch) | |
tree | 3bf47de81cf1f89892789535a036d2d55d93a136 /debian/patches/gdc-versym-os.diff | |
download | gcc-6-debian.tar.gz |
Imported gcc-6 (6.3.0-17)debian/6.3.0-17debian
Diffstat (limited to 'debian/patches/gdc-versym-os.diff')
-rw-r--r-- | debian/patches/gdc-versym-os.diff | 430 |
1 files changed, 430 insertions, 0 deletions
diff --git a/debian/patches/gdc-versym-os.diff b/debian/patches/gdc-versym-os.diff new file mode 100644 index 0000000..49453f2 --- /dev/null +++ b/debian/patches/gdc-versym-os.diff @@ -0,0 +1,430 @@ +# DP: Implements D OS version conditions. + +This implements the following official versions: +* Windows +** Win32 +** Win64 +** Cygwin +** MinGW +* linux +* OSX +* FreeBSD +* OpenBSD +* NetBSD +* Solaris +* Posix +* AIX +* SysV4 +* Hurd +* Android + +These gdc specific versions are also implemented: +* GNU_MinGW64 (for mingw-w64) +* GNU_OpenSolaris (for opensolaris) +* GNU_GLibc (implemented for linux & bsd & opensolaris) +* GNU_UCLibc (implemented for linux) +* GNU_Bionic (implemented for linux) + +These official OS versions are not implemented: +* DragonFlyBSD +* BSD (other BSDs) +* Haiku +* SkyOS +* SysV3 + +Index: b/src/gcc/config/alpha/linux.h +=================================================================== +--- a/src/gcc/config/alpha/linux.h ++++ b/src/gcc/config/alpha/linux.h +@@ -33,6 +33,16 @@ along with GCC; see the file COPYING3. + builtin_define ("_GNU_SOURCE"); \ + } while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ if (OPTION_GLIBC) \ ++ builtin_define ("GNU_GLibc"); \ ++ \ ++ builtin_define ("linux"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #undef LIB_SPEC + #define LIB_SPEC \ + "%{pthread:-lpthread} \ +Index: b/src/gcc/config/arm/linux-eabi.h +=================================================================== +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -30,6 +30,15 @@ + } \ + while (false) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ TARGET_GENERIC_LINUX_OS_D_BUILTINS(); \ ++ ANDROID_TARGET_OS_D_BUILTINS(); \ ++ } \ ++ while (false) ++ + /* We default to a soft-float ABI so that binaries can run on all + target hardware. If you override this to use the hard-float ABI then + change the setting of GLIBC_DYNAMIC_LINKER_DEFAULT as well. */ +Index: b/src/gcc/config/darwin.h +=================================================================== +--- a/src/gcc/config/darwin.h ++++ b/src/gcc/config/darwin.h +@@ -977,4 +977,10 @@ extern void darwin_driver_init (unsigned + #define DEF_LD64 LD64_VERSION + #endif + ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("OSX"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #endif /* CONFIG_DARWIN_H */ +Index: b/src/gcc/config/freebsd.h +=================================================================== +--- a/src/gcc/config/freebsd.h ++++ b/src/gcc/config/freebsd.h +@@ -32,6 +32,13 @@ along with GCC; see the file COPYING3. + #undef TARGET_OS_CPP_BUILTINS + #define TARGET_OS_CPP_BUILTINS() FBSD_TARGET_OS_CPP_BUILTINS() + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("FreeBSD"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #undef CPP_SPEC + #define CPP_SPEC FBSD_CPP_SPEC + +Index: b/src/gcc/config/gnu.h +=================================================================== +--- a/src/gcc/config/gnu.h ++++ b/src/gcc/config/gnu.h +@@ -31,3 +31,11 @@ along with GCC. If not, see <http://www + builtin_assert ("system=unix"); \ + builtin_assert ("system=posix"); \ + } while (0) ++ ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ \ ++ builtin_define ("Hurd"); \ ++ builtin_define ("Posix"); \ ++ } while (0) +Index: b/src/gcc/config/i386/cygwin.h +=================================================================== +--- a/src/gcc/config/i386/cygwin.h ++++ b/src/gcc/config/i386/cygwin.h +@@ -29,6 +29,13 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("Windows"); \ ++ builtin_define ("Cygwin"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + #undef CPP_SPEC + #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ + %{!ansi:-Dunix} \ +Index: b/src/gcc/config/i386/linux-common.h +=================================================================== +--- a/src/gcc/config/i386/linux-common.h ++++ b/src/gcc/config/i386/linux-common.h +@@ -27,6 +27,15 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ TARGET_GENERIC_LINUX_OS_D_BUILTINS(); \ ++ ANDROID_TARGET_OS_D_BUILTINS(); \ ++ } \ ++ while (0) ++ + #undef CC1_SPEC + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +Index: b/src/gcc/config/i386/mingw-w64.h +=================================================================== +--- a/src/gcc/config/i386/mingw-w64.h ++++ b/src/gcc/config/i386/mingw-w64.h +@@ -89,3 +89,10 @@ along with GCC; see the file COPYING3. + %{static:-Bstatic} %{!static:-Bdynamic} \ + %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \ + %(shared_libgcc_undefs)" ++ ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ TARGET_GENERIC_MINGW_OS_D_BUILTINS(); \ ++ builtin_define ("GNU_MinGW64"); \ ++ } while (0) +Index: b/src/gcc/config/i386/mingw32.h +=================================================================== +--- a/src/gcc/config/i386/mingw32.h ++++ b/src/gcc/config/i386/mingw32.h +@@ -53,6 +53,18 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() TARGET_GENERIC_MINGW_OS_D_BUILTINS() ++#define TARGET_GENERIC_MINGW_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("Windows"); \ ++ builtin_define ("MinGW"); \ ++ \ ++ if (TARGET_64BIT && ix86_abi == MS_ABI) \ ++ builtin_define ("Win64"); \ ++ else if (!TARGET_64BIT) \ ++ builtin_define ("Win32"); \ ++ } while (0) ++ + #ifndef TARGET_USE_PTHREAD_BY_DEFAULT + #define SPEC_PTHREAD1 "pthread" + #define SPEC_PTHREAD2 "!no-pthread" +Index: b/src/gcc/config/kfreebsd-gnu.h +=================================================================== +--- a/src/gcc/config/kfreebsd-gnu.h ++++ b/src/gcc/config/kfreebsd-gnu.h +@@ -29,6 +29,14 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ builtin_define ("FreeBSD"); \ ++ builtin_define ("Posix"); \ ++ builtin_define ("GNU_GLibc"); \ ++ } while (0) ++ + #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER + #define GNU_USER_DYNAMIC_LINKER32 GLIBC_DYNAMIC_LINKER32 + #define GNU_USER_DYNAMIC_LINKER64 GLIBC_DYNAMIC_LINKER64 +Index: b/src/gcc/config/knetbsd-gnu.h +=================================================================== +--- a/src/gcc/config/knetbsd-gnu.h ++++ b/src/gcc/config/knetbsd-gnu.h +@@ -30,6 +30,16 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("NetBSD"); \ ++ builtin_define ("Posix"); \ ++ builtin_define ("GNU_GLibc"); \ ++ } \ ++ while (0) ++ + + #undef GNU_USER_DYNAMIC_LINKER + #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1" +Index: b/src/gcc/config/kopensolaris-gnu.h +=================================================================== +--- a/src/gcc/config/kopensolaris-gnu.h ++++ b/src/gcc/config/kopensolaris-gnu.h +@@ -30,5 +30,15 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("Solaris"); \ ++ builtin_define ("Posix"); \ ++ builtin_define ("GNU_OpenSolaris"); \ ++ builtin_define ("GNU_GLibc"); \ ++ } \ ++ while (0) ++ + #undef GNU_USER_DYNAMIC_LINKER + #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1" +Index: b/src/gcc/config/linux-android.h +=================================================================== +--- a/src/gcc/config/linux-android.h ++++ b/src/gcc/config/linux-android.h +@@ -25,6 +25,12 @@ + builtin_define ("__ANDROID__"); \ + } while (0) + ++#define ANDROID_TARGET_OS_D_BUILTINS() \ ++ do { \ ++ if (TARGET_ANDROID) \ ++ builtin_define ("Android"); \ ++ } while (0) ++ + #if ANDROID_DEFAULT + # define NOANDROID "mno-android" + #else +Index: b/src/gcc/config/linux.h +=================================================================== +--- a/src/gcc/config/linux.h ++++ b/src/gcc/config/linux.h +@@ -53,6 +53,28 @@ see the files COPYING3 and COPYING.RUNTI + builtin_assert ("system=posix"); \ + } while (0) + ++#define TARGET_OS_D_BUILTINS() TARGET_GENERIC_LINUX_OS_D_BUILTINS() ++#define TARGET_GENERIC_LINUX_OS_D_BUILTINS() \ ++ do { \ ++ if (OPTION_GLIBC) \ ++ { \ ++ builtin_define ("GNU_GLibc"); \ ++ builtin_define ("CRuntime_Glibc"); \ ++ } \ ++ else if (OPTION_UCLIBC) \ ++ { \ ++ builtin_define ("GNU_UCLibc"); \ ++ } \ ++ else if (OPTION_BIONIC) \ ++ { \ ++ builtin_define ("GNU_Bionic"); \ ++ builtin_define ("CRuntime_Bionic"); \ ++ } \ ++ \ ++ builtin_define ("linux"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + /* Determine which dynamic linker to use depending on whether GLIBC or + uClibc or Bionic or musl is the default C library and whether + -muclibc or -mglibc or -mbionic or -mmusl has been passed to change +Index: b/src/gcc/config/mips/linux-common.h +=================================================================== +--- a/src/gcc/config/mips/linux-common.h ++++ b/src/gcc/config/mips/linux-common.h +@@ -27,6 +27,15 @@ along with GCC; see the file COPYING3. + ANDROID_TARGET_OS_CPP_BUILTINS(); \ + } while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ TARGET_GENERIC_LINUX_OS_D_BUILTINS(); \ ++ ANDROID_TARGET_OS_D_BUILTINS(); \ ++ } \ ++ while (0) ++ + #undef LINK_SPEC + #define LINK_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \ +Index: b/src/gcc/config/netbsd.h +=================================================================== +--- a/src/gcc/config/netbsd.h ++++ b/src/gcc/config/netbsd.h +@@ -29,6 +29,14 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("NetBSD"); \ ++ builtin_define ("Posix"); \ ++ } \ ++ while (0) ++ + /* CPP_SPEC parts common to all NetBSD targets. */ + #define NETBSD_CPP_SPEC \ + "%{posix:-D_POSIX_SOURCE} \ +Index: b/src/gcc/config/openbsd.h +=================================================================== +--- a/src/gcc/config/openbsd.h ++++ b/src/gcc/config/openbsd.h +@@ -84,6 +84,14 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("OpenBSD"); \ ++ builtin_define ("Posix"); \ ++ } \ ++ while (0) ++ + /* TARGET_OS_CPP_BUILTINS() common to all OpenBSD ELF targets. */ + #define OPENBSD_OS_CPP_BUILTINS_ELF() \ + do \ +Index: b/src/gcc/config/rs6000/aix.h +=================================================================== +--- a/src/gcc/config/rs6000/aix.h ++++ b/src/gcc/config/rs6000/aix.h +@@ -129,6 +129,13 @@ + } \ + while (0) + ++#define TARGET_OS_D_BUILTINS() \ ++ do { \ ++ \ ++ builtin_define ("AIX"); \ ++ builtin_define ("Posix"); \ ++ } while (0) ++ + /* Define appropriate architecture macros for preprocessor depending on + target switches. */ + +Index: b/src/gcc/config/rs6000/linux.h +=================================================================== +--- a/src/gcc/config/rs6000/linux.h ++++ b/src/gcc/config/rs6000/linux.h +@@ -57,6 +57,17 @@ + } \ + while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("linux"); \ ++ builtin_define ("Posix"); \ ++ if (OPTION_GLIBC) \ ++ builtin_define ("GNU_GLibc"); \ ++ } \ ++ while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)" + +Index: b/src/gcc/config/rs6000/linux64.h +=================================================================== +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -391,6 +391,17 @@ extern int dot_symbols; + } \ + while (0) + ++#undef TARGET_OS_D_BUILTINS ++#define TARGET_OS_D_BUILTINS() \ ++ do \ ++ { \ ++ builtin_define ("linux"); \ ++ builtin_define ("Posix"); \ ++ if (OPTION_GLIBC) \ ++ builtin_define ("GNU_GLibc"); \ ++ } \ ++ while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)" + |