<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/73e1c3434058a4cbd61502883be7144aedbb21cf">https://github.com/macports/macports-ports/commit/73e1c3434058a4cbd61502883be7144aedbb21cf</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 73e1c343405 creduce: add variants llvm90, llvm11 - Auto-select llvm11 for Big Sur and later - Also migrate default from llvm 8 to 9 Fixes: https://trac.macports.org/ticket/62637
</span>73e1c343405 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 73e1c3434058a4cbd61502883be7144aedbb21cf
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sat Jul 2 13:51:34 2022 -0400

<span style='display:block; white-space:pre;color:#404040;'>    creduce: add variants llvm90, llvm11
</span><span style='display:block; white-space:pre;color:#404040;'>    - Auto-select llvm11 for Big Sur and later
</span><span style='display:block; white-space:pre;color:#404040;'>    - Also migrate default from llvm 8 to 9
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/62637
</span>---
 devel/creduce/Portfile                 |  68 +++++++++++-----
 devel/creduce/files/patch-llvm-11.diff | 137 +++++++++++++++++++++++++++++++++
 2 files changed, 186 insertions(+), 19 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/creduce/Portfile b/devel/creduce/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5919c7f4be4..5aebec0db5c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/creduce/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/creduce/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +1,12 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem              1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               active_variants 1.1
</span> 
 name                    creduce
 version                 2.10.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                2
