[136925] trunk/dports/lang

larryv at macports.org larryv at macports.org
Fri May 29 23:48:08 PDT 2015


Revision: 136925
          https://trac.macports.org/changeset/136925
Author:   larryv at macports.org
Date:     2015-05-29 23:48:07 -0700 (Fri, 29 May 2015)
Log Message:
-----------
gcc46: Backport upstream fix for handling deployment targets

Replace my earlier patch for upstream PR target/63810 (MacPorts r128415)
with the one applied to trunk (GCC r223808). Split out the kernel
version check removal into its own patch. Revbump DragonEgg ports as
appropriate.

https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=rev&rev=223808

Revision Links:
--------------
    https://trac.macports.org/changeset/128415
    https://trac.macports.org/changeset/223808

Modified Paths:
--------------
    trunk/dports/lang/dragonegg-3.3/Portfile
    trunk/dports/lang/dragonegg-3.4/Portfile
    trunk/dports/lang/gcc46/Portfile
    trunk/dports/lang/gcc46/files/macosx-version-min.patch

Added Paths:
-----------
    trunk/dports/lang/gcc46/files/remove-kernel-version-check.patch

Property Changed:
----------------
    trunk/dports/lang/gcc46/files/macosx-version-min.patch

Modified: trunk/dports/lang/dragonegg-3.3/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.3/Portfile	2015-05-30 05:05:09 UTC (rev 136924)
+++ trunk/dports/lang/dragonegg-3.3/Portfile	2015-05-30 06:48:07 UTC (rev 136925)
@@ -14,7 +14,7 @@
     set gcc_version_no_dot 45
 }
 subport                 ${name}-gcc-4.6 {
-    revision            8
+    revision            9
     set gcc_version     4.6
     set gcc_version_no_dot 46
 }

Modified: trunk/dports/lang/dragonegg-3.4/Portfile
===================================================================
--- trunk/dports/lang/dragonegg-3.4/Portfile	2015-05-30 05:05:09 UTC (rev 136924)
+++ trunk/dports/lang/dragonegg-3.4/Portfile	2015-05-30 06:48:07 UTC (rev 136925)
@@ -14,7 +14,7 @@
     set gcc_version_no_dot 45
 }
 subport                 ${name}-gcc-4.6 {
-    revision            4
+    revision            5
     set gcc_version     4.6
     set gcc_version_no_dot 46
 }

Modified: trunk/dports/lang/gcc46/Portfile
===================================================================
--- trunk/dports/lang/gcc46/Portfile	2015-05-30 05:05:09 UTC (rev 136924)
+++ trunk/dports/lang/gcc46/Portfile	2015-05-30 06:48:07 UTC (rev 136925)
@@ -9,7 +9,7 @@
 
 # Whenever this port is bumped for version/revision, please revbump dragonegg-3.[012] and dragonegg-*-gcc-4.6
 version             4.6.4
-revision            8
+revision            9
 platforms           darwin
 categories          lang
 maintainers         mww openmaintainer
@@ -65,6 +65,10 @@
 patchfiles          gcc-4.6-cloog_lang_c.patch \
                     enable_libstdcxx_time_yes.patch
 
+# Don't check Darwin kernel version (GCC PR target/61407
+# <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407>).
+patchfiles-append   remove-kernel-version-check.patch
+
 # Handle OS X deployment targets correctly (GCC PR target/63810
 # <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63810>).
 patchfiles-append   macosx-version-min.patch

