On Thu, 2012-10-25 at 07:21 +0200, Geert Uytterhoeven wrote: > On Wed, Oct 24, 2012 at 11:53 PM, Juri Lelli <[email protected]> wrote: > > +#ifdef __SIZEOF_INT128__ /* gcc-4.6+ */ > > + unsigned __int128 val; > > +#endif > > So the definition of val depends on (gcc) __SIZEOF_INT128__... > > > +/* > > + * Make usage of __int128 dependent on arch code so they can > > + * judge if gcc is doing the right thing for them and can over-ride > > + * any funnies. > > + */ > > + > > +#ifndef ARCH_HAS_INT128 > > ... but all generic users depend on (Kconfig) ARCH_HAS_INT128?
Ah, you're saying both should depend on the same thing. I fear there's a chicken-egg problem in the code as it is now, the asm/math128.h thing needs the data structure but is also the one setting ARCH_HAS_INT128. So its not Kconfig. > How can Kconfig know if gcc supports this? It cannot, its per the asm/math128.h header to opt-in on using it. This so archs can make sure gcc doesn't generate broken code or relies on libgcc for its __int128 implementation. Now, if we do as Linus suggests and push the data structure definition into a separate header we could possibly avoid this. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

