<html>
<head>
<base href="https://llvm.org/bugs/" />
</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 --- - scoped enumeration error messages are an embarrassment" href="https://urldefense.proofpoint.com/v2/url?u=https-3A__llvm.org_bugs_show-5Fbug.cgi-3Fid-3D23891&d=AwMBaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=pF93YEPyB-J_PERP4DUZOJDzFVX5ZQ57vQk33wu0vio&m=pzYeK0EbcKobWryCrCGBVKdvl2JgtcIZY4sm7yOfiXQ&s=qIjae6sYWMLqqZhOvTfaVHABrSDkjypVsWN6d6gkfF4&e=">23891</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>scoped enumeration error messages are an embarrassment
</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>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</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>chandlerc@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>dgregor@apple.com, llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>I just got the worst syntax error message I've seen in a long time:
In file included from ../lib/CodeGen/PostRASchedulerList.cpp:27:
../include/llvm/Analysis/AliasAnalysis.h:129:57: error: invalid operands to
binary expression ('llvm::FunctionModRefLocation' and 'llvm::ModRefInfo')
DoesNotAccessMemory = FunctionModRefLocation::Nowhere | ModRefInfo::NoModRef,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~
../include/llvm/Analysis/AliasAnalysis.h:137:48: error: invalid operands to
binary expression ('llvm::FunctionModRefLocation' and 'llvm::ModRefInfo')
FunctionModRefLocation::ArgumentPointees | ModRefInfo::Ref,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
../include/llvm/Analysis/AliasAnalysis.h:145:48: error: invalid operands to
binary expression ('llvm::FunctionModRefLocation' and 'llvm::ModRefInfo')
FunctionModRefLocation::ArgumentPointees | ModRefInfo::ModRef,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
../include/llvm/Analysis/AliasAnalysis.h:153:54: error: invalid operands to
binary expression ('llvm::FunctionModRefLocation' and 'llvm::ModRefInfo')
OnlyReadsMemory = FunctionModRefLocation::Anywhere | ModRefInfo::Ref,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~
The bug is that these are scoped enumerations and so there is no '|' operator
(it would require an implicit conversion to int). But the error message
literally tells me nothing other than that there *is* an error. =[ =[ =[</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>