Modified: trunk/dports/lang/gcc46/files/macosx-version-min.patch
===================================================================
--- trunk/dports/lang/gcc46/files/macosx-version-min.patch	2015-05-30 05:05:09 UTC (rev 136924)
+++ trunk/dports/lang/gcc46/files/macosx-version-min.patch	2015-05-30 06:48:07 UTC (rev 136925)
@@ -1,8 +1,76 @@
-Index: gcc/config/darwin-c.c
-===================================================================
---- gcc/config/darwin-c.c.orig
+commit 9b0d3d17b04a59bb591c06273d2d5a975f8c5d58
+Author: Lawrence Velázquez <vq at larryv.me>
+Date:   Fri Nov 14 17:52:32 2014 -0500
+
+    Handle OS X deployment targets correctly
+
+    As described in PR target/63810, this addresses several problems with
+    the validation and encoding of deployment target version strings for the
+    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.  There are
+    currently four testcases exercising inputs to -mmacosx-version-min
+    (gcc/testsuite/gcc.dg/darwin-minversion-*), but they provide minimal
+    coverage, and one is incorrect.
+
+    * The tiny number is now respected, if present.  Thus "10.9.4"
+      correctly becomes "1094" instead of "1090", and "10.10.1" becomes
+      "101001" instead of "101000".
+    * Zero padding is now ignored.  Thus "10.09" correctly becomes "1090"
+      instead of "100900", and "10.00010" becomes "101000" instead of being
+      treated as invalid.
+    * Deployment targets that are missing minor and tiny numbers are no
+      longer considered invalid.  Thus "10" is treated as "10.0.0", which
+      becomes "1000" without causing an error.
+
+    With this change, trunk matches the behavior of Apple LLVM Compiler
+    6.1.0 on 8,451 of 8,464 generated test inputs.  (The discrepancies are
+    due to a bug in Clang.)  I don't notice any testsuite regressions on
+    OS X 10.10 Yosemite x86-64.
+
+    2015-05-15  Lawrence Velázquez  <vq at larryv.me>
+
+    	PR target/63810
+    	* gcc/config/darwin-c.c (version_components): New global enum.
+    	(parse_version, version_as_legacy_macro)
+    	(version_as_modern_macro, macosx_version_as_macro): New functions.
+    	(version_as_macro): Remove.
+    	(darwin_cpp_builtins): Use new function.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-3.c: Update testcase.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-4.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-5.c: New testcase.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-6.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-7.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-8.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-9.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-10.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-11.c: Ditto.
+    	* gcc/testsuite/gcc.dg/darwin-minversion-12.c: Ditto.
+---
+Adapted for GCC 4.6.4 from the upstream trunk fix. The text above is
+from my email to the gcc-patches mailing list; some minor details may
+not apply to the patch below.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63810
+https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01888.html
+https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=rev&rev=223808
+
+ gcc/config/darwin-c.c                       | 155 +++++++++++++++++++++++---
+ gcc/testsuite/gcc.dg/darwin-minversion-10.c |  16 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-11.c |  16 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-12.c |  16 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-3.c  |   6 +-
+ gcc/testsuite/gcc.dg/darwin-minversion-4.c  |  12 ++
+ gcc/testsuite/gcc.dg/darwin-minversion-5.c  |  16 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-6.c  |  15 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-7.c  |  15 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-8.c  |  16 +++
+ gcc/testsuite/gcc.dg/darwin-minversion-9.c  |  15 +++
+ 11 files changed, 282 insertions(+), 16 deletions(-)
+
+diff --git gcc/config/darwin-c.c gcc/config/darwin-c.c
+index 211d141..3a7e3ee 100644
+--- gcc/config/darwin-c.c
 +++ gcc/config/darwin-c.c
-@@ -568,29 +568,180 @@ find_subframework_header (cpp_reader *pf
+@@ -568,25 +568,154 @@ find_subframework_header (cpp_reader *pfile, const char *header, cpp_dir **dirp)
    return 0;
  }
  
@@ -10,21 +78,23 @@
 -   __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro,
 -   so '10.4.2' becomes 1040.  The lowest digit is always zero.
 -   Print a warning if the version number can't be understood.  */
