Mercurial > mplayer.hg
view mangle.h @ 17566:f580a7755ac5
Patch by Stefan Huehner / stefan % huehner ! org \
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.
Comments about a similar patch applied to ffmpeg:
That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter
Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- M\ns Rullg\rd
author | rathann |
---|---|
date | Thu, 09 Feb 2006 14:08:03 +0000 |
parents | 4e2d477981e2 |
children | 7b408d60de9e |
line wrap: on
line source
/* mangle.h - This file has some CPP macros to deal with different symbol * mangling across binary formats. * (c)2002 by Felix Buenemann <atmosfear at users.sourceforge.net> * File licensed under the GPL, see http://www.fsf.org/ for more info. */ #ifndef __MANGLE_H #define __MANGLE_H /* Feel free to add more to the list, eg. a.out IMO */ #if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__OS2__) || \ (defined(__OpenBSD__) && !defined(__ELF__)) #define MANGLE(a) "_" #a #else #define MANGLE(a) #a #endif #endif /* !__MANGLE_H */