> On 17/10/2022 20:08 CEST Iain Buclaw <ibuc...@gdcproject.org> wrote: > > > Hi, > > This splits up the targetdm sources so that each file only handles one > target platform. > > Having all logic kept in the headers means that they could become out of > sync when a new target is added (loongarch*-*-linux*) or accidentally > broken if some headers in tm_file are omitted or changed about. > > There might be an open bikeshed question as to appropriate names for > some of the platform sources (kfreebsd-d.cc or kfreebsd-gnu-d.cc). > > Bootstrapped and regression tested on x86_64-linux-gnu, and also built > i686-cygwin, i686-gnu, i686-kfreebsd-gnu, i686-kopensolaris-gnu, > x86_64-cygwin, x86_64-w64-mingw32 cross compilers, the dumps of all > predefined version identifiers remain correct in all configurations. > > OK? >
Ping? I'll apply this tomorrow, but there is a general open question about whether taking logic out of target headers and putting it in config.gcc is the right approach moving forward for non C/C++ front-ends. This is also relevant for Rust, which initially put all their target support definitions in headers, and have since removed the entire tangled mess that created. Regards, Iain.