-+/*  Given a version string, return the version as a statically-allocated
-+    array of three non-negative integers.  If the version string is
-+    invalid, return null.
++/* Given an OS X version VERSION_STR, return it as a statically-allocated array
++   of three integers. If VERSION_STR is invalid, return NULL.
 +
-+    Version strings must consist of one, two, or three tokens, each
-+    separated by a single period.  Each token must contain only the
-+    characters '0' through '9' and is converted to an equivalent
-+    integer.  Omitted tokens are treated as zeros.  For example:
++   VERSION_STR must consist of one, two, or three tokens, each separated by
++   a single period.  Each token must contain only the characters '0' through
++   '9' and is converted to an equivalent non-negative decimal integer. Omitted
++   tokens become zeros.  For example:
 +
-+        "10"              becomes   {10,0,0}
-+        "10.10"           becomes   {10,10,0}
-+        "10.10.1"         becomes   {10,10,1}
-+        "10.000010.1"     becomes   {10,10,1}
-+        "10.010.001"      becomes   {10,10,1}
-+        "000010.10.00001" becomes   {10,10,1}  */
++        "10"              becomes       {10,0,0}
++        "10.10"           becomes       {10,10,0}
++        "10.10.1"         becomes       {10,10,1}
++        "10.000010.1"     becomes       {10,10,1}
++        "10.010.001"      becomes       {10,10,1}
++        "000010.10.00001" becomes       {10,10,1}
++        ".9.1"            is invalid
++        "10..9"           is invalid
++        "10.10."          is invalid  */
 +
 +enum version_components { MAJOR, MINOR, TINY };
 +
@@ -35,9 +105,6 @@
 +  char *end;
 +  static unsigned long version_array[3];
 +
-+  if (! version_str)
-+    return NULL;
-+
 +  version_len = strlen (version_str);
 +  if (version_len < 1)
 +    return NULL;
@@ -46,7 +113,7 @@
 +  if (strspn (version_str, "0123456789.") != version_len)
 +    return NULL;
 +
-+  if (! ISDIGIT (version_str[0]) || ! ISDIGIT (version_str[version_len - 1]))
++  if (!ISDIGIT (version_str[0]) || !ISDIGIT (version_str[version_len - 1]))
 +    return NULL;
 +
 +  version_array[MAJOR] = strtoul (version_str, &end, 10);
@@ -68,18 +135,16 @@
 +  return version_array;
 +}
 +
-+/*  Given a three-component version represented as an array of
-+    non-negative integers, return a statically-allocated string suitable
-+    for the legacy __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.
-+    If the version is invalid and cannot be coerced into a valid form,
-+    return null.
++/* Given VERSION -- a three-component OS X version represented as an array of
++   non-negative integers -- return a statically-allocated string suitable for
++   the legacy __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.  If VERSION
++   is invalid and cannot be coerced into a valid form, return NULL.
 +
-+    The legacy format is a four-character string -- two chars for the
-+    major number and one each for the minor and tiny numbers.  Major
-+    numbers are zero-padded if necessary.  Minor and tiny numbers from
-+    10 through 99 are permitted but are clamped to 9 (for example,
-+    {10,9,10} produces "1099").  Versions containing numbers greater
-+    than 99 are rejected.  */
++   The legacy format is a four-character string -- two chars for the major
++   number and one each for the minor and tiny numbers.  Minor and tiny numbers
++   from 10 through 99 are permitted but are clamped to 9 (for example, {10,9,10}
++   produces "1099").  If VERSION contains numbers greater than 99, it is
++   rejected.  */
 +
  static const char *
 -version_as_macro (void)
@@ -87,11 +152,8 @@
  {
 -  static char result[] = "1000";
 +  unsigned long major, minor, tiny;
-+  static char result[sizeof "9999"];
++  static char result[5];
 +
-+  if (! version)
-+    return NULL;
-+
 +  major = version[MAJOR];
 +  minor = version[MINOR];
 +  tiny = version[TINY];
@@ -102,37 +164,28 @@
 +  minor = ((minor > 9) ? 9 : minor);
 +  tiny = ((tiny > 9) ? 9 : tiny);
 +
-+  /* NOTE: Cast result of sizeof so that result of sprintf is not
-+     converted to an unsigned type.  */
-+  if (sprintf (result, "%02lu%lu%lu", major, minor, tiny)
-+      != (int) sizeof "9999" - 1)
++  if (sprintf (result, "%lu%lu%lu", major, minor, tiny) != 4)
 +    return NULL;
++
++  return result;
++}
  
 -  if (strncmp (darwin_macosx_version_min, "10.", 3) != 0)
