svf-tools 1.0.845 → 1.0.847
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.config.cmake.in +24 -0
- package/.config.in +26 -0
- package/.gitignore +2 -0
- package/CMakeLists.txt +138 -47
- package/SVF-doxygen/html/CMakeLists_8txt.html +1 -24
- package/SVF-doxygen/html/extapi_8c.html +16 -42
- package/SVF-doxygen/html/extapi_8c_source.html +1 -1
- package/SVF-doxygen/html/globals.html +3 -3
- package/SVF-doxygen/html/globals_func.html +1 -1
- package/SVF-doxygen/html/globals_func_i.html +0 -3
- package/SVF-doxygen/html/globals_i.html +2 -5
- package/SVF-doxygen/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +224 -224
- package/SVF-doxygen/html/search/all_12.js +552 -552
- package/SVF-doxygen/html/search/all_13.js +190 -190
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +168 -168
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +173 -173
- package/SVF-doxygen/html/search/all_9.js +540 -541
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +197 -197
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +81 -81
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +34 -34
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +57 -57
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +362 -362
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +139 -139
- package/SVF-doxygen/html/search/functions_12.js +288 -288
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +173 -173
- package/SVF-doxygen/html/search/functions_2.js +89 -89
- package/SVF-doxygen/html/search/functions_3.js +261 -261
- package/SVF-doxygen/html/search/functions_4.js +78 -78
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +60 -60
- package/SVF-doxygen/html/search/functions_7.js +855 -855
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +420 -421
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +79 -79
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -3
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +62 -62
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +33 -33
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +56 -56
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +45 -45
- package/SVF-doxygen/html/search/variables_12.js +90 -90
- package/SVF-doxygen/html/search/variables_13.js +74 -74
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +50 -50
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +55 -55
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/package.json +1 -1
- package/svf/CMakeLists.txt +25 -30
- package/svf-llvm/CMakeLists.txt +60 -45
- package/svf-llvm/lib/extapi.c +2 -2
- package/svf-llvm/tools/CMakeLists.txt +1 -2
package/.config.cmake.in
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
@PACKAGE_INIT@
|
|
2
|
+
|
|
3
|
+
set_and_check(SVF_INSTALL_ROOT "@PACKAGE_SVF_INSTALL_ROOT@")
|
|
4
|
+
set_and_check(SVF_INSTALL_BIN_DIR "@PACKAGE_SVF_INSTALL_BIN_DIR@")
|
|
5
|
+
set_and_check(SVF_INSTALL_LIB_DIR "@PACKAGE_SVF_INSTALL_LIB_DIR@")
|
|
6
|
+
set_and_check(SVF_INSTALL_INCLUDE_DIR "@PACKAGE_SVF_INSTALL_INCLUDE_DIR@")
|
|
7
|
+
|
|
8
|
+
set_and_check(SVF_INSTALL_EXTAPI_DIR "@PACKAGE_SVF_INSTALL_EXTAPI_DIR@")
|
|
9
|
+
set_and_check(SVF_INSTALL_EXTAPI_FILE "@PACKAGE_SVF_INSTALL_EXTAPI_FILE@")
|
|
10
|
+
|
|
11
|
+
set(SVF_SANITIZE "@SVF_SANITIZE@")
|
|
12
|
+
|
|
13
|
+
set(SVF_COVERAGE "@SVF_COVERAGE@")
|
|
14
|
+
set(SVF_WARN_AS_ERROR "@SVF_WARN_AS_ERROR@")
|
|
15
|
+
set(SVF_EXPORT_DYNAMIC "@SVF_EXPORT_DYNAMIC@")
|
|
16
|
+
set(SVF_ENABLE_ASSERTIONS "@SVF_ENABLE_ASSERTIONS@")
|
|
17
|
+
|
|
18
|
+
set(SVF_BUILD_TYPE "@CMAKE_BUILD_TYPE@")
|
|
19
|
+
set(SVF_CXX_STANDARD "@CMAKE_CXX_STANDARD@")
|
|
20
|
+
|
|
21
|
+
set(SVF_ENABLE_RTTI "@SVF_ENABLE_RTTI@")
|
|
22
|
+
set(SVF_ENABLE_EXCEPTIONS "@SVF_ENABLE_EXCEPTIONS@")
|
|
23
|
+
|
|
24
|
+
include("${CMAKE_CURRENT_LIST_DIR}/SVFTargets.cmake")
|
package/.config.in
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#ifndef CONFIG_H_IN
|
|
2
|
+
#define CONFIG_H_IN
|
|
3
|
+
|
|
4
|
+
// Directory structure of SVF build
|
|
5
|
+
#define SVF_ROOT "@CMAKE_CURRENT_SOURCE_DIR@"
|
|
6
|
+
#define SVF_BUILD_DIR "@CMAKE_CURRENT_BINARY_DIR@"
|
|
7
|
+
#define SVF_INSTALL_DIR "@SVF_INSTALL_ROOT@"
|
|
8
|
+
#define SVF_BIN_DIR "@SVF_INSTALL_BIN_DIR@"
|
|
9
|
+
#define SVF_LIB_DIR "@SVF_INSTALL_LIB_DIR@"
|
|
10
|
+
#define SVF_INCLUDE_DIR "@SVF_INSTALL_INCLUDE_DIR@"
|
|
11
|
+
#define SVF_EXTAPI_DIR "@SVF_INSTALL_EXTAPI_DIR@"
|
|
12
|
+
#define SVF_EXTAPI_BC "@SVF_INSTALL_EXTAPI_FILE@"
|
|
13
|
+
|
|
14
|
+
// Build mode used to build SVF
|
|
15
|
+
#define SVF_BUILD_TYPE "@CMAKE_BUILD_TYPE@"
|
|
16
|
+
|
|
17
|
+
// Sanitiser mode used for building SVF
|
|
18
|
+
#cmakedefine SVF_SANITIZE "@SVF_SANITIZE@"
|
|
19
|
+
|
|
20
|
+
// Build options used when building SVF
|
|
21
|
+
#cmakedefine SVF_COVERAGE
|
|
22
|
+
#cmakedefine SVF_WARN_AS_ERROR
|
|
23
|
+
#cmakedefine SVF_EXPORT_DYNAMIC
|
|
24
|
+
#cmakedefine SVF_ENABLE_ASSERTIONS
|
|
25
|
+
|
|
26
|
+
#endif // CONFIG_H_IN
|
package/.gitignore
CHANGED
package/CMakeLists.txt
CHANGED
|
@@ -1,38 +1,95 @@
|
|
|
1
1
|
cmake_minimum_required(VERSION 3.13.4)
|
|
2
2
|
|
|
3
|
-
project(
|
|
3
|
+
project(SVF
|
|
4
|
+
VERSION 2.7.1
|
|
5
|
+
DESCRIPTION "SVF is a static value-flow analysis tool for LLVM-based languages"
|
|
6
|
+
HOMEPAGE_URL "https://github.com/SVF-tools/SVF"
|
|
7
|
+
LANGUAGES C CXX
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
# Ensure installation directories like ${CMAKE_INSTALL_LIBDIR} are available
|
|
11
|
+
include(GNUInstallDirs)
|
|
4
12
|
|
|
5
|
-
|
|
13
|
+
# Configurable (string) options for building SVF
|
|
14
|
+
set(SVF_SANITIZE "" CACHE STRING "Create sanitizer build (address)")
|
|
15
|
+
|
|
16
|
+
# Configurable (boolean) options for building SVF
|
|
17
|
+
option(SVF_COVERAGE "Create coverage build")
|
|
18
|
+
option(SVF_WARN_AS_ERROR "Treat warnings as errors when building SVF (default: on)" ON)
|
|
19
|
+
option(SVF_EXPORT_DYNAMIC "Export all (not only used) dynamic symbols to dynamic symbol table")
|
|
20
|
+
option(SVF_ENABLE_ASSERTIONS "Always enable assertions")
|
|
6
21
|
|
|
7
|
-
|
|
22
|
+
# Configure top-level SVF variables (used by CMake for configuring installed SVF package)
|
|
23
|
+
set(SVF_INSTALL_ROOT ${CMAKE_INSTALL_PREFIX})
|
|
24
|
+
set(SVF_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
|
|
25
|
+
set(SVF_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
|
26
|
+
set(SVF_INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/svf)
|
|
27
|
+
|
|
28
|
+
# Set where extapi.bc is exported to in the installed CMake package
|
|
29
|
+
set(SVF_INSTALL_EXTAPI_DIR ${SVF_INSTALL_INCLUDE_DIR}/SVF-LLVM)
|
|
30
|
+
set(SVF_INSTALL_EXTAPI_FILE ${SVF_INSTALL_EXTAPI_DIR}/extapi.bc)
|
|
31
|
+
|
|
32
|
+
message(STATUS "Building ${PROJECT_NAME} with configuration:
|
|
33
|
+
SVF version: ${SVF_VERSION}
|
|
34
|
+
SVF root directory: ${SVF_SOURCE_DIR}
|
|
35
|
+
SVF binary directory: ${SVF_BINARY_DIR}
|
|
36
|
+
SVF option - create sanitiser build (str): ${SVF_SANITIZE}
|
|
37
|
+
SVF option - coverage build: ${SVF_COVERAGE}
|
|
38
|
+
SVF option - warnings as errors: ${SVF_WARN_AS_ERROR}
|
|
39
|
+
SVF option - unused dynamic symbols: ${SVF_EXPORT_DYNAMIC}
|
|
40
|
+
SVF option - enable build assertions: ${SVF_ENABLE_ASSERTIONS}")
|
|
41
|
+
|
|
42
|
+
message(STATUS "Using CMake build configuration:
|
|
43
|
+
CMake generator: ${CMAKE_GENERATOR}
|
|
44
|
+
CMake C compiler: ${CMAKE_C_COMPILER_ID}
|
|
45
|
+
CMake C++ compiler: ${CMAKE_CXX_COMPILER_ID}
|
|
46
|
+
CMake current list directory: ${CMAKE_CURRENT_LIST_DIR}
|
|
47
|
+
CMake current source directory: ${CMAKE_CURRENT_SOURCE_DIR}
|
|
48
|
+
CMake current binary directory: ${CMAKE_CURRENT_BINARY_DIR}")
|
|
49
|
+
|
|
50
|
+
# Create config.h based on config.in
|
|
51
|
+
configure_file(${SVF_SOURCE_DIR}/.config.in ${SVF_BINARY_DIR}/include/Util/config.h)
|
|
52
|
+
|
|
53
|
+
# Include the directory where the configuration header is exported for all targets
|
|
54
|
+
include_directories(${SVF_BINARY_DIR}/include)
|
|
8
55
|
|
|
9
|
-
#
|
|
10
|
-
|
|
56
|
+
# Install generated configuration header (see `configure_file()`) to top-level include dir of SVF
|
|
57
|
+
install(
|
|
58
|
+
FILES ${SVF_BINARY_DIR}/include/Util/config.h
|
|
59
|
+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/svf/Util
|
|
60
|
+
)
|
|
11
61
|
|
|
12
62
|
# Build SVF with C++ standard C++17
|
|
13
63
|
set(CMAKE_CXX_STANDARD 17)
|
|
14
64
|
set(CMAKE_CXX_EXTENSIONS ON)
|
|
15
65
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
66
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
67
|
+
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
|
|
68
|
+
|
|
69
|
+
# By default, build SVF and its targets treating all compiler warnings as errors (except deprecations)
|
|
70
|
+
add_compile_options(
|
|
71
|
+
"$<$<BOOL:${SVF_WARN_AS_ERROR}>:-Wall>"
|
|
72
|
+
"$<$<BOOL:${SVF_WARN_AS_ERROR}>:-Werror>"
|
|
73
|
+
"$<$<BOOL:${SVF_WARN_AS_ERROR}>:-Wno-deprecated-declarations>"
|
|
74
|
+
)
|
|
16
75
|
|
|
17
76
|
# Keep assertions enabled if requested
|
|
18
|
-
|
|
19
|
-
if(SVF_ENABLE_ASSERTIONS)
|
|
20
|
-
add_compile_options("-UNDEBUG")
|
|
21
|
-
endif()
|
|
77
|
+
add_compile_options("$<$<BOOL:${SVF_ENABLE_ASSERTIONS}>:-UNDEBUG>")
|
|
22
78
|
|
|
23
|
-
#
|
|
24
|
-
|
|
79
|
+
# Export dynamic symbols if requested (adds "-export-dynamic" to linkers that support it to enable backtraces)
|
|
80
|
+
add_compile_options("$<$<BOOL:${SVF_EXPORT_DYNAMIC}>:-rdynamic>")
|
|
25
81
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
82
|
+
# Configure whether a coverage build should be created for SVF (i.e. add runtime instrumentation)
|
|
83
|
+
add_compile_options(
|
|
84
|
+
"$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-fprofile-arcs>"
|
|
85
|
+
"$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-ftest-coverage>"
|
|
86
|
+
)
|
|
87
|
+
add_link_options(
|
|
88
|
+
"$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-fprofile-arcs>"
|
|
89
|
+
"$<$<OR:$<BOOL:${SVF_COVERAGE}>,$<BOOL:$ENV{SVF_COVERAGE}>>:-ftest-coverage>"
|
|
90
|
+
)
|
|
32
91
|
|
|
33
|
-
|
|
34
|
-
""
|
|
35
|
-
CACHE STRING "Create sanitizer build (address)")
|
|
92
|
+
# If building with sanitiser, load the given sanitiser mode
|
|
36
93
|
if(SVF_SANITIZE STREQUAL "address")
|
|
37
94
|
add_compile_options("-fno-omit-frame-pointer" "-fsanitize=address")
|
|
38
95
|
add_link_options("-fsanitize=address")
|
|
@@ -42,54 +99,88 @@ elseif(SVF_SANITIZE STREQUAL "thread")
|
|
|
42
99
|
add_link_options("-fsanitize=thread")
|
|
43
100
|
message(STATUS "Sanitizer build: ${SVF_SANITIZE}")
|
|
44
101
|
elseif(NOT SVF_SANITIZE STREQUAL "")
|
|
45
|
-
message(
|
|
102
|
+
message(FATAL_ERROR "Unknown sanitizer type: ${SVF_SANITIZE}")
|
|
46
103
|
endif()
|
|
47
104
|
|
|
105
|
+
# Check if the test-suite is present, if it is then build bc files and add testing to cmake build
|
|
106
|
+
if(EXISTS "${PROJECT_SOURCE_DIR}/Test-Suite")
|
|
107
|
+
include_directories(${PROJECT_SOURCE_DIR}/Test-Suite)
|
|
108
|
+
enable_testing()
|
|
109
|
+
add_subdirectory(Test-Suite)
|
|
110
|
+
include(CTest)
|
|
111
|
+
endif()
|
|
112
|
+
|
|
113
|
+
# Find Z3 and its include directory from the top-level include file
|
|
48
114
|
find_library(
|
|
49
115
|
Z3_LIBRARIES
|
|
116
|
+
REQUIRED
|
|
50
117
|
NAMES z3
|
|
51
118
|
HINTS ${Z3_DIR} ENV Z3_DIR
|
|
52
119
|
PATH_SUFFIXES bin lib)
|
|
53
120
|
find_path(
|
|
54
121
|
Z3_INCLUDES
|
|
122
|
+
REQUIRED
|
|
55
123
|
NAMES z3++.h
|
|
56
124
|
HINTS ${Z3_DIR} ENV Z3_DIR
|
|
57
125
|
PATH_SUFFIXES include z3)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
message(STATUS "Found Z3: ${Z3_LIBRARIES}")
|
|
62
|
-
message(STATUS "Z3 include dir: ${Z3_INCLUDES}")
|
|
126
|
+
message(STATUS "Z3 STATUS:
|
|
127
|
+
Z3 library file: ${Z3_LIBRARIES}
|
|
128
|
+
Z3 include directory: ${Z3_INCLUDES}")
|
|
63
129
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# checks if the test-suite is present, if it is then build bc files and add
|
|
68
|
-
# testing to cmake build
|
|
69
|
-
if(EXISTS "${PROJECT_SOURCE_DIR}/Test-Suite")
|
|
70
|
-
include_directories(${PROJECT_SOURCE_DIR}/Test-Suite)
|
|
71
|
-
enable_testing()
|
|
72
|
-
add_subdirectory(Test-Suite)
|
|
73
|
-
include(CTest)
|
|
74
|
-
endif()
|
|
130
|
+
# Add the Z3 include directory and link the Z3 library to all targets of SVF
|
|
131
|
+
link_libraries(${Z3_LIBRARIES})
|
|
132
|
+
include_directories(SYSTEM ${Z3_INCLUDES})
|
|
75
133
|
|
|
134
|
+
# Add the actual SVF and SVF-LLVM targets
|
|
76
135
|
add_subdirectory(svf)
|
|
77
136
|
add_subdirectory(svf-llvm)
|
|
78
137
|
|
|
79
138
|
# Whether RTTI/Exceptions are enabled currently depends on whether the LLVM instance used to build
|
|
80
139
|
# SVF had them enabled; since the LLVM instance is found in the "svf-llvm" subdirectory, it sets the
|
|
81
140
|
# below variables in its parent directory (i.e. for this CMakeLists.txt) so check them here
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
141
|
+
add_compile_definitions(
|
|
142
|
+
$<IF:$<BOOL:${SVF_ENABLE_RTTI}>,,-fno-rtti>
|
|
143
|
+
$<IF:$<BOOL:${SVF_ENABLE_EXCEPTIONS}>,,-fno-exceptions>
|
|
144
|
+
)
|
|
85
145
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
146
|
+
# Export the SVF target for including SVF from CMake using find_package(SVF)
|
|
147
|
+
include(CMakePackageConfigHelpers)
|
|
148
|
+
|
|
149
|
+
# Generate SVFConfig.cmake
|
|
150
|
+
configure_package_config_file(
|
|
151
|
+
.config.cmake.in
|
|
152
|
+
${CMAKE_CURRENT_BINARY_DIR}/SVFConfig.cmake
|
|
153
|
+
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SVF
|
|
154
|
+
PATH_VARS
|
|
155
|
+
SVF_INSTALL_ROOT
|
|
156
|
+
SVF_INSTALL_BIN_DIR
|
|
157
|
+
SVF_INSTALL_LIB_DIR
|
|
158
|
+
SVF_INSTALL_INCLUDE_DIR
|
|
159
|
+
SVF_INSTALL_EXTAPI_DIR
|
|
160
|
+
SVF_INSTALL_EXTAPI_FILE
|
|
161
|
+
)
|
|
89
162
|
|
|
90
|
-
#
|
|
91
|
-
|
|
163
|
+
# Generate SVFConfigVersion.cmake
|
|
164
|
+
write_basic_package_version_file(
|
|
165
|
+
"${CMAKE_CURRENT_BINARY_DIR}/SVFConfigVersion.cmake"
|
|
166
|
+
VERSION "${SVF_VERSION_MAJOR}.${SVF_VERSION_MINOR}"
|
|
167
|
+
COMPATIBILITY AnyNewerVersion
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# Install above CMake files as part of installation
|
|
92
171
|
install(
|
|
93
|
-
FILES
|
|
94
|
-
|
|
172
|
+
FILES
|
|
173
|
+
${CMAKE_CURRENT_BINARY_DIR}/SVFConfig.cmake
|
|
174
|
+
${CMAKE_CURRENT_BINARY_DIR}/SVFConfigVersion.cmake
|
|
175
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SVF
|
|
95
176
|
)
|
|
177
|
+
|
|
178
|
+
# Install CMake targets from different SVF subprojects so they can be found by find_package(SVF)
|
|
179
|
+
install(
|
|
180
|
+
EXPORT SVFTargets
|
|
181
|
+
FILE SVFTargets.cmake
|
|
182
|
+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SVF
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
# Export targets added to SVFTargets (set by install() command)
|
|
186
|
+
export(EXPORT SVFTargets FILE "${CMAKE_CURRENT_BINARY_DIR}/SVFTargets.cmake")
|
|
@@ -72,8 +72,6 @@ $(function() {
|
|
|
72
72
|
Functions</h2></td></tr>
|
|
73
73
|
<tr class="memitem:ab0c0fec5e777861a934894bc00fc585c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="CMakeLists_8txt.html#ab0c0fec5e777861a934894bc00fc585c">add_subdirectory</a> (SABER) add_subdirectory(WPA) add_subdirectory(Example) add_subdirectory(DDA) add_subdirectory(MTA) add_subdirectory(CFL) add_subdirectory(LLVM2SVF) set_target_properties(cfl dvf svf-ex llvm2svf mta saber wpa PROPERTIES RUNTIME_OUTPUT_DIRECTORY $</td></tr>
|
|
74
74
|
<tr class="separator:ab0c0fec5e777861a934894bc00fc585c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
75
|
-
<tr class="memitem:a9f6d70f6197845162ae5fd12f33f094a"><td class="memItemLeft" align="right" valign="top">bin </td><td class="memItemRight" valign="bottom"><a class="el" href="CMakeLists_8txt.html#a9f6d70f6197845162ae5fd12f33f094a">include</a> (GNUInstallDirs) install(TARGETS cfl dvf svf-ex llvm2svf mta saber wpa RUNTIME DESTINATION $</td></tr>
|
|
76
|
-
<tr class="separator:a9f6d70f6197845162ae5fd12f33f094a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
77
75
|
</table>
|
|
78
76
|
<h2 class="groupheader">Function Documentation</h2>
|
|
79
77
|
<a id="ab0c0fec5e777861a934894bc00fc585c"></a>
|
|
@@ -93,28 +91,7 @@ Functions</h2></td></tr>
|
|
|
93
91
|
</div><div class="memdoc">
|
|
94
92
|
|
|
95
93
|
<p class="definition">Definition at line <a class="el" href="CMakeLists_8txt_source.html#l00001">1</a> of file <a class="el" href="CMakeLists_8txt_source.html">CMakeLists.txt</a>.</p>
|
|
96
|
-
<div class="fragment"><div class="line"><a name="
|
|
97
|
-
</div><!-- fragment -->
|
|
98
|
-
</div>
|
|
99
|
-
</div>
|
|
100
|
-
<a id="a9f6d70f6197845162ae5fd12f33f094a"></a>
|
|
101
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a9f6d70f6197845162ae5fd12f33f094a">◆ </a></span>include()</h2>
|
|
102
|
-
|
|
103
|
-
<div class="memitem">
|
|
104
|
-
<div class="memproto">
|
|
105
|
-
<table class="memname">
|
|
106
|
-
<tr>
|
|
107
|
-
<td class="memname">bin include </td>
|
|
108
|
-
<td>(</td>
|
|
109
|
-
<td class="paramtype">GNUInstallDirs </td>
|
|
110
|
-
<td class="paramname"></td><td>)</td>
|
|
111
|
-
<td></td>
|
|
112
|
-
</tr>
|
|
113
|
-
</table>
|
|
114
|
-
</div><div class="memdoc">
|
|
115
|
-
|
|
116
|
-
<p class="definition">Definition at line <a class="el" href="CMakeLists_8txt_source.html#l00016">16</a> of file <a class="el" href="CMakeLists_8txt_source.html">CMakeLists.txt</a>.</p>
|
|
117
|
-
<div class="fragment"><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {CMAKE_INSTALL_BINDIR}</div>
|
|
94
|
+
<div class="fragment"><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  {CMAKE_BINARY_DIR}/bin</div>
|
|
118
95
|
</div><!-- fragment -->
|
|
119
96
|
</div>
|
|
120
97
|
</div>
|
|
@@ -117,8 +117,6 @@ Functions</h2></td></tr>
|
|
|
117
117
|
<tr class="separator:a559e62edd847a597c92f3acd9b8b6ba4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
118
118
|
<tr class="memitem:adcb0d3ff88a32d766b60a847f84871ec"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="extapi_8c.html#adcb0d3ff88a32d766b60a847f84871ec">__attribute__</a> ((annotate("MEMSET")))</td></tr>
|
|
119
119
|
<tr class="separator:adcb0d3ff88a32d766b60a847f84871ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
120
|
-
<tr class="memitem:a09f0eaec0f51d66148f8b81ea44e9f2a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="extapi_8c.html#a09f0eaec0f51d66148f8b81ea44e9f2a">__attribute__</a> ((annotate("MEMSET"), annotate("BUF_CHECK:Arg0, Arg2")))</td></tr>
|
|
121
|
-
<tr class="separator:a09f0eaec0f51d66148f8b81ea44e9f2a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
122
120
|
<tr class="memitem:ac8de243be63b5a590e4921642fd4bf4e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="extapi_8c.html#ac8de243be63b5a590e4921642fd4bf4e">__attribute__</a> ((annotate("STRCPY")))</td></tr>
|
|
123
121
|
<tr class="separator:ac8de243be63b5a590e4921642fd4bf4e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
124
122
|
<tr class="memitem:a3510ee3eaec8acfcf3ae0f084bb098c3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="extapi_8c.html#a3510ee3eaec8acfcf3ae0f084bb098c3">__attribute__</a> ((annotate("STRCAT")))</td></tr>
|
|
@@ -361,7 +359,7 @@ Functions</h2></td></tr>
|
|
|
361
359
|
</div>
|
|
362
360
|
<h2 class="groupheader">Function Documentation</h2>
|
|
363
361
|
<a id="acdc4a948c527401ff9433498a9757f03"></a>
|
|
364
|
-
<h2 class="memtitle"><span class="permalink"><a href="#acdc4a948c527401ff9433498a9757f03">◆ </a></span>__attribute__() <span class="overload">[1/
|
|
362
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acdc4a948c527401ff9433498a9757f03">◆ </a></span>__attribute__() <span class="overload">[1/16]</span></h2>
|
|
365
363
|
|
|
366
364
|
<div class="memitem">
|
|
367
365
|
<div class="memproto">
|
|
@@ -386,7 +384,7 @@ Functions</h2></td></tr>
|
|
|
386
384
|
</div>
|
|
387
385
|
</div>
|
|
388
386
|
<a id="a1a9dbf9c1aae63329912afd2c7e2cf4c"></a>
|
|
389
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a1a9dbf9c1aae63329912afd2c7e2cf4c">◆ </a></span>__attribute__() <span class="overload">[2/
|
|
387
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a1a9dbf9c1aae63329912afd2c7e2cf4c">◆ </a></span>__attribute__() <span class="overload">[2/16]</span></h2>
|
|
390
388
|
|
|
391
389
|
<div class="memitem">
|
|
392
390
|
<div class="memproto">
|
|
@@ -411,7 +409,7 @@ Functions</h2></td></tr>
|
|
|
411
409
|
</div>
|
|
412
410
|
</div>
|
|
413
411
|
<a id="a06951362ddd7447558e892464d726187"></a>
|
|
414
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a06951362ddd7447558e892464d726187">◆ </a></span>__attribute__() <span class="overload">[3/
|
|
412
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a06951362ddd7447558e892464d726187">◆ </a></span>__attribute__() <span class="overload">[3/16]</span></h2>
|
|
415
413
|
|
|
416
414
|
<div class="memitem">
|
|
417
415
|
<div class="memproto">
|
|
@@ -436,7 +434,7 @@ Functions</h2></td></tr>
|
|
|
436
434
|
</div>
|
|
437
435
|
</div>
|
|
438
436
|
<a id="a4a246cca542ae318b758081d5e0b41fe"></a>
|
|
439
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a4a246cca542ae318b758081d5e0b41fe">◆ </a></span>__attribute__() <span class="overload">[4/
|
|
437
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a4a246cca542ae318b758081d5e0b41fe">◆ </a></span>__attribute__() <span class="overload">[4/16]</span></h2>
|
|
440
438
|
|
|
441
439
|
<div class="memitem">
|
|
442
440
|
<div class="memproto">
|
|
@@ -461,7 +459,7 @@ Functions</h2></td></tr>
|
|
|
461
459
|
</div>
|
|
462
460
|
</div>
|
|
463
461
|
<a id="a3a547ecc92598d2d029246dab1630428"></a>
|
|
464
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a3a547ecc92598d2d029246dab1630428">◆ </a></span>__attribute__() <span class="overload">[5/
|
|
462
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3a547ecc92598d2d029246dab1630428">◆ </a></span>__attribute__() <span class="overload">[5/16]</span></h2>
|
|
465
463
|
|
|
466
464
|
<div class="memitem">
|
|
467
465
|
<div class="memproto">
|
|
@@ -486,7 +484,7 @@ Functions</h2></td></tr>
|
|
|
486
484
|
</div>
|
|
487
485
|
</div>
|
|
488
486
|
<a id="afdab9dcd0a3e6185c17c11ab0d5fc968"></a>
|
|
489
|
-
<h2 class="memtitle"><span class="permalink"><a href="#afdab9dcd0a3e6185c17c11ab0d5fc968">◆ </a></span>__attribute__() <span class="overload">[6/
|
|
487
|
+
<h2 class="memtitle"><span class="permalink"><a href="#afdab9dcd0a3e6185c17c11ab0d5fc968">◆ </a></span>__attribute__() <span class="overload">[6/16]</span></h2>
|
|
490
488
|
|
|
491
489
|
<div class="memitem">
|
|
492
490
|
<div class="memproto">
|
|
@@ -511,7 +509,7 @@ Functions</h2></td></tr>
|
|
|
511
509
|
</div>
|
|
512
510
|
</div>
|
|
513
511
|
<a id="afc1cad7cb40c599988237bf687c00929"></a>
|
|
514
|
-
<h2 class="memtitle"><span class="permalink"><a href="#afc1cad7cb40c599988237bf687c00929">◆ </a></span>__attribute__() <span class="overload">[7/
|
|
512
|
+
<h2 class="memtitle"><span class="permalink"><a href="#afc1cad7cb40c599988237bf687c00929">◆ </a></span>__attribute__() <span class="overload">[7/16]</span></h2>
|
|
515
513
|
|
|
516
514
|
<div class="memitem">
|
|
517
515
|
<div class="memproto">
|
|
@@ -536,7 +534,7 @@ Functions</h2></td></tr>
|
|
|
536
534
|
</div>
|
|
537
535
|
</div>
|
|
538
536
|
<a id="a0d2d52b60870b500c2b4844a0ee2c90d"></a>
|
|
539
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a0d2d52b60870b500c2b4844a0ee2c90d">◆ </a></span>__attribute__() <span class="overload">[8/
|
|
537
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a0d2d52b60870b500c2b4844a0ee2c90d">◆ </a></span>__attribute__() <span class="overload">[8/16]</span></h2>
|
|
540
538
|
|
|
541
539
|
<div class="memitem">
|
|
542
540
|
<div class="memproto">
|
|
@@ -561,7 +559,7 @@ Functions</h2></td></tr>
|
|
|
561
559
|
</div>
|
|
562
560
|
</div>
|
|
563
561
|
<a id="a559e62edd847a597c92f3acd9b8b6ba4"></a>
|
|
564
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a559e62edd847a597c92f3acd9b8b6ba4">◆ </a></span>__attribute__() <span class="overload">[9/
|
|
562
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a559e62edd847a597c92f3acd9b8b6ba4">◆ </a></span>__attribute__() <span class="overload">[9/16]</span></h2>
|
|
565
563
|
|
|
566
564
|
<div class="memitem">
|
|
567
565
|
<div class="memproto">
|
|
@@ -582,7 +580,7 @@ Functions</h2></td></tr>
|
|
|
582
580
|
</div>
|
|
583
581
|
</div>
|
|
584
582
|
<a id="adcb0d3ff88a32d766b60a847f84871ec"></a>
|
|
585
|
-
<h2 class="memtitle"><span class="permalink"><a href="#adcb0d3ff88a32d766b60a847f84871ec">◆ </a></span>__attribute__() <span class="overload">[10/
|
|
583
|
+
<h2 class="memtitle"><span class="permalink"><a href="#adcb0d3ff88a32d766b60a847f84871ec">◆ </a></span>__attribute__() <span class="overload">[10/16]</span></h2>
|
|
586
584
|
|
|
587
585
|
<div class="memitem">
|
|
588
586
|
<div class="memproto">
|
|
@@ -602,32 +600,8 @@ Functions</h2></td></tr>
|
|
|
602
600
|
</div><!-- fragment -->
|
|
603
601
|
</div>
|
|
604
602
|
</div>
|
|
605
|
-
<a id="a09f0eaec0f51d66148f8b81ea44e9f2a"></a>
|
|
606
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a09f0eaec0f51d66148f8b81ea44e9f2a">◆ </a></span>__attribute__() <span class="overload">[11/17]</span></h2>
|
|
607
|
-
|
|
608
|
-
<div class="memitem">
|
|
609
|
-
<div class="memproto">
|
|
610
|
-
<table class="memname">
|
|
611
|
-
<tr>
|
|
612
|
-
<td class="memname">__attribute__ </td>
|
|
613
|
-
<td>(</td>
|
|
614
|
-
<td class="paramtype">(annotate("MEMSET"), annotate("BUF_CHECK:Arg0, Arg2")) </td>
|
|
615
|
-
<td class="paramname"></td><td>)</td>
|
|
616
|
-
<td></td>
|
|
617
|
-
</tr>
|
|
618
|
-
</table>
|
|
619
|
-
</div><div class="memdoc">
|
|
620
|
-
|
|
621
|
-
<p class="definition">Definition at line <a class="el" href="extapi_8c_source.html#l00616">616</a> of file <a class="el" href="extapi_8c_source.html">extapi.c</a>.</p>
|
|
622
|
-
<div class="fragment"><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  :Arg0, Arg2<span class="stringliteral">")))</span></div>
|
|
623
|
-
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="stringliteral">char *wmemset(wchar_t * dst, wchar_t elem, int sz, int flag) {</span></div>
|
|
624
|
-
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="stringliteral"> return NULL;</span></div>
|
|
625
|
-
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="stringliteral">}</span></div>
|
|
626
|
-
</div><!-- fragment -->
|
|
627
|
-
</div>
|
|
628
|
-
</div>
|
|
629
603
|
<a id="ad32a60532b1ae70c19221d180ade9b74"></a>
|
|
630
|
-
<h2 class="memtitle"><span class="permalink"><a href="#ad32a60532b1ae70c19221d180ade9b74">◆ </a></span>__attribute__() <span class="overload">[
|
|
604
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad32a60532b1ae70c19221d180ade9b74">◆ </a></span>__attribute__() <span class="overload">[11/16]</span></h2>
|
|
631
605
|
|
|
632
606
|
<div class="memitem">
|
|
633
607
|
<div class="memproto">
|
|
@@ -652,7 +626,7 @@ Functions</h2></td></tr>
|
|
|
652
626
|
</div>
|
|
653
627
|
</div>
|
|
654
628
|
<a id="a1e7f01f19313d2c4c4f9b18a02574c93"></a>
|
|
655
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a1e7f01f19313d2c4c4f9b18a02574c93">◆ </a></span>__attribute__() <span class="overload">[
|
|
629
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a1e7f01f19313d2c4c4f9b18a02574c93">◆ </a></span>__attribute__() <span class="overload">[12/16]</span></h2>
|
|
656
630
|
|
|
657
631
|
<div class="memitem">
|
|
658
632
|
<div class="memproto">
|
|
@@ -677,7 +651,7 @@ Functions</h2></td></tr>
|
|
|
677
651
|
</div>
|
|
678
652
|
</div>
|
|
679
653
|
<a id="a2053c6691b7c7b2e199d342ac2cbdc54"></a>
|
|
680
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a2053c6691b7c7b2e199d342ac2cbdc54">◆ </a></span>__attribute__() <span class="overload">[
|
|
654
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2053c6691b7c7b2e199d342ac2cbdc54">◆ </a></span>__attribute__() <span class="overload">[13/16]</span></h2>
|
|
681
655
|
|
|
682
656
|
<div class="memitem">
|
|
683
657
|
<div class="memproto">
|
|
@@ -702,7 +676,7 @@ Functions</h2></td></tr>
|
|
|
702
676
|
</div>
|
|
703
677
|
</div>
|
|
704
678
|
<a id="a71fa8bd2eab45f458251611d08c1db7c"></a>
|
|
705
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a71fa8bd2eab45f458251611d08c1db7c">◆ </a></span>__attribute__() <span class="overload">[
|
|
679
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a71fa8bd2eab45f458251611d08c1db7c">◆ </a></span>__attribute__() <span class="overload">[14/16]</span></h2>
|
|
706
680
|
|
|
707
681
|
<div class="memitem">
|
|
708
682
|
<div class="memproto">
|
|
@@ -727,7 +701,7 @@ Functions</h2></td></tr>
|
|
|
727
701
|
</div>
|
|
728
702
|
</div>
|
|
729
703
|
<a id="a3510ee3eaec8acfcf3ae0f084bb098c3"></a>
|
|
730
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a3510ee3eaec8acfcf3ae0f084bb098c3">◆ </a></span>__attribute__() <span class="overload">[16
|
|
704
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3510ee3eaec8acfcf3ae0f084bb098c3">◆ </a></span>__attribute__() <span class="overload">[15/16]</span></h2>
|
|
731
705
|
|
|
732
706
|
<div class="memitem">
|
|
733
707
|
<div class="memproto">
|
|
@@ -750,7 +724,7 @@ Functions</h2></td></tr>
|
|
|
750
724
|
</div>
|
|
751
725
|
</div>
|
|
752
726
|
<a id="ac8de243be63b5a590e4921642fd4bf4e"></a>
|
|
753
|
-
<h2 class="memtitle"><span class="permalink"><a href="#ac8de243be63b5a590e4921642fd4bf4e">◆ </a></span>__attribute__() <span class="overload">[
|
|
727
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac8de243be63b5a590e4921642fd4bf4e">◆ </a></span>__attribute__() <span class="overload">[16/16]</span></h2>
|
|
754
728
|
|
|
755
729
|
<div class="memitem">
|
|
756
730
|
<div class="memproto">
|
|
@@ -684,7 +684,7 @@ $(function() {
|
|
|
684
684
|
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">return</span> <a class="code" href="extapi_8c.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>;</div>
|
|
685
685
|
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> }</div>
|
|
686
686
|
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  </div>
|
|
687
|
-
<div class="line"><a name="l00616"></a><span class="lineno"
|
|
687
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <a class="code" href="extapi_8c.html#a3a547ecc92598d2d029246dab1630428">__attribute__</a>((annotate(<span class="stringliteral">"MEMSET"</span>)))</div>
|
|
688
688
|
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> char *wmemset(<span class="keywordtype">wchar_t</span> * dst, <span class="keywordtype">wchar_t</span> elem, <span class="keywordtype">int</span> sz, <span class="keywordtype">int</span> flag) {</div>
|
|
689
689
|
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">return</span> <a class="code" href="extapi_8c.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>;</div>
|
|
690
690
|
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> }</div>
|
|
@@ -67,7 +67,7 @@ $(function() {
|
|
|
67
67
|
<li>__attribute__()
|
|
68
68
|
: <a class="el" href="extapi_8c.html#a3a547ecc92598d2d029246dab1630428">extapi.c</a>
|
|
69
69
|
, <a class="el" href="SVFValue_8cpp.html#a81025d840e81f5c9a9c6b70a5377ac6f">SVFValue.cpp</a>
|
|
70
|
-
, <a class="el" href="extapi_8c.html#
|
|
70
|
+
, <a class="el" href="extapi_8c.html#acdc4a948c527401ff9433498a9757f03">extapi.c</a>
|
|
71
71
|
</li>
|
|
72
72
|
<li>__ctype_b_loc()
|
|
73
73
|
: <a class="el" href="extapi_8c.html#ab9defe9717c79e55af6a95e6ce7addb2">extapi.c</a>
|
|
@@ -88,8 +88,8 @@ $(function() {
|
|
|
88
88
|
: <a class="el" href="extapi_8c.html#a78579ef16de38e7c4d6b6c31662f7741">extapi.c</a>
|
|
89
89
|
</li>
|
|
90
90
|
<li>__pad0__
|
|
91
|
-
: <a class="el" href="
|
|
92
|
-
, <a class="el" href="
|
|
91
|
+
: <a class="el" href="PAGGrammar_8txt.html#ad8c410068267cc7ccd0765a7bd51a2bf">PAGGrammar.txt</a>
|
|
92
|
+
, <a class="el" href="cJSON_8cpp.html#a063ce73c04d527a0f7ee43fe3ddebdd3">cJSON.cpp</a>
|
|
93
93
|
</li>
|
|
94
94
|
<li>__pad1__
|
|
95
95
|
: <a class="el" href="PEGGrammar_8txt.html#a13f26ce59806bd1663350be4f8888464">PEGGrammar.txt</a>
|
|
@@ -67,7 +67,7 @@ $(function() {
|
|
|
67
67
|
<li>__attribute__()
|
|
68
68
|
: <a class="el" href="extapi_8c.html#a3a547ecc92598d2d029246dab1630428">extapi.c</a>
|
|
69
69
|
, <a class="el" href="SVFValue_8cpp.html#a81025d840e81f5c9a9c6b70a5377ac6f">SVFValue.cpp</a>
|
|
70
|
-
, <a class="el" href="extapi_8c.html#
|
|
70
|
+
, <a class="el" href="extapi_8c.html#acdc4a948c527401ff9433498a9757f03">extapi.c</a>
|
|
71
71
|
</li>
|
|
72
72
|
<li>__ctype_b_loc()
|
|
73
73
|
: <a class="el" href="extapi_8c.html#ab9defe9717c79e55af6a95e6ce7addb2">extapi.c</a>
|
|
@@ -67,9 +67,6 @@ $(function() {
|
|
|
67
67
|
<li>if()
|
|
68
68
|
: <a class="el" href="cJSON_8cpp.html#a90e6101bee79e6d18c535254695e91e3">cJSON.cpp</a>
|
|
69
69
|
</li>
|
|
70
|
-
<li>include()
|
|
71
|
-
: <a class="el" href="CMakeLists_8txt.html#a9f6d70f6197845162ae5fd12f33f094a">CMakeLists.txt</a>
|
|
72
|
-
</li>
|
|
73
70
|
<li>indent()
|
|
74
71
|
: <a class="el" href="DCHG_8cpp.html#a6673217180d3b6fb73c7c6387777f269">DCHG.cpp</a>
|
|
75
72
|
</li>
|
|
@@ -67,9 +67,6 @@ $(function() {
|
|
|
67
67
|
<li>if()
|
|
68
68
|
: <a class="el" href="cJSON_8cpp.html#a90e6101bee79e6d18c535254695e91e3">cJSON.cpp</a>
|
|
69
69
|
</li>
|
|
70
|
-
<li>include()
|
|
71
|
-
: <a class="el" href="CMakeLists_8txt.html#a9f6d70f6197845162ae5fd12f33f094a">CMakeLists.txt</a>
|
|
72
|
-
</li>
|
|
73
70
|
<li>indent()
|
|
74
71
|
: <a class="el" href="DCHG_8cpp.html#a6673217180d3b6fb73c7c6387777f269">DCHG.cpp</a>
|
|
75
72
|
</li>
|
|
@@ -139,8 +136,8 @@ $(function() {
|
|
|
139
136
|
: <a class="el" href="extapi_8c.html#adaf3aadefe3fc4fb07b6be0d7b880f53">extapi.c</a>
|
|
140
137
|
</li>
|
|
141
138
|
<li>item
|
|
142
|
-
: <a class="el" href="
|
|
143
|
-
, <a class="el" href="
|
|
139
|
+
: <a class="el" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">cJSON.h</a>
|
|
140
|
+
, <a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">cJSON.cpp</a>
|
|
144
141
|
</li>
|
|
145
142
|
</ul>
|
|
146
143
|
</div><!-- contents -->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
var searchData=
|
|
2
2
|
[
|
|
3
|
-
['_5f_5fattribute_5f_5f_0',['__attribute__',['../extapi_8c.html#a3a547ecc92598d2d029246dab1630428',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg0"))): extapi.c'],['../extapi_8c.html#a0d2d52b60870b500c2b4844a0ee2c90d',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#afdab9dcd0a3e6185c17c11ab0d5fc968',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg0*Arg1"))): extapi.c'],['../extapi_8c.html#afc1cad7cb40c599988237bf687c00929',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg1"))): extapi.c'],['../extapi_8c.html#a71fa8bd2eab45f458251611d08c1db7c',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a1e7f01f19313d2c4c4f9b18a02574c93',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:Arg1"))): extapi.c'],['../extapi_8c.html#a2053c6691b7c7b2e199d342ac2cbdc54',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:Arg1*Arg2"))): extapi.c'],['../extapi_8c.html#a1a9dbf9c1aae63329912afd2c7e2cf4c',1,'__attribute__((annotate("ALLOC_ARG0"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#acdc4a948c527401ff9433498a9757f03',1,'__attribute__((annotate("ALLOC_ARG0"), annotate("AllocSize:Arg2"))): extapi.c'],['../extapi_8c.html#a06951362ddd7447558e892464d726187',1,'__attribute__((annotate("ALLOC_ARG1"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a4a246cca542ae318b758081d5e0b41fe',1,'__attribute__((annotate("ALLOC_ARG2"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a559e62edd847a597c92f3acd9b8b6ba4',1,'__attribute__((annotate("MEMCPY"))): extapi.c'],['../extapi_8c.html#adcb0d3ff88a32d766b60a847f84871ec',1,'__attribute__((annotate("MEMSET"))): extapi.c'],['../extapi_8c.html#
|
|
3
|
+
['_5f_5fattribute_5f_5f_0',['__attribute__',['../extapi_8c.html#a3a547ecc92598d2d029246dab1630428',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg0"))): extapi.c'],['../extapi_8c.html#a0d2d52b60870b500c2b4844a0ee2c90d',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#afdab9dcd0a3e6185c17c11ab0d5fc968',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg0*Arg1"))): extapi.c'],['../extapi_8c.html#afc1cad7cb40c599988237bf687c00929',1,'__attribute__((annotate("ALLOC_RET"), annotate("AllocSize:Arg1"))): extapi.c'],['../extapi_8c.html#a71fa8bd2eab45f458251611d08c1db7c',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a1e7f01f19313d2c4c4f9b18a02574c93',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:Arg1"))): extapi.c'],['../extapi_8c.html#a2053c6691b7c7b2e199d342ac2cbdc54',1,'__attribute__((annotate("REALLOC_RET"), annotate("AllocSize:Arg1*Arg2"))): extapi.c'],['../extapi_8c.html#a1a9dbf9c1aae63329912afd2c7e2cf4c',1,'__attribute__((annotate("ALLOC_ARG0"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#acdc4a948c527401ff9433498a9757f03',1,'__attribute__((annotate("ALLOC_ARG0"), annotate("AllocSize:Arg2"))): extapi.c'],['../extapi_8c.html#a06951362ddd7447558e892464d726187',1,'__attribute__((annotate("ALLOC_ARG1"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a4a246cca542ae318b758081d5e0b41fe',1,'__attribute__((annotate("ALLOC_ARG2"), annotate("AllocSize:UNKNOWN"))): extapi.c'],['../extapi_8c.html#a559e62edd847a597c92f3acd9b8b6ba4',1,'__attribute__((annotate("MEMCPY"))): extapi.c'],['../extapi_8c.html#adcb0d3ff88a32d766b60a847f84871ec',1,'__attribute__((annotate("MEMSET"))): extapi.c'],['../extapi_8c.html#ac8de243be63b5a590e4921642fd4bf4e',1,'__attribute__((annotate("STRCPY"))): extapi.c'],['../extapi_8c.html#a3510ee3eaec8acfcf3ae0f084bb098c3',1,'__attribute__((annotate("STRCAT"))): extapi.c'],['../extapi_8c.html#ad32a60532b1ae70c19221d180ade9b74',1,'__attribute__((annotate("OVERWRITE"))): extapi.c'],['../namespaceSVF.html#a49a1be0ba69daf3b4f695f41ad812825',1,'SVF::__attribute__()'],['../SVFValue_8cpp.html#a81025d840e81f5c9a9c6b70a5377ac6f',1,'__attribute__(): SVFValue.cpp']]],
|
|
4
4
|
['_5f_5fctype_5fb_5floc_1',['__ctype_b_loc',['../extapi_8c.html#ab9defe9717c79e55af6a95e6ce7addb2',1,'extapi.c']]],
|
|
5
5
|
['_5f_5fctype_5ftolower_5floc_2',['__ctype_tolower_loc',['../extapi_8c.html#ab80118dda05e64167867c0a7ee84bec7',1,'extapi.c']]],
|
|
6
6
|
['_5f_5fctype_5ftoupper_5floc_3',['__ctype_toupper_loc',['../extapi_8c.html#a45737a9e57d118eb6f6298e4411e3d3d',1,'extapi.c']]],
|