clang is pretty strict by default and I generally try to fix any
warnings it finds, as opposed to overriding them. If you think the
requested changes aren’t needed, I’ll go that route. My thought
was to lessen the angst for beginners compiling libpd & being
put off by a wall of warnings (especially in ofxPd).
I realized I can fix the alloc warning by adding
HAVE_ALLOCA_H to the libpd Makefile, so the stdlib.h include is
unnecessary. Furthermore, Maybe this define would be unnecessary
by using better compile-time system detection. For example, from
d_fft_fftsg.c:
#ifdef HAVE_ALLOCA_H /* ifdef nonsense to
find include for alloca() */
# include <alloca.h> /* linux, mac, mingw, cygwin
*/
#elif defined _MSC_VER
# include <malloc.h> /* MSVC */
#else
# include <stddef.h> /* BSDs for example */
#endif /* end alloca() ifdef nonsense */
Could be:
#ifdef _MSC_VER
#include
<malloc.h> /* MSVC */
#elif defined(__linux__) || defined(__APPLE__) ||
defined(_WIN32)
#include
<alloca.h> /* linux, mac, mingw, cygwin */
#else
#include
<stddef.h> /* BSDs for example */
#endif
I just tried and it compiles said file without the
warning on OSX.
References:
On Mar 24, 2016, at 10:03 PM, Miller
Puckette <
msp@ucsd.edu>
wrote:
Sorry, missed this last... if it's needed
I'd prefer to add stdlib.h to all
the files where alloca gets used (so as not to include
any more than necessary
in m_pd.h).
cheers
M
On Thu, Mar 24, 2016 at 09:37:33PM -0600, Dan Wilcox
wrote:
Whoops. Missed a
couple spots. Also, forgot to mention I added
#include <stdlib.h> to m_pd.h to silence
"warning: implicitly declaring library function
'alloca' with type 'void *(unsigned long)’” in
x_array, x_list, etc.
Here’s a new patch. Disregard the first one.
_______________________________________________
Pd-dev mailing list
Pd-dev@lists.iem.at
http://lists.puredata.info/listinfo/pd-dev