No. Canadian simply means build != host which is building compilers for other platforms. It does not necessarily mean it is a native or cross. And for clang, it does not differentiate native and cross at all. Clang only has native and Canadian compilation. Sent from Mail for Windows From: Segher Boessenkool Sent: Wednesday, June 29, 2022 13:00 To: unlvsur unlvsur Cc: Richard Sandiford; unlvsur unlvsur via Gcc-help Subject: Re: Treat GCC cross compiler as a native compiler? On Wed, Jun 29, 2022 at 03:15:27PM +0000, unlvsur unlvsur via Gcc-help wrote: > “cross-native” toolchain should be called canadian toolchain. build=host=target makes a "native compiler". host=target otherwise is a "cross-built native compiler". build=host otherwise is a "cross-compiler". build=target otherwise is sometimes called a "cross-back compiler". And all three of build, host, and target different is what is called a "Canadian cross". The main difficulty with doing cross-built native is that many checks for native compilers only work on the systems themselves, and do not usually have a convenient way to override that either. It's a fight you cannot win, just build your native compilers on the system itself, everyone else does! Segher