<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 --- - duplicate brace crashes treeTransform"
href="https://llvm.org/bugs/show_bug.cgi?id=23314">23314</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>duplicate brace crashes treeTransform
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>3.5
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</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>mjjunk47@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 had a duplicate brace in construction of my object:
const wordList masterNames((fieldObjects.sortedNames());
instead of
const wordList masterNames(fieldObjects.sortedNames());
This crashes the 'TreeTransform' pass
In file included from decomposePar.C:94:
In file included from ./readFields.H:68:
./readFields.C:84:60: error: expected ')'
const wordList masterNames((fieldObjects.sortedNames());
^
./readFields.C:84:31: note: to match this '('
const wordList masterNames((fieldObjects.sortedNames());
^
clang: TreeTransform.h:2930: clang::ExprResult
clang::TreeTransform<Derived>::TransformInitializer(clang::Expr*, bool) [with
Derived = {anonymous}::TemplateInstantiator; clang::ExprResult =
clang::ActionResult<clang::Expr*>]: Assertion `NewArgs.empty() && "no parens or
braces but have direct init with arguments?"' failed.
0 clang 0x00000000027eede2 llvm::sys::PrintStackTrace(_IO_FILE*) +
34
1 clang 0x00000000027ee9c9
2 libpthread.so.0 0x00002b99a070e1f0
3 libc.so.6 0x00002b99a15a3065 gsignal + 53
4 libc.so.6 0x00002b99a15a44e8 abort + 328
5 libc.so.6 0x00002b99a159bf72
6 libc.so.6 0x00002b99a159c022
7 clang 0x0000000000ecbbae
8 clang 0x0000000000ecbc8b
clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool) + 75
9 clang 0x0000000000ee5383
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&) + 323
10 clang 0x0000000000eee1b0
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool) + 928
11 clang 0x0000000000ef0088
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool) + 376
12 clang 0x0000000000eeae1c clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 140
1</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>