https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95316
Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW CC| |jakub at gcc dot gnu.org, | |tschwinge at gcc dot gnu.org Last reconfirmed| |2020-05-26 Summary|[10 Regression] binary |Offload compilation fails |built with -fopenacc fails |when not all offload |to run when not all offload |compilers are installed |compilers are installed |that were configured |that were configured | --- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- So the report is not "binary built with -fopenacc fails to run when [...]" but rather "compilation with -fopenacc fails when [...]"? And, same for '-fopenmp' for OpenMP 'target' offloading? So I'm changing the Summary to: "Offload compilation fails when [...]". (Please adjust if I've misunderstood.) I don't think this is a regression: wouldn't you've gotten the same behavior already before GCC 10 added GCN offloading, for example, when you had built GCC with '--enable-offload-targets=nvptx-none' but then didn't have the nvptx offloading compiler installed? I'm thus removing the "regression" tag. (Please put it back if I've misunderstood.) I agree that the current driver (?) behavior is not ideal. I suppose the default offload targets configuration (unless overridden by '-foffload') should be made so that if an offload compiler is not present, it is silently skipped. That is, without printing a warning (as has been suggested), as that would produce a lot of noise. If an offload target has been explicitly requested via '-foffload=[target]', then that should result in a hard error, of course, if the respective offload compiler is not available.