On 05/02/18 00:41, Brian Callahan wrote:
Hi ports --

Finally got flang fixed for llvm-6.
It requires a new sub-port, lang/flang/libpgmath, the new Fortran math library that comes with flang6.

New sub-port + diff for the other 2 sub-ports attached.
Passes the NIST Fortran 77 test suite (get a copy here: http://www.fortran-2000.com/ArnaudRecipes/fcvs21_f95.html)

OK?

~Brian


Flang has been updated in the meantime, new patch/tarball.

~Brian

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/flang/Makefile,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile
--- Makefile	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ Makefile	5 May 2018 12:36:59 -0000
@@ -3,5 +3,6 @@
 SUBDIR =
 SUBDIR += driver
 SUBDIR += flang
+SUBDIR += libpgmath
 
 .include <bsd.port.subdir.mk>
Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/lang/flang/Makefile.inc,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 Makefile.inc
--- Makefile.inc	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ Makefile.inc	5 May 2018 12:36:59 -0000
@@ -12,6 +12,7 @@ GH_ACCOUNT ?=	flang-compiler
 
 # driver: BSD
 # flang: Apache 2.0 (will become BSD once integrated into LLVM)
+# libpgmath: Apache 2.0 (will become BSD once integrated into LLVM)
 PERMIT_PACKAGE_CDROM =	Yes
 
 NO_TEST ?=	Yes
Index: driver/Makefile
===================================================================
RCS file: /cvs/ports/lang/flang/driver/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- driver/Makefile	7 Apr 2018 14:58:18 -0000	1.4
+++ driver/Makefile	5 May 2018 12:36:59 -0000
@@ -1,15 +1,13 @@
 # $OpenBSD: Makefile,v 1.4 2018/04/07 14:58:18 ajacoutot Exp $
 
-BROKEN =	needs work for LLVM 6.0
-
 # If you are updating to a new version
-# (e.g. 5.0->5.1 or 6.0), you need to sync
+# (e.g. 6.0->6.1 or 7.0), you need to sync
 # patches with devel/llvm
 COMMENT =	LLVM Fortran compiler driver
-DISTNAME =	flang-driver-5.0.1.20180308
+DISTNAME =	flang-driver-6.0.0.20180416
 
 GH_PROJECT =	flang-driver
-GH_COMMIT =	095de1354dd583b0cd4c7a91d5c328710a1a9c32
+GH_COMMIT =	ccd507ca383f2122b2c5510aac0f7393f440398a
 
 WANTLIB += ${COMPILER_LIBCXX} c m z
 
Index: driver/distinfo
===================================================================
RCS file: /cvs/ports/lang/flang/driver/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- driver/distinfo	13 Mar 2018 02:46:44 -0000	1.3
+++ driver/distinfo	5 May 2018 12:36:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (flang-driver-5.0.1.20180308-095de135.tar.gz) = 075nJLft1rXgOM+TEzWUVYodhbg7QbKo5mF5BKuaF84=
-SIZE (flang-driver-5.0.1.20180308-095de135.tar.gz) = 16017829
+SHA256 (flang-driver-6.0.0.20180416-ccd507ca.tar.gz) = a+XxP6BYrHFYQRFKdqyVUHezzqujZMed11JmyctKeg0=
+SIZE (flang-driver-6.0.0.20180416-ccd507ca.tar.gz) = 16780237
Index: driver/patches/patch-include_clang_Basic_DiagnosticSemaKinds_td
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-include_clang_Basic_DiagnosticSemaKinds_td,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-include_clang_Basic_DiagnosticSemaKinds_td
--- driver/patches/patch-include_clang_Basic_DiagnosticSemaKinds_td	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-include_clang_Basic_DiagnosticSemaKinds_td	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-include_clang_Basic_Diag
 Index: include/clang/Basic/DiagnosticSemaKinds.td
 --- include/clang/Basic/DiagnosticSemaKinds.td.orig
 +++ include/clang/Basic/DiagnosticSemaKinds.td
-@@ -5810,7 +5810,7 @@ def warn_pointer_indirection_from_incompatible_type : 
+@@ -5879,7 +5879,7 @@ def warn_pointer_indirection_from_incompatible_type : 
    InGroup<UndefinedReinterpretCast>, DefaultIgnore;
  def warn_taking_address_of_packed_member : Warning<
    "taking address of packed member %0 of class or structure %q1 may result in an unaligned pointer value">,
@@ -12,7 +12,7 @@ Index: include/clang/Basic/DiagnosticSem
  
  def err_objc_object_assignment : Error<
    "cannot assign to class object (%0 invalid)">;
-@@ -6747,7 +6747,7 @@ def ext_typecheck_convert_incompatible_pointer_sign : 
+@@ -6838,7 +6838,7 @@ def ext_typecheck_convert_incompatible_pointer_sign : 
    "sending to parameter of different type}0,1"
    "|%diff{casting $ to type $|casting between types}0,1}2"
    " converts between pointers to integer types with different sign">,
Index: driver/patches/patch-include_clang_Driver_Options_td
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-include_clang_Driver_Options_td,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-include_clang_Driver_Options_td
--- driver/patches/patch-include_clang_Driver_Options_td	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-include_clang_Driver_Options_td	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-include_clang_Driver_Opt
 Index: include/clang/Driver/Options.td
 --- include/clang/Driver/Options.td.orig
 +++ include/clang/Driver/Options.td
-@@ -2166,7 +2166,7 @@ def pthreads : Flag<["-"], "pthreads">;
+@@ -2169,7 +2169,7 @@ def pthreads : Flag<["-"], "pthreads">;
  def pthread : Flag<["-"], "pthread">, Flags<[CC1Option]>,
    HelpText<"Support POSIX threads in generated code">;
  def no_pthread : Flag<["-"], "no-pthread">, Flags<[CC1Option]>;
Index: driver/patches/patch-include_clang_Sema_Sema_h
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-include_clang_Sema_Sema_h,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-include_clang_Sema_Sema_h
--- driver/patches/patch-include_clang_Sema_Sema_h	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-include_clang_Sema_Sema_h	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-include_clang_Sema_Sema_
 Index: include/clang/Sema/Sema.h
 --- include/clang/Sema/Sema.h.orig
 +++ include/clang/Sema/Sema.h
-@@ -10255,6 +10255,7 @@ class Sema { (public)
+@@ -10361,6 +10361,7 @@ class Sema { (public)
      FST_FreeBSDKPrintf,
      FST_OSTrace,
      FST_OSLog,
Index: driver/patches/patch-lib_Driver_ToolChains_Arch_AArch64_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Driver_ToolChains_Arch_AArch64_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-lib_Driver_ToolChains_Arch_AArch64_cpp
--- driver/patches/patch-lib_Driver_ToolChains_Arch_AArch64_cpp	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-lib_Driver_ToolChains_Arch_AArch64_cpp	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Driver_ToolChains_Ar
 Index: lib/Driver/ToolChains/Arch/AArch64.cpp
 --- lib/Driver/ToolChains/Arch/AArch64.cpp.orig
 +++ lib/Driver/ToolChains/Arch/AArch64.cpp
-@@ -145,7 +145,8 @@ getAArch64MicroArchFeaturesFromMcpu(const Driver &D, S
+@@ -149,7 +149,8 @@ getAArch64MicroArchFeaturesFromMcpu(const Driver &D, S
    return getAArch64MicroArchFeaturesFromMtune(D, CPU, Args, Features);
  }
  
@@ -13,7 +13,7 @@ Index: lib/Driver/ToolChains/Arch/AArch6
                                         std::vector<StringRef> &Features) {
    Arg *A;
    bool success = true;
-@@ -187,9 +188,11 @@ void aarch64::getAArch64TargetFeatures(const Driver &D
+@@ -191,9 +192,11 @@ void aarch64::getAArch64TargetFeatures(const Driver &D
    }
  
    if (Arg *A = Args.getLastArg(options::OPT_mno_unaligned_access,
Index: driver/patches/patch-lib_Driver_ToolChains_Clang_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Driver_ToolChains_Clang_cpp,v
retrieving revision 1.2
diff -u -p -r1.2 patch-lib_Driver_ToolChains_Clang_cpp
--- driver/patches/patch-lib_Driver_ToolChains_Clang_cpp	5 Feb 2018 04:08:24 -0000	1.2
+++ driver/patches/patch-lib_Driver_ToolChains_Clang_cpp	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Driver_ToolChains_Cl
 Index: lib/Driver/ToolChains/Clang.cpp
 --- lib/Driver/ToolChains/Clang.cpp.orig
 +++ lib/Driver/ToolChains/Clang.cpp
-@@ -342,7 +342,7 @@ static void getTargetFeatures(const ToolChain &TC, con
+@@ -332,7 +332,7 @@ static void getTargetFeatures(const ToolChain &TC, con
      break;
    case llvm::Triple::aarch64:
    case llvm::Triple::aarch64_be:
@@ -12,11 +12,11 @@ Index: lib/Driver/ToolChains/Clang.cpp
      break;
    case llvm::Triple::x86:
    case llvm::Triple::x86_64:
-@@ -2308,9 +2308,12 @@ void Clang::ConstructJob(Compilation &C, const JobActi
+@@ -3362,9 +3362,12 @@ void Clang::ConstructJob(Compilation &C, const JobActi
        OFastEnabled ? options::OPT_Ofast : options::OPT_fstrict_aliasing;
    // We turn strict aliasing off by default if we're in CL mode, since MSVC
    // doesn't do any TBAA.
--  bool TBAAOnByDefault = !getToolChain().getDriver().IsCLMode();
+-  bool TBAAOnByDefault = !D.IsCLMode();
 +  bool StrictAliasingDefault = !getToolChain().getDriver().IsCLMode();
 +  // We also turn off strict aliasing on OpenBSD.
 +  if (getToolChain().getTriple().isOSOpenBSD())
@@ -27,7 +27,7 @@ Index: lib/Driver/ToolChains/Clang.cpp
      CmdArgs.push_back("-relaxed-aliasing");
    if (!Args.hasFlag(options::OPT_fstruct_path_tbaa,
                      options::OPT_fno_struct_path_tbaa))
-@@ -3296,7 +3299,8 @@ void Clang::ConstructJob(Compilation &C, const JobActi
+@@ -3950,7 +3953,8 @@ void Clang::ConstructJob(Compilation &C, const JobActi
                                        options::OPT_fno_strict_overflow)) {
      if (A->getOption().matches(options::OPT_fno_strict_overflow))
        CmdArgs.push_back("-fwrapv");
@@ -37,22 +37,22 @@ Index: lib/Driver/ToolChains/Clang.cpp
  
    if (Arg *A = Args.getLastArg(options::OPT_freroll_loops,
                                 options::OPT_fno_reroll_loops))
-@@ -4232,6 +4236,18 @@ void Clang::ConstructJob(Compilation &C, const JobActi
-       CmdArgs.push_back("-fno-builtin-strcpy");
-   }
+@@ -4781,6 +4785,18 @@ ObjCRuntime Clang::AddObjCRuntimeArgs(const ArgList &a
+ #else
+       unsigned nonFragileABIVersion = 2;
  #endif
 +
 +  // Disable some builtins on OpenBSD because they are just not
 +  // right...
 +  if (getToolChain().getTriple().isOSOpenBSD()) { 
-+    CmdArgs.push_back("-fno-builtin-malloc");
-+    CmdArgs.push_back("-fno-builtin-calloc");
-+    CmdArgs.push_back("-fno-builtin-realloc");
-+    CmdArgs.push_back("-fno-builtin-valloc");
-+    CmdArgs.push_back("-fno-builtin-free");
-+    CmdArgs.push_back("-fno-builtin-strdup");
-+    CmdArgs.push_back("-fno-builtin-strndup");
++    cmdArgs.push_back("-fno-builtin-malloc");
++    cmdArgs.push_back("-fno-builtin-calloc");
++    cmdArgs.push_back("-fno-builtin-realloc");
++    cmdArgs.push_back("-fno-builtin-valloc");
++    cmdArgs.push_back("-fno-builtin-free");
++    cmdArgs.push_back("-fno-builtin-strdup");
++    cmdArgs.push_back("-fno-builtin-strndup");
 +  }
  
-   bool RewriteImports = Args.hasFlag(options::OPT_frewrite_imports,
-                                      options::OPT_fno_rewrite_imports, false);
+       if (Arg *abiArg =
+               args.getLastArg(options::OPT_fobjc_nonfragile_abi_version_EQ)) {
Index: driver/patches/patch-lib_Driver_ToolChains_Gnu_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Driver_ToolChains_Gnu_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-lib_Driver_ToolChains_Gnu_cpp
--- driver/patches/patch-lib_Driver_ToolChains_Gnu_cpp	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-lib_Driver_ToolChains_Gnu_cpp	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Driver_ToolChains_Gn
 Index: lib/Driver/ToolChains/Gnu.cpp
 --- lib/Driver/ToolChains/Gnu.cpp.orig
 +++ lib/Driver/ToolChains/Gnu.cpp
-@@ -2345,6 +2345,9 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const
+@@ -2253,6 +2253,9 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const
    case llvm::Triple::systemz:
    case llvm::Triple::mips:
    case llvm::Triple::mipsel:
@@ -13,7 +13,7 @@ Index: lib/Driver/ToolChains/Gnu.cpp
      return true;
    case llvm::Triple::mips64:
    case llvm::Triple::mips64el:
-@@ -2352,7 +2355,8 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const
+@@ -2260,7 +2263,8 @@ bool Generic_GCC::IsIntegratedAssemblerDefault() const
      // identify the ABI in use (Debian) or only use N64 for MIPS64 (Android).
      // Other targets are unable to distinguish N32 from N64.
      if (getTriple().getEnvironment() == llvm::Triple::GNUABI64 ||
Index: driver/patches/patch-lib_Driver_ToolChains_OpenBSD_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Driver_ToolChains_OpenBSD_cpp,v
retrieving revision 1.2
diff -u -p -r1.2 patch-lib_Driver_ToolChains_OpenBSD_cpp
--- driver/patches/patch-lib_Driver_ToolChains_OpenBSD_cpp	5 Feb 2018 04:08:24 -0000	1.2
+++ driver/patches/patch-lib_Driver_ToolChains_OpenBSD_cpp	5 May 2018 12:36:59 -0000
@@ -40,7 +40,7 @@ Index: lib/Driver/ToolChains/OpenBSD.cpp
    AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA);
  
    if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
-@@ -188,8 +195,13 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
+@@ -189,8 +196,13 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
  
      // FIXME: For some reason GCC passes -lgcc before adding
      // the default system libraries. Just mimic this for now.
@@ -55,7 +55,7 @@ Index: lib/Driver/ToolChains/OpenBSD.cpp
      if (Args.hasArg(options::OPT_pthread)) {
        if (!Args.hasArg(options::OPT_shared) && Args.hasArg(options::OPT_pg))
          CmdArgs.push_back("-lpthread_p");
-@@ -204,7 +216,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
+@@ -205,7 +217,10 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
          CmdArgs.push_back("-lc");
      }
  
@@ -67,7 +67,7 @@ Index: lib/Driver/ToolChains/OpenBSD.cpp
    }
  
    if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) {
-@@ -225,8 +240,7 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
+@@ -226,8 +241,7 @@ void openbsd::Linker::ConstructJob(Compilation &C, con
  OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple,
                   const ArgList &Args)
      : Generic_ELF(D, Triple, Args) {
@@ -77,7 +77,7 @@ Index: lib/Driver/ToolChains/OpenBSD.cpp
  }
  
  Tool *OpenBSD::buildAssembler() const {
-@@ -234,3 +248,62 @@ Tool *OpenBSD::buildAssembler() const {
+@@ -235,3 +249,62 @@ Tool *OpenBSD::buildAssembler() const {
  }
  
  Tool *OpenBSD::buildLinker() const { return new tools::openbsd::Linker(*this); }
Index: driver/patches/patch-lib_Sema_SemaChecking_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Sema_SemaChecking_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-lib_Sema_SemaChecking_cpp
--- driver/patches/patch-lib_Sema_SemaChecking_cpp	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-lib_Sema_SemaChecking_cpp	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Sema_SemaChecking_cp
 Index: lib/Sema/SemaChecking.cpp
 --- lib/Sema/SemaChecking.cpp.orig
 +++ lib/Sema/SemaChecking.cpp
-@@ -4901,7 +4901,7 @@ checkFormatStringExpr(Sema &S, const Expr *E, ArrayRef
+@@ -5136,7 +5136,7 @@ checkFormatStringExpr(Sema &S, const Expr *E, ArrayRef
  Sema::FormatStringType Sema::GetFormatStringType(const FormatAttr *Format) {
    return llvm::StringSwitch<FormatStringType>(Format->getType()->getName())
        .Case("scanf", FST_Scanf)
@@ -12,7 +12,7 @@ Index: lib/Sema/SemaChecking.cpp
        .Cases("NSString", "CFString", FST_NSString)
        .Case("strftime", FST_Strftime)
        .Case("strfmon", FST_Strfmon)
-@@ -4998,6 +4998,7 @@ bool Sema::CheckFormatArguments(ArrayRef<const Expr *>
+@@ -5233,6 +5233,7 @@ bool Sema::CheckFormatArguments(ArrayRef<const Expr *>
      case FST_Kprintf:
      case FST_FreeBSDKPrintf:
      case FST_Printf:
@@ -20,7 +20,7 @@ Index: lib/Sema/SemaChecking.cpp
        Diag(FormatLoc, diag::note_format_security_fixit)
          << FixItHint::CreateInsertion(FormatLoc, "\"%s\", ");
        break;
-@@ -6539,8 +6540,9 @@ static void CheckFormatString(Sema &S, const FormatStr
+@@ -6777,8 +6778,9 @@ static void CheckFormatString(Sema &S, const FormatStr
    }
  
    if (Type == Sema::FST_Printf || Type == Sema::FST_NSString ||
@@ -32,7 +32,7 @@ Index: lib/Sema/SemaChecking.cpp
      CheckPrintfHandler H(
          S, FExpr, OrigFormatExpr, Type, firstDataArg, numDataArgs,
          (Type == Sema::FST_NSString || Type == Sema::FST_OSTrace), Str,
-@@ -6550,7 +6552,7 @@ static void CheckFormatString(Sema &S, const FormatStr
+@@ -6788,7 +6790,7 @@ static void CheckFormatString(Sema &S, const FormatStr
      if (!analyze_format_string::ParsePrintfString(H, Str, Str + StrLen,
                                                    S.getLangOpts(),
                                                    S.Context.getTargetInfo(),
Index: driver/patches/patch-lib_Sema_SemaDeclAttr_cpp
===================================================================
RCS file: /cvs/ports/lang/flang/driver/patches/patch-lib_Sema_SemaDeclAttr_cpp,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-lib_Sema_SemaDeclAttr_cpp
--- driver/patches/patch-lib_Sema_SemaDeclAttr_cpp	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ driver/patches/patch-lib_Sema_SemaDeclAttr_cpp	5 May 2018 12:36:59 -0000
@@ -3,7 +3,7 @@ $OpenBSD: patch-lib_Sema_SemaDeclAttr_cp
 Index: lib/Sema/SemaDeclAttr.cpp
 --- lib/Sema/SemaDeclAttr.cpp.orig
 +++ lib/Sema/SemaDeclAttr.cpp
-@@ -3168,6 +3168,7 @@ static FormatAttrKind getFormatAttrKind(StringRef Form
+@@ -3206,6 +3206,7 @@ static FormatAttrKind getFormatAttrKind(StringRef Form
        .Case("freebsd_kprintf", SupportedFormat) // FreeBSD.
        .Case("os_trace", SupportedFormat)
        .Case("os_log", SupportedFormat)
Index: flang/Makefile
===================================================================
RCS file: /cvs/ports/lang/flang/flang/Makefile,v
retrieving revision 1.10
diff -u -p -r1.10 Makefile
--- flang/Makefile	7 Apr 2018 14:58:18 -0000	1.10
+++ flang/Makefile	5 May 2018 12:36:59 -0000
@@ -1,18 +1,16 @@
 # $OpenBSD: Makefile,v 1.10 2018/04/07 14:58:18 ajacoutot Exp $
 
-BROKEN =	needs an update
-
 COMMENT =	LLVM Fortran compiler passes and runtime library
-DISTNAME =	flang-5.0.1.20180308
+DISTNAME =	flang-6.0.0.20180503
 
-SHARED_LIBS +=	flang                     0.0 # 5.0
-SHARED_LIBS +=	flangrti                  0.0 # 5.0
-SHARED_LIBS +=	ompstub                   0.0 # 5.0
+SHARED_LIBS +=	flang                     1.0 # 6.0
+SHARED_LIBS +=	flangrti                  1.0 # 6.0
+SHARED_LIBS +=	ompstub                   0.0 # 6.0
 
 GH_PROJECT =	flang
-GH_COMMIT =	e8123d1aa7882ea996851133b77ef17f1ec0e51d
+GH_COMMIT =	fe5bda91953fdf558f7e790027b055fe27d30831
 
-WANTLIB += c execinfo m pthread
+WANTLIB += c execinfo m pgmath pthread
 
 # C11
 COMPILER =	base-clang ports-gcc ports-clang
@@ -22,7 +20,8 @@ MODULES =	devel/cmake
 BUILD_DEPENDS =	devel/llvm \
 		${RUN_DEPENDS}
 
-LIB_DEPENDS =	devel/libexecinfo
+LIB_DEPENDS =	devel/libexecinfo \
+		lang/flang/libpgmath
 
 RUN_DEPENDS =	lang/flang/driver
 
@@ -32,6 +31,7 @@ USE_NINJA =	No
 CONFIGURE_ARGS =	-DCMAKE_Fortran_COMPILER="${LOCALBASE}/bin/flang" \
 			-DFLANG_LIBEXECINFO="${LOCALBASE}/lib/libexecinfo.a" \
 			-DFLANG_LIBOMP="${WRKBUILD}/lib/libompstub.a" \
+			-DLIBPGMATH="${LOCALBASE}/lib/libpgmath.a" \
 			-DWITH_WERROR=OFF
 
 post-patch:
Index: flang/distinfo
===================================================================
RCS file: /cvs/ports/lang/flang/flang/distinfo,v
retrieving revision 1.8
diff -u -p -r1.8 distinfo
--- flang/distinfo	13 Mar 2018 02:46:44 -0000	1.8
+++ flang/distinfo	5 May 2018 12:36:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (flang-5.0.1.20180308-e8123d1a.tar.gz) = 9EC3ndBcpkmri8yHk8BE3cwgxgPHOzZ1bpmnr7MneEQ=
-SIZE (flang-5.0.1.20180308-e8123d1a.tar.gz) = 3952311
+SHA256 (flang-6.0.0.20180503-fe5bda91.tar.gz) = /vz+Zi7has9nYbzYa/iXSDQhA9Jl5GtCJHlyW0kRk18=
+SIZE (flang-6.0.0.20180503-fe5bda91.tar.gz) = 4508193
Index: flang/patches/patch-CMakeLists_txt
===================================================================
RCS file: /cvs/ports/lang/flang/flang/patches/patch-CMakeLists_txt,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-CMakeLists_txt
--- flang/patches/patch-CMakeLists_txt	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ flang/patches/patch-CMakeLists_txt	5 May 2018 12:36:59 -0000
@@ -5,7 +5,7 @@ Add OpenBSD/amd64
 Index: CMakeLists.txt
 --- CMakeLists.txt.orig
 +++ CMakeLists.txt
-@@ -51,6 +51,15 @@ if( ${TARGET_OS} STREQUAL "Linux" )
+@@ -49,6 +49,15 @@ if( ${TARGET_OS} STREQUAL "Linux" )
      message("Unsupported architecture: ${TARGET_ARCHITECTURE}" )
      return()
    endif()
Index: flang/patches/patch-runtime_flang_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/lang/flang/flang/patches/patch-runtime_flang_CMakeLists_txt,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-runtime_flang_CMakeLists_txt
--- flang/patches/patch-runtime_flang_CMakeLists_txt	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ flang/patches/patch-runtime_flang_CMakeLists_txt	5 May 2018 12:36:59 -0000
@@ -5,7 +5,7 @@ No -lrt
 Index: runtime/flang/CMakeLists.txt
 --- runtime/flang/CMakeLists.txt.orig
 +++ runtime/flang/CMakeLists.txt
-@@ -491,7 +491,7 @@ add_flang_library(flang_shared
+@@ -426,7 +426,7 @@ add_flang_library(flang_shared
  set_property(TARGET flang_shared PROPERTY OUTPUT_NAME flang)
  target_link_libraries(flang_shared ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/libflangrti.so)
  # Resolve symbols against libm and librt
Index: flang/patches/patch-runtime_flangrti_CMakeLists_txt
===================================================================
RCS file: /cvs/ports/lang/flang/flang/patches/patch-runtime_flangrti_CMakeLists_txt,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-runtime_flangrti_CMakeLists_txt
--- flang/patches/patch-runtime_flangrti_CMakeLists_txt	31 Dec 2017 18:06:38 -0000	1.1.1.1
+++ flang/patches/patch-runtime_flangrti_CMakeLists_txt	5 May 2018 12:36:59 -0000
@@ -5,9 +5,9 @@ We need -lexecinfo. Use the static versi
 Index: runtime/flangrti/CMakeLists.txt
 --- runtime/flangrti/CMakeLists.txt.orig
 +++ runtime/flangrti/CMakeLists.txt
-@@ -200,6 +200,9 @@ if (NOT DEFINED LIBOMP_EXPORT_DIR)
-   target_link_libraries(flangrti_shared ${FLANG_LIBOMP})
- endif()
+@@ -113,6 +113,9 @@ find_library( 
+   HINTS ${CMAKE_BINARY_DIR}/lib)
+ target_link_libraries(flangrti_shared ${LIBPGMATH})
  
 +# Import execinfo
 +target_link_libraries(flangrti_shared ${FLANG_LIBEXECINFO})

Attachment: libpgmath.tgz
Description: Binary data

Reply via email to