<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">I suppose the coarray intrinsic function declarations could be put in flang/Lower/Coarray.h with the extern “C” guard only where needed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">However, continual poking around leads me to believe that there should be a file flang/runtime/coarray.h with the coarray intrinsics declared.  In particular, flang/runtime/stop.h was instructive for me.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
<p class="MsoNormal">Craig<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">Rasmussen, Craig E. <rasmussen17@llnl.gov><br>
<b>Date: </b>Monday, August 30, 2021 at 4:08 PM<br>
<b>To: </b>flang-commits@lists.llvm.org <flang-commits@lists.llvm.org>, flang-commits-request@lists.llvm.org <flang-commits-request@lists.llvm.org><br>
<b>Subject: </b>Re: flang-commits Digest, Vol 19, Issue 53<o:p></o:p></span></p>
</div>
<p class="MsoNormal">I’m looking for a place to put coarray intrinsic runtime declarations like num_images().  Since the external library will not be C++ (could even be implemented in Fortran with BIND(C) interface declarations), is this a reasonable place
 to put them.  I don’t know if command.h was meant to only to declare command_argument_count().<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
<p class="MsoNormal">Craig<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">flang-commits <flang-commits-bounces@lists.llvm.org> on behalf of via flang-commits <flang-commits@lists.llvm.org><br>
<b>Date: </b>Monday, August 30, 2021 at 11:41 AM<br>
<b>To: </b>flang-commits@lists.llvm.org <flang-commits@lists.llvm.org><br>
<b>Subject: </b>flang-commits Digest, Vol 19, Issue 53<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal">Send flang-commits mailing list submissions to<br>
        flang-commits@lists.llvm.org<br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://urldefense.us/v3/__https:/lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdm2XDjia$">
https://urldefense.us/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdm2XDjia$</a>
<br>
or, via email, send a message with subject or body 'help' to<br>
        flang-commits-request@lists.llvm.org<br>
<br>
You can reach the person managing the list at<br>
        flang-commits-owner@lists.llvm.org<br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of flang-commits digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1. [PATCH] D108687: [flang] Add runtime interface for<br>
      COMMAND_ARGUMENT_COUNT (Diana Picus via Phabricator via flang-commits)<br>
   2. [PATCH] D108688: [flang] Add runtime interface for<br>
      GET_COMMAND_ARGUMENT (Diana Picus via Phabricator via flang-commits)<br>
   3. [flang] 31fb52f - [flang] Apply double precision KindCode in<br>
      specific proc interface (Jean Perier via flang-commits)<br>
   4. [flang] 58e1a5e - [flang][mlir] Fix FIR after     D108899<br>
      (Jean Perier via flang-commits)<br>
   5. [PATCH] D108931: [flang] Fold CSHIFT<br>
      (Peter Klausler via Phabricator via flang-commits)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Mon, 30 Aug 2021 07:42:03 +0000 (UTC)<br>
From: Diana Picus via Phabricator via flang-commits<br>
        <flang-commits@lists.llvm.org><br>
To: diana.picus@linaro.org, pklausler@nvidia.com, jperier@nvidia.com<br>
Cc: clementval@gmail.com, mats@planetcatfish.com, isuruf@gmail.com,<br>
        v.churavy@gmail.com, llvm-commits@lists.llvm.org, jdoerfert@anl.gov,<br>
        tim@tkeith.com, quic_sourabhs@quicinc.com, dougpuob@gmail.com,<br>
        rkauffmann@nvidia.com, bhuvanendra.kumarn@amd.com,<br>
        psteinfeld@nvidia.com, kiranchandramohan@gmail.com,<br>
        flang-commits@lists.llvm.org, yanliang.mu@intel.com<br>
Subject: [flang-commits] [PATCH] D108687: [flang] Add runtime<br>
        interface for COMMAND_ARGUMENT_COUNT<br>
Message-ID: <ZsypTGsRQ6ixJZkXrJtb3Q@ismtpd0156p1mdw1.sendgrid.net><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
This revision was landed with ongoing or failed builds.<br>
This revision was automatically updated to reflect the committed changes.<br>
Closed by commit rGcc4d28691bbc: [flang] Add runtime interface for COMMAND_ARGUMENT_COUNT (authored by rovka).<br>
<br>
Repository:<br>
  rG LLVM Github Monorepo<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108687/new/__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdn9kTy1w$">
