Hi Richard: >> -fno-builtin is seem not only for the c family front-end, but also >> used in LTO now, so move it to common.opt and change it to `Common`. > > Please leave it in c-family and just add LTO to the set of supported > languages. -fno-builtin isn't meaningful for other frontends > and we just happen to use the flag. > If then it makes more sense to move -fhosted and -ffreestanding > though I don't know how meaningful those are for other frontends. > > Or create a "proper" flag to communicate that the middle-end > should avoid creating new calls to builtins at all cost > (well, that's really what -ffreestanding is about).
-fno-builtin is meaningless for other front-end but middle-end, However `-fno-builtin` is more explicit than -fhosted and -ffreestanding, when people see the option `-fno-builtin`, they will know what this option mean "do not use builtin implicitly", and most important -fno-builtin is more well known than -fhosted or -ffreestanding. and the flag_no_builtin is already used in gcc/lto/lto-lang.c:def_builtin_1, so my patch is not first user of this option in LTO front-end. > Richard.