diff --git a/gcc/cobol/cdf-copy.cc b/gcc/cobol/cdf-copy.cc index 974f281b8f717e5aa7b8ff836bcca03cf90851bf..a7c95e1db75ed7b4d0d325dff5c7cdaab8a1b15d 100644 --- a/gcc/cobol/cdf-copy.cc +++ b/gcc/cobol/cdf-copy.cc @@ -323,7 +323,7 @@ copybook_elem_t::open_file( const char directory[], bool literally ) { yywarn("COPY file search: read error"); break; case GLOB_NOMATCH: - dbgmsg("COPY '%s': no files match %s", this->source, pattern); + dbgmsg("COPY '%s': no files match %s", this->source.name, pattern); default: break; // caller says no file found } diff --git a/gcc/cobol/copybook.h b/gcc/cobol/copybook.h index 8f02bc47ffcaecd69400a1fc098c5d952d6a6334..b86dd435d6ff4cf1bbf186c98deb1389667fc457 100644 --- a/gcc/cobol/copybook.h +++ b/gcc/cobol/copybook.h @@ -182,9 +182,11 @@ class copybook_t { this->source(loc, name); for( auto dir : directories ) { - if( false ) { + if( true ) { dbgmsg("copybook_t::open( '%s' OF '%s' %s", - book.source, dir, book.literally.source? ", literally" : "" ); + book.source.name, + dir? dir: ".", + book.literally.source? ", literally" : "" ); } if( (fd = book.open_file(dir, book.literally.source)) != -1 ) break; } diff --git a/gcc/cobol/lexio.cc b/gcc/cobol/lexio.cc index 03fc6ae0ae0d48eb32b66c627c8cc3bf61b1d77d..1e71a9fa85e5baea29c1ff32635244abe79d0347 100644 --- a/gcc/cobol/lexio.cc +++ b/gcc/cobol/lexio.cc @@ -951,8 +951,8 @@ parse_copy_directive( filespan_t& mfile ) { YYLTYPE loc = location_in( mfile, copybook_name ); outcome.fd = copybook.open( loc, xstrndup(copybook_name.first, copybook_name.length()) ); - if( outcome.fd == -1 ) { - error_msg(loc, "copybook '%s' not found", copybook.source()); + if( outcome.fd == -1 ) { // let parser report missing copybook + dbgmsg("%s:%d: (no copybook '%s' found)", __func__, __LINE__, copybook.source()); return outcome; }