https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119883
--- Comment #3 from Robert Dubner <rdubner at gcc dot gnu.org> --- (In reply to James K. Lowden from comment #2) > The issue appears to boil down to YYLTYPE and YDFLTYPE, which are identical, > being defined differently somehow, somewhere. A clue perhaps: in > gcc/cobol/util.cc, we have > > void > cbl_field_t::report_invalid_initial_value(const YYLTYPE& loc) const > > which appears to be the source of the complaint about the "type itself" in > warn_odr. > > In the util.o, there are 4 definitions: > > 00000000000025d0 T cbl_field_t::report_invalid_initial_value(YYLTYPE const&) > const > 0000000000002524 t cbl_field_t::report_invalid_initial_value(YYLTYPE const&) > const::{lambda(char)#2}::operator()(char) const > 0000000000002548 t cbl_field_t::report_invalid_initial_value(YYLTYPE const&) > const::{lambda(char)#3}::operator()(char) const > 00000000000024f0 t cbl_field_t::report_invalid_initial_value(YYLTYPE const&) > const::{lambda(char)#1}::operator()(char) const > > I don't know what > > const::{lambda(char)#1}::operator()(char) > > refers to. > > The sole call to this function is from parse.y:3755 > > $field->report_invalid_initial_value(@data_clauses); Jim, you put this comment into the wrong PR.