<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 - PCH restrictions on floating-point command line options are too strict"
href="https://bugs.llvm.org/show_bug.cgi?id=46166">46166</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>PCH restrictions on floating-point command line options are too strict
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</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>C
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>melanie.blower@intel.com
</td>
</tr>
<tr>
<th>CC</th>
<td>blitzrakete@gmail.com, dgregor@apple.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
</td>
</tr></table>
<p>
<div>
<pre>In <a href="https://reviews.llvm.org/D72841/">https://reviews.llvm.org/D72841/</a> yaxunl pointed out that the precompiled
header restrictions on floating point command line options are too strict.
"Essentially this requires a pch can only be used with the same fp options with
which the pch is generated. Since there are lots of fp options, it is
impractical to generate pch for all the combinations."
John McCall suggested a way to solve the problem,
"if you restore the pragma stack and FP state naively given the current
representation of FP state, you will completely overwrite the FP settings of
the current translation unit with the FP settings that were in effect when the
PCH was built, which is obviously not okay. This is one way (among several)
that the current representation is not really living up to the statement that
these language options are "compatible". The better way to do this would be for
the pragma stack and Expr nodes to record the current set of overrides in
effect rather than the absolute current state; this could then be easily
applied to an arbitrary global FP state."</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>