diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index e238d741a..16224801c 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -82,7 +82,7 @@ jobs: continue-on-error: true run: | cd _build/tests - make check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" || (echo "not all tests passed") + make check TESTSUITEFLAGS="--jobs=$(($(nproc)+1))" make test shell: msys2 {0} diff --git a/cobc/cobc.c b/cobc/cobc.c index 84fb978c8..df6044330 100644 --- a/cobc/cobc.c +++ b/cobc/cobc.c @@ -4098,7 +4098,6 @@ process_command_line (const int argc, char **argv) if (cb_flag_copybook_deps){ /* same as -M, but only COPYBOOK names */ - cb_flag_oneline_deps = 1; cb_depend_output = 1; cb_depend_output_only = 1; cb_depend_keep_missing = 1; @@ -9241,7 +9240,7 @@ process_file (struct filename *fn, int status) const char* sep = " \\\n"; FILE *file = NULL; - if (cb_flag_oneline_deps) sep = ""; + if (cb_flag_copybook_deps) sep = ""; if (cb_depend_file){ file = cb_depend_file; } else { diff --git a/cobc/flag.def b/cobc/flag.def index b4271d30a..15a0efb01 100644 --- a/cobc/flag.def +++ b/cobc/flag.def @@ -132,9 +132,6 @@ CB_FLAG_ON (cb_flag_fast_compare, 0, "fast-compare", CB_FLAG (cb_flag_copybook_deps, 0, "copybook-deps", _(" -fcopybook-deps output copybook names as dependencies")) -CB_FLAG (cb_flag_oneline_deps, 0, "oneline-deps", - _(" -foneline-deps output dependencies on a single line")) - /* Normal flags */ CB_FLAG_ON (cb_flag_remove_unreachable, 1, "remove-unreachable", diff --git a/cobc/pplex.l b/cobc/pplex.l index 0df85d2fe..1e4b6abea 100644 --- a/cobc/pplex.l +++ b/cobc/pplex.l @@ -1481,7 +1481,10 @@ ppcopy_try_open (const char *dir, const char *name, int has_ext) /* try to locate the file by searching, each with all known copybook extensions: 1 - as is - 2 - all known copybook directories */ + 2 - all known copybook directories + + Beware: the first argument might be modified in this function + */ static const char * ppcopy_find_file (char *name, int has_ext) { diff --git a/tests/testsuite.src/used_binaries.at b/tests/testsuite.src/used_binaries.at index 6c89e9129..7a9e781bc 100644 --- a/tests/testsuite.src/used_binaries.at +++ b/tests/testsuite.src/used_binaries.at @@ -270,30 +270,6 @@ AT_CHECK([$GREP 'PARAGRAPH_00_l_4:' prog.c], [0], ignore, []) AT_CHECK([$GREP 'PARAGRAPH_EX_l_7:' prog.c], [0], ignore, []) AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [bluBb END], []) -AT_CAPTURE_FILE([prog.d]) -AT_CHECK([$COBC -I sub/copy prog.cob -ext=cpy -o prog.i -M -MP -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only], [0], [], []) -AT_CHECK([$GREP 'prog.c prog.h ' prog.d], [0], ignore, []) -AT_CHECK([$GREP ' prog.i:' prog.d], [0], ignore, []) -AT_CHECK([$GREP 'sub/copy/PROC.cpy' prog.d], [0], ignore, [], [ - # Previous test "failed" --> no entry with slash available, check backslash for this and following tests - AT_CHECK([$GREP ' sub\\copy\\PROC.cpy \\' prog.d], [0], ignore, []) - AT_CHECK([$GREP ' sub\\PROCE.cpy' prog.d], [0], ignore, []) - AT_CHECK([$GREP 'sub\\copy\\PROC.cpy:' prog.d], [0], ignore, []) - AT_CHECK([$GREP 'sub\\PROCE.cpy:' prog.d], [0], ignore, []) -], [ - AT_CHECK([$GREP ' sub/copy/PROC.cpy \\' prog.d], [0], ignore, []) - AT_CHECK([$GREP ' sub/PROCE.cpy' prog.d], [0], ignore, []) - AT_CHECK([$GREP 'sub/copy/PROC.cpy:' prog.d], [0], ignore, []) - AT_CHECK([$GREP 'sub/PROCE.cpy:' prog.d], [0], ignore, []) -]) - -# test again with trailing slash which should not result in different files -AT_CHECK([$COBC -I sub/copy/ prog.cob -ext=cpy -o prog.i -M -MP -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only], [0], [], []) -AT_CHECK([$GREP 'sub/copy/PROC.cpy' prog.d], [0], ignore, [], [ - # Previous test "failed" --> no entry with slash available, check backslash for this test - AT_CHECK([$GREP 'sub\\copy\\PROC.cpy' prog.d], [0], ignore, []) -]) - AT_CLEANUP @@ -1024,7 +1000,7 @@ AT_DATA([prog.cob], [ AT_CHECK([mkdir -p sub]) AT_DATA([COPY1.CPY], []) -AT_DATA([COPY2.CPY], []) +AT_DATA([COPY2.CPY], [DISPLAY "Hello".]) AT_DATA([sub/COPY3.CPY], []) AT_CHECK([$COMPILE_ONLY prog.cob]) @@ -1080,7 +1056,11 @@ AT_CHECK([$COMPILE_ONLY -M -MQ '$(target)#toto' prog.cob], [0], AT_CHECK([rm -f prog.d]) -AT_CHECK([$COMPILE -MD prog.cob]) +AT_CAPTURE_FILE([prog.d]) + +AT_CHECK([$COMPILE -MD prog.cob]) +AT_CHECK([$COMPILE -MD prog.cob]) + AT_CHECK([cat prog.d], [0], [prog.o: \ @@ -1123,4 +1103,29 @@ AT_CHECK([$COMPILE_ONLY -M -MG prog.cob], [0], ]) + +AT_CAPTURE_FILE([prog.d]) +AT_CHECK([$COBC -I sub/copy prog.cob -ext=cpy -o prog.i -M -MP -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only], [0], [], []) +AT_CHECK([$GREP 'prog.c prog.h ' prog.d], [0], ignore, []) +AT_CHECK([$GREP ' prog.i:' prog.d], [0], ignore, []) +AT_CHECK([$GREP 'sub/copy/PROC.cpy' prog.d], [0], ignore, [], [ + # Previous test "failed" --> no entry with slash available, check backslash for this and following tests + AT_CHECK([$GREP ' sub\\copy\\PROC.cpy \\' prog.d], [0], ignore, []) + AT_CHECK([$GREP ' sub\\PROCE.cpy' prog.d], [0], ignore, []) + AT_CHECK([$GREP 'sub\\copy\\PROC.cpy:' prog.d], [0], ignore, []) + AT_CHECK([$GREP 'sub\\PROCE.cpy:' prog.d], [0], ignore, []) +], [ + AT_CHECK([$GREP ' sub/copy/PROC.cpy \\' prog.d], [0], ignore, []) + AT_CHECK([$GREP ' sub/PROCE.cpy' prog.d], [0], ignore, []) + AT_CHECK([$GREP 'sub/copy/PROC.cpy:' prog.d], [0], ignore, []) + AT_CHECK([$GREP 'sub/PROCE.cpy:' prog.d], [0], ignore, []) +]) + +# test again with trailing slash which should not result in different files +AT_CHECK([$COBC -I sub/copy/ prog.cob -ext=cpy -o prog.i -M -MP -MF prog.d -MT "prog.c prog.h" -MT prog$COB_EXE_EXT -MT prog.$COB_OBJECT_EXT -MT prog.i -fsyntax-only], [0], [], []) +AT_CHECK([$GREP 'sub/copy/PROC.cpy' prog.d], [0], ignore, [], [ + # Previous test "failed" --> no entry with slash available, check backslash for this test + AT_CHECK([$GREP 'sub\\copy\\PROC.cpy' prog.d], [0], ignore, []) +]) + AT_CLEANUP