<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Pending TODOs in checking semantics of DATA Statement"
href="https://bugs.llvm.org/show_bug.cgi?id=46168">46168</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Pending TODOs in checking semantics of DATA Statement
</td>
</tr>
<tr>
<th>Product</th>
<td>flang
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Frontend
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>asudhaku@amd.com
</td>
</tr>
<tr>
<th>CC</th>
<td>David.Truby@arm.com, jperier@nvidia.com, kirankumartp@gmail.com, llvm-bugs@lists.llvm.org, sscalpone@nvidia.com
</td>
</tr></table>
<p>
<div>
<pre>There are a few bullets in 8.6.7 (DATA Statement) and some among them may need
to be implemented as constraints in Flang. The identified ones which may
require implementation are listed below:
1. If a nonpointer variable has default initialization, it shall not appear in
a data-stmt-object-list (bullet 2).
2. A variable that appears in a DATA statement and has not been typed
previously shall not appear in a subsequent type declaration unless that
declaration confirms the implicit typing. An array name, array section, or
array element that appears in a DATA statement shall have had its array
properties established by a previous specification statement (bullet 3).
3. Except for variables in named common blocks, a named variable has the SAVE
attribute if any part of it is initialized in a DATA statement, and this may be
confirmed by explicit specification (bullet 4).
4. The expanded sequences of variables and data-stmt-constants are in
one-to-one correspondence. Each data-stmt-constant specifies the initial value,
initial data target, or null-init for the corresponding variable. The lengths
of the two expanded sequences shall be the same (bullet 8).
5. A data-stmt-constant other than boz-literal-constant, null-init, or
initial-data-target shall be compatible with its corresponding variable
according to the rules of intrinsic assignment (10.2.1.2). The variable is
initially defined with the value specified by the data-stmt-constant; if
necessary, the value is converted according to the rules of intrinsic
assignment (10.2.1.3) to a value that agrees in type, type parameters, and
shape with the variable (bullet 10).
6. If a data-stmt-constant is a boz-literal-constant, the corresponding
variable shall be of type integer. The boz-literal-constant is treated as if it
were converted by the intrinsic function INT (16.9.100) to type integer with
the kind type parameter of the variable (bullet 11).</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>