-+  return result;
-+}
++/* Given VERSION -- a three-component OS X version represented as an array of
++   non-negative integers -- return a statically-allocated string suitable for
++   the modern __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.  If VERSION
++   is invalid, return NULL.
 +
-+/*  Given a three-component version represented as an array of
-+    non-negative integers, return a statically-allocated string suitable
-+    for the modern __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro
-+    or the __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ macro.  If the
-+    version is invalid, return null.
++   The modern format is a six-character string -- two chars for each component,
++   with zero-padding if necessary (for example, {10,10,1} produces "101001"). If
++   VERSION contains numbers greater than 99, it is rejected.  */
 +
-+    The modern format is a five- or six-character string -- one or two
-+    chars for the major number and two each for the minor and tiny
-+    numbers, which are zero-padded if necessary (for example, {8,1,0}
-+    produces "80100", and {10,10,1} produces "101001").  Versions
-+    containing numbers greater than 99 are rejected.  */
-+
 +static const char *
 +version_as_modern_macro (const unsigned long *version)
 +{
 +  unsigned long major, minor, tiny;
-+  static char result[sizeof "999999"];
++  static char result[7];
 +
-+  if (! version)
-+    return NULL;
-+
 +  major = version[MAJOR];
 +  minor = version[MINOR];
 +  tiny = version[TINY];
@@ -140,25 +193,19 @@
 +  if (major > 99 || minor > 99 || tiny > 99)
 +    return NULL;
 +
-+  /* NOTE: 'sizeof ((x > y) ? "foo" : "bar")' returns size of char
-+     pointer instead of char array, so use
-+     '(x > y) ? sizeof "foo" : sizeof "bar"' instead.  */
-+  /* NOTE: Cast result of sizeof so that result of sprintf is not
-+     converted to an unsigned type.  */
-+  if (sprintf (result, "%lu%02lu%02lu", major, minor, tiny)
-+      != (int) ((major > 9) ? sizeof "999999" : sizeof "99999") - 1)
++  if (sprintf (result, "%02lu%02lu%02lu", major, minor, tiny) != 6)
 +    return NULL;
 +
 +  return result;
 +}
 +
-+/*  Return the value of darwin_macosx_version_min, suitably formatted
-+    for the __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.  Values
-+    representing OS X 10.9 and earlier are encoded using the legacy
-+    four-character format, while 10.10 and later use a modern
-+    six-character format.  (For example, "10.9" produces "1090", and
-+    "10.10.1" produces "101001".)  If the value is invalid and cannot be
-+    coerced into a valid form, print a warning and return "1000".  */
++/* Return the value of darwin_macosx_version_min, suitably formatted for the
++   __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ macro.  Values representing
++   OS X 10.9 and earlier are encoded using the legacy four-character format,
++   while 10.10 and later use a modern six-character format.  (For example,
++   "10.9" produces "1090", and "10.10.1" produces "101001".)  If
++   darwin_macosx_version_min is invalid and cannot be coerced into a valid
++   form, print a warning and return "1000".  */
 +
 +static const char *
 +macosx_version_as_macro (void)
@@ -167,23 +214,22 @@
 +  const char *version_macro;
 +
 +  version_array = parse_version (darwin_macosx_version_min);
-+  if (! version_array)
++  if (!version_array)
      goto fail;
 -  if (! ISDIGIT (darwin_macosx_version_min[3]))
 +
