diff options
| author | Ray <raysan5@gmail.com> | 2018-01-26 01:17:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-01-26 01:17:19 +0100 |
| commit | 779719f5dcabc170cd84e05b57ed03e9d87507d4 (patch) | |
| tree | c1d248f8a5e1a1fba85978901eac5e53fda4c19c | |
| parent | c2ec88f93015f688905a0a35b64cc7c29daef223 (diff) | |
| parent | 520f317a7522804ff2f113f01ca69cd45d7863a5 (diff) | |
| download | raylib-779719f5dcabc170cd84e05b57ed03e9d87507d4.tar.gz raylib-779719f5dcabc170cd84e05b57ed03e9d87507d4.zip | |
Merge pull request #440 from a3f/develop
Make function calls without prior declaration an error
| -rwxr-xr-x[-rw-r--r--] | CMakeLists.txt | 14 | ||||
| -rw-r--r-- | src/Makefile | 3 | ||||
| -rw-r--r-- | src/physac.h | 1 | ||||
| -rw-r--r-- | src/rlgl.c | 3 |
4 files changed, 16 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 82a1ad32..11db057e 100644..100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,10 +12,16 @@ else() set (CMAKE_C_STANDARD 99) endif() include(CheckCCompilerFlag) -CHECK_C_COMPILER_FLAG("-Werror=pointer-arith" COMPILER_HAS_POINTER_ARITH_TOGGLE) -if(COMPILER_HAS_POINTER_ARITH_TOGGLE) - set(CMAKE_C_FLAGS "-Werror=pointer-arith ${CMAKE_C_FLAGS}") -endif() +foreach(option -Werror=pointer-arith;-Werror=implicit-function-declaration) + CHECK_C_COMPILER_FLAG("${option}" COMPILER_HAS_THOSE_TOGGLES) + set(outcome "Failed") + if(COMPILER_HAS_THOSE_TOGGLES) + set(CMAKE_C_FLAGS "${option} ${CMAKE_C_FLAGS}") + set(outcome "works") + endif() + message(STATUS "Testing if ${option} can be used -- ${outcome}") +endforeach() + add_subdirectory(src release) diff --git a/src/Makefile b/src/Makefile index c88aa6dd..fc85ea0a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -262,7 +262,8 @@ endif # -Wno-missing-braces ignore invalid warning (GCC bug 53119) # -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec # -Werror=pointer-arith catch unportable code that does direct arithmetic on void pointers -CFLAGS += -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -fgnu89-inline -Wno-missing-braces -Werror=pointer-arith +# -Werror=implicit-function-declaration catch function calls without prior declaration +CFLAGS += -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -fgnu89-inline -Wno-missing-braces -Werror=pointer-arith -Werror=implicit-function-declaration ifeq ($(RAYLIB_BUILD_MODE), DEBUG) CFLAGS += -g diff --git a/src/physac.h b/src/physac.h index a04d3cb3..463d8950 100644 --- a/src/physac.h +++ b/src/physac.h @@ -255,6 +255,7 @@ PHYSACDEF void ClosePhysics(void); // Functions required to query time on Windows int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); + #include <time.h> #elif defined(__linux__) #if _POSIX_C_SOURCE < 199309L #undef _POSIX_C_SOURCE @@ -74,6 +74,7 @@ #if defined(GRAPHICS_API_OPENGL_11) #if defined(__APPLE__) #include <OpenGL/gl.h> // OpenGL 1.1 library for OSX + #include <OpenGL/glext.h> #else #if defined(_MSC_VER) // Using MSVC compiler, requires some additional definitions // APIENTRY for OpenGL function pointer declarations is required @@ -101,6 +102,7 @@ #if defined(GRAPHICS_API_OPENGL_33) #if defined(__APPLE__) #include <OpenGL/gl3.h> // OpenGL 3 library for OSX + #include <OpenGL/gl3ext.h> #else #define GLAD_IMPLEMENTATION #if defined(RLGL_STANDALONE) @@ -125,6 +127,7 @@ #include "shader_distortion.h" // Distortion shader to be embedded #endif + //---------------------------------------------------------------------------------- // Defines and Macros //---------------------------------------------------------------------------------- |
