diff options
| author | John MacFarlane <jgm@berkeley.edu> | 2015-05-29 10:15:29 -0700 | 
|---|---|---|
| committer | John MacFarlane <jgm@berkeley.edu> | 2015-05-29 10:15:29 -0700 | 
| commit | b4599a48694b78a5db144f17c2ab281a6d9f17d1 (patch) | |
| tree | 44196cf7204aade8acfce11f76551be0831e3923 | |
| parent | 8f429810c03f1d869936776b174332d55ff88bde (diff) | |
Added Ubsan build target, to check for undefined behavior.
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | Makefile | 8 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 4 | 
3 files changed, 12 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a6f304..a4ebe92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,5 +21,5 @@ add_subdirectory(test testdir)  if(NOT CMAKE_BUILD_TYPE)    set(CMAKE_BUILD_TYPE "Release" CACHE STRING -  "Choose the type of build, options are: Debug Profile Release." FORCE) +  "Choose the type of build, options are: Debug Profile Release Asan Ubsan." FORCE)  endif(NOT CMAKE_BUILD_TYPE) @@ -19,7 +19,7 @@ VERSION?=$(SPECVERSION)  RELEASE?=CommonMark-$(VERSION)  INSTALL_PREFIX?=/usr/local -.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug asan mingw archive bench astyle update-spec afl +.PHONY: all cmake_build spec leakcheck clean fuzztest dingus upload test update-site upload-site debug ubsan asan mingw archive bench astyle update-spec afl  all: cmake_build man/man3/cmark.3 @@ -47,6 +47,12 @@ debug:  	cmake .. -DCMAKE_BUILD_TYPE=Debug; \  	make +ubsan: +	mkdir -p $(BUILDDIR); \ +	cd $(BUILDDIR); \ +	cmake .. -DCMAKE_BUILD_TYPE=Ubsan; \ +	make +  asan:  	mkdir -p $(BUILDDIR); \  	cd $(BUILDDIR); \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ba3e18e..f27186e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -164,3 +164,7 @@ endif()  if($ENV{TIMER})    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTIMER=1")  endif($ENV{TIMER}) + +if(CMAKE_BUILD_TYPE STREQUAL "Ubsan") +  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined") +endif()
\ No newline at end of file  | 
