https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119758
Bug ID: 119758
Summary: d: -fonly= argument only matches when including full
relative path to the input file
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: d
Assignee: ibuclaw at gdcproject dot org
Reporter: ibuclaw at gcc dot gnu.org
Target Milestone: ---
For example:
$ cd build/gcc
$ gdc -fonly=transitive.d \
../../gcc/d/dmd/visitor/permissive.d \
../../gcc/d/dmd/visitor/transitive.d
d21: error: cannot find input file ‘transitive.d’
import path[0] = /usr/lib/gcc/x86_64-linux-gnu/13/include/d
$ gdc -I ../../gcc/d/dmd/visitor \
-fonly=transitive.d \
../../gcc/d/dmd/visitor/permissive.d \
../../gcc/d/dmd/visitor/transitive.d
d21: error: cannot find input file ‘transitive.d’
import path[0] = /usr/lib/gcc/x86_64-linux-gnu/13/include/d
import path[1] = «srcdir»/gcc/d/dmd/visitor
$ ls -1 «srcdir»/gcc/d/dmd/visitor
foreachvar.d
package.d
parsetime.d
permissive.d
postorder.d
statement_rewrite_walker.d
transitive.d
$ gdc -fonly=../../gcc/d/dmd/visitor/transitive.d \
../../gcc/d/dmd/visitor/permissive.d \
../../gcc/d/dmd/visitor/transitive.d
# Compiles
This makes the option impractical except for trivial cases such as building in
the same directory as where sources are located.