Hi, On Friday, 23 September 2022 05:33:42 CEST Jacob Bachmeyer wrote: > I have not yet had the occasion to dive into the dg.exp code, but a > quick look at the documentation (such as it is) in the header comment > block suggests that you need code in your "libstdc++-dg-prune" > procedure to recognize the unsupported cases and return the > "::unsupported::freestanding" string. Jonathan implemented this solution in the meanwhile, it did work as expected, though, it also produced more PASSes than anticipated, by going from: FAIL: 30_threads/promise/cons/assign_neg.cc (test for errors, line 29) UNSUPPORTED: 30_threads/promise/cons/assign_neg.cc: hosted C++ headers not supported
... to: PASS: 30_threads/promise/cons/assign_neg.cc (test for errors, line 29) UNSUPPORTED: 30_threads/promise/cons/assign_neg.cc: hosted C++ headers not supported Which is (IMO) good enough, though, I can't quite tell why that happens. > Digging briefly into the code, the comp_output contents are only > checked for those tags (at line 756 in lib/dg.exp on current Git > master) if the ${tool}-dg-prune procedure is defined. Do you have > such a procedure? If not, try "proc libstdc++-dg-prune { target text > } { return text }" instead of your workaround below as the simplest > option. I may be able to suggest a better solution after looking at > the rest of the testsuite. This was defined, but the ::unsupported:: string was being returned from ${tool}-dg-test rather than ${tool}-dg-prune, changing that to be returned from ${tool}-dg-prune had the effect described above. > Where is the Git repository this patch applies to? I will take at > least a brief look at the testsuite. The diff is a subset of this commit: https://github.com/ArsenArsen/gcc/commit/bd18c507663727d6961c37e23a2be86a4c47e927 > Another option might be to add a target selector to the "dg-do" line > that will match all targets except freestanding. Unfortunately there > is no simple way to say "except these" in the pattern match rules > used here, so a ${tool}-dg-prune procedure is probably your best > option, based on what I have seen thus far. Indeed, that is what we wanted to avoid. Thanks! -- Arsen Arsenović
signature.asc
Description: This is a digitally signed message part.