</span> categories              devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms               darwin
</span> license                 NCSA
 maintainers             {larryv @larryv}
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,15 +21,44 @@ long_description        C-Reduce is a tool that takes a large C, C++, \
</span>                         process source code.
 homepage                http://embed.cs.utah.edu/creduce
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.pre_args          -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # INSTALL.md notes the specific version of LLVM that is required.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_version        8.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { !([variant_isset llvm90] || [variant_isset llvm11]) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # LLVM-11 needed for Big Sur and later
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} >= 20} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants    +llvm11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            default_variants    +llvm90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that LLVM 11 and later, each require different upstream patches
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset llvm90]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set llvm_version    9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {[variant_isset llvm11]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set llvm_version    11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append   patch-llvm-11.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    error "One variant must be selected"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Clang must be installed with `+analyzer`, otherwise we'll be missing some required libs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+require_active_variants clang-${llvm_version} analyzer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> set perl5.major         5.34
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build with Clang matching selected LLVM version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.compiler      macports-clang-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # INSTALL.md mentions flex, but the tarball ships with pregenerated parsers.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_build           port:llvm-${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append    port:llvm-${llvm_version}
</span> 
 # Required by the LLVM static libraries.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib             port:ncurses port:zlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      port:ncurses \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:zlib
</span> 
 # Not required at compile time, but the configure script checks for them.
 depends_lib-append      port:clang-${llvm_version} \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,6 +68,7 @@ depends_lib-append      port:clang-${llvm_version} \
</span>                         port:p${perl5.major}-getopt-tabular \
                         port:p${perl5.major}-regexp-common \
                         port:p${perl5.major}-term-readkey
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_skip_archcheck  clang-${llvm_version} \
                         perl${perl5.major} \
                         p${perl5.major}-term-readkey
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,23 +80,20 @@ checksums               rmd160  183be95aec282812724ec66204952ad33dbc923b \
</span> 
 compiler.cxx_standard   2011
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    known_fail          yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} is only supported on Mac OS X 10.6 or newer."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "unsupported Mac OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        known_fail          yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        pre-fetch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "${name} is only supported on Mac OS X 10.6 or newer."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "unsupported Mac OS X version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # forcing libc++ works on these platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_lib-append      port:libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.cxx_stdlib    libc++
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} <= 12} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # forcing libc++ works on these platforms
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append      port:libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx_stdlib    libc++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # clang < macOS 10.9 don't work. clang-5.0 tested and works.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # just whitelist working compilers rather than a long list of blacklisting and fallback additions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.whitelist      macports-clang-5.0 macports-clang-6.0 macports-clang-7.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> configure.perl          ${prefix}/bin/perl${perl5.major}
 configure.args          --libexecdir=${prefix}/libexec/${name} \
                         --with-llvm=${prefix}/libexec/llvm-${llvm_version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,6 +107,9 @@ post-destroot {
</span>         AUTHORS COPYING NEWS README.md ${destroot}${docdir}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant llvm90 conflicts llvm11 description {Use LLVM 9.0} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant llvm11 conflicts llvm90 description {Use LLVM 11} {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> test.run                yes
 test.dir                ${worksrcpath}/tests
 test.cmd                ./run_tests
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/creduce/files/patch-llvm-11.diff b/devel/creduce/files/patch-llvm-11.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c7ef566760f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/creduce/files/patch-llvm-11.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,137 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ===========================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# LLVM 11 patch consists of:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# - https://github.com/csmith-project/creduce/commit/3e1f5a1ec1365fafae965c97603221c9ccbc2d61.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ===========================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 3e1f5a1ec1365fafae965c97603221c9ccbc2d61 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Yang Chen <chenyang@cs.utah.edu>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 13 Oct 2020 00:49:53 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Make it compile with LLVM11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Applied the patch provided by Vegard Nossum (vegard@github).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang_delta/CommonRenameClassRewriteVisitor.h |  4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang_delta/RemoveNamespace.cpp               |  2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang_delta/RewriteUtils.cpp                  |  2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang_delta/Transformation.cpp                |  2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clang_delta/TransformationManager.cpp         | 18 ++++++++++--------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 15 insertions(+), 13 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# ===========================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang_delta/CommonRenameClassRewriteVisitor.h b/clang_delta/CommonRenameClassRewriteVisitor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e400f3ff..ba860d9d 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang_delta/CommonRenameClassRewriteVisitor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang_delta/CommonRenameClassRewriteVisitor.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -98,7 +98,7 @@ bool CommonRenameClassRewriteVisitor<T>::VisitUsingDecl(UsingDecl *D)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   IdentifierInfo *IdInfo = DeclName.getAsIdentifierInfo();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  std::string IdName = IdInfo->getName();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  std::string IdName = IdInfo->getName().str();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   std::string Name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (getNewNameByName(IdName, Name)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     SourceLocation LocStart = NameInfo.getBeginLoc();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -337,7 +337,7 @@ template<typename T> bool CommonRenameClassRewriteVisitor<T>::
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   TransAssert(DTST && "Bad DependentTemplateSpecializationType!");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const IdentifierInfo *IdInfo = DTST->getIdentifier();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  std::string IdName = IdInfo->getName();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  std::string IdName = IdInfo->getName().str();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   std::string Name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (getNewNameByName(IdName, Name)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     SourceLocation LocStart = DTSLoc.getTemplateNameLoc();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang_delta/RemoveNamespace.cpp b/clang_delta/RemoveNamespace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 71ea5710..867e9c0b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang_delta/RemoveNamespace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang_delta/RemoveNamespace.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -458,7 +458,7 @@ bool RemoveNamespaceRewriteVisitor::VisitDependentTemplateSpecializationTypeLoc(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   TransAssert(DTST && "Bad DependentTemplateSpecializationType!");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const IdentifierInfo *IdInfo = DTST->getIdentifier();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  std::string IdName = IdInfo->getName();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  std::string IdName = IdInfo->getName().str();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   std::string Name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // FIXME:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang_delta/RewriteUtils.cpp b/clang_delta/RewriteUtils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 71e9914c..8c185aaa 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang_delta/RewriteUtils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang_delta/RewriteUtils.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -748,7 +748,7 @@ std::string RewriteUtils::getStmtIndentString(Stmt *S,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ++I;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   indentSpace = MB.substr(lineOffs, I-lineOffs);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return indentSpace;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return indentSpace.str();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ bool RewriteUtils::addLocalVarToFunc(const std::string &VarStr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang_delta/Transformation.cpp b/clang_delta/Transformation.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 9ef79cce..41153f3b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang_delta/Transformation.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang_delta/Transformation.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -357,7 +357,7 @@ unsigned int Transformation::getConstArraySize(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   llvm::SmallString<8> IntStr;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Result.toStringUnsigned(IntStr);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  std::stringstream TmpSS(IntStr.str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  std::stringstream TmpSS(IntStr.str().str());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!(TmpSS >> Sz)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     TransAssert(0 && "Non-integer value!");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/clang_delta/TransformationManager.cpp b/clang_delta/TransformationManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b123632e..98fc67ec 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/clang_delta/TransformationManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/clang_delta/TransformationManager.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,7 +16,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sstream>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "clang/Basic/Builtins.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "clang/Basic/Diagnostic.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "clang/Basic/FileManager.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "clang/Basic/TargetInfo.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "clang/Lex/Preprocessor.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "clang/Frontend/CompilerInstance.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -101,16 +103,16 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CompilerInvocation &Invocation = ClangInstance->getInvocation();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   InputKind IK = FrontendOptions::getInputKindForExtension(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         StringRef(SrcFileName).rsplit('.').second);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (IK.getLanguage() == InputKind::C) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::C, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (IK.getLanguage() == Language::C) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Invocation.setLangDefaults(ClangInstance->getLangOpts(), Language::C, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  else if (IK.getLanguage() == InputKind::CXX) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else if (IK.getLanguage() == Language::CXX) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // ISSUE: it might cause some problems when building AST
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // for a function which has a non-declared callee, e.g.,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     // It results an empty AST for the caller.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    Invocation.setLangDefaults(ClangInstance->getLangOpts(), InputKind::CXX, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    Invocation.setLangDefaults(ClangInstance->getLangOpts(), Language::CXX, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  else if(IK.getLanguage() == InputKind::OpenCL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else if(IK.getLanguage() == Language::OpenCL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     //Commandline parameters
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     std::vector<const char*> Args;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Args.push_back("-x");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -122,7 +124,7 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ClangInstance->createFileManager();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if(CLCPath != NULL && ClangInstance->hasFileManager() &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-       ClangInstance->getFileManager().getDirectory(CLCPath, false) != NULL) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       ClangInstance->getFileManager().getDirectory(CLCPath, false)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Args.push_back("-I");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Args.push_back(CLCPath);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -132,10 +134,10 @@ bool TransformationManager::initializeCompilerInstance(std::string &ErrorMsg)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Args.push_back("-fno-builtin");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     CompilerInvocation::CreateFromArgs(Invocation,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                       &Args[0], &Args[0] + Args.size(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                 ArrayRef<const char*>(&Args[0], &Args[0] + Args.size()),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                        ClangInstance->getDiagnostics());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     Invocation.setLangDefaults(ClangInstance->getLangOpts(),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                               InputKind::OpenCL, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                               Language::OpenCL, T, PPOpts);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ErrorMsg = "Unsupported file type!";
</span></pre><pre style='margin:0'>

</pre>