https://urldefense.us/v3/__https://reviews.llvm.org/D108687/new/__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdn9kTy1w$</a>
<br>
<br>
<a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108687__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdiRp81oT$">https://urldefense.us/v3/__https://reviews.llvm.org/D108687__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdiRp81oT$</a>
<br>
<br>
Files:<br>
  flang/runtime/command.h<br>
<br>
<br>
Index: flang/runtime/command.h<br>
===================================================================<br>
--- /dev/null<br>
+++ flang/runtime/command.h<br>
@@ -0,0 +1,25 @@<br>
+//===-- runtime/command.h ---------------------------------------*- C++ -*-===//<br>
+//<br>
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.<br>
+// See <a href="https://urldefense.us/v3/__https:/llvm.org/LICENSE.txt__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdhVciSr6$">
https://urldefense.us/v3/__https://llvm.org/LICENSE.txt__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdhVciSr6$</a>  for license information.<br>
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+<br>
+#ifndef FORTRAN_RUNTIME_COMMAND_H_<br>
+#define FORTRAN_RUNTIME_COMMAND_H_<br>
+<br>
+#include "cpp-type.h"<br>
+#include "entry-names.h"<br>
+<br>
+namespace Fortran::runtime {<br>
+extern "C" {<br>
+// 16.9.51 COMMAND_ARGUMENT_COUNT<br>
+//<br>
+// Lowering may need to cast the result to match the precision of the default<br>
+// integer kind.<br>
+CppTypeFor<TypeCategory::Integer, 4> RTNAME(ArgumentCount)();<br>
+}<br>
+} // namespace Fortran::runtime<br>
+<br>
+#endif // FORTRAN_RUNTIME_COMMAND_H_<br>
<br>
<br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: D108687.369388.patch<br>
Type: text/x-patch<br>
Size: 980 bytes<br>
Desc: not available<br>
URL: <https://urldefense.us/v3/__http://lists.llvm.org/pipermail/flang-commits/attachments/20210830/e3a23300/attachment-0001.bin__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdvKwhsuD$ ><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Mon, 30 Aug 2021 07:42:07 +0000 (UTC)<br>
From: Diana Picus via Phabricator via flang-commits<br>
        <flang-commits@lists.llvm.org><br>
To: diana.picus@linaro.org, pklausler@nvidia.com, jperier@nvidia.com<br>
Cc: clementval@gmail.com, mats@planetcatfish.com, isuruf@gmail.com,<br>
        v.churavy@gmail.com, llvm-commits@lists.llvm.org, jdoerfert@anl.gov,<br>
        tim@tkeith.com, quic_sourabhs@quicinc.com, dougpuob@gmail.com,<br>
        rkauffmann@nvidia.com, bhuvanendra.kumarn@amd.com,<br>
        psteinfeld@nvidia.com, kiranchandramohan@gmail.com,<br>
        flang-commits@lists.llvm.org, yanliang.mu@intel.com<br>
Subject: [flang-commits] [PATCH] D108688: [flang] Add runtime<br>
        interface for GET_COMMAND_ARGUMENT<br>
Message-ID: <CUfnL7NoS9qWtgfVZOxN0Q@ismtpd0161p1mdw1.sendgrid.net><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
This revision was automatically updated to reflect the committed changes.<br>
Closed by commit rG4fae60c4b0ed: [flang] Add runtime interface for GET_COMMAND_ARGUMENT (authored by rovka).<br>
<br>
Repository:<br>
  rG LLVM Github Monorepo<br>
<br>
CHANGES SINCE LAST ACTION<br>
  <a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108688/new/__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdms6NVCK$">
https://urldefense.us/v3/__https://reviews.llvm.org/D108688/new/__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdms6NVCK$</a>
<br>
<br>
<a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108688__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdgd8ri7j$">https://urldefense.us/v3/__https://reviews.llvm.org/D108688__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdgd8ri7j$</a>
<br>
<br>
Files:<br>
  flang/runtime/command.h<br>
