diff options
author | Andris Pavenis | 2018-01-26 20:56:33 +0200 |
---|---|---|
committer | Andris Pavenis | 2018-01-26 21:58:43 +0200 |
commit | 6694676cd92e5b24e62f4e12974618819df9370c (patch) | |
tree | 66c0afa55e1f89092f2d45ad38686feff55bf0f2 | |
parent | c9981450c93ece909a390a3009f02612f87bba57 (diff) | |
download | aur-6694676cd92e5b24e62f4e12974618819df9370c.tar.gz |
Update to gcc-7.3.0
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 11 | ||||
-rw-r--r-- | gcc-7.3.0-djgpp.diff (renamed from gcc-7.2.0-djgpp.diff) | 83 |
3 files changed, 82 insertions, 22 deletions
@@ -1,6 +1,6 @@ pkgbase = djgpp-gcc pkgdesc = GCC for the djgpp cross-compiler - pkgver = 7.2.0 + pkgver = 7.3.0 pkgrel = 1 url = http://gcc.gnu.org arch = i686 @@ -17,14 +17,14 @@ pkgbase = djgpp-gcc options = !strip options = staticlibs options = !emptydirs - source = https://ftp.gnu.org/gnu/gcc/gcc-7.2.0/gcc-7.2.0.tar.xz + source = https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.xz source = http://isl.gforge.inria.fr/isl-0.18.tar.bz2 source = lto.patch - source = gcc-7.2.0-djgpp.diff - sha256sums = 1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a + source = gcc-7.3.0-djgpp.diff + sha256sums = 832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c sha256sums = 6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b sha256sums = c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0 - sha256sums = ef436e945a0bf386c033e6c05a5692621a0927f25fa6c5cedc2e7d1d931fe235 + sha256sums = 3d805b0d5d5180531858f830d9a022ae9a61f5768535bd0e794d8a1b2eb430b6 pkgname = djgpp-gcc @@ -3,7 +3,7 @@ # Contributor: felix <base64 -d <<< ZmVsaXgudm9uLnNAcG9zdGVvLmRlCg==> pkgname=djgpp-gcc -pkgver=7.2.0 +pkgver=7.3.0 _target="i686-pc-msdosdjgpp" _islver=0.18 _djver=2.05 @@ -20,11 +20,11 @@ options=('!strip' 'staticlibs' '!emptydirs') source=("https://ftp.gnu.org/gnu/gcc/gcc-$pkgver/gcc-$pkgver.tar.xz" "http://isl.gforge.inria.fr/isl-${_islver}.tar.bz2" "lto.patch" - "gcc-7.2.0-djgpp.diff") -sha256sums=('1cf7adf8ff4b5aa49041c8734bbcf1ad18cc4c94d0029aae0f4e48841088479a' + "gcc-7.3.0-djgpp.diff") +sha256sums=('832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c' '6b8b0fd7f81d0a957beb3679c81bbb34ccc7568d5682844d8924424a0dadcb1b' 'c03dbd61274e1ce14f84366abf348d75779bbd6e0bc32b9f4fd74f1ce54a5ef0' - 'ef436e945a0bf386c033e6c05a5692621a0927f25fa6c5cedc2e7d1d931fe235') + '3d805b0d5d5180531858f830d9a022ae9a61f5768535bd0e794d8a1b2eb430b6') prepare() { cd gcc-$pkgver @@ -36,7 +36,7 @@ prepare() { patch -Np0 < ../lto.patch # Other DJGPP related changes - patch -Np1 < ../gcc-7.2.0-djgpp.diff + patch -Np1 < ../gcc-7.3.0-djgpp.diff } build() { @@ -51,6 +51,7 @@ build() { --enable-lto --disable-libgomp \ --disable-multilib --enable-checking=release \ --disable-libstdcxx-pch \ + --enable-libstdcxx-filesystem-ts \ --disable-install-libiberty make all } diff --git a/gcc-7.2.0-djgpp.diff b/gcc-7.3.0-djgpp.diff index bd3f312d2053..463d634b6d6e 100644 --- a/gcc-7.2.0-djgpp.diff +++ b/gcc-7.3.0-djgpp.diff @@ -32,8 +32,6 @@ index bff875a6822..fc06ee7b663 100644 dir[*length] = '\0'; } -diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in -index eb0489b4a50..166a7432647 100644 diff --git a/gcc/ada/s-os_lib.adb b/gcc/ada/s-os_lib.adb index 36064e97bd3..18bfb484074 100644 --- a/gcc/ada/s-os_lib.adb @@ -47,10 +45,6 @@ index 36064e97bd3..18bfb484074 100644 -- Used to initialize Current_Temp_File_Name and Temp_File_Name_Last_Digit Current_Temp_File_Name : String := First_Temp_File_Name; -diff --git a/gcc/config/i386/xm-djgpp.h b/gcc/config/i386/xm-djgpp.h -index de0dace1707..57c037a7df0 100644 -diff --git a/gcc/gcov-tool.c b/gcc/gcov-tool.c -index 74e77b90d72..a0e85f72256 100644 diff --git a/gcc/ginclude/float.h b/gcc/ginclude/float.h index 658017fd63a..e6504b94d07 100644 --- a/gcc/ginclude/float.h @@ -93,8 +87,8 @@ index 969a531033f..3c07d60a62c 100644 file->buffer = _cpp_convert_input (pfile, CPP_OPTION (pfile, input_charset), buf, size + 16, total, -diff --git a/libcpp/lex.c b/libcpp/lex.c -index 9edd2a6afdb..4a4fa56b280 100644 +diff --git a/libgfortran/intrinsics/chmod.c b/libgfortran/intrinsics/chmod.c +index d08418d773f..109e15ff3ab 100644 --- a/libgfortran/intrinsics/chmod.c +++ b/libgfortran/intrinsics/chmod.c @@ -443,7 +443,7 @@ clause_done: @@ -125,7 +119,7 @@ index 9edd2a6afdb..4a4fa56b280 100644 file_mode |= S_ISVTX; else if (!is_dir) diff --git a/libgfortran/io/unix.c b/libgfortran/io/unix.c -index c76b427387a..2edd317d619 100644 +index bb9bc9a5c12..79d25e1ebe0 100644 --- a/libgfortran/io/unix.c +++ b/libgfortran/io/unix.c @@ -210,6 +210,9 @@ typedef struct @@ -138,7 +132,7 @@ index c76b427387a..2edd317d619 100644 /* fix_fd()-- Given a file descriptor, make sure it is not one of the standard descriptors, returning a non-standard descriptor. If the -@@ -1153,8 +1156,13 @@ tempfile_open (const char *tempdir, char **fname) +@@ -1187,8 +1190,13 @@ tempfile_open (const char *tempdir, char **fname) char *template = xmalloc (tempdirlen + 23); #ifdef HAVE_MKSTEMP @@ -152,7 +146,7 @@ index c76b427387a..2edd317d619 100644 #ifdef HAVE_UMASK /* Temporarily set the umask such that the file has 0600 permissions. */ -@@ -1520,6 +1528,13 @@ open_external (st_parameter_open *opp, unit_flags *flags) +@@ -1554,6 +1562,13 @@ open_external (st_parameter_open *opp, unit_flags *flags) return NULL; fd = fix_fd (fd); @@ -280,8 +274,53 @@ index 4ce342c9626..b89b07cb4be 100644 // operation_would_block = EWOULDBLOCK, #ifdef _GLIBCXX_HAVE_EOWNERDEAD +diff --git a/libstdc++-v3/include/experimental/bits/fs_path.h b/libstdc++-v3/include/experimental/bits/fs_path.h +index 512167f6f2d..de56387511e 100644 +--- a/libstdc++-v3/include/experimental/bits/fs_path.h ++++ b/libstdc++-v3/include/experimental/bits/fs_path.h +@@ -53,6 +53,11 @@ + # include <algorithm> + #endif + ++#if defined(__DJGPP__) ++# define _GLIBCXX_FILESYSTEM_IS_DJGPP 1 ++# include <algorithm> ++#endif ++ + namespace std _GLIBCXX_VISIBILITY(default) + { + namespace experimental +@@ -460,6 +465,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 + { + #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS + return __ch == L'/' || __ch == preferred_separator; ++#elif defined(_GLIBCXX_FILESYSTEM_IS_DJGPP) ++ return __ch == '/' || __ch == '\\'; + #else + return __ch == '/'; + #endif +@@ -826,6 +833,9 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 + #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS + std::replace(_M_pathname.begin(), _M_pathname.end(), L'/', + preferred_separator); ++#elif defined(_GLIBCXX_FILESYSTEM_IS_DJGPP) ++ std::replace(_M_pathname.begin(), _M_pathname.end(), '\\', ++ preferred_separator); + #endif + return *this; + } +@@ -997,7 +1007,8 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 + inline bool + path::is_absolute() const + { +-#ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS ++#if defined(_GLIBCXX_FILESYSTEM_IS_WINDOWS) \ ++ || defined(_GLIBCXX_FILESYSTEM_IS_DJGPP) + return has_root_name(); + #else + return has_root_directory(); diff --git a/libstdc++-v3/src/filesystem/ops.cc b/libstdc++-v3/src/filesystem/ops.cc -index c711de16f06..a38ee5d9abe 100644 +index 8de3511346e..9da49f9b233 100644 --- a/libstdc++-v3/src/filesystem/ops.cc +++ b/libstdc++-v3/src/filesystem/ops.cc @@ -269,8 +269,10 @@ namespace @@ -295,3 +334,23 @@ index c711de16f06..a38ee5d9abe 100644 #endif return file_type::unknown; +diff --git a/libstdc++-v3/src/filesystem/path.cc b/libstdc++-v3/src/filesystem/path.cc +index c66d52bf4b0..a4e5f348a24 100644 +--- a/libstdc++-v3/src/filesystem/path.cc ++++ b/libstdc++-v3/src/filesystem/path.cc +@@ -370,8 +370,13 @@ path::_M_split_cmpts() + _M_add_root_dir(0); + ++pos; + } +-#ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS ++#if defined(_GLIBCXX_FILESYSTEM_IS_WINDOWS) \ ++ || defined(_GLIBCXX_FILESYSTEM_IS_DJGPP) ++#ifdef __DJGPP__ ++ else if (len > 1 && _M_pathname[1] == ':') ++#else + else if (len > 1 && _M_pathname[1] == L':') ++#endif + { + // got disk designator + _M_add_root_name(2); + |