svf-tools 1.0.834 → 1.0.835
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/CMakeLists.txt +24 -28
- package/SVF-doxygen/html/CFL_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CMakeLists_8txt.html +53 -0
- package/SVF-doxygen/html/DDA_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/Example_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/ExtAPI_8cpp.html +53 -52
- package/SVF-doxygen/html/ExtAPI_8cpp_source.html +231 -219
- package/SVF-doxygen/html/ExtAPI_8h.html +1 -27
- package/SVF-doxygen/html/ExtAPI_8h_source.html +71 -73
- package/SVF-doxygen/html/LLVM2SVF_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTA_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/SABER_2CMakeLists_8txt.html +8 -8
- package/SVF-doxygen/html/SVFFileSystem_8h.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +6 -6
- package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8h.html +1 -1
- package/SVF-doxygen/html/SVFUtil_8h_source.html +10 -10
- package/SVF-doxygen/html/WPA_2CMakeLists_8txt.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ExtAPI.html +141 -130
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/globals_a.html +6 -0
- package/SVF-doxygen/html/globals_d.html +0 -3
- package/SVF-doxygen/html/globals_defs.html +0 -3
- package/SVF-doxygen/html/globals_func_a.html +6 -0
- package/SVF-doxygen/html/globals_func_i.html +4 -8
- package/SVF-doxygen/html/globals_func_s.html +1 -1
- package/SVF-doxygen/html/globals_i.html +9 -11
- package/SVF-doxygen/html/globals_s.html +1 -1
- package/SVF-doxygen/html/namespaceSVF.html +3 -2
- package/SVF-doxygen/html/search/all_1.js +453 -451
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +223 -223
- package/SVF-doxygen/html/search/all_12.js +553 -553
- package/SVF-doxygen/html/search/all_13.js +192 -192
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +167 -167
- 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 +172 -172
- package/SVF-doxygen/html/search/all_2.js +171 -171
- package/SVF-doxygen/html/search/all_3.js +643 -643
- package/SVF-doxygen/html/search/all_4.js +235 -236
- package/SVF-doxygen/html/search/all_5.js +119 -119
- package/SVF-doxygen/html/search/all_6.js +226 -226
- package/SVF-doxygen/html/search/all_7.js +1046 -1046
- package/SVF-doxygen/html/search/all_8.js +198 -198
- package/SVF-doxygen/html/search/all_9.js +608 -607
- 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 +198 -198
- 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 +80 -80
- 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 -21
- 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 +9 -9
- 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 +55 -55
- 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 -360
- 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 +172 -172
- package/SVF-doxygen/html/search/functions_2.js +89 -89
- package/SVF-doxygen/html/search/functions_3.js +258 -258
- 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 +149 -149
- package/SVF-doxygen/html/search/functions_9.js +424 -423
- 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 +2 -2
- 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 +61 -61
- 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 +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- 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 +55 -55
- 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 +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/build.sh +4 -1
- package/package.json +1 -1
- package/setup.sh +9 -3
- package/svf/CMakeLists.txt +16 -2
- package/svf/include/Util/ExtAPI.h +0 -2
- package/svf/lib/Util/ExtAPI.cpp +29 -16
- package/svf-llvm/CMakeLists.txt +106 -43
- package/svf-llvm/tools/CFL/CMakeLists.txt +2 -10
- package/svf-llvm/tools/CMakeLists.txt +15 -16
- package/svf-llvm/tools/DDA/CMakeLists.txt +2 -10
- package/svf-llvm/tools/Example/CMakeLists.txt +2 -10
- package/svf-llvm/tools/LLVM2SVF/CMakeLists.txt +2 -10
- package/svf-llvm/tools/MTA/CMakeLists.txt +2 -12
- package/svf-llvm/tools/SABER/CMakeLists.txt +2 -10
- package/svf-llvm/tools/WPA/CMakeLists.txt +2 -10
package/CMakeLists.txt
CHANGED
|
@@ -2,21 +2,17 @@ cmake_minimum_required(VERSION 3.13.4)
|
|
|
2
2
|
|
|
3
3
|
project("SVF")
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
${PROJECT_BINARY_DIR}/include/Util/config.h)
|
|
5
|
+
message(STATUS "Using CMake with generator: ${CMAKE_GENERATOR}")
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
# and the -fno-rtti flag
|
|
10
|
-
set(CMAKE_CXX_STANDARD 14)
|
|
11
|
-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
12
|
-
# add -std=gnu++14
|
|
13
|
-
set(CMAKE_CXX_EXTENSIONS ON)
|
|
14
|
-
|
|
15
|
-
add_compile_options("-fno-rtti")
|
|
16
|
-
add_compile_options("-fno-exceptions")
|
|
7
|
+
configure_file(${PROJECT_SOURCE_DIR}/.config.in ${PROJECT_BINARY_DIR}/include/Util/config.h)
|
|
17
8
|
|
|
18
9
|
# Treat compiler warnings as errors
|
|
19
|
-
add_compile_options("-Werror" "-Wall")
|
|
10
|
+
add_compile_options("-Werror" "-Wall" "-Wno-deprecated-declarations")
|
|
11
|
+
|
|
12
|
+
# Build SVF with C++ standard C++17
|
|
13
|
+
set(CMAKE_CXX_STANDARD 17)
|
|
14
|
+
set(CMAKE_CXX_EXTENSIONS ON)
|
|
15
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
20
16
|
|
|
21
17
|
# Keep assertions enabled if requested
|
|
22
18
|
option(SVF_ENABLE_ASSERTIONS "Always enable assertions")
|
|
@@ -80,20 +76,20 @@ endif()
|
|
|
80
76
|
add_subdirectory(svf)
|
|
81
77
|
add_subdirectory(svf-llvm)
|
|
82
78
|
|
|
79
|
+
# Whether RTTI/Exceptions are enabled currently depends on whether the LLVM instance used to build
|
|
80
|
+
# SVF had them enabled; since the LLVM instance is found in the "svf-llvm" subdirectory, it sets the
|
|
81
|
+
# below variables in its parent directory (i.e. for this CMakeLists.txt) so check them here
|
|
82
|
+
if(SVF_NO_RTTI)
|
|
83
|
+
add_compile_options("-fno-rtti")
|
|
84
|
+
endif()
|
|
85
|
+
|
|
86
|
+
if(SVF_NO_EH)
|
|
87
|
+
add_compile_options("-fno-exceptions")
|
|
88
|
+
endif()
|
|
89
|
+
|
|
90
|
+
# Install generated configuration header (see `configure_file()`) to top-level include dir of SVF
|
|
91
|
+
include(GNUInstallDirs)
|
|
83
92
|
install(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
DESTINATION include/svf
|
|
88
|
-
FILES_MATCHING
|
|
89
|
-
PATTERN "**/*.h")
|
|
90
|
-
|
|
91
|
-
# Compile extapi.c to extapi.bc
|
|
92
|
-
find_path(LLVM_CLANG_DIR
|
|
93
|
-
NAMES clang llvm
|
|
94
|
-
HINTS ${LLVM_DIR} ENV LLVM_DIR
|
|
95
|
-
PATH_SUFFIXES bin)
|
|
96
|
-
add_custom_target(extapi_ir ALL
|
|
97
|
-
COMMAND ${LLVM_CLANG_DIR}/clang -w -S -c -Xclang -disable-O0-optnone -fno-discard-value-names -emit-llvm ${PROJECT_SOURCE_DIR}/svf-llvm/lib/extapi.c -o ${PROJECT_BINARY_DIR}/svf-llvm/extapi.bc
|
|
98
|
-
DEPENDS ${PROJECT_SOURCE_DIR}/svf-llvm/lib/extapi.c
|
|
99
|
-
)
|
|
93
|
+
FILES ${PROJECT_BINARY_DIR}/include/Util/config.h
|
|
94
|
+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/svf/Util
|
|
95
|
+
)
|
|
@@ -70,28 +70,28 @@ $(function() {
|
|
|
70
70
|
<table class="memberdecls">
|
|
71
71
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
72
72
|
Functions</h2></td></tr>
|
|
73
|
-
<tr class="memitem:
|
|
74
|
-
<tr class="separator:
|
|
73
|
+
<tr class="memitem:a2805f8077e1ba63166e6ed84c19be6dd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="CFL_2CMakeLists_8txt.html#a2805f8077e1ba63166e6ed84c19be6dd">add_llvm_executable</a> (cfl cfl.cpp) target_link_libraries(cfl PUBLIC $</td></tr>
|
|
74
|
+
<tr class="separator:a2805f8077e1ba63166e6ed84c19be6dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
75
75
|
</table>
|
|
76
76
|
<h2 class="groupheader">Function Documentation</h2>
|
|
77
|
-
<a id="
|
|
78
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
77
|
+
<a id="a2805f8077e1ba63166e6ed84c19be6dd"></a>
|
|
78
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2805f8077e1ba63166e6ed84c19be6dd">◆ </a></span>add_llvm_executable()</h2>
|
|
79
79
|
|
|
80
80
|
<div class="memitem">
|
|
81
81
|
<div class="memproto">
|
|
82
82
|
<table class="memname">
|
|
83
83
|
<tr>
|
|
84
|
-
<td class="memname">
|
|
84
|
+
<td class="memname">add_llvm_executable </td>
|
|
85
85
|
<td>(</td>
|
|
86
|
-
<td class="paramtype">
|
|
87
|
-
<td class="paramname"><em>
|
|
86
|
+
<td class="paramtype">cfl cfl. </td>
|
|
87
|
+
<td class="paramname"><em>cpp</em></td><td>)</td>
|
|
88
88
|
<td></td>
|
|
89
89
|
</tr>
|
|
90
90
|
</table>
|
|
91
91
|
</div><div class="memdoc">
|
|
92
92
|
|
|
93
93
|
<p class="definition">Definition at line <a class="el" href="CFL_2CMakeLists_8txt_source.html#l00001">1</a> of file <a class="el" href="CFL_2CMakeLists_8txt_source.html">CMakeLists.txt</a>.</p>
|
|
94
|
-
<div class="fragment"><div class="line"><a name="
|
|
94
|
+
<div class="fragment"><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  {llvm_libs} SvfLLVM)</div>
|
|
95
95
|
</div><!-- fragment -->
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -688,7 +688,7 @@ $(function() {
|
|
|
688
688
|
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">struct </span>DemangledName dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">demangle</a>(f-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>());</div>
|
|
689
689
|
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  fNameSet.insert(pair<string, const SVFFunction*>(dname.funcName, f));</div>
|
|
690
690
|
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  }</div>
|
|
691
|
-
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">for</span> (<a class="code" href="WPA_2CMakeLists_8txt.html#
|
|
691
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">for</span> (<a class="code" href="WPA_2CMakeLists_8txt.html#a5b660868031b6dee85d01fea51ef09a5">set</a><pair<string, const SVFFunction*>>::iterator it = fNameSet.begin(),</div>
|
|
692
692
|
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  eit = fNameSet.end(); it != eit; ++it)</div>
|
|
693
693
|
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  {</div>
|
|
694
694
|
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  chg->virtualFunctionToIDMap[it->second] = chg->vfID++;</div>
|
|
@@ -799,6 +799,7 @@ $(function() {
|
|
|
799
799
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a4f803756f0a73e8564d9544ce27be1c9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4f803756f0a73e8564d9544ce27be1c9">SVF::LLVMUtil::getVtblStruct</a></div><div class="ttdeci">const ConstantStruct * getVtblStruct(const GlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00963">LLVMUtil.cpp:963</a></div></div>
|
|
800
800
|
<div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00144">BasicTypes.h:144</a></div></div>
|
|
801
801
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_aa72c4509da3bfd2a3c656da38fe36c81"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81">SVF::CHNode::setVTable</a></div><div class="ttdeci">void setVTable(const SVFGlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00189">CHG.h:189</a></div></div>
|
|
802
|
+
<div class="ttc" id="aWPA_2CMakeLists_8txt_html_a5b660868031b6dee85d01fea51ef09a5"><div class="ttname"><a href="WPA_2CMakeLists_8txt.html#a5b660868031b6dee85d01fea51ef09a5">set</a></div><div class="ttdeci">set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) add_llvm_executable(wpa wpa.cpp) target_link_libraries(wpa PUBLIC $</div><div class="ttdef"><b>Definition:</b> <a href="WPA_2CMakeLists_8txt_source.html#l00001">CMakeLists.txt:1</a></div></div>
|
|
802
803
|
<div class="ttc" id="anamespaceSVF_html_a5ae718cba37d8e34d2946530dc098c8e"><div class="ttname"><a href="namespaceSVF.html#a5ae718cba37d8e34d2946530dc098c8e">SVF::ConstantArray</a></div><div class="ttdeci">llvm::ConstantArray ConstantArray</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00121">BasicTypes.h:121</a></div></div>
|
|
803
804
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a65112fa6d1b2bc1c7e9c956ec9b91919"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a65112fa6d1b2bc1c7e9c956ec9b91919">SVF::CHGBuilder::getInstancesAndDescendants</a></div><div class="ttdeci">const CHGraph::CHNodeSetTy & getInstancesAndDescendants(const std::string &className)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00295">CHGBuilder.cpp:295</a></div></div>
|
|
804
805
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_aa4af6538c9994ec54a7b82691f846a31"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31">SVF::CHNode::FuncVector</a></div><div class="ttdeci">std::vector< const SVFFunction * > FuncVector</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00121">CHG.h:121</a></div></div>
|
|
@@ -839,7 +840,6 @@ $(function() {
|
|
|
839
840
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_a00343177422c8d84d707432d0c483438"><div class="ttname"><a href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438">SVF::CHNode::setTemplate</a></div><div class="ttdeci">void setTemplate()</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00156">CHG.h:156</a></div></div>
|
|
840
841
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a87170f2cf98c6094491b8fbafdebec14"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a87170f2cf98c6094491b8fbafdebec14">SVF::CHGBuilder::addFuncToFuncVector</a></div><div class="ttdeci">void addFuncToFuncVector(CHNode::FuncVector &v, const Function *f)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00693">CHGBuilder.cpp:693</a></div></div>
|
|
841
842
|
<div class="ttc" id="anamespaceSVF_html_a7e230c0cba2e3a7c2e5a5f2ee7d88af9"><div class="ttname"><a href="namespaceSVF.html#a7e230c0cba2e3a7c2e5a5f2ee7d88af9">SVF::Constant</a></div><div class="ttdeci">llvm::Constant Constant</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00122">BasicTypes.h:122</a></div></div>
|
|
842
|
-
<div class="ttc" id="aWPA_2CMakeLists_8txt_html_acb857077b5bb0b1d50ed7b3864b3b6cf"><div class="ttname"><a href="WPA_2CMakeLists_8txt.html#acb857077b5bb0b1d50ed7b3864b3b6cf">set</a></div><div class="ttdeci">set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) if(DEFINED IN_SOURCE_BUILD) add_llvm_tool(wpa wpa.cpp) else() add_executable(wpa wpa.cpp) target_link_libraries(wpa SvfLLVM $</div><div class="ttdef"><b>Definition:</b> <a href="WPA_2CMakeLists_8txt_source.html#l00001">CMakeLists.txt:1</a></div></div>
|
|
843
843
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ae0f374d110eefcfcf4c196c85db6c0d2"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ae0f374d110eefcfcf4c196c85db6c0d2">SVF::cppUtil::getClassNameFromVtblObj</a></div><div class="ttdeci">std::string getClassNameFromVtblObj(const std::string &vtblName)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00197">CppUtil.cpp:197</a></div></div>
|
|
844
844
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00197">GenericGraph.h:197</a></div></div>
|
|
845
845
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aa841a295ec803b6a1f2bd248f63f863f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aa841a295ec803b6a1f2bd248f63f863f">SVF::LLVMUtil::getClassNameOfThisPtr</a></div><div class="ttdeci">std::string getClassNameOfThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01227">LLVMUtil.cpp:1227</a></div></div>
|
|
@@ -61,10 +61,63 @@ $(function() {
|
|
|
61
61
|
|
|
62
62
|
</div><!-- top -->
|
|
63
63
|
<div class="header">
|
|
64
|
+
<div class="summary">
|
|
65
|
+
<a href="#func-members">Functions</a> </div>
|
|
64
66
|
<div class="headertitle">
|
|
65
67
|
<div class="title">/home/runner/work/SVF/SVF/svf-llvm/tools/CMakeLists.txt File Reference</div> </div>
|
|
66
68
|
</div><!--header-->
|
|
67
69
|
<div class="contents">
|
|
70
|
+
<table class="memberdecls">
|
|
71
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
72
|
+
Functions</h2></td></tr>
|
|
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
|
+
<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
|
+
</table>
|
|
78
|
+
<h2 class="groupheader">Function Documentation</h2>
|
|
79
|
+
<a id="ab0c0fec5e777861a934894bc00fc585c"></a>
|
|
80
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ab0c0fec5e777861a934894bc00fc585c">◆ </a></span>add_subdirectory()</h2>
|
|
81
|
+
|
|
82
|
+
<div class="memitem">
|
|
83
|
+
<div class="memproto">
|
|
84
|
+
<table class="memname">
|
|
85
|
+
<tr>
|
|
86
|
+
<td class="memname">add_subdirectory </td>
|
|
87
|
+
<td>(</td>
|
|
88
|
+
<td class="paramtype">SABER </td>
|
|
89
|
+
<td class="paramname"></td><td>)</td>
|
|
90
|
+
<td></td>
|
|
91
|
+
</tr>
|
|
92
|
+
</table>
|
|
93
|
+
</div><div class="memdoc">
|
|
94
|
+
|
|
95
|
+
<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="l00013"></a><span class="lineno"> 13</span>  {CMAKE_BINARY_DIR}/bin</div>
|
|
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>
|
|
118
|
+
</div><!-- fragment -->
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
68
121
|
</div><!-- contents -->
|
|
69
122
|
<!-- start footer part -->
|
|
70
123
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -70,28 +70,28 @@ $(function() {
|
|
|
70
70
|
<table class="memberdecls">
|
|
71
71
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
72
72
|
Functions</h2></td></tr>
|
|
73
|
-
<tr class="memitem:
|
|
74
|
-
<tr class="separator:
|
|
73
|
+
<tr class="memitem:a94c6e5ccd94f696989f0410032b427c2"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="DDA_2CMakeLists_8txt.html#a94c6e5ccd94f696989f0410032b427c2">add_llvm_executable</a> (dvf dda.cpp) target_link_libraries(dvf PUBLIC $</td></tr>
|
|
74
|
+
<tr class="separator:a94c6e5ccd94f696989f0410032b427c2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
75
75
|
</table>
|
|
76
76
|
<h2 class="groupheader">Function Documentation</h2>
|
|
77
|
-
<a id="
|
|
78
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
77
|
+
<a id="a94c6e5ccd94f696989f0410032b427c2"></a>
|
|
78
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a94c6e5ccd94f696989f0410032b427c2">◆ </a></span>add_llvm_executable()</h2>
|
|
79
79
|
|
|
80
80
|
<div class="memitem">
|
|
81
81
|
<div class="memproto">
|
|
82
82
|
<table class="memname">
|
|
83
83
|
<tr>
|
|
84
|
-
<td class="memname">
|
|
84
|
+
<td class="memname">add_llvm_executable </td>
|
|
85
85
|
<td>(</td>
|
|
86
|
-
<td class="paramtype">
|
|
87
|
-
<td class="paramname"><em>
|
|
86
|
+
<td class="paramtype">dvf dda. </td>
|
|
87
|
+
<td class="paramname"><em>cpp</em></td><td>)</td>
|
|
88
88
|
<td></td>
|
|
89
89
|
</tr>
|
|
90
90
|
</table>
|
|
91
91
|
</div><div class="memdoc">
|
|
92
92
|
|
|
93
93
|
<p class="definition">Definition at line <a class="el" href="DDA_2CMakeLists_8txt_source.html#l00001">1</a> of file <a class="el" href="DDA_2CMakeLists_8txt_source.html">CMakeLists.txt</a>.</p>
|
|
94
|
-
<div class="fragment"><div class="line"><a name="
|
|
94
|
+
<div class="fragment"><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  {llvm_libs} SvfLLVM)</div>
|
|
95
95
|
</div><!-- fragment -->
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -70,28 +70,28 @@ $(function() {
|
|
|
70
70
|
<table class="memberdecls">
|
|
71
71
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
72
72
|
Functions</h2></td></tr>
|
|
73
|
-
<tr class="memitem:
|
|
74
|
-
<tr class="separator:
|
|
73
|
+
<tr class="memitem:a3bd7bd92c11dfa913ca78850d67eb983"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="Example_2CMakeLists_8txt.html#a3bd7bd92c11dfa913ca78850d67eb983">add_llvm_executable</a> (svf-ex svf-ex.cpp) target_link_libraries(svf-ex PUBLIC $</td></tr>
|
|
74
|
+
<tr class="separator:a3bd7bd92c11dfa913ca78850d67eb983"><td class="memSeparator" colspan="2"> </td></tr>
|
|
75
75
|
</table>
|
|
76
76
|
<h2 class="groupheader">Function Documentation</h2>
|
|
77
|
-
<a id="
|
|
78
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
77
|
+
<a id="a3bd7bd92c11dfa913ca78850d67eb983"></a>
|
|
78
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3bd7bd92c11dfa913ca78850d67eb983">◆ </a></span>add_llvm_executable()</h2>
|
|
79
79
|
|
|
80
80
|
<div class="memitem">
|
|
81
81
|
<div class="memproto">
|
|
82
82
|
<table class="memname">
|
|
83
83
|
<tr>
|
|
84
|
-
<td class="memname">
|
|
84
|
+
<td class="memname">add_llvm_executable </td>
|
|
85
85
|
<td>(</td>
|
|
86
|
-
<td class="paramtype">
|
|
87
|
-
<td class="paramname"><em>
|
|
86
|
+
<td class="paramtype">svf-ex svf-ex. </td>
|
|
87
|
+
<td class="paramname"><em>cpp</em></td><td>)</td>
|
|
88
88
|
<td></td>
|
|
89
89
|
</tr>
|
|
90
90
|
</table>
|
|
91
91
|
</div><div class="memdoc">
|
|
92
92
|
|
|
93
93
|
<p class="definition">Definition at line <a class="el" href="Example_2CMakeLists_8txt_source.html#l00001">1</a> of file <a class="el" href="Example_2CMakeLists_8txt_source.html">CMakeLists.txt</a>.</p>
|
|
94
|
-
<div class="fragment"><div class="line"><a name="
|
|
94
|
+
<div class="fragment"><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  {llvm_libs} SvfLLVM)</div>
|
|
95
95
|
</div><!-- fragment -->
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -74,6 +74,8 @@ $(function() {
|
|
|
74
74
|
<div class="textblock"><code>#include "<a class="el" href="ExtAPI_8h_source.html">Util/ExtAPI.h</a>"</code><br />
|
|
75
75
|
<code>#include "<a class="el" href="SVFUtil_8h_source.html">Util/SVFUtil.h</a>"</code><br />
|
|
76
76
|
<code>#include "<a class="el" href="Options_8h_source.html">Util/Options.h</a>"</code><br />
|
|
77
|
+
<code>#include "Util/config.h"</code><br />
|
|
78
|
+
<code>#include <ostream></code><br />
|
|
77
79
|
<code>#include <sys/stat.h></code><br />
|
|
78
80
|
</div>
|
|
79
81
|
<p><a href="ExtAPI_8cpp_source.html">Go to the source code of this file.</a></p>
|
|
@@ -110,34 +112,34 @@ Functions</h2></td></tr>
|
|
|
110
112
|
</table>
|
|
111
113
|
</div><div class="memdoc">
|
|
112
114
|
|
|
113
|
-
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#
|
|
114
|
-
<div class="fragment"><div class="line"><a name="
|
|
115
|
-
<div class="line"><a name="
|
|
116
|
-
<div class="line"><a name="
|
|
117
|
-
<div class="line"><a name="
|
|
118
|
-
<div class="line"><a name="
|
|
119
|
-
<div class="line"><a name="
|
|
120
|
-
<div class="line"><a name="
|
|
121
|
-
<div class="line"><a name="
|
|
122
|
-
<div class="line"><a name="
|
|
123
|
-
<div class="line"><a name="
|
|
124
|
-
<div class="line"><a name="
|
|
125
|
-
<div class="line"><a name="
|
|
126
|
-
<div class="line"><a name="
|
|
127
|
-
<div class="line"><a name="
|
|
128
|
-
<div class="line"><a name="
|
|
129
|
-
<div class="line"><a name="
|
|
130
|
-
<div class="line"><a name="
|
|
131
|
-
<div class="line"><a name="
|
|
132
|
-
<div class="line"><a name="
|
|
133
|
-
<div class="line"><a name="
|
|
134
|
-
<div class="line"><a name="
|
|
135
|
-
<div class="line"><a name="
|
|
136
|
-
<div class="line"><a name="
|
|
137
|
-
<div class="line"><a name="
|
|
138
|
-
<div class="line"><a name="
|
|
139
|
-
<div class="line"><a name="
|
|
140
|
-
<div class="line"><a name="
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00097">97</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
116
|
+
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> {</div>
|
|
117
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> bcFilePath = <span class="stringliteral">""</span>;</div>
|
|
118
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">"SVF_DIR"</span>) == 0)</div>
|
|
119
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
|
|
120
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordtype">char</span> <span class="keyword">const</span>* svfdir = getenv(<span class="stringliteral">"SVF_DIR"</span>);</div>
|
|
121
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span> (svfdir)</div>
|
|
122
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  bcFilePath = svfdir;</div>
|
|
123
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div>
|
|
124
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (path.compare(<span class="stringliteral">"npm root"</span>) == 0)</div>
|
|
125
|
+
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  {</div>
|
|
126
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  bcFilePath = <a class="code" href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a>(path);</div>
|
|
127
|
+
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// SVF installed via npm needs to determine the type of operating</span></div>
|
|
128
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// system, otherwise the extapi.bc path may not be found.</span></div>
|
|
129
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor">#ifdef linux</span></div>
|
|
130
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Linux os</span></div>
|
|
131
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  bcFilePath.append(<span class="stringliteral">"/svf-lib/SVF-linux"</span>);</div>
|
|
132
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor">#else</span></div>
|
|
133
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="comment">// Mac os</span></div>
|
|
134
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  bcFilePath.append(<span class="stringliteral">"/svf-lib/SVF-osx"</span>);</div>
|
|
135
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor">#endif</span></div>
|
|
136
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div>
|
|
137
|
+
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  </div>
|
|
138
|
+
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span> (!bcFilePath.empty() && bcFilePath.back() != <span class="charliteral">'/'</span>)</div>
|
|
139
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  bcFilePath.push_back(<span class="charliteral">'/'</span>);</div>
|
|
140
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  bcFilePath.append(SVF_BUILD_TYPE <span class="stringliteral">"-build"</span>).append(<span class="stringliteral">"/svf-llvm/extapi.bc"</span>);</div>
|
|
141
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> bcFilePath;</div>
|
|
142
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
|
|
141
143
|
</div><!-- fragment -->
|
|
142
144
|
</div>
|
|
143
145
|
</div>
|
|
@@ -165,38 +167,37 @@ Functions</h2></td></tr>
|
|
|
165
167
|
</table>
|
|
166
168
|
</div><div class="memdoc">
|
|
167
169
|
|
|
168
|
-
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#
|
|
169
|
-
<div class="fragment"><div class="line"><a name="
|
|
170
|
-
<div class="line"><a name="
|
|
171
|
-
<div class="line"><a name="
|
|
172
|
-
<div class="line"><a name="
|
|
173
|
-
<div class="line"><a name="
|
|
174
|
-
<div class="line"><a name="
|
|
175
|
-
<div class="line"><a name="
|
|
176
|
-
<div class="line"><a name="
|
|
177
|
-
<div class="line"><a name="
|
|
178
|
-
<div class="line"><a name="
|
|
179
|
-
<div class="line"><a name="
|
|
180
|
-
<div class="line"><a name="
|
|
181
|
-
<div class="line"><a name="
|
|
182
|
-
<div class="line"><a name="
|
|
183
|
-
<div class="line"><a name="
|
|
184
|
-
<div class="line"><a name="
|
|
185
|
-
<div class="line"><a name="
|
|
186
|
-
<div class="line"><a name="
|
|
187
|
-
<div class="line"><a name="
|
|
188
|
-
<div class="line"><a name="
|
|
189
|
-
<div class="line"><a name="
|
|
170
|
+
<p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00073">73</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
|
|
171
|
+
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> {</div>
|
|
172
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordtype">char</span> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>[128];</div>
|
|
173
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> result = <span class="stringliteral">""</span>;</div>
|
|
174
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="comment">// Open pipe to file</span></div>
|
|
175
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  FILE* pipe = popen(command.c_str(), <span class="stringliteral">"r"</span>);</div>
|
|
176
|
+
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> (!pipe)</div>
|
|
177
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div>
|
|
178
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <span class="stringliteral">"popen failed!"</span>;</div>
|
|
179
|
+
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
|
180
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="comment">// read till end of process:</span></div>
|
|
181
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">while</span> (!feof(pipe))</div>
|
|
182
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
|
183
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="comment">// use buffer to read and add to result</span></div>
|
|
184
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">if</span> (<a class="code" href="extapi_8c.html#a55c10fd7c7152a709388daa21827771c">fgets</a>(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>, 128, pipe) != <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>)</div>
|
|
185
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  result += <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
|
|
186
|
+
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div>
|
|
187
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  pclose(pipe);</div>
|
|
188
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="comment">// remove "\n"</span></div>
|
|
189
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  result.erase(remove(result.begin(), result.end(), <span class="charliteral">'\n'</span>), result.end());</div>
|
|
190
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">return</span> result;</div>
|
|
191
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
|
|
190
192
|
</div><!-- fragment -->
|
|
191
193
|
</div>
|
|
192
194
|
</div>
|
|
193
195
|
</div><!-- contents -->
|
|
194
196
|
<div class="ttc" id="aextapi_8c_html_a55c10fd7c7152a709388daa21827771c"><div class="ttname"><a href="extapi_8c.html#a55c10fd7c7152a709388daa21827771c">fgets</a></div><div class="ttdeci">char * fgets(char *str, int n, void *stream)</div><div class="ttdef"><b>Definition:</b> <a href="extapi_8c_source.html#l00729">extapi.c:729</a></div></div>
|
|
195
|
-
<div class="ttc" id="aExtAPI_8cpp_html_a424940f91f234b23bcc633f12269f935"><div class="ttname"><a href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a></div><div class="ttdeci">static std::string GetStdoutFromCommand(const std::string &command)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#
|
|
197
|
+
<div class="ttc" id="aExtAPI_8cpp_html_a424940f91f234b23bcc633f12269f935"><div class="ttname"><a href="ExtAPI_8cpp.html#a424940f91f234b23bcc633f12269f935">GetStdoutFromCommand</a></div><div class="ttdeci">static std::string GetStdoutFromCommand(const std::string &command)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00073">ExtAPI.cpp:73</a></div></div>
|
|
196
198
|
<div class="ttc" id="acJSON_8h_html_a503753140aa27b00f99a3501280b2746"><div class="ttname"><a href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a></div><div class="ttdeci">char * buffer</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00163">cJSON.h:163</a></div></div>
|
|
197
199
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
198
200
|
<div class="ttc" id="acJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
|
|
199
|
-
<div class="ttc" id="aExtAPI_8h_html_a3be52a096fe407bb55141117f1cf4c75"><div class="ttname"><a href="ExtAPI_8h.html#a3be52a096fe407bb55141117f1cf4c75">DEFAULT_EXTAPI_BC_PATH</a></div><div class="ttdeci">#define DEFAULT_EXTAPI_BC_PATH</div><div class="ttdoc">For a more detailed explanation of how External APIs are handled in SVF, please refer to the SVF Wiki...</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00041">ExtAPI.h:41</a></div></div>
|
|
200
201
|
<!-- start footer part -->
|
|
201
202
|
<hr class="footer"/><address class="footer"><small>
|
|
202
203
|
Generated by  <a href="http://www.doxygen.org/index.html">
|