<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e3b98f1eadf598515cc86648645256a03282705f">https://github.com/macports/macports-ports/commit/e3b98f1eadf598515cc86648645256a03282705f</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new e3b98f1 gcc5: Update to 5.5.0 and fix gcj
</span>e3b98f1 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit e3b98f1eadf598515cc86648645256a03282705f
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Thu Oct 12 07:57:11 2017 -0500
<span style='display:block; white-space:pre;color:#404040;'> gcc5: Update to 5.5.0 and fix gcj
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/55068
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/49227
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/22066
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also use a common dist_subdir.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> See: https://trac.macports.org/ticket/50904
</span>---
lang/gcc5/Portfile | 61 ++--
lang/gcc5/files/boehm-gc-darwin15-hack.patch | 28 ++
lang/gcc5/files/gcj-libiconv-linkage.patch | 22 ++
lang/gcc5/files/macosx-version-min.patch | 419 ---------------------------
lang/gcc5/files/patch-gcc-system-h-map.diff | 10 -
5 files changed, 90 insertions(+), 450 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/Portfile b/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9ec9e9c..889035f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,8 +7,7 @@ PortGroup compiler_blacklist_versions 1.0
</span> name gcc5
epoch 2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 5.4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 5.5.0
</span> platforms darwin
categories lang
maintainers nomaintainer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,17 +18,34 @@ long_description The GNU compiler collection, including front ends for \
</span> C, C++, Objective-C, Objective-C++, Fortran and Java.
homepage http://gcc.gnu.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gnu:gcc/gcc-${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/releases/gcc-${version}/:gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/:gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/:gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/:gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gnu:gcc/gcc-${version}:gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://sourceware.org/pub/java/:ecj \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://mirrors.kernel.org/sources.redhat.com/java/:ecj \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://www.mirrorservice.org/sites/sources.redhat.com/pub/java/:ecj \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://ftp-stud.fht-esslingen.de/pub/Mirrors/sourceware.org/java/:ecj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+dist_subdir gcc
</span> distname gcc-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-use_bzip2 yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_xz yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set ecj ecj-4.9.jar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles ${distname}${extract.suffix}:gcc ${ecj}:ecj
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 7ae3413ca7e90bb21e65e637c02ddf2b675b45f4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 608df76dec2d34de6558249d8af4cbee21eceddbcb580d666f7a5a583ca3303a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract.only ${distname}${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums ${distname}${extract.suffix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 63fdc006c2289f81df664d1fd9b4124f71732e7b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 530cea139d82fe542b358961130c69cfde8b3d14556370b65823d2f91f0ced87 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 71096120 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ${ecj} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 eb1b19d9ac0e9e265bf993f38b9576e3c710e91e \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9506e75b862f782213df61af67338eb7a23c35ff425d328affc65585477d34cd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 1619429
</span>
depends_lib port:cctools \
port:gmp \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,24 +61,26 @@ depends_run port:gcc_select \
</span> depends_skip_archcheck-append gcc_select ld64 cctools
license_noconflict gmp mpfr ppl libmpc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Handle OS X deployment targets correctly (GCC PR target/63810
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63810>).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append macosx-version-min.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # Work around parallel building issue on APFS
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
patchfiles-append notparallel-install-headers.patch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# fix build of gcc 5.4.0 with xcode 9+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://trac.macports.org/ticket/54949
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# can be removed when gcc5 is updated to 5.5.x
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp $xcodeversion 9] >= 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles-append patch-gcc-system-h-map.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Provide linkage for MacPorts libiconv in gcj
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append gcj-libiconv-linkage.patch
</span>
set major [lindex [split ${version} .-] 0]
<span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ copy ${distpath}/${ecj} ${worksrcpath}/ecj.jar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} > 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Hack around boehm-gc and associated gcj failures from recompilation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # of libunwind.dylib with Apple Clang in macOS >= 10.11 by reducing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # alignment to 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append boehm-gc-darwin15-hack.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> configure.pre_args-append --build=${build_arch}-apple-darwin${os.major}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,6 +92,7 @@ configure.args --enable-languages=c,c++,objc,obj-c++,lto,fortran,java \
</span> --infodir=${prefix}/share/info \
--mandir=${prefix}/share/man \
--datarootdir=${prefix}/share/gcc-${major} \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ --with-libiconv-prefix=${prefix} \
</span> --with-local-prefix=${prefix} \
--with-system-zlib \
--disable-nls \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/files/boehm-gc-darwin15-hack.patch b/lang/gcc5/files/boehm-gc-darwin15-hack.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..078e55a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc5/files/boehm-gc-darwin15-hack.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,28 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- boehm-gc/include/private/gcconfig.h.orig 2015-10-11 17:19:25.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ boehm-gc/include/private/gcconfig.h 2015-10-11 15:41:26.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1041,10 +1041,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define MACH_TYPE "I386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(__LP64__) || defined(_WIN64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define CPP_WORDSZ 64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# define ALIGNMENT 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define ALIGNMENT 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define CPP_WORDSZ 32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# define ALIGNMENT 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define ALIGNMENT 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Appears to hold for all "32 bit" compilers */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* except Borland. The -a4 option fixes */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Borland. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2005,10 +2005,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ifdef X86_64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define MACH_TYPE "X86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ifdef __ILP32__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# define ALIGNMENT 4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define ALIGNMENT 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define CPP_WORDSZ 32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-# define ALIGNMENT 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define ALIGNMENT 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # define CPP_WORDSZ 64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # ifndef HBLKSIZE
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/files/gcj-libiconv-linkage.patch b/lang/gcc5/files/gcj-libiconv-linkage.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b977759
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc5/files/gcj-libiconv-linkage.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,22 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libjava/Makefile.am.orig 2015-10-12 10:28:24.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libjava/Makefile.am 2015-10-12 10:29:10.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -494,7 +494,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL) $(LDLIBICONV)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcj_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ classpath/native/fdlibm/libfdlibm.la \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ java/lang/Object.lo \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libjava/Makefile.in.orig 2015-10-12 10:29:29.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libjava/Makefile.in 2015-10-12 10:30:42.000000000 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1080,7 +1080,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(extra_ldflags) $(THREADLIBS) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $(LIBLTDL) $(SYS_ZLIBS) $(LIBJAVA_LDFLAGS_NOUNDEF) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -version-info `grep -v '^\#' $(srcdir)/libtool-version` \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ $(LIBGCJ_LD_SYMBOLIC_FUNCTIONS) $(LIBGCJ_LD_EXPORT_ALL) $(LDLIBICONV)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ libgcj_la_LIBADD = \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ classpath/native/fdlibm/libfdlibm.la \
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/files/macosx-version-min.patch b/lang/gcc5/files/macosx-version-min.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index dd60822..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc5/files/macosx-version-min.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,419 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/config/darwin-c.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/config/darwin-c.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -570,42 +570,180 @@ find_subframework_header (cpp_reader *pf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Return the value of darwin_macosx_version_min suitable for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro, so '10.4.2'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- becomes 1040 and '10.10.0' becomes 101000. The lowest digit is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- always zero, as is the second lowest for '10.10.x' and above.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Print a warning if the version number can't be understood. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Given a version string, return the version as a statically-allocated
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ array of three non-negative integers. If the version string is
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ invalid, return null.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Version strings must consist of one, two, or three tokens, each
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ separated by a single period. Each token must contain only the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ characters '0' through '9' and is converted to an equivalent
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ integer. Omitted tokens are treated as zeros. For example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10" becomes {10,0,0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10.10" becomes {10,10,0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10.10.1" becomes {10,10,1}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10.000010.1" becomes {10,10,1}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10.010.001" becomes {10,10,1}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "000010.10.00001" becomes {10,10,1} */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+enum version_components { MAJOR, MINOR, TINY };
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static const unsigned long *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+parse_version (const char *version_str)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ size_t version_len;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ char *end;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static unsigned long version_array[3];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! version_str)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_len = strlen (version_str);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (version_len < 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Version string must consist of digits and periods only. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (strspn (version_str, "0123456789.") != version_len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! ISDIGIT (version_str[0]) || ! ISDIGIT (version_str[version_len - 1]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_array[MAJOR] = strtoul (version_str, &end, 10);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_str = end + ((*end == '.') ? 1 : 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Version string must not contain adjacent periods. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (*version_str == '.')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_array[MINOR] = strtoul (version_str, &end, 10);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_str = end + ((*end == '.') ? 1 : 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_array[TINY] = strtoul (version_str, &end, 10);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Version string must contain no more than three tokens. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (*end != '\0')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return version_array;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Given a three-component version represented as an array of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ non-negative integers, return a statically-allocated string suitable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for the legacy __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ If the version is invalid and cannot be coerced into a valid form,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return null.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ The legacy format is a four-character string -- two chars for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ major number and one each for the minor and tiny numbers. Major
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ numbers are zero-padded if necessary. Minor and tiny numbers from
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 10 through 99 are permitted but are clamped to 9 (for example,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ {10,9,10} produces "1099"). Versions containing numbers greater
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ than 99 are rejected. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--version_as_macro (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+version_as_legacy_macro (const unsigned long *version)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- static char result[7] = "1000";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- int minorDigitIdx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned long major, minor, tiny;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static char result[sizeof "9999"];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! version)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ major = version[MAJOR];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ minor = version[MINOR];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tiny = version[TINY];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (major > 99 || minor > 99 || tiny > 99)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ minor = ((minor > 9) ? 9 : minor);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tiny = ((tiny > 9) ? 9 : tiny);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* NOTE: Cast result of sizeof so that result of sprintf is not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ converted to an unsigned type. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (sprintf (result, "%02lu%lu%lu", major, minor, tiny)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ != (int) sizeof "9999" - 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Given a three-component version represented as an array of
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ non-negative integers, return a statically-allocated string suitable
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for the modern __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ or the __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ macro. If the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version is invalid, return null.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ The modern format is a five- or six-character string -- one or two
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ chars for the major number and two each for the minor and tiny
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ numbers, which are zero-padded if necessary (for example, {8,1,0}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ produces "80100", and {10,10,1} produces "101001"). Versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ containing numbers greater than 99 are rejected. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+version_as_modern_macro (const unsigned long *version)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ unsigned long major, minor, tiny;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ static char result[sizeof "999999"];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! version)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ major = version[MAJOR];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ minor = version[MINOR];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tiny = version[TINY];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (major > 99 || minor > 99 || tiny > 99)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* NOTE: 'sizeof ((x > y) ? "foo" : "bar")' returns size of char
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ pointer instead of char array, so use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ '(x > y) ? sizeof "foo" : sizeof "bar"' instead. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* NOTE: Cast result of sizeof so that result of sprintf is not
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ converted to an unsigned type. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (sprintf (result, "%lu%02lu%02lu", major, minor, tiny)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ != (int) ((major > 9) ? sizeof "999999" : sizeof "99999") - 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Return the value of darwin_macosx_version_min, suitably formatted
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ for the __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro. Values
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ representing OS X 10.9 and earlier are encoded using the legacy
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ four-character format, while 10.10 and later use a modern
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ six-character format. (For example, "10.9" produces "1090", and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "10.10.1" produces "101001".) If the value is invalid and cannot be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ coerced into a valid form, print a warning and return "1000". */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static const char *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+macosx_version_as_macro (void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const unsigned long *version_array;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ const char *version_macro;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_array = parse_version (darwin_macosx_version_min);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! version_array)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (! ISDIGIT (darwin_macosx_version_min[3]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* Do not assume that the major number will always be exactly 10. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (version_array[MAJOR] < 10 || version_array[MAJOR] > 10)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- minorDigitIdx = 3;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- result[2] = darwin_macosx_version_min[minorDigitIdx++];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (ISDIGIT (darwin_macosx_version_min[minorDigitIdx]))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Starting with OS X 10.10, the macro ends '00' rather than '0',
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- i.e. 10.10.x becomes 101000 rather than 10100. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- result[3] = darwin_macosx_version_min[minorDigitIdx++];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- result[4] = '0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- result[5] = '0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- result[6] = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- if (darwin_macosx_version_min[minorDigitIdx] != '\0'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- && darwin_macosx_version_min[minorDigitIdx] != '.')
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_macro = version_as_legacy_macro (version_array);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ version_macro = version_as_modern_macro (version_array);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (! version_macro)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- goto fail;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return version_macro;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fail:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- error ("unknown value %qs of -mmacosx-version-min",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- darwin_macosx_version_min);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ darwin_macosx_version_min);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "1000";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -627,7 +765,7 @@ darwin_cpp_builtins (cpp_reader *pfile)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- builtin_define ("__CONSTANT_CFSTRINGS__");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- builtin_define_with_value ("__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__",
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- version_as_macro(), false);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ macosx_version_as_macro(), false);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Since we do not (at 4.6) support ObjC gc for the NeXT runtime, the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- following will cause a syntax error if one tries to compile gc attributed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-10.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-10.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with a zero-padded minor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ number < 10 and a zero-padded tiny number < 10 produces the correct
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ four-character macro. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.07.02" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1072
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-11.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-11.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with outrageous zero-padding and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a minor number > 9 still produces a six-character macro. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=00010.010.0000098" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101098
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-12.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-12.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with outrageous zero-padding and
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ a minor number < 10 still produces a four-character macro. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=010.008.000031" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1089
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/darwin-minversion-3.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-3.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,11 +1,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Test that most-minor versions greater than 9 work. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-options "-mmacosx-version-min=10.4.10" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Test that most minor versions < 10 work. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.4.1" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1040
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1041
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/testsuite/gcc.dg/darwin-minversion-4.c.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-4.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,11 +1,11 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Test that major versions greater than 9 work and have the additional 0. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* { dg-options "-mmacosx-version-min=10.10.0" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Test that minor versions > 9 produce a six-character macro. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.10.1" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-5.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-5.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with minor number < 10 and tiny
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ number > 9 produces a four-character macro with the tiny number
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ clamped to 9. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.9.10" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1099
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-6.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-6.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that tiny numbers are preserved in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ six-character macros. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.10.11" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101011
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-7.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-7.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that tiny numbers < 10 are preserved in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ four-character macros. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.9.1" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1091
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-8.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-8.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with minor number > 9 and no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ tiny number produces a six-character macro ending in "00". */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.11" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 101100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: gcc/testsuite/gcc.dg/darwin-minversion-9.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/testsuite/gcc.dg/darwin-minversion-9.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,15 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* PR target/63810: Test that a version with a zero-padded minor
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ number < 10 produces a four-character macro. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Added by Lawrence Velázquez <larryv@macports.org>. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-options "-mmacosx-version-min=10.08.4" } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* { dg-do compile { target *-*-darwin* } } */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+main ()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1084
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ fail me;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/files/patch-gcc-system-h-map.diff b/lang/gcc5/files/patch-gcc-system-h-map.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 91d871e..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc5/files/patch-gcc-system-h-map.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- gcc/system.h.old 2017-10-07 09:14:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ gcc/system.h 2017-10-07 09:15:13.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -216,6 +216,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <algorithm>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# include <map>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <cstring>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # include <utility>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span></pre><pre style='margin:0'>
</pre>