 a235b41792
			
		
	
	a235b41792
	
	
	
		
			
			Remove old math patch meant for old GCC versions. It's not needed
for GCC and causes issues with clang.
Add CMake patch to identify clang properly and apply the proper
flags. Fixes the following warnings/errors:
json_pointer.c:230:7: warning: implicit declaration of function
'vasprintf' is invalid in C99 [-Wimplicit-function-declaration]
        rc = vasprintf(&path_copy, path_fmt, args);
             ^
json_pointer.c:317:7: warning: implicit declaration of function
'vasprintf' is invalid in C99 [-Wimplicit-function-declaration]
        rc = vasprintf(&path_copy, path_fmt, args);
             ^
/usr/include/bits/mathcalls.h:177:23: error: cannot redeclare builtin
function '__builtin_isinf'
__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf)
                      ^
/usr/include/bits/mathcalls.h:177:23: note: '__builtin_isinf' is a
builtin with type 'int ()'
/usr/include/bits/mathcalls.h:213:23: error: cannot redeclare builtin
function '__builtin_isnan'
__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan)
The clang patch is an upstream backport.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
		
	
		
			
				
	
	
		
			12 lines
		
	
	
		
			596 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			596 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/CMakeLists.txt
 | |
| +++ b/CMakeLists.txt
 | |
| @@ -265,7 +265,7 @@ message(STATUS "Wrote ${PROJECT_BINARY_D
 | |
|  configure_file(${PROJECT_SOURCE_DIR}/cmake/json_config.h.in   ${PROJECT_BINARY_DIR}/json_config.h)
 | |
|  message(STATUS "Wrote ${PROJECT_BINARY_DIR}/json_config.h")
 | |
|  
 | |
| -if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
 | |
| +if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
 | |
|      set(CMAKE_C_FLAGS           "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections")
 | |
|  	if ("${DISABLE_WERROR}" STREQUAL "OFF")
 | |
|  	    set(CMAKE_C_FLAGS           "${CMAKE_C_FLAGS} -Werror")
 |