Skip to content

Commit a18d22e

Browse files
committed
Fix bug when emitting duplicate {} for temporary object initializations
1 parent 1c603ca commit a18d22e

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

source/to_cpp1.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4064,11 +4064,6 @@ class cppfront
40644064
)
40654065
-> void
40664066
{ STACKINSTR
4067-
if (n.default_initializer) {
4068-
printer.print_cpp2("{}", n.position());
4069-
return;
4070-
}
4071-
40724067
auto add_parens =
40734068
should_add_expression_list_parens()
40744069
&& !n.inside_initializer
@@ -4078,6 +4073,14 @@ class cppfront
40784073
n.is_fold_expression() &&
40794074
!(n.inside_initializer && current_declarations.back()->initializer->position() != n.open_paren->position())
40804075
;
4076+
4077+
if (n.default_initializer) {
4078+
if (add_parens) {
4079+
printer.print_cpp2("{}", n.position());
4080+
}
4081+
return;
4082+
}
4083+
40814084
if (add_parens) {
40824085
printer.print_cpp2( *n.open_paren, n.position());
40834086
}

0 commit comments

Comments
 (0)