<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in c-interoperability-bindc-variables.f90</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>10b23ae8 - [flang] Handle BINC(C) variables and add TODO for corner cases</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/flang/test/Lower/c-interoperability-bindc-variables.f90#10b23ae8</link>
        <description>[flang] Handle BINC(C) variables and add TODO for corner cases- BIND(C) was ignored in lowering for objects (it can be used onmodule and common blocks): use the bind name as the fir.global name.- When an procedure is declared BIND(C) indirectly via an interface,  it should have a BIND(C) name. This was not the case because  GetBindName()/bindingName() return nothing in this case: detect this  case in mangler.cpp and use the symbol name.Add TODOs for corner cases:- BIND(C) module variables may be initialized on the C side. This does  not fit well with the current linkage strategy. Add a TODO until this  is revisited.- BIND(C) internal procedures should not have a binding label (see  Fortran 2018 section 18.10.2 point 2), yet we currently lower them as  if they were BIND(C) external procedure.  I think this and the indirect interface case should really be  handled by symbol.GetBindName instead of adding more logic in  lowering to deal with this case: add a TODO.This patch is part of the upstreaming effort from fir-dev branch.Reviewed By: klauslerDifferential Revision: https://reviews.llvm.org/D128340Co-authored-by: Jean Perier &lt;jperier@nvidia.com&gt;

            List of files:
            /llvm-project-15.0.7/flang/test/Lower/c-interoperability-bindc-variables.f90</description>
        <pubDate>Wed, 22 Jun 2022 18:46:30 +0000</pubDate>
        <dc:creator>Valentin Clement &lt;clementval@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
