Skip to content

Commit 79bbf23

Browse files
committed
issue #11036 The body of a macro entirely defined on 1 line gets sucked into the synopsis
1 parent 8bafec5 commit 79bbf23

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/memberdef.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4437,15 +4437,18 @@ bool MemberDefImpl::hasOneLineInitializer() const
44374437
//printf("%s: init=%s, initLines=%d maxInitLines=%d userInitLines=%d\n",
44384438
// qPrint(name()),qPrint(m_initializer),m_initLines,
44394439
// m_maxInitLines,m_userInitLines);
4440+
bool isFuncLikeMacro = m_mtype==MemberType::Define && m_defArgList.hasParameters();
44404441
return !m_initializer.isEmpty() && m_initLines==0 && // one line initializer
4442+
!isFuncLikeMacro &&
44414443
((m_maxInitLines>0 && m_userInitLines==-1) || m_userInitLines>0); // enabled by default or explicitly
44424444
}
44434445

44444446
bool MemberDefImpl::hasMultiLineInitializer() const
44454447
{
44464448
//printf("initLines=%d userInitLines=%d maxInitLines=%d\n",
44474449
// initLines,userInitLines,maxInitLines);
4448-
return m_initLines>0 &&
4450+
bool isFuncLikeMacro = m_mtype==MemberType::Define && m_defArgList.hasParameters();
4451+
return (m_initLines>0 || (!m_initializer.isEmpty() && isFuncLikeMacro)) &&
44494452
((m_initLines<m_maxInitLines && m_userInitLines==-1) // implicitly enabled
44504453
|| m_initLines<m_userInitLines // explicitly enabled
44514454
);

0 commit comments

Comments
 (0)