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? Florian