<br>
<br>
Index: flang/runtime/command.h<br>
===================================================================<br>
--- flang/runtime/command.h<br>
+++ flang/runtime/command.h<br>
@@ -13,12 +13,29 @@<br>
 #include "entry-names.h"<br>
 <br>
 namespace Fortran::runtime {<br>
+class Descriptor;<br>
+<br>
 extern "C" {<br>
 // 16.9.51 COMMAND_ARGUMENT_COUNT<br>
 //<br>
 // Lowering may need to cast the result to match the precision of the default<br>
 // integer kind.<br>
 CppTypeFor<TypeCategory::Integer, 4> RTNAME(ArgumentCount)();<br>
+<br>
+// 16.9.83 GET_COMMAND_ARGUMENT<br>
+// We're breaking up the interface into several different functions, since most<br>
+// of the parameters are optional.<br>
+<br>
+// Try to get the value of the n'th argument.<br>
+// Returns a STATUS as described in the standard.<br>
+CppTypeFor<TypeCategory::Integer, 4> RTNAME(ArgumentValue)(<br>
+    CppTypeFor<TypeCategory::Integer, 4> n, const Descriptor *value,<br>
+    const Descriptor *errmsg);<br>
+<br>
+// Try to get the significant length of the n'th argument.<br>
+// Returns 0 if it doesn't manage.<br>
+CppTypeFor<TypeCategory::Integer, 4> RTNAME(ArgumentLength)(<br>
+    CppTypeFor<TypeCategory::Integer, 4> n);<br>
 }<br>
 } // namespace Fortran::runtime<br>
 <br>
<br>
<br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: D108688.369389.patch<br>
Type: text/x-patch<br>
Size: 1126 bytes<br>
Desc: not available<br>
URL: <https://urldefense.us/v3/__http://lists.llvm.org/pipermail/flang-commits/attachments/20210830/d92616c4/attachment-0001.bin__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdjGUNrrF$ ><br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Mon, 30 Aug 2021 00:00:21 -0700 (PDT)<br>
From: Jean Perier via flang-commits <flang-commits@lists.llvm.org><br>
To: flang-commits@lists.llvm.org<br>
Subject: [flang-commits] [flang] 31fb52f - [flang] Apply double<br>
        precision KindCode in specific proc interface<br>
Message-ID: <612c8205.1c69fb81.8b2fd.2be1@mx.google.com><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
<br>
Author: Jean Perier<br>
Date: 2021-08-30T08:59:58+02:00<br>
New Revision: 31fb52f8749ee43385cd7a9c8064c3adf58b2596<br>
<br>
URL: <a href="https://urldefense.us/v3/__https:/github.com/llvm/llvm-project/commit/31fb52f8749ee43385cd7a9c8064c3adf58b2596__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdrJ0wCHR$">
https://urldefense.us/v3/__https://github.com/llvm/llvm-project/commit/31fb52f8749ee43385cd7a9c8064c3adf58b2596__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdrJ0wCHR$</a>
<br>
DIFF: <a href="https://urldefense.us/v3/__https:/github.com/llvm/llvm-project/commit/31fb52f8749ee43385cd7a9c8064c3adf58b2596.diff__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdu3NCcz9$">
https://urldefense.us/v3/__https://github.com/llvm/llvm-project/commit/31fb52f8749ee43385cd7a9c8064c3adf58b2596.diff__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdu3NCcz9$</a>
<br>
<br>
LOG: [flang] Apply double precision KindCode in specific proc interface<br>
<br>
The double precision KindCode was ignored when building the interface<br>
of specific intrinsic procedures leading to bad semantics checks.<br>
<br>
Differential Revision: <a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108828__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzduSVOzQm$">
https://urldefense.us/v3/__https://reviews.llvm.org/D108828__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzduSVOzQm$</a>
<br>
<br>
Added: <br>
    flang/test/Semantics/call20.f90<br>
<br>
Modified: <br>
    flang/lib/Evaluate/intrinsics.cpp<br>
<br>
Removed: <br>
    <br>
<br>
<br>
################################################################################<br>
diff  --git a/flang/lib/Evaluate/intrinsics.cpp b/flang/lib/Evaluate/intrinsics.cpp<br>
index ae9e7c4599869..374d540549c5d 100644<br>
--- a/flang/lib/Evaluate/intrinsics.cpp<br>
+++ b/flang/lib/Evaluate/intrinsics.cpp<br>
@@ -2353,7 +2353,11 @@ DynamicType IntrinsicProcTable::Implementation::GetSpecificType(<br>
   const CategorySet &set{pattern.categorySet};<br>
   CHECK(set.count() == 1);<br>
   TypeCategory category{set.LeastElement().value()};<br>
-  return DynamicType{category, defaults_.GetDefaultKind(category)};<br>
+  if (pattern.kindCode == KindCode::doublePrecision) {<br>
+    return DynamicType{category, defaults_.doublePrecisionKind()};<br>
+  } else {<br>
+    return DynamicType{category, defaults_.GetDefaultKind(category)};<br>
+  }<br>
 }<br>
 <br>
 IntrinsicProcTable::~IntrinsicProcTable() = default;<br>