-+  /* Do not assume that the major number will always be exactly 10.  */
-+  if (version_array[MAJOR] < 10 || version_array[MAJOR] > 10)
++  if (version_array[MAJOR] != 10)
      goto fail;
 -  result[2] = darwin_macosx_version_min[3];
 -  if (darwin_macosx_version_min[4] != '\0'
 -      && darwin_macosx_version_min[4] != '.')
 +
-+  if (version_array[MAJOR] == 10 && version_array[MINOR] < 10)
++  if (version_array[MINOR] < 10)
 +    version_macro = version_as_legacy_macro (version_array);
 +  else
 +    version_macro = version_as_modern_macro (version_array);
 +
-+  if (! version_macro)
++  if (!version_macro)
      goto fail;
  
 -  return result;
@@ -191,12 +237,7 @@
  
   fail:
    error ("unknown value %qs of -mmacosx-version-min",
--	 darwin_macosx_version_min);
-+         darwin_macosx_version_min);
-   return "1000";
- }
- 
-@@ -612,7 +763,7 @@ darwin_cpp_builtins (cpp_reader *pfile)
+@@ -612,7 +741,7 @@ darwin_cpp_builtins (cpp_reader *pfile)
      builtin_define ("__CONSTANT_CFSTRINGS__");
  
    builtin_define_with_value ("__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__",
@@ -205,42 +246,16 @@
  
    /* Since we do not (at 4.6) support ObjC gc for the NeXT runtime, the
       following will cause a syntax error if one tries to compile gc attributed
-Index: gcc/config/darwin-driver.c
-===================================================================
---- gcc/config/darwin-driver.c.orig
-+++ gcc/config/darwin-driver.c
-@@ -99,8 +99,6 @@ darwin_default_min_version (unsigned int
-   version_p = osversion + 1;
-   if (ISDIGIT (*version_p))
-     major_vers = major_vers * 10 + (*version_p++ - '0');
--  if (major_vers > 4 + 9)
--    goto parse_failed;
-   if (*version_p++ != '.')
-     goto parse_failed;
-   version_pend = strchr(version_p, '.');
-Index: gcc/testsuite/gcc.dg/darwin-minversion-1.c
-===================================================================
---- gcc/testsuite/gcc.dg/darwin-minversion-1.c.orig
-+++ gcc/testsuite/gcc.dg/darwin-minversion-1.c
-@@ -2,7 +2,8 @@
- /* { dg-options "-mmacosx-version-min=10.1" } */
- /* { dg-do run { target *-*-darwin* } } */
- 
--int main(void)
-+int
-+main ()
- {
- #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1010
-   fail me;
-Index: gcc/testsuite/gcc.dg/darwin-minversion-10.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-10.c gcc/testsuite/gcc.dg/darwin-minversion-10.c
+new file mode 100644
+index 0000000..bf95d46
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-10.c
 @@ -0,0 +1,16 @@
-+/* PR target/63810: Test that a version with a zero-padded minor
-+   number < 10 and a zero-padded tiny number < 10 produces the correct
++/* PR target/63810: Test that an OS X minimum version with zero-padded
++   minor and tiny numbers less than 10 produces the correct
 +   four-character macro.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.07.02" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -253,14 +268,16 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-11.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-11.c gcc/testsuite/gcc.dg/darwin-minversion-11.c
+new file mode 100644
+index 0000000..a03e707
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-11.c
-@@ -0,0 +1,15 @@
-+/* PR target/63810: Test that a version with outrageous zero-padding and
-+   a minor number > 9 still produces a six-character macro.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
+@@ -0,0 +1,16 @@
++/* PR target/63810: Test that an OS X minimum version with outrageous
++   zero-padding and a minor number greater than 9 still produces
++   a six-character macro.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=00010.010.0000098" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -273,14 +290,16 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-12.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-12.c gcc/testsuite/gcc.dg/darwin-minversion-12.c
+new file mode 100644
+index 0000000..4c2ce38
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-12.c
-@@ -0,0 +1,15 @@
-+/* PR target/63810: Test that a version with outrageous zero-padding and
-+   a minor number < 10 still produces a four-character macro.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
+@@ -0,0 +1,16 @@
++/* PR target/63810: Test that an OS X minimum version with outrageous
++   zero-padding and a minor number less than 10 still produces
++   a four-character macro.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=010.008.000031" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -293,46 +312,31 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-2.c
-===================================================================
---- gcc/testsuite/gcc.dg/darwin-minversion-2.c.orig
-+++ gcc/testsuite/gcc.dg/darwin-minversion-2.c
-@@ -2,7 +2,8 @@
- /* { dg-options "-mmacosx-version-min=10.1 -mmacosx-version-min=10.3" } */
- /* { dg-do run { target *-*-darwin* } } */
- 
--int main(void)
-+int
-+main ()
- {
- #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1030
-   fail me;
-Index: gcc/testsuite/gcc.dg/darwin-minversion-3.c
-===================================================================
---- gcc/testsuite/gcc.dg/darwin-minversion-3.c.orig
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-3.c gcc/testsuite/gcc.dg/darwin-minversion-3.c
+index d0c5934..76886dd 100644
+--- gcc/testsuite/gcc.dg/darwin-minversion-3.c
 +++ gcc/testsuite/gcc.dg/darwin-minversion-3.c
-@@ -1,10 +1,11 @@
+@@ -1,10 +1,10 @@
 -/* Test that most-minor versions greater than 9 work.  */
 -/* { dg-options "-mmacosx-version-min=10.4.10" } */
-+/* Test that most minor versions < 10 work.  */
++/* Test that most minor versions less than 10 work.  */
 +/* { dg-options "-mmacosx-version-min=10.4.1" } */
  /* { dg-do compile { target *-*-darwin* } } */
  
--int main(void)
-+int
-+main ()
+ int main(void)
  {
 -#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1040
 +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ != 1041
    fail me;
  #endif
    return 0;
-Index: gcc/testsuite/gcc.dg/darwin-minversion-4.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-4.c gcc/testsuite/gcc.dg/darwin-minversion-4.c
+new file mode 100644
+index 0000000..1481aa5
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-4.c
 @@ -0,0 +1,12 @@
-+/* Test that minor versions > 9 produce a six-character macro.  */
++/* Test that minor versions greater than 9 produce a six-character macro.  */
 +/* { dg-options "-mmacosx-version-min=10.10.1" } */
 +/* { dg-do compile { target *-*-darwin* } } */
 +
@@ -344,15 +348,16 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-5.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-5.c gcc/testsuite/gcc.dg/darwin-minversion-5.c
+new file mode 100644
+index 0000000..09a9d72
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-5.c
 @@ -0,0 +1,16 @@
-+/* PR target/63810: Test that a version with minor number < 10 and tiny
-+   number > 9 produces a four-character macro with the tiny number
-+   clamped to 9.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
++/* PR target/63810: Test that an OS X minimum version with minor number
++   less than 10 and tiny number greater than 9 produces a four-character
++   macro with the tiny number clamped to 9.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.9.10" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -365,14 +370,15 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-6.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-6.c gcc/testsuite/gcc.dg/darwin-minversion-6.c
+new file mode 100644
+index 0000000..e01fa72
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-6.c
 @@ -0,0 +1,15 @@
 +/* PR target/63810: Test that tiny numbers are preserved in
 +   six-character macros.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.10.11" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -385,14 +391,15 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-7.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-7.c gcc/testsuite/gcc.dg/darwin-minversion-7.c
+new file mode 100644
+index 0000000..72f495b
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-7.c
 @@ -0,0 +1,15 @@
-+/* PR target/63810: Test that tiny numbers < 10 are preserved in
++/* PR target/63810: Test that tiny numbers less than 10 are preserved in
 +   four-character macros.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.9.1" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -405,14 +412,16 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-8.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-8.c gcc/testsuite/gcc.dg/darwin-minversion-8.c
+new file mode 100644
+index 0000000..5982df5
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-8.c
-@@ -0,0 +1,15 @@
-+/* PR target/63810: Test that a version with minor number > 9 and no
-+   tiny number produces a six-character macro ending in "00".  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
+@@ -0,0 +1,16 @@
++/* PR target/63810: Test that an OS X minimum version with minor number
++   greater than 9 and no tiny number produces a six-character macro
++   ending in "00".  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.11" } */
 +/* { dg-do compile { target *-*-darwin* } } */
@@ -425,14 +434,15 @@
 +#endif
 +  return 0;
 +}
-Index: gcc/testsuite/gcc.dg/darwin-minversion-9.c
-===================================================================
+diff --git gcc/testsuite/gcc.dg/darwin-minversion-9.c gcc/testsuite/gcc.dg/darwin-minversion-9.c
+new file mode 100644
+index 0000000..d781783
 --- /dev/null
 +++ gcc/testsuite/gcc.dg/darwin-minversion-9.c
 @@ -0,0 +1,15 @@
-+/* PR target/63810: Test that a version with a zero-padded minor
-+   number < 10 produces a four-character macro.  */
-+/* Added by Lawrence Velázquez <larryv at macports.org>.  */
++/* PR target/63810: Test that an OS X minimum version with a zero-padded
++   minor number less than 10 produces a four-character macro.  */
++/* Added by Lawrence Velázquez <vq at larryv.me>.  */
 +
 +/* { dg-options "-mmacosx-version-min=10.08.4" } */
 +/* { dg-do compile { target *-*-darwin* } } */


Property changes on: trunk/dports/lang/gcc46/files/macosx-version-min.patch
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/mld-qt-481/dports/lang/gcc46/files/macosx-version-min.patch:92720,92813,92891,92963,93522,93556,93699,93743,93771-93773,93806,93817-93818,93856
/trunk/dports/lang/gcc47/files/macosx-version-min.patch:128374-136924

Copied: trunk/dports/lang/gcc46/files/remove-kernel-version-check.patch (from rev 136924, trunk/dports/lang/gcc47/files/remove-kernel-version-check.patch)
===================================================================
--- trunk/dports/lang/gcc46/files/remove-kernel-version-check.patch	                        (rev 0)
+++ trunk/dports/lang/gcc46/files/remove-kernel-version-check.patch	2015-05-30 06:48:07 UTC (rev 136925)
@@ -0,0 +1,31 @@
+commit 9be4ec7ebf2d759114a98b0f532171f0e9e5768d
+Author: fxcoudert <fxcoudert at 138bc75d-0d04-0410-961f-82ee72b054a4>
+Date:   Sun Sep 14 08:05:43 2014 +0000
+
+    	PR target/61407
+
+    	* config/darwin-driver.c (darwin_find_version_from_kernel): Removed
+    	kernel version check to avoid incrementing it after every major OS X
+    	release.
+---
+Extracted from upstream r215251.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61407
+https://gcc.gnu.org/viewcvs/gcc?view=rev&rev=215251
+
+ gcc/config/darwin-driver.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git gcc/config/darwin-driver.c gcc/config/darwin-driver.c
+index 48eaf19..5b3991c 100644
+--- gcc/config/darwin-driver.c
++++ gcc/config/darwin-driver.c
+@@ -99,8 +99,6 @@ darwin_find_version_from_kernel (char *new_flag)
+   version_p = osversion + 1;
+   if (ISDIGIT (*version_p))
+     major_vers = major_vers * 10 + (*version_p++ - '0');
+-  if (major_vers > 4 + 9)
+-    goto parse_failed;
+   if (*version_p++ != '.')
+     goto parse_failed;
+   version_pend = strchr(version_p, '.');
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150529/450a1d47/attachment-0001.html>


More information about the macports-changes mailing list