<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 - [flang] Build fails with gcc-10"
href="https://bugs.llvm.org/show_bug.cgi?id=45637">45637</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[flang] Build fails with gcc-10
</td>
</tr>
<tr>
<th>Product</th>
<td>flang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</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>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Build System
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>chinoune.mehdi@hotmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>David.Truby@arm.com, jperier@nvidia.com, llvm-bugs@lists.llvm.org, sscalpone@nvidia.com
</td>
</tr></table>
<p>
<div>
<pre>I got these error messages when trying to build flang with gcc-10:
In file included from
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:38:
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:
In static member function `static std::optional<_Tp>
Fortran::parser::Parser<A>::Parse(Fortran::parser::ParseState&) [with A =
Fortran::parser::ProcComponentDefStmt]`:
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:447:1:
in `constexpr` expansion of
`Fortran::parser::localRecovery(Fortran::parser::MessageFixedText, PA, PB)
[with PA = Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > >; PB =
Fortran::parser::SkipTo<'\012'>](Fortran::parser::operator>><Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > >(((const char*)"::"),
Fortran::parser::nonemptyList<Fortran::parser::Parser<Fortran::parser::ProcDecl>
<span class="quote">>(Fortran::parser::procDecl)), Fortran::parser::SkipTo<'\012'>())`</span >
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:812:18:
in `constexpr` expansion of `Fortran::parser::recovery(PA, PB) [with PA =
Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >; PB =
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >](Fortran::parser::operator>>(PA,
PB) [with PA = Fortran::parser::SkipTo<'\012'>; PB =
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >
<span class="quote">>](Fortran::parser::defaulted<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,</span >
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >
<span class="quote">>(Fortran::parser::operator>><Fortran::parser::FixedParser<false>,</span >
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >((Fortran::parser::cut, const
Fortran::parser::FixedParser<false>()), pa))))`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:391:39:
in `constexpr` expansion of
`Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > > >(pa,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >(pb))`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:339:59:
in `constexpr` expansion of
`((Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > >
<span class="quote">>*)(&((Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,</span >
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>*)this)->Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,</span >
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>::pb_))->Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >::SequenceParser(pb)`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:241:13:
in `constexpr` expansion of
`((Fortran::parser::SkipTo<'\012'>*)(&((Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > >
<span class="quote">>*)this)->Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > >
<span class="quote">>::pa_))->Fortran::parser::SkipTo<'\012'>::SkipTo(<anonymous>.Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > >::pa_)`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/type-parser-implementation.h:28:41:
error: accessing uninitialized member
`Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::ProcDecl>,
Fortran::parser::TokenStringMatch<> > > > > > >::pb_`
28 | static constexpr auto parser{(pexpr)}; \
| ^
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/type-parser-implementation.h:33:3:
note: in expansion of macro `TYPE_PARSER`
33 | TYPE_PARSER(CONTEXT_PARSER((contextText), (pexpr)))
| ^~~~~~~~~~~
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:447:1:
note: in expansion of macro `TYPE_CONTEXT_PARSER`
447 | TYPE_CONTEXT_PARSER("PROCEDURE component definition statement"_en_US,
| ^~~~~~~~~~~~~~~~~~~
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:
In static member function `static std::optional<_Tp>
Fortran::parser::Parser<A>::Parse(Fortran::parser::ParseState&) [with A =
Fortran::parser::TypeBoundProcedureStmt]`:
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:505:1:
in `constexpr` expansion of
`Fortran::parser::localRecovery(Fortran::parser::MessageFixedText, PA, PB)
[with PA = Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > >; PB =
Fortran::parser::SkipTo<'\012'>](Fortran::parser::operator>><Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > >(((const char*)"::"),
Fortran::parser::listOfNames), Fortran::parser::SkipTo<'\012'>())`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:812:18:
in `constexpr` expansion of `Fortran::parser::recovery(PA, PB) [with PA =
Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >; PB =
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>](Fortran::parser::operator>>(PA, PB) [with PA =</span >
Fortran::parser::SkipTo<'\012'>; PB =
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >
<span class="quote">>](Fortran::parser::defaulted<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,</span >
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >
<span class="quote">>(Fortran::parser::operator>><Fortran::parser::FixedParser<false>,</span >
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >((Fortran::parser::cut, const
Fortran::parser::FixedParser<false>()), pa))))`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:391:39:
in `constexpr` expansion of
`Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > > >(pa,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > >(pb))`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:339:59:
in `constexpr` expansion of
`((Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>*)(&((Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,</span >
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > >
<span class="quote">>*)this)->Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,</span >
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > >
<span class="quote">>::pb_))->Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > >::SequenceParser(pb)`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/basic-parsers.h:241:13:
in `constexpr` expansion of
`((Fortran::parser::SkipTo<'\012'>*)(&((Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>*)this)->Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > >
<span class="quote">>::pa_))->Fortran::parser::SkipTo<'\012'>::SkipTo(<anonymous>.Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,</span >
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > >::pa_)`
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/type-parser-implementation.h:28:41:
error: accessing uninitialized member
`Fortran::parser::RecoveryParser<Fortran::parser::WithMessageParser<Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > >,
Fortran::parser::SequenceParser<Fortran::parser::SkipTo<'\012'>,
Fortran::parser::DefaultedParser<Fortran::parser::SequenceParser<Fortran::parser::FixedParser<false>,
Fortran::parser::SequenceParser<Fortran::parser::TokenStringMatch<>,
Fortran::parser::WithMessageParser<Fortran::parser::NonemptySeparated<Fortran::parser::Parser<Fortran::parser::Name>,
Fortran::parser::TokenStringMatch<> > > > > > > >::pb_`
28 | static constexpr auto parser{(pexpr)}; \
| ^
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/type-parser-implementation.h:33:3:
note: in expansion of macro `TYPE_PARSER`
33 | TYPE_PARSER(CONTEXT_PARSER((contextText), (pexpr)))
| ^~~~~~~~~~~
/home/runner/work/llvm-project/llvm-project/flang/lib/Parser/Fortran-parsers.cpp:505:1:
note: in expansion of macro `TYPE_CONTEXT_PARSER`
505 | TYPE_CONTEXT_PARSER("type bound PROCEDURE statement"_en_US,
| ^~~~~~~~~~~~~~~~~~~</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>