<br>
diff  --git a/flang/test/Semantics/call20.f90 b/flang/test/Semantics/call20.f90<br>
new file mode 100644<br>
index 0000000000000..2ce7b1ced2f63<br>
--- /dev/null<br>
+++ b/flang/test/Semantics/call20.f90<br>
@@ -0,0 +1,39 @@<br>
+! RUN: %S/test_errors.sh %s %t %flang_fc1<br>
+! REQUIRES: shell<br>
+<br>
+! Test that the interface of specific intrinsics passed as dummy arguments<br>
+! are correctly validated against actual arguments explicit interface.<br>
+<br>
+  intrinsic :: abs, dabs<br>
+  interface<br>
+    subroutine foo(f)<br>
+      interface<br>
+        function f(x)<br>
+          real :: f<br>
+          real, intent(in) :: x<br>
+        end function<br>
+      end interface<br>
+    end subroutine<br>
+<br>
+    subroutine foo2(f)<br>
+      interface<br>
+        function f(x)<br>
+          double precision :: f<br>
+          double precision, intent(in) :: x<br>
+        end function<br>
+      end interface<br>
+    end subroutine<br>
+  end interface<br>
+<br>
+  ! OK<br>
+  call foo(abs)<br>
+<br>
+  ! OK<br>
+  call foo2(dabs)<br>
+<br>
+  !ERROR: Actual procedure argument has interface incompatible with dummy argument 'f='<br>
+  call foo(dabs)<br>
+<br>
+  !ERROR: Actual procedure argument has interface incompatible with dummy argument 'f='<br>
+  call foo2(abs)<br>
+end<br>
<br>
<br>
        <br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Mon, 30 Aug 2021 04:52:56 -0700 (PDT)<br>
From: Jean Perier via flang-commits <flang-commits@lists.llvm.org><br>
To: flang-commits@lists.llvm.org<br>
Subject: [flang-commits] [flang] 58e1a5e - [flang][mlir] Fix FIR after<br>
        D108899<br>
Message-ID: <612cc698.1c69fb81.696d0.991b@mx.google.com><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
<br>
Author: Jean Perier<br>
Date: 2021-08-30T13:51:39+02:00<br>
New Revision: 58e1a5e4c29325dc985ad4976d65fab53f05e946<br>
<br>
URL: <a href="https://urldefense.us/v3/__https:/github.com/llvm/llvm-project/commit/58e1a5e4c29325dc985ad4976d65fab53f05e946__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdnup9xPf$">
https://urldefense.us/v3/__https://github.com/llvm/llvm-project/commit/58e1a5e4c29325dc985ad4976d65fab53f05e946__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdnup9xPf$</a>
<br>
DIFF: <a href="https://urldefense.us/v3/__https:/github.com/llvm/llvm-project/commit/58e1a5e4c29325dc985ad4976d65fab53f05e946.diff__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdve1BemA$">
https://urldefense.us/v3/__https://github.com/llvm/llvm-project/commit/58e1a5e4c29325dc985ad4976d65fab53f05e946.diff__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdve1BemA$</a>
<br>
<br>
LOG: [flang][mlir] Fix FIR after D108899<br>
<br>
After 41d4aa7de68ed551010f27ff04ffc54e7616292a, some builder.getStringAttr<br>
calls in FIR were wrong.<br>
<br>
Added: <br>
    <br>
<br>
Modified: <br>
    flang/include/flang/Optimizer/Dialect/FIROps.td<br>
    flang/lib/Optimizer/Dialect/FIROps.cpp<br>
<br>
Removed: <br>
    <br>
<br>
<br>
################################################################################<br>
diff  --git a/flang/include/flang/Optimizer/Dialect/FIROps.td b/flang/include/flang/Optimizer/Dialect/FIROps.td<br>
index 51336e15fb8b1..2d756fc1e961f 100644<br>
--- a/flang/include/flang/Optimizer/Dialect/FIROps.td<br>
+++ b/flang/include/flang/Optimizer/Dialect/FIROps.td<br>
@@ -3281,7 +3281,7 @@ def fir_DispatchTableOp : fir_Op<"dispatch_table",<br>
 <br>
     // Convert the parsed name attr into a string attr.<br>
     result.attributes.set(mlir::SymbolTable::getSymbolAttrName(),<br>
-      parser.getBuilder().getStringAttr(nameAttr.getRootReference()));<br>
+      nameAttr.getRootReference());<br>
 <br>
     // Parse the optional table body.<br>
     mlir::Region *body = result.addRegion();<br>
