I noticed M_PI is unavailable on c11. By looking at /usr/include/math.h I can see M_PI is defined if:
#i
It's simple: M_PI is not defined in standard C. Provide your own definition if you want to be standard-compliant.
C compilers cannot introduce such constants without breaking legal C programs (the name is not reserved, and could be used as an identifier), and as such, they are only defined as an extension.
GCC 4.9 when used with -std=c99 doesn't define M_PI, but does when used with -std=gnu99