On Mon, Oct 05, 2015 at 11:20:20AM +0200, Florian Weimer wrote: > On 10/02/2015 09:37 PM, Segher Boessenkool wrote: > > On Fri, Oct 02, 2015 at 01:25:31PM +0200, Florian Weimer wrote: > >> glibc has a preprocessor macro called internal_function which switches > >> to a different calling convention on certain targets (i386 uses stdcall > >> and regparams). For non-K&R function definitions, the compiler enforces > >> that both the prototype declaration and the definition match. > >> > >> When someone writes a patch on a different architecture than i386 and > >> forgets to specify internal_function on both prototype and definition, > >> the build will pass, even though i386 will not compile. > >> > >> Is there a way to use a certain harmless attribute to detect this > >> mismatch even on architectures where internal_function has no effect? > > > > Maybe aligned(1) will do what you want? > > Interesting idea. Would this alter generated code? It shouldn't -- it can only increase alignment (not decrease it). Segher