<br>
diff  --git a/flang/lib/Optimizer/Dialect/FIROps.cpp b/flang/lib/Optimizer/Dialect/FIROps.cpp<br>
index ecdcdfcaaaea5..789964c7f8968 100644<br>
--- a/flang/lib/Optimizer/Dialect/FIROps.cpp<br>
+++ b/flang/lib/Optimizer/Dialect/FIROps.cpp<br>
@@ -581,7 +581,7 @@ static ParseResult parseGlobalOp(OpAsmParser &parser, OperationState &result) {<br>
                             result.attributes))<br>
     return mlir::failure();<br>
   result.addAttribute(mlir::SymbolTable::getSymbolAttrName(),<br>
-                      builder.getStringAttr(nameAttr.getRootReference()));<br>
+                      nameAttr.getRootReference());<br>
 <br>
   bool simpleInitializer = false;<br>
   if (mlir::succeeded(parser.parseOptionalLParen())) {<br>
<br>
<br>
        <br>
<br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Mon, 30 Aug 2021 18:41:46 +0000 (UTC)<br>
From: Peter Klausler via Phabricator via flang-commits<br>
        <flang-commits@lists.llvm.org><br>
To: pklausler@nvidia.com, psteinfeld@nvidia.com, sscalpone@nvidia.com<br>
Cc: clementval@gmail.com, isuruf@gmail.com, v.churavy@gmail.com,<br>
        flang-commits@lists.llvm.org, tim@tkeith.com,<br>
        quic_sourabhs@quicinc.com, rkauffmann@nvidia.com,<br>
        bhuvanendra.kumarn@amd.com, jdoerfert@anl.gov,<br>
        kiranchandramohan@gmail.com<br>
Subject: [flang-commits] [PATCH] D108931: [flang] Fold CSHIFT<br>
Message-ID: <yPsK7QrFS9iv7kvlm7y_iw@ismtpd0195p1mdw1.sendgrid.net><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
klausler created this revision.<br>
klausler added a reviewer: PeteSteinfeld.<br>
klausler added a project: Flang.<br>
Herald added a subscriber: jdoerfert.<br>
Herald added a reviewer: sscalpone.<br>
klausler requested review of this revision.<br>
<br>
Implement folding of the transformational intrinsic function<br>
CSHIFT for all types.<br>
<br>
<br>
<a href="https://urldefense.us/v3/__https:/reviews.llvm.org/D108931__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdgMo8XhL$">https://urldefense.us/v3/__https://reviews.llvm.org/D108931__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdgMo8XhL$</a>
<br>
<br>
Files:<br>
  flang/include/flang/Evaluate/tools.h<br>
  flang/lib/Evaluate/fold-character.cpp<br>
  flang/lib/Evaluate/fold-complex.cpp<br>
  flang/lib/Evaluate/fold-implementation.h<br>
  flang/lib/Evaluate/fold-integer.cpp<br>
  flang/lib/Evaluate/fold-logical.cpp<br>
  flang/lib/Evaluate/fold-real.cpp<br>
  flang/test/Evaluate/folding22.f90<br>
  flang/test/Evaluate/folding27.f90<br>
<br>
-------------- next part --------------<br>
A non-text attachment was scrubbed...<br>
Name: D108931.369508.patch<br>
Type: text/x-patch<br>
Size: 10011 bytes<br>
Desc: not available<br>
URL: <https://urldefense.us/v3/__http://lists.llvm.org/pipermail/flang-commits/attachments/20210830/d7044c72/attachment.bin__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-NugcxzdqirQEYO$ ><br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
flang-commits mailing list<br>
flang-commits@lists.llvm.org<br>
<a href="https://urldefense.us/v3/__https:/lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdm2XDjia$">https://urldefense.us/v3/__https://lists.llvm.org/cgi-bin/mailman/listinfo/flang-commits__;!!G2kpM7uM-TzIFchu!lXwlVjFY64XqiFWPUZXWG1tK3joj5d9xKRNYkmdorbvm_QW1yOiNH-Nugcxzdm2XDjia$</a>
<br>
<br>
<br>
------------------------------<br>
<br>
End of flang-commits Digest, Vol 19, Issue 53<br>
*********************************************<o:p></o:p></p>
</div>
</div>
</body>
</html>